From 31d75e251d19eb664d542a7f71658ffd5f47e3e2 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <87984115+github-actions[bot]@users.noreply.github.com> Date: Mon, 31 Mar 2025 03:30:37 +0000 Subject: [PATCH] =?UTF-8?q?=E6=BD=87=E6=B4=92=E6=9B=B4=E6=96=B0=2020250331?= =?UTF-8?q?0330?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- xiaosa/api.json | 757 +- xiaosa/js/56动漫.js | 40 + xiaosa/js/APPV2.js | 109 + xiaosa/js/Anime1.js | 169 + xiaosa/js/NT动漫.js | 1013 +++ xiaosa/js/NyaFun.js | 13 + xiaosa/js/alishare.txt | 70 + xiaosa/js/cheerio.min.js | 10945 +++++++++++++++++++++++++++++ xiaosa/js/crypto-hiker.js | 6141 ++++++++++++++++ xiaosa/js/crypto-js.js | 6192 ++++++++++++++++ xiaosa/js/drpy2.js | 3862 ++++++++++ xiaosa/js/drpy2.min.js | 3108 ++++++++ xiaosa/js/gbk.js | 69 + xiaosa/js/jinja.js | 607 ++ xiaosa/js/jinja.min.js | 504 ++ xiaosa/js/jsencrypt.js | 360 + xiaosa/js/json5.js | 1809 +++++ xiaosa/js/jsonpathplus.min.js | 1277 ++++ xiaosa/js/node-rsa.js | 5858 +++++++++++++++ xiaosa/js/pako.min.js | 1439 ++++ xiaosa/js/quark.min.js | 3057 ++++++++ xiaosa/js/uri.min.js | 1 + xiaosa/js/三六零弹幕.js | 843 +++ xiaosa/js/优酷弹幕.js | 2299 ++++++ xiaosa/js/剧圈圈.js | 12 + xiaosa/js/动漫岛.js | 1100 +++ xiaosa/js/动漫巴士.js | 64 + xiaosa/js/动画片大全.js | 28 + xiaosa/js/去看吧.js | 1127 +++ xiaosa/js/奇米动漫.js | 1164 +++ xiaosa/js/好看动漫.js | 29 + xiaosa/js/异世界.js | 278 + xiaosa/js/思古影视.js | 44 + xiaosa/js/怡萱动漫.js | 773 ++ xiaosa/js/机器人.js | 198 + xiaosa/js/模板.js | 429 ++ xiaosa/js/樱花动漫.js | 8 + xiaosa/js/爱奇艺弹幕.js | 1392 ++++ xiaosa/js/爱弹幕.js | 815 +++ xiaosa/js/瓜子影视.js | 476 ++ xiaosa/js/看了么.js | 890 +++ xiaosa/js/短剧合集.js | 29 + xiaosa/js/碟调影视.js | 32 + xiaosa/js/腾讯弹幕.js | 842 +++ xiaosa/js/芒果弹幕.js | 843 +++ xiaosa/js/花子动漫.js | 970 +++ xiaosa/js/茶杯狐.js | 1512 ++++ xiaosa/js/路漫漫.js | 549 ++ xiaosa/js/达达龟.js | 627 ++ xiaosa/js/追剧弹幕.js | 183 + xiaosa/js/采集之王.js | 378 + xiaosa/js/魔力高清.js | 598 ++ xiaosa/json/aliShare.json | 86 + xiaosa/json/alist.json | 21 + xiaosa/json/aliyunpansearch.json | 199 + xiaosa/json/cctv.json | 4 + xiaosa/json/ex.json | 1460 ++++ xiaosa/json/hm.json | 22 + xiaosa/json/lb.json | 1668 +++++ xiaosa/json/lj.json | 33 + xiaosa/json/mogg.json | 1457 ++++ xiaosa/json/og.json | 1456 ++++ xiaosa/json/pan1.json | 26 + xiaosa/json/quarkShare.json | 47 + xiaosa/json/ucShare.json | 11 + xiaosa/json/wogg.json | 2237 ++++++ xiaosa/json/xm.json | 1455 ++++ xiaosa/json/yyds.json | 1673 +++++ xiaosa/json/zz.json | 1698 +++++ xiaosa/json/哔哩合集.json | 5310 ++++++++++++++ xiaosa/json/采集静态.json | 141 + xiaosa/py/APPV2.py | 97 + xiaosa/py/光速影视.py | 222 + xiaosa/py/嗨皮影视.py | 146 + xiaosa/py/火车影视.py | 301 + xiaosa/py/爱看短剧.py | 314 + xiaosa/py/猎手影视.py | 279 + xiaosa/py/美帕影视.py | 93 + xiaosa/spider.jar | Bin 1995151 -> 1954176 bytes 79 files changed, 85961 insertions(+), 427 deletions(-) create mode 100644 xiaosa/js/56动漫.js create mode 100644 xiaosa/js/APPV2.js create mode 100644 xiaosa/js/Anime1.js create mode 100644 xiaosa/js/NT动漫.js create mode 100644 xiaosa/js/NyaFun.js create mode 100644 xiaosa/js/alishare.txt create mode 100644 xiaosa/js/cheerio.min.js create mode 100644 xiaosa/js/crypto-hiker.js create mode 100644 xiaosa/js/crypto-js.js create mode 100644 xiaosa/js/drpy2.js create mode 100644 xiaosa/js/drpy2.min.js create mode 100644 xiaosa/js/gbk.js create mode 100644 xiaosa/js/jinja.js create mode 100644 xiaosa/js/jinja.min.js create mode 100644 xiaosa/js/jsencrypt.js create mode 100644 xiaosa/js/json5.js create mode 100644 xiaosa/js/jsonpathplus.min.js create mode 100644 xiaosa/js/node-rsa.js create mode 100644 xiaosa/js/pako.min.js create mode 100644 xiaosa/js/quark.min.js create mode 100644 xiaosa/js/uri.min.js create mode 100644 xiaosa/js/三六零弹幕.js create mode 100644 xiaosa/js/优酷弹幕.js create mode 100644 xiaosa/js/剧圈圈.js create mode 100644 xiaosa/js/动漫岛.js create mode 100644 xiaosa/js/动漫巴士.js create mode 100644 xiaosa/js/动画片大全.js create mode 100644 xiaosa/js/去看吧.js create mode 100644 xiaosa/js/奇米动漫.js create mode 100644 xiaosa/js/好看动漫.js create mode 100644 xiaosa/js/异世界.js create mode 100644 xiaosa/js/思古影视.js create mode 100644 xiaosa/js/怡萱动漫.js create mode 100644 xiaosa/js/机器人.js create mode 100644 xiaosa/js/模板.js create mode 100644 xiaosa/js/樱花动漫.js create mode 100644 xiaosa/js/爱奇艺弹幕.js create mode 100644 xiaosa/js/爱弹幕.js create mode 100644 xiaosa/js/瓜子影视.js create mode 100644 xiaosa/js/看了么.js create mode 100644 xiaosa/js/短剧合集.js create mode 100644 xiaosa/js/碟调影视.js create mode 100644 xiaosa/js/腾讯弹幕.js create mode 100644 xiaosa/js/芒果弹幕.js create mode 100644 xiaosa/js/花子动漫.js create mode 100644 xiaosa/js/茶杯狐.js create mode 100644 xiaosa/js/路漫漫.js create mode 100644 xiaosa/js/达达龟.js create mode 100644 xiaosa/js/追剧弹幕.js create mode 100644 xiaosa/js/采集之王.js create mode 100644 xiaosa/js/魔力高清.js create mode 100644 xiaosa/json/aliShare.json create mode 100644 xiaosa/json/alist.json create mode 100644 xiaosa/json/aliyunpansearch.json create mode 100644 xiaosa/json/cctv.json create mode 100644 xiaosa/json/ex.json create mode 100644 xiaosa/json/hm.json create mode 100644 xiaosa/json/lb.json create mode 100644 xiaosa/json/lj.json create mode 100644 xiaosa/json/mogg.json create mode 100644 xiaosa/json/og.json create mode 100644 xiaosa/json/pan1.json create mode 100644 xiaosa/json/quarkShare.json create mode 100644 xiaosa/json/ucShare.json create mode 100644 xiaosa/json/wogg.json create mode 100644 xiaosa/json/xm.json create mode 100644 xiaosa/json/yyds.json create mode 100644 xiaosa/json/zz.json create mode 100644 xiaosa/json/哔哩合集.json create mode 100644 xiaosa/json/采集静态.json create mode 100644 xiaosa/py/APPV2.py create mode 100644 xiaosa/py/光速影视.py create mode 100644 xiaosa/py/嗨皮影视.py create mode 100644 xiaosa/py/火车影视.py create mode 100644 xiaosa/py/爱看短剧.py create mode 100644 xiaosa/py/猎手影视.py create mode 100644 xiaosa/py/美帕影视.py diff --git a/xiaosa/api.json b/xiaosa/api.json index 1d57d73b..13264f3e 100644 --- a/xiaosa/api.json +++ b/xiaosa/api.json @@ -14,7 +14,7 @@ "key": "预告", "name": "新片|预告", "type": 3, - "api": "csp_YGP", + "api": "csp_DouBan", "searchable": 0 }, { @@ -37,468 +37,377 @@ } }, { - "key": "影视配置", - "name": "影视|配置", + "key": "360", + "name": "360|视频", "type": 3, - "api": "csp_Wexconfig", - "searchable": 0, - "changeable": 0, - "indexs": 0, - "style": { - "type": "rect", - "ratio": 1.597 - }, - "jar": "./wex.jar" + "api": "csp_AuthKAN360", + "searchable": 1, + "quickSearch": 1, + "filterable": 0 }, { - "key": "厂长弹幕", + "key": "厂长影视", "name": "厂长|弹幕", "type": 3, - "api": "csp_Czzy", + "api": "csp_WebCzApp", "searchable": 1, "quickSearch": 1, - "filterable": 1, - "ext": { - "danmu": true - } + "filterable": 0, + "ext": "w7TCmsONw6LDrsKYwoXCosKcwqDCrcKawqDDscKqwqdewpPDs8KjwqvCp8OwwpzCoFdcwpnCmsONw57Dm8KlwpPCmMKFw6vDn8KhwrPCmlrCmMKkwqTDqcOmwrTCqMKpwpbCqsKqwqnCp8Onw6nDqcKpwpfCkcKfwqnDqMOhw6HDo8OjwpjCm8KfwqPDocOcw5zDrsOtwpvCmcKpwp/DrsOVw6PDp8OhWlxQV8OMw5zDrsOew4/CpcKccsKRw6TCmsK0wpnCocKbwqTCpMKgw6zCrcKpwqjDscKqwqdewpPDs8Otw7PDr8OjwpfClcKfXsOcw6LDp8KgwqZTV8KkwpnDqcKawrTCmcKhwo7lhrXphJjmj5XlkZzCn+WHpuS+kOWRsW3lvqHop7botbTmvInnrYzDl8KgwqZTV8KUwpXDnMOlw7PDqcOufsKVwqlXwrPCk8Khw7DDr8KswplmZsKvwprDtw==" }, { - "key": "天天弹幕", - "name": "天天|弹幕", + "key": "糯米影视", + "name": "糯米|弹幕", "type": 3, - "api": "csp_TianTian", + "api": "csp_WebNM", "searchable": 1, "quickSearch": 1, - "filterable": 1, - "playerType": 1, - "ext": { - "danmu": true, - "site": "aHR0cDovL3R0LnlzZHFqcy5jbg==" - } + "filterable": 0, + "ext": "w7TCmsONw6LDrsKYwoXCosKcwqDCrcKawqDDosKnwqTCoMKjwrPCosKpw7DDscKawqpewpPDp8KawqbCmcKhwqfCmcKgV8KzwpPCocOU5Ye/6YSb5o+V5ZCTXOWHpeS+iuWRscKz5b+r6Ke56LW05ruA56yJw5bCmsKmwpnCocKXwpXCk8Kiw7LDo8Ouw4TDn8KsV2pQwqDDqsOvw7LDo2lmZlfDtg==" }, { - "key": "热播弹幕", + "key": "热播影视", "name": "热播|弹幕", "type": 3, - "api": "csp_TianTian", + "api": "csp_AppRJ", "searchable": 1, "quickSearch": 1, - "filterable": 1, - "playerType": 1, - "ext": { - "danmu": true, - "site": "aHR0cDovL3YucmJvdHYuY24=" - } + "filterable": 0 }, { - "key": "浪酷弹幕", + "key": "天天影视", + "name": "天天|弹幕", + "type": 3, + "api": "csp_AppRJ", + "searchable": 1, + "quickSearch": 1, + "filterable": 0, + "ext": "http://tt.ysdqjs.cn" + }, + { + "key": "浪酷影视", "name": "浪酷|弹幕", "type": 3, - "api": "csp_TianTian", + "api": "csp_AppRJ", "searchable": 1, "quickSearch": 1, - "filterable": 1, - "playerType": 1, - "ext": { - "danmu": true, - "site": "aHR0cDovL3YubGt1eXMuY24=" - } + "filterable": 0, + "ext": "http://v.lkuys.cn" }, { - "key": "文才弹幕", - "name": "文才|弹幕", + "key": "耐看影视", + "name": "耐看|弹幕", "type": 3, - "api": "csp_Jpys", + "api": "csp_WebNK", + "searchable": 0, + "changeable": 0, + "ext": "w7TCmsONw6LDrsKYwoXCosKcwqDCrcKawqDDosKnwqTCoMKjwrPCosKpw7DDscKqXsKewpvDncOpw57Cp8OnwphXXFDCoMOnw6PDqcKhbVBXwovlh77phZvmkJ/lkZzCpuWGn+S9h+WQp2rlv6roqLnotr7mvInnrZPCkFdcUMKgw5fDn8Ocw6zCrMKgwqR7w57DrMKhwrPCmlrCp8KlwqnDosKpwrDCr8KhwrA=" + }, + { + "key": "来看影视", + "name": "来看|弹幕", + "type": 3, + "api": "csp_WebLK", + "searchable": 0, + "changeable": 0, + "ext": "w7TCmsONw6LDrsKYwoXCosKcwqDCrcKawqDDosKnwqTCoMKjwrPCosKpw6XDpcKpwp/ClF7DpsOYwqHCpcKaWsKkwpnCoMKgwq3CmsKgw5XlhrjphJjmj5XlkJPCpeWHn+S+keWRsMK05b6k6Ke26LW05ruA562Sw5DCocKlwppawpTClcKTw6vDrMOqw63DhcKYwqlXasKZwprDscOuw7PCnGZmZsKgw7A=" + }, + { + "key": "一起影视", + "name": "一起|弹幕", + "type": 3, + "api": "csp_AppFree4K", "searchable": 1, "quickSearch": 1, - "filterable": 1, - "ext": { - "danmu": true - } - }, - { - "key": "哔哩弹幕", - "name": "哔哩|弹幕", - "type": 3, - "api": "csp_Bilimd", - "searchable": 1, - "quickSearch": 1, - "filterable": 1, - "style": { - "type": "rect", - "ratio": 1.597 - }, - "ext": { - "cookie": "http://127.0.0.1:9978/file/TVBox/bilibili.txt" - }, - "timeout": 10 - }, - { - "key": "哔哩合集", - "name": "哔哩合集|弹幕", - "type": 3, - "api": "csp_Bili", - "searchable": 1, - "quickSearch": 1, - "filterable": 1, - "style": { - "type": "rect", - "ratio": 1.597 - }, - "ext": { - "cookie": "http://127.0.0.1:9978/file/TVBox/bilibili.txt", - "json": "./JSON/哔哩合集.json" - }, - "timeout": 10 - }, - { - "key": "立播弹幕", - "name": "立播|弹幕", - "type": 3, - "api": "csp_Libvio", - "searchable": 1, - "filterable": 1, - "changeable": 1, - "ext": { - "token": "http://127.0.0.1:9978/file/TVBox/token.txt", - "cookie": "http://127.0.0.1:9978/file/TVBox/quark.txt", - "uc_cookie": "http://127.0.0.1:9978/file/TVBox/uc.txt", - "site": "https://www.libvio.cc", - "danmu": true - } + "filterable": 0, + "ext": "w7TCmsONw6LDrsKYwoXCosKcwqDCrcKawqDDosKnwqTCoMKjwrPCosKpw5rDqsKjwpPCncKjwqfDmcOsw57Dn8KbwpRewqbDosOjwqHCpcKaWnvClcKpwqDCrcKawqDDnMKYZWNkwrHDl8Ogw5vCqsKWY8KTYsKxwqbCocKlwppaecKmV8KzwpPCocKuw6BoZGRpw53Dl8Krwq3CrWRjYmHCsMKawqbCmcKhdcKRwp7Cm8OHw5TDsMKgwrRTV+ecpOaTncKgwp/CmsKgw4rClMKiwqPClcOOw6XDpsKgwrRTV8KYwqTDrcOjw63Cs8KpYsKRwqDCoMOvwqTCqMOfw6zCmMKVwpjClMKnw6nDo8OpwqnCncKjwp/CnsKnw6PDosOpwrnCqMKiwpxtwqDCn8KawqDCvsKUwp59wqXDjsOlw6bCoMK0U1fCmMKkw63Do8OtwrPCqWLClMKdXsOvw5zDnsOzwqjClMKjwpnCkcKow5fDp8Okw69ib8KRwpPCtsOXw6fCn8OuwqLCm8KVwp7CtsOEw4PDhcK8dnh6dsOMwr/DkcOPw4B4e8KCVsOuw6XDpsK2wqFfUFfClMOew5bDrMOyw6rCp3vClcKpwqDCrcKawqDDscKowqnCmWbCr8KpwqHDtg==" }, { "key": "腾讯弹幕", "name": "腾讯|弹幕", "type": 3, - "api": "./JS/drpy2.min.js", - "ext": "./JS/腾讯弹幕.js" + "api": "./js/drpy2.min.js", + "ext": "./js/腾讯弹幕.js" }, { "key": "优酷弹幕", "name": "优酷|弹幕", "type": 3, - "api": "./JS/drpy2.min.js", - "ext": "./JS/优酷弹幕.js" + "api": "./js/drpy2.min.js", + "ext": "./js/优酷弹幕.js" }, { "key": "芒果弹幕", "name": "芒果|弹幕", "type": 3, - "api": "./JS/drpy2.min.js", - "ext": "./JS/芒果弹幕.js" + "api": "./js/drpy2.min.js", + "ext": "./js/芒果弹幕.js" }, { "key": "爱奇艺弹幕", "name": "爱奇艺|弹幕", "type": 3, - "api": "./JS/drpy2.min.js", - "ext": "./JS/爱奇艺弹幕.js" + "api": "./js/drpy2.min.js", + "ext": "./js/爱奇艺弹幕.js" }, { "key": "追剧弹幕", "name": "追剧|弹幕", "type": 3, - "api": "./JS/drpy2.min.js", - "ext": "./JS/追剧弹幕.js" + "api": "./js/drpy2.min.js", + "ext": "./js/追剧弹幕.js" }, { - "key": "三六零弹幕", - "name": "三六零|弹幕", + "key": "哔哩合集", + "name": "哔哩|合集", "type": 3, - "api": "csp_Sp360", + "api": "csp_Bili", "searchable": 1, - "filterable": 1, - "changeable": 1, + "quickSearch": 0, + "filterable": 0, + "changeable": 0, + "style": { + "type": "rect", + "ratio": 1.433 + }, "ext": { - "danmu": true + "json": "./json/哔哩合集.json", + "cookie": "http://127.0.0.1:9978/file/TV/bili_cookie.txt" } }, { - "key": "机器人弹幕", - "name": "机器人|弹幕", + "key": "阿里云盘", + "name": "阿里|云盘", "type": 3, - "api": "csp_Ikanbot", - "searchable": 1, - "quickSearch": 1, - "filterable": 1, - "ext": { - "danmu": true + "api": "csp_PanAli", + "searchable": 0, + "filterable": 0, + "changeable": 0, + "style": { + "type": "list", + "ratio": 1.433 + }, + "ext": "./json/aliShare.json" + }, + { + "key": "夸克云盘", + "name": "夸克|云盘", + "type": 3, + "api": "csp_PanQuark", + "searchable": 0, + "filterable": 0, + "changeable": 0, + "style": { + "type": "list", + "ratio": 1.433 + }, + "ext": "./json/quarkShare.json" + }, + { + "key": "UC", + "name": "UC|云盘", + "type": 3, + "api": "csp_PanUc", + "searchable": 0, + "filterable": 0, + "changeable": 0, + "style": { + "type": "list", + "ratio": 1.433 + }, + "ext": "./json/ucShare.json" + }, + { + "key": "百度云盘", + "name": "百度|云盘", + "type": 3, + "api": "csp_PanBaiDu", + "searchable": 0, + "filterable": 0, + "changeable": 0, + "style": { + "type": "list", + "ratio": 1.433 } }, { - "key": "小苹果弹幕", - "name": "小苹果|弹幕", + "key": "短剧合集", + "name": "短剧|合集", "type": 3, - "api": "csp_Xpg", - "searchable": 1, - "quickSearch": 1, - "filterable": 1, - "ext": { - "danmu": true + "api": "./js/quark.min.js", + "ext": "./js/短剧合集.js", + "style": { + "type": "list" } }, { - "key": "玩偶弹幕", + "key": "玩偶哥哥", "name": "玩偶|4K弹幕", "type": 3, - "api": "csp_Wogg", + "api": "csp_PanWebShare", "searchable": 1, "quickSearch": 1, "filterable": 1, - "ext": { - "token": "http://127.0.0.1:9978/file/TVBox/token.txt", - "cookie": "http://127.0.0.1:9978/file/TVBox/quark.txt", - "uc_cookie": "http://127.0.0.1:9978/file/TVBox/uc.txt", - "wogg": true, - "danmu": true - } + "ext": "./json/wogg.json?" }, { - "key": "夸克欧歌弹幕", - "name": "欧哥|4K弹幕", - "type": 3, - "api": "csp_Wobg", - "searchable": 1, - "quickSearch": 1, - "filterable": 1, - "changeable": 1, - "ext": { - "token": "http://127.0.0.1:9978/file/TVBox/token.txt", - "cookie": "http://127.0.0.1:9978/file/TVBox/quark.txt", - "uc_cookie": "http://127.0.0.1:9978/file/TVBox/uc.txt", - "site": "https://ouge.banye.tech:7086", - "danmu": true - } - }, - { - "key": "夸克小米弹幕", - "name": "小米|4K弹幕", - "type": 3, - "api": "csp_Wobg", - "quickSearch": 1, - "changeable": 1, - "filterable": 1, - "ext": { - "token": "http://127.0.0.1:9978/file/TVBox/token.txt", - "cookie": "http://127.0.0.1:9978/file/TVBox/quark.txt", - "uc_cookie": "http://127.0.0.1:9978/file/TVBox/uc.txt", - "site": "https://xiaomi.banye.tech:7086", - "danmu": true - } - }, - { - "key": "夸克多多弹幕", - "name": "多多|4K弹幕", - "type": 3, - "api": "csp_Wobg", - "quickSearch": 1, - "changeable": 1, - "filterable": 1, - "ext": { - "token": "http://127.0.0.1:9978/file/TVBox/token.txt", - "cookie": "http://127.0.0.1:9978/file/TVBox/quark.txt", - "uc_cookie": "http://127.0.0.1:9978/file/TVBox/uc.txt", - "site": "https://duoduo.banye.tech:7086", - "danmu": true - } - }, - { - "key": "夸克蜡笔弹幕", - "name": "蜡笔|4K弹幕", - "type": 3, - "api": "csp_Wobg", - "quickSearch": 1, - "changeable": 1, - "filterable": 1, - "ext": { - "token": "http://127.0.0.1:9978/file/TVBox/token.txt", - "cookie": "http://127.0.0.1:9978/file/TVBox/quark.txt", - "uc_cookie": "http://127.0.0.1:9978/file/TVBox/uc.txt", - "site": "https://labi.banye.tech:7086", - "danmu": true - } - }, - { - "key": "夸克至臻弹幕", - "name": "至臻|4K弹幕", - "type": 3, - "api": "csp_Wobg", - "quickSearch": 1, - "changeable": 1, - "filterable": 1, - "ext": { - "token": "http://127.0.0.1:9978/file/TVBox/token.txt", - "cookie": "http://127.0.0.1:9978/file/TVBox/quark.txt", - "uc_cookie": "http://127.0.0.1:9978/file/TVBox/uc.txt", - "site": "https://zhizhen.banye.tech:7086", - "danmu": true - } - }, - { - "key": "夸克木偶弹幕", + "key": "木偶", "name": "木偶|4K弹幕", "type": 3, - "api": "csp_Wobg", + "api": "csp_PanWebShare", + "searchable": 1, "quickSearch": 1, - "changeable": 1, "filterable": 1, - "ext": { - "token": "http://127.0.0.1:9978/file/TVBox/token.txt", - "cookie": "http://127.0.0.1:9978/file/TVBox/quark.txt", - "uc_cookie": "http://127.0.0.1:9978/file/TVBox/uc.txt", - "site": "https://mogg.banye.tech:7086", - "danmu": true - } + "ext": "./json/mogg.json?" }, { - "key": "夸克六趣弹幕", - "name": "六趣|4K弹幕", + "key": "蜡笔", + "name": "蜡笔|4K弹幕", "type": 3, - "api": "csp_Wobg", + "api": "csp_PanWebShare", "searchable": 1, "quickSearch": 1, "filterable": 1, "changeable": 1, - "ext": { - "token": "http://127.0.0.1:9978/file/TVBox/token.txt", - "cookie": "http://127.0.0.1:9978/file/TVBox/quark.txt", - "uc_cookie": "http://127.0.0.1:9978/file/TVBox/uc.txt", - "site": "https://liuqu.banye.tech:7086", - "danmu": true - } + "ext": "./json/lb.json?" }, { - "key": "夸克下饭弹幕", - "name": "下饭|4K弹幕", + "key": "小米", + "name": "小米|4K弹幕", "type": 3, - "api": "csp_Wobg", + "api": "csp_PanWebShare", + "searchable": 1, "quickSearch": 1, - "changeable": 1, "filterable": 1, - "ext": { - "token": "http://127.0.0.1:9978/file/TVBox/token.txt", - "cookie": "http://127.0.0.1:9978/file/TVBox/quark.txt", - "uc_cookie": "http://127.0.0.1:9978/file/TVBox/uc.txt", - "site": "https://xiafan.banye.tech:7086", - "danmu": true - } + "changeable": 1, + "ext": "./json/xm.json?" }, { - "key": "夸克二小弹幕", + "key": "至臻", + "name": "至臻|4K弹幕", + "type": 3, + "api": "csp_PanWebShare", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "changeable": 1, + "ext": "./json/zz.json?" + }, + { + "key": "多多", + "name": "多多|4K弹幕", + "type": 3, + "api": "csp_PanWebShare", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "changeable": 1, + "ext": "./json/yyds.json?" + }, + { + "key": "欧哥", + "name": "欧哥|4K弹幕", + "type": 3, + "api": "csp_PanWebShare", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "changeable": 1, + "ext": "./json/og.json?" + }, + { + "key": "二小", "name": "二小|4K弹幕", "type": 3, - "api": "csp_Wobg", + "api": "csp_PanWebShare", + "searchable": 1, "quickSearch": 1, - "changeable": 1, "filterable": 1, - "ext": { - "token": "http://127.0.0.1:9978/file/TVBox/token.txt", - "cookie": "http://127.0.0.1:9978/file/TVBox/quark.txt", - "uc_cookie": "http://127.0.0.1:9978/file/TVBox/uc.txt", - "site": "https://erxiao.banye.tech:7086", - "danmu": true - } + "changeable": 1, + "ext": "./json/ex.json?" }, { - "key": "夸克百家弹幕", - "name": "百家|4K弹幕", + "key": "团长", + "name": "团长|4K弹幕", "type": 3, - "api": "csp_Wobg", + "api": "csp_PanWebTz", + "searchable": 1, "quickSearch": 1, - "changeable": 1, "filterable": 1, - "ext": { - "token": "http://127.0.0.1:9978/file/TVBox/token.txt", - "cookie": "http://127.0.0.1:9978/file/TVBox/quark.txt", - "uc_cookie": "http://127.0.0.1:9978/file/TVBox/uc.txt", - "site": "http://cj.jiexi.news", - "danmu": true - } - }, - { - "key": "夸克叔叔弹幕", - "name": "叔叔|4K弹幕", - "type": 3, - "api": "csp_Wobg", - "quickSearch": 1, - "changeable": 1, - "filterable": 1, - "ext": { - "token": "http://127.0.0.1:9978/file/TVBox/token.txt", - "cookie": "http://127.0.0.1:9978/file/TVBox/quark.txt", - "uc_cookie": "http://127.0.0.1:9978/file/TVBox/uc.txt", - "site": "https://woss.banye.tech:7086", - "danmu": true - } - }, - { - "key": "夸克大玩弹幕", - "name": "大玩|4K弹幕", - "type": 3, - "api": "csp_Wobg", - "quickSearch": 1, - "changeable": 1, - "filterable": 1, - "ext": { - "token": "http://127.0.0.1:9978/file/TVBox/token.txt", - "cookie": "http://127.0.0.1:9978/file/TVBox/quark.txt", - "uc_cookie": "http://127.0.0.1:9978/file/TVBox/uc.txt", - "site": "https://dawo.banye.tech:7086", - "danmu": true - } - }, - { - "key": "夸克虎斑弹幕", - "name": "虎斑|4K弹幕", - "type": 3, - "api": "csp_Wobg", - "quickSearch": 1, - "changeable": 1, - "filterable": 1, - "ext": { - "token": "http://127.0.0.1:9978/file/TVBox/token.txt", - "cookie": "http://127.0.0.1:9978/file/TVBox/quark.txt", - "uc_cookie": "http://127.0.0.1:9978/file/TVBox/uc.txt", - "site": "https://huban.banye.tech:7086", - "danmu": true - } + "changeable": 1 }, { "key": "雷鲸", "name": "雷鲸|4K", "type": 3, - "api": "csp_Wexleijing", + "api": "csp_PanWebShareCloudLJ", "searchable": 1, + "quickSearch": 1, + "filterable": 1, "changeable": 1, - "jar": "./wex.jar" + "style": { + "type": "rect", + "ratio": 1.433 + }, + "ext": "./json/lj.json?" }, { - "key": "天翼", - "name": "天翼|4K", + "key": "概念", + "name": "海绵|4K", "type": 3, - "api": "csp_Wextyso", + "api": "csp_PanWebShareCloudHM", "searchable": 1, - "changeable": 0, - "jar": "./wex.jar" + "quickSearch": 1, + "filterable": 1, + "changeable": 1, + "style": { + "type": "rect", + "ratio": 1.433 + }, + "ext": "./json/hm.json?" }, { - "key": "盘他", - "name": "盘他|4K‍", + "key": "Pan1", + "name": "Pan1|4K", "type": 3, - "api": "csp_WexYDpanta", + "api": "csp_PanWebShareCloudHM", "searchable": 1, + "quickSearch": 1, + "filterable": 1, "changeable": 1, - "jar": "./wex.jar" + "style": { + "type": "rect", + "ratio": 1.433 + }, + "ext": "./json/pan1.json?" }, { - "key": "Emby", - "name": "Emby|4K", + "key": "趣盘", + "name": "趣盘|4K", "type": 3, - "api": "csp_Wexemby", + "api": "csp_PanWebQu", "searchable": 1, - "changeable": 1, - "jar": "./wex.jar" + "quickSearch": 1, + "filterable": 1, + "style": { + "type": "list", + "ratio": 1.433 + }, + "ext": "w7TCmsONw6LDrsKYwoXCosKcwqDCrcKawqDDosKnwqTCoMKjwrPCosKpw7DDscKqXsKhwqXDqcOUw6jDrMOiwphewpPCn8OmwprCpsKZwqHCp8KZwqBXwrPCk8Khw5Tlh7/phJvmj5XlkJNc5Yel5L6K5ZGxwrPlv6vop7notbTmu4DnrInDlsKawqbCmcKhwpfClcKTwqLDssOjw67DhMOfwqxXalDCoMOqw6/DssOjaWZmV8O2" + }, + { + "key": "聚搜", + "name": "聚搜|4K", + "type": 3, + "api": "csp_PanWebSearch", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "style": { + "type": "list", + "ratio": 1.433 + }, + "ext": "./json/aliyunpansearch.json" }, { "key": "星芽短剧", @@ -517,13 +426,13 @@ "searchable": 1, "quickSearch": 0, "filterable": 0, - "ext": "KhY021WelCEl+6MsvwnzaPussky/EAoc9z7C4keyHaEQ+sKbXhMKd83VjTL7Ls6+m7XDIcGdziOxPv79y/h4QCvmOEJmZ1VD6dopzAVxkFzEFw==" + "ext": "w7TCmsONw6LDrsKYwoXCosKcwqDCrcKawqDDosKnwqTCoMKjwrPCosKpw53Dr8KUwp7CmsKlw63Dp8Kow63DsFpcUFfDrcOcw6rCoMK0U1fCi+WGtemFoeaQmOWRncKl5Yem5L2K5ZCnauW+oeiov+i2t+a8iuetksOXWlxQV8Odw5jDncOrw7PCo8Kke8KVw7LCmsK0wpnCocKqwqXCqcKZwq/CqcKwwqDDtw==" }, { "key": "爱看短剧", "name": "爱看|短剧", "type": 3, - "api": "./PY/爱看短剧.py", + "api": "./py/爱看短剧.py", "searchable": 1, "changeable": 1, "quickSearch": 1, @@ -557,15 +466,6 @@ "filterable": 1, "ext": "./XYQHiker/短剧屋.json" }, - { - "key": "韩小圈", - "name": "韩小圈|APP", - "type": 3, - "api": "csp_HanXiaoQuan", - "searchable": 1, - "quickSearch": 1, - "filterable": 1 - }, { "key": "HG影视", "name": "HG影视|APP", @@ -580,7 +480,7 @@ "key": "猎手影视", "name": "猎手|APP", "type": 3, - "api": "./PY/猎手影视.py", + "api": "./py/猎手影视.py", "searchable": 1, "changeable": 1, "quickSearch": 1, @@ -591,7 +491,7 @@ "key": "火车影视", "name": "火车|APP", "type": 3, - "api": "./PY/火车影视.py", + "api": "./py/火车影视.py", "searchable": 1, "changeable": 1, "quickSearch": 1, @@ -602,7 +502,7 @@ "key": "美帕影视", "name": "美帕|APP", "type": 3, - "api": "./PY/美帕影视.py", + "api": "./py/美帕影视.py", "searchable": 1, "changeable": 1, "quickSearch": 1, @@ -613,7 +513,7 @@ "key": "嗨皮影视", "name": "嗨皮|APP", "type": 3, - "api": "./PY/嗨皮影视.py", + "api": "./py/嗨皮影视.py", "searchable": 1, "changeable": 1, "quickSearch": 1, @@ -791,13 +691,23 @@ "changeable": 1, "ext": "http://kkwk123.top/api.php/app/" }, + { + "key": "格格影视", + "name": "格格|APP", + "type": 3, + "api": "csp_AppGetApp", + "searchable": 1, + "quickSearch": 1, + "filterable": 0, + "ext": "w7TCmsK8w5rDrcKYwoPCmcKkw57CmsK0wpnCoVpcUFfDjMOcw67DnsOPwqXCnFdqwpnCmsOiw63DrsKjal9fwqrCpMKrwqfCq2tgXmHCssKrwqjCrcKqbWFhYcKpwqLDm8Opw6NhwqDCmMKgwqDCn8KawqDDg8KhwpnCpMKHw6jDpcOewqDCtFNXwpnCnsOiw6fDkMKqwqtsV1xQwqDDp8Ojw6nCoW1QV8KL5Ye+6YWb5pCf5ZGcwqblhp/kvYflkKdq5b+q6Ki56La+5ryJ562TwpBXXFDCoMK0w5/DrMOFwpjCqVdqwpnCmsObw6zDocKWwqjCmMKaw6TDp8OtwqrCrGdlZ2PCoMKfwprCoMK7wpjCo3nCpsKgwq3CmsKgw5vCpsKXwpPCqMOhw53DpcOtw61kYmRlwrDCpsKhwqXCmlrCmMKVwpHDncOYw6zDrMKhbVDCq1fDrsOmw5/Dq8KnwpTCl8KVwp7DrcKawrTCmcKhwoDCn8KqwpnDpcOfw5vCqMKvYWBQWMOQw5zDqMOdw6nCqsKjUH7DjcKTwqvCqcKoY2tQwofDosOhwrDCrcK1U8KoZmTCosKTwrvDqcOqwp/ClcKHwpXDm8K+w6PDrcKpaGNnXsKswqnCmsKhw4V7woR9fMKlwpPDpsOiw6XCmFB3wpXDnMOew6nCosKadsKYwqLCn8Omw5jCqcKqwqtlXmBewqnCocKqwpnDjcKUwpbCkcKiw6LCosKvwqzCsWFjZlfCpcKTwqHDmsOmwp/Cn8Knc8Orw6LDrcOsw4rCpcKfwqTCn8Ocw6LDpsOLw5/Cl8KZwqLClcOcw6fDrcKgwrRTwoTCosKlw57DsMKmwpnCoXXCkcKewpvDh8OUw7DCoMK0U1fnnKTmk53CoMKfwprCoMOewpjCk8KiwqnDqcOnw4XDnsOzWmpQV8Oww6jDs8OiwrBpZlfCrQ==" + }, { "key": "站长影视", "name": "站长|APP", "type": 3, "api": "csp_AppGetApp", "searchable": 1, - "quickSearch": 0, + "quickSearch": 1, "filterable": 0, "ext": "w7TClcK8w5rDrcKYwoPCmcKkw57ClcK0wpvCnF9SwoPCmcOtw5jDj8Orw6ZValLCmMOtw6fDqsOswrRiX8KdacOcw57CrMKxw6DCqmbCnmPDpsKow6XCsMKywpRhYMKUwqfDl8Ozw7LDtGVewpPCn8Omwq3Cr8KvwrJsX8KRwqDDosKhw6rDocOqVVxSecOnw5zDrsOQw6nCpcKUUmrCm8KVwqbCm8OuwpzCoFJqwpvDjuWHv+mFoeaQn+WQllzlhpzkvYflkbDCreW/q+iov+i2vua7g+esicKNUsKlwpXCu8Oew61+wpXCqVLCs8KVw57DssOzwq3CpMKmwpHDqcOcw5vDqcOqwqzCqcKUwqPCm8KfwpzCusOfwqZ5wqZSwrPClcOew7LDs8KtwqTCpsKRw6nDnMObw6nDqsKswqnClMKjwpvDsA==" }, @@ -807,9 +717,19 @@ "type": 3, "api": "csp_AppGetApp", "searchable": 1, - "quickSearch": 0, + "quickSearch": 1, "filterable": 0, - "ext": "w7TCmsK8w5rDrcKYwoPCmcKkw57CmsK0wpnCoVpcUFfDgsOhw6PDrcORwqLCosKUV8KzwpPCocOiw6jCnMKkwoZhwqrCrMKhwqXCmlrCpMKZwqDCoMKtwprCoMOV5Ya46YSY5o+V5ZCTwqXlh5/kvpHlkbDCtOW+pOintui1tOa7gOetksOQwqHCpcKaWnHClcKjw4TDmMOzwqDCtFNXdMKow7DCvMOtw63DrMKXwofCksKJw6nDlcOmw7DDqFpcUFfCusOYw63DgsOwWmpQV8K9w6vDscOCw63Cp8KiwpTCh8Obw4zDqsObw6bCqsKeV1zCmcKaw43DosOuwpjChcKiwpzCoMKtwprCoMOiwqfCpMKgasKowqLCq8KuwrBhYmJlwqfCpsKqwqfCsGhqZWXCr8KpwqnDmsOqwpxewqDCmMOpwprCpsKZwqHCl8KVwpPCosOyw6PDrsOEw5/CrFdqUMKgw6zDm8Oow7HClMKewpdgwqrCpcKwwqDDtw==" + "ext": "w7TCmsK8w5rDrcKYwoPCmcKkw57CmsK0wpnCoVpcUFfDgsOhw6PDrcORwqLCosKUV8KzwpPCocOiw6jCnMKkwoZhwqrCrMKhwqXCmlrCpMKZwqDCoMKtwprCoMOV5Ya46YSY5o+V5ZCTwqXlh5/kvpHlkbDCtOW+pOintui1tOa7gOetksOQwqHCpcKaWnHClcKjw4TDmMOzwqDCtFNXdMKow7DCvMOtw63DrMKXwofCksKJw6nDlcOmw7DDqFpcUFfCusOYw63DgsOwWmpQV8K9w6vDscOCw63Cp8KiwpTCh8Obw4zDqsObw6bCqsKeV1zCmcKaw43DosOuwpjChcKiwpzCoMKtwprCoMOiwqfCpMKgasKowqLCq8KuwrBhYmJlwqfCpsKqwqfCsGhqZWXCr8KpwqnDmsOqwpxewqDCmMOpwprCpsKZwqF1wpHCnsKbw4fDlMOwwqDCtFNX55yk5pOdwqDCn8KawqDDnsKYwpPCosKpw6nDp8OFw57Ds1pqUFfDsMOow7PDosKwaWZXwq0=" + }, + { + "key": "云端影视", + "name": "云端|APP", + "type": 3, + "api": "csp_AppGetApp", + "searchable": 1, + "quickSearch": 1, + "filterable": 0, + "ext": "w7TCmsK8w5rDrcKYwoPCmcKkw57CmsK0wpnCocKbwqTCpMKgw6zCrcKpwqjDs8KXwqnCo8KUw7LDocObw6bDo8KWwpTCn8Kdw5rDnMOow6fDm8KgwpVeZsKxwqHDocOywrRkYGZnwrHCosOdwrLDp2XCmsKjYsKywqvDssKxwqzCm2ZfwpzCssOgwrLDm8OyZWPCmmLDqMKlw6rCssOrYsKUwqnCnsOaw6DDo8Ocw57CosKdwpHCmcOnw6HDm8Omw59hwqTCqMKkwqDCn8KawqDDjcKcwqTClcKFw6vDn8KhwrPCmlpXXFDCoMK8w6jDosOuworCn8KiwpTCoMKtwprCoMOjwqHCmcKkwobCqsKkwrPCoMKmU1fCpMKZw6nCmsK0wpnCocKO5Ya16YSY5o+V5ZGcwp/lh6bkvpDlkbFt5b6h6Ke26LW05ryJ562Mw5fCoMKmU1dxwpXDrMK+w5/DssKhbVBXwpvCssOiwq3DqcKswpZowpJnw6bCpsO0wqnDqWtXXFDCoMK0w5/DrMODwqlXalDCoMOewrPDqMKtwqNiwpNow5vCqsOnwqzDtGPCn2hXwqXCk8Khw53Dn8KWwqLCqcKgw63CvsOfw7LCoW1QV8Knw67DrMOjwq/CsGlXwq0=" }, { "key": "洽洽影视", @@ -819,7 +739,7 @@ "searchable": 1, "quickSearch": 1, "filterable": 1, - "ext": "KhY021WelCEl+6MsvwnzaPussky6FQJcpCjT9V7/D61ft9vQAhNEPOYSMZVJSODd/JOOSOwUzim+9qfvgpNz7SvUPpAkXAweyrp76WY8s5EBwW7DBMY=" + "ext": "w7TCmsONw6LDrsKYwoXCosKcwqDCrcKawqDDosKnwqTCoMKjwrPCosKpw5rDqsKcXmnCk8Oew5bCscKyw55hwpPCn8KdwqDCn8KawqDDrsKcwqBXasKZwprDleWHvumFouaPmOWQk1zlhpzkvpDlkarCtOW/quipgOi1t+a7gOesicKNwqDCn8KawqDDnsKYwpPCosKpw6nDp8OFw57Ds1pqUFfDsMOow7PDosKwaWZXwq0=" }, { "key": "移动", @@ -837,14 +757,6 @@ "searchable": 1, "quickSearch": 1 }, - { - "key": "小米电影", - "name": "电影|APP", - "type": 3, - "searchable": 1, - "quickSearch": 1, - "api": "csp_MovieApp" - }, { "key": "西瓜视频", "name": "西瓜|视频", @@ -863,8 +775,8 @@ "key": "采集之王", "name": "采集|合集", "type": 3, - "api": "./JS/drpy2.min.js", - "ext": "./JS/采集之王.js?type=url¶ms=../JSON/采集静态.json$1$1" + "api": "./js/drpy2.min.js", + "ext": "./js/采集之王.js?type=url¶ms=../json/采集静态.json$1$1" }, { "key": "爱看机器人", @@ -998,7 +910,7 @@ "searchable": 1, "quickSearch": 1, "filterable": 1, - "ext": "KhY021WelCEl+6MsvwnzaPusskysEhxc/i3d/FHwReBTtZTeDEVZJbQKKez3K+OxlrjAIMdUpAUxP8fGystYn0Hss098UFVR69Qm2ARgmeZN86q8Ww==" + "ext": "w7TCmsONw6LDrsKYwoXCosKcwqDCrcKawqDDosKnwqTCoMKjwrPCosKpw7DDscKqXsKbwqPDp8Ohw6LDm8OkYcKTwp/CncKgwp/CmsKgw67CnMKgV2rCmcKaw5Xlh77phaLmj5jlkJNc5Yac5L6Q5ZGqwrTlv6roqYDotbfmu4DnrInCjcKgwp/CmsKgw57CmMKTwqLCqcOpw6fDhcOew7NaalBXw7DDqMOzw6LCsGlmV8Kt" }, { "key": "耐看影视", @@ -1023,22 +935,22 @@ "key": "思古影视", "name": "思古|影视", "type": 3, - "api": "./JS/drpy2.min.js", - "ext": "./JS/思古影视.js" + "api": "./js/drpy2.min.js", + "ext": "./js/思古影视.js" }, { "key": "魔力高清", "name": "魔力|影视", "type": 3, - "api": "./JS/drpy2.min.js", - "ext": "./JS/魔力高清.js" + "api": "./js/drpy2.min.js", + "ext": "./js/魔力高清.js" }, { "key": "碟调影视", "name": "碟调|影视", "type": 3, - "api": "./JS/drpy2.min.js", - "ext": "./JS/碟调影视.js" + "api": "./js/drpy2.min.js", + "ext": "./js/碟调影视.js" }, { "key": "八号影视", @@ -1114,22 +1026,22 @@ "key": "剧圈圈", "name": "剧圈圈|影视", "type": 3, - "api": "./JS/drpy2.min.js", - "ext": "./JS/剧圈圈.js" + "api": "./js/drpy2.min.js", + "ext": "./js/剧圈圈.js" }, { "key": "看了么", "name": "看了么|影视", "type": 3, - "api": "./JS/drpy2.min.js", - "ext": "./JS/看了么.js" + "api": "./js/drpy2.min.js", + "ext": "./js/看了么.js" }, { "key": "茶杯狐", "name": "茶杯狐|影视", "type": 3, - "api": "./JS/drpy2.min.js", - "ext": "./JS/茶杯狐.js" + "api": "./js/drpy2.min.js", + "ext": "./js/茶杯狐.js" }, { "key": "1905", @@ -1383,22 +1295,22 @@ "key": "56动漫", "name": "56|动漫", "type": 3, - "api": "./JS/drpy2.min.js", - "ext": "./JS/56动漫.js" + "api": "./js/drpy2.min.js", + "ext": "./js/56动漫.js" }, { "key": "NT动漫", "name": "NT|动漫", "type": 3, - "api": "./JS/drpy2.min.js", - "ext": "./JS/NT动漫.js" + "api": "./js/drpy2.min.js", + "ext": "./js/NT动漫.js" }, { "key": "Anime1", "name": "Anime1|动漫", "type": 3, - "api": "./JS/drpy2.min.js", - "ext": "./JS/Anime1.js" + "api": "./js/drpy2.min.js", + "ext": "./js/Anime1.js" }, { "key": "DFun动漫", @@ -1442,85 +1354,85 @@ "key": "动画片", "name": "动画片|动漫", "type": 3, - "api": "./JS/drpy2.min.js", - "ext": "./JS/动画片大全.js" + "api": "./js/drpy2.min.js", + "ext": "./js/动画片大全.js" }, { "key": "路漫漫", "name": "路漫漫|动漫", "type": 3, - "api": "./JS/drpy2.min.js", - "ext": "./JS/路漫漫.js" + "api": "./js/drpy2.min.js", + "ext": "./js/路漫漫.js" }, { "key": "动漫岛", "name": "动漫岛|动漫", "type": 3, - "api": "./JS/drpy2.min.js", - "ext": "./JS/动漫岛.js" + "api": "./js/drpy2.min.js", + "ext": "./js/动漫岛.js" }, { "key": "去看吧", "name": "去看吧|动漫", "type": 3, - "api": "./JS/drpy2.min.js", - "ext": "./JS/去看吧.js" + "api": "./js/drpy2.min.js", + "ext": "./js/去看吧.js" }, { "key": "爱弹幕", "name": "爱弹幕|动漫", "type": 3, - "api": "./JS/drpy2.min.js", - "ext": "./JS/爱弹幕.js" + "api": "./js/drpy2.min.js", + "ext": "./js/爱弹幕.js" }, { "key": "异世界", "name": "异世界|动漫", "type": 3, - "api": "./JS/drpy2.min.js", - "ext": "./JS/异世界.js" + "api": "./js/drpy2.min.js", + "ext": "./js/异世界.js" }, { "key": "好看动漫", "name": "好看|动漫", "type": 3, - "api": "./JS/drpy2.min.js", - "ext": "./JS/好看动漫.js" + "api": "./js/drpy2.min.js", + "ext": "./js/好看动漫.js" }, { "key": "奇米动漫", "name": "奇米|动漫", "type": 3, - "api": "./JS/drpy2.min.js", - "ext": "./JS/奇米动漫.js" + "api": "./js/drpy2.min.js", + "ext": "./js/奇米动漫.js" }, { "key": "怡萱动漫", "name": "怡萱|动漫", "type": 3, - "api": "./JS/drpy2.min.js", - "ext": "./JS/怡萱动漫.js" + "api": "./js/drpy2.min.js", + "ext": "./js/怡萱动漫.js" }, { "key": "花子动漫", "name": "花子|动漫", "type": 3, - "api": "./JS/drpy2.min.js", - "ext": "./JS/花子动漫.js" + "api": "./js/drpy2.min.js", + "ext": "./js/花子动漫.js" }, { "key": "动漫巴士", "name": "巴士|动漫", "type": 3, - "api": "./JS/drpy2.min.js", - "ext": "./JS/动漫巴士.js" + "api": "./js/drpy2.min.js", + "ext": "./js/动漫巴士.js" }, { "key": "樱花动漫", "name": "樱花|动漫", "type": 3, - "api": "./JS/drpy2.min.js", - "ext": "./JS/樱花动漫.js" + "api": "./js/drpy2.min.js", + "ext": "./js/樱花动漫.js" }, { "key": "搜索弹幕", @@ -1624,10 +1536,7 @@ "searchable": 1, "quickSearch": 1, "filterable": 1, - "playerType": 1, - "ext": { - "danmu": true - } + "playerType": 1 }, { "key": "修罗影视", @@ -1831,7 +1740,7 @@ "indexs": 0, "ext": { "token": "http://127.0.0.1:9978/file/TVBox/token.txt", - "share": "./JS/alishare.txt" + "share": "./js/alishare.txt" }, "style": { "type": "list" @@ -1841,8 +1750,8 @@ "key": "短剧合集", "name": "短剧|合集", "type": 3, - "api": "./JS/quark.min.js", - "ext": "./JS/短剧合集.js", + "api": "./js/quark.min.js", + "ext": "./js/短剧合集.js", "style": { "type": "list" } @@ -1851,14 +1760,14 @@ "key": "AList", "name": "AList|合集", "type": 3, - "api": "csp_AList", + "api": "csp_Alist", "searchable": 1, "filterable": 1, "changeable": 0, "style": { "type": "list" }, - "ext": "./JSON/alist.json" + "ext": "./json/alist.json" }, { "key": "网络直播", @@ -1897,13 +1806,7 @@ "api": "csp_Push", "searchable": 0, "filterable": 0, - "changeable": 0, - "ext": { - "token": "http://127.0.0.1:9978/file/TVBox/token.txt", - "cookie": "http://127.0.0.1:9978/file/TVBox/quark.txt", - "uc_cookie": "http://127.0.0.1:9978/file/TVBox/uc.txt", - "danmu": true - } + "changeable": 0 } ], "parses": [ diff --git a/xiaosa/js/56动漫.js b/xiaosa/js/56动漫.js new file mode 100644 index 00000000..266b5f03 --- /dev/null +++ b/xiaosa/js/56动漫.js @@ -0,0 +1,40 @@ +var rule = { + title: '56动漫', + host: 'https://www.56dm.cc/', + url: 'https://www.56dm.cc/type/fyclass-fypage.html', + searchUrl: 'https://www.56dm.cc/search/**----------fypage---.html', + searchable: 2, //是否启用全局搜索, + quickSearch: 0, //是否启用快速搜索, + filterable: 0, //是否启用分类筛选, + headers: { + 'User-Agent': 'UC_UA', // "Cookie": "" + }, // class_parse:'.stui-header__menu li:gt(0):lt(7);a&&Text;a&&href;/(\\d+).html', + class_parse: '.snui-header-menu-nav li:gt(0):lt(6);a&&Text;a&&href;.*/(.*?).html', + play_parse: true, + lazy: `js: + if(/\\.(m3u8|mp4)/.test(input)){ + input = {parse:0,url:input} + }else{ + if(rule.parse_url.startsWith('json:')){ + let purl = rule.parse_url.replace('json:','')+input; + let html = request(purl); + input = {parse:0,url:JSON.parse(html).url} + }else{ + input= rule.parse_url+input; + } + } + `, + limit: 6, + 推荐: '.cCBf_FAAEfbc;li;a&&title;.lazyload&&data-original;.dAD_BBCI&&Text;a&&href', + double: true, // 推荐内容是否双层定位 + 一级: '.cCBf_FAAEfbc li;a&&title;a&&data-original;.dAD_BBCI&&Text;a&&href', + 二级: { + "title": "h1&&Text", + "img": ".stui-content__thumb .lazyload&&data-original", + "desc": ".cCBf_DABCcac__hcIdeE p:eq(0)&&Text;.cCBf_DABCcac__hcIdeE p:eq(1)&&Text;.cCBf_DABCcac__hcIdeE p:eq(2)&&Text;.cCBf_DABCcac__hcIdeE p:eq(3)&&Text;.cCBf_DABCcac__hcIdeE p:eq(4)&&Text", + "content": ".detail&&Text", + "tabs": ".channel-tab li", + "lists": ".play-list-content:eq(#id) li" + }, + 搜索: '.cCBf_FAAEfbc__dbD;a&&title;.lazyload&&data-original;.dAD_BBCI&&Text;a&&href;.cCBf_FAAEfbc__hcIdeE&&p:eq(0) p&&Text', +} \ No newline at end of file diff --git a/xiaosa/js/APPV2.js b/xiaosa/js/APPV2.js new file mode 100644 index 00000000..ea7a1eba --- /dev/null +++ b/xiaosa/js/APPV2.js @@ -0,0 +1,109 @@ +/** + * 传参 ?type=url¶ms=http://122.228.85.203:1000@泽少1 + * 传参 ?type=url¶ms=http://122.228.85.203:1000@泽少2 + */ + +var rule = { + title: 'APPV2[模板]', + author: '道长', + version: '20241012 beta1', + update_info: ` +20241012: +1.根据群友嗷呜的appv2模板修改成可传参源,类似采集之王用法传参 +`.trim(), + host: '', + url: '/api.php/app/video?tid=fyclassfyfilter&limit=20&pg=fypage', + filter_url: '', + filter: {}, + homeUrl: '/api.php/app/index_video', + detailUrl: '/api.php/app/video_detail?id=fyid', + searchUrl: '/api.php/app/search?text=**&pg=fypage', + parseUrl: '', + searchable: 2, + quickSearch: 1, + filterable: 1, + headers: { + 'User-Agent': 'okhttp/4.1.0' + }, + params: 'http://122.228.85.203:1000$http://122.228.85.203:1000/play?url=', + hostJs: $js.toString(() => { + HOST = rule.params.split('$')[0]; + }), + 预处理: $js.toString(() => { + log(`传入参数:${rule.params}`); + let _host = rule.params.split('$')[0]; + rule.parseUrl = rule.params.split('$')[1]; + let _url = _host.rstrip('/') + '/api.php/app/nav?token'; + let _headers = {'User-Agent': 'Dart/2.14 (dart:io)'}; + let html = request(_url, {headers: _headers}); + let data = JSON.parse(html); + let _classes = []; + let _filter = {}; + let _filter_url = ''; + let dy = {"class": "类型", "area": "地区", "lang": "语言", "year": "年份", "letter": "字母", "by": "排序"}; + let jsonData = data.list; + for (let k = 0; k < jsonData.length; k++) { + let hasNonEmptyField = false; + let _obj = { + type_name: jsonData[k].type_name, + type_id: jsonData[k].type_id, + }; + _classes.push(_obj); + for (let key in dy) { + if (key in jsonData[k].type_extend && jsonData[k].type_extend[key].trim() !== "") { + hasNonEmptyField = true; + break + } + } + if (hasNonEmptyField) { + _filter[String(jsonData[k].type_id)] = []; + for (let dkey in jsonData[k].type_extend) { + if (dkey in dy && jsonData[k].type_extend[dkey].trim() !== "") { + if (k === 0) { + _filter_url += `&${dkey}={{fl.${dkey}}}` + } + let values = jsonData[k].type_extend[dkey].split(','); + let valueArray = values.map(value => ({"n": value.trim(), "v": value.trim()})); + _filter[String(jsonData[k].type_id)].push({"key": dkey, "name": dy[dkey], "value": valueArray}) + } + } + } + } + rule.classes = _classes; + rule.filter = _filter; + rule.filter_url = _filter_url; + }), + class_parse: $js.toString(() => { + input = rule.classes; + }), + play_parse: true, + lazy: $js.toString(() => { + if (!/^http/.test(input)) { + input = rule.parseUrl + input + } else { + input = { + url: input, + parse: 0, + header: '' + } + } + + }), + 推荐: $js.toString(() => { + let data = JSON.parse(request(input)).list; + let com = []; + data.forEach(item => { + if (Array.isArray(item.vlist) && item.vlist.length !== 0) { + com = com.concat(item.vlist) + } + }) + VODS = com + }), + 一级: $js.toString(() => { + VODS = JSON.parse(request(input)).list + }), + 二级: $js.toString(() => { + VOD = JSON.parse(request(input)).data + }), + 搜索: '*', +} \ No newline at end of file diff --git a/xiaosa/js/Anime1.js b/xiaosa/js/Anime1.js new file mode 100644 index 00000000..c0e6fb06 --- /dev/null +++ b/xiaosa/js/Anime1.js @@ -0,0 +1,169 @@ +// 注意事项:此源仅支持 影视TV 及 爱佬版tvbox最新版 +// 注意事项:此源仅支持 影视TV 及 爱佬版tvbox最新版 +// 注意事项:此源仅支持 影视TV 及 爱佬版tvbox最新版 +// 3个set-Cookie + +var rule = { + title:'Anime1动畫', + host:'https://anime1.me', + url: '/fyclass', + detailUrl:'/?cat=fyid', + searchUrl: '/page/fypage?s=**', + searchable:2, + quickSearch:0, + headers:{'User-Agent': 'PC_UA'}, + timeout:5000, + class_name:'連載中&2025&2024&2023&2022&2021&2020&2019&2018&更早', + class_url:'連載中&2025&2024&2023&2022&2021&2020&2019&2018&2017', + play_parse:true, + lazy:`js: + var apiurl = 'https://v.anime1.me/api'; + var html = request(apiurl, { + headers: { + 'Referer': HOST, + }, + body: 'd=' + input, + method: 'POST', + withHeaders: true + }); + let json = JSON.parse(html); + print(json); + log(Object.keys(json)); + let setCk = Object.keys(json).filter(it => it.toLowerCase() === "set-cookie"); + let cookie = setCk ? json[setCk] : ""; + // 3个set-Cookie + if (Array.isArray(cookie)) { + cookie = cookie.join(';'); + } + cookie = cookie.split(';').filter(function(it) { + return ['e', 'p', 'h'].includes(it.split('=')[0]) + }).join(';'); + log(cookie); + var purl = JSON.parse(json.body).s[0].src; + if (purl.startsWith('/')) { + purl = 'https:' + purl + } + input = { + jx: 0, + url: purl, + parse: 0, + header: JSON.stringify({ + 'referer': HOST, + 'Cookie': cookie, + 'user-agent': PC_UA + }), + } + `, + limit:6, + 推荐: `js: + var d = []; + function stripHtmlTag(src) { + return src.replace(/<\\/?[^>]+(>|$)/g, '').replace(/&.{1,5};/g, '').replace(/\\s{2,}/g, ' '); + } + var timestamp = new Date().getTime(); + var json = request('https://d1zquzjgwo9yb.cloudfront.net/?_=' + timestamp); + var list = JSON.parse(json); + let playKeys = Object.values(list).filter(function(x) { + return x[2].includes('連載中'); + }); + playKeys.forEach(function(it) { + d.push({ + title: stripHtmlTag(it[1]), + img: 'https://sta.anicdn.com/playerImg/8.jpg', + desc: it[2], + url: it[0], + }); + }); + setResult(d); + `, + 一级: `js: + var d = []; + function stripHtmlTag(src) { + return src.replace(/<\\/?[^>]+(>|$)/g, '').replace(/&.{1,5};/g, '').replace(/\\s{2,}/g, ' '); + } + var timestamp = new Date().getTime(); + var json = request('https://d1zquzjgwo9yb.cloudfront.net/?_=' + timestamp); + var list = JSON.parse(json); + let playKeys = Object.values(list).filter(function(x) { + if (MY_CATE === '連載中') return x[2].includes(MY_CATE); + else if (MY_CATE === '2017') return x[3] <= MY_CATE; + else return x[3] == MY_CATE; + }); + playKeys.forEach(function(it) { + d.push({ + title: stripHtmlTag(it[1]), + img: 'https://sta.anicdn.com/playerImg/8.jpg', + desc: it[2], + url: it[0], + }); + }); + setResult(d); + `, + 二级: `js: + pdfh = jsp.pdfh; pdfa = jsp.pdfa; pd = jsp.pd; + var html = request(input); + var timestamp = new Date().getTime(); + var json = request('https://d1zquzjgwo9yb.cloudfront.net/?_=' + timestamp); + var list = JSON.parse(json); + var vid = input.split('=')[1]; + let playKeys = Object.values(list).find(function(x) { + return x[0] === parseInt(vid); + }); + VOD = { + vod_pic: 'https://sta.anicdn.com/playerImg/8.jpg', + vod_id: playKeys[0], + vod_name: playKeys[1], + vod_content: playKeys[2], + vod_year: playKeys[3], + type_name: playKeys[4], + vod_actor: playKeys[5], + }; + var pageurl = pd(html, '.cat-links&&a&&href'); + var pagenum = 1; + let vod_tab_list = []; + let vlist = []; + for (let p = 1; p < parseInt(pagenum) + 1; p++) { + let phtml = request(pageurl + '/page/' + pagenum); + let new_vod_list = []; + let vodList = []; + vodList = pdfa(phtml, '.site-main&&article'); + for (let i = 0; i < vodList.length; i++) { + let it = vodList[i]; + let ptitle = pdfh(it, '.entry-title&&Text').replace(/\\[(.*)\\]/, '$1'); + let purl = pd(it, '.video-js&&data-apireq'); + new_vod_list.push(ptitle + '$' + purl); + } + vlist = vlist.concat(new_vod_list); + try { + pagenum = pd(phtml, '.nav-previous&&a&&href').split('/page/')[1]; + } catch(e) {} + } + let vlist2 = vlist.reverse().join("#"); + vod_tab_list.push(vlist2); + VOD.vod_play_from = '在线播放'; + VOD.vod_play_url = vod_tab_list.join("$$$"); + `, + 搜索: `js: + var d = []; + function stripHtmlTag(src) { + return src.replace(/<\\/?[^>]+(>|$)/g, '').replace(/&.{1,5};/g, '').replace(/\\s{2,}/g, ' '); + } + var timestamp = new Date().getTime(); + var json = request('https://d1zquzjgwo9yb.cloudfront.net/?_=' + timestamp); + var list = JSON.parse(json); + var wd = input.split('=')[1]; + let playKeys = Object.values(list).filter(function(x) { + return x[1].includes(wd); + }); + log(playKeys); + playKeys.forEach(function(it) { + d.push({ + title: stripHtmlTag(it[1]), + img: 'https://sta.anicdn.com/playerImg/8.jpg', + desc: it[2], + url: it[0], + }); + }); + setResult(d); + `, +} \ No newline at end of file diff --git a/xiaosa/js/NT动漫.js b/xiaosa/js/NT动漫.js new file mode 100644 index 00000000..4dde948e --- /dev/null +++ b/xiaosa/js/NT动漫.js @@ -0,0 +1,1013 @@ +// http://www.ntdm.tv +var rule = { + title: 'NT动漫', + host: 'http://www.ntdm8.com', + homeUrl: '/type/riben.html', + // url:'/show/fyclass--------fypage---.html', + url: '/show/fyclassfyfilter.html', + filterable: 1, //是否启用分类筛选, + filter_url: '--{{fl.by}}-{{fl.class}}--{{fl.letter}}---fypage---{{fl.year}}', + filter: { + "riben": [{ + "key": "year", + "name": "年份:", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2025", + "v": "2025" + }, { + "n": "2024", + "v": "2024" + }, { + "n": "2023", + "v": "2023" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }, { + "n": "2014", + "v": "2014" + }, { + "n": "2013", + "v": "2013" + }, { + "n": "2012", + "v": "2012" + }, { + "n": "2011", + "v": "2011" + }, { + "n": "2010", + "v": "2010" + }, { + "n": "2009", + "v": "2009" + }, { + "n": "2008", + "v": "2008" + }, { + "n": "2007", + "v": "2007" + }, { + "n": "2006", + "v": "2006" + }, { + "n": "2005", + "v": "2005" + }, { + "n": "2004", + "v": "2004" + }, { + "n": "2003", + "v": "2003" + }, { + "n": "2002", + "v": "2002" + }, { + "n": "2001", + "v": "2001" + }, { + "n": "2000以前", + "v": "2000以前" + }] + }, { + "key": "class", + "name": "类型:", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "搞笑", + "v": "搞笑" + }, { + "n": "运动", + "v": "运动" + }, { + "n": "励志", + "v": "励志" + }, { + "n": "热血", + "v": "热血" + }, { + "n": "战斗", + "v": "战斗" + }, { + "n": "竞技", + "v": "竞技" + }, { + "n": "校园", + "v": "校园" + }, { + "n": "青春", + "v": "青春" + }, { + "n": "爱情", + "v": "爱情" + }, { + "n": "冒险", + "v": "冒险" + }, { + "n": "后宫", + "v": "后宫" + }, { + "n": "百合", + "v": "百合" + }, { + "n": "治愈", + "v": "治愈" + }, { + "n": "萝莉", + "v": "萝莉" + }, { + "n": "魔法", + "v": "魔法" + }, { + "n": "悬疑", + "v": "悬疑" + }, { + "n": "推理", + "v": "推理" + }, { + "n": "奇幻", + "v": "奇幻" + }, { + "n": "科幻", + "v": "科幻" + }, { + "n": "游戏", + "v": "游戏" + }, { + "n": "神魔", + "v": "神魔" + }, { + "n": "恐怖", + "v": "恐怖" + }, { + "n": "血腥", + "v": "血腥" + }, { + "n": "机战", + "v": "机战" + }, { + "n": "战争", + "v": "战争" + }, { + "n": "犯罪", + "v": "犯罪" + }, { + "n": "历史", + "v": "历史" + }, { + "n": "社会", + "v": "社会" + }, { + "n": "职场", + "v": "职场" + }, { + "n": "剧情", + "v": "剧情" + }, { + "n": "伪娘", + "v": "伪娘" + }, { + "n": "耽美", + "v": "耽美" + }, { + "n": "童年", + "v": "童年" + }, { + "n": "教育", + "v": "教育" + }, { + "n": "亲子", + "v": "亲子" + }, { + "n": "真人", + "v": "真人" + }, { + "n": "歌舞", + "v": "歌舞" + }, { + "n": "肉番", + "v": "肉番" + }, { + "n": "美少女", + "v": "美少女" + }, { + "n": "轻小说", + "v": "轻小说" + }, { + "n": "吸血鬼", + "v": "吸血鬼" + }, { + "n": "女性向", + "v": "女性向" + }, { + "n": "泡面番", + "v": "泡面番" + }, { + "n": "欢乐向", + "v": "欢乐向" + }] + }, { + "key": "letter", + "name": "字母:", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "A", + "v": "A" + }, { + "n": "B", + "v": "B" + }, { + "n": "C", + "v": "C" + }, { + "n": "D", + "v": "D" + }, { + "n": "E", + "v": "E" + }, { + "n": "F", + "v": "F" + }, { + "n": "G", + "v": "G" + }, { + "n": "H", + "v": "H" + }, { + "n": "I", + "v": "I" + }, { + "n": "J", + "v": "J" + }, { + "n": "K", + "v": "K" + }, { + "n": "L", + "v": "L" + }, { + "n": "M", + "v": "M" + }, { + "n": "N", + "v": "N" + }, { + "n": "O", + "v": "O" + }, { + "n": "P", + "v": "P" + }, { + "n": "Q", + "v": "Q" + }, { + "n": "R", + "v": "R" + }, { + "n": "S", + "v": "S" + }, { + "n": "T", + "v": "T" + }, { + "n": "U", + "v": "U" + }, { + "n": "V", + "v": "V" + }, { + "n": "W", + "v": "W" + }, { + "n": "X", + "v": "X" + }, { + "n": "Y", + "v": "Y" + }, { + "n": "Z", + "v": "Z" + }, { + "n": "0~9", + "v": "0~9" + }] + }, { + "key": "by", + "name": "排序:", + "value": [{ + "n": "更新时间", + "v": "time" + }, { + "n": "人气", + "v": "hits" + }, { + "n": "评分", + "v": "score" + }] + }], + "zhongguo": [{ + "key": "year", + "name": "年份:", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2025", + "v": "2025" + }, { + "n": "2024", + "v": "2024" + }, { + "n": "2023", + "v": "2023" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }, { + "n": "2014", + "v": "2014" + }, { + "n": "2013", + "v": "2013" + }, { + "n": "2012", + "v": "2012" + }, { + "n": "2011", + "v": "2011" + }, { + "n": "2010", + "v": "2010" + }, { + "n": "2009", + "v": "2009" + }, { + "n": "2008", + "v": "2008" + }, { + "n": "2007", + "v": "2007" + }, { + "n": "2006", + "v": "2006" + }, { + "n": "2005", + "v": "2005" + }, { + "n": "2004", + "v": "2004" + }, { + "n": "2003", + "v": "2003" + }, { + "n": "2002", + "v": "2002" + }, { + "n": "2001", + "v": "2001" + }, { + "n": "2000以前", + "v": "2000以前" + }] + }, { + "key": "class", + "name": "类型:", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "搞笑", + "v": "搞笑" + }, { + "n": "运动", + "v": "运动" + }, { + "n": "励志", + "v": "励志" + }, { + "n": "热血", + "v": "热血" + }, { + "n": "战斗", + "v": "战斗" + }, { + "n": "竞技", + "v": "竞技" + }, { + "n": "校园", + "v": "校园" + }, { + "n": "青春", + "v": "青春" + }, { + "n": "爱情", + "v": "爱情" + }, { + "n": "冒险", + "v": "冒险" + }, { + "n": "后宫", + "v": "后宫" + }, { + "n": "百合", + "v": "百合" + }, { + "n": "治愈", + "v": "治愈" + }, { + "n": "萝莉", + "v": "萝莉" + }, { + "n": "魔法", + "v": "魔法" + }, { + "n": "悬疑", + "v": "悬疑" + }, { + "n": "推理", + "v": "推理" + }, { + "n": "奇幻", + "v": "奇幻" + }, { + "n": "科幻", + "v": "科幻" + }, { + "n": "游戏", + "v": "游戏" + }, { + "n": "神魔", + "v": "神魔" + }, { + "n": "恐怖", + "v": "恐怖" + }, { + "n": "血腥", + "v": "血腥" + }, { + "n": "机战", + "v": "机战" + }, { + "n": "战争", + "v": "战争" + }, { + "n": "犯罪", + "v": "犯罪" + }, { + "n": "历史", + "v": "历史" + }, { + "n": "社会", + "v": "社会" + }, { + "n": "职场", + "v": "职场" + }, { + "n": "剧情", + "v": "剧情" + }, { + "n": "伪娘", + "v": "伪娘" + }, { + "n": "耽美", + "v": "耽美" + }, { + "n": "童年", + "v": "童年" + }, { + "n": "教育", + "v": "教育" + }, { + "n": "亲子", + "v": "亲子" + }, { + "n": "真人", + "v": "真人" + }, { + "n": "歌舞", + "v": "歌舞" + }, { + "n": "肉番", + "v": "肉番" + }, { + "n": "美少女", + "v": "美少女" + }, { + "n": "轻小说", + "v": "轻小说" + }, { + "n": "吸血鬼", + "v": "吸血鬼" + }, { + "n": "女性向", + "v": "女性向" + }, { + "n": "泡面番", + "v": "泡面番" + }, { + "n": "欢乐向", + "v": "欢乐向" + }] + }, { + "key": "letter", + "name": "字母:", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "A", + "v": "A" + }, { + "n": "B", + "v": "B" + }, { + "n": "C", + "v": "C" + }, { + "n": "D", + "v": "D" + }, { + "n": "E", + "v": "E" + }, { + "n": "F", + "v": "F" + }, { + "n": "G", + "v": "G" + }, { + "n": "H", + "v": "H" + }, { + "n": "I", + "v": "I" + }, { + "n": "J", + "v": "J" + }, { + "n": "K", + "v": "K" + }, { + "n": "L", + "v": "L" + }, { + "n": "M", + "v": "M" + }, { + "n": "N", + "v": "N" + }, { + "n": "O", + "v": "O" + }, { + "n": "P", + "v": "P" + }, { + "n": "Q", + "v": "Q" + }, { + "n": "R", + "v": "R" + }, { + "n": "S", + "v": "S" + }, { + "n": "T", + "v": "T" + }, { + "n": "U", + "v": "U" + }, { + "n": "V", + "v": "V" + }, { + "n": "W", + "v": "W" + }, { + "n": "X", + "v": "X" + }, { + "n": "Y", + "v": "Y" + }, { + "n": "Z", + "v": "Z" + }, { + "n": "0~9", + "v": "0~9" + }] + }, { + "key": "by", + "name": "排序:", + "value": [{ + "n": "更新时间", + "v": "time" + }, { + "n": "人气", + "v": "hits" + }, { + "n": "评分", + "v": "score" + }] + }], + "omei": [{ + "key": "year", + "name": "年份:", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2025", + "v": "2025" + }, { + "n": "2024", + "v": "2024" + }, { + "n": "2023", + "v": "2023" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }, { + "n": "2014", + "v": "2014" + }, { + "n": "2013", + "v": "2013" + }, { + "n": "2012", + "v": "2012" + }, { + "n": "2011", + "v": "2011" + }, { + "n": "2010", + "v": "2010" + }, { + "n": "2009", + "v": "2009" + }, { + "n": "2008", + "v": "2008" + }, { + "n": "2007", + "v": "2007" + }, { + "n": "2006", + "v": "2006" + }, { + "n": "2005", + "v": "2005" + }, { + "n": "2004", + "v": "2004" + }, { + "n": "2003", + "v": "2003" + }, { + "n": "2002", + "v": "2002" + }, { + "n": "2001", + "v": "2001" + }, { + "n": "2000以前", + "v": "2000以前" + }] + }, { + "key": "class", + "name": "类型:", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "搞笑", + "v": "搞笑" + }, { + "n": "运动", + "v": "运动" + }, { + "n": "励志", + "v": "励志" + }, { + "n": "热血", + "v": "热血" + }, { + "n": "战斗", + "v": "战斗" + }, { + "n": "竞技", + "v": "竞技" + }, { + "n": "校园", + "v": "校园" + }, { + "n": "青春", + "v": "青春" + }, { + "n": "爱情", + "v": "爱情" + }, { + "n": "冒险", + "v": "冒险" + }, { + "n": "后宫", + "v": "后宫" + }, { + "n": "百合", + "v": "百合" + }, { + "n": "治愈", + "v": "治愈" + }, { + "n": "萝莉", + "v": "萝莉" + }, { + "n": "魔法", + "v": "魔法" + }, { + "n": "悬疑", + "v": "悬疑" + }, { + "n": "推理", + "v": "推理" + }, { + "n": "奇幻", + "v": "奇幻" + }, { + "n": "科幻", + "v": "科幻" + }, { + "n": "游戏", + "v": "游戏" + }, { + "n": "神魔", + "v": "神魔" + }, { + "n": "恐怖", + "v": "恐怖" + }, { + "n": "血腥", + "v": "血腥" + }, { + "n": "机战", + "v": "机战" + }, { + "n": "战争", + "v": "战争" + }, { + "n": "犯罪", + "v": "犯罪" + }, { + "n": "历史", + "v": "历史" + }, { + "n": "社会", + "v": "社会" + }, { + "n": "职场", + "v": "职场" + }, { + "n": "剧情", + "v": "剧情" + }, { + "n": "伪娘", + "v": "伪娘" + }, { + "n": "耽美", + "v": "耽美" + }, { + "n": "童年", + "v": "童年" + }, { + "n": "教育", + "v": "教育" + }, { + "n": "亲子", + "v": "亲子" + }, { + "n": "真人", + "v": "真人" + }, { + "n": "歌舞", + "v": "歌舞" + }, { + "n": "肉番", + "v": "肉番" + }, { + "n": "美少女", + "v": "美少女" + }, { + "n": "轻小说", + "v": "轻小说" + }, { + "n": "吸血鬼", + "v": "吸血鬼" + }, { + "n": "女性向", + "v": "女性向" + }, { + "n": "泡面番", + "v": "泡面番" + }, { + "n": "欢乐向", + "v": "欢乐向" + }] + }, { + "key": "letter", + "name": "字母:", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "A", + "v": "A" + }, { + "n": "B", + "v": "B" + }, { + "n": "C", + "v": "C" + }, { + "n": "D", + "v": "D" + }, { + "n": "E", + "v": "E" + }, { + "n": "F", + "v": "F" + }, { + "n": "G", + "v": "G" + }, { + "n": "H", + "v": "H" + }, { + "n": "I", + "v": "I" + }, { + "n": "J", + "v": "J" + }, { + "n": "K", + "v": "K" + }, { + "n": "L", + "v": "L" + }, { + "n": "M", + "v": "M" + }, { + "n": "N", + "v": "N" + }, { + "n": "O", + "v": "O" + }, { + "n": "P", + "v": "P" + }, { + "n": "Q", + "v": "Q" + }, { + "n": "R", + "v": "R" + }, { + "n": "S", + "v": "S" + }, { + "n": "T", + "v": "T" + }, { + "n": "U", + "v": "U" + }, { + "n": "V", + "v": "V" + }, { + "n": "W", + "v": "W" + }, { + "n": "X", + "v": "X" + }, { + "n": "Y", + "v": "Y" + }, { + "n": "Z", + "v": "Z" + }, { + "n": "0~9", + "v": "0~9" + }] + }, { + "key": "by", + "name": "排序:", + "value": [{ + "n": "更新时间", + "v": "time" + }, { + "n": "人气", + "v": "hits" + }, { + "n": "评分", + "v": "score" + }] + }] + }, + searchUrl: '/search/**----------fypage---.html', + searchable: 2, //是否启用全局搜索, + quickSearch: 0, //是否启用快速搜索, + headers: { //网站的请求头,完整支持所有的,常带ua和cookies + 'User-Agent': 'MOBILE_UA', + }, + class_parse: '.search-tag li;a&&Text;a&&href;.*/(\\w+).html', + play_parse: true, + detailUrl: '', + lazy: "", + limit: 6, + 推荐: '*', + 一级: '.blockcontent1&&.blockdif2;img&&alt;img&&src;.newname&&Text;a&&href', + 二级访问前: '', + 二级: { + "title": "h4&&Text;.detail_imform_value:eq(6)&&Text", + "img": ".poster&&src", + "desc": ".detail_imform_kv:eq(0)&&Text;.detail_imform_value:eq(5)&&Text;.detail_imform_value:eq(2)&&Text;.detail_imform_kv:eq(0)&&Text;.detail_imform_kv:eq(3)&&Text", + "content": ".detail_imform_desc_pre&&Text", + "tabs": "#menu0&&li", + "lists": ".movurl:eq(#id)&&li" + }, + 搜索: '*', +} \ No newline at end of file diff --git a/xiaosa/js/NyaFun.js b/xiaosa/js/NyaFun.js new file mode 100644 index 00000000..16b21a2d --- /dev/null +++ b/xiaosa/js/NyaFun.js @@ -0,0 +1,13 @@ +muban.短视2.二级.img = '.detail-pic&&img&&data-src'; +var rule = { + title: 'NyaFun', + 模板:'短视2', + host: 'https://www.nyafun.net', + homeUrl:'/map.html', + url: '/index.php/api/vod#type=fyclass&page=fypage', + class_name:'番剧&剧场', + class_url:'2&1', + detailUrl:'/bangumi/fyid.html', + 推荐:'.border-box .public-list-box;a&&title;.lazy&&data-src;.public-list-prb&&Text;a&&href', + double: false, // 推荐内容是否双层定位 +} \ No newline at end of file diff --git a/xiaosa/js/alishare.txt b/xiaosa/js/alishare.txt new file mode 100644 index 00000000..cd52f134 --- /dev/null +++ b/xiaosa/js/alishare.txt @@ -0,0 +1,70 @@ +[ + { + "share_name": "优品阁", + "share_id": "uWa9gbM3RJ7" + }, + { + "share_name": "阿里1T", + "share_id": "mxAfB6eRgY4" + }, + { + "share_name": "平凡中的", + "share_id": "4ydLxf7VgH7" + }, + { + "share_name": "tacit0924", + "share_id": "DNgnCudf4cD?pwd=6666" + }, + { + "share_name": "黄妈", + "share_id": "4bGRVUdUtct" + }, + { + "share_name": "YYDSVIP", + "share_id": "dieULBdYP3D" + }, + { + "share_name": "优源阁", + "share_id": "RnjUi1urdb2" + }, + { + "share_name": "风流动漫", + "share_id": "WdaaeX7HK44" + }, + { + "share_name": "风流剧集", + "share_id": "kgxWjZsK6bq" + }, + { + "share_name": "xiaaluo", + "share_id": "sg8CdGUwmUr" + }, + { + "share_name": "4K影视", + "share_id": "wHPKUENKFsS" + }, + { + "share_name": "诺兰全集", + "share_id": "gf2GebXnZHh" + }, + { + "share_name": "纪录片", + "share_id": "fSNHaYST47s" + }, + { + "share_name": "掌灯者|港", + "share_id": "wHPKUENKFsS" + }, + { + "share_name": "掌灯者|一", + "share_id": "wHPKUENKFsS" + }, + { + "share_name": "掌灯者|二", + "share_id": "wHPKUENKFsS" + }, + { + "share_name": "掌灯者|三", + "share_id": "wHPKUENKFsS" + } +] \ No newline at end of file diff --git a/xiaosa/js/cheerio.min.js b/xiaosa/js/cheerio.min.js new file mode 100644 index 00000000..1c5337aa --- /dev/null +++ b/xiaosa/js/cheerio.min.js @@ -0,0 +1,10945 @@ +var e, t = function() { + return t = Object.assign || function(e) { + for (var t, n = 1, r = arguments.length; n < r; n++) + for (var i in t = arguments[n]) Object.prototype.hasOwnProperty.call(t, i) && (e[i] = t[i]); + return e + }, t.apply(this, arguments) + }, + n = { + xml: !1, + decodeEntities: !0 + }, + r = { + _useHtmlParser2: !0, + xmlMode: !0 + }; + +function i(e) { + return (null == e ? void 0 : e.xml) ? "boolean" == typeof e.xml ? r : t(t({}, r), e.xml) : null != e ? e : void 0 +}! function(e) { + e.Root = "root", e.Text = "text", e.Directive = "directive", e.Comment = "comment", e.Script = "script", e.Style = "style", e.Tag = "tag", e.CDATA = "cdata", e.Doctype = "doctype" +}(e || (e = {})); +const s = e.Root, + a = e.Text, + o = e.Directive, + c = e.Comment, + l = e.Script, + h = e.Style, + u = e.Tag, + p = e.CDATA, + f = e.Doctype; +class d { + constructor() { + this.parent = null, this.prev = null, this.next = null, this.startIndex = null, this.endIndex = null + } + get parentNode() { + return this.parent + } + set parentNode(e) { + this.parent = e + } + get previousSibling() { + return this.prev + } + set previousSibling(e) { + this.prev = e + } + get nextSibling() { + return this.next + } + set nextSibling(e) { + this.next = e + } + cloneNode(e = !1) { + return v(this, e) + } +} +class E extends d { + constructor(e) { + super(), this.data = e + } + get nodeValue() { + return this.data + } + set nodeValue(e) { + this.data = e + } +} +class m extends E { + constructor() { + super(...arguments), this.type = e.Text + } + get nodeType() { + return 3 + } +} +class T extends E { + constructor() { + super(...arguments), this.type = e.Comment + } + get nodeType() { + return 8 + } +} +class _ extends E { + constructor(t, n) { + super(n), this.name = t, this.type = e.Directive + } + get nodeType() { + return 1 + } +} +class A extends d { + constructor(e) { + super(), this.children = e + } + get firstChild() { + var e; + return null !== (e = this.children[0]) && void 0 !== e ? e : null + } + get lastChild() { + return this.children.length > 0 ? this.children[this.children.length - 1] : null + } + get childNodes() { + return this.children + } + set childNodes(e) { + this.children = e + } +} +class g extends A { + constructor() { + super(...arguments), this.type = e.CDATA + } + get nodeType() { + return 4 + } +} +class N extends A { + constructor() { + super(...arguments), this.type = e.Root + } + get nodeType() { + return 9 + } +} +class C extends A { + constructor(t, n, r = [], i = ("script" === t ? e.Script : "style" === t ? e.Style : e.Tag)) { + super(r), this.name = t, this.attribs = n, this.type = i + } + get nodeType() { + return 1 + } + get tagName() { + return this.name + } + set tagName(e) { + this.name = e + } + get attributes() { + return Object.keys(this.attribs).map((e => { + var t, n; + return { + name: e, + value: this.attribs[e], + namespace: null === (t = this["x-attribsNamespace"]) || void 0 === t ? void 0 : t[e], + prefix: null === (n = this["x-attribsPrefix"]) || void 0 === n ? void 0 : n[e] + } + })) + } +} + +function I(t) { + return (n = t).type === e.Tag || n.type === e.Script || n.type === e.Style; + var n +} + +function S(t) { + return t.type === e.CDATA +} + +function b(t) { + return t.type === e.Text +} + +function O(t) { + return t.type === e.Comment +} + +function y(t) { + return t.type === e.Directive +} + +function L(t) { + return t.type === e.Root +} + +function k(e) { + return Object.prototype.hasOwnProperty.call(e, "children") +} + +function v(e, t = !1) { + let n; + if (b(e)) n = new m(e.data); + else if (O(e)) n = new T(e.data); + else if (I(e)) { + const r = t ? D(e.children) : [], + i = new C(e.name, { + ...e.attribs + }, r); + r.forEach((e => e.parent = i)), null != e.namespace && (i.namespace = e.namespace), e["x-attribsNamespace"] && (i["x-attribsNamespace"] = { + ...e["x-attribsNamespace"] + }), e["x-attribsPrefix"] && (i["x-attribsPrefix"] = { + ...e["x-attribsPrefix"] + }), n = i + } else if (S(e)) { + const r = t ? D(e.children) : [], + i = new g(r); + r.forEach((e => e.parent = i)), n = i + } else if (L(e)) { + const r = t ? D(e.children) : [], + i = new N(r); + r.forEach((e => e.parent = i)), e["x-mode"] && (i["x-mode"] = e["x-mode"]), n = i + } else { + if (!y(e)) throw new Error(`Not implemented yet: ${e.type}`); + { + const t = new _(e.name, e.data); + null != e["x-name"] && (t["x-name"] = e["x-name"], t["x-publicId"] = e["x-publicId"], t["x-systemId"] = e["x-systemId"]), n = t + } + } + return n.startIndex = e.startIndex, n.endIndex = e.endIndex, null != e.sourceCodeLocation && (n.sourceCodeLocation = e.sourceCodeLocation), n +} + +function D(e) { + const t = e.map((e => v(e, !0))); + for (let e = 1; e < t.length; e++) t[e].prev = t[e - 1], t[e - 1].next = t[e]; + return t +} +const R = { + withStartIndices: !1, + withEndIndices: !1, + xmlMode: !1 +}; +class M { + constructor(e, t, n) { + this.dom = [], this.root = new N(this.dom), this.done = !1, this.tagStack = [this.root], this.lastNode = null, this.parser = null, "function" == typeof t && (n = t, t = R), "object" == typeof e && (t = e, e = void 0), this.callback = null != e ? e : null, this.options = null != t ? t : R, this.elementCB = null != n ? n : null + } + onparserinit(e) { + this.parser = e + } + onreset() { + this.dom = [], this.root = new N(this.dom), this.done = !1, this.tagStack = [this.root], this.lastNode = null, this.parser = null + } + onend() { + this.done || (this.done = !0, this.parser = null, this.handleCallback(null)) + } + onerror(e) { + this.handleCallback(e) + } + onclosetag() { + this.lastNode = null; + const e = this.tagStack.pop(); + this.options.withEndIndices && (e.endIndex = this.parser.endIndex), this.elementCB && this.elementCB(e) + } + onopentag(t, n) { + const r = this.options.xmlMode ? e.Tag : void 0, + i = new C(t, n, void 0, r); + this.addNode(i), this.tagStack.push(i) + } + ontext(t) { + const { + lastNode: n + } = this; + if (n && n.type === e.Text) n.data += t, this.options.withEndIndices && (n.endIndex = this.parser.endIndex); + else { + const e = new m(t); + this.addNode(e), this.lastNode = e + } + } + oncomment(t) { + if (this.lastNode && this.lastNode.type === e.Comment) return void(this.lastNode.data += t); + const n = new T(t); + this.addNode(n), this.lastNode = n + } + oncommentend() { + this.lastNode = null + } + oncdatastart() { + const e = new m(""), + t = new g([e]); + this.addNode(t), e.parent = t, this.lastNode = e + } + oncdataend() { + this.lastNode = null + } + onprocessinginstruction(e, t) { + const n = new _(e, t); + this.addNode(n) + } + handleCallback(e) { + if ("function" == typeof this.callback) this.callback(e, this.dom); + else if (e) throw e + } + addNode(e) { + const t = this.tagStack[this.tagStack.length - 1], + n = t.children[t.children.length - 1]; + this.options.withStartIndices && (e.startIndex = this.parser.startIndex), this.options.withEndIndices && (e.endIndex = this.parser.endIndex), t.children.push(e), n && (e.prev = n, n.next = e), e.parent = t, this.lastNode = null + } +} +const P = /["&'<>$\x80-\uFFFF]/g, + x = new Map([ + [34, """], + [38, "&"], + [39, "'"], + [60, "<"], + [62, ">"] + ]), + w = null != String.prototype.codePointAt ? (e, t) => e.codePointAt(t) : (e, t) => 55296 == (64512 & e.charCodeAt(t)) ? 1024 * (e.charCodeAt(t) - 55296) + e.charCodeAt(t + 1) - 56320 + 65536 : e.charCodeAt(t); + +function B(e) { + let t, n = "", + r = 0; + for (; null !== (t = P.exec(e));) { + const i = t.index, + s = e.charCodeAt(i), + a = x.get(s); + void 0 !== a ? (n += e.substring(r, i) + a, r = i + 1) : (n += `${e.substring(r,i)}&#x${w(e,i).toString(16)};`, r = P.lastIndex += Number(55296 == (64512 & s))) + } + return n + e.substr(r) +} + +function F(e, t) { + return function(n) { + let r, i = 0, + s = ""; + for (; r = e.exec(n);) i !== r.index && (s += n.substring(i, r.index)), s += t.get(r[0].charCodeAt(0)), i = r.index + 1; + return s + n.substring(i) + } +} +const U = F(/["&\u00A0]/g, new Map([ + [34, """], + [38, "&"], + [160, " "] + ])), + H = F(/[&<>\u00A0]/g, new Map([ + [38, "&"], + [60, "<"], + [62, ">"], + [160, " "] + ])), + G = 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((e => [e.toLowerCase(), e]))), + Y = 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((e => [e.toLowerCase(), e]))), + q = new Set(["style", "script", "xmp", "iframe", "noembed", "noframes", "plaintext", "noscript"]); + +function K(e) { + return e.replace(/"/g, """) +} +const j = new Set(["area", "base", "basefont", "br", "col", "command", "embed", "frame", "hr", "img", "input", "isindex", "keygen", "link", "meta", "param", "source", "track", "wbr"]); + +function V(e, t = {}) { + const n = "length" in e ? e : [e]; + let r = ""; + for (let e = 0; e < n.length; e++) r += W(n[e], t); + return r +} + +function W(e, t) { + switch (e.type) { + case s: + return V(e.children, t); + case f: + case o: + return `<${e.data}>`; + case c: + return function(e) { + return `\x3c!--${e.data}--\x3e` + }(e); + case p: + return function(e) { + return `` + }(e); + case l: + case h: + case u: + return function(e, t) { + var n; + "foreign" === t.xmlMode && (e.name = null !== (n = G.get(e.name)) && void 0 !== n ? n : e.name, e.parent && Q.has(e.parent.name) && (t = { + ...t, + xmlMode: !1 + })); + !t.xmlMode && X.has(e.name) && (t = { + ...t, + xmlMode: "foreign" + }); + let r = `<${e.name}`; + const i = function(e, t) { + var n; + if (!e) return; + const r = !1 === (null !== (n = t.encodeEntities) && void 0 !== n ? n : t.decodeEntities) ? K : t.xmlMode || "utf8" !== t.encodeEntities ? B : U; + return Object.keys(e).map((n => { + var i, s; + const a = null !== (i = e[n]) && void 0 !== i ? i : ""; + return "foreign" === t.xmlMode && (n = null !== (s = Y.get(n)) && void 0 !== s ? s : n), t.emptyAttrs || t.xmlMode || "" !== a ? `${n}="${r(a)}"` : n + })).join(" ") + }(e.attribs, t); + i && (r += ` ${i}`); + 0 === e.children.length && (t.xmlMode ? !1 !== t.selfClosingTags : t.selfClosingTags && j.has(e.name)) ? (t.xmlMode || (r += " "), r += "/>") : (r += ">", e.children.length > 0 && (r += V(e.children, t)), !t.xmlMode && j.has(e.name) || (r += ``)); + return r + }(e, t); + case a: + return function(e, t) { + var n; + let r = e.data || ""; + !1 === (null !== (n = t.encodeEntities) && void 0 !== n ? n : t.decodeEntities) || !t.xmlMode && e.parent && q.has(e.parent.name) || (r = t.xmlMode || "utf8" !== t.encodeEntities ? B(r) : H(r)); + return r + }(e, t) + } +} +const Q = new Set(["mi", "mo", "mn", "ms", "mtext", "annotation-xml", "foreignObject", "desc", "title"]), + X = new Set(["svg", "math"]); + +function $(e, t) { + return V(e, t) +} + +function z(e) { + return Array.isArray(e) ? e.map(z).join("") : k(e) && !O(e) ? z(e.children) : b(e) ? e.data : "" +} + +function J(t) { + return Array.isArray(t) ? t.map(J).join("") : k(t) && (t.type === e.Tag || S(t)) ? J(t.children) : b(t) ? t.data : "" +} + +function Z(e) { + return k(e) ? e.children : [] +} + +function ee(e) { + return e.parent || null +} + +function te(e) { + const t = ee(e); + if (null != t) return Z(t); + const n = [e]; + let { + prev: r, + next: i + } = e; + for (; null != r;) n.unshift(r), ({ + prev: r + } = r); + for (; null != i;) n.push(i), ({ + next: i + } = i); + return n +} + +function ne(e) { + let { + next: t + } = e; + for (; null !== t && !I(t);)({ + next: t + } = t); + return t +} + +function re(e) { + let { + prev: t + } = e; + for (; null !== t && !I(t);)({ + prev: t + } = t); + return t +} + +function ie(e) { + if (e.prev && (e.prev.next = e.next), e.next && (e.next.prev = e.prev), e.parent) { + const t = e.parent.children; + t.splice(t.lastIndexOf(e), 1) + } +} + +function se(e, t, n = !0, r = 1 / 0) { + return Array.isArray(t) || (t = [t]), ae(e, t, n, r) +} + +function ae(e, t, n, r) { + const i = []; + for (const s of t) { + if (e(s) && (i.push(s), --r <= 0)) break; + if (n && k(s) && s.children.length > 0) { + const t = ae(e, s.children, n, r); + if (i.push(...t), r -= t.length, r <= 0) break + } + } + return i +} + +function oe(e, t, n = !0) { + let r = null; + for (let i = 0; i < t.length && !r; i++) { + const s = t[i]; + I(s) && (e(s) ? r = s : n && s.children.length > 0 && (r = oe(e, s.children, !0))) + } + return r +} +const ce = { + tag_name: e => "function" == typeof e ? t => I(t) && e(t.name) : "*" === e ? I : t => I(t) && t.name === e, + tag_type: e => "function" == typeof e ? t => e(t.type) : t => t.type === e, + tag_contains: e => "function" == typeof e ? t => b(t) && e(t.data) : t => b(t) && t.data === e +}; + +function le(e, t) { + return "function" == typeof t ? n => I(n) && t(n.attribs[e]) : n => I(n) && n.attribs[e] === t +} + +function he(e, t) { + return n => e(n) || t(n) +} + +function ue(e) { + const t = Object.keys(e).map((t => { + const n = e[t]; + return Object.prototype.hasOwnProperty.call(ce, t) ? ce[t](n) : le(t, n) + })); + return 0 === t.length ? null : t.reduce(he) +} + +function pe(e, t, n = !0, r = 1 / 0) { + return se(ce.tag_name(e), t, n, r) +} +var fe; + +function de(e, t) { + const n = [], + r = []; + if (e === t) return 0; + let i = k(e) ? e : e.parent; + for (; i;) n.unshift(i), i = i.parent; + for (i = k(t) ? t : t.parent; i;) r.unshift(i), i = i.parent; + const s = Math.min(n.length, r.length); + let a = 0; + for (; a < s && n[a] === r[a];) a++; + if (0 === a) return fe.DISCONNECTED; + const o = n[a - 1], + c = o.children, + l = n[a], + h = r[a]; + return c.indexOf(l) > c.indexOf(h) ? o === t ? fe.FOLLOWING | fe.CONTAINED_BY : fe.FOLLOWING : o === e ? fe.PRECEDING | fe.CONTAINS : fe.PRECEDING +} + +function Ee(e) { + return (e = e.filter(((e, t, n) => !n.includes(e, t + 1)))).sort(((e, t) => { + const n = de(e, t); + return n & fe.PRECEDING ? -1 : n & fe.FOLLOWING ? 1 : 0 + })), e +}! function(e) { + e[e.DISCONNECTED = 1] = "DISCONNECTED", e[e.PRECEDING = 2] = "PRECEDING", e[e.FOLLOWING = 4] = "FOLLOWING", e[e.CONTAINS = 8] = "CONTAINS", e[e.CONTAINED_BY = 16] = "CONTAINED_BY" +}(fe || (fe = {})); +const me = ["url", "type", "lang"], + Te = ["fileSize", "bitrate", "framerate", "samplingrate", "channels", "duration", "height", "width"]; + +function _e(e) { + return pe("media:content", e).map((e => { + const { + attribs: t + } = e, n = { + medium: t.medium, + isDefault: !!t.isDefault + }; + for (const e of me) t[e] && (n[e] = t[e]); + for (const e of Te) t[e] && (n[e] = parseInt(t[e], 10)); + return t.expression && (n.expression = t.expression), n + })) +} + +function Ae(e, t) { + return pe(e, t, !0, 1)[0] +} + +function ge(e, t, n = !1) { + return z(pe(e, t, n, 1)).trim() +} + +function Ne(e, t, n, r, i = !1) { + const s = ge(n, r, i); + s && (e[t] = s) +} + +function Ce(e) { + return "rss" === e || "feed" === e || "rdf:RDF" === e +} +var Ie, Se = Object.freeze({ + __proto__: null, + isTag: I, + isCDATA: S, + isText: b, + isComment: O, + isDocument: L, + hasChildren: k, + getOuterHTML: $, + getInnerHTML: function(e, t) { + return k(e) ? e.children.map((e => $(e, t))).join("") : "" + }, + getText: function e(t) { + return Array.isArray(t) ? t.map(e).join("") : I(t) ? "br" === t.name ? "\n" : e(t.children) : S(t) ? e(t.children) : b(t) ? t.data : "" + }, + textContent: z, + innerText: J, + getChildren: Z, + getParent: ee, + getSiblings: te, + getAttributeValue: function(e, t) { + var n; + return null === (n = e.attribs) || void 0 === n ? void 0 : n[t] + }, + hasAttrib: function(e, t) { + return null != e.attribs && Object.prototype.hasOwnProperty.call(e.attribs, t) && null != e.attribs[t] + }, + getName: function(e) { + return e.name + }, + nextElementSibling: ne, + prevElementSibling: re, + removeElement: ie, + replaceElement: function(e, t) { + const n = t.prev = e.prev; + n && (n.next = t); + const r = t.next = e.next; + r && (r.prev = t); + const i = t.parent = e.parent; + if (i) { + const n = i.children; + n[n.lastIndexOf(e)] = t, e.parent = null + } + }, + appendChild: function(e, t) { + if (ie(t), t.next = null, t.parent = e, e.children.push(t) > 1) { + const n = e.children[e.children.length - 2]; + n.next = t, t.prev = n + } else t.prev = null + }, + append: function(e, t) { + ie(t); + const { + parent: n + } = e, r = e.next; + if (t.next = r, t.prev = e, e.next = t, t.parent = n, r) { + if (r.prev = t, n) { + const e = n.children; + e.splice(e.lastIndexOf(r), 0, t) + } + } else n && n.children.push(t) + }, + prependChild: function(e, t) { + if (ie(t), t.parent = e, t.prev = null, 1 !== e.children.unshift(t)) { + const n = e.children[1]; + n.prev = t, t.next = n + } else t.next = null + }, + prepend: function(e, t) { + ie(t); + const { + parent: n + } = e; + if (n) { + const r = n.children; + r.splice(r.indexOf(e), 0, t) + } + e.prev && (e.prev.next = t), t.parent = n, t.prev = e.prev, t.next = e, e.prev = t + }, + filter: se, + find: ae, + findOneChild: function(e, t) { + return t.find(e) + }, + findOne: oe, + existsOne: function e(t, n) { + return n.some((n => I(n) && (t(n) || n.children.length > 0 && e(t, n.children)))) + }, + findAll: function(e, t) { + var n; + const r = [], + i = t.filter(I); + let s; + for (; s = i.shift();) { + const t = null === (n = s.children) || void 0 === n ? void 0 : n.filter(I); + t && t.length > 0 && i.unshift(...t), e(s) && r.push(s) + } + return r + }, + testElement: function(e, t) { + const n = ue(e); + return !n || n(t) + }, + getElements: function(e, t, n, r = 1 / 0) { + const i = ue(e); + return i ? se(i, t, n, r) : [] + }, + getElementById: function(e, t, n = !0) { + return Array.isArray(t) || (t = [t]), oe(le("id", e), t, n) + }, + getElementsByTagName: pe, + getElementsByTagType: function(e, t, n = !0, r = 1 / 0) { + return se(ce.tag_type(e), t, n, r) + }, + removeSubsets: function(e) { + let t = e.length; + for (; --t >= 0;) { + const n = e[t]; + if (t > 0 && e.lastIndexOf(n, t - 1) >= 0) e.splice(t, 1); + else + for (let r = n.parent; r; r = r.parent) + if (e.includes(r)) { + e.splice(t, 1); + break + } + } + return e + }, + get DocumentPosition() { + return fe + }, + compareDocumentPosition: de, + uniqueSort: Ee, + getFeed: function(e) { + const t = Ae(Ce, e); + return t ? "feed" === t.name ? function(e) { + var t; + const n = e.children, + r = { + type: "atom", + items: pe("entry", n).map((e => { + var t; + const { + children: n + } = e, r = { + media: _e(n) + }; + Ne(r, "id", "id", n), Ne(r, "title", "title", n); + const i = null === (t = Ae("link", n)) || void 0 === t ? void 0 : t.attribs.href; + i && (r.link = i); + const s = ge("summary", n) || ge("content", n); + s && (r.description = s); + const a = ge("updated", n); + return a && (r.pubDate = new Date(a)), r + })) + }; + Ne(r, "id", "id", n), Ne(r, "title", "title", n); + const i = null === (t = Ae("link", n)) || void 0 === t ? void 0 : t.attribs.href; + i && (r.link = i); + Ne(r, "description", "subtitle", n); + const s = ge("updated", n); + s && (r.updated = new Date(s)); + return Ne(r, "author", "email", n, !0), r + }(t) : function(e) { + var t, n; + const r = null !== (n = null === (t = Ae("channel", e.children)) || void 0 === t ? void 0 : t.children) && void 0 !== n ? n : [], + i = { + type: e.name.substr(0, 3), + id: "", + items: pe("item", e.children).map((e => { + const { + children: t + } = e, n = { + media: _e(t) + }; + Ne(n, "id", "guid", t), Ne(n, "title", "title", t), Ne(n, "link", "link", t), Ne(n, "description", "description", t); + const r = ge("pubDate", t); + return r && (n.pubDate = new Date(r)), n + })) + }; + Ne(i, "title", "title", r), Ne(i, "link", "link", r), Ne(i, "description", "description", r); + const s = ge("lastBuildDate", r); + s && (i.updated = new Date(s)); + return Ne(i, "author", "managingEditor", r, !0), i + }(t) : null + } + }), + be = "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}; + +function Oe(e) { + if (Object.keys) return Object.keys(e); + var t = []; + for (var n in e) t.push(n); + return t +} + +function ye(e, t) { + if (e.forEach) return e.forEach(t); + for (var n = 0; n < e.length; n++) t(e[n], n, e) +} + +function Le() { + try { + return Object.defineProperty({}, "_", {}), + function(e, t, n) { + Object.defineProperty(e, t, { + writable: !0, + enumerable: !1, + configurable: !0, + value: n + }) + } + } catch (e) { + return function(e, t, n) { + e[t] = n + } + } +} +var ke = ["Array", "Boolean", "Date", "Error", "EvalError", "Function", "Infinity", "JSON", "Math", "NaN", "Number", "Object", "RangeError", "ReferenceError", "RegExp", "String", "SyntaxError", "TypeError", "URIError", "decodeURI", "decodeURIComponent", "encodeURI", "encodeURIComponent", "escape", "eval", "isFinite", "isNaN", "parseFloat", "parseInt", "undefined", "unescape"]; + +function ve() {} + +function De(e) { + if (!(this instanceof De)) return new De(e); + this.code = e +} + +function Re(e) { + if (Me(e)) return e; + var t = new ve; + return "object" == typeof e && ye(Oe(e), (function(n) { + t[n] = e[n] + })), t +} + +function Me(e) { + return e instanceof ve +} +ve.prototype = {}, De.prototype.runInContext = function(e) { + if (!(e instanceof ve)) throw new TypeError("needs a 'context' argument."); + if (be.document) { + var t = be.document.createElement("iframe"); + t.style || (t.style = {}), t.style.display = "none", be.document.body.appendChild(t); + var n = t.contentWindow, + r = n.eval, + i = n.execScript; + !r && i && (i.call(n, "null"), r = n.eval), ye(Oe(e), (function(t) { + n[t] = e[t] + })), ye(ke, (function(t) { + e[t] && (n[t] = e[t]) + })); + var s = Oe(n), + a = r.call(n, this.code); + return ye(Oe(n), (function(t) { + (t in e || -1 === function(e, t) { + if (xe) return e.indexOf(t); + for (var n = 0; n < e.length; ++n) + if (e[n] === t) return n; + return -1 + }(s, t)) && (e[t] = n[t]) + })), ye(ke, (function(t) { + var r, i, s; + t in e || (r = e, i = t, s = n[t], "function" != typeof Ie && (Ie = Le), Ie(r, i, s)) + })), be.document.body.removeChild(t), a + } + return function(e, t) { + var n = Oe(be); + return n.push("with (this.__ctx__){return eval(this.__code__)}"), Function.apply(null, n).apply({ + __code__: e, + __ctx__: t + }) + }(this.code, e) +}, De.prototype.runInThisContext = function() { + return new Function("code", "return eval(code);").call(be, this.code) +}, De.prototype.runInNewContext = function(e) { + var t = Re(e), + n = this.runInContext(t); + return e && ye(Oe(t), (function(n) { + e[n] = t[n] + })), n +}; +var Pe = { + runInContext: function(e, t, n) { + return new De(e).runInContext(t, n) + }, + isContext: Me, + createContext: Re, + createScript: function(e) { + return new De(e) + }, + Script: De, + runInThisContext: function(e, t) { + return new De(e).runInThisContext(t) + }, + runInNewContext: function(e, t, n) { + return new De(e).runInNewContext(t, n) + } + }, + xe = [].indexOf; +const { + hasOwnProperty: we +} = Object.prototype; + +function Be(e, t) { + return (e = e.slice()).push(t), e +} + +function Fe(e, t) { + return (t = t.slice()).unshift(e), t +} +class Ue extends Error { + constructor(e) { + super('JSONPath should not be called with "new" (it prevents return of (unwrapped) scalar values)'), this.avoidNew = !0, this.value = e, this.name = "NewError" + } +} + +function He(e, t, n, r, i) { + if (!(this instanceof He)) try { + return new He(e, t, n, r, i) + } catch (e) { + if (!e.avoidNew) throw e; + return e.value + } + "string" == typeof e && (i = r, r = n, n = t, t = e, e = null); + const s = e && "object" == typeof e; + if (e = e || {}, this.json = e.json || n, this.path = e.path || t, this.resultType = e.resultType || "value", this.flatten = e.flatten || !1, this.wrap = !we.call(e, "wrap") || e.wrap, this.sandbox = e.sandbox || {}, this.preventEval = e.preventEval || !1, this.parent = e.parent || null, this.parentProperty = e.parentProperty || null, this.callback = e.callback || r || null, this.otherTypeCallback = e.otherTypeCallback || i || function() { + throw new TypeError("You must supply an otherTypeCallback callback option with the @other() operator.") + }, !1 !== e.autostart) { + const r = { + path: s ? e.path : t + }; + s ? "json" in e && (r.json = e.json) : r.json = n; + const i = this.evaluate(r); + if (!i || "object" != typeof i) throw new Ue(i); + return i + } +} +He.prototype.evaluate = function(e, t, n, r) { + let i = this.parent, + s = this.parentProperty, + { + flatten: a, + wrap: o + } = this; + if (this.currResultType = this.resultType, this.currPreventEval = this.preventEval, this.currSandbox = this.sandbox, n = n || this.callback, this.currOtherTypeCallback = r || this.otherTypeCallback, t = t || this.json, (e = e || this.path) && "object" == typeof 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 (!we.call(e, "json")) throw new TypeError('You must supply a "json" property when providing an object argument to JSONPath.evaluate().'); + ({ + json: t + } = e), a = we.call(e, "flatten") ? e.flatten : a, this.currResultType = we.call(e, "resultType") ? e.resultType : this.currResultType, this.currSandbox = we.call(e, "sandbox") ? e.sandbox : this.currSandbox, o = we.call(e, "wrap") ? e.wrap : o, this.currPreventEval = we.call(e, "preventEval") ? e.preventEval : this.currPreventEval, n = we.call(e, "callback") ? e.callback : n, this.currOtherTypeCallback = we.call(e, "otherTypeCallback") ? e.otherTypeCallback : this.currOtherTypeCallback, i = we.call(e, "parent") ? e.parent : i, s = we.call(e, "parentProperty") ? e.parentProperty : s, e = e.path + } + if (i = i || null, s = s || null, Array.isArray(e) && (e = He.toPathString(e)), !e && "" !== e || !t) return; + const c = He.toPathArray(e); + "$" === c[0] && c.length > 1 && c.shift(), this._hasParentSelector = null; + const l = this._trace(c, t, ["$"], i, s, n).filter((function(e) { + return e && !e.isParentSelector + })); + return l.length ? o || 1 !== l.length || l[0].hasArrExpr ? l.reduce(((e, t) => { + const n = this._getPreferredOutput(t); + return a && Array.isArray(n) ? e = e.concat(n) : e.push(n), e + }), []) : this._getPreferredOutput(l[0]) : o ? [] : void 0 +}, He.prototype._getPreferredOutput = function(e) { + const t = this.currResultType; + switch (t) { + case "all": { + const t = Array.isArray(e.path) ? e.path : He.toPathArray(e.path); + return e.pointer = He.toPointer(t), e.path = "string" == typeof e.path ? e.path : He.toPathString(e.path), e + } + case "value": + case "parent": + case "parentProperty": + return e[t]; + case "path": + return He.toPathString(e[t]); + case "pointer": + return He.toPointer(e.path); + default: + throw new TypeError("Unknown result type") + } +}, He.prototype._handleCallback = function(e, t, n) { + if (t) { + const r = this._getPreferredOutput(e); + e.path = "string" == typeof e.path ? e.path : He.toPathString(e.path), t(r, n, e) + } +}, He.prototype._trace = function(e, t, n, r, i, s, a, o) { + let c; + if (!e.length) return c = { + path: n, + value: t, + parent: r, + parentProperty: i, + hasArrExpr: a + }, this._handleCallback(c, s, "value"), c; + const l = e[0], + h = e.slice(1), + u = []; + + function p(e) { + Array.isArray(e) ? e.forEach((e => { + u.push(e) + })) : u.push(e) + } + if (("string" != typeof l || o) && t && we.call(t, l)) p(this._trace(h, t[l], Be(n, l), t, l, s, a)); + else if ("*" === l) this._walk(t, (e => { + p(this._trace(h, t[e], Be(n, e), t, e, s, !0, !0)) + })); + else if (".." === l) p(this._trace(h, t, n, r, i, s, a)), this._walk(t, (r => { + "object" == typeof t[r] && p(this._trace(e.slice(), t[r], Be(n, r), t, r, s, !0)) + })); + else { + if ("^" === l) return this._hasParentSelector = !0, { + path: n.slice(0, -1), + expr: h, + isParentSelector: !0 + }; + if ("~" === l) return c = { + path: Be(n, l), + value: i, + parent: r, + parentProperty: null + }, this._handleCallback(c, s, "property"), c; + if ("$" === l) p(this._trace(h, t, n, null, null, s, a)); + else if (/^(-?\d*):(-?\d*):?(\d*)$/u.test(l)) p(this._slice(l, h, t, n, r, i, s)); + else if (0 === l.indexOf("?(")) { + if (this.currPreventEval) throw new Error("Eval [?(expr)] prevented in JSONPath expression."); + const e = l.replace(/^\?\((.*?)\)$/u, "$1"); + this._walk(t, (a => { + this._eval(e, t[a], a, n, r, i) && p(this._trace(h, t[a], Be(n, a), t, a, s, !0)) + })) + } else if ("(" === l[0]) { + if (this.currPreventEval) throw new Error("Eval [(expr)] prevented in JSONPath expression."); + p(this._trace(Fe(this._eval(l, t, n[n.length - 1], n.slice(0, -1), r, i), h), t, n, r, i, s, a)) + } else if ("@" === l[0]) { + let e = !1; + const a = l.slice(1, -2); + switch (a) { + case "scalar": + t && ["object", "function"].includes(typeof t) || (e = !0); + break; + case "boolean": + case "string": + case "undefined": + case "function": + typeof t === a && (e = !0); + break; + case "integer": + !Number.isFinite(t) || t % 1 || (e = !0); + break; + case "number": + Number.isFinite(t) && (e = !0); + break; + case "nonFinite": + "number" != typeof t || Number.isFinite(t) || (e = !0); + break; + case "object": + t && typeof t === a && (e = !0); + break; + case "array": + Array.isArray(t) && (e = !0); + break; + case "other": + e = this.currOtherTypeCallback(t, n, r, i); + break; + case "null": + null === t && (e = !0); + break; + default: + throw new TypeError("Unknown value type " + a) + } + if (e) return c = { + path: n, + value: t, + parent: r, + parentProperty: i + }, this._handleCallback(c, s, "value"), c + } else if ("`" === l[0] && t && we.call(t, l.slice(1))) { + const e = l.slice(1); + p(this._trace(h, t[e], Be(n, e), t, e, s, a, !0)) + } else if (l.includes(",")) { + const e = l.split(","); + for (const a of e) p(this._trace(Fe(a, h), t, n, r, i, s, !0)) + } else !o && t && we.call(t, l) && p(this._trace(h, t[l], Be(n, l), t, l, s, a, !0)) + } + if (this._hasParentSelector) + for (let e = 0; e < u.length; e++) { + const n = u[e]; + if (n && n.isParentSelector) { + const o = this._trace(n.expr, t, n.path, r, i, s, a); + if (Array.isArray(o)) { + u[e] = o[0]; + const t = o.length; + for (let n = 1; n < t; n++) e++, u.splice(e, 0, o[n]) + } else u[e] = o + } + } + return u +}, He.prototype._walk = function(e, t) { + if (Array.isArray(e)) { + const n = e.length; + for (let e = 0; e < n; e++) t(e) + } else e && "object" == typeof e && Object.keys(e).forEach((e => { + t(e) + })) +}, He.prototype._slice = function(e, t, n, r, i, s, a) { + if (!Array.isArray(n)) return; + const o = n.length, + c = e.split(":"), + l = c[2] && Number.parseInt(c[2]) || 1; + let h = c[0] && Number.parseInt(c[0]) || 0, + u = c[1] && Number.parseInt(c[1]) || o; + h = h < 0 ? Math.max(0, h + o) : Math.min(o, h), u = u < 0 ? Math.max(0, u + o) : Math.min(o, u); + const p = []; + for (let e = h; e < u; e += l) { + this._trace(Fe(e, t), n, r, i, s, a, !0).forEach((e => { + p.push(e) + })) + } + return p +}, He.prototype._eval = function(e, t, n, r, i, s) { + this.currSandbox._$_parentProperty = s, this.currSandbox._$_parent = i, this.currSandbox._$_property = n, this.currSandbox._$_root = this.json, this.currSandbox._$_v = t; + const a = e.includes("@path"); + a && (this.currSandbox._$_path = He.toPathString(r.concat([n]))); + const o = "script:" + e; + if (!He.cache[o]) { + let t = e.replace(/@parentProperty/gu, "_$_parentProperty").replace(/@parent/gu, "_$_parent").replace(/@property/gu, "_$_property").replace(/@root/gu, "_$_root").replace(/@([.\s)[])/gu, "_$_v$1"); + a && (t = t.replace(/@path/gu, "_$_path")), He.cache[o] = new this.vm.Script(t) + } + try { + return He.cache[o].runInNewContext(this.currSandbox) + } catch (t) { + throw new Error("jsonPath: " + t.message + ": " + e) + } +}, He.cache = {}, He.toPathString = function(e) { + const t = e, + n = t.length; + let r = "$"; + for (let e = 1; e < n; e++) /^(~|\^|@.*?\(\))$/u.test(t[e]) || (r += /^[0-9*]+$/u.test(t[e]) ? "[" + t[e] + "]" : "['" + t[e] + "']"); + return r +}, He.toPointer = function(e) { + const t = e, + n = t.length; + let r = ""; + for (let e = 1; e < n; e++) /^(~|\^|@.*?\(\))$/u.test(t[e]) || (r += "/" + t[e].toString().replace(/~/gu, "~0").replace(/\//gu, "~1")); + return r +}, He.toPathArray = function(e) { + const { + cache: t + } = He; + if (t[e]) return t[e].concat(); + const n = [], + r = e.replace(/@(?:null|boolean|number|string|integer|undefined|nonFinite|scalar|array|object|function|other)\(\)/gu, ";$&;").replace(/[['](\??\(.*?\))[\]']/gu, (function(e, t) { + return "[#" + (n.push(t) - 1) + "]" + })).replace(/\[['"]([^'\]]*)['"]\]/gu, (function(e, t) { + return "['" + t.replace(/\./gu, "%@%").replace(/~/gu, "%%@@%%") + "']" + })).replace(/~/gu, ";~;").replace(/['"]?\.['"]?(?![^[]*\])|\[['"]?/gu, ";").replace(/%@%/gu, ".").replace(/%%@@%%/gu, "~").replace(/(?:;)?(\^+)(?:;)?/gu, (function(e, t) { + return ";" + t.split("").join(";") + ";" + })).replace(/;;;|;;/gu, ";..;").replace(/;$|'?\]|'$/gu, ""), + i = r.split(";").map((function(e) { + const t = e.match(/#(\d+)/u); + return t && t[1] ? n[t[1]] : e + })); + return t[e] = i, t[e].concat() +}, He.prototype.vm = Pe; +var Ge = "undefined" != typeof globalThis ? globalThis : "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : {}; + +function Ye() { + throw new Error("Dynamic requires are not currently supported by rollup-plugin-commonjs") +} + +function qe(e) { + return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e +} + +function Ke(e, t) { + return e(t = { + exports: {} + }, t.exports), t.exports +} +var je = Ke((function(e) { + var t = Array.prototype, + n = Object.prototype, + r = { + "&": "&", + '"': """, + "'": "'", + "<": "<", + ">": ">" + }, + i = /[&"'<>]/g, + s = e.exports = {}; + + function a(e, t) { + return n.hasOwnProperty.call(e, t) + } + + function o(e) { + return r[e] + } + + function c(e, t, n) { + var r, i, s; + if (e instanceof Error && (e = (i = e).name + ": " + i.message), Object.setPrototypeOf ? (r = new Error(e), Object.setPrototypeOf(r, c.prototype)) : (r = this, Object.defineProperty(r, "message", { + enumerable: !1, + writable: !0, + value: e + })), Object.defineProperty(r, "name", { + value: "Template render error" + }), Error.captureStackTrace && Error.captureStackTrace(r, this.constructor), i) { + var a = Object.getOwnPropertyDescriptor(i, "stack"); + (s = a && (a.get || function() { + return a.value + })) || (s = function() { + return i.stack + }) + } else { + var o = new Error(e).stack; + s = function() { + return o + } + } + return Object.defineProperty(r, "stack", { + get: function() { + return s.call(r) + } + }), Object.defineProperty(r, "cause", { + value: i + }), r.lineno = t, r.colno = n, r.firstUpdate = !0, r.Update = function(e) { + var t = "(" + (e || "unknown path") + ")"; + return this.firstUpdate && (this.lineno && this.colno ? t += " [Line " + this.lineno + ", Column " + this.colno + "]" : this.lineno && (t += " [Line " + this.lineno + "]")), t += "\n ", this.firstUpdate && (t += " "), this.message = t + (this.message || ""), this.firstUpdate = !1, this + }, r + } + + function l(e) { + return "[object Function]" === n.toString.call(e) + } + + function h(e) { + return "[object Array]" === n.toString.call(e) + } + + function u(e) { + return "[object String]" === n.toString.call(e) + } + + function p(e) { + return "[object Object]" === n.toString.call(e) + } + + function f(e) { + var t = function(e) { + return e ? "string" == typeof e ? e.split(".") : [e] : [] + }(e); + return function(e) { + for (var n = e, r = 0; r < t.length; r++) { + var i = t[r]; + if (!a(n, i)) return; + n = n[i] + } + return n + } + } + + function d(e) { + return Array.prototype.slice.call(e) + } + + function E(e, t, n) { + return Array.prototype.indexOf.call(e || [], t, n) + } + + function m(e) { + var t = []; + for (var n in e) a(e, n) && t.push(n); + return t + } + s.hasOwnProp = a, s._prettifyError = function(e, t, n) { + if (n.Update || (n = new s.TemplateError(n)), n.Update(e), !t) { + var r = n; + (n = new Error(r.message)).name = r.name + } + return n + }, Object.setPrototypeOf ? Object.setPrototypeOf(c.prototype, Error.prototype) : c.prototype = Object.create(Error.prototype, { + constructor: { + value: c + } + }), s.TemplateError = c, s.escape = function(e) { + return e.replace(i, o) + }, s.isFunction = l, s.isArray = h, s.isString = u, s.isObject = p, s.getAttrGetter = f, s.groupBy = function(e, t, n) { + for (var r = {}, i = l(t) ? t : f(t), s = 0; s < e.length; s++) { + var a = e[s], + o = i(a, s); + if (void 0 === o && !0 === n) throw new TypeError('groupby: attribute "' + t + '" resolved to undefined'); + (r[o] || (r[o] = [])).push(a) + } + return r + }, s.toArray = d, s.without = function(e) { + var t = []; + if (!e) return t; + for (var n = e.length, r = d(arguments).slice(1), i = -1; ++i < n;) - 1 === E(r, e[i]) && t.push(e[i]); + return t + }, s.repeat = function(e, t) { + for (var n = "", r = 0; r < t; r++) n += e; + return n + }, s.each = function(e, n, r) { + if (null != e) + if (t.forEach && e.forEach === t.forEach) e.forEach(n, r); + else if (e.length === +e.length) + for (var i = 0, s = e.length; i < s; i++) n.call(r, e[i], i, e) + }, s.map = function(e, n) { + var r = []; + if (null == e) return r; + if (t.map && e.map === t.map) return e.map(n); + for (var i = 0; i < e.length; i++) r[r.length] = n(e[i], i); + return e.length === +e.length && (r.length = e.length), r + }, s.asyncIter = function(e, t, n) { + var r = -1; + ! function i() { + ++r < e.length ? t(e[r], r, i, n) : n() + }() + }, s.asyncFor = function(e, t, n) { + var r = m(e || {}), + i = r.length, + s = -1; + ! function a() { + s++; + var o = r[s]; + s < i ? t(o, e[o], s, i, a) : n() + }() + }, s.indexOf = E, s.keys = m, s._entries = function(e) { + return m(e).map((function(t) { + return [t, e[t]] + })) + }, s._values = function(e) { + return m(e).map((function(t) { + return e[t] + })) + }, s._assign = s.extend = function(e, t) { + return e = e || {}, m(t).forEach((function(n) { + e[n] = t[n] + })), e + }, s.inOperator = function(e, t) { + if (h(t) || u(t)) return -1 !== t.indexOf(e); + if (p(t)) return e in t; + throw new Error('Cannot use "in" operator to search for "' + e + '" in unexpected types.') + } +})); + +function Ve() { + throw new Error("setTimeout has not been defined") +} + +function We() { + throw new Error("clearTimeout has not been defined") +} +var Qe = Ve, + Xe = We; + +function $e(e) { + if (Qe === setTimeout) return setTimeout(e, 0); + if ((Qe === Ve || !Qe) && setTimeout) return Qe = setTimeout, setTimeout(e, 0); + try { + return Qe(e, 0) + } catch (t) { + try { + return Qe.call(null, e, 0) + } catch (t) { + return Qe.call(this, e, 0) + } + } +} +"function" == typeof be.setTimeout && (Qe = setTimeout), "function" == typeof be.clearTimeout && (Xe = clearTimeout); +var ze, Je = [], + Ze = !1, + et = -1; + +function tt() { + Ze && ze && (Ze = !1, ze.length ? Je = ze.concat(Je) : et = -1, Je.length && nt()) +} + +function nt() { + if (!Ze) { + var e = $e(tt); + Ze = !0; + for (var t = Je.length; t;) { + for (ze = Je, Je = []; ++et < t;) ze && ze[et].run(); + et = -1, t = Je.length + } + ze = null, Ze = !1, + function(e) { + if (Xe === clearTimeout) return clearTimeout(e); + if ((Xe === We || !Xe) && clearTimeout) return Xe = clearTimeout, clearTimeout(e); + try { + Xe(e) + } catch (t) { + try { + return Xe.call(null, e) + } catch (t) { + return Xe.call(this, e) + } + } + }(e) + } +} + +function rt(e, t) { + this.fun = e, this.array = t +} +rt.prototype.run = function() { + this.fun.apply(null, this.array) +}; + +function it() {} +var st = it, + at = it, + ot = it, + ct = it, + lt = it, + ht = it, + ut = it; +var pt = be.performance || {}, + ft = pt.now || pt.mozNow || pt.msNow || pt.oNow || pt.webkitNow || function() { + return (new Date).getTime() + }; +var dt = new Date; +var Et = { + nextTick: function(e) { + var t = new Array(arguments.length - 1); + if (arguments.length > 1) + for (var n = 1; n < arguments.length; n++) t[n - 1] = arguments[n]; + Je.push(new rt(e, t)), 1 !== Je.length || Ze || $e(nt) + }, + title: "browser", + browser: !0, + env: {}, + argv: [], + version: "", + versions: {}, + on: st, + addListener: at, + once: ot, + off: ct, + removeListener: lt, + removeAllListeners: ht, + emit: ut, + binding: function(e) { + throw new Error("process.binding is not supported") + }, + cwd: function() { + return "/" + }, + chdir: function(e) { + throw new Error("process.chdir is not supported") + }, + umask: function() { + return 0 + }, + hrtime: function(e) { + var t = .001 * ft.call(pt), + n = Math.floor(t), + r = Math.floor(t % 1 * 1e9); + return e && (n -= e[0], (r -= e[1]) < 0 && (n--, r += 1e9)), [n, r] + }, + platform: "browser", + release: {}, + config: {}, + uptime: function() { + return (new Date - dt) / 1e3 + } +}; + +function mt() {} + +function Tt() { + Tt.init.call(this) +} + +function _t(e) { + return void 0 === e._maxListeners ? Tt.defaultMaxListeners : e._maxListeners +} + +function At(e, t, n) { + if (t) e.call(n); + else + for (var r = e.length, i = yt(e, r), s = 0; s < r; ++s) i[s].call(n) +} + +function gt(e, t, n, r) { + if (t) e.call(n, r); + else + for (var i = e.length, s = yt(e, i), a = 0; a < i; ++a) s[a].call(n, r) +} + +function Nt(e, t, n, r, i) { + if (t) e.call(n, r, i); + else + for (var s = e.length, a = yt(e, s), o = 0; o < s; ++o) a[o].call(n, r, i) +} + +function Ct(e, t, n, r, i, s) { + if (t) e.call(n, r, i, s); + else + for (var a = e.length, o = yt(e, a), c = 0; c < a; ++c) o[c].call(n, r, i, s) +} + +function It(e, t, n, r) { + if (t) e.apply(n, r); + else + for (var i = e.length, s = yt(e, i), a = 0; a < i; ++a) s[a].apply(n, r) +} + +function St(e, t, n, r) { + var i, s, a; + if ("function" != typeof n) throw new TypeError('"listener" argument must be a function'); + if ((s = e._events) ? (s.newListener && (e.emit("newListener", t, n.listener ? n.listener : n), s = e._events), a = s[t]) : (s = e._events = new mt, e._eventsCount = 0), a) { + if ("function" == typeof a ? a = s[t] = r ? [n, a] : [a, n] : r ? a.unshift(n) : a.push(n), !a.warned && (i = _t(e)) && i > 0 && a.length > i) { + a.warned = !0; + var o = new Error("Possible EventEmitter memory leak detected. " + a.length + " " + t + " listeners added. Use emitter.setMaxListeners() to increase limit"); + o.name = "MaxListenersExceededWarning", o.emitter = e, o.type = t, o.count = a.length, + function(e) { + "function" == typeof console.warn ? console.warn(e) : console.log(e) + }(o) + } + } else a = s[t] = n, ++e._eventsCount; + return e +} + +function bt(e, t, n) { + var r = !1; + + function i() { + e.removeListener(t, i), r || (r = !0, n.apply(e, arguments)) + } + return i.listener = n, i +} + +function Ot(e) { + var t = this._events; + if (t) { + var n = t[e]; + if ("function" == typeof n) return 1; + if (n) return n.length + } + return 0 +} + +function yt(e, t) { + for (var n = new Array(t); t--;) n[t] = e[t]; + return n +} + +function Lt() { + var e; + Tt.call(this), this.__emitError = (e = this, function(t) { + e.emit("error", t) + }) +} + +function kt() { + return new Lt +} +mt.prototype = Object.create(null), Tt.EventEmitter = Tt, Tt.usingDomains = !1, Tt.prototype.domain = void 0, Tt.prototype._events = void 0, Tt.prototype._maxListeners = void 0, Tt.defaultMaxListeners = 10, Tt.init = function() { + this.domain = null, Tt.usingDomains && undefined.active, this._events && this._events !== Object.getPrototypeOf(this)._events || (this._events = new mt, this._eventsCount = 0), this._maxListeners = this._maxListeners || void 0 +}, Tt.prototype.setMaxListeners = function(e) { + if ("number" != typeof e || e < 0 || isNaN(e)) throw new TypeError('"n" argument must be a positive number'); + return this._maxListeners = e, this +}, Tt.prototype.getMaxListeners = function() { + return _t(this) +}, Tt.prototype.emit = function(e) { + var t, n, r, i, s, a, o, c = "error" === e; + if (a = this._events) c = c && null == a.error; + else if (!c) return !1; + if (o = this.domain, c) { + if (t = arguments[1], !o) { + if (t instanceof Error) throw t; + var l = new Error('Uncaught, unspecified "error" event. (' + t + ")"); + throw l.context = t, l + } + return t || (t = new Error('Uncaught, unspecified "error" event')), t.domainEmitter = this, t.domain = o, t.domainThrown = !1, o.emit("error", t), !1 + } + if (!(n = a[e])) return !1; + var h = "function" == typeof n; + switch (r = arguments.length) { + case 1: + At(n, h, this); + break; + case 2: + gt(n, h, this, arguments[1]); + break; + case 3: + Nt(n, h, this, arguments[1], arguments[2]); + break; + case 4: + Ct(n, h, this, arguments[1], arguments[2], arguments[3]); + break; + default: + for (i = new Array(r - 1), s = 1; s < r; s++) i[s - 1] = arguments[s]; + It(n, h, this, i) + } + return !0 +}, Tt.prototype.addListener = function(e, t) { + return St(this, e, t, !1) +}, Tt.prototype.on = Tt.prototype.addListener, Tt.prototype.prependListener = function(e, t) { + return St(this, e, t, !0) +}, Tt.prototype.once = function(e, t) { + if ("function" != typeof t) throw new TypeError('"listener" argument must be a function'); + return this.on(e, bt(this, e, t)), this +}, Tt.prototype.prependOnceListener = function(e, t) { + if ("function" != typeof t) throw new TypeError('"listener" argument must be a function'); + return this.prependListener(e, bt(this, e, t)), this +}, Tt.prototype.removeListener = function(e, t) { + var n, r, i, s, a; + if ("function" != typeof t) throw new TypeError('"listener" argument must be a function'); + if (!(r = this._events)) return this; + if (!(n = r[e])) return this; + if (n === t || n.listener && n.listener === t) 0 == --this._eventsCount ? this._events = new mt : (delete r[e], r.removeListener && this.emit("removeListener", e, n.listener || t)); + else if ("function" != typeof n) { + for (i = -1, s = n.length; s-- > 0;) + if (n[s] === t || n[s].listener && n[s].listener === t) { + a = n[s].listener, i = s; + break + } if (i < 0) return this; + if (1 === n.length) { + if (n[0] = void 0, 0 == --this._eventsCount) return this._events = new mt, this; + delete r[e] + } else ! function(e, t) { + for (var n = t, r = n + 1, i = e.length; r < i; n += 1, r += 1) e[n] = e[r]; + e.pop() + }(n, i); + r.removeListener && this.emit("removeListener", e, a || t) + } + return this +}, Tt.prototype.removeAllListeners = function(e) { + var t, n; + if (!(n = this._events)) return this; + if (!n.removeListener) return 0 === arguments.length ? (this._events = new mt, this._eventsCount = 0) : n[e] && (0 == --this._eventsCount ? this._events = new mt : delete n[e]), this; + if (0 === arguments.length) { + for (var r, i = Object.keys(n), s = 0; s < i.length; ++s) "removeListener" !== (r = i[s]) && this.removeAllListeners(r); + return this.removeAllListeners("removeListener"), this._events = new mt, this._eventsCount = 0, this + } + if ("function" == typeof(t = n[e])) this.removeListener(e, t); + else if (t) + do { + this.removeListener(e, t[t.length - 1]) + } while (t[0]); + return this +}, Tt.prototype.listeners = function(e) { + var t, n = this._events; + return n && (t = n[e]) ? "function" == typeof t ? [t.listener || t] : function(e) { + for (var t = new Array(e.length), n = 0; n < t.length; ++n) t[n] = e[n].listener || e[n]; + return t + }(t) : [] +}, Tt.listenerCount = function(e, t) { + return "function" == typeof e.listenerCount ? e.listenerCount(t) : Ot.call(e, t) +}, Tt.prototype.listenerCount = Ot, Tt.prototype.eventNames = function() { + return this._eventsCount > 0 ? Reflect.ownKeys(this._events) : [] +}, ("function" == typeof Object.create ? function(e, t) { + e.super_ = t, e.prototype = Object.create(t.prototype, { + constructor: { + value: e, + enumerable: !1, + writable: !0, + configurable: !0 + } + }) +} : function(e, t) { + e.super_ = t; + var n = function() {}; + n.prototype = t.prototype, e.prototype = new n, e.prototype.constructor = e +})(Lt, Tt), Lt.prototype.add = function(e) { + e.on("error", this.__emitError) +}, Lt.prototype.remove = function(e) { + e.removeListener("error", this.__emitError) +}, Lt.prototype.bind = function(e) { + var t = this.__emitError; + return function() { + var n = Array.prototype.slice.call(arguments); + try { + e.apply(null, n) + } catch (e) { + t(e) + } + } +}, Lt.prototype.intercept = function(e) { + var t = this.__emitError; + return function(n) { + if (n) t(n); + else { + var r = Array.prototype.slice.call(arguments, 1); + try { + e.apply(null, r) + } catch (n) { + t(n) + } + } + } +}, Lt.prototype.run = function(e) { + var t = this.__emitError; + try { + e() + } catch (e) { + t(e) + } + return this +}, Lt.prototype.dispose = function() { + return this.removeAllListeners(), this +}, Lt.prototype.enter = Lt.prototype.exit = function() { + return this +}; +var vt, Dt = { + Domain: Lt, + createDomain: kt, + create: kt + }, + Rt = "function" == typeof setImmediate, + Mt = Pt; + +function Pt(e) { + xt.length || (Ut(), wt = !0), xt[xt.length] = e +} +var xt = [], + wt = !1, + Bt = 0; + +function Ft() { + for (; Bt < xt.length;) { + var e = Bt; + if (Bt += 1, xt[e].call(), Bt > 1024) { + for (var t = 0, n = xt.length - Bt; t < n; t++) xt[t] = xt[t + Bt]; + xt.length -= Bt, Bt = 0 + } + } + xt.length = 0, Bt = 0, wt = !1 +} + +function Ut() { + var e = Et.domain; + e && (vt || (vt = Dt), vt.active = Et.domain = null), wt && Rt ? setImmediate(Ft) : Et.nextTick(Ft), e && (vt.active = Et.domain = e) +} +Pt.requestFlush = Ut; +var Ht = [], + Gt = function(e) { + var t; + t = Ht.length ? Ht.pop() : new Yt; + t.task = e, t.domain = Et.domain, Mt(t) + }; + +function Yt() { + this.task = null, this.domain = null +} +Yt.prototype.call = function() { + this.domain && this.domain.enter(); + var e = !0; + try { + this.task.call(), e = !1, this.domain && this.domain.exit() + } finally { + e && Mt.requestFlush(), this.task = null, this.domain = null, Ht.push(this) + } +}; +var qt = Ke((function(e) { + ! function(t) { + var n = function() { + var e = Array.prototype.slice.call(arguments); + "function" == typeof e[0] && e[0].apply(null, e.splice(1)) + }, + r = function(e) { + "function" == typeof setImmediate ? setImmediate(e) : void 0 !== Et && Et.nextTick ? Et.nextTick(e) : setTimeout(e, 0) + }, + i = Array.isArray || function(e) { + return "[object Array]" === Object.prototype.toString.call(e) + }, + s = function(e, t, s) { + var a = s ? r : n; + if (t = t || function() {}, !i(e)) { + var o = new Error("First argument to waterfall must be an array of functions"); + return t(o) + } + if (!e.length) return t(); + var c = function(e) { + return function(n) { + if (n) t.apply(null, arguments), t = function() {}; + else { + var r = Array.prototype.slice.call(arguments, 1), + i = e.next(); + i ? r.push(c(i)) : r.push(t), a((function() { + e.apply(null, r) + })) + } + } + }; + c(function(e) { + var t = function(n) { + var r = function() { + return e.length && e[n].apply(null, arguments), r.next() + }; + return r.next = function() { + return n < e.length - 1 ? t(n + 1) : null + }, r + }; + return t(0) + }(e))() + }; + e.exports ? e.exports = s : t.waterfall = s + }(Ge) +})); + +function Kt(e, t, n, r) { + return { + type: e, + value: t, + lineno: n, + colno: r + } +} +var jt = function() { + function e(e, t) { + this.str = e, this.index = 0, this.len = e.length, this.lineno = 0, this.colno = 0, this.in_code = !1; + var n = (t = t || {}).tags || {}; + this.tags = { + BLOCK_START: n.blockStart || "{%", + BLOCK_END: n.blockEnd || "%}", + VARIABLE_START: n.variableStart || "{{", + VARIABLE_END: n.variableEnd || "}}", + COMMENT_START: n.commentStart || "{#", + COMMENT_END: n.commentEnd || "#}" + }, this.trimBlocks = !!t.trimBlocks, this.lstripBlocks = !!t.lstripBlocks + } + var t = e.prototype; + return t.nextToken = function() { + var e, t = this.lineno, + n = this.colno; + if (this.in_code) { + var r = this.current(); + if (this.isFinished()) return null; + if ('"' === r || "'" === r) return Kt("string", this._parseString(r), t, n); + if (e = this._extract(" \n\t\r ")) return Kt("whitespace", e, t, n); + if ((e = this._extractString(this.tags.BLOCK_END)) || (e = this._extractString("-" + this.tags.BLOCK_END))) return this.in_code = !1, this.trimBlocks && ("\n" === (r = this.current()) ? this.forward() : "\r" === r && (this.forward(), "\n" === (r = this.current()) ? this.forward() : this.back())), Kt("block-end", e, t, n); + if ((e = this._extractString(this.tags.VARIABLE_END)) || (e = this._extractString("-" + this.tags.VARIABLE_END))) return this.in_code = !1, Kt("variable-end", e, t, n); + if ("r" === r && "/" === this.str.charAt(this.index + 1)) { + this.forwardN(2); + for (var i = ""; !this.isFinished();) { + if ("/" === this.current() && "\\" !== this.previous()) { + this.forward(); + break + } + i += this.current(), this.forward() + } + for (var s = ["g", "i", "m", "y"], a = ""; !this.isFinished();) { + if (!(-1 !== s.indexOf(this.current()))) break; + a += this.current(), this.forward() + } + return Kt("regex", { + body: i, + flags: a + }, t, n) + } + if (-1 !== "()[]{}%*-+~/#,:|.<>=!".indexOf(r)) { + this.forward(); + var o, c = ["==", "===", "!=", "!==", "<=", ">=", "//", "**"], + l = r + this.current(); + switch (-1 !== je.indexOf(c, l) && (this.forward(), r = l, -1 !== je.indexOf(c, l + this.current()) && (r = l + this.current(), this.forward())), r) { + case "(": + o = "left-paren"; + break; + case ")": + o = "right-paren"; + break; + case "[": + o = "left-bracket"; + break; + case "]": + o = "right-bracket"; + break; + case "{": + o = "left-curly"; + break; + case "}": + o = "right-curly"; + break; + case ",": + o = "comma"; + break; + case ":": + o = "colon"; + break; + case "~": + o = "tilde"; + break; + case "|": + o = "pipe"; + break; + default: + o = "operator" + } + return Kt(o, r, t, n) + } + if ((e = this._extractUntil(" \n\t\r ()[]{}%*-+~/#,:|.<>=!")).match(/^[-+]?[0-9]+$/)) return "." === this.current() ? (this.forward(), Kt("float", e + "." + this._extract("0123456789"), t, n)) : Kt("int", e, t, n); + if (e.match(/^(true|false)$/)) return Kt("boolean", e, t, n); + if ("none" === e) return Kt("none", e, t, n); + if ("null" === e) return Kt("none", e, t, n); + if (e) return Kt("symbol", e, t, n); + throw new Error("Unexpected value while parsing: " + e) + } + var h, u = this.tags.BLOCK_START.charAt(0) + this.tags.VARIABLE_START.charAt(0) + this.tags.COMMENT_START.charAt(0) + this.tags.COMMENT_END.charAt(0); + if (this.isFinished()) return null; + if ((e = this._extractString(this.tags.BLOCK_START + "-")) || (e = this._extractString(this.tags.BLOCK_START))) return this.in_code = !0, Kt("block-start", e, t, n); + if ((e = this._extractString(this.tags.VARIABLE_START + "-")) || (e = this._extractString(this.tags.VARIABLE_START))) return this.in_code = !0, Kt("variable-start", e, t, n); + e = ""; + var p = !1; + for (this._matches(this.tags.COMMENT_START) && (p = !0, e = this._extractString(this.tags.COMMENT_START)); null !== (h = this._extractUntil(u));) { + if (e += h, (this._matches(this.tags.BLOCK_START) || this._matches(this.tags.VARIABLE_START) || this._matches(this.tags.COMMENT_START)) && !p) { + if (this.lstripBlocks && this._matches(this.tags.BLOCK_START) && this.colno > 0 && this.colno <= e.length) { + var f = e.slice(-this.colno); + if (/^\s+$/.test(f) && !(e = e.slice(0, -this.colno)).length) return this.nextToken() + } + break + } + if (this._matches(this.tags.COMMENT_END)) { + if (!p) throw new Error("unexpected end of comment"); + e += this._extractString(this.tags.COMMENT_END); + break + } + e += this.current(), this.forward() + } + if (null === h && p) throw new Error("expected end of comment, got end of file"); + return Kt(p ? "comment" : "data", e, t, n) + }, t._parseString = function(e) { + this.forward(); + for (var t = ""; !this.isFinished() && this.current() !== e;) { + var n = this.current(); + if ("\\" === n) { + switch (this.forward(), this.current()) { + case "n": + t += "\n"; + break; + case "t": + t += "\t"; + break; + case "r": + t += "\r"; + break; + default: + t += this.current() + } + this.forward() + } else t += n, this.forward() + } + return this.forward(), t + }, t._matches = function(e) { + return this.index + e.length > this.len ? null : this.str.slice(this.index, this.index + e.length) === e + }, t._extractString = function(e) { + return this._matches(e) ? (this.forwardN(e.length), e) : null + }, t._extractUntil = function(e) { + return this._extractMatching(!0, e || "") + }, t._extract = function(e) { + return this._extractMatching(!1, e) + }, t._extractMatching = function(e, t) { + if (this.isFinished()) return null; + var n = t.indexOf(this.current()); + if (e && -1 === n || !e && -1 !== n) { + var r = this.current(); + this.forward(); + for (var i = t.indexOf(this.current()); + (e && -1 === i || !e && -1 !== i) && !this.isFinished();) r += this.current(), this.forward(), i = t.indexOf(this.current()); + return r + } + return "" + }, t._extractRegex = function(e) { + var t = this.currentStr().match(e); + return t ? (this.forwardN(t[0].length), t) : null + }, t.isFinished = function() { + return this.index >= this.len + }, t.forwardN = function(e) { + for (var t = 0; t < e; t++) this.forward() + }, t.forward = function() { + this.index++, "\n" === this.previous() ? (this.lineno++, this.colno = 0) : this.colno++ + }, t.backN = function(e) { + for (var t = 0; t < e; t++) this.back() + }, t.back = function() { + if (this.index--, "\n" === this.current()) { + this.lineno--; + var e = this.src.lastIndexOf("\n", this.index - 1); + this.colno = -1 === e ? this.index : this.index - e + } else this.colno-- + }, t.current = function() { + return this.isFinished() ? "" : this.str.charAt(this.index) + }, t.currentStr = function() { + return this.isFinished() ? "" : this.str.substr(this.index) + }, t.previous = function() { + return this.str.charAt(this.index - 1) + }, e + }(), + Vt = { + lex: function(e, t) { + return new jt(e, t) + }, + TOKEN_STRING: "string", + TOKEN_WHITESPACE: "whitespace", + TOKEN_DATA: "data", + TOKEN_BLOCK_START: "block-start", + TOKEN_BLOCK_END: "block-end", + TOKEN_VARIABLE_START: "variable-start", + TOKEN_VARIABLE_END: "variable-end", + TOKEN_COMMENT: "comment", + TOKEN_LEFT_PAREN: "left-paren", + TOKEN_RIGHT_PAREN: "right-paren", + TOKEN_LEFT_BRACKET: "left-bracket", + TOKEN_RIGHT_BRACKET: "right-bracket", + TOKEN_LEFT_CURLY: "left-curly", + TOKEN_RIGHT_CURLY: "right-curly", + TOKEN_OPERATOR: "operator", + TOKEN_COMMA: "comma", + TOKEN_COLON: "colon", + TOKEN_TILDE: "tilde", + TOKEN_PIPE: "pipe", + TOKEN_INT: "int", + TOKEN_FLOAT: "float", + TOKEN_BOOLEAN: "boolean", + TOKEN_NONE: "none", + TOKEN_SYMBOL: "symbol", + TOKEN_SPECIAL: "special", + TOKEN_REGEX: "regex" + }; + +function Wt(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r) + } +} + +function Qt(e, t, n) { + return t && Wt(e.prototype, t), n && Wt(e, n), e +} + +function Xt(e, t) { + e.prototype = Object.create(t.prototype), e.prototype.constructor = e, $t(e, t) +} + +function $t(e, t) { + return $t = Object.setPrototypeOf || function(e, t) { + return e.__proto__ = t, e + }, $t(e, t) +} + +function zt(e, t, n) { + n = n || {}, je.keys(n).forEach((function(t) { + n[t] = function(e, t) { + return "function" != typeof e || "function" != typeof t ? t : function() { + var n = this.parent; + this.parent = e; + var r = t.apply(this, arguments); + return this.parent = n, r + } + }(e.prototype[t], n[t]) + })); + var r = function(e) { + function n() { + return e.apply(this, arguments) || this + } + return Xt(n, e), Qt(n, [{ + key: "typename", + get: function() { + return t + } + }]), n + }(e); + return je._assign(r.prototype, n), r +} +var Jt = function() { + function e() { + this.init.apply(this, arguments) + } + return e.prototype.init = function() {}, e.extend = function(e, t) { + return "object" == typeof e && (t = e, e = "anonymous"), zt(this, e, t) + }, Qt(e, [{ + key: "typename", + get: function() { + return this.constructor.name + } + }]), e + }(), + Zt = function(e) { + function t() { + var t, n; + return (t = n = e.call(this) || this).init.apply(t, arguments), n + } + return Xt(t, e), t.prototype.init = function() {}, t.extend = function(e, t) { + return "object" == typeof e && (t = e, e = "anonymous"), zt(this, e, t) + }, Qt(t, [{ + key: "typename", + get: function() { + return this.constructor.name + } + }]), t + }(Tt), + en = { + Obj: Jt, + EmitterObj: Zt + }; + +function tn(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r) + } +} + +function nn(e, t, n) { + return t && tn(e.prototype, t), n && tn(e, n), e +} + +function rn(e, t) { + e.prototype = Object.create(t.prototype), e.prototype.constructor = e, sn(e, t) +} + +function sn(e, t) { + return sn = Object.setPrototypeOf || function(e, t) { + return e.__proto__ = t, e + }, sn(e, t) +} + +function an(e, t, n) { + e instanceof t && n.push(e), e instanceof on && e.findAll(t, n) +} +var on = function(e) { + function t() { + return e.apply(this, arguments) || this + } + rn(t, e); + var n = t.prototype; + return n.init = function(e, t) { + for (var n = arguments, r = this, i = arguments.length, s = new Array(i > 2 ? i - 2 : 0), a = 2; a < i; a++) s[a - 2] = arguments[a]; + this.lineno = e, this.colno = t, this.fields.forEach((function(e, t) { + var i = n[t + 2]; + void 0 === i && (i = null), r[e] = i + })) + }, n.findAll = function(e, t) { + var n = this; + return t = t || [], this instanceof ln ? this.children.forEach((function(n) { + return an(n, e, t) + })) : this.fields.forEach((function(r) { + return an(n[r], e, t) + })), t + }, n.iterFields = function(e) { + var t = this; + this.fields.forEach((function(n) { + e(t[n], n) + })) + }, t + }(en.Obj), + cn = function(e) { + function t() { + return e.apply(this, arguments) || this + } + return rn(t, e), nn(t, [{ + key: "typename", + get: function() { + return "Value" + } + }, { + key: "fields", + get: function() { + return ["value"] + } + }]), t + }(on), + ln = function(e) { + function t() { + return e.apply(this, arguments) || this + } + rn(t, e); + var n = t.prototype; + return n.init = function(t, n, r) { + e.prototype.init.call(this, t, n, r || []) + }, n.addChild = function(e) { + this.children.push(e) + }, nn(t, [{ + key: "typename", + get: function() { + return "NodeList" + } + }, { + key: "fields", + get: function() { + return ["children"] + } + }]), t + }(on), + hn = ln.extend("Root"), + un = cn.extend("Literal"), + pn = cn.extend("Symbol"), + fn = ln.extend("Group"), + dn = ln.extend("Array"), + En = on.extend("Pair", { + fields: ["key", "value"] + }), + mn = ln.extend("Dict"), + Tn = on.extend("LookupVal", { + fields: ["target", "val"] + }), + _n = on.extend("If", { + fields: ["cond", "body", "else_"] + }), + An = _n.extend("IfAsync"), + gn = on.extend("InlineIf", { + fields: ["cond", "body", "else_"] + }), + Nn = on.extend("For", { + fields: ["arr", "name", "body", "else_"] + }), + Cn = Nn.extend("AsyncEach"), + In = Nn.extend("AsyncAll"), + Sn = on.extend("Macro", { + fields: ["name", "args", "body"] + }), + bn = Sn.extend("Caller"), + On = on.extend("Import", { + fields: ["template", "target", "withContext"] + }), + yn = function(e) { + function t() { + return e.apply(this, arguments) || this + } + return rn(t, e), t.prototype.init = function(t, n, r, i, s) { + e.prototype.init.call(this, t, n, r, i || new ln, s) + }, nn(t, [{ + key: "typename", + get: function() { + return "FromImport" + } + }, { + key: "fields", + get: function() { + return ["template", "names", "withContext"] + } + }]), t + }(on), + Ln = on.extend("FunCall", { + fields: ["name", "args"] + }), + kn = Ln.extend("Filter"), + vn = kn.extend("FilterAsync", { + fields: ["name", "args", "symbol"] + }), + Dn = mn.extend("KeywordArgs"), + Rn = on.extend("Block", { + fields: ["name", "body"] + }), + Mn = on.extend("Super", { + fields: ["blockName", "symbol"] + }), + Pn = on.extend("TemplateRef", { + fields: ["template"] + }).extend("Extends"), + xn = on.extend("Include", { + fields: ["template", "ignoreMissing"] + }), + wn = on.extend("Set", { + fields: ["targets", "value"] + }), + Bn = on.extend("Switch", { + fields: ["expr", "cases", "default"] + }), + Fn = on.extend("Case", { + fields: ["cond", "body"] + }), + Un = ln.extend("Output"), + Hn = on.extend("Capture", { + fields: ["body"] + }), + Gn = un.extend("TemplateData"), + Yn = on.extend("UnaryOp", { + fields: ["target"] + }), + qn = on.extend("BinOp", { + fields: ["left", "right"] + }), + Kn = qn.extend("In"), + jn = qn.extend("Is"), + Vn = qn.extend("Or"), + Wn = qn.extend("And"), + Qn = Yn.extend("Not"), + Xn = qn.extend("Add"), + $n = qn.extend("Concat"), + zn = qn.extend("Sub"), + Jn = qn.extend("Mul"), + Zn = qn.extend("Div"), + er = qn.extend("FloorDiv"), + tr = qn.extend("Mod"), + nr = qn.extend("Pow"), + rr = Yn.extend("Neg"), + ir = Yn.extend("Pos"), + sr = on.extend("Compare", { + fields: ["expr", "ops"] + }), + ar = on.extend("CompareOperand", { + fields: ["expr", "type"] + }), + or = on.extend("CallExtension", { + init: function(e, t, n, r) { + this.parent(), this.extName = e.__name || e, this.prop = t, this.args = n || new ln, this.contentArgs = r || [], this.autoescape = e.autoescape + }, + fields: ["extName", "prop", "args", "contentArgs"] + }), + cr = or.extend("CallExtensionAsync"); + +function lr(e, t, n) { + var r = e.split("\n"); + r.forEach((function(e, i) { + e && (n && i > 0 || !n) && Et.stdout.write(" ".repeat(t)); + var s = i === r.length - 1 ? "" : "\n"; + Et.stdout.write("" + e + s) + })) +} +var hr = { + Node: on, + Root: hn, + NodeList: ln, + Value: cn, + Literal: un, + Symbol: pn, + Group: fn, + Array: dn, + Pair: En, + Dict: mn, + Output: Un, + Capture: Hn, + TemplateData: Gn, + If: _n, + IfAsync: An, + InlineIf: gn, + For: Nn, + AsyncEach: Cn, + AsyncAll: In, + Macro: Sn, + Caller: bn, + Import: On, + FromImport: yn, + FunCall: Ln, + Filter: kn, + FilterAsync: vn, + KeywordArgs: Dn, + Block: Rn, + Super: Mn, + Extends: Pn, + Include: xn, + Set: wn, + Switch: Bn, + Case: Fn, + LookupVal: Tn, + BinOp: qn, + In: Kn, + Is: jn, + Or: Vn, + And: Wn, + Not: Qn, + Add: Xn, + Concat: $n, + Sub: zn, + Mul: Jn, + Div: Zn, + FloorDiv: er, + Mod: tr, + Pow: nr, + Neg: rr, + Pos: ir, + Compare: sr, + CompareOperand: ar, + CallExtension: or, + CallExtensionAsync: cr, + printNodes: function e(t, n) { + if (n = n || 0, lr(t.typename + ": ", n), t instanceof ln) lr("\n"), t.children.forEach((function(t) { + e(t, n + 2) + })); + else if (t instanceof or) lr(t.extName + "." + t.prop + "\n"), t.args && e(t.args, n + 2), t.contentArgs && t.contentArgs.forEach((function(t) { + e(t, n + 2) + })); + else { + var r = [], + i = null; + t.iterFields((function(e, t) { + e instanceof on ? r.push([t, e]) : (i = i || {})[t] = e + })), i ? lr(JSON.stringify(i, null, 2) + "\n", null, !0) : lr("\n"), r.forEach((function(t) { + var r = t[0], + i = t[1]; + lr("[" + r + "] =>", n + 2), e(i, n + 4) + })) + } + } +}; + +function ur(e, t) { + return ur = Object.setPrototypeOf || function(e, t) { + return e.__proto__ = t, e + }, ur(e, t) +} +hr.Node, hr.Root, hr.NodeList, hr.Value, hr.Literal, hr.Group, hr.Pair, hr.Dict, hr.Output, hr.Capture, hr.TemplateData, hr.If, hr.IfAsync, hr.InlineIf, hr.For, hr.AsyncEach, hr.AsyncAll, hr.Macro, hr.Caller, hr.Import, hr.FromImport, hr.FunCall, hr.Filter, hr.FilterAsync, hr.KeywordArgs, hr.Block, hr.Super, hr.Extends, hr.Include, hr.Switch, hr.Case, hr.LookupVal, hr.BinOp, hr.In, hr.Is, hr.Or, hr.And, hr.Not, hr.Add, hr.Concat, hr.Sub, hr.Mul, hr.Div, hr.FloorDiv, hr.Mod, hr.Pow, hr.Neg, hr.Pos, hr.Compare, hr.CompareOperand, hr.CallExtension, hr.CallExtensionAsync, hr.printNodes; +var pr = function(e) { + var t, n; + + function r() { + return e.apply(this, arguments) || this + } + n = e, (t = r).prototype = Object.create(n.prototype), t.prototype.constructor = t, ur(t, n); + var i = r.prototype; + return i.init = function(e) { + this.tokens = e, this.peeked = null, this.breakOnBlocks = null, this.dropLeadingWhitespace = !1, this.extensions = [] + }, i.nextToken = function(e) { + var t; + if (this.peeked) { + if (e || this.peeked.type !== Vt.TOKEN_WHITESPACE) return t = this.peeked, this.peeked = null, t; + this.peeked = null + } + if (t = this.tokens.nextToken(), !e) + for (; t && t.type === Vt.TOKEN_WHITESPACE;) t = this.tokens.nextToken(); + return t + }, i.peekToken = function() { + return this.peeked = this.peeked || this.nextToken(), this.peeked + }, i.pushToken = function(e) { + if (this.peeked) throw new Error("pushToken: can only push one token on between reads"); + this.peeked = e + }, i.error = function(e, t, n) { + if (void 0 === t || void 0 === n) { + var r = this.peekToken() || {}; + t = r.lineno, n = r.colno + } + return void 0 !== t && (t += 1), void 0 !== n && (n += 1), new je.TemplateError(e, t, n) + }, i.fail = function(e, t, n) { + throw this.error(e, t, n) + }, i.skip = function(e) { + var t = this.nextToken(); + return !(!t || t.type !== e) || (this.pushToken(t), !1) + }, i.expect = function(e) { + var t = this.nextToken(); + return t.type !== e && this.fail("expected " + e + ", got " + t.type, t.lineno, t.colno), t + }, i.skipValue = function(e, t) { + var n = this.nextToken(); + return !(!n || n.type !== e || n.value !== t) || (this.pushToken(n), !1) + }, i.skipSymbol = function(e) { + return this.skipValue(Vt.TOKEN_SYMBOL, e) + }, i.advanceAfterBlockEnd = function(e) { + var t; + return e || ((t = this.peekToken()) || this.fail("unexpected end of file"), t.type !== Vt.TOKEN_SYMBOL && this.fail("advanceAfterBlockEnd: expected symbol token or explicit name to be passed"), e = this.nextToken().value), (t = this.nextToken()) && t.type === Vt.TOKEN_BLOCK_END ? "-" === t.value.charAt(0) && (this.dropLeadingWhitespace = !0) : this.fail("expected block end in " + e + " statement"), t + }, i.advanceAfterVariableEnd = function() { + var e = this.nextToken(); + e && e.type === Vt.TOKEN_VARIABLE_END ? this.dropLeadingWhitespace = "-" === e.value.charAt(e.value.length - this.tokens.tags.VARIABLE_END.length - 1) : (this.pushToken(e), this.fail("expected variable end")) + }, i.parseFor = function() { + var e, t, n = this.peekToken(); + if (this.skipSymbol("for") ? (e = new hr.For(n.lineno, n.colno), t = "endfor") : this.skipSymbol("asyncEach") ? (e = new hr.AsyncEach(n.lineno, n.colno), t = "endeach") : this.skipSymbol("asyncAll") ? (e = new hr.AsyncAll(n.lineno, n.colno), t = "endall") : this.fail("parseFor: expected for{Async}", n.lineno, n.colno), e.name = this.parsePrimary(), e.name instanceof hr.Symbol || this.fail("parseFor: variable name expected for loop"), this.peekToken().type === Vt.TOKEN_COMMA) { + var r = e.name; + for (e.name = new hr.Array(r.lineno, r.colno), e.name.addChild(r); this.skip(Vt.TOKEN_COMMA);) { + var i = this.parsePrimary(); + e.name.addChild(i) + } + } + return this.skipSymbol("in") || this.fail('parseFor: expected "in" keyword for loop', n.lineno, n.colno), e.arr = this.parseExpression(), this.advanceAfterBlockEnd(n.value), e.body = this.parseUntilBlocks(t, "else"), this.skipSymbol("else") && (this.advanceAfterBlockEnd("else"), e.else_ = this.parseUntilBlocks(t)), this.advanceAfterBlockEnd(), e + }, i.parseMacro = function() { + var e = this.peekToken(); + this.skipSymbol("macro") || this.fail("expected macro"); + var t = this.parsePrimary(!0), + n = this.parseSignature(), + r = new hr.Macro(e.lineno, e.colno, t, n); + return this.advanceAfterBlockEnd(e.value), r.body = this.parseUntilBlocks("endmacro"), this.advanceAfterBlockEnd(), r + }, i.parseCall = function() { + var e = this.peekToken(); + this.skipSymbol("call") || this.fail("expected call"); + var t = this.parseSignature(!0) || new hr.NodeList, + n = this.parsePrimary(); + this.advanceAfterBlockEnd(e.value); + var r = this.parseUntilBlocks("endcall"); + this.advanceAfterBlockEnd(); + var i = new hr.Symbol(e.lineno, e.colno, "caller"), + s = new hr.Caller(e.lineno, e.colno, i, t, r), + a = n.args.children; + return a[a.length - 1] instanceof hr.KeywordArgs || a.push(new hr.KeywordArgs), a[a.length - 1].addChild(new hr.Pair(e.lineno, e.colno, i, s)), new hr.Output(e.lineno, e.colno, [n]) + }, i.parseWithContext = function() { + var e = this.peekToken(), + t = null; + return this.skipSymbol("with") ? t = !0 : this.skipSymbol("without") && (t = !1), null !== t && (this.skipSymbol("context") || this.fail("parseFrom: expected context after with/without", e.lineno, e.colno)), t + }, i.parseImport = function() { + var e = this.peekToken(); + this.skipSymbol("import") || this.fail("parseImport: expected import", e.lineno, e.colno); + var t = this.parseExpression(); + this.skipSymbol("as") || this.fail('parseImport: expected "as" keyword', e.lineno, e.colno); + var n = this.parseExpression(), + r = this.parseWithContext(), + i = new hr.Import(e.lineno, e.colno, t, n, r); + return this.advanceAfterBlockEnd(e.value), i + }, i.parseFrom = function() { + var e = this.peekToken(); + this.skipSymbol("from") || this.fail("parseFrom: expected from"); + var t = this.parseExpression(); + this.skipSymbol("import") || this.fail("parseFrom: expected import", e.lineno, e.colno); + for (var n, r = new hr.NodeList;;) { + var i = this.peekToken(); + if (i.type === Vt.TOKEN_BLOCK_END) { + r.children.length || this.fail("parseFrom: Expected at least one import name", e.lineno, e.colno), "-" === i.value.charAt(0) && (this.dropLeadingWhitespace = !0), this.nextToken(); + break + } + r.children.length > 0 && !this.skip(Vt.TOKEN_COMMA) && this.fail("parseFrom: expected comma", e.lineno, e.colno); + var s = this.parsePrimary(); + if ("_" === s.value.charAt(0) && this.fail("parseFrom: names starting with an underscore cannot be imported", s.lineno, s.colno), this.skipSymbol("as")) { + var a = this.parsePrimary(); + r.addChild(new hr.Pair(s.lineno, s.colno, s, a)) + } else r.addChild(s); + n = this.parseWithContext() + } + return new hr.FromImport(e.lineno, e.colno, t, r, n) + }, i.parseBlock = function() { + var e = this.peekToken(); + this.skipSymbol("block") || this.fail("parseBlock: expected block", e.lineno, e.colno); + var t = new hr.Block(e.lineno, e.colno); + t.name = this.parsePrimary(), t.name instanceof hr.Symbol || this.fail("parseBlock: variable name expected", e.lineno, e.colno), this.advanceAfterBlockEnd(e.value), t.body = this.parseUntilBlocks("endblock"), this.skipSymbol("endblock"), this.skipSymbol(t.name.value); + var n = this.peekToken(); + return n || this.fail("parseBlock: expected endblock, got end of file"), this.advanceAfterBlockEnd(n.value), t + }, i.parseExtends = function() { + var e = "extends", + t = this.peekToken(); + this.skipSymbol(e) || this.fail("parseTemplateRef: expected extends"); + var n = new hr.Extends(t.lineno, t.colno); + return n.template = this.parseExpression(), this.advanceAfterBlockEnd(t.value), n + }, i.parseInclude = function() { + var e = "include", + t = this.peekToken(); + this.skipSymbol(e) || this.fail("parseInclude: expected include"); + var n = new hr.Include(t.lineno, t.colno); + return n.template = this.parseExpression(), this.skipSymbol("ignore") && this.skipSymbol("missing") && (n.ignoreMissing = !0), this.advanceAfterBlockEnd(t.value), n + }, i.parseIf = function() { + var e, t = this.peekToken(); + this.skipSymbol("if") || this.skipSymbol("elif") || this.skipSymbol("elseif") ? e = new hr.If(t.lineno, t.colno) : this.skipSymbol("ifAsync") ? e = new hr.IfAsync(t.lineno, t.colno) : this.fail("parseIf: expected if, elif, or elseif", t.lineno, t.colno), e.cond = this.parseExpression(), this.advanceAfterBlockEnd(t.value), e.body = this.parseUntilBlocks("elif", "elseif", "else", "endif"); + var n = this.peekToken(); + switch (n && n.value) { + case "elseif": + case "elif": + e.else_ = this.parseIf(); + break; + case "else": + this.advanceAfterBlockEnd(), e.else_ = this.parseUntilBlocks("endif"), this.advanceAfterBlockEnd(); + break; + case "endif": + e.else_ = null, this.advanceAfterBlockEnd(); + break; + default: + this.fail("parseIf: expected elif, else, or endif, got end of file") + } + return e + }, i.parseSet = function() { + var e = this.peekToken(); + this.skipSymbol("set") || this.fail("parseSet: expected set", e.lineno, e.colno); + for (var t, n = new hr.Set(e.lineno, e.colno, []); + (t = this.parsePrimary()) && (n.targets.push(t), this.skip(Vt.TOKEN_COMMA));); + return this.skipValue(Vt.TOKEN_OPERATOR, "=") ? (n.value = this.parseExpression(), this.advanceAfterBlockEnd(e.value)) : this.skip(Vt.TOKEN_BLOCK_END) ? (n.body = new hr.Capture(e.lineno, e.colno, this.parseUntilBlocks("endset")), n.value = null, this.advanceAfterBlockEnd()) : this.fail("parseSet: expected = or block end in set tag", e.lineno, e.colno), n + }, i.parseSwitch = function() { + var e = "switch", + t = "endswitch", + n = "case", + r = "default", + i = this.peekToken(); + this.skipSymbol(e) || this.skipSymbol(n) || this.skipSymbol(r) || this.fail('parseSwitch: expected "switch," "case" or "default"', i.lineno, i.colno); + var s = this.parseExpression(); + this.advanceAfterBlockEnd(e), this.parseUntilBlocks(n, r, t); + var a, o = this.peekToken(), + c = []; + do { + this.skipSymbol(n); + var l = this.parseExpression(); + this.advanceAfterBlockEnd(e); + var h = this.parseUntilBlocks(n, r, t); + c.push(new hr.Case(o.line, o.col, l, h)), o = this.peekToken() + } while (o && o.value === n); + switch (o.value) { + case r: + this.advanceAfterBlockEnd(), a = this.parseUntilBlocks(t), this.advanceAfterBlockEnd(); + break; + case t: + this.advanceAfterBlockEnd(); + break; + default: + this.fail('parseSwitch: expected "case," "default" or "endswitch," got EOF.') + } + return new hr.Switch(i.lineno, i.colno, s, c, a) + }, i.parseStatement = function() { + var e = this.peekToken(); + if (e.type !== Vt.TOKEN_SYMBOL && this.fail("tag name expected", e.lineno, e.colno), this.breakOnBlocks && -1 !== je.indexOf(this.breakOnBlocks, e.value)) return null; + switch (e.value) { + case "raw": + return this.parseRaw(); + case "verbatim": + return this.parseRaw("verbatim"); + case "if": + case "ifAsync": + return this.parseIf(); + case "for": + case "asyncEach": + case "asyncAll": + return this.parseFor(); + case "block": + return this.parseBlock(); + case "extends": + return this.parseExtends(); + case "include": + return this.parseInclude(); + case "set": + return this.parseSet(); + case "macro": + return this.parseMacro(); + case "call": + return this.parseCall(); + case "import": + return this.parseImport(); + case "from": + return this.parseFrom(); + case "filter": + return this.parseFilterStatement(); + case "switch": + return this.parseSwitch(); + default: + if (this.extensions.length) + for (var t = 0; t < this.extensions.length; t++) { + var n = this.extensions[t]; + if (-1 !== je.indexOf(n.tags || [], e.value)) return n.parse(this, hr, Vt) + } + this.fail("unknown block tag: " + e.value, e.lineno, e.colno) + } + }, i.parseRaw = function(e) { + for (var t = "end" + (e = e || "raw"), n = new RegExp("([\\s\\S]*?){%\\s*(" + e + "|" + t + ")\\s*(?=%})%}"), r = 1, i = "", s = null, a = this.advanceAfterBlockEnd(); + (s = this.tokens._extractRegex(n)) && r > 0;) { + var o = s[0], + c = s[1], + l = s[2]; + l === e ? r += 1 : l === t && (r -= 1), 0 === r ? (i += c, this.tokens.backN(o.length - c.length)) : i += o + } + return new hr.Output(a.lineno, a.colno, [new hr.TemplateData(a.lineno, a.colno, i)]) + }, i.parsePostfix = function(e) { + for (var t, n = this.peekToken(); n;) { + if (n.type === Vt.TOKEN_LEFT_PAREN) e = new hr.FunCall(n.lineno, n.colno, e, this.parseSignature()); + else if (n.type === Vt.TOKEN_LEFT_BRACKET)(t = this.parseAggregate()).children.length > 1 && this.fail("invalid index"), e = new hr.LookupVal(n.lineno, n.colno, e, t.children[0]); + else { + if (n.type !== Vt.TOKEN_OPERATOR || "." !== n.value) break; + this.nextToken(); + var r = this.nextToken(); + r.type !== Vt.TOKEN_SYMBOL && this.fail("expected name as lookup value, got " + r.value, r.lineno, r.colno), t = new hr.Literal(r.lineno, r.colno, r.value), e = new hr.LookupVal(n.lineno, n.colno, e, t) + } + n = this.peekToken() + } + return e + }, i.parseExpression = function() { + return this.parseInlineIf() + }, i.parseInlineIf = function() { + var e = this.parseOr(); + if (this.skipSymbol("if")) { + var t = this.parseOr(), + n = e; + (e = new hr.InlineIf(e.lineno, e.colno)).body = n, e.cond = t, this.skipSymbol("else") ? e.else_ = this.parseOr() : e.else_ = null + } + return e + }, i.parseOr = function() { + for (var e = this.parseAnd(); this.skipSymbol("or");) { + var t = this.parseAnd(); + e = new hr.Or(e.lineno, e.colno, e, t) + } + return e + }, i.parseAnd = function() { + for (var e = this.parseNot(); this.skipSymbol("and");) { + var t = this.parseNot(); + e = new hr.And(e.lineno, e.colno, e, t) + } + return e + }, i.parseNot = function() { + var e = this.peekToken(); + return this.skipSymbol("not") ? new hr.Not(e.lineno, e.colno, this.parseNot()) : this.parseIn() + }, i.parseIn = function() { + for (var e = this.parseIs();;) { + var t = this.nextToken(); + if (!t) break; + var n = t.type === Vt.TOKEN_SYMBOL && "not" === t.value; + if (n || this.pushToken(t), !this.skipSymbol("in")) { + n && this.pushToken(t); + break + } + var r = this.parseIs(); + e = new hr.In(e.lineno, e.colno, e, r), n && (e = new hr.Not(e.lineno, e.colno, e)) + } + return e + }, i.parseIs = function() { + var e = this.parseCompare(); + if (this.skipSymbol("is")) { + var t = this.skipSymbol("not"), + n = this.parseCompare(); + e = new hr.Is(e.lineno, e.colno, e, n), t && (e = new hr.Not(e.lineno, e.colno, e)) + } + return e + }, i.parseCompare = function() { + for (var e = ["==", "===", "!=", "!==", "<", ">", "<=", ">="], t = this.parseConcat(), n = [];;) { + var r = this.nextToken(); + if (!r) break; + if (-1 === e.indexOf(r.value)) { + this.pushToken(r); + break + } + n.push(new hr.CompareOperand(r.lineno, r.colno, this.parseConcat(), r.value)) + } + return n.length ? new hr.Compare(n[0].lineno, n[0].colno, t, n) : t + }, i.parseConcat = function() { + for (var e = this.parseAdd(); this.skipValue(Vt.TOKEN_TILDE, "~");) { + var t = this.parseAdd(); + e = new hr.Concat(e.lineno, e.colno, e, t) + } + return e + }, i.parseAdd = function() { + for (var e = this.parseSub(); this.skipValue(Vt.TOKEN_OPERATOR, "+");) { + var t = this.parseSub(); + e = new hr.Add(e.lineno, e.colno, e, t) + } + return e + }, i.parseSub = function() { + for (var e = this.parseMul(); this.skipValue(Vt.TOKEN_OPERATOR, "-");) { + var t = this.parseMul(); + e = new hr.Sub(e.lineno, e.colno, e, t) + } + return e + }, i.parseMul = function() { + for (var e = this.parseDiv(); this.skipValue(Vt.TOKEN_OPERATOR, "*");) { + var t = this.parseDiv(); + e = new hr.Mul(e.lineno, e.colno, e, t) + } + return e + }, i.parseDiv = function() { + for (var e = this.parseFloorDiv(); this.skipValue(Vt.TOKEN_OPERATOR, "/");) { + var t = this.parseFloorDiv(); + e = new hr.Div(e.lineno, e.colno, e, t) + } + return e + }, i.parseFloorDiv = function() { + for (var e = this.parseMod(); this.skipValue(Vt.TOKEN_OPERATOR, "//");) { + var t = this.parseMod(); + e = new hr.FloorDiv(e.lineno, e.colno, e, t) + } + return e + }, i.parseMod = function() { + for (var e = this.parsePow(); this.skipValue(Vt.TOKEN_OPERATOR, "%");) { + var t = this.parsePow(); + e = new hr.Mod(e.lineno, e.colno, e, t) + } + return e + }, i.parsePow = function() { + for (var e = this.parseUnary(); this.skipValue(Vt.TOKEN_OPERATOR, "**");) { + var t = this.parseUnary(); + e = new hr.Pow(e.lineno, e.colno, e, t) + } + return e + }, i.parseUnary = function(e) { + var t, n = this.peekToken(); + return t = this.skipValue(Vt.TOKEN_OPERATOR, "-") ? new hr.Neg(n.lineno, n.colno, this.parseUnary(!0)) : this.skipValue(Vt.TOKEN_OPERATOR, "+") ? new hr.Pos(n.lineno, n.colno, this.parseUnary(!0)) : this.parsePrimary(), e || (t = this.parseFilter(t)), t + }, i.parsePrimary = function(e) { + var t, n = this.nextToken(), + r = null; + if (n ? n.type === Vt.TOKEN_STRING ? t = n.value : n.type === Vt.TOKEN_INT ? t = parseInt(n.value, 10) : n.type === Vt.TOKEN_FLOAT ? t = parseFloat(n.value) : n.type === Vt.TOKEN_BOOLEAN ? "true" === n.value ? t = !0 : "false" === n.value ? t = !1 : this.fail("invalid boolean: " + n.value, n.lineno, n.colno) : n.type === Vt.TOKEN_NONE ? t = null : n.type === Vt.TOKEN_REGEX && (t = new RegExp(n.value.body, n.value.flags)) : this.fail("expected expression, got end of file"), void 0 !== t ? r = new hr.Literal(n.lineno, n.colno, t) : n.type === Vt.TOKEN_SYMBOL ? r = new hr.Symbol(n.lineno, n.colno, n.value) : (this.pushToken(n), r = this.parseAggregate()), e || (r = this.parsePostfix(r)), r) return r; + throw this.error("unexpected token: " + n.value, n.lineno, n.colno) + }, i.parseFilterName = function() { + for (var e = this.expect(Vt.TOKEN_SYMBOL), t = e.value; this.skipValue(Vt.TOKEN_OPERATOR, ".");) t += "." + this.expect(Vt.TOKEN_SYMBOL).value; + return new hr.Symbol(e.lineno, e.colno, t) + }, i.parseFilterArgs = function(e) { + return this.peekToken().type === Vt.TOKEN_LEFT_PAREN ? this.parsePostfix(e).args.children : [] + }, i.parseFilter = function(e) { + for (; this.skip(Vt.TOKEN_PIPE);) { + var t = this.parseFilterName(); + e = new hr.Filter(t.lineno, t.colno, t, new hr.NodeList(t.lineno, t.colno, [e].concat(this.parseFilterArgs(e)))) + } + return e + }, i.parseFilterStatement = function() { + var e = this.peekToken(); + this.skipSymbol("filter") || this.fail("parseFilterStatement: expected filter"); + var t = this.parseFilterName(), + n = this.parseFilterArgs(t); + this.advanceAfterBlockEnd(e.value); + var r = new hr.Capture(t.lineno, t.colno, this.parseUntilBlocks("endfilter")); + this.advanceAfterBlockEnd(); + var i = new hr.Filter(t.lineno, t.colno, t, new hr.NodeList(t.lineno, t.colno, [r].concat(n))); + return new hr.Output(t.lineno, t.colno, [i]) + }, i.parseAggregate = function() { + var e, t = this.nextToken(); + switch (t.type) { + case Vt.TOKEN_LEFT_PAREN: + e = new hr.Group(t.lineno, t.colno); + break; + case Vt.TOKEN_LEFT_BRACKET: + e = new hr.Array(t.lineno, t.colno); + break; + case Vt.TOKEN_LEFT_CURLY: + e = new hr.Dict(t.lineno, t.colno); + break; + default: + return null + } + for (;;) { + var n = this.peekToken().type; + if (n === Vt.TOKEN_RIGHT_PAREN || n === Vt.TOKEN_RIGHT_BRACKET || n === Vt.TOKEN_RIGHT_CURLY) { + this.nextToken(); + break + } + if (e.children.length > 0 && (this.skip(Vt.TOKEN_COMMA) || this.fail("parseAggregate: expected comma after expression", t.lineno, t.colno)), e instanceof hr.Dict) { + var r = this.parsePrimary(); + this.skip(Vt.TOKEN_COLON) || this.fail("parseAggregate: expected colon after dict key", t.lineno, t.colno); + var i = this.parseExpression(); + e.addChild(new hr.Pair(r.lineno, r.colno, r, i)) + } else { + var s = this.parseExpression(); + e.addChild(s) + } + } + return e + }, i.parseSignature = function(e, t) { + var n = this.peekToken(); + if (!t && n.type !== Vt.TOKEN_LEFT_PAREN) { + if (e) return null; + this.fail("expected arguments", n.lineno, n.colno) + } + n.type === Vt.TOKEN_LEFT_PAREN && (n = this.nextToken()); + for (var r = new hr.NodeList(n.lineno, n.colno), i = new hr.KeywordArgs(n.lineno, n.colno), s = !1;;) { + if (n = this.peekToken(), !t && n.type === Vt.TOKEN_RIGHT_PAREN) { + this.nextToken(); + break + } + if (t && n.type === Vt.TOKEN_BLOCK_END) break; + if (s && !this.skip(Vt.TOKEN_COMMA)) this.fail("parseSignature: expected comma after expression", n.lineno, n.colno); + else { + var a = this.parseExpression(); + this.skipValue(Vt.TOKEN_OPERATOR, "=") ? i.addChild(new hr.Pair(a.lineno, a.colno, a, this.parseExpression())) : r.addChild(a) + } + s = !0 + } + return i.children.length && r.addChild(i), r + }, i.parseUntilBlocks = function() { + for (var e = this.breakOnBlocks, t = arguments.length, n = new Array(t), r = 0; r < t; r++) n[r] = arguments[r]; + this.breakOnBlocks = n; + var i = this.parse(); + return this.breakOnBlocks = e, i + }, i.parseNodes = function() { + for (var e, t = []; e = this.nextToken();) + if (e.type === Vt.TOKEN_DATA) { + var n = e.value, + r = this.peekToken(), + i = r && r.value; + this.dropLeadingWhitespace && (n = n.replace(/^\s*/, ""), this.dropLeadingWhitespace = !1), r && (r.type === Vt.TOKEN_BLOCK_START && "-" === i.charAt(i.length - 1) || r.type === Vt.TOKEN_VARIABLE_START && "-" === i.charAt(this.tokens.tags.VARIABLE_START.length) || r.type === Vt.TOKEN_COMMENT && "-" === i.charAt(this.tokens.tags.COMMENT_START.length)) && (n = n.replace(/\s*$/, "")), t.push(new hr.Output(e.lineno, e.colno, [new hr.TemplateData(e.lineno, e.colno, n)])) + } else if (e.type === Vt.TOKEN_BLOCK_START) { + this.dropLeadingWhitespace = !1; + var s = this.parseStatement(); + if (!s) break; + t.push(s) + } else if (e.type === Vt.TOKEN_VARIABLE_START) { + var a = this.parseExpression(); + this.dropLeadingWhitespace = !1, this.advanceAfterVariableEnd(), t.push(new hr.Output(e.lineno, e.colno, [a])) + } else e.type === Vt.TOKEN_COMMENT ? this.dropLeadingWhitespace = "-" === e.value.charAt(e.value.length - this.tokens.tags.COMMENT_END.length - 1) : this.fail("Unexpected token at top-level: " + e.type, e.lineno, e.colno); + return t + }, i.parse = function() { + return new hr.NodeList(0, 0, this.parseNodes()) + }, i.parseAsRoot = function() { + return new hr.Root(0, 0, this.parseNodes()) + }, r + }(en.Obj), + fr = { + parse: function(e, t, n) { + var r = new pr(Vt.lex(e, n)); + return void 0 !== t && (r.extensions = t), r.parseAsRoot() + }, + Parser: pr + }, + dr = 0; + +function Er() { + return "hole_" + dr++ +} + +function mr(e, t) { + for (var n = null, r = 0; r < e.length; r++) { + var i = t(e[r]); + i !== e[r] && (n || (n = e.slice()), n[r] = i) + } + return n || e +} + +function Tr(e, t, n) { + if (!(e instanceof hr.Node)) return e; + if (!n) { + var r = t(e); + if (r && r !== e) return r + } + if (e instanceof hr.NodeList) { + var i = mr(e.children, (function(e) { + return Tr(e, t, n) + })); + i !== e.children && (e = new hr[e.typename](e.lineno, e.colno, i)) + } else if (e instanceof hr.CallExtension) { + var s = Tr(e.args, t, n), + a = mr(e.contentArgs, (function(e) { + return Tr(e, t, n) + })); + s === e.args && a === e.contentArgs || (e = new hr[e.typename](e.extName, e.prop, s, a)) + } else { + var o = e.fields.map((function(t) { + return e[t] + })), + c = mr(o, (function(e) { + return Tr(e, t, n) + })); + c !== o && (e = new hr[e.typename](e.lineno, e.colno), c.forEach((function(t, n) { + e[e.fields[n]] = t + }))) + } + return n && t(e) || e +} + +function _r(e, t) { + return Tr(e, t, !0) +} + +function Ar(e, t, n) { + var r = [], + i = _r(n ? e[n] : e, (function(e) { + var n; + return e instanceof hr.Block ? e : ((e instanceof hr.Filter && -1 !== je.indexOf(t, e.name.value) || e instanceof hr.CallExtensionAsync) && (n = new hr.Symbol(e.lineno, e.colno, Er()), r.push(new hr.FilterAsync(e.lineno, e.colno, e.name, e.args, n))), n) + })); + return n ? e[n] = i : e = i, r.length ? (r.push(e), new hr.NodeList(e.lineno, e.colno, r)) : e +} + +function gr(e, t) { + return function(e) { + return _r(e, (function(e) { + if (e instanceof hr.If || e instanceof hr.For) { + var t = !1; + if (Tr(e, (function(e) { + if (e instanceof hr.FilterAsync || e instanceof hr.IfAsync || e instanceof hr.AsyncEach || e instanceof hr.AsyncAll || e instanceof hr.CallExtensionAsync) return t = !0, e + })), t) { + if (e instanceof hr.If) return new hr.IfAsync(e.lineno, e.colno, e.cond, e.body, e.else_); + if (e instanceof hr.For && !(e instanceof hr.AsyncAll)) return new hr.AsyncEach(e.lineno, e.colno, e.arr, e.name, e.body, e.else_) + } + } + })) + }(function(e) { + return Tr(e, (function(e) { + if (e instanceof hr.Block) { + var t = !1, + n = Er(); + e.body = Tr(e.body, (function(e) { + if (e instanceof hr.FunCall && "super" === e.name.value) return t = !0, new hr.Symbol(e.lineno, e.colno, n) + })), t && e.body.children.unshift(new hr.Super(0, 0, e.name, new hr.Symbol(0, 0, n))) + } + })) + }(function(e, t) { + return _r(e, (function(e) { + return e instanceof hr.Output ? Ar(e, t) : e instanceof hr.Set ? Ar(e, t, "value") : e instanceof hr.For ? Ar(e, t, "arr") : e instanceof hr.If ? Ar(e, t, "cond") : e instanceof hr.CallExtension ? Ar(e, t, "args") : void 0 + })) + }(e, t))) +} +var Nr = { + transform: function(e, t) { + return gr(e, t || []) + } + }, + Cr = Array.from, + Ir = "function" == typeof Symbol && Symbol.iterator && "function" == typeof Cr, + Sr = function() { + function e(e, t) { + this.variables = Object.create(null), this.parent = e, this.topLevel = !1, this.isolateWrites = t + } + var t = e.prototype; + return t.set = function(e, t, n) { + var r = e.split("."), + i = this.variables, + s = this; + if (n && (s = this.resolve(r[0], !0))) s.set(e, t); + else { + for (var a = 0; a < r.length - 1; a++) { + var o = r[a]; + i[o] || (i[o] = {}), i = i[o] + } + i[r[r.length - 1]] = t + } + }, t.get = function(e) { + var t = this.variables[e]; + return void 0 !== t ? t : null + }, t.lookup = function(e) { + var t = this.parent, + n = this.variables[e]; + return void 0 !== n ? n : t && t.lookup(e) + }, t.resolve = function(e, t) { + var n = t && this.isolateWrites ? void 0 : this.parent; + return void 0 !== this.variables[e] ? this : n && n.resolve(e) + }, t.push = function(t) { + return new e(this, t) + }, t.pop = function() { + return this.parent + }, e + }(); + +function br(e) { + return e && Object.prototype.hasOwnProperty.call(e, "__keywords") +} + +function Or(e) { + var t = e.length; + if (t) { + var n = e[t - 1]; + if (br(n)) return n + } + return {} +} + +function yr(e) { + var t = e.length; + return 0 === t ? 0 : br(e[t - 1]) ? t - 1 : t +} + +function Lr(e) { + if ("string" != typeof e) return e; + this.val = e, Object.defineProperty(this, "length", { + writable: !0, + configurable: !0, + value: e.length + }) +} +Lr.prototype = Object.create(String.prototype, { + length: { + writable: !0, + configurable: !0, + value: 0 + } +}), Lr.prototype.valueOf = function() { + return this.val +}, Lr.prototype.toString = function() { + return this.val +}; +var kr = { + Frame: Sr, + makeMacro: function(e, t, n) { + return function() { + for (var r = arguments.length, i = new Array(r), s = 0; s < r; s++) i[s] = arguments[s]; + var a, o = yr(i), + c = Or(i); + if (o > e.length) a = i.slice(0, e.length), i.slice(a.length, o).forEach((function(e, n) { + n < t.length && (c[t[n]] = e) + })), a.push(c); + else if (o < e.length) { + a = i.slice(0, o); + for (var l = o; l < e.length; l++) { + var h = e[l]; + a.push(c[h]), delete c[h] + } + a.push(c) + } else a = i; + return n.apply(this, a) + } + }, + makeKeywordArgs: function(e) { + return e.__keywords = !0, e + }, + numArgs: yr, + suppressValue: function(e, t) { + return "object" == typeof(e = null != e ? e : "") ? new Lr(JSON.stringify(e).toString()) : (!t || e instanceof Lr || (e = je.escape(e.toString())), e) + }, + ensureDefined: function(e, t, n) { + if (null == e) throw new je.TemplateError("attempted to output null or undefined value", t + 1, n + 1); + return e + }, + memberLookup: function(e, t) { + if (null != e) return "function" == typeof e[t] ? function() { + for (var n = arguments.length, r = new Array(n), i = 0; i < n; i++) r[i] = arguments[i]; + return e[t].apply(e, r) + } : e[t] + }, + contextOrFrameLookup: function(e, t, n) { + var r = t.lookup(n); + return void 0 !== r ? r : e.lookup(n) + }, + callWrap: function(e, t, n, r) { + if (!e) throw new Error("Unable to call `" + t + "`, which is undefined or falsey"); + if ("function" != typeof e) throw new Error("Unable to call `" + t + "`, which is not a function"); + return e.apply(n, r) + }, + handleError: function(e, t, n) { + return e.lineno ? e : new je.TemplateError(e, t, n) + }, + isArray: je.isArray, + keys: je.keys, + SafeString: Lr, + copySafeness: function(e, t) { + return e instanceof Lr ? new Lr(t) : t.toString() + }, + markSafe: function(e) { + var t = typeof e; + return "string" === t ? new Lr(e) : "function" !== t ? e : function(t) { + var n = e.apply(this, arguments); + return "string" == typeof n ? new Lr(n) : n + } + }, + asyncEach: function(e, t, n, r) { + if (je.isArray(e)) { + var i = e.length; + je.asyncIter(e, (function(e, r, s) { + switch (t) { + case 1: + n(e, r, i, s); + break; + case 2: + n(e[0], e[1], r, i, s); + break; + case 3: + n(e[0], e[1], e[2], r, i, s); + break; + default: + e.push(r, i, s), n.apply(this, e) + } + }), r) + } else je.asyncFor(e, (function(e, t, r, i, s) { + n(e, t, r, i, s) + }), r) + }, + asyncAll: function(e, t, n, r) { + var i, s, a = 0; + + function o(e, t) { + a++, s[e] = t, a === i && r(null, s.join("")) + } + if (je.isArray(e)) + if (i = e.length, s = new Array(i), 0 === i) r(null, ""); + else + for (var c = 0; c < e.length; c++) { + var l = e[c]; + switch (t) { + case 1: + n(l, c, i, o); + break; + case 2: + n(l[0], l[1], c, i, o); + break; + case 3: + n(l[0], l[1], l[2], c, i, o); + break; + default: + l.push(c, i, o), n.apply(this, l) + } + } else { + var h = je.keys(e || {}); + if (i = h.length, s = new Array(i), 0 === i) r(null, ""); + else + for (var u = 0; u < h.length; u++) { + var p = h[u]; + n(p, e[p], u, i, o) + } + } + }, + inOperator: je.inOperator, + fromIterator: function(e) { + return "object" != typeof e || null === e || je.isArray(e) ? e : Ir && Symbol.iterator in e ? Cr(e) : e + } +}; + +function vr(e, t) { + return vr = Object.setPrototypeOf || function(e, t) { + return e.__proto__ = t, e + }, vr(e, t) +} +kr.Frame, kr.makeMacro, kr.makeKeywordArgs, kr.numArgs, kr.suppressValue, kr.ensureDefined, kr.memberLookup, kr.contextOrFrameLookup, kr.callWrap, kr.handleError, kr.isArray, kr.keys, kr.SafeString, kr.copySafeness, kr.markSafe, kr.asyncEach, kr.asyncAll, kr.inOperator, kr.fromIterator; +var Dr = je.TemplateError, + Rr = kr.Frame, + Mr = { + "==": "==", + "===": "===", + "!=": "!=", + "!==": "!==", + "<": "<", + ">": ">", + "<=": "<=", + ">=": ">=" + }, + Pr = function(e) { + var t, n; + + function r() { + return e.apply(this, arguments) || this + } + n = e, (t = r).prototype = Object.create(n.prototype), t.prototype.constructor = t, vr(t, n); + var i = r.prototype; + return i.init = function(e, t) { + this.templateName = e, this.codebuf = [], this.lastId = 0, this.buffer = null, this.bufferStack = [], this._scopeClosers = "", this.inBlock = !1, this.throwOnUndefined = t + }, i.fail = function(e, t, n) { + throw void 0 !== t && (t += 1), void 0 !== n && (n += 1), new Dr(e, t, n) + }, i._pushBuffer = function() { + var e = this._tmpid(); + return this.bufferStack.push(this.buffer), this.buffer = e, this._emit("var " + this.buffer + ' = "";'), e + }, i._popBuffer = function() { + this.buffer = this.bufferStack.pop() + }, i._emit = function(e) { + this.codebuf.push(e) + }, i._emitLine = function(e) { + this._emit(e + "\n") + }, i._emitLines = function() { + for (var e = this, t = arguments.length, n = new Array(t), r = 0; r < t; r++) n[r] = arguments[r]; + n.forEach((function(t) { + return e._emitLine(t) + })) + }, i._emitFuncBegin = function(e, t) { + this.buffer = "output", this._scopeClosers = "", this._emitLine("function " + t + "(env, context, frame, runtime, cb) {"), this._emitLine("var lineno = " + e.lineno + ";"), this._emitLine("var colno = " + e.colno + ";"), this._emitLine("var " + this.buffer + ' = "";'), this._emitLine("try {") + }, i._emitFuncEnd = function(e) { + e || this._emitLine("cb(null, " + this.buffer + ");"), this._closeScopeLevels(), this._emitLine("} catch (e) {"), this._emitLine(" cb(runtime.handleError(e, lineno, colno));"), this._emitLine("}"), this._emitLine("}"), this.buffer = null + }, i._addScopeLevel = function() { + this._scopeClosers += "})" + }, i._closeScopeLevels = function() { + this._emitLine(this._scopeClosers + ";"), this._scopeClosers = "" + }, i._withScopedSyntax = function(e) { + var t = this._scopeClosers; + this._scopeClosers = "", e.call(this), this._closeScopeLevels(), this._scopeClosers = t + }, i._makeCallback = function(e) { + var t = this._tmpid(); + return "function(" + t + (e ? "," + e : "") + ") {\nif(" + t + ") { cb(" + t + "); return; }" + }, i._tmpid = function() { + return this.lastId++, "t_" + this.lastId + }, i._templateName = function() { + return null == this.templateName ? "undefined" : JSON.stringify(this.templateName) + }, i._compileChildren = function(e, t) { + var n = this; + e.children.forEach((function(e) { + n.compile(e, t) + })) + }, i._compileAggregate = function(e, t, n, r) { + var i = this; + n && this._emit(n), e.children.forEach((function(e, n) { + n > 0 && i._emit(","), i.compile(e, t) + })), r && this._emit(r) + }, i._compileExpression = function(e, t) { + this.assertType(e, hr.Literal, hr.Symbol, hr.Group, hr.Array, hr.Dict, hr.FunCall, hr.Caller, hr.Filter, hr.LookupVal, hr.Compare, hr.InlineIf, hr.In, hr.Is, hr.And, hr.Or, hr.Not, hr.Add, hr.Concat, hr.Sub, hr.Mul, hr.Div, hr.FloorDiv, hr.Mod, hr.Pow, hr.Neg, hr.Pos, hr.Compare, hr.NodeList), this.compile(e, t) + }, i.assertType = function(e) { + for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++) n[r - 1] = arguments[r]; + n.some((function(t) { + return e instanceof t + })) || this.fail("assertType: invalid type: " + e.typename, e.lineno, e.colno) + }, i.compileCallExtension = function(e, t, n) { + var r = this, + i = e.args, + s = e.contentArgs, + a = "boolean" != typeof e.autoescape || e.autoescape; + if (n || this._emit(this.buffer + " += runtime.suppressValue("), this._emit('env.getExtension("' + e.extName + '")["' + e.prop + '"]('), this._emit("context"), (i || s) && this._emit(","), i && (i instanceof hr.NodeList || this.fail("compileCallExtension: arguments must be a NodeList, use `parser.parseSignature`"), i.children.forEach((function(e, n) { + r._compileExpression(e, t), (n !== i.children.length - 1 || s.length) && r._emit(",") + }))), s.length && s.forEach((function(e, n) { + if (n > 0 && r._emit(","), e) { + r._emitLine("function(cb) {"), r._emitLine("if(!cb) { cb = function(err) { if(err) { throw err; }}}"); + var i = r._pushBuffer(); + r._withScopedSyntax((function() { + r.compile(e, t), r._emitLine("cb(null, " + i + ");") + })), r._popBuffer(), r._emitLine("return " + i + ";"), r._emitLine("}") + } else r._emit("null") + })), n) { + var o = this._tmpid(); + this._emitLine(", " + this._makeCallback(o)), this._emitLine(this.buffer + " += runtime.suppressValue(" + o + ", " + a + " && env.opts.autoescape);"), this._addScopeLevel() + } else this._emit(")"), this._emit(", " + a + " && env.opts.autoescape);\n") + }, i.compileCallExtensionAsync = function(e, t) { + this.compileCallExtension(e, t, !0) + }, i.compileNodeList = function(e, t) { + this._compileChildren(e, t) + }, i.compileLiteral = function(e) { + if ("string" == typeof e.value) { + var t = e.value.replace(/\\/g, "\\\\"); + t = (t = (t = (t = (t = t.replace(/"/g, '\\"')).replace(/\n/g, "\\n")).replace(/\r/g, "\\r")).replace(/\t/g, "\\t")).replace(/\u2028/g, "\\u2028"), this._emit('"' + t + '"') + } else null === e.value ? this._emit("null") : this._emit(e.value.toString()) + }, i.compileSymbol = function(e, t) { + var n = e.value, + r = t.lookup(n); + r ? this._emit(r) : this._emit('runtime.contextOrFrameLookup(context, frame, "' + n + '")') + }, i.compileGroup = function(e, t) { + this._compileAggregate(e, t, "(", ")") + }, i.compileArray = function(e, t) { + this._compileAggregate(e, t, "[", "]") + }, i.compileDict = function(e, t) { + this._compileAggregate(e, t, "{", "}") + }, i.compilePair = function(e, t) { + var n = e.key, + r = e.value; + n instanceof hr.Symbol ? n = new hr.Literal(n.lineno, n.colno, n.value) : n instanceof hr.Literal && "string" == typeof n.value || this.fail("compilePair: Dict keys must be strings or names", n.lineno, n.colno), this.compile(n, t), this._emit(": "), this._compileExpression(r, t) + }, i.compileInlineIf = function(e, t) { + this._emit("("), this.compile(e.cond, t), this._emit("?"), this.compile(e.body, t), this._emit(":"), null !== e.else_ ? this.compile(e.else_, t) : this._emit('""'), this._emit(")") + }, i.compileIn = function(e, t) { + this._emit("runtime.inOperator("), this.compile(e.left, t), this._emit(","), this.compile(e.right, t), this._emit(")") + }, i.compileIs = function(e, t) { + var n = e.right.name ? e.right.name.value : e.right.value; + this._emit('env.getTest("' + n + '").call(context, '), this.compile(e.left, t), e.right.args && (this._emit(","), this.compile(e.right.args, t)), this._emit(") === true") + }, i._binOpEmitter = function(e, t, n) { + this.compile(e.left, t), this._emit(n), this.compile(e.right, t) + }, i.compileOr = function(e, t) { + return this._binOpEmitter(e, t, " || ") + }, i.compileAnd = function(e, t) { + return this._binOpEmitter(e, t, " && ") + }, i.compileAdd = function(e, t) { + return this._binOpEmitter(e, t, " + ") + }, i.compileConcat = function(e, t) { + return this._binOpEmitter(e, t, ' + "" + ') + }, i.compileSub = function(e, t) { + return this._binOpEmitter(e, t, " - ") + }, i.compileMul = function(e, t) { + return this._binOpEmitter(e, t, " * ") + }, i.compileDiv = function(e, t) { + return this._binOpEmitter(e, t, " / ") + }, i.compileMod = function(e, t) { + return this._binOpEmitter(e, t, " % ") + }, i.compileNot = function(e, t) { + this._emit("!"), this.compile(e.target, t) + }, i.compileFloorDiv = function(e, t) { + this._emit("Math.floor("), this.compile(e.left, t), this._emit(" / "), this.compile(e.right, t), this._emit(")") + }, i.compilePow = function(e, t) { + this._emit("Math.pow("), this.compile(e.left, t), this._emit(", "), this.compile(e.right, t), this._emit(")") + }, i.compileNeg = function(e, t) { + this._emit("-"), this.compile(e.target, t) + }, i.compilePos = function(e, t) { + this._emit("+"), this.compile(e.target, t) + }, i.compileCompare = function(e, t) { + var n = this; + this.compile(e.expr, t), e.ops.forEach((function(e) { + n._emit(" " + Mr[e.type] + " "), n.compile(e.expr, t) + })) + }, i.compileLookupVal = function(e, t) { + this._emit("runtime.memberLookup(("), this._compileExpression(e.target, t), this._emit("),"), this._compileExpression(e.val, t), this._emit(")") + }, i._getNodeName = function(e) { + switch (e.typename) { + case "Symbol": + return e.value; + case "FunCall": + return "the return value of (" + this._getNodeName(e.name) + ")"; + case "LookupVal": + return this._getNodeName(e.target) + '["' + this._getNodeName(e.val) + '"]'; + case "Literal": + return e.value.toString(); + default: + return "--expression--" + } + }, i.compileFunCall = function(e, t) { + this._emit("(lineno = " + e.lineno + ", colno = " + e.colno + ", "), this._emit("runtime.callWrap("), this._compileExpression(e.name, t), this._emit(', "' + this._getNodeName(e.name).replace(/"/g, '\\"') + '", context, '), this._compileAggregate(e.args, t, "[", "])"), this._emit(")") + }, i.compileFilter = function(e, t) { + var n = e.name; + this.assertType(n, hr.Symbol), this._emit('env.getFilter("' + n.value + '").call(context, '), this._compileAggregate(e.args, t), this._emit(")") + }, i.compileFilterAsync = function(e, t) { + var n = e.name, + r = e.symbol.value; + this.assertType(n, hr.Symbol), t.set(r, r), this._emit('env.getFilter("' + n.value + '").call(context, '), this._compileAggregate(e.args, t), this._emitLine(", " + this._makeCallback(r)), this._addScopeLevel() + }, i.compileKeywordArgs = function(e, t) { + this._emit("runtime.makeKeywordArgs("), this.compileDict(e, t), this._emit(")") + }, i.compileSet = function(e, t) { + var n = this, + r = []; + e.targets.forEach((function(e) { + var i = e.value, + s = t.lookup(i); + null == s && (s = n._tmpid(), n._emitLine("var " + s + ";")), r.push(s) + })), e.value ? (this._emit(r.join(" = ") + " = "), this._compileExpression(e.value, t), this._emitLine(";")) : (this._emit(r.join(" = ") + " = "), this.compile(e.body, t), this._emitLine(";")), e.targets.forEach((function(e, t) { + var i = r[t], + s = e.value; + n._emitLine('frame.set("' + s + '", ' + i + ", true);"), n._emitLine("if(frame.topLevel) {"), n._emitLine('context.setVariable("' + s + '", ' + i + ");"), n._emitLine("}"), "_" !== s.charAt(0) && (n._emitLine("if(frame.topLevel) {"), n._emitLine('context.addExport("' + s + '", ' + i + ");"), n._emitLine("}")) + })) + }, i.compileSwitch = function(e, t) { + var n = this; + this._emit("switch ("), this.compile(e.expr, t), this._emit(") {"), e.cases.forEach((function(e, r) { + n._emit("case "), n.compile(e.cond, t), n._emit(": "), n.compile(e.body, t), e.body.children.length && n._emitLine("break;") + })), e.default && (this._emit("default:"), this.compile(e.default, t)), this._emit("}") + }, i.compileIf = function(e, t, n) { + var r = this; + this._emit("if("), this._compileExpression(e.cond, t), this._emitLine(") {"), this._withScopedSyntax((function() { + r.compile(e.body, t), n && r._emit("cb()") + })), e.else_ ? (this._emitLine("}\nelse {"), this._withScopedSyntax((function() { + r.compile(e.else_, t), n && r._emit("cb()") + }))) : n && (this._emitLine("}\nelse {"), this._emit("cb()")), this._emitLine("}") + }, i.compileIfAsync = function(e, t) { + this._emit("(function(cb) {"), this.compileIf(e, t, !0), this._emit("})(" + this._makeCallback()), this._addScopeLevel() + }, i._emitLoopBindings = function(e, t, n, r) { + var i = this; + [{ + name: "index", + val: n + " + 1" + }, { + name: "index0", + val: n + }, { + name: "revindex", + val: r + " - " + n + }, { + name: "revindex0", + val: r + " - " + n + " - 1" + }, { + name: "first", + val: n + " === 0" + }, { + name: "last", + val: n + " === " + r + " - 1" + }, { + name: "length", + val: r + }].forEach((function(e) { + i._emitLine('frame.set("loop.' + e.name + '", ' + e.val + ");") + })) + }, i.compileFor = function(e, t) { + var n = this, + r = this._tmpid(), + i = this._tmpid(), + s = this._tmpid(); + if (t = t.push(), this._emitLine("frame = frame.push();"), this._emit("var " + s + " = "), this._compileExpression(e.arr, t), this._emitLine(";"), this._emit("if(" + s + ") {"), this._emitLine(s + " = runtime.fromIterator(" + s + ");"), e.name instanceof hr.Array) { + this._emitLine("var " + r + ";"), this._emitLine("if(runtime.isArray(" + s + ")) {"), this._emitLine("var " + i + " = " + s + ".length;"), this._emitLine("for(" + r + "=0; " + r + " < " + s + ".length; " + r + "++) {"), e.name.children.forEach((function(i, a) { + var o = n._tmpid(); + n._emitLine("var " + o + " = " + s + "[" + r + "][" + a + "];"), n._emitLine('frame.set("' + i + '", ' + s + "[" + r + "][" + a + "]);"), t.set(e.name.children[a].value, o) + })), this._emitLoopBindings(e, s, r, i), this._withScopedSyntax((function() { + n.compile(e.body, t) + })), this._emitLine("}"), this._emitLine("} else {"); + var a = e.name.children, + o = a[0], + c = a[1], + l = this._tmpid(), + h = this._tmpid(); + t.set(o.value, l), t.set(c.value, h), this._emitLine(r + " = -1;"), this._emitLine("var " + i + " = runtime.keys(" + s + ").length;"), this._emitLine("for(var " + l + " in " + s + ") {"), this._emitLine(r + "++;"), this._emitLine("var " + h + " = " + s + "[" + l + "];"), this._emitLine('frame.set("' + o.value + '", ' + l + ");"), this._emitLine('frame.set("' + c.value + '", ' + h + ");"), this._emitLoopBindings(e, s, r, i), this._withScopedSyntax((function() { + n.compile(e.body, t) + })), this._emitLine("}"), this._emitLine("}") + } else { + var u = this._tmpid(); + t.set(e.name.value, u), this._emitLine("var " + i + " = " + s + ".length;"), this._emitLine("for(var " + r + "=0; " + r + " < " + s + ".length; " + r + "++) {"), this._emitLine("var " + u + " = " + s + "[" + r + "];"), this._emitLine('frame.set("' + e.name.value + '", ' + u + ");"), this._emitLoopBindings(e, s, r, i), this._withScopedSyntax((function() { + n.compile(e.body, t) + })), this._emitLine("}") + } + this._emitLine("}"), e.else_ && (this._emitLine("if (!" + i + ") {"), this.compile(e.else_, t), this._emitLine("}")), this._emitLine("frame = frame.pop();") + }, i._compileAsyncLoop = function(e, t, n) { + var r = this, + i = this._tmpid(), + s = this._tmpid(), + a = this._tmpid(), + o = n ? "asyncAll" : "asyncEach"; + if (t = t.push(), this._emitLine("frame = frame.push();"), this._emit("var " + a + " = runtime.fromIterator("), this._compileExpression(e.arr, t), this._emitLine(");"), e.name instanceof hr.Array) { + var c = e.name.children.length; + this._emit("runtime." + o + "(" + a + ", " + c + ", function("), e.name.children.forEach((function(e) { + r._emit(e.value + ",") + })), this._emit(i + "," + s + ",next) {"), e.name.children.forEach((function(e) { + var n = e.value; + t.set(n, n), r._emitLine('frame.set("' + n + '", ' + n + ");") + })) + } else { + var l = e.name.value; + this._emitLine("runtime." + o + "(" + a + ", 1, function(" + l + ", " + i + ", " + s + ",next) {"), this._emitLine('frame.set("' + l + '", ' + l + ");"), t.set(l, l) + } + this._emitLoopBindings(e, a, i, s), this._withScopedSyntax((function() { + var s; + n && (s = r._pushBuffer()), r.compile(e.body, t), r._emitLine("next(" + i + (s ? "," + s : "") + ");"), n && r._popBuffer() + })); + var h = this._tmpid(); + this._emitLine("}, " + this._makeCallback(h)), this._addScopeLevel(), n && this._emitLine(this.buffer + " += " + h + ";"), e.else_ && (this._emitLine("if (!" + a + ".length) {"), this.compile(e.else_, t), this._emitLine("}")), this._emitLine("frame = frame.pop();") + }, i.compileAsyncEach = function(e, t) { + this._compileAsyncLoop(e, t) + }, i.compileAsyncAll = function(e, t) { + this._compileAsyncLoop(e, t, !0) + }, i._compileMacro = function(e, t) { + var n = this, + r = [], + i = null, + s = "macro_" + this._tmpid(), + a = void 0 !== t; + e.args.children.forEach((function(t, s) { + s === e.args.children.length - 1 && t instanceof hr.Dict ? i = t : (n.assertType(t, hr.Symbol), r.push(t)) + })); + var o, c = [].concat(r.map((function(e) { + return "l_" + e.value + })), ["kwargs"]), + l = r.map((function(e) { + return '"' + e.value + '"' + })), + h = (i && i.children || []).map((function(e) { + return '"' + e.key.value + '"' + })); + o = a ? t.push(!0) : new Rr, this._emitLines("var " + s + " = runtime.makeMacro(", "[" + l.join(", ") + "], ", "[" + h.join(", ") + "], ", "function (" + c.join(", ") + ") {", "var callerFrame = frame;", "frame = " + (a ? "frame.push(true);" : "new runtime.Frame();"), "kwargs = kwargs || {};", 'if (Object.prototype.hasOwnProperty.call(kwargs, "caller")) {', 'frame.set("caller", kwargs.caller); }'), r.forEach((function(e) { + n._emitLine('frame.set("' + e.value + '", l_' + e.value + ");"), o.set(e.value, "l_" + e.value) + })), i && i.children.forEach((function(e) { + var t = e.key.value; + n._emit('frame.set("' + t + '", '), n._emit('Object.prototype.hasOwnProperty.call(kwargs, "' + t + '")'), n._emit(' ? kwargs["' + t + '"] : '), n._compileExpression(e.value, o), n._emit(");") + })); + var u = this._pushBuffer(); + return this._withScopedSyntax((function() { + n.compile(e.body, o) + })), this._emitLine("frame = " + (a ? "frame.pop();" : "callerFrame;")), this._emitLine("return new runtime.SafeString(" + u + ");"), this._emitLine("});"), this._popBuffer(), s + }, i.compileMacro = function(e, t) { + var n = this._compileMacro(e), + r = e.name.value; + t.set(r, n), t.parent ? this._emitLine('frame.set("' + r + '", ' + n + ");") : ("_" !== e.name.value.charAt(0) && this._emitLine('context.addExport("' + r + '");'), this._emitLine('context.setVariable("' + r + '", ' + n + ");")) + }, i.compileCaller = function(e, t) { + this._emit("(function (){"); + var n = this._compileMacro(e, t); + this._emit("return " + n + ";})()") + }, i._compileGetTemplate = function(e, t, n, r) { + var i = this._tmpid(), + s = this._templateName(), + a = this._makeCallback(i), + o = n ? "true" : "false", + c = r ? "true" : "false"; + return this._emit("env.getTemplate("), this._compileExpression(e.template, t), this._emitLine(", " + o + ", " + s + ", " + c + ", " + a), i + }, i.compileImport = function(e, t) { + var n = e.target.value, + r = this._compileGetTemplate(e, t, !1, !1); + this._addScopeLevel(), this._emitLine(r + ".getExported(" + (e.withContext ? "context.getVariables(), frame, " : "") + this._makeCallback(r)), this._addScopeLevel(), t.set(n, r), t.parent ? this._emitLine('frame.set("' + n + '", ' + r + ");") : this._emitLine('context.setVariable("' + n + '", ' + r + ");") + }, i.compileFromImport = function(e, t) { + var n = this, + r = this._compileGetTemplate(e, t, !1, !1); + this._addScopeLevel(), this._emitLine(r + ".getExported(" + (e.withContext ? "context.getVariables(), frame, " : "") + this._makeCallback(r)), this._addScopeLevel(), e.names.children.forEach((function(e) { + var i, s, a = n._tmpid(); + e instanceof hr.Pair ? (i = e.key.value, s = e.value.value) : s = i = e.value, n._emitLine("if(Object.prototype.hasOwnProperty.call(" + r + ', "' + i + '")) {'), n._emitLine("var " + a + " = " + r + "." + i + ";"), n._emitLine("} else {"), n._emitLine("cb(new Error(\"cannot import '" + i + "'\")); return;"), n._emitLine("}"), t.set(s, a), t.parent ? n._emitLine('frame.set("' + s + '", ' + a + ");") : n._emitLine('context.setVariable("' + s + '", ' + a + ");") + })) + }, i.compileBlock = function(e) { + var t = this._tmpid(); + this.inBlock || this._emit('(parentTemplate ? function(e, c, f, r, cb) { cb(""); } : '), this._emit('context.getBlock("' + e.name.value + '")'), this.inBlock || this._emit(")"), this._emitLine("(env, context, frame, runtime, " + this._makeCallback(t)), this._emitLine(this.buffer + " += " + t + ";"), this._addScopeLevel() + }, i.compileSuper = function(e, t) { + var n = e.blockName.value, + r = e.symbol.value, + i = this._makeCallback(r); + this._emitLine('context.getSuper(env, "' + n + '", b_' + n + ", frame, runtime, " + i), this._emitLine(r + " = runtime.markSafe(" + r + ");"), this._addScopeLevel(), t.set(r, r) + }, i.compileExtends = function(e, t) { + var n = this._tmpid(), + r = this._compileGetTemplate(e, t, !0, !1); + this._emitLine("parentTemplate = " + r), this._emitLine("for(var " + n + " in parentTemplate.blocks) {"), this._emitLine("context.addBlock(" + n + ", parentTemplate.blocks[" + n + "]);"), this._emitLine("}"), this._addScopeLevel() + }, i.compileInclude = function(e, t) { + this._emitLine("var tasks = [];"), this._emitLine("tasks.push("), this._emitLine("function(callback) {"); + var n = this._compileGetTemplate(e, t, !1, e.ignoreMissing); + this._emitLine("callback(null," + n + ");});"), this._emitLine("});"); + var r = this._tmpid(); + this._emitLine("tasks.push("), this._emitLine("function(template, callback){"), this._emitLine("template.render(context.getVariables(), frame, " + this._makeCallback(r)), this._emitLine("callback(null," + r + ");});"), this._emitLine("});"), this._emitLine("tasks.push("), this._emitLine("function(result, callback){"), this._emitLine(this.buffer + " += result;"), this._emitLine("callback(null);"), this._emitLine("});"), this._emitLine("env.waterfall(tasks, function(){"), this._addScopeLevel() + }, i.compileTemplateData = function(e, t) { + this.compileLiteral(e, t) + }, i.compileCapture = function(e, t) { + var n = this, + r = this.buffer; + this.buffer = "output", this._emitLine("(function() {"), this._emitLine('var output = "";'), this._withScopedSyntax((function() { + n.compile(e.body, t) + })), this._emitLine("return output;"), this._emitLine("})()"), this.buffer = r + }, i.compileOutput = function(e, t) { + var n = this; + e.children.forEach((function(r) { + r instanceof hr.TemplateData ? r.value && (n._emit(n.buffer + " += "), n.compileLiteral(r, t), n._emitLine(";")) : (n._emit(n.buffer + " += runtime.suppressValue("), n.throwOnUndefined && n._emit("runtime.ensureDefined("), n.compile(r, t), n.throwOnUndefined && n._emit("," + e.lineno + "," + e.colno + ")"), n._emit(", env.opts.autoescape);\n")) + })) + }, i.compileRoot = function(e, t) { + var n = this; + t && this.fail("compileRoot: root node can't have frame"), t = new Rr, this._emitFuncBegin(e, "root"), this._emitLine("var parentTemplate = null;"), this._compileChildren(e, t), this._emitLine("if(parentTemplate) {"), this._emitLine("parentTemplate.rootRenderFunc(env, context, frame, runtime, cb);"), this._emitLine("} else {"), this._emitLine("cb(null, " + this.buffer + ");"), this._emitLine("}"), this._emitFuncEnd(!0), this.inBlock = !0; + var r = [], + i = e.findAll(hr.Block); + i.forEach((function(e, t) { + var i = e.name.value; + if (-1 !== r.indexOf(i)) throw new Error('Block "' + i + '" defined more than once.'); + r.push(i), n._emitFuncBegin(e, "b_" + i); + var s = new Rr; + n._emitLine("var frame = frame.push(true);"), n.compile(e.body, s), n._emitFuncEnd() + })), this._emitLine("return {"), i.forEach((function(e, t) { + var r = "b_" + e.name.value; + n._emitLine(r + ": " + r + ",") + })), this._emitLine("root: root\n};") + }, i.compile = function(e, t) { + var n = this["compile" + e.typename]; + n ? n.call(this, e, t) : this.fail("compile: Cannot compile node: " + e.typename, e.lineno, e.colno) + }, i.getCode = function() { + return this.codebuf.join("") + }, r + }(en.Obj), + xr = { + compile: function(e, t, n, r, i) { + void 0 === i && (i = {}); + var s = new Pr(r, i.throwOnUndefined), + a = (n || []).map((function(e) { + return e.preprocess + })).filter((function(e) { + return !!e + })).reduce((function(e, t) { + return t(e) + }), e); + return s.compile(Nr.transform(fr.parse(a, n, i), t, r)), s.getCode() + }, + Compiler: Pr + }, + wr = Ke((function(e) { + var t = e.exports = {}; + + function n(e, t) { + return null == e || !1 === e ? t : e + } + + function r(e) { + return e != e + } + + function i(e) { + var t = (e = n(e, "")).toLowerCase(); + return kr.copySafeness(e, t.charAt(0).toUpperCase() + t.slice(1)) + } + + function s(e) { + if (je.isString(e)) return e.split(""); + if (je.isObject(e)) return je._entries(e || {}).map((function(e) { + return { + key: e[0], + value: e[1] + } + })); + if (je.isArray(e)) return e; + throw new je.TemplateError("list filter: type not iterable") + } + + function a(e) { + return function(t, n, r) { + void 0 === n && (n = "truthy"); + var i = this, + s = i.env.getTest(n); + return je.toArray(t).filter((function(t) { + return s.call(i, t, r) === e + })) + } + } + + function o(e) { + return kr.copySafeness(e, e.replace(/^\s*|\s*$/g, "")) + } + t.abs = Math.abs, t.batch = function(e, t, n) { + var r, i = [], + s = []; + for (r = 0; r < e.length; r++) r % t == 0 && s.length && (i.push(s), s = []), s.push(e[r]); + if (s.length) { + if (n) + for (r = s.length; r < t; r++) s.push(n); + i.push(s) + } + return i + }, t.capitalize = i, t.center = function(e, t) { + if (t = t || 80, (e = n(e, "")).length >= t) return e; + var r = t - e.length, + i = je.repeat(" ", r / 2 - r % 2), + s = je.repeat(" ", r / 2); + return kr.copySafeness(e, i + e + s) + }, t.default = function(e, t, n) { + return n ? e || t : void 0 !== e ? e : t + }, t.dictsort = function(e, t, n) { + if (!je.isObject(e)) throw new je.TemplateError("dictsort filter: val must be an object"); + var r, i = []; + for (var s in e) i.push([s, e[s]]); + if (void 0 === n || "key" === n) r = 0; + else { + if ("value" !== n) throw new je.TemplateError("dictsort filter: You can only sort by either key or value"); + r = 1 + } + return i.sort((function(e, n) { + var i = e[r], + s = n[r]; + return t || (je.isString(i) && (i = i.toUpperCase()), je.isString(s) && (s = s.toUpperCase())), i > s ? 1 : i === s ? 0 : -1 + })), i + }, t.dump = function(e, t) { + return JSON.stringify(e, null, t) + }, t.escape = function(e) { + return e instanceof kr.SafeString ? e : (e = null == e ? "" : e, kr.markSafe(je.escape(e.toString()))) + }, t.safe = function(e) { + return e instanceof kr.SafeString ? e : (e = null == e ? "" : e, kr.markSafe(e.toString())) + }, t.first = function(e) { + return e[0] + }, t.forceescape = function(e) { + return e = null == e ? "" : e, kr.markSafe(je.escape(e.toString())) + }, t.groupby = function(e, t) { + return je.groupBy(e, t, this.env.opts.throwOnUndefined) + }, t.indent = function(e, t, r) { + if ("" === (e = n(e, ""))) return ""; + t = t || 4; + var i = e.split("\n"), + s = je.repeat(" ", t), + a = i.map((function(e, t) { + return 0 !== t || r ? "" + s + e : e + })).join("\n"); + return kr.copySafeness(e, a) + }, t.join = function(e, t, n) { + return t = t || "", n && (e = je.map(e, (function(e) { + return e[n] + }))), e.join(t) + }, t.last = function(e) { + return e[e.length - 1] + }, t.length = function(e) { + var t = n(e, ""); + return void 0 !== t ? "function" == typeof Map && t instanceof Map || "function" == typeof Set && t instanceof Set ? t.size : !je.isObject(t) || t instanceof kr.SafeString ? t.length : je.keys(t).length : 0 + }, t.list = s, t.lower = function(e) { + return (e = n(e, "")).toLowerCase() + }, t.nl2br = function(e) { + return null == e ? "" : kr.copySafeness(e, e.replace(/\r\n|\n/g, "
\n")) + }, t.random = function(e) { + return e[Math.floor(Math.random() * e.length)] + }, t.reject = a(!1), t.rejectattr = function(e, t) { + return e.filter((function(e) { + return !e[t] + })) + }, t.select = a(!0), t.selectattr = function(e, t) { + return e.filter((function(e) { + return !!e[t] + })) + }, t.replace = function(e, t, n, r) { + var i = e; + if (t instanceof RegExp) return e.replace(t, n); + void 0 === r && (r = -1); + var s = ""; + if ("number" == typeof t) t = "" + t; + else if ("string" != typeof t) return e; + if ("number" == typeof e && (e = "" + e), "string" != typeof e && !(e instanceof kr.SafeString)) return e; + if ("" === t) return s = n + e.split("").join(n) + n, kr.copySafeness(e, s); + var a = e.indexOf(t); + if (0 === r || -1 === a) return e; + for (var o = 0, c = 0; a > -1 && (-1 === r || c < r);) s += e.substring(o, a) + n, o = a + t.length, c++, a = e.indexOf(t, o); + return o < e.length && (s += e.substring(o)), kr.copySafeness(i, s) + }, t.reverse = function(e) { + var t; + return (t = je.isString(e) ? s(e) : je.map(e, (function(e) { + return e + }))).reverse(), je.isString(e) ? kr.copySafeness(e, t.join("")) : t + }, t.round = function(e, t, n) { + t = t || 0; + var r = Math.pow(10, t); + return ("ceil" === n ? Math.ceil : "floor" === n ? Math.floor : Math.round)(e * r) / r + }, t.slice = function(e, t, n) { + for (var r = Math.floor(e.length / t), i = e.length % t, s = [], a = 0, o = 0; o < t; o++) { + var c = a + o * r; + o < i && a++; + var l = a + (o + 1) * r, + h = e.slice(c, l); + n && o >= i && h.push(n), s.push(h) + } + return s + }, t.sum = function(e, t, n) { + return void 0 === n && (n = 0), t && (e = je.map(e, (function(e) { + return e[t] + }))), n + e.reduce((function(e, t) { + return e + t + }), 0) + }, t.sort = kr.makeMacro(["value", "reverse", "case_sensitive", "attribute"], [], (function(e, t, n, r) { + var i = this, + s = je.map(e, (function(e) { + return e + })), + a = je.getAttrGetter(r); + return s.sort((function(e, s) { + var o = r ? a(e) : e, + c = r ? a(s) : s; + if (i.env.opts.throwOnUndefined && r && (void 0 === o || void 0 === c)) throw new TypeError('sort: attribute "' + r + '" resolved to undefined'); + return !n && je.isString(o) && je.isString(c) && (o = o.toLowerCase(), c = c.toLowerCase()), o < c ? t ? 1 : -1 : o > c ? t ? -1 : 1 : 0 + })), s + })), t.string = function(e) { + return kr.copySafeness(e, e) + }, t.striptags = function(e, t) { + var r = o((e = n(e, "")).replace(/<\/?([a-z][a-z0-9]*)\b[^>]*>|/gi, "")), + i = ""; + return i = t ? r.replace(/^ +| +$/gm, "").replace(/ +/g, " ").replace(/(\r\n)/g, "\n").replace(/\n\n\n+/g, "\n\n") : r.replace(/\s+/gi, " "), kr.copySafeness(e, i) + }, t.title = function(e) { + var t = (e = n(e, "")).split(" ").map((function(e) { + return i(e) + })); + return kr.copySafeness(e, t.join(" ")) + }, t.trim = o, t.truncate = function(e, t, r, i) { + var s = e; + if (t = t || 255, (e = n(e, "")).length <= t) return e; + if (r) e = e.substring(0, t); + else { + var a = e.lastIndexOf(" ", t); - 1 === a && (a = t), e = e.substring(0, a) + } + return e += null != i ? i : "...", kr.copySafeness(s, e) + }, t.upper = function(e) { + return (e = n(e, "")).toUpperCase() + }, t.urlencode = function(e) { + var t = encodeURIComponent; + return je.isString(e) ? t(e) : (je.isArray(e) ? e : je._entries(e)).map((function(e) { + var n = e[0], + r = e[1]; + return t(n) + "=" + t(r) + })).join("&") + }; + var c = /^(?:\(|<|<)?(.*?)(?:\.|,|\)|\n|>)?$/, + l = /^[\w.!#$%&'*+\-\/=?\^`{|}~]+@[a-z\d\-]+(\.[a-z\d\-]+)+$/i, + h = /^https?:\/\/.*$/, + u = /^www\./, + p = /\.(?:org|net|com)(?:\:|\/|$)/; + t.urlize = function(e, t, n) { + r(t) && (t = 1 / 0); + var i = !0 === n ? ' rel="nofollow"' : ""; + return e.split(/(\s+)/).filter((function(e) { + return e && e.length + })).map((function(e) { + var n = e.match(c), + r = n ? n[1] : e, + s = r.substr(0, t); + return h.test(r) ? '" + s + "" : u.test(r) ? '" + s + "" : l.test(r) ? '' + r + "" : p.test(r) ? '" + s + "" : e + })).join("") + }, t.wordcount = function(e) { + var t = (e = n(e, "")) ? e.match(/\w+/g) : null; + return t ? t.length : null + }, t.float = function(e, t) { + var n = parseFloat(e); + return r(n) ? t : n + }; + var f = kr.makeMacro(["value", "default", "base"], [], (function(e, t, n) { + void 0 === n && (n = 10); + var i = parseInt(e, n); + return r(i) ? t : i + })); + t.int = f, t.d = t.default, t.e = t.escape + })), + Br = {}; + +function Fr(e, t) { + for (var n = 0, r = e.length - 1; r >= 0; r--) { + var i = e[r]; + "." === i ? e.splice(r, 1) : ".." === i ? (e.splice(r, 1), n++) : n && (e.splice(r, 1), n--) + } + if (t) + for (; n--; n) e.unshift(".."); + return e +} +var Ur = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/, + Hr = function(e) { + return Ur.exec(e).slice(1) + }; + +function Gr() { + for (var e = "", t = !1, n = arguments.length - 1; n >= -1 && !t; n--) { + var r = n >= 0 ? arguments[n] : "/"; + if ("string" != typeof r) throw new TypeError("Arguments to path.resolve must be strings"); + r && (e = r + "/" + e, t = "/" === r.charAt(0)) + } + return (t ? "/" : "") + (e = Fr(jr(e.split("/"), (function(e) { + return !!e + })), !t).join("/")) || "." +} + +function Yr(e) { + var t = qr(e), + n = "/" === Vr(e, -1); + return (e = Fr(jr(e.split("/"), (function(e) { + return !!e + })), !t).join("/")) || t || (e = "."), e && n && (e += "/"), (t ? "/" : "") + e +} + +function qr(e) { + return "/" === e.charAt(0) +} +var Kr = { + extname: function(e) { + return Hr(e)[3] + }, + basename: function(e, t) { + var n = Hr(e)[2]; + return t && n.substr(-1 * t.length) === t && (n = n.substr(0, n.length - t.length)), n + }, + dirname: function(e) { + var t = Hr(e), + n = t[0], + r = t[1]; + return n || r ? (r && (r = r.substr(0, r.length - 1)), n + r) : "." + }, + sep: "/", + delimiter: ":", + relative: function(e, t) { + function n(e) { + for (var t = 0; t < e.length && "" === e[t]; t++); + for (var n = e.length - 1; n >= 0 && "" === e[n]; n--); + return t > n ? [] : e.slice(t, n - t + 1) + } + e = Gr(e).substr(1), t = Gr(t).substr(1); + for (var r = n(e.split("/")), i = n(t.split("/")), s = Math.min(r.length, i.length), a = s, o = 0; o < s; o++) + if (r[o] !== i[o]) { + a = o; + break + } var c = []; + for (o = a; o < r.length; o++) c.push(".."); + return (c = c.concat(i.slice(a))).join("/") + }, + join: function() { + var e = Array.prototype.slice.call(arguments, 0); + return Yr(jr(e, (function(e, t) { + if ("string" != typeof e) throw new TypeError("Arguments to path.join must be strings"); + return e + })).join("/")) + }, + isAbsolute: qr, + normalize: Yr, + resolve: Gr +}; + +function jr(e, t) { + if (e.filter) return e.filter(t); + for (var n = [], r = 0; r < e.length; r++) t(e[r], r, e) && n.push(e[r]); + return n +} +var Vr = "b" === "ab".substr(-1) ? function(e, t, n) { + return e.substr(t, n) +} : function(e, t, n) { + return t < 0 && (t = e.length + t), e.substr(t, n) +}; + +function Wr(e, t) { + return Wr = Object.setPrototypeOf || function(e, t) { + return e.__proto__ = t, e + }, Wr(e, t) +} +var Qr = function(e) { + var t, n; + + function r() { + return e.apply(this, arguments) || this + } + n = e, (t = r).prototype = Object.create(n.prototype), t.prototype.constructor = t, Wr(t, n); + var i = r.prototype; + return i.resolve = function(e, t) { + return Kr.resolve(Kr.dirname(e), t) + }, i.isRelative = function(e) { + return 0 === e.indexOf("./") || 0 === e.indexOf("../") + }, r +}(en.EmitterObj); + +function Xr(e, t) { + return Xr = Object.setPrototypeOf || function(e, t) { + return e.__proto__ = t, e + }, Xr(e, t) +} +var $r = function(e) { + var t, n; + + function r(t) { + var n; + return (n = e.call(this) || this).precompiled = t || {}, n + } + return n = e, (t = r).prototype = Object.create(n.prototype), t.prototype.constructor = t, Xr(t, n), r.prototype.getSource = function(e) { + return this.precompiled[e] ? { + src: { + type: "code", + obj: this.precompiled[e] + }, + path: e + } : null + }, r +}(Qr); + +function zr(e, t) { + e.prototype = Object.create(t.prototype), e.prototype.constructor = e, Jr(e, t) +} + +function Jr(e, t) { + return Jr = Object.setPrototypeOf || function(e, t) { + return e.__proto__ = t, e + }, Jr(e, t) +} +var Zr = { + PrecompiledLoader: $r + }.PrecompiledLoader, + ei = function(e) { + function t(t, n) { + var r; + return n = n || {}, (r = e.call(this) || this).pathsToNames = {}, r.noCache = !!n.noCache, t ? (t = Array.isArray(t) ? t : [t], r.searchPaths = t.map(Kr.normalize)) : r.searchPaths = ["."], r + } + return zr(t, e), t.prototype.getSource = function(e) { + for (var t = null, n = this.searchPaths, r = 0; r < n.length; r++) { + var i = Kr.resolve(n[r]), + s = Kr.resolve(n[r], e); + if (0 === s.indexOf(i) && Br.existsSync(s)) { + t = s; + break + } + } + if (!t) return null; + this.pathsToNames[t] = e; + var a = { + src: Br.readFileSync(t, "utf-8"), + path: t, + noCache: this.noCache + }; + return this.emit("load", e, a), a + }, t + }(Qr), + ti = { + FileSystemLoader: ei, + PrecompiledLoader: Zr, + NodeResolveLoader: function(e) { + function t(t) { + var n; + return t = t || {}, (n = e.call(this) || this).pathsToNames = {}, n.noCache = !!t.noCache, n + } + return zr(t, e), t.prototype.getSource = function(e) { + if (/^\.?\.?(\/|\\)/.test(e)) return null; + if (/^[A-Z]:/.test(e)) return null; + var t; + try { + t = Ye.resolve(e) + } catch (e) { + return null + } + this.pathsToNames[t] = e; + var n = { + src: Br.readFileSync(t, "utf-8"), + path: t, + noCache: this.noCache + }; + return this.emit("load", e, n), n + }, t + }(Qr) + }, + ni = Ke((function(e, t) { + var n = kr.SafeString; + t.callable = function(e) { + return "function" == typeof e + }, t.defined = function(e) { + return void 0 !== e + }, t.divisibleby = function(e, t) { + return e % t == 0 + }, t.escaped = function(e) { + return e instanceof n + }, t.equalto = function(e, t) { + return e === t + }, t.eq = t.equalto, t.sameas = t.equalto, t.even = function(e) { + return e % 2 == 0 + }, t.falsy = function(e) { + return !e + }, t.ge = function(e, t) { + return e >= t + }, t.greaterthan = function(e, t) { + return e > t + }, t.gt = t.greaterthan, t.le = function(e, t) { + return e <= t + }, t.lessthan = function(e, t) { + return e < t + }, t.lt = t.lessthan, t.lower = function(e) { + return e.toLowerCase() === e + }, t.ne = function(e, t) { + return e !== t + }, t.null = function(e) { + return null === e + }, t.number = function(e) { + return "number" == typeof e + }, t.odd = function(e) { + return e % 2 == 1 + }, t.string = function(e) { + return "string" == typeof e + }, t.truthy = function(e) { + return !!e + }, t.undefined = function(e) { + return void 0 === e + }, t.upper = function(e) { + return e.toUpperCase() === e + }, t.iterable = function(e) { + return "undefined" != typeof Symbol ? !!e[Symbol.iterator] : Array.isArray(e) || "string" == typeof e + }, t.mapping = function(e) { + var t = null != e && "object" == typeof e && !Array.isArray(e); + return Set ? t && !(e instanceof Set) : t + } + })); + +function ri(e) { + var t = -1; + return { + current: null, + reset: function() { + t = -1, this.current = null + }, + next: function() { + return ++t >= e.length && (t = 0), this.current = e[t], this.current + } + } +} +ni.callable, ni.defined, ni.divisibleby, ni.escaped, ni.equalto, ni.eq, ni.sameas, ni.even, ni.falsy, ni.ge, ni.greaterthan, ni.gt, ni.le, ni.lessthan, ni.lt, ni.lower, ni.ne, ni.number, ni.odd, ni.string, ni.truthy, ni.undefined, ni.upper, ni.iterable, ni.mapping; +var ii = function() { + return { + range: function(e, t, n) { + void 0 === t ? (t = e, e = 0, n = 1) : n || (n = 1); + var r = []; + if (n > 0) + for (var i = e; i < t; i += n) r.push(i); + else + for (var s = e; s > t; s += n) r.push(s); + return r + }, + cycler: function() { + return ri(Array.prototype.slice.call(arguments)) + }, + joiner: function(e) { + return function(e) { + e = e || ","; + var t = !0; + return function() { + var n = t ? "" : e; + return t = !1, n + } + }(e) + } + } +}; + +function si(e, t) { + e.prototype = Object.create(t.prototype), e.prototype.constructor = e, ai(e, t) +} + +function ai(e, t) { + return ai = Object.setPrototypeOf || function(e, t) { + return e.__proto__ = t, e + }, ai(e, t) +} +var oi = ti.FileSystemLoader, + ci = ti.WebLoader, + li = ti.PrecompiledLoader, + hi = en.Obj, + ui = en.EmitterObj, + pi = kr.handleError, + fi = kr.Frame; + +function di(e, t, n) { + Gt((function() { + e(t, n) + })) +} +var Ei = { + type: "code", + obj: { + root: function(e, t, n, r, i) { + try { + i(null, "") + } catch (e) { + i(pi(e, null, null)) + } + } + } + }, + mi = function(e) { + function t() { + return e.apply(this, arguments) || this + } + si(t, e); + var n = t.prototype; + return n.init = function(e, t) { + var n = this; + t = this.opts = t || {}, this.opts.dev = !!t.dev, this.opts.autoescape = null == t.autoescape || t.autoescape, this.opts.throwOnUndefined = !!t.throwOnUndefined, this.opts.trimBlocks = !!t.trimBlocks, this.opts.lstripBlocks = !!t.lstripBlocks, this.loaders = [], e ? this.loaders = je.isArray(e) ? e : [e] : oi ? this.loaders = [new oi("views")] : ci && (this.loaders = [new ci("/views")]), "undefined" != typeof window && window.jinja2Precompiled && this.loaders.unshift(new li(window.jinja2Precompiled)), this._initLoaders(), this.globals = ii(), this.filters = {}, this.tests = {}, this.asyncFilters = [], this.extensions = {}, this.extensionsList = [], je._entries(wr).forEach((function(e) { + var t = e[0], + r = e[1]; + return n.addFilter(t, r) + })), je._entries(ni).forEach((function(e) { + var t = e[0], + r = e[1]; + return n.addTest(t, r) + })) + }, n._initLoaders = function() { + var e = this; + this.loaders.forEach((function(t) { + t.cache = {}, "function" == typeof t.on && (t.on("update", (function(n, r) { + t.cache[n] = null, e.emit("update", n, r, t) + })), t.on("load", (function(n, r) { + e.emit("load", n, r, t) + }))) + })) + }, n.invalidateCache = function() { + this.loaders.forEach((function(e) { + e.cache = {} + })) + }, n.addExtension = function(e, t) { + return t.__name = e, this.extensions[e] = t, this.extensionsList.push(t), this + }, n.removeExtension = function(e) { + var t = this.getExtension(e); + t && (this.extensionsList = je.without(this.extensionsList, t), delete this.extensions[e]) + }, n.getExtension = function(e) { + return this.extensions[e] + }, n.hasExtension = function(e) { + return !!this.extensions[e] + }, n.addGlobal = function(e, t) { + return this.globals[e] = t, this + }, n.getGlobal = function(e) { + if (void 0 === this.globals[e]) throw new Error("global not found: " + e); + return this.globals[e] + }, n.addFilter = function(e, t, n) { + var r = t; + return n && this.asyncFilters.push(e), this.filters[e] = r, this + }, n.getFilter = function(e) { + if (!this.filters[e]) throw new Error("filter not found: " + e); + return this.filters[e] + }, n.addTest = function(e, t) { + return this.tests[e] = t, this + }, n.getTest = function(e) { + if (!this.tests[e]) throw new Error("test not found: " + e); + return this.tests[e] + }, n.resolveTemplate = function(e, t, n) { + return !(!e.isRelative || !t) && e.isRelative(n) && e.resolve ? e.resolve(t, n) : n + }, n.getTemplate = function(e, t, n, r, i) { + var s, a = this, + o = this, + c = null; + if (e && e.raw && (e = e.raw), je.isFunction(n) && (i = n, n = null, t = t || !1), je.isFunction(t) && (i = t, t = !1), e instanceof _i) c = e; + else { + if ("string" != typeof e) throw new Error("template names must be a string: " + e); + for (var l = 0; l < this.loaders.length; l++) { + var h = this.loaders[l]; + if (c = h.cache[this.resolveTemplate(h, n, e)]) break + } + } + if (c) return t && c.compile(), i ? void i(null, c) : c; + return je.asyncIter(this.loaders, (function(t, r, i, s) { + function a(e, n) { + e ? s(e) : n ? (n.loader = t, s(null, n)) : i() + } + e = o.resolveTemplate(t, n, e), t.async ? t.getSource(e, a) : a(null, t.getSource(e)) + }), (function(n, o) { + if (o || n || r || (n = new Error("template not found: " + e)), n) { + if (i) return void i(n); + throw n + } + var c; + o ? (c = new _i(o.src, a, o.path, t), o.noCache || (o.loader.cache[e] = c)) : c = new _i(Ei, a, "", t), i ? i(null, c) : s = c + })), s + }, n.express = function(e) { + return function(e, t) { + function n(e, t) { + if (this.name = e, this.path = e, this.defaultEngine = t.defaultEngine, this.ext = Kr.extname(e), !this.ext && !this.defaultEngine) throw new Error("No default engine was specified and no extension was provided."); + this.ext || (this.name += this.ext = ("." !== this.defaultEngine[0] ? "." : "") + this.defaultEngine) + } + return n.prototype.render = function(t, n) { + e.render(this.name, t, n) + }, t.set("view", n), t.set("jinja2Env", e), e + }(this, e) + }, n.render = function(e, t, n) { + je.isFunction(t) && (n = t, t = null); + var r = null; + return this.getTemplate(e, (function(e, i) { + if (e && n) di(n, e); + else { + if (e) throw e; + r = i.render(t, n) + } + })), r + }, n.renderString = function(e, t, n, r) { + return je.isFunction(n) && (r = n, n = {}), new _i(e, this, (n = n || {}).path).render(t, r) + }, n.waterfall = function(e, t, n) { + return qt(e, t, n) + }, t + }(ui), + Ti = function(e) { + function t() { + return e.apply(this, arguments) || this + } + si(t, e); + var n = t.prototype; + return n.init = function(e, t, n) { + var r = this; + this.env = n || new mi, this.ctx = je.extend({}, e), this.blocks = {}, this.exported = [], je.keys(t).forEach((function(e) { + r.addBlock(e, t[e]) + })) + }, n.lookup = function(e) { + return e in this.env.globals && !(e in this.ctx) ? this.env.globals[e] : this.ctx[e] + }, n.setVariable = function(e, t) { + this.ctx[e] = t + }, n.getVariables = function() { + return this.ctx + }, n.addBlock = function(e, t) { + return this.blocks[e] = this.blocks[e] || [], this.blocks[e].push(t), this + }, n.getBlock = function(e) { + if (!this.blocks[e]) throw new Error('unknown block "' + e + '"'); + return this.blocks[e][0] + }, n.getSuper = function(e, t, n, r, i, s) { + var a = je.indexOf(this.blocks[t] || [], n), + o = this.blocks[t][a + 1]; + if (-1 === a || !o) throw new Error('no super block available for "' + t + '"'); + o(e, this, r, i, s) + }, n.addExport = function(e) { + this.exported.push(e) + }, n.getExported = function() { + var e = this, + t = {}; + return this.exported.forEach((function(n) { + t[n] = e.ctx[n] + })), t + }, t + }(hi), + _i = function(e) { + function t() { + return e.apply(this, arguments) || this + } + si(t, e); + var n = t.prototype; + return n.init = function(e, t, n, r) { + if (this.env = t || new mi, je.isObject(e)) switch (e.type) { + case "code": + this.tmplProps = e.obj; + break; + case "string": + this.tmplStr = e.obj; + break; + default: + throw new Error("Unexpected template object type " + e.type + "; expected 'code', or 'string'") + } else { + if (!je.isString(e)) throw new Error("src must be a string or an object describing the source"); + this.tmplStr = e + } + if (this.path = n, r) try { + this._compile() + } catch (e) { + throw je._prettifyError(this.path, this.env.opts.dev, e) + } else this.compiled = !1 + }, n.render = function(e, t, n) { + var r = this; + "function" == typeof e ? (n = e, e = {}) : "function" == typeof t && (n = t, t = null); + var i = !t; + try { + this.compile() + } catch (e) { + var s = je._prettifyError(this.path, this.env.opts.dev, e); + if (n) return di(n, s); + throw s + } + var a = new Ti(e || {}, this.blocks, this.env), + o = t ? t.push(!0) : new fi; + o.topLevel = !0; + var c = null, + l = !1; + return this.rootRenderFunc(this.env, a, o, kr, (function(e, t) { + if (!l || !n || void 0 === t) + if (e && (e = je._prettifyError(r.path, r.env.opts.dev, e), l = !0), n) i ? di(n, e, t) : n(e, t); + else { + if (e) throw e; + c = t + } + })), c + }, n.getExported = function(e, t, n) { + "function" == typeof e && (n = e, e = {}), "function" == typeof t && (n = t, t = null); + try { + this.compile() + } catch (e) { + if (n) return n(e); + throw e + } + var r = t ? t.push() : new fi; + r.topLevel = !0; + var i = new Ti(e || {}, this.blocks, this.env); + this.rootRenderFunc(this.env, i, r, kr, (function(e) { + e ? n(e, null) : n(null, i.getExported()) + })) + }, n.compile = function() { + this.compiled || this._compile() + }, n._compile = function() { + var e; + if (this.tmplProps) e = this.tmplProps; + else { + var t = xr.compile(this.tmplStr, this.env.asyncFilters, this.env.extensionsList, this.path, this.env.opts); + e = new Function(t)() + } + this.blocks = this._getBlocks(e), this.rootRenderFunc = e.root, this.compiled = !0 + }, n._getBlocks = function(e) { + var t = {}; + return je.keys(e).forEach((function(n) { + "b_" === n.slice(0, 2) && (t[n.slice(2)] = e[n]) + })), t + }, t + }(hi), + Ai = { + Environment: mi, + Template: _i + }; +je._prettifyError; +var gi, Ni = Ai.Environment; + +function Ci(e, t) { + var n; + return t = t || {}, je.isObject(e) && (t = e, e = null), ti.FileSystemLoader ? n = new ti.FileSystemLoader(e, { + watch: t.watch, + noCache: t.noCache + }) : ti.WebLoader && (n = new ti.WebLoader(e, { + useCache: t.web && t.web.useCache, + async: t.web && t.web.async + })), gi = new Ni(n, t), t && t.express && gi.express(t.express), gi +} +ti.FileSystemLoader, ti.NodeResolveLoader, ti.PrecompiledLoader, ti.WebLoader; +var Ii = function(e, t, n) { + return gi || Ci(), gi.renderString(e, t, n) + }, + Si = function() { + return Si = Object.assign || function(e) { + for (var t, n = 1, r = arguments.length; n < r; n++) + for (var i in t = arguments[n]) Object.prototype.hasOwnProperty.call(t, i) && (e[i] = t[i]); + return e + }, Si.apply(this, arguments) + }; + +function bi(e, t, n) { + return e ? e(null != t ? t : e._root.children, null, void 0, n).toString() : "" +} + +function Oi(e, t) { + return bi(this, function(e, t) { + return !t && "object" == typeof e && null != e && !("length" in e) && !("type" in e) + }(e) ? void(t = e) : e, Si(Si(Si({}, n), null == this ? void 0 : this._options), i(null != t ? t : {}))) +} + +function yi(e) { + return bi(this, e, Si(Si({}, this._options), { + xmlMode: !0 + })) +} + +function Li(e) { + for (var t = e || (this ? this.root() : []), n = "", r = 0; r < t.length; r++) n += z(t[r]); + return n +} + +function ki(e, t, r) { + if (void 0 === r && (r = "boolean" == typeof t && t), !e || "string" != typeof e) return null; + "boolean" == typeof t && (r = t); + var i = this.load(e, n, !1); + return r || i("script").remove(), i.root()[0].children.slice() +} + +function vi() { + return this(this._root) +} + +function Di(e, t) { + if (t === e) return !1; + for (var n = t; n && n !== n.parent;) + if ((n = n.parent) === e) return !0; + return !1 +} + +function Ri(e, t) { + if (Mi(e) && Mi(t)) { + for (var n = e.length, r = +t.length, i = 0; i < r; i++) e[n++] = t[i]; + return e.length = n, e + } +} + +function Mi(e) { + if (Array.isArray(e)) return !0; + if ("object" != typeof e || !Object.prototype.hasOwnProperty.call(e, "length") || "number" != typeof e.length || e.length < 0) return !1; + for (var t = 0; t < e.length; t++) + if (!(t in e)) return !1; + return !0 +} +var Pi, xi = Object.freeze({ + __proto__: null, + html: Oi, + xml: yi, + text: Li, + parseHTML: ki, + root: vi, + contains: Di, + merge: Ri, + jp: function(e, t) { + return He({ + path: e, + json: t + }) + }, + jpo: function(e) { + return He(e) + }, + jinja2: function(e, t) { + return Ii(e, t) + } +}); + +function wi(e) { + return null != e.cheerio +} + +function Bi(e, t) { + for (var n = e.length, r = 0; r < n; r++) t(e[r], r); + return e +} + +function Fi(e) { + var t = "length" in e ? Array.prototype.map.call(e, (function(e) { + return v(e, !0) + })) : [v(e, !0)], + n = new N(t); + return t.forEach((function(e) { + e.parent = n + })), t +} + +function Ui(e) { + var t = e.indexOf("<"); + if (t < 0 || t > e.length - 3) return !1; + var n = e.charCodeAt(t + 1); + return (n >= Pi.LowerA && n <= Pi.LowerZ || n >= Pi.UpperA && n <= Pi.UpperZ || n === Pi.Exclamation) && e.includes(">", t + 2) +}! function(e) { + e[e.LowerA = 97] = "LowerA", e[e.LowerZ = 122] = "LowerZ", e[e.UpperA = 65] = "UpperA", e[e.UpperZ = 90] = "UpperZ", e[e.Exclamation = 33] = "Exclamation" +}(Pi || (Pi = {})); +var Hi = Object.prototype.hasOwnProperty, + Gi = /\s+/, + Yi = { + null: null, + true: !0, + false: !1 + }, + qi = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i, + Ki = /^{[^]*}$|^\[[^]*]$/; + +function ji(e, t, n) { + var r; + if (e && I(e)) return null !== (r = e.attribs) && void 0 !== r || (e.attribs = {}), t ? Hi.call(e.attribs, t) ? !n && qi.test(t) ? t : e.attribs[t] : "option" === e.name && "value" === t ? Li(e.children) : "input" !== e.name || "radio" !== e.attribs.type && "checkbox" !== e.attribs.type || "value" !== t ? void 0 : "on" : e.attribs +} + +function Vi(e, t, n) { + null === n ? zi(e, t) : e.attribs[t] = "".concat(n) +} + +function Wi(e, t, n) { + return t in e ? e[t] : !n && qi.test(t) ? void 0 !== ji(e, t, !1) : ji(e, t, n) +} + +function Qi(e, t, n, r) { + t in e ? e[t] = n : Vi(e, t, !r && qi.test(t) ? n ? "" : null : "".concat(n)) +} + +function Xi(e, t, n) { + var r, i = e; + null !== (r = i.data) && void 0 !== r || (i.data = {}), "object" == typeof t ? Object.assign(i.data, t) : "string" == typeof t && void 0 !== n && (i.data[t] = n) +} + +function $i(e, t) { + var n, r, i, s; + null == t ? r = (n = Object.keys(e.attribs).filter((function(e) { + return e.startsWith("data-") + }))).map((function(e) { + return e.slice("data-".length).replace(/[_.-](\w|$)/g, (function(e, t) { + return t.toUpperCase() + })) + })) : (n = ["data-" + (s = t, s.replace(/[A-Z]/g, "-$&").toLowerCase())], r = [t]); + for (var a = 0; a < n.length; ++a) { + var o = n[a], + c = r[a]; + if (Hi.call(e.attribs, o) && !Hi.call(e.data, c)) { + if (i = e.attribs[o], Hi.call(Yi, i)) i = Yi[i]; + else if (i === String(Number(i))) i = Number(i); + else if (Ki.test(i)) try { + i = JSON.parse(i) + } catch (e) {} + e.data[c] = i + } + } + return null == t ? e.data : i +} + +function zi(e, t) { + e.attribs && Hi.call(e.attribs, t) && delete e.attribs[t] +} + +function Ji(e) { + return e ? e.trim().split(Gi) : [] +} +var Zi, es, ts = Object.freeze({ + __proto__: null, + attr: function(e, t) { + if ("object" == typeof e || void 0 !== t) { + if ("function" == typeof t) { + if ("string" != typeof e) throw new Error("Bad combination of arguments."); + return Bi(this, (function(n, r) { + I(n) && Vi(n, e, t.call(n, r, n.attribs[e])) + })) + } + return Bi(this, (function(n) { + I(n) && ("object" == typeof e ? Object.keys(e).forEach((function(t) { + var r = e[t]; + Vi(n, t, r) + })) : Vi(n, e, t)) + })) + } + return arguments.length > 1 ? this : ji(this[0], e, this.options.xmlMode) + }, + prop: function(e, t) { + var n, r = this; + if ("string" == typeof e && void 0 === t) { + var i = this[0]; + if (!i || !I(i)) return; + switch (e) { + case "style": + var s = this.css(), + a = Object.keys(s); + return a.forEach((function(e, t) { + s[t] = e + })), s.length = a.length, s; + case "tagName": + case "nodeName": + return i.name.toUpperCase(); + case "href": + case "src": + var o = null === (n = i.attribs) || void 0 === n ? void 0 : n[e]; + return "undefined" == typeof URL || ("href" !== e || "a" !== i.tagName && "link" !== i.name) && ("src" !== e || "img" !== i.tagName && "iframe" !== i.tagName && "audio" !== i.tagName && "video" !== i.tagName && "source" !== i.tagName) || void 0 === o || !this.options.baseURI ? o : new URL(o, this.options.baseURI).href; + case "innerText": + return J(i); + case "textContent": + return z(i); + case "outerHTML": + return this.clone().wrap("").parent().html(); + case "innerHTML": + return this.html(); + default: + return Wi(i, e, this.options.xmlMode) + } + } + if ("object" == typeof e || void 0 !== t) { + if ("function" == typeof t) { + if ("object" == typeof e) throw new Error("Bad combination of arguments."); + return Bi(this, (function(n, i) { + I(n) && Qi(n, e, t.call(n, i, Wi(n, e, r.options.xmlMode)), r.options.xmlMode) + })) + } + return Bi(this, (function(n) { + I(n) && ("object" == typeof e ? Object.keys(e).forEach((function(t) { + var i = e[t]; + Qi(n, t, i, r.options.xmlMode) + })) : Qi(n, e, t, r.options.xmlMode)) + })) + } + }, + data: function(e, t) { + var n, r = this[0]; + if (r && I(r)) { + var i = r; + return null !== (n = i.data) && void 0 !== n || (i.data = {}), e ? "object" == typeof e || void 0 !== t ? (Bi(this, (function(n) { + I(n) && ("object" == typeof e ? Xi(n, e) : Xi(n, e, t)) + })), this) : Hi.call(i.data, e) ? i.data[e] : $i(i, e) : $i(i) + } + }, + val: function(e) { + var t = 0 === arguments.length, + n = this[0]; + if (!n || !I(n)) return t ? void 0 : this; + switch (n.name) { + case "textarea": + return this.text(e); + case "select": + var r = this.find("option:selected"); + if (!t) { + if (null == this.attr("multiple") && "object" == typeof e) return this; + this.find("option").removeAttr("selected"); + for (var i = "object" != typeof e ? [e] : e, s = 0; s < i.length; s++) this.find('option[value="'.concat(i[s], '"]')).attr("selected", ""); + return this + } + return this.attr("multiple") ? r.toArray().map((function(e) { + return Li(e.children) + })) : r.attr("value"); + case "input": + case "option": + return t ? this.attr("value") : this.attr("value", e) + } + }, + removeAttr: function(e) { + for (var t = Ji(e), n = function(e) { + Bi(r, (function(n) { + I(n) && zi(n, t[e]) + })) + }, r = this, i = 0; i < t.length; i++) n(i); + return this + }, + hasClass: function(e) { + return this.toArray().some((function(t) { + var n = I(t) && t.attribs.class, + r = -1; + if (n && e.length) + for (; + (r = n.indexOf(e, r + 1)) > -1;) { + var i = r + e.length; + if ((0 === r || Gi.test(n[r - 1])) && (i === n.length || Gi.test(n[i]))) return !0 + } + return !1 + })) + }, + addClass: function e(t) { + if ("function" == typeof t) return Bi(this, (function(n, r) { + if (I(n)) { + var i = n.attribs.class || ""; + e.call([n], t.call(n, r, i)) + } + })); + if (!t || "string" != typeof t) return this; + for (var n = t.split(Gi), r = this.length, i = 0; i < r; i++) { + var s = this[i]; + if (I(s)) { + var a = ji(s, "class", !1); + if (a) { + for (var o = " ".concat(a, " "), c = 0; c < n.length; c++) { + var l = "".concat(n[c], " "); + o.includes(" ".concat(l)) || (o += l) + } + Vi(s, "class", o.trim()) + } else Vi(s, "class", n.join(" ").trim()) + } + } + return this + }, + removeClass: function e(t) { + if ("function" == typeof t) return Bi(this, (function(n, r) { + I(n) && e.call([n], t.call(n, r, n.attribs.class || "")) + })); + var n = Ji(t), + r = n.length, + i = 0 === arguments.length; + return Bi(this, (function(e) { + if (I(e)) + if (i) e.attribs.class = ""; + else { + for (var t = Ji(e.attribs.class), s = !1, a = 0; a < r; a++) { + var o = t.indexOf(n[a]); + o >= 0 && (t.splice(o, 1), s = !0, a--) + } + s && (e.attribs.class = t.join(" ")) + } + })) + }, + toggleClass: function e(t, n) { + if ("function" == typeof t) return Bi(this, (function(r, i) { + I(r) && e.call([r], t.call(r, i, r.attribs.class || "", n), n) + })); + if (!t || "string" != typeof t) return this; + for (var r = t.split(Gi), i = r.length, s = "boolean" == typeof n ? n ? 1 : -1 : 0, a = this.length, o = 0; o < a; o++) { + var c = this[o]; + if (I(c)) { + for (var l = Ji(c.attribs.class), h = 0; h < i; h++) { + var u = l.indexOf(r[h]); + s >= 0 && u < 0 ? l.push(r[h]) : s <= 0 && u >= 0 && l.splice(u, 1) + } + c.attribs.class = l.join(" ") + } + } + return this + } +}); +! function(e) { + e.Attribute = "attribute", e.Pseudo = "pseudo", e.PseudoElement = "pseudo-element", e.Tag = "tag", e.Universal = "universal", e.Adjacent = "adjacent", e.Child = "child", e.Descendant = "descendant", e.Parent = "parent", e.Sibling = "sibling", e.ColumnCombinator = "column-combinator" +}(Zi || (Zi = {})), +function(e) { + e.Any = "any", e.Element = "element", e.End = "end", e.Equals = "equals", e.Exists = "exists", e.Hyphen = "hyphen", e.Not = "not", e.Start = "start" +}(es || (es = {})); +const ns = /^[^\\#]?(?:\\(?:[\da-f]{1,6}\s?|.)|[\w\-\u00b0-\uFFFF])+/, + rs = /\\([\da-f]{1,6}\s?|(\s)|.)/gi, + is = new Map([ + [126, es.Element], + [94, es.Start], + [36, es.End], + [42, es.Any], + [33, es.Not], + [124, es.Hyphen] + ]), + ss = new Set(["has", "not", "matches", "is", "where", "host", "host-context"]); + +function as(e) { + switch (e.type) { + case Zi.Adjacent: + case Zi.Child: + case Zi.Descendant: + case Zi.Parent: + case Zi.Sibling: + case Zi.ColumnCombinator: + return !0; + default: + return !1 + } +} +const os = new Set(["contains", "icontains"]); + +function cs(e, t, n) { + const r = parseInt(t, 16) - 65536; + return r != r || n ? t : r < 0 ? String.fromCharCode(r + 65536) : String.fromCharCode(r >> 10 | 55296, 1023 & r | 56320) +} + +function ls(e) { + return e.replace(rs, cs) +} + +function hs(e) { + return 39 === e || 34 === e +} + +function us(e) { + return 32 === e || 9 === e || 10 === e || 12 === e || 13 === e +} + +function ps(e) { + const t = [], + n = fs(t, `${e}`, 0); + if (n < e.length) throw new Error(`Unmatched selector: ${e.slice(n)}`); + return t +} + +function fs(e, t, n) { + let r = []; + + function i(e) { + const r = t.slice(n + e).match(ns); + if (!r) throw new Error(`Expected name, found ${t.slice(n)}`); + const [i] = r; + return n += e + i.length, ls(i) + } + + function s(e) { + for (n += e; n < t.length && us(t.charCodeAt(n));) n++ + } + + function a() { + const e = n += 1; + let r = 1; + for (; r > 0 && n < t.length; n++) 40 !== t.charCodeAt(n) || o(n) ? 41 !== t.charCodeAt(n) || o(n) || r-- : r++; + if (r) throw new Error("Parenthesis not matched"); + return ls(t.slice(e, n - 1)) + } + + function o(e) { + let n = 0; + for (; 92 === t.charCodeAt(--e);) n++; + return 1 == (1 & n) + } + + function c() { + if (r.length > 0 && as(r[r.length - 1])) throw new Error("Did not expect successive traversals.") + } + + function l(e) { + r.length > 0 && r[r.length - 1].type === Zi.Descendant ? r[r.length - 1].type = e : (c(), r.push({ + type: e + })) + } + + function h(e, t) { + r.push({ + type: Zi.Attribute, + name: e, + action: t, + value: i(1), + namespace: null, + ignoreCase: "quirks" + }) + } + + function u() { + if (r.length && r[r.length - 1].type === Zi.Descendant && r.pop(), 0 === r.length) throw new Error("Empty sub-selector"); + e.push(r) + } + if (s(0), t.length === n) return n; + e: for (; n < t.length;) { + const e = t.charCodeAt(n); + switch (e) { + case 32: + case 9: + case 10: + case 12: + case 13: + 0 !== r.length && r[0].type === Zi.Descendant || (c(), r.push({ + type: Zi.Descendant + })), s(1); + break; + case 62: + l(Zi.Child), s(1); + break; + case 60: + l(Zi.Parent), s(1); + break; + case 126: + l(Zi.Sibling), s(1); + break; + case 43: + l(Zi.Adjacent), s(1); + break; + case 46: + h("class", es.Element); + break; + case 35: + h("id", es.Equals); + break; + case 91: { + let e; + s(1); + let a = null; + 124 === t.charCodeAt(n) ? e = i(1) : t.startsWith("*|", n) ? (a = "*", e = i(2)) : (e = i(0), 124 === t.charCodeAt(n) && 61 !== t.charCodeAt(n + 1) && (a = e, e = i(1))), s(0); + let c = es.Exists; + const l = is.get(t.charCodeAt(n)); + if (l) { + if (c = l, 61 !== t.charCodeAt(n + 1)) throw new Error("Expected `=`"); + s(2) + } else 61 === t.charCodeAt(n) && (c = es.Equals, s(1)); + let h = "", + u = null; + if ("exists" !== c) { + if (hs(t.charCodeAt(n))) { + const e = t.charCodeAt(n); + let r = n + 1; + for (; r < t.length && (t.charCodeAt(r) !== e || o(r));) r += 1; + if (t.charCodeAt(r) !== e) throw new Error("Attribute value didn't end"); + h = ls(t.slice(n + 1, r)), n = r + 1 + } else { + const e = n; + for (; n < t.length && (!us(t.charCodeAt(n)) && 93 !== t.charCodeAt(n) || o(n));) n += 1; + h = ls(t.slice(e, n)) + } + s(0); + const e = 32 | t.charCodeAt(n); + 115 === e ? (u = !1, s(1)) : 105 === e && (u = !0, s(1)) + } + if (93 !== t.charCodeAt(n)) throw new Error("Attribute selector didn't terminate"); + n += 1; + const p = { + type: Zi.Attribute, + name: e, + action: c, + value: h, + namespace: a, + ignoreCase: u + }; + r.push(p); + break + } + case 58: { + if (58 === t.charCodeAt(n + 1)) { + r.push({ + type: Zi.PseudoElement, + name: i(2).toLowerCase(), + data: 40 === t.charCodeAt(n) ? a() : null + }); + continue + } + const e = i(1).toLowerCase(); + let s = null; + if (40 === t.charCodeAt(n)) + if (ss.has(e)) { + if (hs(t.charCodeAt(n + 1))) throw new Error(`Pseudo-selector ${e} cannot be quoted`); + if (s = [], n = fs(s, t, n + 1), 41 !== t.charCodeAt(n)) throw new Error(`Missing closing parenthesis in :${e} (${t})`); + n += 1 + } else { + if (s = a(), os.has(e)) { + const e = s.charCodeAt(0); + e === s.charCodeAt(s.length - 1) && hs(e) && (s = s.slice(1, -1)) + } + s = ls(s) + } r.push({ + type: Zi.Pseudo, + name: e, + data: s + }); + break + } + case 44: + u(), r = [], s(1); + break; + default: { + if (t.startsWith("/*", n)) { + const e = t.indexOf("*/", n + 2); + if (e < 0) throw new Error("Comment was not terminated"); + n = e + 2, 0 === r.length && s(0); + break + } + let a, o = null; + if (42 === e) n += 1, a = "*"; + else if (124 === e) { + if (a = "", 124 === t.charCodeAt(n + 1)) { + l(Zi.ColumnCombinator), s(2); + break + } + } else { + if (!ns.test(t.slice(n))) break e; + a = i(0) + } + 124 === t.charCodeAt(n) && 124 !== t.charCodeAt(n + 1) && (o = a, 42 === t.charCodeAt(n + 1) ? (a = "*", n += 2) : a = i(1)), r.push("*" === a ? { + type: Zi.Universal, + namespace: o + } : { + type: Zi.Tag, + name: a, + namespace: o + }) + } + } + } + return u(), n +} +var ds = { + trueFunc: function() { + return !0 + }, + falseFunc: function() { + return !1 + } + }, + Es = ds.trueFunc; +const ms = new Map([ + [Zi.Universal, 50], + [Zi.Tag, 30], + [Zi.Attribute, 1], + [Zi.Pseudo, 0] +]); + +function Ts(e) { + return !ms.has(e.type) +} +const _s = new Map([ + [es.Exists, 10], + [es.Equals, 8], + [es.Not, 7], + [es.Start, 6], + [es.End, 6], + [es.Any, 5] +]); + +function As(e) { + const t = e.map(gs); + for (let n = 1; n < e.length; n++) { + const r = t[n]; + if (!(r < 0)) + for (let i = n - 1; i >= 0 && r < t[i]; i--) { + const n = e[i + 1]; + e[i + 1] = e[i], e[i] = n, t[i + 1] = t[i], t[i] = r + } + } +} + +function gs(e) { + var t, n; + let r = null !== (t = ms.get(e.type)) && void 0 !== t ? t : -1; + return e.type === Zi.Attribute ? (r = null !== (n = _s.get(e.action)) && void 0 !== n ? n : 4, e.action === es.Equals && "id" === e.name && (r = 9), e.ignoreCase && (r >>= 1)) : e.type === Zi.Pseudo && (e.data ? "has" === e.name || "contains" === e.name ? r = 0 : Array.isArray(e.data) ? (r = Math.min(...e.data.map((e => Math.min(...e.map(gs))))), r < 0 && (r = 0)) : r = 2 : r = 3), r +} +const Ns = /[-[\]{}()*+?.,\\^$|#\s]/g; + +function Cs(e) { + return e.replace(Ns, "\\$&") +} +const Is = 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 Ss(e, t) { + return "boolean" == typeof e.ignoreCase ? e.ignoreCase : "quirks" === e.ignoreCase ? !!t.quirksMode : !t.xmlMode && Is.has(e.name) +} +const bs = { + equals(e, t, n) { + const { + adapter: r + } = n, { + name: i + } = t; + let { + value: s + } = t; + return Ss(t, n) ? (s = s.toLowerCase(), t => { + const n = r.getAttributeValue(t, i); + return null != n && n.length === s.length && n.toLowerCase() === s && e(t) + }) : t => r.getAttributeValue(t, i) === s && e(t) + }, + hyphen(e, t, n) { + const { + adapter: r + } = n, { + name: i + } = t; + let { + value: s + } = t; + const a = s.length; + return Ss(t, n) ? (s = s.toLowerCase(), function(t) { + const n = r.getAttributeValue(t, i); + return null != n && (n.length === a || "-" === n.charAt(a)) && n.substr(0, a).toLowerCase() === s && e(t) + }) : function(t) { + const n = r.getAttributeValue(t, i); + return null != n && (n.length === a || "-" === n.charAt(a)) && n.substr(0, a) === s && e(t) + } + }, + element(e, t, n) { + const { + adapter: r + } = n, { + name: i, + value: s + } = t; + if (/\s/.test(s)) return ds.falseFunc; + const a = new RegExp(`(?:^|\\s)${Cs(s)}(?:$|\\s)`, Ss(t, n) ? "i" : ""); + return function(t) { + const n = r.getAttributeValue(t, i); + return null != n && n.length >= s.length && a.test(n) && e(t) + } + }, + exists: (e, { + name: t + }, { + adapter: n + }) => r => n.hasAttrib(r, t) && e(r), + start(e, t, n) { + const { + adapter: r + } = n, { + name: i + } = t; + let { + value: s + } = t; + const a = s.length; + return 0 === a ? ds.falseFunc : Ss(t, n) ? (s = s.toLowerCase(), t => { + const n = r.getAttributeValue(t, i); + return null != n && n.length >= a && n.substr(0, a).toLowerCase() === s && e(t) + }) : t => { + var n; + return !!(null === (n = r.getAttributeValue(t, i)) || void 0 === n ? void 0 : n.startsWith(s)) && e(t) + } + }, + end(e, t, n) { + const { + adapter: r + } = n, { + name: i + } = t; + let { + value: s + } = t; + const a = -s.length; + return 0 === a ? ds.falseFunc : Ss(t, n) ? (s = s.toLowerCase(), t => { + var n; + return (null === (n = r.getAttributeValue(t, i)) || void 0 === n ? void 0 : n.substr(a).toLowerCase()) === s && e(t) + }) : t => { + var n; + return !!(null === (n = r.getAttributeValue(t, i)) || void 0 === n ? void 0 : n.endsWith(s)) && e(t) + } + }, + any(e, t, n) { + const { + adapter: r + } = n, { + name: i, + value: s + } = t; + if ("" === s) return ds.falseFunc; + if (Ss(t, n)) { + const t = new RegExp(Cs(s), "i"); + return function(n) { + const a = r.getAttributeValue(n, i); + return null != a && a.length >= s.length && t.test(a) && e(n) + } + } + return t => { + var n; + return !!(null === (n = r.getAttributeValue(t, i)) || void 0 === n ? void 0 : n.includes(s)) && e(t) + } + }, + not(e, t, n) { + const { + adapter: r + } = n, { + name: i + } = t; + let { + value: s + } = t; + return "" === s ? t => !!r.getAttributeValue(t, i) && e(t) : Ss(t, n) ? (s = s.toLowerCase(), t => { + const n = r.getAttributeValue(t, i); + return (null == n || n.length !== s.length || n.toLowerCase() !== s) && e(t) + }) : t => r.getAttributeValue(t, i) !== s && e(t) + } +}; +var Os = Ke((function(e, t) { + Object.defineProperty(t, "__esModule", { + value: !0 + }), t.parse = void 0; + var n = new Set([9, 10, 12, 13, 32]), + r = "0".charCodeAt(0), + i = "9".charCodeAt(0); + t.parse = function(e) { + if ("even" === (e = e.trim().toLowerCase())) return [2, 0]; + if ("odd" === e) return [2, 1]; + var t = 0, + s = 0, + a = c(), + o = l(); + if (t < e.length && "n" === e.charAt(t) && (t++, s = a * (null != o ? o : 1), h(), t < e.length ? (a = c(), h(), o = l()) : a = o = 0), null === o || t < e.length) throw new Error("n-th rule couldn't be parsed ('" + e + "')"); + return [s, a * o]; + + function c() { + return "-" === e.charAt(t) ? (t++, -1) : ("+" === e.charAt(t) && t++, 1) + } + + function l() { + for (var n = t, s = 0; t < e.length && e.charCodeAt(t) >= r && e.charCodeAt(t) <= i;) s = 10 * s + (e.charCodeAt(t) - r), t++; + return t === n ? null : s + } + + function h() { + for (; t < e.length && n.has(e.charCodeAt(t));) t++ + } + } +})); +qe(Os), Os.parse; +var ys = Ke((function(e, t) { + Object.defineProperty(t, "__esModule", { + value: !0 + }), t.compile = void 0, t.compile = function(e) { + var t = e[0], + n = e[1] - 1; + if (n < 0 && t <= 0) return ds.falseFunc; + if (-1 === t) return function(e) { + return e <= n + }; + if (0 === t) return function(e) { + return e === n + }; + if (1 === t) return n < 0 ? ds.trueFunc : function(e) { + return e >= n + }; + var r = Math.abs(t), + i = (n % r + r) % r; + return t > 1 ? function(e) { + return e >= n && e % r === i + } : function(e) { + return e <= n && e % r === i + } + } +})); +qe(ys), ys.compile; +var Ls = Os, + ks = ys, + vs = Ke((function(e, t) { + Object.defineProperty(t, "__esModule", { + value: !0 + }), t.compile = t.parse = void 0, Object.defineProperty(t, "parse", { + enumerable: !0, + get: function() { + return Ls.parse + } + }), Object.defineProperty(t, "compile", { + enumerable: !0, + get: function() { + return ks.compile + } + }), t.default = function(e) { + return (0, ks.compile)((0, Ls.parse)(e)) + } + })), + Ds = qe(vs); + +function Rs(e, t) { + return n => { + const r = t.getParent(n); + return null != r && t.isTag(r) && e(n) + } +} +vs.compile, vs.parse; +const Ms = { + contains: (e, t, { + adapter: n + }) => function(r) { + return e(r) && n.getText(r).includes(t) + }, + icontains(e, t, { + adapter: n + }) { + const r = t.toLowerCase(); + return function(t) { + return e(t) && n.getText(t).toLowerCase().includes(r) + } + }, + "nth-child"(e, t, { + adapter: n, + equals: r + }) { + const i = Ds(t); + return i === ds.falseFunc ? ds.falseFunc : i === ds.trueFunc ? Rs(e, n) : function(t) { + const s = n.getSiblings(t); + let a = 0; + for (let e = 0; e < s.length && !r(t, s[e]); e++) n.isTag(s[e]) && a++; + return i(a) && e(t) + } + }, + "nth-last-child"(e, t, { + adapter: n, + equals: r + }) { + const i = Ds(t); + return i === ds.falseFunc ? ds.falseFunc : i === ds.trueFunc ? Rs(e, n) : function(t) { + const s = n.getSiblings(t); + let a = 0; + for (let e = s.length - 1; e >= 0 && !r(t, s[e]); e--) n.isTag(s[e]) && a++; + return i(a) && e(t) + } + }, + "nth-of-type"(e, t, { + adapter: n, + equals: r + }) { + const i = Ds(t); + return i === ds.falseFunc ? ds.falseFunc : i === ds.trueFunc ? Rs(e, n) : function(t) { + const s = n.getSiblings(t); + let a = 0; + for (let e = 0; e < s.length; e++) { + const i = s[e]; + if (r(t, i)) break; + n.isTag(i) && n.getName(i) === n.getName(t) && a++ + } + return i(a) && e(t) + } + }, + "nth-last-of-type"(e, t, { + adapter: n, + equals: r + }) { + const i = Ds(t); + return i === ds.falseFunc ? ds.falseFunc : i === ds.trueFunc ? Rs(e, n) : function(t) { + const s = n.getSiblings(t); + let a = 0; + for (let e = s.length - 1; e >= 0; e--) { + const i = s[e]; + if (r(t, i)) break; + n.isTag(i) && n.getName(i) === n.getName(t) && a++ + } + return i(a) && e(t) + } + }, + root: (e, t, { + adapter: n + }) => t => { + const r = n.getParent(t); + return (null == r || !n.isTag(r)) && e(t) + }, + scope(e, t, n, r) { + const { + equals: i + } = n; + return r && 0 !== r.length ? 1 === r.length ? t => i(r[0], t) && e(t) : t => r.includes(t) && e(t) : Ms.root(e, t, n) + }, + hover: Ps("isHovered"), + visited: Ps("isVisited"), + active: Ps("isActive") +}; + +function Ps(e) { + return function(t, n, { + adapter: r + }) { + const i = r[e]; + return "function" != typeof i ? ds.falseFunc : function(e) { + return i(e) && t(e) + } + } +} +const xs = { + empty: (e, { + adapter: t + }) => !t.getChildren(e).some((e => t.isTag(e) || "" !== t.getText(e))), + "first-child"(e, { + adapter: t, + equals: n + }) { + if (t.prevElementSibling) return null == t.prevElementSibling(e); + const r = t.getSiblings(e).find((e => t.isTag(e))); + return null != r && n(e, r) + }, + "last-child"(e, { + adapter: t, + equals: n + }) { + const r = t.getSiblings(e); + for (let i = r.length - 1; i >= 0; i--) { + if (n(e, r[i])) return !0; + if (t.isTag(r[i])) break + } + return !1 + }, + "first-of-type"(e, { + adapter: t, + equals: n + }) { + const r = t.getSiblings(e), + i = t.getName(e); + for (let s = 0; s < r.length; s++) { + const a = r[s]; + if (n(e, a)) return !0; + if (t.isTag(a) && t.getName(a) === i) break + } + return !1 + }, + "last-of-type"(e, { + adapter: t, + equals: n + }) { + const r = t.getSiblings(e), + i = t.getName(e); + for (let s = r.length - 1; s >= 0; s--) { + const a = r[s]; + if (n(e, a)) return !0; + if (t.isTag(a) && t.getName(a) === i) break + } + return !1 + }, + "only-of-type"(e, { + adapter: t, + equals: n + }) { + const r = t.getName(e); + return t.getSiblings(e).every((i => n(e, i) || !t.isTag(i) || t.getName(i) !== r)) + }, + "only-child": (e, { + adapter: t, + equals: n + }) => t.getSiblings(e).every((r => n(e, r) || !t.isTag(r))) +}; + +function ws(e, t, n, r) { + if (null === n) { + if (e.length > r) throw new Error(`Pseudo-class :${t} requires an argument`) + } else if (e.length === r) throw new Error(`Pseudo-class :${t} doesn't have any arguments`) +} +const Bs = { + "any-link": ":is(a, area, link)[href]", + link: ":any-link:not(:visited)", + disabled: ":is(\n :is(button, input, select, textarea, optgroup, option)[disabled],\n optgroup[disabled] > option,\n fieldset[disabled]:not(fieldset[disabled] legend:first-of-type *)\n )", + 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])" + }, + Fs = {}; + +function Us(e, t) { + const n = t.getSiblings(e); + if (n.length <= 1) return []; + const r = n.indexOf(e); + return r < 0 || r === n.length - 1 ? [] : n.slice(r + 1).filter(t.isTag) +} + +function Hs(e) { + return { + xmlMode: !!e.xmlMode, + lowerCaseAttributeNames: !!e.lowerCaseAttributeNames, + lowerCaseTags: !!e.lowerCaseTags, + quirksMode: !!e.quirksMode, + cacheResults: !!e.cacheResults, + pseudos: e.pseudos, + adapter: e.adapter, + equals: e.equals + } +} +const Gs = (e, t, n, r, i) => { + const s = i(t, Hs(n), r); + return s === ds.trueFunc ? e : s === ds.falseFunc ? ds.falseFunc : t => s(t) && e(t) + }, + Ys = { + is: Gs, + matches: Gs, + where: Gs, + not(e, t, n, r, i) { + const s = i(t, Hs(n), r); + return s === ds.falseFunc ? e : s === ds.trueFunc ? ds.falseFunc : t => !s(t) && e(t) + }, + has(e, t, n, r, i) { + const { + adapter: s + } = n, a = Hs(n); + a.relativeSelector = !0; + const o = t.some((e => e.some(Ts))) ? [Fs] : void 0, + c = i(t, a, o); + if (c === ds.falseFunc) return ds.falseFunc; + const l = function(e, t) { + return e === ds.falseFunc ? ds.falseFunc : n => t.isTag(n) && e(n) + }(c, s); + if (o && c !== ds.trueFunc) { + const { + shouldTestNextSiblings: t = !1 + } = c; + return n => { + if (!e(n)) return !1; + o[0] = n; + const r = s.getChildren(n), + i = t ? [...r, ...Us(n, s)] : r; + return s.existsOne(l, i) + } + } + return t => e(t) && s.existsOne(l, s.getChildren(t)) + } + }; + +function qs(e, t) { + const n = t.getParent(e); + return n && t.isTag(n) ? n : null +} + +function Ks(e, t, n, r, i) { + const { + adapter: s, + equals: a + } = n; + switch (t.type) { + case Zi.PseudoElement: + throw new Error("Pseudo-elements are not supported by css-select"); + case Zi.ColumnCombinator: + throw new Error("Column combinators are not yet supported by css-select"); + case Zi.Attribute: + if (null != t.namespace) throw new Error("Namespaced attributes are not yet supported by css-select"); + return n.xmlMode && !n.lowerCaseAttributeNames || (t.name = t.name.toLowerCase()), bs[t.action](e, t, n); + case Zi.Pseudo: + return function(e, t, n, r, i) { + var s; + const { + name: a, + data: o + } = t; + if (Array.isArray(o)) { + if (!(a in Ys)) throw new Error(`Unknown pseudo-class :${a}(${o})`); + return Ys[a](e, o, n, r, i) + } + const c = null === (s = n.pseudos) || void 0 === s ? void 0 : s[a], + l = "string" == typeof c ? c : Bs[a]; + if ("string" == typeof l) { + if (null != o) throw new Error(`Pseudo ${a} doesn't have any arguments`); + const t = ps(l); + return Ys.is(e, t, n, r, i) + } + if ("function" == typeof c) return ws(c, a, o, 1), t => c(t, o) && e(t); + if (a in Ms) return Ms[a](e, o, n, r); + if (a in xs) { + const t = xs[a]; + return ws(t, a, o, 2), r => t(r, n, o) && e(r) + } + throw new Error(`Unknown pseudo-class :${a}`) + }(e, t, n, r, i); + case Zi.Tag: { + if (null != t.namespace) throw new Error("Namespaced tag names are not yet supported by css-select"); + let { + name: r + } = t; + return n.xmlMode && !n.lowerCaseTags || (r = r.toLowerCase()), + function(t) { + return s.getName(t) === r && e(t) + } + } + case Zi.Descendant: { + if (!1 === n.cacheResults || "undefined" == typeof WeakSet) return function(t) { + let n = t; + for (; n = qs(n, s);) + if (e(n)) return !0; + return !1 + }; + const t = new WeakSet; + return function(n) { + let r = n; + for (; r = qs(r, s);) + if (!t.has(r)) { + if (s.isTag(r) && e(r)) return !0; + t.add(r) + } return !1 + } + } + case "_flexibleDescendant": + return function(t) { + let n = t; + do { + if (e(n)) return !0 + } while (n = qs(n, s)); + return !1 + }; + case Zi.Parent: + return function(t) { + return s.getChildren(t).some((t => s.isTag(t) && e(t))) + }; + case Zi.Child: + return function(t) { + const n = s.getParent(t); + return null != n && s.isTag(n) && e(n) + }; + case Zi.Sibling: + return function(t) { + const n = s.getSiblings(t); + for (let r = 0; r < n.length; r++) { + const i = n[r]; + if (a(t, i)) break; + if (s.isTag(i) && e(i)) return !0 + } + return !1 + }; + case Zi.Adjacent: + return s.prevElementSibling ? function(t) { + const n = s.prevElementSibling(t); + return null != n && e(n) + } : function(t) { + const n = s.getSiblings(t); + let r; + for (let e = 0; e < n.length; e++) { + const i = n[e]; + if (a(t, i)) break; + s.isTag(i) && (r = i) + } + return !!r && e(r) + }; + case Zi.Universal: + if (null != t.namespace && "*" !== t.namespace) throw new Error("Namespaced universal selectors are not yet supported by css-select"); + return e + } +} + +function js(e) { + return e.type === Zi.Pseudo && ("scope" === e.name || Array.isArray(e.data) && e.data.some((e => e.some(js)))) +} +const Vs = { + type: Zi.Descendant + }, + Ws = { + type: "_flexibleDescendant" + }, + Qs = { + type: Zi.Pseudo, + name: "scope", + data: null + }; + +function Xs(e, t, n) { + var r; + e.forEach(As), n = null !== (r = t.context) && void 0 !== r ? r : n; + const i = Array.isArray(n), + s = n && (Array.isArray(n) ? n : [n]); + if (!1 !== t.relativeSelector) ! function(e, { + adapter: t + }, n) { + const r = !!(null == n ? void 0 : n.every((e => { + const n = t.isTag(e) && t.getParent(e); + return e === Fs || n && t.isTag(n) + }))); + for (const t of e) { + if (t.length > 0 && Ts(t[0]) && t[0].type !== Zi.Descendant); + else { + if (!r || t.some(js)) continue; + t.unshift(Vs) + } + t.unshift(Qs) + } + }(e, t, s); + else if (e.some((e => e.length > 0 && Ts(e[0])))) throw new Error("Relative selectors are not allowed when the `relativeSelector` option is disabled"); + let a = !1; + const o = e.map((e => { + if (e.length >= 2) { + const [t, n] = e; + t.type !== Zi.Pseudo || "scope" !== t.name || (i && n.type === Zi.Descendant ? e[1] = Ws : n.type !== Zi.Adjacent && n.type !== Zi.Sibling || (a = !0)) + } + return function(e, t, n) { + var r; + return e.reduce(((e, r) => e === ds.falseFunc ? ds.falseFunc : Ks(e, r, t, n, Xs)), null !== (r = t.rootFunc) && void 0 !== r ? r : ds.trueFunc) + }(e, t, s) + })).reduce($s, ds.falseFunc); + return o.shouldTestNextSiblings = a, o +} + +function $s(e, t) { + return t === ds.falseFunc || e === ds.trueFunc ? e : e === ds.falseFunc || t === ds.trueFunc ? t : function(n) { + return e(n) || t(n) + } +} +const zs = (e, t) => e === t, + Js = { + adapter: Se, + equals: zs + }; +const Zs = (ea = Xs, function(e, t, n) { + const r = function(e) { + var t, n, r, i; + const s = null != e ? e : Js; + return null !== (t = s.adapter) && void 0 !== t || (s.adapter = Se), null !== (n = s.equals) && void 0 !== n || (s.equals = null !== (i = null === (r = s.adapter) || void 0 === r ? void 0 : r.equals) && void 0 !== i ? i : zs), s + }(t); + return ea(e, r, n) +}); +var ea; + +function ta(e, t, n = !1) { + return n && (e = function(e, t) { + const n = Array.isArray(e) ? e.slice(0) : [e], + r = n.length; + for (let e = 0; e < r; e++) { + const r = Us(n[e], t); + n.push(...r) + } + return n + }(e, t)), Array.isArray(e) ? t.removeSubsets(e) : t.getChildren(e) +} +const na = new Set(["first", "last", "eq", "gt", "nth", "lt", "even", "odd"]); + +function ra(e) { + return "pseudo" === e.type && (!!na.has(e.name) || !("not" !== e.name || !Array.isArray(e.data)) && e.data.some((e => e.some(ra)))) +} + +function ia(e) { + const t = [], + n = []; + for (const r of e) r.some(ra) ? t.push(r) : n.push(r); + return [n, t] +} +const sa = { + type: Zi.Universal, + namespace: null + }, + aa = { + type: Zi.Pseudo, + name: "scope", + data: null + }; + +function oa(e, t, n = {}) { + return ca([e], t, n) +} + +function ca(e, t, n = {}) { + if ("function" == typeof t) return e.some(t); + const [r, i] = ia(ps(t)); + return r.length > 0 && e.some(Zs(r, n)) || i.some((t => ua(t, e, n).length > 0)) +} + +function la(e, t, n = {}) { + return ha(ps(e), t, n) +} + +function ha(e, t, n) { + if (0 === t.length) return []; + const [r, i] = ia(e); + let s; + if (r.length) { + const e = Ea(t, r, n); + if (0 === i.length) return e; + e.length && (s = new Set(e)) + } + for (let e = 0; e < i.length && (null == s ? void 0 : s.size) !== t.length; e++) { + const r = i[e], + a = s ? t.filter((e => I(e) && !s.has(e))) : t; + if (0 === a.length) break; + const o = ua(r, t, n); + if (o.length) + if (s) o.forEach((e => s.add(e))); + else { + if (e === i.length - 1) return o; + s = new Set(o) + } + } + return void 0 !== s ? s.size === t.length ? t : t.filter((e => s.has(e))) : [] +} + +function ua(e, t, n) { + var r; + if (e.some(as)) { + const i = null !== (r = n.root) && void 0 !== r ? r : function(e) { + for (; e.parent;) e = e.parent; + return e + }(t[0]), + s = { + ...n, + context: t, + relativeSelector: !1 + }; + return e.push(aa), pa(i, e, s, !0, t.length) + } + return pa(t, e, n, !1, t.length) +} + +function pa(e, t, n, r, i) { + const s = t.findIndex(ra), + a = t.slice(0, s), + o = t[s], + c = t.length - 1 === s ? i : 1 / 0, + l = function(e, t, n) { + const r = null != t ? parseInt(t, 10) : NaN; + switch (e) { + case "first": + return 1; + case "nth": + case "eq": + return isFinite(r) ? r >= 0 ? r + 1 : 1 / 0 : 0; + case "lt": + return isFinite(r) ? r >= 0 ? Math.min(r, n) : 1 / 0 : 0; + case "gt": + return isFinite(r) ? 1 / 0 : 0; + case "odd": + return 2 * n; + case "even": + return 2 * n - 1; + case "last": + case "not": + return 1 / 0 + } + }(o.name, o.data, c); + if (0 === l) return []; + const h = (0 !== a.length || Array.isArray(e) ? 0 === a.length ? (Array.isArray(e) ? e : [e]).filter(I) : r || a.some(as) ? fa(e, [a], n, l) : Ea(e, [a], n) : Z(e).filter(I)).slice(0, l); + let u = function(e, t, n, r) { + const i = "string" == typeof n ? parseInt(n, 10) : NaN; + switch (e) { + case "first": + case "lt": + return t; + case "last": + return t.length > 0 ? [t[t.length - 1]] : t; + case "nth": + case "eq": + return isFinite(i) && Math.abs(i) < t.length ? [i < 0 ? t[t.length + i] : t[i]] : []; + case "gt": + return isFinite(i) ? t.slice(i + 1) : []; + case "even": + return t.filter(((e, t) => t % 2 == 0)); + case "odd": + return t.filter(((e, t) => t % 2 == 1)); + case "not": { + const e = new Set(ha(n, t, r)); + return t.filter((t => !e.has(t))) + } + } + }(o.name, h, o.data, n); + if (0 === u.length || t.length === s + 1) return u; + const p = t.slice(s + 1), + f = p.some(as); + if (f) { + if (as(p[0])) { + const { + type: e + } = p[0]; + e !== Zi.Sibling && e !== Zi.Adjacent || (u = ta(u, Se, !0)), p.unshift(sa) + } + n = { + ...n, + relativeSelector: !1, + rootFunc: e => u.includes(e) + } + } else n.rootFunc && n.rootFunc !== Es && (n = { + ...n, + rootFunc: Es + }); + return p.some(ra) ? pa(u, p, n, !1, i) : f ? fa(u, [p], n, i) : Ea(u, [p], n) +} + +function fa(e, t, n, r) { + return da(e, Zs(t, n, e), r) +} + +function da(e, t, n = 1 / 0) { + return ae((e => I(e) && t(e)), ta(e, Se, t.shouldTestNextSiblings), !0, n) +} + +function Ea(e, t, n) { + const r = (Array.isArray(e) ? e : [e]).filter(I); + if (0 === r.length) return r; + const i = Zs(t, n); + return i === Es ? r : r.filter(i) +} +var ma = function(e, t, n) { + if (n || 2 === arguments.length) + for (var r, i = 0, s = t.length; i < s; i++) !r && i in t || (r || (r = Array.prototype.slice.call(t, 0, i)), r[i] = t[i]); + return e.concat(r || Array.prototype.slice.call(t)) + }, + Ta = /^\s*[~+]/; + +function _a(e) { + return function(t) { + for (var n = [], r = 1; r < arguments.length; r++) n[r - 1] = arguments[r]; + return function(r) { + var i, s = e(t, this); + return r && (s = xa(s, r, this.options.xmlMode, null === (i = this._root) || void 0 === i ? void 0 : i[0])), this._make(this.length > 1 && s.length > 1 ? n.reduce((function(e, t) { + return t(e) + }), s) : s) + } + } +} +var Aa = _a((function(e, t) { + for (var n, r = [], i = 0; i < t.length; i++) { + var s = e(t[i]); + r.push(s) + } + return (n = new Array).concat.apply(n, r) + })), + ga = _a((function(e, t) { + for (var n = [], r = 0; r < t.length; r++) { + var i = e(t[r]); + null !== i && n.push(i) + } + return n + })); + +function Na(e) { + for (var t = [], n = 1; n < arguments.length; n++) t[n - 1] = arguments[n]; + var r = null, + i = _a((function(e, t) { + var n = []; + return Bi(t, (function(t) { + for (var i; + (i = e(t)) && !(null == r ? void 0 : r(i, n.length)); t = i) n.push(i) + })), n + })).apply(void 0, ma([e], t, !1)); + return function(e, t) { + var n = this; + r = "string" == typeof e ? function(t) { + return oa(t, e, n.options) + } : e ? Pa(e) : null; + var s = i.call(this, t); + return r = null, s + } +} + +function Ca(e) { + return Array.from(new Set(e)) +} +var Ia = ga((function(e) { + var t = e.parent; + return t && !L(t) ? t : null + }), Ca), + Sa = Aa((function(e) { + for (var t = []; e.parent && !L(e.parent);) t.push(e.parent), e = e.parent; + return t + }), Ee, (function(e) { + return e.reverse() + })), + ba = Na((function(e) { + var t = e.parent; + return t && !L(t) ? t : null + }), Ee, (function(e) { + return e.reverse() + })); +var Oa = ga((function(e) { + return ne(e) + })), + ya = Aa((function(e) { + for (var t = []; e.next;) I(e = e.next) && t.push(e); + return t + }), Ca), + La = Na((function(e) { + return ne(e) + }), Ca), + ka = ga((function(e) { + return re(e) + })), + va = Aa((function(e) { + for (var t = []; e.prev;) I(e = e.prev) && t.push(e); + return t + }), Ca), + Da = Na((function(e) { + return re(e) + }), Ca), + Ra = Aa((function(e) { + return te(e).filter((function(t) { + return I(t) && t !== e + })) + }), Ee), + Ma = Aa((function(e) { + return Z(e).filter(I) + }), Ca); + +function Pa(e) { + return "function" == typeof e ? function(t, n) { + return e.call(t, n, t) + } : wi(e) ? function(t) { + return Array.prototype.includes.call(e, t) + } : function(t) { + return e === t + } +} + +function xa(e, t, n, r) { + return "string" == typeof t ? la(t, e, { + xmlMode: n, + root: r + }) : e.filter(Pa(t)) +} +var wa = Object.freeze({ + __proto__: null, + find: function(e) { + var t; + if (!e) return this._make([]); + var n = this.toArray(); + if ("string" != typeof e) { + var r = wi(e) ? e.toArray() : [e]; + return this._make(r.filter((function(e) { + return n.some((function(t) { + return Di(t, e) + })) + }))) + } + var i = Ta.test(e) ? n : this.children().toArray(), + s = { + context: n, + root: null === (t = this._root) || void 0 === t ? void 0 : t[0], + xmlMode: this.options.xmlMode, + lowerCaseTags: this.options.lowerCaseTags, + lowerCaseAttributeNames: this.options.lowerCaseAttributeNames, + pseudos: this.options.pseudos, + quirksMode: this.options.quirksMode + }; + return this._make(function(e, t, n = {}, r = 1 / 0) { + if ("function" == typeof e) return da(t, e); + const [i, s] = ia(ps(e)), a = s.map((e => pa(t, e, n, !0, r))); + return i.length && a.push(fa(t, i, n, r)), 0 === a.length ? [] : 1 === a.length ? a[0] : Ee(a.reduce(((e, t) => [...e, ...t]))) + }(e, i, s)) + }, + parent: Ia, + parents: Sa, + parentsUntil: ba, + closest: function(e) { + var t, n = []; + if (!e) return this._make(n); + var r = { + xmlMode: this.options.xmlMode, + root: null === (t = this._root) || void 0 === t ? void 0 : t[0] + }, + i = "string" == typeof e ? function(t) { + return oa(t, e, r) + } : Pa(e); + return Bi(this, (function(e) { + for (; e && I(e);) { + if (i(e, 0)) { + n.includes(e) || n.push(e); + break + } + e = e.parent + } + })), this._make(n) + }, + next: Oa, + nextAll: ya, + nextUntil: La, + prev: ka, + prevAll: va, + prevUntil: Da, + siblings: Ra, + children: Ma, + contents: function() { + var e = this.toArray().reduce((function(e, t) { + return k(t) ? e.concat(t.children) : e + }), []); + return this._make(e) + }, + each: function(e) { + for (var t = 0, n = this.length; t < n && !1 !== e.call(this[t], t, this[t]);) ++t; + return this + }, + map: function(e) { + for (var t = [], n = 0; n < this.length; n++) { + var r = this[n], + i = e.call(r, n, r); + null != i && (t = t.concat(i)) + } + return this._make(t) + }, + filter: function(e) { + var t; + return this._make(xa(this.toArray(), e, this.options.xmlMode, null === (t = this._root) || void 0 === t ? void 0 : t[0])) + }, + filterArray: xa, + is: function(e) { + var t = this.toArray(); + return "string" == typeof e ? ca(t.filter(I), e, this.options) : !!e && t.some(Pa(e)) + }, + not: function(e) { + var t = this.toArray(); + if ("string" == typeof e) { + var n = new Set(la(e, t, this.options)); + t = t.filter((function(e) { + return !n.has(e) + })) + } else { + var r = Pa(e); + t = t.filter((function(e, t) { + return !r(e, t) + })) + } + return this._make(t) + }, + has: function(e) { + var t = this; + return this.filter("string" == typeof e ? ":has(".concat(e, ")") : function(n, r) { + return t._make(r).find(e).length > 0 + }) + }, + first: function() { + return this.length > 1 ? this._make(this[0]) : this + }, + last: function() { + return this.length > 0 ? this._make(this[this.length - 1]) : this + }, + eq: function(e) { + var t; + return 0 === (e = +e) && this.length <= 1 ? this : (e < 0 && (e = this.length + e), this._make(null !== (t = this[e]) && void 0 !== t ? t : [])) + }, + get: function(e) { + return null == e ? this.toArray() : this[e < 0 ? this.length + e : e] + }, + toArray: function() { + return Array.prototype.slice.call(this) + }, + index: function(e) { + var t, n; + return null == e ? (t = this.parent().children(), n = this[0]) : "string" == typeof e ? (t = this._make(e), n = this[0]) : (t = this, n = wi(e) ? e[0] : e), Array.prototype.indexOf.call(t, n) + }, + slice: function(e, t) { + return this._make(Array.prototype.slice.call(this, e, t)) + }, + end: function() { + var e; + return null !== (e = this.prevObject) && void 0 !== e ? e : this._make([]) + }, + add: function(e, t) { + var n = this._make(e, t), + r = Ee(ma(ma([], this.get(), !0), n.get(), !0)); + return this._make(r) + }, + addBack: function(e) { + return this.prevObject ? this.add(e ? this.prevObject.filter(e) : this.prevObject) : this + } +}); + +function Ba(e, t) { + var n = Array.isArray(e) ? e : [e]; + t ? t.children = n : t = null; + for (var r = 0; r < n.length; r++) { + var i = n[r]; + i.parent && i.parent.children !== n && ie(i), t ? (i.prev = n[r - 1] || null, i.next = n[r + 1] || null) : i.prev = i.next = null, i.parent = t + } + return t +} +var Fa = function(e, t, n) { + if (n || 2 === arguments.length) + for (var r, i = 0, s = t.length; i < s; i++) !r && i in t || (r || (r = Array.prototype.slice.call(t, 0, i)), r[i] = t[i]); + return e.concat(r || Array.prototype.slice.call(t)) +}; + +function Ua(e) { + return function() { + for (var t = this, n = [], r = 0; r < arguments.length; r++) n[r] = arguments[r]; + var i = this.length - 1; + return Bi(this, (function(r, s) { + if (k(r)) { + var a = "function" == typeof n[0] ? n[0].call(r, s, t._render(r.children)) : n, + o = t._makeDomArray(a, s < i); + e(o, r.children, r) + } + })) + } +} + +function Ha(e, t, n, r, i) { + for (var s, a, o = Fa([t, n], r, !0), c = 0 === t ? null : e[t - 1], l = t + n >= e.length ? null : e[t + n], h = 0; h < r.length; ++h) { + var u = r[h], + p = u.parent; + if (p) { + var f = p.children.indexOf(u); + f > -1 && (p.children.splice(f, 1), i === p && t > f && o[0]--) + } + u.parent = i, u.prev && (u.prev.next = null !== (s = u.next) && void 0 !== s ? s : null), u.next && (u.next.prev = null !== (a = u.prev) && void 0 !== a ? a : null), u.prev = 0 === h ? c : r[h - 1], u.next = h === r.length - 1 ? l : r[h + 1] + } + return c && (c.next = r[0]), l && (l.prev = r[r.length - 1]), e.splice.apply(e, o) +} +var Ga = Ua((function(e, t, n) { + Ha(t, t.length, 0, e, n) + })), + Ya = Ua((function(e, t, n) { + Ha(t, 0, 0, e, n) + })); + +function qa(e) { + return function(t) { + for (var n = this.length - 1, r = this.parents().last(), i = 0; i < this.length; i++) { + var s = this[i], + a = "function" == typeof t ? t.call(s, i, s) : "string" != typeof t || Ui(t) ? t : r.find(t).clone(), + o = this._makeDomArray(a, i < n)[0]; + if (o && k(o)) { + for (var c = o, l = 0; l < c.children.length;) { + var h = c.children[l]; + I(h) ? (c = h, l = 0) : l++ + } + e(s, c, [o]) + } + } + return this + } +} +var Ka = qa((function(e, t, n) { + var r = e.parent; + if (r) { + var i = r.children, + s = i.indexOf(e); + Ba([e], t), Ha(i, s, 0, n, r) + } + })), + ja = qa((function(e, t, n) { + k(e) && (Ba(e.children, t), Ba(n, e)) + })); +var Va = Object.freeze({ + __proto__: null, + _makeDomArray: function(e, t) { + var n = this; + return null == e ? [] : wi(e) ? t ? Fi(e.get()) : e.get() : Array.isArray(e) ? e.reduce((function(e, r) { + return e.concat(n._makeDomArray(r, t)) + }), []) : "string" == typeof e ? this._parse(e, this.options, !1, null).children : t ? Fi([e]) : [e] + }, + appendTo: function(e) { + return (wi(e) ? e : this._make(e)).append(this), this + }, + prependTo: function(e) { + return (wi(e) ? e : this._make(e)).prepend(this), this + }, + append: Ga, + prepend: Ya, + wrap: Ka, + wrapInner: ja, + unwrap: function(e) { + var t = this; + return this.parent(e).not("body").each((function(e, n) { + t._make(n).replaceWith(n.children) + })), this + }, + wrapAll: function(e) { + var t = this[0]; + if (t) { + for (var n = this._make("function" == typeof e ? e.call(t, 0, t) : e).insertBefore(t), r = void 0, i = 0; i < n.length; i++) "tag" === n[i].type && (r = n[i]); + for (var s = 0; r && s < r.children.length;) { + var a = r.children[s]; + "tag" === a.type ? (r = a, s = 0) : s++ + } + r && this._make(r).append(this) + } + return this + }, + after: function() { + for (var e = this, t = [], n = 0; n < arguments.length; n++) t[n] = arguments[n]; + var r = this.length - 1; + return Bi(this, (function(n, i) { + var s = n.parent; + if (k(n) && s) { + var a = s.children, + o = a.indexOf(n); + if (!(o < 0)) { + var c = "function" == typeof t[0] ? t[0].call(n, i, e._render(n.children)) : t; + Ha(a, o + 1, 0, e._makeDomArray(c, i < r), s) + } + } + })) + }, + insertAfter: function(e) { + var t = this; + "string" == typeof e && (e = this._make(e)), this.remove(); + var n = []; + return this._makeDomArray(e).forEach((function(e) { + var r = t.clone().toArray(), + i = e.parent; + if (i) { + var s = i.children, + a = s.indexOf(e); + a < 0 || (Ha(s, a + 1, 0, r, i), n.push.apply(n, r)) + } + })), this._make(n) + }, + before: function() { + for (var e = this, t = [], n = 0; n < arguments.length; n++) t[n] = arguments[n]; + var r = this.length - 1; + return Bi(this, (function(n, i) { + var s = n.parent; + if (k(n) && s) { + var a = s.children, + o = a.indexOf(n); + if (!(o < 0)) { + var c = "function" == typeof t[0] ? t[0].call(n, i, e._render(n.children)) : t; + Ha(a, o, 0, e._makeDomArray(c, i < r), s) + } + } + })) + }, + insertBefore: function(e) { + var t = this, + n = this._make(e); + this.remove(); + var r = []; + return Bi(n, (function(e) { + var n = t.clone().toArray(), + i = e.parent; + if (i) { + var s = i.children, + a = s.indexOf(e); + a < 0 || (Ha(s, a, 0, n, i), r.push.apply(r, n)) + } + })), this._make(r) + }, + remove: function(e) { + return Bi(e ? this.filter(e) : this, (function(e) { + ie(e), e.prev = e.next = e.parent = null + })), this + }, + replaceWith: function(e) { + var t = this; + return Bi(this, (function(n, r) { + var i = n.parent; + if (i) { + var s = i.children, + a = "function" == typeof e ? e.call(n, r, n) : e, + o = t._makeDomArray(a); + Ba(o, null); + var c = s.indexOf(n); + Ha(s, c, 1, o, i), o.includes(n) || (n.parent = n.prev = n.next = null) + } + })) + }, + empty: function() { + return Bi(this, (function(e) { + k(e) && (e.children.forEach((function(e) { + e.next = e.prev = e.parent = null + })), e.children.length = 0) + })) + }, + html: function(e) { + var t = this; + if (void 0 === e) { + var n = this[0]; + return n && k(n) ? this._render(n.children) : null + } + return Bi(this, (function(n) { + k(n) && (n.children.forEach((function(e) { + e.next = e.prev = e.parent = null + })), Ba(wi(e) ? e.toArray() : t._parse("".concat(e), t.options, !1, n).children, n)) + })) + }, + toString: function() { + return this._render(this) + }, + text: function(e) { + var t = this; + return void 0 === e ? Li(this) : Bi(this, "function" == typeof e ? function(n, r) { + return t._make(n).text(e.call(n, r, Li([n]))) + } : function(t) { + k(t) && (t.children.forEach((function(e) { + e.next = e.prev = e.parent = null + })), Ba(new m("".concat(e)), t)) + }) + }, + clone: function() { + return this._make(Fi(this.get())) + } +}); + +function Wa(e, t, n, r) { + if ("string" == typeof t) { + var i = Qa(e), + s = "function" == typeof n ? n.call(e, r, i[t]) : n; + "" === s ? delete i[t] : null != s && (i[t] = s), e.attribs.style = (a = i, Object.keys(a).reduce((function(e, t) { + return "".concat(e).concat(e ? " " : "").concat(t, ": ").concat(a[t], ";") + }), "")) + } else "object" == typeof t && Object.keys(t).forEach((function(n, r) { + Wa(e, n, t[n], r) + })); + var a +} + +function Qa(e, t) { + if (e && I(e)) { + var n = function(e) { + if (!(e = (e || "").trim())) return {}; + for (var t, n = {}, r = 0, i = e.split(";"); r < i.length; r++) { + var s = i[r], + a = s.indexOf(":"); + if (a < 1 || a === s.length - 1) { + var o = s.trimEnd(); + o.length > 0 && void 0 !== t && (n[t] += ";".concat(o)) + } else n[t = s.slice(0, a).trim()] = s.slice(a + 1).trim() + } + return n + }(e.attribs.style); + if ("string" == typeof t) return n[t]; + if (Array.isArray(t)) { + var r = {}; + return t.forEach((function(e) { + null != n[e] && (r[e] = n[e]) + })), r + } + return n + } +} +var Xa = Object.freeze({ + __proto__: null, + css: function(e, t) { + return null != e && null != t || "object" == typeof e && !Array.isArray(e) ? Bi(this, (function(n, r) { + I(n) && Wa(n, e, t, r) + })) : 0 !== this.length ? Qa(this[0], e) : void 0 + } + }), + $a = /%20/g, + za = /\r?\n/g; +var Ja = Object.freeze({ + __proto__: null, + serialize: function() { + var e = this.serializeArray().map((function(e) { + return "".concat(encodeURIComponent(e.name), "=").concat(encodeURIComponent(e.value)) + })); + return e.join("&").replace($a, "+") + }, + serializeArray: function() { + var e = this; + return this.map((function(t, n) { + var r = e._make(n); + return I(n) && "form" === n.name ? r.find("input,select,textarea,keygen").toArray() : r.filter("input,select,textarea,keygen").toArray() + })).filter('[name!=""]:enabled:not(:submit, :button, :image, :reset, :file):matches([checked], :not(:checkbox, :radio))').map((function(t, n) { + var r, i = e._make(n), + s = i.attr("name"), + a = null !== (r = i.val()) && void 0 !== r ? r : ""; + return Array.isArray(a) ? a.map((function(e) { + return { + name: s, + value: e.replace(za, "\r\n") + } + })) : { + name: s, + value: a.replace(za, "\r\n") + } + })).toArray() + } + }), + Za = function(e, t, n) { + if (this.length = 0, this.options = n, this._root = t, e) { + for (var r = 0; r < e.length; r++) this[r] = e[r]; + this.length = e.length + } + }; +Za.prototype.cheerio = "[cheerio object]", Za.prototype.splice = Array.prototype.splice, Za.prototype[Symbol.iterator] = Array.prototype[Symbol.iterator], Object.assign(Za.prototype, ts, wa, Va, Xa, Ja); +var eo, to = (eo = function(e, t) { + return eo = Object.setPrototypeOf || { + __proto__: [] + } + instanceof Array && function(e, t) { + e.__proto__ = t + } || function(e, t) { + for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]) + }, eo(e, t) + }, function(e, t) { + if ("function" != typeof t && null !== t) throw new TypeError("Class extends value " + String(t) + " is not a constructor or null"); + + function n() { + this.constructor = e + } + eo(e, t), e.prototype = null === t ? Object.create(t) : (n.prototype = t.prototype, new n) + }), + no = function() { + return no = Object.assign || function(e) { + for (var t, n = 1, r = arguments.length; n < r; n++) + for (var i in t = arguments[n]) Object.prototype.hasOwnProperty.call(t, i) && (e[i] = t[i]); + return e + }, no.apply(this, arguments) + }; +const ro = 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]); +var io; +! function(e) { + e[e.EOF = -1] = "EOF", e[e.NULL = 0] = "NULL", e[e.TABULATION = 9] = "TABULATION", e[e.CARRIAGE_RETURN = 13] = "CARRIAGE_RETURN", e[e.LINE_FEED = 10] = "LINE_FEED", e[e.FORM_FEED = 12] = "FORM_FEED", e[e.SPACE = 32] = "SPACE", e[e.EXCLAMATION_MARK = 33] = "EXCLAMATION_MARK", e[e.QUOTATION_MARK = 34] = "QUOTATION_MARK", e[e.NUMBER_SIGN = 35] = "NUMBER_SIGN", e[e.AMPERSAND = 38] = "AMPERSAND", e[e.APOSTROPHE = 39] = "APOSTROPHE", e[e.HYPHEN_MINUS = 45] = "HYPHEN_MINUS", e[e.SOLIDUS = 47] = "SOLIDUS", e[e.DIGIT_0 = 48] = "DIGIT_0", e[e.DIGIT_9 = 57] = "DIGIT_9", e[e.SEMICOLON = 59] = "SEMICOLON", e[e.LESS_THAN_SIGN = 60] = "LESS_THAN_SIGN", e[e.EQUALS_SIGN = 61] = "EQUALS_SIGN", e[e.GREATER_THAN_SIGN = 62] = "GREATER_THAN_SIGN", e[e.QUESTION_MARK = 63] = "QUESTION_MARK", e[e.LATIN_CAPITAL_A = 65] = "LATIN_CAPITAL_A", e[e.LATIN_CAPITAL_F = 70] = "LATIN_CAPITAL_F", e[e.LATIN_CAPITAL_X = 88] = "LATIN_CAPITAL_X", e[e.LATIN_CAPITAL_Z = 90] = "LATIN_CAPITAL_Z", e[e.RIGHT_SQUARE_BRACKET = 93] = "RIGHT_SQUARE_BRACKET", e[e.GRAVE_ACCENT = 96] = "GRAVE_ACCENT", e[e.LATIN_SMALL_A = 97] = "LATIN_SMALL_A", e[e.LATIN_SMALL_F = 102] = "LATIN_SMALL_F", e[e.LATIN_SMALL_X = 120] = "LATIN_SMALL_X", e[e.LATIN_SMALL_Z = 122] = "LATIN_SMALL_Z", e[e.REPLACEMENT_CHARACTER = 65533] = "REPLACEMENT_CHARACTER" +}(io = io || (io = {})); +const so = "--", + ao = "[CDATA[", + oo = "doctype", + co = "script", + lo = "public", + ho = "system"; + +function uo(e) { + return e >= 55296 && e <= 57343 +} + +function po(e) { + return 32 !== e && 10 !== e && 13 !== e && 9 !== e && 12 !== e && e >= 1 && e <= 31 || e >= 127 && e <= 159 +} + +function fo(e) { + return e >= 64976 && e <= 65007 || ro.has(e) +} +var Eo; +! function(e) { + e.controlCharacterInInputStream = "control-character-in-input-stream", e.noncharacterInInputStream = "noncharacter-in-input-stream", e.surrogateInInputStream = "surrogate-in-input-stream", e.nonVoidHtmlElementStartTagWithTrailingSolidus = "non-void-html-element-start-tag-with-trailing-solidus", e.endTagWithAttributes = "end-tag-with-attributes", e.endTagWithTrailingSolidus = "end-tag-with-trailing-solidus", e.unexpectedSolidusInTag = "unexpected-solidus-in-tag", e.unexpectedNullCharacter = "unexpected-null-character", e.unexpectedQuestionMarkInsteadOfTagName = "unexpected-question-mark-instead-of-tag-name", e.invalidFirstCharacterOfTagName = "invalid-first-character-of-tag-name", e.unexpectedEqualsSignBeforeAttributeName = "unexpected-equals-sign-before-attribute-name", e.missingEndTagName = "missing-end-tag-name", e.unexpectedCharacterInAttributeName = "unexpected-character-in-attribute-name", e.unknownNamedCharacterReference = "unknown-named-character-reference", e.missingSemicolonAfterCharacterReference = "missing-semicolon-after-character-reference", e.unexpectedCharacterAfterDoctypeSystemIdentifier = "unexpected-character-after-doctype-system-identifier", e.unexpectedCharacterInUnquotedAttributeValue = "unexpected-character-in-unquoted-attribute-value", e.eofBeforeTagName = "eof-before-tag-name", e.eofInTag = "eof-in-tag", e.missingAttributeValue = "missing-attribute-value", e.missingWhitespaceBetweenAttributes = "missing-whitespace-between-attributes", e.missingWhitespaceAfterDoctypePublicKeyword = "missing-whitespace-after-doctype-public-keyword", e.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers = "missing-whitespace-between-doctype-public-and-system-identifiers", e.missingWhitespaceAfterDoctypeSystemKeyword = "missing-whitespace-after-doctype-system-keyword", e.missingQuoteBeforeDoctypePublicIdentifier = "missing-quote-before-doctype-public-identifier", e.missingQuoteBeforeDoctypeSystemIdentifier = "missing-quote-before-doctype-system-identifier", e.missingDoctypePublicIdentifier = "missing-doctype-public-identifier", e.missingDoctypeSystemIdentifier = "missing-doctype-system-identifier", e.abruptDoctypePublicIdentifier = "abrupt-doctype-public-identifier", e.abruptDoctypeSystemIdentifier = "abrupt-doctype-system-identifier", e.cdataInHtmlContent = "cdata-in-html-content", e.incorrectlyOpenedComment = "incorrectly-opened-comment", e.eofInScriptHtmlCommentLikeText = "eof-in-script-html-comment-like-text", e.eofInDoctype = "eof-in-doctype", e.nestedComment = "nested-comment", e.abruptClosingOfEmptyComment = "abrupt-closing-of-empty-comment", e.eofInComment = "eof-in-comment", e.incorrectlyClosedComment = "incorrectly-closed-comment", e.eofInCdata = "eof-in-cdata", e.absenceOfDigitsInNumericCharacterReference = "absence-of-digits-in-numeric-character-reference", e.nullCharacterReference = "null-character-reference", e.surrogateCharacterReference = "surrogate-character-reference", e.characterReferenceOutsideUnicodeRange = "character-reference-outside-unicode-range", e.controlCharacterReference = "control-character-reference", e.noncharacterCharacterReference = "noncharacter-character-reference", e.missingWhitespaceBeforeDoctypeName = "missing-whitespace-before-doctype-name", e.missingDoctypeName = "missing-doctype-name", e.invalidCharacterSequenceAfterDoctypeName = "invalid-character-sequence-after-doctype-name", e.duplicateAttribute = "duplicate-attribute", e.nonConformingDoctype = "non-conforming-doctype", e.missingDoctype = "missing-doctype", e.misplacedDoctype = "misplaced-doctype", e.endTagWithoutMatchingOpenElement = "end-tag-without-matching-open-element", e.closingOfElementWithOpenChildElements = "closing-of-element-with-open-child-elements", e.disallowedContentInNoscriptInHead = "disallowed-content-in-noscript-in-head", e.openElementsLeftAfterEof = "open-elements-left-after-eof", e.abandonedHeadElementChild = "abandoned-head-element-child", e.misplacedStartTagForHeadElement = "misplaced-start-tag-for-head-element", e.nestedNoscriptInHead = "nested-noscript-in-head", e.eofInElementThatCanContainOnlyText = "eof-in-element-that-can-contain-only-text" +}(Eo = Eo || (Eo = {})); +class mo { + constructor(e) { + this.handler = e, this.html = "", this.pos = -1, this.lastGapPos = -2, this.gapStack = [], this.skipNextNewLine = !1, this.lastChunkWritten = !1, this.endOfChunkHit = !1, this.bufferWaterline = 65536, this.isEol = !1, this.lineStartPos = 0, this.droppedBufferSize = 0, this.line = 1, this.lastErrOffset = -1 + } + get col() { + return this.pos - this.lineStartPos + Number(this.lastGapPos !== this.pos) + } + get offset() { + return this.droppedBufferSize + this.pos + } + getError(e) { + const { + line: t, + col: n, + offset: r + } = this; + return { + code: e, + startLine: t, + endLine: t, + startCol: n, + endCol: n, + startOffset: r, + endOffset: r + } + } + _err(e) { + this.handler.onParseError && this.lastErrOffset !== this.offset && (this.lastErrOffset = this.offset, this.handler.onParseError(this.getError(e))) + } + _addGap() { + this.gapStack.push(this.lastGapPos), this.lastGapPos = this.pos + } + _processSurrogate(e) { + if (this.pos !== this.html.length - 1) { + const t = this.html.charCodeAt(this.pos + 1); + if (function(e) { + return e >= 56320 && e <= 57343 + }(t)) return this.pos++, this._addGap(), 1024 * (e - 55296) + 9216 + t + } else if (!this.lastChunkWritten) return this.endOfChunkHit = !0, io.EOF; + return this._err(Eo.surrogateInInputStream), e + } + willDropParsedChunk() { + return this.pos > this.bufferWaterline + } + dropParsedChunk() { + 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(e, t) { + this.html.length > 0 ? this.html += e : this.html = e, this.endOfChunkHit = !1, this.lastChunkWritten = t + } + insertHtmlAtCurrentPos(e) { + this.html = this.html.substring(0, this.pos + 1) + e + this.html.substring(this.pos + 1), this.endOfChunkHit = !1 + } + startsWith(e, t) { + if (this.pos + e.length > this.html.length) return this.endOfChunkHit = !this.lastChunkWritten, !1; + if (t) return this.html.startsWith(e, this.pos); + for (let t = 0; t < e.length; t++) { + if ((32 | this.html.charCodeAt(this.pos + t)) !== e.charCodeAt(t)) return !1 + } + return !0 + } + peek(e) { + const t = this.pos + e; + return t >= this.html.length ? (this.endOfChunkHit = !this.lastChunkWritten, io.EOF) : this.html.charCodeAt(t) + } + advance() { + if (this.pos++, this.isEol && (this.isEol = !1, this.line++, this.lineStartPos = this.pos), this.pos >= this.html.length) return this.endOfChunkHit = !this.lastChunkWritten, io.EOF; + let e = this.html.charCodeAt(this.pos); + if (e === io.CARRIAGE_RETURN) return this.isEol = !0, this.skipNextNewLine = !0, io.LINE_FEED; + if (e === io.LINE_FEED && (this.isEol = !0, this.skipNextNewLine)) return this.line--, this.skipNextNewLine = !1, this._addGap(), this.advance(); + this.skipNextNewLine = !1, uo(e) && (e = this._processSurrogate(e)); + return null === this.handler.onParseError || e > 31 && e < 127 || e === io.LINE_FEED || e === io.CARRIAGE_RETURN || e > 159 && e < 64976 || this._checkForProblematicCharacters(e), e + } + _checkForProblematicCharacters(e) { + po(e) ? this._err(Eo.controlCharacterInInputStream) : fo(e) && this._err(Eo.noncharacterInInputStream) + } + retreat(e) { + for (this.pos -= e; this.pos < this.lastGapPos;) this.lastGapPos = this.gapStack.pop(), this.pos--; + this.isEol = !1 + } +} +var To; + +function _o(e, t) { + for (let n = e.attrs.length - 1; n >= 0; n--) + if (e.attrs[n].name === t) return e.attrs[n].value; + return null +}! function(e) { + e[e.CHARACTER = 0] = "CHARACTER", e[e.NULL_CHARACTER = 1] = "NULL_CHARACTER", e[e.WHITESPACE_CHARACTER = 2] = "WHITESPACE_CHARACTER", e[e.START_TAG = 3] = "START_TAG", e[e.END_TAG = 4] = "END_TAG", e[e.COMMENT = 5] = "COMMENT", e[e.DOCTYPE = 6] = "DOCTYPE", e[e.EOF = 7] = "EOF", e[e.HIBERNATION = 8] = "HIBERNATION" +}(To = To || (To = {})); +var Ao = Ke((function(e, t) { + Object.defineProperty(t, "__esModule", { + value: !0 + }), t.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ȀDMPTLJNjǑǖ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;扐blè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;戥ǹ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ቻ኉Dzኀ\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;䅻Dzᕔ\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ƀ;oș᳊᳔ndĀ;ș᳑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;ẝẤijạả;怄;怅怃Ā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;耀ffiɩᾹ\0\0᾽g;耀ffig;耀ffl;쀀𝔣lig;耀filig;쀀fjƀaltῙ῜ῡt;晭ig;耀flns;斱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⧓ସdz⧟\0⧣p肻 ଷ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᪠ⵒⵗLjⵚ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㚆㚝㚵㚼Dz㚋\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((function(e) { + return e.charCodeAt(0) + }))) +})); +qe(Ao); +var go = Ke((function(e, t) { + Object.defineProperty(t, "__esModule", { + value: !0 + }), t.default = new Uint16Array("Ȁaglq\tɭ\0\0p;䀦os;䀧t;䀾t;䀼uot;䀢".split("").map((function(e) { + return e.charCodeAt(0) + }))) +})); +qe(go); +var No = Ke((function(e, t) { + var n; + Object.defineProperty(t, "__esModule", { + value: !0 + }), t.replaceCodePoint = t.fromCodePoint = void 0; + var r = 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] + ]); + + function i(e) { + var t; + return e >= 55296 && e <= 57343 || e > 1114111 ? 65533 : null !== (t = r.get(e)) && void 0 !== t ? t : e + } + t.fromCodePoint = null !== (n = String.fromCodePoint) && void 0 !== n ? n : function(e) { + var t = ""; + return e > 65535 && (e -= 65536, t += String.fromCharCode(e >>> 10 & 1023 | 55296), e = 56320 | 1023 & e), t += String.fromCharCode(e) + }, t.replaceCodePoint = i, t.default = function(e) { + return (0, t.fromCodePoint)(i(e)) + } +})); +qe(No), No.replaceCodePoint, No.fromCodePoint; +var Co = Ao, + Io = go, + So = No, + bo = Ke((function(e, t) { + var n = Ge && Ge.__importDefault || function(e) { + return e && e.__esModule ? e : { + default: e + } + }; + Object.defineProperty(t, "__esModule", { + value: !0 + }), t.decodeXML = t.decodeHTMLStrict = t.decodeHTML = t.determineBranch = t.BinTrieFlags = t.fromCodePoint = t.replaceCodePoint = t.decodeCodePoint = t.xmlDecodeTree = t.htmlDecodeTree = void 0; + var r = n(Co); + t.htmlDecodeTree = r.default; + var i = n(Io); + t.xmlDecodeTree = i.default; + var s = n(So); + t.decodeCodePoint = s.default; + var a, o, c = So; + + function l(e) { + return function(t, n) { + for (var r = "", i = 0, c = 0; + (c = t.indexOf("&", c)) >= 0;) + if (r += t.slice(i, c), i = c, c += 1, t.charCodeAt(c) !== a.NUM) { + for (var l = 0, u = 1, p = 0, f = e[p]; c < t.length && !((p = h(e, f, p + 1, t.charCodeAt(c))) < 0); c++, u++) { + var d = (f = e[p]) & o.VALUE_LENGTH; + if (d) { + var E; + if (n && t.charCodeAt(c) !== a.SEMI || (l = p, u = 0), 0 === (E = (d >> 14) - 1)) break; + p += E + } + } + if (0 !== l) r += 1 === (E = (e[l] & o.VALUE_LENGTH) >> 14) ? String.fromCharCode(e[l] & ~o.VALUE_LENGTH) : 2 === E ? String.fromCharCode(e[l + 1]) : String.fromCharCode(e[l + 1], e[l + 2]), i = c - u + 1 + } else { + var m = c + 1, + T = 10, + _ = t.charCodeAt(m); + (_ | a.To_LOWER_BIT) === a.LOWER_X && (T = 16, c += 1, m += 1); + do { + _ = t.charCodeAt(++c) + } while (_ >= a.ZERO && _ <= a.NINE || 16 === T && (_ | a.To_LOWER_BIT) >= a.LOWER_A && (_ | a.To_LOWER_BIT) <= a.LOWER_F); + if (m !== c) { + var A = t.substring(m, c), + g = parseInt(A, T); + if (t.charCodeAt(c) === a.SEMI) c += 1; + else if (n) continue; + r += (0, s.default)(g), i = c + } + } return r + t.slice(i) + } + } + + function h(e, t, n, r) { + var i = (t & o.BRANCH_LENGTH) >> 7, + s = t & o.JUMP_TABLE; + if (0 === i) return 0 !== s && r === s ? n : -1; + if (s) { + var a = r - s; + return a < 0 || a >= i ? -1 : e[n + a] - 1 + } + for (var c = n, l = c + i - 1; c <= l;) { + var h = c + l >>> 1, + u = e[h]; + if (u < r) c = h + 1; + else { + if (!(u > r)) return e[h + i]; + l = h - 1 + } + } + return -1 + } + Object.defineProperty(t, "replaceCodePoint", { + enumerable: !0, + get: function() { + return c.replaceCodePoint + } + }), Object.defineProperty(t, "fromCodePoint", { + enumerable: !0, + get: function() { + return c.fromCodePoint + } + }), + function(e) { + e[e.NUM = 35] = "NUM", e[e.SEMI = 59] = "SEMI", e[e.ZERO = 48] = "ZERO", e[e.NINE = 57] = "NINE", e[e.LOWER_A = 97] = "LOWER_A", e[e.LOWER_F = 102] = "LOWER_F", e[e.LOWER_X = 120] = "LOWER_X", e[e.To_LOWER_BIT = 32] = "To_LOWER_BIT" + }(a || (a = {})), + function(e) { + e[e.VALUE_LENGTH = 49152] = "VALUE_LENGTH", e[e.BRANCH_LENGTH = 16256] = "BRANCH_LENGTH", e[e.JUMP_TABLE = 127] = "JUMP_TABLE" + }(o = t.BinTrieFlags || (t.BinTrieFlags = {})), t.determineBranch = h; + var u = l(r.default), + p = l(i.default); + t.decodeHTML = function(e) { + return u(e, !1) + }, t.decodeHTMLStrict = function(e) { + return u(e, !0) + }, t.decodeXML = function(e) { + return p(e, !0) + } + })); +qe(bo), bo.decodeXML, bo.decodeHTMLStrict, bo.decodeHTML; +var Oo = bo.determineBranch, + yo = bo.BinTrieFlags, + Lo = bo.fromCodePoint, + ko = bo.replaceCodePoint; +bo.decodeCodePoint; +var vo, Do, Ro, Mo, Po, xo = bo.xmlDecodeTree, + wo = bo.htmlDecodeTree; +! function(e) { + e.HTML = "http://www.w3.org/1999/xhtml", e.MATHML = "http://www.w3.org/1998/Math/MathML", e.SVG = "http://www.w3.org/2000/svg", e.XLINK = "http://www.w3.org/1999/xlink", e.XML = "http://www.w3.org/XML/1998/namespace", e.XMLNS = "http://www.w3.org/2000/xmlns/" +}(vo = vo || (vo = {})), +function(e) { + e.TYPE = "type", e.ACTION = "action", e.ENCODING = "encoding", e.PROMPT = "prompt", e.NAME = "name", e.COLOR = "color", e.FACE = "face", e.SIZE = "size" +}(Do = Do || (Do = {})), +function(e) { + e.NO_QUIRKS = "no-quirks", e.QUIRKS = "quirks", e.LIMITED_QUIRKS = "limited-quirks" +}(Ro = Ro || (Ro = {})), +function(e) { + e.A = "a", e.ADDRESS = "address", e.ANNOTATION_XML = "annotation-xml", e.APPLET = "applet", e.AREA = "area", e.ARTICLE = "article", e.ASIDE = "aside", e.B = "b", e.BASE = "base", e.BASEFONT = "basefont", e.BGSOUND = "bgsound", e.BIG = "big", e.BLOCKQUOTE = "blockquote", e.BODY = "body", e.BR = "br", e.BUTTON = "button", e.CAPTION = "caption", e.CENTER = "center", e.CODE = "code", e.COL = "col", e.COLGROUP = "colgroup", e.DD = "dd", e.DESC = "desc", e.DETAILS = "details", e.DIALOG = "dialog", e.DIR = "dir", e.DIV = "div", e.DL = "dl", e.DT = "dt", e.EM = "em", e.EMBED = "embed", e.FIELDSET = "fieldset", e.FIGCAPTION = "figcaption", e.FIGURE = "figure", e.FONT = "font", e.FOOTER = "footer", e.FOREIGN_OBJECT = "foreignObject", e.FORM = "form", e.FRAME = "frame", e.FRAMESET = "frameset", e.H1 = "h1", e.H2 = "h2", e.H3 = "h3", e.H4 = "h4", e.H5 = "h5", e.H6 = "h6", e.HEAD = "head", e.HEADER = "header", e.HGROUP = "hgroup", e.HR = "hr", e.HTML = "html", e.I = "i", e.IMG = "img", e.IMAGE = "image", e.INPUT = "input", e.IFRAME = "iframe", e.KEYGEN = "keygen", e.LABEL = "label", e.LI = "li", e.LINK = "link", e.LISTING = "listing", e.MAIN = "main", e.MALIGNMARK = "malignmark", e.MARQUEE = "marquee", e.MATH = "math", e.MENU = "menu", e.META = "meta", e.MGLYPH = "mglyph", e.MI = "mi", e.MO = "mo", e.MN = "mn", e.MS = "ms", e.MTEXT = "mtext", e.NAV = "nav", e.NOBR = "nobr", e.NOFRAMES = "noframes", e.NOEMBED = "noembed", e.NOSCRIPT = "noscript", e.OBJECT = "object", e.OL = "ol", e.OPTGROUP = "optgroup", e.OPTION = "option", e.P = "p", e.PARAM = "param", e.PLAINTEXT = "plaintext", e.PRE = "pre", e.RB = "rb", e.RP = "rp", e.RT = "rt", e.RTC = "rtc", e.RUBY = "ruby", e.S = "s", e.SCRIPT = "script", e.SECTION = "section", e.SELECT = "select", e.SOURCE = "source", e.SMALL = "small", e.SPAN = "span", e.STRIKE = "strike", e.STRONG = "strong", e.STYLE = "style", e.SUB = "sub", e.SUMMARY = "summary", e.SUP = "sup", e.TABLE = "table", e.TBODY = "tbody", e.TEMPLATE = "template", e.TEXTAREA = "textarea", e.TFOOT = "tfoot", e.TD = "td", e.TH = "th", e.THEAD = "thead", e.TITLE = "title", e.TR = "tr", e.TRACK = "track", e.TT = "tt", e.U = "u", e.UL = "ul", e.SVG = "svg", e.VAR = "var", e.WBR = "wbr", e.XMP = "xmp" +}(Mo = Mo || (Mo = {})), +function(e) { + e[e.UNKNOWN = 0] = "UNKNOWN", e[e.A = 1] = "A", e[e.ADDRESS = 2] = "ADDRESS", e[e.ANNOTATION_XML = 3] = "ANNOTATION_XML", e[e.APPLET = 4] = "APPLET", e[e.AREA = 5] = "AREA", e[e.ARTICLE = 6] = "ARTICLE", e[e.ASIDE = 7] = "ASIDE", e[e.B = 8] = "B", e[e.BASE = 9] = "BASE", e[e.BASEFONT = 10] = "BASEFONT", e[e.BGSOUND = 11] = "BGSOUND", e[e.BIG = 12] = "BIG", e[e.BLOCKQUOTE = 13] = "BLOCKQUOTE", e[e.BODY = 14] = "BODY", e[e.BR = 15] = "BR", e[e.BUTTON = 16] = "BUTTON", e[e.CAPTION = 17] = "CAPTION", e[e.CENTER = 18] = "CENTER", e[e.CODE = 19] = "CODE", e[e.COL = 20] = "COL", e[e.COLGROUP = 21] = "COLGROUP", e[e.DD = 22] = "DD", e[e.DESC = 23] = "DESC", e[e.DETAILS = 24] = "DETAILS", e[e.DIALOG = 25] = "DIALOG", e[e.DIR = 26] = "DIR", e[e.DIV = 27] = "DIV", e[e.DL = 28] = "DL", e[e.DT = 29] = "DT", e[e.EM = 30] = "EM", e[e.EMBED = 31] = "EMBED", e[e.FIELDSET = 32] = "FIELDSET", e[e.FIGCAPTION = 33] = "FIGCAPTION", e[e.FIGURE = 34] = "FIGURE", e[e.FONT = 35] = "FONT", e[e.FOOTER = 36] = "FOOTER", e[e.FOREIGN_OBJECT = 37] = "FOREIGN_OBJECT", e[e.FORM = 38] = "FORM", e[e.FRAME = 39] = "FRAME", e[e.FRAMESET = 40] = "FRAMESET", e[e.H1 = 41] = "H1", e[e.H2 = 42] = "H2", e[e.H3 = 43] = "H3", e[e.H4 = 44] = "H4", e[e.H5 = 45] = "H5", e[e.H6 = 46] = "H6", e[e.HEAD = 47] = "HEAD", e[e.HEADER = 48] = "HEADER", e[e.HGROUP = 49] = "HGROUP", e[e.HR = 50] = "HR", e[e.HTML = 51] = "HTML", e[e.I = 52] = "I", e[e.IMG = 53] = "IMG", e[e.IMAGE = 54] = "IMAGE", e[e.INPUT = 55] = "INPUT", e[e.IFRAME = 56] = "IFRAME", e[e.KEYGEN = 57] = "KEYGEN", e[e.LABEL = 58] = "LABEL", e[e.LI = 59] = "LI", e[e.LINK = 60] = "LINK", e[e.LISTING = 61] = "LISTING", e[e.MAIN = 62] = "MAIN", e[e.MALIGNMARK = 63] = "MALIGNMARK", e[e.MARQUEE = 64] = "MARQUEE", e[e.MATH = 65] = "MATH", e[e.MENU = 66] = "MENU", e[e.META = 67] = "META", e[e.MGLYPH = 68] = "MGLYPH", e[e.MI = 69] = "MI", e[e.MO = 70] = "MO", e[e.MN = 71] = "MN", e[e.MS = 72] = "MS", e[e.MTEXT = 73] = "MTEXT", e[e.NAV = 74] = "NAV", e[e.NOBR = 75] = "NOBR", e[e.NOFRAMES = 76] = "NOFRAMES", e[e.NOEMBED = 77] = "NOEMBED", e[e.NOSCRIPT = 78] = "NOSCRIPT", e[e.OBJECT = 79] = "OBJECT", e[e.OL = 80] = "OL", e[e.OPTGROUP = 81] = "OPTGROUP", e[e.OPTION = 82] = "OPTION", e[e.P = 83] = "P", e[e.PARAM = 84] = "PARAM", e[e.PLAINTEXT = 85] = "PLAINTEXT", e[e.PRE = 86] = "PRE", e[e.RB = 87] = "RB", e[e.RP = 88] = "RP", e[e.RT = 89] = "RT", e[e.RTC = 90] = "RTC", e[e.RUBY = 91] = "RUBY", e[e.S = 92] = "S", e[e.SCRIPT = 93] = "SCRIPT", e[e.SECTION = 94] = "SECTION", e[e.SELECT = 95] = "SELECT", e[e.SOURCE = 96] = "SOURCE", e[e.SMALL = 97] = "SMALL", e[e.SPAN = 98] = "SPAN", e[e.STRIKE = 99] = "STRIKE", e[e.STRONG = 100] = "STRONG", e[e.STYLE = 101] = "STYLE", e[e.SUB = 102] = "SUB", e[e.SUMMARY = 103] = "SUMMARY", e[e.SUP = 104] = "SUP", e[e.TABLE = 105] = "TABLE", e[e.TBODY = 106] = "TBODY", e[e.TEMPLATE = 107] = "TEMPLATE", e[e.TEXTAREA = 108] = "TEXTAREA", e[e.TFOOT = 109] = "TFOOT", e[e.TD = 110] = "TD", e[e.TH = 111] = "TH", e[e.THEAD = 112] = "THEAD", e[e.TITLE = 113] = "TITLE", e[e.TR = 114] = "TR", e[e.TRACK = 115] = "TRACK", e[e.TT = 116] = "TT", e[e.U = 117] = "U", e[e.UL = 118] = "UL", e[e.SVG = 119] = "SVG", e[e.VAR = 120] = "VAR", e[e.WBR = 121] = "WBR", e[e.XMP = 122] = "XMP" +}(Po = Po || (Po = {})); +const Bo = new Map([ + [Mo.A, Po.A], + [Mo.ADDRESS, Po.ADDRESS], + [Mo.ANNOTATION_XML, Po.ANNOTATION_XML], + [Mo.APPLET, Po.APPLET], + [Mo.AREA, Po.AREA], + [Mo.ARTICLE, Po.ARTICLE], + [Mo.ASIDE, Po.ASIDE], + [Mo.B, Po.B], + [Mo.BASE, Po.BASE], + [Mo.BASEFONT, Po.BASEFONT], + [Mo.BGSOUND, Po.BGSOUND], + [Mo.BIG, Po.BIG], + [Mo.BLOCKQUOTE, Po.BLOCKQUOTE], + [Mo.BODY, Po.BODY], + [Mo.BR, Po.BR], + [Mo.BUTTON, Po.BUTTON], + [Mo.CAPTION, Po.CAPTION], + [Mo.CENTER, Po.CENTER], + [Mo.CODE, Po.CODE], + [Mo.COL, Po.COL], + [Mo.COLGROUP, Po.COLGROUP], + [Mo.DD, Po.DD], + [Mo.DESC, Po.DESC], + [Mo.DETAILS, Po.DETAILS], + [Mo.DIALOG, Po.DIALOG], + [Mo.DIR, Po.DIR], + [Mo.DIV, Po.DIV], + [Mo.DL, Po.DL], + [Mo.DT, Po.DT], + [Mo.EM, Po.EM], + [Mo.EMBED, Po.EMBED], + [Mo.FIELDSET, Po.FIELDSET], + [Mo.FIGCAPTION, Po.FIGCAPTION], + [Mo.FIGURE, Po.FIGURE], + [Mo.FONT, Po.FONT], + [Mo.FOOTER, Po.FOOTER], + [Mo.FOREIGN_OBJECT, Po.FOREIGN_OBJECT], + [Mo.FORM, Po.FORM], + [Mo.FRAME, Po.FRAME], + [Mo.FRAMESET, Po.FRAMESET], + [Mo.H1, Po.H1], + [Mo.H2, Po.H2], + [Mo.H3, Po.H3], + [Mo.H4, Po.H4], + [Mo.H5, Po.H5], + [Mo.H6, Po.H6], + [Mo.HEAD, Po.HEAD], + [Mo.HEADER, Po.HEADER], + [Mo.HGROUP, Po.HGROUP], + [Mo.HR, Po.HR], + [Mo.HTML, Po.HTML], + [Mo.I, Po.I], + [Mo.IMG, Po.IMG], + [Mo.IMAGE, Po.IMAGE], + [Mo.INPUT, Po.INPUT], + [Mo.IFRAME, Po.IFRAME], + [Mo.KEYGEN, Po.KEYGEN], + [Mo.LABEL, Po.LABEL], + [Mo.LI, Po.LI], + [Mo.LINK, Po.LINK], + [Mo.LISTING, Po.LISTING], + [Mo.MAIN, Po.MAIN], + [Mo.MALIGNMARK, Po.MALIGNMARK], + [Mo.MARQUEE, Po.MARQUEE], + [Mo.MATH, Po.MATH], + [Mo.MENU, Po.MENU], + [Mo.META, Po.META], + [Mo.MGLYPH, Po.MGLYPH], + [Mo.MI, Po.MI], + [Mo.MO, Po.MO], + [Mo.MN, Po.MN], + [Mo.MS, Po.MS], + [Mo.MTEXT, Po.MTEXT], + [Mo.NAV, Po.NAV], + [Mo.NOBR, Po.NOBR], + [Mo.NOFRAMES, Po.NOFRAMES], + [Mo.NOEMBED, Po.NOEMBED], + [Mo.NOSCRIPT, Po.NOSCRIPT], + [Mo.OBJECT, Po.OBJECT], + [Mo.OL, Po.OL], + [Mo.OPTGROUP, Po.OPTGROUP], + [Mo.OPTION, Po.OPTION], + [Mo.P, Po.P], + [Mo.PARAM, Po.PARAM], + [Mo.PLAINTEXT, Po.PLAINTEXT], + [Mo.PRE, Po.PRE], + [Mo.RB, Po.RB], + [Mo.RP, Po.RP], + [Mo.RT, Po.RT], + [Mo.RTC, Po.RTC], + [Mo.RUBY, Po.RUBY], + [Mo.S, Po.S], + [Mo.SCRIPT, Po.SCRIPT], + [Mo.SECTION, Po.SECTION], + [Mo.SELECT, Po.SELECT], + [Mo.SOURCE, Po.SOURCE], + [Mo.SMALL, Po.SMALL], + [Mo.SPAN, Po.SPAN], + [Mo.STRIKE, Po.STRIKE], + [Mo.STRONG, Po.STRONG], + [Mo.STYLE, Po.STYLE], + [Mo.SUB, Po.SUB], + [Mo.SUMMARY, Po.SUMMARY], + [Mo.SUP, Po.SUP], + [Mo.TABLE, Po.TABLE], + [Mo.TBODY, Po.TBODY], + [Mo.TEMPLATE, Po.TEMPLATE], + [Mo.TEXTAREA, Po.TEXTAREA], + [Mo.TFOOT, Po.TFOOT], + [Mo.TD, Po.TD], + [Mo.TH, Po.TH], + [Mo.THEAD, Po.THEAD], + [Mo.TITLE, Po.TITLE], + [Mo.TR, Po.TR], + [Mo.TRACK, Po.TRACK], + [Mo.TT, Po.TT], + [Mo.U, Po.U], + [Mo.UL, Po.UL], + [Mo.SVG, Po.SVG], + [Mo.VAR, Po.VAR], + [Mo.WBR, Po.WBR], + [Mo.XMP, Po.XMP] +]); + +function Fo(e) { + var t; + return null !== (t = Bo.get(e)) && void 0 !== t ? t : Po.UNKNOWN +} +const Uo = Po, + Ho = { + [vo.HTML]: new Set([Uo.ADDRESS, Uo.APPLET, Uo.AREA, Uo.ARTICLE, Uo.ASIDE, Uo.BASE, Uo.BASEFONT, Uo.BGSOUND, Uo.BLOCKQUOTE, Uo.BODY, Uo.BR, Uo.BUTTON, Uo.CAPTION, Uo.CENTER, Uo.COL, Uo.COLGROUP, Uo.DD, Uo.DETAILS, Uo.DIR, Uo.DIV, Uo.DL, Uo.DT, Uo.EMBED, Uo.FIELDSET, Uo.FIGCAPTION, Uo.FIGURE, Uo.FOOTER, Uo.FORM, Uo.FRAME, Uo.FRAMESET, Uo.H1, Uo.H2, Uo.H3, Uo.H4, Uo.H5, Uo.H6, Uo.HEAD, Uo.HEADER, Uo.HGROUP, Uo.HR, Uo.HTML, Uo.IFRAME, Uo.IMG, Uo.INPUT, Uo.LI, Uo.LINK, Uo.LISTING, Uo.MAIN, Uo.MARQUEE, Uo.MENU, Uo.META, Uo.NAV, Uo.NOEMBED, Uo.NOFRAMES, Uo.NOSCRIPT, Uo.OBJECT, Uo.OL, Uo.P, Uo.PARAM, Uo.PLAINTEXT, Uo.PRE, Uo.SCRIPT, Uo.SECTION, Uo.SELECT, Uo.SOURCE, Uo.STYLE, Uo.SUMMARY, Uo.TABLE, Uo.TBODY, Uo.TD, Uo.TEMPLATE, Uo.TEXTAREA, Uo.TFOOT, Uo.TH, Uo.THEAD, Uo.TITLE, Uo.TR, Uo.TRACK, Uo.UL, Uo.WBR, Uo.XMP]), + [vo.MATHML]: new Set([Uo.MI, Uo.MO, Uo.MN, Uo.MS, Uo.MTEXT, Uo.ANNOTATION_XML]), + [vo.SVG]: new Set([Uo.TITLE, Uo.FOREIGN_OBJECT, Uo.DESC]), + [vo.XLINK]: new Set, + [vo.XML]: new Set, + [vo.XMLNS]: new Set + }; + +function Go(e) { + return e === Uo.H1 || e === Uo.H2 || e === Uo.H3 || e === Uo.H4 || e === Uo.H5 || e === Uo.H6 +} +const Yo = new Set([Mo.STYLE, Mo.SCRIPT, Mo.XMP, Mo.IFRAME, Mo.NOEMBED, Mo.NOFRAMES, Mo.PLAINTEXT]); +const qo = new Map([ + [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] +]); +var Ko; +! function(e) { + e[e.DATA = 0] = "DATA", e[e.RCDATA = 1] = "RCDATA", e[e.RAWTEXT = 2] = "RAWTEXT", e[e.SCRIPT_DATA = 3] = "SCRIPT_DATA", e[e.PLAINTEXT = 4] = "PLAINTEXT", e[e.TAG_OPEN = 5] = "TAG_OPEN", e[e.END_TAG_OPEN = 6] = "END_TAG_OPEN", e[e.TAG_NAME = 7] = "TAG_NAME", e[e.RCDATA_LESS_THAN_SIGN = 8] = "RCDATA_LESS_THAN_SIGN", e[e.RCDATA_END_TAG_OPEN = 9] = "RCDATA_END_TAG_OPEN", e[e.RCDATA_END_TAG_NAME = 10] = "RCDATA_END_TAG_NAME", e[e.RAWTEXT_LESS_THAN_SIGN = 11] = "RAWTEXT_LESS_THAN_SIGN", e[e.RAWTEXT_END_TAG_OPEN = 12] = "RAWTEXT_END_TAG_OPEN", e[e.RAWTEXT_END_TAG_NAME = 13] = "RAWTEXT_END_TAG_NAME", e[e.SCRIPT_DATA_LESS_THAN_SIGN = 14] = "SCRIPT_DATA_LESS_THAN_SIGN", e[e.SCRIPT_DATA_END_TAG_OPEN = 15] = "SCRIPT_DATA_END_TAG_OPEN", e[e.SCRIPT_DATA_END_TAG_NAME = 16] = "SCRIPT_DATA_END_TAG_NAME", e[e.SCRIPT_DATA_ESCAPE_START = 17] = "SCRIPT_DATA_ESCAPE_START", e[e.SCRIPT_DATA_ESCAPE_START_DASH = 18] = "SCRIPT_DATA_ESCAPE_START_DASH", e[e.SCRIPT_DATA_ESCAPED = 19] = "SCRIPT_DATA_ESCAPED", e[e.SCRIPT_DATA_ESCAPED_DASH = 20] = "SCRIPT_DATA_ESCAPED_DASH", e[e.SCRIPT_DATA_ESCAPED_DASH_DASH = 21] = "SCRIPT_DATA_ESCAPED_DASH_DASH", e[e.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN = 22] = "SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN", e[e.SCRIPT_DATA_ESCAPED_END_TAG_OPEN = 23] = "SCRIPT_DATA_ESCAPED_END_TAG_OPEN", e[e.SCRIPT_DATA_ESCAPED_END_TAG_NAME = 24] = "SCRIPT_DATA_ESCAPED_END_TAG_NAME", e[e.SCRIPT_DATA_DOUBLE_ESCAPE_START = 25] = "SCRIPT_DATA_DOUBLE_ESCAPE_START", e[e.SCRIPT_DATA_DOUBLE_ESCAPED = 26] = "SCRIPT_DATA_DOUBLE_ESCAPED", e[e.SCRIPT_DATA_DOUBLE_ESCAPED_DASH = 27] = "SCRIPT_DATA_DOUBLE_ESCAPED_DASH", e[e.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH = 28] = "SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH", e[e.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN = 29] = "SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN", e[e.SCRIPT_DATA_DOUBLE_ESCAPE_END = 30] = "SCRIPT_DATA_DOUBLE_ESCAPE_END", e[e.BEFORE_ATTRIBUTE_NAME = 31] = "BEFORE_ATTRIBUTE_NAME", e[e.ATTRIBUTE_NAME = 32] = "ATTRIBUTE_NAME", e[e.AFTER_ATTRIBUTE_NAME = 33] = "AFTER_ATTRIBUTE_NAME", e[e.BEFORE_ATTRIBUTE_VALUE = 34] = "BEFORE_ATTRIBUTE_VALUE", e[e.ATTRIBUTE_VALUE_DOUBLE_QUOTED = 35] = "ATTRIBUTE_VALUE_DOUBLE_QUOTED", e[e.ATTRIBUTE_VALUE_SINGLE_QUOTED = 36] = "ATTRIBUTE_VALUE_SINGLE_QUOTED", e[e.ATTRIBUTE_VALUE_UNQUOTED = 37] = "ATTRIBUTE_VALUE_UNQUOTED", e[e.AFTER_ATTRIBUTE_VALUE_QUOTED = 38] = "AFTER_ATTRIBUTE_VALUE_QUOTED", e[e.SELF_CLOSING_START_TAG = 39] = "SELF_CLOSING_START_TAG", e[e.BOGUS_COMMENT = 40] = "BOGUS_COMMENT", e[e.MARKUP_DECLARATION_OPEN = 41] = "MARKUP_DECLARATION_OPEN", e[e.COMMENT_START = 42] = "COMMENT_START", e[e.COMMENT_START_DASH = 43] = "COMMENT_START_DASH", e[e.COMMENT = 44] = "COMMENT", e[e.COMMENT_LESS_THAN_SIGN = 45] = "COMMENT_LESS_THAN_SIGN", e[e.COMMENT_LESS_THAN_SIGN_BANG = 46] = "COMMENT_LESS_THAN_SIGN_BANG", e[e.COMMENT_LESS_THAN_SIGN_BANG_DASH = 47] = "COMMENT_LESS_THAN_SIGN_BANG_DASH", e[e.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH = 48] = "COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH", e[e.COMMENT_END_DASH = 49] = "COMMENT_END_DASH", e[e.COMMENT_END = 50] = "COMMENT_END", e[e.COMMENT_END_BANG = 51] = "COMMENT_END_BANG", e[e.DOCTYPE = 52] = "DOCTYPE", e[e.BEFORE_DOCTYPE_NAME = 53] = "BEFORE_DOCTYPE_NAME", e[e.DOCTYPE_NAME = 54] = "DOCTYPE_NAME", e[e.AFTER_DOCTYPE_NAME = 55] = "AFTER_DOCTYPE_NAME", e[e.AFTER_DOCTYPE_PUBLIC_KEYWORD = 56] = "AFTER_DOCTYPE_PUBLIC_KEYWORD", e[e.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER = 57] = "BEFORE_DOCTYPE_PUBLIC_IDENTIFIER", e[e.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED = 58] = "DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED", e[e.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED = 59] = "DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED", e[e.AFTER_DOCTYPE_PUBLIC_IDENTIFIER = 60] = "AFTER_DOCTYPE_PUBLIC_IDENTIFIER", e[e.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS = 61] = "BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS", e[e.AFTER_DOCTYPE_SYSTEM_KEYWORD = 62] = "AFTER_DOCTYPE_SYSTEM_KEYWORD", e[e.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER = 63] = "BEFORE_DOCTYPE_SYSTEM_IDENTIFIER", e[e.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED = 64] = "DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED", e[e.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED = 65] = "DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED", e[e.AFTER_DOCTYPE_SYSTEM_IDENTIFIER = 66] = "AFTER_DOCTYPE_SYSTEM_IDENTIFIER", e[e.BOGUS_DOCTYPE = 67] = "BOGUS_DOCTYPE", e[e.CDATA_SECTION = 68] = "CDATA_SECTION", e[e.CDATA_SECTION_BRACKET = 69] = "CDATA_SECTION_BRACKET", e[e.CDATA_SECTION_END = 70] = "CDATA_SECTION_END", e[e.CHARACTER_REFERENCE = 71] = "CHARACTER_REFERENCE", e[e.NAMED_CHARACTER_REFERENCE = 72] = "NAMED_CHARACTER_REFERENCE", e[e.AMBIGUOUS_AMPERSAND = 73] = "AMBIGUOUS_AMPERSAND", e[e.NUMERIC_CHARACTER_REFERENCE = 74] = "NUMERIC_CHARACTER_REFERENCE", e[e.HEXADEMICAL_CHARACTER_REFERENCE_START = 75] = "HEXADEMICAL_CHARACTER_REFERENCE_START", e[e.HEXADEMICAL_CHARACTER_REFERENCE = 76] = "HEXADEMICAL_CHARACTER_REFERENCE", e[e.DECIMAL_CHARACTER_REFERENCE = 77] = "DECIMAL_CHARACTER_REFERENCE", e[e.NUMERIC_CHARACTER_REFERENCE_END = 78] = "NUMERIC_CHARACTER_REFERENCE_END" +}(Ko || (Ko = {})); +const jo = { + DATA: Ko.DATA, + RCDATA: Ko.RCDATA, + RAWTEXT: Ko.RAWTEXT, + SCRIPT_DATA: Ko.SCRIPT_DATA, + PLAINTEXT: Ko.PLAINTEXT, + CDATA_SECTION: Ko.CDATA_SECTION +}; + +function Vo(e) { + return e >= io.DIGIT_0 && e <= io.DIGIT_9 +} + +function Wo(e) { + return e >= io.LATIN_CAPITAL_A && e <= io.LATIN_CAPITAL_Z +} + +function Qo(e) { + return function(e) { + return e >= io.LATIN_SMALL_A && e <= io.LATIN_SMALL_Z + }(e) || Wo(e) +} + +function Xo(e) { + return Qo(e) || Vo(e) +} + +function $o(e) { + return e >= io.LATIN_CAPITAL_A && e <= io.LATIN_CAPITAL_F +} + +function zo(e) { + return e >= io.LATIN_SMALL_A && e <= io.LATIN_SMALL_F +} + +function Jo(e) { + return e + 32 +} + +function Zo(e) { + return e === io.SPACE || e === io.LINE_FEED || e === io.TABULATION || e === io.FORM_FEED +} + +function ec(e) { + return Zo(e) || e === io.SOLIDUS || e === io.GREATER_THAN_SIGN +} +class tc { + constructor(e, t) { + this.options = e, this.handler = t, this.paused = !1, this.inLoop = !1, this.inForeignNode = !1, this.lastStartTagName = "", this.active = !1, this.state = Ko.DATA, this.returnState = Ko.DATA, this.charRefCode = -1, this.consumedAfterSnapshot = -1, this.currentCharacterToken = null, this.currentToken = null, this.currentAttr = { + name: "", + value: "" + }, this.preprocessor = new mo(t), this.currentLocation = this.getCurrentLocation(-1) + } + _err(e) { + var t, n; + null === (n = (t = this.handler).onParseError) || void 0 === n || n.call(t, this.preprocessor.getError(e)) + } + getCurrentLocation(e) { + return this.options.sourceCodeLocationInfo ? { + startLine: this.preprocessor.line, + startCol: this.preprocessor.col - e, + startOffset: this.preprocessor.offset - e, + endLine: -1, + endCol: -1, + endOffset: -1 + } : null + } + _runParsingLoop() { + if (!this.inLoop) { + for (this.inLoop = !0; this.active && !this.paused;) { + this.consumedAfterSnapshot = 0; + const e = this._consume(); + this._ensureHibernation() || this._callState(e) + } + this.inLoop = !1 + } + } + pause() { + this.paused = !0 + } + resume(e) { + if (!this.paused) throw new Error("Parser was already resumed"); + this.paused = !1, this.inLoop || (this._runParsingLoop(), this.paused || null == e || e()) + } + write(e, t, n) { + this.active = !0, this.preprocessor.write(e, t), this._runParsingLoop(), this.paused || null == n || n() + } + insertHtmlAtCurrentPos(e) { + this.active = !0, this.preprocessor.insertHtmlAtCurrentPos(e), this._runParsingLoop() + } + _ensureHibernation() { + return !!this.preprocessor.endOfChunkHit && (this._unconsume(this.consumedAfterSnapshot), this.active = !1, !0) + } + _consume() { + return this.consumedAfterSnapshot++, this.preprocessor.advance() + } + _unconsume(e) { + this.consumedAfterSnapshot -= e, this.preprocessor.retreat(e) + } + _reconsumeInState(e, t) { + this.state = e, this._callState(t) + } + _advanceBy(e) { + this.consumedAfterSnapshot += e; + for (let t = 0; t < e; t++) this.preprocessor.advance() + } + _consumeSequenceIfMatch(e, t) { + return !!this.preprocessor.startsWith(e, t) && (this._advanceBy(e.length - 1), !0) + } + _createStartTagToken() { + this.currentToken = { + type: To.START_TAG, + tagName: "", + tagID: Po.UNKNOWN, + selfClosing: !1, + ackSelfClosing: !1, + attrs: [], + location: this.getCurrentLocation(1) + } + } + _createEndTagToken() { + this.currentToken = { + type: To.END_TAG, + tagName: "", + tagID: Po.UNKNOWN, + selfClosing: !1, + ackSelfClosing: !1, + attrs: [], + location: this.getCurrentLocation(2) + } + } + _createCommentToken(e) { + this.currentToken = { + type: To.COMMENT, + data: "", + location: this.getCurrentLocation(e) + } + } + _createDoctypeToken(e) { + this.currentToken = { + type: To.DOCTYPE, + name: e, + forceQuirks: !1, + publicId: null, + systemId: null, + location: this.currentLocation + } + } + _createCharacterToken(e, t) { + this.currentCharacterToken = { + type: e, + chars: t, + location: this.currentLocation + } + } + _createAttr(e) { + this.currentAttr = { + name: e, + value: "" + }, this.currentLocation = this.getCurrentLocation(0) + } + _leaveAttrName() { + var e, t; + const n = this.currentToken; + if (null === _o(n, this.currentAttr.name)) { + if (n.attrs.push(this.currentAttr), n.location && this.currentLocation) { + (null !== (e = (t = n.location).attrs) && void 0 !== e ? e : t.attrs = Object.create(null))[this.currentAttr.name] = this.currentLocation, this._leaveAttrValue() + } + } else this._err(Eo.duplicateAttribute) + } + _leaveAttrValue() { + this.currentLocation && (this.currentLocation.endLine = this.preprocessor.line, this.currentLocation.endCol = this.preprocessor.col, this.currentLocation.endOffset = this.preprocessor.offset) + } + prepareToken(e) { + this._emitCurrentCharacterToken(e.location), this.currentToken = null, e.location && (e.location.endLine = this.preprocessor.line, e.location.endCol = this.preprocessor.col + 1, e.location.endOffset = this.preprocessor.offset + 1), this.currentLocation = this.getCurrentLocation(-1) + } + emitCurrentTagToken() { + const e = this.currentToken; + this.prepareToken(e), e.tagID = Fo(e.tagName), e.type === To.START_TAG ? (this.lastStartTagName = e.tagName, this.handler.onStartTag(e)) : (e.attrs.length > 0 && this._err(Eo.endTagWithAttributes), e.selfClosing && this._err(Eo.endTagWithTrailingSolidus), this.handler.onEndTag(e)), this.preprocessor.dropParsedChunk() + } + emitCurrentComment(e) { + this.prepareToken(e), this.handler.onComment(e), this.preprocessor.dropParsedChunk() + } + emitCurrentDoctype(e) { + this.prepareToken(e), this.handler.onDoctype(e), this.preprocessor.dropParsedChunk() + } + _emitCurrentCharacterToken(e) { + if (this.currentCharacterToken) { + switch (e && this.currentCharacterToken.location && (this.currentCharacterToken.location.endLine = e.startLine, this.currentCharacterToken.location.endCol = e.startCol, this.currentCharacterToken.location.endOffset = e.startOffset), this.currentCharacterToken.type) { + case To.CHARACTER: + this.handler.onCharacter(this.currentCharacterToken); + break; + case To.NULL_CHARACTER: + this.handler.onNullCharacter(this.currentCharacterToken); + break; + case To.WHITESPACE_CHARACTER: + this.handler.onWhitespaceCharacter(this.currentCharacterToken) + } + this.currentCharacterToken = null + } + } + _emitEOFToken() { + const e = this.getCurrentLocation(0); + e && (e.endLine = e.startLine, e.endCol = e.startCol, e.endOffset = e.startOffset), this._emitCurrentCharacterToken(e), this.handler.onEof({ + type: To.EOF, + location: e + }), this.active = !1 + } + _appendCharToCurrentCharacterToken(e, t) { + if (this.currentCharacterToken) { + if (this.currentCharacterToken.type === e) return void(this.currentCharacterToken.chars += t); + this.currentLocation = this.getCurrentLocation(0), this._emitCurrentCharacterToken(this.currentLocation), this.preprocessor.dropParsedChunk() + } + this._createCharacterToken(e, t) + } + _emitCodePoint(e) { + const t = Zo(e) ? To.WHITESPACE_CHARACTER : e === io.NULL ? To.NULL_CHARACTER : To.CHARACTER; + this._appendCharToCurrentCharacterToken(t, String.fromCodePoint(e)) + } + _emitChars(e) { + this._appendCharToCurrentCharacterToken(To.CHARACTER, e) + } + _matchNamedCharacterReference(e) { + let t = null, + n = 0, + r = !1; + for (let s = 0, a = wo[0]; s >= 0 && (s = Oo(wo, a, s + 1, e), !(s < 0)); e = this._consume()) { + n += 1, a = wo[s]; + const o = a & yo.VALUE_LENGTH; + if (o) { + const a = (o >> 14) - 1; + if (e !== io.SEMICOLON && this._isCharacterReferenceInAttribute() && ((i = this.preprocessor.peek(1)) === io.EQUALS_SIGN || Xo(i)) ? (t = [io.AMPERSAND], s += a) : (t = 0 === a ? [wo[s] & ~yo.VALUE_LENGTH] : 1 === a ? [wo[++s]] : [wo[++s], wo[++s]], n = 0, r = e !== io.SEMICOLON), 0 === a) { + this._consume(); + break + } + } + } + var i; + return this._unconsume(n), r && !this.preprocessor.endOfChunkHit && this._err(Eo.missingSemicolonAfterCharacterReference), this._unconsume(1), t + } + _isCharacterReferenceInAttribute() { + return this.returnState === Ko.ATTRIBUTE_VALUE_DOUBLE_QUOTED || this.returnState === Ko.ATTRIBUTE_VALUE_SINGLE_QUOTED || this.returnState === Ko.ATTRIBUTE_VALUE_UNQUOTED + } + _flushCodePointConsumedAsCharacterReference(e) { + this._isCharacterReferenceInAttribute() ? this.currentAttr.value += String.fromCodePoint(e) : this._emitCodePoint(e) + } + _callState(e) { + switch (this.state) { + case Ko.DATA: + this._stateData(e); + break; + case Ko.RCDATA: + this._stateRcdata(e); + break; + case Ko.RAWTEXT: + this._stateRawtext(e); + break; + case Ko.SCRIPT_DATA: + this._stateScriptData(e); + break; + case Ko.PLAINTEXT: + this._statePlaintext(e); + break; + case Ko.TAG_OPEN: + this._stateTagOpen(e); + break; + case Ko.END_TAG_OPEN: + this._stateEndTagOpen(e); + break; + case Ko.TAG_NAME: + this._stateTagName(e); + break; + case Ko.RCDATA_LESS_THAN_SIGN: + this._stateRcdataLessThanSign(e); + break; + case Ko.RCDATA_END_TAG_OPEN: + this._stateRcdataEndTagOpen(e); + break; + case Ko.RCDATA_END_TAG_NAME: + this._stateRcdataEndTagName(e); + break; + case Ko.RAWTEXT_LESS_THAN_SIGN: + this._stateRawtextLessThanSign(e); + break; + case Ko.RAWTEXT_END_TAG_OPEN: + this._stateRawtextEndTagOpen(e); + break; + case Ko.RAWTEXT_END_TAG_NAME: + this._stateRawtextEndTagName(e); + break; + case Ko.SCRIPT_DATA_LESS_THAN_SIGN: + this._stateScriptDataLessThanSign(e); + break; + case Ko.SCRIPT_DATA_END_TAG_OPEN: + this._stateScriptDataEndTagOpen(e); + break; + case Ko.SCRIPT_DATA_END_TAG_NAME: + this._stateScriptDataEndTagName(e); + break; + case Ko.SCRIPT_DATA_ESCAPE_START: + this._stateScriptDataEscapeStart(e); + break; + case Ko.SCRIPT_DATA_ESCAPE_START_DASH: + this._stateScriptDataEscapeStartDash(e); + break; + case Ko.SCRIPT_DATA_ESCAPED: + this._stateScriptDataEscaped(e); + break; + case Ko.SCRIPT_DATA_ESCAPED_DASH: + this._stateScriptDataEscapedDash(e); + break; + case Ko.SCRIPT_DATA_ESCAPED_DASH_DASH: + this._stateScriptDataEscapedDashDash(e); + break; + case Ko.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN: + this._stateScriptDataEscapedLessThanSign(e); + break; + case Ko.SCRIPT_DATA_ESCAPED_END_TAG_OPEN: + this._stateScriptDataEscapedEndTagOpen(e); + break; + case Ko.SCRIPT_DATA_ESCAPED_END_TAG_NAME: + this._stateScriptDataEscapedEndTagName(e); + break; + case Ko.SCRIPT_DATA_DOUBLE_ESCAPE_START: + this._stateScriptDataDoubleEscapeStart(e); + break; + case Ko.SCRIPT_DATA_DOUBLE_ESCAPED: + this._stateScriptDataDoubleEscaped(e); + break; + case Ko.SCRIPT_DATA_DOUBLE_ESCAPED_DASH: + this._stateScriptDataDoubleEscapedDash(e); + break; + case Ko.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH: + this._stateScriptDataDoubleEscapedDashDash(e); + break; + case Ko.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN: + this._stateScriptDataDoubleEscapedLessThanSign(e); + break; + case Ko.SCRIPT_DATA_DOUBLE_ESCAPE_END: + this._stateScriptDataDoubleEscapeEnd(e); + break; + case Ko.BEFORE_ATTRIBUTE_NAME: + this._stateBeforeAttributeName(e); + break; + case Ko.ATTRIBUTE_NAME: + this._stateAttributeName(e); + break; + case Ko.AFTER_ATTRIBUTE_NAME: + this._stateAfterAttributeName(e); + break; + case Ko.BEFORE_ATTRIBUTE_VALUE: + this._stateBeforeAttributeValue(e); + break; + case Ko.ATTRIBUTE_VALUE_DOUBLE_QUOTED: + this._stateAttributeValueDoubleQuoted(e); + break; + case Ko.ATTRIBUTE_VALUE_SINGLE_QUOTED: + this._stateAttributeValueSingleQuoted(e); + break; + case Ko.ATTRIBUTE_VALUE_UNQUOTED: + this._stateAttributeValueUnquoted(e); + break; + case Ko.AFTER_ATTRIBUTE_VALUE_QUOTED: + this._stateAfterAttributeValueQuoted(e); + break; + case Ko.SELF_CLOSING_START_TAG: + this._stateSelfClosingStartTag(e); + break; + case Ko.BOGUS_COMMENT: + this._stateBogusComment(e); + break; + case Ko.MARKUP_DECLARATION_OPEN: + this._stateMarkupDeclarationOpen(e); + break; + case Ko.COMMENT_START: + this._stateCommentStart(e); + break; + case Ko.COMMENT_START_DASH: + this._stateCommentStartDash(e); + break; + case Ko.COMMENT: + this._stateComment(e); + break; + case Ko.COMMENT_LESS_THAN_SIGN: + this._stateCommentLessThanSign(e); + break; + case Ko.COMMENT_LESS_THAN_SIGN_BANG: + this._stateCommentLessThanSignBang(e); + break; + case Ko.COMMENT_LESS_THAN_SIGN_BANG_DASH: + this._stateCommentLessThanSignBangDash(e); + break; + case Ko.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH: + this._stateCommentLessThanSignBangDashDash(e); + break; + case Ko.COMMENT_END_DASH: + this._stateCommentEndDash(e); + break; + case Ko.COMMENT_END: + this._stateCommentEnd(e); + break; + case Ko.COMMENT_END_BANG: + this._stateCommentEndBang(e); + break; + case Ko.DOCTYPE: + this._stateDoctype(e); + break; + case Ko.BEFORE_DOCTYPE_NAME: + this._stateBeforeDoctypeName(e); + break; + case Ko.DOCTYPE_NAME: + this._stateDoctypeName(e); + break; + case Ko.AFTER_DOCTYPE_NAME: + this._stateAfterDoctypeName(e); + break; + case Ko.AFTER_DOCTYPE_PUBLIC_KEYWORD: + this._stateAfterDoctypePublicKeyword(e); + break; + case Ko.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER: + this._stateBeforeDoctypePublicIdentifier(e); + break; + case Ko.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED: + this._stateDoctypePublicIdentifierDoubleQuoted(e); + break; + case Ko.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED: + this._stateDoctypePublicIdentifierSingleQuoted(e); + break; + case Ko.AFTER_DOCTYPE_PUBLIC_IDENTIFIER: + this._stateAfterDoctypePublicIdentifier(e); + break; + case Ko.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS: + this._stateBetweenDoctypePublicAndSystemIdentifiers(e); + break; + case Ko.AFTER_DOCTYPE_SYSTEM_KEYWORD: + this._stateAfterDoctypeSystemKeyword(e); + break; + case Ko.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER: + this._stateBeforeDoctypeSystemIdentifier(e); + break; + case Ko.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED: + this._stateDoctypeSystemIdentifierDoubleQuoted(e); + break; + case Ko.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED: + this._stateDoctypeSystemIdentifierSingleQuoted(e); + break; + case Ko.AFTER_DOCTYPE_SYSTEM_IDENTIFIER: + this._stateAfterDoctypeSystemIdentifier(e); + break; + case Ko.BOGUS_DOCTYPE: + this._stateBogusDoctype(e); + break; + case Ko.CDATA_SECTION: + this._stateCdataSection(e); + break; + case Ko.CDATA_SECTION_BRACKET: + this._stateCdataSectionBracket(e); + break; + case Ko.CDATA_SECTION_END: + this._stateCdataSectionEnd(e); + break; + case Ko.CHARACTER_REFERENCE: + this._stateCharacterReference(e); + break; + case Ko.NAMED_CHARACTER_REFERENCE: + this._stateNamedCharacterReference(e); + break; + case Ko.AMBIGUOUS_AMPERSAND: + this._stateAmbiguousAmpersand(e); + break; + case Ko.NUMERIC_CHARACTER_REFERENCE: + this._stateNumericCharacterReference(e); + break; + case Ko.HEXADEMICAL_CHARACTER_REFERENCE_START: + this._stateHexademicalCharacterReferenceStart(e); + break; + case Ko.HEXADEMICAL_CHARACTER_REFERENCE: + this._stateHexademicalCharacterReference(e); + break; + case Ko.DECIMAL_CHARACTER_REFERENCE: + this._stateDecimalCharacterReference(e); + break; + case Ko.NUMERIC_CHARACTER_REFERENCE_END: + this._stateNumericCharacterReferenceEnd(e); + break; + default: + throw new Error("Unknown state") + } + } + _stateData(e) { + switch (e) { + case io.LESS_THAN_SIGN: + this.state = Ko.TAG_OPEN; + break; + case io.AMPERSAND: + this.returnState = Ko.DATA, this.state = Ko.CHARACTER_REFERENCE; + break; + case io.NULL: + this._err(Eo.unexpectedNullCharacter), this._emitCodePoint(e); + break; + case io.EOF: + this._emitEOFToken(); + break; + default: + this._emitCodePoint(e) + } + } + _stateRcdata(e) { + switch (e) { + case io.AMPERSAND: + this.returnState = Ko.RCDATA, this.state = Ko.CHARACTER_REFERENCE; + break; + case io.LESS_THAN_SIGN: + this.state = Ko.RCDATA_LESS_THAN_SIGN; + break; + case io.NULL: + this._err(Eo.unexpectedNullCharacter), this._emitChars("�"); + break; + case io.EOF: + this._emitEOFToken(); + break; + default: + this._emitCodePoint(e) + } + } + _stateRawtext(e) { + switch (e) { + case io.LESS_THAN_SIGN: + this.state = Ko.RAWTEXT_LESS_THAN_SIGN; + break; + case io.NULL: + this._err(Eo.unexpectedNullCharacter), this._emitChars("�"); + break; + case io.EOF: + this._emitEOFToken(); + break; + default: + this._emitCodePoint(e) + } + } + _stateScriptData(e) { + switch (e) { + case io.LESS_THAN_SIGN: + this.state = Ko.SCRIPT_DATA_LESS_THAN_SIGN; + break; + case io.NULL: + this._err(Eo.unexpectedNullCharacter), this._emitChars("�"); + break; + case io.EOF: + this._emitEOFToken(); + break; + default: + this._emitCodePoint(e) + } + } + _statePlaintext(e) { + switch (e) { + case io.NULL: + this._err(Eo.unexpectedNullCharacter), this._emitChars("�"); + break; + case io.EOF: + this._emitEOFToken(); + break; + default: + this._emitCodePoint(e) + } + } + _stateTagOpen(e) { + if (Qo(e)) this._createStartTagToken(), this.state = Ko.TAG_NAME, this._stateTagName(e); + else switch (e) { + case io.EXCLAMATION_MARK: + this.state = Ko.MARKUP_DECLARATION_OPEN; + break; + case io.SOLIDUS: + this.state = Ko.END_TAG_OPEN; + break; + case io.QUESTION_MARK: + this._err(Eo.unexpectedQuestionMarkInsteadOfTagName), this._createCommentToken(1), this.state = Ko.BOGUS_COMMENT, this._stateBogusComment(e); + break; + case io.EOF: + this._err(Eo.eofBeforeTagName), this._emitChars("<"), this._emitEOFToken(); + break; + default: + this._err(Eo.invalidFirstCharacterOfTagName), this._emitChars("<"), this.state = Ko.DATA, this._stateData(e) + } + } + _stateEndTagOpen(e) { + if (Qo(e)) this._createEndTagToken(), this.state = Ko.TAG_NAME, this._stateTagName(e); + else switch (e) { + case io.GREATER_THAN_SIGN: + this._err(Eo.missingEndTagName), this.state = Ko.DATA; + break; + case io.EOF: + this._err(Eo.eofBeforeTagName), this._emitChars(""); + break; + case io.NULL: + this._err(Eo.unexpectedNullCharacter), this.state = Ko.SCRIPT_DATA_ESCAPED, this._emitChars("�"); + break; + case io.EOF: + this._err(Eo.eofInScriptHtmlCommentLikeText), this._emitEOFToken(); + break; + default: + this.state = Ko.SCRIPT_DATA_ESCAPED, this._emitCodePoint(e) + } + } + _stateScriptDataEscapedLessThanSign(e) { + e === io.SOLIDUS ? this.state = Ko.SCRIPT_DATA_ESCAPED_END_TAG_OPEN : Qo(e) ? (this._emitChars("<"), this.state = Ko.SCRIPT_DATA_DOUBLE_ESCAPE_START, this._stateScriptDataDoubleEscapeStart(e)) : (this._emitChars("<"), this.state = Ko.SCRIPT_DATA_ESCAPED, this._stateScriptDataEscaped(e)) + } + _stateScriptDataEscapedEndTagOpen(e) { + Qo(e) ? (this.state = Ko.SCRIPT_DATA_ESCAPED_END_TAG_NAME, this._stateScriptDataEscapedEndTagName(e)) : (this._emitChars(""); + break; + case io.NULL: + this._err(Eo.unexpectedNullCharacter), this.state = Ko.SCRIPT_DATA_DOUBLE_ESCAPED, this._emitChars("�"); + break; + case io.EOF: + this._err(Eo.eofInScriptHtmlCommentLikeText), this._emitEOFToken(); + break; + default: + this.state = Ko.SCRIPT_DATA_DOUBLE_ESCAPED, this._emitCodePoint(e) + } + } + _stateScriptDataDoubleEscapedLessThanSign(e) { + e === io.SOLIDUS ? (this.state = Ko.SCRIPT_DATA_DOUBLE_ESCAPE_END, this._emitChars("/")) : (this.state = Ko.SCRIPT_DATA_DOUBLE_ESCAPED, this._stateScriptDataDoubleEscaped(e)) + } + _stateScriptDataDoubleEscapeEnd(e) { + if (this.preprocessor.startsWith(co, !1) && ec(this.preprocessor.peek(co.length))) { + this._emitCodePoint(e); + for (let e = 0; e < co.length; e++) this._emitCodePoint(this._consume()); + this.state = Ko.SCRIPT_DATA_ESCAPED + } else this._ensureHibernation() || (this.state = Ko.SCRIPT_DATA_DOUBLE_ESCAPED, this._stateScriptDataDoubleEscaped(e)) + } + _stateBeforeAttributeName(e) { + switch (e) { + case io.SPACE: + case io.LINE_FEED: + case io.TABULATION: + case io.FORM_FEED: + break; + case io.SOLIDUS: + case io.GREATER_THAN_SIGN: + case io.EOF: + this.state = Ko.AFTER_ATTRIBUTE_NAME, this._stateAfterAttributeName(e); + break; + case io.EQUALS_SIGN: + this._err(Eo.unexpectedEqualsSignBeforeAttributeName), this._createAttr("="), this.state = Ko.ATTRIBUTE_NAME; + break; + default: + this._createAttr(""), this.state = Ko.ATTRIBUTE_NAME, this._stateAttributeName(e) + } + } + _stateAttributeName(e) { + switch (e) { + case io.SPACE: + case io.LINE_FEED: + case io.TABULATION: + case io.FORM_FEED: + case io.SOLIDUS: + case io.GREATER_THAN_SIGN: + case io.EOF: + this._leaveAttrName(), this.state = Ko.AFTER_ATTRIBUTE_NAME, this._stateAfterAttributeName(e); + break; + case io.EQUALS_SIGN: + this._leaveAttrName(), this.state = Ko.BEFORE_ATTRIBUTE_VALUE; + break; + case io.QUOTATION_MARK: + case io.APOSTROPHE: + case io.LESS_THAN_SIGN: + this._err(Eo.unexpectedCharacterInAttributeName), this.currentAttr.name += String.fromCodePoint(e); + break; + case io.NULL: + this._err(Eo.unexpectedNullCharacter), this.currentAttr.name += "�"; + break; + default: + this.currentAttr.name += String.fromCodePoint(Wo(e) ? Jo(e) : e) + } + } + _stateAfterAttributeName(e) { + switch (e) { + case io.SPACE: + case io.LINE_FEED: + case io.TABULATION: + case io.FORM_FEED: + break; + case io.SOLIDUS: + this.state = Ko.SELF_CLOSING_START_TAG; + break; + case io.EQUALS_SIGN: + this.state = Ko.BEFORE_ATTRIBUTE_VALUE; + break; + case io.GREATER_THAN_SIGN: + this.state = Ko.DATA, this.emitCurrentTagToken(); + break; + case io.EOF: + this._err(Eo.eofInTag), this._emitEOFToken(); + break; + default: + this._createAttr(""), this.state = Ko.ATTRIBUTE_NAME, this._stateAttributeName(e) + } + } + _stateBeforeAttributeValue(e) { + switch (e) { + case io.SPACE: + case io.LINE_FEED: + case io.TABULATION: + case io.FORM_FEED: + break; + case io.QUOTATION_MARK: + this.state = Ko.ATTRIBUTE_VALUE_DOUBLE_QUOTED; + break; + case io.APOSTROPHE: + this.state = Ko.ATTRIBUTE_VALUE_SINGLE_QUOTED; + break; + case io.GREATER_THAN_SIGN: + this._err(Eo.missingAttributeValue), this.state = Ko.DATA, this.emitCurrentTagToken(); + break; + default: + this.state = Ko.ATTRIBUTE_VALUE_UNQUOTED, this._stateAttributeValueUnquoted(e) + } + } + _stateAttributeValueDoubleQuoted(e) { + switch (e) { + case io.QUOTATION_MARK: + this.state = Ko.AFTER_ATTRIBUTE_VALUE_QUOTED; + break; + case io.AMPERSAND: + this.returnState = Ko.ATTRIBUTE_VALUE_DOUBLE_QUOTED, this.state = Ko.CHARACTER_REFERENCE; + break; + case io.NULL: + this._err(Eo.unexpectedNullCharacter), this.currentAttr.value += "�"; + break; + case io.EOF: + this._err(Eo.eofInTag), this._emitEOFToken(); + break; + default: + this.currentAttr.value += String.fromCodePoint(e) + } + } + _stateAttributeValueSingleQuoted(e) { + switch (e) { + case io.APOSTROPHE: + this.state = Ko.AFTER_ATTRIBUTE_VALUE_QUOTED; + break; + case io.AMPERSAND: + this.returnState = Ko.ATTRIBUTE_VALUE_SINGLE_QUOTED, this.state = Ko.CHARACTER_REFERENCE; + break; + case io.NULL: + this._err(Eo.unexpectedNullCharacter), this.currentAttr.value += "�"; + break; + case io.EOF: + this._err(Eo.eofInTag), this._emitEOFToken(); + break; + default: + this.currentAttr.value += String.fromCodePoint(e) + } + } + _stateAttributeValueUnquoted(e) { + switch (e) { + case io.SPACE: + case io.LINE_FEED: + case io.TABULATION: + case io.FORM_FEED: + this._leaveAttrValue(), this.state = Ko.BEFORE_ATTRIBUTE_NAME; + break; + case io.AMPERSAND: + this.returnState = Ko.ATTRIBUTE_VALUE_UNQUOTED, this.state = Ko.CHARACTER_REFERENCE; + break; + case io.GREATER_THAN_SIGN: + this._leaveAttrValue(), this.state = Ko.DATA, this.emitCurrentTagToken(); + break; + case io.NULL: + this._err(Eo.unexpectedNullCharacter), this.currentAttr.value += "�"; + break; + case io.QUOTATION_MARK: + case io.APOSTROPHE: + case io.LESS_THAN_SIGN: + case io.EQUALS_SIGN: + case io.GRAVE_ACCENT: + this._err(Eo.unexpectedCharacterInUnquotedAttributeValue), this.currentAttr.value += String.fromCodePoint(e); + break; + case io.EOF: + this._err(Eo.eofInTag), this._emitEOFToken(); + break; + default: + this.currentAttr.value += String.fromCodePoint(e) + } + } + _stateAfterAttributeValueQuoted(e) { + switch (e) { + case io.SPACE: + case io.LINE_FEED: + case io.TABULATION: + case io.FORM_FEED: + this._leaveAttrValue(), this.state = Ko.BEFORE_ATTRIBUTE_NAME; + break; + case io.SOLIDUS: + this._leaveAttrValue(), this.state = Ko.SELF_CLOSING_START_TAG; + break; + case io.GREATER_THAN_SIGN: + this._leaveAttrValue(), this.state = Ko.DATA, this.emitCurrentTagToken(); + break; + case io.EOF: + this._err(Eo.eofInTag), this._emitEOFToken(); + break; + default: + this._err(Eo.missingWhitespaceBetweenAttributes), this.state = Ko.BEFORE_ATTRIBUTE_NAME, this._stateBeforeAttributeName(e) + } + } + _stateSelfClosingStartTag(e) { + switch (e) { + case io.GREATER_THAN_SIGN: + this.currentToken.selfClosing = !0, this.state = Ko.DATA, this.emitCurrentTagToken(); + break; + case io.EOF: + this._err(Eo.eofInTag), this._emitEOFToken(); + break; + default: + this._err(Eo.unexpectedSolidusInTag), this.state = Ko.BEFORE_ATTRIBUTE_NAME, this._stateBeforeAttributeName(e) + } + } + _stateBogusComment(e) { + const t = this.currentToken; + switch (e) { + case io.GREATER_THAN_SIGN: + this.state = Ko.DATA, this.emitCurrentComment(t); + break; + case io.EOF: + this.emitCurrentComment(t), this._emitEOFToken(); + break; + case io.NULL: + this._err(Eo.unexpectedNullCharacter), t.data += "�"; + break; + default: + t.data += String.fromCodePoint(e) + } + } + _stateMarkupDeclarationOpen(e) { + this._consumeSequenceIfMatch(so, !0) ? (this._createCommentToken(so.length + 1), this.state = Ko.COMMENT_START) : this._consumeSequenceIfMatch(oo, !1) ? (this.currentLocation = this.getCurrentLocation(oo.length + 1), this.state = Ko.DOCTYPE) : this._consumeSequenceIfMatch(ao, !0) ? this.inForeignNode ? this.state = Ko.CDATA_SECTION : (this._err(Eo.cdataInHtmlContent), this._createCommentToken(ao.length + 1), this.currentToken.data = "[CDATA[", this.state = Ko.BOGUS_COMMENT) : this._ensureHibernation() || (this._err(Eo.incorrectlyOpenedComment), this._createCommentToken(2), this.state = Ko.BOGUS_COMMENT, this._stateBogusComment(e)) + } + _stateCommentStart(e) { + switch (e) { + case io.HYPHEN_MINUS: + this.state = Ko.COMMENT_START_DASH; + break; + case io.GREATER_THAN_SIGN: { + this._err(Eo.abruptClosingOfEmptyComment), this.state = Ko.DATA; + const e = this.currentToken; + this.emitCurrentComment(e); + break + } + default: + this.state = Ko.COMMENT, this._stateComment(e) + } + } + _stateCommentStartDash(e) { + const t = this.currentToken; + switch (e) { + case io.HYPHEN_MINUS: + this.state = Ko.COMMENT_END; + break; + case io.GREATER_THAN_SIGN: + this._err(Eo.abruptClosingOfEmptyComment), this.state = Ko.DATA, this.emitCurrentComment(t); + break; + case io.EOF: + this._err(Eo.eofInComment), this.emitCurrentComment(t), this._emitEOFToken(); + break; + default: + t.data += "-", this.state = Ko.COMMENT, this._stateComment(e) + } + } + _stateComment(e) { + const t = this.currentToken; + switch (e) { + case io.HYPHEN_MINUS: + this.state = Ko.COMMENT_END_DASH; + break; + case io.LESS_THAN_SIGN: + t.data += "<", this.state = Ko.COMMENT_LESS_THAN_SIGN; + break; + case io.NULL: + this._err(Eo.unexpectedNullCharacter), t.data += "�"; + break; + case io.EOF: + this._err(Eo.eofInComment), this.emitCurrentComment(t), this._emitEOFToken(); + break; + default: + t.data += String.fromCodePoint(e) + } + } + _stateCommentLessThanSign(e) { + const t = this.currentToken; + switch (e) { + case io.EXCLAMATION_MARK: + t.data += "!", this.state = Ko.COMMENT_LESS_THAN_SIGN_BANG; + break; + case io.LESS_THAN_SIGN: + t.data += "<"; + break; + default: + this.state = Ko.COMMENT, this._stateComment(e) + } + } + _stateCommentLessThanSignBang(e) { + e === io.HYPHEN_MINUS ? this.state = Ko.COMMENT_LESS_THAN_SIGN_BANG_DASH : (this.state = Ko.COMMENT, this._stateComment(e)) + } + _stateCommentLessThanSignBangDash(e) { + e === io.HYPHEN_MINUS ? this.state = Ko.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH : (this.state = Ko.COMMENT_END_DASH, this._stateCommentEndDash(e)) + } + _stateCommentLessThanSignBangDashDash(e) { + e !== io.GREATER_THAN_SIGN && e !== io.EOF && this._err(Eo.nestedComment), this.state = Ko.COMMENT_END, this._stateCommentEnd(e) + } + _stateCommentEndDash(e) { + const t = this.currentToken; + switch (e) { + case io.HYPHEN_MINUS: + this.state = Ko.COMMENT_END; + break; + case io.EOF: + this._err(Eo.eofInComment), this.emitCurrentComment(t), this._emitEOFToken(); + break; + default: + t.data += "-", this.state = Ko.COMMENT, this._stateComment(e) + } + } + _stateCommentEnd(e) { + const t = this.currentToken; + switch (e) { + case io.GREATER_THAN_SIGN: + this.state = Ko.DATA, this.emitCurrentComment(t); + break; + case io.EXCLAMATION_MARK: + this.state = Ko.COMMENT_END_BANG; + break; + case io.HYPHEN_MINUS: + t.data += "-"; + break; + case io.EOF: + this._err(Eo.eofInComment), this.emitCurrentComment(t), this._emitEOFToken(); + break; + default: + t.data += "--", this.state = Ko.COMMENT, this._stateComment(e) + } + } + _stateCommentEndBang(e) { + const t = this.currentToken; + switch (e) { + case io.HYPHEN_MINUS: + t.data += "--!", this.state = Ko.COMMENT_END_DASH; + break; + case io.GREATER_THAN_SIGN: + this._err(Eo.incorrectlyClosedComment), this.state = Ko.DATA, this.emitCurrentComment(t); + break; + case io.EOF: + this._err(Eo.eofInComment), this.emitCurrentComment(t), this._emitEOFToken(); + break; + default: + t.data += "--!", this.state = Ko.COMMENT, this._stateComment(e) + } + } + _stateDoctype(e) { + switch (e) { + case io.SPACE: + case io.LINE_FEED: + case io.TABULATION: + case io.FORM_FEED: + this.state = Ko.BEFORE_DOCTYPE_NAME; + break; + case io.GREATER_THAN_SIGN: + this.state = Ko.BEFORE_DOCTYPE_NAME, this._stateBeforeDoctypeName(e); + break; + case io.EOF: { + this._err(Eo.eofInDoctype), this._createDoctypeToken(null); + const e = this.currentToken; + e.forceQuirks = !0, this.emitCurrentDoctype(e), this._emitEOFToken(); + break + } + default: + this._err(Eo.missingWhitespaceBeforeDoctypeName), this.state = Ko.BEFORE_DOCTYPE_NAME, this._stateBeforeDoctypeName(e) + } + } + _stateBeforeDoctypeName(e) { + if (Wo(e)) this._createDoctypeToken(String.fromCharCode(Jo(e))), this.state = Ko.DOCTYPE_NAME; + else switch (e) { + case io.SPACE: + case io.LINE_FEED: + case io.TABULATION: + case io.FORM_FEED: + break; + case io.NULL: + this._err(Eo.unexpectedNullCharacter), this._createDoctypeToken("�"), this.state = Ko.DOCTYPE_NAME; + break; + case io.GREATER_THAN_SIGN: { + this._err(Eo.missingDoctypeName), this._createDoctypeToken(null); + const e = this.currentToken; + e.forceQuirks = !0, this.emitCurrentDoctype(e), this.state = Ko.DATA; + break + } + case io.EOF: { + this._err(Eo.eofInDoctype), this._createDoctypeToken(null); + const e = this.currentToken; + e.forceQuirks = !0, this.emitCurrentDoctype(e), this._emitEOFToken(); + break + } + default: + this._createDoctypeToken(String.fromCodePoint(e)), this.state = Ko.DOCTYPE_NAME + } + } + _stateDoctypeName(e) { + const t = this.currentToken; + switch (e) { + case io.SPACE: + case io.LINE_FEED: + case io.TABULATION: + case io.FORM_FEED: + this.state = Ko.AFTER_DOCTYPE_NAME; + break; + case io.GREATER_THAN_SIGN: + this.state = Ko.DATA, this.emitCurrentDoctype(t); + break; + case io.NULL: + this._err(Eo.unexpectedNullCharacter), t.name += "�"; + break; + case io.EOF: + this._err(Eo.eofInDoctype), t.forceQuirks = !0, this.emitCurrentDoctype(t), this._emitEOFToken(); + break; + default: + t.name += String.fromCodePoint(Wo(e) ? Jo(e) : e) + } + } + _stateAfterDoctypeName(e) { + const t = this.currentToken; + switch (e) { + case io.SPACE: + case io.LINE_FEED: + case io.TABULATION: + case io.FORM_FEED: + break; + case io.GREATER_THAN_SIGN: + this.state = Ko.DATA, this.emitCurrentDoctype(t); + break; + case io.EOF: + this._err(Eo.eofInDoctype), t.forceQuirks = !0, this.emitCurrentDoctype(t), this._emitEOFToken(); + break; + default: + this._consumeSequenceIfMatch(lo, !1) ? this.state = Ko.AFTER_DOCTYPE_PUBLIC_KEYWORD : this._consumeSequenceIfMatch(ho, !1) ? this.state = Ko.AFTER_DOCTYPE_SYSTEM_KEYWORD : this._ensureHibernation() || (this._err(Eo.invalidCharacterSequenceAfterDoctypeName), t.forceQuirks = !0, this.state = Ko.BOGUS_DOCTYPE, this._stateBogusDoctype(e)) + } + } + _stateAfterDoctypePublicKeyword(e) { + const t = this.currentToken; + switch (e) { + case io.SPACE: + case io.LINE_FEED: + case io.TABULATION: + case io.FORM_FEED: + this.state = Ko.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER; + break; + case io.QUOTATION_MARK: + this._err(Eo.missingWhitespaceAfterDoctypePublicKeyword), t.publicId = "", this.state = Ko.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED; + break; + case io.APOSTROPHE: + this._err(Eo.missingWhitespaceAfterDoctypePublicKeyword), t.publicId = "", this.state = Ko.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED; + break; + case io.GREATER_THAN_SIGN: + this._err(Eo.missingDoctypePublicIdentifier), t.forceQuirks = !0, this.state = Ko.DATA, this.emitCurrentDoctype(t); + break; + case io.EOF: + this._err(Eo.eofInDoctype), t.forceQuirks = !0, this.emitCurrentDoctype(t), this._emitEOFToken(); + break; + default: + this._err(Eo.missingQuoteBeforeDoctypePublicIdentifier), t.forceQuirks = !0, this.state = Ko.BOGUS_DOCTYPE, this._stateBogusDoctype(e) + } + } + _stateBeforeDoctypePublicIdentifier(e) { + const t = this.currentToken; + switch (e) { + case io.SPACE: + case io.LINE_FEED: + case io.TABULATION: + case io.FORM_FEED: + break; + case io.QUOTATION_MARK: + t.publicId = "", this.state = Ko.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED; + break; + case io.APOSTROPHE: + t.publicId = "", this.state = Ko.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED; + break; + case io.GREATER_THAN_SIGN: + this._err(Eo.missingDoctypePublicIdentifier), t.forceQuirks = !0, this.state = Ko.DATA, this.emitCurrentDoctype(t); + break; + case io.EOF: + this._err(Eo.eofInDoctype), t.forceQuirks = !0, this.emitCurrentDoctype(t), this._emitEOFToken(); + break; + default: + this._err(Eo.missingQuoteBeforeDoctypePublicIdentifier), t.forceQuirks = !0, this.state = Ko.BOGUS_DOCTYPE, this._stateBogusDoctype(e) + } + } + _stateDoctypePublicIdentifierDoubleQuoted(e) { + const t = this.currentToken; + switch (e) { + case io.QUOTATION_MARK: + this.state = Ko.AFTER_DOCTYPE_PUBLIC_IDENTIFIER; + break; + case io.NULL: + this._err(Eo.unexpectedNullCharacter), t.publicId += "�"; + break; + case io.GREATER_THAN_SIGN: + this._err(Eo.abruptDoctypePublicIdentifier), t.forceQuirks = !0, this.emitCurrentDoctype(t), this.state = Ko.DATA; + break; + case io.EOF: + this._err(Eo.eofInDoctype), t.forceQuirks = !0, this.emitCurrentDoctype(t), this._emitEOFToken(); + break; + default: + t.publicId += String.fromCodePoint(e) + } + } + _stateDoctypePublicIdentifierSingleQuoted(e) { + const t = this.currentToken; + switch (e) { + case io.APOSTROPHE: + this.state = Ko.AFTER_DOCTYPE_PUBLIC_IDENTIFIER; + break; + case io.NULL: + this._err(Eo.unexpectedNullCharacter), t.publicId += "�"; + break; + case io.GREATER_THAN_SIGN: + this._err(Eo.abruptDoctypePublicIdentifier), t.forceQuirks = !0, this.emitCurrentDoctype(t), this.state = Ko.DATA; + break; + case io.EOF: + this._err(Eo.eofInDoctype), t.forceQuirks = !0, this.emitCurrentDoctype(t), this._emitEOFToken(); + break; + default: + t.publicId += String.fromCodePoint(e) + } + } + _stateAfterDoctypePublicIdentifier(e) { + const t = this.currentToken; + switch (e) { + case io.SPACE: + case io.LINE_FEED: + case io.TABULATION: + case io.FORM_FEED: + this.state = Ko.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS; + break; + case io.GREATER_THAN_SIGN: + this.state = Ko.DATA, this.emitCurrentDoctype(t); + break; + case io.QUOTATION_MARK: + this._err(Eo.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers), t.systemId = "", this.state = Ko.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED; + break; + case io.APOSTROPHE: + this._err(Eo.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers), t.systemId = "", this.state = Ko.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED; + break; + case io.EOF: + this._err(Eo.eofInDoctype), t.forceQuirks = !0, this.emitCurrentDoctype(t), this._emitEOFToken(); + break; + default: + this._err(Eo.missingQuoteBeforeDoctypeSystemIdentifier), t.forceQuirks = !0, this.state = Ko.BOGUS_DOCTYPE, this._stateBogusDoctype(e) + } + } + _stateBetweenDoctypePublicAndSystemIdentifiers(e) { + const t = this.currentToken; + switch (e) { + case io.SPACE: + case io.LINE_FEED: + case io.TABULATION: + case io.FORM_FEED: + break; + case io.GREATER_THAN_SIGN: + this.emitCurrentDoctype(t), this.state = Ko.DATA; + break; + case io.QUOTATION_MARK: + t.systemId = "", this.state = Ko.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED; + break; + case io.APOSTROPHE: + t.systemId = "", this.state = Ko.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED; + break; + case io.EOF: + this._err(Eo.eofInDoctype), t.forceQuirks = !0, this.emitCurrentDoctype(t), this._emitEOFToken(); + break; + default: + this._err(Eo.missingQuoteBeforeDoctypeSystemIdentifier), t.forceQuirks = !0, this.state = Ko.BOGUS_DOCTYPE, this._stateBogusDoctype(e) + } + } + _stateAfterDoctypeSystemKeyword(e) { + const t = this.currentToken; + switch (e) { + case io.SPACE: + case io.LINE_FEED: + case io.TABULATION: + case io.FORM_FEED: + this.state = Ko.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER; + break; + case io.QUOTATION_MARK: + this._err(Eo.missingWhitespaceAfterDoctypeSystemKeyword), t.systemId = "", this.state = Ko.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED; + break; + case io.APOSTROPHE: + this._err(Eo.missingWhitespaceAfterDoctypeSystemKeyword), t.systemId = "", this.state = Ko.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED; + break; + case io.GREATER_THAN_SIGN: + this._err(Eo.missingDoctypeSystemIdentifier), t.forceQuirks = !0, this.state = Ko.DATA, this.emitCurrentDoctype(t); + break; + case io.EOF: + this._err(Eo.eofInDoctype), t.forceQuirks = !0, this.emitCurrentDoctype(t), this._emitEOFToken(); + break; + default: + this._err(Eo.missingQuoteBeforeDoctypeSystemIdentifier), t.forceQuirks = !0, this.state = Ko.BOGUS_DOCTYPE, this._stateBogusDoctype(e) + } + } + _stateBeforeDoctypeSystemIdentifier(e) { + const t = this.currentToken; + switch (e) { + case io.SPACE: + case io.LINE_FEED: + case io.TABULATION: + case io.FORM_FEED: + break; + case io.QUOTATION_MARK: + t.systemId = "", this.state = Ko.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED; + break; + case io.APOSTROPHE: + t.systemId = "", this.state = Ko.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED; + break; + case io.GREATER_THAN_SIGN: + this._err(Eo.missingDoctypeSystemIdentifier), t.forceQuirks = !0, this.state = Ko.DATA, this.emitCurrentDoctype(t); + break; + case io.EOF: + this._err(Eo.eofInDoctype), t.forceQuirks = !0, this.emitCurrentDoctype(t), this._emitEOFToken(); + break; + default: + this._err(Eo.missingQuoteBeforeDoctypeSystemIdentifier), t.forceQuirks = !0, this.state = Ko.BOGUS_DOCTYPE, this._stateBogusDoctype(e) + } + } + _stateDoctypeSystemIdentifierDoubleQuoted(e) { + const t = this.currentToken; + switch (e) { + case io.QUOTATION_MARK: + this.state = Ko.AFTER_DOCTYPE_SYSTEM_IDENTIFIER; + break; + case io.NULL: + this._err(Eo.unexpectedNullCharacter), t.systemId += "�"; + break; + case io.GREATER_THAN_SIGN: + this._err(Eo.abruptDoctypeSystemIdentifier), t.forceQuirks = !0, this.emitCurrentDoctype(t), this.state = Ko.DATA; + break; + case io.EOF: + this._err(Eo.eofInDoctype), t.forceQuirks = !0, this.emitCurrentDoctype(t), this._emitEOFToken(); + break; + default: + t.systemId += String.fromCodePoint(e) + } + } + _stateDoctypeSystemIdentifierSingleQuoted(e) { + const t = this.currentToken; + switch (e) { + case io.APOSTROPHE: + this.state = Ko.AFTER_DOCTYPE_SYSTEM_IDENTIFIER; + break; + case io.NULL: + this._err(Eo.unexpectedNullCharacter), t.systemId += "�"; + break; + case io.GREATER_THAN_SIGN: + this._err(Eo.abruptDoctypeSystemIdentifier), t.forceQuirks = !0, this.emitCurrentDoctype(t), this.state = Ko.DATA; + break; + case io.EOF: + this._err(Eo.eofInDoctype), t.forceQuirks = !0, this.emitCurrentDoctype(t), this._emitEOFToken(); + break; + default: + t.systemId += String.fromCodePoint(e) + } + } + _stateAfterDoctypeSystemIdentifier(e) { + const t = this.currentToken; + switch (e) { + case io.SPACE: + case io.LINE_FEED: + case io.TABULATION: + case io.FORM_FEED: + break; + case io.GREATER_THAN_SIGN: + this.emitCurrentDoctype(t), this.state = Ko.DATA; + break; + case io.EOF: + this._err(Eo.eofInDoctype), t.forceQuirks = !0, this.emitCurrentDoctype(t), this._emitEOFToken(); + break; + default: + this._err(Eo.unexpectedCharacterAfterDoctypeSystemIdentifier), this.state = Ko.BOGUS_DOCTYPE, this._stateBogusDoctype(e) + } + } + _stateBogusDoctype(e) { + const t = this.currentToken; + switch (e) { + case io.GREATER_THAN_SIGN: + this.emitCurrentDoctype(t), this.state = Ko.DATA; + break; + case io.NULL: + this._err(Eo.unexpectedNullCharacter); + break; + case io.EOF: + this.emitCurrentDoctype(t), this._emitEOFToken() + } + } + _stateCdataSection(e) { + switch (e) { + case io.RIGHT_SQUARE_BRACKET: + this.state = Ko.CDATA_SECTION_BRACKET; + break; + case io.EOF: + this._err(Eo.eofInCdata), this._emitEOFToken(); + break; + default: + this._emitCodePoint(e) + } + } + _stateCdataSectionBracket(e) { + e === io.RIGHT_SQUARE_BRACKET ? this.state = Ko.CDATA_SECTION_END : (this._emitChars("]"), this.state = Ko.CDATA_SECTION, this._stateCdataSection(e)) + } + _stateCdataSectionEnd(e) { + switch (e) { + case io.GREATER_THAN_SIGN: + this.state = Ko.DATA; + break; + case io.RIGHT_SQUARE_BRACKET: + this._emitChars("]"); + break; + default: + this._emitChars("]]"), this.state = Ko.CDATA_SECTION, this._stateCdataSection(e) + } + } + _stateCharacterReference(e) { + e === io.NUMBER_SIGN ? this.state = Ko.NUMERIC_CHARACTER_REFERENCE : Xo(e) ? (this.state = Ko.NAMED_CHARACTER_REFERENCE, this._stateNamedCharacterReference(e)) : (this._flushCodePointConsumedAsCharacterReference(io.AMPERSAND), this._reconsumeInState(this.returnState, e)) + } + _stateNamedCharacterReference(e) { + const t = this._matchNamedCharacterReference(e); + if (this._ensureHibernation()); + else if (t) { + for (let e = 0; e < t.length; e++) this._flushCodePointConsumedAsCharacterReference(t[e]); + this.state = this.returnState + } else this._flushCodePointConsumedAsCharacterReference(io.AMPERSAND), this.state = Ko.AMBIGUOUS_AMPERSAND + } + _stateAmbiguousAmpersand(e) { + Xo(e) ? this._flushCodePointConsumedAsCharacterReference(e) : (e === io.SEMICOLON && this._err(Eo.unknownNamedCharacterReference), this._reconsumeInState(this.returnState, e)) + } + _stateNumericCharacterReference(e) { + this.charRefCode = 0, e === io.LATIN_SMALL_X || e === io.LATIN_CAPITAL_X ? this.state = Ko.HEXADEMICAL_CHARACTER_REFERENCE_START : Vo(e) ? (this.state = Ko.DECIMAL_CHARACTER_REFERENCE, this._stateDecimalCharacterReference(e)) : (this._err(Eo.absenceOfDigitsInNumericCharacterReference), this._flushCodePointConsumedAsCharacterReference(io.AMPERSAND), this._flushCodePointConsumedAsCharacterReference(io.NUMBER_SIGN), this._reconsumeInState(this.returnState, e)) + } + _stateHexademicalCharacterReferenceStart(e) { + ! function(e) { + return Vo(e) || $o(e) || zo(e) + }(e) ? (this._err(Eo.absenceOfDigitsInNumericCharacterReference), this._flushCodePointConsumedAsCharacterReference(io.AMPERSAND), this._flushCodePointConsumedAsCharacterReference(io.NUMBER_SIGN), this._unconsume(2), this.state = this.returnState) : (this.state = Ko.HEXADEMICAL_CHARACTER_REFERENCE, this._stateHexademicalCharacterReference(e)) + } + _stateHexademicalCharacterReference(e) { + $o(e) ? this.charRefCode = 16 * this.charRefCode + e - 55 : zo(e) ? this.charRefCode = 16 * this.charRefCode + e - 87 : Vo(e) ? this.charRefCode = 16 * this.charRefCode + e - 48 : e === io.SEMICOLON ? this.state = Ko.NUMERIC_CHARACTER_REFERENCE_END : (this._err(Eo.missingSemicolonAfterCharacterReference), this.state = Ko.NUMERIC_CHARACTER_REFERENCE_END, this._stateNumericCharacterReferenceEnd(e)) + } + _stateDecimalCharacterReference(e) { + Vo(e) ? this.charRefCode = 10 * this.charRefCode + e - 48 : e === io.SEMICOLON ? this.state = Ko.NUMERIC_CHARACTER_REFERENCE_END : (this._err(Eo.missingSemicolonAfterCharacterReference), this.state = Ko.NUMERIC_CHARACTER_REFERENCE_END, this._stateNumericCharacterReferenceEnd(e)) + } + _stateNumericCharacterReferenceEnd(e) { + if (this.charRefCode === io.NULL) this._err(Eo.nullCharacterReference), this.charRefCode = io.REPLACEMENT_CHARACTER; + else if (this.charRefCode > 1114111) this._err(Eo.characterReferenceOutsideUnicodeRange), this.charRefCode = io.REPLACEMENT_CHARACTER; + else if (uo(this.charRefCode)) this._err(Eo.surrogateCharacterReference), this.charRefCode = io.REPLACEMENT_CHARACTER; + else if (fo(this.charRefCode)) this._err(Eo.noncharacterCharacterReference); + else if (po(this.charRefCode) || this.charRefCode === io.CARRIAGE_RETURN) { + this._err(Eo.controlCharacterReference); + const e = qo.get(this.charRefCode); + void 0 !== e && (this.charRefCode = e) + } + this._flushCodePointConsumedAsCharacterReference(this.charRefCode), this._reconsumeInState(this.returnState, e) + } +} +const nc = new Set([Po.DD, Po.DT, Po.LI, Po.OPTGROUP, Po.OPTION, Po.P, Po.RB, Po.RP, Po.RT, Po.RTC]), + rc = new Set([...nc, Po.CAPTION, Po.COLGROUP, Po.TBODY, Po.TD, Po.TFOOT, Po.TH, Po.THEAD, Po.TR]), + ic = new Map([ + [Po.APPLET, vo.HTML], + [Po.CAPTION, vo.HTML], + [Po.HTML, vo.HTML], + [Po.MARQUEE, vo.HTML], + [Po.OBJECT, vo.HTML], + [Po.TABLE, vo.HTML], + [Po.TD, vo.HTML], + [Po.TEMPLATE, vo.HTML], + [Po.TH, vo.HTML], + [Po.ANNOTATION_XML, vo.MATHML], + [Po.MI, vo.MATHML], + [Po.MN, vo.MATHML], + [Po.MO, vo.MATHML], + [Po.MS, vo.MATHML], + [Po.MTEXT, vo.MATHML], + [Po.DESC, vo.SVG], + [Po.FOREIGN_OBJECT, vo.SVG], + [Po.TITLE, vo.SVG] + ]), + sc = [Po.H1, Po.H2, Po.H3, Po.H4, Po.H5, Po.H6], + ac = [Po.TR, Po.TEMPLATE, Po.HTML], + oc = [Po.TBODY, Po.TFOOT, Po.THEAD, Po.TEMPLATE, Po.HTML], + cc = [Po.TABLE, Po.TEMPLATE, Po.HTML], + lc = [Po.TD, Po.TH]; +class hc { + constructor(e, t, n) { + this.treeAdapter = t, this.handler = n, this.items = [], this.tagIDs = [], this.stackTop = -1, this.tmplCount = 0, this.currentTagId = Po.UNKNOWN, this.current = e + } + get currentTmplContentOrNode() { + return this._isInTemplate() ? this.treeAdapter.getTemplateContent(this.current) : this.current + } + _indexOf(e) { + return this.items.lastIndexOf(e, this.stackTop) + } + _isInTemplate() { + return this.currentTagId === Po.TEMPLATE && this.treeAdapter.getNamespaceURI(this.current) === vo.HTML + } + _updateCurrentElement() { + this.current = this.items[this.stackTop], this.currentTagId = this.tagIDs[this.stackTop] + } + push(e, t) { + this.stackTop++, this.items[this.stackTop] = e, this.current = e, this.tagIDs[this.stackTop] = t, this.currentTagId = t, this._isInTemplate() && this.tmplCount++, this.handler.onItemPush(e, t, !0) + } + pop() { + const e = this.current; + this.tmplCount > 0 && this._isInTemplate() && this.tmplCount--, this.stackTop--, this._updateCurrentElement(), this.handler.onItemPop(e, !0) + } + replace(e, t) { + const n = this._indexOf(e); + this.items[n] = t, n === this.stackTop && (this.current = t) + } + insertAfter(e, t, n) { + const r = this._indexOf(e) + 1; + this.items.splice(r, 0, t), this.tagIDs.splice(r, 0, n), this.stackTop++, r === this.stackTop && this._updateCurrentElement(), this.handler.onItemPush(this.current, this.currentTagId, r === this.stackTop) + } + popUntilTagNamePopped(e) { + let t = this.stackTop + 1; + do { + t = this.tagIDs.lastIndexOf(e, t - 1) + } while (t > 0 && this.treeAdapter.getNamespaceURI(this.items[t]) !== vo.HTML); + this.shortenToLength(t < 0 ? 0 : t) + } + shortenToLength(e) { + for (; this.stackTop >= e;) { + const t = this.current; + this.tmplCount > 0 && this._isInTemplate() && (this.tmplCount -= 1), this.stackTop--, this._updateCurrentElement(), this.handler.onItemPop(t, this.stackTop < e) + } + } + popUntilElementPopped(e) { + const t = this._indexOf(e); + this.shortenToLength(t < 0 ? 0 : t) + } + popUntilPopped(e, t) { + const n = this._indexOfTagNames(e, t); + this.shortenToLength(n < 0 ? 0 : n) + } + popUntilNumberedHeaderPopped() { + this.popUntilPopped(sc, vo.HTML) + } + popUntilTableCellPopped() { + this.popUntilPopped(lc, vo.HTML) + } + popAllUpToHtmlElement() { + this.tmplCount = 0, this.shortenToLength(1) + } + _indexOfTagNames(e, t) { + for (let n = this.stackTop; n >= 0; n--) + if (e.includes(this.tagIDs[n]) && this.treeAdapter.getNamespaceURI(this.items[n]) === t) return n; + return -1 + } + clearBackTo(e, t) { + const n = this._indexOfTagNames(e, t); + this.shortenToLength(n + 1) + } + clearBackToTableContext() { + this.clearBackTo(cc, vo.HTML) + } + clearBackToTableBodyContext() { + this.clearBackTo(oc, vo.HTML) + } + clearBackToTableRowContext() { + this.clearBackTo(ac, vo.HTML) + } + remove(e) { + const t = this._indexOf(e); + t >= 0 && (t === this.stackTop ? this.pop() : (this.items.splice(t, 1), this.tagIDs.splice(t, 1), this.stackTop--, this._updateCurrentElement(), this.handler.onItemPop(e, !1))) + } + tryPeekProperlyNestedBodyElement() { + return this.stackTop >= 1 && this.tagIDs[1] === Po.BODY ? this.items[1] : null + } + contains(e) { + return this._indexOf(e) > -1 + } + getCommonAncestor(e) { + const t = this._indexOf(e) - 1; + return t >= 0 ? this.items[t] : null + } + isRootHtmlElementCurrent() { + return 0 === this.stackTop && this.tagIDs[0] === Po.HTML + } + hasInScope(e) { + for (let t = this.stackTop; t >= 0; t--) { + const n = this.tagIDs[t], + r = this.treeAdapter.getNamespaceURI(this.items[t]); + if (n === e && r === vo.HTML) return !0; + if (ic.get(n) === r) return !1 + } + return !0 + } + hasNumberedHeaderInScope() { + for (let e = this.stackTop; e >= 0; e--) { + const t = this.tagIDs[e], + n = this.treeAdapter.getNamespaceURI(this.items[e]); + if (Go(t) && n === vo.HTML) return !0; + if (ic.get(t) === n) return !1 + } + return !0 + } + hasInListItemScope(e) { + for (let t = this.stackTop; t >= 0; t--) { + const n = this.tagIDs[t], + r = this.treeAdapter.getNamespaceURI(this.items[t]); + if (n === e && r === vo.HTML) return !0; + if ((n === Po.UL || n === Po.OL) && r === vo.HTML || ic.get(n) === r) return !1 + } + return !0 + } + hasInButtonScope(e) { + for (let t = this.stackTop; t >= 0; t--) { + const n = this.tagIDs[t], + r = this.treeAdapter.getNamespaceURI(this.items[t]); + if (n === e && r === vo.HTML) return !0; + if (n === Po.BUTTON && r === vo.HTML || ic.get(n) === r) return !1 + } + return !0 + } + hasInTableScope(e) { + for (let t = this.stackTop; t >= 0; t--) { + const n = this.tagIDs[t]; + if (this.treeAdapter.getNamespaceURI(this.items[t]) === vo.HTML) { + if (n === e) return !0; + if (n === Po.TABLE || n === Po.TEMPLATE || n === Po.HTML) return !1 + } + } + return !0 + } + hasTableBodyContextInTableScope() { + for (let e = this.stackTop; e >= 0; e--) { + const t = this.tagIDs[e]; + if (this.treeAdapter.getNamespaceURI(this.items[e]) === vo.HTML) { + if (t === Po.TBODY || t === Po.THEAD || t === Po.TFOOT) return !0; + if (t === Po.TABLE || t === Po.HTML) return !1 + } + } + return !0 + } + hasInSelectScope(e) { + for (let t = this.stackTop; t >= 0; t--) { + const n = this.tagIDs[t]; + if (this.treeAdapter.getNamespaceURI(this.items[t]) === vo.HTML) { + if (n === e) return !0; + if (n !== Po.OPTION && n !== Po.OPTGROUP) return !1 + } + } + return !0 + } + generateImpliedEndTags() { + for (; nc.has(this.currentTagId);) this.pop() + } + generateImpliedEndTagsThoroughly() { + for (; rc.has(this.currentTagId);) this.pop() + } + generateImpliedEndTagsWithExclusion(e) { + for (; this.currentTagId !== e && rc.has(this.currentTagId);) this.pop() + } +} +var uc; +! function(e) { + e[e.Marker = 0] = "Marker", e[e.Element = 1] = "Element" +}(uc = uc || (uc = {})); +const pc = { + type: uc.Marker +}; +class fc { + constructor(e) { + this.treeAdapter = e, this.entries = [], this.bookmark = null + } + _getNoahArkConditionCandidates(e, t) { + const n = [], + r = t.length, + i = this.treeAdapter.getTagName(e), + s = this.treeAdapter.getNamespaceURI(e); + for (let e = 0; e < this.entries.length; e++) { + const t = this.entries[e]; + if (t.type === uc.Marker) break; + const { + element: a + } = t; + if (this.treeAdapter.getTagName(a) === i && this.treeAdapter.getNamespaceURI(a) === s) { + const t = this.treeAdapter.getAttrList(a); + t.length === r && n.push({ + idx: e, + attrs: t + }) + } + } + return n + } + _ensureNoahArkCondition(e) { + if (this.entries.length < 3) return; + const t = this.treeAdapter.getAttrList(e), + n = this._getNoahArkConditionCandidates(e, t); + if (n.length < 3) return; + const r = new Map(t.map((e => [e.name, e.value]))); + let i = 0; + for (let e = 0; e < n.length; e++) { + const t = n[e]; + t.attrs.every((e => r.get(e.name) === e.value)) && (i += 1, i >= 3 && this.entries.splice(t.idx, 1)) + } + } + insertMarker() { + this.entries.unshift(pc) + } + pushElement(e, t) { + this._ensureNoahArkCondition(e), this.entries.unshift({ + type: uc.Element, + element: e, + token: t + }) + } + insertElementAfterBookmark(e, t) { + const n = this.entries.indexOf(this.bookmark); + this.entries.splice(n, 0, { + type: uc.Element, + element: e, + token: t + }) + } + removeEntry(e) { + const t = this.entries.indexOf(e); + t >= 0 && this.entries.splice(t, 1) + } + clearToLastMarker() { + const e = this.entries.indexOf(pc); + e >= 0 ? this.entries.splice(0, e + 1) : this.entries.length = 0 + } + getElementEntryInScopeWithTagName(e) { + const t = this.entries.find((t => t.type === uc.Marker || this.treeAdapter.getTagName(t.element) === e)); + return t && t.type === uc.Element ? t : null + } + getElementEntry(e) { + return this.entries.find((t => t.type === uc.Element && t.element === e)) + } +} + +function dc(e) { + return { + nodeName: "#text", + value: e, + parentNode: null + } +} +const Ec = { + createDocument: () => ({ + nodeName: "#document", + mode: Ro.NO_QUIRKS, + childNodes: [] + }), + createDocumentFragment: () => ({ + nodeName: "#document-fragment", + childNodes: [] + }), + createElement: (e, t, n) => ({ + nodeName: e, + tagName: e, + attrs: n, + namespaceURI: t, + childNodes: [], + parentNode: null + }), + createCommentNode: e => ({ + nodeName: "#comment", + data: e, + parentNode: null + }), + appendChild(e, t) { + e.childNodes.push(t), t.parentNode = e + }, + insertBefore(e, t, n) { + const r = e.childNodes.indexOf(n); + e.childNodes.splice(r, 0, t), t.parentNode = e + }, + setTemplateContent(e, t) { + e.content = t + }, + getTemplateContent: e => e.content, + setDocumentType(e, t, n, r) { + const i = e.childNodes.find((e => "#documentType" === e.nodeName)); + if (i) i.name = t, i.publicId = n, i.systemId = r; + else { + const i = { + nodeName: "#documentType", + name: t, + publicId: n, + systemId: r, + parentNode: null + }; + Ec.appendChild(e, i) + } + }, + setDocumentMode(e, t) { + e.mode = t + }, + getDocumentMode: e => e.mode, + detachNode(e) { + if (e.parentNode) { + const t = e.parentNode.childNodes.indexOf(e); + e.parentNode.childNodes.splice(t, 1), e.parentNode = null + } + }, + insertText(e, t) { + if (e.childNodes.length > 0) { + const n = e.childNodes[e.childNodes.length - 1]; + if (Ec.isTextNode(n)) return void(n.value += t) + } + Ec.appendChild(e, dc(t)) + }, + insertTextBefore(e, t, n) { + const r = e.childNodes[e.childNodes.indexOf(n) - 1]; + r && Ec.isTextNode(r) ? r.value += t : Ec.insertBefore(e, dc(t), n) + }, + adoptAttributes(e, t) { + const n = new Set(e.attrs.map((e => e.name))); + for (let r = 0; r < t.length; r++) n.has(t[r].name) || e.attrs.push(t[r]) + }, + getFirstChild: e => e.childNodes[0], + getChildNodes: e => e.childNodes, + getParentNode: e => e.parentNode, + getAttrList: e => e.attrs, + getTagName: e => e.tagName, + getNamespaceURI: e => e.namespaceURI, + getTextNodeContent: e => e.value, + getCommentNodeContent: e => e.data, + getDocumentTypeNodeName: e => e.name, + getDocumentTypeNodePublicId: e => e.publicId, + getDocumentTypeNodeSystemId: e => e.systemId, + isTextNode: e => "#text" === e.nodeName, + isCommentNode: e => "#comment" === e.nodeName, + isDocumentTypeNode: e => "#documentType" === e.nodeName, + isElementNode: e => Object.prototype.hasOwnProperty.call(e, "tagName"), + setNodeSourceCodeLocation(e, t) { + e.sourceCodeLocation = t + }, + getNodeSourceCodeLocation: e => e.sourceCodeLocation, + updateNodeSourceCodeLocation(e, t) { + e.sourceCodeLocation = { + ...e.sourceCodeLocation, + ...t + } + } + }, + mc = ["+//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//"], + Tc = [...mc, "-//w3c//dtd html 4.01 frameset//", "-//w3c//dtd html 4.01 transitional//"], + _c = new Set(["-//w3o//dtd w3 html strict 3.0//en//", "-/w3c/dtd html 4.0 transitional/en", "html"]), + Ac = ["-//w3c//dtd xhtml 1.0 frameset//", "-//w3c//dtd xhtml 1.0 transitional//"], + gc = [...Ac, "-//w3c//dtd html 4.01 frameset//", "-//w3c//dtd html 4.01 transitional//"]; + +function Nc(e, t) { + return t.some((t => e.startsWith(t))) +} +const Cc = "text/html", + Ic = "application/xhtml+xml", + Sc = 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((e => [e.toLowerCase(), e]))), + bc = new Map([ + ["xlink:actuate", { + prefix: "xlink", + name: "actuate", + namespace: vo.XLINK + }], + ["xlink:arcrole", { + prefix: "xlink", + name: "arcrole", + namespace: vo.XLINK + }], + ["xlink:href", { + prefix: "xlink", + name: "href", + namespace: vo.XLINK + }], + ["xlink:role", { + prefix: "xlink", + name: "role", + namespace: vo.XLINK + }], + ["xlink:show", { + prefix: "xlink", + name: "show", + namespace: vo.XLINK + }], + ["xlink:title", { + prefix: "xlink", + name: "title", + namespace: vo.XLINK + }], + ["xlink:type", { + prefix: "xlink", + name: "type", + namespace: vo.XLINK + }], + ["xml:base", { + prefix: "xml", + name: "base", + namespace: vo.XML + }], + ["xml:lang", { + prefix: "xml", + name: "lang", + namespace: vo.XML + }], + ["xml:space", { + prefix: "xml", + name: "space", + namespace: vo.XML + }], + ["xmlns", { + prefix: "", + name: "xmlns", + namespace: vo.XMLNS + }], + ["xmlns:xlink", { + prefix: "xmlns", + name: "xlink", + namespace: vo.XMLNS + }] + ]), + Oc = 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((e => [e.toLowerCase(), e]))), + yc = new Set([Po.B, Po.BIG, Po.BLOCKQUOTE, Po.BODY, Po.BR, Po.CENTER, Po.CODE, Po.DD, Po.DIV, Po.DL, Po.DT, Po.EM, Po.EMBED, Po.H1, Po.H2, Po.H3, Po.H4, Po.H5, Po.H6, Po.HEAD, Po.HR, Po.I, Po.IMG, Po.LI, Po.LISTING, Po.MENU, Po.META, Po.NOBR, Po.OL, Po.P, Po.PRE, Po.RUBY, Po.S, Po.SMALL, Po.SPAN, Po.STRONG, Po.STRIKE, Po.SUB, Po.SUP, Po.TABLE, Po.TT, Po.U, Po.UL, Po.VAR]); + +function Lc(e) { + for (let t = 0; t < e.attrs.length; t++) + if ("definitionurl" === e.attrs[t].name) { + e.attrs[t].name = "definitionURL"; + break + } +} + +function kc(e) { + for (let t = 0; t < e.attrs.length; t++) { + const n = Sc.get(e.attrs[t].name); + null != n && (e.attrs[t].name = n) + } +} + +function vc(e) { + for (let t = 0; t < e.attrs.length; t++) { + const n = bc.get(e.attrs[t].name); + n && (e.attrs[t].prefix = n.prefix, e.attrs[t].name = n.name, e.attrs[t].namespace = n.namespace) + } +} + +function Dc(e, t, n, r) { + return (!r || r === vo.HTML) && function(e, t, n) { + if (t === vo.MATHML && e === Po.ANNOTATION_XML) + for (let e = 0; e < n.length; e++) + if (n[e].name === Do.ENCODING) { + const t = n[e].value.toLowerCase(); + return t === Cc || t === Ic + } return t === vo.SVG && (e === Po.FOREIGN_OBJECT || e === Po.DESC || e === Po.TITLE) + }(e, t, n) || (!r || r === vo.MATHML) && function(e, t) { + return t === vo.MATHML && (e === Po.MI || e === Po.MO || e === Po.MN || e === Po.MS || e === Po.MTEXT) + }(e, t) +} +var Rc; +! function(e) { + e[e.INITIAL = 0] = "INITIAL", e[e.BEFORE_HTML = 1] = "BEFORE_HTML", e[e.BEFORE_HEAD = 2] = "BEFORE_HEAD", e[e.IN_HEAD = 3] = "IN_HEAD", e[e.IN_HEAD_NO_SCRIPT = 4] = "IN_HEAD_NO_SCRIPT", e[e.AFTER_HEAD = 5] = "AFTER_HEAD", e[e.IN_BODY = 6] = "IN_BODY", e[e.TEXT = 7] = "TEXT", e[e.IN_TABLE = 8] = "IN_TABLE", e[e.IN_TABLE_TEXT = 9] = "IN_TABLE_TEXT", e[e.IN_CAPTION = 10] = "IN_CAPTION", e[e.IN_COLUMN_GROUP = 11] = "IN_COLUMN_GROUP", e[e.IN_TABLE_BODY = 12] = "IN_TABLE_BODY", e[e.IN_ROW = 13] = "IN_ROW", e[e.IN_CELL = 14] = "IN_CELL", e[e.IN_SELECT = 15] = "IN_SELECT", e[e.IN_SELECT_IN_TABLE = 16] = "IN_SELECT_IN_TABLE", e[e.IN_TEMPLATE = 17] = "IN_TEMPLATE", e[e.AFTER_BODY = 18] = "AFTER_BODY", e[e.IN_FRAMESET = 19] = "IN_FRAMESET", e[e.AFTER_FRAMESET = 20] = "AFTER_FRAMESET", e[e.AFTER_AFTER_BODY = 21] = "AFTER_AFTER_BODY", e[e.AFTER_AFTER_FRAMESET = 22] = "AFTER_AFTER_FRAMESET" +}(Rc || (Rc = {})); +const Mc = { + startLine: -1, + startCol: -1, + startOffset: -1, + endLine: -1, + endCol: -1, + endOffset: -1 + }, + Pc = new Set([Po.TABLE, Po.TBODY, Po.TFOOT, Po.THEAD, Po.TR]), + xc = { + scriptingEnabled: !0, + sourceCodeLocationInfo: !1, + treeAdapter: Ec, + onParseError: null + }; +class wc { + constructor(e, t, n = null, r = null) { + this.fragmentContext = n, this.scriptHandler = r, this.currentToken = null, this.stopped = !1, this.insertionMode = Rc.INITIAL, this.originalInsertionMode = Rc.INITIAL, this.headElement = null, this.formElement = null, this.currentNotInHTML = !1, this.tmplInsertionModeStack = [], this.pendingCharacterTokens = [], this.hasNonWhitespacePendingCharacterToken = !1, this.framesetOk = !0, this.skipNextNewLine = !1, this.fosterParentingEnabled = !1, this.options = { + ...xc, + ...e + }, this.treeAdapter = this.options.treeAdapter, this.onParseError = this.options.onParseError, this.onParseError && (this.options.sourceCodeLocationInfo = !0), this.document = null != t ? t : this.treeAdapter.createDocument(), this.tokenizer = new tc(this.options, this), this.activeFormattingElements = new fc(this.treeAdapter), this.fragmentContextID = n ? Fo(this.treeAdapter.getTagName(n)) : Po.UNKNOWN, this._setContextModes(null != n ? n : this.document, this.fragmentContextID), this.openElements = new hc(this.document, this.treeAdapter, this) + } + static parse(e, t) { + const n = new this(t); + return n.tokenizer.write(e, !0), n.document + } + static getFragmentParser(e, t) { + const n = { + ...xc, + ...t + }; + null != e || (e = n.treeAdapter.createElement(Mo.TEMPLATE, vo.HTML, [])); + const r = n.treeAdapter.createElement("documentmock", vo.HTML, []), + i = new this(n, r, e); + return i.fragmentContextID === Po.TEMPLATE && i.tmplInsertionModeStack.unshift(Rc.IN_TEMPLATE), i._initTokenizerForFragmentParsing(), i._insertFakeRootElement(), i._resetInsertionMode(), i._findFormInFragmentContext(), i + } + getFragment() { + const e = this.treeAdapter.getFirstChild(this.document), + t = this.treeAdapter.createDocumentFragment(); + return this._adoptNodes(e, t), t + } + _err(e, t, n) { + var r; + if (!this.onParseError) return; + const i = null !== (r = e.location) && void 0 !== r ? r : Mc, + s = { + code: t, + startLine: i.startLine, + startCol: i.startCol, + startOffset: i.startOffset, + endLine: n ? i.startLine : i.endLine, + endCol: n ? i.startCol : i.endCol, + endOffset: n ? i.startOffset : i.endOffset + }; + this.onParseError(s) + } + onItemPush(e, t, n) { + var r, i; + null === (i = (r = this.treeAdapter).onItemPush) || void 0 === i || i.call(r, e), n && this.openElements.stackTop > 0 && this._setContextModes(e, t) + } + onItemPop(e, t) { + var n, r; + if (this.options.sourceCodeLocationInfo && this._setEndLocation(e, this.currentToken), null === (r = (n = this.treeAdapter).onItemPop) || void 0 === r || r.call(n, e, this.openElements.current), t) { + let e, t; + 0 === this.openElements.stackTop && this.fragmentContext ? (e = this.fragmentContext, t = this.fragmentContextID) : ({ + current: e, + currentTagId: t + } = this.openElements), this._setContextModes(e, t) + } + } + _setContextModes(e, t) { + const n = e === this.document || this.treeAdapter.getNamespaceURI(e) === vo.HTML; + this.currentNotInHTML = !n, this.tokenizer.inForeignNode = !n && !this._isIntegrationPoint(t, e) + } + _switchToTextParsing(e, t) { + this._insertElement(e, vo.HTML), this.tokenizer.state = t, this.originalInsertionMode = this.insertionMode, this.insertionMode = Rc.TEXT + } + switchToPlaintextParsing() { + this.insertionMode = Rc.TEXT, this.originalInsertionMode = Rc.IN_BODY, this.tokenizer.state = jo.PLAINTEXT + } + _getAdjustedCurrentElement() { + return 0 === this.openElements.stackTop && this.fragmentContext ? this.fragmentContext : this.openElements.current + } + _findFormInFragmentContext() { + let e = this.fragmentContext; + for (; e;) { + if (this.treeAdapter.getTagName(e) === Mo.FORM) { + this.formElement = e; + break + } + e = this.treeAdapter.getParentNode(e) + } + } + _initTokenizerForFragmentParsing() { + if (this.fragmentContext && this.treeAdapter.getNamespaceURI(this.fragmentContext) === vo.HTML) switch (this.fragmentContextID) { + case Po.TITLE: + case Po.TEXTAREA: + this.tokenizer.state = jo.RCDATA; + break; + case Po.STYLE: + case Po.XMP: + case Po.IFRAME: + case Po.NOEMBED: + case Po.NOFRAMES: + case Po.NOSCRIPT: + this.tokenizer.state = jo.RAWTEXT; + break; + case Po.SCRIPT: + this.tokenizer.state = jo.SCRIPT_DATA; + break; + case Po.PLAINTEXT: + this.tokenizer.state = jo.PLAINTEXT + } + } + _setDocumentType(e) { + const t = e.name || "", + n = e.publicId || "", + r = e.systemId || ""; + if (this.treeAdapter.setDocumentType(this.document, t, n, r), e.location) { + const t = this.treeAdapter.getChildNodes(this.document).find((e => this.treeAdapter.isDocumentTypeNode(e))); + t && this.treeAdapter.setNodeSourceCodeLocation(t, e.location) + } + } + _attachElementToTree(e, t) { + if (this.options.sourceCodeLocationInfo) { + const n = t && { + ...t, + startTag: t + }; + this.treeAdapter.setNodeSourceCodeLocation(e, n) + } + if (this._shouldFosterParentOnInsertion()) this._fosterParentElement(e); + else { + const t = this.openElements.currentTmplContentOrNode; + this.treeAdapter.appendChild(t, e) + } + } + _appendElement(e, t) { + const n = this.treeAdapter.createElement(e.tagName, t, e.attrs); + this._attachElementToTree(n, e.location) + } + _insertElement(e, t) { + const n = this.treeAdapter.createElement(e.tagName, t, e.attrs); + this._attachElementToTree(n, e.location), this.openElements.push(n, e.tagID) + } + _insertFakeElement(e, t) { + const n = this.treeAdapter.createElement(e, vo.HTML, []); + this._attachElementToTree(n, null), this.openElements.push(n, t) + } + _insertTemplate(e) { + const t = this.treeAdapter.createElement(e.tagName, vo.HTML, e.attrs), + n = this.treeAdapter.createDocumentFragment(); + this.treeAdapter.setTemplateContent(t, n), this._attachElementToTree(t, e.location), this.openElements.push(t, e.tagID), this.options.sourceCodeLocationInfo && this.treeAdapter.setNodeSourceCodeLocation(n, null) + } + _insertFakeRootElement() { + const e = this.treeAdapter.createElement(Mo.HTML, vo.HTML, []); + this.options.sourceCodeLocationInfo && this.treeAdapter.setNodeSourceCodeLocation(e, null), this.treeAdapter.appendChild(this.openElements.current, e), this.openElements.push(e, Po.HTML) + } + _appendCommentNode(e, t) { + const n = this.treeAdapter.createCommentNode(e.data); + this.treeAdapter.appendChild(t, n), this.options.sourceCodeLocationInfo && this.treeAdapter.setNodeSourceCodeLocation(n, e.location) + } + _insertCharacters(e) { + let t, n; + if (this._shouldFosterParentOnInsertion() ? (({ + parent: t, + beforeElement: n + } = this._findFosterParentingLocation()), n ? this.treeAdapter.insertTextBefore(t, e.chars, n) : this.treeAdapter.insertText(t, e.chars)) : (t = this.openElements.currentTmplContentOrNode, this.treeAdapter.insertText(t, e.chars)), !e.location) return; + const r = this.treeAdapter.getChildNodes(t), + i = n ? r.lastIndexOf(n) : r.length, + s = r[i - 1]; + if (this.treeAdapter.getNodeSourceCodeLocation(s)) { + const { + endLine: t, + endCol: n, + endOffset: r + } = e.location; + this.treeAdapter.updateNodeSourceCodeLocation(s, { + endLine: t, + endCol: n, + endOffset: r + }) + } else this.options.sourceCodeLocationInfo && this.treeAdapter.setNodeSourceCodeLocation(s, e.location) + } + _adoptNodes(e, t) { + for (let n = this.treeAdapter.getFirstChild(e); n; n = this.treeAdapter.getFirstChild(e)) this.treeAdapter.detachNode(n), this.treeAdapter.appendChild(t, n) + } + _setEndLocation(e, t) { + if (this.treeAdapter.getNodeSourceCodeLocation(e) && t.location) { + const n = t.location, + r = this.treeAdapter.getTagName(e), + i = t.type === To.END_TAG && r === t.tagName ? { + endTag: { + ...n + }, + endLine: n.endLine, + endCol: n.endCol, + endOffset: n.endOffset + } : { + endLine: n.startLine, + endCol: n.startCol, + endOffset: n.startOffset + }; + this.treeAdapter.updateNodeSourceCodeLocation(e, i) + } + } + shouldProcessStartTagTokenInForeignContent(e) { + if (!this.currentNotInHTML) return !1; + let t, n; + return 0 === this.openElements.stackTop && this.fragmentContext ? (t = this.fragmentContext, n = this.fragmentContextID) : ({ + current: t, + currentTagId: n + } = this.openElements), (e.tagID !== Po.SVG || this.treeAdapter.getTagName(t) !== Mo.ANNOTATION_XML || this.treeAdapter.getNamespaceURI(t) !== vo.MATHML) && (this.tokenizer.inForeignNode || (e.tagID === Po.MGLYPH || e.tagID === Po.MALIGNMARK) && !this._isIntegrationPoint(n, t, vo.HTML)) + } + _processToken(e) { + switch (e.type) { + case To.CHARACTER: + this.onCharacter(e); + break; + case To.NULL_CHARACTER: + this.onNullCharacter(e); + break; + case To.COMMENT: + this.onComment(e); + break; + case To.DOCTYPE: + this.onDoctype(e); + break; + case To.START_TAG: + this._processStartTag(e); + break; + case To.END_TAG: + this.onEndTag(e); + break; + case To.EOF: + this.onEof(e); + break; + case To.WHITESPACE_CHARACTER: + this.onWhitespaceCharacter(e) + } + } + _isIntegrationPoint(e, t, n) { + return Dc(e, this.treeAdapter.getNamespaceURI(t), this.treeAdapter.getAttrList(t), n) + } + _reconstructActiveFormattingElements() { + const e = this.activeFormattingElements.entries.length; + if (e) { + const t = this.activeFormattingElements.entries.findIndex((e => e.type === uc.Marker || this.openElements.contains(e.element))); + for (let n = t < 0 ? e - 1 : t - 1; n >= 0; n--) { + const e = this.activeFormattingElements.entries[n]; + this._insertElement(e.token, this.treeAdapter.getNamespaceURI(e.element)), e.element = this.openElements.current + } + } + } + _closeTableCell() { + this.openElements.generateImpliedEndTags(), this.openElements.popUntilTableCellPopped(), this.activeFormattingElements.clearToLastMarker(), this.insertionMode = Rc.IN_ROW + } + _closePElement() { + this.openElements.generateImpliedEndTagsWithExclusion(Po.P), this.openElements.popUntilTagNamePopped(Po.P) + } + _resetInsertionMode() { + for (let e = this.openElements.stackTop; e >= 0; e--) switch (0 === e && this.fragmentContext ? this.fragmentContextID : this.openElements.tagIDs[e]) { + case Po.TR: + return void(this.insertionMode = Rc.IN_ROW); + case Po.TBODY: + case Po.THEAD: + case Po.TFOOT: + return void(this.insertionMode = Rc.IN_TABLE_BODY); + case Po.CAPTION: + return void(this.insertionMode = Rc.IN_CAPTION); + case Po.COLGROUP: + return void(this.insertionMode = Rc.IN_COLUMN_GROUP); + case Po.TABLE: + return void(this.insertionMode = Rc.IN_TABLE); + case Po.BODY: + return void(this.insertionMode = Rc.IN_BODY); + case Po.FRAMESET: + return void(this.insertionMode = Rc.IN_FRAMESET); + case Po.SELECT: + return void this._resetInsertionModeForSelect(e); + case Po.TEMPLATE: + return void(this.insertionMode = this.tmplInsertionModeStack[0]); + case Po.HTML: + return void(this.insertionMode = this.headElement ? Rc.AFTER_HEAD : Rc.BEFORE_HEAD); + case Po.TD: + case Po.TH: + if (e > 0) return void(this.insertionMode = Rc.IN_CELL); + break; + case Po.HEAD: + if (e > 0) return void(this.insertionMode = Rc.IN_HEAD) + } + this.insertionMode = Rc.IN_BODY + } + _resetInsertionModeForSelect(e) { + if (e > 0) + for (let t = e - 1; t > 0; t--) { + const e = this.openElements.tagIDs[t]; + if (e === Po.TEMPLATE) break; + if (e === Po.TABLE) return void(this.insertionMode = Rc.IN_SELECT_IN_TABLE) + } + this.insertionMode = Rc.IN_SELECT + } + _isElementCausesFosterParenting(e) { + return Pc.has(e) + } + _shouldFosterParentOnInsertion() { + return this.fosterParentingEnabled && this._isElementCausesFosterParenting(this.openElements.currentTagId) + } + _findFosterParentingLocation() { + for (let e = this.openElements.stackTop; e >= 0; e--) { + const t = this.openElements.items[e]; + switch (this.openElements.tagIDs[e]) { + case Po.TEMPLATE: + if (this.treeAdapter.getNamespaceURI(t) === vo.HTML) return { + parent: this.treeAdapter.getTemplateContent(t), + beforeElement: null + }; + break; + case Po.TABLE: { + const n = this.treeAdapter.getParentNode(t); + return n ? { + parent: n, + beforeElement: t + } : { + parent: this.openElements.items[e - 1], + beforeElement: null + } + } + } + } + return { + parent: this.openElements.items[0], + beforeElement: null + } + } + _fosterParentElement(e) { + const t = this._findFosterParentingLocation(); + t.beforeElement ? this.treeAdapter.insertBefore(t.parent, e, t.beforeElement) : this.treeAdapter.appendChild(t.parent, e) + } + _isSpecialElement(e, t) { + const n = this.treeAdapter.getNamespaceURI(e); + return Ho[n].has(t) + } + onCharacter(e) { + if (this.skipNextNewLine = !1, this.tokenizer.inForeignNode) ! function(e, t) { + e._insertCharacters(t), e.framesetOk = !1 + }(this, e); + else switch (this.insertionMode) { + case Rc.INITIAL: + Vc(this, e); + break; + case Rc.BEFORE_HTML: + Wc(this, e); + break; + case Rc.BEFORE_HEAD: + Qc(this, e); + break; + case Rc.IN_HEAD: + zc(this, e); + break; + case Rc.IN_HEAD_NO_SCRIPT: + Jc(this, e); + break; + case Rc.AFTER_HEAD: + Zc(this, e); + break; + case Rc.IN_BODY: + case Rc.IN_CAPTION: + case Rc.IN_CELL: + case Rc.IN_TEMPLATE: + nl(this, e); + break; + case Rc.TEXT: + case Rc.IN_SELECT: + case Rc.IN_SELECT_IN_TABLE: + this._insertCharacters(e); + break; + case Rc.IN_TABLE: + case Rc.IN_TABLE_BODY: + case Rc.IN_ROW: + ul(this, e); + break; + case Rc.IN_TABLE_TEXT: + ml(this, e); + break; + case Rc.IN_COLUMN_GROUP: + gl(this, e); + break; + case Rc.AFTER_BODY: + kl(this, e); + break; + case Rc.AFTER_AFTER_BODY: + vl(this, e) + } + } + onNullCharacter(e) { + if (this.skipNextNewLine = !1, this.tokenizer.inForeignNode) ! function(e, t) { + t.chars = "�", e._insertCharacters(t) + }(this, e); + else switch (this.insertionMode) { + case Rc.INITIAL: + Vc(this, e); + break; + case Rc.BEFORE_HTML: + Wc(this, e); + break; + case Rc.BEFORE_HEAD: + Qc(this, e); + break; + case Rc.IN_HEAD: + zc(this, e); + break; + case Rc.IN_HEAD_NO_SCRIPT: + Jc(this, e); + break; + case Rc.AFTER_HEAD: + Zc(this, e); + break; + case Rc.TEXT: + this._insertCharacters(e); + break; + case Rc.IN_TABLE: + case Rc.IN_TABLE_BODY: + case Rc.IN_ROW: + ul(this, e); + break; + case Rc.IN_COLUMN_GROUP: + gl(this, e); + break; + case Rc.AFTER_BODY: + kl(this, e); + break; + case Rc.AFTER_AFTER_BODY: + vl(this, e) + } + } + onComment(e) { + if (this.skipNextNewLine = !1, this.currentNotInHTML) Kc(this, e); + else switch (this.insertionMode) { + case Rc.INITIAL: + case Rc.BEFORE_HTML: + case Rc.BEFORE_HEAD: + case Rc.IN_HEAD: + case Rc.IN_HEAD_NO_SCRIPT: + case Rc.AFTER_HEAD: + case Rc.IN_BODY: + case Rc.IN_TABLE: + case Rc.IN_CAPTION: + case Rc.IN_COLUMN_GROUP: + case Rc.IN_TABLE_BODY: + case Rc.IN_ROW: + case Rc.IN_CELL: + case Rc.IN_SELECT: + case Rc.IN_SELECT_IN_TABLE: + case Rc.IN_TEMPLATE: + case Rc.IN_FRAMESET: + case Rc.AFTER_FRAMESET: + Kc(this, e); + break; + case Rc.IN_TABLE_TEXT: + Tl(this, e); + break; + case Rc.AFTER_BODY: + ! function(e, t) { + e._appendCommentNode(t, e.openElements.items[0]) + }(this, e); + break; + case Rc.AFTER_AFTER_BODY: + case Rc.AFTER_AFTER_FRAMESET: + ! function(e, t) { + e._appendCommentNode(t, e.document) + }(this, e) + } + } + onDoctype(e) { + switch (this.skipNextNewLine = !1, this.insertionMode) { + case Rc.INITIAL: + ! function(e, t) { + e._setDocumentType(t); + const n = t.forceQuirks ? Ro.QUIRKS : function(e) { + if ("html" !== e.name) return Ro.QUIRKS; + const { + systemId: t + } = e; + if (t && "http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd" === t.toLowerCase()) return Ro.QUIRKS; + let { + publicId: n + } = e; + if (null !== n) { + if (n = n.toLowerCase(), _c.has(n)) return Ro.QUIRKS; + let e = null === t ? Tc : mc; + if (Nc(n, e)) return Ro.QUIRKS; + if (e = null === t ? Ac : gc, Nc(n, e)) return Ro.LIMITED_QUIRKS + } + return Ro.NO_QUIRKS + }(t); + (function(e) { + return "html" === e.name && null === e.publicId && (null === e.systemId || "about:legacy-compat" === e.systemId) + })(t) || e._err(t, Eo.nonConformingDoctype); + e.treeAdapter.setDocumentMode(e.document, n), e.insertionMode = Rc.BEFORE_HTML + }(this, e); + break; + case Rc.BEFORE_HEAD: + case Rc.IN_HEAD: + case Rc.IN_HEAD_NO_SCRIPT: + case Rc.AFTER_HEAD: + this._err(e, Eo.misplacedDoctype); + break; + case Rc.IN_TABLE_TEXT: + Tl(this, e) + } + } + onStartTag(e) { + this.skipNextNewLine = !1, this.currentToken = e, this._processStartTag(e), e.selfClosing && !e.ackSelfClosing && this._err(e, Eo.nonVoidHtmlElementStartTagWithTrailingSolidus) + } + _processStartTag(e) { + this.shouldProcessStartTagTokenInForeignContent(e) ? function(e, t) { + if (function(e) { + const t = e.tagID; + return t === Po.FONT && e.attrs.some((({ + name: e + }) => e === Do.COLOR || e === Do.SIZE || e === Do.FACE)) || yc.has(t) + }(t)) Dl(e), e._startTagOutsideForeignContent(t); + else { + const n = e._getAdjustedCurrentElement(), + r = e.treeAdapter.getNamespaceURI(n); + r === vo.MATHML ? Lc(t) : r === vo.SVG && (! function(e) { + const t = Oc.get(e.tagName); + null != t && (e.tagName = t, e.tagID = Fo(e.tagName)) + }(t), kc(t)), vc(t), t.selfClosing ? e._appendElement(t, r) : e._insertElement(t, r), t.ackSelfClosing = !0 + } + }(this, e) : this._startTagOutsideForeignContent(e) + } + _startTagOutsideForeignContent(e) { + switch (this.insertionMode) { + case Rc.INITIAL: + Vc(this, e); + break; + case Rc.BEFORE_HTML: + ! function(e, t) { + t.tagID === Po.HTML ? (e._insertElement(t, vo.HTML), e.insertionMode = Rc.BEFORE_HEAD) : Wc(e, t) + }(this, e); + break; + case Rc.BEFORE_HEAD: + ! function(e, t) { + switch (t.tagID) { + case Po.HTML: + ol(e, t); + break; + case Po.HEAD: + e._insertElement(t, vo.HTML), e.headElement = e.openElements.current, e.insertionMode = Rc.IN_HEAD; + break; + default: + Qc(e, t) + } + }(this, e); + break; + case Rc.IN_HEAD: + Xc(this, e); + break; + case Rc.IN_HEAD_NO_SCRIPT: + ! function(e, t) { + switch (t.tagID) { + case Po.HTML: + ol(e, t); + break; + case Po.BASEFONT: + case Po.BGSOUND: + case Po.HEAD: + case Po.LINK: + case Po.META: + case Po.NOFRAMES: + case Po.STYLE: + Xc(e, t); + break; + case Po.NOSCRIPT: + e._err(t, Eo.nestedNoscriptInHead); + break; + default: + Jc(e, t) + } + }(this, e); + break; + case Rc.AFTER_HEAD: + ! function(e, t) { + switch (t.tagID) { + case Po.HTML: + ol(e, t); + break; + case Po.BODY: + e._insertElement(t, vo.HTML), e.framesetOk = !1, e.insertionMode = Rc.IN_BODY; + break; + case Po.FRAMESET: + e._insertElement(t, vo.HTML), e.insertionMode = Rc.IN_FRAMESET; + break; + case Po.BASE: + case Po.BASEFONT: + case Po.BGSOUND: + case Po.LINK: + case Po.META: + case Po.NOFRAMES: + case Po.SCRIPT: + case Po.STYLE: + case Po.TEMPLATE: + case Po.TITLE: + e._err(t, Eo.abandonedHeadElementChild), e.openElements.push(e.headElement, Po.HEAD), Xc(e, t), e.openElements.remove(e.headElement); + break; + case Po.HEAD: + e._err(t, Eo.misplacedStartTagForHeadElement); + break; + default: + Zc(e, t) + } + }(this, e); + break; + case Rc.IN_BODY: + ol(this, e); + break; + case Rc.IN_TABLE: + pl(this, e); + break; + case Rc.IN_TABLE_TEXT: + Tl(this, e); + break; + case Rc.IN_CAPTION: + ! function(e, t) { + const n = t.tagID; + _l.has(n) ? e.openElements.hasInTableScope(Po.CAPTION) && (e.openElements.generateImpliedEndTags(), e.openElements.popUntilTagNamePopped(Po.CAPTION), e.activeFormattingElements.clearToLastMarker(), e.insertionMode = Rc.IN_TABLE, pl(e, t)) : ol(e, t) + }(this, e); + break; + case Rc.IN_COLUMN_GROUP: + Al(this, e); + break; + case Rc.IN_TABLE_BODY: + Nl(this, e); + break; + case Rc.IN_ROW: + Il(this, e); + break; + case Rc.IN_CELL: + ! function(e, t) { + const n = t.tagID; + _l.has(n) ? (e.openElements.hasInTableScope(Po.TD) || e.openElements.hasInTableScope(Po.TH)) && (e._closeTableCell(), Il(e, t)) : ol(e, t) + }(this, e); + break; + case Rc.IN_SELECT: + bl(this, e); + break; + case Rc.IN_SELECT_IN_TABLE: + ! function(e, t) { + const n = t.tagID; + n === Po.CAPTION || n === Po.TABLE || n === Po.TBODY || n === Po.TFOOT || n === Po.THEAD || n === Po.TR || n === Po.TD || n === Po.TH ? (e.openElements.popUntilTagNamePopped(Po.SELECT), e._resetInsertionMode(), e._processStartTag(t)) : bl(e, t) + }(this, e); + break; + case Rc.IN_TEMPLATE: + ! function(e, t) { + switch (t.tagID) { + case Po.BASE: + case Po.BASEFONT: + case Po.BGSOUND: + case Po.LINK: + case Po.META: + case Po.NOFRAMES: + case Po.SCRIPT: + case Po.STYLE: + case Po.TEMPLATE: + case Po.TITLE: + Xc(e, t); + break; + case Po.CAPTION: + case Po.COLGROUP: + case Po.TBODY: + case Po.TFOOT: + case Po.THEAD: + e.tmplInsertionModeStack[0] = Rc.IN_TABLE, e.insertionMode = Rc.IN_TABLE, pl(e, t); + break; + case Po.COL: + e.tmplInsertionModeStack[0] = Rc.IN_COLUMN_GROUP, e.insertionMode = Rc.IN_COLUMN_GROUP, Al(e, t); + break; + case Po.TR: + e.tmplInsertionModeStack[0] = Rc.IN_TABLE_BODY, e.insertionMode = Rc.IN_TABLE_BODY, Nl(e, t); + break; + case Po.TD: + case Po.TH: + e.tmplInsertionModeStack[0] = Rc.IN_ROW, e.insertionMode = Rc.IN_ROW, Il(e, t); + break; + default: + e.tmplInsertionModeStack[0] = Rc.IN_BODY, e.insertionMode = Rc.IN_BODY, ol(e, t) + } + }(this, e); + break; + case Rc.AFTER_BODY: + ! function(e, t) { + t.tagID === Po.HTML ? ol(e, t) : kl(e, t) + }(this, e); + break; + case Rc.IN_FRAMESET: + ! function(e, t) { + switch (t.tagID) { + case Po.HTML: + ol(e, t); + break; + case Po.FRAMESET: + e._insertElement(t, vo.HTML); + break; + case Po.FRAME: + e._appendElement(t, vo.HTML), t.ackSelfClosing = !0; + break; + case Po.NOFRAMES: + Xc(e, t) + } + }(this, e); + break; + case Rc.AFTER_FRAMESET: + ! function(e, t) { + switch (t.tagID) { + case Po.HTML: + ol(e, t); + break; + case Po.NOFRAMES: + Xc(e, t) + } + }(this, e); + break; + case Rc.AFTER_AFTER_BODY: + ! function(e, t) { + t.tagID === Po.HTML ? ol(e, t) : vl(e, t) + }(this, e); + break; + case Rc.AFTER_AFTER_FRAMESET: + ! function(e, t) { + switch (t.tagID) { + case Po.HTML: + ol(e, t); + break; + case Po.NOFRAMES: + Xc(e, t) + } + }(this, e) + } + } + onEndTag(e) { + this.skipNextNewLine = !1, this.currentToken = e, this.currentNotInHTML ? function(e, t) { + if (t.tagID === Po.P || t.tagID === Po.BR) return Dl(e), void e._endTagOutsideForeignContent(t); + for (let n = e.openElements.stackTop; n > 0; n--) { + const r = e.openElements.items[n]; + if (e.treeAdapter.getNamespaceURI(r) === vo.HTML) { + e._endTagOutsideForeignContent(t); + break + } + const i = e.treeAdapter.getTagName(r); + if (i.toLowerCase() === t.tagName) { + t.tagName = i, e.openElements.shortenToLength(n); + break + } + } + }(this, e) : this._endTagOutsideForeignContent(e) + } + _endTagOutsideForeignContent(e) { + switch (this.insertionMode) { + case Rc.INITIAL: + Vc(this, e); + break; + case Rc.BEFORE_HTML: + ! function(e, t) { + const n = t.tagID; + n !== Po.HTML && n !== Po.HEAD && n !== Po.BODY && n !== Po.BR || Wc(e, t) + }(this, e); + break; + case Rc.BEFORE_HEAD: + ! function(e, t) { + const n = t.tagID; + n === Po.HEAD || n === Po.BODY || n === Po.HTML || n === Po.BR ? Qc(e, t) : e._err(t, Eo.endTagWithoutMatchingOpenElement) + }(this, e); + break; + case Rc.IN_HEAD: + ! function(e, t) { + switch (t.tagID) { + case Po.HEAD: + e.openElements.pop(), e.insertionMode = Rc.AFTER_HEAD; + break; + case Po.BODY: + case Po.BR: + case Po.HTML: + zc(e, t); + break; + case Po.TEMPLATE: + $c(e, t); + break; + default: + e._err(t, Eo.endTagWithoutMatchingOpenElement) + } + }(this, e); + break; + case Rc.IN_HEAD_NO_SCRIPT: + ! function(e, t) { + switch (t.tagID) { + case Po.NOSCRIPT: + e.openElements.pop(), e.insertionMode = Rc.IN_HEAD; + break; + case Po.BR: + Jc(e, t); + break; + default: + e._err(t, Eo.endTagWithoutMatchingOpenElement) + } + }(this, e); + break; + case Rc.AFTER_HEAD: + ! function(e, t) { + switch (t.tagID) { + case Po.BODY: + case Po.HTML: + case Po.BR: + Zc(e, t); + break; + case Po.TEMPLATE: + $c(e, t); + break; + default: + e._err(t, Eo.endTagWithoutMatchingOpenElement) + } + }(this, e); + break; + case Rc.IN_BODY: + ll(this, e); + break; + case Rc.TEXT: + ! function(e, t) { + var n; + t.tagID === Po.SCRIPT && (null === (n = e.scriptHandler) || void 0 === n || n.call(e, e.openElements.current)); + e.openElements.pop(), e.insertionMode = e.originalInsertionMode + }(this, e); + break; + case Rc.IN_TABLE: + fl(this, e); + break; + case Rc.IN_TABLE_TEXT: + Tl(this, e); + break; + case Rc.IN_CAPTION: + ! function(e, t) { + const n = t.tagID; + switch (n) { + case Po.CAPTION: + case Po.TABLE: + e.openElements.hasInTableScope(Po.CAPTION) && (e.openElements.generateImpliedEndTags(), e.openElements.popUntilTagNamePopped(Po.CAPTION), e.activeFormattingElements.clearToLastMarker(), e.insertionMode = Rc.IN_TABLE, n === Po.TABLE && fl(e, t)); + break; + case Po.BODY: + case Po.COL: + case Po.COLGROUP: + case Po.HTML: + case Po.TBODY: + case Po.TD: + case Po.TFOOT: + case Po.TH: + case Po.THEAD: + case Po.TR: + break; + default: + ll(e, t) + } + }(this, e); + break; + case Rc.IN_COLUMN_GROUP: + ! function(e, t) { + switch (t.tagID) { + case Po.COLGROUP: + e.openElements.currentTagId === Po.COLGROUP && (e.openElements.pop(), e.insertionMode = Rc.IN_TABLE); + break; + case Po.TEMPLATE: + $c(e, t); + break; + case Po.COL: + break; + default: + gl(e, t) + } + }(this, e); + break; + case Rc.IN_TABLE_BODY: + Cl(this, e); + break; + case Rc.IN_ROW: + Sl(this, e); + break; + case Rc.IN_CELL: + ! function(e, t) { + const n = t.tagID; + switch (n) { + case Po.TD: + case Po.TH: + e.openElements.hasInTableScope(n) && (e.openElements.generateImpliedEndTags(), e.openElements.popUntilTagNamePopped(n), e.activeFormattingElements.clearToLastMarker(), e.insertionMode = Rc.IN_ROW); + break; + case Po.TABLE: + case Po.TBODY: + case Po.TFOOT: + case Po.THEAD: + case Po.TR: + e.openElements.hasInTableScope(n) && (e._closeTableCell(), Sl(e, t)); + break; + case Po.BODY: + case Po.CAPTION: + case Po.COL: + case Po.COLGROUP: + case Po.HTML: + break; + default: + ll(e, t) + } + }(this, e); + break; + case Rc.IN_SELECT: + Ol(this, e); + break; + case Rc.IN_SELECT_IN_TABLE: + ! function(e, t) { + const n = t.tagID; + n === Po.CAPTION || n === Po.TABLE || n === Po.TBODY || n === Po.TFOOT || n === Po.THEAD || n === Po.TR || n === Po.TD || n === Po.TH ? e.openElements.hasInTableScope(n) && (e.openElements.popUntilTagNamePopped(Po.SELECT), e._resetInsertionMode(), e.onEndTag(t)) : Ol(e, t) + }(this, e); + break; + case Rc.IN_TEMPLATE: + ! function(e, t) { + t.tagID === Po.TEMPLATE && $c(e, t) + }(this, e); + break; + case Rc.AFTER_BODY: + Ll(this, e); + break; + case Rc.IN_FRAMESET: + ! function(e, t) { + t.tagID !== Po.FRAMESET || e.openElements.isRootHtmlElementCurrent() || (e.openElements.pop(), e.fragmentContext || e.openElements.currentTagId === Po.FRAMESET || (e.insertionMode = Rc.AFTER_FRAMESET)) + }(this, e); + break; + case Rc.AFTER_FRAMESET: + ! function(e, t) { + t.tagID === Po.HTML && (e.insertionMode = Rc.AFTER_AFTER_FRAMESET) + }(this, e); + break; + case Rc.AFTER_AFTER_BODY: + vl(this, e) + } + } + onEof(e) { + switch (this.insertionMode) { + case Rc.INITIAL: + Vc(this, e); + break; + case Rc.BEFORE_HTML: + Wc(this, e); + break; + case Rc.BEFORE_HEAD: + Qc(this, e); + break; + case Rc.IN_HEAD: + zc(this, e); + break; + case Rc.IN_HEAD_NO_SCRIPT: + Jc(this, e); + break; + case Rc.AFTER_HEAD: + Zc(this, e); + break; + case Rc.IN_BODY: + case Rc.IN_TABLE: + case Rc.IN_CAPTION: + case Rc.IN_COLUMN_GROUP: + case Rc.IN_TABLE_BODY: + case Rc.IN_ROW: + case Rc.IN_CELL: + case Rc.IN_SELECT: + case Rc.IN_SELECT_IN_TABLE: + hl(this, e); + break; + case Rc.TEXT: + ! function(e, t) { + e._err(t, Eo.eofInElementThatCanContainOnlyText), e.openElements.pop(), e.insertionMode = e.originalInsertionMode, e.onEof(t) + }(this, e); + break; + case Rc.IN_TABLE_TEXT: + Tl(this, e); + break; + case Rc.IN_TEMPLATE: + yl(this, e); + break; + case Rc.AFTER_BODY: + case Rc.IN_FRAMESET: + case Rc.AFTER_FRAMESET: + case Rc.AFTER_AFTER_BODY: + case Rc.AFTER_AFTER_FRAMESET: + jc(this, e) + } + } + onWhitespaceCharacter(e) { + if (this.skipNextNewLine && (this.skipNextNewLine = !1, e.chars.charCodeAt(0) === io.LINE_FEED)) { + if (1 === e.chars.length) return; + e.chars = e.chars.substr(1) + } + if (this.tokenizer.inForeignNode) this._insertCharacters(e); + else switch (this.insertionMode) { + case Rc.IN_HEAD: + case Rc.IN_HEAD_NO_SCRIPT: + case Rc.AFTER_HEAD: + case Rc.TEXT: + case Rc.IN_COLUMN_GROUP: + case Rc.IN_SELECT: + case Rc.IN_SELECT_IN_TABLE: + case Rc.IN_FRAMESET: + case Rc.AFTER_FRAMESET: + this._insertCharacters(e); + break; + case Rc.IN_BODY: + case Rc.IN_CAPTION: + case Rc.IN_CELL: + case Rc.IN_TEMPLATE: + case Rc.AFTER_BODY: + case Rc.AFTER_AFTER_BODY: + case Rc.AFTER_AFTER_FRAMESET: + tl(this, e); + break; + case Rc.IN_TABLE: + case Rc.IN_TABLE_BODY: + case Rc.IN_ROW: + ul(this, e); + break; + case Rc.IN_TABLE_TEXT: + El(this, e) + } + } +} + +function Bc(e, t) { + let n = e.activeFormattingElements.getElementEntryInScopeWithTagName(t.tagName); + return n ? e.openElements.contains(n.element) ? e.openElements.hasInScope(t.tagID) || (n = null) : (e.activeFormattingElements.removeEntry(n), n = null) : cl(e, t), n +} + +function Fc(e, t) { + let n = null, + r = e.openElements.stackTop; + for (; r >= 0; r--) { + const i = e.openElements.items[r]; + if (i === t.element) break; + e._isSpecialElement(i, e.openElements.tagIDs[r]) && (n = i) + } + return n || (e.openElements.shortenToLength(r < 0 ? 0 : r), e.activeFormattingElements.removeEntry(t)), n +} + +function Uc(e, t, n) { + let r = t, + i = e.openElements.getCommonAncestor(t); + for (let s = 0, a = i; a !== n; s++, a = i) { + i = e.openElements.getCommonAncestor(a); + const n = e.activeFormattingElements.getElementEntry(a), + o = n && s >= 3; + !n || o ? (o && e.activeFormattingElements.removeEntry(n), e.openElements.remove(a)) : (a = Hc(e, n), r === t && (e.activeFormattingElements.bookmark = n), e.treeAdapter.detachNode(r), e.treeAdapter.appendChild(a, r), r = a) + } + return r +} + +function Hc(e, t) { + const n = e.treeAdapter.getNamespaceURI(t.element), + r = e.treeAdapter.createElement(t.token.tagName, n, t.token.attrs); + return e.openElements.replace(t.element, r), t.element = r, r +} + +function Gc(e, t, n) { + const r = Fo(e.treeAdapter.getTagName(t)); + if (e._isElementCausesFosterParenting(r)) e._fosterParentElement(n); + else { + const i = e.treeAdapter.getNamespaceURI(t); + r === Po.TEMPLATE && i === vo.HTML && (t = e.treeAdapter.getTemplateContent(t)), e.treeAdapter.appendChild(t, n) + } +} + +function Yc(e, t, n) { + const r = e.treeAdapter.getNamespaceURI(n.element), + { + token: i + } = n, + s = e.treeAdapter.createElement(i.tagName, r, i.attrs); + e._adoptNodes(t, s), e.treeAdapter.appendChild(t, s), e.activeFormattingElements.insertElementAfterBookmark(s, i), e.activeFormattingElements.removeEntry(n), e.openElements.remove(n.element), e.openElements.insertAfter(t, s, i.tagID) +} + +function qc(e, t) { + for (let n = 0; n < 8; n++) { + const n = Bc(e, t); + if (!n) break; + const r = Fc(e, n); + if (!r) break; + e.activeFormattingElements.bookmark = n; + const i = Uc(e, r, n.element), + s = e.openElements.getCommonAncestor(n.element); + e.treeAdapter.detachNode(i), s && Gc(e, s, i), Yc(e, r, n) + } +} + +function Kc(e, t) { + e._appendCommentNode(t, e.openElements.currentTmplContentOrNode) +} + +function jc(e, t) { + if (e.stopped = !0, t.location) { + const n = e.fragmentContext ? 0 : 2; + for (let r = e.openElements.stackTop; r >= n; r--) e._setEndLocation(e.openElements.items[r], t); + if (!e.fragmentContext && e.openElements.stackTop >= 0) { + const n = e.openElements.items[0], + r = e.treeAdapter.getNodeSourceCodeLocation(n); + if (r && !r.endTag && (e._setEndLocation(n, t), e.openElements.stackTop >= 1)) { + const n = e.openElements.items[1], + r = e.treeAdapter.getNodeSourceCodeLocation(n); + r && !r.endTag && e._setEndLocation(n, t) + } + } + } +} + +function Vc(e, t) { + e._err(t, Eo.missingDoctype, !0), e.treeAdapter.setDocumentMode(e.document, Ro.QUIRKS), e.insertionMode = Rc.BEFORE_HTML, e._processToken(t) +} + +function Wc(e, t) { + e._insertFakeRootElement(), e.insertionMode = Rc.BEFORE_HEAD, e._processToken(t) +} + +function Qc(e, t) { + e._insertFakeElement(Mo.HEAD, Po.HEAD), e.headElement = e.openElements.current, e.insertionMode = Rc.IN_HEAD, e._processToken(t) +} + +function Xc(e, t) { + switch (t.tagID) { + case Po.HTML: + ol(e, t); + break; + case Po.BASE: + case Po.BASEFONT: + case Po.BGSOUND: + case Po.LINK: + case Po.META: + e._appendElement(t, vo.HTML), t.ackSelfClosing = !0; + break; + case Po.TITLE: + e._switchToTextParsing(t, jo.RCDATA); + break; + case Po.NOSCRIPT: + e.options.scriptingEnabled ? e._switchToTextParsing(t, jo.RAWTEXT) : (e._insertElement(t, vo.HTML), e.insertionMode = Rc.IN_HEAD_NO_SCRIPT); + break; + case Po.NOFRAMES: + case Po.STYLE: + e._switchToTextParsing(t, jo.RAWTEXT); + break; + case Po.SCRIPT: + e._switchToTextParsing(t, jo.SCRIPT_DATA); + break; + case Po.TEMPLATE: + e._insertTemplate(t), e.activeFormattingElements.insertMarker(), e.framesetOk = !1, e.insertionMode = Rc.IN_TEMPLATE, e.tmplInsertionModeStack.unshift(Rc.IN_TEMPLATE); + break; + case Po.HEAD: + e._err(t, Eo.misplacedStartTagForHeadElement); + break; + default: + zc(e, t) + } +} + +function $c(e, t) { + e.openElements.tmplCount > 0 ? (e.openElements.generateImpliedEndTagsThoroughly(), e.openElements.currentTagId !== Po.TEMPLATE && e._err(t, Eo.closingOfElementWithOpenChildElements), e.openElements.popUntilTagNamePopped(Po.TEMPLATE), e.activeFormattingElements.clearToLastMarker(), e.tmplInsertionModeStack.shift(), e._resetInsertionMode()) : e._err(t, Eo.endTagWithoutMatchingOpenElement) +} + +function zc(e, t) { + e.openElements.pop(), e.insertionMode = Rc.AFTER_HEAD, e._processToken(t) +} + +function Jc(e, t) { + const n = t.type === To.EOF ? Eo.openElementsLeftAfterEof : Eo.disallowedContentInNoscriptInHead; + e._err(t, n), e.openElements.pop(), e.insertionMode = Rc.IN_HEAD, e._processToken(t) +} + +function Zc(e, t) { + e._insertFakeElement(Mo.BODY, Po.BODY), e.insertionMode = Rc.IN_BODY, el(e, t) +} + +function el(e, t) { + switch (t.type) { + case To.CHARACTER: + nl(e, t); + break; + case To.WHITESPACE_CHARACTER: + tl(e, t); + break; + case To.COMMENT: + Kc(e, t); + break; + case To.START_TAG: + ol(e, t); + break; + case To.END_TAG: + ll(e, t); + break; + case To.EOF: + hl(e, t) + } +} + +function tl(e, t) { + e._reconstructActiveFormattingElements(), e._insertCharacters(t) +} + +function nl(e, t) { + e._reconstructActiveFormattingElements(), e._insertCharacters(t), e.framesetOk = !1 +} + +function rl(e, t) { + e._reconstructActiveFormattingElements(), e._appendElement(t, vo.HTML), e.framesetOk = !1, t.ackSelfClosing = !0 +} + +function il(e) { + const t = _o(e, Do.TYPE); + return null != t && "hidden" === t.toLowerCase() +} + +function sl(e, t) { + e._switchToTextParsing(t, jo.RAWTEXT) +} + +function al(e, t) { + e._reconstructActiveFormattingElements(), e._insertElement(t, vo.HTML) +} + +function ol(e, t) { + switch (t.tagID) { + case Po.I: + case Po.S: + case Po.B: + case Po.U: + case Po.EM: + case Po.TT: + case Po.BIG: + case Po.CODE: + case Po.FONT: + case Po.SMALL: + case Po.STRIKE: + case Po.STRONG: + ! function(e, t) { + e._reconstructActiveFormattingElements(), e._insertElement(t, vo.HTML), e.activeFormattingElements.pushElement(e.openElements.current, t) + }(e, t); + break; + case Po.A: + ! function(e, t) { + const n = e.activeFormattingElements.getElementEntryInScopeWithTagName(Mo.A); + n && (qc(e, t), e.openElements.remove(n.element), e.activeFormattingElements.removeEntry(n)), e._reconstructActiveFormattingElements(), e._insertElement(t, vo.HTML), e.activeFormattingElements.pushElement(e.openElements.current, t) + }(e, t); + break; + case Po.H1: + case Po.H2: + case Po.H3: + case Po.H4: + case Po.H5: + case Po.H6: + ! function(e, t) { + e.openElements.hasInButtonScope(Po.P) && e._closePElement(), Go(e.openElements.currentTagId) && e.openElements.pop(), e._insertElement(t, vo.HTML) + }(e, t); + break; + case Po.P: + case Po.DL: + case Po.OL: + case Po.UL: + case Po.DIV: + case Po.DIR: + case Po.NAV: + case Po.MAIN: + case Po.MENU: + case Po.ASIDE: + case Po.CENTER: + case Po.FIGURE: + case Po.FOOTER: + case Po.HEADER: + case Po.HGROUP: + case Po.DIALOG: + case Po.DETAILS: + case Po.ADDRESS: + case Po.ARTICLE: + case Po.SECTION: + case Po.SUMMARY: + case Po.FIELDSET: + case Po.BLOCKQUOTE: + case Po.FIGCAPTION: + ! function(e, t) { + e.openElements.hasInButtonScope(Po.P) && e._closePElement(), e._insertElement(t, vo.HTML) + }(e, t); + break; + case Po.LI: + case Po.DD: + case Po.DT: + ! function(e, t) { + e.framesetOk = !1; + const n = t.tagID; + for (let t = e.openElements.stackTop; t >= 0; t--) { + const r = e.openElements.tagIDs[t]; + if (n === Po.LI && r === Po.LI || (n === Po.DD || n === Po.DT) && (r === Po.DD || r === Po.DT)) { + e.openElements.generateImpliedEndTagsWithExclusion(r), e.openElements.popUntilTagNamePopped(r); + break + } + if (r !== Po.ADDRESS && r !== Po.DIV && r !== Po.P && e._isSpecialElement(e.openElements.items[t], r)) break + } + e.openElements.hasInButtonScope(Po.P) && e._closePElement(), e._insertElement(t, vo.HTML) + }(e, t); + break; + case Po.BR: + case Po.IMG: + case Po.WBR: + case Po.AREA: + case Po.EMBED: + case Po.KEYGEN: + rl(e, t); + break; + case Po.HR: + ! function(e, t) { + e.openElements.hasInButtonScope(Po.P) && e._closePElement(), e._appendElement(t, vo.HTML), e.framesetOk = !1, t.ackSelfClosing = !0 + }(e, t); + break; + case Po.RB: + case Po.RTC: + ! function(e, t) { + e.openElements.hasInScope(Po.RUBY) && e.openElements.generateImpliedEndTags(), e._insertElement(t, vo.HTML) + }(e, t); + break; + case Po.RT: + case Po.RP: + ! function(e, t) { + e.openElements.hasInScope(Po.RUBY) && e.openElements.generateImpliedEndTagsWithExclusion(Po.RTC), e._insertElement(t, vo.HTML) + }(e, t); + break; + case Po.PRE: + case Po.LISTING: + ! function(e, t) { + e.openElements.hasInButtonScope(Po.P) && e._closePElement(), e._insertElement(t, vo.HTML), e.skipNextNewLine = !0, e.framesetOk = !1 + }(e, t); + break; + case Po.XMP: + ! function(e, t) { + e.openElements.hasInButtonScope(Po.P) && e._closePElement(), e._reconstructActiveFormattingElements(), e.framesetOk = !1, e._switchToTextParsing(t, jo.RAWTEXT) + }(e, t); + break; + case Po.SVG: + ! function(e, t) { + e._reconstructActiveFormattingElements(), kc(t), vc(t), t.selfClosing ? e._appendElement(t, vo.SVG) : e._insertElement(t, vo.SVG), t.ackSelfClosing = !0 + }(e, t); + break; + case Po.HTML: + ! function(e, t) { + 0 === e.openElements.tmplCount && e.treeAdapter.adoptAttributes(e.openElements.items[0], t.attrs) + }(e, t); + break; + case Po.BASE: + case Po.LINK: + case Po.META: + case Po.STYLE: + case Po.TITLE: + case Po.SCRIPT: + case Po.BGSOUND: + case Po.BASEFONT: + case Po.TEMPLATE: + Xc(e, t); + break; + case Po.BODY: + ! function(e, t) { + const n = e.openElements.tryPeekProperlyNestedBodyElement(); + n && 0 === e.openElements.tmplCount && (e.framesetOk = !1, e.treeAdapter.adoptAttributes(n, t.attrs)) + }(e, t); + break; + case Po.FORM: + ! function(e, t) { + const n = e.openElements.tmplCount > 0; + e.formElement && !n || (e.openElements.hasInButtonScope(Po.P) && e._closePElement(), e._insertElement(t, vo.HTML), n || (e.formElement = e.openElements.current)) + }(e, t); + break; + case Po.NOBR: + ! function(e, t) { + e._reconstructActiveFormattingElements(), e.openElements.hasInScope(Po.NOBR) && (qc(e, t), e._reconstructActiveFormattingElements()), e._insertElement(t, vo.HTML), e.activeFormattingElements.pushElement(e.openElements.current, t) + }(e, t); + break; + case Po.MATH: + ! function(e, t) { + e._reconstructActiveFormattingElements(), Lc(t), vc(t), t.selfClosing ? e._appendElement(t, vo.MATHML) : e._insertElement(t, vo.MATHML), t.ackSelfClosing = !0 + }(e, t); + break; + case Po.TABLE: + ! function(e, t) { + e.treeAdapter.getDocumentMode(e.document) !== Ro.QUIRKS && e.openElements.hasInButtonScope(Po.P) && e._closePElement(), e._insertElement(t, vo.HTML), e.framesetOk = !1, e.insertionMode = Rc.IN_TABLE + }(e, t); + break; + case Po.INPUT: + ! function(e, t) { + e._reconstructActiveFormattingElements(), e._appendElement(t, vo.HTML), il(t) || (e.framesetOk = !1), t.ackSelfClosing = !0 + }(e, t); + break; + case Po.PARAM: + case Po.TRACK: + case Po.SOURCE: + ! function(e, t) { + e._appendElement(t, vo.HTML), t.ackSelfClosing = !0 + }(e, t); + break; + case Po.IMAGE: + ! function(e, t) { + t.tagName = Mo.IMG, t.tagID = Po.IMG, rl(e, t) + }(e, t); + break; + case Po.BUTTON: + ! function(e, t) { + e.openElements.hasInScope(Po.BUTTON) && (e.openElements.generateImpliedEndTags(), e.openElements.popUntilTagNamePopped(Po.BUTTON)), e._reconstructActiveFormattingElements(), e._insertElement(t, vo.HTML), e.framesetOk = !1 + }(e, t); + break; + case Po.APPLET: + case Po.OBJECT: + case Po.MARQUEE: + ! function(e, t) { + e._reconstructActiveFormattingElements(), e._insertElement(t, vo.HTML), e.activeFormattingElements.insertMarker(), e.framesetOk = !1 + }(e, t); + break; + case Po.IFRAME: + ! function(e, t) { + e.framesetOk = !1, e._switchToTextParsing(t, jo.RAWTEXT) + }(e, t); + break; + case Po.SELECT: + ! function(e, t) { + e._reconstructActiveFormattingElements(), e._insertElement(t, vo.HTML), e.framesetOk = !1, e.insertionMode = e.insertionMode === Rc.IN_TABLE || e.insertionMode === Rc.IN_CAPTION || e.insertionMode === Rc.IN_TABLE_BODY || e.insertionMode === Rc.IN_ROW || e.insertionMode === Rc.IN_CELL ? Rc.IN_SELECT_IN_TABLE : Rc.IN_SELECT + }(e, t); + break; + case Po.OPTION: + case Po.OPTGROUP: + ! function(e, t) { + e.openElements.currentTagId === Po.OPTION && e.openElements.pop(), e._reconstructActiveFormattingElements(), e._insertElement(t, vo.HTML) + }(e, t); + break; + case Po.NOEMBED: + sl(e, t); + break; + case Po.FRAMESET: + ! function(e, t) { + const n = e.openElements.tryPeekProperlyNestedBodyElement(); + e.framesetOk && n && (e.treeAdapter.detachNode(n), e.openElements.popAllUpToHtmlElement(), e._insertElement(t, vo.HTML), e.insertionMode = Rc.IN_FRAMESET) + }(e, t); + break; + case Po.TEXTAREA: + ! function(e, t) { + e._insertElement(t, vo.HTML), e.skipNextNewLine = !0, e.tokenizer.state = jo.RCDATA, e.originalInsertionMode = e.insertionMode, e.framesetOk = !1, e.insertionMode = Rc.TEXT + }(e, t); + break; + case Po.NOSCRIPT: + e.options.scriptingEnabled ? sl(e, t) : al(e, t); + break; + case Po.PLAINTEXT: + ! function(e, t) { + e.openElements.hasInButtonScope(Po.P) && e._closePElement(), e._insertElement(t, vo.HTML), e.tokenizer.state = jo.PLAINTEXT + }(e, t); + break; + case Po.COL: + case Po.TH: + case Po.TD: + case Po.TR: + case Po.HEAD: + case Po.FRAME: + case Po.TBODY: + case Po.TFOOT: + case Po.THEAD: + case Po.CAPTION: + case Po.COLGROUP: + break; + default: + al(e, t) + } +} + +function cl(e, t) { + const n = t.tagName, + r = t.tagID; + for (let t = e.openElements.stackTop; t > 0; t--) { + const i = e.openElements.items[t], + s = e.openElements.tagIDs[t]; + if (r === s && (r !== Po.UNKNOWN || e.treeAdapter.getTagName(i) === n)) { + e.openElements.generateImpliedEndTagsWithExclusion(r), e.openElements.stackTop >= t && e.openElements.shortenToLength(t); + break + } + if (e._isSpecialElement(i, s)) break + } +} + +function ll(e, t) { + switch (t.tagID) { + case Po.A: + case Po.B: + case Po.I: + case Po.S: + case Po.U: + case Po.EM: + case Po.TT: + case Po.BIG: + case Po.CODE: + case Po.FONT: + case Po.NOBR: + case Po.SMALL: + case Po.STRIKE: + case Po.STRONG: + qc(e, t); + break; + case Po.P: + ! function(e) { + e.openElements.hasInButtonScope(Po.P) || e._insertFakeElement(Mo.P, Po.P), e._closePElement() + }(e); + break; + case Po.DL: + case Po.UL: + case Po.OL: + case Po.DIR: + case Po.DIV: + case Po.NAV: + case Po.PRE: + case Po.MAIN: + case Po.MENU: + case Po.ASIDE: + case Po.BUTTON: + case Po.CENTER: + case Po.FIGURE: + case Po.FOOTER: + case Po.HEADER: + case Po.HGROUP: + case Po.DIALOG: + case Po.ADDRESS: + case Po.ARTICLE: + case Po.DETAILS: + case Po.SECTION: + case Po.SUMMARY: + case Po.LISTING: + case Po.FIELDSET: + case Po.BLOCKQUOTE: + case Po.FIGCAPTION: + ! function(e, t) { + const n = t.tagID; + e.openElements.hasInScope(n) && (e.openElements.generateImpliedEndTags(), e.openElements.popUntilTagNamePopped(n)) + }(e, t); + break; + case Po.LI: + ! function(e) { + e.openElements.hasInListItemScope(Po.LI) && (e.openElements.generateImpliedEndTagsWithExclusion(Po.LI), e.openElements.popUntilTagNamePopped(Po.LI)) + }(e); + break; + case Po.DD: + case Po.DT: + ! function(e, t) { + const n = t.tagID; + e.openElements.hasInScope(n) && (e.openElements.generateImpliedEndTagsWithExclusion(n), e.openElements.popUntilTagNamePopped(n)) + }(e, t); + break; + case Po.H1: + case Po.H2: + case Po.H3: + case Po.H4: + case Po.H5: + case Po.H6: + ! function(e) { + e.openElements.hasNumberedHeaderInScope() && (e.openElements.generateImpliedEndTags(), e.openElements.popUntilNumberedHeaderPopped()) + }(e); + break; + case Po.BR: + ! function(e) { + e._reconstructActiveFormattingElements(), e._insertFakeElement(Mo.BR, Po.BR), e.openElements.pop(), e.framesetOk = !1 + }(e); + break; + case Po.BODY: + ! function(e, t) { + if (e.openElements.hasInScope(Po.BODY) && (e.insertionMode = Rc.AFTER_BODY, e.options.sourceCodeLocationInfo)) { + const n = e.openElements.tryPeekProperlyNestedBodyElement(); + n && e._setEndLocation(n, t) + } + }(e, t); + break; + case Po.HTML: + ! function(e, t) { + e.openElements.hasInScope(Po.BODY) && (e.insertionMode = Rc.AFTER_BODY, Ll(e, t)) + }(e, t); + break; + case Po.FORM: + ! function(e) { + const t = e.openElements.tmplCount > 0, + { + formElement: n + } = e; + t || (e.formElement = null), (n || t) && e.openElements.hasInScope(Po.FORM) && (e.openElements.generateImpliedEndTags(), t ? e.openElements.popUntilTagNamePopped(Po.FORM) : n && e.openElements.remove(n)) + }(e); + break; + case Po.APPLET: + case Po.OBJECT: + case Po.MARQUEE: + ! function(e, t) { + const n = t.tagID; + e.openElements.hasInScope(n) && (e.openElements.generateImpliedEndTags(), e.openElements.popUntilTagNamePopped(n), e.activeFormattingElements.clearToLastMarker()) + }(e, t); + break; + case Po.TEMPLATE: + $c(e, t); + break; + default: + cl(e, t) + } +} + +function hl(e, t) { + e.tmplInsertionModeStack.length > 0 ? yl(e, t) : jc(e, t) +} + +function ul(e, t) { + if (Pc.has(e.openElements.currentTagId)) switch (e.pendingCharacterTokens.length = 0, e.hasNonWhitespacePendingCharacterToken = !1, e.originalInsertionMode = e.insertionMode, e.insertionMode = Rc.IN_TABLE_TEXT, t.type) { + case To.CHARACTER: + ml(e, t); + break; + case To.WHITESPACE_CHARACTER: + El(e, t) + } else dl(e, t) +} + +function pl(e, t) { + switch (t.tagID) { + case Po.TD: + case Po.TH: + case Po.TR: + ! function(e, t) { + e.openElements.clearBackToTableContext(), e._insertFakeElement(Mo.TBODY, Po.TBODY), e.insertionMode = Rc.IN_TABLE_BODY, Nl(e, t) + }(e, t); + break; + case Po.STYLE: + case Po.SCRIPT: + case Po.TEMPLATE: + Xc(e, t); + break; + case Po.COL: + ! function(e, t) { + e.openElements.clearBackToTableContext(), e._insertFakeElement(Mo.COLGROUP, Po.COLGROUP), e.insertionMode = Rc.IN_COLUMN_GROUP, Al(e, t) + }(e, t); + break; + case Po.FORM: + ! function(e, t) { + e.formElement || 0 !== e.openElements.tmplCount || (e._insertElement(t, vo.HTML), e.formElement = e.openElements.current, e.openElements.pop()) + }(e, t); + break; + case Po.TABLE: + ! function(e, t) { + e.openElements.hasInTableScope(Po.TABLE) && (e.openElements.popUntilTagNamePopped(Po.TABLE), e._resetInsertionMode(), e._processStartTag(t)) + }(e, t); + break; + case Po.TBODY: + case Po.TFOOT: + case Po.THEAD: + ! function(e, t) { + e.openElements.clearBackToTableContext(), e._insertElement(t, vo.HTML), e.insertionMode = Rc.IN_TABLE_BODY + }(e, t); + break; + case Po.INPUT: + ! function(e, t) { + il(t) ? e._appendElement(t, vo.HTML) : dl(e, t), t.ackSelfClosing = !0 + }(e, t); + break; + case Po.CAPTION: + ! function(e, t) { + e.openElements.clearBackToTableContext(), e.activeFormattingElements.insertMarker(), e._insertElement(t, vo.HTML), e.insertionMode = Rc.IN_CAPTION + }(e, t); + break; + case Po.COLGROUP: + ! function(e, t) { + e.openElements.clearBackToTableContext(), e._insertElement(t, vo.HTML), e.insertionMode = Rc.IN_COLUMN_GROUP + }(e, t); + break; + default: + dl(e, t) + } +} + +function fl(e, t) { + switch (t.tagID) { + case Po.TABLE: + e.openElements.hasInTableScope(Po.TABLE) && (e.openElements.popUntilTagNamePopped(Po.TABLE), e._resetInsertionMode()); + break; + case Po.TEMPLATE: + $c(e, t); + break; + case Po.BODY: + case Po.CAPTION: + case Po.COL: + case Po.COLGROUP: + case Po.HTML: + case Po.TBODY: + case Po.TD: + case Po.TFOOT: + case Po.TH: + case Po.THEAD: + case Po.TR: + break; + default: + dl(e, t) + } +} + +function dl(e, t) { + const n = e.fosterParentingEnabled; + e.fosterParentingEnabled = !0, el(e, t), e.fosterParentingEnabled = n +} + +function El(e, t) { + e.pendingCharacterTokens.push(t) +} + +function ml(e, t) { + e.pendingCharacterTokens.push(t), e.hasNonWhitespacePendingCharacterToken = !0 +} + +function Tl(e, t) { + let n = 0; + if (e.hasNonWhitespacePendingCharacterToken) + for (; n < e.pendingCharacterTokens.length; n++) dl(e, e.pendingCharacterTokens[n]); + else + for (; n < e.pendingCharacterTokens.length; n++) e._insertCharacters(e.pendingCharacterTokens[n]); + e.insertionMode = e.originalInsertionMode, e._processToken(t) +} +const _l = new Set([Po.CAPTION, Po.COL, Po.COLGROUP, Po.TBODY, Po.TD, Po.TFOOT, Po.TH, Po.THEAD, Po.TR]); + +function Al(e, t) { + switch (t.tagID) { + case Po.HTML: + ol(e, t); + break; + case Po.COL: + e._appendElement(t, vo.HTML), t.ackSelfClosing = !0; + break; + case Po.TEMPLATE: + Xc(e, t); + break; + default: + gl(e, t) + } +} + +function gl(e, t) { + e.openElements.currentTagId === Po.COLGROUP && (e.openElements.pop(), e.insertionMode = Rc.IN_TABLE, e._processToken(t)) +} + +function Nl(e, t) { + switch (t.tagID) { + case Po.TR: + e.openElements.clearBackToTableBodyContext(), e._insertElement(t, vo.HTML), e.insertionMode = Rc.IN_ROW; + break; + case Po.TH: + case Po.TD: + e.openElements.clearBackToTableBodyContext(), e._insertFakeElement(Mo.TR, Po.TR), e.insertionMode = Rc.IN_ROW, Il(e, t); + break; + case Po.CAPTION: + case Po.COL: + case Po.COLGROUP: + case Po.TBODY: + case Po.TFOOT: + case Po.THEAD: + e.openElements.hasTableBodyContextInTableScope() && (e.openElements.clearBackToTableBodyContext(), e.openElements.pop(), e.insertionMode = Rc.IN_TABLE, pl(e, t)); + break; + default: + pl(e, t) + } +} + +function Cl(e, t) { + const n = t.tagID; + switch (t.tagID) { + case Po.TBODY: + case Po.TFOOT: + case Po.THEAD: + e.openElements.hasInTableScope(n) && (e.openElements.clearBackToTableBodyContext(), e.openElements.pop(), e.insertionMode = Rc.IN_TABLE); + break; + case Po.TABLE: + e.openElements.hasTableBodyContextInTableScope() && (e.openElements.clearBackToTableBodyContext(), e.openElements.pop(), e.insertionMode = Rc.IN_TABLE, fl(e, t)); + break; + case Po.BODY: + case Po.CAPTION: + case Po.COL: + case Po.COLGROUP: + case Po.HTML: + case Po.TD: + case Po.TH: + case Po.TR: + break; + default: + fl(e, t) + } +} + +function Il(e, t) { + switch (t.tagID) { + case Po.TH: + case Po.TD: + e.openElements.clearBackToTableRowContext(), e._insertElement(t, vo.HTML), e.insertionMode = Rc.IN_CELL, e.activeFormattingElements.insertMarker(); + break; + case Po.CAPTION: + case Po.COL: + case Po.COLGROUP: + case Po.TBODY: + case Po.TFOOT: + case Po.THEAD: + case Po.TR: + e.openElements.hasInTableScope(Po.TR) && (e.openElements.clearBackToTableRowContext(), e.openElements.pop(), e.insertionMode = Rc.IN_TABLE_BODY, Nl(e, t)); + break; + default: + pl(e, t) + } +} + +function Sl(e, t) { + switch (t.tagID) { + case Po.TR: + e.openElements.hasInTableScope(Po.TR) && (e.openElements.clearBackToTableRowContext(), e.openElements.pop(), e.insertionMode = Rc.IN_TABLE_BODY); + break; + case Po.TABLE: + e.openElements.hasInTableScope(Po.TR) && (e.openElements.clearBackToTableRowContext(), e.openElements.pop(), e.insertionMode = Rc.IN_TABLE_BODY, Cl(e, t)); + break; + case Po.TBODY: + case Po.TFOOT: + case Po.THEAD: + (e.openElements.hasInTableScope(t.tagID) || e.openElements.hasInTableScope(Po.TR)) && (e.openElements.clearBackToTableRowContext(), e.openElements.pop(), e.insertionMode = Rc.IN_TABLE_BODY, Cl(e, t)); + break; + case Po.BODY: + case Po.CAPTION: + case Po.COL: + case Po.COLGROUP: + case Po.HTML: + case Po.TD: + case Po.TH: + break; + default: + fl(e, t) + } +} + +function bl(e, t) { + switch (t.tagID) { + case Po.HTML: + ol(e, t); + break; + case Po.OPTION: + e.openElements.currentTagId === Po.OPTION && e.openElements.pop(), e._insertElement(t, vo.HTML); + break; + case Po.OPTGROUP: + e.openElements.currentTagId === Po.OPTION && e.openElements.pop(), e.openElements.currentTagId === Po.OPTGROUP && e.openElements.pop(), e._insertElement(t, vo.HTML); + break; + case Po.INPUT: + case Po.KEYGEN: + case Po.TEXTAREA: + case Po.SELECT: + e.openElements.hasInSelectScope(Po.SELECT) && (e.openElements.popUntilTagNamePopped(Po.SELECT), e._resetInsertionMode(), t.tagID !== Po.SELECT && e._processStartTag(t)); + break; + case Po.SCRIPT: + case Po.TEMPLATE: + Xc(e, t) + } +} + +function Ol(e, t) { + switch (t.tagID) { + case Po.OPTGROUP: + e.openElements.stackTop > 0 && e.openElements.currentTagId === Po.OPTION && e.openElements.tagIDs[e.openElements.stackTop - 1] === Po.OPTGROUP && e.openElements.pop(), e.openElements.currentTagId === Po.OPTGROUP && e.openElements.pop(); + break; + case Po.OPTION: + e.openElements.currentTagId === Po.OPTION && e.openElements.pop(); + break; + case Po.SELECT: + e.openElements.hasInSelectScope(Po.SELECT) && (e.openElements.popUntilTagNamePopped(Po.SELECT), e._resetInsertionMode()); + break; + case Po.TEMPLATE: + $c(e, t) + } +} + +function yl(e, t) { + e.openElements.tmplCount > 0 ? (e.openElements.popUntilTagNamePopped(Po.TEMPLATE), e.activeFormattingElements.clearToLastMarker(), e.tmplInsertionModeStack.shift(), e._resetInsertionMode(), e.onEof(t)) : jc(e, t) +} + +function Ll(e, t) { + var n; + if (t.tagID === Po.HTML) { + if (e.fragmentContext || (e.insertionMode = Rc.AFTER_AFTER_BODY), e.options.sourceCodeLocationInfo && e.openElements.tagIDs[0] === Po.HTML) { + e._setEndLocation(e.openElements.items[0], t); + const r = e.openElements.items[1]; + r && !(null === (n = e.treeAdapter.getNodeSourceCodeLocation(r)) || void 0 === n ? void 0 : n.endTag) && e._setEndLocation(r, t) + } + } else kl(e, t) +} + +function kl(e, t) { + e.insertionMode = Rc.IN_BODY, el(e, t) +} + +function vl(e, t) { + e.insertionMode = Rc.IN_BODY, el(e, t) +} + +function Dl(e) { + for (; e.treeAdapter.getNamespaceURI(e.openElements.current) !== vo.HTML && !e._isIntegrationPoint(e.openElements.currentTagId, e.openElements.current);) e.openElements.pop() +} +var Rl = Ke((function(e, t) { + Object.defineProperty(t, "__esModule", { + value: !0 + }), t.escapeText = t.escapeAttribute = t.escapeUTF8 = t.escape = t.encodeXML = t.getCodePoint = t.xmlReplacer = void 0, t.xmlReplacer = /["&'<>$\x80-\uFFFF]/g; + var n = new Map([ + [34, """], + [38, "&"], + [39, "'"], + [60, "<"], + [62, ">"] + ]); + + function r(e) { + for (var r, i = "", s = 0; null !== (r = t.xmlReplacer.exec(e));) { + var a = r.index, + o = e.charCodeAt(a), + c = n.get(o); + void 0 !== c ? (i += e.substring(s, a) + c, s = a + 1) : (i += "".concat(e.substring(s, a), "&#x").concat((0, t.getCodePoint)(e, a).toString(16), ";"), s = t.xmlReplacer.lastIndex += Number(55296 == (64512 & o))) + } + return i + e.substr(s) + } + + function i(e, t) { + return function(n) { + for (var r, i = 0, s = ""; r = e.exec(n);) i !== r.index && (s += n.substring(i, r.index)), s += t.get(r[0].charCodeAt(0)), i = r.index + 1; + return s + n.substring(i) + } + } + t.getCodePoint = null != String.prototype.codePointAt ? function(e, t) { + return e.codePointAt(t) + } : function(e, t) { + return 55296 == (64512 & e.charCodeAt(t)) ? 1024 * (e.charCodeAt(t) - 55296) + e.charCodeAt(t + 1) - 56320 + 65536 : e.charCodeAt(t) + }, t.encodeXML = r, t.escape = r, t.escapeUTF8 = i(/[&<>'"]/g, n), t.escapeAttribute = i(/["&\u00A0]/g, new Map([ + [34, """], + [38, "&"], + [160, " "] + ])), t.escapeText = i(/[&<>\u00A0]/g, new Map([ + [38, "&"], + [60, "<"], + [62, ">"], + [160, " "] + ])) +})); +qe(Rl); +var Ml = Rl.escapeText, + Pl = Rl.escapeAttribute; +Rl.escapeUTF8, Rl.escape, Rl.encodeXML, Rl.getCodePoint, Rl.xmlReplacer; +const xl = new Set([Mo.AREA, Mo.BASE, Mo.BASEFONT, Mo.BGSOUND, Mo.BR, Mo.COL, Mo.EMBED, Mo.FRAME, Mo.HR, Mo.IMG, Mo.INPUT, Mo.KEYGEN, Mo.LINK, Mo.META, Mo.PARAM, Mo.SOURCE, Mo.TRACK, Mo.WBR]); +const wl = { + treeAdapter: Ec, + scriptingEnabled: !0 +}; + +function Bl(e, t) { + return Fl(e, { + ...wl, + ...t + }) +} + +function Fl(e, t) { + return t.treeAdapter.isElementNode(e) ? function(e, t) { + const n = t.treeAdapter.getTagName(e); + return `<${n}${function(e,{treeAdapter:t}){let n="";for(const r of t.getAttrList(e)){if(n+=" ",r.namespace)switch(r.namespace){case vo.XML:n+=` + xml: $ { + r.name + } + `;break;case vo.XMLNS:"xmlns"!==r.name&&(n+="xmlns:"),n+=r.name;break;case vo.XLINK:n+=` + xlink: $ { + r.name + } + `;break;default:n+=` + $ { + r.prefix + }: $ { + r.name + } + `}else n+=r.name;n+=` = "${Pl(r.value)}" + `}return n}(e,t)}>${function(e,t){return t.treeAdapter.isElementNode(e)&&t.treeAdapter.getNamespaceURI(e)===vo.HTML&&xl.has(t.treeAdapter.getTagName(e))}(e,t)?"":` + $ { + function(e, t) { + let n = ""; + const r = t.treeAdapter.isElementNode(e) && t.treeAdapter.getTagName(e) === Mo.TEMPLATE && t.treeAdapter.getNamespaceURI(e) === vo.HTML ? t.treeAdapter.getTemplateContent(e) : e, + i = t.treeAdapter.getChildNodes(r); + if (i) + for (const e of i) n += Fl(e, t); + return n + }(e, t) + } < /${n}>`}`}(e,t):t.treeAdapter.isTextNode(e)?function(e,t){const{treeAdapter:n}=t,r=n.getTextNodeContent(e),i=n.getParentNode(e),s=i&&n.isElementNode(i)&&n.getTagName(i);return s&&n.getNamespaceURI(i)===vo.HTML&&(a=s,o=t.scriptingEnabled,Yo.has(a)||o&&a===Mo.NOSCRIPT)?r:Ml(r);var a,o}(e,t):t.treeAdapter.isCommentNode(e)?function(e,{treeAdapter:t}){return`\x3c!--${t.getCommentNodeContent(e)}--\x3e`}(e,t):t.treeAdapter.isDocumentTypeNode(e)?function(e,{treeAdapter:t}){return``}(e,t):""}function Ul(e){return new m(e)}function Hl(e){const t=e.includes('"')?"'":'"';return t+e+t}const Gl={isCommentNode:O,isElementNode:I,isTextNode:b,createDocument(){const e=new N([]);return e["x-mode"]=Ro.NO_QUIRKS,e},createDocumentFragment:()=>new N([]),createElement(e,t,n){const r=Object.create(null),i=Object.create(null),s=Object.create(null);for(let e=0;enew T(e),appendChild(e,t){const n=e.children[e.children.length-1];n&&(n.next=t,t.prev=n),e.children.push(t),t.parent=e},insertBefore(e,t,n){const r=e.children.indexOf(n),{prev:i}=n;i&&(i.next=t,t.prev=i),n.prev=t,t.next=n,e.children.splice(r,0,t),t.parent=e},setTemplateContent(e,t){Gl.appendChild(e,t)},getTemplateContent:e=>e.children[0],setDocumentType(e,t,n,r){const i=function(e,t,n){let r="!DOCTYPE ";return e&&(r+=e),t?r+=` PUBLIC ${Hl(t)}`:n&&(r+=" SYSTEM"),n&&(r+=` ${Hl(n)}`),r}(t,n,r);let s=e.children.find((e=>y(e)&&"!doctype"===e.name));s?s.data=null!=i?i:null:(s=new _("!doctype",i),Gl.appendChild(e,s)),s["x-name"]=null!=t?t:void 0,s["x-publicId"]=null!=n?n:void 0,s["x-systemId"]=null!=r?r:void 0},setDocumentMode(e,t){e["x-mode"]=t},getDocumentMode:e=>e["x-mode"],detachNode(e){if(e.parent){const t=e.parent.children.indexOf(e),{prev:n,next:r}=e;e.prev=null,e.next=null,n&&(n.next=r),r&&(r.prev=n),e.parent.children.splice(t,1),e.parent=null}},insertText(e,t){const n=e.children[e.children.length-1];n&&b(n)?n.data+=t:Gl.appendChild(e,Ul(t))},insertTextBefore(e,t,n){const r=e.children[e.children.indexOf(n)-1];r&&b(r)?r.data+=t:Gl.insertBefore(e,Ul(t),n)},adoptAttributes(e,t){for(let n=0;ne.children[0],getChildNodes:e=>e.children,getParentNode:e=>e.parent,getAttrList:e=>e.attributes,getTagName:e=>e.name,getNamespaceURI:e=>e.namespace,getTextNodeContent:e=>e.data,getCommentNodeContent:e=>e.data,getDocumentTypeNodeName(e){var t;return null!==(t=e["x-name"])&&void 0!==t?t:""},getDocumentTypeNodePublicId(e){var t;return null!==(t=e["x-publicId"])&&void 0!==t?t:""},getDocumentTypeNodeSystemId(e){var t;return null!==(t=e["x-systemId"])&&void 0!==t?t:""},isDocumentTypeNode:e=>y(e)&&"!doctype"===e.name,setNodeSourceCodeLocation(e,t){t&&(e.startIndex=t.startOffset,e.endIndex=t.endOffset),e.sourceCodeLocation=t},getNodeSourceCodeLocation:e=>e.sourceCodeLocation,updateNodeSourceCodeLocation(e,t){null!=t.endOffset&&(e.endIndex=t.endOffset),e.sourceCodeLocation={...e.sourceCodeLocation,...t}}};var Yl=function(e,t,n){if(n||2===arguments.length)for(var r,i=0,s=t.length;i=Kl.Zero&&e<=Kl.Nine}!function(e){e[e.Tab=9]="Tab",e[e.NewLine=10]="NewLine",e[e.FormFeed=12]="FormFeed",e[e.CarriageReturn=13]="CarriageReturn",e[e.Space=32]="Space",e[e.ExclamationMark=33]="ExclamationMark",e[e.Num=35]="Num",e[e.Amp=38]="Amp",e[e.SingleQuote=39]="SingleQuote",e[e.DoubleQuote=34]="DoubleQuote",e[e.Dash=45]="Dash",e[e.Slash=47]="Slash",e[e.Zero=48]="Zero",e[e.Nine=57]="Nine",e[e.Semi=59]="Semi",e[e.Lt=60]="Lt",e[e.Eq=61]="Eq",e[e.Gt=62]="Gt",e[e.Questionmark=63]="Questionmark",e[e.UpperA=65]="UpperA",e[e.LowerA=97]="LowerA",e[e.UpperF=70]="UpperF",e[e.LowerF=102]="LowerF",e[e.UpperZ=90]="UpperZ",e[e.LowerZ=122]="LowerZ",e[e.LowerX=120]="LowerX",e[e.OpeningSquareBracket=91]="OpeningSquareBracket"}(Kl||(Kl={})),function(e){e[e.Text=1]="Text",e[e.BeforeTagName=2]="BeforeTagName",e[e.InTagName=3]="InTagName",e[e.InSelfClosingTag=4]="InSelfClosingTag",e[e.BeforeClosingTagName=5]="BeforeClosingTagName",e[e.InClosingTagName=6]="InClosingTagName",e[e.AfterClosingTagName=7]="AfterClosingTagName",e[e.BeforeAttributeName=8]="BeforeAttributeName",e[e.InAttributeName=9]="InAttributeName",e[e.AfterAttributeName=10]="AfterAttributeName",e[e.BeforeAttributeValue=11]="BeforeAttributeValue",e[e.InAttributeValueDq=12]="InAttributeValueDq",e[e.InAttributeValueSq=13]="InAttributeValueSq",e[e.InAttributeValueNq=14]="InAttributeValueNq",e[e.BeforeDeclaration=15]="BeforeDeclaration",e[e.InDeclaration=16]="InDeclaration",e[e.InProcessingInstruction=17]="InProcessingInstruction",e[e.BeforeComment=18]="BeforeComment",e[e.CDATASequence=19]="CDATASequence",e[e.InSpecialComment=20]="InSpecialComment",e[e.InCommentLike=21]="InCommentLike",e[e.BeforeSpecialS=22]="BeforeSpecialS",e[e.SpecialStartSequence=23]="SpecialStartSequence",e[e.InSpecialTag=24]="InSpecialTag",e[e.BeforeEntity=25]="BeforeEntity",e[e.BeforeNumericEntity=26]="BeforeNumericEntity",e[e.InNamedEntity=27]="InNamedEntity",e[e.InNumericEntity=28]="InNumericEntity",e[e.InHexEntity=29]="InHexEntity"}(jl||(jl={})),function(e){e[e.NoValue=0]="NoValue",e[e.Unquoted=1]="Unquoted",e[e.Single=2]="Single",e[e.Double=3]="Double"}(Vl||(Vl={}));const zl={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])};class Jl{constructor({xmlMode:e=!1,decodeEntities:t=!0},n){this.cbs=n,this.state=jl.Text,this.buffer="",this.sectionStart=0,this.index=0,this.baseState=jl.Text,this.isSpecial=!1,this.running=!0,this.offset=0,this.sequenceIndex=0,this.trieIndex=0,this.trieCurrent=0,this.entityResult=0,this.entityExcess=0,this.xmlMode=e,this.decodeEntities=t,this.entityTrie=e?xo:wo}reset(){this.state=jl.Text,this.buffer="",this.sectionStart=0,this.index=0,this.baseState=jl.Text,this.currentSequence=void 0,this.running=!0,this.offset=0}write(e){this.offset+=this.buffer.length,this.buffer=e,this.parse()}end(){this.running&&this.finish()}pause(){this.running=!1}resume(){this.running=!0,this.indexthis.sectionStart&&this.cbs.ontext(this.sectionStart,this.index),this.state=jl.BeforeTagName,this.sectionStart=this.index):this.decodeEntities&&e===Kl.Amp&&(this.state=jl.BeforeEntity)}stateSpecialStartSequence(e){const t=this.sequenceIndex===this.currentSequence.length;if(t?Xl(e):(32|e)===this.currentSequence[this.sequenceIndex]){if(!t)return void this.sequenceIndex++}else this.isSpecial=!1;this.sequenceIndex=0,this.state=jl.InTagName,this.stateInTagName(e)}stateInSpecialTag(e){if(this.sequenceIndex===this.currentSequence.length){if(e===Kl.Gt||Ql(e)){const t=this.index-this.currentSequence.length;if(this.sectionStart=Kl.LowerA&&e<=Kl.LowerZ||e>=Kl.UpperA&&e<=Kl.UpperZ}(e)}startSpecial(e,t){this.isSpecial=!0,this.currentSequence=e,this.sequenceIndex=t,this.state=jl.SpecialStartSequence}stateBeforeTagName(e){if(e===Kl.ExclamationMark)this.state=jl.BeforeDeclaration,this.sectionStart=this.index+1;else if(e===Kl.Questionmark)this.state=jl.InProcessingInstruction,this.sectionStart=this.index+1;else if(this.isTagStartChar(e)){const t=32|e;this.sectionStart=this.index,this.xmlMode||t!==zl.TitleEnd[2]?this.state=this.xmlMode||t!==zl.ScriptEnd[2]?jl.InTagName:jl.BeforeSpecialS:this.startSpecial(zl.TitleEnd,3)}else e===Kl.Slash?this.state=jl.BeforeClosingTagName:(this.state=jl.Text,this.stateText(e))}stateInTagName(e){Xl(e)&&(this.cbs.onopentagname(this.sectionStart,this.index),this.sectionStart=-1,this.state=jl.BeforeAttributeName,this.stateBeforeAttributeName(e))}stateBeforeClosingTagName(e){Ql(e)||(e===Kl.Gt?this.state=jl.Text:(this.state=this.isTagStartChar(e)?jl.InClosingTagName:jl.InSpecialComment,this.sectionStart=this.index))}stateInClosingTagName(e){(e===Kl.Gt||Ql(e))&&(this.cbs.onclosetag(this.sectionStart,this.index),this.sectionStart=-1,this.state=jl.AfterClosingTagName,this.stateAfterClosingTagName(e))}stateAfterClosingTagName(e){(e===Kl.Gt||this.fastForwardTo(Kl.Gt))&&(this.state=jl.Text,this.sectionStart=this.index+1)}stateBeforeAttributeName(e){e===Kl.Gt?(this.cbs.onopentagend(this.index),this.isSpecial?(this.state=jl.InSpecialTag,this.sequenceIndex=0):this.state=jl.Text,this.baseState=this.state,this.sectionStart=this.index+1):e===Kl.Slash?this.state=jl.InSelfClosingTag:Ql(e)||(this.state=jl.InAttributeName,this.sectionStart=this.index)}stateInSelfClosingTag(e){e===Kl.Gt?(this.cbs.onselfclosingtag(this.index),this.state=jl.Text,this.baseState=jl.Text,this.sectionStart=this.index+1,this.isSpecial=!1):Ql(e)||(this.state=jl.BeforeAttributeName,this.stateBeforeAttributeName(e))}stateInAttributeName(e){(e===Kl.Eq||Xl(e))&&(this.cbs.onattribname(this.sectionStart,this.index),this.sectionStart=-1,this.state=jl.AfterAttributeName,this.stateAfterAttributeName(e))}stateAfterAttributeName(e){e===Kl.Eq?this.state=jl.BeforeAttributeValue:e===Kl.Slash||e===Kl.Gt?(this.cbs.onattribend(Vl.NoValue,this.index),this.state=jl.BeforeAttributeName,this.stateBeforeAttributeName(e)):Ql(e)||(this.cbs.onattribend(Vl.NoValue,this.index),this.state=jl.InAttributeName,this.sectionStart=this.index)}stateBeforeAttributeValue(e){e===Kl.DoubleQuote?(this.state=jl.InAttributeValueDq,this.sectionStart=this.index+1):e===Kl.SingleQuote?(this.state=jl.InAttributeValueSq,this.sectionStart=this.index+1):Ql(e)||(this.sectionStart=this.index,this.state=jl.InAttributeValueNq,this.stateInAttributeValueNoQuotes(e))}handleInAttributeValue(e,t){e===t||!this.decodeEntities&&this.fastForwardTo(t)?(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=-1,this.cbs.onattribend(t===Kl.DoubleQuote?Vl.Double:Vl.Single,this.index),this.state=jl.BeforeAttributeName):this.decodeEntities&&e===Kl.Amp&&(this.baseState=this.state,this.state=jl.BeforeEntity)}stateInAttributeValueDoubleQuotes(e){this.handleInAttributeValue(e,Kl.DoubleQuote)}stateInAttributeValueSingleQuotes(e){this.handleInAttributeValue(e,Kl.SingleQuote)}stateInAttributeValueNoQuotes(e){Ql(e)||e===Kl.Gt?(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=-1,this.cbs.onattribend(Vl.Unquoted,this.index),this.state=jl.BeforeAttributeName,this.stateBeforeAttributeName(e)):this.decodeEntities&&e===Kl.Amp&&(this.baseState=this.state,this.state=jl.BeforeEntity)}stateBeforeDeclaration(e){e===Kl.OpeningSquareBracket?(this.state=jl.CDATASequence,this.sequenceIndex=0):this.state=e===Kl.Dash?jl.BeforeComment:jl.InDeclaration}stateInDeclaration(e){(e===Kl.Gt||this.fastForwardTo(Kl.Gt))&&(this.cbs.ondeclaration(this.sectionStart,this.index),this.state=jl.Text,this.sectionStart=this.index+1)}stateInProcessingInstruction(e){(e===Kl.Gt||this.fastForwardTo(Kl.Gt))&&(this.cbs.onprocessinginstruction(this.sectionStart,this.index),this.state=jl.Text,this.sectionStart=this.index+1)}stateBeforeComment(e){e===Kl.Dash?(this.state=jl.InCommentLike,this.currentSequence=zl.CommentEnd,this.sequenceIndex=2,this.sectionStart=this.index+1):this.state=jl.InDeclaration}stateInSpecialComment(e){(e===Kl.Gt||this.fastForwardTo(Kl.Gt))&&(this.cbs.oncomment(this.sectionStart,this.index,0),this.state=jl.Text,this.sectionStart=this.index+1)}stateBeforeSpecialS(e){const t=32|e;t===zl.ScriptEnd[3]?this.startSpecial(zl.ScriptEnd,4):t===zl.StyleEnd[3]?this.startSpecial(zl.StyleEnd,4):(this.state=jl.InTagName,this.stateInTagName(e))}stateBeforeEntity(e){this.entityExcess=1,this.entityResult=0,e===Kl.Num?this.state=jl.BeforeNumericEntity:e===Kl.Amp||(this.trieIndex=0,this.trieCurrent=this.entityTrie[0],this.state=jl.InNamedEntity,this.stateInNamedEntity(e))}stateInNamedEntity(e){if(this.entityExcess+=1,this.trieIndex=Oo(this.entityTrie,this.trieCurrent,this.trieIndex+1,e),this.trieIndex<0)return this.emitNamedEntity(),void this.index--;this.trieCurrent=this.entityTrie[this.trieIndex];const t=this.trieCurrent&yo.VALUE_LENGTH;if(t){const n=(t>>14)-1;if(this.allowLegacyEntity()||e===Kl.Semi){const e=this.index-this.entityExcess+1;e>this.sectionStart&&this.emitPartial(this.sectionStart,e),this.entityResult=this.trieIndex,this.trieIndex+=n,this.entityExcess=0,this.sectionStart=this.index+1,0===n&&this.emitNamedEntity()}else this.trieIndex+=n}}emitNamedEntity(){if(this.state=this.baseState,0===this.entityResult)return;switch((this.entityTrie[this.entityResult]&yo.VALUE_LENGTH)>>14){case 1:this.emitCodePoint(this.entityTrie[this.entityResult]&~yo.VALUE_LENGTH);break;case 2:this.emitCodePoint(this.entityTrie[this.entityResult+1]);break;case 3:this.emitCodePoint(this.entityTrie[this.entityResult+1]),this.emitCodePoint(this.entityTrie[this.entityResult+2])}}stateBeforeNumericEntity(e){(32|e)===Kl.LowerX?(this.entityExcess++,this.state=jl.InHexEntity):(this.state=jl.InNumericEntity,this.stateInNumericEntity(e))}emitNumericEntity(e){const t=this.index-this.entityExcess-1;t+2+Number(this.state===jl.InHexEntity)!==this.index&&(t>this.sectionStart&&this.emitPartial(this.sectionStart,t),this.sectionStart=this.index+Number(e),this.emitCodePoint(ko(this.entityResult))),this.state=this.baseState}stateInNumericEntity(e){e===Kl.Semi?this.emitNumericEntity(!0):$l(e)?(this.entityResult=10*this.entityResult+(e-Kl.Zero),this.entityExcess++):(this.allowLegacyEntity()?this.emitNumericEntity(!1):this.state=this.baseState,this.index--)}stateInHexEntity(e){e===Kl.Semi?this.emitNumericEntity(!0):$l(e)?(this.entityResult=16*this.entityResult+(e-Kl.Zero),this.entityExcess++):!function(e){return e>=Kl.UpperA&&e<=Kl.UpperF||e>=Kl.LowerA&&e<=Kl.LowerF}(e)?(this.allowLegacyEntity()?this.emitNumericEntity(!1):this.state=this.baseState,this.index--):(this.entityResult=16*this.entityResult+((32|e)-Kl.LowerA+10),this.entityExcess++)}allowLegacyEntity(){return!this.xmlMode&&(this.baseState===jl.Text||this.baseState===jl.InSpecialTag)}cleanup(){this.running&&this.sectionStart!==this.index&&(this.state===jl.Text||this.state===jl.InSpecialTag&&0===this.sequenceIndex?(this.cbs.ontext(this.sectionStart,this.index),this.sectionStart=this.index):this.state!==jl.InAttributeValueDq&&this.state!==jl.InAttributeValueSq&&this.state!==jl.InAttributeValueNq||(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=this.index))}shouldContinue(){return this.index0&&s.has(this.stack[this.stack.length-1]);){const e=this.stack.pop();null===(n=(t=this.cbs).onclosetag)||void 0===n||n.call(t,e,!0)}this.isVoidElement(e)||(this.stack.push(e),ah.has(e)?this.foreignContext.push(!0):oh.has(e)&&this.foreignContext.push(!1)),null===(i=(r=this.cbs).onopentagname)||void 0===i||i.call(r,e),this.cbs.onopentag&&(this.attribs={})}endOpenTag(e){var t,n;this.startIndex=this.openTagStart,this.attribs&&(null===(n=(t=this.cbs).onopentag)||void 0===n||n.call(t,this.tagname,this.attribs,e),this.attribs=null),this.cbs.onclosetag&&this.isVoidElement(this.tagname)&&this.cbs.onclosetag(this.tagname,!0),this.tagname=""}onopentagend(e){this.endIndex=e,this.endOpenTag(!1),this.startIndex=e+1}onclosetag(e,t){var n,r,i,s,a,o;this.endIndex=t;let c=this.getSlice(e,t);if(this.lowerCaseTagNames&&(c=c.toLowerCase()),(ah.has(c)||oh.has(c))&&this.foreignContext.pop(),this.isVoidElement(c))this.options.xmlMode||"br"!==c||(null===(r=(n=this.cbs).onopentagname)||void 0===r||r.call(n,"br"),null===(s=(i=this.cbs).onopentag)||void 0===s||s.call(i,"br",{},!0),null===(o=(a=this.cbs).onclosetag)||void 0===o||o.call(a,"br",!1));else{const e=this.stack.lastIndexOf(c);if(-1!==e)if(this.cbs.onclosetag){let t=this.stack.length-e;for(;t--;)this.cbs.onclosetag(this.stack.pop(),0!==t)}else this.stack.length=e;else this.options.xmlMode||"p"!==c||(this.emitOpenTag("p"),this.closeCurrentTag(!0))}this.startIndex=t+1}onselfclosingtag(e){this.endIndex=e,this.options.xmlMode||this.options.recognizeSelfClosing||this.foreignContext[this.foreignContext.length-1]?(this.closeCurrentTag(!1),this.startIndex=e+1):this.onopentagend(e)}closeCurrentTag(e){var t,n;const r=this.tagname;this.endOpenTag(e),this.stack[this.stack.length-1]===r&&(null===(n=(t=this.cbs).onclosetag)||void 0===n||n.call(t,r,!e),this.stack.pop())}onattribname(e,t){this.startIndex=e;const n=this.getSlice(e,t);this.attribname=this.lowerCaseAttributeNames?n.toLowerCase():n}onattribdata(e,t){this.attribvalue+=this.getSlice(e,t)}onattribentity(e){this.attribvalue+=Lo(e)}onattribend(e,t){var n,r;this.endIndex=t,null===(r=(n=this.cbs).onattribute)||void 0===r||r.call(n,this.attribname,this.attribvalue,e===Vl.Double?'"':e===Vl.Single?"'":e===Vl.NoValue?void 0:null),this.attribs&&!Object.prototype.hasOwnProperty.call(this.attribs,this.attribname)&&(this.attribs[this.attribname]=this.attribvalue),this.attribvalue=""}getInstructionName(e){const t=e.search(ch);let n=t<0?e:e.substr(0,t);return this.lowerCaseTagNames&&(n=n.toLowerCase()),n}ondeclaration(e,t){this.endIndex=t;const n=this.getSlice(e,t);if(this.cbs.onprocessinginstruction){const e=this.getInstructionName(n);this.cbs.onprocessinginstruction(`!${e}`,`!${n}`)}this.startIndex=t+1}onprocessinginstruction(e,t){this.endIndex=t;const n=this.getSlice(e,t);if(this.cbs.onprocessinginstruction){const e=this.getInstructionName(n);this.cbs.onprocessinginstruction(`?${e}`,`?${n}`)}this.startIndex=t+1}oncomment(e,t,n){var r,i,s,a;this.endIndex=t,null===(i=(r=this.cbs).oncomment)||void 0===i||i.call(r,this.getSlice(e,t-n)),null===(a=(s=this.cbs).oncommentend)||void 0===a||a.call(s),this.startIndex=t+1}oncdata(e,t,n){var r,i,s,a,o,c,l,h,u,p;this.endIndex=t;const f=this.getSlice(e,t-n);this.options.xmlMode||this.options.recognizeCDATA?(null===(i=(r=this.cbs).oncdatastart)||void 0===i||i.call(r),null===(a=(s=this.cbs).ontext)||void 0===a||a.call(s,f),null===(c=(o=this.cbs).oncdataend)||void 0===c||c.call(o)):(null===(h=(l=this.cbs).oncomment)||void 0===h||h.call(l,`[CDATA[${f}]]`),null===(p=(u=this.cbs).oncommentend)||void 0===p||p.call(u)),this.startIndex=t+1}onend(){var e,t;if(this.cbs.onclosetag){this.endIndex=this.startIndex;for(let e=this.stack.length;e>0;this.cbs.onclosetag(this.stack[--e],!0));}null===(t=(e=this.cbs).onend)||void 0===t||t.call(e)}reset(){var e,t,n,r;null===(t=(e=this.cbs).onreset)||void 0===t||t.call(e),this.tokenizer.reset(),this.tagname="",this.attribname="",this.attribs=null,this.stack.length=0,this.startIndex=0,this.endIndex=0,null===(r=(n=this.cbs).onparserinit)||void 0===r||r.call(n,this),this.buffers.length=0,this.bufferOffset=0,this.writeIndex=0,this.ended=!1}parseComplete(e){this.reset(),this.end(e)}getSlice(e,t){for(;e-this.bufferOffset>=this.buffers[0].length;)this.shiftBuffer();let n=this.buffers[0].slice(e-this.bufferOffset,t-this.bufferOffset);for(;t-this.bufferOffset>this.buffers[0].length;)this.shiftBuffer(),n+=this.buffers[0].slice(0,t-this.bufferOffset);return n}shiftBuffer(){this.bufferOffset+=this.buffers[0].length,this.writeIndex--,this.buffers.shift()}write(e){var t,n;this.ended?null===(n=(t=this.cbs).onerror)||void 0===n||n.call(t,new Error(".write() after done!")):(this.buffers.push(e),this.tokenizer.running&&(this.tokenizer.write(e),this.writeIndex++))}end(e){var t,n;this.ended?null===(n=(t=this.cbs).onerror)||void 0===n||n.call(t,Error(".end() after done!")):(e&&this.write(e),this.ended=!0,this.tokenizer.end())}pause(){this.tokenizer.pause()}resume(){for(this.tokenizer.resume();this.tokenizer.running&&this.writeIndex>> 2] >>> (24 - (i % 4) * 8)) & 0xff; + thisWords[(thisSigBytes + i) >>> 2] |= thatByte << (24 - ((thisSigBytes + i) % 4) * 8); + } + } else { + // Copy one word at a time + for (var i = 0; i < thatSigBytes; i += 4) { + thisWords[(thisSigBytes + i) >>> 2] = thatWords[i >>> 2]; + } + } + this.sigBytes += thatSigBytes; + + // Chainable + return this; + }, + + /** + * Removes insignificant bits. + * + * @example + * + * wordArray.clamp(); + */ + clamp: function() { + // Shortcuts + var words = this.words; + var sigBytes = this.sigBytes; + + // Clamp + words[sigBytes >>> 2] &= 0xffffffff << (32 - (sigBytes % 4) * 8); + words.length = Math.ceil(sigBytes / 4); + }, + + /** + * Creates a copy of this word array. + * + * @return {WordArray} The clone. + * + * @example + * + * var clone = wordArray.clone(); + */ + clone: function() { + var clone = Base.clone.call(this); + clone.words = this.words.slice(0); + + return clone; + }, + + /** + * 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 + * + * var wordArray = CryptoJS.lib.WordArray.random(16); + */ + 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 = { + /** + * Converts a word array to a hex string. + * + * @param {WordArray} wordArray The word array. + * + * @return {string} The hex string. + * + * @static + * + * @example + * + * var hexString = CryptoJS.enc.Hex.stringify(wordArray); + */ + stringify: function(wordArray) { + // Shortcuts + var words = wordArray.words; + var sigBytes = wordArray.sigBytes; + + // Convert + var hexChars = []; + for (var i = 0; i < sigBytes; i++) { + var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff; + hexChars.push((bite >>> 4).toString(16)); + hexChars.push((bite & 0x0f).toString(16)); + } + + return hexChars.join(''); + }, + + /** + * Converts a hex string to a word array. + * + * @param {string} hexStr The hex string. + * + * @return {WordArray} The word array. + * + * @static + * + * @example + * + * var wordArray = CryptoJS.enc.Hex.parse(hexString); + */ + parse: function(hexStr) { + // Shortcut + var hexStrLength = hexStr.length; + + // Convert + 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 = { + /** + * Converts a word array to a Latin1 string. + * + * @param {WordArray} wordArray The word array. + * + * @return {string} The Latin1 string. + * + * @static + * + * @example + * + * var latin1String = CryptoJS.enc.Latin1.stringify(wordArray); + */ + stringify: function(wordArray) { + // Shortcuts + var words = wordArray.words; + var sigBytes = wordArray.sigBytes; + + // Convert + var latin1Chars = []; + for (var i = 0; i < sigBytes; i++) { + var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff; + latin1Chars.push(String.fromCharCode(bite)); + } + + return latin1Chars.join(''); + }, + + /** + * Converts a Latin1 string to a word array. + * + * @param {string} latin1Str The Latin1 string. + * + * @return {WordArray} The word array. + * + * @static + * + * @example + * + * var wordArray = CryptoJS.enc.Latin1.parse(latin1String); + */ + parse: function(latin1Str) { + // Shortcut + var latin1StrLength = latin1Str.length; + + // Convert + var words = []; + for (var i = 0; i < latin1StrLength; i++) { + words[i >>> 2] |= (latin1Str.charCodeAt(i) & 0xff) << (24 - (i % 4) * 8); + } + + return new WordArray.init(words, latin1StrLength); + } + }; + + /** + * UTF-8 encoding strategy. + */ + var Utf8 = C_enc.Utf8 = { + /** + * Converts a word array to a UTF-8 string. + * + * @param {WordArray} wordArray The word array. + * + * @return {string} The UTF-8 string. + * + * @static + * + * @example + * + * var utf8String = CryptoJS.enc.Utf8.stringify(wordArray); + */ + stringify: function(wordArray) { + try { + return decodeURIComponent(escape(Latin1.stringify(wordArray))); + } catch (e) { + throw new Error('Malformed UTF-8 data'); + } + }, + + /** + * Converts a UTF-8 string to a word array. + * + * @param {string} utf8Str The UTF-8 string. + * + * @return {WordArray} The word array. + * + * @static + * + * @example + * + * var wordArray = CryptoJS.enc.Utf8.parse(utf8String); + */ + 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({ + /** + * Resets this block algorithm's data buffer to its initial state. + * + * @example + * + * bufferedBlockAlgorithm.reset(); + */ + reset: function() { + // Initial values + this._data = new WordArray.init(); + 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: function(data) { + // Convert string to WordArray, else assume WordArray already + if (typeof data == 'string') { + data = Utf8.parse(data); + } + + // Append + this._data.concat(data); + this._nDataBytes += 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 + * + * var processedData = bufferedBlockAlgorithm._process(); + * var processedData = bufferedBlockAlgorithm._process(!!'flush'); + */ + _process: function(doFlush) { + var processedWords; + + // Shortcuts + var data = this._data; + var dataWords = data.words; + var dataSigBytes = data.sigBytes; + var blockSize = this.blockSize; + var blockSizeBytes = blockSize * 4; + + // Count blocks ready + var nBlocksReady = dataSigBytes / blockSizeBytes; + if (doFlush) { + // Round up to include partial blocks + nBlocksReady = Math.ceil(nBlocksReady); + } else { + // Round down to include only full blocks, + // less the number of blocks that must remain in the buffer + nBlocksReady = Math.max((nBlocksReady | 0) - this._minBufferSize, 0); + } + + // Count words ready + var nWordsReady = nBlocksReady * blockSize; + + // Count bytes ready + var nBytesReady = Math.min(nWordsReady * 4, dataSigBytes); + + // Process blocks + if (nWordsReady) { + for (var offset = 0; offset < nWordsReady; offset += blockSize) { + // Perform concrete-algorithm logic + this._doProcessBlock(dataWords, offset); + } + + // Remove processed words + processedWords = dataWords.splice(0, nWordsReady); + data.sigBytes -= nBytesReady; + } + + // Return processed words + return new WordArray.init(processedWords, nBytesReady); + }, + + /** + * Creates a copy of this object. + * + * @return {Object} The clone. + * + * @example + * + * var clone = bufferedBlockAlgorithm.clone(); + */ + 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({ + /** + * Configuration options. + */ + cfg: Base.extend(), + + /** + * Initializes a newly created hasher. + * + * @param {Object} cfg (Optional) The configuration options to use for this hash computation. + * + * @example + * + * var hasher = CryptoJS.algo.SHA256.create(); + */ + init: function(cfg) { + // Apply config defaults + this.cfg = this.cfg.extend(cfg); + + // Set initial values + this.reset(); + }, + + /** + * Resets this hasher to its initial state. + * + * @example + * + * hasher.reset(); + */ + reset: function() { + // Reset data buffer + BufferedBlockAlgorithm.reset.call(this); + + // Perform concrete-hasher logic + 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: function(messageUpdate) { + // Append + this._append(messageUpdate); + + // Update the hash + this._process(); + + // Chainable + 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 + * + * var hash = hasher.finalize(); + * var hash = hasher.finalize('message'); + * var hash = hasher.finalize(wordArray); + */ + finalize: function(messageUpdate) { + // Final message update + if (messageUpdate) { + this._append(messageUpdate); + } + + // Perform concrete-hasher logic + var hash = this._doFinalize(); + + return hash; + }, + + blockSize: 512 / 32, + + /** + * Creates a shortcut function to a hasher's object interface. + * + * @param {Hasher} hasher The hasher to create a helper for. + * + * @return {Function} The shortcut function. + * + * @static + * + * @example + * + * var SHA256 = CryptoJS.lib.Hasher._createHelper(CryptoJS.algo.SHA256); + */ + _createHelper: function(hasher) { + return function(message, cfg) { + return new hasher.init(cfg).finalize(message); + }; + }, + + /** + * Creates a shortcut function to the HMAC's object interface. + * + * @param {Hasher} hasher The hasher to use in this HMAC helper. + * + * @return {Function} The shortcut function. + * + * @static + * + * @example + * + * var HmacSHA256 = CryptoJS.lib.Hasher._createHmacHelper(CryptoJS.algo.SHA256); + */ + _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) { + // Shortcuts + 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({ + /** + * Initializes a newly created 64-bit word. + * + * @param {number} high The high 32 bits. + * @param {number} low The low 32 bits. + * + * @example + * + * var x64Word = CryptoJS.x64.Word.create(0x00010203, 0x04050607); + */ + init: function(high, low) { + this.high = high; + this.low = low; + } + + /** + * Bitwise NOTs this word. + * + * @return {X64Word} A new x64-Word object after negating. + * + * @example + * + * var negated = x64Word.not(); + */ + // not: function () { + // var high = ~this.high; + // var low = ~this.low; + + // return X64Word.create(high, low); + // }, + + /** + * Bitwise ANDs this word with the passed word. + * + * @param {X64Word} word The x64-Word to AND with this word. + * + * @return {X64Word} A new x64-Word object after ANDing. + * + * @example + * + * var anded = x64Word.and(anotherX64Word); + */ + // and: function (word) { + // var high = this.high & word.high; + // var low = this.low & word.low; + + // return X64Word.create(high, low); + // }, + + /** + * Bitwise ORs this word with the passed word. + * + * @param {X64Word} word The x64-Word to OR with this word. + * + * @return {X64Word} A new x64-Word object after ORing. + * + * @example + * + * var ored = x64Word.or(anotherX64Word); + */ + // or: function (word) { + // var high = this.high | word.high; + // var low = this.low | word.low; + + // return X64Word.create(high, low); + // }, + + /** + * Bitwise XORs this word with the passed word. + * + * @param {X64Word} word The x64-Word to XOR with this word. + * + * @return {X64Word} A new x64-Word object after XORing. + * + * @example + * + * var xored = x64Word.xor(anotherX64Word); + */ + // xor: function (word) { + // var high = this.high ^ word.high; + // var low = this.low ^ word.low; + + // return X64Word.create(high, low); + // }, + + /** + * Shifts this word n bits to the left. + * + * @param {number} n The number of bits to shift. + * + * @return {X64Word} A new x64-Word object after shifting. + * + * @example + * + * var shifted = x64Word.shiftL(25); + */ + // shiftL: function (n) { + // if (n < 32) { + // var high = (this.high << n) | (this.low >>> (32 - n)); + // var low = this.low << n; + // } else { + // var high = this.low << (n - 32); + // var low = 0; + // } + + // return X64Word.create(high, low); + // }, + + /** + * Shifts this word n bits to the right. + * + * @param {number} n The number of bits to shift. + * + * @return {X64Word} A new x64-Word object after shifting. + * + * @example + * + * var shifted = x64Word.shiftR(7); + */ + // shiftR: function (n) { + // if (n < 32) { + // var low = (this.low >>> n) | (this.high << (32 - n)); + // var high = this.high >>> n; + // } else { + // var low = this.high >>> (n - 32); + // var high = 0; + // } + + // return X64Word.create(high, low); + // }, + + /** + * Rotates this word n bits to the left. + * + * @param {number} n The number of bits to rotate. + * + * @return {X64Word} A new x64-Word object after rotating. + * + * @example + * + * var rotated = x64Word.rotL(25); + */ + // rotL: function (n) { + // return this.shiftL(n).or(this.shiftR(64 - n)); + // }, + + /** + * Rotates this word n bits to the right. + * + * @param {number} n The number of bits to rotate. + * + * @return {X64Word} A new x64-Word object after rotating. + * + * @example + * + * var rotated = x64Word.rotR(7); + */ + // rotR: function (n) { + // return this.shiftR(n).or(this.shiftL(64 - n)); + // }, + + /** + * Adds this word with the passed word. + * + * @param {X64Word} word The x64-Word to add with this word. + * + * @return {X64Word} A new x64-Word object after adding. + * + * @example + * + * var added = x64Word.add(anotherX64Word); + */ + // add: function (word) { + // var low = (this.low + word.low) | 0; + // var carry = (low >>> 0) < (this.low >>> 0) ? 1 : 0; + // var high = (this.high + word.high + carry) | 0; + + // return X64Word.create(high, 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({ + /** + * Initializes a newly created word array. + * + * @param {Array} words (Optional) An array of CryptoJS.x64.Word objects. + * @param {number} sigBytes (Optional) The number of significant bytes in the words. + * + * @example + * + * var wordArray = CryptoJS.x64.WordArray.create(); + * + * var wordArray = CryptoJS.x64.WordArray.create([ + * CryptoJS.x64.Word.create(0x00010203, 0x04050607), + * CryptoJS.x64.Word.create(0x18191a1b, 0x1c1d1e1f) + * ]); + * + * var wordArray = CryptoJS.x64.WordArray.create([ + * CryptoJS.x64.Word.create(0x00010203, 0x04050607), + * CryptoJS.x64.Word.create(0x18191a1b, 0x1c1d1e1f) + * ], 10); + */ + init: function(words, sigBytes) { + words = this.words = words || []; + + if (sigBytes != undefined) { + this.sigBytes = sigBytes; + } else { + this.sigBytes = words.length * 8; + } + }, + + /** + * Converts this 64-bit word array to a 32-bit word array. + * + * @return {CryptoJS.lib.WordArray} This word array's data as a 32-bit word array. + * + * @example + * + * var x32WordArray = x64WordArray.toX32(); + */ + toX32: function() { + // Shortcuts + var x64Words = this.words; + var x64WordsLength = x64Words.length; + + // Convert + 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); + }, + + /** + * Creates a copy of this word array. + * + * @return {X64WordArray} The clone. + * + * @example + * + * var clone = x64WordArray.clone(); + */ + clone: function() { + var clone = Base.clone.call(this); + + // Clone "words" array + var words = clone.words = this.words.slice(0); + + // Clone each X64Word object + var wordsLength = words.length; + for (var i = 0; i < wordsLength; i++) { + words[i] = words[i].clone(); + } + + return clone; + } + }); +}()); + + + + + + + + + +(function() { + // Check if typed arrays are supported + if (typeof ArrayBuffer != 'function') { + return; + } + + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var WordArray = C_lib.WordArray; + + // Reference original init + var superInit = WordArray.init; + + // Augment WordArray.init to handle typed arrays + var subInit = WordArray.init = function(typedArray) { + // Convert buffers to uint8 + if (typedArray instanceof ArrayBuffer) { + typedArray = new Uint8Array(typedArray); + } + + // Convert other array views to uint8 + 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); + } + + // Handle Uint8Array + if (typedArray instanceof Uint8Array) { + // Shortcut + var typedArrayByteLength = typedArray.byteLength; + + // Extract bytes + var words = []; + for (var i = 0; i < typedArrayByteLength; i++) { + words[i >>> 2] |= typedArray[i] << (24 - (i % 4) * 8); + } + + // Initialize this word array + superInit.call(this, words, typedArrayByteLength); + } else { + // Else call normal init + superInit.apply(this, arguments); + } + }; + + subInit.prototype = WordArray; +}()); + + + + + + + + + +(function() { + // Shortcuts + 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 = { + /** + * Converts a word array to a UTF-16 BE string. + * + * @param {WordArray} wordArray The word array. + * + * @return {string} The UTF-16 BE string. + * + * @static + * + * @example + * + * var utf16String = CryptoJS.enc.Utf16.stringify(wordArray); + */ + stringify: function(wordArray) { + // Shortcuts + var words = wordArray.words; + var sigBytes = wordArray.sigBytes; + + // Convert + var utf16Chars = []; + for (var i = 0; i < sigBytes; i += 2) { + var codePoint = (words[i >>> 2] >>> (16 - (i % 4) * 8)) & 0xffff; + utf16Chars.push(String.fromCharCode(codePoint)); + } + + return utf16Chars.join(''); + }, + + /** + * Converts a UTF-16 BE string to a word array. + * + * @param {string} utf16Str The UTF-16 BE string. + * + * @return {WordArray} The word array. + * + * @static + * + * @example + * + * var wordArray = CryptoJS.enc.Utf16.parse(utf16String); + */ + parse: function(utf16Str) { + // Shortcut + var utf16StrLength = utf16Str.length; + + // Convert + 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 = { + /** + * Converts a word array to a UTF-16 LE string. + * + * @param {WordArray} wordArray The word array. + * + * @return {string} The UTF-16 LE string. + * + * @static + * + * @example + * + * var utf16Str = CryptoJS.enc.Utf16LE.stringify(wordArray); + */ + stringify: function(wordArray) { + // Shortcuts + var words = wordArray.words; + var sigBytes = wordArray.sigBytes; + + // Convert + var utf16Chars = []; + for (var i = 0; i < sigBytes; i += 2) { + var codePoint = swapEndian((words[i >>> 2] >>> (16 - (i % 4) * 8)) & 0xffff); + utf16Chars.push(String.fromCharCode(codePoint)); + } + + return utf16Chars.join(''); + }, + + /** + * Converts a UTF-16 LE string to a word array. + * + * @param {string} utf16Str The UTF-16 LE string. + * + * @return {WordArray} The word array. + * + * @static + * + * @example + * + * var wordArray = CryptoJS.enc.Utf16LE.parse(utf16Str); + */ + parse: function(utf16Str) { + // Shortcut + var utf16StrLength = utf16Str.length; + + // Convert + 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) & 0xff00ff00) | ((word >>> 8) & 0x00ff00ff); + } +}()); + + + + + + + + + + +(function() { + // Shortcuts + 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 = { + /** + * Converts a word array to a Base64 string. + * + * @param {WordArray} wordArray The word array. + * + * @return {string} The Base64 string. + * + * @static + * + * @example + * + * var base64String = CryptoJS.enc.Base64.stringify(wordArray); + */ + stringify: function(wordArray) { + // Shortcuts + var words = wordArray.words; + var sigBytes = wordArray.sigBytes; + var map = this._map; + + // Clamp excess bits + wordArray.clamp(); + + // Convert + var base64Chars = []; + for (var i = 0; i < sigBytes; i += 3) { + var byte1 = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff; + var byte2 = (words[(i + 1) >>> 2] >>> (24 - ((i + 1) % 4) * 8)) & 0xff; + var byte3 = (words[(i + 2) >>> 2] >>> (24 - ((i + 2) % 4) * 8)) & 0xff; + + var triplet = (byte1 << 16) | (byte2 << 8) | byte3; + + for (var j = 0; + (j < 4) && (i + j * 0.75 < sigBytes); j++) { + base64Chars.push(map.charAt((triplet >>> (6 * (3 - j))) & 0x3f)); + } + } + + // Add padding + var paddingChar = map.charAt(64); + if (paddingChar) { + while (base64Chars.length % 4) { + base64Chars.push(paddingChar); + } + } + + return base64Chars.join(''); + }, + + /** + * Converts a Base64 string to a word array. + * + * @param {string} base64Str The Base64 string. + * + * @return {WordArray} The word array. + * + * @static + * + * @example + * + * var wordArray = CryptoJS.enc.Base64.parse(base64String); + */ + parse: function(base64Str) { + // Shortcuts + 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; + } + } + + // Ignore padding + var paddingChar = map.charAt(64); + if (paddingChar) { + var paddingIndex = base64Str.indexOf(paddingChar); + if (paddingIndex !== -1) { + base64StrLength = paddingIndex; + } + } + + // Convert + 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(Math) { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var WordArray = C_lib.WordArray; + var Hasher = C_lib.Hasher; + var C_algo = C.algo; + + // Constants table + var T = []; + + // Compute constants + (function() { + for (var i = 0; i < 64; i++) { + T[i] = (Math.abs(Math.sin(i + 1)) * 0x100000000) | 0; + } + }()); + + /** + * MD5 hash algorithm. + */ + var MD5 = C_algo.MD5 = Hasher.extend({ + _doReset: function() { + this._hash = new WordArray.init([ + 0x67452301, 0xefcdab89, + 0x98badcfe, 0x10325476 + ]); + }, + + _doProcessBlock: function(M, offset) { + // Swap endian + for (var i = 0; i < 16; i++) { + // Shortcuts + var offset_i = offset + i; + var M_offset_i = M[offset_i]; + + M[offset_i] = ( + (((M_offset_i << 8) | (M_offset_i >>> 24)) & 0x00ff00ff) | + (((M_offset_i << 24) | (M_offset_i >>> 8)) & 0xff00ff00) + ); + } + + // Shortcuts + 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]; + + // Working varialbes + var a = H[0]; + var b = H[1]; + var c = H[2]; + var d = H[3]; + + // Computation + 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]); + + // Intermediate hash value + 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() { + // Shortcuts + var data = this._data; + var dataWords = data.words; + + var nBitsTotal = this._nDataBytes * 8; + var nBitsLeft = data.sigBytes * 8; + + // Add padding + dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32); + + var nBitsTotalH = Math.floor(nBitsTotal / 0x100000000); + var nBitsTotalL = nBitsTotal; + dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = ( + (((nBitsTotalH << 8) | (nBitsTotalH >>> 24)) & 0x00ff00ff) | + (((nBitsTotalH << 24) | (nBitsTotalH >>> 8)) & 0xff00ff00) + ); + dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = ( + (((nBitsTotalL << 8) | (nBitsTotalL >>> 24)) & 0x00ff00ff) | + (((nBitsTotalL << 24) | (nBitsTotalL >>> 8)) & 0xff00ff00) + ); + + data.sigBytes = (dataWords.length + 1) * 4; + + // Hash final blocks + this._process(); + + // Shortcuts + var hash = this._hash; + var H = hash.words; + + // Swap endian + for (var i = 0; i < 4; i++) { + // Shortcut + var H_i = H[i]; + + H[i] = (((H_i << 8) | (H_i >>> 24)) & 0x00ff00ff) | + (((H_i << 24) | (H_i >>> 8)) & 0xff00ff00); + } + + // Return final computed hash + 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() { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var WordArray = C_lib.WordArray; + var Hasher = C_lib.Hasher; + var C_algo = C.algo; + + // Reusable object + var W = []; + + /** + * SHA-1 hash algorithm. + */ + var SHA1 = C_algo.SHA1 = Hasher.extend({ + _doReset: function() { + this._hash = new WordArray.init([ + 0x67452301, 0xefcdab89, + 0x98badcfe, 0x10325476, + 0xc3d2e1f0 + ]); + }, + + _doProcessBlock: function(M, offset) { + // Shortcut + var H = this._hash.words; + + // Working variables + var a = H[0]; + var b = H[1]; + var c = H[2]; + var d = H[3]; + var e = H[4]; + + // Computation + 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)) + 0x5a827999; + } else if (i < 40) { + t += (b ^ c ^ d) + 0x6ed9eba1; + } else if (i < 60) { + t += ((b & c) | (b & d) | (c & d)) - 0x70e44324; + } else /* if (i < 80) */ { + t += (b ^ c ^ d) - 0x359d3e2a; + } + + e = d; + d = c; + c = (b << 30) | (b >>> 2); + b = a; + a = t; + } + + // Intermediate hash value + 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() { + // Shortcuts + var data = this._data; + var dataWords = data.words; + + var nBitsTotal = this._nDataBytes * 8; + var nBitsLeft = data.sigBytes * 8; + + // Add padding + dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32); + dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = Math.floor(nBitsTotal / 0x100000000); + dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = nBitsTotal; + data.sigBytes = dataWords.length * 4; + + // Hash final blocks + this._process(); + + // Return final computed hash + 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) { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var WordArray = C_lib.WordArray; + var Hasher = C_lib.Hasher; + var C_algo = C.algo; + + // Initialization and round constants tables + var H = []; + var K = []; + + // Compute constants + (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)) * 0x100000000) | 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++; + } + }()); + + // Reusable object + 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) { + // Shortcut + var H = this._hash.words; + + // Working variables + 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]; + + // Computation + 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; + } + + // Intermediate hash value + 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() { + // Shortcuts + var data = this._data; + var dataWords = data.words; + + var nBitsTotal = this._nDataBytes * 8; + var nBitsLeft = data.sigBytes * 8; + + // Add padding + dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32); + dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = Math.floor(nBitsTotal / 0x100000000); + dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = nBitsTotal; + data.sigBytes = dataWords.length * 4; + + // Hash final blocks + this._process(); + + // Return final computed hash + 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() { + // Shortcuts + 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([ + 0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939, + 0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4 + ]); + }, + + _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() { + // Shortcuts + 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); + } + + // Constants + var K = [ + X64Word_create(0x428a2f98, 0xd728ae22), X64Word_create(0x71374491, 0x23ef65cd), + X64Word_create(0xb5c0fbcf, 0xec4d3b2f), X64Word_create(0xe9b5dba5, 0x8189dbbc), + X64Word_create(0x3956c25b, 0xf348b538), X64Word_create(0x59f111f1, 0xb605d019), + X64Word_create(0x923f82a4, 0xaf194f9b), X64Word_create(0xab1c5ed5, 0xda6d8118), + X64Word_create(0xd807aa98, 0xa3030242), X64Word_create(0x12835b01, 0x45706fbe), + X64Word_create(0x243185be, 0x4ee4b28c), X64Word_create(0x550c7dc3, 0xd5ffb4e2), + X64Word_create(0x72be5d74, 0xf27b896f), X64Word_create(0x80deb1fe, 0x3b1696b1), + X64Word_create(0x9bdc06a7, 0x25c71235), X64Word_create(0xc19bf174, 0xcf692694), + X64Word_create(0xe49b69c1, 0x9ef14ad2), X64Word_create(0xefbe4786, 0x384f25e3), + X64Word_create(0x0fc19dc6, 0x8b8cd5b5), X64Word_create(0x240ca1cc, 0x77ac9c65), + X64Word_create(0x2de92c6f, 0x592b0275), X64Word_create(0x4a7484aa, 0x6ea6e483), + X64Word_create(0x5cb0a9dc, 0xbd41fbd4), X64Word_create(0x76f988da, 0x831153b5), + X64Word_create(0x983e5152, 0xee66dfab), X64Word_create(0xa831c66d, 0x2db43210), + X64Word_create(0xb00327c8, 0x98fb213f), X64Word_create(0xbf597fc7, 0xbeef0ee4), + X64Word_create(0xc6e00bf3, 0x3da88fc2), X64Word_create(0xd5a79147, 0x930aa725), + X64Word_create(0x06ca6351, 0xe003826f), X64Word_create(0x14292967, 0x0a0e6e70), + X64Word_create(0x27b70a85, 0x46d22ffc), X64Word_create(0x2e1b2138, 0x5c26c926), + X64Word_create(0x4d2c6dfc, 0x5ac42aed), X64Word_create(0x53380d13, 0x9d95b3df), + X64Word_create(0x650a7354, 0x8baf63de), X64Word_create(0x766a0abb, 0x3c77b2a8), + X64Word_create(0x81c2c92e, 0x47edaee6), X64Word_create(0x92722c85, 0x1482353b), + X64Word_create(0xa2bfe8a1, 0x4cf10364), X64Word_create(0xa81a664b, 0xbc423001), + X64Word_create(0xc24b8b70, 0xd0f89791), X64Word_create(0xc76c51a3, 0x0654be30), + X64Word_create(0xd192e819, 0xd6ef5218), X64Word_create(0xd6990624, 0x5565a910), + X64Word_create(0xf40e3585, 0x5771202a), X64Word_create(0x106aa070, 0x32bbd1b8), + X64Word_create(0x19a4c116, 0xb8d2d0c8), X64Word_create(0x1e376c08, 0x5141ab53), + X64Word_create(0x2748774c, 0xdf8eeb99), X64Word_create(0x34b0bcb5, 0xe19b48a8), + X64Word_create(0x391c0cb3, 0xc5c95a63), X64Word_create(0x4ed8aa4a, 0xe3418acb), + X64Word_create(0x5b9cca4f, 0x7763e373), X64Word_create(0x682e6ff3, 0xd6b2b8a3), + X64Word_create(0x748f82ee, 0x5defb2fc), X64Word_create(0x78a5636f, 0x43172f60), + X64Word_create(0x84c87814, 0xa1f0ab72), X64Word_create(0x8cc70208, 0x1a6439ec), + X64Word_create(0x90befffa, 0x23631e28), X64Word_create(0xa4506ceb, 0xde82bde9), + X64Word_create(0xbef9a3f7, 0xb2c67915), X64Word_create(0xc67178f2, 0xe372532b), + X64Word_create(0xca273ece, 0xea26619c), X64Word_create(0xd186b8c7, 0x21c0c207), + X64Word_create(0xeada7dd6, 0xcde0eb1e), X64Word_create(0xf57d4f7f, 0xee6ed178), + X64Word_create(0x06f067aa, 0x72176fba), X64Word_create(0x0a637dc5, 0xa2c898a6), + X64Word_create(0x113f9804, 0xbef90dae), X64Word_create(0x1b710b35, 0x131c471b), + X64Word_create(0x28db77f5, 0x23047d84), X64Word_create(0x32caab7b, 0x40c72493), + X64Word_create(0x3c9ebe0a, 0x15c9bebc), X64Word_create(0x431d67c4, 0x9c100d4c), + X64Word_create(0x4cc5d4be, 0xcb3e42b6), X64Word_create(0x597f299c, 0xfc657e2a), + X64Word_create(0x5fcb6fab, 0x3ad6faec), X64Word_create(0x6c44198c, 0x4a475817) + ]; + + // Reusable objects + 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(0x6a09e667, 0xf3bcc908), new X64Word.init(0xbb67ae85, 0x84caa73b), + new X64Word.init(0x3c6ef372, 0xfe94f82b), new X64Word.init(0xa54ff53a, 0x5f1d36f1), + new X64Word.init(0x510e527f, 0xade682d1), new X64Word.init(0x9b05688c, 0x2b3e6c1f), + new X64Word.init(0x1f83d9ab, 0xfb41bd6b), new X64Word.init(0x5be0cd19, 0x137e2179) + ]); + }, + + _doProcessBlock: function(M, offset) { + // Shortcuts + 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; + + // Working variables + 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; + + // Rounds + for (var i = 0; i < 80; i++) { + var Wil; + var Wih; + + // Shortcut + var Wi = W[i]; + + // Extend message + if (i < 16) { + Wih = Wi.high = M[offset + i * 2] | 0; + Wil = Wi.low = M[offset + i * 2 + 1] | 0; + } else { + // Gamma0 + 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)); + + // Gamma1 + 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)); + + // W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16] + 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)); + + // t1 = h + sigma1 + ch + K[i] + W[i] + 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); + + // t2 = sigma0 + maj + var t2l = sigma0l + majl; + var t2h = sigma0h + majh + ((t2l >>> 0) < (sigma0l >>> 0) ? 1 : 0); + + // Update working variables + 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; + } + + // Intermediate hash value + 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() { + // Shortcuts + var data = this._data; + var dataWords = data.words; + + var nBitsTotal = this._nDataBytes * 8; + var nBitsLeft = data.sigBytes * 8; + + // Add padding + dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32); + dataWords[(((nBitsLeft + 128) >>> 10) << 5) + 30] = Math.floor(nBitsTotal / 0x100000000); + dataWords[(((nBitsLeft + 128) >>> 10) << 5) + 31] = nBitsTotal; + data.sigBytes = dataWords.length * 4; + + // Hash final blocks + this._process(); + + // Convert hash to 32-bit word array before returning + var hash = this._hash.toX32(); + + // Return final computed hash + 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() { + // Shortcuts + 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(0xcbbb9d5d, 0xc1059ed8), new X64Word.init(0x629a292a, 0x367cd507), + new X64Word.init(0x9159015a, 0x3070dd17), new X64Word.init(0x152fecd8, 0xf70e5939), + new X64Word.init(0x67332667, 0xffc00b31), new X64Word.init(0x8eb44a87, 0x68581511), + new X64Word.init(0xdb0c2e0d, 0x64f98fa7), new X64Word.init(0x47b5481d, 0xbefa4fa4) + ]); + }, + + _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) { + // Shortcuts + 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; + + // Constants tables + var RHO_OFFSETS = []; + var PI_INDEXES = []; + var ROUND_CONSTANTS = []; + + // Compute Constants + (function() { + // Compute rho offset constants + 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; + } + + // Compute pi index constants + 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; + } + } + + // Compute round constants + var LFSR = 0x01; + for (var i = 0; i < 24; i++) { + var roundConstantMsw = 0; + var roundConstantLsw = 0; + + for (var j = 0; j < 7; j++) { + if (LFSR & 0x01) { + var bitPosition = (1 << j) - 1; + if (bitPosition < 32) { + roundConstantLsw ^= 1 << bitPosition; + } else /* if (bitPosition >= 32) */ { + roundConstantMsw ^= 1 << (bitPosition - 32); + } + } + + // Compute next LFSR + if (LFSR & 0x80) { + // Primitive polynomial over GF(2): x^8 + x^6 + x^5 + x^4 + 1 + LFSR = (LFSR << 1) ^ 0x71; + } else { + LFSR <<= 1; + } + } + + ROUND_CONSTANTS[i] = X64Word.create(roundConstantMsw, roundConstantLsw); + } + }()); + + // Reusable objects for temporary values + 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({ + /** + * Configuration options. + * + * @property {number} outputLength + * The desired number of bits in the output hash. + * Only values permitted are: 224, 256, 384, 512. + * Default: 512 + */ + 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) { + // Shortcuts + var state = this._state; + var nBlockSizeLanes = this.blockSize / 2; + + // Absorb + for (var i = 0; i < nBlockSizeLanes; i++) { + // Shortcuts + var M2i = M[offset + 2 * i]; + var M2i1 = M[offset + 2 * i + 1]; + + // Swap endian + M2i = ( + (((M2i << 8) | (M2i >>> 24)) & 0x00ff00ff) | + (((M2i << 24) | (M2i >>> 8)) & 0xff00ff00) + ); + M2i1 = ( + (((M2i1 << 8) | (M2i1 >>> 24)) & 0x00ff00ff) | + (((M2i1 << 24) | (M2i1 >>> 8)) & 0xff00ff00) + ); + + // Absorb message into state + var lane = state[i]; + lane.high ^= M2i1; + lane.low ^= M2i; + } + + // Rounds + for (var round = 0; round < 24; round++) { + // Theta + for (var x = 0; x < 5; x++) { + // Mix column lanes + var tMsw = 0, + tLsw = 0; + for (var y = 0; y < 5; y++) { + var lane = state[x + 5 * y]; + tMsw ^= lane.high; + tLsw ^= lane.low; + } + + // Temporary values + var Tx = T[x]; + Tx.high = tMsw; + Tx.low = tLsw; + } + for (var x = 0; x < 5; x++) { + // Shortcuts + var Tx4 = T[(x + 4) % 5]; + var Tx1 = T[(x + 1) % 5]; + var Tx1Msw = Tx1.high; + var Tx1Lsw = Tx1.low; + + // Mix surrounding columns + 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; + } + } + + // Rho Pi + for (var laneIndex = 1; laneIndex < 25; laneIndex++) { + var tMsw; + var tLsw; + + // Shortcuts + var lane = state[laneIndex]; + var laneMsw = lane.high; + var laneLsw = lane.low; + var rhoOffset = RHO_OFFSETS[laneIndex]; + + // Rotate lanes + if (rhoOffset < 32) { + tMsw = (laneMsw << rhoOffset) | (laneLsw >>> (32 - rhoOffset)); + tLsw = (laneLsw << rhoOffset) | (laneMsw >>> (32 - rhoOffset)); + } else /* if (rhoOffset >= 32) */ { + tMsw = (laneLsw << (rhoOffset - 32)) | (laneMsw >>> (64 - rhoOffset)); + tLsw = (laneMsw << (rhoOffset - 32)) | (laneLsw >>> (64 - rhoOffset)); + } + + // Transpose lanes + var TPiLane = T[PI_INDEXES[laneIndex]]; + TPiLane.high = tMsw; + TPiLane.low = tLsw; + } + + // Rho pi at x = y = 0 + var T0 = T[0]; + var state0 = state[0]; + T0.high = state0.high; + T0.low = state0.low; + + // Chi + for (var x = 0; x < 5; x++) { + for (var y = 0; y < 5; y++) { + // Shortcuts + 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]; + + // Mix rows + lane.high = TLane.high ^ (~Tx1Lane.high & Tx2Lane.high); + lane.low = TLane.low ^ (~Tx1Lane.low & Tx2Lane.low); + } + } + + // Iota + var lane = state[0]; + var roundConstant = ROUND_CONSTANTS[round]; + lane.high ^= roundConstant.high; + lane.low ^= roundConstant.low; + } + }, + + _doFinalize: function() { + // Shortcuts + var data = this._data; + var dataWords = data.words; + var nBitsTotal = this._nDataBytes * 8; + var nBitsLeft = data.sigBytes * 8; + var blockSizeBits = this.blockSize * 32; + + // Add padding + dataWords[nBitsLeft >>> 5] |= 0x1 << (24 - nBitsLeft % 32); + dataWords[((Math.ceil((nBitsLeft + 1) / blockSizeBits) * blockSizeBits) >>> 5) - 1] |= 0x80; + data.sigBytes = dataWords.length * 4; + + // Hash final blocks + this._process(); + + // Shortcuts + var state = this._state; + var outputLengthBytes = this.cfg.outputLength / 8; + var outputLengthLanes = outputLengthBytes / 8; + + // Squeeze + var hashWords = []; + for (var i = 0; i < outputLengthLanes; i++) { + // Shortcuts + var lane = state[i]; + var laneMsw = lane.high; + var laneLsw = lane.low; + + // Swap endian + laneMsw = ( + (((laneMsw << 8) | (laneMsw >>> 24)) & 0x00ff00ff) | + (((laneMsw << 24) | (laneMsw >>> 8)) & 0xff00ff00) + ); + laneLsw = ( + (((laneLsw << 8) | (laneLsw >>> 24)) & 0x00ff00ff) | + (((laneLsw << 24) | (laneLsw >>> 8)) & 0xff00ff00) + ); + + // Squeeze state to retrieve hash + hashWords.push(laneLsw); + hashWords.push(laneMsw); + } + + // Return final computed hash + 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) { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var WordArray = C_lib.WordArray; + var Hasher = C_lib.Hasher; + var C_algo = C.algo; + + // Constants table + 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([0x00000000, 0x5A827999, 0x6ED9EBA1, 0x8F1BBCDC, 0xA953FD4E]); + var _hr = WordArray.create([0x50A28BE6, 0x5C4DD124, 0x6D703EF3, 0x7A6D76E9, 0x00000000]); + + /** + * RIPEMD160 hash algorithm. + */ + var RIPEMD160 = C_algo.RIPEMD160 = Hasher.extend({ + _doReset: function() { + this._hash = WordArray.create([0x67452301, 0xEFCDAB89, 0x98BADCFE, 0x10325476, 0xC3D2E1F0]); + }, + + _doProcessBlock: function(M, offset) { + + // Swap endian + for (var i = 0; i < 16; i++) { + // Shortcuts + var offset_i = offset + i; + var M_offset_i = M[offset_i]; + + // Swap + M[offset_i] = ( + (((M_offset_i << 8) | (M_offset_i >>> 24)) & 0x00ff00ff) | + (((M_offset_i << 24) | (M_offset_i >>> 8)) & 0xff00ff00) + ); + } + // Shortcut + 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; + + // Working variables + 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]; + // Computation + 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 { // if (i<80) { + 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 { // if (i<80) { + 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; + } + // Intermediate hash value + 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() { + // Shortcuts + var data = this._data; + var dataWords = data.words; + + var nBitsTotal = this._nDataBytes * 8; + var nBitsLeft = data.sigBytes * 8; + + // Add padding + dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32); + dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = ( + (((nBitsTotal << 8) | (nBitsTotal >>> 24)) & 0x00ff00ff) | + (((nBitsTotal << 24) | (nBitsTotal >>> 8)) & 0xff00ff00) + ); + data.sigBytes = (dataWords.length + 1) * 4; + + // Hash final blocks + this._process(); + + // Shortcuts + var hash = this._hash; + var H = hash.words; + + // Swap endian + for (var i = 0; i < 5; i++) { + // Shortcut + var H_i = H[i]; + + // Swap + H[i] = (((H_i << 8) | (H_i >>> 24)) & 0x00ff00ff) | + (((H_i << 24) | (H_i >>> 8)) & 0xff00ff00); + } + + // Return final computed hash + 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() { + // Shortcuts + 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({ + /** + * Initializes a newly created HMAC. + * + * @param {Hasher} hasher The hash algorithm to use. + * @param {WordArray|string} key The secret key. + * + * @example + * + * var hmacHasher = CryptoJS.algo.HMAC.create(CryptoJS.algo.SHA256, key); + */ + init: function(hasher, key) { + // Init hasher + hasher = this._hasher = new hasher.init(); + + // Convert string to WordArray, else assume WordArray already + if (typeof key == 'string') { + key = Utf8.parse(key); + } + + // Shortcuts + var hasherBlockSize = hasher.blockSize; + var hasherBlockSizeBytes = hasherBlockSize * 4; + + // Allow arbitrary length keys + if (key.sigBytes > hasherBlockSizeBytes) { + key = hasher.finalize(key); + } + + // Clamp excess bits + key.clamp(); + + // Clone key for inner and outer pads + var oKey = this._oKey = key.clone(); + var iKey = this._iKey = key.clone(); + + // Shortcuts + var oKeyWords = oKey.words; + var iKeyWords = iKey.words; + + // XOR keys with pad constants + for (var i = 0; i < hasherBlockSize; i++) { + oKeyWords[i] ^= 0x5c5c5c5c; + iKeyWords[i] ^= 0x36363636; + } + oKey.sigBytes = iKey.sigBytes = hasherBlockSizeBytes; + + // Set initial values + this.reset(); + }, + + /** + * Resets this HMAC to its initial state. + * + * @example + * + * hmacHasher.reset(); + */ + reset: function() { + // Shortcut + var hasher = this._hasher; + + // Reset + 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: function(messageUpdate) { + this._hasher.update(messageUpdate); + + // Chainable + 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 + * + * var hmac = hmacHasher.finalize(); + * var hmac = hmacHasher.finalize('message'); + * var hmac = hmacHasher.finalize(wordArray); + */ + finalize: function(messageUpdate) { + // Shortcut + var hasher = this._hasher; + + // Compute HMAC + var innerHash = hasher.finalize(messageUpdate); + hasher.reset(); + var hmac = hasher.finalize(this._oKey.clone().concat(innerHash)); + + return hmac; + } + }); +}()); + + + + + + + + + + + +(function() { + // Shortcuts + 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({ + /** + * Configuration options. + * + * @property {number} keySize The key size in words to generate. Default: 4 (128 bits) + * @property {Hasher} hasher The hasher to use. Default: SHA1 + * @property {number} iterations The number of iterations to perform. Default: 1 + */ + cfg: Base.extend({ + keySize: 128 / 32, + hasher: SHA1, + iterations: 1 + }), + + /** + * Initializes a newly created key derivation function. + * + * @param {Object} cfg (Optional) The configuration options to use for the derivation. + * + * @example + * + * var kdf = CryptoJS.algo.PBKDF2.create(); + * var kdf = CryptoJS.algo.PBKDF2.create({ keySize: 8 }); + * var kdf = CryptoJS.algo.PBKDF2.create({ keySize: 8, iterations: 1000 }); + */ + init: function(cfg) { + this.cfg = this.cfg.extend(cfg); + }, + + /** + * 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 + * + * var key = kdf.compute(password, salt); + */ + compute: function(password, salt) { + // Shortcut + var cfg = this.cfg; + + // Init HMAC + var hmac = HMAC.create(cfg.hasher, password); + + // Initial values + var derivedKey = WordArray.create(); + var blockIndex = WordArray.create([0x00000001]); + + // Shortcuts + var derivedKeyWords = derivedKey.words; + var blockIndexWords = blockIndex.words; + var keySize = cfg.keySize; + var iterations = cfg.iterations; + + // Generate key + while (derivedKeyWords.length < keySize) { + var block = hmac.update(salt).finalize(blockIndex); + hmac.reset(); + + // Shortcuts + var blockWords = block.words; + var blockWordsLength = blockWords.length; + + // Iterations + var intermediate = block; + for (var i = 1; i < iterations; i++) { + intermediate = hmac.finalize(intermediate); + hmac.reset(); + + // Shortcut + var intermediateWords = intermediate.words; + + // XOR intermediate with block + 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); + }; +}()); + + + + + + + + + + + + +/** + * Cipher core components. + */ +CryptoJS.lib.Cipher || (function(undefined) { + // Shortcuts + 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({ + /** + * Configuration options. + * + * @property {WordArray} iv The IV to use for this operation. + */ + cfg: Base.extend(), + + /** + * 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 + * + * var cipher = CryptoJS.algo.AES.createEncryptor(keyWordArray, { iv: ivWordArray }); + */ + createEncryptor: function(key, cfg) { + return this.create(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 + * + * var cipher = CryptoJS.algo.AES.createDecryptor(keyWordArray, { iv: ivWordArray }); + */ + createDecryptor: function(key, cfg) { + return this.create(this._DEC_XFORM_MODE, key, cfg); + }, + + /** + * 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 + * + * var cipher = CryptoJS.algo.AES.create(CryptoJS.algo.AES._ENC_XFORM_MODE, keyWordArray, { iv: ivWordArray }); + */ + init: function(xformMode, key, cfg) { + // Apply config defaults + this.cfg = this.cfg.extend(cfg); + + // Store transform mode and key + this._xformMode = xformMode; + this._key = key; + + // Set initial values + this.reset(); + }, + + /** + * Resets this cipher to its initial state. + * + * @example + * + * cipher.reset(); + */ + reset: function() { + // Reset data buffer + BufferedBlockAlgorithm.reset.call(this); + + // Perform concrete-cipher logic + 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 + * + * var encrypted = cipher.process('data'); + * var encrypted = cipher.process(wordArray); + */ + process: function(dataUpdate) { + // Append + this._append(dataUpdate); + + // Process available blocks + 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 + * + * var encrypted = cipher.finalize(); + * var encrypted = cipher.finalize('data'); + * var encrypted = cipher.finalize(wordArray); + */ + finalize: function(dataUpdate) { + // Final data update + if (dataUpdate) { + this._append(dataUpdate); + } + + // Perform concrete-cipher logic + var finalProcessedData = this._doFinalize(); + + return finalProcessedData; + }, + + keySize: 128 / 32, + + ivSize: 128 / 32, + + _ENC_XFORM_MODE: 1, + + _DEC_XFORM_MODE: 2, + + /** + * 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 + * + * var AES = CryptoJS.lib.Cipher._createHelper(CryptoJS.algo.AES); + */ + _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() { + // Process partial blocks + 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({ + /** + * Creates this mode for encryption. + * + * @param {Cipher} cipher A block cipher instance. + * @param {Array} iv The IV words. + * + * @static + * + * @example + * + * var mode = CryptoJS.mode.CBC.createEncryptor(cipher, iv.words); + */ + createEncryptor: function(cipher, iv) { + return this.Encryptor.create(cipher, iv); + }, + + /** + * Creates this mode for decryption. + * + * @param {Cipher} cipher A block cipher instance. + * @param {Array} iv The IV words. + * + * @static + * + * @example + * + * var mode = CryptoJS.mode.CBC.createDecryptor(cipher, iv.words); + */ + createDecryptor: function(cipher, iv) { + return this.Decryptor.create(cipher, iv); + }, + + /** + * Initializes a newly created mode. + * + * @param {Cipher} cipher A block cipher instance. + * @param {Array} iv The IV words. + * + * @example + * + * var mode = CryptoJS.mode.CBC.Encryptor.create(cipher, iv.words); + */ + 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({ + /** + * 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: function(words, offset) { + // Shortcuts + var cipher = this._cipher; + var blockSize = cipher.blockSize; + + // XOR and encrypt + xorBlock.call(this, words, offset, blockSize); + cipher.encryptBlock(words, offset); + + // Remember this block to use with next block + this._prevBlock = words.slice(offset, offset + blockSize); + } + }); + + /** + * CBC decryptor. + */ + CBC.Decryptor = CBC.extend({ + /** + * 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: function(words, offset) { + // Shortcuts + var cipher = this._cipher; + var blockSize = cipher.blockSize; + + // Remember this block to use with next block + var thisBlock = words.slice(offset, offset + blockSize); + + // Decrypt and XOR + cipher.decryptBlock(words, offset); + xorBlock.call(this, words, offset, blockSize); + + // This block becomes the previous block + this._prevBlock = thisBlock; + } + }); + + function xorBlock(words, offset, blockSize) { + var block; + + // Shortcut + var iv = this._iv; + + // Choose mixing block + if (iv) { + block = iv; + + // Remove IV for subsequent blocks + this._iv = undefined; + } else { + block = this._prevBlock; + } + + // XOR blocks + 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 = { + /** + * Pads data using the algorithm defined in PKCS #5/7. + * + * @param {WordArray} data The data to pad. + * @param {number} blockSize The multiple that the data should be padded to. + * + * @static + * + * @example + * + * CryptoJS.pad.Pkcs7.pad(wordArray, 4); + */ + pad: function(data, blockSize) { + // Shortcut + var blockSizeBytes = blockSize * 4; + + // Count padding bytes + var nPaddingBytes = blockSizeBytes - data.sigBytes % blockSizeBytes; + + // Create padding word + var paddingWord = (nPaddingBytes << 24) | (nPaddingBytes << 16) | (nPaddingBytes << 8) | nPaddingBytes; + + // Create padding + var paddingWords = []; + for (var i = 0; i < nPaddingBytes; i += 4) { + paddingWords.push(paddingWord); + } + var padding = WordArray.create(paddingWords, nPaddingBytes); + + // Add padding + data.concat(padding); + }, + + /** + * Unpads data that had been padded using the algorithm defined in PKCS #5/7. + * + * @param {WordArray} data The data to unpad. + * + * @static + * + * @example + * + * CryptoJS.pad.Pkcs7.unpad(wordArray); + */ + unpad: function(data) { + // Get number of padding bytes from last byte + var nPaddingBytes = data.words[(data.sigBytes - 1) >>> 2] & 0xff; + + // Remove padding + 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({ + /** + * Configuration options. + * + * @property {Mode} mode The block mode to use. Default: CBC + * @property {Padding} padding The padding strategy to use. Default: Pkcs7 + */ + cfg: Cipher.cfg.extend({ + mode: CBC, + padding: Pkcs7 + }), + + reset: function() { + var modeCreator; + + // Reset cipher + Cipher.reset.call(this); + + // Shortcuts + var cfg = this.cfg; + var iv = cfg.iv; + var mode = cfg.mode; + + // Reset block mode + if (this._xformMode == this._ENC_XFORM_MODE) { + modeCreator = mode.createEncryptor; + } else /* if (this._xformMode == this._DEC_XFORM_MODE) */ { + modeCreator = mode.createDecryptor; + // Keep at least one block in the buffer for unpadding + 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; + + // Shortcut + var padding = this.cfg.padding; + + // Finalize + if (this._xformMode == this._ENC_XFORM_MODE) { + // Pad data + padding.pad(this._data, this.blockSize); + + // Process final blocks + finalProcessedBlocks = this._process(!!'flush'); + } else /* if (this._xformMode == this._DEC_XFORM_MODE) */ { + // Process final blocks + finalProcessedBlocks = this._process(!!'flush'); + + // Unpad data + 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({ + /** + * Initializes a newly created cipher params object. + * + * @param {Object} cipherParams An object with any of the possible cipher parameters. + * + * @example + * + * var cipherParams = CryptoJS.lib.CipherParams.create({ + * ciphertext: ciphertextWordArray, + * key: keyWordArray, + * iv: ivWordArray, + * salt: saltWordArray, + * algorithm: CryptoJS.algo.AES, + * mode: CryptoJS.mode.CBC, + * padding: CryptoJS.pad.PKCS7, + * blockSize: 4, + * formatter: CryptoJS.format.OpenSSL + * }); + */ + init: function(cipherParams) { + 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 + * + * var string = cipherParams + ''; + * var string = cipherParams.toString(); + * var string = cipherParams.toString(CryptoJS.format.OpenSSL); + */ + toString: function(formatter) { + return (formatter || this.formatter).stringify(this); + } + }); + + /** + * Format namespace. + */ + var C_format = C.format = {}; + + /** + * OpenSSL formatting strategy. + */ + var OpenSSLFormatter = C_format.OpenSSL = { + /** + * Converts a cipher params object to an OpenSSL-compatible string. + * + * @param {CipherParams} cipherParams The cipher params object. + * + * @return {string} The OpenSSL-compatible string. + * + * @static + * + * @example + * + * var openSSLString = CryptoJS.format.OpenSSL.stringify(cipherParams); + */ + stringify: function(cipherParams) { + var wordArray; + + // Shortcuts + var ciphertext = cipherParams.ciphertext; + var salt = cipherParams.salt; + + // Format + if (salt) { + wordArray = WordArray.create([0x53616c74, 0x65645f5f]).concat(salt).concat(ciphertext); + } else { + wordArray = ciphertext; + } + + return wordArray.toString(Base64); + }, + + /** + * Converts an OpenSSL-compatible string to a cipher params object. + * + * @param {string} openSSLStr The OpenSSL-compatible string. + * + * @return {CipherParams} The cipher params object. + * + * @static + * + * @example + * + * var cipherParams = CryptoJS.format.OpenSSL.parse(openSSLString); + */ + parse: function(openSSLStr) { + var salt; + + // Parse base64 + var ciphertext = Base64.parse(openSSLStr); + + // Shortcut + var ciphertextWords = ciphertext.words; + + // Test for salt + if (ciphertextWords[0] == 0x53616c74 && ciphertextWords[1] == 0x65645f5f) { + // Extract salt + salt = WordArray.create(ciphertextWords.slice(2, 4)); + + // Remove salt from ciphertext + ciphertextWords.splice(0, 4); + ciphertext.sigBytes -= 16; + } + + return CipherParams.create({ + ciphertext: ciphertext, + salt: salt + }); + } + }; + + /** + * A cipher wrapper that returns ciphertext as a serializable cipher params object. + */ + var SerializableCipher = C_lib.SerializableCipher = Base.extend({ + /** + * Configuration options. + * + * @property {Formatter} format The formatting strategy to convert cipher param objects to and from a string. Default: OpenSSL + */ + cfg: Base.extend({ + format: OpenSSLFormatter + }), + + /** + * 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. + * + * @return {CipherParams} A cipher params object. + * + * @static + * + * @example + * + * var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key); + * var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key, { iv: iv }); + * var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key, { iv: iv, format: CryptoJS.format.OpenSSL }); + */ + encrypt: function(cipher, message, key, cfg) { + // Apply config defaults + cfg = this.cfg.extend(cfg); + + // Encrypt + var encryptor = cipher.createEncryptor(key, cfg); + var ciphertext = encryptor.finalize(message); + + // Shortcut + var cipherCfg = encryptor.cfg; + + // Create and return serializable cipher params + return CipherParams.create({ + ciphertext: ciphertext, + key: key, + iv: cipherCfg.iv, + algorithm: cipher, + mode: cipherCfg.mode, + padding: cipherCfg.padding, + blockSize: cipher.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 + * + * var plaintext = CryptoJS.lib.SerializableCipher.decrypt(CryptoJS.algo.AES, formattedCiphertext, key, { iv: iv, format: CryptoJS.format.OpenSSL }); + * var plaintext = CryptoJS.lib.SerializableCipher.decrypt(CryptoJS.algo.AES, ciphertextParams, key, { iv: iv, format: CryptoJS.format.OpenSSL }); + */ + decrypt: function(cipher, ciphertext, key, cfg) { + // Apply config defaults + cfg = this.cfg.extend(cfg); + + // Convert string to CipherParams + ciphertext = this._parse(ciphertext, cfg.format); + + // Decrypt + var 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 + * + * var ciphertextParams = CryptoJS.lib.SerializableCipher._parse(ciphertextStringOrParams, format); + */ + _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 = { + /** + * Derives a key and IV from a password. + * + * @param {string} password The password to derive from. + * @param {number} keySize The size in words of the key to generate. + * @param {number} ivSize The size in words of the IV to generate. + * @param {WordArray|string} salt (Optional) A 64-bit salt to use. If omitted, a salt will be generated randomly. + * + * @return {CipherParams} A cipher params object with the key, IV, and salt. + * + * @static + * + * @example + * + * var derivedParams = CryptoJS.kdf.OpenSSL.execute('Password', 256/32, 128/32); + * var derivedParams = CryptoJS.kdf.OpenSSL.execute('Password', 256/32, 128/32, 'saltsalt'); + */ + execute: function(password, keySize, ivSize, salt) { + // Generate random salt + if (!salt) { + salt = WordArray.random(64 / 8); + } + + // Derive key and IV + var key = EvpKDF.create({ + keySize: keySize + ivSize + }).compute(password, salt); + + // Separate key and IV + var iv = WordArray.create(key.words.slice(keySize), ivSize * 4); + key.sigBytes = keySize * 4; + + // Return params + return CipherParams.create({ + key: key, + iv: iv, + salt: 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({ + /** + * Configuration options. + * + * @property {KDF} kdf The key derivation function to use to generate a key and IV from a password. Default: OpenSSL + */ + cfg: SerializableCipher.cfg.extend({ + kdf: OpenSSLKdf + }), + + /** + * 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 + * + * var ciphertextParams = CryptoJS.lib.PasswordBasedCipher.encrypt(CryptoJS.algo.AES, message, 'password'); + * var ciphertextParams = CryptoJS.lib.PasswordBasedCipher.encrypt(CryptoJS.algo.AES, message, 'password', { format: CryptoJS.format.OpenSSL }); + */ + encrypt: function(cipher, message, password, cfg) { + // Apply config defaults + cfg = this.cfg.extend(cfg); + + // Derive key and other params + var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize); + + // Add IV to config + cfg.iv = derivedParams.iv; + + // Encrypt + var ciphertext = SerializableCipher.encrypt.call(this, cipher, message, derivedParams.key, cfg); + + // Mix in derived params + 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 + * + * var plaintext = CryptoJS.lib.PasswordBasedCipher.decrypt(CryptoJS.algo.AES, formattedCiphertext, 'password', { format: CryptoJS.format.OpenSSL }); + * var plaintext = CryptoJS.lib.PasswordBasedCipher.decrypt(CryptoJS.algo.AES, ciphertextParams, 'password', { format: CryptoJS.format.OpenSSL }); + */ + decrypt: function(cipher, ciphertext, password, cfg) { + // Apply config defaults + cfg = this.cfg.extend(cfg); + + // Convert string to CipherParams + ciphertext = this._parse(ciphertext, cfg.format); + + // Derive key and other params + var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize, ciphertext.salt); + + // Add IV to config + cfg.iv = derivedParams.iv; + + // Decrypt + 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) { + // Shortcuts + var cipher = this._cipher; + var blockSize = cipher.blockSize; + + generateKeystreamAndEncrypt.call(this, words, offset, blockSize, cipher); + + // Remember this block to use with next block + this._prevBlock = words.slice(offset, offset + blockSize); + } + }); + + CFB.Decryptor = CFB.extend({ + processBlock: function(words, offset) { + // Shortcuts + var cipher = this._cipher; + var blockSize = cipher.blockSize; + + // Remember this block to use with next block + var thisBlock = words.slice(offset, offset + blockSize); + + generateKeystreamAndEncrypt.call(this, words, offset, blockSize, cipher); + + // This block becomes the previous block + this._prevBlock = thisBlock; + } + }); + + function generateKeystreamAndEncrypt(words, offset, blockSize, cipher) { + var keystream; + + // Shortcut + var iv = this._iv; + + // Generate keystream + if (iv) { + keystream = iv.slice(0); + + // Remove IV for subsequent blocks + this._iv = undefined; + } else { + keystream = this._prevBlock; + } + cipher.encryptBlock(keystream, 0); + + // Encrypt + 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) { + // Shortcuts + var cipher = this._cipher + var blockSize = cipher.blockSize; + var iv = this._iv; + var counter = this._counter; + + // Generate keystream + if (iv) { + counter = this._counter = iv.slice(0); + + // Remove IV for subsequent blocks + this._iv = undefined; + } + var keystream = counter.slice(0); + cipher.encryptBlock(keystream, 0); + + // Increment counter + counter[blockSize - 1] = (counter[blockSize - 1] + 1) | 0 + + // Encrypt + 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) & 0xff) === 0xff) { //overflow + var b1 = (word >> 16) & 0xff; + var b2 = (word >> 8) & 0xff; + var b3 = word & 0xff; + + if (b1 === 0xff) // overflow b1 + { + b1 = 0; + if (b2 === 0xff) { + b2 = 0; + if (b3 === 0xff) { + b3 = 0; + } else { + ++b3; + } + } else { + ++b2; + } + } else { + ++b1; + } + + word = 0; + word += (b1 << 16); + word += (b2 << 8); + word += b3; + } else { + word += (0x01 << 24); + } + return word; + } + + function incCounter(counter) { + if ((counter[0] = incWord(counter[0])) === 0) { + // encr_data in fileenc.c from Dr Brian Gladman's counts only with DWORD j < 8 + counter[1] = incWord(counter[1]); + } + return counter; + } + + var Encryptor = CTRGladman.Encryptor = CTRGladman.extend({ + processBlock: function(words, offset) { + // Shortcuts + var cipher = this._cipher + var blockSize = cipher.blockSize; + var iv = this._iv; + var counter = this._counter; + + // Generate keystream + if (iv) { + counter = this._counter = iv.slice(0); + + // Remove IV for subsequent blocks + this._iv = undefined; + } + + incCounter(counter); + + var keystream = counter.slice(0); + cipher.encryptBlock(keystream, 0); + + // Encrypt + 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) { + // Shortcuts + var cipher = this._cipher + var blockSize = cipher.blockSize; + var iv = this._iv; + var keystream = this._keystream; + + // Generate keystream + if (iv) { + keystream = this._keystream = iv.slice(0); + + // Remove IV for subsequent blocks + this._iv = undefined; + } + cipher.encryptBlock(keystream, 0); + + // Encrypt + 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) { + // Shortcuts + var dataSigBytes = data.sigBytes; + var blockSizeBytes = blockSize * 4; + + // Count padding bytes + var nPaddingBytes = blockSizeBytes - dataSigBytes % blockSizeBytes; + + // Compute last byte position + var lastBytePos = dataSigBytes + nPaddingBytes - 1; + + // Pad + data.clamp(); + data.words[lastBytePos >>> 2] |= nPaddingBytes << (24 - (lastBytePos % 4) * 8); + data.sigBytes += nPaddingBytes; + }, + + unpad: function(data) { + // Get number of padding bytes from last byte + var nPaddingBytes = data.words[(data.sigBytes - 1) >>> 2] & 0xff; + + // Remove padding + data.sigBytes -= nPaddingBytes; + } +}; + + + + + + + + +/** + * ISO 10126 padding strategy. + */ +CryptoJS.pad.Iso10126 = { + pad: function(data, blockSize) { + // Shortcut + var blockSizeBytes = blockSize * 4; + + // Count padding bytes + var nPaddingBytes = blockSizeBytes - data.sigBytes % blockSizeBytes; + + // Pad + data.concat(CryptoJS.lib.WordArray.random(nPaddingBytes - 1)). + concat(CryptoJS.lib.WordArray.create([nPaddingBytes << 24], 1)); + }, + + unpad: function(data) { + // Get number of padding bytes from last byte + var nPaddingBytes = data.words[(data.sigBytes - 1) >>> 2] & 0xff; + + // Remove padding + data.sigBytes -= nPaddingBytes; + } +}; + + + + + + +/** + * ISO/IEC 9797-1 Padding Method 2. + */ +CryptoJS.pad.Iso97971 = { + pad: function(data, blockSize) { + // Add 0x80 byte + data.concat(CryptoJS.lib.WordArray.create([0x80000000], 1)); + + // Zero pad the rest + CryptoJS.pad.ZeroPadding.pad(data, blockSize); + }, + + unpad: function(data) { + // Remove zero padding + CryptoJS.pad.ZeroPadding.unpad(data); + + // Remove one more byte -- the 0x80 byte + data.sigBytes--; + } +}; + + + + + + + + + +/** + * Zero padding strategy. + */ +CryptoJS.pad.ZeroPadding = { + pad: function(data, blockSize) { + // Shortcut + var blockSizeBytes = blockSize * 4; + + // Pad + data.clamp(); + data.sigBytes += blockSizeBytes - ((data.sigBytes % blockSizeBytes) || blockSizeBytes); + }, + + unpad: function(data) { + // Shortcut + var dataWords = data.words; + + // Unpad + var i = data.sigBytes - 1; + for (var i = data.sigBytes - 1; i >= 0; i--) { + if (((dataWords[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff)) { + data.sigBytes = i + 1; + break; + } + } + } +}; + + + + + + + +/** + * A noop padding strategy. + */ +CryptoJS.pad.NoPadding = { + pad: function() {}, + + unpad: function() {} +}; + + +(function(undefined) { + // Shortcuts + 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 = { + /** + * Converts the ciphertext of a cipher params object to a hexadecimally encoded string. + * + * @param {CipherParams} cipherParams The cipher params object. + * + * @return {string} The hexadecimally encoded string. + * + * @static + * + * @example + * + * var hexString = CryptoJS.format.Hex.stringify(cipherParams); + */ + stringify: function(cipherParams) { + return cipherParams.ciphertext.toString(Hex); + }, + + /** + * Converts a hexadecimally encoded ciphertext string to a cipher params object. + * + * @param {string} input The hexadecimally encoded string. + * + * @return {CipherParams} The cipher params object. + * + * @static + * + * @example + * + * var cipherParams = CryptoJS.format.Hex.parse(hexString); + */ + parse: function(input) { + var ciphertext = Hex.parse(input); + return CipherParams.create({ + ciphertext: ciphertext + }); + } + }; +}()); + + + + + + + + + +(function() { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var BlockCipher = C_lib.BlockCipher; + var C_algo = C.algo; + + // Lookup tables + 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 = []; + + // Compute lookup tables + (function() { + // Compute double table + var d = []; + for (var i = 0; i < 256; i++) { + if (i < 128) { + d[i] = i << 1; + } else { + d[i] = (i << 1) ^ 0x11b; + } + } + + // Walk GF(2^8) + var x = 0; + var xi = 0; + for (var i = 0; i < 256; i++) { + // Compute sbox + var sx = xi ^ (xi << 1) ^ (xi << 2) ^ (xi << 3) ^ (xi << 4); + sx = (sx >>> 8) ^ (sx & 0xff) ^ 0x63; + SBOX[x] = sx; + INV_SBOX[sx] = x; + + // Compute multiplication + var x2 = d[x]; + var x4 = d[x2]; + var x8 = d[x4]; + + // Compute sub bytes, mix columns tables + var t = (d[sx] * 0x101) ^ (sx * 0x1010100); + 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; + + // Compute inv sub bytes, inv mix columns tables + var t = (x8 * 0x1010101) ^ (x4 * 0x10001) ^ (x2 * 0x101) ^ (x * 0x1010100); + 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; + + // Compute next counter + if (!x) { + x = xi = 1; + } else { + x = x2 ^ d[d[d[x8 ^ x2]]]; + xi ^= d[d[xi]]; + } + } + }()); + + // Precomputed Rcon lookup + var RCON = [0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36]; + + /** + * AES block cipher algorithm. + */ + var AES = C_algo.AES = BlockCipher.extend({ + _doReset: function() { + var t; + + // Skip reset of nRounds has been set before and key did not change + if (this._nRounds && this._keyPriorReset === this._key) { + return; + } + + // Shortcuts + var key = this._keyPriorReset = this._key; + var keyWords = key.words; + var keySize = key.sigBytes / 4; + + // Compute number of rounds + var nRounds = this._nRounds = keySize + 6; + + // Compute number of key schedule rows + var ksRows = (nRounds + 1) * 4; + + // Compute key schedule + 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)) { + // Rot word + t = (t << 8) | (t >>> 24); + + // Sub word + t = (SBOX[t >>> 24] << 24) | (SBOX[(t >>> 16) & 0xff] << 16) | (SBOX[(t >>> 8) & 0xff] << 8) | SBOX[t & 0xff]; + + // Mix Rcon + t ^= RCON[(ksRow / keySize) | 0] << 24; + } else if (keySize > 6 && ksRow % keySize == 4) { + // Sub word + t = (SBOX[t >>> 24] << 24) | (SBOX[(t >>> 16) & 0xff] << 16) | (SBOX[(t >>> 8) & 0xff] << 8) | SBOX[t & 0xff]; + } + + keySchedule[ksRow] = keySchedule[ksRow - keySize] ^ t; + } + } + + // Compute inv key schedule + 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) & 0xff]] ^ + INV_SUB_MIX_2[SBOX[(t >>> 8) & 0xff]] ^ INV_SUB_MIX_3[SBOX[t & 0xff]]; + } + } + }, + + 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) { + // Swap 2nd and 4th rows + 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); + + // Inv swap 2nd and 4th rows + 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) { + // Shortcut + var nRounds = this._nRounds; + + // Get input, add round key + 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]; + + // Key schedule row counter + var ksRow = 4; + + // Rounds + for (var round = 1; round < nRounds; round++) { + // Shift rows, sub bytes, mix columns, add round key + var t0 = SUB_MIX_0[s0 >>> 24] ^ SUB_MIX_1[(s1 >>> 16) & 0xff] ^ SUB_MIX_2[(s2 >>> 8) & 0xff] ^ SUB_MIX_3[s3 & 0xff] ^ keySchedule[ksRow++]; + var t1 = SUB_MIX_0[s1 >>> 24] ^ SUB_MIX_1[(s2 >>> 16) & 0xff] ^ SUB_MIX_2[(s3 >>> 8) & 0xff] ^ SUB_MIX_3[s0 & 0xff] ^ keySchedule[ksRow++]; + var t2 = SUB_MIX_0[s2 >>> 24] ^ SUB_MIX_1[(s3 >>> 16) & 0xff] ^ SUB_MIX_2[(s0 >>> 8) & 0xff] ^ SUB_MIX_3[s1 & 0xff] ^ keySchedule[ksRow++]; + var t3 = SUB_MIX_0[s3 >>> 24] ^ SUB_MIX_1[(s0 >>> 16) & 0xff] ^ SUB_MIX_2[(s1 >>> 8) & 0xff] ^ SUB_MIX_3[s2 & 0xff] ^ keySchedule[ksRow++]; + + // Update state + s0 = t0; + s1 = t1; + s2 = t2; + s3 = t3; + } + + // Shift rows, sub bytes, add round key + var t0 = ((SBOX[s0 >>> 24] << 24) | (SBOX[(s1 >>> 16) & 0xff] << 16) | (SBOX[(s2 >>> 8) & 0xff] << 8) | SBOX[s3 & 0xff]) ^ keySchedule[ksRow++]; + var t1 = ((SBOX[s1 >>> 24] << 24) | (SBOX[(s2 >>> 16) & 0xff] << 16) | (SBOX[(s3 >>> 8) & 0xff] << 8) | SBOX[s0 & 0xff]) ^ keySchedule[ksRow++]; + var t2 = ((SBOX[s2 >>> 24] << 24) | (SBOX[(s3 >>> 16) & 0xff] << 16) | (SBOX[(s0 >>> 8) & 0xff] << 8) | SBOX[s1 & 0xff]) ^ keySchedule[ksRow++]; + var t3 = ((SBOX[s3 >>> 24] << 24) | (SBOX[(s0 >>> 16) & 0xff] << 16) | (SBOX[(s1 >>> 8) & 0xff] << 8) | SBOX[s2 & 0xff]) ^ keySchedule[ksRow++]; + + // Set output + 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() { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var WordArray = C_lib.WordArray; + var BlockCipher = C_lib.BlockCipher; + var C_algo = C.algo; + + // Permuted Choice 1 constants + 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 + ]; + + // Permuted Choice 2 constants + 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 + ]; + + // Cumulative bit shift constants + var BIT_SHIFTS = [1, 2, 4, 6, 8, 10, 12, 14, 15, 17, 19, 21, 23, 25, 27, 28]; + + // SBOXes and round permutation constants + var SBOX_P = [{ + 0x0: 0x808200, + 0x10000000: 0x8000, + 0x20000000: 0x808002, + 0x30000000: 0x2, + 0x40000000: 0x200, + 0x50000000: 0x808202, + 0x60000000: 0x800202, + 0x70000000: 0x800000, + 0x80000000: 0x202, + 0x90000000: 0x800200, + 0xa0000000: 0x8200, + 0xb0000000: 0x808000, + 0xc0000000: 0x8002, + 0xd0000000: 0x800002, + 0xe0000000: 0x0, + 0xf0000000: 0x8202, + 0x8000000: 0x0, + 0x18000000: 0x808202, + 0x28000000: 0x8202, + 0x38000000: 0x8000, + 0x48000000: 0x808200, + 0x58000000: 0x200, + 0x68000000: 0x808002, + 0x78000000: 0x2, + 0x88000000: 0x800200, + 0x98000000: 0x8200, + 0xa8000000: 0x808000, + 0xb8000000: 0x800202, + 0xc8000000: 0x800002, + 0xd8000000: 0x8002, + 0xe8000000: 0x202, + 0xf8000000: 0x800000, + 0x1: 0x8000, + 0x10000001: 0x2, + 0x20000001: 0x808200, + 0x30000001: 0x800000, + 0x40000001: 0x808002, + 0x50000001: 0x8200, + 0x60000001: 0x200, + 0x70000001: 0x800202, + 0x80000001: 0x808202, + 0x90000001: 0x808000, + 0xa0000001: 0x800002, + 0xb0000001: 0x8202, + 0xc0000001: 0x202, + 0xd0000001: 0x800200, + 0xe0000001: 0x8002, + 0xf0000001: 0x0, + 0x8000001: 0x808202, + 0x18000001: 0x808000, + 0x28000001: 0x800000, + 0x38000001: 0x200, + 0x48000001: 0x8000, + 0x58000001: 0x800002, + 0x68000001: 0x2, + 0x78000001: 0x8202, + 0x88000001: 0x8002, + 0x98000001: 0x800202, + 0xa8000001: 0x202, + 0xb8000001: 0x808200, + 0xc8000001: 0x800200, + 0xd8000001: 0x0, + 0xe8000001: 0x8200, + 0xf8000001: 0x808002 + }, + { + 0x0: 0x40084010, + 0x1000000: 0x4000, + 0x2000000: 0x80000, + 0x3000000: 0x40080010, + 0x4000000: 0x40000010, + 0x5000000: 0x40084000, + 0x6000000: 0x40004000, + 0x7000000: 0x10, + 0x8000000: 0x84000, + 0x9000000: 0x40004010, + 0xa000000: 0x40000000, + 0xb000000: 0x84010, + 0xc000000: 0x80010, + 0xd000000: 0x0, + 0xe000000: 0x4010, + 0xf000000: 0x40080000, + 0x800000: 0x40004000, + 0x1800000: 0x84010, + 0x2800000: 0x10, + 0x3800000: 0x40004010, + 0x4800000: 0x40084010, + 0x5800000: 0x40000000, + 0x6800000: 0x80000, + 0x7800000: 0x40080010, + 0x8800000: 0x80010, + 0x9800000: 0x0, + 0xa800000: 0x4000, + 0xb800000: 0x40080000, + 0xc800000: 0x40000010, + 0xd800000: 0x84000, + 0xe800000: 0x40084000, + 0xf800000: 0x4010, + 0x10000000: 0x0, + 0x11000000: 0x40080010, + 0x12000000: 0x40004010, + 0x13000000: 0x40084000, + 0x14000000: 0x40080000, + 0x15000000: 0x10, + 0x16000000: 0x84010, + 0x17000000: 0x4000, + 0x18000000: 0x4010, + 0x19000000: 0x80000, + 0x1a000000: 0x80010, + 0x1b000000: 0x40000010, + 0x1c000000: 0x84000, + 0x1d000000: 0x40004000, + 0x1e000000: 0x40000000, + 0x1f000000: 0x40084010, + 0x10800000: 0x84010, + 0x11800000: 0x80000, + 0x12800000: 0x40080000, + 0x13800000: 0x4000, + 0x14800000: 0x40004000, + 0x15800000: 0x40084010, + 0x16800000: 0x10, + 0x17800000: 0x40000000, + 0x18800000: 0x40084000, + 0x19800000: 0x40000010, + 0x1a800000: 0x40004010, + 0x1b800000: 0x80010, + 0x1c800000: 0x0, + 0x1d800000: 0x4010, + 0x1e800000: 0x40080010, + 0x1f800000: 0x84000 + }, + { + 0x0: 0x104, + 0x100000: 0x0, + 0x200000: 0x4000100, + 0x300000: 0x10104, + 0x400000: 0x10004, + 0x500000: 0x4000004, + 0x600000: 0x4010104, + 0x700000: 0x4010000, + 0x800000: 0x4000000, + 0x900000: 0x4010100, + 0xa00000: 0x10100, + 0xb00000: 0x4010004, + 0xc00000: 0x4000104, + 0xd00000: 0x10000, + 0xe00000: 0x4, + 0xf00000: 0x100, + 0x80000: 0x4010100, + 0x180000: 0x4010004, + 0x280000: 0x0, + 0x380000: 0x4000100, + 0x480000: 0x4000004, + 0x580000: 0x10000, + 0x680000: 0x10004, + 0x780000: 0x104, + 0x880000: 0x4, + 0x980000: 0x100, + 0xa80000: 0x4010000, + 0xb80000: 0x10104, + 0xc80000: 0x10100, + 0xd80000: 0x4000104, + 0xe80000: 0x4010104, + 0xf80000: 0x4000000, + 0x1000000: 0x4010100, + 0x1100000: 0x10004, + 0x1200000: 0x10000, + 0x1300000: 0x4000100, + 0x1400000: 0x100, + 0x1500000: 0x4010104, + 0x1600000: 0x4000004, + 0x1700000: 0x0, + 0x1800000: 0x4000104, + 0x1900000: 0x4000000, + 0x1a00000: 0x4, + 0x1b00000: 0x10100, + 0x1c00000: 0x4010000, + 0x1d00000: 0x104, + 0x1e00000: 0x10104, + 0x1f00000: 0x4010004, + 0x1080000: 0x4000000, + 0x1180000: 0x104, + 0x1280000: 0x4010100, + 0x1380000: 0x0, + 0x1480000: 0x10004, + 0x1580000: 0x4000100, + 0x1680000: 0x100, + 0x1780000: 0x4010004, + 0x1880000: 0x10000, + 0x1980000: 0x4010104, + 0x1a80000: 0x10104, + 0x1b80000: 0x4000004, + 0x1c80000: 0x4000104, + 0x1d80000: 0x4010000, + 0x1e80000: 0x4, + 0x1f80000: 0x10100 + }, + { + 0x0: 0x80401000, + 0x10000: 0x80001040, + 0x20000: 0x401040, + 0x30000: 0x80400000, + 0x40000: 0x0, + 0x50000: 0x401000, + 0x60000: 0x80000040, + 0x70000: 0x400040, + 0x80000: 0x80000000, + 0x90000: 0x400000, + 0xa0000: 0x40, + 0xb0000: 0x80001000, + 0xc0000: 0x80400040, + 0xd0000: 0x1040, + 0xe0000: 0x1000, + 0xf0000: 0x80401040, + 0x8000: 0x80001040, + 0x18000: 0x40, + 0x28000: 0x80400040, + 0x38000: 0x80001000, + 0x48000: 0x401000, + 0x58000: 0x80401040, + 0x68000: 0x0, + 0x78000: 0x80400000, + 0x88000: 0x1000, + 0x98000: 0x80401000, + 0xa8000: 0x400000, + 0xb8000: 0x1040, + 0xc8000: 0x80000000, + 0xd8000: 0x400040, + 0xe8000: 0x401040, + 0xf8000: 0x80000040, + 0x100000: 0x400040, + 0x110000: 0x401000, + 0x120000: 0x80000040, + 0x130000: 0x0, + 0x140000: 0x1040, + 0x150000: 0x80400040, + 0x160000: 0x80401000, + 0x170000: 0x80001040, + 0x180000: 0x80401040, + 0x190000: 0x80000000, + 0x1a0000: 0x80400000, + 0x1b0000: 0x401040, + 0x1c0000: 0x80001000, + 0x1d0000: 0x400000, + 0x1e0000: 0x40, + 0x1f0000: 0x1000, + 0x108000: 0x80400000, + 0x118000: 0x80401040, + 0x128000: 0x0, + 0x138000: 0x401000, + 0x148000: 0x400040, + 0x158000: 0x80000000, + 0x168000: 0x80001040, + 0x178000: 0x40, + 0x188000: 0x80000040, + 0x198000: 0x1000, + 0x1a8000: 0x80001000, + 0x1b8000: 0x80400040, + 0x1c8000: 0x1040, + 0x1d8000: 0x80401000, + 0x1e8000: 0x400000, + 0x1f8000: 0x401040 + }, + { + 0x0: 0x80, + 0x1000: 0x1040000, + 0x2000: 0x40000, + 0x3000: 0x20000000, + 0x4000: 0x20040080, + 0x5000: 0x1000080, + 0x6000: 0x21000080, + 0x7000: 0x40080, + 0x8000: 0x1000000, + 0x9000: 0x20040000, + 0xa000: 0x20000080, + 0xb000: 0x21040080, + 0xc000: 0x21040000, + 0xd000: 0x0, + 0xe000: 0x1040080, + 0xf000: 0x21000000, + 0x800: 0x1040080, + 0x1800: 0x21000080, + 0x2800: 0x80, + 0x3800: 0x1040000, + 0x4800: 0x40000, + 0x5800: 0x20040080, + 0x6800: 0x21040000, + 0x7800: 0x20000000, + 0x8800: 0x20040000, + 0x9800: 0x0, + 0xa800: 0x21040080, + 0xb800: 0x1000080, + 0xc800: 0x20000080, + 0xd800: 0x21000000, + 0xe800: 0x1000000, + 0xf800: 0x40080, + 0x10000: 0x40000, + 0x11000: 0x80, + 0x12000: 0x20000000, + 0x13000: 0x21000080, + 0x14000: 0x1000080, + 0x15000: 0x21040000, + 0x16000: 0x20040080, + 0x17000: 0x1000000, + 0x18000: 0x21040080, + 0x19000: 0x21000000, + 0x1a000: 0x1040000, + 0x1b000: 0x20040000, + 0x1c000: 0x40080, + 0x1d000: 0x20000080, + 0x1e000: 0x0, + 0x1f000: 0x1040080, + 0x10800: 0x21000080, + 0x11800: 0x1000000, + 0x12800: 0x1040000, + 0x13800: 0x20040080, + 0x14800: 0x20000000, + 0x15800: 0x1040080, + 0x16800: 0x80, + 0x17800: 0x21040000, + 0x18800: 0x40080, + 0x19800: 0x21040080, + 0x1a800: 0x0, + 0x1b800: 0x21000000, + 0x1c800: 0x1000080, + 0x1d800: 0x40000, + 0x1e800: 0x20040000, + 0x1f800: 0x20000080 + }, + { + 0x0: 0x10000008, + 0x100: 0x2000, + 0x200: 0x10200000, + 0x300: 0x10202008, + 0x400: 0x10002000, + 0x500: 0x200000, + 0x600: 0x200008, + 0x700: 0x10000000, + 0x800: 0x0, + 0x900: 0x10002008, + 0xa00: 0x202000, + 0xb00: 0x8, + 0xc00: 0x10200008, + 0xd00: 0x202008, + 0xe00: 0x2008, + 0xf00: 0x10202000, + 0x80: 0x10200000, + 0x180: 0x10202008, + 0x280: 0x8, + 0x380: 0x200000, + 0x480: 0x202008, + 0x580: 0x10000008, + 0x680: 0x10002000, + 0x780: 0x2008, + 0x880: 0x200008, + 0x980: 0x2000, + 0xa80: 0x10002008, + 0xb80: 0x10200008, + 0xc80: 0x0, + 0xd80: 0x10202000, + 0xe80: 0x202000, + 0xf80: 0x10000000, + 0x1000: 0x10002000, + 0x1100: 0x10200008, + 0x1200: 0x10202008, + 0x1300: 0x2008, + 0x1400: 0x200000, + 0x1500: 0x10000000, + 0x1600: 0x10000008, + 0x1700: 0x202000, + 0x1800: 0x202008, + 0x1900: 0x0, + 0x1a00: 0x8, + 0x1b00: 0x10200000, + 0x1c00: 0x2000, + 0x1d00: 0x10002008, + 0x1e00: 0x10202000, + 0x1f00: 0x200008, + 0x1080: 0x8, + 0x1180: 0x202000, + 0x1280: 0x200000, + 0x1380: 0x10000008, + 0x1480: 0x10002000, + 0x1580: 0x2008, + 0x1680: 0x10202008, + 0x1780: 0x10200000, + 0x1880: 0x10202000, + 0x1980: 0x10200008, + 0x1a80: 0x2000, + 0x1b80: 0x202008, + 0x1c80: 0x200008, + 0x1d80: 0x0, + 0x1e80: 0x10000000, + 0x1f80: 0x10002008 + }, + { + 0x0: 0x100000, + 0x10: 0x2000401, + 0x20: 0x400, + 0x30: 0x100401, + 0x40: 0x2100401, + 0x50: 0x0, + 0x60: 0x1, + 0x70: 0x2100001, + 0x80: 0x2000400, + 0x90: 0x100001, + 0xa0: 0x2000001, + 0xb0: 0x2100400, + 0xc0: 0x2100000, + 0xd0: 0x401, + 0xe0: 0x100400, + 0xf0: 0x2000000, + 0x8: 0x2100001, + 0x18: 0x0, + 0x28: 0x2000401, + 0x38: 0x2100400, + 0x48: 0x100000, + 0x58: 0x2000001, + 0x68: 0x2000000, + 0x78: 0x401, + 0x88: 0x100401, + 0x98: 0x2000400, + 0xa8: 0x2100000, + 0xb8: 0x100001, + 0xc8: 0x400, + 0xd8: 0x2100401, + 0xe8: 0x1, + 0xf8: 0x100400, + 0x100: 0x2000000, + 0x110: 0x100000, + 0x120: 0x2000401, + 0x130: 0x2100001, + 0x140: 0x100001, + 0x150: 0x2000400, + 0x160: 0x2100400, + 0x170: 0x100401, + 0x180: 0x401, + 0x190: 0x2100401, + 0x1a0: 0x100400, + 0x1b0: 0x1, + 0x1c0: 0x0, + 0x1d0: 0x2100000, + 0x1e0: 0x2000001, + 0x1f0: 0x400, + 0x108: 0x100400, + 0x118: 0x2000401, + 0x128: 0x2100001, + 0x138: 0x1, + 0x148: 0x2000000, + 0x158: 0x100000, + 0x168: 0x401, + 0x178: 0x2100400, + 0x188: 0x2000001, + 0x198: 0x2100000, + 0x1a8: 0x0, + 0x1b8: 0x2100401, + 0x1c8: 0x100401, + 0x1d8: 0x400, + 0x1e8: 0x2000400, + 0x1f8: 0x100001 + }, + { + 0x0: 0x8000820, + 0x1: 0x20000, + 0x2: 0x8000000, + 0x3: 0x20, + 0x4: 0x20020, + 0x5: 0x8020820, + 0x6: 0x8020800, + 0x7: 0x800, + 0x8: 0x8020000, + 0x9: 0x8000800, + 0xa: 0x20800, + 0xb: 0x8020020, + 0xc: 0x820, + 0xd: 0x0, + 0xe: 0x8000020, + 0xf: 0x20820, + 0x80000000: 0x800, + 0x80000001: 0x8020820, + 0x80000002: 0x8000820, + 0x80000003: 0x8000000, + 0x80000004: 0x8020000, + 0x80000005: 0x20800, + 0x80000006: 0x20820, + 0x80000007: 0x20, + 0x80000008: 0x8000020, + 0x80000009: 0x820, + 0x8000000a: 0x20020, + 0x8000000b: 0x8020800, + 0x8000000c: 0x0, + 0x8000000d: 0x8020020, + 0x8000000e: 0x8000800, + 0x8000000f: 0x20000, + 0x10: 0x20820, + 0x11: 0x8020800, + 0x12: 0x20, + 0x13: 0x800, + 0x14: 0x8000800, + 0x15: 0x8000020, + 0x16: 0x8020020, + 0x17: 0x20000, + 0x18: 0x0, + 0x19: 0x20020, + 0x1a: 0x8020000, + 0x1b: 0x8000820, + 0x1c: 0x8020820, + 0x1d: 0x20800, + 0x1e: 0x820, + 0x1f: 0x8000000, + 0x80000010: 0x20000, + 0x80000011: 0x800, + 0x80000012: 0x8020020, + 0x80000013: 0x20820, + 0x80000014: 0x20, + 0x80000015: 0x8020000, + 0x80000016: 0x8000000, + 0x80000017: 0x8000820, + 0x80000018: 0x8020820, + 0x80000019: 0x8000020, + 0x8000001a: 0x8000800, + 0x8000001b: 0x0, + 0x8000001c: 0x20800, + 0x8000001d: 0x820, + 0x8000001e: 0x20020, + 0x8000001f: 0x8020800 + } + ]; + + // Masks that select the SBOX input + var SBOX_MASK = [ + 0xf8000001, 0x1f800000, 0x01f80000, 0x001f8000, + 0x0001f800, 0x00001f80, 0x000001f8, 0x8000001f + ]; + + /** + * DES block cipher algorithm. + */ + var DES = C_algo.DES = BlockCipher.extend({ + _doReset: function() { + // Shortcuts + var key = this._key; + var keyWords = key.words; + + // Select 56 bits according to PC1 + var keyBits = []; + for (var i = 0; i < 56; i++) { + var keyBitPos = PC1[i] - 1; + keyBits[i] = (keyWords[keyBitPos >>> 5] >>> (31 - keyBitPos % 32)) & 1; + } + + // Assemble 16 subkeys + var subKeys = this._subKeys = []; + for (var nSubKey = 0; nSubKey < 16; nSubKey++) { + // Create subkey + var subKey = subKeys[nSubKey] = []; + + // Shortcut + var bitShift = BIT_SHIFTS[nSubKey]; + + // Select 48 bits according to PC2 + for (var i = 0; i < 24; i++) { + // Select from the left 28 key bits + subKey[(i / 6) | 0] |= keyBits[((PC2[i] - 1) + bitShift) % 28] << (31 - i % 6); + + // Select from the right 28 key bits + subKey[4 + ((i / 6) | 0)] |= keyBits[28 + (((PC2[i + 24] - 1) + bitShift) % 28)] << (31 - i % 6); + } + + // Since each subkey is applied to an expanded 32-bit input, + // the subkey can be broken into 8 values scaled to 32-bits, + // which allows the key to be used without expansion + 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); + } + + // Compute inverse subkeys + 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) { + // Get input + this._lBlock = M[offset]; + this._rBlock = M[offset + 1]; + + // Initial permutation + exchangeLR.call(this, 4, 0x0f0f0f0f); + exchangeLR.call(this, 16, 0x0000ffff); + exchangeRL.call(this, 2, 0x33333333); + exchangeRL.call(this, 8, 0x00ff00ff); + exchangeLR.call(this, 1, 0x55555555); + + // Rounds + for (var round = 0; round < 16; round++) { + // Shortcuts + var subKey = subKeys[round]; + var lBlock = this._lBlock; + var rBlock = this._rBlock; + + // Feistel function + 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; + } + + // Undo swap from last round + var t = this._lBlock; + this._lBlock = this._rBlock; + this._rBlock = t; + + // Final permutation + exchangeLR.call(this, 1, 0x55555555); + exchangeRL.call(this, 8, 0x00ff00ff); + exchangeRL.call(this, 2, 0x33333333); + exchangeLR.call(this, 16, 0x0000ffff); + exchangeLR.call(this, 4, 0x0f0f0f0f); + + // Set output + M[offset] = this._lBlock; + M[offset + 1] = this._rBlock; + }, + + keySize: 64 / 32, + + ivSize: 64 / 32, + + blockSize: 64 / 32 + }); + + // Swap bits across the left and right words + 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() { + // Shortcuts + var key = this._key; + var keyWords = key.words; + // Make sure the key length is valid (64, 128 or >= 192 bit) + 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.'); + } + + // Extend the key according to the keying options defined in 3DES standard + 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); + + // Create DES instances + 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() { + // Shortcuts + 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() { + // Shortcuts + var key = this._key; + var keyWords = key.words; + var keySigBytes = key.sigBytes; + + // Init sbox + var S = this._S = []; + for (var i = 0; i < 256; i++) { + S[i] = i; + } + + // Key setup + for (var i = 0, j = 0; i < 256; i++) { + var keyByteIndex = i % keySigBytes; + var keyByte = (keyWords[keyByteIndex >>> 2] >>> (24 - (keyByteIndex % 4) * 8)) & 0xff; + + j = (j + S[i] + keyByte) % 256; + + // Swap + var t = S[i]; + S[i] = S[j]; + S[j] = t; + } + + // Counters + this._i = this._j = 0; + }, + + _doProcessBlock: function(M, offset) { + M[offset] ^= generateKeystreamWord.call(this); + }, + + keySize: 256 / 32, + + ivSize: 0 + }); + + function generateKeystreamWord() { + // Shortcuts + var S = this._S; + var i = this._i; + var j = this._j; + + // Generate keystream word + var keystreamWord = 0; + for (var n = 0; n < 4; n++) { + i = (i + 1) % 256; + j = (j + S[i]) % 256; + + // Swap + var t = S[i]; + S[i] = S[j]; + S[j] = t; + + keystreamWord |= S[(S[i] + S[j]) % 256] << (24 - n * 8); + } + + // Update counters + 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({ + /** + * Configuration options. + * + * @property {number} drop The number of keystream words to drop. Default 192 + */ + cfg: RC4.cfg.extend({ + drop: 192 + }), + + _doReset: function() { + RC4._doReset.call(this); + + // Drop + 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() { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var StreamCipher = C_lib.StreamCipher; + var C_algo = C.algo; + + // Reusable objects + var S = []; + var C_ = []; + var G = []; + + /** + * Rabbit stream cipher algorithm + */ + var Rabbit = C_algo.Rabbit = StreamCipher.extend({ + _doReset: function() { + // Shortcuts + var K = this._key.words; + var iv = this.cfg.iv; + + // Swap endian + for (var i = 0; i < 4; i++) { + K[i] = (((K[i] << 8) | (K[i] >>> 24)) & 0x00ff00ff) | + (((K[i] << 24) | (K[i] >>> 8)) & 0xff00ff00); + } + + // Generate initial state values + 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) + ]; + + // Generate initial counter values + var C = this._C = [ + (K[2] << 16) | (K[2] >>> 16), (K[0] & 0xffff0000) | (K[1] & 0x0000ffff), + (K[3] << 16) | (K[3] >>> 16), (K[1] & 0xffff0000) | (K[2] & 0x0000ffff), + (K[0] << 16) | (K[0] >>> 16), (K[2] & 0xffff0000) | (K[3] & 0x0000ffff), + (K[1] << 16) | (K[1] >>> 16), (K[3] & 0xffff0000) | (K[0] & 0x0000ffff) + ]; + + // Carry bit + this._b = 0; + + // Iterate the system four times + for (var i = 0; i < 4; i++) { + nextState.call(this); + } + + // Modify the counters + for (var i = 0; i < 8; i++) { + C[i] ^= X[(i + 4) & 7]; + } + + // IV setup + if (iv) { + // Shortcuts + var IV = iv.words; + var IV_0 = IV[0]; + var IV_1 = IV[1]; + + // Generate four subvectors + var i0 = (((IV_0 << 8) | (IV_0 >>> 24)) & 0x00ff00ff) | (((IV_0 << 24) | (IV_0 >>> 8)) & 0xff00ff00); + var i2 = (((IV_1 << 8) | (IV_1 >>> 24)) & 0x00ff00ff) | (((IV_1 << 24) | (IV_1 >>> 8)) & 0xff00ff00); + var i1 = (i0 >>> 16) | (i2 & 0xffff0000); + var i3 = (i2 << 16) | (i0 & 0x0000ffff); + + // Modify counter values + C[0] ^= i0; + C[1] ^= i1; + C[2] ^= i2; + C[3] ^= i3; + C[4] ^= i0; + C[5] ^= i1; + C[6] ^= i2; + C[7] ^= i3; + + // Iterate the system four times + for (var i = 0; i < 4; i++) { + nextState.call(this); + } + } + }, + + _doProcessBlock: function(M, offset) { + // Shortcut + var X = this._X; + + // Iterate the system + nextState.call(this); + + // Generate four keystream words + 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++) { + // Swap endian + S[i] = (((S[i] << 8) | (S[i] >>> 24)) & 0x00ff00ff) | + (((S[i] << 24) | (S[i] >>> 8)) & 0xff00ff00); + + // Encrypt + M[offset + i] ^= S[i]; + } + }, + + blockSize: 128 / 32, + + ivSize: 64 / 32 + }); + + function nextState() { + // Shortcuts + var X = this._X; + var C = this._C; + + // Save old counter values + for (var i = 0; i < 8; i++) { + C_[i] = C[i]; + } + + // Calculate new counter values + C[0] = (C[0] + 0x4d34d34d + this._b) | 0; + C[1] = (C[1] + 0xd34d34d3 + ((C[0] >>> 0) < (C_[0] >>> 0) ? 1 : 0)) | 0; + C[2] = (C[2] + 0x34d34d34 + ((C[1] >>> 0) < (C_[1] >>> 0) ? 1 : 0)) | 0; + C[3] = (C[3] + 0x4d34d34d + ((C[2] >>> 0) < (C_[2] >>> 0) ? 1 : 0)) | 0; + C[4] = (C[4] + 0xd34d34d3 + ((C[3] >>> 0) < (C_[3] >>> 0) ? 1 : 0)) | 0; + C[5] = (C[5] + 0x34d34d34 + ((C[4] >>> 0) < (C_[4] >>> 0) ? 1 : 0)) | 0; + C[6] = (C[6] + 0x4d34d34d + ((C[5] >>> 0) < (C_[5] >>> 0) ? 1 : 0)) | 0; + C[7] = (C[7] + 0xd34d34d3 + ((C[6] >>> 0) < (C_[6] >>> 0) ? 1 : 0)) | 0; + this._b = (C[7] >>> 0) < (C_[7] >>> 0) ? 1 : 0; + + // Calculate the g-values + for (var i = 0; i < 8; i++) { + var gx = X[i] + C[i]; + + // Construct high and low argument for squaring + var ga = gx & 0xffff; + var gb = gx >>> 16; + + // Calculate high and low result of squaring + var gh = ((((ga * ga) >>> 17) + ga * gb) >>> 15) + gb * gb; + var gl = (((gx & 0xffff0000) * gx) | 0) + (((gx & 0x0000ffff) * gx) | 0); + + // High XOR low + G[i] = gh ^ gl; + } + + // Calculate new state values + 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() { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var StreamCipher = C_lib.StreamCipher; + var C_algo = C.algo; + + // Reusable objects + 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() { + // Shortcuts + var K = this._key.words; + var iv = this.cfg.iv; + + // Generate initial state values + 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) + ]; + + // Generate initial counter values + var C = this._C = [ + (K[2] << 16) | (K[2] >>> 16), (K[0] & 0xffff0000) | (K[1] & 0x0000ffff), + (K[3] << 16) | (K[3] >>> 16), (K[1] & 0xffff0000) | (K[2] & 0x0000ffff), + (K[0] << 16) | (K[0] >>> 16), (K[2] & 0xffff0000) | (K[3] & 0x0000ffff), + (K[1] << 16) | (K[1] >>> 16), (K[3] & 0xffff0000) | (K[0] & 0x0000ffff) + ]; + + // Carry bit + this._b = 0; + + // Iterate the system four times + for (var i = 0; i < 4; i++) { + nextState.call(this); + } + + // Modify the counters + for (var i = 0; i < 8; i++) { + C[i] ^= X[(i + 4) & 7]; + } + + // IV setup + if (iv) { + // Shortcuts + var IV = iv.words; + var IV_0 = IV[0]; + var IV_1 = IV[1]; + + // Generate four subvectors + var i0 = (((IV_0 << 8) | (IV_0 >>> 24)) & 0x00ff00ff) | (((IV_0 << 24) | (IV_0 >>> 8)) & 0xff00ff00); + var i2 = (((IV_1 << 8) | (IV_1 >>> 24)) & 0x00ff00ff) | (((IV_1 << 24) | (IV_1 >>> 8)) & 0xff00ff00); + var i1 = (i0 >>> 16) | (i2 & 0xffff0000); + var i3 = (i2 << 16) | (i0 & 0x0000ffff); + + // Modify counter values + C[0] ^= i0; + C[1] ^= i1; + C[2] ^= i2; + C[3] ^= i3; + C[4] ^= i0; + C[5] ^= i1; + C[6] ^= i2; + C[7] ^= i3; + + // Iterate the system four times + for (var i = 0; i < 4; i++) { + nextState.call(this); + } + } + }, + + _doProcessBlock: function(M, offset) { + // Shortcut + var X = this._X; + + // Iterate the system + nextState.call(this); + + // Generate four keystream words + 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++) { + // Swap endian + S[i] = (((S[i] << 8) | (S[i] >>> 24)) & 0x00ff00ff) | + (((S[i] << 24) | (S[i] >>> 8)) & 0xff00ff00); + + // Encrypt + M[offset + i] ^= S[i]; + } + }, + + blockSize: 128 / 32, + + ivSize: 64 / 32 + }); + + function nextState() { + // Shortcuts + var X = this._X; + var C = this._C; + + // Save old counter values + for (var i = 0; i < 8; i++) { + C_[i] = C[i]; + } + + // Calculate new counter values + C[0] = (C[0] + 0x4d34d34d + this._b) | 0; + C[1] = (C[1] + 0xd34d34d3 + ((C[0] >>> 0) < (C_[0] >>> 0) ? 1 : 0)) | 0; + C[2] = (C[2] + 0x34d34d34 + ((C[1] >>> 0) < (C_[1] >>> 0) ? 1 : 0)) | 0; + C[3] = (C[3] + 0x4d34d34d + ((C[2] >>> 0) < (C_[2] >>> 0) ? 1 : 0)) | 0; + C[4] = (C[4] + 0xd34d34d3 + ((C[3] >>> 0) < (C_[3] >>> 0) ? 1 : 0)) | 0; + C[5] = (C[5] + 0x34d34d34 + ((C[4] >>> 0) < (C_[4] >>> 0) ? 1 : 0)) | 0; + C[6] = (C[6] + 0x4d34d34d + ((C[5] >>> 0) < (C_[5] >>> 0) ? 1 : 0)) | 0; + C[7] = (C[7] + 0xd34d34d3 + ((C[6] >>> 0) < (C_[6] >>> 0) ? 1 : 0)) | 0; + this._b = (C[7] >>> 0) < (C_[7] >>> 0) ? 1 : 0; + + // Calculate the g-values + for (var i = 0; i < 8; i++) { + var gx = X[i] + C[i]; + + // Construct high and low argument for squaring + var ga = gx & 0xffff; + var gb = gx >>> 16; + + // Calculate high and low result of squaring + var gh = ((((ga * ga) >>> 17) + ga * gb) >>> 15) + gb * gb; + var gl = (((gx & 0xffff0000) * gx) | 0) + (((gx & 0x0000ffff) * gx) | 0); + + // High XOR low + G[i] = gh ^ gl; + } + + // Calculate new state values + 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); +}()); \ No newline at end of file diff --git a/xiaosa/js/crypto-js.js b/xiaosa/js/crypto-js.js new file mode 100644 index 00000000..46313ca4 --- /dev/null +++ b/xiaosa/js/crypto-js.js @@ -0,0 +1,6192 @@ +; +(function(root, factory) { + if (typeof exports === "object") { + // CommonJS + module.exports = exports = factory(); + } else if (typeof define === "function" && define.amd) { + // AMD + define([], factory); + } else { + // Global (browser) + globalThis.CryptoJS = factory(); + } +}(this, function() { + + /*globals window, global, require*/ + + /** + * CryptoJS core components. + */ + var CryptoJS = CryptoJS || (function(Math, undefined) { + + var crypto; + + // Native crypto from window (Browser) + if (typeof window !== 'undefined' && window.crypto) { + crypto = window.crypto; + } + + // Native crypto in web worker (Browser) + if (typeof self !== 'undefined' && self.crypto) { + crypto = self.crypto; + } + + // Native crypto from worker + if (typeof globalThis !== 'undefined' && globalThis.crypto) { + crypto = globalThis.crypto; + } + + // Native (experimental IE 11) crypto from window (Browser) + if (!crypto && typeof window !== 'undefined' && window.msCrypto) { + crypto = window.msCrypto; + } + + // Native crypto from global (NodeJS) + if (!crypto && typeof global !== 'undefined' && global.crypto) { + crypto = global.crypto; + } + + // Native crypto import via require (NodeJS) + if (!crypto && typeof require === 'function') { + try { + crypto = require('crypto'); + } catch (err) {} + } + + /* + * Cryptographically secure pseudorandom number generator + * + * As Math.random() is cryptographically not safe to use + */ + var cryptoSecureRandomInt = function() { + if (crypto) { + // Use getRandomValues method (Browser) + if (typeof crypto.getRandomValues === 'function') { + try { + return crypto.getRandomValues(new Uint32Array(1))[0]; + } catch (err) {} + } + + // Use randomBytes method (NodeJS) + 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.'); + }; + + /* + * Local polyfill of Object.create + + */ + 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 { + /** + * Creates a new object that inherits from this object. + * + * @param {Object} overrides Properties to copy into the new object. + * + * @return {Object} The new object. + * + * @static + * + * @example + * + * var MyType = CryptoJS.lib.Base.extend({ + * field: 'value', + * + * method: function () { + * } + * }); + */ + extend: function(overrides) { + // Spawn + var subtype = create(this); + + // Augment + if (overrides) { + subtype.mixIn(overrides); + } + + // Create default initializer + if (!subtype.hasOwnProperty('init') || this.init === subtype.init) { + subtype.init = function() { + subtype.$super.init.apply(this, arguments); + }; + } + + // Initializer's prototype is the subtype object + subtype.init.prototype = subtype; + + // Reference supertype + subtype.$super = this; + + return subtype; + }, + + /** + * Extends this object and runs the init method. + * Arguments to create() will be passed to init(). + * + * @return {Object} The new object. + * + * @static + * + * @example + * + * var instance = MyType.create(); + */ + create: function() { + var instance = this.extend(); + instance.init.apply(instance, arguments); + + return instance; + }, + + /** + * Initializes a newly created object. + * Override this method to add some logic when your objects are created. + * + * @example + * + * var MyType = CryptoJS.lib.Base.extend({ + * init: function () { + * // ... + * } + * }); + */ + init: function() {}, + + /** + * Copies properties into this object. + * + * @param {Object} properties The properties to mix in. + * + * @example + * + * MyType.mixIn({ + * field: 'value' + * }); + */ + mixIn: function(properties) { + for (var propertyName in properties) { + if (properties.hasOwnProperty(propertyName)) { + this[propertyName] = properties[propertyName]; + } + } + + // IE won't copy toString using the loop above + if (properties.hasOwnProperty('toString')) { + this.toString = properties.toString; + } + }, + + /** + * Creates a copy of this object. + * + * @return {Object} The clone. + * + * @example + * + * var clone = instance.clone(); + */ + 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({ + /** + * 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 + * + * var wordArray = CryptoJS.lib.WordArray.create(); + * var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607]); + * var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607], 6); + */ + init: function(words, sigBytes) { + words = this.words = words || []; + + if (sigBytes != undefined) { + this.sigBytes = sigBytes; + } else { + this.sigBytes = words.length * 4; + } + }, + + /** + * Converts this word array to a string. + * + * @param {Encoder} encoder (Optional) The encoding strategy to use. Default: CryptoJS.enc.Hex + * + * @return {string} The stringified word array. + * + * @example + * + * var string = wordArray + ''; + * var string = wordArray.toString(); + * var string = wordArray.toString(CryptoJS.enc.Utf8); + */ + toString: function(encoder) { + return (encoder || Hex).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: function(wordArray) { + // Shortcuts + var thisWords = this.words; + var thatWords = wordArray.words; + var thisSigBytes = this.sigBytes; + var thatSigBytes = wordArray.sigBytes; + + // Clamp excess bits + this.clamp(); + + // Concat + if (thisSigBytes % 4) { + // Copy one byte at a time + for (var i = 0; i < thatSigBytes; i++) { + var thatByte = (thatWords[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff; + thisWords[(thisSigBytes + i) >>> 2] |= thatByte << (24 - ((thisSigBytes + i) % 4) * 8); + } + } else { + // Copy one word at a time + for (var j = 0; j < thatSigBytes; j += 4) { + thisWords[(thisSigBytes + j) >>> 2] = thatWords[j >>> 2]; + } + } + this.sigBytes += thatSigBytes; + + // Chainable + return this; + }, + + /** + * Removes insignificant bits. + * + * @example + * + * wordArray.clamp(); + */ + clamp: function() { + // Shortcuts + var words = this.words; + var sigBytes = this.sigBytes; + + // Clamp + words[sigBytes >>> 2] &= 0xffffffff << (32 - (sigBytes % 4) * 8); + words.length = Math.ceil(sigBytes / 4); + }, + + /** + * Creates a copy of this word array. + * + * @return {WordArray} The clone. + * + * @example + * + * var clone = wordArray.clone(); + */ + clone: function() { + var clone = Base.clone.call(this); + clone.words = this.words.slice(0); + + return clone; + }, + + /** + * 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 + * + * var wordArray = CryptoJS.lib.WordArray.random(16); + */ + 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 = { + /** + * Converts a word array to a hex string. + * + * @param {WordArray} wordArray The word array. + * + * @return {string} The hex string. + * + * @static + * + * @example + * + * var hexString = CryptoJS.enc.Hex.stringify(wordArray); + */ + stringify: function(wordArray) { + // Shortcuts + var words = wordArray.words; + var sigBytes = wordArray.sigBytes; + + // Convert + var hexChars = []; + for (var i = 0; i < sigBytes; i++) { + var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff; + hexChars.push((bite >>> 4).toString(16)); + hexChars.push((bite & 0x0f).toString(16)); + } + + return hexChars.join(''); + }, + + /** + * Converts a hex string to a word array. + * + * @param {string} hexStr The hex string. + * + * @return {WordArray} The word array. + * + * @static + * + * @example + * + * var wordArray = CryptoJS.enc.Hex.parse(hexString); + */ + parse: function(hexStr) { + // Shortcut + var hexStrLength = hexStr.length; + + // Convert + 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 = { + /** + * Converts a word array to a Latin1 string. + * + * @param {WordArray} wordArray The word array. + * + * @return {string} The Latin1 string. + * + * @static + * + * @example + * + * var latin1String = CryptoJS.enc.Latin1.stringify(wordArray); + */ + stringify: function(wordArray) { + // Shortcuts + var words = wordArray.words; + var sigBytes = wordArray.sigBytes; + + // Convert + var latin1Chars = []; + for (var i = 0; i < sigBytes; i++) { + var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff; + latin1Chars.push(String.fromCharCode(bite)); + } + + return latin1Chars.join(''); + }, + + /** + * Converts a Latin1 string to a word array. + * + * @param {string} latin1Str The Latin1 string. + * + * @return {WordArray} The word array. + * + * @static + * + * @example + * + * var wordArray = CryptoJS.enc.Latin1.parse(latin1String); + */ + parse: function(latin1Str) { + // Shortcut + var latin1StrLength = latin1Str.length; + + // Convert + var words = []; + for (var i = 0; i < latin1StrLength; i++) { + words[i >>> 2] |= (latin1Str.charCodeAt(i) & 0xff) << (24 - (i % 4) * 8); + } + + return new WordArray.init(words, latin1StrLength); + } + }; + + /** + * UTF-8 encoding strategy. + */ + var Utf8 = C_enc.Utf8 = { + /** + * Converts a word array to a UTF-8 string. + * + * @param {WordArray} wordArray The word array. + * + * @return {string} The UTF-8 string. + * + * @static + * + * @example + * + * var utf8String = CryptoJS.enc.Utf8.stringify(wordArray); + */ + stringify: function(wordArray) { + try { + return decodeURIComponent(escape(Latin1.stringify(wordArray))); + } catch (e) { + throw new Error('Malformed UTF-8 data'); + } + }, + + /** + * Converts a UTF-8 string to a word array. + * + * @param {string} utf8Str The UTF-8 string. + * + * @return {WordArray} The word array. + * + * @static + * + * @example + * + * var wordArray = CryptoJS.enc.Utf8.parse(utf8String); + */ + 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({ + /** + * Resets this block algorithm's data buffer to its initial state. + * + * @example + * + * bufferedBlockAlgorithm.reset(); + */ + reset: function() { + // Initial values + this._data = new WordArray.init(); + 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: function(data) { + // Convert string to WordArray, else assume WordArray already + if (typeof data == 'string') { + data = Utf8.parse(data); + } + + // Append + this._data.concat(data); + this._nDataBytes += 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 + * + * var processedData = bufferedBlockAlgorithm._process(); + * var processedData = bufferedBlockAlgorithm._process(!!'flush'); + */ + _process: function(doFlush) { + var processedWords; + + // Shortcuts + var data = this._data; + var dataWords = data.words; + var dataSigBytes = data.sigBytes; + var blockSize = this.blockSize; + var blockSizeBytes = blockSize * 4; + + // Count blocks ready + var nBlocksReady = dataSigBytes / blockSizeBytes; + if (doFlush) { + // Round up to include partial blocks + nBlocksReady = Math.ceil(nBlocksReady); + } else { + // Round down to include only full blocks, + // less the number of blocks that must remain in the buffer + nBlocksReady = Math.max((nBlocksReady | 0) - this._minBufferSize, 0); + } + + // Count words ready + var nWordsReady = nBlocksReady * blockSize; + + // Count bytes ready + var nBytesReady = Math.min(nWordsReady * 4, dataSigBytes); + + // Process blocks + if (nWordsReady) { + for (var offset = 0; offset < nWordsReady; offset += blockSize) { + // Perform concrete-algorithm logic + this._doProcessBlock(dataWords, offset); + } + + // Remove processed words + processedWords = dataWords.splice(0, nWordsReady); + data.sigBytes -= nBytesReady; + } + + // Return processed words + return new WordArray.init(processedWords, nBytesReady); + }, + + /** + * Creates a copy of this object. + * + * @return {Object} The clone. + * + * @example + * + * var clone = bufferedBlockAlgorithm.clone(); + */ + 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({ + /** + * Configuration options. + */ + cfg: Base.extend(), + + /** + * Initializes a newly created hasher. + * + * @param {Object} cfg (Optional) The configuration options to use for this hash computation. + * + * @example + * + * var hasher = CryptoJS.algo.SHA256.create(); + */ + init: function(cfg) { + // Apply config defaults + this.cfg = this.cfg.extend(cfg); + + // Set initial values + this.reset(); + }, + + /** + * Resets this hasher to its initial state. + * + * @example + * + * hasher.reset(); + */ + reset: function() { + // Reset data buffer + BufferedBlockAlgorithm.reset.call(this); + + // Perform concrete-hasher logic + 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: function(messageUpdate) { + // Append + this._append(messageUpdate); + + // Update the hash + this._process(); + + // Chainable + 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 + * + * var hash = hasher.finalize(); + * var hash = hasher.finalize('message'); + * var hash = hasher.finalize(wordArray); + */ + finalize: function(messageUpdate) { + // Final message update + if (messageUpdate) { + this._append(messageUpdate); + } + + // Perform concrete-hasher logic + var hash = this._doFinalize(); + + return hash; + }, + + blockSize: 512 / 32, + + /** + * Creates a shortcut function to a hasher's object interface. + * + * @param {Hasher} hasher The hasher to create a helper for. + * + * @return {Function} The shortcut function. + * + * @static + * + * @example + * + * var SHA256 = CryptoJS.lib.Hasher._createHelper(CryptoJS.algo.SHA256); + */ + _createHelper: function(hasher) { + return function(message, cfg) { + return new hasher.init(cfg).finalize(message); + }; + }, + + /** + * Creates a shortcut function to the HMAC's object interface. + * + * @param {Hasher} hasher The hasher to use in this HMAC helper. + * + * @return {Function} The shortcut function. + * + * @static + * + * @example + * + * var HmacSHA256 = CryptoJS.lib.Hasher._createHmacHelper(CryptoJS.algo.SHA256); + */ + _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) { + // Shortcuts + 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({ + /** + * Initializes a newly created 64-bit word. + * + * @param {number} high The high 32 bits. + * @param {number} low The low 32 bits. + * + * @example + * + * var x64Word = CryptoJS.x64.Word.create(0x00010203, 0x04050607); + */ + init: function(high, low) { + this.high = high; + this.low = low; + } + + /** + * Bitwise NOTs this word. + * + * @return {X64Word} A new x64-Word object after negating. + * + * @example + * + * var negated = x64Word.not(); + */ + // not: function () { + // var high = ~this.high; + // var low = ~this.low; + + // return X64Word.create(high, low); + // }, + + /** + * Bitwise ANDs this word with the passed word. + * + * @param {X64Word} word The x64-Word to AND with this word. + * + * @return {X64Word} A new x64-Word object after ANDing. + * + * @example + * + * var anded = x64Word.and(anotherX64Word); + */ + // and: function (word) { + // var high = this.high & word.high; + // var low = this.low & word.low; + + // return X64Word.create(high, low); + // }, + + /** + * Bitwise ORs this word with the passed word. + * + * @param {X64Word} word The x64-Word to OR with this word. + * + * @return {X64Word} A new x64-Word object after ORing. + * + * @example + * + * var ored = x64Word.or(anotherX64Word); + */ + // or: function (word) { + // var high = this.high | word.high; + // var low = this.low | word.low; + + // return X64Word.create(high, low); + // }, + + /** + * Bitwise XORs this word with the passed word. + * + * @param {X64Word} word The x64-Word to XOR with this word. + * + * @return {X64Word} A new x64-Word object after XORing. + * + * @example + * + * var xored = x64Word.xor(anotherX64Word); + */ + // xor: function (word) { + // var high = this.high ^ word.high; + // var low = this.low ^ word.low; + + // return X64Word.create(high, low); + // }, + + /** + * Shifts this word n bits to the left. + * + * @param {number} n The number of bits to shift. + * + * @return {X64Word} A new x64-Word object after shifting. + * + * @example + * + * var shifted = x64Word.shiftL(25); + */ + // shiftL: function (n) { + // if (n < 32) { + // var high = (this.high << n) | (this.low >>> (32 - n)); + // var low = this.low << n; + // } else { + // var high = this.low << (n - 32); + // var low = 0; + // } + + // return X64Word.create(high, low); + // }, + + /** + * Shifts this word n bits to the right. + * + * @param {number} n The number of bits to shift. + * + * @return {X64Word} A new x64-Word object after shifting. + * + * @example + * + * var shifted = x64Word.shiftR(7); + */ + // shiftR: function (n) { + // if (n < 32) { + // var low = (this.low >>> n) | (this.high << (32 - n)); + // var high = this.high >>> n; + // } else { + // var low = this.high >>> (n - 32); + // var high = 0; + // } + + // return X64Word.create(high, low); + // }, + + /** + * Rotates this word n bits to the left. + * + * @param {number} n The number of bits to rotate. + * + * @return {X64Word} A new x64-Word object after rotating. + * + * @example + * + * var rotated = x64Word.rotL(25); + */ + // rotL: function (n) { + // return this.shiftL(n).or(this.shiftR(64 - n)); + // }, + + /** + * Rotates this word n bits to the right. + * + * @param {number} n The number of bits to rotate. + * + * @return {X64Word} A new x64-Word object after rotating. + * + * @example + * + * var rotated = x64Word.rotR(7); + */ + // rotR: function (n) { + // return this.shiftR(n).or(this.shiftL(64 - n)); + // }, + + /** + * Adds this word with the passed word. + * + * @param {X64Word} word The x64-Word to add with this word. + * + * @return {X64Word} A new x64-Word object after adding. + * + * @example + * + * var added = x64Word.add(anotherX64Word); + */ + // add: function (word) { + // var low = (this.low + word.low) | 0; + // var carry = (low >>> 0) < (this.low >>> 0) ? 1 : 0; + // var high = (this.high + word.high + carry) | 0; + + // return X64Word.create(high, 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({ + /** + * Initializes a newly created word array. + * + * @param {Array} words (Optional) An array of CryptoJS.x64.Word objects. + * @param {number} sigBytes (Optional) The number of significant bytes in the words. + * + * @example + * + * var wordArray = CryptoJS.x64.WordArray.create(); + * + * var wordArray = CryptoJS.x64.WordArray.create([ + * CryptoJS.x64.Word.create(0x00010203, 0x04050607), + * CryptoJS.x64.Word.create(0x18191a1b, 0x1c1d1e1f) + * ]); + * + * var wordArray = CryptoJS.x64.WordArray.create([ + * CryptoJS.x64.Word.create(0x00010203, 0x04050607), + * CryptoJS.x64.Word.create(0x18191a1b, 0x1c1d1e1f) + * ], 10); + */ + init: function(words, sigBytes) { + words = this.words = words || []; + + if (sigBytes != undefined) { + this.sigBytes = sigBytes; + } else { + this.sigBytes = words.length * 8; + } + }, + + /** + * Converts this 64-bit word array to a 32-bit word array. + * + * @return {CryptoJS.lib.WordArray} This word array's data as a 32-bit word array. + * + * @example + * + * var x32WordArray = x64WordArray.toX32(); + */ + toX32: function() { + // Shortcuts + var x64Words = this.words; + var x64WordsLength = x64Words.length; + + // Convert + 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); + }, + + /** + * Creates a copy of this word array. + * + * @return {X64WordArray} The clone. + * + * @example + * + * var clone = x64WordArray.clone(); + */ + clone: function() { + var clone = Base.clone.call(this); + + // Clone "words" array + var words = clone.words = this.words.slice(0); + + // Clone each X64Word object + var wordsLength = words.length; + for (var i = 0; i < wordsLength; i++) { + words[i] = words[i].clone(); + } + + return clone; + } + }); + }()); + + + (function() { + // Check if typed arrays are supported + if (typeof ArrayBuffer != 'function') { + return; + } + + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var WordArray = C_lib.WordArray; + + // Reference original init + var superInit = WordArray.init; + + // Augment WordArray.init to handle typed arrays + var subInit = WordArray.init = function(typedArray) { + // Convert buffers to uint8 + if (typedArray instanceof ArrayBuffer) { + typedArray = new Uint8Array(typedArray); + } + + // Convert other array views to uint8 + 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); + } + + // Handle Uint8Array + if (typedArray instanceof Uint8Array) { + // Shortcut + var typedArrayByteLength = typedArray.byteLength; + + // Extract bytes + var words = []; + for (var i = 0; i < typedArrayByteLength; i++) { + words[i >>> 2] |= typedArray[i] << (24 - (i % 4) * 8); + } + + // Initialize this word array + superInit.call(this, words, typedArrayByteLength); + } else { + // Else call normal init + superInit.apply(this, arguments); + } + }; + + subInit.prototype = WordArray; + }()); + + + (function() { + // Shortcuts + 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 = { + /** + * Converts a word array to a UTF-16 BE string. + * + * @param {WordArray} wordArray The word array. + * + * @return {string} The UTF-16 BE string. + * + * @static + * + * @example + * + * var utf16String = CryptoJS.enc.Utf16.stringify(wordArray); + */ + stringify: function(wordArray) { + // Shortcuts + var words = wordArray.words; + var sigBytes = wordArray.sigBytes; + + // Convert + var utf16Chars = []; + for (var i = 0; i < sigBytes; i += 2) { + var codePoint = (words[i >>> 2] >>> (16 - (i % 4) * 8)) & 0xffff; + utf16Chars.push(String.fromCharCode(codePoint)); + } + + return utf16Chars.join(''); + }, + + /** + * Converts a UTF-16 BE string to a word array. + * + * @param {string} utf16Str The UTF-16 BE string. + * + * @return {WordArray} The word array. + * + * @static + * + * @example + * + * var wordArray = CryptoJS.enc.Utf16.parse(utf16String); + */ + parse: function(utf16Str) { + // Shortcut + var utf16StrLength = utf16Str.length; + + // Convert + 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 = { + /** + * Converts a word array to a UTF-16 LE string. + * + * @param {WordArray} wordArray The word array. + * + * @return {string} The UTF-16 LE string. + * + * @static + * + * @example + * + * var utf16Str = CryptoJS.enc.Utf16LE.stringify(wordArray); + */ + stringify: function(wordArray) { + // Shortcuts + var words = wordArray.words; + var sigBytes = wordArray.sigBytes; + + // Convert + var utf16Chars = []; + for (var i = 0; i < sigBytes; i += 2) { + var codePoint = swapEndian((words[i >>> 2] >>> (16 - (i % 4) * 8)) & 0xffff); + utf16Chars.push(String.fromCharCode(codePoint)); + } + + return utf16Chars.join(''); + }, + + /** + * Converts a UTF-16 LE string to a word array. + * + * @param {string} utf16Str The UTF-16 LE string. + * + * @return {WordArray} The word array. + * + * @static + * + * @example + * + * var wordArray = CryptoJS.enc.Utf16LE.parse(utf16Str); + */ + parse: function(utf16Str) { + // Shortcut + var utf16StrLength = utf16Str.length; + + // Convert + 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) & 0xff00ff00) | ((word >>> 8) & 0x00ff00ff); + } + }()); + + + (function() { + // Shortcuts + 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 = { + /** + * Converts a word array to a Base64 string. + * + * @param {WordArray} wordArray The word array. + * + * @return {string} The Base64 string. + * + * @static + * + * @example + * + * var base64String = CryptoJS.enc.Base64.stringify(wordArray); + */ + stringify: function(wordArray) { + // Shortcuts + var words = wordArray.words; + var sigBytes = wordArray.sigBytes; + var map = this._map; + + // Clamp excess bits + wordArray.clamp(); + + // Convert + var base64Chars = []; + for (var i = 0; i < sigBytes; i += 3) { + var byte1 = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff; + var byte2 = (words[(i + 1) >>> 2] >>> (24 - ((i + 1) % 4) * 8)) & 0xff; + var byte3 = (words[(i + 2) >>> 2] >>> (24 - ((i + 2) % 4) * 8)) & 0xff; + + var triplet = (byte1 << 16) | (byte2 << 8) | byte3; + + for (var j = 0; + (j < 4) && (i + j * 0.75 < sigBytes); j++) { + base64Chars.push(map.charAt((triplet >>> (6 * (3 - j))) & 0x3f)); + } + } + + // Add padding + var paddingChar = map.charAt(64); + if (paddingChar) { + while (base64Chars.length % 4) { + base64Chars.push(paddingChar); + } + } + + return base64Chars.join(''); + }, + + /** + * Converts a Base64 string to a word array. + * + * @param {string} base64Str The Base64 string. + * + * @return {WordArray} The word array. + * + * @static + * + * @example + * + * var wordArray = CryptoJS.enc.Base64.parse(base64String); + */ + parse: function(base64Str) { + // Shortcuts + 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; + } + } + + // Ignore padding + var paddingChar = map.charAt(64); + if (paddingChar) { + var paddingIndex = base64Str.indexOf(paddingChar); + if (paddingIndex !== -1) { + base64StrLength = paddingIndex; + } + } + + // Convert + 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() { + // Shortcuts + 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 = { + /** + * Converts a word array to a Base64url string. + * + * @param {WordArray} wordArray The word array. + * + * @param {boolean} urlSafe Whether to use url safe + * + * @return {string} The Base64url string. + * + * @static + * + * @example + * + * var base64String = CryptoJS.enc.Base64url.stringify(wordArray); + */ + stringify: function(wordArray, urlSafe = true) { + // Shortcuts + var words = wordArray.words; + var sigBytes = wordArray.sigBytes; + var map = urlSafe ? this._safe_map : this._map; + + // Clamp excess bits + wordArray.clamp(); + + // Convert + var base64Chars = []; + for (var i = 0; i < sigBytes; i += 3) { + var byte1 = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff; + var byte2 = (words[(i + 1) >>> 2] >>> (24 - ((i + 1) % 4) * 8)) & 0xff; + var byte3 = (words[(i + 2) >>> 2] >>> (24 - ((i + 2) % 4) * 8)) & 0xff; + + var triplet = (byte1 << 16) | (byte2 << 8) | byte3; + + for (var j = 0; + (j < 4) && (i + j * 0.75 < sigBytes); j++) { + base64Chars.push(map.charAt((triplet >>> (6 * (3 - j))) & 0x3f)); + } + } + + // Add padding + var paddingChar = map.charAt(64); + if (paddingChar) { + while (base64Chars.length % 4) { + base64Chars.push(paddingChar); + } + } + + return base64Chars.join(''); + }, + + /** + * Converts a Base64url string to a word array. + * + * @param {string} base64Str The Base64url string. + * + * @param {boolean} urlSafe Whether to use url safe + * + * @return {WordArray} The word array. + * + * @static + * + * @example + * + * var wordArray = CryptoJS.enc.Base64url.parse(base64String); + */ + parse: function(base64Str, urlSafe = true) { + // Shortcuts + 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; + } + } + + // Ignore padding + var paddingChar = map.charAt(64); + if (paddingChar) { + var paddingIndex = base64Str.indexOf(paddingChar); + if (paddingIndex !== -1) { + base64StrLength = paddingIndex; + } + } + + // Convert + 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) { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var WordArray = C_lib.WordArray; + var Hasher = C_lib.Hasher; + var C_algo = C.algo; + + // Constants table + var T = []; + + // Compute constants + (function() { + for (var i = 0; i < 64; i++) { + T[i] = (Math.abs(Math.sin(i + 1)) * 0x100000000) | 0; + } + }()); + + /** + * MD5 hash algorithm. + */ + var MD5 = C_algo.MD5 = Hasher.extend({ + _doReset: function() { + this._hash = new WordArray.init([ + 0x67452301, 0xefcdab89, + 0x98badcfe, 0x10325476 + ]); + }, + + _doProcessBlock: function(M, offset) { + // Swap endian + for (var i = 0; i < 16; i++) { + // Shortcuts + var offset_i = offset + i; + var M_offset_i = M[offset_i]; + + M[offset_i] = ( + (((M_offset_i << 8) | (M_offset_i >>> 24)) & 0x00ff00ff) | + (((M_offset_i << 24) | (M_offset_i >>> 8)) & 0xff00ff00) + ); + } + + // Shortcuts + 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]; + + // Working varialbes + var a = H[0]; + var b = H[1]; + var c = H[2]; + var d = H[3]; + + // Computation + 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]); + + // Intermediate hash value + 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() { + // Shortcuts + var data = this._data; + var dataWords = data.words; + + var nBitsTotal = this._nDataBytes * 8; + var nBitsLeft = data.sigBytes * 8; + + // Add padding + dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32); + + var nBitsTotalH = Math.floor(nBitsTotal / 0x100000000); + var nBitsTotalL = nBitsTotal; + dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = ( + (((nBitsTotalH << 8) | (nBitsTotalH >>> 24)) & 0x00ff00ff) | + (((nBitsTotalH << 24) | (nBitsTotalH >>> 8)) & 0xff00ff00) + ); + dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = ( + (((nBitsTotalL << 8) | (nBitsTotalL >>> 24)) & 0x00ff00ff) | + (((nBitsTotalL << 24) | (nBitsTotalL >>> 8)) & 0xff00ff00) + ); + + data.sigBytes = (dataWords.length + 1) * 4; + + // Hash final blocks + this._process(); + + // Shortcuts + var hash = this._hash; + var H = hash.words; + + // Swap endian + for (var i = 0; i < 4; i++) { + // Shortcut + var H_i = H[i]; + + H[i] = (((H_i << 8) | (H_i >>> 24)) & 0x00ff00ff) | + (((H_i << 24) | (H_i >>> 8)) & 0xff00ff00); + } + + // Return final computed hash + 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() { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var WordArray = C_lib.WordArray; + var Hasher = C_lib.Hasher; + var C_algo = C.algo; + + // Reusable object + var W = []; + + /** + * SHA-1 hash algorithm. + */ + var SHA1 = C_algo.SHA1 = Hasher.extend({ + _doReset: function() { + this._hash = new WordArray.init([ + 0x67452301, 0xefcdab89, + 0x98badcfe, 0x10325476, + 0xc3d2e1f0 + ]); + }, + + _doProcessBlock: function(M, offset) { + // Shortcut + var H = this._hash.words; + + // Working variables + var a = H[0]; + var b = H[1]; + var c = H[2]; + var d = H[3]; + var e = H[4]; + + // Computation + 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)) + 0x5a827999; + } else if (i < 40) { + t += (b ^ c ^ d) + 0x6ed9eba1; + } else if (i < 60) { + t += ((b & c) | (b & d) | (c & d)) - 0x70e44324; + } else /* if (i < 80) */ { + t += (b ^ c ^ d) - 0x359d3e2a; + } + + e = d; + d = c; + c = (b << 30) | (b >>> 2); + b = a; + a = t; + } + + // Intermediate hash value + 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() { + // Shortcuts + var data = this._data; + var dataWords = data.words; + + var nBitsTotal = this._nDataBytes * 8; + var nBitsLeft = data.sigBytes * 8; + + // Add padding + dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32); + dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = Math.floor(nBitsTotal / 0x100000000); + dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = nBitsTotal; + data.sigBytes = dataWords.length * 4; + + // Hash final blocks + this._process(); + + // Return final computed hash + 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) { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var WordArray = C_lib.WordArray; + var Hasher = C_lib.Hasher; + var C_algo = C.algo; + + // Initialization and round constants tables + var H = []; + var K = []; + + // Compute constants + (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)) * 0x100000000) | 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++; + } + }()); + + // Reusable object + 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) { + // Shortcut + var H = this._hash.words; + + // Working variables + 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]; + + // Computation + 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; + } + + // Intermediate hash value + 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() { + // Shortcuts + var data = this._data; + var dataWords = data.words; + + var nBitsTotal = this._nDataBytes * 8; + var nBitsLeft = data.sigBytes * 8; + + // Add padding + dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32); + dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = Math.floor(nBitsTotal / 0x100000000); + dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = nBitsTotal; + data.sigBytes = dataWords.length * 4; + + // Hash final blocks + this._process(); + + // Return final computed hash + 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() { + // Shortcuts + 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([ + 0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939, + 0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4 + ]); + }, + + _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() { + // Shortcuts + 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); + } + + // Constants + var K = [ + X64Word_create(0x428a2f98, 0xd728ae22), X64Word_create(0x71374491, 0x23ef65cd), + X64Word_create(0xb5c0fbcf, 0xec4d3b2f), X64Word_create(0xe9b5dba5, 0x8189dbbc), + X64Word_create(0x3956c25b, 0xf348b538), X64Word_create(0x59f111f1, 0xb605d019), + X64Word_create(0x923f82a4, 0xaf194f9b), X64Word_create(0xab1c5ed5, 0xda6d8118), + X64Word_create(0xd807aa98, 0xa3030242), X64Word_create(0x12835b01, 0x45706fbe), + X64Word_create(0x243185be, 0x4ee4b28c), X64Word_create(0x550c7dc3, 0xd5ffb4e2), + X64Word_create(0x72be5d74, 0xf27b896f), X64Word_create(0x80deb1fe, 0x3b1696b1), + X64Word_create(0x9bdc06a7, 0x25c71235), X64Word_create(0xc19bf174, 0xcf692694), + X64Word_create(0xe49b69c1, 0x9ef14ad2), X64Word_create(0xefbe4786, 0x384f25e3), + X64Word_create(0x0fc19dc6, 0x8b8cd5b5), X64Word_create(0x240ca1cc, 0x77ac9c65), + X64Word_create(0x2de92c6f, 0x592b0275), X64Word_create(0x4a7484aa, 0x6ea6e483), + X64Word_create(0x5cb0a9dc, 0xbd41fbd4), X64Word_create(0x76f988da, 0x831153b5), + X64Word_create(0x983e5152, 0xee66dfab), X64Word_create(0xa831c66d, 0x2db43210), + X64Word_create(0xb00327c8, 0x98fb213f), X64Word_create(0xbf597fc7, 0xbeef0ee4), + X64Word_create(0xc6e00bf3, 0x3da88fc2), X64Word_create(0xd5a79147, 0x930aa725), + X64Word_create(0x06ca6351, 0xe003826f), X64Word_create(0x14292967, 0x0a0e6e70), + X64Word_create(0x27b70a85, 0x46d22ffc), X64Word_create(0x2e1b2138, 0x5c26c926), + X64Word_create(0x4d2c6dfc, 0x5ac42aed), X64Word_create(0x53380d13, 0x9d95b3df), + X64Word_create(0x650a7354, 0x8baf63de), X64Word_create(0x766a0abb, 0x3c77b2a8), + X64Word_create(0x81c2c92e, 0x47edaee6), X64Word_create(0x92722c85, 0x1482353b), + X64Word_create(0xa2bfe8a1, 0x4cf10364), X64Word_create(0xa81a664b, 0xbc423001), + X64Word_create(0xc24b8b70, 0xd0f89791), X64Word_create(0xc76c51a3, 0x0654be30), + X64Word_create(0xd192e819, 0xd6ef5218), X64Word_create(0xd6990624, 0x5565a910), + X64Word_create(0xf40e3585, 0x5771202a), X64Word_create(0x106aa070, 0x32bbd1b8), + X64Word_create(0x19a4c116, 0xb8d2d0c8), X64Word_create(0x1e376c08, 0x5141ab53), + X64Word_create(0x2748774c, 0xdf8eeb99), X64Word_create(0x34b0bcb5, 0xe19b48a8), + X64Word_create(0x391c0cb3, 0xc5c95a63), X64Word_create(0x4ed8aa4a, 0xe3418acb), + X64Word_create(0x5b9cca4f, 0x7763e373), X64Word_create(0x682e6ff3, 0xd6b2b8a3), + X64Word_create(0x748f82ee, 0x5defb2fc), X64Word_create(0x78a5636f, 0x43172f60), + X64Word_create(0x84c87814, 0xa1f0ab72), X64Word_create(0x8cc70208, 0x1a6439ec), + X64Word_create(0x90befffa, 0x23631e28), X64Word_create(0xa4506ceb, 0xde82bde9), + X64Word_create(0xbef9a3f7, 0xb2c67915), X64Word_create(0xc67178f2, 0xe372532b), + X64Word_create(0xca273ece, 0xea26619c), X64Word_create(0xd186b8c7, 0x21c0c207), + X64Word_create(0xeada7dd6, 0xcde0eb1e), X64Word_create(0xf57d4f7f, 0xee6ed178), + X64Word_create(0x06f067aa, 0x72176fba), X64Word_create(0x0a637dc5, 0xa2c898a6), + X64Word_create(0x113f9804, 0xbef90dae), X64Word_create(0x1b710b35, 0x131c471b), + X64Word_create(0x28db77f5, 0x23047d84), X64Word_create(0x32caab7b, 0x40c72493), + X64Word_create(0x3c9ebe0a, 0x15c9bebc), X64Word_create(0x431d67c4, 0x9c100d4c), + X64Word_create(0x4cc5d4be, 0xcb3e42b6), X64Word_create(0x597f299c, 0xfc657e2a), + X64Word_create(0x5fcb6fab, 0x3ad6faec), X64Word_create(0x6c44198c, 0x4a475817) + ]; + + // Reusable objects + 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(0x6a09e667, 0xf3bcc908), new X64Word.init(0xbb67ae85, 0x84caa73b), + new X64Word.init(0x3c6ef372, 0xfe94f82b), new X64Word.init(0xa54ff53a, 0x5f1d36f1), + new X64Word.init(0x510e527f, 0xade682d1), new X64Word.init(0x9b05688c, 0x2b3e6c1f), + new X64Word.init(0x1f83d9ab, 0xfb41bd6b), new X64Word.init(0x5be0cd19, 0x137e2179) + ]); + }, + + _doProcessBlock: function(M, offset) { + // Shortcuts + 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; + + // Working variables + 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; + + // Rounds + for (var i = 0; i < 80; i++) { + var Wil; + var Wih; + + // Shortcut + var Wi = W[i]; + + // Extend message + if (i < 16) { + Wih = Wi.high = M[offset + i * 2] | 0; + Wil = Wi.low = M[offset + i * 2 + 1] | 0; + } else { + // Gamma0 + 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)); + + // Gamma1 + 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)); + + // W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16] + 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)); + + // t1 = h + sigma1 + ch + K[i] + W[i] + 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); + + // t2 = sigma0 + maj + var t2l = sigma0l + majl; + var t2h = sigma0h + majh + ((t2l >>> 0) < (sigma0l >>> 0) ? 1 : 0); + + // Update working variables + 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; + } + + // Intermediate hash value + 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() { + // Shortcuts + var data = this._data; + var dataWords = data.words; + + var nBitsTotal = this._nDataBytes * 8; + var nBitsLeft = data.sigBytes * 8; + + // Add padding + dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32); + dataWords[(((nBitsLeft + 128) >>> 10) << 5) + 30] = Math.floor(nBitsTotal / 0x100000000); + dataWords[(((nBitsLeft + 128) >>> 10) << 5) + 31] = nBitsTotal; + data.sigBytes = dataWords.length * 4; + + // Hash final blocks + this._process(); + + // Convert hash to 32-bit word array before returning + var hash = this._hash.toX32(); + + // Return final computed hash + 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() { + // Shortcuts + 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(0xcbbb9d5d, 0xc1059ed8), new X64Word.init(0x629a292a, 0x367cd507), + new X64Word.init(0x9159015a, 0x3070dd17), new X64Word.init(0x152fecd8, 0xf70e5939), + new X64Word.init(0x67332667, 0xffc00b31), new X64Word.init(0x8eb44a87, 0x68581511), + new X64Word.init(0xdb0c2e0d, 0x64f98fa7), new X64Word.init(0x47b5481d, 0xbefa4fa4) + ]); + }, + + _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) { + // Shortcuts + 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; + + // Constants tables + var RHO_OFFSETS = []; + var PI_INDEXES = []; + var ROUND_CONSTANTS = []; + + // Compute Constants + (function() { + // Compute rho offset constants + 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; + } + + // Compute pi index constants + 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; + } + } + + // Compute round constants + var LFSR = 0x01; + for (var i = 0; i < 24; i++) { + var roundConstantMsw = 0; + var roundConstantLsw = 0; + + for (var j = 0; j < 7; j++) { + if (LFSR & 0x01) { + var bitPosition = (1 << j) - 1; + if (bitPosition < 32) { + roundConstantLsw ^= 1 << bitPosition; + } else /* if (bitPosition >= 32) */ { + roundConstantMsw ^= 1 << (bitPosition - 32); + } + } + + // Compute next LFSR + if (LFSR & 0x80) { + // Primitive polynomial over GF(2): x^8 + x^6 + x^5 + x^4 + 1 + LFSR = (LFSR << 1) ^ 0x71; + } else { + LFSR <<= 1; + } + } + + ROUND_CONSTANTS[i] = X64Word.create(roundConstantMsw, roundConstantLsw); + } + }()); + + // Reusable objects for temporary values + 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({ + /** + * Configuration options. + * + * @property {number} outputLength + * The desired number of bits in the output hash. + * Only values permitted are: 224, 256, 384, 512. + * Default: 512 + */ + 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) { + // Shortcuts + var state = this._state; + var nBlockSizeLanes = this.blockSize / 2; + + // Absorb + for (var i = 0; i < nBlockSizeLanes; i++) { + // Shortcuts + var M2i = M[offset + 2 * i]; + var M2i1 = M[offset + 2 * i + 1]; + + // Swap endian + M2i = ( + (((M2i << 8) | (M2i >>> 24)) & 0x00ff00ff) | + (((M2i << 24) | (M2i >>> 8)) & 0xff00ff00) + ); + M2i1 = ( + (((M2i1 << 8) | (M2i1 >>> 24)) & 0x00ff00ff) | + (((M2i1 << 24) | (M2i1 >>> 8)) & 0xff00ff00) + ); + + // Absorb message into state + var lane = state[i]; + lane.high ^= M2i1; + lane.low ^= M2i; + } + + // Rounds + for (var round = 0; round < 24; round++) { + // Theta + for (var x = 0; x < 5; x++) { + // Mix column lanes + var tMsw = 0, + tLsw = 0; + for (var y = 0; y < 5; y++) { + var lane = state[x + 5 * y]; + tMsw ^= lane.high; + tLsw ^= lane.low; + } + + // Temporary values + var Tx = T[x]; + Tx.high = tMsw; + Tx.low = tLsw; + } + for (var x = 0; x < 5; x++) { + // Shortcuts + var Tx4 = T[(x + 4) % 5]; + var Tx1 = T[(x + 1) % 5]; + var Tx1Msw = Tx1.high; + var Tx1Lsw = Tx1.low; + + // Mix surrounding columns + 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; + } + } + + // Rho Pi + for (var laneIndex = 1; laneIndex < 25; laneIndex++) { + var tMsw; + var tLsw; + + // Shortcuts + var lane = state[laneIndex]; + var laneMsw = lane.high; + var laneLsw = lane.low; + var rhoOffset = RHO_OFFSETS[laneIndex]; + + // Rotate lanes + if (rhoOffset < 32) { + tMsw = (laneMsw << rhoOffset) | (laneLsw >>> (32 - rhoOffset)); + tLsw = (laneLsw << rhoOffset) | (laneMsw >>> (32 - rhoOffset)); + } else /* if (rhoOffset >= 32) */ { + tMsw = (laneLsw << (rhoOffset - 32)) | (laneMsw >>> (64 - rhoOffset)); + tLsw = (laneMsw << (rhoOffset - 32)) | (laneLsw >>> (64 - rhoOffset)); + } + + // Transpose lanes + var TPiLane = T[PI_INDEXES[laneIndex]]; + TPiLane.high = tMsw; + TPiLane.low = tLsw; + } + + // Rho pi at x = y = 0 + var T0 = T[0]; + var state0 = state[0]; + T0.high = state0.high; + T0.low = state0.low; + + // Chi + for (var x = 0; x < 5; x++) { + for (var y = 0; y < 5; y++) { + // Shortcuts + 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]; + + // Mix rows + lane.high = TLane.high ^ (~Tx1Lane.high & Tx2Lane.high); + lane.low = TLane.low ^ (~Tx1Lane.low & Tx2Lane.low); + } + } + + // Iota + var lane = state[0]; + var roundConstant = ROUND_CONSTANTS[round]; + lane.high ^= roundConstant.high; + lane.low ^= roundConstant.low; + } + }, + + _doFinalize: function() { + // Shortcuts + var data = this._data; + var dataWords = data.words; + var nBitsTotal = this._nDataBytes * 8; + var nBitsLeft = data.sigBytes * 8; + var blockSizeBits = this.blockSize * 32; + + // Add padding + dataWords[nBitsLeft >>> 5] |= 0x1 << (24 - nBitsLeft % 32); + dataWords[((Math.ceil((nBitsLeft + 1) / blockSizeBits) * blockSizeBits) >>> 5) - 1] |= 0x80; + data.sigBytes = dataWords.length * 4; + + // Hash final blocks + this._process(); + + // Shortcuts + var state = this._state; + var outputLengthBytes = this.cfg.outputLength / 8; + var outputLengthLanes = outputLengthBytes / 8; + + // Squeeze + var hashWords = []; + for (var i = 0; i < outputLengthLanes; i++) { + // Shortcuts + var lane = state[i]; + var laneMsw = lane.high; + var laneLsw = lane.low; + + // Swap endian + laneMsw = ( + (((laneMsw << 8) | (laneMsw >>> 24)) & 0x00ff00ff) | + (((laneMsw << 24) | (laneMsw >>> 8)) & 0xff00ff00) + ); + laneLsw = ( + (((laneLsw << 8) | (laneLsw >>> 24)) & 0x00ff00ff) | + (((laneLsw << 24) | (laneLsw >>> 8)) & 0xff00ff00) + ); + + // Squeeze state to retrieve hash + hashWords.push(laneLsw); + hashWords.push(laneMsw); + } + + // Return final computed hash + 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) { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var WordArray = C_lib.WordArray; + var Hasher = C_lib.Hasher; + var C_algo = C.algo; + + // Constants table + 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([0x00000000, 0x5A827999, 0x6ED9EBA1, 0x8F1BBCDC, 0xA953FD4E]); + var _hr = WordArray.create([0x50A28BE6, 0x5C4DD124, 0x6D703EF3, 0x7A6D76E9, 0x00000000]); + + /** + * RIPEMD160 hash algorithm. + */ + var RIPEMD160 = C_algo.RIPEMD160 = Hasher.extend({ + _doReset: function() { + this._hash = WordArray.create([0x67452301, 0xEFCDAB89, 0x98BADCFE, 0x10325476, 0xC3D2E1F0]); + }, + + _doProcessBlock: function(M, offset) { + + // Swap endian + for (var i = 0; i < 16; i++) { + // Shortcuts + var offset_i = offset + i; + var M_offset_i = M[offset_i]; + + // Swap + M[offset_i] = ( + (((M_offset_i << 8) | (M_offset_i >>> 24)) & 0x00ff00ff) | + (((M_offset_i << 24) | (M_offset_i >>> 8)) & 0xff00ff00) + ); + } + // Shortcut + 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; + + // Working variables + 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]; + // Computation + 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 { // if (i<80) { + 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 { // if (i<80) { + 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; + } + // Intermediate hash value + 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() { + // Shortcuts + var data = this._data; + var dataWords = data.words; + + var nBitsTotal = this._nDataBytes * 8; + var nBitsLeft = data.sigBytes * 8; + + // Add padding + dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32); + dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = ( + (((nBitsTotal << 8) | (nBitsTotal >>> 24)) & 0x00ff00ff) | + (((nBitsTotal << 24) | (nBitsTotal >>> 8)) & 0xff00ff00) + ); + data.sigBytes = (dataWords.length + 1) * 4; + + // Hash final blocks + this._process(); + + // Shortcuts + var hash = this._hash; + var H = hash.words; + + // Swap endian + for (var i = 0; i < 5; i++) { + // Shortcut + var H_i = H[i]; + + // Swap + H[i] = (((H_i << 8) | (H_i >>> 24)) & 0x00ff00ff) | + (((H_i << 24) | (H_i >>> 8)) & 0xff00ff00); + } + + // Return final computed hash + 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() { + // Shortcuts + 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({ + /** + * Initializes a newly created HMAC. + * + * @param {Hasher} hasher The hash algorithm to use. + * @param {WordArray|string} key The secret key. + * + * @example + * + * var hmacHasher = CryptoJS.algo.HMAC.create(CryptoJS.algo.SHA256, key); + */ + init: function(hasher, key) { + // Init hasher + hasher = this._hasher = new hasher.init(); + + // Convert string to WordArray, else assume WordArray already + if (typeof key == 'string') { + key = Utf8.parse(key); + } + + // Shortcuts + var hasherBlockSize = hasher.blockSize; + var hasherBlockSizeBytes = hasherBlockSize * 4; + + // Allow arbitrary length keys + if (key.sigBytes > hasherBlockSizeBytes) { + key = hasher.finalize(key); + } + + // Clamp excess bits + key.clamp(); + + // Clone key for inner and outer pads + var oKey = this._oKey = key.clone(); + var iKey = this._iKey = key.clone(); + + // Shortcuts + var oKeyWords = oKey.words; + var iKeyWords = iKey.words; + + // XOR keys with pad constants + for (var i = 0; i < hasherBlockSize; i++) { + oKeyWords[i] ^= 0x5c5c5c5c; + iKeyWords[i] ^= 0x36363636; + } + oKey.sigBytes = iKey.sigBytes = hasherBlockSizeBytes; + + // Set initial values + this.reset(); + }, + + /** + * Resets this HMAC to its initial state. + * + * @example + * + * hmacHasher.reset(); + */ + reset: function() { + // Shortcut + var hasher = this._hasher; + + // Reset + 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: function(messageUpdate) { + this._hasher.update(messageUpdate); + + // Chainable + 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 + * + * var hmac = hmacHasher.finalize(); + * var hmac = hmacHasher.finalize('message'); + * var hmac = hmacHasher.finalize(wordArray); + */ + finalize: function(messageUpdate) { + // Shortcut + var hasher = this._hasher; + + // Compute HMAC + var innerHash = hasher.finalize(messageUpdate); + hasher.reset(); + var hmac = hasher.finalize(this._oKey.clone().concat(innerHash)); + + return hmac; + } + }); + }()); + + + (function() { + // Shortcuts + 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({ + /** + * Configuration options. + * + * @property {number} keySize The key size in words to generate. Default: 4 (128 bits) + * @property {Hasher} hasher The hasher to use. Default: SHA1 + * @property {number} iterations The number of iterations to perform. Default: 1 + */ + cfg: Base.extend({ + keySize: 128 / 32, + hasher: SHA1, + iterations: 1 + }), + + /** + * Initializes a newly created key derivation function. + * + * @param {Object} cfg (Optional) The configuration options to use for the derivation. + * + * @example + * + * var kdf = CryptoJS.algo.PBKDF2.create(); + * var kdf = CryptoJS.algo.PBKDF2.create({ keySize: 8 }); + * var kdf = CryptoJS.algo.PBKDF2.create({ keySize: 8, iterations: 1000 }); + */ + init: function(cfg) { + this.cfg = this.cfg.extend(cfg); + }, + + /** + * 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 + * + * var key = kdf.compute(password, salt); + */ + compute: function(password, salt) { + // Shortcut + var cfg = this.cfg; + + // Init HMAC + var hmac = HMAC.create(cfg.hasher, password); + + // Initial values + var derivedKey = WordArray.create(); + var blockIndex = WordArray.create([0x00000001]); + + // Shortcuts + var derivedKeyWords = derivedKey.words; + var blockIndexWords = blockIndex.words; + var keySize = cfg.keySize; + var iterations = cfg.iterations; + + // Generate key + while (derivedKeyWords.length < keySize) { + var block = hmac.update(salt).finalize(blockIndex); + hmac.reset(); + + // Shortcuts + var blockWords = block.words; + var blockWordsLength = blockWords.length; + + // Iterations + var intermediate = block; + for (var i = 1; i < iterations; i++) { + intermediate = hmac.finalize(intermediate); + hmac.reset(); + + // Shortcut + var intermediateWords = intermediate.words; + + // XOR intermediate with block + 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() { + // Shortcuts + 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({ + /** + * 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 + */ + cfg: Base.extend({ + keySize: 128 / 32, + hasher: MD5, + iterations: 1 + }), + + /** + * Initializes a newly created key derivation function. + * + * @param {Object} cfg (Optional) The configuration options to use for the derivation. + * + * @example + * + * var kdf = CryptoJS.algo.EvpKDF.create(); + * var kdf = CryptoJS.algo.EvpKDF.create({ keySize: 8 }); + * var kdf = CryptoJS.algo.EvpKDF.create({ keySize: 8, iterations: 1000 }); + */ + init: function(cfg) { + this.cfg = this.cfg.extend(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 + * + * var key = kdf.compute(password, salt); + */ + compute: function(password, salt) { + var block; + + // Shortcut + var cfg = this.cfg; + + // Init hasher + var hasher = cfg.hasher.create(); + + // Initial values + var derivedKey = WordArray.create(); + + // Shortcuts + var derivedKeyWords = derivedKey.words; + var keySize = cfg.keySize; + var iterations = cfg.iterations; + + // Generate key + while (derivedKeyWords.length < keySize) { + if (block) { + hasher.update(block); + } + block = hasher.update(password).finalize(salt); + hasher.reset(); + + // Iterations + 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) { + // Shortcuts + 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({ + /** + * Configuration options. + * + * @property {WordArray} iv The IV to use for this operation. + */ + cfg: Base.extend(), + + /** + * 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 + * + * var cipher = CryptoJS.algo.AES.createEncryptor(keyWordArray, { iv: ivWordArray }); + */ + createEncryptor: function(key, cfg) { + return this.create(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 + * + * var cipher = CryptoJS.algo.AES.createDecryptor(keyWordArray, { iv: ivWordArray }); + */ + createDecryptor: function(key, cfg) { + return this.create(this._DEC_XFORM_MODE, key, cfg); + }, + + /** + * 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 + * + * var cipher = CryptoJS.algo.AES.create(CryptoJS.algo.AES._ENC_XFORM_MODE, keyWordArray, { iv: ivWordArray }); + */ + init: function(xformMode, key, cfg) { + // Apply config defaults + this.cfg = this.cfg.extend(cfg); + + // Store transform mode and key + this._xformMode = xformMode; + this._key = key; + + // Set initial values + this.reset(); + }, + + /** + * Resets this cipher to its initial state. + * + * @example + * + * cipher.reset(); + */ + reset: function() { + // Reset data buffer + BufferedBlockAlgorithm.reset.call(this); + + // Perform concrete-cipher logic + 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 + * + * var encrypted = cipher.process('data'); + * var encrypted = cipher.process(wordArray); + */ + process: function(dataUpdate) { + // Append + this._append(dataUpdate); + + // Process available blocks + 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 + * + * var encrypted = cipher.finalize(); + * var encrypted = cipher.finalize('data'); + * var encrypted = cipher.finalize(wordArray); + */ + finalize: function(dataUpdate) { + // Final data update + if (dataUpdate) { + this._append(dataUpdate); + } + + // Perform concrete-cipher logic + var finalProcessedData = this._doFinalize(); + + return finalProcessedData; + }, + + keySize: 128 / 32, + + ivSize: 128 / 32, + + _ENC_XFORM_MODE: 1, + + _DEC_XFORM_MODE: 2, + + /** + * 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 + * + * var AES = CryptoJS.lib.Cipher._createHelper(CryptoJS.algo.AES); + */ + _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() { + // Process partial blocks + 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({ + /** + * Creates this mode for encryption. + * + * @param {Cipher} cipher A block cipher instance. + * @param {Array} iv The IV words. + * + * @static + * + * @example + * + * var mode = CryptoJS.mode.CBC.createEncryptor(cipher, iv.words); + */ + createEncryptor: function(cipher, iv) { + return this.Encryptor.create(cipher, iv); + }, + + /** + * Creates this mode for decryption. + * + * @param {Cipher} cipher A block cipher instance. + * @param {Array} iv The IV words. + * + * @static + * + * @example + * + * var mode = CryptoJS.mode.CBC.createDecryptor(cipher, iv.words); + */ + createDecryptor: function(cipher, iv) { + return this.Decryptor.create(cipher, iv); + }, + + /** + * Initializes a newly created mode. + * + * @param {Cipher} cipher A block cipher instance. + * @param {Array} iv The IV words. + * + * @example + * + * var mode = CryptoJS.mode.CBC.Encryptor.create(cipher, iv.words); + */ + 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({ + /** + * 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: function(words, offset) { + // Shortcuts + var cipher = this._cipher; + var blockSize = cipher.blockSize; + + // XOR and encrypt + xorBlock.call(this, words, offset, blockSize); + cipher.encryptBlock(words, offset); + + // Remember this block to use with next block + this._prevBlock = words.slice(offset, offset + blockSize); + } + }); + + /** + * CBC decryptor. + */ + CBC.Decryptor = CBC.extend({ + /** + * 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: function(words, offset) { + // Shortcuts + var cipher = this._cipher; + var blockSize = cipher.blockSize; + + // Remember this block to use with next block + var thisBlock = words.slice(offset, offset + blockSize); + + // Decrypt and XOR + cipher.decryptBlock(words, offset); + xorBlock.call(this, words, offset, blockSize); + + // This block becomes the previous block + this._prevBlock = thisBlock; + } + }); + + function xorBlock(words, offset, blockSize) { + var block; + + // Shortcut + var iv = this._iv; + + // Choose mixing block + if (iv) { + block = iv; + + // Remove IV for subsequent blocks + this._iv = undefined; + } else { + block = this._prevBlock; + } + + // XOR blocks + 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 = { + /** + * Pads data using the algorithm defined in PKCS #5/7. + * + * @param {WordArray} data The data to pad. + * @param {number} blockSize The multiple that the data should be padded to. + * + * @static + * + * @example + * + * CryptoJS.pad.Pkcs7.pad(wordArray, 4); + */ + pad: function(data, blockSize) { + // Shortcut + var blockSizeBytes = blockSize * 4; + + // Count padding bytes + var nPaddingBytes = blockSizeBytes - data.sigBytes % blockSizeBytes; + + // Create padding word + var paddingWord = (nPaddingBytes << 24) | (nPaddingBytes << 16) | (nPaddingBytes << 8) | nPaddingBytes; + + // Create padding + var paddingWords = []; + for (var i = 0; i < nPaddingBytes; i += 4) { + paddingWords.push(paddingWord); + } + var padding = WordArray.create(paddingWords, nPaddingBytes); + + // Add padding + data.concat(padding); + }, + + /** + * Unpads data that had been padded using the algorithm defined in PKCS #5/7. + * + * @param {WordArray} data The data to unpad. + * + * @static + * + * @example + * + * CryptoJS.pad.Pkcs7.unpad(wordArray); + */ + unpad: function(data) { + // Get number of padding bytes from last byte + var nPaddingBytes = data.words[(data.sigBytes - 1) >>> 2] & 0xff; + + // Remove padding + 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({ + /** + * Configuration options. + * + * @property {Mode} mode The block mode to use. Default: CBC + * @property {Padding} padding The padding strategy to use. Default: Pkcs7 + */ + cfg: Cipher.cfg.extend({ + mode: CBC, + padding: Pkcs7 + }), + + reset: function() { + var modeCreator; + + // Reset cipher + Cipher.reset.call(this); + + // Shortcuts + var cfg = this.cfg; + var iv = cfg.iv; + var mode = cfg.mode; + + // Reset block mode + if (this._xformMode == this._ENC_XFORM_MODE) { + modeCreator = mode.createEncryptor; + } else /* if (this._xformMode == this._DEC_XFORM_MODE) */ { + modeCreator = mode.createDecryptor; + // Keep at least one block in the buffer for unpadding + 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; + + // Shortcut + var padding = this.cfg.padding; + + // Finalize + if (this._xformMode == this._ENC_XFORM_MODE) { + // Pad data + padding.pad(this._data, this.blockSize); + + // Process final blocks + finalProcessedBlocks = this._process(!!'flush'); + } else /* if (this._xformMode == this._DEC_XFORM_MODE) */ { + // Process final blocks + finalProcessedBlocks = this._process(!!'flush'); + + // Unpad data + 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({ + /** + * Initializes a newly created cipher params object. + * + * @param {Object} cipherParams An object with any of the possible cipher parameters. + * + * @example + * + * var cipherParams = CryptoJS.lib.CipherParams.create({ + * ciphertext: ciphertextWordArray, + * key: keyWordArray, + * iv: ivWordArray, + * salt: saltWordArray, + * algorithm: CryptoJS.algo.AES, + * mode: CryptoJS.mode.CBC, + * padding: CryptoJS.pad.PKCS7, + * blockSize: 4, + * formatter: CryptoJS.format.OpenSSL + * }); + */ + init: function(cipherParams) { + 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 + * + * var string = cipherParams + ''; + * var string = cipherParams.toString(); + * var string = cipherParams.toString(CryptoJS.format.OpenSSL); + */ + toString: function(formatter) { + return (formatter || this.formatter).stringify(this); + } + }); + + /** + * Format namespace. + */ + var C_format = C.format = {}; + + /** + * OpenSSL formatting strategy. + */ + var OpenSSLFormatter = C_format.OpenSSL = { + /** + * Converts a cipher params object to an OpenSSL-compatible string. + * + * @param {CipherParams} cipherParams The cipher params object. + * + * @return {string} The OpenSSL-compatible string. + * + * @static + * + * @example + * + * var openSSLString = CryptoJS.format.OpenSSL.stringify(cipherParams); + */ + stringify: function(cipherParams) { + var wordArray; + + // Shortcuts + var ciphertext = cipherParams.ciphertext; + var salt = cipherParams.salt; + + // Format + if (salt) { + wordArray = WordArray.create([0x53616c74, 0x65645f5f]).concat(salt).concat(ciphertext); + } else { + wordArray = ciphertext; + } + + return wordArray.toString(Base64); + }, + + /** + * Converts an OpenSSL-compatible string to a cipher params object. + * + * @param {string} openSSLStr The OpenSSL-compatible string. + * + * @return {CipherParams} The cipher params object. + * + * @static + * + * @example + * + * var cipherParams = CryptoJS.format.OpenSSL.parse(openSSLString); + */ + parse: function(openSSLStr) { + var salt; + + // Parse base64 + var ciphertext = Base64.parse(openSSLStr); + + // Shortcut + var ciphertextWords = ciphertext.words; + + // Test for salt + if (ciphertextWords[0] == 0x53616c74 && ciphertextWords[1] == 0x65645f5f) { + // Extract salt + salt = WordArray.create(ciphertextWords.slice(2, 4)); + + // Remove salt from ciphertext + ciphertextWords.splice(0, 4); + ciphertext.sigBytes -= 16; + } + + return CipherParams.create({ + ciphertext: ciphertext, + salt: salt + }); + } + }; + + /** + * A cipher wrapper that returns ciphertext as a serializable cipher params object. + */ + var SerializableCipher = C_lib.SerializableCipher = Base.extend({ + /** + * Configuration options. + * + * @property {Formatter} format The formatting strategy to convert cipher param objects to and from a string. Default: OpenSSL + */ + cfg: Base.extend({ + format: OpenSSLFormatter + }), + + /** + * 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. + * + * @return {CipherParams} A cipher params object. + * + * @static + * + * @example + * + * var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key); + * var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key, { iv: iv }); + * var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key, { iv: iv, format: CryptoJS.format.OpenSSL }); + */ + encrypt: function(cipher, message, key, cfg) { + // Apply config defaults + cfg = this.cfg.extend(cfg); + + // Encrypt + var encryptor = cipher.createEncryptor(key, cfg); + var ciphertext = encryptor.finalize(message); + + // Shortcut + var cipherCfg = encryptor.cfg; + + // Create and return serializable cipher params + return CipherParams.create({ + ciphertext: ciphertext, + key: key, + iv: cipherCfg.iv, + algorithm: cipher, + mode: cipherCfg.mode, + padding: cipherCfg.padding, + blockSize: cipher.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 + * + * var plaintext = CryptoJS.lib.SerializableCipher.decrypt(CryptoJS.algo.AES, formattedCiphertext, key, { iv: iv, format: CryptoJS.format.OpenSSL }); + * var plaintext = CryptoJS.lib.SerializableCipher.decrypt(CryptoJS.algo.AES, ciphertextParams, key, { iv: iv, format: CryptoJS.format.OpenSSL }); + */ + decrypt: function(cipher, ciphertext, key, cfg) { + // Apply config defaults + cfg = this.cfg.extend(cfg); + + // Convert string to CipherParams + ciphertext = this._parse(ciphertext, cfg.format); + + // Decrypt + var 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 + * + * var ciphertextParams = CryptoJS.lib.SerializableCipher._parse(ciphertextStringOrParams, format); + */ + _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 = { + /** + * Derives a key and IV from a password. + * + * @param {string} password The password to derive from. + * @param {number} keySize The size in words of the key to generate. + * @param {number} ivSize The size in words of the IV to generate. + * @param {WordArray|string} salt (Optional) A 64-bit salt to use. If omitted, a salt will be generated randomly. + * + * @return {CipherParams} A cipher params object with the key, IV, and salt. + * + * @static + * + * @example + * + * var derivedParams = CryptoJS.kdf.OpenSSL.execute('Password', 256/32, 128/32); + * var derivedParams = CryptoJS.kdf.OpenSSL.execute('Password', 256/32, 128/32, 'saltsalt'); + */ + execute: function(password, keySize, ivSize, salt) { + // Generate random salt + if (!salt) { + salt = WordArray.random(64 / 8); + } + + // Derive key and IV + var key = EvpKDF.create({ + keySize: keySize + ivSize + }).compute(password, salt); + + // Separate key and IV + var iv = WordArray.create(key.words.slice(keySize), ivSize * 4); + key.sigBytes = keySize * 4; + + // Return params + return CipherParams.create({ + key: key, + iv: iv, + salt: 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({ + /** + * Configuration options. + * + * @property {KDF} kdf The key derivation function to use to generate a key and IV from a password. Default: OpenSSL + */ + cfg: SerializableCipher.cfg.extend({ + kdf: OpenSSLKdf + }), + + /** + * 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 + * + * var ciphertextParams = CryptoJS.lib.PasswordBasedCipher.encrypt(CryptoJS.algo.AES, message, 'password'); + * var ciphertextParams = CryptoJS.lib.PasswordBasedCipher.encrypt(CryptoJS.algo.AES, message, 'password', { format: CryptoJS.format.OpenSSL }); + */ + encrypt: function(cipher, message, password, cfg) { + // Apply config defaults + cfg = this.cfg.extend(cfg); + + // Derive key and other params + var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize); + + // Add IV to config + cfg.iv = derivedParams.iv; + + // Encrypt + var ciphertext = SerializableCipher.encrypt.call(this, cipher, message, derivedParams.key, cfg); + + // Mix in derived params + 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 + * + * var plaintext = CryptoJS.lib.PasswordBasedCipher.decrypt(CryptoJS.algo.AES, formattedCiphertext, 'password', { format: CryptoJS.format.OpenSSL }); + * var plaintext = CryptoJS.lib.PasswordBasedCipher.decrypt(CryptoJS.algo.AES, ciphertextParams, 'password', { format: CryptoJS.format.OpenSSL }); + */ + decrypt: function(cipher, ciphertext, password, cfg) { + // Apply config defaults + cfg = this.cfg.extend(cfg); + + // Convert string to CipherParams + ciphertext = this._parse(ciphertext, cfg.format); + + // Derive key and other params + var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize, ciphertext.salt); + + // Add IV to config + cfg.iv = derivedParams.iv; + + // Decrypt + 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) { + // Shortcuts + var cipher = this._cipher; + var blockSize = cipher.blockSize; + + generateKeystreamAndEncrypt.call(this, words, offset, blockSize, cipher); + + // Remember this block to use with next block + this._prevBlock = words.slice(offset, offset + blockSize); + } + }); + + CFB.Decryptor = CFB.extend({ + processBlock: function(words, offset) { + // Shortcuts + var cipher = this._cipher; + var blockSize = cipher.blockSize; + + // Remember this block to use with next block + var thisBlock = words.slice(offset, offset + blockSize); + + generateKeystreamAndEncrypt.call(this, words, offset, blockSize, cipher); + + // This block becomes the previous block + this._prevBlock = thisBlock; + } + }); + + function generateKeystreamAndEncrypt(words, offset, blockSize, cipher) { + var keystream; + + // Shortcut + var iv = this._iv; + + // Generate keystream + if (iv) { + keystream = iv.slice(0); + + // Remove IV for subsequent blocks + this._iv = undefined; + } else { + keystream = this._prevBlock; + } + cipher.encryptBlock(keystream, 0); + + // Encrypt + 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) { + // Shortcuts + var cipher = this._cipher + var blockSize = cipher.blockSize; + var iv = this._iv; + var counter = this._counter; + + // Generate keystream + if (iv) { + counter = this._counter = iv.slice(0); + + // Remove IV for subsequent blocks + this._iv = undefined; + } + var keystream = counter.slice(0); + cipher.encryptBlock(keystream, 0); + + // Increment counter + counter[blockSize - 1] = (counter[blockSize - 1] + 1) | 0 + + // Encrypt + 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) & 0xff) === 0xff) { //overflow + var b1 = (word >> 16) & 0xff; + var b2 = (word >> 8) & 0xff; + var b3 = word & 0xff; + + if (b1 === 0xff) // overflow b1 + { + b1 = 0; + if (b2 === 0xff) { + b2 = 0; + if (b3 === 0xff) { + b3 = 0; + } else { + ++b3; + } + } else { + ++b2; + } + } else { + ++b1; + } + + word = 0; + word += (b1 << 16); + word += (b2 << 8); + word += b3; + } else { + word += (0x01 << 24); + } + return word; + } + + function incCounter(counter) { + if ((counter[0] = incWord(counter[0])) === 0) { + // encr_data in fileenc.c from Dr Brian Gladman's counts only with DWORD j < 8 + counter[1] = incWord(counter[1]); + } + return counter; + } + + var Encryptor = CTRGladman.Encryptor = CTRGladman.extend({ + processBlock: function(words, offset) { + // Shortcuts + var cipher = this._cipher + var blockSize = cipher.blockSize; + var iv = this._iv; + var counter = this._counter; + + // Generate keystream + if (iv) { + counter = this._counter = iv.slice(0); + + // Remove IV for subsequent blocks + this._iv = undefined; + } + + incCounter(counter); + + var keystream = counter.slice(0); + cipher.encryptBlock(keystream, 0); + + // Encrypt + 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) { + // Shortcuts + var cipher = this._cipher + var blockSize = cipher.blockSize; + var iv = this._iv; + var keystream = this._keystream; + + // Generate keystream + if (iv) { + keystream = this._keystream = iv.slice(0); + + // Remove IV for subsequent blocks + this._iv = undefined; + } + cipher.encryptBlock(keystream, 0); + + // Encrypt + 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) { + // Shortcuts + var dataSigBytes = data.sigBytes; + var blockSizeBytes = blockSize * 4; + + // Count padding bytes + var nPaddingBytes = blockSizeBytes - dataSigBytes % blockSizeBytes; + + // Compute last byte position + var lastBytePos = dataSigBytes + nPaddingBytes - 1; + + // Pad + data.clamp(); + data.words[lastBytePos >>> 2] |= nPaddingBytes << (24 - (lastBytePos % 4) * 8); + data.sigBytes += nPaddingBytes; + }, + + unpad: function(data) { + // Get number of padding bytes from last byte + var nPaddingBytes = data.words[(data.sigBytes - 1) >>> 2] & 0xff; + + // Remove padding + data.sigBytes -= nPaddingBytes; + } + }; + + + /** + * ISO 10126 padding strategy. + */ + CryptoJS.pad.Iso10126 = { + pad: function(data, blockSize) { + // Shortcut + var blockSizeBytes = blockSize * 4; + + // Count padding bytes + var nPaddingBytes = blockSizeBytes - data.sigBytes % blockSizeBytes; + + // Pad + data.concat(CryptoJS.lib.WordArray.random(nPaddingBytes - 1)). + concat(CryptoJS.lib.WordArray.create([nPaddingBytes << 24], 1)); + }, + + unpad: function(data) { + // Get number of padding bytes from last byte + var nPaddingBytes = data.words[(data.sigBytes - 1) >>> 2] & 0xff; + + // Remove padding + data.sigBytes -= nPaddingBytes; + } + }; + + + /** + * ISO/IEC 9797-1 Padding Method 2. + */ + CryptoJS.pad.Iso97971 = { + pad: function(data, blockSize) { + // Add 0x80 byte + data.concat(CryptoJS.lib.WordArray.create([0x80000000], 1)); + + // Zero pad the rest + CryptoJS.pad.ZeroPadding.pad(data, blockSize); + }, + + unpad: function(data) { + // Remove zero padding + CryptoJS.pad.ZeroPadding.unpad(data); + + // Remove one more byte -- the 0x80 byte + data.sigBytes--; + } + }; + + + /** + * Zero padding strategy. + */ + CryptoJS.pad.ZeroPadding = { + pad: function(data, blockSize) { + // Shortcut + var blockSizeBytes = blockSize * 4; + + // Pad + data.clamp(); + data.sigBytes += blockSizeBytes - ((data.sigBytes % blockSizeBytes) || blockSizeBytes); + }, + + unpad: function(data) { + // Shortcut + var dataWords = data.words; + + // Unpad + var i = data.sigBytes - 1; + for (var i = data.sigBytes - 1; i >= 0; i--) { + if (((dataWords[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff)) { + data.sigBytes = i + 1; + break; + } + } + } + }; + + + /** + * A noop padding strategy. + */ + CryptoJS.pad.NoPadding = { + pad: function() {}, + + unpad: function() {} + }; + + + (function(undefined) { + // Shortcuts + 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 = { + /** + * Converts the ciphertext of a cipher params object to a hexadecimally encoded string. + * + * @param {CipherParams} cipherParams The cipher params object. + * + * @return {string} The hexadecimally encoded string. + * + * @static + * + * @example + * + * var hexString = CryptoJS.format.Hex.stringify(cipherParams); + */ + stringify: function(cipherParams) { + return cipherParams.ciphertext.toString(Hex); + }, + + /** + * Converts a hexadecimally encoded ciphertext string to a cipher params object. + * + * @param {string} input The hexadecimally encoded string. + * + * @return {CipherParams} The cipher params object. + * + * @static + * + * @example + * + * var cipherParams = CryptoJS.format.Hex.parse(hexString); + */ + parse: function(input) { + var ciphertext = Hex.parse(input); + return CipherParams.create({ + ciphertext: ciphertext + }); + } + }; + }()); + + + (function() { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var BlockCipher = C_lib.BlockCipher; + var C_algo = C.algo; + + // Lookup tables + 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 = []; + + // Compute lookup tables + (function() { + // Compute double table + var d = []; + for (var i = 0; i < 256; i++) { + if (i < 128) { + d[i] = i << 1; + } else { + d[i] = (i << 1) ^ 0x11b; + } + } + + // Walk GF(2^8) + var x = 0; + var xi = 0; + for (var i = 0; i < 256; i++) { + // Compute sbox + var sx = xi ^ (xi << 1) ^ (xi << 2) ^ (xi << 3) ^ (xi << 4); + sx = (sx >>> 8) ^ (sx & 0xff) ^ 0x63; + SBOX[x] = sx; + INV_SBOX[sx] = x; + + // Compute multiplication + var x2 = d[x]; + var x4 = d[x2]; + var x8 = d[x4]; + + // Compute sub bytes, mix columns tables + var t = (d[sx] * 0x101) ^ (sx * 0x1010100); + 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; + + // Compute inv sub bytes, inv mix columns tables + var t = (x8 * 0x1010101) ^ (x4 * 0x10001) ^ (x2 * 0x101) ^ (x * 0x1010100); + 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; + + // Compute next counter + if (!x) { + x = xi = 1; + } else { + x = x2 ^ d[d[d[x8 ^ x2]]]; + xi ^= d[d[xi]]; + } + } + }()); + + // Precomputed Rcon lookup + var RCON = [0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36]; + + /** + * AES block cipher algorithm. + */ + var AES = C_algo.AES = BlockCipher.extend({ + _doReset: function() { + var t; + + // Skip reset of nRounds has been set before and key did not change + if (this._nRounds && this._keyPriorReset === this._key) { + return; + } + + // Shortcuts + var key = this._keyPriorReset = this._key; + var keyWords = key.words; + var keySize = key.sigBytes / 4; + + // Compute number of rounds + var nRounds = this._nRounds = keySize + 6; + + // Compute number of key schedule rows + var ksRows = (nRounds + 1) * 4; + + // Compute key schedule + 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)) { + // Rot word + t = (t << 8) | (t >>> 24); + + // Sub word + t = (SBOX[t >>> 24] << 24) | (SBOX[(t >>> 16) & 0xff] << 16) | (SBOX[(t >>> 8) & 0xff] << 8) | SBOX[t & 0xff]; + + // Mix Rcon + t ^= RCON[(ksRow / keySize) | 0] << 24; + } else if (keySize > 6 && ksRow % keySize == 4) { + // Sub word + t = (SBOX[t >>> 24] << 24) | (SBOX[(t >>> 16) & 0xff] << 16) | (SBOX[(t >>> 8) & 0xff] << 8) | SBOX[t & 0xff]; + } + + keySchedule[ksRow] = keySchedule[ksRow - keySize] ^ t; + } + } + + // Compute inv key schedule + 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) & 0xff]] ^ + INV_SUB_MIX_2[SBOX[(t >>> 8) & 0xff]] ^ INV_SUB_MIX_3[SBOX[t & 0xff]]; + } + } + }, + + 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) { + // Swap 2nd and 4th rows + 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); + + // Inv swap 2nd and 4th rows + 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) { + // Shortcut + var nRounds = this._nRounds; + + // Get input, add round key + 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]; + + // Key schedule row counter + var ksRow = 4; + + // Rounds + for (var round = 1; round < nRounds; round++) { + // Shift rows, sub bytes, mix columns, add round key + var t0 = SUB_MIX_0[s0 >>> 24] ^ SUB_MIX_1[(s1 >>> 16) & 0xff] ^ SUB_MIX_2[(s2 >>> 8) & 0xff] ^ SUB_MIX_3[s3 & 0xff] ^ keySchedule[ksRow++]; + var t1 = SUB_MIX_0[s1 >>> 24] ^ SUB_MIX_1[(s2 >>> 16) & 0xff] ^ SUB_MIX_2[(s3 >>> 8) & 0xff] ^ SUB_MIX_3[s0 & 0xff] ^ keySchedule[ksRow++]; + var t2 = SUB_MIX_0[s2 >>> 24] ^ SUB_MIX_1[(s3 >>> 16) & 0xff] ^ SUB_MIX_2[(s0 >>> 8) & 0xff] ^ SUB_MIX_3[s1 & 0xff] ^ keySchedule[ksRow++]; + var t3 = SUB_MIX_0[s3 >>> 24] ^ SUB_MIX_1[(s0 >>> 16) & 0xff] ^ SUB_MIX_2[(s1 >>> 8) & 0xff] ^ SUB_MIX_3[s2 & 0xff] ^ keySchedule[ksRow++]; + + // Update state + s0 = t0; + s1 = t1; + s2 = t2; + s3 = t3; + } + + // Shift rows, sub bytes, add round key + var t0 = ((SBOX[s0 >>> 24] << 24) | (SBOX[(s1 >>> 16) & 0xff] << 16) | (SBOX[(s2 >>> 8) & 0xff] << 8) | SBOX[s3 & 0xff]) ^ keySchedule[ksRow++]; + var t1 = ((SBOX[s1 >>> 24] << 24) | (SBOX[(s2 >>> 16) & 0xff] << 16) | (SBOX[(s3 >>> 8) & 0xff] << 8) | SBOX[s0 & 0xff]) ^ keySchedule[ksRow++]; + var t2 = ((SBOX[s2 >>> 24] << 24) | (SBOX[(s3 >>> 16) & 0xff] << 16) | (SBOX[(s0 >>> 8) & 0xff] << 8) | SBOX[s1 & 0xff]) ^ keySchedule[ksRow++]; + var t3 = ((SBOX[s3 >>> 24] << 24) | (SBOX[(s0 >>> 16) & 0xff] << 16) | (SBOX[(s1 >>> 8) & 0xff] << 8) | SBOX[s2 & 0xff]) ^ keySchedule[ksRow++]; + + // Set output + 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() { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var WordArray = C_lib.WordArray; + var BlockCipher = C_lib.BlockCipher; + var C_algo = C.algo; + + // Permuted Choice 1 constants + 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 + ]; + + // Permuted Choice 2 constants + 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 + ]; + + // Cumulative bit shift constants + var BIT_SHIFTS = [1, 2, 4, 6, 8, 10, 12, 14, 15, 17, 19, 21, 23, 25, 27, 28]; + + // SBOXes and round permutation constants + var SBOX_P = [{ + 0x0: 0x808200, + 0x10000000: 0x8000, + 0x20000000: 0x808002, + 0x30000000: 0x2, + 0x40000000: 0x200, + 0x50000000: 0x808202, + 0x60000000: 0x800202, + 0x70000000: 0x800000, + 0x80000000: 0x202, + 0x90000000: 0x800200, + 0xa0000000: 0x8200, + 0xb0000000: 0x808000, + 0xc0000000: 0x8002, + 0xd0000000: 0x800002, + 0xe0000000: 0x0, + 0xf0000000: 0x8202, + 0x8000000: 0x0, + 0x18000000: 0x808202, + 0x28000000: 0x8202, + 0x38000000: 0x8000, + 0x48000000: 0x808200, + 0x58000000: 0x200, + 0x68000000: 0x808002, + 0x78000000: 0x2, + 0x88000000: 0x800200, + 0x98000000: 0x8200, + 0xa8000000: 0x808000, + 0xb8000000: 0x800202, + 0xc8000000: 0x800002, + 0xd8000000: 0x8002, + 0xe8000000: 0x202, + 0xf8000000: 0x800000, + 0x1: 0x8000, + 0x10000001: 0x2, + 0x20000001: 0x808200, + 0x30000001: 0x800000, + 0x40000001: 0x808002, + 0x50000001: 0x8200, + 0x60000001: 0x200, + 0x70000001: 0x800202, + 0x80000001: 0x808202, + 0x90000001: 0x808000, + 0xa0000001: 0x800002, + 0xb0000001: 0x8202, + 0xc0000001: 0x202, + 0xd0000001: 0x800200, + 0xe0000001: 0x8002, + 0xf0000001: 0x0, + 0x8000001: 0x808202, + 0x18000001: 0x808000, + 0x28000001: 0x800000, + 0x38000001: 0x200, + 0x48000001: 0x8000, + 0x58000001: 0x800002, + 0x68000001: 0x2, + 0x78000001: 0x8202, + 0x88000001: 0x8002, + 0x98000001: 0x800202, + 0xa8000001: 0x202, + 0xb8000001: 0x808200, + 0xc8000001: 0x800200, + 0xd8000001: 0x0, + 0xe8000001: 0x8200, + 0xf8000001: 0x808002 + }, + { + 0x0: 0x40084010, + 0x1000000: 0x4000, + 0x2000000: 0x80000, + 0x3000000: 0x40080010, + 0x4000000: 0x40000010, + 0x5000000: 0x40084000, + 0x6000000: 0x40004000, + 0x7000000: 0x10, + 0x8000000: 0x84000, + 0x9000000: 0x40004010, + 0xa000000: 0x40000000, + 0xb000000: 0x84010, + 0xc000000: 0x80010, + 0xd000000: 0x0, + 0xe000000: 0x4010, + 0xf000000: 0x40080000, + 0x800000: 0x40004000, + 0x1800000: 0x84010, + 0x2800000: 0x10, + 0x3800000: 0x40004010, + 0x4800000: 0x40084010, + 0x5800000: 0x40000000, + 0x6800000: 0x80000, + 0x7800000: 0x40080010, + 0x8800000: 0x80010, + 0x9800000: 0x0, + 0xa800000: 0x4000, + 0xb800000: 0x40080000, + 0xc800000: 0x40000010, + 0xd800000: 0x84000, + 0xe800000: 0x40084000, + 0xf800000: 0x4010, + 0x10000000: 0x0, + 0x11000000: 0x40080010, + 0x12000000: 0x40004010, + 0x13000000: 0x40084000, + 0x14000000: 0x40080000, + 0x15000000: 0x10, + 0x16000000: 0x84010, + 0x17000000: 0x4000, + 0x18000000: 0x4010, + 0x19000000: 0x80000, + 0x1a000000: 0x80010, + 0x1b000000: 0x40000010, + 0x1c000000: 0x84000, + 0x1d000000: 0x40004000, + 0x1e000000: 0x40000000, + 0x1f000000: 0x40084010, + 0x10800000: 0x84010, + 0x11800000: 0x80000, + 0x12800000: 0x40080000, + 0x13800000: 0x4000, + 0x14800000: 0x40004000, + 0x15800000: 0x40084010, + 0x16800000: 0x10, + 0x17800000: 0x40000000, + 0x18800000: 0x40084000, + 0x19800000: 0x40000010, + 0x1a800000: 0x40004010, + 0x1b800000: 0x80010, + 0x1c800000: 0x0, + 0x1d800000: 0x4010, + 0x1e800000: 0x40080010, + 0x1f800000: 0x84000 + }, + { + 0x0: 0x104, + 0x100000: 0x0, + 0x200000: 0x4000100, + 0x300000: 0x10104, + 0x400000: 0x10004, + 0x500000: 0x4000004, + 0x600000: 0x4010104, + 0x700000: 0x4010000, + 0x800000: 0x4000000, + 0x900000: 0x4010100, + 0xa00000: 0x10100, + 0xb00000: 0x4010004, + 0xc00000: 0x4000104, + 0xd00000: 0x10000, + 0xe00000: 0x4, + 0xf00000: 0x100, + 0x80000: 0x4010100, + 0x180000: 0x4010004, + 0x280000: 0x0, + 0x380000: 0x4000100, + 0x480000: 0x4000004, + 0x580000: 0x10000, + 0x680000: 0x10004, + 0x780000: 0x104, + 0x880000: 0x4, + 0x980000: 0x100, + 0xa80000: 0x4010000, + 0xb80000: 0x10104, + 0xc80000: 0x10100, + 0xd80000: 0x4000104, + 0xe80000: 0x4010104, + 0xf80000: 0x4000000, + 0x1000000: 0x4010100, + 0x1100000: 0x10004, + 0x1200000: 0x10000, + 0x1300000: 0x4000100, + 0x1400000: 0x100, + 0x1500000: 0x4010104, + 0x1600000: 0x4000004, + 0x1700000: 0x0, + 0x1800000: 0x4000104, + 0x1900000: 0x4000000, + 0x1a00000: 0x4, + 0x1b00000: 0x10100, + 0x1c00000: 0x4010000, + 0x1d00000: 0x104, + 0x1e00000: 0x10104, + 0x1f00000: 0x4010004, + 0x1080000: 0x4000000, + 0x1180000: 0x104, + 0x1280000: 0x4010100, + 0x1380000: 0x0, + 0x1480000: 0x10004, + 0x1580000: 0x4000100, + 0x1680000: 0x100, + 0x1780000: 0x4010004, + 0x1880000: 0x10000, + 0x1980000: 0x4010104, + 0x1a80000: 0x10104, + 0x1b80000: 0x4000004, + 0x1c80000: 0x4000104, + 0x1d80000: 0x4010000, + 0x1e80000: 0x4, + 0x1f80000: 0x10100 + }, + { + 0x0: 0x80401000, + 0x10000: 0x80001040, + 0x20000: 0x401040, + 0x30000: 0x80400000, + 0x40000: 0x0, + 0x50000: 0x401000, + 0x60000: 0x80000040, + 0x70000: 0x400040, + 0x80000: 0x80000000, + 0x90000: 0x400000, + 0xa0000: 0x40, + 0xb0000: 0x80001000, + 0xc0000: 0x80400040, + 0xd0000: 0x1040, + 0xe0000: 0x1000, + 0xf0000: 0x80401040, + 0x8000: 0x80001040, + 0x18000: 0x40, + 0x28000: 0x80400040, + 0x38000: 0x80001000, + 0x48000: 0x401000, + 0x58000: 0x80401040, + 0x68000: 0x0, + 0x78000: 0x80400000, + 0x88000: 0x1000, + 0x98000: 0x80401000, + 0xa8000: 0x400000, + 0xb8000: 0x1040, + 0xc8000: 0x80000000, + 0xd8000: 0x400040, + 0xe8000: 0x401040, + 0xf8000: 0x80000040, + 0x100000: 0x400040, + 0x110000: 0x401000, + 0x120000: 0x80000040, + 0x130000: 0x0, + 0x140000: 0x1040, + 0x150000: 0x80400040, + 0x160000: 0x80401000, + 0x170000: 0x80001040, + 0x180000: 0x80401040, + 0x190000: 0x80000000, + 0x1a0000: 0x80400000, + 0x1b0000: 0x401040, + 0x1c0000: 0x80001000, + 0x1d0000: 0x400000, + 0x1e0000: 0x40, + 0x1f0000: 0x1000, + 0x108000: 0x80400000, + 0x118000: 0x80401040, + 0x128000: 0x0, + 0x138000: 0x401000, + 0x148000: 0x400040, + 0x158000: 0x80000000, + 0x168000: 0x80001040, + 0x178000: 0x40, + 0x188000: 0x80000040, + 0x198000: 0x1000, + 0x1a8000: 0x80001000, + 0x1b8000: 0x80400040, + 0x1c8000: 0x1040, + 0x1d8000: 0x80401000, + 0x1e8000: 0x400000, + 0x1f8000: 0x401040 + }, + { + 0x0: 0x80, + 0x1000: 0x1040000, + 0x2000: 0x40000, + 0x3000: 0x20000000, + 0x4000: 0x20040080, + 0x5000: 0x1000080, + 0x6000: 0x21000080, + 0x7000: 0x40080, + 0x8000: 0x1000000, + 0x9000: 0x20040000, + 0xa000: 0x20000080, + 0xb000: 0x21040080, + 0xc000: 0x21040000, + 0xd000: 0x0, + 0xe000: 0x1040080, + 0xf000: 0x21000000, + 0x800: 0x1040080, + 0x1800: 0x21000080, + 0x2800: 0x80, + 0x3800: 0x1040000, + 0x4800: 0x40000, + 0x5800: 0x20040080, + 0x6800: 0x21040000, + 0x7800: 0x20000000, + 0x8800: 0x20040000, + 0x9800: 0x0, + 0xa800: 0x21040080, + 0xb800: 0x1000080, + 0xc800: 0x20000080, + 0xd800: 0x21000000, + 0xe800: 0x1000000, + 0xf800: 0x40080, + 0x10000: 0x40000, + 0x11000: 0x80, + 0x12000: 0x20000000, + 0x13000: 0x21000080, + 0x14000: 0x1000080, + 0x15000: 0x21040000, + 0x16000: 0x20040080, + 0x17000: 0x1000000, + 0x18000: 0x21040080, + 0x19000: 0x21000000, + 0x1a000: 0x1040000, + 0x1b000: 0x20040000, + 0x1c000: 0x40080, + 0x1d000: 0x20000080, + 0x1e000: 0x0, + 0x1f000: 0x1040080, + 0x10800: 0x21000080, + 0x11800: 0x1000000, + 0x12800: 0x1040000, + 0x13800: 0x20040080, + 0x14800: 0x20000000, + 0x15800: 0x1040080, + 0x16800: 0x80, + 0x17800: 0x21040000, + 0x18800: 0x40080, + 0x19800: 0x21040080, + 0x1a800: 0x0, + 0x1b800: 0x21000000, + 0x1c800: 0x1000080, + 0x1d800: 0x40000, + 0x1e800: 0x20040000, + 0x1f800: 0x20000080 + }, + { + 0x0: 0x10000008, + 0x100: 0x2000, + 0x200: 0x10200000, + 0x300: 0x10202008, + 0x400: 0x10002000, + 0x500: 0x200000, + 0x600: 0x200008, + 0x700: 0x10000000, + 0x800: 0x0, + 0x900: 0x10002008, + 0xa00: 0x202000, + 0xb00: 0x8, + 0xc00: 0x10200008, + 0xd00: 0x202008, + 0xe00: 0x2008, + 0xf00: 0x10202000, + 0x80: 0x10200000, + 0x180: 0x10202008, + 0x280: 0x8, + 0x380: 0x200000, + 0x480: 0x202008, + 0x580: 0x10000008, + 0x680: 0x10002000, + 0x780: 0x2008, + 0x880: 0x200008, + 0x980: 0x2000, + 0xa80: 0x10002008, + 0xb80: 0x10200008, + 0xc80: 0x0, + 0xd80: 0x10202000, + 0xe80: 0x202000, + 0xf80: 0x10000000, + 0x1000: 0x10002000, + 0x1100: 0x10200008, + 0x1200: 0x10202008, + 0x1300: 0x2008, + 0x1400: 0x200000, + 0x1500: 0x10000000, + 0x1600: 0x10000008, + 0x1700: 0x202000, + 0x1800: 0x202008, + 0x1900: 0x0, + 0x1a00: 0x8, + 0x1b00: 0x10200000, + 0x1c00: 0x2000, + 0x1d00: 0x10002008, + 0x1e00: 0x10202000, + 0x1f00: 0x200008, + 0x1080: 0x8, + 0x1180: 0x202000, + 0x1280: 0x200000, + 0x1380: 0x10000008, + 0x1480: 0x10002000, + 0x1580: 0x2008, + 0x1680: 0x10202008, + 0x1780: 0x10200000, + 0x1880: 0x10202000, + 0x1980: 0x10200008, + 0x1a80: 0x2000, + 0x1b80: 0x202008, + 0x1c80: 0x200008, + 0x1d80: 0x0, + 0x1e80: 0x10000000, + 0x1f80: 0x10002008 + }, + { + 0x0: 0x100000, + 0x10: 0x2000401, + 0x20: 0x400, + 0x30: 0x100401, + 0x40: 0x2100401, + 0x50: 0x0, + 0x60: 0x1, + 0x70: 0x2100001, + 0x80: 0x2000400, + 0x90: 0x100001, + 0xa0: 0x2000001, + 0xb0: 0x2100400, + 0xc0: 0x2100000, + 0xd0: 0x401, + 0xe0: 0x100400, + 0xf0: 0x2000000, + 0x8: 0x2100001, + 0x18: 0x0, + 0x28: 0x2000401, + 0x38: 0x2100400, + 0x48: 0x100000, + 0x58: 0x2000001, + 0x68: 0x2000000, + 0x78: 0x401, + 0x88: 0x100401, + 0x98: 0x2000400, + 0xa8: 0x2100000, + 0xb8: 0x100001, + 0xc8: 0x400, + 0xd8: 0x2100401, + 0xe8: 0x1, + 0xf8: 0x100400, + 0x100: 0x2000000, + 0x110: 0x100000, + 0x120: 0x2000401, + 0x130: 0x2100001, + 0x140: 0x100001, + 0x150: 0x2000400, + 0x160: 0x2100400, + 0x170: 0x100401, + 0x180: 0x401, + 0x190: 0x2100401, + 0x1a0: 0x100400, + 0x1b0: 0x1, + 0x1c0: 0x0, + 0x1d0: 0x2100000, + 0x1e0: 0x2000001, + 0x1f0: 0x400, + 0x108: 0x100400, + 0x118: 0x2000401, + 0x128: 0x2100001, + 0x138: 0x1, + 0x148: 0x2000000, + 0x158: 0x100000, + 0x168: 0x401, + 0x178: 0x2100400, + 0x188: 0x2000001, + 0x198: 0x2100000, + 0x1a8: 0x0, + 0x1b8: 0x2100401, + 0x1c8: 0x100401, + 0x1d8: 0x400, + 0x1e8: 0x2000400, + 0x1f8: 0x100001 + }, + { + 0x0: 0x8000820, + 0x1: 0x20000, + 0x2: 0x8000000, + 0x3: 0x20, + 0x4: 0x20020, + 0x5: 0x8020820, + 0x6: 0x8020800, + 0x7: 0x800, + 0x8: 0x8020000, + 0x9: 0x8000800, + 0xa: 0x20800, + 0xb: 0x8020020, + 0xc: 0x820, + 0xd: 0x0, + 0xe: 0x8000020, + 0xf: 0x20820, + 0x80000000: 0x800, + 0x80000001: 0x8020820, + 0x80000002: 0x8000820, + 0x80000003: 0x8000000, + 0x80000004: 0x8020000, + 0x80000005: 0x20800, + 0x80000006: 0x20820, + 0x80000007: 0x20, + 0x80000008: 0x8000020, + 0x80000009: 0x820, + 0x8000000a: 0x20020, + 0x8000000b: 0x8020800, + 0x8000000c: 0x0, + 0x8000000d: 0x8020020, + 0x8000000e: 0x8000800, + 0x8000000f: 0x20000, + 0x10: 0x20820, + 0x11: 0x8020800, + 0x12: 0x20, + 0x13: 0x800, + 0x14: 0x8000800, + 0x15: 0x8000020, + 0x16: 0x8020020, + 0x17: 0x20000, + 0x18: 0x0, + 0x19: 0x20020, + 0x1a: 0x8020000, + 0x1b: 0x8000820, + 0x1c: 0x8020820, + 0x1d: 0x20800, + 0x1e: 0x820, + 0x1f: 0x8000000, + 0x80000010: 0x20000, + 0x80000011: 0x800, + 0x80000012: 0x8020020, + 0x80000013: 0x20820, + 0x80000014: 0x20, + 0x80000015: 0x8020000, + 0x80000016: 0x8000000, + 0x80000017: 0x8000820, + 0x80000018: 0x8020820, + 0x80000019: 0x8000020, + 0x8000001a: 0x8000800, + 0x8000001b: 0x0, + 0x8000001c: 0x20800, + 0x8000001d: 0x820, + 0x8000001e: 0x20020, + 0x8000001f: 0x8020800 + } + ]; + + // Masks that select the SBOX input + var SBOX_MASK = [ + 0xf8000001, 0x1f800000, 0x01f80000, 0x001f8000, + 0x0001f800, 0x00001f80, 0x000001f8, 0x8000001f + ]; + + /** + * DES block cipher algorithm. + */ + var DES = C_algo.DES = BlockCipher.extend({ + _doReset: function() { + // Shortcuts + var key = this._key; + var keyWords = key.words; + + // Select 56 bits according to PC1 + var keyBits = []; + for (var i = 0; i < 56; i++) { + var keyBitPos = PC1[i] - 1; + keyBits[i] = (keyWords[keyBitPos >>> 5] >>> (31 - keyBitPos % 32)) & 1; + } + + // Assemble 16 subkeys + var subKeys = this._subKeys = []; + for (var nSubKey = 0; nSubKey < 16; nSubKey++) { + // Create subkey + var subKey = subKeys[nSubKey] = []; + + // Shortcut + var bitShift = BIT_SHIFTS[nSubKey]; + + // Select 48 bits according to PC2 + for (var i = 0; i < 24; i++) { + // Select from the left 28 key bits + subKey[(i / 6) | 0] |= keyBits[((PC2[i] - 1) + bitShift) % 28] << (31 - i % 6); + + // Select from the right 28 key bits + subKey[4 + ((i / 6) | 0)] |= keyBits[28 + (((PC2[i + 24] - 1) + bitShift) % 28)] << (31 - i % 6); + } + + // Since each subkey is applied to an expanded 32-bit input, + // the subkey can be broken into 8 values scaled to 32-bits, + // which allows the key to be used without expansion + 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); + } + + // Compute inverse subkeys + 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) { + // Get input + this._lBlock = M[offset]; + this._rBlock = M[offset + 1]; + + // Initial permutation + exchangeLR.call(this, 4, 0x0f0f0f0f); + exchangeLR.call(this, 16, 0x0000ffff); + exchangeRL.call(this, 2, 0x33333333); + exchangeRL.call(this, 8, 0x00ff00ff); + exchangeLR.call(this, 1, 0x55555555); + + // Rounds + for (var round = 0; round < 16; round++) { + // Shortcuts + var subKey = subKeys[round]; + var lBlock = this._lBlock; + var rBlock = this._rBlock; + + // Feistel function + 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; + } + + // Undo swap from last round + var t = this._lBlock; + this._lBlock = this._rBlock; + this._rBlock = t; + + // Final permutation + exchangeLR.call(this, 1, 0x55555555); + exchangeRL.call(this, 8, 0x00ff00ff); + exchangeRL.call(this, 2, 0x33333333); + exchangeLR.call(this, 16, 0x0000ffff); + exchangeLR.call(this, 4, 0x0f0f0f0f); + + // Set output + M[offset] = this._lBlock; + M[offset + 1] = this._rBlock; + }, + + keySize: 64 / 32, + + ivSize: 64 / 32, + + blockSize: 64 / 32 + }); + + // Swap bits across the left and right words + 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() { + // Shortcuts + var key = this._key; + var keyWords = key.words; + // Make sure the key length is valid (64, 128 or >= 192 bit) + 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.'); + } + + // Extend the key according to the keying options defined in 3DES standard + 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); + + // Create DES instances + 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() { + // Shortcuts + 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() { + // Shortcuts + var key = this._key; + var keyWords = key.words; + var keySigBytes = key.sigBytes; + + // Init sbox + var S = this._S = []; + for (var i = 0; i < 256; i++) { + S[i] = i; + } + + // Key setup + for (var i = 0, j = 0; i < 256; i++) { + var keyByteIndex = i % keySigBytes; + var keyByte = (keyWords[keyByteIndex >>> 2] >>> (24 - (keyByteIndex % 4) * 8)) & 0xff; + + j = (j + S[i] + keyByte) % 256; + + // Swap + var t = S[i]; + S[i] = S[j]; + S[j] = t; + } + + // Counters + this._i = this._j = 0; + }, + + _doProcessBlock: function(M, offset) { + M[offset] ^= generateKeystreamWord.call(this); + }, + + keySize: 256 / 32, + + ivSize: 0 + }); + + function generateKeystreamWord() { + // Shortcuts + var S = this._S; + var i = this._i; + var j = this._j; + + // Generate keystream word + var keystreamWord = 0; + for (var n = 0; n < 4; n++) { + i = (i + 1) % 256; + j = (j + S[i]) % 256; + + // Swap + var t = S[i]; + S[i] = S[j]; + S[j] = t; + + keystreamWord |= S[(S[i] + S[j]) % 256] << (24 - n * 8); + } + + // Update counters + 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({ + /** + * Configuration options. + * + * @property {number} drop The number of keystream words to drop. Default 192 + */ + cfg: RC4.cfg.extend({ + drop: 192 + }), + + _doReset: function() { + RC4._doReset.call(this); + + // Drop + 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() { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var StreamCipher = C_lib.StreamCipher; + var C_algo = C.algo; + + // Reusable objects + var S = []; + var C_ = []; + var G = []; + + /** + * Rabbit stream cipher algorithm + */ + var Rabbit = C_algo.Rabbit = StreamCipher.extend({ + _doReset: function() { + // Shortcuts + var K = this._key.words; + var iv = this.cfg.iv; + + // Swap endian + for (var i = 0; i < 4; i++) { + K[i] = (((K[i] << 8) | (K[i] >>> 24)) & 0x00ff00ff) | + (((K[i] << 24) | (K[i] >>> 8)) & 0xff00ff00); + } + + // Generate initial state values + 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) + ]; + + // Generate initial counter values + var C = this._C = [ + (K[2] << 16) | (K[2] >>> 16), (K[0] & 0xffff0000) | (K[1] & 0x0000ffff), + (K[3] << 16) | (K[3] >>> 16), (K[1] & 0xffff0000) | (K[2] & 0x0000ffff), + (K[0] << 16) | (K[0] >>> 16), (K[2] & 0xffff0000) | (K[3] & 0x0000ffff), + (K[1] << 16) | (K[1] >>> 16), (K[3] & 0xffff0000) | (K[0] & 0x0000ffff) + ]; + + // Carry bit + this._b = 0; + + // Iterate the system four times + for (var i = 0; i < 4; i++) { + nextState.call(this); + } + + // Modify the counters + for (var i = 0; i < 8; i++) { + C[i] ^= X[(i + 4) & 7]; + } + + // IV setup + if (iv) { + // Shortcuts + var IV = iv.words; + var IV_0 = IV[0]; + var IV_1 = IV[1]; + + // Generate four subvectors + var i0 = (((IV_0 << 8) | (IV_0 >>> 24)) & 0x00ff00ff) | (((IV_0 << 24) | (IV_0 >>> 8)) & 0xff00ff00); + var i2 = (((IV_1 << 8) | (IV_1 >>> 24)) & 0x00ff00ff) | (((IV_1 << 24) | (IV_1 >>> 8)) & 0xff00ff00); + var i1 = (i0 >>> 16) | (i2 & 0xffff0000); + var i3 = (i2 << 16) | (i0 & 0x0000ffff); + + // Modify counter values + C[0] ^= i0; + C[1] ^= i1; + C[2] ^= i2; + C[3] ^= i3; + C[4] ^= i0; + C[5] ^= i1; + C[6] ^= i2; + C[7] ^= i3; + + // Iterate the system four times + for (var i = 0; i < 4; i++) { + nextState.call(this); + } + } + }, + + _doProcessBlock: function(M, offset) { + // Shortcut + var X = this._X; + + // Iterate the system + nextState.call(this); + + // Generate four keystream words + 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++) { + // Swap endian + S[i] = (((S[i] << 8) | (S[i] >>> 24)) & 0x00ff00ff) | + (((S[i] << 24) | (S[i] >>> 8)) & 0xff00ff00); + + // Encrypt + M[offset + i] ^= S[i]; + } + }, + + blockSize: 128 / 32, + + ivSize: 64 / 32 + }); + + function nextState() { + // Shortcuts + var X = this._X; + var C = this._C; + + // Save old counter values + for (var i = 0; i < 8; i++) { + C_[i] = C[i]; + } + + // Calculate new counter values + C[0] = (C[0] + 0x4d34d34d + this._b) | 0; + C[1] = (C[1] + 0xd34d34d3 + ((C[0] >>> 0) < (C_[0] >>> 0) ? 1 : 0)) | 0; + C[2] = (C[2] + 0x34d34d34 + ((C[1] >>> 0) < (C_[1] >>> 0) ? 1 : 0)) | 0; + C[3] = (C[3] + 0x4d34d34d + ((C[2] >>> 0) < (C_[2] >>> 0) ? 1 : 0)) | 0; + C[4] = (C[4] + 0xd34d34d3 + ((C[3] >>> 0) < (C_[3] >>> 0) ? 1 : 0)) | 0; + C[5] = (C[5] + 0x34d34d34 + ((C[4] >>> 0) < (C_[4] >>> 0) ? 1 : 0)) | 0; + C[6] = (C[6] + 0x4d34d34d + ((C[5] >>> 0) < (C_[5] >>> 0) ? 1 : 0)) | 0; + C[7] = (C[7] + 0xd34d34d3 + ((C[6] >>> 0) < (C_[6] >>> 0) ? 1 : 0)) | 0; + this._b = (C[7] >>> 0) < (C_[7] >>> 0) ? 1 : 0; + + // Calculate the g-values + for (var i = 0; i < 8; i++) { + var gx = X[i] + C[i]; + + // Construct high and low argument for squaring + var ga = gx & 0xffff; + var gb = gx >>> 16; + + // Calculate high and low result of squaring + var gh = ((((ga * ga) >>> 17) + ga * gb) >>> 15) + gb * gb; + var gl = (((gx & 0xffff0000) * gx) | 0) + (((gx & 0x0000ffff) * gx) | 0); + + // High XOR low + G[i] = gh ^ gl; + } + + // Calculate new state values + 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() { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var StreamCipher = C_lib.StreamCipher; + var C_algo = C.algo; + + // Reusable objects + 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() { + // Shortcuts + var K = this._key.words; + var iv = this.cfg.iv; + + // Generate initial state values + 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) + ]; + + // Generate initial counter values + var C = this._C = [ + (K[2] << 16) | (K[2] >>> 16), (K[0] & 0xffff0000) | (K[1] & 0x0000ffff), + (K[3] << 16) | (K[3] >>> 16), (K[1] & 0xffff0000) | (K[2] & 0x0000ffff), + (K[0] << 16) | (K[0] >>> 16), (K[2] & 0xffff0000) | (K[3] & 0x0000ffff), + (K[1] << 16) | (K[1] >>> 16), (K[3] & 0xffff0000) | (K[0] & 0x0000ffff) + ]; + + // Carry bit + this._b = 0; + + // Iterate the system four times + for (var i = 0; i < 4; i++) { + nextState.call(this); + } + + // Modify the counters + for (var i = 0; i < 8; i++) { + C[i] ^= X[(i + 4) & 7]; + } + + // IV setup + if (iv) { + // Shortcuts + var IV = iv.words; + var IV_0 = IV[0]; + var IV_1 = IV[1]; + + // Generate four subvectors + var i0 = (((IV_0 << 8) | (IV_0 >>> 24)) & 0x00ff00ff) | (((IV_0 << 24) | (IV_0 >>> 8)) & 0xff00ff00); + var i2 = (((IV_1 << 8) | (IV_1 >>> 24)) & 0x00ff00ff) | (((IV_1 << 24) | (IV_1 >>> 8)) & 0xff00ff00); + var i1 = (i0 >>> 16) | (i2 & 0xffff0000); + var i3 = (i2 << 16) | (i0 & 0x0000ffff); + + // Modify counter values + C[0] ^= i0; + C[1] ^= i1; + C[2] ^= i2; + C[3] ^= i3; + C[4] ^= i0; + C[5] ^= i1; + C[6] ^= i2; + C[7] ^= i3; + + // Iterate the system four times + for (var i = 0; i < 4; i++) { + nextState.call(this); + } + } + }, + + _doProcessBlock: function(M, offset) { + // Shortcut + var X = this._X; + + // Iterate the system + nextState.call(this); + + // Generate four keystream words + 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++) { + // Swap endian + S[i] = (((S[i] << 8) | (S[i] >>> 24)) & 0x00ff00ff) | + (((S[i] << 24) | (S[i] >>> 8)) & 0xff00ff00); + + // Encrypt + M[offset + i] ^= S[i]; + } + }, + + blockSize: 128 / 32, + + ivSize: 64 / 32 + }); + + function nextState() { + // Shortcuts + var X = this._X; + var C = this._C; + + // Save old counter values + for (var i = 0; i < 8; i++) { + C_[i] = C[i]; + } + + // Calculate new counter values + C[0] = (C[0] + 0x4d34d34d + this._b) | 0; + C[1] = (C[1] + 0xd34d34d3 + ((C[0] >>> 0) < (C_[0] >>> 0) ? 1 : 0)) | 0; + C[2] = (C[2] + 0x34d34d34 + ((C[1] >>> 0) < (C_[1] >>> 0) ? 1 : 0)) | 0; + C[3] = (C[3] + 0x4d34d34d + ((C[2] >>> 0) < (C_[2] >>> 0) ? 1 : 0)) | 0; + C[4] = (C[4] + 0xd34d34d3 + ((C[3] >>> 0) < (C_[3] >>> 0) ? 1 : 0)) | 0; + C[5] = (C[5] + 0x34d34d34 + ((C[4] >>> 0) < (C_[4] >>> 0) ? 1 : 0)) | 0; + C[6] = (C[6] + 0x4d34d34d + ((C[5] >>> 0) < (C_[5] >>> 0) ? 1 : 0)) | 0; + C[7] = (C[7] + 0xd34d34d3 + ((C[6] >>> 0) < (C_[6] >>> 0) ? 1 : 0)) | 0; + this._b = (C[7] >>> 0) < (C_[7] >>> 0) ? 1 : 0; + + // Calculate the g-values + for (var i = 0; i < 8; i++) { + var gx = X[i] + C[i]; + + // Construct high and low argument for squaring + var ga = gx & 0xffff; + var gb = gx >>> 16; + + // Calculate high and low result of squaring + var gh = ((((ga * ga) >>> 17) + ga * gb) >>> 15) + gb * gb; + var gl = (((gx & 0xffff0000) * gx) | 0) + (((gx & 0x0000ffff) * gx) | 0); + + // High XOR low + G[i] = gh ^ gl; + } + + // Calculate new state values + 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; + +})); \ No newline at end of file diff --git a/xiaosa/js/drpy2.js b/xiaosa/js/drpy2.js new file mode 100644 index 00000000..76a3be45 --- /dev/null +++ b/xiaosa/js/drpy2.js @@ -0,0 +1,3862 @@ +import cheerio from 'assets://js/lib/cheerio.min.js'; +import 'assets://js/lib/crypto-js.js'; +import './jsencrypt.js'; +import './node-rsa.js'; +import './pako.min.js'; +// import JSEncrypt from './jsencrypt.js'; // 会导致壳子崩溃的 +import 模板 from './模板.js' +import { + gbkTool +} from './gbk.js' +import './json5.js' +// 下面是尝试对jinja2库进行更换 +import './jinja.js' + +const _jinja2 = cheerio.jinja2; +cheerio.jinja2 = function(template, obj) { + try { + return jinja.render(template, obj); + } catch (e) { + console.log('新的jinja2库渲染失败,换回原始cheerio:' + e.message); + return _jinja2(template, obj) + } +}; +// import cheerio from "https://ghproxy.net/https://raw.githubusercontent.com/hjdhnx/dr_py/main/libs/cheerio.min.js"; +// import "https://ghproxy.net/https://raw.githubusercontent.com/hjdhnx/dr_py/main/libs/crypto-js.js"; +// import 模板 from"https://ghproxy.net/https://raw.githubusercontent.com/hjdhnx/dr_py/main/js/模板.js"; +// import {gbkTool} from 'https://ghproxy.net/https://raw.githubusercontent.com/hjdhnx/dr_py/main/libs/gbk.js' + +let vercode = typeof(pdfl) === 'function' ? 'drpy2.1' : 'drpy2'; +const VERSION = vercode + ' 3.9.51beta6 20241126'; +const UpdateInfo = [{ + date: '20241126', + title: 'drpy更新,优化去广告算法', + version: '3.9.51beta6 20241126', + msg: ` + 1. 更新龙头大佬提供的去广告算法 + ` + }, + { + date: '20241104', + title: 'drpy更新,增加新特性', + version: '3.9.51beta5 20241104', + msg: ` + 1. rule增加 搜索验证标识 属性,可以不定义,默认为 '系统安全验证|请输入验证码' + 2. rule增加 searchNoPage 属性,可以不定义,如果定义 1 将关闭该源的搜索翻页功能,超过1页直接返回空 + ` + }, +]; + +function getUpdateInfo() { + return UpdateInfo.map((_o) => { + _o.msg = _o.msg.trim().split('\n').map(_it => _it.trim()).join('\n') + return _o + }) +} + +function init_test() { + // console.log(typeof(JSON5)); + // let a = `{'SHOW':'10','UK':'43a7dc59-e87b-449e-8b74-ba40db28e674','albumlist':[{'DC_TARGETID':'30965086','DC_TARGETTYPE':'','PAY':'0','PLAYCNT':'17294','aartist':'','ad_subtype':'102,103,501,101,301','ad_type':'1,3,5','albumid':'30965086','artist':'小白不做凤尾','artistid':'10442011','artistpic':'http://img4.kuwo.cn/star/starheads/120/92/53/247071944.jpg','color':'[#FFE2F2C6,#FF85A476]','company':'独立发行','content_type':'0','falbum':'','fartist':'小白不做凤尾','finished':'0','hts_img':'https://img2.kuwo.cn/star/albumcover/240/51/40/547190780.jpg','id':'30965086','img':'http://img2.sycdn.kuwo.cn/star/albumcover/240/51/40/547190780.jpg','info':'来听听','isstar':'1','lang':'','musiccnt':'37','name':'我的','new':'0','payvalue':'0','pic':'120/51/40/547190780.jpg','pub':'2022-08-28','score':'0','showtime':'','spPrivilege':'0','startype':'有声小说','timing_online':'0000-00-00 00:00:00','title':'','vip':'0'},{'DC_TARGETID':'28041980','DC_TARGETTYPE':'','PAY':'0','PLAYCNT':'0','aartist':'','ad_subtype':'','ad_type':'','albumid':'28041980','artist':'玄琛','artistid':'9688248','artistpic':'http://img4.kuwo.cn/star/starheads/120/96/39/3155308302.jpg','color':'[#FFE2F2C6,#FF85A476]','company':'独立发行','content_type':'0','falbum':'','fartist':'玄琛','finished':'0','hts_img':'https://img2.kuwo.cn/star/albumcover/240/72/16/2510768590.jpg','id':'28041980','img':'http://img2.sycdn.kuwo.cn/star/albumcover/240/72/16/2510768590.jpg','info':'我来诉说我的故事,请你认真聆听,做最好的聆听者','isstar':'1','lang':'','musiccnt':'2','name':'我的','new':'0','payvalue':'0','pic':'120/72/16/2510768590.jpg','pub':'2020-08-18','score':'0','showtime':'','spPrivilege':'0','startype':'历史人文','timing_online':'0000-00-00 00:00:00','title':'','vip':'0'},{'DC_TARGETID':'17245200','DC_TARGETTYPE':'','PAY':'0','PLAYCNT':'5529096','aartist':'','ad_subtype':'','ad_type':'','albumid':'17245200','artist':'我和我的家乡','artistid':'5037564','artistpic':'http://img4.kuwo.cn/star/starheads/0/10/27/3738071257.jpg','color':'[#FFD8F3F1,#FF719794]','company':'中青在线','content_type':'0','falbum':'','fartist':'我和我的家乡','finished':'1','hts_img':'https://img2.kuwo.cn/star/albumcover/240/85/51/1350940634.jpg','id':'17245200','img':'http://img2.sycdn.kuwo.cn/star/albumcover/240/85/51/1350940634.jpg','info':'《我和我的家乡2》是融媒体音频节目《我和我的家乡》第二季。为解读中国人的乡土情结,汇聚同心追梦的力量。【歌曲篇】每期节目将推出一个主题城市,邀请一位青春正能量明星,演唱与家乡有关的原创或翻唱歌曲,曲传乡音。','isstar':'1','lang':'','musiccnt':'5','name':'我和我的家乡第二季「歌曲篇」','new':'0','payvalue':'0','pic':'120/85/51/1350940634.jpg','pub':'2020-12-25','score':'0','showtime':'','spPrivilege':'0','startype':'历史人文','timing_online':'0000-00-00 00:00:00','title':'解读中国人的乡土情结','vip':'0'},{'DC_TARGETID':'12854978','DC_TARGETTYPE':'','PAY':'0','PLAYCNT':'21482961','aartist':'','ad_subtype':'','ad_type':'','albumid':'12854978','artist':'佛学听我的','artistid':'3651480','artistpic':'http://img4.kuwo.cn/star/starheads/120/21/42/3683883829.jpg','color':'[#FFD8F3F1,#FF719794]','company':'暂无','content_type':'0','falbum':'','fartist':'佛学听我的','finished':'0','hts_img':'https://img2.kuwo.cn/star/albumcover/240/99/12/1066669641.jpg','id':'12854978','img':'http://img2.sycdn.kuwo.cn/star/albumcover/240/99/12/1066669641.jpg','info':'禅音静心:禅茶一味','isstar':'1','lang':'普通话','musiccnt':'407','name':'禅音静心:禅茶一味','new':'0','payvalue':'0','pic':'120/99/12/1066669641.jpg','pub':'2020-02-23','score':'0','showtime':'','spPrivilege':'0','startype':'历史人文','timing_online':'0000-00-00 00:00:00','title':'禅音静心:禅茶一味','vip':'0'},{'DC_TARGETID':'13884852','DC_TARGETTYPE':'','PAY':'0','PLAYCNT':'17396226','aartist':'','ad_subtype':'','ad_type':'','albumid':'13884852','artist':'佛学听我的','artistid':'3651480','artistpic':'http://img4.kuwo.cn/star/starheads/120/21/42/3683883829.jpg','color':'[#FFD8F3F1,#FF719794]','company':'暂无','content_type':'0','falbum':'','fartist':'佛学听我的','finished':'0','hts_img':'https://img2.kuwo.cn/star/albumcover/240/91/94/4253604466.jpg','id':'13884852','img':'http://img2.sycdn.kuwo.cn/star/albumcover/240/91/94/4253604466.jpg','info':'静心听佛乐','isstar':'1','lang':'普通话','musiccnt':'228','name':'静心听佛乐','new':'0','payvalue':'0','pic':'120/91/94/4253604466.jpg','pub':'2020-04-27','score':'0','showtime':'','spPrivilege':'0','startype':'历史人文','timing_online':'0000-00-00 00:00:00','title':'静心听佛乐','vip':'0'},{'DC_TARGETID':'17172751','DC_TARGETTYPE':'','PAY':'0','PLAYCNT':'553401','aartist':'','ad_subtype':'102,103,101,501','ad_type':'1,5','albumid':'17172751','artist':'我和我的家乡','artistid':'5037564','artistpic':'http://img4.kuwo.cn/star/starheads/0/10/27/3738071257.jpg','color':'[#FFD8F3F1,#FF719794]','company':'中青在线','content_type':'0','falbum':'','fartist':'我和我的家乡','finished':'1','hts_img':'https://img2.kuwo.cn/star/albumcover/240/63/45/3978411674.jpg','id':'17172751','img':'http://img2.sycdn.kuwo.cn/star/albumcover/240/63/45/3978411674.jpg','info':'《我和我的家乡2》是融媒体音频节目《我和我的家乡》第二季。为解读中国人的乡土情结,汇聚同心追梦的力量。每期节目将推出一个主题城市,邀请一位青春正能量明星,用笔者独有的乡愁情感,配以讲述者也为此乡人的身份,着力刻画该城市的魅力形象,展现一座城的普通百姓生活和经济社会发展。','isstar':'1','lang':'','musiccnt':'11','name':'我和我的家乡第二季「有声篇」','new':'0','payvalue':'0','pic':'120/63/45/3978411674.jpg','pub':'2020-12-21','score':'0','showtime':'2020-12-20','spPrivilege':'0','startype':'娱乐','timing_online':'2020-12-20 23:40:00','title':'','vip':'0'},{'DC_TARGETID':'18769609','DC_TARGETTYPE':'','PAY':'0','PLAYCNT':'69987','aartist':'','ad_subtype':'101,102,103,501','ad_type':'1,5','albumid':'18769609','artist':'你是我的荣耀','artistid':'6998984','artistpic':'http://img4.kuwo.cn/star/starheads/120/41/44/262468637.jpg','color':'[#FFD8F3F1,#FF719794]','company':'暂无','content_type':'0','falbum':'','fartist':'你是我的荣耀','finished':'0','hts_img':'https://img2.kuwo.cn/star/albumcover/240/44/72/4080853707.jpg','id':'18769609','img':'http://img2.sycdn.kuwo.cn/star/albumcover/240/44/72/4080853707.jpg','info':'《你是我的荣耀》是由王之执导,潘粤明、胡可、王彦霖、杨洋、迪丽热巴、郑合惠子主演的都市爱情剧。该剧改编自顾漫创作的同名小说,主要讲述了人气女星乔晶晶在游戏中与曾经的高中同学于途意外重逢后发生的故事。\\\\\\\\\\\\\\\\\\n;跟随《你是我的荣耀》之声,一起见证航天工程师于途与人气女星乔晶晶,携手砥砺前行成为彼此荣耀的爱情故事!\\\\\\\\\\\\\\\\\\n;\\\\\\\\\\\\\\\\\\n;\\\\\\\\\\\\\\\\\\n;\\\\\\\\\\\\\\\\\\n;\\\\\\\\\\\\\\\\\\n;','isstar':'1','lang':'普通话','musiccnt':'1','name':'你是我的荣耀','new':'0','payvalue':'0','pic':'120/44/72/4080853707.jpg','pub':'2021-03-05','score':'0','showtime':'2021-03-09','spPrivilege':'0','startype':'有声小说','timing_online':'2021-03-09 00:00:00','title':'大明星恋上航天工程师 热巴杨洋甜蜜相守','vip':'0'},{'DC_TARGETID':'23641999','DC_TARGETTYPE':'','PAY':'0','PLAYCNT':'1292491','aartist':'','ad_subtype':'102,103,501,101,301','ad_type':'1,3,5','albumid':'23641999','artist':'我的存在','artistid':'8102787','artistpic':'http://img4.kuwo.cn/star/starheads/120/31/87/632983033.jpg','color':'[#FFE2F2C6,#FF85A476]','company':'独立发行','content_type':'0','falbum':'','fartist':'我的存在','finished':'1','hts_img':'https://img2.kuwo.cn/star/albumcover/240/50/6/2193571523.jpg','id':'23641999','img':'http://img2.sycdn.kuwo.cn/star/albumcover/240/50/6/2193571523.jpg','info':'为给老驸马冲喜,长亭长公主庶孙迎娶陆家女,新娘子当天却吊死在洞房,现代女医生陆漫穿越而来。委屈的某人,我要功成名就,我的生活我作主。陆漫,还你自由,我也自由……','isstar':'1','lang':'','musiccnt':'726','name':'金玉良医(完结)','new':'0','payvalue':'0','pic':'120/50/6/2193571523.jpg','pub':'2021-10-11','score':'0','showtime':'','spPrivilege':'0','startype':'有声小说','timing_online':'0000-00-00 00:00:00','title':'现代女医生陆漫穿越到古代发生的事情','vip':'0'},{'DC_TARGETID':'28177105','DC_TARGETTYPE':'','PAY':'0','PLAYCNT':'10448','aartist':'','ad_subtype':'102,103,501,101,301','ad_type':'1,3,5','albumid':'28177105','artist':'我的青糖','artistid':'9650993','artistpic':'http://img4.kuwo.cn/star/starheads/120/40/93/1019968534.jpg','color':'[#FFE2F2C6,#FF85A476]','company':'独立发行','content_type':'0','falbum':'','fartist':'我的青糖','finished':'0','hts_img':'https://img2.kuwo.cn/star/albumcover/240/62/97/3136446870.jpg','id':'28177105','img':'http://img2.sycdn.kuwo.cn/star/albumcover/240/62/97/3136446870.jpg','info':'【字数:16万字】<br>裴子墨和丁辰是一对夫妻,妻子丁辰深爱裴子墨,但裴子墨难以忘怀初恋总是对她若即若离。婚后两年,裴子墨前女友于筝突然回国,使得他和丁辰原本就不稳定的婚姻更加雪上加霜。于筝当初背叛裴子墨,受伤后才意识到裴子墨的好,于是不择手段夺回了裴子墨。丁辰和裴子墨离婚后,裴子墨才意识到两年相处,他早已习惯有丁辰的陪伴。裴子墨决心重新赢回丁辰的心,但此时丁辰身边已经有了一位极其出色的追求者,前景不容乐观……','isstar':'1','lang':'','musiccnt':'80','name':'如果你是我的传说','new':'0','payvalue':'0','pic':'120/62/97/3136446870.jpg','pub':'2022-04-21','score':'0','showtime':'1979-10-05','spPrivilege':'0','startype':'有声小说','timing_online':'2022-05-01 19:26:48','title':'','vip':'0'},{'DC_TARGETID':'12896662','DC_TARGETTYPE':'','PAY':'0','PLAYCNT':'2412258','aartist':'','ad_subtype':'','ad_type':'','albumid':'12896662','artist':'佛学听我的','artistid':'3651480','artistpic':'http://img4.kuwo.cn/star/starheads/120/21/42/3683883829.jpg','color':'[#FFD8F3F1,#FF719794]','company':'暂无','content_type':'0','falbum':'','fartist':'佛学听我的','finished':'0','hts_img':'https://img2.kuwo.cn/star/albumcover/240/93/41/3670973086.jpg','id':'12896662','img':'http://img2.sycdn.kuwo.cn/star/albumcover/240/93/41/3670973086.jpg','info':'佛书梵唱100篇','isstar':'1','lang':'普通话','musiccnt':'50','name':'佛书梵唱100篇','new':'0','payvalue':'0','pic':'120/93/41/3670973086.jpg','pub':'2020-02-24','score':'0','showtime':'','spPrivilege':'0','startype':'历史人文','timing_online':'0000-00-00 00:00:00','title':'佛书梵唱100篇','vip':'0'}],'pn':'0','rn':'10','total':'257'}`; + // log(JSON5.parse(a)); + // console.log(typeof(CryptoJS)); + console.log("init_test_start"); + // print(模板); + // print(typeof(模板.getMubans)); + console.log("当前版本号:" + VERSION); + console.log('本地代理地址:' + getProxyUrl()); + console.log(RKEY); + // ocr_demo_test(); + // rsa_demo_test(); + + // console.log('Uint8Array:'+typeof(Uint8Array)+' '+'Uint16Array:'+typeof(Uint16Array)); + // console.log('encodeURIComponent:'+typeof(encodeURIComponent)+' '+'decodeURIComponent:'+typeof(decodeURIComponent)); + // console.log('atob:'+typeof(atob)+' '+'btoa:'+typeof(btoa)); + // log('typeof (JSEncrypt):'+typeof (JSEncrypt)); + // log('typeof (pako):'+typeof (pako)); + // let b64_str = btoa('hello hipy'); + // let str = atob(b64_str); + // console.log(`btoa加密文本:${b64_str},atob解密文本:${str}`) + // let gzip_str = gzip('{"a":"电影","b":"电影","c":"电影","d":"电影","e":"电影","f":"电影"}'); + // let ungzip_str = ungzip(gzip_str); + // console.log(`gzip加密文本:${gzip_str},长度:${gzip_str.length},ungzip解密文本:${ungzip_str},长度:${ungzip_str.length}`); + // let a = {"1":[{"key":"类型","name":"类型","value":[{"n":"全部","v":""},{"n":"Netflix","v":"NETFLIX"},{"n":"剧情","v":"剧情"},{"n":"喜剧","v":"喜剧"},{"n":"动作","v":"动作"},{"n":"爱情","v":"爱情"},{"n":"恐怖","v":"恐怖"},{"n":"惊悚","v":"惊悚"},{"n":"犯罪","v":"犯罪"},{"n":"科幻","v":"科幻"},{"n":"悬疑","v":"悬疑"},{"n":"奇幻","v":"奇幻"},{"n":"冒险","v":"冒险"},{"n":"战争","v":"战争"},{"n":"历史","v":"历史"},{"n":"古装","v":"古装"},{"n":"家庭","v":"家庭"},{"n":"传记","v":"传记"},{"n":"武侠","v":"武侠"},{"n":"歌舞","v":"歌舞"},{"n":"短片","v":"短片"},{"n":"动画","v":"动画"},{"n":"儿童","v":"儿童"},{"n":"职场","v":"职场"}]},{"key":"地区","name":"地区","value":[{"n":"全部","v":""},{"n":"大陆","v":"中国大陆"},{"n":"香港","v":"中国香港"},{"n":"台湾","v":"中国台湾"},{"n":"美国","v":"美国"},{"n":"日本","v":"日本"},{"n":"韩国","v":"韩国"},{"n":"英国","v":"英国"},{"n":"法国","v":"法国"},{"n":"德国","v":"德国"},{"n":"印度","v":"印度"},{"n":"泰国","v":"泰国"},{"n":"丹麦","v":"丹麦"},{"n":"瑞典","v":"瑞典"},{"n":"巴西","v":"巴西"},{"n":"加拿大","v":"加拿大"},{"n":"俄罗斯","v":"俄罗斯"},{"n":"意大利","v":"意大利"},{"n":"比利时","v":"比利时"},{"n":"爱尔兰","v":"爱尔兰"},{"n":"西班牙","v":"西班牙"},{"n":"澳大利亚","v":"澳大利亚"},{"n":"其他","v":"其他"}]},{"key":"语言","name":"语言","value":[{"n":"全部","v":""},{"n":"国语","v":"国语"},{"n":"粤语","v":"粤语"},{"n":"英语","v":"英语"},{"n":"日语","v":"日语"},{"n":"韩语","v":"韩语"},{"n":"法语","v":"法语"},{"n":"其他","v":"其他"}]},{"key":"年份","name":"年份","value":[{"n":"全部","v":""},{"n":"2024","v":"2024"},{"n":"2023","v":"2023"},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"10年代","v":"2010_2019"},{"n":"00年代","v":"2000_2009"},{"n":"90年代","v":"1990_1999"},{"n":"80年代","v":"1980_1989"},{"n":"更早","v":"0_1979"}]},{"key":"排序","name":"排序","value":[{"n":"综合","v":""},{"n":"最新","v":"2"},{"n":"最热","v":"3"},{"n":"评分","v":"4"}]}],"2":[{"key":"类型","name":"类型","value":[{"n":"全部","v":""},{"n":"Netflix","v":"Netflix"},{"n":"剧情","v":"剧情"},{"n":"爱情","v":"爱情"},{"n":"喜剧","v":"喜剧"},{"n":"犯罪","v":"犯罪"},{"n":"悬疑","v":"悬疑"},{"n":"古装","v":"古装"},{"n":"动作","v":"动作"},{"n":"家庭","v":"家庭"},{"n":"惊悚","v":"惊悚"},{"n":"奇幻","v":"奇幻"},{"n":"美剧","v":"美剧"},{"n":"科幻","v":"科幻"},{"n":"历史","v":"历史"},{"n":"战争","v":"战争"},{"n":"韩剧","v":"韩剧"},{"n":"武侠","v":"武侠"},{"n":"言情","v":"言情"},{"n":"恐怖","v":"恐怖"},{"n":"冒险","v":"冒险"},{"n":"都市","v":"都市"},{"n":"职场","v":"职场"}]},{"key":"地区","name":"地区","value":[{"n":"地区","v":""},{"n":"大陆","v":"中国大陆"},{"n":"香港","v":"中国香港"},{"n":"韩国","v":"韩国"},{"n":"美国","v":"美国"},{"n":"日本","v":"日本"},{"n":"法国","v":"法国"},{"n":"英国","v":"英国"},{"n":"德国","v":"德国"},{"n":"台湾","v":"中国台湾"},{"n":"泰国","v":"泰国"},{"n":"印度","v":"印度"},{"n":"其他","v":"其他"}]},{"key":"语言","name":"语言","value":[{"n":"全部","v":""},{"n":"国语","v":"国语"},{"n":"粤语","v":"粤语"},{"n":"英语","v":"英语"},{"n":"日语","v":"日语"},{"n":"韩语","v":"韩语"},{"n":"法语","v":"法语"},{"n":"其他","v":"其他"}]},{"key":"年份","name":"年份","value":[{"n":"全部","v":""},{"n":"2024","v":"2024"},{"n":"2023","v":"2023"},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"10年代","v":"2010_2019"},{"n":"00年代","v":"2000_2009"},{"n":"90年代","v":"1990_1999"},{"n":"80年代","v":"1980_1989"},{"n":"更早","v":"0_1979"}]},{"key":"排序","name":"排序","value":[{"n":"综合","v":""},{"n":"最新","v":"2"},{"n":"最热","v":"3"},{"n":"评分","v":"4"}]}],"3":[{"key":"类型","name":"类型","value":[{"n":"全部","v":""},{"n":"Netflix","v":"Netflix"},{"n":"动态漫画","v":"动态漫画"},{"n":"剧情","v":"剧情"},{"n":"动画","v":"动画"},{"n":"喜剧","v":"喜剧"},{"n":"冒险","v":"冒险"},{"n":"动作","v":"动作"},{"n":"奇幻","v":"奇幻"},{"n":"科幻","v":"科幻"},{"n":"儿童","v":"儿童"},{"n":"搞笑","v":"搞笑"},{"n":"爱情","v":"爱情"},{"n":"家庭","v":"家庭"},{"n":"短片","v":"短片"},{"n":"热血","v":"热血"},{"n":"益智","v":"益智"},{"n":"悬疑","v":"悬疑"},{"n":"经典","v":"经典"},{"n":"校园","v":"校园"},{"n":"Anime","v":"Anime"},{"n":"运动","v":"运动"},{"n":"亲子","v":"亲子"},{"n":"青春","v":"青春"},{"n":"恋爱","v":"恋爱"},{"n":"武侠","v":"武侠"},{"n":"惊悚","v":"惊悚"}]},{"key":"地区","name":"地区","value":[{"n":"全部","v":""},{"n":"日本","v":"日本"},{"n":"大陆","v":"中国大陆"},{"n":"台湾","v":"中国台湾"},{"n":"美国","v":"美国"},{"n":"香港","v":"中国香港"},{"n":"韩国","v":"韩国"},{"n":"英国","v":"英国"},{"n":"法国","v":"法国"},{"n":"德国","v":"德国"},{"n":"印度","v":"印度"},{"n":"泰国","v":"泰国"},{"n":"丹麦","v":"丹麦"},{"n":"瑞典","v":"瑞典"},{"n":"巴西","v":"巴西"},{"n":"加拿大","v":"加拿大"},{"n":"俄罗斯","v":"俄罗斯"},{"n":"意大利","v":"意大利"},{"n":"比利时","v":"比利时"},{"n":"爱尔兰","v":"爱尔兰"},{"n":"西班牙","v":"西班牙"},{"n":"澳大利亚","v":"澳大利亚"},{"n":"其他","v":"其他"}]},{"key":"语言","name":"语言","value":[{"n":"全部","v":""},{"n":"国语","v":"国语"},{"n":"粤语","v":"粤语"},{"n":"英语","v":"英语"},{"n":"日语","v":"日语"},{"n":"韩语","v":"韩语"},{"n":"法语","v":"法语"},{"n":"其他","v":"其他"}]},{"key":"年份","name":"年份","value":[{"n":"全部","v":""},{"n":"2024","v":"2024"},{"n":"2023","v":"2023"},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"10年代","v":"2010_2019"},{"n":"00年代","v":"2000_2009"},{"n":"90年代","v":"1990_1999"},{"n":"80年代","v":"1980_1989"},{"n":"更早","v":"0_1979"}]},{"key":"排序","name":"排序","value":[{"n":"综合","v":""},{"n":"最新","v":"2"},{"n":"最热","v":"3"},{"n":"评分","v":"4"}]}],"4":[{"key":"类型","name":"类型","value":[{"n":"全部","v":""},{"n":"纪录","v":"纪录"},{"n":"真人秀","v":"真人秀"},{"n":"记录","v":"记录"},{"n":"脱口秀","v":"脱口秀"},{"n":"剧情","v":"剧情"},{"n":"历史","v":"历史"},{"n":"喜剧","v":"喜剧"},{"n":"传记","v":"传记"},{"n":"相声","v":"相声"},{"n":"节目","v":"节目"},{"n":"歌舞","v":"歌舞"},{"n":"冒险","v":"冒险"},{"n":"运动","v":"运动"},{"n":"Season","v":"Season"},{"n":"犯罪","v":"犯罪"},{"n":"短片","v":"短片"},{"n":"搞笑","v":"搞笑"},{"n":"晚会","v":"晚会"}]},{"key":"地区","name":"地区","value":[{"n":"全部","v":""},{"n":"大陆","v":"中国大陆"},{"n":"香港","v":"中国香港"},{"n":"台湾","v":"中国台湾"},{"n":"美国","v":"美国"},{"n":"日本","v":"日本"},{"n":"韩国","v":"韩国"},{"n":"其他","v":"其他"}]},{"key":"语言","name":"语言","value":[{"n":"全部","v":""},{"n":"国语","v":"国语"},{"n":"粤语","v":"粤语"},{"n":"英语","v":"英语"},{"n":"日语","v":"日语"},{"n":"韩语","v":"韩语"},{"n":"法语","v":"法语"},{"n":"其他","v":"其他"}]},{"key":"年份","name":"年份","value":[{"n":"全部","v":""},{"n":"2024","v":"2024"},{"n":"2023","v":"2023"},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"10年代","v":"2010_2019"},{"n":"00年代","v":"2000_2009"},{"n":"90年代","v":"1990_1999"},{"n":"80年代","v":"1980_1989"},{"n":"更早","v":"0_1979"}]},{"key":"排序","name":"排序","value":[{"n":"综合","v":""},{"n":"最新","v":"2"},{"n":"最热","v":"3"},{"n":"评分","v":"4"}]}],"6":[{"key":"类型","name":"类型","value":[{"n":"类型","v":""},{"n":"逆袭","v":"逆袭"},{"n":"甜宠","v":"甜宠"},{"n":"虐恋","v":"虐恋"},{"n":"穿越","v":"穿越"},{"n":"重生","v":"重生"},{"n":"剧情","v":"剧情"},{"n":"科幻","v":"科幻"},{"n":"武侠","v":"武侠"},{"n":"爱情","v":"爱情"},{"n":"动作","v":"动作"},{"n":"战争","v":"战争"},{"n":"冒险","v":"冒险"},{"n":"其它","v":"其它"}]},{"key":"排序","name":"排序","value":[{"n":"综合","v":""},{"n":"最新","v":"2"},{"n":"最热","v":"3"}]}]}; + // log(gzip(JSON.stringify(a))); + + console.log(JSON.stringify(rule)); + console.log("init_test_end"); + + + // log('typeof (JSEncrypt):'+typeof (JSEncrypt)); + // let publicKey = 'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwEc7wBMtYKkxvrQNI3+ITBZwAkPkGvsv4TsAHFskKGZWz9eYl3scivhmlEfWHlEkdyb0m82CmB1qAgef+pD4cZu+Cdmm2e9lnExhLwm8cBgpkAen9QRNdjojZgxM0W+JcReH4W6pw+uFXiLRn4AIQkDftWGNLg6wlNS+39Z/RvP9zyATJLZ9AKDdHp62XMxEK1KZvWBuIg+Oa5UzgA9jy+2XyIqwhBtO8tPbUl21t2pvTzHoLUjSkPNm2LurcUk6+jQ2r6aiS2CN1NXIucPJU6mkuIQ821SjvkYPtIdRMntW4y2u4cyiqVEEQwlzWVMHh+/vfrWAQr9fgjDuYYtvPQIDAQAB'; + // let privateKey = 'MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDARzvAEy1gqTG+tA0jf4hMFnACQ+Qa+y/hOwAcWyQoZlbP15iXexyK+GaUR9YeUSR3JvSbzYKYHWoCB5/6kPhxm74J2abZ72WcTGEvCbxwGCmQB6f1BE12OiNmDEzRb4lxF4fhbqnD64VeItGfgAhCQN+1YY0uDrCU1L7f1n9G8/3PIBMktn0AoN0enrZczEQrUpm9YG4iD45rlTOAD2PL7ZfIirCEG07y09tSXbW3am9PMegtSNKQ82bYu6txSTr6NDavpqJLYI3U1ci5w8lTqaS4hDzbVKO+Rg+0h1Eye1bjLa7hzKKpUQRDCXNZUweH7+9+tYBCv1+CMO5hi289AgMBAAECggEBAIRbRJUWXmEwdq64kGbELlV6CIZ2p3mvOSlIjO34Cy7IK7AMz9xOgbpj/XDK9miOIJTouu7ZC7GcZdGZ4BUCYBMMS0fKjGFuurpZlXhkslNTPqEHtCUkXhIpOR7RDrwIlErGEOIsZC4aXQcM3tF1t7mroJLh4OY4dHMu82lv5NM4hhFMNvHzXVvrPXeTzw26gddHVG/ke0WUYOcB5j3cPp8xaVp7JV8bdxtGtkqIfBLY/dIczzJu/3F3cBpU2nNwt8uVUF/w/HKlr7j8FqqFHXWh182beU0n5AIdRyRJBrRUAEhdtsUnvJOVBDqzZa+9DJ5395F7V8KRlQptxETdhCECgYEA4x/2HM9fnVIhG6wTbEt1LhGTKYb/igMAHLqquEMfRsB44tobI8gVNwR3qJQY/nKXxcQemQV29PcdqpENCKyXUXGD8SI1UPg15rHFBI8CIqlCXfzJybdHjmzlhaA9I5lofIVh+5MW7WkvHZoRy7NeDMhHUuaiveuqC4OJ8n+dD2kCgYEA2LkmUVef3WkBBwUBRdkyoog3DMwR+/ubb0ncJVYy3ItYVJltQ4HqmrRiJc8xBAoFnG8rbiqDnmTnDR3WbuxU1G2hml09fqId+rQds2UfESswCXHU43A4f77m1XyA6PprBxpozVIcmK69N4rR9jOXflLWo3O+p2ipUbmNpId7+rUCgYBSpcbBJRT+AmzZzPwkZDD32p1ady114zGfQq3s7z/qVw+mPQezNZPCuXVxerK9pKVl6b/Ynwxyh5nb/3xms6c8k7oXfQM5u5ihof63cfKs+jqUSPCE3pTDVw0OWwjkc2Z6KW9GRHgLXEMw2mevYE3RCPArUpHV2nO+TNddzuIwQQKBgQDOZwdnUNygMfEYjlu3+jOPN8u2FGTMZ8SRKPbRWFb4VH27lKPLN2AIFuOivsEf56uQYRAry7GumMq0Y0ZmPg5Mglz2dvaqNBv5OLFQuW3tHAST+iWWtroYb+fISts7B8QG79AAO8OgZksvKrbslBYj6SEiaomZRsR7YQzVNXOOQQKBgQCovElZ50c8ZJ6m9D9fw3Nes7u9vshpyyac5tt4tZ7yfU4l5pWGrIUqCE703qZp4NAqEvlZUCJbj9kkysaj/2MfFb2b9jSvdNB+V/YW9Cwg+5TziYoOcQzN1z2u4p4goTAv0S+pTNSr3qWaTUI4TXUXQajif45Fexv+MrP5AAXQyw==' + // // let text = '你好'; + // let text = '[{"vod_name":"兔小贝原创儿歌","vod_pic":"https://resource-cdn.tuxiaobei.com/video-album/FnQ8ieJHgsbgCKWXNBg4uoOmKgG5.jpg","vod_remarks":"共229首","vod_content":"","vod_id":"/subject/17@@兔小贝原创儿歌@@https://resource-cdn.tuxiaobei.com/video-album/FnQ8ieJHgsbgCKWXNBg4uoOmKgG5.jpg"},{"vod_name":"英文儿歌","vod_pic":"https://resource-cdn.tuxiaobei.com/video-album/Fqjpx2H_-QaYNAYn2MekRuDpeyUv.jpg","vod_remarks":"共10首","vod_content":"","vod_id":"/subject/23@@英文儿歌@@https://resource-cdn.tuxiaobei.com/video-album/Fqjpx2H_-QaYNAYn2MekRuDpeyUv.jpg"}]'; + // let str = RSA.encode(text, publicKey); + // console.log("加密数据:" + str); + // let str1 = 'Wa2c/868VOm0PgpGG2s2aMrDbGOlJRdZXlSGswjFgywd3nZNB7ND8kVMdNB/OsNFoQXJXSJMvPaE73BH7rs8fz54JGdYQK+qTgfQRqQZvomCjbzseSR4bm4NOrtIOOslL3WqxlzOuU0M1P1eERmkLEVU2WSyc3RGtJro3b3MOWYCNdKMoZdncfOHJndkl4wm9V3GGc3uH98hs6OxLvBWgXoW9jZQ3n0vR2FtS2KYrPGuSuKGkxlt9Kw5TD6nri142NOimz05WK55Xe04YUQ1VZd51t0wzJGXolWgfzIQaK2zzhk5Zjlm+IQJxXqEWiJ2+O6TJ+lIttvsDSaUflcDXQ=='; + // let str2 = 'R86mW9DzBw05pxBSh9ECh1stXxINmnudgZBbzU/cz1EcFgrEgdk0Zk4ruAiJZB2fP5c7d3gMmN8+Dv19IfARWSzw85xCEjUhpdcMJ0jn6ZE5H+muadND9LzjeVisojqwYxot3YVdKof7HMhPFN8QR0jfzqhjmnGFTlY1jMXzJK0MSOLNRLDar480CdKNb/cxALC8+xKIlhM9E4B31t8J4rNMUWSCAr49lbZ3jx3PxieBpTQUdDJz96AttR93Pc+c51wrxh0Ch/Mt4Rs09HGMXwIpNV+CxsGwSGRQUlyJo2k3d0WqsVzpz6S8A4VGEMTRLGI3IjEt+eWt7wM3nAXarg=='; + // let str3 = 'D4eOsRqua+jYA5+ZOR9PLI2PExKjKfArQfv9/wGeG50bQSjWypShJPY6RQfO+rghyf0juzHIUSxqH91OxinhCFkONaF2Vod2QVyphyn9eh73dAcEFKIFFKGXoPCjbMWrr3p4d+hgVrHzrFeGqkRq8JFOvG2L5XDxVfWbV8KmUA0DKuz6QwWg7P4kesy+C7BbLALy5W/wfZchD3gnsBvx/pjFoe11VfAify9isLxg9a15jj52xr6lzQ9kge9C2JcV8yq85bFKaUpJWgobzz+BSIv3lVMU6vgcldmOrhkyiETpFGFGGF00DphGCEoK6uAyyNDh7+Jn8P17zf/DW1wV3A=='; + // let uncrypted = RSA.decode(str, privateKey); + // log('解密数据:'+uncrypted); + // uncrypted = RSA.decode(str1, privateKey); + // log('解密数据1:'+uncrypted); + // uncrypted = RSA.decode(str2, privateKey); + // log('解密数据2:'+uncrypted); + // uncrypted = RSA.decode(str3, privateKey); + // log('解密数据3:'+uncrypted); + + // log('rsax:'+typeof(rsax)); + // log('rsaX:'+typeof(rsaX)); + // let data = base64Encode('你好'); + // let publicKey = 'dzyyds'; + // console.log(typeof (RSA.encode)); + // let encryptBase64Data = RSA.encode(data,publicKey); + // log('encryptBase64Data:'+encryptBase64Data); + // let str = RSA.decode(data,publicKey); + // log('str:'+str); +} + +/** + * 验证码ocr识别的测试案例 + */ +function ocr_demo_test() { + // 这张图片为4113的验证码 + let img_base64 = `iVBORw0KGgoAAAANSUhEUgAAAIAAAAAoBAMAAADEX+97AAAAG1BMVEXz+/4thQTa7N6QwIFFkyNeokKozqDB3b93sWHFR+MEAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABN0lEQVRIie2TQU+DQBCFt9vScvQpxR4xrcSjJCZ67JDGXsX+AdR4B3vpsSYm/m2HXaRLmuySepR3Gdidb/btDAjRq5dT96eCMlfBuzi1QLZUoZy2yz5sOvI+9iomaPEZ6nWnEtxqIyiM1RcAy44GNDhBXUjot/VVNweV1ah68FqWRyjKIOqAcyYF6rGcmpYnHzGt3fycNoMw0d3/THFu7hFSJ/8OXO6iTM8/KSg09obAzIHLO250LgQ0txOZSfgrV4Exdw98uGycJ0ErAeExZGhOmFHV9zHO6qVSj0MpLq7xZON56o++MjlsEgfVhbQWWME+xQX7J4V6zfi9A1Ly9rP1BvEXp+BbVJ/M77n+wfOIDVp51pZ4iBxvmj9AGrtvry6emwfKnVkW+ZRKd5ZNMvob36vXP9YPDmQki8QiCFAAAAAASUVORK5CYII=`; + // 更换api-可以通过这个代码换掉默认的ocr接口 + OcrApi.api = OCR_API; + let code = OcrApi.classification(img_base64); + log('测试验证码图片的ocr识别结果为:' + code); +} + +/** + * rsa加解密的全方位测试案例 + */ +function rsa_demo_test() { + let t1 = new Date().getTime(); + let pkcs1_public = ` +-----BEGIN RSA PUBLIC KEY----- +MEgCQQCrI0pQ/ERRpJ3Ou190XJedFq846nDYP52rOtXyDxlFK5D3p6JJu2RwsKwy +lsQ9xY0xYPpRZUZKMEeR7e9gmRNLAgMBAAE= +-----END RSA PUBLIC KEY----- +`.trim(); + + let pkcs1_public_pem = ` +MEgCQQCrI0pQ/ERRpJ3Ou190XJedFq846nDYP52rOtXyDxlFK5D3p6JJu2RwsKwy +lsQ9xY0xYPpRZUZKMEeR7e9gmRNLAgMBAAE= +`.trim(); + + let pkcs8_public = ` +-----BEGIN PUBLIC KEY----- +MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKsjSlD8RFGknc67X3Rcl50WrzjqcNg/ +nas61fIPGUUrkPenokm7ZHCwrDKWxD3FjTFg+lFlRkowR5Ht72CZE0sCAwEAAQ== +-----END PUBLIC KEY-----`.trim(); + + let pkcs8_public_pem = ` +MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKsjSlD8RFGknc67X3Rcl50WrzjqcNg/ +nas61fIPGUUrkPenokm7ZHCwrDKWxD3FjTFg+lFlRkowR5Ht72CZE0sCAwEAAQ== +`.trim(); + + let pkcs1_private = ` +-----BEGIN RSA PRIVATE KEY----- +MIIBOAIBAAJBAKsjSlD8RFGknc67X3Rcl50WrzjqcNg/nas61fIPGUUrkPenokm7 +ZHCwrDKWxD3FjTFg+lFlRkowR5Ht72CZE0sCAwEAAQI/b6OV1z65UokQaMvSeRXt +0Yv6wiYtduQI9qpq5nzy/ytaqsbBfClNTi/HifKPKxlRouWFkc518EQI8LBxoarJ +AiEA4DaONMplV8PQNa3TKn2F+SDEvLOCjdL0kHKdN90Ti28CIQDDZnTBaHgZwZbA +hS7Bbf5yvwjWMhO6Y7l04/Qm7R+35QIgPuQuqXIoUSD080mp1N5WyRW++atksIF+ +5lGv9e6GP/MCICnj8y/rl6Pd7tXDN6zcSeqLrfdNsREKhB3dKOCXgW9JAiAFYtFS +EJNBXVRTK42SNsZ2hJ/9xLwOwnH2epT8Q43s3Q== +-----END RSA PRIVATE KEY----- +`.trim() + + let pkcs8_private = ` +-----BEGIN PRIVATE KEY----- +MIIBUgIBADANBgkqhkiG9w0BAQEFAASCATwwggE4AgEAAkEAqyNKUPxEUaSdzrtf +dFyXnRavOOpw2D+dqzrV8g8ZRSuQ96eiSbtkcLCsMpbEPcWNMWD6UWVGSjBHke3v +YJkTSwIDAQABAj9vo5XXPrlSiRBoy9J5Fe3Ri/rCJi125Aj2qmrmfPL/K1qqxsF8 +KU1OL8eJ8o8rGVGi5YWRznXwRAjwsHGhqskCIQDgNo40ymVXw9A1rdMqfYX5IMS8 +s4KN0vSQcp033ROLbwIhAMNmdMFoeBnBlsCFLsFt/nK/CNYyE7pjuXTj9CbtH7fl +AiA+5C6pcihRIPTzSanU3lbJFb75q2SwgX7mUa/17oY/8wIgKePzL+uXo93u1cM3 +rNxJ6out902xEQqEHd0o4JeBb0kCIAVi0VIQk0FdVFMrjZI2xnaEn/3EvA7CcfZ6 +lPxDjezd +-----END PRIVATE KEY----- +`.trim() + + let data = ` +NodeRsa +这是node-rsa 现在修改集成在drpy里使用`.trim(); + + let encryptedWithPublic = NODERSA.encryptRSAWithPublicKey(data, pkcs1_public, { + // PublicFormat: "pkcs1-public-pem", + outputEncoding: "base64", + options: { + environment: "browser", + encryptionScheme: 'pkcs1_oaep' + }, + }); + console.log("公钥加密"); + console.log(encryptedWithPublic); + + + let decryptedWithPrivate = NODERSA.decryptRSAWithPrivateKey(encryptedWithPublic, pkcs1_private, { + // PublicFormat: "pkcs1-private", + // outEncoding: "hex" + options: { + environment: "browser", + encryptionScheme: 'pkcs1_oaep' + }, + }); + console.log("私钥解密"); + console.log(decryptedWithPrivate); + + + // https://www.btool.cn/rsa-sign + let pkcs1_sha256_sign = NODERSA.sign("1", pkcs1_private, { + outputEncoding: "base64", + options: { + environment: "browser", + encryptionScheme: 'pkcs1', + signingScheme: "pkcs1-sha256" + }, + }); + console.log("pkcs1_sha256_sign"); + console.log(pkcs1_sha256_sign); + + let pkcs1_sha256_sign_verify = NODERSA.verify("1", "Oulx2QrgeipKYBtqEDqFb2s/+ndk2cGQxO4CkhU7iBM1vyNmmvqubpsmeoUuN3waGrYZLknSEdwBkfv0tUMpFQ==", pkcs1_private, { + options: { + environment: "browser", + encryptionScheme: 'pkcs1', + signingScheme: "pkcs1-sha256" + }, + }); + console.log("pkcs1_sha256_sign_verify"); + console.log(pkcs1_sha256_sign_verify); + + let pkcs1_oaep_sha256 = NODERSA.encryptRSAWithPublicKey(data, `-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEA5KOq1gRNyllLNWKQy8sGpZE3Q1ULLSmzZw+eaAhj9lvqn7IsT1du +SYn08FfoOA2qMwtz+1O2l1mgzNoSVCyVpVabnTG+C9XKeZXAnJHd8aYA7l7Sxhdm +kte+iymYZ0ZBPzijo8938iugtVvqi9UgDmnY3u/NlQDqiL5BGqSxSTd/Sgmy3zD8 +PYzEa3wD9vehQ5fZZ45vKIq8GNVh2Z8+IGO85FF1OsN7+b2yGJa/FmDDNn0+HP+m +PfI+kYBqEVpo0Ztbc3UdxgFwGC8O1n8AQyriwHnSOtIiuBH62J/7qyC/3LEAApRb +Dd9YszqzmODjQUddZKHmvc638VW+azc0EwIDAQAB +-----END RSA PUBLIC KEY----- +`, { + outputEncoding: "base64", + options: { + environment: "browser", + encryptionScheme: { + scheme: "pkcs1_oaep", + hash: "sha256", + }, + } + // options: { environment: "browser", encryptionScheme: 'pkcs1' }, + }); + console.log("pkcs1_oaep_sha256"); + console.log(pkcs1_oaep_sha256); + + decryptedWithPrivate = NODERSA.decryptRSAWithPrivateKey("kSZesAAyYh2hdsQnYMdGqb6gKAzTauBKouvBzWcc4+F8RvGd0nwO6mVkUMVilPgUuNxjEauHayHiY8gI3Py45UI3+km0rSGyHrS6dHiHgCkMejXHieglYzAB0IxX3Jkm4z/66bdB/D+GFy0oct5fGCMI1UHPjEAYOsazJDa8lBFNbjiWFeb/qiZtIx3vGM7KYPAZzyRf/zPbbQ8zy9xOmRuOl5nnIxgo0Okp3KO/RIPO4GZOSBA8f2lx1UtNwwrXAMpcNavtoqHVcjJ/9lcotXYQFrn5b299pSIRf2gVm8ZJ31SK6Z8cc14nKtvgnmsgClDzIXJ1o1RcDK+knVAySg==", `-----BEGIN RSA PRIVATE KEY----- +MIIEpAIBAAKCAQEA5KOq1gRNyllLNWKQy8sGpZE3Q1ULLSmzZw+eaAhj9lvqn7Is +T1duSYn08FfoOA2qMwtz+1O2l1mgzNoSVCyVpVabnTG+C9XKeZXAnJHd8aYA7l7S +xhdmkte+iymYZ0ZBPzijo8938iugtVvqi9UgDmnY3u/NlQDqiL5BGqSxSTd/Sgmy +3zD8PYzEa3wD9vehQ5fZZ45vKIq8GNVh2Z8+IGO85FF1OsN7+b2yGJa/FmDDNn0+ +HP+mPfI+kYBqEVpo0Ztbc3UdxgFwGC8O1n8AQyriwHnSOtIiuBH62J/7qyC/3LEA +ApRbDd9YszqzmODjQUddZKHmvc638VW+azc0EwIDAQABAoIBADZ/QGgUzInvsLp/ +zO2WbfYm39o/uhNAvk9RbLt1TIZbMFhyOpeKynHi3Swwd9xsfWX/U9zS/lGi/m31 +iKrhmaW4OA1G3vqpMcK7TBbFufYwUEaA+ZJX344euH8pIfdzyneMQ4z3Far2dS7l +QsmjuilVV2kEFadveXewiYoVOWCu00w6bN8wy2SIHlQn+kIL6HQhWz12iKKflIKu +eGRdzLHsKmBt6WbY1Wuhx7HU0fAKdlBDPxCHNlI+kybUYE9o5C2vJiaVM5wqJBgZ +8Dz8kt1QbLJ910JoLXkLVQ8uC8NJKQwFtqQjTGPnEq0+wbgz6Ij599rKZkwW/xq9 +l6KoUiECgYEA6Ah42tVdkNW047f03xVYXFH96RgorHRS36mR8Y+ONUq1fwKidovC +WjwVujt4OPf3l1W6iyn/F6cu/bsmvPrSc3HTN0B1V31QK4OjgetxQ2PSbTldH02J +NPzkt+v+cPxXpx/P5mgt7Weefw5txU547KubGrHUV5rBKFtIx9pj16MCgYEA/EF0 +o19+D24DZAPwlDS5VbEd7FStnwY4oQ5PqbuNOSbSJLMWU0AqzXcRokp8UTyCZ0X3 +ATkS1REq97kShCuR+npTR6a6DlY7sdpPI1SMLNajgB2tkx0EOzX+PfNIbHUd4jpJ +I0ZMAHv/OOtkzQHDaeTWBTrzsWm6/nTiykfduNECgYEA46AMD4HpPECqKAs66e5i +tI6q7JSKskObWVdcmQEfnSAhVOwcvPb2Ptda6UuV8S0xcwDi88rLOUUFUFzc79+P +vTkY38cYVi/VChsluDpk7ptqv0PbGu5Rf+3n4pZdEjI7OvR2W64wAAn67uIUxc7p +yiO/ET0K9rYWb6S9jXGtKMkCgYEA2kPAqoO7zZoBMQ7/oR0lp/HC1HRIbiqx4RlC +8Lgpb+QZPEwA6zPAVVvLVENi4d+bbcRp/xLlKpraNNJcJSSWAMbLPFoU7sbKjA87 +HnTPfRSTEA2d3Ibk3F7Rh8TzS3Ti0JZiJjVzGZAwu41iAMifzwaD8K6boUy80eNN +QH2CaaECgYBUsLYvC/MiYg3w+LGOONuQongoVUXjGqnw2bjVa9RK7lwRdXPUqJ51 +MpVO98IkoLvGSI/0sGNP3GKNhC+eMGjJAVwFyEuOn+JsmMv9Y9uStIVi5tIHIhKw +m7mp8il0kaftHdSxTbspG3tZ2fjIiFIZkLEOmRpd7ogWumgOajzUdA== +-----END RSA PRIVATE KEY-----`, { + // PublicFormat: "pkcs1-private", + // outEncoding: "hex" + options: { + environment: "browser", + encryptionScheme: 'pkcs1_oaep' + }, + }); + console.log('decryptedWithPrivate'); + console.log(decryptedWithPrivate); + + + (() => { + let key = new NODERSA.NodeRSA({ + b: 1024 + }); + key.setOptions({ + encryptionScheme: 'pkcs1' + }) + let text = `你好drpy node-ras`; + let encrypted = key.encrypt(text, 'base64'); + console.log('encrypted: ', encrypted); + const decrypted = key.decrypt(encrypted, 'utf8'); + console.log('decrypted: ', decrypted); + })(); + let t2 = new Date().getTime(); + console.log('rsa_demo_test 测试耗时:' + (t2 - t1) + '毫秒'); +} + + +/** + * 执行预处理代码 + */ +function pre() { + if (typeof(rule.预处理) === 'string' && rule.预处理 && rule.预处理.trim()) { + let code = rule.预处理.trim(); + console.log("执行预处理代码:" + code); + if (code.startsWith('js:')) { + code = code.replace('js:', ''); + } + try { + // code里可以进行get 或者 post请求cookie并改变rule.headers 里的cookie + // 直接操作 rule_fetch_params 这个变量 .headers.Cookie + eval(code); + } catch (e) { + console.log(`预处理执行失败:${e.message}`); + } + } +} + +let rule = {}; +/** 已知问题记录 + * 1.影魔的jinjia2引擎不支持 {{fl}}对象直接渲染 (有能力解决的话尽量解决下,支持对象直接渲染字符串转义,如果加了|safe就不转义)[影魔牛逼,最新的文件发现这问题已经解决了] + * Array.prototype.append = Array.prototype.push; 这种js执行后有毛病,for in 循环列表会把属性给打印出来 (这个大毛病需要重点排除一下) + * 2.import es6py.js但是里面的函数没有被装载进来.比如drpy规则报错setResult2 is undefiend(合并文件了可以不管了) + * 3.无法重复导入cheerio(怎么解决drpy和parseTag里都需要导入cheerio的问题) 无法在副文件导入cheerio (现在是全部放在drpy一个文件里了,凑合解决?) + * 4.有个错误不知道哪儿来的 executeScript: com.quickjs.JSObject$Undefined cannot be cast to java.lang.String 在 点击选集播放打印init_test_end后面打印(貌似不影响使用) + * 5.需要实现 stringify 函数,比起JSON.strifngify函数,它会原封不动保留中文不会编码unicode + * 6.base64Encode,base64Decode,md5函数还没有实现 (抄影魔代码实现了) + * 7.eval(getCryptoJS());还没有实现 (可以空实现了,以后遇到能忽略) + * done: jsp:{pdfa,pdfh,pd},json:{pdfa,pdfh,pd},jq:{pdfa,pdfh,pd} + * 8.req函数不支持传递字符串的data参数 {'content-type':'text/plain'} 类型数据,因此无法直接调用alist的ocr接口 + * * 电脑看日志调试 + adb tcpip 5555 + adb connect 192.168.10.192 + adb devices -l + adb logcat -c + adb logcat | grep -i QuickJS + adb logcat -c -b events + adb logcat -c -b main -b events -b radio -b system + adb logcat > 2.log DRPY:E | grep -i QuickJS + * **/ + + +/*** 以下是内置变量和解析方法 **/ +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'; // 源cookie的key值 +// const KEY = typeof(key)!=='undefined'&&key?key:'drpy_' + (rule.title || rule.host); // 源的唯一标识 +const CATE_EXCLUDE = '首页|留言|APP|下载|资讯|新闻|动态'; +const TAB_EXCLUDE = '猜你|喜欢|下载|剧情|榜|评论'; +const OCR_RETRY = 3; //ocr验证重试次数 +// const OCR_API = 'http://drpy.nokia.press:8028/ocr/drpy/text';//ocr在线识别接口 +const OCR_API = 'https://api.nn.ci/ocr/b64/text'; //ocr在线识别接口 +if (typeof(MY_URL) === 'undefined') { + var MY_URL; // 全局注入变量,pd函数需要 +} +var HOST; +var RKEY; // 源的唯一标识 +var fetch; +var print; +var log; +var rule_fetch_params; +var fetch_params; // 每个位置单独的 +var oheaders; +// var play_url; // 二级详情页注入变量,为了适配js模式0 (不在这里定义了,直接二级里定义了个空字符串) +var _pdfh; +var _pdfa; +var _pd; +// const DOM_CHECK_ATTR = ['url', 'src', 'href', 'data-original', 'data-src']; +const DOM_CHECK_ATTR = /(url|src|href|-original|-src|-play|-url|style)$/; +// 过滤特殊链接,不走urlJoin +const SPECIAL_URL = /^(ftp|magnet|thunder|ws):/; +const NOADD_INDEX = /:eq|:lt|:gt|:first|:last|^body$|^#/; // 不自动加eq下标索引 +const URLJOIN_ATTR = /(url|src|href|-original|-src|-play|-url|style)$|^(data-|url-|src-)/; // 需要自动urljoin的属性 +const SELECT_REGEX = /:eq|:lt|:gt|#/g; +const SELECT_REGEX_A = /:eq|:lt|:gt/g; + +// 增加$js工具,支持$js.toString(()=>{}); +const $js = { + toString(func) { + let strfun = func.toString(); + return strfun.replace(/^\(\)(\s+)?=>(\s+)?\{/, "js:").replace(/\}$/, ''); + } +}; + +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); + + function btoa(str) { + var out, i, len; + var c1, c2, c3; + len = str.length; + i = 0; + out = ""; + while (i < len) { + c1 = str.charCodeAt(i++) & 0xff; + if (i == len) { + out += b64map.charAt(c1 >> 2); + out += b64map.charAt((c1 & 0x3) << 4); + out += "=="; + break; + } + c2 = str.charCodeAt(i++); + if (i == len) { + out += b64map.charAt(c1 >> 2); + out += b64map.charAt(((c1 & 0x3) << 4) | ((c2 & 0xF0) >> 4)); + out += b64map.charAt((c2 & 0xF) << 2); + out += "="; + break; + } + c3 = str.charCodeAt(i++); + out += b64map.charAt(c1 >> 2); + out += b64map.charAt(((c1 & 0x3) << 4) | ((c2 & 0xF0) >> 4)); + out += b64map.charAt(((c2 & 0xF) << 2) | ((c3 & 0xC0) >> 6)); + out += b64map.charAt(c3 & 0x3F); + } + 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++) & 0xff]; + } while (i < len && c1 == -1); + if (c1 == -1) break; + do { + c2 = base64DecodeChars[str.charCodeAt(i++) & 0xff]; + } while (i < len && c2 == -1); + if (c2 == -1) break; + out += String.fromCharCode((c1 << 2) | ((c2 & 0x30) >> 4)); + do { + c3 = str.charCodeAt(i++) & 0xff; + if (c3 == 61) return out; + c3 = base64DecodeChars[c3]; + } while (i < len && c3 == -1); + if (c3 == -1) break; + out += String.fromCharCode(((c2 & 0XF) << 4) | ((c3 & 0x3C) >> 2)); + do { + c4 = str.charCodeAt(i++) & 0xff; + if (c4 == 61) return out; + c4 = base64DecodeChars[c4]; + } while (i < len && c4 == -1); + if (c4 == -1) break; + out += String.fromCharCode(((c3 & 0x03) << 6) | c4); + } + return out; + } + + return { + atob, + btoa + } +} + +/** + es6py扩展 + */ +if (typeof atob !== 'function' || typeof btoa !== 'function') { + var { + atob, + btoa + } = window_b64(); +} + +if (typeof Object.assign !== 'function') { + Object.assign = function() { + let target = arguments[0]; + for (let i = 1; i < arguments.length; i++) { + let source = arguments[i]; + for (let key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + return target; + }; +} +if (!String.prototype.includes) { + String.prototype.includes = function(search, start) { + if (typeof start !== 'number') { + start = 0; + } + + if (start + search.length > this.length) { + return false; + } else { + return this.indexOf(search, start) !== -1; + } + }; +} + +if (!Array.prototype.includes) { + Object.defineProperty(Array.prototype, 'includes', { + value: function(searchElement, fromIndex) { + + if (this == null) { //this是空或者未定义,抛出错误 + throw new TypeError('"this" is null or not defined'); + } + + var o = Object(this); //将this转变成对象 + var len = o.length >>> 0; //无符号右移0位,获取对象length属性,如果未定义就会变成0 + + if (len === 0) { //length为0直接返回false未找到目标值 + return false; + } + + var n = fromIndex | 0; //查找起始索引 + var k = Math.max(n >= 0 ? n : len - Math.abs(n), 0); //计算正确起始索引,因为有可能是负值 + + while (k < len) { //从起始索引处开始循环 + if (o[k] === searchElement) { //如果某一位置与寻找目标相等,返回true,找到了 + return true; + } + k++; + } + return false; //未找到,返回false + }, + enumerable: false + }); +} +if (typeof String.prototype.startsWith !== 'function') { + String.prototype.startsWith = function(prefix) { + return this.slice(0, prefix.length) === prefix; + }; +} +if (typeof String.prototype.endsWith !== 'function') { + String.prototype.endsWith = function(suffix) { + return this.indexOf(suffix, this.length - suffix.length) !== -1; + }; +} +Object.defineProperty(Object.prototype, 'myValues', { + value: function(obj) { + if (obj == null) { + throw new TypeError("Cannot convert undefined or null to object"); + } + var res = [] + for (var k in obj) { + if (obj.hasOwnProperty(k)) { //需判断是否是本身的属性 + res.push(obj[k]); + } + } + return res; + }, + enumerable: false +}); +if (typeof Object.prototype.values !== 'function') { + Object.defineProperty(Object.prototype, 'values', { + value: function(obj) { + if (obj == null) { + throw new TypeError("Cannot convert undefined or null to object"); + } + var res = [] + for (var k in obj) { + if (obj.hasOwnProperty(k)) { //需判断是否是本身的属性 + res.push(obj[k]); + } + } + return res; + }, + enumerable: false + }); +} +if (typeof Array.prototype.join !== 'function') { + Object.defineProperty(Array.prototype, 'join', { + value: function(emoji) { + // emoji = emoji||','; + emoji = emoji || ''; + let self = this; + let str = ""; + let i = 0; + if (!Array.isArray(self)) { + throw String(self) + 'is not Array' + } + if (self.length === 0) { + return '' + } + if (self.length === 1) { + return String(self[0]) + } + i = 1; + str = this[0]; + for (; i < self.length; i++) { + str += String(emoji) + String(self[i]); + } + return str; + }, + enumerable: false + }); +} +if (typeof Array.prototype.toReversed !== 'function') { + Object.defineProperty(Array.prototype, 'toReversed', { + value: function() { + const clonedList = this.slice(); + // 倒序新数组 + const reversedList = clonedList.reverse(); + return reversedList; + }, + enumerable: false + }); +} + +Object.defineProperty(Array.prototype, 'append', { + value: Array.prototype.push, + enumerable: false +}); +Object.defineProperty(String.prototype, 'strip', { + value: String.prototype.trim, + enumerable: false +}); +Object.defineProperty(String.prototype, 'rstrip', { + value: function(chars) { + let regex = new RegExp(chars + "$"); + return this.replace(regex, ""); + }, + enumerable: false +}); + +function 是否正版(vipUrl) { + let flag = new RegExp('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); +} + +function urlDeal(vipUrl) { + if (!vipUrl) { + return '' + } + if (!是否正版(vipUrl)) { + return vipUrl + } + if (!/miguvideo/.test(vipUrl)) { + vipUrl = vipUrl.split('#')[0].split('?')[0]; + } + return vipUrl +} + +function setResult(d) { + if (!Array.isArray(d)) { + return [] + } + VODS = []; + // print(d); + d.forEach(function(it) { + let obj = { + vod_id: it.url || '', + vod_name: it.title || '', + vod_remarks: it.desc || '', + vod_content: it.content || '', + vod_pic: it.pic_url || it.img || '', + }; + let keys = Object.keys(it); + if (keys.includes('tname')) { + obj.type_name = it.tname || ''; + } + if (keys.includes('tid')) { + obj.type_id = it.tid || ''; + } + if (keys.includes('year')) { + obj.vod_year = it.year || ''; + } + if (keys.includes('actor')) { + obj.vod_actor = it.actor || ''; + } + if (keys.includes('director')) { + obj.vod_director = it.director || ''; + } + if (keys.includes('area')) { + obj.vod_area = it.area || ''; + } + VODS.push(obj); + }); + return VODS +} + +function setResult2(res) { + VODS = res.list || []; + return VODS +} + +function setHomeResult(res) { + if (!res || typeof(res) !== 'object') { + return [] + } + return setResult(res.list); +} + +// 猫了个咪 +function rc(js) { + if (js === 'maomi_aes.js') { + var a = CryptoJS.enc.Utf8.parse("625222f9149e961d"); + var t = CryptoJS.enc.Utf8.parse("5efdtf6060e2o330"); + return { + De: function(word) { + word = CryptoJS.enc.Hex.parse(word) + return CryptoJS.AES.decrypt(CryptoJS.enc.Base64.stringify(word), a, { + iv: t, + mode: CryptoJS.mode.CBC, + padding: CryptoJS.pad.Pkcs7 + }).toString(CryptoJS.enc.Utf8) + }, + En: function(word) { + // print(a); + // print(word); + var Encrypted = CryptoJS.AES.encrypt(word, a, { + iv: t, + mode: CryptoJS.mode.CBC, + padding: CryptoJS.pad.Pkcs7 + }); + return Encrypted.ciphertext.toString(); + } + }; + } + return {}; +} + +// 千万不要用for in 推荐 forEach (for in 会打乱顺序) +//猫函数 +function maoss(jxurl, ref, key) { + fetch_params = JSON.parse(JSON.stringify(rule_fetch_params)); + eval(getCryptoJS()); + try { + var getVideoInfo = function(text) { + return CryptoJS.AES.decrypt(text, key, { + iv: iv, + padding: CryptoJS.pad.Pkcs7 + }).toString(CryptoJS.enc.Utf8); + }; + var token_key = key == undefined ? 'dvyYRQlnPRCMdQSe' : key; + if (ref) { + var html = request(jxurl, { + headers: { + 'Referer': ref + } + }); + } else { + var html = request(jxurl); + } + // print(html); + if (html.indexOf('&btwaf=') != -1) { + html = request(jxurl + '&btwaf' + html.match(/&btwaf(.*?)"/)[1], { + headers: { + 'Referer': ref + } + }) + } + var token_iv = html.split('_token = "')[1].split('"')[0]; + var key = CryptoJS.enc.Utf8.parse(token_key); + var iv = CryptoJS.enc.Utf8.parse(token_iv); + // log("iv:"+iv); + // log(html); + // print(key); + // print(iv); + eval(html.match(/var config = {[\s\S]*?}/)[0] + ''); + // config.url = config.url.replace(/,/g,''); + // print(config.url); + if (!config.url.startsWith('http')) { + //config.url = decodeURIComponent(AES(config.url, key, iv)); + config.url = CryptoJS.AES.decrypt(config.url, key, { + iv: iv, + padding: CryptoJS.pad.Pkcs7 + }).toString(CryptoJS.enc.Utf8) + } + return config.url; + } catch (e) { + return ''; + } +} + +/** + * 将base64编码进行url编译 + * @param str + * @returns {string} + */ +function urlencode(str) { + str = (str + '').toString(); + return encodeURIComponent(str).replace(/!/g, '%21').replace(/'/g, '%27').replace(/\(/g, '%28').replace(/\)/g, '%29').replace(/\*/g, '%2A').replace(/%20/g, '+'); +} + +/** + * url编码,同 encodeURI + * @param str + * @returns {string} + */ +function encodeUrl(str) { + if (typeof(encodeURI) == 'function') { + return encodeURI(str) + } else { + str = (str + '').toString(); + return encodeURIComponent(str).replace(/%2F/g, '/').replace(/%3F/g, '?').replace(/%3A/g, ':').replace(/%40/g, '@').replace(/%3D/g, '=').replace(/%3A/g, ':').replace(/%2C/g, ',').replace(/%2B/g, '+').replace(/%24/g, '$'); + } +} + +function base64Encode(text) { + return CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(text)); + // return text +} + +function base64Decode(text) { + return CryptoJS.enc.Utf8.stringify(CryptoJS.enc.Base64.parse(text)); + // return text +} + +function md5(text) { + return CryptoJS.MD5(text).toString(); +} + +function uint8ArrayToBase64(uint8Array) { + let binaryString = String.fromCharCode.apply(null, Array.from(uint8Array)); + return btoa(binaryString); +} + +function Utf8ArrayToStr(array) { + var out, i, len, c; + var char2, char3; + out = ""; + len = array.length; + i = 0; + while (i < len) { + 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: + char2 = array[i++]; + out += String.fromCharCode(((c & 0x1f) << 6) | (char2 & 0x3f)); + break; + case 14: + char2 = array[i++]; + char3 = array[i++]; + out += String.fromCharCode( + ((c & 0x0f) << 12) | ((char2 & 0x3f) << 6) | ((char3 & 0x3f) << 0) + ); + break; + } + } + return out; +} + +/** + * gzip压缩base64|压缩率80%+ + * @param str + * @returns {string} + */ +function gzip(str) { + let arr = pako.gzip(str, { + // to: 'string' + }); + return uint8ArrayToBase64(arr) +} + +/** + * gzip解压base64数据 + * @param b64Data + * @returns {string} + */ +function ungzip(b64Data) { + let strData = atob(b64Data); + const charData = strData.split('').map(function(x) { + return x.charCodeAt(0); + }); + const binData = new Uint8Array(charData); + const data = pako.inflate(binData); + return Utf8ArrayToStr(data); +} + +/** + * 字符串按指定编码 + * @param input + * @param encoding + * @returns {*} + */ +function encodeStr(input, encoding) { + encoding = encoding || 'gbk'; + if (encoding.startsWith('gb')) { + const strTool = gbkTool(); + input = strTool.encode(input); + } + return input +} + +/** + * 字符串指定解码 + * @param input + * @param encoding + * @returns {*} + */ +function decodeStr(input, encoding) { + encoding = encoding || 'gbk'; + if (encoding.startsWith('gb')) { + const strTool = gbkTool(); + input = strTool.decode(input); + } + return input +} + +function getCryptoJS() { + // return request('https://ghproxy.net/https://raw.githubusercontent.com/hjdhnx/dr_py/main/libs/crypto-hiker.js'); + return 'console.log("CryptoJS已装载");' +} + +// 封装的RSA加解密类 +const RSA = { + decode: function(data, key, option) { + option = option || {}; + if (typeof(JSEncrypt) === 'function') { + let chunkSize = option.chunkSize || 117; // 默认分段长度为117 + let privateKey = this.getPrivateKey(key); // 获取私钥 + const decryptor = new JSEncrypt(); //创建解密对象实例 + decryptor.setPrivateKey(privateKey); //设置秘钥 + let uncrypted = ''; + // uncrypted = decryptor.decrypt(data); + uncrypted = decryptor.decryptUnicodeLong(data); + return uncrypted; + } else { + return false + } + }, + encode: function(data, key, option) { + option = option || {}; + if (typeof(JSEncrypt) === 'function') { + let chunkSize = option.chunkSize || 117; // 默认分段长度为117 + let publicKey = this.getPublicKey(key); // 获取公钥 + const encryptor = new JSEncrypt(); + encryptor.setPublicKey(publicKey); // 设置公钥 + let encrypted = ''; // 加密结果 + // const textLen = data.length; // 待加密文本长度 + // let offset = 0; // 分段偏移量 + // // 分段加密 + // while (offset < textLen) { + // let chunk = data.slice(offset, chunkSize); // 提取分段数据 + // let enc = encryptor.encrypt(chunk); // 加密分段数据 + // encrypted += enc; // 连接加密结果 + // offset += chunkSize; // 更新偏移量 + // } + encrypted = encryptor.encryptUnicodeLong(data); + return encrypted + } else { + return false + } + }, + fixKey(key, prefix, endfix) { + if (!key.includes(prefix)) { + key = prefix + key; + } + if (!key.includes(endfix)) { + key += endfix + } + return key + }, + getPrivateKey(key) { + let prefix = '-----BEGIN RSA PRIVATE KEY-----'; + let endfix = '-----END RSA PRIVATE KEY-----'; + return this.fixKey(key, prefix, endfix); + }, + getPublicKey(key) { + let prefix = '-----BEGIN PUBLIC KEY-----'; + let endfix = '-----END PUBLIC KEY-----'; + return this.fixKey(key, prefix, endfix); + } +}; + +/** + * 获取壳子返回的代理地址 + * @returns {string|*} + */ +function getProxyUrl() { + if (typeof(getProxy) === 'function') { //判断壳子里有getProxy函数就执行取返回结果。否则取默认的本地 + return getProxy(true) + } else { + return 'http://127.0.0.1:9978/proxy?do=js' + } +} + +/** + * 根据正则处理原始m3u8里的广告ts片段,自动修复相对链接 + * @param m3u8_text m3u8原始文本,里面是最末级的只含ts片段的。不支持嵌套m3u8链接 + * @param m3u8_url m3u8原始地址 + * @param ad_remove 正则表达式如: reg:/video/adjump(.*?)ts + * @returns {string|DocumentFragment|*|string} + */ +function fixAdM3u8(m3u8_text, m3u8_url, ad_remove) { + if ((!m3u8_text && !m3u8_url) || (!m3u8_text && m3u8_url && !m3u8_url.startsWith('http'))) { + return '' + } + if (!m3u8_text) { + log('m3u8_url:' + m3u8_url); + m3u8_text = request(m3u8_url); + } + log('len(m3u8_text):' + m3u8_text.length); + if (!ad_remove) { + return m3u8_text + } + if (ad_remove.startsWith('reg:')) { + ad_remove = ad_remove.slice(4) + } else if (ad_remove.startsWith('js:')) { + ad_remove = ad_remove.slice(3) + } + let m3u8_start = m3u8_text.slice(0, m3u8_text.indexOf('#EXTINF')).trim(); + let m3u8_body = m3u8_text.slice(m3u8_text.indexOf('#EXTINF'), m3u8_text.indexOf('#EXT-X-ENDLIST')).trim(); + let m3u8_end = m3u8_text.slice(m3u8_text.indexOf('#EXT-X-ENDLIST')).trim(); + let murls = []; + let m3_body_list = m3u8_body.split('\n'); + let m3_len = m3_body_list.length; + let i = 0; + while (i < m3_len) { + let mi = m3_body_list[i]; + let mi_1 = m3_body_list[i + 1]; + if (mi.startsWith('#EXTINF')) { + murls.push([mi, mi_1].join('&')); + i += 2 + } else if (mi.startsWith('#EXT-X-DISCONTINUITY')) { + let mi_2 = m3_body_list[i + 2]; + murls.push([mi, mi_1, mi_2].join('&')); + i += 3 + } else { + break; + } + } + let new_m3u8_body = []; + for (let murl of murls) { + if (ad_remove && new RegExp(ad_remove).test(murl)) { + + } else { + let murl_list = murl.split('&'); + if (!murl_list[murl_list.length - 1].startsWith('http') && m3u8_url.startsWith('http')) { + murl_list[murl_list.length - 1] = urljoin(m3u8_url, murl_list[murl_list.length - 1]); + } + murl_list.forEach((it) => { + new_m3u8_body.push(it); + }); + } + + } + new_m3u8_body = new_m3u8_body.join('\n').trim(); + m3u8_text = [m3u8_start, new_m3u8_body, m3u8_end].join('\n').trim(); + return m3u8_text +} + +/** + * 智能对比去除广告。支持嵌套m3u8。只需要传入播放地址 + * @param m3u8_url m3u8播放地址 + * @param headers 自定义访问m3u8的请求头,可以不传 + * @returns {string} + */ +function fixAdM3u8Ai(m3u8_url, headers) { + let ts = (new Date).getTime(); + let option = headers ? { + headers: headers + } : {}; + + function b(s1, s2) { + let i = 0; + while (i < s1.length) { + if (s1[i] !== s2[i]) { + break + } + i++ + } + return i + } + + function reverseString(str) { + return str.split("").reverse().join("") + } + let m3u8 = request(m3u8_url, option); + m3u8 = m3u8.trim().split("\n").map(it => it.startsWith("#") ? it : urljoin(m3u8_url, it)).join("\n"); + m3u8 = m3u8.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 = urljoin2(m3u8_url, last_url); + log("嵌套的m3u8_url:" + m3u8_url); + m3u8 = request(m3u8_url, option) + } + let s = m3u8.trim().split("\n").filter(it => it.trim()).join("\n"); + let ss = s.split("\n"); + if (m3u8_url.indexOf("ffzy") > 0) { + let j = 0, + k1 = 0, + m = 0, + n = 0, + t = 0; + let s2 = ""; + for (let i = 0; i < ss.length; i++) { + let s = ss[i]; + let s1 = ""; + if (s.startsWith("#EXTINF")) { + s1 = s.slice(8); + n++; + if (n == 1) + k1 = i; + if (s2.indexOf(s1) == -1) { + s2 = s2 + s1; + m++; + } + t = t + parseFloat(s1); + i++; + s = ss[i]; + } + if (s.startsWith("#EXT-X-DISCONTINUITY")) { + if (n == 5) { + log("n:" + n); + log("m:" + m); + for (let j = k1; j < k1 + n * 2; j++) { + log(ss[j]); + } + log("广告位置:" + k1); + log("数据条数:" + n); + log("数据种类:" + m); + log("广告时间:" + t.toFixed(5)); + ss.splice(k1, 2 * n + 1); + i = i - 2 * n + 1; + } + t = 0; + m = 0; + n = 0; + s2 = ""; + } + } + } + let firststr = ""; + let maxl = 0; + let kk = 0; + let kkk1 = 1; + let kkk2 = 0; + let secondstr = ""; + for (let i = 0; i < ss.length; i++) { + let s = ss[i]; + if (!s.startsWith("#")) { + if (kk == 0) + firststr = s; + if (kk > 0) { + if (maxl > b(firststr, s) + 1) { + if (secondstr.length < 5) + secondstr = s; + kkk2++ + } else { + maxl = b(firststr, s); + kkk1++ + } + } + kk++; + if (kk >= 30) + break + } + } + if (kkk2 > kkk1) + firststr = secondstr; + let firststrlen = firststr.length; + let ml = Math.round(ss.length / 2).toString().length; + let maxc = 0; + let laststr = ss.toReversed().find(x => { + if (!x.startsWith("#")) { + let k = b(reverseString(firststr), reverseString(x)); + maxl = b(firststr, x); + maxc++; + if (firststrlen - maxl <= ml + k || maxc > 10) { + return true + } + } + return false + }); + log("最后一条切片:" + laststr); + let ad_urls = []; + for (let i = 0; i < ss.length; i++) { + let s = ss[i]; + if (!s.startsWith("#")) { + if (b(firststr, s) < maxl) { + ad_urls.push(s); + ss.splice(i - 1, 2); + i = i - 2 + } else { + ss[i] = urljoin(m3u8_url, s) + } + } else { + ss[i] = s.replace(/URI=\"(.*)\"/, 'URI="' + urljoin(m3u8_url, "$1") + '"') + } + } + log("处理的m3u8地址:" + m3u8_url); + log("----广告地址----"); + log(ad_urls); + m3u8 = ss.join("\n"); + log("处理耗时:" + ((new Date).getTime() - ts).toString()); + log(m3u8); + return m3u8 +} + + +/** + * 强制正序算法 + * @param lists 待正序列表 + * @param key 正序键 + * @param option 单个元素处理函数 + * @returns {*} + */ +function forceOrder(lists, key, option) { + let start = Math.floor(lists.length / 2); + let 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 += ''; + second += ''; + // console.log(first,second); + if (first.match(/(\d+)/) && second.match(/(\d+)/)) { + let num1 = Number(first.match(/(\d+)/)[1]); + let num2 = Number(second.match(/(\d+)/)[1]); + if (num1 > num2) { + lists.reverse(); + } + } + return lists +} + +let VODS = []; // 一级或者搜索需要的数据列表 +let VOD = {}; // 二级的单个数据 +let TABS = []; // 二级的自定义线路列表 如: TABS=['道长在线','道长在线2'] +let LISTS = []; // 二级的自定义选集播放列表 如: LISTS=[['第1集$http://1.mp4','第2集$http://2.mp4'],['第3集$http://1.mp4','第4集$http://2.mp4']] + +/** + * 获取链接的query请求转为js的object字典对象 + * @param url + * @returns {{}} + */ +function getQuery(url) { + try { + if (url.indexOf('?') > -1) { + url = url.slice(url.indexOf('?') + 1); + } + let arr = url.split("#")[0].split("&"); + const resObj = {}; + arr.forEach(item => { + let arr1 = item.split("="); + let key = arr1[0]; + let value = arr1.slice(1).join('='); + resObj[key] = value; + }); + return resObj; + } catch (err) { + log(`getQuery发生错误:${e.message}`) + return {}; + } +} + +/** + * url拼接 + * @param fromPath 初始当前页面url + * @param nowPath 相对当前页面url + * @returns {*} + */ +function urljoin(fromPath, nowPath) { + fromPath = fromPath || ''; + nowPath = nowPath || ''; + return joinUrl(fromPath, nowPath); + // try { + // // import Uri from './uri.min.js'; + // // var Uri = require('./uri.min.js'); + // // eval(request('https://cdn.bootcdn.net/ajax/libs/URI.js/1.19.11/URI.min.js')); + // // let new_uri = URI(nowPath, fromPath); + + // let new_uri = Uri(nowPath, fromPath); + // new_uri = new_uri.toString(); + // // console.log(new_uri); + // // return fromPath + nowPath + // return new_uri + // } + // catch (e) { + // console.log('urljoin发生错误:'+e.message); + // if(nowPath.startsWith('http')){ + // return nowPath + // }if(nowPath.startsWith('/')){ + // return getHome(fromPath)+nowPath + // } + // return fromPath+nowPath + // } +} + +var urljoin2 = urljoin; + +// 内置 pdfh,pdfa,pd +const defaultParser = { + pdfh: pdfh, + pdfa: pdfa, + pd: pd, +}; + + +/** + * pdfh原版优化,能取style属性里的图片链接 + * @param html 源码 + * @param parse 解析表达式 + * @returns {string|*} + */ +function pdfh2(html, parse) { + let html2 = html; + try { + if (typeof(html) !== 'string') { + html2 = html.rr(html.ele).toString(); + } + } catch (e) { + print(`html对象转文本发生了错误:${e.message}`); + } + let result = defaultParser.pdfh(html2, parse); + let option = parse.includes('&&') ? parse.split('&&').slice(-1)[0] : parse.split(' ').slice(-1)[0]; + if (/style/.test(option.toLowerCase()) && /url\(/.test(result)) { + try { + result = result.match(/url\((.*?)\)/)[1]; + // 2023/07/28新增 style取内部链接自动去除首尾单双引号 + result = result.replace(/^['|"](.*)['|"]$/, "$1"); + } catch (e) {} + } + return result +} + +/** + * pdfa原版优化,可以转换jq的html对象 + * @param html + * @param parse + * @returns {*} + */ +function pdfa2(html, parse) { + let html2 = html; + try { + if (typeof(html) !== 'string') { + html2 = html.rr(html.ele).toString(); + } + } catch (e) { + print(`html对象转文本发生了错误:${e.message}`); + } + return defaultParser.pdfa(html2, parse); +} + +/** + * pd原版方法重写-增加自动urljoin + * @param html + * @param parse + * @param uri + * @returns {*} + */ +function pd2(html, parse, uri) { + let ret = pdfh2(html, parse); + if (typeof(uri) === 'undefined' || !uri) { + uri = ''; + } + if (DOM_CHECK_ATTR.test(parse) && !SPECIAL_URL.test(ret)) { + if (/http/.test(ret)) { + ret = ret.slice(ret.indexOf('http')); + } else { + ret = urljoin(MY_URL, ret) + } + } + // MY_URL = getItem('MY_URL',MY_URL); + // console.log(`规则${RKEY}打印MY_URL:${MY_URL},uri:${uri}`); + return ret +} + +const parseTags = { + jsp: { + pdfh: pdfh2, + pdfa: pdfa2, + pd: pd2, + }, + json: { + pdfh(html, parse) { + if (!parse || !parse.trim()) { + return ''; + } + if (typeof(html) === 'string') { + // print('jsonpath:pdfh字符串转dict'); + html = JSON.parse(html); + } + parse = parse.trim(); + if (!parse.startsWith('$.')) { + parse = '$.' + parse; + } + parse = parse.split('||'); + for (let ps of parse) { + let ret = cheerio.jp(ps, html); + if (Array.isArray(ret)) { + ret = ret[0] || ''; + } else { + ret = ret || '' + } + if (ret && typeof(ret) !== 'string') { + ret = ret.toString(); + } + if (ret) { + return ret + } + } + return ''; + }, + pdfa(html, parse) { + if (!parse || !parse.trim()) { + return ''; + } + if (typeof(html) === 'string') { + // print('jsonpath:pdfa字符串转dict'); + html = JSON.parse(html); + } + parse = parse.trim() + if (!parse.startsWith('$.')) { + parse = '$.' + parse; + } + let ret = cheerio.jp(parse, html); + if (Array.isArray(ret) && Array.isArray(ret[0]) && ret.length === 1) { + return ret[0] || [] + } + return ret || [] + }, + pd(html, parse) { + let ret = parseTags.json.pdfh(html, parse); + if (ret) { + return urljoin(MY_URL, ret); + } + return ret + }, + }, + jq: { + pdfh(html, parse) { + if (!html || !parse || !parse.trim()) { + return '' + } + parse = parse.trim(); + let result = defaultParser.pdfh(html, parse); + // print(`pdfh解析${parse}=>${result}`); + return result; + }, + pdfa(html, parse) { + if (!html || !parse || !parse.trim()) { + return []; + } + parse = parse.trim(); + let result = defaultParser.pdfa(html, parse); + // print(result); + print(`pdfa解析${parse}=>${result.length}`); + return result; + }, + pd(html, parse, base_url) { + if (!html || !parse || !parse.trim()) { + return '' + } + parse = parse.trim(); + base_url = base_url || MY_URL; + return defaultParser.pd(html, parse, base_url); + }, + }, + getParse(p0) { //非js开头的情况自动获取解析标签 + if (p0.startsWith('jsp:')) { + return this.jsp + } else if (p0.startsWith('json:')) { + return this.json + } else if (p0.startsWith('jq:')) { + return this.jq + } else { + return this.jq + } + } +}; + +const stringify = JSON.stringify; +const jsp = parseTags.jsp; +const jq = parseTags.jq; + +/*** 后台需要实现的java方法并注入到js中 ***/ + +/** + * 读取本地文件->应用程序目录 + * @param filePath + * @returns {string} + */ +function readFile(filePath) { + filePath = filePath || './uri.min.js'; + var fd = os.open(filePath); + var buffer = new ArrayBuffer(1024); + var len = os.read(fd, buffer, 0, 1024); + console.log(len); + let text = String.fromCharCode.apply(null, new Uint8Array(buffer)); + console.log(text); + return text +} + +/** + * 处理返回的json数据 + * @param html + * @returns {*} + */ +function dealJson(html) { + try { + // html = html.match(/[\w|\W|\s|\S]*?(\{[\w|\W|\s|\S]*\})/).group[1]; + html = html.trim(); + if (!((html.startsWith('{') && html.endsWith('}')) || (html.startsWith('[') && html.endsWith(']')))) { + html = '{' + html.match(/.*?\{(.*)\}/m)[1] + '}'; + } + } catch (e) {} + try { + html = JSON.parse(html); + } catch (e) {} + // console.log(typeof(html)); + return html; +} + +/** + * 验证码识别逻辑,需要java实现(js没有bytes类型,无法调用后端的传递图片二进制获取验证码文本的接口) + * @type {{api: string, classification: (function(*=): string)}} + */ +var OcrApi = { + api: OCR_API, + classification: function(img) { // img是byte类型,这里不方便搞啊 + let code = ''; + try { + // let html = request(this.api,{data:{img:img},headers:{'User-Agent':PC_UA},'method':'POST'},true); + // html = JSON.parse(html); + // code = html.url||''; + log('通过drpy_ocr验证码接口过验证...'); + let html = ''; + if (this.api.endsWith('drpy/text')) { + html = request(this.api, { + data: { + img: img + }, + headers: { + 'User-Agent': PC_UA + }, + 'method': 'POST' + }, true); + } else { + html = post(this.api, { + body: img + }); + } + code = html || ''; + } catch (e) { + log(`OCR识别验证码发生错误:${e.message}`) + } + return code + } +}; + +/** + * 验证码识别,暂未实现 + * @param url 验证码图片链接 + * @returns {string} 验证成功后的cookie + */ +function verifyCode(url) { + let cnt = 0; + let host = getHome(url); + let cookie = ''; + while (cnt < OCR_RETRY) { + try { + // let obj = {headers:headers,timeout:timeout}; + let yzm_url = `${host}/index.php/verify/index.html`; + console.log(`验证码链接:${yzm_url}`); + let hhtml = request(yzm_url, { + withHeaders: true, + toBase64: true + }, true); + let json = JSON.parse(hhtml); + if (!cookie) { + // print(json); + let setCk = Object.keys(json).find(it => it.toLowerCase() === 'set-cookie'); + // cookie = json['set-cookie']?json['set-cookie'].split(';')[0]:''; + cookie = setCk ? json[setCk].split(';')[0] : ''; + } + // console.log(hhtml); + console.log('cookie:' + cookie); + let img = json.body; + // console.log(img); + let code = OcrApi.classification(img); + console.log(`第${cnt + 1}次验证码识别结果:${code}`); + let submit_url = `${host}/index.php/ajax/verify_check?type=search&verify=${code}`; + console.log(submit_url); + let html = request(submit_url, { + headers: { + Cookie: cookie + }, + 'method': 'POST' + }); + // console.log(html); + html = JSON.parse(html); + if (html.msg === 'ok') { + console.log(`第${cnt + 1}次验证码提交成功`); + return cookie // 需要返回cookie + } else if (html.msg !== 'ok' && cnt + 1 >= OCR_RETRY) { + cookie = ''; // 需要清空返回cookie + } + } catch (e) { + console.log(`第${cnt + 1}次验证码提交失败:${e.message}`); + if (cnt + 1 >= OCR_RETRY) { + cookie = ''; + } + } + cnt += 1 + } + return cookie +} + +/** + * 存在数据库配置表里, key字段对应值value,没有就新增,有就更新,调用此方法会清除key对应的内存缓存 + * @param k 键 + * @param v 值 + */ +function setItem(k, v) { + local.set(RKEY, k, v); + console.log(`规则${RKEY}设置${k} => ${v}`) +} + +/** + * 获取数据库配置表对应的key字段的value,没有这个key就返回value默认传参.需要有缓存,第一次获取后会存在内存里 + * @param k 键 + * @param v 值 + * @returns {*} + */ +function getItem(k, v) { + return local.get(RKEY, k) || v; +} + +/** + * 删除数据库key对应的一条数据,并清除此key对应的内存缓存 + * @param k + */ +function clearItem(k) { + local.delete(RKEY, k); +} + +/*** js自封装的方法 ***/ + +/** + * 获取链接的host(带http协议的完整链接) + * @param url 任意一个正常完整的Url,自动提取根 + * @returns {string} + */ +function getHome(url) { + if (!url) { + return '' + } + let tmp = url.split('//'); + url = tmp[0] + '//' + tmp[1].split('/')[0]; + try { + url = decodeURIComponent(url); + } catch (e) {} + return url +} + +/** + * get参数编译链接,类似python params字典自动拼接 + * @param url 访问链接 + * @param obj 参数字典 + * @returns {*} + */ +function buildUrl(url, obj) { + obj = obj || {}; + if (url.indexOf('?') < 0) { + url += '?' + } + let param_list = []; + let keys = Object.keys(obj); + keys.forEach(it => { + param_list.push(it + '=' + obj[it]) + }); + let prs = param_list.join('&'); + if (keys.length > 0 && !url.endsWith('?')) { + url += '&' + } + url += prs; + return url +} + +/** + * 远程依赖执行函数 + * @param url 远程js地址 + */ +function $require(url) { + eval(request(url)); +} + +/** + * 将obj所有key变小写 + * @param obj + */ +function keysToLowerCase(obj) { + return Object.keys(obj).reduce((result, key) => { + const newKey = key.toLowerCase(); + result[newKey] = obj[key]; // 如果值也是对象,可以递归调用本函数 + return result; + }, {}); +} + +//字符串To对象 +function parseQueryString(query) { + const params = {}; + query.split('&').forEach(function(part) { + // 使用正则表达式匹配键和值,直到遇到第一个等号为止 + const regex = /^(.*?)=(.*)/; + const match = part.match(regex); + if (match) { + const key = decodeURIComponent(match[1]); + const value = decodeURIComponent(match[2]); + params[key] = value; + } + }); + return params; +} + +//URL需要转码字符串 +function encodeIfContainsSpecialChars(value) { + // 定义在URL中需要编码的特殊字符 + const specialChars = ":/?#[]@!$'()*+,;=%"; + // 检查值中是否包含特殊字符 + if (specialChars.split('').some(char => value.includes(char))) { + // 如果包含,则使用encodeURIComponent进行编码 + return encodeURIComponent(value); + } + // 如果不包含特殊字符,返回原值 + return value; +} + +//对象To字符串 +function objectToQueryString(obj) { + const encoded = []; + for (let key in obj) { + if (obj.hasOwnProperty(key)) { + encoded.push(encodeURIComponent(key) + '=' + encodeIfContainsSpecialChars(obj[key])); + } + } + return encoded.join('&'); +} + +/** + * 海阔网页请求函数完整封装 + * @param url 请求链接 + * @param obj 请求对象 {headers:{},method:'',timeout:5000,body:'',withHeaders:false} + * @param ocr_flag 标识此flag是用于请求ocr识别的,自动过滤content-type指定编码 + * @returns {string|string|DocumentFragment|*} + */ +function request(url, obj, ocr_flag) { + ocr_flag = ocr_flag || false; + if (typeof(obj) === 'undefined' || !obj || obj === {}) { + if (!fetch_params || !fetch_params.headers) { + let headers = { + 'User-Agent': MOBILE_UA, + }; + if (rule.headers) { + Object.assign(headers, rule.headers); + } + if (!fetch_params) { + fetch_params = {}; + } + fetch_params.headers = headers; + } + if (!fetch_params.headers.Referer) { + fetch_params.headers.Referer = getHome(url) + } + obj = fetch_params; + } else { + let headers = obj.headers || {}; + let keys = Object.keys(headers).map(it => it.toLowerCase()); + if (!keys.includes('user-agent')) { + headers['User-Agent'] = MOBILE_UA; + // fetch_params 里存在ua则优先,否则才默认手机UA + if (typeof(fetch_params) === 'object' && fetch_params && fetch_params.headers) { + let fetch_headers = keysToLowerCase(fetch_params.headers); + if (fetch_headers['user-agent']) { + headers['User-Agent'] = fetch_headers['user-agent']; + } + } + } + if (!keys.includes('referer')) { + headers['Referer'] = getHome(url); + } + obj.headers = headers; + } + if (rule.encoding && rule.encoding !== 'utf-8' && !ocr_flag) { + if (!obj.headers.hasOwnProperty('Content-Type') && !obj.headers.hasOwnProperty('content-type')) { // 手动指定了就不管 + obj.headers["Content-Type"] = 'text/html; charset=' + rule.encoding; + } + } + if (typeof(obj.body) != 'undefined' && obj.body && typeof(obj.body) === 'string') { + // let data = {}; + // obj.body.split('&').forEach(it=>{ + // data[it.split('=')[0]] = it.split('=')[1] + // }); + // obj.data = data; + // delete obj.body + + // 传body加 "Content-Type":"application/x-www-form-urlencoded;" 即可post form + if (!obj.headers.hasOwnProperty('Content-Type') && !obj.headers.hasOwnProperty('content-type')) { // 手动指定了就不管 + obj.headers["Content-Type"] = 'application/x-www-form-urlencoded; charset=' + rule.encoding; + } + } else if (typeof(obj.body) != 'undefined' && obj.body && typeof(obj.body) === 'object') { + obj.data = obj.body; + delete obj.body + } + if (!url) { + return obj.withHeaders ? '{}' : '' + } + if (obj.toBase64) { // 返回base64,用于请求图片 + obj.buffer = 2; + delete obj.toBase64 + } + if (obj.redirect === false) { + obj.redirect = 0; + } + if (obj.headers.hasOwnProperty('Content-Type') || obj.headers.hasOwnProperty('content-type')) { + let _contentType = obj.headers["Content-Type"] || obj.headers["content-type"] || ""; + if (_contentType.includes("application/x-www-form-urlencoded")) { + log("custom body is application/x-www-form-urlencoded"); + //console.log(JSON.stringify(obj)); + if (typeof obj.body == "string") { + let temp_obj = parseQueryString(obj.body); + //obj.body = objectToQueryString(temp_obj); + console.log(JSON.stringify(temp_obj)); + } + } + } + + console.log(JSON.stringify(obj.headers)); + // console.log('request:'+url+' obj:'+JSON.stringify(obj)); + console.log('request:' + url + `|method:${obj.method || 'GET'}|body:${obj.body || ''}`); + let res = req(url, obj); + let html = res.content || ''; + // console.log(html); + if (obj.withHeaders) { + let htmlWithHeaders = res.headers; + htmlWithHeaders.body = html; + return JSON.stringify(htmlWithHeaders); + } else { + return html + } +} + +/** + * 快捷post请求 + * @param url 地址 + * @param obj 对象 + * @returns {string|DocumentFragment|*} + */ +function post(url, obj) { + obj = obj || {}; + obj.method = 'POST'; + return request(url, obj); +} + +/** + * 快捷获取特殊地址cookie|一般用作搜索过验证 + * 用法 let {cookie,html} = reqCookie(url); + * @param url 能返回cookie的地址 + * @param obj 常规请求参数 + * @param all_cookie 返回全部cookie.默认false只返回第一个,一般是PhpSessionId + * @returns {{cookie: string, html: (*|string|DocumentFragment)}} + */ +function reqCookie(url, obj, all_cookie) { + obj = obj || {}; + obj.withHeaders = true; + all_cookie = all_cookie || false; + let html = request(url, obj); + let json = JSON.parse(html); + let setCk = Object.keys(json).find(it => it.toLowerCase() === 'set-cookie'); + let cookie = setCk ? json[setCk] : ''; + if (Array.isArray(cookie)) { + cookie = cookie.join(';') + } + if (!all_cookie) { + cookie = cookie.split(';')[0]; + } + html = json.body; + return { + cookie, + html + } +} + +fetch = request; +print = function(data) { + data = data || ''; + if (typeof(data) == 'object' && Object.keys(data).length > 0) { + try { + data = JSON.stringify(data); + console.log(data); + } catch (e) { + // console.log('print:'+e.message); + console.log(typeof(data) + ':' + data.length); + return + } + } else if (typeof(data) == 'object' && Object.keys(data).length < 1) { + console.log('null object'); + } else { + console.log(data); + } +} +log = print; + +/** + * 检查宝塔验证并自动跳过获取正确源码 + * @param html 之前获取的html + * @param url 之前的来源url + * @param obj 来源obj + * @returns {string|DocumentFragment|*} + */ +function checkHtml(html, url, obj) { + if (/\?btwaf=/.test(html)) { + let btwaf = html.match(/btwaf(.*?)"/)[1]; + url = url.split('#')[0] + '?btwaf' + btwaf; + print('宝塔验证访问链接:' + url); + html = request(url, obj); + } + return html +} + +/** + * 带一次宝塔验证的源码获取 + * @param url 请求链接 + * @param obj 请求参数 + * @returns {string|DocumentFragment} + */ +function getCode(url, obj) { + let html = request(url, obj); + html = checkHtml(html, url, obj); + return html +} + +/** + * 源rule专用的请求方法,自动注入cookie + * @param url 请求链接 + * @returns {string|DocumentFragment} + */ +function getHtml(url) { + let obj = {}; + if (rule.headers) { + obj.headers = rule.headers; + } + let cookie = getItem(RULE_CK, ''); + if (cookie) { + // log('有cookie:'+cookie); + if (obj.headers && !Object.keys(obj.headers).map(it => it.toLowerCase()).includes('cookie')) { + log('历史无cookie,新增过验证后的cookie'); + obj.headers['Cookie'] = cookie; + } else if (obj.headers && obj.headers.cookie && obj.headers.cookie !== cookie) { + obj.headers['Cookie'] = cookie; + log('历史有小写过期的cookie,更新过验证后的cookie'); + } else if (obj.headers && obj.headers.Cookie && obj.headers.Cookie !== cookie) { + obj.headers['Cookie'] = cookie; + log('历史有大写过期的cookie,更新过验证后的cookie'); + } else if (!obj.headers) { + obj.headers = { + Cookie: cookie + }; + log('历史无headers,更新过验证后的含cookie的headers'); + } + } + let html = getCode(url, obj); + return html +} + +/** + * 首页分类解析,筛选暂未实现 + * @param homeObj 首页传参对象 + * @returns {string} + */ +function homeParse(homeObj) { + fetch_params = JSON.parse(JSON.stringify(rule_fetch_params)); + let classes = []; + if (homeObj.class_name && homeObj.class_url) { + let names = homeObj.class_name.split('&'); + let urls = homeObj.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] + }); + } + } + + if (homeObj.class_parse) { + if (homeObj.class_parse.startsWith('js:')) { + var input = homeObj.MY_URL; + try { + eval(homeObj.class_parse.replace('js:', '')); + if (Array.isArray(input)) { + classes = input; + } + } catch (e) { + log(`通过js动态获取分类发生了错误:${e.message}`); + } + } else { + let p = homeObj.class_parse.split(';'); + let p0 = p[0]; + let _ps = parseTags.getParse(p0); + let is_json = p0.startsWith('json:'); + _pdfa = _ps.pdfa; + _pdfh = _ps.pdfh; + _pd = _ps.pd; + MY_URL = rule.url; + if (is_json) { + try { + let cms_cate_url = homeObj.MY_URL.replace('ac=detail', 'ac=list'); + let html = homeObj.home_html || getHtml(cms_cate_url); + if (html) { + if (cms_cate_url === homeObj.MY_URL) { + homeHtmlCache = html; + } + let list = _pdfa(html, p0.replace('json:', '')); + if (list && list.length > 0) { + classes = list; + } + } + } catch (e) { + console.log(e.message); + } + } else if (p.length >= 3 && !is_json) { // 可以不写正则 + try { + let html = homeObj.home_html || getHtml(homeObj.MY_URL); + if (html) { + homeHtmlCache = html; + let list = _pdfa(html, p0); + if (list && list.length > 0) { + list.forEach((it, idex) => { + try { + let name = _pdfh(it, p[1]); + if (homeObj.cate_exclude && (new RegExp(homeObj.cate_exclude).test(name))) { + return; + } + // let url = pdfh(it, p[2]); + let url = _pd(it, p[2]); + if (p.length > 3 && p[3] && !homeObj.home_html) { + let exp = new RegExp(p[3]); + url = url.match(exp)[1]; + } + + classes.push({ + 'type_id': url.trim(), + 'type_name': name.trim() + }); + } catch (e) { + console.log(`分类列表定位第${idex}个元素正常报错:${e.message}`); + } + }); + } + } + } catch (e) { + console.log(e.message); + } + + } + } + } + // 排除分类 + classes = classes.filter(it => !homeObj.cate_exclude || !(new RegExp(homeObj.cate_exclude).test(it.type_name))); + let resp = { + 'class': classes + }; + if (homeObj.filter) { + resp.filters = homeObj.filter; + } + console.log(JSON.stringify(resp)); + return JSON.stringify(resp); + +} + +/** + * 推荐和搜索单字段继承一级 + * @param p 推荐或搜索的解析分割;列表 + * @param pn 自身列表序号 + * @param pp 一级解析分割;列表 + * @param ppn 继承一级序号 + * @returns {*} + */ +function getPP(p, pn, pp, ppn) { + try { + let ps = p[pn] === '*' && pp.length > ppn ? pp[ppn] : p[pn] + return ps + } catch (e) { + return '' + } +} + +/** + * 首页推荐列表解析 + * @param homeVodObj + * @returns {string} + */ +function homeVodParse(homeVodObj) { + fetch_params = JSON.parse(JSON.stringify(rule_fetch_params)); + let d = []; + MY_URL = homeVodObj.homeUrl; + // setItem('MY_URL',MY_URL); + console.log(MY_URL); + let t1 = (new Date()).getTime(); + let p = homeVodObj.推荐; + print('p:' + p); + if (p === '*' && rule.一级) { + p = rule.一级; + homeVodObj.double = false; + } + if (!p || typeof(p) !== 'string') { + return '{}' + } + p = p.trim(); + let pp = rule.一级 ? rule.一级.split(';') : []; + if (p.startsWith('js:')) { + const TYPE = 'home'; + var input = MY_URL; + HOST = rule.host; + eval(p.replace('js:', '')); + d = VODS; + } else { + p = p.split(';'); + if (!homeVodObj.double && p.length < 5) { + return '{}' + } else if (homeVodObj.double && p.length < 6) { + return '{}' + } + let p0 = getPP(p, 0, pp, 0) + let _ps = parseTags.getParse(p0); + _pdfa = _ps.pdfa; + _pdfh = _ps.pdfh; + _pd = _ps.pd; + let is_json = p0.startsWith('json:'); + p0 = p0.replace(/^(jsp:|json:|jq:)/, ''); + // print(p[0]); + let html = homeHtmlCache || getHtml(MY_URL); + homeHtmlCache = undefined; + if (is_json) { + // print('是json,开始处理'); + html = dealJson(html); + } + try { + console.log('double:' + homeVodObj.double); + if (homeVodObj.double) { + let items = _pdfa(html, p0); + // console.log(items.length); + 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 (let item of items) { + // console.log(p[1]); + let items2 = _pdfa(item, p1); + // console.log(items2.length); + for (let item2 of items2) { + try { + let title = _pdfh(item2, p2); + let img = ''; + try { + img = _pd(item2, p3); + } catch (e) {} + let desc = ''; + try { + desc = _pdfh(item2, p4); + } catch (e) {} + let links = []; + for (let _p5 of p5.split('+')) { + let link = !homeVodObj.detailUrl ? _pd(item2, _p5, MY_URL) : _pdfh(item2, _p5); + links.push(link); + } + let content; + if (p.length > 6 && p[6]) { + content = _pdfh(item2, p6); + } else { + content = ''; + } + let vid = links.join('$'); + if (rule.二级 === '*') { + vid = vid + '@@' + title + '@@' + img; + } + let vod = { + vod_name: title, + vod_pic: img, + vod_remarks: desc, + vod_content: content, + vod_id: vid + }; + // print(vod); + d.push(vod); + } catch (e) { + console.log(`首页列表双层定位处理发生错误:${e.message}`); + } + + } + + + } + + + } else { + let items = _pdfa(html, p0); + let p1 = getPP(p, 1, pp, 1); + let p2 = getPP(p, 2, pp, 2); + let p3 = getPP(p, 3, pp, 3); + let p4 = getPP(p, 4, pp, 4); + let p5 = getPP(p, 5, pp, 5); + + for (let item of items) { + try { + let title = _pdfh(item, p1); + let img = ''; + try { + img = _pd(item, p2, MY_URL); + } catch (e) {} + let desc = ''; + try { + desc = _pdfh(item, p3); + } catch (e) {} + let links = []; + for (let _p5 of p4.split('+')) { + let link = !homeVodObj.detailUrl ? _pd(item, _p5, MY_URL) : _pdfh(item, _p5); + links.push(link); + } + let content; + if (p.length > 5 && p[5]) { + content = _pdfh(item, p5); + } else { + content = '' + } + let vid = links.join('$'); + if (rule.二级 === '*') { + vid = vid + '@@' + title + '@@' + img; + } + let vod = { + vod_name: title, + vod_pic: img, + vod_remarks: desc, + vod_content: content, + vod_id: vid + }; + d.push(vod); + + } catch (e) { + console.log(`首页列表单层定位处理发生错误:${e.message}`); + } + + } + + } + + } catch (e) { + + } + } + let t2 = (new Date()).getTime(); + console.log('加载首页推荐耗时:' + (t2 - t1) + '毫秒'); + // console.log(JSON.stringify(d)); + if (rule.图片替换) { + if (rule.图片替换.startsWith('js:')) { + d.forEach(it => { + try { + var input = it.vod_pic; + eval(rule.图片替换.trim().replace('js:', '')); + it.vod_pic = input; + } catch (e) { + log(`图片:${it.vod_pic}替换错误:${e.message}`); + } + }); + } else if (rule.图片替换.includes('=>')) { + let replace_from = rule.图片替换.split('=>')[0]; + let replace_to = rule.图片替换.split('=>')[1]; + d.forEach(it => { + if (it.vod_pic && it.vod_pic.startsWith('http')) { + it.vod_pic = it.vod_pic.replace(replace_from, replace_to); + } + }); + } + } + if (rule.图片来源) { + d.forEach(it => { + if (it.vod_pic && it.vod_pic.startsWith('http')) { + it.vod_pic = it.vod_pic + rule.图片来源; + } + }); + } + if (d.length > 0) { + print(d.slice(0, 2)); + } + return JSON.stringify({ + list: d + }) +} + +/** + * 一级分类页数据解析 + * @param cateObj + * @returns {string} + */ +function categoryParse(cateObj) { + fetch_params = JSON.parse(JSON.stringify(rule_fetch_params)); + let p = cateObj.一级; + if (!p || typeof(p) !== 'string') { + return '{}' + } + let d = []; + // let url = cateObj.url.replaceAll('fyclass', cateObj.tid).replaceAll('fypage', cateObj.pg); + let url = cateObj.url.replaceAll('fyclass', cateObj.tid); + if (cateObj.pg === 1 && url.includes('[') && url.includes(']')) { + url = url.split('[')[1].split(']')[0]; + } else if (cateObj.pg > 1 && url.includes('[') && url.includes(']')) { + url = url.split('[')[0]; + } + 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); + } + // filter_url支持fyclass + url = url.replaceAll('fyclass', cateObj.tid); + // console.log('filter:'+cateObj.filter); + let fl = cateObj.filter ? cateObj.extend : {}; + // 自动合并 不同分类对应的默认筛选 + if (rule.filter_def && typeof(rule.filter_def) === 'object') { + try { + if (Object.keys(rule.filter_def).length > 0 && rule.filter_def.hasOwnProperty(cateObj.tid)) { + let self_fl_def = rule.filter_def[cateObj.tid]; + if (self_fl_def && typeof(self_fl_def) === 'object') { + // 引用传递转值传递,避免污染self变量 + let fl_def = JSON.parse(JSON.stringify(self_fl_def)); + fl = Object.assign(fl_def, fl); + } + } + } catch (e) { + print(`合并不同分类对应的默认筛选出错:${e.message}`); + } + } + let new_url; + new_url = cheerio.jinja2(url, { + fl: fl, + fyclass: cateObj.tid + }); + // console.log('jinjia2执行后的new_url类型为:'+typeof(new_url)); + url = new_url; + } + if (/fypage/.test(url)) { + if (url.includes('(') && url.includes(')')) { + let url_rep = url.match(/.*?\((.*)\)/)[1]; + // console.log(url_rep); + let cnt_page = url_rep.replaceAll('fypage', cateObj.pg); + // console.log(cnt_page); + let cnt_pg = eval(cnt_page); + // console.log(cnt_pg); + url = url.replaceAll(url_rep, cnt_pg).replaceAll('(', '').replaceAll(')', ''); + } else { + url = url.replaceAll('fypage', cateObj.pg); + } + } + + MY_URL = url; + // setItem('MY_URL',MY_URL); + console.log(MY_URL); + p = p.trim(); + const MY_CATE = cateObj.tid; + if (p.startsWith('js:')) { + var MY_FL = cateObj.extend; + const TYPE = 'cate'; + var input = MY_URL; + const MY_PAGE = cateObj.pg; + var desc = ''; + eval(p.trim().replace('js:', '')); + d = VODS; + } else { + p = p.split(';'); + if (p.length < 5) { + return '{}' + } + let _ps = parseTags.getParse(p[0]); + _pdfa = _ps.pdfa; + _pdfh = _ps.pdfh; + _pd = _ps.pd; + let is_json = p[0].startsWith('json:'); + p[0] = p[0].replace(/^(jsp:|json:|jq:)/, ''); + try { + let html = getHtml(MY_URL); + if (html) { + if (is_json) { + html = dealJson(html); + } + let list = _pdfa(html, p[0]); + list.forEach(it => { + let links = p[4].split('+').map(p4 => { + return !rule.detailUrl ? _pd(it, p4, MY_URL) : _pdfh(it, p4); + }); + let link = links.join('$'); + let vod_id = rule.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); + + if (rule.二级 === '*') { + vod_id = vod_id + '@@' + vod_name + '@@' + vod_pic; + } + d.push({ + 'vod_id': vod_id, + 'vod_name': vod_name, + 'vod_pic': vod_pic, + 'vod_remarks': _pdfh(it, p[3]).replace(/\n|\t/g, '').trim(), + }); + }); + } + } catch (e) { + console.log(e.message); + } + } + if (rule.图片替换) { + if (rule.图片替换.startsWith('js:')) { + d.forEach(it => { + try { + var input = it.vod_pic; + eval(rule.图片替换.trim().replace('js:', '')); + it.vod_pic = input; + } catch (e) { + log(`图片:${it.vod_pic}替换错误:${e.message}`); + } + }); + } else if (rule.图片替换.includes('=>')) { + let replace_from = rule.图片替换.split('=>')[0]; + let replace_to = rule.图片替换.split('=>')[1]; + d.forEach(it => { + if (it.vod_pic && it.vod_pic.startsWith('http')) { + it.vod_pic = it.vod_pic.replace(replace_from, replace_to); + } + }); + } + } + if (rule.图片来源) { + d.forEach(it => { + if (it.vod_pic && it.vod_pic.startsWith('http')) { + it.vod_pic = it.vod_pic + rule.图片来源; + } + }); + } + // print(d); + if (d.length > 0) { + print(d.slice(0, 2)); + } + let pagecount = 0; + if (rule.pagecount && typeof(rule.pagecount) === 'object' && rule.pagecount.hasOwnProperty(MY_CATE)) { + print(`MY_CATE:${MY_CATE},pagecount:${JSON.stringify(rule.pagecount)}`); + pagecount = parseInt(rule.pagecount[MY_CATE]); + } + let 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 + }; + let vod = d.length < 1 ? JSON.stringify(nodata) : JSON.stringify({ + 'page': parseInt(cateObj.pg), + 'pagecount': pagecount || 999, + 'limit': 20, + 'total': 999, + 'list': d, + }); + // print(vod); + return vod +} + +/** + * 搜索列表数据解析 + * @param searchObj + * @returns {string} + */ +function searchParse(searchObj) { + fetch_params = JSON.parse(JSON.stringify(rule_fetch_params)); + let d = []; + if (!searchObj.searchUrl) { + return '{}' + } + if (rule.searchNoPage && Number(searchObj.pg) > 1) { + // 关闭搜索分页 + return '{}' + } + let p = searchObj.搜索 === '*' && rule.一级 ? rule.一级 : searchObj.搜索; + if (!p || typeof(p) !== 'string') { + return '{}' + } + p = p.trim(); + let pp = rule.一级 ? rule.一级.split(';') : []; + let url = searchObj.searchUrl.replaceAll('**', searchObj.wd); + if (searchObj.pg === 1 && url.includes('[') && url.includes(']') && !url.includes('#')) { + url = url.split('[')[1].split(']')[0]; + } else if (searchObj.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]; + // console.log(url_rep); + let cnt_page = url_rep.replaceAll('fypage', searchObj.pg); + // console.log(cnt_page); + let cnt_pg = eval(cnt_page); + // console.log(cnt_pg); + url = url.replaceAll(url_rep, cnt_pg).replaceAll('(', '').replaceAll(')', ''); + } else { + url = url.replaceAll('fypage', searchObj.pg); + } + } + + MY_URL = url; + console.log(MY_URL); + // log(searchObj.搜索); + // setItem('MY_URL',MY_URL); + if (p.startsWith('js:')) { + const TYPE = 'search'; + const MY_PAGE = searchObj.pg; + const KEY = searchObj.wd; + var input = MY_URL; + var detailUrl = rule.detailUrl || ''; + eval(p.trim().replace('js:', '')); + d = VODS; + } else { + p = p.split(';'); + if (p.length < 5) { + return '{}' + } + let p0 = getPP(p, 0, pp, 0); + let _ps = parseTags.getParse(p0); + _pdfa = _ps.pdfa; + _pdfh = _ps.pdfh; + _pd = _ps.pd; + let is_json = p0.startsWith('json:'); + p0 = p0.replace(/^(jsp:|json:|jq:)/, ''); + // print('1381 p0:'+p0); + try { + 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] : ''; + print(`post=》rurl:${rurl},params:${params}`); + // let new_dict = {}; + // let new_tmp = params.split('&'); + // new_tmp.forEach(i=>{ + // new_dict[i.split('=')[0]] = i.split('=')[1]; + // }); + // html = post(rurl,{body:new_dict}); + let _fetch_params = JSON.parse(JSON.stringify(rule_fetch_params)); + let postData = { + body: params + }; + Object.assign(_fetch_params, postData); + html = 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] : ''; + print(`postjson-》rurl:${rurl},params:${params}`); + try { + params = JSON.parse(params); + } catch (e) { + params = '{}' + } + let _fetch_params = JSON.parse(JSON.stringify(rule_fetch_params)); + let postData = { + body: params + }; + Object.assign(_fetch_params, postData); + html = post(rurl, _fetch_params); + } else { + html = getHtml(MY_URL); + } + if (html) { + // 解决搜索源码奇葩触发自动过验证逻辑 + let search_tag = rule.搜索验证标识 || '系统安全验证|输入验证码'; + if (new RegExp(search_tag).test(html)) { + let cookie = verifyCode(MY_URL); + if (cookie) { + console.log(`本次成功过验证,cookie:${cookie}`); + setItem(RULE_CK, cookie); + } else { + console.log(`本次自动过搜索验证失败,cookie:${cookie}`); + } + // obj.headers['Cookie'] = cookie; + html = getHtml(MY_URL); + } + if (!html.includes(searchObj.wd)) { + console.log('搜索结果源码未包含关键字,疑似搜索失败,正为您打印结果源码'); + console.log(html); + } + if (is_json) { + // console.log(html); + html = dealJson(html); + // console.log(JSON.stringify(html)); + } + // console.log(html); + let list = _pdfa(html, p0); + // print(list.length); + // print(list); + let p1 = getPP(p, 1, pp, 1); + let p2 = getPP(p, 2, pp, 2); + let p3 = getPP(p, 3, pp, 3); + let p4 = getPP(p, 4, pp, 4); + let p5 = getPP(p, 5, pp, 5); + list.forEach(it => { + let links = p4.split('+').map(_p4 => { + return !rule.detailUrl ? _pd(it, _p4, MY_URL) : _pdfh(it, _p4) + }); + let link = links.join('$'); + let content; + if (p.length > 5 && p[5]) { + content = _pdfh(it, p5); + } else { + content = ''; + } + let vod_id = link; + let vod_name = _pdfh(it, p1).replace(/\n|\t/g, '').trim(); + let vod_pic = _pd(it, p2, MY_URL); + if (rule.二级 === '*') { + vod_id = vod_id + '@@' + vod_name + '@@' + vod_pic; + } + let ob = { + 'vod_id': vod_id, + 'vod_name': vod_name, + 'vod_pic': vod_pic, + 'vod_remarks': _pdfh(it, p3).replace(/\n|\t/g, '').trim(), + 'vod_content': content.replace(/\n|\t/g, '').trim(), + }; + d.push(ob); + }); + + } + } catch (e) { + print(`搜索发生错误:${e.message}`); + return '{}' + } + } + if (rule.图片替换) { + if (rule.图片替换.startsWith('js:')) { + d.forEach(it => { + try { + var input = it.vod_pic; + eval(rule.图片替换.trim().replace('js:', '')); + it.vod_pic = input; + } catch (e) { + log(`图片:${it.vod_pic}替换错误:${e.message}`); + } + }); + } else if (rule.图片替换.includes('=>')) { + let replace_from = rule.图片替换.split('=>')[0]; + let replace_to = rule.图片替换.split('=>')[1]; + d.forEach(it => { + if (it.vod_pic && it.vod_pic.startsWith('http')) { + it.vod_pic = it.vod_pic.replace(replace_from, replace_to); + } + }); + } + } + if (rule.图片来源) { + d.forEach(it => { + if (it.vod_pic && it.vod_pic.startsWith('http')) { + it.vod_pic = it.vod_pic + rule.图片来源; + } + }); + } + // print(d); + return JSON.stringify({ + 'page': parseInt(searchObj.pg), + 'pagecount': 10, + 'limit': 20, + 'total': 100, + 'list': d, + }); +} + +/** + * 二级详情页数据解析 + * @param detailObj + * @returns {string} + */ +function detailParse(detailObj) { + let t1 = (new Date()).getTime(); + fetch_params = JSON.parse(JSON.stringify(rule_fetch_params)); + let orId = detailObj.orId; + let vod_name = '片名'; + let vod_pic = ''; + let vod_id = orId; + if (rule.二级 === '*') { + // vod_id = orId.split('@@')[0]; // 千万不能分割 + let extra = orId.split('@@'); + vod_name = extra.length > 1 ? extra[1] : vod_name; + vod_pic = extra.length > 2 ? extra[2] : vod_pic; + } + // print(vod_pic); + let vod = { + vod_id: vod_id, //"id", + vod_name: vod_name, + vod_pic: vod_pic, + type_name: "类型", + vod_year: "年份", + vod_area: "地区", + vod_remarks: "更新信息", + vod_actor: "主演", + vod_director: "导演", + vod_content: "简介" + }; + let p = detailObj.二级; + let url = detailObj.url; + let detailUrl = detailObj.detailUrl; + let fyclass = detailObj.fyclass; + let tab_exclude = detailObj.tab_exclude; + let html = detailObj.html || ''; + MY_URL = url; + if (detailObj.二级访问前) { + try { + print(`尝试在二级访问前执行代码:${detailObj.二级访问前}`); + eval(detailObj.二级访问前.trim().replace('js:', '')); + } catch (e) { + print(`二级访问前执行代码出现错误:${e.message}`) + } + } + // console.log(MY_URL); + // setItem('MY_URL',MY_URL); + if (p === '*') { + vod.vod_play_from = '道长在线'; + vod.vod_remarks = detailUrl; + vod.vod_actor = '没有二级,只有一级链接直接嗅探播放'; + vod.vod_content = MY_URL; + vod.vod_play_url = '嗅探播放$' + MY_URL.split('@@')[0]; + } else if (typeof(p) === 'string' && p.trim().startsWith('js:')) { + const TYPE = 'detail'; + var input = MY_URL; + var play_url = ''; + eval(p.trim().replace('js:', '')); + vod = VOD; + console.log(JSON.stringify(vod)); + } else if (p && typeof(p) === 'object') { + let tt1 = (new Date()).getTime(); + if (!html) { + html = getHtml(MY_URL); + } + print(`二级${MY_URL}仅获取源码耗时:${(new Date()).getTime() - tt1}毫秒`); + let _ps; + if (p.is_json) { + print('二级是json'); + _ps = parseTags.json; + html = dealJson(html); + } else if (p.is_jsp) { + print('二级是jsp'); + _ps = parseTags.jsp; + } else if (p.is_jq) { + print('二级是jq'); + _ps = parseTags.jq; + } else { + print('二级默认jq'); + _ps = parseTags.jq; + // print('二级默认jsp'); + // _ps = parseTags.jsp; + } + let tt2 = (new Date()).getTime(); + print(`二级${MY_URL}获取并装载源码耗时:${tt2 - tt1}毫秒`); + _pdfa = _ps.pdfa; + _pdfh = _ps.pdfh; + _pd = _ps.pd; + if (p.title) { + let p1 = p.title.split(';'); + vod.vod_name = _pdfh(html, p1[0]).replace(/\n|\t/g, '').trim(); + let type_name = p1.length > 1 ? _pdfh(html, p1[1]).replace(/\n|\t/g, '').replace(/ /g, '').trim() : ''; + vod.type_name = type_name || vod.type_name; + } + if (p.desc) { + try { + let p1 = p.desc.split(';'); + vod.vod_remarks = _pdfh(html, p1[0]).replace(/\n|\t/g, '').trim(); + vod.vod_year = p1.length > 1 ? _pdfh(html, p1[1]).replace(/\n|\t/g, '').trim() : ''; + vod.vod_area = p1.length > 2 ? _pdfh(html, p1[2]).replace(/\n|\t/g, '').trim() : ''; + // vod.vod_actor = p1.length > 3 ? _pdfh(html, p1[3]).replaceAll('\n', ' ').trim():''; + vod.vod_actor = p1.length > 3 ? _pdfh(html, p1[3]).replace(/\n|\t/g, '').trim() : ''; + vod.vod_director = p1.length > 4 ? _pdfh(html, p1[4]).replace(/\n|\t/g, '').trim() : ''; + } catch (e) { + + } + } + if (p.content) { + try { + let p1 = p.content.split(';'); + vod.vod_content = _pdfh(html, p1[0]).replace(/\n|\t/g, '').trim(); + } catch (e) {} + } + if (p.img) { + try { + let p1 = p.img.split(';'); + vod.vod_pic = _pd(html, p1[0], MY_URL); + } catch (e) {} + } + + let vod_play_from = '$$$'; + let playFrom = []; + if (p.重定向 && p.重定向.startsWith('js:')) { + print('开始执行重定向代码:' + p.重定向); + html = eval(p.重定向.replace('js:', '')); + } + + // console.log(2); + if (p.tabs) { + if (p.tabs.startsWith('js:')) { + print('开始执行tabs代码:' + p.tabs); + var input = MY_URL; + eval(p.tabs.replace('js:', '')); + playFrom = TABS; + } else { + let p_tab = p.tabs.split(';')[0]; + // console.log(p_tab); + let vHeader = _pdfa(html, p_tab); + console.log(vHeader.length); + let tab_text = p.tab_text || 'body&&Text'; + // print('tab_text:'+tab_text); + let new_map = {}; + for (let v of vHeader) { + let v_title = _pdfh(v, tab_text).trim(); + if (!v_title) { + v_title = '线路空' + } + console.log(v_title); + if (tab_exclude && (new RegExp(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); + } + } + console.log(JSON.stringify(playFrom)); + } else { + playFrom = ['道长在线'] + } + vod.vod_play_from = playFrom.join(vod_play_from); + + // console.log(3); + let vod_play_url = '$$$'; + let vod_tab_list = []; + if (p.lists) { + if (p.lists.startsWith('js:')) { + print('开始执行lists代码:' + p.lists); + try { + var input = MY_URL; + var play_url = ''; + eval(p.lists.replace('js:', '')); + for (let i in LISTS) { + if (LISTS.hasOwnProperty(i)) { + // print(i); + try { + LISTS[i] = LISTS[i].map(it => it.split('$').slice(0, 2).join('$')); + } catch (e) { + print(`格式化LISTS发生错误:${e.message}`); + } + } + } + vod_play_url = LISTS.map(it => it.join('#')).join(vod_play_url); + } catch (e) { + print(`js执行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 || ''; + // print('list_text:'+list_text); + // print('list_url:'+list_url); + // print('list_parse:'+p.lists); + let is_tab_js = p.tabs.trim().startsWith('js:'); + for (let i = 0; i < playFrom.length; i++) { + let tab_name = playFrom[i]; + let tab_ext = p.tabs.split(';').length > 1 && !is_tab_js ? p.tabs.split(';')[1] : ''; + let p1 = p.lists.replaceAll('#idv', tab_name).replaceAll('#id', i); + tab_ext = tab_ext.replaceAll('#idv', tab_name).replaceAll('#id', i); + let tabName = tab_ext ? _pdfh(html, tab_ext) : tab_name; + console.log(tabName); + // print('tab_ext:'+tab_ext); + let new_vod_list = []; + let tt1 = (new Date()).getTime(); + // print('pdfl:'+typeof (pdfl)); + if (typeof(pdfl) === 'function') { + new_vod_list = pdfl(html, p1, list_text, list_url, 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); + console.log('len(vodList):' + vodList.length); + } catch (e) { + // console.log(e.message); + } + for (let i = 0; i < vodList.length; i++) { + let it = vodList[i]; + new_vod_list.push(_pdfh(it, list_text).trim() + '$' + list_url_prefix + _pd(it, list_url, MY_URL)); + } + } + if (new_vod_list.length > 0) { + new_vod_list = forceOrder(new_vod_list, '', x => x.split('$')[0]); + console.log(`drpy影响性能代码共计列表数循环次数:${new_vod_list.length},耗时:${(new Date()).getTime() - tt1}毫秒`); + } + // print(new_vod_list); + 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; + } + if (rule.图片替换 && rule.图片替换.includes('=>')) { + let replace_from = rule.图片替换.split('=>')[0]; + let replace_to = rule.图片替换.split('=>')[1]; + vod.vod_pic = vod.vod_pic.replace(replace_from, replace_to); + } + if (rule.图片来源 && vod.vod_pic && vod.vod_pic.startsWith('http')) { + vod.vod_pic = vod.vod_pic + rule.图片来源; + } + if (!vod.vod_id || (vod_id.includes('$') && vod.vod_id !== vod_id)) { + vod.vod_id = vod_id; + } + let t2 = (new Date()).getTime(); + console.log(`加载二级界面${MY_URL}耗时:${t2 - t1}毫秒`); + // print(vod); + try { + vod = vodDeal(vod); + } catch (e) { + console.log(`vodDeal发生错误:${e.message}`); + } + // print(vod); + return JSON.stringify({ + list: [vod] + }) +} + +/** + * 获取二级待返回的播放线路没处理时的索引关系 + * @param vod + * @returns {{}} + */ +function get_tab_index(vod) { + let obj = {}; + vod.vod_play_from.split('$$$').forEach((it, index) => { + obj[it] = index; + }); + return obj +} + +/** + * 处理待返回的vod数据|线路去除,排序,重命名 + * @param vod + * @returns {*} + */ +function vodDeal(vod) { + let vod_play_from = vod.vod_play_from.split('$$$'); + let vod_play_url = vod.vod_play_url.split('$$$'); + + // 移除指定线路后的列表 + let tab_removed_list = vod_play_from; + // 排序后的线路列表 + let tab_ordered_list = vod_play_from; + // 线路重命名后的列表 + let tab_renamed_list = vod_play_from; + // 定义实际要返回线路 + let tab_list = vod_play_from; + // 选集列表根据线路排序 + let play_ordered_list = vod_play_url; + + // 判断有移除线路或者线路排序 + if ((rule.tab_remove && rule.tab_remove.length > 0) || (rule.tab_order && rule.tab_order.length > 0)) { + // 获取原来线路的索引下标 + let tab_index_dict = get_tab_index(vod); + + if (rule.tab_remove && rule.tab_remove.length > 0) { + tab_removed_list = vod_play_from.filter(it => !rule.tab_remove.includes(it)); + tab_list = tab_removed_list; + } + + if (rule.tab_order && rule.tab_order.length > 0) { + let tab_order = rule.tab_order; + tab_ordered_list = tab_removed_list.sort((a, b) => { + return (tab_order.indexOf(a) === -1 ? 9999 : tab_order.indexOf(a)) - (tab_order.indexOf(b) === -1 ? 9999 : tab_order.indexOf(b)) + }); + tab_list = tab_ordered_list; + } + play_ordered_list = tab_list.map(it => vod_play_url[tab_index_dict[it]]); + } + + if (rule.tab_rename && typeof(rule.tab_rename) === 'object' & Object.keys(rule.tab_rename).length > 0) { + tab_renamed_list = tab_list.map(it => rule.tab_rename[it] || it); + tab_list = tab_renamed_list; + } + vod.vod_play_from = tab_list.join('$$$'); + vod.vod_play_url = play_ordered_list.join('$$$'); + return vod +} + +/** + * 判断是否需要解析 + * @param url + * @returns {number|number} + */ +function tellIsJx(url) { + try { + let is_vip = !/\.(m3u8|mp4|m4a)$/.test(url.split('?')[0]) && 是否正版(url); + return is_vip ? 1 : 0 + } catch (e) { + return 1 + } +} + +/** + * 选集播放点击事件解析 + * @param playObj + * @returns {string} + */ +function playParse(playObj) { + fetch_params = JSON.parse(JSON.stringify(rule_fetch_params)); + MY_URL = playObj.url; + var MY_FLAG = playObj.flag; + if (!/http/.test(MY_URL)) { + try { + MY_URL = base64Decode(MY_URL); + } catch (e) {} + } + MY_URL = decodeURIComponent(MY_URL); + var input = MY_URL; //注入给免嗅js + var flag = MY_FLAG; //注入播放线路名称给免嗅js + let common_play = { + parse: SPECIAL_URL.test(input) || /^(push:)/.test(input) ? 0 : 1, + url: input, + flag: flag, + // url:urlencode(input), + jx: tellIsJx(input) + }; + let lazy_play; + if (!rule.play_parse || !rule.lazy) { + lazy_play = common_play; + } else if (rule.play_parse && rule.lazy && typeof(rule.lazy) === 'string') { + try { + let lazy_code = rule.lazy.trim(); + if (lazy_code.startsWith('js:')) { + lazy_code = lazy_code.replace('js:', '').trim(); + } + print('开始执行js免嗅=>' + lazy_code); + eval(lazy_code); + lazy_play = typeof(input) === 'object' ? input : { + parse: SPECIAL_URL.test(input) || /^(push:)/.test(input) ? 0 : 1, + jx: tellIsJx(input), + url: input + }; + } catch (e) { + print(`js免嗅错误:${e.message}`); + lazy_play = common_play; + } + } else { + lazy_play = common_play; + } + // print('play_json:'+typeof(rule.play_json)); + // console.log(Array.isArray(rule.play_json)); + if (Array.isArray(rule.play_json) && rule.play_json.length > 0) { // 数组情况判断长度大于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; + // print('开始合并:'); + // print(base_json); + lazy_play = Object.assign(lazy_play, base_json); + break; + } + } + } + } else if (rule.play_json && !Array.isArray(rule.play_json)) { // 其他情况 非[] 判断true/false + let base_json = { + jx: 1, + parse: 1, + }; + lazy_play = Object.assign(lazy_play, base_json); + } else if (!rule.play_json) { // 不解析传0 + let base_json = { + jx: 0, + parse: 1, + }; + lazy_play = Object.assign(lazy_play, base_json); + } + console.log(JSON.stringify(lazy_play)); + return JSON.stringify(lazy_play); +} + +/** + * 本地代理解析规则 + * @param params + */ +function proxyParse(proxyObj) { + var input = proxyObj.params; + if (proxyObj.proxy_rule) { + log('准备执行本地代理规则:\n' + proxyObj.proxy_rule); + try { + eval(proxyObj.proxy_rule); + if (input && input !== proxyObj.params && Array.isArray(input) && input.length >= 3) { + return input + } else { + return [404, 'text/plain', 'Not Found'] + } + } catch (e) { + return [500, 'text/plain', '代理规则错误:' + e.message] + } + + } else { + return [404, 'text/plain', 'Not Found'] + } +} + +/** + * 辅助嗅探解析规则 + * @param isVideoObj + * @returns {boolean} + */ +function isVideoParse(isVideoObj) { + var input = isVideoObj.url; + if (!isVideoObj.t) { // t为假代表默认传的正则字符串 + let re_matcher = new RegExp(isVideoObj.isVideo, 'i'); // /g匹配多个,/i不区分大小写,/m匹配多行 + return re_matcher.test(input); + } else { + // 执行js + try { + eval(isVideoObj.isVideo); + if (typeof(input) === 'boolean') { + return input + } else { + return false + } + } catch (e) { + log(`执行嗅探规则发生错误:${e.message}`); + return false + } + } +} + +/** + * 获取加密前的原始的js源文本 + * @param js_code + */ +function getOriginalJs(js_code) { + let current_match = /var rule|[\u4E00-\u9FA5]+|function|let |var |const |\(|\)|"|'/; + if (current_match.test(js_code)) { + return js_code + } + 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.enc.Hex.parse("686A64686E780A0A0A0A0A0A0A0A0A0A"); + let iv = CryptoJS.enc.Hex.parse("647A797964730A0A0A0A0A0A0A0A0A0A"); + let encrypted = CryptoJS.AES.decrypt({ + ciphertext: CryptoJS.enc.Base64.parse(data) + }, key, { + iv: iv, + mode: CryptoJS.mode.CBC, + padding: CryptoJS.pad.Pkcs7 + }).toString(CryptoJS.enc.Utf8); + return encrypted; + } + + let error_log = false; + + function logger(text) { + if (error_log) { + log(text); + } + } + + let decode_funcs = [ + (text) => { + try { + return ungzip(text) + } catch (e) { + logger('非gzip加密'); + return '' + } + }, + (text) => { + try { + return base64Decode(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 '' + } + }, + // (text)=>{try {return NODERSA.decryptRSAWithPrivateKey(text, RSA.getPrivateKey(rsa_private_key).replace(/RSA /g,''), {options: {environment: "browser", encryptionScheme: 'pkcs1',b:'1024'}});} catch (e) {log(e.message);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 +} + +/** + * 执行main函数 + * 示例 function main(text){return gzip(text)} + * @param main_func_code + * @param arg + */ +function runMain(main_func_code, arg) { + let mainFunc = function() { + return '' + }; + try { + eval(main_func_code + '\nmainFunc=main;'); + return mainFunc(arg); + } catch (e) { + log(`执行main_funct发生了错误:${e.message}`); + return '' + } +} + +/** + * js源预处理特定返回对象中的函数 + * @param ext + */ +function init(ext) { + console.log('init'); + // init前重置rule和fetch_params + rule = {}; + rule_fetch_params = {}; + fetch_params = null; + try { + // make shared jsContext happy muban不能import,不然会造成换源继承后变量被篡改 + // if (typeof (globalThis.mubanJs) === 'undefined') { + // let mubanJs = request('https://ghproxy.net/https://raw.githubusercontent.com/hjdhnx/dr_py/main/js/模板.js', { 'User-Agent': MOBILE_UA }); + // mubanJs = mubanJs.replace('export default', '(function() {return muban;}()) // export default'); + // // console.log(mubanJs); + // globalThis.mubanJs = mubanJs; + // } + // let muban = eval(globalThis.mubanJs); + + let muban = 模板.getMubans(); + // print(typeof (muban)); + // print(muban); + if (typeof ext == 'object') { + rule = ext; + } else if (typeof ext == 'string') { + let is_file = ext.startsWith('file://'); + if (ext.startsWith('http') || is_file) { + let query = getQuery(ext); // 获取链接传参 + if (is_file) { + ext = ext.split('?')[0]; + } + let js = request(ext, { + 'method': 'GET' + }); + if (js) { + js = getOriginalJs(js); + // eval(js.replace('var rule', 'rule')); + // eval("(function(){'use strict';"+js.replace('var rule', 'rule')+"})()"); + eval("(function(){" + js.replace('var rule', 'rule') + "})()"); + } + if (query.type === 'url' && query.params) { // 指定type是链接并且传了params支持简写如 ./xx.json + if (is_file && /^http/.test(query.params)) { + rule.params = query.params; + } else { + rule.params = urljoin(ext, query.params); + } + } else if (query.params) { // 没指定type直接视为字符串 + rule.params = query.params; + } + } else { + ext = getOriginalJs(ext); + // eval(ext.replace('var rule', 'rule')); + // eval("(function(){'use strict';"+ext.replace('var rule', 'rule')+"})()"); + eval("(function(){" + ext.replace('var rule', 'rule') + "})()"); + } + } else { + console.log(`规则加载失败,不支持的规则类型:${typeof ext}`); + return + } + rule.host = (rule.host || '').rstrip('/'); + HOST = rule.host; + if (rule.hostJs) { + console.log(`检测到hostJs,准备执行...`); + try { + eval(rule.hostJs); + rule.host = HOST.rstrip('/'); + } catch (e) { + console.log(`执行${rule.hostJs}获取host发生错误:${e.message}`); + } + } + if (rule['模板'] === '自动') { + try { + let host_headers = rule['headers'] || {}; + let host_html = getCode(HOST, { + headers: host_headers + }); + let match_muban = ''; + let muban_keys = Object.keys(muban).filter(it => !/默认|短视2|采集1/.test(it)); + for (let muban_key of muban_keys) { + try { + let host_data = JSON.parse(home({}, host_html, muban[muban_key].class_parse)); + if (host_data.class && host_data.class.length > 0) { + match_muban = muban_key; + console.log(`自动匹配模板:【${muban_key}】`); + break; + } + } catch (e) { + // @ts-ignore + console.log(`自动匹配模板:【${muban_key}】错误:${e.message}`); + } + } + if (match_muban) { + muban['自动'] = muban[match_muban]; + if (rule['模板修改'] && rule['模板修改'].startsWith('js:')) { + // 模板修改:$js.toString(()=>{ muban.自动.class_parse = ''}); + eval(rule['模板修改'].replace('js:', '').trim()); + } + } else { + delete rule['模板'] + } + } catch (e) { + delete rule['模板'] + } + } + if (rule.模板 && muban.hasOwnProperty(rule.模板)) { + print('继承模板:' + rule.模板); + rule = Object.assign(muban[rule.模板], rule); + } + /** 处理一下 rule规则关键字段没传递的情况 **/ + 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(rule.host, rule.homeUrl) : (rule.homeUrl || rule.host); + rule.homeUrl = cheerio.jinja2(rule.homeUrl, { + rule: rule + }); + rule.detailUrl = rule.host && rule.detailUrl ? urljoin(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(rule.host, u1) + '[' + urljoin(rule.host, u2) + ']' : rule.url; + } else { + rule.url = rule.host && rule.url ? urljoin(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(rule.host, u1) + '[' + urljoin(rule.host, u2) + ']' : rule.searchUrl; + } else { + rule.searchUrl = rule.host && rule.searchUrl ? urljoin(rule.host, rule.searchUrl) : rule.searchUrl; + } + + rule.timeout = rule.timeout || 5000; + 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; + } + 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]; + console.log(v); + if (['MOBILE_UA', 'PC_UA', 'UC_UA', 'IOS_UA', 'UA'].includes(v)) { + rule.headers[k] = eval(v); + } + } else if (k.toLowerCase() === 'cookie') { + let v = rule.headers[k]; + if (v && v.startsWith('http')) { + console.log(v); + try { + v = fetch(v); + console.log(v); + rule.headers[k] = v; + } catch (e) { + console.log(`从${v}获取cookie发生错误:${e.message}`); + } + } + } + } + } catch (e) { + console.log(`处理headers发生错误:${e.message}`); + } + } else { + rule.headers = {} + } + oheaders = deepCopy(rule.headers); + rule_fetch_params = { + 'headers': rule.headers, + 'timeout': rule.timeout, + 'encoding': rule.encoding + }; + RKEY = typeof(key) !== 'undefined' && key ? key : 'drpy_' + (rule.title || rule.host); + pre(); // 预处理 + init_test(); + } catch (e) { + console.log(`init_test发生错误:${e.message}`); + } +} + +let homeHtmlCache = undefined; + +/** + * js源获取首页分类和筛选特定返回对象中的函数 + * @param filter 筛选条件字典对象 + * @param home_html 指定了源码。无需内部再请求 + * @param class_parse 自动匹配传入的模板的动态分类 + * @returns {string} + */ +function home(filter, home_html, class_parse) { + console.log("home"); + home_html = home_html || ''; + class_parse = class_parse || ''; + if (typeof(rule.filter) === 'string' && rule.filter.trim().length > 0) { + try { + let filter_json = ungzip(rule.filter.trim()); + rule.filter = JSON.parse(filter_json); + } catch (e) { + rule.filter = {}; + } + } + let homeObj = { + filter: rule.filter || false, + MY_URL: rule.homeUrl, + class_name: rule.class_name || '', + class_url: rule.class_url || '', + class_parse: class_parse || rule.class_parse || '', + cate_exclude: rule.cate_exclude, + home_html: home_html, + }; + return homeParse(homeObj); +} + +/** + * js源获取首页推荐数据列表特定返回对象中的函数 + * @param params + * @returns {string} + */ +function homeVod(params) { + console.log("homeVod"); + let homeVodObj = { + 推荐: rule.推荐, + double: rule.double, + homeUrl: rule.homeUrl, + detailUrl: rule.detailUrl + }; + return homeVodParse(homeVodObj) + // return "{}"; +} + +/** + * js源获取分类页一级数据列表特定返回对象中的函数 + * @param tid 分类id + * @param pg 页数 + * @param filter 当前选中的筛选条件 + * @param extend 扩展 + * @returns {string} + */ +function category(tid, pg, filter, extend) { + let cateObj = { + url: rule.url, + 一级: rule.一级, + tid: tid, + pg: parseInt(pg), + filter: filter, + extend: extend + }; + // console.log(JSON.stringify(extend)); + return categoryParse(cateObj) +} + +/** + * js源获取二级详情页数据特定返回对象中的函数 + * @param vod_url 一级列表中的vod_id或者是带分类的自拼接 vod_id 如 fyclass$vod_id + * @returns {string} + */ +function detail(vod_url) { + let orId = vod_url; + let fyclass = ''; + log('orId:' + orId); + if (vod_url.indexOf('$') > -1) { + let tmp = vod_url.split('$'); + fyclass = tmp[0]; + vod_url = tmp[1]; + } + let detailUrl = vod_url.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(rule.homeUrl, detailUrl); + } else { + url = detailUrl + } + let detailObj = { + orId: orId, + url: url, + 二级: rule.二级, + 二级访问前: rule.二级访问前, + detailUrl: detailUrl, + fyclass: fyclass, + tab_exclude: rule.tab_exclude, + } + return detailParse(detailObj) +} + +/** + * js源选集按钮播放点击事件特定返回对象中的函数 + * @param flag 线路名 + * @param id 播放按钮的链接 + * @param flags 全局配置的flags是否需要解析的标识列表 + * @returns {string} + */ +function play(flag, id, flags) { + let playObj = { + url: id, + flag: flag, + flags: flags + } + return playParse(playObj); +} + +/** + * js源搜索返回的数据列表特定返回对象中的函数 + * @param wd 搜索关键字 + * @param quick 是否来自快速搜索 + * @returns {string} + */ +function search(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); + } + let searchObj = { + searchUrl: rule.searchUrl, + 搜索: rule.搜索, + wd: wd, + //pg: pg, + pg: pg || 1, + quick: quick, + }; + // console.log(JSON.stringify(searchObj)); + return searchParse(searchObj) +} + +/** + * js源本地代理返回的数据列表特定返回对象中的函数 + * @param params 代理链接参数比如 /proxy?do=js&url=https://wwww.baidu.com => params就是 {do:'js','url':'https://wwww.baidu.com'} + * @returns {*} + */ +function proxy(params) { + if (rule.proxy_rule && rule.proxy_rule.trim()) { + rule.proxy_rule = rule.proxy_rule.trim(); + } + if (rule.proxy_rule.startsWith('js:')) { + rule.proxy_rule = rule.proxy_rule.replace('js:', ''); + } + let proxyObj = { + params: params, + proxy_rule: rule.proxy_rule + }; + return proxyParse(proxyObj) +} + + +/** + * 是否启用辅助嗅探功能,启用后可以根据isVideo函数进行手动识别为视频的链接地址。默认为false + * @returns {*|boolean|boolean} + */ +function sniffer() { + let enable_sniffer = rule.sniffer || false; + if (enable_sniffer) { + // log('准备执行辅助嗅探代理规则:\n'+rule.isVideo); + log('开始执行辅助嗅探代理规则...'); + } + return enable_sniffer +} + +/** + * 启用辅助嗅探功能后根据次函数返回的值识别地址是否为视频,返回true/false + * @param url + */ +function isVideo(url) { + let t = 0; + let is_video; + if (rule.isVideo && rule.isVideo.trim()) { + is_video = rule.isVideo.trim(); + } + if (is_video.startsWith('js:')) { + is_video = is_video.replace('js:', ''); + t = 1; + } + let isVideoObj = { + url: url, + isVideo: is_video, + t: t, + }; + let result = isVideoParse(isVideoObj); + if (result) { + log('成功执行辅助嗅探规则并检测到视频地址:\n' + rule.isVideo); + } + return result +} + +/** + * 获取规则 + * @returns {{}} + */ +function getRule(key) { + return key ? rule[key] || '' : rule +} + +/** + * 深拷贝一个对象 + * @param _obj + * @returns {any} + */ +function deepCopy(_obj) { + return JSON.parse(JSON.stringify(_obj)) +} + +//正则matchAll +function matchesAll(str, pattern, flatten) { + if (!pattern.global) { + pattern = new RegExp(pattern.source, "g" + (pattern.ignoreCase ? "i" : "") + (pattern.multiline ? "m" : "")); + } + var matches = []; + var match; + while ((match = pattern.exec(str)) !== null) { + matches.push(match); + } + return flatten ? matches.flat() : matches; +} + +//文本扩展 +function stringUtils() { + Object.defineProperties(String.prototype, { + replaceX: { + value: function(regex, replacement) { + let matches = matchesAll(this, regex, true); + if (matches && matches.length > 1) { + const hasCaptureGroup = /\$\d/.test(replacement); + if (hasCaptureGroup) { + return this.replace(regex, (m) => m.replace(regex, replacement)); + } else { + return this.replace(regex, (m, p1) => m.replace(p1, replacement)); + } + } + return this.replace(regex, replacement); + }, + configurable: true, + enumerable: false, + writable: true + }, + parseX: { + get: function() { + try { + //console.log(typeof this); + return JSON.parse(this); + } catch (e) { + console.log(e.message); + return this.startsWith("[") ? [] : {}; + } + }, + configurable: true, + enumerable: false, + } + }); +} + +//正则裁切 +function cut(text, start, end, method, All) { + let result = ""; + let c = (t, s, e) => { + let result = ""; + let rs = []; + let results = []; + try { + let lr = new RegExp(String.raw`${s}`.toString()); + let rr = new RegExp(String.raw`${e}`.toString()); + const segments = t.split(lr); + if (segments.length < 2) return ''; + let cutSegments = segments.slice(1).map(segment => { + let splitSegment = segment.split(rr); + //log(splitSegment) + return splitSegment.length < 2 ? undefined : splitSegment[0] + e; + }).filter(f => f); + //log(cutSegments.at(-1)) + if (All) { + return `[${cutSegments.join(',')}]`; + } else { + return cutSegments[0]; + } + } catch (e) { + console.log(`Error cutting text:${e.message}`); + } + return result; + } + result = c(text, start, end); + stringUtils(); + if (method && typeof method === "function") { + result = method(result); + } + //console.log(result); + return result +} + +function DRPY() { //导出函数 + return { + runMain: runMain, + getRule: getRule, + init: init, + home: home, + homeVod: homeVod, + category: category, + detail: detail, + play: play, + search: search, + proxy: proxy, + sniffer: sniffer, + isVideo: isVideo, + fixAdM3u8Ai: fixAdM3u8Ai, + } +} + +/** + * 导出函数无法简写成下面的形式: + + export default { + ...DRPY, + DRPY + } + + */ + +// 导出函数对象 +export default { + runMain, + getRule, + init, + home, + homeVod, + category, + detail, + play, + search, + proxy, + sniffer, + isVideo, + fixAdM3u8Ai, + DRPY, +} \ No newline at end of file diff --git a/xiaosa/js/drpy2.min.js b/xiaosa/js/drpy2.min.js new file mode 100644 index 00000000..464f33cd --- /dev/null +++ b/xiaosa/js/drpy2.min.js @@ -0,0 +1,3108 @@ +import cheerio from "assets://js/lib/cheerio.min.js"; +import "assets://js/lib/crypto-js.js"; +import "./jsencrypt.js"; +import "./node-rsa.js"; +import "./pako.min.js"; +import 模板 from "./模板.js"; +import { + gbkTool +} from "./gbk.js"; +import "./json5.js"; +import "./jinja.js"; +const _jinja2 = cheerio.jinja2; +cheerio.jinja2 = function(template, obj) { + try { + return jinja.render(template, obj) + } catch (e) { + console.log("新的jinja2库渲染失败,换回原始cheerio:" + e.message); + return _jinja2(template, obj) + } +}; +let vercode = typeof pdfl === "function" ? "drpy2.1" : "drpy2"; +const VERSION = vercode + " 3.9.51beta6 20241126"; +const UpdateInfo = [{ + date: "20241126", + title: "drpy更新,优化去广告算法", + version: "3.9.51beta6 20241126", + msg: ` + 1. 更新龙头大佬提供的去广告算法 + ` +}, { + date: "20241104", + title: "drpy更新,增加新特性", + version: "3.9.51beta5 20241104", + msg: ` + 1. rule增加 搜索验证标识 属性,可以不定义,默认为 '系统安全验证|请输入验证码' + 2. rule增加 searchNoPage 属性,可以不定义,如果定义 1 将关闭该源的搜索翻页功能,超过1页直接返回空 + ` +}]; + +function getUpdateInfo() { + return UpdateInfo.map(_o => { + _o.msg = _o.msg.trim().split("\n").map(_it => _it.trim()).join("\n"); + return _o + }) +} + +function init_test() { + console.log("init_test_start"); + console.log("当前版本号:" + VERSION); + console.log("本地代理地址:" + getProxyUrl()); + console.log(RKEY); + console.log(JSON.stringify(rule)); + console.log("init_test_end") +} + +function ocr_demo_test() { + let img_base64 = `iVBORw0KGgoAAAANSUhEUgAAAIAAAAAoBAMAAADEX+97AAAAG1BMVEXz+/4thQTa7N6QwIFFkyNeokKozqDB3b93sWHFR+MEAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABN0lEQVRIie2TQU+DQBCFt9vScvQpxR4xrcSjJCZ67JDGXsX+AdR4B3vpsSYm/m2HXaRLmuySepR3Gdidb/btDAjRq5dT96eCMlfBuzi1QLZUoZy2yz5sOvI+9iomaPEZ6nWnEtxqIyiM1RcAy44GNDhBXUjot/VVNweV1ah68FqWRyjKIOqAcyYF6rGcmpYnHzGt3fycNoMw0d3/THFu7hFSJ/8OXO6iTM8/KSg09obAzIHLO250LgQ0txOZSfgrV4Exdw98uGycJ0ErAeExZGhOmFHV9zHO6qVSj0MpLq7xZON56o++MjlsEgfVhbQWWME+xQX7J4V6zfi9A1Ly9rP1BvEXp+BbVJ/M77n+wfOIDVp51pZ4iBxvmj9AGrtvry6emwfKnVkW+ZRKd5ZNMvob36vXP9YPDmQki8QiCFAAAAAASUVORK5CYII=`; + OcrApi.api = OCR_API; + let code = OcrApi.classification(img_base64); + log("测试验证码图片的ocr识别结果为:" + code) +} + +function rsa_demo_test() { + let t1 = (new Date).getTime(); + let pkcs1_public = ` +-----BEGIN RSA PUBLIC KEY----- +MEgCQQCrI0pQ/ERRpJ3Ou190XJedFq846nDYP52rOtXyDxlFK5D3p6JJu2RwsKwy +lsQ9xY0xYPpRZUZKMEeR7e9gmRNLAgMBAAE= +-----END RSA PUBLIC KEY----- +`.trim(); + let pkcs1_public_pem = ` +MEgCQQCrI0pQ/ERRpJ3Ou190XJedFq846nDYP52rOtXyDxlFK5D3p6JJu2RwsKwy +lsQ9xY0xYPpRZUZKMEeR7e9gmRNLAgMBAAE= +`.trim(); + let pkcs8_public = ` +-----BEGIN PUBLIC KEY----- +MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKsjSlD8RFGknc67X3Rcl50WrzjqcNg/ +nas61fIPGUUrkPenokm7ZHCwrDKWxD3FjTFg+lFlRkowR5Ht72CZE0sCAwEAAQ== +-----END PUBLIC KEY-----`.trim(); + let pkcs8_public_pem = ` +MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKsjSlD8RFGknc67X3Rcl50WrzjqcNg/ +nas61fIPGUUrkPenokm7ZHCwrDKWxD3FjTFg+lFlRkowR5Ht72CZE0sCAwEAAQ== +`.trim(); + let pkcs1_private = ` +-----BEGIN RSA PRIVATE KEY----- +MIIBOAIBAAJBAKsjSlD8RFGknc67X3Rcl50WrzjqcNg/nas61fIPGUUrkPenokm7 +ZHCwrDKWxD3FjTFg+lFlRkowR5Ht72CZE0sCAwEAAQI/b6OV1z65UokQaMvSeRXt +0Yv6wiYtduQI9qpq5nzy/ytaqsbBfClNTi/HifKPKxlRouWFkc518EQI8LBxoarJ +AiEA4DaONMplV8PQNa3TKn2F+SDEvLOCjdL0kHKdN90Ti28CIQDDZnTBaHgZwZbA +hS7Bbf5yvwjWMhO6Y7l04/Qm7R+35QIgPuQuqXIoUSD080mp1N5WyRW++atksIF+ +5lGv9e6GP/MCICnj8y/rl6Pd7tXDN6zcSeqLrfdNsREKhB3dKOCXgW9JAiAFYtFS +EJNBXVRTK42SNsZ2hJ/9xLwOwnH2epT8Q43s3Q== +-----END RSA PRIVATE KEY----- +`.trim(); + let pkcs8_private = ` +-----BEGIN PRIVATE KEY----- +MIIBUgIBADANBgkqhkiG9w0BAQEFAASCATwwggE4AgEAAkEAqyNKUPxEUaSdzrtf +dFyXnRavOOpw2D+dqzrV8g8ZRSuQ96eiSbtkcLCsMpbEPcWNMWD6UWVGSjBHke3v +YJkTSwIDAQABAj9vo5XXPrlSiRBoy9J5Fe3Ri/rCJi125Aj2qmrmfPL/K1qqxsF8 +KU1OL8eJ8o8rGVGi5YWRznXwRAjwsHGhqskCIQDgNo40ymVXw9A1rdMqfYX5IMS8 +s4KN0vSQcp033ROLbwIhAMNmdMFoeBnBlsCFLsFt/nK/CNYyE7pjuXTj9CbtH7fl +AiA+5C6pcihRIPTzSanU3lbJFb75q2SwgX7mUa/17oY/8wIgKePzL+uXo93u1cM3 +rNxJ6out902xEQqEHd0o4JeBb0kCIAVi0VIQk0FdVFMrjZI2xnaEn/3EvA7CcfZ6 +lPxDjezd +-----END PRIVATE KEY----- +`.trim(); + let data = ` +NodeRsa +这是node-rsa 现在修改集成在drpy里使用`.trim(); + let encryptedWithPublic = NODERSA.encryptRSAWithPublicKey(data, pkcs1_public, { + outputEncoding: "base64", + options: { + environment: "browser", + encryptionScheme: "pkcs1_oaep" + } + }); + console.log("公钥加密"); + console.log(encryptedWithPublic); + let decryptedWithPrivate = NODERSA.decryptRSAWithPrivateKey(encryptedWithPublic, pkcs1_private, { + options: { + environment: "browser", + encryptionScheme: "pkcs1_oaep" + } + }); + console.log("私钥解密"); + console.log(decryptedWithPrivate); + let pkcs1_sha256_sign = NODERSA.sign("1", pkcs1_private, { + outputEncoding: "base64", + options: { + environment: "browser", + encryptionScheme: "pkcs1", + signingScheme: "pkcs1-sha256" + } + }); + console.log("pkcs1_sha256_sign"); + console.log(pkcs1_sha256_sign); + let pkcs1_sha256_sign_verify = NODERSA.verify("1", "Oulx2QrgeipKYBtqEDqFb2s/+ndk2cGQxO4CkhU7iBM1vyNmmvqubpsmeoUuN3waGrYZLknSEdwBkfv0tUMpFQ==", pkcs1_private, { + options: { + environment: "browser", + encryptionScheme: "pkcs1", + signingScheme: "pkcs1-sha256" + } + }); + console.log("pkcs1_sha256_sign_verify"); + console.log(pkcs1_sha256_sign_verify); + let pkcs1_oaep_sha256 = NODERSA.encryptRSAWithPublicKey(data, `-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEA5KOq1gRNyllLNWKQy8sGpZE3Q1ULLSmzZw+eaAhj9lvqn7IsT1du +SYn08FfoOA2qMwtz+1O2l1mgzNoSVCyVpVabnTG+C9XKeZXAnJHd8aYA7l7Sxhdm +kte+iymYZ0ZBPzijo8938iugtVvqi9UgDmnY3u/NlQDqiL5BGqSxSTd/Sgmy3zD8 +PYzEa3wD9vehQ5fZZ45vKIq8GNVh2Z8+IGO85FF1OsN7+b2yGJa/FmDDNn0+HP+m +PfI+kYBqEVpo0Ztbc3UdxgFwGC8O1n8AQyriwHnSOtIiuBH62J/7qyC/3LEAApRb +Dd9YszqzmODjQUddZKHmvc638VW+azc0EwIDAQAB +-----END RSA PUBLIC KEY----- +`, { + outputEncoding: "base64", + options: { + environment: "browser", + encryptionScheme: { + scheme: "pkcs1_oaep", + hash: "sha256" + } + } + }); + console.log("pkcs1_oaep_sha256"); + console.log(pkcs1_oaep_sha256); + decryptedWithPrivate = NODERSA.decryptRSAWithPrivateKey("kSZesAAyYh2hdsQnYMdGqb6gKAzTauBKouvBzWcc4+F8RvGd0nwO6mVkUMVilPgUuNxjEauHayHiY8gI3Py45UI3+km0rSGyHrS6dHiHgCkMejXHieglYzAB0IxX3Jkm4z/66bdB/D+GFy0oct5fGCMI1UHPjEAYOsazJDa8lBFNbjiWFeb/qiZtIx3vGM7KYPAZzyRf/zPbbQ8zy9xOmRuOl5nnIxgo0Okp3KO/RIPO4GZOSBA8f2lx1UtNwwrXAMpcNavtoqHVcjJ/9lcotXYQFrn5b299pSIRf2gVm8ZJ31SK6Z8cc14nKtvgnmsgClDzIXJ1o1RcDK+knVAySg==", `-----BEGIN RSA PRIVATE KEY----- +MIIEpAIBAAKCAQEA5KOq1gRNyllLNWKQy8sGpZE3Q1ULLSmzZw+eaAhj9lvqn7Is +T1duSYn08FfoOA2qMwtz+1O2l1mgzNoSVCyVpVabnTG+C9XKeZXAnJHd8aYA7l7S +xhdmkte+iymYZ0ZBPzijo8938iugtVvqi9UgDmnY3u/NlQDqiL5BGqSxSTd/Sgmy +3zD8PYzEa3wD9vehQ5fZZ45vKIq8GNVh2Z8+IGO85FF1OsN7+b2yGJa/FmDDNn0+ +HP+mPfI+kYBqEVpo0Ztbc3UdxgFwGC8O1n8AQyriwHnSOtIiuBH62J/7qyC/3LEA +ApRbDd9YszqzmODjQUddZKHmvc638VW+azc0EwIDAQABAoIBADZ/QGgUzInvsLp/ +zO2WbfYm39o/uhNAvk9RbLt1TIZbMFhyOpeKynHi3Swwd9xsfWX/U9zS/lGi/m31 +iKrhmaW4OA1G3vqpMcK7TBbFufYwUEaA+ZJX344euH8pIfdzyneMQ4z3Far2dS7l +QsmjuilVV2kEFadveXewiYoVOWCu00w6bN8wy2SIHlQn+kIL6HQhWz12iKKflIKu +eGRdzLHsKmBt6WbY1Wuhx7HU0fAKdlBDPxCHNlI+kybUYE9o5C2vJiaVM5wqJBgZ +8Dz8kt1QbLJ910JoLXkLVQ8uC8NJKQwFtqQjTGPnEq0+wbgz6Ij599rKZkwW/xq9 +l6KoUiECgYEA6Ah42tVdkNW047f03xVYXFH96RgorHRS36mR8Y+ONUq1fwKidovC +WjwVujt4OPf3l1W6iyn/F6cu/bsmvPrSc3HTN0B1V31QK4OjgetxQ2PSbTldH02J +NPzkt+v+cPxXpx/P5mgt7Weefw5txU547KubGrHUV5rBKFtIx9pj16MCgYEA/EF0 +o19+D24DZAPwlDS5VbEd7FStnwY4oQ5PqbuNOSbSJLMWU0AqzXcRokp8UTyCZ0X3 +ATkS1REq97kShCuR+npTR6a6DlY7sdpPI1SMLNajgB2tkx0EOzX+PfNIbHUd4jpJ +I0ZMAHv/OOtkzQHDaeTWBTrzsWm6/nTiykfduNECgYEA46AMD4HpPECqKAs66e5i +tI6q7JSKskObWVdcmQEfnSAhVOwcvPb2Ptda6UuV8S0xcwDi88rLOUUFUFzc79+P +vTkY38cYVi/VChsluDpk7ptqv0PbGu5Rf+3n4pZdEjI7OvR2W64wAAn67uIUxc7p +yiO/ET0K9rYWb6S9jXGtKMkCgYEA2kPAqoO7zZoBMQ7/oR0lp/HC1HRIbiqx4RlC +8Lgpb+QZPEwA6zPAVVvLVENi4d+bbcRp/xLlKpraNNJcJSSWAMbLPFoU7sbKjA87 +HnTPfRSTEA2d3Ibk3F7Rh8TzS3Ti0JZiJjVzGZAwu41iAMifzwaD8K6boUy80eNN +QH2CaaECgYBUsLYvC/MiYg3w+LGOONuQongoVUXjGqnw2bjVa9RK7lwRdXPUqJ51 +MpVO98IkoLvGSI/0sGNP3GKNhC+eMGjJAVwFyEuOn+JsmMv9Y9uStIVi5tIHIhKw +m7mp8il0kaftHdSxTbspG3tZ2fjIiFIZkLEOmRpd7ogWumgOajzUdA== +-----END RSA PRIVATE KEY-----`, { + options: { + environment: "browser", + encryptionScheme: "pkcs1_oaep" + } + }); + console.log("decryptedWithPrivate"); + console.log(decryptedWithPrivate); + (() => { + let key = new NODERSA.NodeRSA({ + b: 1024 + }); + key.setOptions({ + encryptionScheme: "pkcs1" + }); + let text = `你好drpy node-ras`; + let encrypted = key.encrypt(text, "base64"); + console.log("encrypted: ", encrypted); + const decrypted = key.decrypt(encrypted, "utf8"); + console.log("decrypted: ", decrypted) + })(); + let t2 = (new Date).getTime(); + console.log("rsa_demo_test 测试耗时:" + (t2 - t1) + "毫秒") +} + +function pre() { + if (typeof rule.预处理 === "string" && rule.预处理 && rule.预处理.trim()) { + let code = rule.预处理.trim(); + console.log("执行预处理代码:" + code); + if (code.startsWith("js:")) { + code = code.replace("js:", "") + } + try { + eval(code) + } catch (e) { + console.log(`预处理执行失败:${e.message}`) + } + } +} +let rule = {}; +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"; +if (typeof MY_URL === "undefined") { + var MY_URL +} +var HOST; +var RKEY; +var fetch; +var print; +var log; +var rule_fetch_params; +var fetch_params; +var oheaders; +var _pdfh; +var _pdfa; +var _pd; +const DOM_CHECK_ATTR = /(url|src|href|-original|-src|-play|-url|style)$/; +const SPECIAL_URL = /^(ftp|magnet|thunder|ws):/; +const NOADD_INDEX = /:eq|:lt|:gt|:first|:last|^body$|^#/; +const URLJOIN_ATTR = /(url|src|href|-original|-src|-play|-url|style)$|^(data-|url-|src-)/; +const SELECT_REGEX = /:eq|:lt|:gt|#/g; +const SELECT_REGEX_A = /:eq|:lt|:gt/g; +const $js = { + toString(func) { + let strfun = func.toString(); + return strfun.replace(/^\(\)(\s+)?=>(\s+)?\{/, "js:").replace(/\}$/, "") + } +}; + +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); + + 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 + } + return { + atob: atob, + btoa: btoa + } +} +if (typeof atob !== "function" || typeof btoa !== "function") { + var { + atob, + btoa + } = window_b64() +} +if (typeof Object.assign !== "function") { + Object.assign = function() { + let target = arguments[0]; + for (let i = 1; i < arguments.length; i++) { + let source = arguments[i]; + for (let key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key] + } + } + } + return target + } +} +if (!String.prototype.includes) { + String.prototype.includes = function(search, start) { + if (typeof start !== "number") { + start = 0 + } + if (start + search.length > this.length) { + return false + } else { + return this.indexOf(search, start) !== -1 + } + } +} +if (!Array.prototype.includes) { + Object.defineProperty(Array.prototype, "includes", { + value: function(searchElement, fromIndex) { + if (this == null) { + throw new TypeError('"this" is null or not defined') + } + var o = Object(this); + var len = o.length >>> 0; + if (len === 0) { + return false + } + var n = fromIndex | 0; + var k = Math.max(n >= 0 ? n : len - Math.abs(n), 0); + while (k < len) { + if (o[k] === searchElement) { + return true + } + k++ + } + return false + }, + enumerable: false + }) +} +if (typeof String.prototype.startsWith !== "function") { + String.prototype.startsWith = function(prefix) { + return this.slice(0, prefix.length) === prefix + } +} +if (typeof String.prototype.endsWith !== "function") { + String.prototype.endsWith = function(suffix) { + return this.indexOf(suffix, this.length - suffix.length) !== -1 + } +} +Object.defineProperty(Object.prototype, "myValues", { + value: function(obj) { + if (obj == null) { + throw new TypeError("Cannot convert undefined or null to object") + } + var res = []; + for (var k in obj) { + if (obj.hasOwnProperty(k)) { + res.push(obj[k]) + } + } + return res + }, + enumerable: false +}); +if (typeof Object.prototype.values !== "function") { + Object.defineProperty(Object.prototype, "values", { + value: function(obj) { + if (obj == null) { + throw new TypeError("Cannot convert undefined or null to object") + } + var res = []; + for (var k in obj) { + if (obj.hasOwnProperty(k)) { + res.push(obj[k]) + } + } + return res + }, + enumerable: false + }) +} +if (typeof Array.prototype.join !== "function") { + Object.defineProperty(Array.prototype, "join", { + value: function(emoji) { + emoji = emoji || ""; + let self = this; + let str = ""; + let i = 0; + if (!Array.isArray(self)) { + throw String(self) + "is not Array" + } + if (self.length === 0) { + return "" + } + if (self.length === 1) { + return String(self[0]) + } + i = 1; + str = this[0]; + for (; i < self.length; i++) { + str += String(emoji) + String(self[i]) + } + return str + }, + enumerable: false + }) +} +if (typeof Array.prototype.toReversed !== "function") { + Object.defineProperty(Array.prototype, "toReversed", { + value: function() { + const clonedList = this.slice(); + const reversedList = clonedList.reverse(); + return reversedList + }, + enumerable: false + }) +} +Object.defineProperty(Array.prototype, "append", { + value: Array.prototype.push, + enumerable: false +}); +Object.defineProperty(String.prototype, "strip", { + value: String.prototype.trim, + enumerable: false +}); +Object.defineProperty(String.prototype, "rstrip", { + value: function(chars) { + let regex = new RegExp(chars + "$"); + return this.replace(regex, "") + }, + enumerable: false +}); + +function 是否正版(vipUrl) { + let flag = new RegExp("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) +} + +function urlDeal(vipUrl) { + if (!vipUrl) { + return "" + } + if (!是否正版(vipUrl)) { + return vipUrl + } + if (!/miguvideo/.test(vipUrl)) { + vipUrl = vipUrl.split("#")[0].split("?")[0] + } + return vipUrl +} + +function setResult(d) { + if (!Array.isArray(d)) { + return [] + } + VODS = []; + d.forEach(function(it) { + let obj = { + vod_id: it.url || "", + vod_name: it.title || "", + vod_remarks: it.desc || "", + vod_content: it.content || "", + vod_pic: it.pic_url || it.img || "" + }; + let keys = Object.keys(it); + if (keys.includes("tname")) { + obj.type_name = it.tname || "" + } + if (keys.includes("tid")) { + obj.type_id = it.tid || "" + } + if (keys.includes("year")) { + obj.vod_year = it.year || "" + } + if (keys.includes("actor")) { + obj.vod_actor = it.actor || "" + } + if (keys.includes("director")) { + obj.vod_director = it.director || "" + } + if (keys.includes("area")) { + obj.vod_area = it.area || "" + } + VODS.push(obj) + }); + return VODS +} + +function setResult2(res) { + VODS = res.list || []; + return VODS +} + +function setHomeResult(res) { + if (!res || typeof res !== "object") { + return [] + } + return setResult(res.list) +} + +function rc(js) { + if (js === "maomi_aes.js") { + var a = CryptoJS.enc.Utf8.parse("625222f9149e961d"); + var t = CryptoJS.enc.Utf8.parse("5efdtf6060e2o330"); + return { + De: function(word) { + word = CryptoJS.enc.Hex.parse(word); + return CryptoJS.AES.decrypt(CryptoJS.enc.Base64.stringify(word), a, { + iv: t, + mode: CryptoJS.mode.CBC, + padding: CryptoJS.pad.Pkcs7 + }).toString(CryptoJS.enc.Utf8) + }, + En: function(word) { + var Encrypted = CryptoJS.AES.encrypt(word, a, { + iv: t, + mode: CryptoJS.mode.CBC, + padding: CryptoJS.pad.Pkcs7 + }); + return Encrypted.ciphertext.toString() + } + } + } + return {} +} + +function maoss(jxurl, ref, key) { + fetch_params = JSON.parse(JSON.stringify(rule_fetch_params)); + eval(getCryptoJS()); + try { + var getVideoInfo = function(text) { + return CryptoJS.AES.decrypt(text, key, { + iv: iv, + padding: CryptoJS.pad.Pkcs7 + }).toString(CryptoJS.enc.Utf8) + }; + var token_key = key == undefined ? "dvyYRQlnPRCMdQSe" : key; + if (ref) { + var html = request(jxurl, { + headers: { + Referer: ref + } + }) + } else { + var html = request(jxurl) + } + if (html.indexOf("&btwaf=") != -1) { + html = request(jxurl + "&btwaf" + html.match(/&btwaf(.*?)"/)[1], { + headers: { + Referer: ref + } + }) + } + var token_iv = html.split('_token = "')[1].split('"')[0]; + var key = CryptoJS.enc.Utf8.parse(token_key); + var iv = CryptoJS.enc.Utf8.parse(token_iv); + eval(html.match(/var config = {[\s\S]*?}/)[0] + ""); + if (!config.url.startsWith("http")) { + config.url = CryptoJS.AES.decrypt(config.url, key, { + iv: iv, + padding: CryptoJS.pad.Pkcs7 + }).toString(CryptoJS.enc.Utf8) + } + return config.url + } catch (e) { + return "" + } +} + +function urlencode(str) { + str = (str + "").toString(); + return encodeURIComponent(str).replace(/!/g, "%21").replace(/'/g, "%27").replace(/\(/g, "%28").replace(/\)/g, "%29").replace(/\*/g, "%2A").replace(/%20/g, "+") +} + +function encodeUrl(str) { + if (typeof encodeURI == "function") { + return encodeURI(str) + } else { + str = (str + "").toString(); + return encodeURIComponent(str).replace(/%2F/g, "/").replace(/%3F/g, "?").replace(/%3A/g, ":").replace(/%40/g, "@").replace(/%3D/g, "=").replace(/%3A/g, ":").replace(/%2C/g, ",").replace(/%2B/g, "+").replace(/%24/g, "$") + } +} + +function base64Encode(text) { + return CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(text)) +} + +function base64Decode(text) { + return CryptoJS.enc.Utf8.stringify(CryptoJS.enc.Base64.parse(text)) +} + +function md5(text) { + return CryptoJS.MD5(text).toString() +} + +function uint8ArrayToBase64(uint8Array) { + let binaryString = String.fromCharCode.apply(null, Array.from(uint8Array)); + return btoa(binaryString) +} + +function Utf8ArrayToStr(array) { + var out, i, len, c; + var char2, char3; + out = ""; + len = array.length; + i = 0; + while (i < len) { + 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: + char2 = array[i++]; + out += String.fromCharCode((c & 31) << 6 | char2 & 63); + break; + case 14: + char2 = array[i++]; + char3 = array[i++]; + out += String.fromCharCode((c & 15) << 12 | (char2 & 63) << 6 | (char3 & 63) << 0); + break + } + } + return out +} + +function gzip(str) { + let arr = pako.gzip(str, {}); + return uint8ArrayToBase64(arr) +} + +function ungzip(b64Data) { + let strData = atob(b64Data); + const charData = strData.split("").map(function(x) { + return x.charCodeAt(0) + }); + const binData = new Uint8Array(charData); + const data = pako.inflate(binData); + return Utf8ArrayToStr(data) +} + +function encodeStr(input, encoding) { + encoding = encoding || "gbk"; + if (encoding.startsWith("gb")) { + const strTool = gbkTool(); + input = strTool.encode(input) + } + return input +} + +function decodeStr(input, encoding) { + encoding = encoding || "gbk"; + if (encoding.startsWith("gb")) { + const strTool = gbkTool(); + input = strTool.decode(input) + } + return input +} + +function getCryptoJS() { + return 'console.log("CryptoJS已装载");' +} +const RSA = { + decode: function(data, key, option) { + option = option || {}; + if (typeof JSEncrypt === "function") { + let chunkSize = option.chunkSize || 117; + let privateKey = this.getPrivateKey(key); + const decryptor = new JSEncrypt; + decryptor.setPrivateKey(privateKey); + let uncrypted = ""; + uncrypted = decryptor.decryptUnicodeLong(data); + return uncrypted + } else { + return false + } + }, + encode: function(data, key, option) { + option = option || {}; + if (typeof JSEncrypt === "function") { + let chunkSize = option.chunkSize || 117; + let publicKey = this.getPublicKey(key); + const encryptor = new JSEncrypt; + encryptor.setPublicKey(publicKey); + let encrypted = ""; + encrypted = encryptor.encryptUnicodeLong(data); + return encrypted + } else { + return false + } + }, + fixKey(key, prefix, endfix) { + if (!key.includes(prefix)) { + key = prefix + key + } + if (!key.includes(endfix)) { + key += endfix + } + return key + }, + getPrivateKey(key) { + let prefix = "-----BEGIN RSA PRIVATE KEY-----"; + let endfix = "-----END RSA PRIVATE KEY-----"; + return this.fixKey(key, prefix, endfix) + }, + getPublicKey(key) { + let prefix = "-----BEGIN PUBLIC KEY-----"; + let endfix = "-----END PUBLIC KEY-----"; + return this.fixKey(key, prefix, endfix) + } +}; + +function getProxyUrl() { + if (typeof getProxy === "function") { + return getProxy(true) + } else { + return "http://127.0.0.1:9978/proxy?do=js" + } +} + +function fixAdM3u8(m3u8_text, m3u8_url, ad_remove) { + if (!m3u8_text && !m3u8_url || !m3u8_text && m3u8_url && !m3u8_url.startsWith("http")) { + return "" + } + if (!m3u8_text) { + log("m3u8_url:" + m3u8_url); + m3u8_text = request(m3u8_url) + } + log("len(m3u8_text):" + m3u8_text.length); + if (!ad_remove) { + return m3u8_text + } + if (ad_remove.startsWith("reg:")) { + ad_remove = ad_remove.slice(4) + } else if (ad_remove.startsWith("js:")) { + ad_remove = ad_remove.slice(3) + } + let m3u8_start = m3u8_text.slice(0, m3u8_text.indexOf("#EXTINF")).trim(); + let m3u8_body = m3u8_text.slice(m3u8_text.indexOf("#EXTINF"), m3u8_text.indexOf("#EXT-X-ENDLIST")).trim(); + let m3u8_end = m3u8_text.slice(m3u8_text.indexOf("#EXT-X-ENDLIST")).trim(); + let murls = []; + let m3_body_list = m3u8_body.split("\n"); + let m3_len = m3_body_list.length; + let i = 0; + while (i < m3_len) { + let mi = m3_body_list[i]; + let mi_1 = m3_body_list[i + 1]; + if (mi.startsWith("#EXTINF")) { + murls.push([mi, mi_1].join("&")); + i += 2 + } else if (mi.startsWith("#EXT-X-DISCONTINUITY")) { + let mi_2 = m3_body_list[i + 2]; + murls.push([mi, mi_1, mi_2].join("&")); + i += 3 + } else { + break + } + } + let new_m3u8_body = []; + for (let murl of murls) { + if (ad_remove && new RegExp(ad_remove).test(murl)) {} else { + let murl_list = murl.split("&"); + if (!murl_list[murl_list.length - 1].startsWith("http") && m3u8_url.startsWith("http")) { + murl_list[murl_list.length - 1] = urljoin(m3u8_url, murl_list[murl_list.length - 1]) + } + murl_list.forEach(it => { + new_m3u8_body.push(it) + }) + } + } + new_m3u8_body = new_m3u8_body.join("\n").trim(); + m3u8_text = [m3u8_start, new_m3u8_body, m3u8_end].join("\n").trim(); + return m3u8_text +} + +function fixAdM3u8Ai(m3u8_url, headers) { + let ts = (new Date).getTime(); + let option = headers ? { + headers: headers + } : {}; + + function b(s1, s2) { + let i = 0; + while (i < s1.length) { + if (s1[i] !== s2[i]) { + break + } + i++ + } + return i + } + + function reverseString(str) { + return str.split("").reverse().join("") + } + let m3u8 = request(m3u8_url, option); + m3u8 = m3u8.trim().split("\n").map(it => it.startsWith("#") ? it : urljoin(m3u8_url, it)).join("\n"); + m3u8 = m3u8.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 = urljoin2(m3u8_url, last_url); + log("嵌套的m3u8_url:" + m3u8_url); + m3u8 = request(m3u8_url, option) + } + let s = m3u8.trim().split("\n").filter(it => it.trim()).join("\n"); + let ss = s.split("\n"); + if (m3u8_url.indexOf("ffzy") > 0) { + let j = 0, + k1 = 0, + m = 0, + n = 0, + t = 0; + let s2 = ""; + for (let i = 0; i < ss.length; i++) { + let s = ss[i]; + let s1 = ""; + if (s.startsWith("#EXTINF")) { + s1 = s.slice(8); + n++; + if (n == 1) k1 = i; + if (s2.indexOf(s1) == -1) { + s2 = s2 + s1; + m++ + } + t = t + parseFloat(s1); + i++; + s = ss[i] + } + if (s.startsWith("#EXT-X-DISCONTINUITY")) { + if (n == 5) { + log("n:" + n); + log("m:" + m); + for (let j = k1; j < k1 + n * 2; j++) { + log(ss[j]) + } + log("广告位置:" + k1); + log("数据条数:" + n); + log("数据种类:" + m); + log("广告时间:" + t.toFixed(5)); + ss.splice(k1, 2 * n + 1); + i = i - 2 * n + 1 + } + t = 0; + m = 0; + n = 0; + s2 = "" + } + } + } + let firststr = ""; + let maxl = 0; + let kk = 0; + let kkk1 = 1; + let kkk2 = 0; + let secondstr = ""; + for (let i = 0; i < ss.length; i++) { + let s = ss[i]; + if (!s.startsWith("#")) { + if (kk == 0) firststr = s; + if (kk > 0) { + if (maxl > b(firststr, s) + 1) { + if (secondstr.length < 5) secondstr = s; + kkk2++ + } else { + maxl = b(firststr, s); + kkk1++ + } + } + kk++; + if (kk >= 30) break + } + } + if (kkk2 > kkk1) firststr = secondstr; + let firststrlen = firststr.length; + let ml = Math.round(ss.length / 2).toString().length; + let maxc = 0; + let laststr = ss.toReversed().find(x => { + if (!x.startsWith("#")) { + let k = b(reverseString(firststr), reverseString(x)); + maxl = b(firststr, x); + maxc++; + if (firststrlen - maxl <= ml + k || maxc > 10) { + return true + } + } + return false + }); + log("最后一条切片:" + laststr); + let ad_urls = []; + for (let i = 0; i < ss.length; i++) { + let s = ss[i]; + if (!s.startsWith("#")) { + if (b(firststr, s) < maxl) { + ad_urls.push(s); + ss.splice(i - 1, 2); + i = i - 2 + } else { + ss[i] = urljoin(m3u8_url, s) + } + } else { + ss[i] = s.replace(/URI=\"(.*)\"/, 'URI="' + urljoin(m3u8_url, "$1") + '"') + } + } + log("处理的m3u8地址:" + m3u8_url); + log("----广告地址----"); + log(ad_urls); + m3u8 = ss.join("\n"); + log("处理耗时:" + ((new Date).getTime() - ts).toString()); + log(m3u8); + return m3u8 +} + +function forceOrder(lists, key, option) { + let start = Math.floor(lists.length / 2); + let 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 += ""; + second += ""; + if (first.match(/(\d+)/) && second.match(/(\d+)/)) { + let num1 = Number(first.match(/(\d+)/)[1]); + let num2 = Number(second.match(/(\d+)/)[1]); + if (num1 > num2) { + lists.reverse() + } + } + return lists +} +let VODS = []; +let VOD = {}; +let TABS = []; +let LISTS = []; + +function getQuery(url) { + try { + if (url.indexOf("?") > -1) { + url = url.slice(url.indexOf("?") + 1) + } + let arr = url.split("#")[0].split("&"); + const resObj = {}; + arr.forEach(item => { + let arr1 = item.split("="); + let key = arr1[0]; + let value = arr1.slice(1).join("="); + resObj[key] = value + }); + return resObj + } catch (err) { + log(`getQuery发生错误:${e.message}`); + return {} + } +} + +function urljoin(fromPath, nowPath) { + fromPath = fromPath || ""; + nowPath = nowPath || ""; + return joinUrl(fromPath, nowPath) +} +var urljoin2 = urljoin; +const defaultParser = { + pdfh: pdfh, + pdfa: pdfa, + pd: pd +}; + +function pdfh2(html, parse) { + let html2 = html; + try { + if (typeof html !== "string") { + html2 = html.rr(html.ele).toString() + } + } catch (e) { + print(`html对象转文本发生了错误:${e.message}`) + } + let result = defaultParser.pdfh(html2, parse); + let option = parse.includes("&&") ? parse.split("&&").slice(-1)[0] : parse.split(" ").slice(-1)[0]; + if (/style/.test(option.toLowerCase()) && /url\(/.test(result)) { + try { + result = result.match(/url\((.*?)\)/)[1]; + result = result.replace(/^['|"](.*)['|"]$/, "$1") + } catch (e) {} + } + return result +} + +function pdfa2(html, parse) { + let html2 = html; + try { + if (typeof html !== "string") { + html2 = html.rr(html.ele).toString() + } + } catch (e) { + print(`html对象转文本发生了错误:${e.message}`) + } + return defaultParser.pdfa(html2, parse) +} + +function pd2(html, parse, uri) { + let ret = pdfh2(html, parse); + if (typeof uri === "undefined" || !uri) { + uri = "" + } + if (DOM_CHECK_ATTR.test(parse) && !SPECIAL_URL.test(ret)) { + if (/http/.test(ret)) { + ret = ret.slice(ret.indexOf("http")) + } else { + ret = urljoin(MY_URL, ret) + } + } + return ret +} +const parseTags = { + jsp: { + pdfh: pdfh2, + pdfa: pdfa2, + pd: pd2 + }, + json: { + pdfh(html, parse) { + if (!parse || !parse.trim()) { + return "" + } + if (typeof html === "string") { + html = JSON.parse(html) + } + parse = parse.trim(); + if (!parse.startsWith("$.")) { + parse = "$." + parse + } + parse = parse.split("||"); + for (let ps of parse) { + let ret = cheerio.jp(ps, html); + if (Array.isArray(ret)) { + ret = ret[0] || "" + } else { + ret = ret || "" + } + if (ret && typeof ret !== "string") { + ret = ret.toString() + } + if (ret) { + return ret + } + } + return "" + }, + pdfa(html, parse) { + if (!parse || !parse.trim()) { + return "" + } + if (typeof html === "string") { + html = JSON.parse(html) + } + parse = parse.trim(); + if (!parse.startsWith("$.")) { + parse = "$." + parse + } + let ret = cheerio.jp(parse, html); + if (Array.isArray(ret) && Array.isArray(ret[0]) && ret.length === 1) { + return ret[0] || [] + } + return ret || [] + }, + pd(html, parse) { + let ret = parseTags.json.pdfh(html, parse); + if (ret) { + return urljoin(MY_URL, ret) + } + return ret + } + }, + jq: { + pdfh(html, parse) { + if (!html || !parse || !parse.trim()) { + return "" + } + parse = parse.trim(); + let result = defaultParser.pdfh(html, parse); + return result + }, + pdfa(html, parse) { + if (!html || !parse || !parse.trim()) { + return [] + } + parse = parse.trim(); + let result = defaultParser.pdfa(html, parse); + print(`pdfa解析${parse}=>${result.length}`); + return result + }, + pd(html, parse, base_url) { + if (!html || !parse || !parse.trim()) { + return "" + } + parse = parse.trim(); + base_url = base_url || MY_URL; + return defaultParser.pd(html, parse, base_url) + } + }, + getParse(p0) { + if (p0.startsWith("jsp:")) { + return this.jsp + } else if (p0.startsWith("json:")) { + return this.json + } else if (p0.startsWith("jq:")) { + return this.jq + } else { + return this.jq + } + } +}; +const stringify = JSON.stringify; +const jsp = parseTags.jsp; +const jq = parseTags.jq; + +function readFile(filePath) { + filePath = filePath || "./uri.min.js"; + var fd = os.open(filePath); + var buffer = new ArrayBuffer(1024); + var len = os.read(fd, buffer, 0, 1024); + console.log(len); + let text = String.fromCharCode.apply(null, new Uint8Array(buffer)); + console.log(text); + return text +} + +function dealJson(html) { + try { + html = html.trim(); + if (!(html.startsWith("{") && html.endsWith("}") || html.startsWith("[") && html.endsWith("]"))) { + html = "{" + html.match(/.*?\{(.*)\}/m)[1] + "}" + } + } catch (e) {} + try { + html = JSON.parse(html) + } catch (e) {} + return html +} +var OcrApi = { + api: OCR_API, + classification: function(img) { + let code = ""; + try { + log("通过drpy_ocr验证码接口过验证..."); + let html = ""; + if (this.api.endsWith("drpy/text")) { + html = request(this.api, { + data: { + img: img + }, + headers: { + "User-Agent": PC_UA + }, + method: "POST" + }, true) + } else { + html = post(this.api, { + body: img + }) + } + code = html || "" + } catch (e) { + log(`OCR识别验证码发生错误:${e.message}`) + } + return code + } +}; + +function verifyCode(url) { + let cnt = 0; + let host = getHome(url); + let cookie = ""; + while (cnt < OCR_RETRY) { + try { + let yzm_url = `${host}/index.php/verify/index.html`; + console.log(`验证码链接:${yzm_url}`); + let hhtml = request(yzm_url, { + withHeaders: true, + toBase64: true + }, true); + let json = JSON.parse(hhtml); + if (!cookie) { + let setCk = Object.keys(json).find(it => it.toLowerCase() === "set-cookie"); + cookie = setCk ? json[setCk].split(";")[0] : "" + } + console.log("cookie:" + cookie); + let img = json.body; + let code = OcrApi.classification(img); + console.log(`第${cnt+1}次验证码识别结果:${code}`); + let submit_url = `${host}/index.php/ajax/verify_check?type=search&verify=${code}`; + console.log(submit_url); + let html = request(submit_url, { + headers: { + Cookie: cookie + }, + method: "POST" + }); + html = JSON.parse(html); + if (html.msg === "ok") { + console.log(`第${cnt+1}次验证码提交成功`); + return cookie + } else if (html.msg !== "ok" && cnt + 1 >= OCR_RETRY) { + cookie = "" + } + } catch (e) { + console.log(`第${cnt+1}次验证码提交失败:${e.message}`); + if (cnt + 1 >= OCR_RETRY) { + cookie = "" + } + } + cnt += 1 + } + return cookie +} + +function setItem(k, v) { + local.set(RKEY, k, v); + console.log(`规则${RKEY}设置${k} => ${v}`) +} + +function getItem(k, v) { + return local.get(RKEY, k) || v +} + +function clearItem(k) { + local.delete(RKEY, k) +} + +function getHome(url) { + if (!url) { + return "" + } + let tmp = url.split("//"); + url = tmp[0] + "//" + tmp[1].split("/")[0]; + try { + url = decodeURIComponent(url) + } catch (e) {} + return url +} + +function buildUrl(url, obj) { + obj = obj || {}; + if (url.indexOf("?") < 0) { + url += "?" + } + let param_list = []; + let keys = Object.keys(obj); + keys.forEach(it => { + param_list.push(it + "=" + obj[it]) + }); + let prs = param_list.join("&"); + if (keys.length > 0 && !url.endsWith("?")) { + url += "&" + } + url += prs; + return url +} + +function $require(url) { + eval(request(url)) +} + +function keysToLowerCase(obj) { + return Object.keys(obj).reduce((result, key) => { + const newKey = key.toLowerCase(); + result[newKey] = obj[key]; + return result + }, {}) +} + +function parseQueryString(query) { + const params = {}; + query.split("&").forEach(function(part) { + const regex = /^(.*?)=(.*)/; + const match = part.match(regex); + if (match) { + const key = decodeURIComponent(match[1]); + const value = decodeURIComponent(match[2]); + params[key] = value + } + }); + return params +} + +function encodeIfContainsSpecialChars(value) { + const specialChars = ":/?#[]@!$'()*+,;=%"; + if (specialChars.split("").some(char => value.includes(char))) { + return encodeURIComponent(value) + } + return value +} + +function objectToQueryString(obj) { + const encoded = []; + for (let key in obj) { + if (obj.hasOwnProperty(key)) { + encoded.push(encodeURIComponent(key) + "=" + encodeIfContainsSpecialChars(obj[key])) + } + } + return encoded.join("&") +} + +function request(url, obj, ocr_flag) { + ocr_flag = ocr_flag || false; + if (typeof obj === "undefined" || !obj || obj === {}) { + if (!fetch_params || !fetch_params.headers) { + let headers = { + "User-Agent": MOBILE_UA + }; + if (rule.headers) { + Object.assign(headers, rule.headers) + } + if (!fetch_params) { + fetch_params = {} + } + fetch_params.headers = headers + } + if (!fetch_params.headers.Referer) { + fetch_params.headers.Referer = getHome(url) + } + obj = fetch_params + } else { + let headers = obj.headers || {}; + let keys = Object.keys(headers).map(it => it.toLowerCase()); + if (!keys.includes("user-agent")) { + headers["User-Agent"] = MOBILE_UA; + if (typeof fetch_params === "object" && fetch_params && fetch_params.headers) { + let fetch_headers = keysToLowerCase(fetch_params.headers); + if (fetch_headers["user-agent"]) { + headers["User-Agent"] = fetch_headers["user-agent"] + } + } + } + if (!keys.includes("referer")) { + headers["Referer"] = getHome(url) + } + obj.headers = headers + } + if (rule.encoding && rule.encoding !== "utf-8" && !ocr_flag) { + if (!obj.headers.hasOwnProperty("Content-Type") && !obj.headers.hasOwnProperty("content-type")) { + obj.headers["Content-Type"] = "text/html; charset=" + rule.encoding + } + } + if (typeof obj.body != "undefined" && obj.body && typeof obj.body === "string") { + if (!obj.headers.hasOwnProperty("Content-Type") && !obj.headers.hasOwnProperty("content-type")) { + obj.headers["Content-Type"] = "application/x-www-form-urlencoded; charset=" + rule.encoding + } + } else if (typeof obj.body != "undefined" && obj.body && typeof obj.body === "object") { + obj.data = obj.body; + delete obj.body + } + if (!url) { + return obj.withHeaders ? "{}" : "" + } + if (obj.toBase64) { + obj.buffer = 2; + delete obj.toBase64 + } + if (obj.redirect === false) { + obj.redirect = 0 + } + if (obj.headers.hasOwnProperty("Content-Type") || obj.headers.hasOwnProperty("content-type")) { + let _contentType = obj.headers["Content-Type"] || obj.headers["content-type"] || ""; + if (_contentType.includes("application/x-www-form-urlencoded")) { + log("custom body is application/x-www-form-urlencoded"); + if (typeof obj.body == "string") { + let temp_obj = parseQueryString(obj.body); + console.log(JSON.stringify(temp_obj)) + } + } + } + console.log(JSON.stringify(obj.headers)); + console.log("request:" + url + `|method:${obj.method||"GET"}|body:${obj.body||""}`); + let res = req(url, obj); + let html = res.content || ""; + if (obj.withHeaders) { + let htmlWithHeaders = res.headers; + htmlWithHeaders.body = html; + return JSON.stringify(htmlWithHeaders) + } else { + return html + } +} + +function post(url, obj) { + obj = obj || {}; + obj.method = "POST"; + return request(url, obj) +} + +function reqCookie(url, obj, all_cookie) { + obj = obj || {}; + obj.withHeaders = true; + all_cookie = all_cookie || false; + let html = request(url, obj); + let json = JSON.parse(html); + let setCk = Object.keys(json).find(it => it.toLowerCase() === "set-cookie"); + let cookie = setCk ? json[setCk] : ""; + if (Array.isArray(cookie)) { + cookie = cookie.join(";") + } + if (!all_cookie) { + cookie = cookie.split(";")[0] + } + html = json.body; + return { + cookie: cookie, + html: html + } +} +fetch = request; +print = function(data) { + data = data || ""; + if (typeof data == "object" && Object.keys(data).length > 0) { + try { + data = JSON.stringify(data); + console.log(data) + } catch (e) { + console.log(typeof data + ":" + data.length); + return + } + } else if (typeof data == "object" && Object.keys(data).length < 1) { + console.log("null object") + } else { + console.log(data) + } +}; +log = print; + +function checkHtml(html, url, obj) { + if (/\?btwaf=/.test(html)) { + let btwaf = html.match(/btwaf(.*?)"/)[1]; + url = url.split("#")[0] + "?btwaf" + btwaf; + print("宝塔验证访问链接:" + url); + html = request(url, obj) + } + return html +} + +function getCode(url, obj) { + let html = request(url, obj); + html = checkHtml(html, url, obj); + return html +} + +function getHtml(url) { + let obj = {}; + if (rule.headers) { + obj.headers = rule.headers + } + let cookie = getItem(RULE_CK, ""); + if (cookie) { + if (obj.headers && !Object.keys(obj.headers).map(it => it.toLowerCase()).includes("cookie")) { + log("历史无cookie,新增过验证后的cookie"); + obj.headers["Cookie"] = cookie + } else if (obj.headers && obj.headers.cookie && obj.headers.cookie !== cookie) { + obj.headers["Cookie"] = cookie; + log("历史有小写过期的cookie,更新过验证后的cookie") + } else if (obj.headers && obj.headers.Cookie && obj.headers.Cookie !== cookie) { + obj.headers["Cookie"] = cookie; + log("历史有大写过期的cookie,更新过验证后的cookie") + } else if (!obj.headers) { + obj.headers = { + Cookie: cookie + }; + log("历史无headers,更新过验证后的含cookie的headers") + } + } + let html = getCode(url, obj); + return html +} + +function homeParse(homeObj) { + fetch_params = JSON.parse(JSON.stringify(rule_fetch_params)); + let classes = []; + if (homeObj.class_name && homeObj.class_url) { + let names = homeObj.class_name.split("&"); + let urls = homeObj.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] + }) + } + } + if (homeObj.class_parse) { + if (homeObj.class_parse.startsWith("js:")) { + var input = homeObj.MY_URL; + try { + eval(homeObj.class_parse.replace("js:", "")); + if (Array.isArray(input)) { + classes = input + } + } catch (e) { + log(`通过js动态获取分类发生了错误:${e.message}`) + } + } else { + let p = homeObj.class_parse.split(";"); + let p0 = p[0]; + let _ps = parseTags.getParse(p0); + let is_json = p0.startsWith("json:"); + _pdfa = _ps.pdfa; + _pdfh = _ps.pdfh; + _pd = _ps.pd; + MY_URL = rule.url; + if (is_json) { + try { + let cms_cate_url = homeObj.MY_URL.replace("ac=detail", "ac=list"); + let html = homeObj.home_html || getHtml(cms_cate_url); + if (html) { + if (cms_cate_url === homeObj.MY_URL) { + homeHtmlCache = html + } + let list = _pdfa(html, p0.replace("json:", "")); + if (list && list.length > 0) { + classes = list + } + } + } catch (e) { + console.log(e.message) + } + } else if (p.length >= 3 && !is_json) { + try { + let html = homeObj.home_html || getHtml(homeObj.MY_URL); + if (html) { + homeHtmlCache = html; + let list = _pdfa(html, p0); + if (list && list.length > 0) { + list.forEach((it, idex) => { + try { + let name = _pdfh(it, p[1]); + if (homeObj.cate_exclude && new RegExp(homeObj.cate_exclude).test(name)) { + return + } + let url = _pd(it, p[2]); + if (p.length > 3 && p[3] && !homeObj.home_html) { + let exp = new RegExp(p[3]); + url = url.match(exp)[1] + } + classes.push({ + type_id: url.trim(), + type_name: name.trim() + }) + } catch (e) { + console.log(`分类列表定位第${idex}个元素正常报错:${e.message}`) + } + }) + } + } + } catch (e) { + console.log(e.message) + } + } + } + } + classes = classes.filter(it => !homeObj.cate_exclude || !new RegExp(homeObj.cate_exclude).test(it.type_name)); + let resp = { + class: classes + }; + if (homeObj.filter) { + resp.filters = homeObj.filter + } + console.log(JSON.stringify(resp)); + return JSON.stringify(resp) +} + +function getPP(p, pn, pp, ppn) { + try { + let ps = p[pn] === "*" && pp.length > ppn ? pp[ppn] : p[pn]; + return ps + } catch (e) { + return "" + } +} + +function homeVodParse(homeVodObj) { + fetch_params = JSON.parse(JSON.stringify(rule_fetch_params)); + let d = []; + MY_URL = homeVodObj.homeUrl; + console.log(MY_URL); + let t1 = (new Date).getTime(); + let p = homeVodObj.推荐; + print("p:" + p); + if (p === "*" && rule.一级) { + p = rule.一级; + homeVodObj.double = false + } + if (!p || typeof p !== "string") { + return "{}" + } + p = p.trim(); + let pp = rule.一级 ? rule.一级.split(";") : []; + if (p.startsWith("js:")) { + const TYPE = "home"; + var input = MY_URL; + HOST = rule.host; + eval(p.replace("js:", "")); + d = VODS + } else { + p = p.split(";"); + if (!homeVodObj.double && p.length < 5) { + return "{}" + } else if (homeVodObj.double && p.length < 6) { + return "{}" + } + let p0 = getPP(p, 0, pp, 0); + let _ps = parseTags.getParse(p0); + _pdfa = _ps.pdfa; + _pdfh = _ps.pdfh; + _pd = _ps.pd; + let is_json = p0.startsWith("json:"); + p0 = p0.replace(/^(jsp:|json:|jq:)/, ""); + let html = homeHtmlCache || getHtml(MY_URL); + homeHtmlCache = undefined; + if (is_json) { + html = dealJson(html) + } + try { + console.log("double:" + homeVodObj.double); + if (homeVodObj.double) { + let items = _pdfa(html, p0); + 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 (let item of items) { + let items2 = _pdfa(item, p1); + for (let item2 of items2) { + try { + let title = _pdfh(item2, p2); + let img = ""; + try { + img = _pd(item2, p3) + } catch (e) {} + let desc = ""; + try { + desc = _pdfh(item2, p4) + } catch (e) {} + let links = []; + for (let _p5 of p5.split("+")) { + let link = !homeVodObj.detailUrl ? _pd(item2, _p5, MY_URL) : _pdfh(item2, _p5); + links.push(link) + } + let content; + if (p.length > 6 && p[6]) { + content = _pdfh(item2, p6) + } else { + content = "" + } + let vid = links.join("$"); + if (rule.二级 === "*") { + vid = vid + "@@" + title + "@@" + img + } + let vod = { + vod_name: title, + vod_pic: img, + vod_remarks: desc, + vod_content: content, + vod_id: vid + }; + d.push(vod) + } catch (e) { + console.log(`首页列表双层定位处理发生错误:${e.message}`) + } + } + } + } else { + let items = _pdfa(html, p0); + let p1 = getPP(p, 1, pp, 1); + let p2 = getPP(p, 2, pp, 2); + let p3 = getPP(p, 3, pp, 3); + let p4 = getPP(p, 4, pp, 4); + let p5 = getPP(p, 5, pp, 5); + for (let item of items) { + try { + let title = _pdfh(item, p1); + let img = ""; + try { + img = _pd(item, p2, MY_URL) + } catch (e) {} + let desc = ""; + try { + desc = _pdfh(item, p3) + } catch (e) {} + let links = []; + for (let _p5 of p4.split("+")) { + let link = !homeVodObj.detailUrl ? _pd(item, _p5, MY_URL) : _pdfh(item, _p5); + links.push(link) + } + let content; + if (p.length > 5 && p[5]) { + content = _pdfh(item, p5) + } else { + content = "" + } + let vid = links.join("$"); + if (rule.二级 === "*") { + vid = vid + "@@" + title + "@@" + img + } + let vod = { + vod_name: title, + vod_pic: img, + vod_remarks: desc, + vod_content: content, + vod_id: vid + }; + d.push(vod) + } catch (e) { + console.log(`首页列表单层定位处理发生错误:${e.message}`) + } + } + } + } catch (e) {} + } + let t2 = (new Date).getTime(); + console.log("加载首页推荐耗时:" + (t2 - t1) + "毫秒"); + if (rule.图片替换) { + if (rule.图片替换.startsWith("js:")) { + d.forEach(it => { + try { + var input = it.vod_pic; + eval(rule.图片替换.trim().replace("js:", "")); + it.vod_pic = input + } catch (e) { + log(`图片:${it.vod_pic}替换错误:${e.message}`) + } + }) + } else if (rule.图片替换.includes("=>")) { + let replace_from = rule.图片替换.split("=>")[0]; + let replace_to = rule.图片替换.split("=>")[1]; + d.forEach(it => { + if (it.vod_pic && it.vod_pic.startsWith("http")) { + it.vod_pic = it.vod_pic.replace(replace_from, replace_to) + } + }) + } + } + if (rule.图片来源) { + d.forEach(it => { + if (it.vod_pic && it.vod_pic.startsWith("http")) { + it.vod_pic = it.vod_pic + rule.图片来源 + } + }) + } + if (d.length > 0) { + print(d.slice(0, 2)) + } + return JSON.stringify({ + list: d + }) +} + +function categoryParse(cateObj) { + fetch_params = JSON.parse(JSON.stringify(rule_fetch_params)); + let p = cateObj.一级; + if (!p || typeof p !== "string") { + return "{}" + } + let d = []; + let url = cateObj.url.replaceAll("fyclass", cateObj.tid); + if (cateObj.pg === 1 && url.includes("[") && url.includes("]")) { + url = url.split("[")[1].split("]")[0] + } else if (cateObj.pg > 1 && url.includes("[") && url.includes("]")) { + url = url.split("[")[0] + } + 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", cateObj.tid); + let fl = cateObj.filter ? cateObj.extend : {}; + if (rule.filter_def && typeof rule.filter_def === "object") { + try { + if (Object.keys(rule.filter_def).length > 0 && rule.filter_def.hasOwnProperty(cateObj.tid)) { + let self_fl_def = rule.filter_def[cateObj.tid]; + if (self_fl_def && typeof self_fl_def === "object") { + let fl_def = JSON.parse(JSON.stringify(self_fl_def)); + fl = Object.assign(fl_def, fl) + } + } + } catch (e) { + print(`合并不同分类对应的默认筛选出错:${e.message}`) + } + } + let new_url; + new_url = cheerio.jinja2(url, { + fl: fl, + fyclass: cateObj.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", cateObj.pg); + let cnt_pg = eval(cnt_page); + url = url.replaceAll(url_rep, cnt_pg).replaceAll("(", "").replaceAll(")", "") + } else { + url = url.replaceAll("fypage", cateObj.pg) + } + } + MY_URL = url; + console.log(MY_URL); + p = p.trim(); + const MY_CATE = cateObj.tid; + if (p.startsWith("js:")) { + var MY_FL = cateObj.extend; + const TYPE = "cate"; + var input = MY_URL; + const MY_PAGE = cateObj.pg; + var desc = ""; + eval(p.trim().replace("js:", "")); + d = VODS + } else { + p = p.split(";"); + if (p.length < 5) { + return "{}" + } + let _ps = parseTags.getParse(p[0]); + _pdfa = _ps.pdfa; + _pdfh = _ps.pdfh; + _pd = _ps.pd; + let is_json = p[0].startsWith("json:"); + p[0] = p[0].replace(/^(jsp:|json:|jq:)/, ""); + try { + let html = getHtml(MY_URL); + if (html) { + if (is_json) { + html = dealJson(html) + } + let list = _pdfa(html, p[0]); + list.forEach(it => { + let links = p[4].split("+").map(p4 => { + return !rule.detailUrl ? _pd(it, p4, MY_URL) : _pdfh(it, p4) + }); + let link = links.join("$"); + let vod_id = rule.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); + if (rule.二级 === "*") { + vod_id = vod_id + "@@" + vod_name + "@@" + vod_pic + } + d.push({ + vod_id: vod_id, + vod_name: vod_name, + vod_pic: vod_pic, + vod_remarks: _pdfh(it, p[3]).replace(/\n|\t/g, "").trim() + }) + }) + } + } catch (e) { + console.log(e.message) + } + } + if (rule.图片替换) { + if (rule.图片替换.startsWith("js:")) { + d.forEach(it => { + try { + var input = it.vod_pic; + eval(rule.图片替换.trim().replace("js:", "")); + it.vod_pic = input + } catch (e) { + log(`图片:${it.vod_pic}替换错误:${e.message}`) + } + }) + } else if (rule.图片替换.includes("=>")) { + let replace_from = rule.图片替换.split("=>")[0]; + let replace_to = rule.图片替换.split("=>")[1]; + d.forEach(it => { + if (it.vod_pic && it.vod_pic.startsWith("http")) { + it.vod_pic = it.vod_pic.replace(replace_from, replace_to) + } + }) + } + } + if (rule.图片来源) { + d.forEach(it => { + if (it.vod_pic && it.vod_pic.startsWith("http")) { + it.vod_pic = it.vod_pic + rule.图片来源 + } + }) + } + if (d.length > 0) { + print(d.slice(0, 2)) + } + let pagecount = 0; + if (rule.pagecount && typeof rule.pagecount === "object" && rule.pagecount.hasOwnProperty(MY_CATE)) { + print(`MY_CATE:${MY_CATE},pagecount:${JSON.stringify(rule.pagecount)}`); + pagecount = parseInt(rule.pagecount[MY_CATE]) + } + let 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 + }; + let vod = d.length < 1 ? JSON.stringify(nodata) : JSON.stringify({ + page: parseInt(cateObj.pg), + pagecount: pagecount || 999, + limit: 20, + total: 999, + list: d + }); + return vod +} + +function searchParse(searchObj) { + fetch_params = JSON.parse(JSON.stringify(rule_fetch_params)); + let d = []; + if (!searchObj.searchUrl) { + return "{}" + } + if (rule.searchNoPage && Number(searchObj.pg) > 1) { + return "{}" + } + let p = searchObj.搜索 === "*" && rule.一级 ? rule.一级 : searchObj.搜索; + if (!p || typeof p !== "string") { + return "{}" + } + p = p.trim(); + let pp = rule.一级 ? rule.一级.split(";") : []; + let url = searchObj.searchUrl.replaceAll("**", searchObj.wd); + if (searchObj.pg === 1 && url.includes("[") && url.includes("]") && !url.includes("#")) { + url = url.split("[")[1].split("]")[0] + } else if (searchObj.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", searchObj.pg); + let cnt_pg = eval(cnt_page); + url = url.replaceAll(url_rep, cnt_pg).replaceAll("(", "").replaceAll(")", "") + } else { + url = url.replaceAll("fypage", searchObj.pg) + } + } + MY_URL = url; + console.log(MY_URL); + if (p.startsWith("js:")) { + const TYPE = "search"; + const MY_PAGE = searchObj.pg; + const KEY = searchObj.wd; + var input = MY_URL; + var detailUrl = rule.detailUrl || ""; + eval(p.trim().replace("js:", "")); + d = VODS + } else { + p = p.split(";"); + if (p.length < 5) { + return "{}" + } + let p0 = getPP(p, 0, pp, 0); + let _ps = parseTags.getParse(p0); + _pdfa = _ps.pdfa; + _pdfh = _ps.pdfh; + _pd = _ps.pd; + let is_json = p0.startsWith("json:"); + p0 = p0.replace(/^(jsp:|json:|jq:)/, ""); + try { + 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] : ""; + print(`post=》rurl:${rurl},params:${params}`); + let _fetch_params = JSON.parse(JSON.stringify(rule_fetch_params)); + let postData = { + body: params + }; + Object.assign(_fetch_params, postData); + html = 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] : ""; + print(`postjson-》rurl:${rurl},params:${params}`); + try { + params = JSON.parse(params) + } catch (e) { + params = "{}" + } + let _fetch_params = JSON.parse(JSON.stringify(rule_fetch_params)); + let postData = { + body: params + }; + Object.assign(_fetch_params, postData); + html = post(rurl, _fetch_params) + } else { + html = getHtml(MY_URL) + } + if (html) { + let search_tag = rule.搜索验证标识 || "系统安全验证|输入验证码"; + if (new RegExp(search_tag).test(html)) { + let cookie = verifyCode(MY_URL); + if (cookie) { + console.log(`本次成功过验证,cookie:${cookie}`); + setItem(RULE_CK, cookie) + } else { + console.log(`本次自动过搜索验证失败,cookie:${cookie}`) + } + html = getHtml(MY_URL) + } + if (!html.includes(searchObj.wd)) { + console.log("搜索结果源码未包含关键字,疑似搜索失败,正为您打印结果源码"); + console.log(html) + } + if (is_json) { + html = dealJson(html) + } + let list = _pdfa(html, p0); + let p1 = getPP(p, 1, pp, 1); + let p2 = getPP(p, 2, pp, 2); + let p3 = getPP(p, 3, pp, 3); + let p4 = getPP(p, 4, pp, 4); + let p5 = getPP(p, 5, pp, 5); + list.forEach(it => { + let links = p4.split("+").map(_p4 => { + return !rule.detailUrl ? _pd(it, _p4, MY_URL) : _pdfh(it, _p4) + }); + let link = links.join("$"); + let content; + if (p.length > 5 && p[5]) { + content = _pdfh(it, p5) + } else { + content = "" + } + let vod_id = link; + let vod_name = _pdfh(it, p1).replace(/\n|\t/g, "").trim(); + let vod_pic = _pd(it, p2, MY_URL); + if (rule.二级 === "*") { + vod_id = vod_id + "@@" + vod_name + "@@" + vod_pic + } + let ob = { + vod_id: vod_id, + vod_name: vod_name, + vod_pic: vod_pic, + vod_remarks: _pdfh(it, p3).replace(/\n|\t/g, "").trim(), + vod_content: content.replace(/\n|\t/g, "").trim() + }; + d.push(ob) + }) + } + } catch (e) { + print(`搜索发生错误:${e.message}`); + return "{}" + } + } + if (rule.图片替换) { + if (rule.图片替换.startsWith("js:")) { + d.forEach(it => { + try { + var input = it.vod_pic; + eval(rule.图片替换.trim().replace("js:", "")); + it.vod_pic = input + } catch (e) { + log(`图片:${it.vod_pic}替换错误:${e.message}`) + } + }) + } else if (rule.图片替换.includes("=>")) { + let replace_from = rule.图片替换.split("=>")[0]; + let replace_to = rule.图片替换.split("=>")[1]; + d.forEach(it => { + if (it.vod_pic && it.vod_pic.startsWith("http")) { + it.vod_pic = it.vod_pic.replace(replace_from, replace_to) + } + }) + } + } + if (rule.图片来源) { + d.forEach(it => { + if (it.vod_pic && it.vod_pic.startsWith("http")) { + it.vod_pic = it.vod_pic + rule.图片来源 + } + }) + } + return JSON.stringify({ + page: parseInt(searchObj.pg), + pagecount: 10, + limit: 20, + total: 100, + list: d + }) +} + +function detailParse(detailObj) { + let t1 = (new Date).getTime(); + fetch_params = JSON.parse(JSON.stringify(rule_fetch_params)); + let orId = detailObj.orId; + let vod_name = "片名"; + let vod_pic = ""; + let vod_id = orId; + if (rule.二级 === "*") { + let extra = orId.split("@@"); + vod_name = extra.length > 1 ? extra[1] : vod_name; + vod_pic = extra.length > 2 ? extra[2] : vod_pic + } + let vod = { + vod_id: vod_id, + vod_name: vod_name, + vod_pic: vod_pic, + type_name: "类型", + vod_year: "年份", + vod_area: "地区", + vod_remarks: "更新信息", + vod_actor: "主演", + vod_director: "导演", + vod_content: "简介" + }; + let p = detailObj.二级; + let url = detailObj.url; + let detailUrl = detailObj.detailUrl; + let fyclass = detailObj.fyclass; + let tab_exclude = detailObj.tab_exclude; + let html = detailObj.html || ""; + MY_URL = url; + if (detailObj.二级访问前) { + try { + print(`尝试在二级访问前执行代码:${detailObj.二级访问前}`); + eval(detailObj.二级访问前.trim().replace("js:", "")) + } catch (e) { + print(`二级访问前执行代码出现错误:${e.message}`) + } + } + if (p === "*") { + vod.vod_play_from = "在线播放"; + vod.vod_remarks = detailUrl; + vod.vod_actor = "没有二级,只有一级链接直接嗅探播放"; + vod.vod_content = MY_URL; + vod.vod_play_url = "嗅探播放$" + MY_URL.split("@@")[0] + } else if (typeof p === "string" && p.trim().startsWith("js:")) { + const TYPE = "detail"; + var input = MY_URL; + var play_url = ""; + eval(p.trim().replace("js:", "")); + vod = VOD; + console.log(JSON.stringify(vod)) + } else if (p && typeof p === "object") { + let tt1 = (new Date).getTime(); + if (!html) { + html = getHtml(MY_URL) + } + print(`二级${MY_URL}仅获取源码耗时:${(new Date).getTime()-tt1}毫秒`); + let _ps; + if (p.is_json) { + print("二级是json"); + _ps = parseTags.json; + html = dealJson(html) + } else if (p.is_jsp) { + print("二级是jsp"); + _ps = parseTags.jsp + } else if (p.is_jq) { + print("二级是jq"); + _ps = parseTags.jq + } else { + print("二级默认jq"); + _ps = parseTags.jq + } + let tt2 = (new Date).getTime(); + print(`二级${MY_URL}获取并装载源码耗时:${tt2-tt1}毫秒`); + _pdfa = _ps.pdfa; + _pdfh = _ps.pdfh; + _pd = _ps.pd; + if (p.title) { + let p1 = p.title.split(";"); + vod.vod_name = _pdfh(html, p1[0]).replace(/\n|\t/g, "").trim(); + let type_name = p1.length > 1 ? _pdfh(html, p1[1]).replace(/\n|\t/g, "").replace(/ /g, "").trim() : ""; + vod.type_name = type_name || vod.type_name + } + if (p.desc) { + try { + let p1 = p.desc.split(";"); + vod.vod_remarks = _pdfh(html, p1[0]).replace(/\n|\t/g, "").trim(); + vod.vod_year = p1.length > 1 ? _pdfh(html, p1[1]).replace(/\n|\t/g, "").trim() : ""; + vod.vod_area = p1.length > 2 ? _pdfh(html, p1[2]).replace(/\n|\t/g, "").trim() : ""; + vod.vod_actor = p1.length > 3 ? _pdfh(html, p1[3]).replace(/\n|\t/g, "").trim() : ""; + vod.vod_director = p1.length > 4 ? _pdfh(html, p1[4]).replace(/\n|\t/g, "").trim() : "" + } catch (e) {} + } + if (p.content) { + try { + let p1 = p.content.split(";"); + vod.vod_content = _pdfh(html, p1[0]).replace(/\n|\t/g, "").trim() + } catch (e) {} + } + if (p.img) { + try { + let p1 = p.img.split(";"); + vod.vod_pic = _pd(html, p1[0], MY_URL) + } catch (e) {} + } + let vod_play_from = "$$$"; + let playFrom = []; + if (p.重定向 && p.重定向.startsWith("js:")) { + print("开始执行重定向代码:" + p.重定向); + html = eval(p.重定向.replace("js:", "")) + } + if (p.tabs) { + if (p.tabs.startsWith("js:")) { + print("开始执行tabs代码:" + p.tabs); + var input = MY_URL; + eval(p.tabs.replace("js:", "")); + playFrom = TABS + } else { + let p_tab = p.tabs.split(";")[0]; + let vHeader = _pdfa(html, p_tab); + console.log(vHeader.length); + 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 = "线路空" + } + console.log(v_title); + if (tab_exclude && new RegExp(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) + } + } + console.log(JSON.stringify(playFrom)) + } else { + playFrom = ["在线播放"] + } + vod.vod_play_from = playFrom.join(vod_play_from); + let vod_play_url = "$$$"; + let vod_tab_list = []; + if (p.lists) { + if (p.lists.startsWith("js:")) { + print("开始执行lists代码:" + p.lists); + try { + var input = MY_URL; + var play_url = ""; + eval(p.lists.replace("js:", "")); + for (let i in LISTS) { + if (LISTS.hasOwnProperty(i)) { + try { + LISTS[i] = LISTS[i].map(it => it.split("$").slice(0, 2).join("$")) + } catch (e) { + print(`格式化LISTS发生错误:${e.message}`) + } + } + } + vod_play_url = LISTS.map(it => it.join("#")).join(vod_play_url) + } catch (e) { + print(`js执行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 = p.tabs.trim().startsWith("js:"); + for (let i = 0; i < playFrom.length; i++) { + let tab_name = playFrom[i]; + let tab_ext = p.tabs.split(";").length > 1 && !is_tab_js ? p.tabs.split(";")[1] : ""; + let p1 = p.lists.replaceAll("#idv", tab_name).replaceAll("#id", i); + tab_ext = tab_ext.replaceAll("#idv", tab_name).replaceAll("#id", i); + let tabName = tab_ext ? _pdfh(html, tab_ext) : tab_name; + console.log(tabName); + let new_vod_list = []; + let tt1 = (new Date).getTime(); + if (typeof pdfl === "function") { + new_vod_list = pdfl(html, p1, list_text, list_url, 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); + console.log("len(vodList):" + vodList.length) + } catch (e) {} + for (let i = 0; i < vodList.length; i++) { + let it = vodList[i]; + new_vod_list.push(_pdfh(it, list_text).trim() + "$" + list_url_prefix + _pd(it, list_url, MY_URL)) + } + } + if (new_vod_list.length > 0) { + new_vod_list = forceOrder(new_vod_list, "", x => x.split("$")[0]); + console.log(`drpy影响性能代码共计列表数循环次数:${new_vod_list.length},耗时:${(new Date).getTime()-tt1}毫秒`) + } + 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 + } + if (rule.图片替换 && rule.图片替换.includes("=>")) { + let replace_from = rule.图片替换.split("=>")[0]; + let replace_to = rule.图片替换.split("=>")[1]; + vod.vod_pic = vod.vod_pic.replace(replace_from, replace_to) + } + if (rule.图片来源 && vod.vod_pic && vod.vod_pic.startsWith("http")) { + vod.vod_pic = vod.vod_pic + rule.图片来源 + } + if (!vod.vod_id || vod_id.includes("$") && vod.vod_id !== vod_id) { + vod.vod_id = vod_id + } + let t2 = (new Date).getTime(); + console.log(`加载二级界面${MY_URL}耗时:${t2-t1}毫秒`); + try { + vod = vodDeal(vod) + } catch (e) { + console.log(`vodDeal发生错误:${e.message}`) + } + return JSON.stringify({ + list: [vod] + }) +} + +function get_tab_index(vod) { + let obj = {}; + vod.vod_play_from.split("$$$").forEach((it, index) => { + obj[it] = index + }); + return obj +} + +function vodDeal(vod) { + let vod_play_from = vod.vod_play_from.split("$$$"); + let vod_play_url = vod.vod_play_url.split("$$$"); + let tab_removed_list = vod_play_from; + let tab_ordered_list = vod_play_from; + let tab_renamed_list = vod_play_from; + let tab_list = vod_play_from; + let play_ordered_list = vod_play_url; + if (rule.tab_remove && rule.tab_remove.length > 0 || rule.tab_order && rule.tab_order.length > 0) { + let tab_index_dict = get_tab_index(vod); + if (rule.tab_remove && rule.tab_remove.length > 0) { + tab_removed_list = vod_play_from.filter(it => !rule.tab_remove.includes(it)); + tab_list = tab_removed_list + } + if (rule.tab_order && rule.tab_order.length > 0) { + let tab_order = rule.tab_order; + tab_ordered_list = tab_removed_list.sort((a, b) => { + return (tab_order.indexOf(a) === -1 ? 9999 : tab_order.indexOf(a)) - (tab_order.indexOf(b) === -1 ? 9999 : tab_order.indexOf(b)) + }); + tab_list = tab_ordered_list + } + play_ordered_list = tab_list.map(it => vod_play_url[tab_index_dict[it]]) + } + if (rule.tab_rename && typeof rule.tab_rename === "object" & Object.keys(rule.tab_rename).length > 0) { + tab_renamed_list = tab_list.map(it => rule.tab_rename[it] || it); + tab_list = tab_renamed_list + } + vod.vod_play_from = tab_list.join("$$$"); + vod.vod_play_url = play_ordered_list.join("$$$"); + return vod +} + +function tellIsJx(url) { + try { + let is_vip = !/\.(m3u8|mp4|m4a)$/.test(url.split("?")[0]) && 是否正版(url); + return is_vip ? 1 : 0 + } catch (e) { + return 1 + } +} + +function playParse(playObj) { + fetch_params = JSON.parse(JSON.stringify(rule_fetch_params)); + MY_URL = playObj.url; + var MY_FLAG = playObj.flag; + if (!/http/.test(MY_URL)) { + try { + MY_URL = base64Decode(MY_URL) + } catch (e) {} + } + MY_URL = decodeURIComponent(MY_URL); + var input = MY_URL; + var flag = MY_FLAG; + let common_play = { + parse: SPECIAL_URL.test(input) || /^(push:)/.test(input) ? 0 : 1, + url: input, + flag: flag, + jx: tellIsJx(input) + }; + let lazy_play; + if (!rule.play_parse || !rule.lazy) { + lazy_play = common_play + } else if (rule.play_parse && rule.lazy && typeof rule.lazy === "string") { + try { + let lazy_code = rule.lazy.trim(); + if (lazy_code.startsWith("js:")) { + lazy_code = lazy_code.replace("js:", "").trim() + } + print("开始执行js免嗅=>" + lazy_code); + eval(lazy_code); + lazy_play = typeof input === "object" ? input : { + parse: SPECIAL_URL.test(input) || /^(push:)/.test(input) ? 0 : 1, + jx: tellIsJx(input), + url: input + } + } catch (e) { + print(`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) + } + console.log(JSON.stringify(lazy_play)); + return JSON.stringify(lazy_play) +} + +function proxyParse(proxyObj) { + var input = proxyObj.params; + if (proxyObj.proxy_rule) { + log("准备执行本地代理规则:\n" + proxyObj.proxy_rule); + try { + eval(proxyObj.proxy_rule); + if (input && input !== proxyObj.params && Array.isArray(input) && input.length >= 3) { + return input + } else { + return [404, "text/plain", "Not Found"] + } + } catch (e) { + return [500, "text/plain", "代理规则错误:" + e.message] + } + } else { + return [404, "text/plain", "Not Found"] + } +} + +function isVideoParse(isVideoObj) { + var input = isVideoObj.url; + if (!isVideoObj.t) { + let re_matcher = new RegExp(isVideoObj.isVideo, "i"); + return re_matcher.test(input) + } else { + try { + eval(isVideoObj.isVideo); + if (typeof input === "boolean") { + return input + } else { + return false + } + } catch (e) { + log(`执行嗅探规则发生错误:${e.message}`); + return false + } + } +} + +function getOriginalJs(js_code) { + let current_match = /var rule|[\u4E00-\u9FA5]+|function|let |var |const |\(|\)|"|'/; + if (current_match.test(js_code)) { + return js_code + } + 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.enc.Hex.parse("686A64686E780A0A0A0A0A0A0A0A0A0A"); + let iv = CryptoJS.enc.Hex.parse("647A797964730A0A0A0A0A0A0A0A0A0A"); + let encrypted = CryptoJS.AES.decrypt({ + ciphertext: CryptoJS.enc.Base64.parse(data) + }, key, { + iv: iv, + mode: CryptoJS.mode.CBC, + padding: CryptoJS.pad.Pkcs7 + }).toString(CryptoJS.enc.Utf8); + return encrypted + } + let error_log = false; + + function logger(text) { + if (error_log) { + log(text) + } + } + let decode_funcs = [text => { + try { + return ungzip(text) + } catch (e) { + logger("非gzip加密"); + return "" + } + }, text => { + try { + return base64Decode(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 +} + +function runMain(main_func_code, arg) { + let mainFunc = function() { + return "" + }; + try { + eval(main_func_code + "\nmainFunc=main;"); + return mainFunc(arg) + } catch (e) { + log(`执行main_funct发生了错误:${e.message}`); + return "" + } +} + +function init(ext) { + console.log("init"); + rule = {}; + rule_fetch_params = {}; + fetch_params = null; + try { + let muban = 模板.getMubans(); + if (typeof ext == "object") { + rule = ext + } else if (typeof ext == "string") { + let is_file = ext.startsWith("file://"); + if (ext.startsWith("http") || is_file) { + let query = getQuery(ext); + if (is_file) { + ext = ext.split("?")[0] + } + let js = request(ext, { + method: "GET" + }); + if (js) { + js = getOriginalJs(js); + eval("(function(){" + js.replace("var rule", "rule") + "})()") + } + if (query.type === "url" && query.params) { + if (is_file && /^http/.test(query.params)) { + rule.params = query.params + } else { + rule.params = urljoin(ext, query.params) + } + } else if (query.params) { + rule.params = query.params + } + } else { + ext = getOriginalJs(ext); + eval("(function(){" + ext.replace("var rule", "rule") + "})()") + } + } else { + console.log(`规则加载失败,不支持的规则类型:${typeof ext}`); + return + } + rule.host = (rule.host || "").rstrip("/"); + HOST = rule.host; + if (rule.hostJs) { + console.log(`检测到hostJs,准备执行...`); + try { + eval(rule.hostJs); + rule.host = HOST.rstrip("/") + } catch (e) { + console.log(`执行${rule.hostJs}获取host发生错误:${e.message}`) + } + } + if (rule["模板"] === "自动") { + try { + let host_headers = rule["headers"] || {}; + let host_html = getCode(HOST, { + headers: host_headers + }); + let match_muban = ""; + let muban_keys = Object.keys(muban).filter(it => !/默认|短视2|采集1/.test(it)); + for (let muban_key of muban_keys) { + try { + let host_data = JSON.parse(home({}, host_html, muban[muban_key].class_parse)); + if (host_data.class && host_data.class.length > 0) { + match_muban = muban_key; + console.log(`自动匹配模板:【${muban_key}】`); + break + } + } catch (e) { + console.log(`自动匹配模板:【${muban_key}】错误:${e.message}`) + } + } + if (match_muban) { + muban["自动"] = muban[match_muban]; + if (rule["模板修改"] && rule["模板修改"].startsWith("js:")) { + eval(rule["模板修改"].replace("js:", "").trim()) + } + } else { + delete rule["模板"] + } + } catch (e) { + delete rule["模板"] + } + } + if (rule.模板 && muban.hasOwnProperty(rule.模板)) { + print("继承模板:" + rule.模板); + rule = Object.assign(muban[rule.模板], rule) + } + 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(rule.host, rule.homeUrl) : rule.homeUrl || rule.host; + rule.homeUrl = cheerio.jinja2(rule.homeUrl, { + rule: rule + }); + rule.detailUrl = rule.host && rule.detailUrl ? urljoin(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(rule.host, u1) + "[" + urljoin(rule.host, u2) + "]" : rule.url + } else { + rule.url = rule.host && rule.url ? urljoin(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(rule.host, u1) + "[" + urljoin(rule.host, u2) + "]" : rule.searchUrl + } else { + rule.searchUrl = rule.host && rule.searchUrl ? urljoin(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 + } + 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]; + console.log(v); + if (["MOBILE_UA", "PC_UA", "UC_UA", "IOS_UA", "UA"].includes(v)) { + rule.headers[k] = eval(v) + } + } else if (k.toLowerCase() === "cookie") { + let v = rule.headers[k]; + if (v && v.startsWith("http")) { + console.log(v); + try { + v = fetch(v); + console.log(v); + rule.headers[k] = v + } catch (e) { + console.log(`从${v}获取cookie发生错误:${e.message}`) + } + } + } + } + } catch (e) { + console.log(`处理headers发生错误:${e.message}`) + } + } else { + rule.headers = {} + } + oheaders = deepCopy(rule.headers); + rule_fetch_params = { + headers: rule.headers, + timeout: rule.timeout, + encoding: rule.encoding + }; + RKEY = typeof key !== "undefined" && key ? key : "drpy_" + (rule.title || rule.host); + pre(); + init_test() + } catch (e) { + console.log(`init_test发生错误:${e.message}`) + } +} +let homeHtmlCache = undefined; + +function home(filter, home_html, class_parse) { + console.log("home"); + home_html = home_html || ""; + class_parse = class_parse || ""; + if (typeof rule.filter === "string" && rule.filter.trim().length > 0) { + try { + let filter_json = ungzip(rule.filter.trim()); + rule.filter = JSON.parse(filter_json) + } catch (e) { + rule.filter = {} + } + } + let homeObj = { + filter: rule.filter || false, + MY_URL: rule.homeUrl, + class_name: rule.class_name || "", + class_url: rule.class_url || "", + class_parse: class_parse || rule.class_parse || "", + cate_exclude: rule.cate_exclude, + home_html: home_html + }; + return homeParse(homeObj) +} + +function homeVod(params) { + console.log("homeVod"); + let homeVodObj = { + "推荐": rule.推荐, + double: rule.double, + homeUrl: rule.homeUrl, + detailUrl: rule.detailUrl + }; + return homeVodParse(homeVodObj) +} + +function category(tid, pg, filter, extend) { + let cateObj = { + url: rule.url, + "一级": rule.一级, + tid: tid, + pg: parseInt(pg), + filter: filter, + extend: extend + }; + return categoryParse(cateObj) +} + +function detail(vod_url) { + let orId = vod_url; + let fyclass = ""; + log("orId:" + orId); + if (vod_url.indexOf("$") > -1) { + let tmp = vod_url.split("$"); + fyclass = tmp[0]; + vod_url = tmp[1] + } + let detailUrl = vod_url.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(rule.homeUrl, detailUrl) + } else { + url = detailUrl + } + let detailObj = { + orId: orId, + url: url, + "二级": rule.二级, + "二级访问前": rule.二级访问前, + detailUrl: detailUrl, + fyclass: fyclass, + tab_exclude: rule.tab_exclude + }; + return detailParse(detailObj) +} + +function play(flag, id, flags) { + let playObj = { + url: id, + flag: flag, + flags: flags + }; + return playParse(playObj) +} + +function search(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) + } + let searchObj = { + searchUrl: rule.searchUrl, + "搜索": rule.搜索, + wd: wd, + pg: pg || 1, + quick: quick + }; + return searchParse(searchObj) +} + +function proxy(params) { + if (rule.proxy_rule && rule.proxy_rule.trim()) { + rule.proxy_rule = rule.proxy_rule.trim() + } + if (rule.proxy_rule.startsWith("js:")) { + rule.proxy_rule = rule.proxy_rule.replace("js:", "") + } + let proxyObj = { + params: params, + proxy_rule: rule.proxy_rule + }; + return proxyParse(proxyObj) +} + +function sniffer() { + let enable_sniffer = rule.sniffer || false; + if (enable_sniffer) { + log("开始执行辅助嗅探代理规则...") + } + return enable_sniffer +} + +function isVideo(url) { + let t = 0; + let is_video; + if (rule.isVideo && rule.isVideo.trim()) { + is_video = rule.isVideo.trim() + } + if (is_video.startsWith("js:")) { + is_video = is_video.replace("js:", ""); + t = 1 + } + let isVideoObj = { + url: url, + isVideo: is_video, + t: t + }; + let result = isVideoParse(isVideoObj); + if (result) { + log("成功执行辅助嗅探规则并检测到视频地址:\n" + rule.isVideo) + } + return result +} + +function getRule(key) { + return key ? rule[key] || "" : rule +} + +function deepCopy(_obj) { + return JSON.parse(JSON.stringify(_obj)) +} + +function matchesAll(str, pattern, flatten) { + if (!pattern.global) { + pattern = new RegExp(pattern.source, "g" + (pattern.ignoreCase ? "i" : "") + (pattern.multiline ? "m" : "")) + } + var matches = []; + var match; + while ((match = pattern.exec(str)) !== null) { + matches.push(match) + } + return flatten ? matches.flat() : matches +} + +function stringUtils() { + Object.defineProperties(String.prototype, { + replaceX: { + value: function(regex, replacement) { + let matches = matchesAll(this, regex, true); + if (matches && matches.length > 1) { + const hasCaptureGroup = /\$\d/.test(replacement); + if (hasCaptureGroup) { + return this.replace(regex, m => m.replace(regex, replacement)) + } else { + return this.replace(regex, (m, p1) => m.replace(p1, replacement)) + } + } + return this.replace(regex, replacement) + }, + configurable: true, + enumerable: false, + writable: true + }, + parseX: { + get: function() { + try { + return JSON.parse(this) + } catch (e) { + console.log(e.message); + return this.startsWith("[") ? [] : {} + } + }, + configurable: true, + enumerable: false + } + }) +} + +function cut(text, start, end, method, All) { + let result = ""; + let c = (t, s, e) => { + let result = ""; + let rs = []; + let results = []; + try { + let lr = new RegExp(String.raw`${s}`.toString()); + let rr = new RegExp(String.raw`${e}`.toString()); + const segments = t.split(lr); + if (segments.length < 2) return ""; + let cutSegments = segments.slice(1).map(segment => { + let splitSegment = segment.split(rr); + return splitSegment.length < 2 ? undefined : splitSegment[0] + e + }).filter(f => f); + if (All) { + return `[${cutSegments.join(",")}]` + } else { + return cutSegments[0] + } + } catch (e) { + console.log(`Error cutting text:${e.message}`) + } + return result + }; + result = c(text, start, end); + stringUtils(); + if (method && typeof method === "function") { + result = method(result) + } + return result +} + +function DRPY() { + return { + runMain: runMain, + getRule: getRule, + init: init, + home: home, + homeVod: homeVod, + category: category, + detail: detail, + play: play, + search: search, + proxy: proxy, + sniffer: sniffer, + isVideo: isVideo, + fixAdM3u8Ai: fixAdM3u8Ai + } +} +export default { + runMain: runMain, + getRule: getRule, + init: init, + home: home, + homeVod: homeVod, + category: category, + detail: detail, + play: play, + search: search, + proxy: proxy, + sniffer: sniffer, + isVideo: isVideo, + fixAdM3u8Ai: fixAdM3u8Ai, + DRPY: DRPY +}; \ No newline at end of file diff --git a/xiaosa/js/gbk.js b/xiaosa/js/gbk.js new file mode 100644 index 00000000..c49b20f0 --- /dev/null +++ b/xiaosa/js/gbk.js @@ -0,0 +1,69 @@ +/*** + * gbk编码解码函数 + * strTool = gbkTool() strTool.encode(key) + * @returns {{encode: (function(*): *), decode: (function(*): *)}} + */ +export function gbkTool() { + 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 = 0x81; i <= 0xfe; i++) { + for (var j = 0x40; j <= 0xFE; 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 == 0x20AC) || (unicode <= 0x007F && unicode >= 0x0000)); + } + 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); + + }); + } + }; +} \ No newline at end of file diff --git a/xiaosa/js/jinja.js b/xiaosa/js/jinja.js new file mode 100644 index 00000000..9a03ee5e --- /dev/null +++ b/xiaosa/js/jinja.js @@ -0,0 +1,607 @@ +/*! + * 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` + * + */ +/*global require, exports, module, define */ + +(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 = {})); +})(this, (function(jinja) { + "use strict"; + var STRINGS = /'(\\.|[^'])*'|"(\\.|[^"'"])*"/g; + var IDENTS_AND_NUMS = /([$_a-z][$\w]*)|([+-]?\d+(\.\d+)?)/g; + var NUMBER = /^[+-]?\d+(\.\d+)?$/; + //non-primitive literals (array and object literals) + var NON_PRIMITIVES = /\[[@#~](,[@#~])*\]|\[\]|\{([@i]:[@#~])(,[@i]:[@#~])*\}|\{\}/g; + //bare identifiers such as variables and in object literals: {foo: 'value'} + var IDENTIFIERS = /[$_a-z][$\w]*/ig; + var VARIABLES = /i(\.i|\[[@#i]\])*/g; + var ACCESSOR = /(\.i|\[[@#i]\])/g; + var OPERATORS = /(===?|!==?|>=?|<=?|&&|\|\||[+\-\*\/%])/g; + //extended (english) operators + 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) { + //here we match the rest of the src against a regex for this tag + var match = src.slice(index + open.length).match(TAGS[open]); + match = (match ? match[0] : ''); + //here we sub out strings so we don't get false matches + var simplified = match.replace(STRINGS, '@'); + //if we don't have a close tag or there is a nested open tag + if (!match || ~simplified.indexOf(open)) { + return index + 1; + } + var inner = match.slice(0, 0 - open.length); + //check for white-space collapse syntax + if (inner.charAt(0) === '-') var wsCollapseLeft = true; + if (inner.slice(-1) === '-') var wsCollapseRight = true; + inner = inner.replace(/^-|-$/g, '').trim(); + //if we're in raw mode and we are not looking at an "endraw" tag, move along + 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 === '{{{') { + //liquid-style: make {{{x}}} => {{x|safe}} + 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, '@'); + //replace || operators with ~ + extracted.src = extracted.src.replace(/\|\|/g, '~').split('|'); + //put back || operators + 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: src, + subs: 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]; + }; + + //replace complex literals without mistaking subscript notation with array literals + 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'); + }; + + //parse expression containing literals (including objects/arrays) and variables (including dot and subscript notation) + //valid expressions: `a + 1 > b.c or c == null`, `a and b[1] != c`, `(a < b) or (c < d and e)`, 'a || [1]` + Parser.prototype.parseExpr = function(src, opts) { + opts = opts || {}; + //extract string literals -> @ + var parsed1 = this.extractEnt(src, STRINGS, '@'); + //note: this will catch {not: 1} and a.is; could we replace temporarily and then check adjacent chars? + parsed1.src = parsed1.src.replace(EOPS, function(s, before, op, after) { + return (op in operators) ? before + operators[op] + after : s; + }); + //sub out non-string literals (numbers/true/false/null) -> # + // the distinction is necessary because @ can be object identifiers, # cannot + var parsed2 = this.extractEnt(parsed1.src, IDENTS_AND_NUMS, function(s) { + return (s in constants || NUMBER.test(s)) ? '#' : null; + }); + //sub out object/variable identifiers -> i + var parsed3 = this.extractEnt(parsed2.src, IDENTIFIERS, 'i'); + //remove white-space + parsed3.src = parsed3.src.replace(/\s+/g, ''); + + //the rest of this is simply to boil the expression down and check validity + var simplified = parsed3.src; + //sub out complex literals (objects/arrays) -> ~ + // the distinction is necessary because @ and # can be subscripts but ~ cannot + while (simplified !== (simplified = this.replaceComplex(simplified))); + //now @ represents strings, # represents other primitives and ~ represents non-primitives + //replace complex variables (those with dot/subscript accessors) -> v + while (simplified !== (simplified = simplified.replace(/i(\.i|\[[@#i]\])+/, 'v'))); + //empty subscript or complex variables in subscript, are not permitted + simplified = simplified.replace(/[iv]\[v?\]/g, 'x'); + //sub in "i" for @ and # and ~ and v (now "i" represents all literals, variables and identifiers) + simplified = simplified.replace(/[@#~v]/g, 'i'); + //sub out operators + simplified = simplified.replace(OPERATORS, '%'); + //allow 'not' unary operator + simplified = simplified.replace(/!+[i]/g, 'i'); + var terms = opts.terms ? simplified.split(',') : [simplified]; + terms.forEach(function(term) { + //simplify logical grouping + 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(); + //quote bare object identifiers (might be a reserved word like {while: 1}) + 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(',') + ')'; + }; + + //escapes a name to be used as a javascript identifier + 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 + '"'; + } + //todo: try/catch or deal with invalid characters (linebreaks, control characters) + return JSON.parse(str); + }; + + + //the context 'this' inside tagHandlers is the parser instance + 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; + //silence output until we enter a child block + this.isSilent = true; + }, + 'include': function(name) { + name = this.parseQuoted(name); + var incSrc = this.readTemplateFile(name); + this.isInclude = true; + this.tokenize(incSrc); + this.isInclude = false; + } + }; + + //liquid style + tagHandlers.assign = tagHandlers.set; + //python/django style + 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; + }; + //get a value, lexically, starting in current context; a.b -> get("a","b") + 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; + //now arr looks like [val, arg1, arg2] + val = filter.apply(data, arr); + } else { + throw new Error('Invalid filter: ' + name); + } + } + if (opts.autoEscape && name !== opts.autoEscape && name !== 'safe') { + //auto escape if not explicitly safe or already escaped + 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('&') + .split('<').join('<') + .split('>').join('>') + .split('"').join('"'); + }, + 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: get, + set: set, + push: push, + pop: pop, + write: write, + filter: filter, + each: each, + block: block, + render: 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) { + //copy as global + 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; + } + } + } +})); \ No newline at end of file diff --git a/xiaosa/js/jinja.min.js b/xiaosa/js/jinja.min.js new file mode 100644 index 00000000..f702f296 --- /dev/null +++ b/xiaosa/js/jinja.min.js @@ -0,0 +1,504 @@ +(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 = {})) +})(this, 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: src, + subs: 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("&").split("<").join("<").split(">").join(">").split('"').join(""") + }, + 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: get, + set: set, + push: push, + pop: pop, + write: write, + filter: filter, + each: each, + block: block, + render: 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 + }; + + 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 + } + } + } +}); \ No newline at end of file diff --git a/xiaosa/js/jsencrypt.js b/xiaosa/js/jsencrypt.js new file mode 100644 index 00000000..a7ea4e93 --- /dev/null +++ b/xiaosa/js/jsencrypt.js @@ -0,0 +1,360 @@ +/* + * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development"). + * This devtool is neither made for production nor for readable output files. + * It uses "eval()" calls to create a separate source file in the browser devtools. + * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) + * or disable the default devtool with "devtool: false". + * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). + */ +(function webpackUniversalModuleDefinition(root, factory) { + if (typeof exports === 'object' && typeof module === 'object') { + // CommonJS + module.exports = exports = factory(); + } else if (typeof define === 'function' && define.amd) { + // AMD + define([], factory); + } else { + // Global (browser) + globalThis.JSEncrypt = factory(); + } +})(this, () => { + return /******/ (() => { // webpackBootstrap + /******/ + var __webpack_modules__ = ({ + + /***/ + "./lib/JSEncrypt.js": + /*!**************************!*\ + !*** ./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>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>4);do{c3=str.charCodeAt(i++)&255;if(c3==61)return out;c3=base64DecodeChars[c3]}while(i>2);do{c4=str.charCodeAt(i++)&255;if(c4==61)return out;c4=base64DecodeChars[c4]}while(i>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>>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>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;imaxLength){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": + /*!********************************!*\ + !*** ./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": + /*!**********************!*\ + !*** ./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": + /*!********************************!*\ + !*** ./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 \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": + /*!**********************************!*\ + !*** ./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 \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": + /*!*******************************!*\ + !*** ./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 \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": + /*!*********************************!*\ + !*** ./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 \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": + /*!********************************!*\ + !*** ./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": + /*!******************************!*\ + !*** ./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< 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<>= 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": + /*!*******************************!*\ + !*** ./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": + /*!*****************************!*\ + !*** ./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": + /*!*****************************!*\ + !*** ./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": + /*!******************************!*\ + !*** ./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": + /*!***************************************!*\ + !*** ./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 MIT License\n */\n/**\n * kjur's class library name space\n *

\n * This name space provides following name spaces:\n *

    \n *
  • {@link KJUR.asn1} - ASN.1 primitive hexadecimal encoder
  • \n *
  • {@link KJUR.asn1.x509} - ASN.1 structure for X.509 certificate and CRL
  • \n *
  • {@link KJUR.crypto} - Java Cryptographic Extension(JCE) style MessageDigest/Signature\n * class and utilities
  • \n *
\n *

\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 *

\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 *

PROVIDING ASN.1 PRIMITIVES

\n * Here are ASN.1 DER primitive classes.\n *
    \n *
  • 0x01 {@link KJUR.asn1.DERBoolean}
  • \n *
  • 0x02 {@link KJUR.asn1.DERInteger}
  • \n *
  • 0x03 {@link KJUR.asn1.DERBitString}
  • \n *
  • 0x04 {@link KJUR.asn1.DEROctetString}
  • \n *
  • 0x05 {@link KJUR.asn1.DERNull}
  • \n *
  • 0x06 {@link KJUR.asn1.DERObjectIdentifier}
  • \n *
  • 0x0a {@link KJUR.asn1.DEREnumerated}
  • \n *
  • 0x0c {@link KJUR.asn1.DERUTF8String}
  • \n *
  • 0x12 {@link KJUR.asn1.DERNumericString}
  • \n *
  • 0x13 {@link KJUR.asn1.DERPrintableString}
  • \n *
  • 0x14 {@link KJUR.asn1.DERTeletexString}
  • \n *
  • 0x16 {@link KJUR.asn1.DERIA5String}
  • \n *
  • 0x17 {@link KJUR.asn1.DERUTCTime}
  • \n *
  • 0x18 {@link KJUR.asn1.DERGeneralizedTime}
  • \n *
  • 0x30 {@link KJUR.asn1.DERSequence}
  • \n *
  • 0x31 {@link KJUR.asn1.DERSet}
  • \n *
\n *

OTHER ASN.1 CLASSES

\n *
    \n *
  • {@link KJUR.asn1.ASN1Object}
  • \n *
  • {@link KJUR.asn1.DERAbstractString}
  • \n *
  • {@link KJUR.asn1.DERAbstractTime}
  • \n *
  • {@link KJUR.asn1.DERAbstractStructured}
  • \n *
  • {@link KJUR.asn1.DERTaggedObject}
  • \n *
\n *

SUB NAME SPACES

\n *
    \n *
  • {@link KJUR.asn1.cades} - CAdES long term signature format
  • \n *
  • {@link KJUR.asn1.cms} - Cryptographic Message Syntax
  • \n *
  • {@link KJUR.asn1.csr} - Certificate Signing Request (CSR/PKCS#10)
  • \n *
  • {@link KJUR.asn1.tsp} - RFC 3161 Timestamping Protocol Format
  • \n *
  • {@link KJUR.asn1.x509} - RFC 5280 X.509 certificate and CRL
  • \n *
\n *

\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 *
\n * {TYPE-OF-ASNOBJ: ASN1OBJ-PARAMETER}\n *
\n * 'TYPE-OF-ASN1OBJ' can be one of following symbols:\n *
    \n *
  • 'bool' - DERBoolean
  • \n *
  • 'int' - DERInteger
  • \n *
  • 'bitstr' - DERBitString
  • \n *
  • 'octstr' - DEROctetString
  • \n *
  • 'null' - DERNull
  • \n *
  • 'oid' - DERObjectIdentifier
  • \n *
  • 'enum' - DEREnumerated
  • \n *
  • 'utf8str' - DERUTF8String
  • \n *
  • 'numstr' - DERNumericString
  • \n *
  • 'prnstr' - DERPrintableString
  • \n *
  • 'telstr' - DERTeletexString
  • \n *
  • 'ia5str' - DERIA5String
  • \n *
  • 'utctime' - DERUTCTime
  • \n *
  • 'gentime' - DERGeneralizedTime
  • \n *
  • 'seq' - DERSequence
  • \n *
  • 'set' - DERSet
  • \n *
  • 'tag' - DERTaggedObject
  • \n *
\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') → \"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\") → \"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 *
\n * As for argument 'params' for constructor, you can specify one of\n * following properties:\n *
    \n *
  • str - specify initial ASN.1 value(V) by a string
  • \n *
  • hex - specify initial ASN.1 value(V) by a hexadecimal string
  • \n *
\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 *
\n * As for argument 'params' for constructor, you can specify one of\n * following properties:\n *
    \n *
  • int - specify initial ASN.1 value(V) by integer value
  • \n *
  • bigint - specify initial ASN.1 value(V) by BigInteger object
  • \n *
  • hex - specify initial ASN.1 value(V) by a hexadecimal string
  • \n *
\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 *
\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 *
\n * As for argument 'params' for constructor, you can specify one of\n * following properties:\n *
    \n *
  • bin - specify binary string (ex. '10111')
  • \n *
  • array - specify array of boolean (ex. [true,false,true,true])
  • \n *
  • hex - specify hexadecimal string of ASN.1 value(V) including unused bits
  • \n *
  • obj - specify {@link KJUR.asn1.ASN1Util.newObject}\n * argument for \"BitString encapsulates\" structure.
  • \n *
\n * NOTE1: 'params' can be omitted.
\n * NOTE2: 'obj' parameter have been supported since\n * asn1 1.0.11, jsrsasign 6.1.1 (2016-Sep-25).
\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
\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'.
\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
\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
\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) → [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
\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.
\n * Supported \"params\" attributes are:\n *
    \n *
  • str - to set a string as a value
  • \n *
  • hex - to set a hexadecimal string as a value
  • \n *
  • obj - to set a encapsulated ASN.1 value by JSON object\n * which is defined in {@link KJUR.asn1.ASN1Util.newObject}
  • \n *
\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 *
\n * As for argument 'params' for constructor, you can specify one of\n * following properties:\n *
    \n *
  • oid - specify initial ASN.1 value(V) by a oid string (ex. 2.5.4.13)
  • \n *
  • hex - specify initial ASN.1 value(V) by a hexadecimal string
  • \n *
\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
\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 *
\n * As for argument 'params' for constructor, you can specify one of\n * following properties:\n *
    \n *
  • int - specify initial ASN.1 value(V) by integer value
  • \n *
  • hex - specify initial ASN.1 value(V) by a hexadecimal string
  • \n *
\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 *
\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 *
\n * As for argument 'params' for constructor, you can specify one of\n * following properties:\n *
    \n *
  • str - specify initial ASN.1 value(V) by a string (ex.'130430235959Z')
  • \n *
  • hex - specify initial ASN.1 value(V) by a hexadecimal string
  • \n *
  • date - specify Date object.
  • \n *
\n * NOTE: 'params' can be omitted.\n *

EXAMPLES

\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
\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 *
\n * As for argument 'params' for constructor, you can specify one of\n * following properties:\n *
    \n *
  • str - specify initial ASN.1 value(V) by a string (ex.'20130430235959Z')
  • \n *
  • hex - specify initial ASN.1 value(V) by a hexadecimal string
  • \n *
  • date - specify Date object.
  • \n *
  • millis - specify flag to show milliseconds (from 1.0.6)
  • \n *
\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:
\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 *
\n * As for argument 'params' for constructor, you can specify one of\n * following properties:\n *
    \n *
  • array - specify array of ASN1Object to set elements of content
  • \n *
\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 *
\n * As for argument 'params' for constructor, you can specify one of\n * following properties:\n *
    \n *
  • array - specify array of ASN1Object to set elements of content
  • \n *
  • sortflag - flag for sort (default: true). ASN.1 BER is not sorted in 'SET OF'.
  • \n *
\n * NOTE1: 'params' can be omitted.
\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 *
\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 *
\n * As for optional argument 'params' for constructor, you can specify *ANY* of\n * following properties:\n *
    \n *
  • explicit - specify true if this is explicit tag otherwise false\n * (default is 'true').
  • \n *
  • tag - specify tag (default is 'a0' which means [0])
  • \n *
  • obj - specify ASN1Object which is tagged
  • \n *
\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": + /*!************************************!*\ + !*** ./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": + /*!*****************************************!*\ + !*** ./node_modules/process/browser.js ***! + \*****************************************/ + /***/ + ((module) => { + + 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?"); + + /***/ + }) + + /******/ + }); + /************************************************************************/ + /******/ // The module cache + /******/ + var __webpack_module_cache__ = {}; + /******/ + /******/ // The require function + /******/ + function __webpack_require__(moduleId) { + /******/ // Check if module is in cache + /******/ + var cachedModule = __webpack_module_cache__[moduleId]; + /******/ + if (cachedModule !== undefined) { + /******/ + return cachedModule.exports; + /******/ + } + /******/ // Create a new module (and put it into the cache) + /******/ + var module = __webpack_module_cache__[moduleId] = { + /******/ // no module.id needed + /******/ // no module.loaded needed + /******/ + exports: {} + /******/ + }; + /******/ + /******/ // Execute the module function + /******/ + __webpack_modules__[moduleId](module, module.exports, __webpack_require__); + /******/ + /******/ // Return the exports of the module + /******/ + return module.exports; + /******/ + } + /******/ + /************************************************************************/ + /******/ + /* webpack/runtime/define property getters */ + /******/ + (() => { + /******/ // define getter functions for harmony exports + /******/ + __webpack_require__.d = (exports, definition) => { + /******/ + for (var key in definition) { + /******/ + if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { + /******/ + Object.defineProperty(exports, key, { + enumerable: true, + get: definition[key] + }); + /******/ + } + /******/ + } + /******/ + }; + /******/ + })(); + /******/ + /******/ + /* webpack/runtime/hasOwnProperty shorthand */ + /******/ + (() => { + /******/ + __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) + /******/ + })(); + /******/ + /******/ + /* webpack/runtime/make namespace object */ + /******/ + (() => { + /******/ // define __esModule on exports + /******/ + __webpack_require__.r = (exports) => { + /******/ + if (typeof Symbol !== 'undefined' && Symbol.toStringTag) { + /******/ + Object.defineProperty(exports, Symbol.toStringTag, { + value: 'Module' + }); + /******/ + } + /******/ + Object.defineProperty(exports, '__esModule', { + value: true + }); + /******/ + }; + /******/ + })(); + /******/ + /************************************************************************/ + /******/ + /******/ // startup + /******/ // Load entry module and return exports + /******/ // This entry module can't be inlined because the eval devtool is used. + /******/ + var __webpack_exports__ = __webpack_require__("./lib/index.js"); + /******/ + __webpack_exports__ = __webpack_exports__["default"]; + /******/ + /******/ + return __webpack_exports__; + /******/ + })(); +}); \ No newline at end of file diff --git a/xiaosa/js/json5.js b/xiaosa/js/json5.js new file mode 100644 index 00000000..bb707e5e --- /dev/null +++ b/xiaosa/js/json5.js @@ -0,0 +1,1809 @@ +(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()); +}(this, (function() { + 'use strict'; + + function createCommonjsModule(fn, module) { + return module = { + exports: {} + }, fn(module, module.exports), module.exports; + } + + var _global = createCommonjsModule(function(module) { + // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 + var global = module.exports = typeof window != 'undefined' && window.Math == Math ? + window : typeof self != 'undefined' && self.Math == Math ? self + // eslint-disable-next-line no-new-func + : + Function('return this')(); + if (typeof __g == 'number') { + __g = global; + } // eslint-disable-line no-undef + }); + + var _core = createCommonjsModule(function(module) { + var core = module.exports = { + version: '2.6.5' + }; + if (typeof __e == 'number') { + __e = core; + } // eslint-disable-line no-undef + }); + 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; + } + }; + + // Thank's IE8 for his funny defineProperty + var _descriptors = !_fails(function() { + return Object.defineProperty({}, 'a', { + get: function() { + return 7; + } + }).a != 7; + }); + + var document = _global.document; + // typeof document.createElement is 'object' in old IE + 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; + }); + + // 7.1.1 ToPrimitive(input [, PreferredType]) + + // instead of the ES6 spec version, we didn't implement @@toPrimitive case + // and the second argument - flag - preferred type is a string + 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) { + /* empty */ } + } + 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: f + }; + + var _propertyDesc = function(bitmap, value) { + return { + enumerable: !(bitmap & 1), + configurable: !(bitmap & 2), + writable: !(bitmap & 4), + value: 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) { + var SHARED = '__core-js_shared__'; + var store = _global[SHARED] || (_global[SHARED] = {}); + + (module.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) { + var SRC = _uid('src'); + + var TO_STRING = 'toString'; + var TPL = ('' + _functionToString).split(TO_STRING); + + _core.inspectSource = function(it) { + return _functionToString.call(it); + }; + + (module.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); + } + // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative + })(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; + }; + + // optional / simple context binding + + 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( /* ...args */ ) { + 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 = IS_GLOBAL ? _core : _core[name] || (_core[name] = {}); + var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {}); + var key, own, out, exp; + if (IS_GLOBAL) { + source = name; + } + for (key in source) { + // contains in native + own = !IS_FORCED && target && target[key] !== undefined; + // export native or passed + out = (own ? target : source)[key]; + // bind timers to global for call from export context + exp = IS_BIND && own ? _ctx(out, _global) : IS_PROTO && typeof out == 'function' ? _ctx(Function.call, out) : out; + // extend global + if (target) { + _redefine(target, key, out, type & $export.U); + } + // export + if (exports[key] != out) { + _hide(exports, key, exp); + } + if (IS_PROTO && expProto[key] != out) { + expProto[key] = out; + } + } + }; + _global.core = _core; + // type bitmap + $export.F = 1; // forced + $export.G = 2; // global + $export.S = 4; // static + $export.P = 8; // proto + $export.B = 16; // bind + $export.W = 32; // wrap + $export.U = 64; // safe + $export.R = 128; // real proto method for `library` + var _export = $export; + + // 7.1.4 ToInteger + var ceil = Math.ceil; + var floor = Math.floor; + var _toInteger = function(it) { + return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it); + }; + + // 7.2.1 RequireObjectCoercible(argument) + var _defined = function(it) { + if (it == undefined) { + throw TypeError("Can't call method on " + it); + } + return it; + }; + + // true -> String#at + // false -> String#codePointAt + 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 < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff ? + TO_STRING ? s.charAt(i) : a : + TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000; + }; + }; + + var $at = _stringAt(false); + _export(_export.P, 'String', { + // 21.1.3.3 String.prototype.codePointAt(pos) + 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; + + // length should be 1, old FF problem + _export(_export.S + _export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', { + // 21.1.2.2 String.fromCodePoint(...codePoints) + fromCodePoint: function fromCodePoint(x) { + var arguments$1 = arguments; + // eslint-disable-line no-unused-vars + var res = []; + var aLen = arguments.length; + var i = 0; + var code; + while (aLen > i) { + code = +arguments$1[i++]; + if (_toAbsoluteIndex(code, 0x10ffff) !== code) { + throw RangeError(code + ' is not a valid code point'); + } + res.push(code < 0x10000 ? + fromCharCode(code) : + fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00) + ); + } + return res.join(''); + } + }); + + var fromCodePoint = _core.String.fromCodePoint; + + // This is a generated file. Do not edit. + 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: Space_Separator, + ID_Start: ID_Start, + ID_Continue: 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 === '\u200C') || (c === '\u200D') || + 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(); + + // This code is unreachable. + // if (!parseStates[parseState]) { + // throw invalidParseState() + // } + + 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(); + + // This code is unreachable. + // if (!lexStates[lexState]) { + // throw invalidLexState(lexState) + // } + + 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 '\t': + case '\v': + case '\f': + case ' ': + case '\u00A0': + case '\uFEFF': + 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 + } + + // This code is unreachable. + // if (!lexStates[parseState]) { + // throw invalidLexState(parseState) + // } + + 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 '\u200C': + case '\u200D': + 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 '\u200C': + case '\u200D': + 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()) + + // This code is unreachable since the default lexState handles eof. + // case undefined: + // return newToken('eof') + } + + 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() { + // This code is unreachable since it's handled by the default lexState. + // if (c === undefined) { + // read() + // return newToken('eof') + // } + + throw invalidChar(read()) + }, + }; + + function newToken(type, value) { + return { + type: type, + value: value, + line: line, + column: 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 '\t' + + 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': + // This code is unreachable since it's handled by the lexState. + // if (token.value !== '}') { + // throw invalidToken() + // } + + pop(); + return + + case 'eof': + throw invalidEOF() + } + + // This code is unreachable since it's handled by the lexState. + // throw invalidToken() + }, + + afterPropertyName: function afterPropertyName() { + // This code is unreachable since it's handled by the lexState. + // if (token.type !== 'punctuator' || token.value !== ':') { + // throw invalidToken() + // } + + 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() { + // This code is unreachable since it's handled by the lexState. + // if (token.type !== 'punctuator') { + // throw invalidToken() + // } + + if (token.type === 'eof') { + throw invalidEOF() + } + + switch (token.value) { + case ',': + parseState = 'beforePropertyName'; + return + + case '}': + pop(); + } + + // This code is unreachable since it's handled by the lexState. + // throw invalidToken() + }, + + afterArrayValue: function afterArrayValue() { + // This code is unreachable since it's handled by the lexState. + // if (token.type !== 'punctuator') { + // throw invalidToken() + // } + + if (token.type === 'eof') { + throw invalidEOF() + } + + switch (token.value) { + case ',': + parseState = 'beforeArrayValue'; + return + + case ']': + pop(); + } + + // This code is unreachable since it's handled by the lexState. + // throw invalidToken() + }, + + end: function end() { + // This code is unreachable since it's handled by the lexState. + // if (token.type !== 'eof') { + // throw invalidToken() + // } + }, + }; + + 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 + + // This code is unreachable. + // default: + // throw invalidToken() + } + + 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: 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'; + } + } + + // This code is unreachable. + // function invalidParseState () { + // return new Error(`JSON5: invalid parse state '${parseState}'`) + // } + + // This code is unreachable. + // function invalidLexState (state) { + // return new Error(`JSON5: invalid lex state '${state}'`) + // } + + 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)) + } + + // This code is unreachable. + // function invalidToken () { + // if (token.type === 'eof') { + // return syntaxError(`JSON5: invalid end of input at ${line}:${column}`) + // } + + // const c = String.fromCodePoint(token.value.codePointAt(0)) + // return syntaxError(`JSON5: invalid character '${formatChar(c)}' 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': '\\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 = { + "'": 0.1, + '"': 0.2, + }; + + var replacements = { + "'": "\\'", + '"': '\\"', + '\\': '\\\\', + '\b': '\\b', + '\f': '\\f', + '\n': '\\n', + '\r': '\\r', + '\t': '\\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: parse, + stringify: stringify, + }; + + var lib = JSON5; + + var es5 = lib; + + return es5; + +}))); \ No newline at end of file diff --git a/xiaosa/js/jsonpathplus.min.js b/xiaosa/js/jsonpathplus.min.js new file mode 100644 index 00000000..1feb3265 --- /dev/null +++ b/xiaosa/js/jsonpathplus.min.js @@ -0,0 +1,1277 @@ +! 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 = {}) +}(this, 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 += "\t"; + 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 +}); \ No newline at end of file diff --git a/xiaosa/js/node-rsa.js b/xiaosa/js/node-rsa.js new file mode 100644 index 00000000..4f9396fc --- /dev/null +++ b/xiaosa/js/node-rsa.js @@ -0,0 +1,5858 @@ +/*! 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 ? "[" + a.colors[r][0] + "m" + t + "[" + 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 += " ... "), "" + }, 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 = {}) { + return r = Object.assign({}, o, r), new i(e, r.PublicFormat, r.options).encrypt(t, r.outEncoding || "base64") + }, + encryptRSAWithPrivateKey: function(t, e, r = {}) { + return r = Object.assign({}, o, r), new i(e, r.PrivateFormat, r.options).encryptPrivate(t, r.outputEncoding || "base64") + }, + decryptRSAWithPublicKey: function(t, e, r = {}) { + return r = Object.assign({}, o, r), new i(e, r.PublicEncoding, r.options).decryptPublic(t, r.outEncoding || "utf8") + }, + decryptRSAWithPrivateKey: function(t, e, r = {}) { + return r = Object.assign({}, o, r), new i(e, r.PrivateEncoding, r.options).decrypt(t, r.outEncoding || "utf8") + }, + sign: function(t, e, 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 = {}) { + 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) +})())); \ No newline at end of file diff --git a/xiaosa/js/pako.min.js b/xiaosa/js/pako.min.js new file mode 100644 index 00000000..e8824a3d --- /dev/null +++ b/xiaosa/js/pako.min.js @@ -0,0 +1,1439 @@ +/*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */ ! function(t, e) { + "object" == typeof exports && "undefined" != typeof module ? e(exports) : "function" == typeof define && define.amd ? define(["exports"], e) : e((t = "undefined" != typeof globalThis ? globalThis : t || self).pako = {}) +}(this, (function(t) { + "use strict"; + + function e(t) { + let e = t.length; + for (; --e >= 0;) t[e] = 0 + } + const a = 256, + i = 286, + n = 30, + s = 15, + r = new Uint8Array([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]), + o = new Uint8Array([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]), + l = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 7]), + h = new Uint8Array([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]), + d = new Array(576); + e(d); + const _ = new Array(60); + e(_); + const f = new Array(512); + e(f); + const c = new Array(256); + e(c); + const u = new Array(29); + e(u); + const w = new Array(n); + + function m(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 + } + let b, g, p; + + function k(t, e) { + this.dyn_tree = t, this.max_code = 0, this.stat_desc = e + } + e(w); + const v = t => t < 256 ? f[t] : f[256 + (t >>> 7)], + y = (t, e) => { + t.pending_buf[t.pending++] = 255 & e, t.pending_buf[t.pending++] = e >>> 8 & 255 + }, + x = (t, e, a) => { + t.bi_valid > 16 - a ? (t.bi_buf |= e << t.bi_valid & 65535, y(t, t.bi_buf), t.bi_buf = e >> 16 - t.bi_valid, t.bi_valid += a - 16) : (t.bi_buf |= e << t.bi_valid & 65535, t.bi_valid += a) + }, + z = (t, e, a) => { + x(t, a[2 * e], a[2 * e + 1]) + }, + A = (t, e) => { + let a = 0; + do { + a |= 1 & t, t >>>= 1, a <<= 1 + } while (--e > 0); + return a >>> 1 + }, + E = (t, e, a) => { + const i = new Array(16); + let n, r, o = 0; + for (n = 1; n <= s; n++) o = o + a[n - 1] << 1, i[n] = o; + for (r = 0; r <= e; r++) { + let e = t[2 * r + 1]; + 0 !== e && (t[2 * r] = A(i[e]++, e)) + } + }, + R = t => { + let e; + for (e = 0; e < i; e++) t.dyn_ltree[2 * e] = 0; + for (e = 0; e < n; e++) t.dyn_dtree[2 * e] = 0; + for (e = 0; e < 19; e++) t.bl_tree[2 * e] = 0; + t.dyn_ltree[512] = 1, t.opt_len = t.static_len = 0, t.sym_next = t.matches = 0 + }, + Z = t => { + t.bi_valid > 8 ? y(t, t.bi_buf) : t.bi_valid > 0 && (t.pending_buf[t.pending++] = t.bi_buf), t.bi_buf = 0, t.bi_valid = 0 + }, + U = (t, e, a, i) => { + const n = 2 * e, + s = 2 * a; + return t[n] < t[s] || t[n] === t[s] && i[e] <= i[a] + }, + S = (t, e, a) => { + const i = t.heap[a]; + let n = a << 1; + for (; n <= t.heap_len && (n < t.heap_len && U(e, t.heap[n + 1], t.heap[n], t.depth) && n++, !U(e, i, t.heap[n], t.depth));) t.heap[a] = t.heap[n], a = n, n <<= 1; + t.heap[a] = i + }, + D = (t, e, i) => { + let n, s, l, h, d = 0; + if (0 !== t.sym_next) + do { + n = 255 & t.pending_buf[t.sym_buf + d++], n += (255 & t.pending_buf[t.sym_buf + d++]) << 8, s = t.pending_buf[t.sym_buf + d++], 0 === n ? z(t, s, e) : (l = c[s], z(t, l + a + 1, e), h = r[l], 0 !== h && (s -= u[l], x(t, s, h)), n--, l = v(n), z(t, l, i), h = o[l], 0 !== h && (n -= w[l], x(t, n, h))) + } while (d < t.sym_next); + z(t, 256, e) + }, + T = (t, e) => { + const a = e.dyn_tree, + i = e.stat_desc.static_tree, + n = e.stat_desc.has_stree, + r = e.stat_desc.elems; + let o, l, h, d = -1; + for (t.heap_len = 0, t.heap_max = 573, o = 0; o < r; o++) 0 !== a[2 * o] ? (t.heap[++t.heap_len] = d = o, t.depth[o] = 0) : a[2 * o + 1] = 0; + for (; t.heap_len < 2;) h = t.heap[++t.heap_len] = d < 2 ? ++d : 0, a[2 * h] = 1, t.depth[h] = 0, t.opt_len--, n && (t.static_len -= i[2 * h + 1]); + for (e.max_code = d, o = t.heap_len >> 1; o >= 1; o--) S(t, a, o); + h = r; + do { + o = t.heap[1], t.heap[1] = t.heap[t.heap_len--], S(t, a, 1), l = t.heap[1], t.heap[--t.heap_max] = o, t.heap[--t.heap_max] = l, a[2 * h] = a[2 * o] + a[2 * l], t.depth[h] = (t.depth[o] >= t.depth[l] ? t.depth[o] : t.depth[l]) + 1, a[2 * o + 1] = a[2 * l + 1] = h, t.heap[1] = h++, S(t, a, 1) + } while (t.heap_len >= 2); + t.heap[--t.heap_max] = t.heap[1], ((t, e) => { + const a = e.dyn_tree, + i = e.max_code, + n = e.stat_desc.static_tree, + r = e.stat_desc.has_stree, + o = e.stat_desc.extra_bits, + l = e.stat_desc.extra_base, + h = e.stat_desc.max_length; + let d, _, f, c, u, w, m = 0; + for (c = 0; c <= s; c++) t.bl_count[c] = 0; + for (a[2 * t.heap[t.heap_max] + 1] = 0, d = t.heap_max + 1; d < 573; d++) _ = t.heap[d], c = a[2 * a[2 * _ + 1] + 1] + 1, c > h && (c = h, m++), a[2 * _ + 1] = c, _ > i || (t.bl_count[c]++, u = 0, _ >= l && (u = o[_ - l]), w = a[2 * _], t.opt_len += w * (c + u), r && (t.static_len += w * (n[2 * _ + 1] + u))); + if (0 !== m) { + do { + for (c = h - 1; 0 === t.bl_count[c];) c--; + t.bl_count[c]--, t.bl_count[c + 1] += 2, t.bl_count[h]--, m -= 2 + } while (m > 0); + for (c = h; 0 !== c; c--) + for (_ = t.bl_count[c]; 0 !== _;) f = t.heap[--d], f > i || (a[2 * f + 1] !== c && (t.opt_len += (c - a[2 * f + 1]) * a[2 * f], a[2 * f + 1] = c), _--) + } + })(t, e), E(a, d, t.bl_count) + }, + O = (t, e, a) => { + let i, n, s = -1, + r = e[1], + o = 0, + l = 7, + h = 4; + for (0 === r && (l = 138, h = 3), e[2 * (a + 1) + 1] = 65535, i = 0; i <= a; i++) n = r, r = e[2 * (i + 1) + 1], ++o < l && n === r || (o < h ? t.bl_tree[2 * n] += o : 0 !== n ? (n !== s && t.bl_tree[2 * n]++, t.bl_tree[32]++) : o <= 10 ? t.bl_tree[34]++ : t.bl_tree[36]++, o = 0, s = n, 0 === r ? (l = 138, h = 3) : n === r ? (l = 6, h = 3) : (l = 7, h = 4)) + }, + I = (t, e, a) => { + let i, n, s = -1, + r = e[1], + o = 0, + l = 7, + h = 4; + for (0 === r && (l = 138, h = 3), i = 0; i <= a; i++) + if (n = r, r = e[2 * (i + 1) + 1], !(++o < l && n === r)) { + if (o < h) + do { + z(t, n, t.bl_tree) + } while (0 != --o); + else 0 !== n ? (n !== s && (z(t, n, t.bl_tree), o--), z(t, 16, t.bl_tree), x(t, o - 3, 2)) : o <= 10 ? (z(t, 17, t.bl_tree), x(t, o - 3, 3)) : (z(t, 18, t.bl_tree), x(t, o - 11, 7)); + o = 0, s = n, 0 === r ? (l = 138, h = 3) : n === r ? (l = 6, h = 3) : (l = 7, h = 4) + } + }; + let F = !1; + const L = (t, e, a, i) => { + x(t, 0 + (i ? 1 : 0), 3), Z(t), y(t, a), y(t, ~a), a && t.pending_buf.set(t.window.subarray(e, e + a), t.pending), t.pending += a + }; + var N = (t, e, i, n) => { + let s, r, o = 0; + t.level > 0 ? (2 === t.strm.data_type && (t.strm.data_type = (t => { + let e, i = 4093624447; + for (e = 0; e <= 31; e++, i >>>= 1) + if (1 & i && 0 !== t.dyn_ltree[2 * e]) return 0; + if (0 !== t.dyn_ltree[18] || 0 !== t.dyn_ltree[20] || 0 !== t.dyn_ltree[26]) return 1; + for (e = 32; e < a; e++) + if (0 !== t.dyn_ltree[2 * e]) return 1; + return 0 + })(t)), T(t, t.l_desc), T(t, t.d_desc), o = (t => { + let e; + for (O(t, t.dyn_ltree, t.l_desc.max_code), O(t, t.dyn_dtree, t.d_desc.max_code), T(t, t.bl_desc), e = 18; e >= 3 && 0 === t.bl_tree[2 * h[e] + 1]; e--); + return t.opt_len += 3 * (e + 1) + 5 + 5 + 4, e + })(t), s = t.opt_len + 3 + 7 >>> 3, r = t.static_len + 3 + 7 >>> 3, r <= s && (s = r)) : s = r = i + 5, i + 4 <= s && -1 !== e ? L(t, e, i, n) : 4 === t.strategy || r === s ? (x(t, 2 + (n ? 1 : 0), 3), D(t, d, _)) : (x(t, 4 + (n ? 1 : 0), 3), ((t, e, a, i) => { + let n; + for (x(t, e - 257, 5), x(t, a - 1, 5), x(t, i - 4, 4), n = 0; n < i; n++) x(t, t.bl_tree[2 * h[n] + 1], 3); + I(t, t.dyn_ltree, e - 1), I(t, t.dyn_dtree, a - 1) + })(t, t.l_desc.max_code + 1, t.d_desc.max_code + 1, o + 1), D(t, t.dyn_ltree, t.dyn_dtree)), R(t), n && Z(t) + }, + B = { + _tr_init: t => { + F || ((() => { + let t, e, a, h, k; + const v = new Array(16); + for (a = 0, h = 0; h < 28; h++) + for (u[h] = a, t = 0; t < 1 << r[h]; t++) c[a++] = h; + for (c[a - 1] = h, k = 0, h = 0; h < 16; h++) + for (w[h] = k, t = 0; t < 1 << o[h]; t++) f[k++] = h; + for (k >>= 7; h < n; h++) + for (w[h] = k << 7, t = 0; t < 1 << o[h] - 7; t++) f[256 + k++] = h; + for (e = 0; e <= s; e++) v[e] = 0; + for (t = 0; t <= 143;) d[2 * t + 1] = 8, t++, v[8]++; + for (; t <= 255;) d[2 * t + 1] = 9, t++, v[9]++; + for (; t <= 279;) d[2 * t + 1] = 7, t++, v[7]++; + for (; t <= 287;) d[2 * t + 1] = 8, t++, v[8]++; + for (E(d, 287, v), t = 0; t < n; t++) _[2 * t + 1] = 5, _[2 * t] = A(t, 5); + b = new m(d, r, 257, i, s), g = new m(_, o, 0, n, s), p = new m(new Array(0), l, 0, 19, 7) + })(), F = !0), t.l_desc = new k(t.dyn_ltree, b), t.d_desc = new k(t.dyn_dtree, g), t.bl_desc = new k(t.bl_tree, p), t.bi_buf = 0, t.bi_valid = 0, R(t) + }, + _tr_stored_block: L, + _tr_flush_block: N, + _tr_tally: (t, e, i) => (t.pending_buf[t.sym_buf + t.sym_next++] = e, t.pending_buf[t.sym_buf + t.sym_next++] = e >> 8, t.pending_buf[t.sym_buf + t.sym_next++] = i, 0 === e ? t.dyn_ltree[2 * i]++ : (t.matches++, e--, t.dyn_ltree[2 * (c[i] + a + 1)]++, t.dyn_dtree[2 * v(e)]++), t.sym_next === t.sym_end), + _tr_align: t => { + x(t, 2, 3), z(t, 256, d), (t => { + 16 === t.bi_valid ? (y(t, t.bi_buf), t.bi_buf = 0, t.bi_valid = 0) : t.bi_valid >= 8 && (t.pending_buf[t.pending++] = 255 & t.bi_buf, t.bi_buf >>= 8, t.bi_valid -= 8) + })(t) + } + }; + var C = (t, e, a, i) => { + let n = 65535 & t | 0, + s = t >>> 16 & 65535 | 0, + r = 0; + for (; 0 !== a;) { + r = a > 2e3 ? 2e3 : a, a -= r; + do { + n = n + e[i++] | 0, s = s + n | 0 + } while (--r); + n %= 65521, s %= 65521 + } + return n | s << 16 | 0 + }; + const M = new Uint32Array((() => { + let t, e = []; + for (var 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 + })()); + var H = (t, e, a, i) => { + const n = M, + s = i + a; + t ^= -1; + for (let a = i; a < s; a++) t = t >>> 8 ^ n[255 & (t ^ e[a])]; + return -1 ^ t + }, + j = { + 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" + }, + K = { + 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_MEM_ERROR: -4, + 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 + }; + const { + _tr_init: P, + _tr_stored_block: Y, + _tr_flush_block: G, + _tr_tally: X, + _tr_align: W + } = B, { + Z_NO_FLUSH: q, + Z_PARTIAL_FLUSH: J, + Z_FULL_FLUSH: Q, + Z_FINISH: V, + Z_BLOCK: $, + Z_OK: tt, + Z_STREAM_END: et, + Z_STREAM_ERROR: at, + Z_DATA_ERROR: it, + Z_BUF_ERROR: nt, + Z_DEFAULT_COMPRESSION: st, + Z_FILTERED: rt, + Z_HUFFMAN_ONLY: ot, + Z_RLE: lt, + Z_FIXED: ht, + Z_DEFAULT_STRATEGY: dt, + Z_UNKNOWN: _t, + Z_DEFLATED: ft + } = K, ct = 258, ut = 262, wt = 42, mt = 113, bt = 666, gt = (t, e) => (t.msg = j[e], e), pt = t => 2 * t - (t > 4 ? 9 : 0), kt = t => { + let e = t.length; + for (; --e >= 0;) t[e] = 0 + }, vt = t => { + let e, a, i, n = t.w_size; + e = t.hash_size, i = e; + do { + a = t.head[--i], t.head[i] = a >= n ? a - n : 0 + } while (--e); + e = n, i = e; + do { + a = t.prev[--i], t.prev[i] = a >= n ? a - n : 0 + } while (--e) + }; + let yt = (t, e, a) => (e << t.hash_shift ^ a) & t.hash_mask; + const xt = t => { + const e = t.state; + let a = e.pending; + a > t.avail_out && (a = t.avail_out), 0 !== a && (t.output.set(e.pending_buf.subarray(e.pending_out, 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)) + }, + zt = (t, e) => { + G(t, t.block_start >= 0 ? t.block_start : -1, t.strstart - t.block_start, e), t.block_start = t.strstart, xt(t.strm) + }, + At = (t, e) => { + t.pending_buf[t.pending++] = e + }, + Et = (t, e) => { + t.pending_buf[t.pending++] = e >>> 8 & 255, t.pending_buf[t.pending++] = 255 & e + }, + Rt = (t, e, a, i) => { + let n = t.avail_in; + return n > i && (n = i), 0 === n ? 0 : (t.avail_in -= n, e.set(t.input.subarray(t.next_in, t.next_in + n), a), 1 === t.state.wrap ? t.adler = C(t.adler, e, n, a) : 2 === t.state.wrap && (t.adler = H(t.adler, e, n, a)), t.next_in += n, t.total_in += n, n) + }, + Zt = (t, e) => { + let a, i, n = t.max_chain_length, + s = t.strstart, + r = t.prev_length, + o = t.nice_match; + const l = t.strstart > t.w_size - ut ? t.strstart - (t.w_size - ut) : 0, + h = t.window, + d = t.w_mask, + _ = t.prev, + f = t.strstart + ct; + let c = h[s + r - 1], + u = h[s + r]; + t.prev_length >= t.good_match && (n >>= 2), o > t.lookahead && (o = t.lookahead); + do { + if (a = e, h[a + r] === u && h[a + r - 1] === c && h[a] === h[s] && h[++a] === h[s + 1]) { + s += 2, a++; + do {} while (h[++s] === h[++a] && h[++s] === h[++a] && h[++s] === h[++a] && h[++s] === h[++a] && h[++s] === h[++a] && h[++s] === h[++a] && h[++s] === h[++a] && h[++s] === h[++a] && s < f); + if (i = ct - (f - s), s = f - ct, i > r) { + if (t.match_start = e, r = i, i >= o) break; + c = h[s + r - 1], u = h[s + r] + } + } + } while ((e = _[e & d]) > l && 0 != --n); + return r <= t.lookahead ? r : t.lookahead + }, + Ut = t => { + const e = t.w_size; + let a, i, n; + do { + if (i = t.window_size - t.lookahead - t.strstart, t.strstart >= e + (e - ut) && (t.window.set(t.window.subarray(e, e + e - i), 0), t.match_start -= e, t.strstart -= e, t.block_start -= e, t.insert > t.strstart && (t.insert = t.strstart), vt(t), i += e), 0 === t.strm.avail_in) break; + if (a = Rt(t.strm, t.window, t.strstart + t.lookahead, i), t.lookahead += a, t.lookahead + t.insert >= 3) + for (n = t.strstart - t.insert, t.ins_h = t.window[n], t.ins_h = yt(t, t.ins_h, t.window[n + 1]); t.insert && (t.ins_h = yt(t, t.ins_h, t.window[n + 3 - 1]), t.prev[n & t.w_mask] = t.head[t.ins_h], t.head[t.ins_h] = n, n++, t.insert--, !(t.lookahead + t.insert < 3));); + } while (t.lookahead < ut && 0 !== t.strm.avail_in) + }, + St = (t, e) => { + let a, i, n, s = t.pending_buf_size - 5 > t.w_size ? t.w_size : t.pending_buf_size - 5, + r = 0, + o = t.strm.avail_in; + do { + if (a = 65535, n = t.bi_valid + 42 >> 3, t.strm.avail_out < n) break; + if (n = t.strm.avail_out - n, i = t.strstart - t.block_start, a > i + t.strm.avail_in && (a = i + t.strm.avail_in), a > n && (a = n), a < s && (0 === a && e !== V || e === q || a !== i + t.strm.avail_in)) break; + r = e === V && a === i + t.strm.avail_in ? 1 : 0, Y(t, 0, 0, r), t.pending_buf[t.pending - 4] = a, t.pending_buf[t.pending - 3] = a >> 8, t.pending_buf[t.pending - 2] = ~a, t.pending_buf[t.pending - 1] = ~a >> 8, xt(t.strm), i && (i > a && (i = a), t.strm.output.set(t.window.subarray(t.block_start, t.block_start + i), t.strm.next_out), t.strm.next_out += i, t.strm.avail_out -= i, t.strm.total_out += i, t.block_start += i, a -= i), a && (Rt(t.strm, t.strm.output, t.strm.next_out, a), t.strm.next_out += a, t.strm.avail_out -= a, t.strm.total_out += a) + } while (0 === r); + return o -= t.strm.avail_in, o && (o >= t.w_size ? (t.matches = 2, t.window.set(t.strm.input.subarray(t.strm.next_in - t.w_size, t.strm.next_in), 0), t.strstart = t.w_size, t.insert = t.strstart) : (t.window_size - t.strstart <= o && (t.strstart -= t.w_size, t.window.set(t.window.subarray(t.w_size, t.w_size + t.strstart), 0), t.matches < 2 && t.matches++, t.insert > t.strstart && (t.insert = t.strstart)), t.window.set(t.strm.input.subarray(t.strm.next_in - o, t.strm.next_in), t.strstart), t.strstart += o, t.insert += o > t.w_size - t.insert ? t.w_size - t.insert : o), t.block_start = t.strstart), t.high_water < t.strstart && (t.high_water = t.strstart), r ? 4 : e !== q && e !== V && 0 === t.strm.avail_in && t.strstart === t.block_start ? 2 : (n = t.window_size - t.strstart, t.strm.avail_in > n && t.block_start >= t.w_size && (t.block_start -= t.w_size, t.strstart -= t.w_size, t.window.set(t.window.subarray(t.w_size, t.w_size + t.strstart), 0), t.matches < 2 && t.matches++, n += t.w_size, t.insert > t.strstart && (t.insert = t.strstart)), n > t.strm.avail_in && (n = t.strm.avail_in), n && (Rt(t.strm, t.window, t.strstart, n), t.strstart += n, t.insert += n > t.w_size - t.insert ? t.w_size - t.insert : n), t.high_water < t.strstart && (t.high_water = t.strstart), n = t.bi_valid + 42 >> 3, n = t.pending_buf_size - n > 65535 ? 65535 : t.pending_buf_size - n, s = n > t.w_size ? t.w_size : n, i = t.strstart - t.block_start, (i >= s || (i || e === V) && e !== q && 0 === t.strm.avail_in && i <= n) && (a = i > n ? n : i, r = e === V && 0 === t.strm.avail_in && a === i ? 1 : 0, Y(t, t.block_start, a, r), t.block_start += a, xt(t.strm)), r ? 3 : 1) + }, + Dt = (t, e) => { + let a, i; + for (;;) { + if (t.lookahead < ut) { + if (Ut(t), t.lookahead < ut && e === q) return 1; + if (0 === t.lookahead) break + } + if (a = 0, t.lookahead >= 3 && (t.ins_h = yt(t, t.ins_h, t.window[t.strstart + 3 - 1]), 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 - ut && (t.match_length = Zt(t, a)), t.match_length >= 3) + if (i = X(t, t.strstart - t.match_start, t.match_length - 3), t.lookahead -= t.match_length, t.match_length <= t.max_lazy_match && t.lookahead >= 3) { + t.match_length--; + do { + t.strstart++, t.ins_h = yt(t, t.ins_h, t.window[t.strstart + 3 - 1]), a = t.prev[t.strstart & t.w_mask] = t.head[t.ins_h], t.head[t.ins_h] = t.strstart + } while (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 = yt(t, t.ins_h, t.window[t.strstart + 1]); + else i = X(t, 0, t.window[t.strstart]), t.lookahead--, t.strstart++; + if (i && (zt(t, !1), 0 === t.strm.avail_out)) return 1 + } + return t.insert = t.strstart < 2 ? t.strstart : 2, e === V ? (zt(t, !0), 0 === t.strm.avail_out ? 3 : 4) : t.sym_next && (zt(t, !1), 0 === t.strm.avail_out) ? 1 : 2 + }, + Tt = (t, e) => { + let a, i, n; + for (;;) { + if (t.lookahead < ut) { + if (Ut(t), t.lookahead < ut && e === q) return 1; + if (0 === t.lookahead) break + } + if (a = 0, t.lookahead >= 3 && (t.ins_h = yt(t, t.ins_h, t.window[t.strstart + 3 - 1]), 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 = 2, 0 !== a && t.prev_length < t.max_lazy_match && t.strstart - a <= t.w_size - ut && (t.match_length = Zt(t, a), t.match_length <= 5 && (t.strategy === rt || 3 === t.match_length && t.strstart - t.match_start > 4096) && (t.match_length = 2)), t.prev_length >= 3 && t.match_length <= t.prev_length) { + n = t.strstart + t.lookahead - 3, i = X(t, t.strstart - 1 - t.prev_match, t.prev_length - 3), t.lookahead -= t.prev_length - 1, t.prev_length -= 2; + do { + ++t.strstart <= n && (t.ins_h = yt(t, t.ins_h, t.window[t.strstart + 3 - 1]), a = t.prev[t.strstart & t.w_mask] = t.head[t.ins_h], t.head[t.ins_h] = t.strstart) + } while (0 != --t.prev_length); + if (t.match_available = 0, t.match_length = 2, t.strstart++, i && (zt(t, !1), 0 === t.strm.avail_out)) return 1 + } else if (t.match_available) { + if (i = X(t, 0, t.window[t.strstart - 1]), i && zt(t, !1), t.strstart++, t.lookahead--, 0 === t.strm.avail_out) return 1 + } else t.match_available = 1, t.strstart++, t.lookahead-- + } + return t.match_available && (i = X(t, 0, t.window[t.strstart - 1]), t.match_available = 0), t.insert = t.strstart < 2 ? t.strstart : 2, e === V ? (zt(t, !0), 0 === t.strm.avail_out ? 3 : 4) : t.sym_next && (zt(t, !1), 0 === t.strm.avail_out) ? 1 : 2 + }; + + function Ot(t, e, a, i, n) { + this.good_length = t, this.max_lazy = e, this.nice_length = a, this.max_chain = i, this.func = n + } + const It = [new Ot(0, 0, 0, 0, St), new Ot(4, 4, 8, 4, Dt), new Ot(4, 5, 16, 8, Dt), new Ot(4, 6, 32, 32, Dt), new Ot(4, 4, 16, 16, Tt), new Ot(8, 16, 32, 32, Tt), new Ot(8, 16, 128, 128, Tt), new Ot(8, 32, 128, 256, Tt), new Ot(32, 128, 258, 1024, Tt), new Ot(32, 258, 258, 4096, Tt)]; + + function Ft() { + 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 = ft, 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 Uint16Array(1146), this.dyn_dtree = new Uint16Array(122), this.bl_tree = new Uint16Array(78), kt(this.dyn_ltree), kt(this.dyn_dtree), kt(this.bl_tree), this.l_desc = null, this.d_desc = null, this.bl_desc = null, this.bl_count = new Uint16Array(16), this.heap = new Uint16Array(573), kt(this.heap), this.heap_len = 0, this.heap_max = 0, this.depth = new Uint16Array(573), kt(this.depth), this.sym_buf = 0, this.lit_bufsize = 0, this.sym_next = 0, this.sym_end = 0, this.opt_len = 0, this.static_len = 0, this.matches = 0, this.insert = 0, this.bi_buf = 0, this.bi_valid = 0 + } + const Lt = t => { + if (!t) return 1; + const e = t.state; + return !e || e.strm !== t || e.status !== wt && 57 !== e.status && 69 !== e.status && 73 !== e.status && 91 !== e.status && 103 !== e.status && e.status !== mt && e.status !== bt ? 1 : 0 + }, + Nt = t => { + if (Lt(t)) return gt(t, at); + t.total_in = t.total_out = 0, t.data_type = _t; + const e = t.state; + return e.pending = 0, e.pending_out = 0, e.wrap < 0 && (e.wrap = -e.wrap), e.status = 2 === e.wrap ? 57 : e.wrap ? wt : mt, t.adler = 2 === e.wrap ? 0 : 1, e.last_flush = -2, P(e), tt + }, + Bt = t => { + const e = Nt(t); + var a; + return e === tt && ((a = t.state).window_size = 2 * a.w_size, kt(a.head), a.max_lazy_match = It[a.level].max_lazy, a.good_match = It[a.level].good_length, a.nice_match = It[a.level].nice_length, a.max_chain_length = It[a.level].max_chain, a.strstart = 0, a.block_start = 0, a.lookahead = 0, a.insert = 0, a.match_length = a.prev_length = 2, a.match_available = 0, a.ins_h = 0), e + }, + Ct = (t, e, a, i, n, s) => { + if (!t) return at; + let r = 1; + if (e === st && (e = 6), i < 0 ? (r = 0, i = -i) : i > 15 && (r = 2, i -= 16), n < 1 || n > 9 || a !== ft || i < 8 || i > 15 || e < 0 || e > 9 || s < 0 || s > ht || 8 === i && 1 !== r) return gt(t, at); + 8 === i && (i = 9); + const o = new Ft; + return t.state = o, o.strm = t, o.status = wt, o.wrap = r, 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 + 3 - 1) / 3), o.window = new Uint8Array(2 * o.w_size), o.head = new Uint16Array(o.hash_size), o.prev = new Uint16Array(o.w_size), o.lit_bufsize = 1 << n + 6, o.pending_buf_size = 4 * o.lit_bufsize, o.pending_buf = new Uint8Array(o.pending_buf_size), o.sym_buf = o.lit_bufsize, o.sym_end = 3 * (o.lit_bufsize - 1), o.level = e, o.strategy = s, o.method = a, Bt(t) + }; + var Mt = { + deflateInit: (t, e) => Ct(t, e, ft, 15, 8, dt), + deflateInit2: Ct, + deflateReset: Bt, + deflateResetKeep: Nt, + deflateSetHeader: (t, e) => Lt(t) || 2 !== t.state.wrap ? at : (t.state.gzhead = e, tt), + deflate: (t, e) => { + if (Lt(t) || e > $ || e < 0) return t ? gt(t, at) : at; + const a = t.state; + if (!t.output || 0 !== t.avail_in && !t.input || a.status === bt && e !== V) return gt(t, 0 === t.avail_out ? nt : at); + const i = a.last_flush; + if (a.last_flush = e, 0 !== a.pending) { + if (xt(t), 0 === t.avail_out) return a.last_flush = -1, tt + } else if (0 === t.avail_in && pt(e) <= pt(i) && e !== V) return gt(t, nt); + if (a.status === bt && 0 !== t.avail_in) return gt(t, nt); + if (a.status === wt && 0 === a.wrap && (a.status = mt), a.status === wt) { + let e = ft + (a.w_bits - 8 << 4) << 8, + i = -1; + if (i = a.strategy >= ot || a.level < 2 ? 0 : a.level < 6 ? 1 : 6 === a.level ? 2 : 3, e |= i << 6, 0 !== a.strstart && (e |= 32), e += 31 - e % 31, Et(a, e), 0 !== a.strstart && (Et(a, t.adler >>> 16), Et(a, 65535 & t.adler)), t.adler = 1, a.status = mt, xt(t), 0 !== a.pending) return a.last_flush = -1, tt + } + if (57 === a.status) + if (t.adler = 0, At(a, 31), At(a, 139), At(a, 8), a.gzhead) At(a, (a.gzhead.text ? 1 : 0) + (a.gzhead.hcrc ? 2 : 0) + (a.gzhead.extra ? 4 : 0) + (a.gzhead.name ? 8 : 0) + (a.gzhead.comment ? 16 : 0)), At(a, 255 & a.gzhead.time), At(a, a.gzhead.time >> 8 & 255), At(a, a.gzhead.time >> 16 & 255), At(a, a.gzhead.time >> 24 & 255), At(a, 9 === a.level ? 2 : a.strategy >= ot || a.level < 2 ? 4 : 0), At(a, 255 & a.gzhead.os), a.gzhead.extra && a.gzhead.extra.length && (At(a, 255 & a.gzhead.extra.length), At(a, a.gzhead.extra.length >> 8 & 255)), a.gzhead.hcrc && (t.adler = H(t.adler, a.pending_buf, a.pending, 0)), a.gzindex = 0, a.status = 69; + else if (At(a, 0), At(a, 0), At(a, 0), At(a, 0), At(a, 0), At(a, 9 === a.level ? 2 : a.strategy >= ot || a.level < 2 ? 4 : 0), At(a, 3), a.status = mt, xt(t), 0 !== a.pending) return a.last_flush = -1, tt; + if (69 === a.status) { + if (a.gzhead.extra) { + let e = a.pending, + i = (65535 & a.gzhead.extra.length) - a.gzindex; + for (; a.pending + i > a.pending_buf_size;) { + let n = a.pending_buf_size - a.pending; + if (a.pending_buf.set(a.gzhead.extra.subarray(a.gzindex, a.gzindex + n), a.pending), a.pending = a.pending_buf_size, a.gzhead.hcrc && a.pending > e && (t.adler = H(t.adler, a.pending_buf, a.pending - e, e)), a.gzindex += n, xt(t), 0 !== a.pending) return a.last_flush = -1, tt; + e = 0, i -= n + } + let n = new Uint8Array(a.gzhead.extra); + a.pending_buf.set(n.subarray(a.gzindex, a.gzindex + i), a.pending), a.pending += i, a.gzhead.hcrc && a.pending > e && (t.adler = H(t.adler, a.pending_buf, a.pending - e, e)), a.gzindex = 0 + } + a.status = 73 + } + if (73 === a.status) { + if (a.gzhead.name) { + let e, i = a.pending; + do { + if (a.pending === a.pending_buf_size) { + if (a.gzhead.hcrc && a.pending > i && (t.adler = H(t.adler, a.pending_buf, a.pending - i, i)), xt(t), 0 !== a.pending) return a.last_flush = -1, tt; + i = 0 + } + e = a.gzindex < a.gzhead.name.length ? 255 & a.gzhead.name.charCodeAt(a.gzindex++) : 0, At(a, e) + } while (0 !== e); + a.gzhead.hcrc && a.pending > i && (t.adler = H(t.adler, a.pending_buf, a.pending - i, i)), a.gzindex = 0 + } + a.status = 91 + } + if (91 === a.status) { + if (a.gzhead.comment) { + let e, i = a.pending; + do { + if (a.pending === a.pending_buf_size) { + if (a.gzhead.hcrc && a.pending > i && (t.adler = H(t.adler, a.pending_buf, a.pending - i, i)), xt(t), 0 !== a.pending) return a.last_flush = -1, tt; + i = 0 + } + e = a.gzindex < a.gzhead.comment.length ? 255 & a.gzhead.comment.charCodeAt(a.gzindex++) : 0, At(a, e) + } while (0 !== e); + a.gzhead.hcrc && a.pending > i && (t.adler = H(t.adler, a.pending_buf, a.pending - i, i)) + } + a.status = 103 + } + if (103 === a.status) { + if (a.gzhead.hcrc) { + if (a.pending + 2 > a.pending_buf_size && (xt(t), 0 !== a.pending)) return a.last_flush = -1, tt; + At(a, 255 & t.adler), At(a, t.adler >> 8 & 255), t.adler = 0 + } + if (a.status = mt, xt(t), 0 !== a.pending) return a.last_flush = -1, tt + } + if (0 !== t.avail_in || 0 !== a.lookahead || e !== q && a.status !== bt) { + let i = 0 === a.level ? St(a, e) : a.strategy === ot ? ((t, e) => { + let a; + for (;;) { + if (0 === t.lookahead && (Ut(t), 0 === t.lookahead)) { + if (e === q) return 1; + break + } + if (t.match_length = 0, a = X(t, 0, t.window[t.strstart]), t.lookahead--, t.strstart++, a && (zt(t, !1), 0 === t.strm.avail_out)) return 1 + } + return t.insert = 0, e === V ? (zt(t, !0), 0 === t.strm.avail_out ? 3 : 4) : t.sym_next && (zt(t, !1), 0 === t.strm.avail_out) ? 1 : 2 + })(a, e) : a.strategy === lt ? ((t, e) => { + let a, i, n, s; + const r = t.window; + for (;;) { + if (t.lookahead <= ct) { + if (Ut(t), t.lookahead <= ct && e === q) return 1; + if (0 === t.lookahead) break + } + if (t.match_length = 0, t.lookahead >= 3 && t.strstart > 0 && (n = t.strstart - 1, i = r[n], i === r[++n] && i === r[++n] && i === r[++n])) { + s = t.strstart + ct; + do {} while (i === r[++n] && i === r[++n] && i === r[++n] && i === r[++n] && i === r[++n] && i === r[++n] && i === r[++n] && i === r[++n] && n < s); + t.match_length = ct - (s - n), t.match_length > t.lookahead && (t.match_length = t.lookahead) + } + if (t.match_length >= 3 ? (a = X(t, 1, t.match_length - 3), t.lookahead -= t.match_length, t.strstart += t.match_length, t.match_length = 0) : (a = X(t, 0, t.window[t.strstart]), t.lookahead--, t.strstart++), a && (zt(t, !1), 0 === t.strm.avail_out)) return 1 + } + return t.insert = 0, e === V ? (zt(t, !0), 0 === t.strm.avail_out ? 3 : 4) : t.sym_next && (zt(t, !1), 0 === t.strm.avail_out) ? 1 : 2 + })(a, e) : It[a.level].func(a, e); + if (3 !== i && 4 !== i || (a.status = bt), 1 === i || 3 === i) return 0 === t.avail_out && (a.last_flush = -1), tt; + if (2 === i && (e === J ? W(a) : e !== $ && (Y(a, 0, 0, !1), e === Q && (kt(a.head), 0 === a.lookahead && (a.strstart = 0, a.block_start = 0, a.insert = 0))), xt(t), 0 === t.avail_out)) return a.last_flush = -1, tt + } + return e !== V ? tt : a.wrap <= 0 ? et : (2 === a.wrap ? (At(a, 255 & t.adler), At(a, t.adler >> 8 & 255), At(a, t.adler >> 16 & 255), At(a, t.adler >> 24 & 255), At(a, 255 & t.total_in), At(a, t.total_in >> 8 & 255), At(a, t.total_in >> 16 & 255), At(a, t.total_in >> 24 & 255)) : (Et(a, t.adler >>> 16), Et(a, 65535 & t.adler)), xt(t), a.wrap > 0 && (a.wrap = -a.wrap), 0 !== a.pending ? tt : et) + }, + deflateEnd: t => { + if (Lt(t)) return at; + const e = t.state.status; + return t.state = null, e === mt ? gt(t, it) : tt + }, + deflateSetDictionary: (t, e) => { + let a = e.length; + if (Lt(t)) return at; + const i = t.state, + n = i.wrap; + if (2 === n || 1 === n && i.status !== wt || i.lookahead) return at; + if (1 === n && (t.adler = C(t.adler, e, a, 0)), i.wrap = 0, a >= i.w_size) { + 0 === n && (kt(i.head), i.strstart = 0, i.block_start = 0, i.insert = 0); + let t = new Uint8Array(i.w_size); + t.set(e.subarray(a - i.w_size, a), 0), e = t, a = i.w_size + } + const s = t.avail_in, + r = t.next_in, + o = t.input; + for (t.avail_in = a, t.next_in = 0, t.input = e, Ut(i); i.lookahead >= 3;) { + let t = i.strstart, + e = i.lookahead - 2; + do { + i.ins_h = yt(i, i.ins_h, i.window[t + 3 - 1]), i.prev[t & i.w_mask] = i.head[i.ins_h], i.head[i.ins_h] = t, t++ + } while (--e); + i.strstart = t, i.lookahead = 2, Ut(i) + } + return i.strstart += i.lookahead, i.block_start = i.strstart, i.insert = i.lookahead, i.lookahead = 0, i.match_length = i.prev_length = 2, i.match_available = 0, t.next_in = r, t.input = o, t.avail_in = s, i.wrap = n, tt + }, + deflateInfo: "pako deflate (from Nodeca project)" + }; + const Ht = (t, e) => Object.prototype.hasOwnProperty.call(t, e); + var jt = function(t) { + const e = Array.prototype.slice.call(arguments, 1); + for (; e.length;) { + const a = e.shift(); + if (a) { + if ("object" != typeof a) throw new TypeError(a + "must be non-object"); + for (const e in a) Ht(a, e) && (t[e] = a[e]) + } + } + return t + }, + Kt = t => { + let e = 0; + for (let a = 0, i = t.length; a < i; a++) e += t[a].length; + const a = new Uint8Array(e); + for (let e = 0, i = 0, n = t.length; e < n; e++) { + let n = t[e]; + a.set(n, i), i += n.length + } + return a + }; + let Pt = !0; + try { + String.fromCharCode.apply(null, new Uint8Array(1)) + } catch (t) { + Pt = !1 + } + const Yt = new Uint8Array(256); + for (let t = 0; t < 256; t++) Yt[t] = t >= 252 ? 6 : t >= 248 ? 5 : t >= 240 ? 4 : t >= 224 ? 3 : t >= 192 ? 2 : 1; + Yt[254] = Yt[254] = 1; + var Gt = t => { + if ("function" == typeof TextEncoder && TextEncoder.prototype.encode) return (new TextEncoder).encode(t); + let e, a, i, n, s, r = t.length, + o = 0; + for (n = 0; n < r; n++) a = t.charCodeAt(n), 55296 == (64512 & a) && n + 1 < r && (i = t.charCodeAt(n + 1), 56320 == (64512 & i) && (a = 65536 + (a - 55296 << 10) + (i - 56320), n++)), o += a < 128 ? 1 : a < 2048 ? 2 : a < 65536 ? 3 : 4; + for (e = new Uint8Array(o), s = 0, n = 0; s < o; n++) a = t.charCodeAt(n), 55296 == (64512 & a) && n + 1 < r && (i = t.charCodeAt(n + 1), 56320 == (64512 & i) && (a = 65536 + (a - 55296 << 10) + (i - 56320), n++)), a < 128 ? e[s++] = a : a < 2048 ? (e[s++] = 192 | a >>> 6, e[s++] = 128 | 63 & a) : a < 65536 ? (e[s++] = 224 | a >>> 12, e[s++] = 128 | a >>> 6 & 63, e[s++] = 128 | 63 & a) : (e[s++] = 240 | a >>> 18, e[s++] = 128 | a >>> 12 & 63, e[s++] = 128 | a >>> 6 & 63, e[s++] = 128 | 63 & a); + return e + }, + Xt = (t, e) => { + const a = e || t.length; + if ("function" == typeof TextDecoder && TextDecoder.prototype.decode) return (new TextDecoder).decode(t.subarray(0, e)); + let i, n; + const s = new Array(2 * a); + for (n = 0, i = 0; i < a;) { + let e = t[i++]; + if (e < 128) { + s[n++] = e; + continue + } + let r = Yt[e]; + if (r > 4) s[n++] = 65533, i += r - 1; + else { + for (e &= 2 === r ? 31 : 3 === r ? 15 : 7; r > 1 && i < a;) e = e << 6 | 63 & t[i++], r--; + r > 1 ? s[n++] = 65533 : e < 65536 ? s[n++] = e : (e -= 65536, s[n++] = 55296 | e >> 10 & 1023, s[n++] = 56320 | 1023 & e) + } + } + return ((t, e) => { + if (e < 65534 && t.subarray && Pt) return String.fromCharCode.apply(null, t.length === e ? t : t.subarray(0, e)); + let a = ""; + for (let i = 0; i < e; i++) a += String.fromCharCode(t[i]); + return a + })(s, n) + }, + Wt = (t, e) => { + (e = e || t.length) > t.length && (e = t.length); + let a = e - 1; + for (; a >= 0 && 128 == (192 & t[a]);) a--; + return a < 0 || 0 === a ? e : a + Yt[t[a]] > e ? a : e + }; + var qt = 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 + }; + const Jt = Object.prototype.toString, + { + Z_NO_FLUSH: Qt, + Z_SYNC_FLUSH: Vt, + Z_FULL_FLUSH: $t, + Z_FINISH: te, + Z_OK: ee, + Z_STREAM_END: ae, + Z_DEFAULT_COMPRESSION: ie, + Z_DEFAULT_STRATEGY: ne, + Z_DEFLATED: se + } = K; + + function re(t) { + this.options = jt({ + level: ie, + method: se, + chunkSize: 16384, + windowBits: 15, + memLevel: 8, + strategy: ne + }, t || {}); + let e = this.options; + e.raw && e.windowBits > 0 ? e.windowBits = -e.windowBits : e.gzip && e.windowBits > 0 && e.windowBits < 16 && (e.windowBits += 16), this.err = 0, this.msg = "", this.ended = !1, this.chunks = [], this.strm = new qt, this.strm.avail_out = 0; + let a = Mt.deflateInit2(this.strm, e.level, e.method, e.windowBits, e.memLevel, e.strategy); + if (a !== ee) throw new Error(j[a]); + if (e.header && Mt.deflateSetHeader(this.strm, e.header), e.dictionary) { + let t; + if (t = "string" == typeof e.dictionary ? Gt(e.dictionary) : "[object ArrayBuffer]" === Jt.call(e.dictionary) ? new Uint8Array(e.dictionary) : e.dictionary, a = Mt.deflateSetDictionary(this.strm, t), a !== ee) throw new Error(j[a]); + this._dict_set = !0 + } + } + + function oe(t, e) { + const a = new re(e); + if (a.push(t, !0), a.err) throw a.msg || j[a.err]; + return a.result + } + re.prototype.push = function(t, e) { + const a = this.strm, + i = this.options.chunkSize; + let n, s; + if (this.ended) return !1; + for (s = e === ~~e ? e : !0 === e ? te : Qt, "string" == typeof t ? a.input = Gt(t) : "[object ArrayBuffer]" === Jt.call(t) ? a.input = new Uint8Array(t) : a.input = t, a.next_in = 0, a.avail_in = a.input.length;;) + if (0 === a.avail_out && (a.output = new Uint8Array(i), a.next_out = 0, a.avail_out = i), (s === Vt || s === $t) && a.avail_out <= 6) this.onData(a.output.subarray(0, a.next_out)), a.avail_out = 0; + else { + if (n = Mt.deflate(a, s), n === ae) return a.next_out > 0 && this.onData(a.output.subarray(0, a.next_out)), n = Mt.deflateEnd(this.strm), this.onEnd(n), this.ended = !0, n === ee; + if (0 !== a.avail_out) { + if (s > 0 && a.next_out > 0) this.onData(a.output.subarray(0, a.next_out)), a.avail_out = 0; + else if (0 === a.avail_in) break + } else this.onData(a.output) + } return !0 + }, re.prototype.onData = function(t) { + this.chunks.push(t) + }, re.prototype.onEnd = function(t) { + t === ee && (this.result = Kt(this.chunks)), this.chunks = [], this.err = t, this.msg = this.strm.msg + }; + var le = { + Deflate: re, + deflate: oe, + deflateRaw: function(t, e) { + return (e = e || {}).raw = !0, oe(t, e) + }, + gzip: function(t, e) { + return (e = e || {}).gzip = !0, oe(t, e) + }, + constants: K + }; + const he = 16209; + var de = function(t, e) { + let a, i, n, s, r, o, l, h, d, _, f, c, u, w, m, b, g, p, k, v, y, x, z, A; + const E = t.state; + a = t.next_in, z = t.input, i = a + (t.avail_in - 5), n = t.next_out, A = t.output, s = n - (e - t.avail_out), r = n + (t.avail_out - 257), o = E.dmax, l = E.wsize, h = E.whave, d = E.wnext, _ = E.window, f = E.hold, c = E.bits, u = E.lencode, w = E.distcode, m = (1 << E.lenbits) - 1, b = (1 << E.distbits) - 1; + t: do { + c < 15 && (f += z[a++] << c, c += 8, f += z[a++] << c, c += 8), g = u[f & m]; + e: for (;;) { + if (p = g >>> 24, f >>>= p, c -= p, p = g >>> 16 & 255, 0 === p) A[n++] = 65535 & g; + else { + if (!(16 & p)) { + if (0 == (64 & p)) { + g = u[(65535 & g) + (f & (1 << p) - 1)]; + continue e + } + if (32 & p) { + E.mode = 16191; + break t + } + t.msg = "invalid literal/length code", E.mode = he; + break t + } + k = 65535 & g, p &= 15, p && (c < p && (f += z[a++] << c, c += 8), k += f & (1 << p) - 1, f >>>= p, c -= p), c < 15 && (f += z[a++] << c, c += 8, f += z[a++] << c, c += 8), g = w[f & b]; + a: for (;;) { + if (p = g >>> 24, f >>>= p, c -= p, p = g >>> 16 & 255, !(16 & p)) { + if (0 == (64 & p)) { + g = w[(65535 & g) + (f & (1 << p) - 1)]; + continue a + } + t.msg = "invalid distance code", E.mode = he; + break t + } + if (v = 65535 & g, p &= 15, c < p && (f += z[a++] << c, c += 8, c < p && (f += z[a++] << c, c += 8)), v += f & (1 << p) - 1, v > o) { + t.msg = "invalid distance too far back", E.mode = he; + break t + } + if (f >>>= p, c -= p, p = n - s, v > p) { + if (p = v - p, p > h && E.sane) { + t.msg = "invalid distance too far back", E.mode = he; + break t + } + if (y = 0, x = _, 0 === d) { + if (y += l - p, p < k) { + k -= p; + do { + A[n++] = _[y++] + } while (--p); + y = n - v, x = A + } + } else if (d < p) { + if (y += l + d - p, p -= d, p < k) { + k -= p; + do { + A[n++] = _[y++] + } while (--p); + if (y = 0, d < k) { + p = d, k -= p; + do { + A[n++] = _[y++] + } while (--p); + y = n - v, x = A + } + } + } else if (y += d - p, p < k) { + k -= p; + do { + A[n++] = _[y++] + } while (--p); + y = n - v, x = A + } + for (; k > 2;) A[n++] = x[y++], A[n++] = x[y++], A[n++] = x[y++], k -= 3; + k && (A[n++] = x[y++], k > 1 && (A[n++] = x[y++])) + } else { + y = n - v; + do { + A[n++] = A[y++], A[n++] = A[y++], A[n++] = A[y++], k -= 3 + } while (k > 2); + k && (A[n++] = A[y++], k > 1 && (A[n++] = A[y++])) + } + break + } + } + break + } + } while (a < i && n < r); + k = c >> 3, a -= k, c -= k << 3, f &= (1 << c) - 1, t.next_in = a, t.next_out = n, t.avail_in = a < i ? i - a + 5 : 5 - (a - i), t.avail_out = n < r ? r - n + 257 : 257 - (n - r), E.hold = f, E.bits = c + }; + const _e = 15, + fe = new Uint16Array([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]), + ce = new Uint8Array([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]), + ue = new Uint16Array([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]), + we = new Uint8Array([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]); + var me = (t, e, a, i, n, s, r, o) => { + const l = o.bits; + let h, d, _, f, c, u, w = 0, + m = 0, + b = 0, + g = 0, + p = 0, + k = 0, + v = 0, + y = 0, + x = 0, + z = 0, + A = null; + const E = new Uint16Array(16), + R = new Uint16Array(16); + let Z, U, S, D = null; + for (w = 0; w <= _e; w++) E[w] = 0; + for (m = 0; m < i; m++) E[e[a + m]]++; + for (p = l, g = _e; g >= 1 && 0 === E[g]; g--); + if (p > g && (p = g), 0 === g) return n[s++] = 20971520, n[s++] = 20971520, o.bits = 1, 0; + for (b = 1; b < g && 0 === E[b]; b++); + for (p < b && (p = b), y = 1, w = 1; w <= _e; w++) + if (y <<= 1, y -= E[w], y < 0) return -1; + if (y > 0 && (0 === t || 1 !== g)) return -1; + for (R[1] = 0, w = 1; w < _e; w++) R[w + 1] = R[w] + E[w]; + for (m = 0; m < i; m++) 0 !== e[a + m] && (r[R[e[a + m]]++] = m); + if (0 === t ? (A = D = r, u = 20) : 1 === t ? (A = fe, D = ce, u = 257) : (A = ue, D = we, u = 0), z = 0, m = 0, w = b, c = s, k = p, v = 0, _ = -1, x = 1 << p, f = x - 1, 1 === t && x > 852 || 2 === t && x > 592) return 1; + for (;;) { + Z = w - v, r[m] + 1 < u ? (U = 0, S = r[m]) : r[m] >= u ? (U = D[r[m] - u], S = A[r[m] - u]) : (U = 96, S = 0), h = 1 << w - v, d = 1 << k, b = d; + do { + d -= h, n[c + (z >> v) + d] = Z << 24 | U << 16 | S | 0 + } while (0 !== d); + for (h = 1 << w - 1; z & h;) h >>= 1; + if (0 !== h ? (z &= h - 1, z += h) : z = 0, m++, 0 == --E[w]) { + if (w === g) break; + w = e[a + r[m]] + } + if (w > p && (z & f) !== _) { + for (0 === v && (v = p), c += b, k = w - v, y = 1 << k; k + v < g && (y -= E[k + v], !(y <= 0));) k++, y <<= 1; + if (x += 1 << k, 1 === t && x > 852 || 2 === t && x > 592) return 1; + _ = z & f, n[_] = p << 24 | k << 16 | c - s | 0 + } + } + return 0 !== z && (n[c + z] = w - v << 24 | 64 << 16 | 0), o.bits = p, 0 + }; + const { + Z_FINISH: be, + Z_BLOCK: ge, + Z_TREES: pe, + Z_OK: ke, + Z_STREAM_END: ve, + Z_NEED_DICT: ye, + Z_STREAM_ERROR: xe, + Z_DATA_ERROR: ze, + Z_MEM_ERROR: Ae, + Z_BUF_ERROR: Ee, + Z_DEFLATED: Re + } = K, Ze = 16180, Ue = 16190, Se = 16191, De = 16192, Te = 16194, Oe = 16199, Ie = 16200, Fe = 16206, Le = 16209, Ne = t => (t >>> 24 & 255) + (t >>> 8 & 65280) + ((65280 & t) << 8) + ((255 & t) << 24); + + function Be() { + this.strm = null, 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 Uint16Array(320), this.work = new Uint16Array(288), this.lendyn = null, this.distdyn = null, this.sane = 0, this.back = 0, this.was = 0 + } + const Ce = t => { + if (!t) return 1; + const e = t.state; + return !e || e.strm !== t || e.mode < Ze || e.mode > 16211 ? 1 : 0 + }, + Me = t => { + if (Ce(t)) return xe; + const e = t.state; + return t.total_in = t.total_out = e.total = 0, t.msg = "", e.wrap && (t.adler = 1 & e.wrap), e.mode = Ze, e.last = 0, e.havedict = 0, e.flags = -1, e.dmax = 32768, e.head = null, e.hold = 0, e.bits = 0, e.lencode = e.lendyn = new Int32Array(852), e.distcode = e.distdyn = new Int32Array(592), e.sane = 1, e.back = -1, ke + }, + He = t => { + if (Ce(t)) return xe; + const e = t.state; + return e.wsize = 0, e.whave = 0, e.wnext = 0, Me(t) + }, + je = (t, e) => { + let a; + if (Ce(t)) return xe; + const i = t.state; + return e < 0 ? (a = 0, e = -e) : (a = 5 + (e >> 4), e < 48 && (e &= 15)), e && (e < 8 || e > 15) ? xe : (null !== i.window && i.wbits !== e && (i.window = null), i.wrap = a, i.wbits = e, He(t)) + }, + Ke = (t, e) => { + if (!t) return xe; + const a = new Be; + t.state = a, a.strm = t, a.window = null, a.mode = Ze; + const i = je(t, e); + return i !== ke && (t.state = null), i + }; + let Pe, Ye, Ge = !0; + const Xe = t => { + if (Ge) { + Pe = new Int32Array(512), Ye = new Int32Array(32); + let e = 0; + for (; 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 (me(1, t.lens, 0, 288, Pe, 0, t.work, { + bits: 9 + }), e = 0; e < 32;) t.lens[e++] = 5; + me(2, t.lens, 0, 32, Ye, 0, t.work, { + bits: 5 + }), Ge = !1 + } + t.lencode = Pe, t.lenbits = 9, t.distcode = Ye, t.distbits = 5 + }, + We = (t, e, a, i) => { + let n; + const s = t.state; + return null === s.window && (s.wsize = 1 << s.wbits, s.wnext = 0, s.whave = 0, s.window = new Uint8Array(s.wsize)), i >= s.wsize ? (s.window.set(e.subarray(a - s.wsize, a), 0), s.wnext = 0, s.whave = s.wsize) : (n = s.wsize - s.wnext, n > i && (n = i), s.window.set(e.subarray(a - i, a - i + n), s.wnext), (i -= n) ? (s.window.set(e.subarray(a - i, a), 0), s.wnext = i, s.whave = s.wsize) : (s.wnext += n, s.wnext === s.wsize && (s.wnext = 0), s.whave < s.wsize && (s.whave += n))), 0 + }; + var qe = { + inflateReset: He, + inflateReset2: je, + inflateResetKeep: Me, + inflateInit: t => Ke(t, 15), + inflateInit2: Ke, + inflate: (t, e) => { + let a, i, n, s, r, o, l, h, d, _, f, c, u, w, m, b, g, p, k, v, y, x, z = 0; + const A = new Uint8Array(4); + let E, R; + const Z = new Uint8Array([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]); + if (Ce(t) || !t.output || !t.input && 0 !== t.avail_in) return xe; + a = t.state, a.mode === Se && (a.mode = De), r = t.next_out, n = t.output, l = t.avail_out, s = t.next_in, i = t.input, o = t.avail_in, h = a.hold, d = a.bits, _ = o, f = l, x = ke; + t: for (;;) switch (a.mode) { + case Ze: + if (0 === a.wrap) { + a.mode = De; + break + } + for (; d < 16;) { + if (0 === o) break t; + o--, h += i[s++] << d, d += 8 + } + if (2 & a.wrap && 35615 === h) { + 0 === a.wbits && (a.wbits = 15), a.check = 0, A[0] = 255 & h, A[1] = h >>> 8 & 255, a.check = H(a.check, A, 2, 0), h = 0, d = 0, a.mode = 16181; + break + } + if (a.head && (a.head.done = !1), !(1 & a.wrap) || (((255 & h) << 8) + (h >> 8)) % 31) { + t.msg = "incorrect header check", a.mode = Le; + break + } + if ((15 & h) !== Re) { + t.msg = "unknown compression method", a.mode = Le; + break + } + if (h >>>= 4, d -= 4, y = 8 + (15 & h), 0 === a.wbits && (a.wbits = y), y > 15 || y > a.wbits) { + t.msg = "invalid window size", a.mode = Le; + break + } + a.dmax = 1 << a.wbits, a.flags = 0, t.adler = a.check = 1, a.mode = 512 & h ? 16189 : Se, h = 0, d = 0; + break; + case 16181: + for (; d < 16;) { + if (0 === o) break t; + o--, h += i[s++] << d, d += 8 + } + if (a.flags = h, (255 & a.flags) !== Re) { + t.msg = "unknown compression method", a.mode = Le; + break + } + if (57344 & a.flags) { + t.msg = "unknown header flags set", a.mode = Le; + break + } + a.head && (a.head.text = h >> 8 & 1), 512 & a.flags && 4 & a.wrap && (A[0] = 255 & h, A[1] = h >>> 8 & 255, a.check = H(a.check, A, 2, 0)), h = 0, d = 0, a.mode = 16182; + case 16182: + for (; d < 32;) { + if (0 === o) break t; + o--, h += i[s++] << d, d += 8 + } + a.head && (a.head.time = h), 512 & a.flags && 4 & a.wrap && (A[0] = 255 & h, A[1] = h >>> 8 & 255, A[2] = h >>> 16 & 255, A[3] = h >>> 24 & 255, a.check = H(a.check, A, 4, 0)), h = 0, d = 0, a.mode = 16183; + case 16183: + for (; d < 16;) { + if (0 === o) break t; + o--, h += i[s++] << d, d += 8 + } + a.head && (a.head.xflags = 255 & h, a.head.os = h >> 8), 512 & a.flags && 4 & a.wrap && (A[0] = 255 & h, A[1] = h >>> 8 & 255, a.check = H(a.check, A, 2, 0)), h = 0, d = 0, a.mode = 16184; + case 16184: + if (1024 & a.flags) { + for (; d < 16;) { + if (0 === o) break t; + o--, h += i[s++] << d, d += 8 + } + a.length = h, a.head && (a.head.extra_len = h), 512 & a.flags && 4 & a.wrap && (A[0] = 255 & h, A[1] = h >>> 8 & 255, a.check = H(a.check, A, 2, 0)), h = 0, d = 0 + } else a.head && (a.head.extra = null); + a.mode = 16185; + case 16185: + if (1024 & a.flags && (c = a.length, c > o && (c = o), c && (a.head && (y = a.head.extra_len - a.length, a.head.extra || (a.head.extra = new Uint8Array(a.head.extra_len)), a.head.extra.set(i.subarray(s, s + c), y)), 512 & a.flags && 4 & a.wrap && (a.check = H(a.check, i, c, s)), o -= c, s += c, a.length -= c), a.length)) break t; + a.length = 0, a.mode = 16186; + case 16186: + if (2048 & a.flags) { + if (0 === o) break t; + c = 0; + do { + y = i[s + c++], a.head && y && a.length < 65536 && (a.head.name += String.fromCharCode(y)) + } while (y && c < o); + if (512 & a.flags && 4 & a.wrap && (a.check = H(a.check, i, c, s)), o -= c, s += c, y) break t + } else a.head && (a.head.name = null); + a.length = 0, a.mode = 16187; + case 16187: + if (4096 & a.flags) { + if (0 === o) break t; + c = 0; + do { + y = i[s + c++], a.head && y && a.length < 65536 && (a.head.comment += String.fromCharCode(y)) + } while (y && c < o); + if (512 & a.flags && 4 & a.wrap && (a.check = H(a.check, i, c, s)), o -= c, s += c, y) break t + } else a.head && (a.head.comment = null); + a.mode = 16188; + case 16188: + if (512 & a.flags) { + for (; d < 16;) { + if (0 === o) break t; + o--, h += i[s++] << d, d += 8 + } + if (4 & a.wrap && h !== (65535 & a.check)) { + t.msg = "header crc mismatch", a.mode = Le; + break + } + h = 0, d = 0 + } + a.head && (a.head.hcrc = a.flags >> 9 & 1, a.head.done = !0), t.adler = a.check = 0, a.mode = Se; + break; + case 16189: + for (; d < 32;) { + if (0 === o) break t; + o--, h += i[s++] << d, d += 8 + } + t.adler = a.check = Ne(h), h = 0, d = 0, a.mode = Ue; + case Ue: + if (0 === a.havedict) return t.next_out = r, t.avail_out = l, t.next_in = s, t.avail_in = o, a.hold = h, a.bits = d, ye; + t.adler = a.check = 1, a.mode = Se; + case Se: + if (e === ge || e === pe) break t; + case De: + if (a.last) { + h >>>= 7 & d, d -= 7 & d, a.mode = Fe; + break + } + for (; d < 3;) { + if (0 === o) break t; + o--, h += i[s++] << d, d += 8 + } + switch (a.last = 1 & h, h >>>= 1, d -= 1, 3 & h) { + case 0: + a.mode = 16193; + break; + case 1: + if (Xe(a), a.mode = Oe, e === pe) { + h >>>= 2, d -= 2; + break t + } + break; + case 2: + a.mode = 16196; + break; + case 3: + t.msg = "invalid block type", a.mode = Le + } + h >>>= 2, d -= 2; + break; + case 16193: + for (h >>>= 7 & d, d -= 7 & d; d < 32;) { + if (0 === o) break t; + o--, h += i[s++] << d, d += 8 + } + if ((65535 & h) != (h >>> 16 ^ 65535)) { + t.msg = "invalid stored block lengths", a.mode = Le; + break + } + if (a.length = 65535 & h, h = 0, d = 0, a.mode = Te, e === pe) break t; + case Te: + a.mode = 16195; + case 16195: + if (c = a.length, c) { + if (c > o && (c = o), c > l && (c = l), 0 === c) break t; + n.set(i.subarray(s, s + c), r), o -= c, s += c, l -= c, r += c, a.length -= c; + break + } + a.mode = Se; + break; + case 16196: + for (; d < 14;) { + if (0 === o) break t; + o--, h += i[s++] << 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, a.nlen > 286 || a.ndist > 30) { + t.msg = "too many length or distance symbols", a.mode = Le; + break + } + a.have = 0, a.mode = 16197; + case 16197: + for (; a.have < a.ncode;) { + for (; d < 3;) { + if (0 === o) break t; + o--, h += i[s++] << d, d += 8 + } + a.lens[Z[a.have++]] = 7 & h, h >>>= 3, d -= 3 + } + for (; a.have < 19;) a.lens[Z[a.have++]] = 0; + if (a.lencode = a.lendyn, a.lenbits = 7, E = { + bits: a.lenbits + }, x = me(0, a.lens, 0, 19, a.lencode, 0, a.work, E), a.lenbits = E.bits, x) { + t.msg = "invalid code lengths set", a.mode = Le; + break + } + a.have = 0, a.mode = 16198; + case 16198: + for (; a.have < a.nlen + a.ndist;) { + for (; z = a.lencode[h & (1 << a.lenbits) - 1], m = z >>> 24, b = z >>> 16 & 255, g = 65535 & z, !(m <= d);) { + if (0 === o) break t; + o--, h += i[s++] << d, d += 8 + } + if (g < 16) h >>>= m, d -= m, a.lens[a.have++] = g; + else { + if (16 === g) { + for (R = m + 2; d < R;) { + if (0 === o) break t; + o--, h += i[s++] << d, d += 8 + } + if (h >>>= m, d -= m, 0 === a.have) { + t.msg = "invalid bit length repeat", a.mode = Le; + break + } + y = a.lens[a.have - 1], c = 3 + (3 & h), h >>>= 2, d -= 2 + } else if (17 === g) { + for (R = m + 3; d < R;) { + if (0 === o) break t; + o--, h += i[s++] << d, d += 8 + } + h >>>= m, d -= m, y = 0, c = 3 + (7 & h), h >>>= 3, d -= 3 + } else { + for (R = m + 7; d < R;) { + if (0 === o) break t; + o--, h += i[s++] << d, d += 8 + } + h >>>= m, d -= m, y = 0, c = 11 + (127 & h), h >>>= 7, d -= 7 + } + if (a.have + c > a.nlen + a.ndist) { + t.msg = "invalid bit length repeat", a.mode = Le; + break + } + for (; c--;) a.lens[a.have++] = y + } + } + if (a.mode === Le) break; + if (0 === a.lens[256]) { + t.msg = "invalid code -- missing end-of-block", a.mode = Le; + break + } + if (a.lenbits = 9, E = { + bits: a.lenbits + }, x = me(1, a.lens, 0, a.nlen, a.lencode, 0, a.work, E), a.lenbits = E.bits, x) { + t.msg = "invalid literal/lengths set", a.mode = Le; + break + } + if (a.distbits = 6, a.distcode = a.distdyn, E = { + bits: a.distbits + }, x = me(2, a.lens, a.nlen, a.ndist, a.distcode, 0, a.work, E), a.distbits = E.bits, x) { + t.msg = "invalid distances set", a.mode = Le; + break + } + if (a.mode = Oe, e === pe) break t; + case Oe: + a.mode = Ie; + case Ie: + if (o >= 6 && l >= 258) { + t.next_out = r, t.avail_out = l, t.next_in = s, t.avail_in = o, a.hold = h, a.bits = d, de(t, f), r = t.next_out, n = t.output, l = t.avail_out, s = t.next_in, i = t.input, o = t.avail_in, h = a.hold, d = a.bits, a.mode === Se && (a.back = -1); + break + } + for (a.back = 0; z = a.lencode[h & (1 << a.lenbits) - 1], m = z >>> 24, b = z >>> 16 & 255, g = 65535 & z, !(m <= d);) { + if (0 === o) break t; + o--, h += i[s++] << d, d += 8 + } + if (b && 0 == (240 & b)) { + for (p = m, k = b, v = g; z = a.lencode[v + ((h & (1 << p + k) - 1) >> p)], m = z >>> 24, b = z >>> 16 & 255, g = 65535 & z, !(p + m <= d);) { + if (0 === o) break t; + o--, h += i[s++] << d, d += 8 + } + h >>>= p, d -= p, a.back += p + } + if (h >>>= m, d -= m, a.back += m, a.length = g, 0 === b) { + a.mode = 16205; + break + } + if (32 & b) { + a.back = -1, a.mode = Se; + break + } + if (64 & b) { + t.msg = "invalid literal/length code", a.mode = Le; + break + } + a.extra = 15 & b, a.mode = 16201; + case 16201: + if (a.extra) { + for (R = a.extra; d < R;) { + if (0 === o) break t; + o--, h += i[s++] << 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 = 16202; + case 16202: + for (; z = a.distcode[h & (1 << a.distbits) - 1], m = z >>> 24, b = z >>> 16 & 255, g = 65535 & z, !(m <= d);) { + if (0 === o) break t; + o--, h += i[s++] << d, d += 8 + } + if (0 == (240 & b)) { + for (p = m, k = b, v = g; z = a.distcode[v + ((h & (1 << p + k) - 1) >> p)], m = z >>> 24, b = z >>> 16 & 255, g = 65535 & z, !(p + m <= d);) { + if (0 === o) break t; + o--, h += i[s++] << d, d += 8 + } + h >>>= p, d -= p, a.back += p + } + if (h >>>= m, d -= m, a.back += m, 64 & b) { + t.msg = "invalid distance code", a.mode = Le; + break + } + a.offset = g, a.extra = 15 & b, a.mode = 16203; + case 16203: + if (a.extra) { + for (R = a.extra; d < R;) { + if (0 === o) break t; + o--, h += i[s++] << 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 = Le; + break + } + a.mode = 16204; + case 16204: + if (0 === l) break t; + if (c = f - l, a.offset > c) { + if (c = a.offset - c, c > a.whave && a.sane) { + t.msg = "invalid distance too far back", a.mode = Le; + break + } + c > a.wnext ? (c -= a.wnext, u = a.wsize - c) : u = a.wnext - c, c > a.length && (c = a.length), w = a.window + } else w = n, u = r - a.offset, c = a.length; + c > l && (c = l), l -= c, a.length -= c; + do { + n[r++] = w[u++] + } while (--c); + 0 === a.length && (a.mode = Ie); + break; + case 16205: + if (0 === l) break t; + n[r++] = a.length, l--, a.mode = Ie; + break; + case Fe: + if (a.wrap) { + for (; d < 32;) { + if (0 === o) break t; + o--, h |= i[s++] << d, d += 8 + } + if (f -= l, t.total_out += f, a.total += f, 4 & a.wrap && f && (t.adler = a.check = a.flags ? H(a.check, n, f, r - f) : C(a.check, n, f, r - f)), f = l, 4 & a.wrap && (a.flags ? h : Ne(h)) !== a.check) { + t.msg = "incorrect data check", a.mode = Le; + break + } + h = 0, d = 0 + } + a.mode = 16207; + case 16207: + if (a.wrap && a.flags) { + for (; d < 32;) { + if (0 === o) break t; + o--, h += i[s++] << d, d += 8 + } + if (4 & a.wrap && h !== (4294967295 & a.total)) { + t.msg = "incorrect length check", a.mode = Le; + break + } + h = 0, d = 0 + } + a.mode = 16208; + case 16208: + x = ve; + break t; + case Le: + x = ze; + break t; + case 16210: + return Ae; + default: + return xe + } + return t.next_out = r, t.avail_out = l, t.next_in = s, t.avail_in = o, a.hold = h, a.bits = d, (a.wsize || f !== t.avail_out && a.mode < Le && (a.mode < Fe || e !== be)) && We(t, t.output, t.next_out, f - t.avail_out), _ -= t.avail_in, f -= t.avail_out, t.total_in += _, t.total_out += f, a.total += f, 4 & a.wrap && f && (t.adler = a.check = a.flags ? H(a.check, n, f, t.next_out - f) : C(a.check, n, f, t.next_out - f)), t.data_type = a.bits + (a.last ? 64 : 0) + (a.mode === Se ? 128 : 0) + (a.mode === Oe || a.mode === Te ? 256 : 0), (0 === _ && 0 === f || e === be) && x === ke && (x = Ee), x + }, + inflateEnd: t => { + if (Ce(t)) return xe; + let e = t.state; + return e.window && (e.window = null), t.state = null, ke + }, + inflateGetHeader: (t, e) => { + if (Ce(t)) return xe; + const a = t.state; + return 0 == (2 & a.wrap) ? xe : (a.head = e, e.done = !1, ke) + }, + inflateSetDictionary: (t, e) => { + const a = e.length; + let i, n, s; + return Ce(t) ? xe : (i = t.state, 0 !== i.wrap && i.mode !== Ue ? xe : i.mode === Ue && (n = 1, n = C(n, e, a, 0), n !== i.check) ? ze : (s = We(t, e, a, a), s ? (i.mode = 16210, Ae) : (i.havedict = 1, ke))) + }, + inflateInfo: "pako inflate (from Nodeca project)" + }; + var Je = 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 + }; + const Qe = Object.prototype.toString, + { + Z_NO_FLUSH: Ve, + Z_FINISH: $e, + Z_OK: ta, + Z_STREAM_END: ea, + Z_NEED_DICT: aa, + Z_STREAM_ERROR: ia, + Z_DATA_ERROR: na, + Z_MEM_ERROR: sa + } = K; + + function ra(t) { + this.options = jt({ + chunkSize: 65536, + windowBits: 15, + to: "" + }, t || {}); + const e = this.options; + e.raw && e.windowBits >= 0 && e.windowBits < 16 && (e.windowBits = -e.windowBits, 0 === e.windowBits && (e.windowBits = -15)), !(e.windowBits >= 0 && e.windowBits < 16) || t && t.windowBits || (e.windowBits += 32), e.windowBits > 15 && e.windowBits < 48 && 0 == (15 & e.windowBits) && (e.windowBits |= 15), this.err = 0, this.msg = "", this.ended = !1, this.chunks = [], this.strm = new qt, this.strm.avail_out = 0; + let a = qe.inflateInit2(this.strm, e.windowBits); + if (a !== ta) throw new Error(j[a]); + if (this.header = new Je, qe.inflateGetHeader(this.strm, this.header), e.dictionary && ("string" == typeof e.dictionary ? e.dictionary = Gt(e.dictionary) : "[object ArrayBuffer]" === Qe.call(e.dictionary) && (e.dictionary = new Uint8Array(e.dictionary)), e.raw && (a = qe.inflateSetDictionary(this.strm, e.dictionary), a !== ta))) throw new Error(j[a]) + } + + function oa(t, e) { + const a = new ra(e); + if (a.push(t), a.err) throw a.msg || j[a.err]; + return a.result + } + ra.prototype.push = function(t, e) { + const a = this.strm, + i = this.options.chunkSize, + n = this.options.dictionary; + let s, r, o; + if (this.ended) return !1; + for (r = e === ~~e ? e : !0 === e ? $e : Ve, "[object ArrayBuffer]" === Qe.call(t) ? a.input = new Uint8Array(t) : a.input = t, a.next_in = 0, a.avail_in = a.input.length;;) { + for (0 === a.avail_out && (a.output = new Uint8Array(i), a.next_out = 0, a.avail_out = i), s = qe.inflate(a, r), s === aa && n && (s = qe.inflateSetDictionary(a, n), s === ta ? s = qe.inflate(a, r) : s === na && (s = aa)); a.avail_in > 0 && s === ea && a.state.wrap > 0 && 0 !== t[a.next_in];) qe.inflateReset(a), s = qe.inflate(a, r); + switch (s) { + case ia: + case na: + case aa: + case sa: + return this.onEnd(s), this.ended = !0, !1 + } + if (o = a.avail_out, a.next_out && (0 === a.avail_out || s === ea)) + if ("string" === this.options.to) { + let t = Wt(a.output, a.next_out), + e = a.next_out - t, + n = Xt(a.output, t); + a.next_out = e, a.avail_out = i - e, e && a.output.set(a.output.subarray(t, t + e), 0), this.onData(n) + } else this.onData(a.output.length === a.next_out ? a.output : a.output.subarray(0, a.next_out)); + if (s !== ta || 0 !== o) { + if (s === ea) return s = qe.inflateEnd(this.strm), this.onEnd(s), this.ended = !0, !0; + if (0 === a.avail_in) break + } + } + return !0 + }, ra.prototype.onData = function(t) { + this.chunks.push(t) + }, ra.prototype.onEnd = function(t) { + t === ta && ("string" === this.options.to ? this.result = this.chunks.join("") : this.result = Kt(this.chunks)), this.chunks = [], this.err = t, this.msg = this.strm.msg + }; + var la = { + Inflate: ra, + inflate: oa, + inflateRaw: function(t, e) { + return (e = e || {}).raw = !0, oa(t, e) + }, + ungzip: oa, + constants: K + }; + const { + Deflate: ha, + deflate: da, + deflateRaw: _a, + gzip: fa + } = le, { + Inflate: ca, + inflate: ua, + inflateRaw: wa, + ungzip: ma + } = la; + var ba = ha, + ga = da, + pa = _a, + ka = fa, + va = ca, + ya = ua, + xa = wa, + za = ma, + Aa = K, + Ea = { + Deflate: ba, + deflate: ga, + deflateRaw: pa, + gzip: ka, + Inflate: va, + inflate: ya, + inflateRaw: xa, + ungzip: za, + constants: Aa + }; + t.Deflate = ba, t.Inflate = va, t.constants = Aa, t.default = Ea, t.deflate = ga, t.deflateRaw = pa, t.gzip = ka, t.inflate = ya, t.inflateRaw = xa, t.ungzip = za, Object.defineProperty(t, "__esModule", { + value: !0 + }) +})); \ No newline at end of file diff --git a/xiaosa/js/quark.min.js b/xiaosa/js/quark.min.js new file mode 100644 index 00000000..b2e82df5 --- /dev/null +++ b/xiaosa/js/quark.min.js @@ -0,0 +1,3057 @@ +import cheerio from "assets://js/lib/cheerio.min.js"; +import "assets://js/lib/crypto-js.js"; +import "./jsencrypt.js"; +import "./node-rsa.js"; +import "./pako.min.js"; +import 模板 from "./模板.js"; +import { + gbkTool +} from "./gbk.js"; +import "./json5.js"; +import "./jinja.js"; +const _jinja2 = cheerio.jinja2; +cheerio.jinja2 = function(template, obj) { + try { + return jinja.render(template, obj) + } catch (e) { + console.log("新的jinja2库渲染失败,换回原始cheerio:" + e.message); + return _jinja2(template, obj) + } +}; +let vercode = typeof pdfl === "function" ? "drpy2.1" : "drpy2"; +const VERSION = vercode + " 3.9.51beta5 20241104"; +const UpdateInfo = [{ + date: "20241104", + title: "drpy更新,增加新特性", + version: "3.9.51beta5 20241104", + msg: ` + 1. rule增加 搜索验证标识 属性,可以不定义,默认为 '系统安全验证|请输入验证码' + 2. rule增加 searchNoPage 属性,可以不定义,如果定义 1 将关闭该源的搜索翻页功能,超过1页直接返回空 + ` +}]; + +function getUpdateInfo() { + return UpdateInfo.map(_o => { + _o.msg = _o.msg.trim().split("\n").map(_it => _it.trim()).join("\n"); + return _o + }) +} + +function init_test() { + console.log("init_test_start"); + console.log("当前版本号:" + VERSION); + console.log("本地代理地址:" + getProxyUrl()); + console.log(RKEY); + console.log(JSON.stringify(rule)); + console.log("init_test_end") +} + +function ocr_demo_test() { + let img_base64 = `iVBORw0KGgoAAAANSUhEUgAAAIAAAAAoBAMAAADEX+97AAAAG1BMVEXz+/4thQTa7N6QwIFFkyNeokKozqDB3b93sWHFR+MEAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABN0lEQVRIie2TQU+DQBCFt9vScvQpxR4xrcSjJCZ67JDGXsX+AdR4B3vpsSYm/m2HXaRLmuySepR3Gdidb/btDAjRq5dT96eCMlfBuzi1QLZUoZy2yz5sOvI+9iomaPEZ6nWnEtxqIyiM1RcAy44GNDhBXUjot/VVNweV1ah68FqWRyjKIOqAcyYF6rGcmpYnHzGt3fycNoMw0d3/THFu7hFSJ/8OXO6iTM8/KSg09obAzIHLO250LgQ0txOZSfgrV4Exdw98uGycJ0ErAeExZGhOmFHV9zHO6qVSj0MpLq7xZON56o++MjlsEgfVhbQWWME+xQX7J4V6zfi9A1Ly9rP1BvEXp+BbVJ/M77n+wfOIDVp51pZ4iBxvmj9AGrtvry6emwfKnVkW+ZRKd5ZNMvob36vXP9YPDmQki8QiCFAAAAAASUVORK5CYII=`; + OcrApi.api = OCR_API; + let code = OcrApi.classification(img_base64); + log("测试验证码图片的ocr识别结果为:" + code) +} + +function rsa_demo_test() { + let t1 = (new Date).getTime(); + let pkcs1_public = ` +-----BEGIN RSA PUBLIC KEY----- +MEgCQQCrI0pQ/ERRpJ3Ou190XJedFq846nDYP52rOtXyDxlFK5D3p6JJu2RwsKwy +lsQ9xY0xYPpRZUZKMEeR7e9gmRNLAgMBAAE= +-----END RSA PUBLIC KEY----- +`.trim(); + let pkcs1_public_pem = ` +MEgCQQCrI0pQ/ERRpJ3Ou190XJedFq846nDYP52rOtXyDxlFK5D3p6JJu2RwsKwy +lsQ9xY0xYPpRZUZKMEeR7e9gmRNLAgMBAAE= +`.trim(); + let pkcs8_public = ` +-----BEGIN PUBLIC KEY----- +MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKsjSlD8RFGknc67X3Rcl50WrzjqcNg/ +nas61fIPGUUrkPenokm7ZHCwrDKWxD3FjTFg+lFlRkowR5Ht72CZE0sCAwEAAQ== +-----END PUBLIC KEY-----`.trim(); + let pkcs8_public_pem = ` +MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKsjSlD8RFGknc67X3Rcl50WrzjqcNg/ +nas61fIPGUUrkPenokm7ZHCwrDKWxD3FjTFg+lFlRkowR5Ht72CZE0sCAwEAAQ== +`.trim(); + let pkcs1_private = ` +-----BEGIN RSA PRIVATE KEY----- +MIIBOAIBAAJBAKsjSlD8RFGknc67X3Rcl50WrzjqcNg/nas61fIPGUUrkPenokm7 +ZHCwrDKWxD3FjTFg+lFlRkowR5Ht72CZE0sCAwEAAQI/b6OV1z65UokQaMvSeRXt +0Yv6wiYtduQI9qpq5nzy/ytaqsbBfClNTi/HifKPKxlRouWFkc518EQI8LBxoarJ +AiEA4DaONMplV8PQNa3TKn2F+SDEvLOCjdL0kHKdN90Ti28CIQDDZnTBaHgZwZbA +hS7Bbf5yvwjWMhO6Y7l04/Qm7R+35QIgPuQuqXIoUSD080mp1N5WyRW++atksIF+ +5lGv9e6GP/MCICnj8y/rl6Pd7tXDN6zcSeqLrfdNsREKhB3dKOCXgW9JAiAFYtFS +EJNBXVRTK42SNsZ2hJ/9xLwOwnH2epT8Q43s3Q== +-----END RSA PRIVATE KEY----- +`.trim(); + let pkcs8_private = ` +-----BEGIN PRIVATE KEY----- +MIIBUgIBADANBgkqhkiG9w0BAQEFAASCATwwggE4AgEAAkEAqyNKUPxEUaSdzrtf +dFyXnRavOOpw2D+dqzrV8g8ZRSuQ96eiSbtkcLCsMpbEPcWNMWD6UWVGSjBHke3v +YJkTSwIDAQABAj9vo5XXPrlSiRBoy9J5Fe3Ri/rCJi125Aj2qmrmfPL/K1qqxsF8 +KU1OL8eJ8o8rGVGi5YWRznXwRAjwsHGhqskCIQDgNo40ymVXw9A1rdMqfYX5IMS8 +s4KN0vSQcp033ROLbwIhAMNmdMFoeBnBlsCFLsFt/nK/CNYyE7pjuXTj9CbtH7fl +AiA+5C6pcihRIPTzSanU3lbJFb75q2SwgX7mUa/17oY/8wIgKePzL+uXo93u1cM3 +rNxJ6out902xEQqEHd0o4JeBb0kCIAVi0VIQk0FdVFMrjZI2xnaEn/3EvA7CcfZ6 +lPxDjezd +-----END PRIVATE KEY----- +`.trim(); + let data = ` +NodeRsa +这是node-rsa 现在修改集成在drpy里使用`.trim(); + let encryptedWithPublic = NODERSA.encryptRSAWithPublicKey(data, pkcs1_public, { + outputEncoding: "base64", + options: { + environment: "browser", + encryptionScheme: "pkcs1_oaep" + } + }); + console.log("公钥加密"); + console.log(encryptedWithPublic); + let decryptedWithPrivate = NODERSA.decryptRSAWithPrivateKey(encryptedWithPublic, pkcs1_private, { + options: { + environment: "browser", + encryptionScheme: "pkcs1_oaep" + } + }); + console.log("私钥解密"); + console.log(decryptedWithPrivate); + let pkcs1_sha256_sign = NODERSA.sign("1", pkcs1_private, { + outputEncoding: "base64", + options: { + environment: "browser", + encryptionScheme: "pkcs1", + signingScheme: "pkcs1-sha256" + } + }); + console.log("pkcs1_sha256_sign"); + console.log(pkcs1_sha256_sign); + let pkcs1_sha256_sign_verify = NODERSA.verify("1", "Oulx2QrgeipKYBtqEDqFb2s/+ndk2cGQxO4CkhU7iBM1vyNmmvqubpsmeoUuN3waGrYZLknSEdwBkfv0tUMpFQ==", pkcs1_private, { + options: { + environment: "browser", + encryptionScheme: "pkcs1", + signingScheme: "pkcs1-sha256" + } + }); + console.log("pkcs1_sha256_sign_verify"); + console.log(pkcs1_sha256_sign_verify); + let pkcs1_oaep_sha256 = NODERSA.encryptRSAWithPublicKey(data, `-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEA5KOq1gRNyllLNWKQy8sGpZE3Q1ULLSmzZw+eaAhj9lvqn7IsT1du +SYn08FfoOA2qMwtz+1O2l1mgzNoSVCyVpVabnTG+C9XKeZXAnJHd8aYA7l7Sxhdm +kte+iymYZ0ZBPzijo8938iugtVvqi9UgDmnY3u/NlQDqiL5BGqSxSTd/Sgmy3zD8 +PYzEa3wD9vehQ5fZZ45vKIq8GNVh2Z8+IGO85FF1OsN7+b2yGJa/FmDDNn0+HP+m +PfI+kYBqEVpo0Ztbc3UdxgFwGC8O1n8AQyriwHnSOtIiuBH62J/7qyC/3LEAApRb +Dd9YszqzmODjQUddZKHmvc638VW+azc0EwIDAQAB +-----END RSA PUBLIC KEY----- +`, { + outputEncoding: "base64", + options: { + environment: "browser", + encryptionScheme: { + scheme: "pkcs1_oaep", + hash: "sha256" + } + } + }); + console.log("pkcs1_oaep_sha256"); + console.log(pkcs1_oaep_sha256); + decryptedWithPrivate = NODERSA.decryptRSAWithPrivateKey("kSZesAAyYh2hdsQnYMdGqb6gKAzTauBKouvBzWcc4+F8RvGd0nwO6mVkUMVilPgUuNxjEauHayHiY8gI3Py45UI3+km0rSGyHrS6dHiHgCkMejXHieglYzAB0IxX3Jkm4z/66bdB/D+GFy0oct5fGCMI1UHPjEAYOsazJDa8lBFNbjiWFeb/qiZtIx3vGM7KYPAZzyRf/zPbbQ8zy9xOmRuOl5nnIxgo0Okp3KO/RIPO4GZOSBA8f2lx1UtNwwrXAMpcNavtoqHVcjJ/9lcotXYQFrn5b299pSIRf2gVm8ZJ31SK6Z8cc14nKtvgnmsgClDzIXJ1o1RcDK+knVAySg==", `-----BEGIN RSA PRIVATE KEY----- +MIIEpAIBAAKCAQEA5KOq1gRNyllLNWKQy8sGpZE3Q1ULLSmzZw+eaAhj9lvqn7Is +T1duSYn08FfoOA2qMwtz+1O2l1mgzNoSVCyVpVabnTG+C9XKeZXAnJHd8aYA7l7S +xhdmkte+iymYZ0ZBPzijo8938iugtVvqi9UgDmnY3u/NlQDqiL5BGqSxSTd/Sgmy +3zD8PYzEa3wD9vehQ5fZZ45vKIq8GNVh2Z8+IGO85FF1OsN7+b2yGJa/FmDDNn0+ +HP+mPfI+kYBqEVpo0Ztbc3UdxgFwGC8O1n8AQyriwHnSOtIiuBH62J/7qyC/3LEA +ApRbDd9YszqzmODjQUddZKHmvc638VW+azc0EwIDAQABAoIBADZ/QGgUzInvsLp/ +zO2WbfYm39o/uhNAvk9RbLt1TIZbMFhyOpeKynHi3Swwd9xsfWX/U9zS/lGi/m31 +iKrhmaW4OA1G3vqpMcK7TBbFufYwUEaA+ZJX344euH8pIfdzyneMQ4z3Far2dS7l +QsmjuilVV2kEFadveXewiYoVOWCu00w6bN8wy2SIHlQn+kIL6HQhWz12iKKflIKu +eGRdzLHsKmBt6WbY1Wuhx7HU0fAKdlBDPxCHNlI+kybUYE9o5C2vJiaVM5wqJBgZ +8Dz8kt1QbLJ910JoLXkLVQ8uC8NJKQwFtqQjTGPnEq0+wbgz6Ij599rKZkwW/xq9 +l6KoUiECgYEA6Ah42tVdkNW047f03xVYXFH96RgorHRS36mR8Y+ONUq1fwKidovC +WjwVujt4OPf3l1W6iyn/F6cu/bsmvPrSc3HTN0B1V31QK4OjgetxQ2PSbTldH02J +NPzkt+v+cPxXpx/P5mgt7Weefw5txU547KubGrHUV5rBKFtIx9pj16MCgYEA/EF0 +o19+D24DZAPwlDS5VbEd7FStnwY4oQ5PqbuNOSbSJLMWU0AqzXcRokp8UTyCZ0X3 +ATkS1REq97kShCuR+npTR6a6DlY7sdpPI1SMLNajgB2tkx0EOzX+PfNIbHUd4jpJ +I0ZMAHv/OOtkzQHDaeTWBTrzsWm6/nTiykfduNECgYEA46AMD4HpPECqKAs66e5i +tI6q7JSKskObWVdcmQEfnSAhVOwcvPb2Ptda6UuV8S0xcwDi88rLOUUFUFzc79+P +vTkY38cYVi/VChsluDpk7ptqv0PbGu5Rf+3n4pZdEjI7OvR2W64wAAn67uIUxc7p +yiO/ET0K9rYWb6S9jXGtKMkCgYEA2kPAqoO7zZoBMQ7/oR0lp/HC1HRIbiqx4RlC +8Lgpb+QZPEwA6zPAVVvLVENi4d+bbcRp/xLlKpraNNJcJSSWAMbLPFoU7sbKjA87 +HnTPfRSTEA2d3Ibk3F7Rh8TzS3Ti0JZiJjVzGZAwu41iAMifzwaD8K6boUy80eNN +QH2CaaECgYBUsLYvC/MiYg3w+LGOONuQongoVUXjGqnw2bjVa9RK7lwRdXPUqJ51 +MpVO98IkoLvGSI/0sGNP3GKNhC+eMGjJAVwFyEuOn+JsmMv9Y9uStIVi5tIHIhKw +m7mp8il0kaftHdSxTbspG3tZ2fjIiFIZkLEOmRpd7ogWumgOajzUdA== +-----END RSA PRIVATE KEY-----`, { + options: { + environment: "browser", + encryptionScheme: "pkcs1_oaep" + } + }); + console.log("decryptedWithPrivate"); + console.log(decryptedWithPrivate); + (() => { + let key = new NODERSA.NodeRSA({ + b: 1024 + }); + key.setOptions({ + encryptionScheme: "pkcs1" + }); + let text = `你好drpy node-ras`; + let encrypted = key.encrypt(text, "base64"); + console.log("encrypted: ", encrypted); + const decrypted = key.decrypt(encrypted, "utf8"); + console.log("decrypted: ", decrypted) + })(); + let t2 = (new Date).getTime(); + console.log("rsa_demo_test 测试耗时:" + (t2 - t1) + "毫秒") +} + +function pre() { + if (typeof rule.预处理 === "string" && rule.预处理 && rule.预处理.trim()) { + let code = rule.预处理.trim(); + console.log("执行预处理代码:" + code); + if (code.startsWith("js:")) { + code = code.replace("js:", "") + } + try { + eval(code) + } catch (e) { + console.log(`预处理执行失败:${e.message}`) + } + } +} +let rule = {}; +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"; +if (typeof MY_URL === "undefined") { + var MY_URL +} +var HOST; +var RKEY; +var fetch; +var print; +var log; +var rule_fetch_params; +var fetch_params; +var oheaders; +var _pdfh; +var _pdfa; +var _pd; +const DOM_CHECK_ATTR = /(url|src|href|-original|-src|-play|-url|style)$/; +const SPECIAL_URL = /^(ftp|magnet|thunder|ws):/; +const NOADD_INDEX = /:eq|:lt|:gt|:first|:last|^body$|^#/; +const URLJOIN_ATTR = /(url|src|href|-original|-src|-play|-url|style)$|^(data-|url-|src-)/; +const SELECT_REGEX = /:eq|:lt|:gt|#/g; +const SELECT_REGEX_A = /:eq|:lt|:gt/g; +const $js = { + toString(func) { + let strfun = func.toString(); + return strfun.replace(/^\(\)(\s+)?=>(\s+)?\{/, "js:").replace(/\}$/, "") + } +}; + +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); + + 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 + } + return { + atob: atob, + btoa: btoa + } +} +if (typeof atob !== "function" || typeof btoa !== "function") { + var { + atob, + btoa + } = window_b64() +} +if (typeof Object.assign !== "function") { + Object.assign = function() { + let target = arguments[0]; + for (let i = 1; i < arguments.length; i++) { + let source = arguments[i]; + for (let key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key] + } + } + } + return target + } +} +if (!String.prototype.includes) { + String.prototype.includes = function(search, start) { + if (typeof start !== "number") { + start = 0 + } + if (start + search.length > this.length) { + return false + } else { + return this.indexOf(search, start) !== -1 + } + } +} +if (!Array.prototype.includes) { + Object.defineProperty(Array.prototype, "includes", { + value: function(searchElement, fromIndex) { + if (this == null) { + throw new TypeError('"this" is null or not defined') + } + var o = Object(this); + var len = o.length >>> 0; + if (len === 0) { + return false + } + var n = fromIndex | 0; + var k = Math.max(n >= 0 ? n : len - Math.abs(n), 0); + while (k < len) { + if (o[k] === searchElement) { + return true + } + k++ + } + return false + }, + enumerable: false + }) +} +if (typeof String.prototype.startsWith !== "function") { + String.prototype.startsWith = function(prefix) { + return this.slice(0, prefix.length) === prefix + } +} +if (typeof String.prototype.endsWith !== "function") { + String.prototype.endsWith = function(suffix) { + return this.indexOf(suffix, this.length - suffix.length) !== -1 + } +} +Object.defineProperty(Object.prototype, "myValues", { + value: function(obj) { + if (obj == null) { + throw new TypeError("Cannot convert undefined or null to object") + } + var res = []; + for (var k in obj) { + if (obj.hasOwnProperty(k)) { + res.push(obj[k]) + } + } + return res + }, + enumerable: false +}); +if (typeof Object.prototype.values !== "function") { + Object.defineProperty(Object.prototype, "values", { + value: function(obj) { + if (obj == null) { + throw new TypeError("Cannot convert undefined or null to object") + } + var res = []; + for (var k in obj) { + if (obj.hasOwnProperty(k)) { + res.push(obj[k]) + } + } + return res + }, + enumerable: false + }) +} +if (typeof Array.prototype.join !== "function") { + Object.defineProperty(Array.prototype, "join", { + value: function(emoji) { + emoji = emoji || ""; + let self = this; + let str = ""; + let i = 0; + if (!Array.isArray(self)) { + throw String(self) + "is not Array" + } + if (self.length === 0) { + return "" + } + if (self.length === 1) { + return String(self[0]) + } + i = 1; + str = this[0]; + for (; i < self.length; i++) { + str += String(emoji) + String(self[i]) + } + return str + }, + enumerable: false + }) +} +if (typeof Array.prototype.toReversed !== "function") { + Object.defineProperty(Array.prototype, "toReversed", { + value: function() { + const clonedList = this.slice(); + const reversedList = clonedList.reverse(); + return reversedList + }, + enumerable: false + }) +} +Object.defineProperty(Array.prototype, "append", { + value: Array.prototype.push, + enumerable: false +}); +Object.defineProperty(String.prototype, "strip", { + value: String.prototype.trim, + enumerable: false +}); +Object.defineProperty(String.prototype, "rstrip", { + value: function(chars) { + let regex = new RegExp(chars + "$"); + return this.replace(regex, "") + }, + enumerable: false +}); + +function 是否正版(vipUrl) { + let flag = new RegExp("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) +} + +function urlDeal(vipUrl) { + if (!vipUrl) { + return "" + } + if (!是否正版(vipUrl)) { + return vipUrl + } + if (!/miguvideo/.test(vipUrl)) { + vipUrl = vipUrl.split("#")[0].split("?")[0] + } + return vipUrl +} + +function setResult(d) { + if (!Array.isArray(d)) { + return [] + } + VODS = []; + d.forEach(function(it) { + let obj = { + vod_id: it.url || "", + vod_name: it.title || "", + vod_remarks: it.desc || "", + vod_content: it.content || "", + vod_pic: it.pic_url || it.img || "" + }; + let keys = Object.keys(it); + if (keys.includes("tname")) { + obj.type_name = it.tname || "" + } + if (keys.includes("tid")) { + obj.type_id = it.tid || "" + } + if (keys.includes("year")) { + obj.vod_year = it.year || "" + } + if (keys.includes("actor")) { + obj.vod_actor = it.actor || "" + } + if (keys.includes("director")) { + obj.vod_director = it.director || "" + } + if (keys.includes("area")) { + obj.vod_area = it.area || "" + } + VODS.push(obj) + }); + return VODS +} + +function setResult2(res) { + VODS = res.list || []; + return VODS +} + +function setHomeResult(res) { + if (!res || typeof res !== "object") { + return [] + } + return setResult(res.list) +} + +function rc(js) { + if (js === "maomi_aes.js") { + var a = CryptoJS.enc.Utf8.parse("625222f9149e961d"); + var t = CryptoJS.enc.Utf8.parse("5efdtf6060e2o330"); + return { + De: function(word) { + word = CryptoJS.enc.Hex.parse(word); + return CryptoJS.AES.decrypt(CryptoJS.enc.Base64.stringify(word), a, { + iv: t, + mode: CryptoJS.mode.CBC, + padding: CryptoJS.pad.Pkcs7 + }).toString(CryptoJS.enc.Utf8) + }, + En: function(word) { + var Encrypted = CryptoJS.AES.encrypt(word, a, { + iv: t, + mode: CryptoJS.mode.CBC, + padding: CryptoJS.pad.Pkcs7 + }); + return Encrypted.ciphertext.toString() + } + } + } + return {} +} + +function maoss(jxurl, ref, key) { + fetch_params = JSON.parse(JSON.stringify(rule_fetch_params)); + eval(getCryptoJS()); + try { + var getVideoInfo = function(text) { + return CryptoJS.AES.decrypt(text, key, { + iv: iv, + padding: CryptoJS.pad.Pkcs7 + }).toString(CryptoJS.enc.Utf8) + }; + var token_key = key == undefined ? "dvyYRQlnPRCMdQSe" : key; + if (ref) { + var html = request(jxurl, { + headers: { + Referer: ref + } + }) + } else { + var html = request(jxurl) + } + if (html.indexOf("&btwaf=") != -1) { + html = request(jxurl + "&btwaf" + html.match(/&btwaf(.*?)"/)[1], { + headers: { + Referer: ref + } + }) + } + var token_iv = html.split('_token = "')[1].split('"')[0]; + var key = CryptoJS.enc.Utf8.parse(token_key); + var iv = CryptoJS.enc.Utf8.parse(token_iv); + eval(html.match(/var config = {[\s\S]*?}/)[0] + ""); + if (!config.url.startsWith("http")) { + config.url = CryptoJS.AES.decrypt(config.url, key, { + iv: iv, + padding: CryptoJS.pad.Pkcs7 + }).toString(CryptoJS.enc.Utf8) + } + return config.url + } catch (e) { + return "" + } +} + +function urlencode(str) { + str = (str + "").toString(); + return encodeURIComponent(str).replace(/!/g, "%21").replace(/'/g, "%27").replace(/\(/g, "%28").replace(/\)/g, "%29").replace(/\*/g, "%2A").replace(/%20/g, "+") +} + +function encodeUrl(str) { + if (typeof encodeURI == "function") { + return encodeURI(str) + } else { + str = (str + "").toString(); + return encodeURIComponent(str).replace(/%2F/g, "/").replace(/%3F/g, "?").replace(/%3A/g, ":").replace(/%40/g, "@").replace(/%3D/g, "=").replace(/%3A/g, ":").replace(/%2C/g, ",").replace(/%2B/g, "+").replace(/%24/g, "$") + } +} + +function base64Encode(text) { + return CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(text)) +} + +function base64Decode(text) { + return CryptoJS.enc.Utf8.stringify(CryptoJS.enc.Base64.parse(text)) +} + +function md5(text) { + return CryptoJS.MD5(text).toString() +} + +function uint8ArrayToBase64(uint8Array) { + let binaryString = String.fromCharCode.apply(null, Array.from(uint8Array)); + return btoa(binaryString) +} + +function Utf8ArrayToStr(array) { + var out, i, len, c; + var char2, char3; + out = ""; + len = array.length; + i = 0; + while (i < len) { + 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: + char2 = array[i++]; + out += String.fromCharCode((c & 31) << 6 | char2 & 63); + break; + case 14: + char2 = array[i++]; + char3 = array[i++]; + out += String.fromCharCode((c & 15) << 12 | (char2 & 63) << 6 | (char3 & 63) << 0); + break + } + } + return out +} + +function gzip(str) { + let arr = pako.gzip(str, {}); + return uint8ArrayToBase64(arr) +} + +function ungzip(b64Data) { + let strData = atob(b64Data); + const charData = strData.split("").map(function(x) { + return x.charCodeAt(0) + }); + const binData = new Uint8Array(charData); + const data = pako.inflate(binData); + return Utf8ArrayToStr(data) +} + +function encodeStr(input, encoding) { + encoding = encoding || "gbk"; + if (encoding.startsWith("gb")) { + const strTool = gbkTool(); + input = strTool.encode(input) + } + return input +} + +function decodeStr(input, encoding) { + encoding = encoding || "gbk"; + if (encoding.startsWith("gb")) { + const strTool = gbkTool(); + input = strTool.decode(input) + } + return input +} + +function getCryptoJS() { + return 'console.log("CryptoJS已装载");' +} +const RSA = { + decode: function(data, key, option) { + option = option || {}; + if (typeof JSEncrypt === "function") { + let chunkSize = option.chunkSize || 117; + let privateKey = this.getPrivateKey(key); + const decryptor = new JSEncrypt; + decryptor.setPrivateKey(privateKey); + let uncrypted = ""; + uncrypted = decryptor.decryptUnicodeLong(data); + return uncrypted + } else { + return false + } + }, + encode: function(data, key, option) { + option = option || {}; + if (typeof JSEncrypt === "function") { + let chunkSize = option.chunkSize || 117; + let publicKey = this.getPublicKey(key); + const encryptor = new JSEncrypt; + encryptor.setPublicKey(publicKey); + let encrypted = ""; + encrypted = encryptor.encryptUnicodeLong(data); + return encrypted + } else { + return false + } + }, + fixKey(key, prefix, endfix) { + if (!key.includes(prefix)) { + key = prefix + key + } + if (!key.includes(endfix)) { + key += endfix + } + return key + }, + getPrivateKey(key) { + let prefix = "-----BEGIN RSA PRIVATE KEY-----"; + let endfix = "-----END RSA PRIVATE KEY-----"; + return this.fixKey(key, prefix, endfix) + }, + getPublicKey(key) { + let prefix = "-----BEGIN PUBLIC KEY-----"; + let endfix = "-----END PUBLIC KEY-----"; + return this.fixKey(key, prefix, endfix) + } +}; + +function getProxyUrl() { + if (typeof getProxy === "function") { + return getProxy(true) + } else { + return "http://127.0.0.1:9978/proxy?do=js" + } +} + +function fixAdM3u8(m3u8_text, m3u8_url, ad_remove) { + if (!m3u8_text && !m3u8_url || !m3u8_text && m3u8_url && !m3u8_url.startsWith("http")) { + return "" + } + if (!m3u8_text) { + log("m3u8_url:" + m3u8_url); + m3u8_text = request(m3u8_url) + } + log("len(m3u8_text):" + m3u8_text.length); + if (!ad_remove) { + return m3u8_text + } + if (ad_remove.startsWith("reg:")) { + ad_remove = ad_remove.slice(4) + } else if (ad_remove.startsWith("js:")) { + ad_remove = ad_remove.slice(3) + } + let m3u8_start = m3u8_text.slice(0, m3u8_text.indexOf("#EXTINF")).trim(); + let m3u8_body = m3u8_text.slice(m3u8_text.indexOf("#EXTINF"), m3u8_text.indexOf("#EXT-X-ENDLIST")).trim(); + let m3u8_end = m3u8_text.slice(m3u8_text.indexOf("#EXT-X-ENDLIST")).trim(); + let murls = []; + let m3_body_list = m3u8_body.split("\n"); + let m3_len = m3_body_list.length; + let i = 0; + while (i < m3_len) { + let mi = m3_body_list[i]; + let mi_1 = m3_body_list[i + 1]; + if (mi.startsWith("#EXTINF")) { + murls.push([mi, mi_1].join("&")); + i += 2 + } else if (mi.startsWith("#EXT-X-DISCONTINUITY")) { + let mi_2 = m3_body_list[i + 2]; + murls.push([mi, mi_1, mi_2].join("&")); + i += 3 + } else { + break + } + } + let new_m3u8_body = []; + for (let murl of murls) { + if (ad_remove && new RegExp(ad_remove).test(murl)) {} else { + let murl_list = murl.split("&"); + if (!murl_list[murl_list.length - 1].startsWith("http") && m3u8_url.startsWith("http")) { + murl_list[murl_list.length - 1] = urljoin(m3u8_url, murl_list[murl_list.length - 1]) + } + murl_list.forEach(it => { + new_m3u8_body.push(it) + }) + } + } + new_m3u8_body = new_m3u8_body.join("\n").trim(); + m3u8_text = [m3u8_start, new_m3u8_body, m3u8_end].join("\n").trim(); + return m3u8_text +} + +function fixAdM3u8Ai(m3u8_url, headers) { + let ts = (new Date).getTime(); + let option = headers ? { + headers: headers + } : {}; + + function b(s1, s2) { + let i = 0; + while (i < s1.length) { + if (s1[i] !== s2[i]) { + break + } + i++ + } + return i + } + + function reverseString(str) { + return str.split("").reverse().join("") + } + let m3u8 = request(m3u8_url, option); + m3u8 = m3u8.trim().split("\n").map(it => it.startsWith("#") ? it : urljoin(m3u8_url, it)).join("\n"); + m3u8 = m3u8.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 = urljoin2(m3u8_url, last_url); + log("嵌套的m3u8_url:" + m3u8_url); + m3u8 = request(m3u8_url, option) + } + let s = m3u8.trim().split("\n").filter(it => it.trim()).join("\n"); + let ss = s.split("\n"); + let firststr = ""; + let maxl = 0; + let kk = 0; + let kkk = 2; + let secondstr = ""; + for (let i = 0; i < ss.length; i++) { + let s = ss[i]; + if (!s.startsWith("#")) { + if (kk == 0) firststr = s; + if (kk == 1) maxl = b(firststr, s); + if (kk > 1) { + if (maxl > b(firststr, s)) { + if (secondstr.length < 5) secondstr = s; + kkk = kkk + 2 + } else { + maxl = b(firststr, s); + kkk++ + } + } + kk++; + if (kk >= 20) break + } + } + if (kkk > 30) firststr = secondstr; + let firststrlen = firststr.length; + let ml = Math.round(ss.length / 2).toString().length; + let maxc = 0; + let laststr = ss.toReversed().find(x => { + if (!x.startsWith("#")) { + let k = b(reverseString(firststr), reverseString(x)); + maxl = b(firststr, x); + maxc++; + if (firststrlen - maxl <= ml + k || maxc > 10) { + return true + } + } + return false + }); + log("最后一条切片:" + laststr); + let ad_urls = []; + for (let i = 0; i < ss.length; i++) { + let s = ss[i]; + if (!s.startsWith("#")) { + if (b(firststr, s) < maxl) { + ad_urls.push(s); + ss.splice(i - 1, 2); + i = i - 2 + } else { + ss[i] = urljoin(m3u8_url, s) + } + } else { + ss[i] = s.replace(/URI=\"(.*)\"/, 'URI="' + urljoin(m3u8_url, "$1") + '"') + } + } + log("处理的m3u8地址:" + m3u8_url); + log("----广告地址----"); + log(ad_urls); + m3u8 = ss.join("\n"); + log("处理耗时:" + ((new Date).getTime() - ts).toString()); + return m3u8 +} + +function forceOrder(lists, key, option) { + let start = Math.floor(lists.length / 2); + let 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 += ""; + second += ""; + if (first.match(/(\d+)/) && second.match(/(\d+)/)) { + let num1 = Number(first.match(/(\d+)/)[1]); + let num2 = Number(second.match(/(\d+)/)[1]); + if (num1 > num2) { + lists.reverse() + } + } + return lists +} +let VODS = []; +let VOD = {}; +let TABS = []; +let LISTS = []; + +function getQuery(url) { + try { + if (url.indexOf("?") > -1) { + url = url.slice(url.indexOf("?") + 1) + } + let arr = url.split("#")[0].split("&"); + const resObj = {}; + arr.forEach(item => { + let arr1 = item.split("="); + let key = arr1[0]; + let value = arr1.slice(1).join("="); + resObj[key] = value + }); + return resObj + } catch (err) { + log(`getQuery发生错误:${e.message}`); + return {} + } +} + +function urljoin(fromPath, nowPath) { + fromPath = fromPath || ""; + nowPath = nowPath || ""; + return joinUrl(fromPath, nowPath) +} +var urljoin2 = urljoin; +const defaultParser = { + pdfh: pdfh, + pdfa: pdfa, + pd: pd +}; + +function pdfh2(html, parse) { + let html2 = html; + try { + if (typeof html !== "string") { + html2 = html.rr(html.ele).toString() + } + } catch (e) { + print(`html对象转文本发生了错误:${e.message}`) + } + let result = defaultParser.pdfh(html2, parse); + let option = parse.includes("&&") ? parse.split("&&").slice(-1)[0] : parse.split(" ").slice(-1)[0]; + if (/style/.test(option.toLowerCase()) && /url\(/.test(result)) { + try { + result = result.match(/url\((.*?)\)/)[1]; + result = result.replace(/^['|"](.*)['|"]$/, "$1") + } catch (e) {} + } + return result +} + +function pdfa2(html, parse) { + let html2 = html; + try { + if (typeof html !== "string") { + html2 = html.rr(html.ele).toString() + } + } catch (e) { + print(`html对象转文本发生了错误:${e.message}`) + } + return defaultParser.pdfa(html2, parse) +} + +function pd2(html, parse, uri) { + let ret = pdfh2(html, parse); + if (typeof uri === "undefined" || !uri) { + uri = "" + } + if (DOM_CHECK_ATTR.test(parse) && !SPECIAL_URL.test(ret)) { + if (/http/.test(ret)) { + ret = ret.slice(ret.indexOf("http")) + } else { + ret = urljoin(MY_URL, ret) + } + } + return ret +} +const parseTags = { + jsp: { + pdfh: pdfh2, + pdfa: pdfa2, + pd: pd2 + }, + json: { + pdfh(html, parse) { + if (!parse || !parse.trim()) { + return "" + } + if (typeof html === "string") { + html = JSON.parse(html) + } + parse = parse.trim(); + if (!parse.startsWith("$.")) { + parse = "$." + parse + } + parse = parse.split("||"); + for (let ps of parse) { + let ret = cheerio.jp(ps, html); + if (Array.isArray(ret)) { + ret = ret[0] || "" + } else { + ret = ret || "" + } + if (ret && typeof ret !== "string") { + ret = ret.toString() + } + if (ret) { + return ret + } + } + return "" + }, + pdfa(html, parse) { + if (!parse || !parse.trim()) { + return "" + } + if (typeof html === "string") { + html = JSON.parse(html) + } + parse = parse.trim(); + if (!parse.startsWith("$.")) { + parse = "$." + parse + } + let ret = cheerio.jp(parse, html); + if (Array.isArray(ret) && Array.isArray(ret[0]) && ret.length === 1) { + return ret[0] || [] + } + return ret || [] + }, + pd(html, parse) { + let ret = parseTags.json.pdfh(html, parse); + if (ret) { + return urljoin(MY_URL, ret) + } + return ret + } + }, + jq: { + pdfh(html, parse) { + if (!html || !parse || !parse.trim()) { + return "" + } + parse = parse.trim(); + let result = defaultParser.pdfh(html, parse); + return result + }, + pdfa(html, parse) { + if (!html || !parse || !parse.trim()) { + return [] + } + parse = parse.trim(); + let result = defaultParser.pdfa(html, parse); + print(`pdfa解析${parse}=>${result.length}`); + return result + }, + pd(html, parse, base_url) { + if (!html || !parse || !parse.trim()) { + return "" + } + parse = parse.trim(); + base_url = base_url || MY_URL; + return defaultParser.pd(html, parse, base_url) + } + }, + getParse(p0) { + if (p0.startsWith("jsp:")) { + return this.jsp + } else if (p0.startsWith("json:")) { + return this.json + } else if (p0.startsWith("jq:")) { + return this.jq + } else { + return this.jq + } + } +}; +const stringify = JSON.stringify; +const jsp = parseTags.jsp; +const jq = parseTags.jq; + +function readFile(filePath) { + filePath = filePath || "./uri.min.js"; + var fd = os.open(filePath); + var buffer = new ArrayBuffer(1024); + var len = os.read(fd, buffer, 0, 1024); + console.log(len); + let text = String.fromCharCode.apply(null, new Uint8Array(buffer)); + console.log(text); + return text +} + +function dealJson(html) { + try { + html = html.trim(); + if (!(html.startsWith("{") && html.endsWith("}") || html.startsWith("[") && html.endsWith("]"))) { + html = "{" + html.match(/.*?\{(.*)\}/m)[1] + "}" + } + } catch (e) {} + try { + html = JSON.parse(html) + } catch (e) {} + return html +} +var OcrApi = { + api: OCR_API, + classification: function(img) { + let code = ""; + try { + log("通过drpy_ocr验证码接口过验证..."); + let html = ""; + if (this.api.endsWith("drpy/text")) { + html = request(this.api, { + data: { + img: img + }, + headers: { + "User-Agent": PC_UA + }, + method: "POST" + }, true) + } else { + html = post(this.api, { + body: img + }) + } + code = html || "" + } catch (e) { + log(`OCR识别验证码发生错误:${e.message}`) + } + return code + } +}; + +function verifyCode(url) { + let cnt = 0; + let host = getHome(url); + let cookie = ""; + while (cnt < OCR_RETRY) { + try { + let yzm_url = `${host}/index.php/verify/index.html`; + console.log(`验证码链接:${yzm_url}`); + let hhtml = request(yzm_url, { + withHeaders: true, + toBase64: true + }, true); + let json = JSON.parse(hhtml); + if (!cookie) { + let setCk = Object.keys(json).find(it => it.toLowerCase() === "set-cookie"); + cookie = setCk ? json[setCk].split(";")[0] : "" + } + console.log("cookie:" + cookie); + let img = json.body; + let code = OcrApi.classification(img); + console.log(`第${cnt+1}次验证码识别结果:${code}`); + let submit_url = `${host}/index.php/ajax/verify_check?type=search&verify=${code}`; + console.log(submit_url); + let html = request(submit_url, { + headers: { + Cookie: cookie + }, + method: "POST" + }); + html = JSON.parse(html); + if (html.msg === "ok") { + console.log(`第${cnt+1}次验证码提交成功`); + return cookie + } else if (html.msg !== "ok" && cnt + 1 >= OCR_RETRY) { + cookie = "" + } + } catch (e) { + console.log(`第${cnt+1}次验证码提交失败:${e.message}`); + if (cnt + 1 >= OCR_RETRY) { + cookie = "" + } + } + cnt += 1 + } + return cookie +} + +function setItem(k, v) { + local.set(RKEY, k, v); + console.log(`规则${RKEY}设置${k} => ${v}`) +} + +function getItem(k, v) { + return local.get(RKEY, k) || v +} + +function clearItem(k) { + local.delete(RKEY, k) +} + +function getHome(url) { + if (!url) { + return "" + } + let tmp = url.split("//"); + url = tmp[0] + "//" + tmp[1].split("/")[0]; + try { + url = decodeURIComponent(url) + } catch (e) {} + return url +} + +function buildUrl(url, obj) { + obj = obj || {}; + if (url.indexOf("?") < 0) { + url += "?" + } + let param_list = []; + let keys = Object.keys(obj); + keys.forEach(it => { + param_list.push(it + "=" + obj[it]) + }); + let prs = param_list.join("&"); + if (keys.length > 0 && !url.endsWith("?")) { + url += "&" + } + url += prs; + return url +} + +function $require(url) { + eval(request(url)) +} + +function keysToLowerCase(obj) { + return Object.keys(obj).reduce((result, key) => { + const newKey = key.toLowerCase(); + result[newKey] = obj[key]; + return result + }, {}) +} + +function parseQueryString(query) { + const params = {}; + query.split("&").forEach(function(part) { + const regex = /^(.*?)=(.*)/; + const match = part.match(regex); + if (match) { + const key = decodeURIComponent(match[1]); + const value = decodeURIComponent(match[2]); + params[key] = value + } + }); + return params +} + +function encodeIfContainsSpecialChars(value) { + const specialChars = ":/?#[]@!$'()*+,;=%"; + if (specialChars.split("").some(char => value.includes(char))) { + return encodeURIComponent(value) + } + return value +} + +function objectToQueryString(obj) { + const encoded = []; + for (let key in obj) { + if (obj.hasOwnProperty(key)) { + encoded.push(encodeURIComponent(key) + "=" + encodeIfContainsSpecialChars(obj[key])) + } + } + return encoded.join("&") +} + +function request(url, obj, ocr_flag) { + ocr_flag = ocr_flag || false; + if (typeof obj === "undefined" || !obj || obj === {}) { + if (!fetch_params || !fetch_params.headers) { + let headers = { + "User-Agent": MOBILE_UA + }; + if (rule.headers) { + Object.assign(headers, rule.headers) + } + if (!fetch_params) { + fetch_params = {} + } + fetch_params.headers = headers + } + if (!fetch_params.headers.Referer) { + fetch_params.headers.Referer = getHome(url) + } + obj = fetch_params + } else { + let headers = obj.headers || {}; + let keys = Object.keys(headers).map(it => it.toLowerCase()); + if (!keys.includes("user-agent")) { + headers["User-Agent"] = MOBILE_UA; + if (typeof fetch_params === "object" && fetch_params && fetch_params.headers) { + let fetch_headers = keysToLowerCase(fetch_params.headers); + if (fetch_headers["user-agent"]) { + headers["User-Agent"] = fetch_headers["user-agent"] + } + } + } + if (!keys.includes("referer")) { + headers["Referer"] = getHome(url) + } + obj.headers = headers + } + if (rule.encoding && rule.encoding !== "utf-8" && !ocr_flag) { + if (!obj.headers.hasOwnProperty("Content-Type") && !obj.headers.hasOwnProperty("content-type")) { + obj.headers["Content-Type"] = "text/html; charset=" + rule.encoding + } + } + if (typeof obj.body != "undefined" && obj.body && typeof obj.body === "string") { + if (!obj.headers.hasOwnProperty("Content-Type") && !obj.headers.hasOwnProperty("content-type")) { + obj.headers["Content-Type"] = "application/x-www-form-urlencoded; charset=" + rule.encoding + } + } else if (typeof obj.body != "undefined" && obj.body && typeof obj.body === "object") { + obj.data = obj.body; + delete obj.body + } + if (!url) { + return obj.withHeaders ? "{}" : "" + } + if (obj.toBase64) { + obj.buffer = 2; + delete obj.toBase64 + } + if (obj.redirect === false) { + obj.redirect = 0 + } + if (obj.headers.hasOwnProperty("Content-Type") || obj.headers.hasOwnProperty("content-type")) { + let _contentType = obj.headers["Content-Type"] || obj.headers["content-type"] || ""; + if (_contentType.includes("application/x-www-form-urlencoded")) { + log("custom body is application/x-www-form-urlencoded"); + if (typeof obj.body == "string") { + let temp_obj = parseQueryString(obj.body); + console.log(JSON.stringify(temp_obj)) + } + } + } + console.log(JSON.stringify(obj.headers)); + console.log("request:" + url + `|method:${obj.method||"GET"}|body:${obj.body||""}`); + let res = req(url, obj); + let html = res.content || ""; + if (obj.withHeaders) { + let htmlWithHeaders = res.headers; + htmlWithHeaders.body = html; + return JSON.stringify(htmlWithHeaders) + } else { + return html + } +} + +function post(url, obj) { + obj = obj || {}; + obj.method = "POST"; + return request(url, obj) +} + +function reqCookie(url, obj, all_cookie) { + obj = obj || {}; + obj.withHeaders = true; + all_cookie = all_cookie || false; + let html = request(url, obj); + let json = JSON.parse(html); + let setCk = Object.keys(json).find(it => it.toLowerCase() === "set-cookie"); + let cookie = setCk ? json[setCk] : ""; + if (Array.isArray(cookie)) { + cookie = cookie.join(";") + } + if (!all_cookie) { + cookie = cookie.split(";")[0] + } + html = json.body; + return { + cookie: cookie, + html: html + } +} +fetch = request; +print = function(data) { + data = data || ""; + if (typeof data == "object" && Object.keys(data).length > 0) { + try { + data = JSON.stringify(data); + console.log(data) + } catch (e) { + console.log(typeof data + ":" + data.length); + return + } + } else if (typeof data == "object" && Object.keys(data).length < 1) { + console.log("null object") + } else { + console.log(data) + } +}; +log = print; + +function checkHtml(html, url, obj) { + if (/\?btwaf=/.test(html)) { + let btwaf = html.match(/btwaf(.*?)"/)[1]; + url = url.split("#")[0] + "?btwaf" + btwaf; + print("宝塔验证访问链接:" + url); + html = request(url, obj) + } + return html +} + +function getCode(url, obj) { + let html = request(url, obj); + html = checkHtml(html, url, obj); + return html +} + +function getHtml(url) { + let obj = {}; + if (rule.headers) { + obj.headers = rule.headers + } + let cookie = getItem(RULE_CK, ""); + if (cookie) { + if (obj.headers && !Object.keys(obj.headers).map(it => it.toLowerCase()).includes("cookie")) { + log("历史无cookie,新增过验证后的cookie"); + obj.headers["Cookie"] = cookie + } else if (obj.headers && obj.headers.cookie && obj.headers.cookie !== cookie) { + obj.headers["Cookie"] = cookie; + log("历史有小写过期的cookie,更新过验证后的cookie") + } else if (obj.headers && obj.headers.Cookie && obj.headers.Cookie !== cookie) { + obj.headers["Cookie"] = cookie; + log("历史有大写过期的cookie,更新过验证后的cookie") + } else if (!obj.headers) { + obj.headers = { + Cookie: cookie + }; + log("历史无headers,更新过验证后的含cookie的headers") + } + } + let html = getCode(url, obj); + return html +} + +function homeParse(homeObj) { + fetch_params = JSON.parse(JSON.stringify(rule_fetch_params)); + let classes = []; + if (homeObj.class_name && homeObj.class_url) { + let names = homeObj.class_name.split("&"); + let urls = homeObj.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] + }) + } + } + if (homeObj.class_parse) { + if (homeObj.class_parse.startsWith("js:")) { + var input = homeObj.MY_URL; + try { + eval(homeObj.class_parse.replace("js:", "")); + if (Array.isArray(input)) { + classes = input + } + } catch (e) { + log(`通过js动态获取分类发生了错误:${e.message}`) + } + } else { + let p = homeObj.class_parse.split(";"); + let p0 = p[0]; + let _ps = parseTags.getParse(p0); + let is_json = p0.startsWith("json:"); + _pdfa = _ps.pdfa; + _pdfh = _ps.pdfh; + _pd = _ps.pd; + MY_URL = rule.url; + if (is_json) { + try { + let cms_cate_url = homeObj.MY_URL.replace("ac=detail", "ac=list"); + let html = homeObj.home_html || getHtml(cms_cate_url); + if (html) { + if (cms_cate_url === homeObj.MY_URL) { + homeHtmlCache = html + } + let list = _pdfa(html, p0.replace("json:", "")); + if (list && list.length > 0) { + classes = list + } + } + } catch (e) { + console.log(e.message) + } + } else if (p.length >= 3 && !is_json) { + try { + let html = homeObj.home_html || getHtml(homeObj.MY_URL); + if (html) { + homeHtmlCache = html; + let list = _pdfa(html, p0); + if (list && list.length > 0) { + list.forEach((it, idex) => { + try { + let name = _pdfh(it, p[1]); + if (homeObj.cate_exclude && new RegExp(homeObj.cate_exclude).test(name)) { + return + } + let url = _pd(it, p[2]); + if (p.length > 3 && p[3] && !homeObj.home_html) { + let exp = new RegExp(p[3]); + url = url.match(exp)[1] + } + classes.push({ + type_id: url.trim(), + type_name: name.trim() + }) + } catch (e) { + console.log(`分类列表定位第${idex}个元素正常报错:${e.message}`) + } + }) + } + } + } catch (e) { + console.log(e.message) + } + } + } + } + classes = classes.filter(it => !homeObj.cate_exclude || !new RegExp(homeObj.cate_exclude).test(it.type_name)); + let resp = { + class: classes + }; + if (homeObj.filter) { + resp.filters = homeObj.filter + } + console.log(JSON.stringify(resp)); + return JSON.stringify(resp) +} + +function getPP(p, pn, pp, ppn) { + try { + let ps = p[pn] === "*" && pp.length > ppn ? pp[ppn] : p[pn]; + return ps + } catch (e) { + return "" + } +} + +function homeVodParse(homeVodObj) { + fetch_params = JSON.parse(JSON.stringify(rule_fetch_params)); + let d = []; + MY_URL = homeVodObj.homeUrl; + console.log(MY_URL); + let t1 = (new Date).getTime(); + let p = homeVodObj.推荐; + print("p:" + p); + if (p === "*" && rule.一级) { + p = rule.一级; + homeVodObj.double = false + } + if (!p || typeof p !== "string") { + return "{}" + } + p = p.trim(); + let pp = rule.一级 ? rule.一级.split(";") : []; + if (p.startsWith("js:")) { + const TYPE = "home"; + var input = MY_URL; + HOST = rule.host; + eval(p.replace("js:", "")); + d = VODS + } else { + p = p.split(";"); + if (!homeVodObj.double && p.length < 5) { + return "{}" + } else if (homeVodObj.double && p.length < 6) { + return "{}" + } + let p0 = getPP(p, 0, pp, 0); + let _ps = parseTags.getParse(p0); + _pdfa = _ps.pdfa; + _pdfh = _ps.pdfh; + _pd = _ps.pd; + let is_json = p0.startsWith("json:"); + p0 = p0.replace(/^(jsp:|json:|jq:)/, ""); + let html = homeHtmlCache || getHtml(MY_URL); + homeHtmlCache = undefined; + if (is_json) { + html = dealJson(html) + } + try { + console.log("double:" + homeVodObj.double); + if (homeVodObj.double) { + let items = _pdfa(html, p0); + 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 (let item of items) { + let items2 = _pdfa(item, p1); + for (let item2 of items2) { + try { + let title = _pdfh(item2, p2); + let img = ""; + try { + img = _pd(item2, p3) + } catch (e) {} + let desc = ""; + try { + desc = _pdfh(item2, p4) + } catch (e) {} + let links = []; + for (let _p5 of p5.split("+")) { + let link = !homeVodObj.detailUrl ? _pd(item2, _p5, MY_URL) : _pdfh(item2, _p5); + links.push(link) + } + let content; + if (p.length > 6 && p[6]) { + content = _pdfh(item2, p6) + } else { + content = "" + } + let vid = links.join("$"); + if (rule.二级 === "*") { + vid = vid + "@@" + title + "@@" + img + } + let vod = { + vod_name: title, + vod_pic: img, + vod_remarks: desc, + vod_content: content, + vod_id: vid + }; + d.push(vod) + } catch (e) { + console.log(`首页列表双层定位处理发生错误:${e.message}`) + } + } + } + } else { + let items = _pdfa(html, p0); + let p1 = getPP(p, 1, pp, 1); + let p2 = getPP(p, 2, pp, 2); + let p3 = getPP(p, 3, pp, 3); + let p4 = getPP(p, 4, pp, 4); + let p5 = getPP(p, 5, pp, 5); + for (let item of items) { + try { + let title = _pdfh(item, p1); + let img = ""; + try { + img = _pd(item, p2, MY_URL) + } catch (e) {} + let desc = ""; + try { + desc = _pdfh(item, p3) + } catch (e) {} + let links = []; + for (let _p5 of p4.split("+")) { + let link = !homeVodObj.detailUrl ? _pd(item, _p5, MY_URL) : _pdfh(item, _p5); + links.push(link) + } + let content; + if (p.length > 5 && p[5]) { + content = _pdfh(item, p5) + } else { + content = "" + } + let vid = links.join("$"); + if (rule.二级 === "*") { + vid = vid + "@@" + title + "@@" + img + } + let vod = { + vod_name: title, + vod_pic: img, + vod_remarks: desc, + vod_content: content, + vod_id: vid + }; + d.push(vod) + } catch (e) { + console.log(`首页列表单层定位处理发生错误:${e.message}`) + } + } + } + } catch (e) {} + } + let t2 = (new Date).getTime(); + console.log("加载首页推荐耗时:" + (t2 - t1) + "毫秒"); + if (rule.图片替换) { + if (rule.图片替换.startsWith("js:")) { + d.forEach(it => { + try { + var input = it.vod_pic; + eval(rule.图片替换.trim().replace("js:", "")); + it.vod_pic = input + } catch (e) { + log(`图片:${it.vod_pic}替换错误:${e.message}`) + } + }) + } else if (rule.图片替换.includes("=>")) { + let replace_from = rule.图片替换.split("=>")[0]; + let replace_to = rule.图片替换.split("=>")[1]; + d.forEach(it => { + if (it.vod_pic && it.vod_pic.startsWith("http")) { + it.vod_pic = it.vod_pic.replace(replace_from, replace_to) + } + }) + } + } + if (rule.图片来源) { + d.forEach(it => { + if (it.vod_pic && it.vod_pic.startsWith("http")) { + it.vod_pic = it.vod_pic + rule.图片来源 + } + }) + } + if (d.length > 0) { + print(d.slice(0, 2)) + } + return JSON.stringify({ + list: d + }) +} + +function categoryParse(cateObj) { + fetch_params = JSON.parse(JSON.stringify(rule_fetch_params)); + let p = cateObj.一级; + if (!p || typeof p !== "string") { + return "{}" + } + let d = []; + let url = cateObj.url.replaceAll("fyclass", cateObj.tid); + if (cateObj.pg === 1 && url.includes("[") && url.includes("]")) { + url = url.split("[")[1].split("]")[0] + } else if (cateObj.pg > 1 && url.includes("[") && url.includes("]")) { + url = url.split("[")[0] + } + 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", cateObj.tid); + let fl = cateObj.filter ? cateObj.extend : {}; + if (rule.filter_def && typeof rule.filter_def === "object") { + try { + if (Object.keys(rule.filter_def).length > 0 && rule.filter_def.hasOwnProperty(cateObj.tid)) { + let self_fl_def = rule.filter_def[cateObj.tid]; + if (self_fl_def && typeof self_fl_def === "object") { + let fl_def = JSON.parse(JSON.stringify(self_fl_def)); + fl = Object.assign(fl_def, fl) + } + } + } catch (e) { + print(`合并不同分类对应的默认筛选出错:${e.message}`) + } + } + let new_url; + new_url = cheerio.jinja2(url, { + fl: fl, + fyclass: cateObj.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", cateObj.pg); + let cnt_pg = eval(cnt_page); + url = url.replaceAll(url_rep, cnt_pg).replaceAll("(", "").replaceAll(")", "") + } else { + url = url.replaceAll("fypage", cateObj.pg) + } + } + MY_URL = url; + console.log(MY_URL); + p = p.trim(); + const MY_CATE = cateObj.tid; + if (p.startsWith("js:")) { + var MY_FL = cateObj.extend; + const TYPE = "cate"; + var input = MY_URL; + const MY_PAGE = cateObj.pg; + var desc = ""; + eval(p.trim().replace("js:", "")); + d = VODS + } else { + p = p.split(";"); + if (p.length < 5) { + return "{}" + } + let _ps = parseTags.getParse(p[0]); + _pdfa = _ps.pdfa; + _pdfh = _ps.pdfh; + _pd = _ps.pd; + let is_json = p[0].startsWith("json:"); + p[0] = p[0].replace(/^(jsp:|json:|jq:)/, ""); + try { + let html = getHtml(MY_URL); + if (html) { + if (is_json) { + html = dealJson(html) + } + let list = _pdfa(html, p[0]); + list.forEach(it => { + let links = p[4].split("+").map(p4 => { + return !rule.detailUrl ? _pd(it, p4, MY_URL) : _pdfh(it, p4) + }); + let link = links.join("$"); + let vod_id = rule.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); + if (rule.二级 === "*") { + vod_id = vod_id + "@@" + vod_name + "@@" + vod_pic + } + d.push({ + vod_id: vod_id, + vod_name: vod_name, + vod_pic: vod_pic, + vod_remarks: _pdfh(it, p[3]).replace(/\n|\t/g, "").trim() + }) + }) + } + } catch (e) { + console.log(e.message) + } + } + if (rule.图片替换) { + if (rule.图片替换.startsWith("js:")) { + d.forEach(it => { + try { + var input = it.vod_pic; + eval(rule.图片替换.trim().replace("js:", "")); + it.vod_pic = input + } catch (e) { + log(`图片:${it.vod_pic}替换错误:${e.message}`) + } + }) + } else if (rule.图片替换.includes("=>")) { + let replace_from = rule.图片替换.split("=>")[0]; + let replace_to = rule.图片替换.split("=>")[1]; + d.forEach(it => { + if (it.vod_pic && it.vod_pic.startsWith("http")) { + it.vod_pic = it.vod_pic.replace(replace_from, replace_to) + } + }) + } + } + if (rule.图片来源) { + d.forEach(it => { + if (it.vod_pic && it.vod_pic.startsWith("http")) { + it.vod_pic = it.vod_pic + rule.图片来源 + } + }) + } + if (d.length > 0) { + print(d.slice(0, 2)) + } + let pagecount = 0; + if (rule.pagecount && typeof rule.pagecount === "object" && rule.pagecount.hasOwnProperty(MY_CATE)) { + print(`MY_CATE:${MY_CATE},pagecount:${JSON.stringify(rule.pagecount)}`); + pagecount = parseInt(rule.pagecount[MY_CATE]) + } + let 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 + }; + let vod = d.length < 1 ? JSON.stringify(nodata) : JSON.stringify({ + page: parseInt(cateObj.pg), + pagecount: pagecount || 999, + limit: 20, + total: 999, + list: d + }); + return vod +} + +function searchParse(searchObj) { + fetch_params = JSON.parse(JSON.stringify(rule_fetch_params)); + let d = []; + if (!searchObj.searchUrl) { + return "{}" + } + if (rule.searchNoPage && Number(searchObj.pg) > 1) { + return "{}" + } + let p = searchObj.搜索 === "*" && rule.一级 ? rule.一级 : searchObj.搜索; + if (!p || typeof p !== "string") { + return "{}" + } + p = p.trim(); + let pp = rule.一级 ? rule.一级.split(";") : []; + let url = searchObj.searchUrl.replaceAll("**", searchObj.wd); + if (searchObj.pg === 1 && url.includes("[") && url.includes("]") && !url.includes("#")) { + url = url.split("[")[1].split("]")[0] + } else if (searchObj.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", searchObj.pg); + let cnt_pg = eval(cnt_page); + url = url.replaceAll(url_rep, cnt_pg).replaceAll("(", "").replaceAll(")", "") + } else { + url = url.replaceAll("fypage", searchObj.pg) + } + } + MY_URL = url; + console.log(MY_URL); + if (p.startsWith("js:")) { + const TYPE = "search"; + const MY_PAGE = searchObj.pg; + const KEY = searchObj.wd; + var input = MY_URL; + var detailUrl = rule.detailUrl || ""; + eval(p.trim().replace("js:", "")); + d = VODS + } else { + p = p.split(";"); + if (p.length < 5) { + return "{}" + } + let p0 = getPP(p, 0, pp, 0); + let _ps = parseTags.getParse(p0); + _pdfa = _ps.pdfa; + _pdfh = _ps.pdfh; + _pd = _ps.pd; + let is_json = p0.startsWith("json:"); + p0 = p0.replace(/^(jsp:|json:|jq:)/, ""); + try { + 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] : ""; + print(`post=》rurl:${rurl},params:${params}`); + let _fetch_params = JSON.parse(JSON.stringify(rule_fetch_params)); + let postData = { + body: params + }; + Object.assign(_fetch_params, postData); + html = 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] : ""; + print(`postjson-》rurl:${rurl},params:${params}`); + try { + params = JSON.parse(params) + } catch (e) { + params = "{}" + } + let _fetch_params = JSON.parse(JSON.stringify(rule_fetch_params)); + let postData = { + body: params + }; + Object.assign(_fetch_params, postData); + html = post(rurl, _fetch_params) + } else { + html = getHtml(MY_URL) + } + if (html) { + let search_tag = rule.搜索验证标识 || "系统安全验证|输入验证码"; + if (new RegExp(search_tag).test(html)) { + let cookie = verifyCode(MY_URL); + if (cookie) { + console.log(`本次成功过验证,cookie:${cookie}`); + setItem(RULE_CK, cookie) + } else { + console.log(`本次自动过搜索验证失败,cookie:${cookie}`) + } + html = getHtml(MY_URL) + } + if (!html.includes(searchObj.wd)) { + console.log("搜索结果源码未包含关键字,疑似搜索失败,正为您打印结果源码"); + console.log(html) + } + if (is_json) { + html = dealJson(html) + } + let list = _pdfa(html, p0); + let p1 = getPP(p, 1, pp, 1); + let p2 = getPP(p, 2, pp, 2); + let p3 = getPP(p, 3, pp, 3); + let p4 = getPP(p, 4, pp, 4); + let p5 = getPP(p, 5, pp, 5); + list.forEach(it => { + let links = p4.split("+").map(_p4 => { + return !rule.detailUrl ? _pd(it, _p4, MY_URL) : _pdfh(it, _p4) + }); + let link = links.join("$"); + let content; + if (p.length > 5 && p[5]) { + content = _pdfh(it, p5) + } else { + content = "" + } + let vod_id = link; + let vod_name = _pdfh(it, p1).replace(/\n|\t/g, "").trim(); + let vod_pic = _pd(it, p2, MY_URL); + if (rule.二级 === "*") { + vod_id = vod_id + "@@" + vod_name + "@@" + vod_pic + } + let ob = { + vod_id: vod_id, + vod_name: vod_name, + vod_pic: vod_pic, + vod_remarks: _pdfh(it, p3).replace(/\n|\t/g, "").trim(), + vod_content: content.replace(/\n|\t/g, "").trim() + }; + d.push(ob) + }) + } + } catch (e) { + print(`搜索发生错误:${e.message}`); + return "{}" + } + } + if (rule.图片替换) { + if (rule.图片替换.startsWith("js:")) { + d.forEach(it => { + try { + var input = it.vod_pic; + eval(rule.图片替换.trim().replace("js:", "")); + it.vod_pic = input + } catch (e) { + log(`图片:${it.vod_pic}替换错误:${e.message}`) + } + }) + } else if (rule.图片替换.includes("=>")) { + let replace_from = rule.图片替换.split("=>")[0]; + let replace_to = rule.图片替换.split("=>")[1]; + d.forEach(it => { + if (it.vod_pic && it.vod_pic.startsWith("http")) { + it.vod_pic = it.vod_pic.replace(replace_from, replace_to) + } + }) + } + } + if (rule.图片来源) { + d.forEach(it => { + if (it.vod_pic && it.vod_pic.startsWith("http")) { + it.vod_pic = it.vod_pic + rule.图片来源 + } + }) + } + return JSON.stringify({ + page: parseInt(searchObj.pg), + pagecount: 10, + limit: 20, + total: 100, + list: d + }) +} + +function detailParse(detailObj) { + let t1 = (new Date).getTime(); + fetch_params = JSON.parse(JSON.stringify(rule_fetch_params)); + let orId = detailObj.orId; + let vod_name = "片名"; + let vod_pic = ""; + let vod_id = orId; + if (rule.二级 === "*") { + let extra = orId.split("@@"); + vod_name = extra.length > 1 ? extra[1] : vod_name; + vod_pic = extra.length > 2 ? extra[2] : vod_pic + } + let vod = { + vod_id: vod_id, + vod_name: vod_name, + vod_pic: vod_pic, + type_name: "类型", + vod_year: "年份", + vod_area: "地区", + vod_remarks: "更新信息", + vod_actor: "主演", + vod_director: "导演", + vod_content: "简介" + }; + let p = detailObj.二级; + let url = detailObj.url; + let detailUrl = detailObj.detailUrl; + let fyclass = detailObj.fyclass; + let tab_exclude = detailObj.tab_exclude; + let html = detailObj.html || ""; + MY_URL = url; + if (detailObj.二级访问前) { + try { + print(`尝试在二级访问前执行代码:${detailObj.二级访问前}`); + eval(detailObj.二级访问前.trim().replace("js:", "")) + } catch (e) { + print(`二级访问前执行代码出现错误:${e.message}`) + } + } + if (p === "*") { + vod.vod_play_from = "夸克云盘"; + vod.vod_remarks = detailUrl; + vod.vod_actor = "没有二级,只有一级链接直接嗅探播放"; + vod.vod_content = MY_URL; + vod.vod_play_url = "嗅探播放$" + MY_URL.split("@@")[0] + } else if (typeof p === "string" && p.trim().startsWith("js:")) { + const TYPE = "detail"; + var input = MY_URL; + var play_url = ""; + eval(p.trim().replace("js:", "")); + vod = VOD; + console.log(JSON.stringify(vod)) + } else if (p && typeof p === "object") { + let tt1 = (new Date).getTime(); + if (!html) { + html = getHtml(MY_URL) + } + print(`二级${MY_URL}仅获取源码耗时:${(new Date).getTime()-tt1}毫秒`); + let _ps; + if (p.is_json) { + print("二级是json"); + _ps = parseTags.json; + html = dealJson(html) + } else if (p.is_jsp) { + print("二级是jsp"); + _ps = parseTags.jsp + } else if (p.is_jq) { + print("二级是jq"); + _ps = parseTags.jq + } else { + print("二级默认jq"); + _ps = parseTags.jq + } + let tt2 = (new Date).getTime(); + print(`二级${MY_URL}获取并装载源码耗时:${tt2-tt1}毫秒`); + _pdfa = _ps.pdfa; + _pdfh = _ps.pdfh; + _pd = _ps.pd; + if (p.title) { + let p1 = p.title.split(";"); + vod.vod_name = _pdfh(html, p1[0]).replace(/\n|\t/g, "").trim(); + let type_name = p1.length > 1 ? _pdfh(html, p1[1]).replace(/\n|\t/g, "").replace(/ /g, "").trim() : ""; + vod.type_name = type_name || vod.type_name + } + if (p.desc) { + try { + let p1 = p.desc.split(";"); + vod.vod_remarks = _pdfh(html, p1[0]).replace(/\n|\t/g, "").trim(); + vod.vod_year = p1.length > 1 ? _pdfh(html, p1[1]).replace(/\n|\t/g, "").trim() : ""; + vod.vod_area = p1.length > 2 ? _pdfh(html, p1[2]).replace(/\n|\t/g, "").trim() : ""; + vod.vod_actor = p1.length > 3 ? _pdfh(html, p1[3]).replace(/\n|\t/g, "").trim() : ""; + vod.vod_director = p1.length > 4 ? _pdfh(html, p1[4]).replace(/\n|\t/g, "").trim() : "" + } catch (e) {} + } + if (p.content) { + try { + let p1 = p.content.split(";"); + vod.vod_content = _pdfh(html, p1[0]).replace(/\n|\t/g, "").trim() + } catch (e) {} + } + if (p.img) { + try { + let p1 = p.img.split(";"); + vod.vod_pic = _pd(html, p1[0], MY_URL) + } catch (e) {} + } + let vod_play_from = "$$$"; + let playFrom = []; + if (p.重定向 && p.重定向.startsWith("js:")) { + print("开始执行重定向代码:" + p.重定向); + html = eval(p.重定向.replace("js:", "")) + } + if (p.tabs) { + if (p.tabs.startsWith("js:")) { + print("开始执行tabs代码:" + p.tabs); + var input = MY_URL; + eval(p.tabs.replace("js:", "")); + playFrom = TABS + } else { + let p_tab = p.tabs.split(";")[0]; + let vHeader = _pdfa(html, p_tab); + console.log(vHeader.length); + 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 = "线路空" + } + console.log(v_title); + if (tab_exclude && new RegExp(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) + } + } + console.log(JSON.stringify(playFrom)) + } else { + playFrom = ["夸克云盘"] + } + vod.vod_play_from = playFrom.join(vod_play_from); + let vod_play_url = "$$$"; + let vod_tab_list = []; + if (p.lists) { + if (p.lists.startsWith("js:")) { + print("开始执行lists代码:" + p.lists); + try { + var input = MY_URL; + var play_url = ""; + eval(p.lists.replace("js:", "")); + for (let i in LISTS) { + if (LISTS.hasOwnProperty(i)) { + try { + LISTS[i] = LISTS[i].map(it => it.split("$").slice(0, 2).join("$")) + } catch (e) { + print(`格式化LISTS发生错误:${e.message}`) + } + } + } + vod_play_url = LISTS.map(it => it.join("#")).join(vod_play_url) + } catch (e) { + print(`js执行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 = p.tabs.trim().startsWith("js:"); + for (let i = 0; i < playFrom.length; i++) { + let tab_name = playFrom[i]; + let tab_ext = p.tabs.split(";").length > 1 && !is_tab_js ? p.tabs.split(";")[1] : ""; + let p1 = p.lists.replaceAll("#idv", tab_name).replaceAll("#id", i); + tab_ext = tab_ext.replaceAll("#idv", tab_name).replaceAll("#id", i); + let tabName = tab_ext ? _pdfh(html, tab_ext) : tab_name; + console.log(tabName); + let new_vod_list = []; + let tt1 = (new Date).getTime(); + if (typeof pdfl === "function") { + new_vod_list = pdfl(html, p1, list_text, list_url, 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); + console.log("len(vodList):" + vodList.length) + } catch (e) {} + for (let i = 0; i < vodList.length; i++) { + let it = vodList[i]; + new_vod_list.push(_pdfh(it, list_text).trim() + "$" + list_url_prefix + _pd(it, list_url, MY_URL)) + } + } + if (new_vod_list.length > 0) { + new_vod_list = forceOrder(new_vod_list, "", x => x.split("$")[0]); + console.log(`drpy影响性能代码共计列表数循环次数:${new_vod_list.length},耗时:${(new Date).getTime()-tt1}毫秒`) + } + 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 + } + if (rule.图片替换 && rule.图片替换.includes("=>")) { + let replace_from = rule.图片替换.split("=>")[0]; + let replace_to = rule.图片替换.split("=>")[1]; + vod.vod_pic = vod.vod_pic.replace(replace_from, replace_to) + } + if (rule.图片来源 && vod.vod_pic && vod.vod_pic.startsWith("http")) { + vod.vod_pic = vod.vod_pic + rule.图片来源 + } + if (!vod.vod_id || vod_id.includes("$") && vod.vod_id !== vod_id) { + vod.vod_id = vod_id + } + let t2 = (new Date).getTime(); + console.log(`加载二级界面${MY_URL}耗时:${t2-t1}毫秒`); + try { + vod = vodDeal(vod) + } catch (e) { + console.log(`vodDeal发生错误:${e.message}`) + } + return JSON.stringify({ + list: [vod] + }) +} + +function get_tab_index(vod) { + let obj = {}; + vod.vod_play_from.split("$$$").forEach((it, index) => { + obj[it] = index + }); + return obj +} + +function vodDeal(vod) { + let vod_play_from = vod.vod_play_from.split("$$$"); + let vod_play_url = vod.vod_play_url.split("$$$"); + let tab_removed_list = vod_play_from; + let tab_ordered_list = vod_play_from; + let tab_renamed_list = vod_play_from; + let tab_list = vod_play_from; + let play_ordered_list = vod_play_url; + if (rule.tab_remove && rule.tab_remove.length > 0 || rule.tab_order && rule.tab_order.length > 0) { + let tab_index_dict = get_tab_index(vod); + if (rule.tab_remove && rule.tab_remove.length > 0) { + tab_removed_list = vod_play_from.filter(it => !rule.tab_remove.includes(it)); + tab_list = tab_removed_list + } + if (rule.tab_order && rule.tab_order.length > 0) { + let tab_order = rule.tab_order; + tab_ordered_list = tab_removed_list.sort((a, b) => { + return (tab_order.indexOf(a) === -1 ? 9999 : tab_order.indexOf(a)) - (tab_order.indexOf(b) === -1 ? 9999 : tab_order.indexOf(b)) + }); + tab_list = tab_ordered_list + } + play_ordered_list = tab_list.map(it => vod_play_url[tab_index_dict[it]]) + } + if (rule.tab_rename && typeof rule.tab_rename === "object" & Object.keys(rule.tab_rename).length > 0) { + tab_renamed_list = tab_list.map(it => rule.tab_rename[it] || it); + tab_list = tab_renamed_list + } + vod.vod_play_from = tab_list.join("$$$"); + vod.vod_play_url = play_ordered_list.join("$$$"); + return vod +} + +function tellIsJx(url) { + try { + let is_vip = !/\.(m3u8|mp4|m4a)$/.test(url.split("?")[0]) && 是否正版(url); + return is_vip ? 1 : 0 + } catch (e) { + return 1 + } +} + +function playParse(playObj) { + fetch_params = JSON.parse(JSON.stringify(rule_fetch_params)); + MY_URL = playObj.url; + var MY_FLAG = playObj.flag; + if (!/http/.test(MY_URL)) { + try { + MY_URL = base64Decode(MY_URL) + } catch (e) {} + } + MY_URL = decodeURIComponent(MY_URL); + var input = MY_URL; + var flag = MY_FLAG; + let common_play = { + parse: SPECIAL_URL.test(input) || /^(push:)/.test(input) ? 0 : 1, + url: input, + flag: flag, + jx: tellIsJx(input) + }; + let lazy_play; + if (!rule.play_parse || !rule.lazy) { + lazy_play = common_play + } else if (rule.play_parse && rule.lazy && typeof rule.lazy === "string") { + try { + let lazy_code = rule.lazy.trim(); + if (lazy_code.startsWith("js:")) { + lazy_code = lazy_code.replace("js:", "").trim() + } + print("开始执行js免嗅=>" + lazy_code); + eval(lazy_code); + lazy_play = typeof input === "object" ? input : { + parse: SPECIAL_URL.test(input) || /^(push:)/.test(input) ? 0 : 1, + jx: tellIsJx(input), + url: input + } + } catch (e) { + print(`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) + } + console.log(JSON.stringify(lazy_play)); + return JSON.stringify(lazy_play) +} + +function proxyParse(proxyObj) { + var input = proxyObj.params; + if (proxyObj.proxy_rule) { + log("准备执行本地代理规则:\n" + proxyObj.proxy_rule); + try { + eval(proxyObj.proxy_rule); + if (input && input !== proxyObj.params && Array.isArray(input) && input.length >= 3) { + return input + } else { + return [404, "text/plain", "Not Found"] + } + } catch (e) { + return [500, "text/plain", "代理规则错误:" + e.message] + } + } else { + return [404, "text/plain", "Not Found"] + } +} + +function isVideoParse(isVideoObj) { + var input = isVideoObj.url; + if (!isVideoObj.t) { + let re_matcher = new RegExp(isVideoObj.isVideo, "i"); + return re_matcher.test(input) + } else { + try { + eval(isVideoObj.isVideo); + if (typeof input === "boolean") { + return input + } else { + return false + } + } catch (e) { + log(`执行嗅探规则发生错误:${e.message}`); + return false + } + } +} + +function getOriginalJs(js_code) { + let current_match = /var rule|[\u4E00-\u9FA5]+|function|let |var |const |\(|\)|"|'/; + if (current_match.test(js_code)) { + return js_code + } + 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.enc.Hex.parse("686A64686E780A0A0A0A0A0A0A0A0A0A"); + let iv = CryptoJS.enc.Hex.parse("647A797964730A0A0A0A0A0A0A0A0A0A"); + let encrypted = CryptoJS.AES.decrypt({ + ciphertext: CryptoJS.enc.Base64.parse(data) + }, key, { + iv: iv, + mode: CryptoJS.mode.CBC, + padding: CryptoJS.pad.Pkcs7 + }).toString(CryptoJS.enc.Utf8); + return encrypted + } + let error_log = false; + + function logger(text) { + if (error_log) { + log(text) + } + } + let decode_funcs = [text => { + try { + return ungzip(text) + } catch (e) { + logger("非gzip加密"); + return "" + } + }, text => { + try { + return base64Decode(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 +} + +function runMain(main_func_code, arg) { + let mainFunc = function() { + return "" + }; + try { + eval(main_func_code + "\nmainFunc=main;"); + return mainFunc(arg) + } catch (e) { + log(`执行main_funct发生了错误:${e.message}`); + return "" + } +} + +function init(ext) { + console.log("init"); + rule = {}; + rule_fetch_params = {}; + fetch_params = null; + try { + let muban = 模板.getMubans(); + if (typeof ext == "object") { + rule = ext + } else if (typeof ext == "string") { + let is_file = ext.startsWith("file://"); + if (ext.startsWith("http") || is_file) { + let query = getQuery(ext); + if (is_file) { + ext = ext.split("?")[0] + } + let js = request(ext, { + method: "GET" + }); + if (js) { + js = getOriginalJs(js); + eval("(function(){" + js.replace("var rule", "rule") + "})()") + } + if (query.type === "url" && query.params) { + if (is_file && /^http/.test(query.params)) { + rule.params = query.params + } else { + rule.params = urljoin(ext, query.params) + } + } else if (query.params) { + rule.params = query.params + } + } else { + ext = getOriginalJs(ext); + eval("(function(){" + ext.replace("var rule", "rule") + "})()") + } + } else { + console.log(`规则加载失败,不支持的规则类型:${typeof ext}`); + return + } + rule.host = (rule.host || "").rstrip("/"); + HOST = rule.host; + if (rule.hostJs) { + console.log(`检测到hostJs,准备执行...`); + try { + eval(rule.hostJs); + rule.host = HOST.rstrip("/") + } catch (e) { + console.log(`执行${rule.hostJs}获取host发生错误:${e.message}`) + } + } + if (rule["模板"] === "自动") { + try { + let host_headers = rule["headers"] || {}; + let host_html = getCode(HOST, { + headers: host_headers + }); + let match_muban = ""; + let muban_keys = Object.keys(muban).filter(it => !/默认|短视2|采集1/.test(it)); + for (let muban_key of muban_keys) { + try { + let host_data = JSON.parse(home({}, host_html, muban[muban_key].class_parse)); + if (host_data.class && host_data.class.length > 0) { + match_muban = muban_key; + console.log(`自动匹配模板:【${muban_key}】`); + break + } + } catch (e) { + console.log(`自动匹配模板:【${muban_key}】错误:${e.message}`) + } + } + if (match_muban) { + muban["自动"] = muban[match_muban]; + if (rule["模板修改"] && rule["模板修改"].startsWith("js:")) { + eval(rule["模板修改"].replace("js:", "").trim()) + } + } else { + delete rule["模板"] + } + } catch (e) { + delete rule["模板"] + } + } + if (rule.模板 && muban.hasOwnProperty(rule.模板)) { + print("继承模板:" + rule.模板); + rule = Object.assign(muban[rule.模板], rule) + } + 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(rule.host, rule.homeUrl) : rule.homeUrl || rule.host; + rule.homeUrl = cheerio.jinja2(rule.homeUrl, { + rule: rule + }); + rule.detailUrl = rule.host && rule.detailUrl ? urljoin(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(rule.host, u1) + "[" + urljoin(rule.host, u2) + "]" : rule.url + } else { + rule.url = rule.host && rule.url ? urljoin(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(rule.host, u1) + "[" + urljoin(rule.host, u2) + "]" : rule.searchUrl + } else { + rule.searchUrl = rule.host && rule.searchUrl ? urljoin(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 + } + 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]; + console.log(v); + if (["MOBILE_UA", "PC_UA", "UC_UA", "IOS_UA", "UA"].includes(v)) { + rule.headers[k] = eval(v) + } + } else if (k.toLowerCase() === "cookie") { + let v = rule.headers[k]; + if (v && v.startsWith("http")) { + console.log(v); + try { + v = fetch(v); + console.log(v); + rule.headers[k] = v + } catch (e) { + console.log(`从${v}获取cookie发生错误:${e.message}`) + } + } + } + } + } catch (e) { + console.log(`处理headers发生错误:${e.message}`) + } + } else { + rule.headers = {} + } + oheaders = deepCopy(rule.headers); + rule_fetch_params = { + headers: rule.headers, + timeout: rule.timeout, + encoding: rule.encoding + }; + RKEY = typeof key !== "undefined" && key ? key : "drpy_" + (rule.title || rule.host); + pre(); + init_test() + } catch (e) { + console.log(`init_test发生错误:${e.message}`) + } +} +let homeHtmlCache = undefined; + +function home(filter, home_html, class_parse) { + console.log("home"); + home_html = home_html || ""; + class_parse = class_parse || ""; + if (typeof rule.filter === "string" && rule.filter.trim().length > 0) { + try { + let filter_json = ungzip(rule.filter.trim()); + rule.filter = JSON.parse(filter_json) + } catch (e) { + rule.filter = {} + } + } + let homeObj = { + filter: rule.filter || false, + MY_URL: rule.homeUrl, + class_name: rule.class_name || "", + class_url: rule.class_url || "", + class_parse: class_parse || rule.class_parse || "", + cate_exclude: rule.cate_exclude, + home_html: home_html + }; + return homeParse(homeObj) +} + +function homeVod(params) { + console.log("homeVod"); + let homeVodObj = { + "推荐": rule.推荐, + double: rule.double, + homeUrl: rule.homeUrl, + detailUrl: rule.detailUrl + }; + return homeVodParse(homeVodObj) +} + +function category(tid, pg, filter, extend) { + let cateObj = { + url: rule.url, + "一级": rule.一级, + tid: tid, + pg: parseInt(pg), + filter: filter, + extend: extend + }; + return categoryParse(cateObj) +} + +function detail(vod_url) { + let orId = vod_url; + let fyclass = ""; + log("orId:" + orId); + if (vod_url.indexOf("$") > -1) { + let tmp = vod_url.split("$"); + fyclass = tmp[0]; + vod_url = tmp[1] + } + let detailUrl = vod_url.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(rule.homeUrl, detailUrl) + } else { + url = detailUrl + } + let detailObj = { + orId: orId, + url: url, + "二级": rule.二级, + "二级访问前": rule.二级访问前, + detailUrl: detailUrl, + fyclass: fyclass, + tab_exclude: rule.tab_exclude + }; + return detailParse(detailObj) +} + +function play(flag, id, flags) { + let playObj = { + url: id, + flag: flag, + flags: flags + }; + return playParse(playObj) +} + +function search(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) + } + let searchObj = { + searchUrl: rule.searchUrl, + "搜索": rule.搜索, + wd: wd, + pg: pg || 1, + quick: quick + }; + return searchParse(searchObj) +} + +function proxy(params) { + if (rule.proxy_rule && rule.proxy_rule.trim()) { + rule.proxy_rule = rule.proxy_rule.trim() + } + if (rule.proxy_rule.startsWith("js:")) { + rule.proxy_rule = rule.proxy_rule.replace("js:", "") + } + let proxyObj = { + params: params, + proxy_rule: rule.proxy_rule + }; + return proxyParse(proxyObj) +} + +function sniffer() { + let enable_sniffer = rule.sniffer || false; + if (enable_sniffer) { + log("开始执行辅助嗅探代理规则...") + } + return enable_sniffer +} + +function isVideo(url) { + let t = 0; + let is_video; + if (rule.isVideo && rule.isVideo.trim()) { + is_video = rule.isVideo.trim() + } + if (is_video.startsWith("js:")) { + is_video = is_video.replace("js:", ""); + t = 1 + } + let isVideoObj = { + url: url, + isVideo: is_video, + t: t + }; + let result = isVideoParse(isVideoObj); + if (result) { + log("成功执行辅助嗅探规则并检测到视频地址:\n" + rule.isVideo) + } + return result +} + +function getRule(key) { + return key ? rule[key] || "" : rule +} + +function deepCopy(_obj) { + return JSON.parse(JSON.stringify(_obj)) +} + +function matchesAll(str, pattern, flatten) { + if (!pattern.global) { + pattern = new RegExp(pattern.source, "g" + (pattern.ignoreCase ? "i" : "") + (pattern.multiline ? "m" : "")) + } + var matches = []; + var match; + while ((match = pattern.exec(str)) !== null) { + matches.push(match) + } + return flatten ? matches.flat() : matches +} + +function stringUtils() { + Object.defineProperties(String.prototype, { + replaceX: { + value: function(regex, replacement) { + let matches = matchesAll(this, regex, true); + if (matches && matches.length > 1) { + const hasCaptureGroup = /\$\d/.test(replacement); + if (hasCaptureGroup) { + return this.replace(regex, m => m.replace(regex, replacement)) + } else { + return this.replace(regex, (m, p1) => m.replace(p1, replacement)) + } + } + return this.replace(regex, replacement) + }, + configurable: true, + enumerable: false, + writable: true + }, + parseX: { + get: function() { + try { + return JSON.parse(this) + } catch (e) { + console.log(e.message); + return this.startsWith("[") ? [] : {} + } + }, + configurable: true, + enumerable: false + } + }) +} + +function cut(text, start, end, method, All) { + let result = ""; + let c = (t, s, e) => { + let result = ""; + let rs = []; + let results = []; + try { + let lr = new RegExp(String.raw`${s}`.toString()); + let rr = new RegExp(String.raw`${e}`.toString()); + const segments = t.split(lr); + if (segments.length < 2) return ""; + let cutSegments = segments.slice(1).map(segment => { + let splitSegment = segment.split(rr); + return splitSegment.length < 2 ? undefined : splitSegment[0] + e + }).filter(f => f); + if (All) { + return `[${cutSegments.join(",")}]` + } else { + return cutSegments[0] + } + } catch (e) { + console.log(`Error cutting text:${e.message}`) + } + return result + }; + result = c(text, start, end); + stringUtils(); + if (method && typeof method === "function") { + result = method(result) + } + return result +} + +function DRPY() { + return { + runMain: runMain, + getRule: getRule, + init: init, + home: home, + homeVod: homeVod, + category: category, + detail: detail, + play: play, + search: search, + proxy: proxy, + sniffer: sniffer, + isVideo: isVideo, + fixAdM3u8Ai: fixAdM3u8Ai + } +} +export default { + runMain: runMain, + getRule: getRule, + init: init, + home: home, + homeVod: homeVod, + category: category, + detail: detail, + play: play, + search: search, + proxy: proxy, + sniffer: sniffer, + isVideo: isVideo, + fixAdM3u8Ai: fixAdM3u8Ai, + DRPY: DRPY +}; \ No newline at end of file diff --git a/xiaosa/js/uri.min.js b/xiaosa/js/uri.min.js new file mode 100644 index 00000000..66082b05 --- /dev/null +++ b/xiaosa/js/uri.min.js @@ -0,0 +1 @@ +(function(global){var re={starts_with_slashes:/^\/+/,ends_with_slashes:/\/+$/,pluses:/\+/g,query_separator:/[&;]/,uri_parser:/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@\/]*)(?::([^:@]*))?)?@)?(\[[0-9a-fA-F:.]+\]|[^:\/?#]*)(?::(\d+|(?=:)))?(:)?)((((?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/};if(!Array.prototype.forEach){Array.prototype.forEach=function(callback,thisArg){var T,k;if(this==null){throw new TypeError(' this is null or not defined');}var O=Object(this);var len=O.length>>>0;if(typeof callback!=="function"){throw new TypeError(callback+' is not a function');}if(arguments.length>1){T=thisArg}k=0;while(k0){s+='&'}if(param[1]===null){s+=param[0]}else{s+=param[0];s+='=';if(typeof param[1]!=='undefined'){s+=encodeURIComponent(param[1])}}}return s.length>0?'?'+s:s};Uri.prototype.getQueryParamValue=function(key){var param,i,l;for(i=0,l=this.queryPairs.length;i0){this.queryPairs.push([key,val])}return this};Uri.prototype.hasQueryParam=function(key){var i,len=this.queryPairs.length;for(i=0;i=0){this.deleteQueryParam(key,decode(oldVal)).addQueryParam(key,newVal,index)}}else{for(i=0;i { + try { + let api = "" + input.split("?")[0]; + console.log(api); + let response = fetch(api, { + method: 'get', + headers: { + 'User-Agent': 'okhttp/3.14.9', + 'Content-Type': 'application/x-www-form-urlencoded' + } + }); + let bata = JSON.parse(response); + if (bata.url.includes("qq,qiyi,imgo,youku,leshi,bilibili1,m1905")) { + input = { + parse: 0, + url: bata.url, + jx: 0, + danmaku: "http://103.45.162.207:25252/hbdm.php?key=7894561232&id=" + input.split("?")[0] + }; + } else { + input = { + parse: 0, + url: input.split("?")[0], + jx: 1, + danmaku: "http://103.45.162.207:25252/hbdm.php?key=7894561232&id=" + input.split("?")[0] + }; + } + } catch { + input = { + parse: 0, + url: input.split("?")[0], + jx: 1, + danmaku: "http://103.45.162.207:25252/hbdm.php?key=7894561232&id=" + input.split("?")[0] + }; + } + }), + // 疑似t4专用的 + // lazy:'js:input={parse: 1, playUrl: "", jx: 1, url: input.split("?")[0]}', + // 手动调用解析请求json的url,此lazy不方便 + // lazy:'js:input="https://cache.json.icu/home/api?type=ys&uid=292796&key=fnoryABDEFJNPQV269&url="+input.split("?")[0];log(input);let html=JSON.parse(request(input));log(html);input=html.url||input', + 推荐: 'json:data;title;cover;comment;cat+ent_id;description', + 一级: 'json:data.movies;title;cover;pubdate;id;description', + 二级: '', + 二级: $js.toString(() => { + let html = JSON.parse(fetch(input, fetch_params)); + let data = html.data; + let tilte = data.title; + let img = data.cdncover; + let vod_type = data.moviecategory.join(","); + let area = data.area.join(","); + let director = data.director.join(","); + let actor = data.actor.join(","); + let content = data.description; + let base_vod = { + vod_id: input, + vod_name: tilte, + type_name: vod_type, + vod_actor: actor, + vod_director: director, + vod_content: content, + vod_remarks: area, + vod_pic: urljoin2(input, img) + }; + let delta = 50; + let vod_play = {}; + let sites = data.playlink_sites; + sites.forEach(function(site) { + let playList = ""; + let vodItems = []; + print(data) + if (data.allupinfo) { + let total = parseInt(data.allupinfo[site]); + print(total) + for (let j = 1; j < total; j += delta) { + let end = Math.min(total, j + delta - 1); + print(end) + let url2 = buildUrl(input, { + start: j, + end: end, + site: site + }); + let vod_data = JSON.parse(fetch(url2), fetch_params).data; + if (vod_data != null) { + if (vod_data.allepidetail) { + vod_data = vod_data.allepidetail[site]; + vod_data.forEach(function(item, index) { + vodItems.push((item.playlink_num || "") + "$" + urlDeal(item.url || "")) + }) + } else { + vod_data = vod_data.defaultepisode; + vod_data.forEach(function(item, index) { + vodItems.push((item.period || "") + (item.name || "") + "$" + urlDeal(item.url) || "") + }) + } + } + } + } else { + let item = data.playlinksdetail[site]; + vodItems.push((item.sort || "") + "$" + urlDeal(item.default_url || "")) + } + if (vodItems.length > 0) { + playList = vodItems.join("#") + } + if (playList.length < 1) { + return + } + vod_play[site] = playList + }); + let tabs = Object.keys(vod_play); + let playUrls = []; + for (let id in tabs) { + print("id:" + id); + playUrls.push(vod_play[tabs[id]]) + } + if (tabs.length > 0) { + let vod_play_from = tabs.join("$$$"); + let vod_play_url = playUrls.join("$$$"); + base_vod.vod_play_from = vod_play_from; + base_vod.vod_play_url = vod_play_url + } + VOD = base_vod; + }), + 搜索: 'json:data.longData.rows;titleTxt||titlealias;cover;cat_name;cat_id+en_id;description', +} \ No newline at end of file diff --git a/xiaosa/js/优酷弹幕.js b/xiaosa/js/优酷弹幕.js new file mode 100644 index 00000000..f335b99d --- /dev/null +++ b/xiaosa/js/优酷弹幕.js @@ -0,0 +1,2299 @@ +var rule = { + title: '优酷[官]', + host: 'https://www.%79%6f%75%6b%75.com', + homeUrl: '', + searchUrl: 'https://search.%79%6f%75%6b%75.com/api/search?pg=fypage&keyword=**', + searchable: 2, + quickSearch: 0, + filterable: 1, + multi: 1, + url: '/category/data?optionRefresh=1&pageNo=fypage¶ms=fyfilter', + filter_url: '{{fl}}', + filter: { + "电视剧": [{ + "key": "main_area", + "name": "全部地区", + "value": [{ + "n": "全部地区", + "v": "" + }, { + "n": "内地剧", + "v": "中国内地" + }, { + "n": "港剧", + "v": "中国香港" + }, { + "n": "台剧", + "v": "中国台湾" + }, { + "n": "韩剧", + "v": "韩国" + }, { + "n": "美剧", + "v": "美国" + }, { + "n": "英剧", + "v": "英国" + }, { + "n": "日剧", + "v": "日本" + }, { + "n": "泰剧", + "v": "泰国" + }] + }, { + "key": "tags", + "name": "全部类型", + "value": [{ + "n": "全部类型", + "v": "" + }, { + "n": "青春", + "v": "青春" + }, { + "n": "古装", + "v": "古装" + }, { + "n": "爱情", + "v": "爱情" + }, { + "n": "都市", + "v": "都市" + }, { + "n": "喜剧", + "v": "喜剧,搞笑" + }, { + "n": "战争", + "v": "战争" + }, { + "n": "军旅", + "v": "军旅" + }, { + "n": "谍战", + "v": "谍战" + }, { + "n": "偶像", + "v": "偶像" + }, { + "n": "警匪", + "v": "警匪" + }, { + "n": "冒险", + "v": "冒险" + }, { + "n": "穿越", + "v": "穿越" + }, { + "n": "仙侠", + "v": "仙侠" + }, { + "n": "武侠", + "v": "武侠" + }, { + "n": "悬疑", + "v": "悬疑" + }, { + "n": "罪案", + "v": "罪案" + }, { + "n": "家庭", + "v": "家庭" + }, { + "n": "历史", + "v": "历史" + }, { + "n": "年代", + "v": "年代" + }, { + "n": "农村", + "v": "农村" + }] + }, { + "key": "year", + "name": "全部年份", + "value": [{ + "n": "全部年份", + "v": "" + }, { + "n": "2025", + "v": "2025" + }, { + "n": "2024", + "v": "2024" + }, { + "n": "2023", + "v": "2023" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }, { + "n": "2014-2011", + "v": "2011-2014" + }, { + "n": "更早", + "v": "-2010" + }] + }, { + "key": "status", + "name": "全部规格", + "value": [{ + "n": "全部规格", + "v": "" + }, { + "n": "全网独播", + "v": "1" + }, { + "n": "优酷自制", + "v": "2" + }, { + "n": "已完结", + "v": "3" + }, { + "n": "即将上线", + "v": "4" + }, { + "n": "短剧", + "v": "5" + }] + }, { + "key": "pay_type", + "name": "付费类型", + "value": [{ + "n": "付费类型", + "v": "" + }, { + "n": "免费", + "v": "0" + }, { + "n": "VIP", + "v": "2" + }, { + "n": "付费", + "v": "1" + }] + }, { + "key": "sort", + "name": "综合排序", + "value": [{ + "n": "综合排序", + "v": "" + }, { + "n": "热度最高", + "v": "7" + }, { + "n": "最新上线", + "v": "1" + }, { + "n": "最好评", + "v": "3" + }, { + "n": "最多播放", + "v": "2" + }] + }], + "电影": [{ + "key": "main_area", + "name": "全部地区", + "value": [{ + "n": "全部地区", + "v": "" + }, { + "n": "内地", + "v": "中国内地" + }, { + "n": "中国香港", + "v": "中国香港" + }, { + "n": "中国台湾", + "v": "中国台湾" + }, { + "n": "美国", + "v": "美国" + }, { + "n": "印度", + "v": "印度" + }, { + "n": "日韩", + "v": "韩国,日本" + }, { + "n": "泰国", + "v": "泰国" + }, { + "n": "欧洲", + "v": "欧洲" + }] + }, { + "key": "tags", + "name": "全部类型", + "value": [{ + "n": "全部类型", + "v": "" + }, { + "n": "喜剧", + "v": "喜剧,搞笑" + }, { + "n": "动作", + "v": "动作" + }, { + "n": "怪兽", + "v": "怪兽" + }, { + "n": "战争", + "v": "战争" + }, { + "n": "爱情", + "v": "爱情" + }, { + "n": "悬疑", + "v": "悬疑" + }, { + "n": "武侠", + "v": "武侠" + }, { + "n": "奇幻", + "v": "奇幻" + }, { + "n": "科幻", + "v": "科幻" + }, { + "n": "冒险", + "v": "冒险" + }, { + "n": "警匪", + "v": "警匪" + }, { + "n": "动画", + "v": "动画" + }, { + "n": "惊悚", + "v": "惊悚" + }, { + "n": "犯罪", + "v": "犯罪" + }, { + "n": "恐怖", + "v": "恐怖" + }, { + "n": "剧情", + "v": "剧情" + }, { + "n": "历史", + "v": "历史" + }, { + "n": "纪录片", + "v": "纪录片" + }, { + "n": "传记", + "v": "传记" + }, { + "n": "歌舞", + "v": "歌舞" + }, { + "n": "短片", + "v": "短片" + }, { + "n": "其他", + "v": "其他" + }] + }, { + "key": "source", + "name": "全部规格", + "value": [{ + "n": "全部规格", + "v": "" + }, { + "n": "院线", + "v": "1" + }, { + "n": "网络电影", + "v": "0" + }, { + "n": "独播", + "v": "2" + }, { + "n": "高清修复", + "v": "3" + }, { + "n": "1080P", + "v": "4" + }] + }, { + "key": "year", + "name": "全部年份", + "value": [{ + "n": "全部年份", + "v": "" + }, { + "n": "2025", + "v": "2025" + }, { + "n": "2024", + "v": "2024" + }, { + "n": "2023", + "v": "2023" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }, { + "n": "2014-2010", + "v": "2010-2014" + }, { + "n": "2009-2000", + "v": "2000-2009" + }, { + "n": "90年代", + "v": "1990-1999" + }, { + "n": "80年代", + "v": "1980-1989" + }, { + "n": "70年代", + "v": "1970-1979" + }, { + "n": "更早", + "v": "-1969" + }] + }, { + "key": "pay_type", + "name": "付费类型", + "value": [{ + "n": "付费类型", + "v": "" + }, { + "n": "免费", + "v": "0" + }, { + "n": "会员", + "v": "2" + }, { + "n": "点播", + "v": "1" + }] + }, { + "key": "sort", + "name": "综合排序", + "value": [{ + "n": "综合排序", + "v": "" + }, { + "n": "热度最高", + "v": "7" + }, { + "n": "最多播放", + "v": "2" + }, { + "n": "最新上线", + "v": "1" + }, { + "n": "最好评", + "v": "3" + }] + }, { + "key": "tag_label_name", + "name": "为你推荐", + "value": [{ + "n": "为你推荐", + "v": "" + }, { + "n": "高分必看", + "v": "高分必看" + }, { + "n": "卖座电影", + "v": "卖座电影" + }, { + "n": "小说改编", + "v": "小说改编" + }, { + "n": "铁血硬汉", + "v": "铁血硬汉" + }, { + "n": "视效大片", + "v": "视效大片" + }, { + "n": "漫画改编", + "v": "漫画改编" + }, { + "n": "绝地求生", + "v": "绝地求生" + }, { + "n": "真人真事改编", + "v": "真人真事改编" + }, { + "n": "范伟", + "v": "范伟" + }, { + "n": "火爆枪战", + "v": "火爆枪战" + }, { + "n": "影史经典", + "v": "影史经典" + }, { + "n": "拯救世界", + "v": "拯救世界" + }, { + "n": "万茜", + "v": "万茜" + }, { + "n": "马思纯", + "v": "马思纯" + }, { + "n": "王俊凯", + "v": "王俊凯" + }, { + "n": "豪华阵容", + "v": "豪华阵容" + }, { + "n": "李玉", + "v": "李玉" + }, { + "n": "无厘头喜剧", + "v": "无厘头喜剧" + }, { + "n": "超能力", + "v": "超能力" + }, { + "n": "欢喜搭档", + "v": "欢喜搭档" + }] + }], + "综艺": [{ + "key": "main_area", + "name": "全部地区", + "value": [{ + "n": "全部地区", + "v": "" + }, { + "n": "内地", + "v": "中国内地" + }, { + "n": "中国台湾", + "v": "中国台湾" + }, { + "n": "美国", + "v": "美国" + }, { + "n": "英国", + "v": "英国" + }] + }, { + "key": "tags", + "name": "全部类型", + "value": [{ + "n": "全部类型", + "v": "" + }, { + "n": "偶像", + "v": "偶像" + }, { + "n": "舞蹈", + "v": "舞蹈" + }, { + "n": "音乐", + "v": "音乐" + }, { + "n": "情感", + "v": "情感" + }, { + "n": "喜剧", + "v": "喜剧,搞笑" + }, { + "n": "体育", + "v": "体育" + }, { + "n": "游戏", + "v": "游戏" + }, { + "n": "相声", + "v": "相声" + }, { + "n": "婚恋", + "v": "婚恋" + }, { + "n": "时尚", + "v": "时尚" + }, { + "n": "晚会", + "v": "晚会" + }, { + "n": "明星访谈", + "v": "明星访谈" + }, { + "n": "亲子", + "v": "亲子" + }, { + "n": "生活", + "v": "生活" + }, { + "n": "文化", + "v": "文化" + }, { + "n": "美食", + "v": "美食" + }, { + "n": "旅游", + "v": "旅游" + }, { + "n": "益智", + "v": "益智" + }] + }, { + "key": "year", + "name": "全部年份", + "value": [{ + "n": "全部年份", + "v": "" + }, { + "n": "2025", + "v": "2025" + }, { + "n": "2024", + "v": "2024" + }, { + "n": "2023", + "v": "2023" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }, { + "n": "2014-2011", + "v": "2011-2014" + }, { + "n": "更早", + "v": "-2010" + }] + }, { + "key": "status", + "name": "全部规格", + "value": [{ + "n": "全部规格", + "v": "" + }, { + "n": "优酷自制", + "v": "2" + }, { + "n": "优酷独播", + "v": "1" + }, { + "n": "电视综艺", + "v": "6" + }, { + "n": "已完结", + "v": "3" + }, { + "n": "即将上线", + "v": "4" + }] + }, { + "key": "pay_type", + "name": "付费类型", + "value": [{ + "n": "付费类型", + "v": "" + }, { + "n": "免费", + "v": "0" + }, { + "n": "VIP", + "v": "2" + }, { + "n": "付费", + "v": "1" + }] + }, { + "key": "sort", + "name": "热度最高", + "value": [{ + "n": "热度最高", + "v": "" + }, { + "n": "最新更新", + "v": "8" + }, { + "n": "最近开播", + "v": "9" + }, { + "n": "最多评论", + "v": "4" + }] + }, { + "key": "tag_label_name", + "name": "为你推荐", + "value": [{ + "n": "为你推荐", + "v": "" + }, { + "n": "舞台竞演", + "v": "舞台竞演" + }, { + "n": "刘雨昕", + "v": "刘雨昕" + }, { + "n": "王一博", + "v": "王一博" + }, { + "n": "韩庚", + "v": "韩庚" + }, { + "n": "李承铉", + "v": "李承铉" + }, { + "n": "户外竞技", + "v": "户外竞技" + }, { + "n": "浙江卫视", + "v": "浙江卫视" + }, { + "n": "东方卫视", + "v": "东方卫视" + }, { + "n": "岳云鹏", + "v": "岳云鹏" + }, { + "n": "王迅", + "v": "王迅" + }, { + "n": "杨迪", + "v": "杨迪" + }, { + "n": "杨超越", + "v": "杨超越" + }, { + "n": "黄明昊", + "v": "黄明昊" + }, { + "n": "郭京飞", + "v": "郭京飞" + }, { + "n": "欧阳娜娜", + "v": "欧阳娜娜" + }, { + "n": "德云社", + "v": "德云社" + }, { + "n": "郑恺", + "v": "郑恺" + }, { + "n": "华少", + "v": "华少" + }, { + "n": "郭德纲", + "v": "郭德纲" + }, { + "n": "贾玲", + "v": "贾玲" + }] + }], + "动漫": [{ + "key": "sort", + "name": "综合排序", + "value": [{ + "n": "综合排序", + "v": "" + }, { + "n": "最多播放", + "v": "2" + }, { + "n": "最好评", + "v": "3" + }, { + "n": "最新上线", + "v": "1" + }] + }, { + "key": "main_area", + "name": "全部地区", + "value": [{ + "n": "全部地区", + "v": "" + }, { + "n": "内地", + "v": "中国内地" + }, { + "n": "日本", + "v": "日本" + }, { + "n": "美国", + "v": "美国" + }, { + "n": "中国台湾", + "v": "中国台湾" + }, { + "n": "其他", + "v": "其他" + }] + }, { + "key": "tags", + "name": "全部类型", + "value": [{ + "n": "全部类型", + "v": "" + }, { + "n": "热血", + "v": "热血,战斗" + }, { + "n": "励志", + "v": "励志" + }, { + "n": "玄幻", + "v": "玄幻" + }, { + "n": "古风", + "v": "历史,古风" + }, { + "n": "恋爱", + "v": "恋爱" + }, { + "n": "青春", + "v": "青春" + }, { + "n": "校园", + "v": "校园" + }, { + "n": "运动", + "v": "社团,运动" + }, { + "n": "科幻", + "v": "科幻" + }, { + "n": "冒险", + "v": "冒险" + }, { + "n": "魔法", + "v": "魔法" + }, { + "n": "日常", + "v": "日常" + }, { + "n": "治愈", + "v": "治愈" + }, { + "n": "机战", + "v": "机战" + }, { + "n": "推理", + "v": "推理" + }, { + "n": "都市", + "v": "都市" + }, { + "n": "小说改", + "v": "小说改编" + }, { + "n": "游戏改", + "v": "游戏改编" + }, { + "n": "漫画改", + "v": "漫画改编" + }, { + "n": "动态漫", + "v": "动态漫画" + }, { + "n": "特摄", + "v": "特摄" + }, { + "n": "布袋戏", + "v": "布袋戏" + }] + }, { + "key": "completed", + "name": "连载情况", + "value": [{ + "n": "连载情况", + "v": "" + }, { + "n": "更新中", + "v": "0" + }, { + "n": "已完结", + "v": "1" + }] + }, { + "key": "pay_type", + "name": "付费类型", + "value": [{ + "n": "付费类型", + "v": "" + }, { + "n": "免费", + "v": "0" + }, { + "n": "会员", + "v": "2" + }] + }, { + "key": "year", + "name": "全部年份", + "value": [{ + "n": "全部年份", + "v": "" + }, { + "n": "2025", + "v": "2025" + }, { + "n": "2024", + "v": "2024" + }, { + "n": "2023", + "v": "2023" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }, { + "n": "2014", + "v": "2014" + }, { + "n": "2013", + "v": "2013" + }, { + "n": "2012", + "v": "2012" + }, { + "n": "2011", + "v": "2011" + }, { + "n": "00年代", + "v": "2000-2010" + }, { + "n": "更早", + "v": "-1999" + }] + }, { + "key": "tag_label_name", + "name": "为你推荐", + "value": [{ + "n": "为你推荐", + "v": "" + }, { + "n": "3D动画", + "v": "3D动画" + }, { + "n": "搞笑日常", + "v": "搞笑日常" + }, { + "n": "大男主", + "v": "大男主" + }, { + "n": "高燃", + "v": "高燃" + }, { + "n": "萌系", + "v": "萌系" + }, { + "n": "修真", + "v": "修真" + }, { + "n": "怀旧", + "v": "怀旧" + }, { + "n": "超级英雄", + "v": "超级英雄" + }, { + "n": "水树奈奈", + "v": "水树奈奈" + }, { + "n": "张杰", + "v": "张杰" + }, { + "n": "石田彰", + "v": "石田彰" + }, { + "n": "守护地球", + "v": "守护地球" + }, { + "n": "圆谷", + "v": "圆谷" + }, { + "n": "山新", + "v": "山新" + }, { + "n": "复仇", + "v": "复仇" + }, { + "n": "废柴逆袭", + "v": "废柴逆袭" + }, { + "n": "侦探", + "v": "侦探" + }, { + "n": "无厘头", + "v": "无厘头" + }, { + "n": "青山刚昌", + "v": "青山刚昌" + }, { + "n": "悬疑", + "v": "悬疑" + }] + }], + "少儿": [{ + "key": "main_area", + "name": "全部地区", + "value": [{ + "n": "全部地区", + "v": "" + }, { + "n": "中国", + "v": "中国,香港,台湾" + }, { + "n": "美国", + "v": "美国" + }, { + "n": "英国", + "v": "英国" + }, { + "n": "其他国家", + "v": "其他" + }] + }, { + "key": "show_label_type", + "name": "全部类型", + "value": [{ + "n": "全部类型", + "v": "" + }, { + "n": "动画", + "v": "动画" + }, { + "n": "儿歌", + "v": "儿歌" + }, { + "n": "玩具", + "v": "玩具" + }, { + "n": "动画电影", + "v": "电影" + }, { + "n": "绘本故事", + "v": "绘本故事" + }, { + "n": "真人", + "v": "真人" + }, { + "n": "少儿综艺", + "v": "少儿综艺" + }, { + "n": "亲子", + "v": "亲子" + }, { + "n": "探索纪实", + "v": "探索纪实" + }, { + "n": "音频", + "v": "音频" + }] + }, { + "key": "child_tags", + "name": "全部分类", + "value": [{ + "n": "全部分类", + "v": "" + }, { + "n": "益智", + "v": "益智" + }, { + "n": "冒险", + "v": "冒险" + }, { + "n": "幽默", + "v": "幽默" + }, { + "n": "机甲", + "v": "机甲" + }, { + "n": "公主魔法", + "v": "公主,魔法" + }, { + "n": "交通工具", + "v": "交通工具" + }, { + "n": "恐龙", + "v": "恐龙" + }, { + "n": "动物", + "v": "动物" + }, { + "n": "励志", + "v": "励志" + }, { + "n": "友情", + "v": "友情" + }, { + "n": "战斗", + "v": "战斗" + }, { + "n": "校园", + "v": "校园" + }, { + "n": "正义", + "v": "正义" + }, { + "n": "热血", + "v": "热血" + }, { + "n": "科幻", + "v": "科幻" + }, { + "n": "童话", + "v": "童话" + }, { + "n": "运动", + "v": "运动" + }, { + "n": "专注力", + "v": "专注力" + }, { + "n": "创造力", + "v": "创造力" + }, { + "n": "想象力", + "v": "想象力" + }, { + "n": "科普", + "v": "科普" + }, { + "n": "情商", + "v": "情商" + }, { + "n": "思维逻辑", + "v": "思维逻辑" + }, { + "n": "兴趣培养", + "v": "兴趣培养" + }, { + "n": "语文", + "v": "语文" + }, { + "n": "英语", + "v": "英语" + }, { + "n": "数学", + "v": "数学" + }, { + "n": "课程辅导", + "v": "课程辅导" + }] + }, { + "key": "age", + "name": "全部年龄", + "value": [{ + "n": "全部年龄", + "v": "" + }, { + "n": "0-2岁", + "v": "0-2" + }, { + "n": "3-4岁", + "v": "3-4" + }, { + "n": "5-6岁", + "v": "5-6" + }, { + "n": "7岁以上", + "v": "7-" + }] + }, { + "key": "pay_type", + "name": "付费类型", + "value": [{ + "n": "付费类型", + "v": "" + }, { + "n": "免费", + "v": "0" + }, { + "n": "付费", + "v": "1" + }, { + "n": "VIP", + "v": "2" + }] + }, { + "key": "sort", + "name": "综合排序", + "value": [{ + "n": "综合排序", + "v": "" + }, { + "n": "最新上线", + "v": "1" + }, { + "n": "最多播放", + "v": "2" + }, { + "n": "最多评论", + "v": "4" + }, { + "n": "最多收藏", + "v": "5" + }] + }], + "纪录片": [{ + "key": "tags", + "name": "全部类型", + "value": [{ + "n": "全部类型", + "v": "" + }, { + "n": "美食", + "v": "美食" + }, { + "n": "自然", + "v": "自然" + }, { + "n": "历史", + "v": "历史" + }, { + "n": "探险", + "v": "探险" + }, { + "n": "军事", + "v": "军事" + }, { + "n": "人物", + "v": "人物" + }, { + "n": "宇宙", + "v": "宇宙" + }, { + "n": "刑侦", + "v": "刑侦" + }, { + "n": "社会", + "v": "社会" + }, { + "n": "科技", + "v": "科技" + }, { + "n": "旅游", + "v": "旅游" + }] + }, { + "key": "company", + "name": "全部出品", + "value": [{ + "n": "全部出品", + "v": "" + }, { + "n": "BBC", + "v": "bbc,british" + }, { + "n": "央视", + "v": "央视,中央电视台,cctv,中国广播电影电视节目交易中心" + }, { + "n": "国家地理", + "v": "国家地理" + }, { + "n": "Love Nature", + "v": "love nature" + }, { + "n": "LGI", + "v": "looking" + }, { + "n": "A&E", + "v": "ae" + }, { + "n": "OTF", + "v": "fence" + }] + }, { + "key": "year", + "name": "全部年份", + "value": [{ + "n": "全部年份", + "v": "" + }, { + "n": "2025", + "v": "2025" + }, { + "n": "2024", + "v": "2024" + }, { + "n": "2023", + "v": "2023" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }, { + "n": "2014-2011", + "v": "2011-2014" + }, { + "n": "更早", + "v": "-2010" + }] + }, { + "key": "pay_type", + "name": "付费类型", + "value": [{ + "n": "付费类型", + "v": "" + }, { + "n": "免费", + "v": "0" + }, { + "n": "会员", + "v": "2" + }] + }, { + "key": "sort", + "name": "热度最高", + "value": [{ + "n": "热度最高", + "v": "" + }, { + "n": "综合排序", + "v": "0" + }, { + "n": "最新上线", + "v": "1" + }, { + "n": "最好评", + "v": "3" + }, { + "n": "最多收藏", + "v": "5" + }] + }], + "文化": [{ + "key": "tags", + "name": "全部类型", + "value": [{ + "n": "全部类型", + "v": "" + }, { + "n": "谈话", + "v": "谈话" + }, { + "n": "脱口秀", + "v": "脱口秀" + }, { + "n": "访谈", + "v": "访谈" + }, { + "n": "讲座论坛", + "v": "讲座论坛" + }, { + "n": "戏曲曲艺", + "v": "戏曲,曲艺" + }, { + "n": "舞台剧", + "v": "舞台剧" + }, { + "n": "文学", + "v": "文学" + }, { + "n": "国学", + "v": "国学" + }, { + "n": "艺术", + "v": "艺术" + }, { + "n": "培训课程", + "v": "培训课程" + }, { + "n": "有声书", + "v": "有声书" + }] + }, { + "key": "people", + "name": "文化大咖", + "value": [{ + "n": "文化大咖", + "v": "" + }, { + "n": "窦文涛", + "v": "窦文涛" + }, { + "n": "马未都", + "v": "马未都" + }, { + "n": "白岩松", + "v": "白岩松" + }, { + "n": "梅毅", + "v": "梅毅" + }, { + "n": "陈鲁豫", + "v": "陈鲁豫" + }, { + "n": "樊登", + "v": "樊登" + }, { + "n": "罗振宇", + "v": "罗振宇" + }, { + "n": "蒋方舟", + "v": "蒋方舟" + }, { + "n": "其他", + "v": "其他" + }] + }, { + "key": "year", + "name": "全部年份", + "value": [{ + "n": "全部年份", + "v": "" + }, { + "n": "2025", + "v": "2025" + }, { + "n": "2024", + "v": "2024" + }, { + "n": "2023", + "v": "2023" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }, { + "n": "2014-2011", + "v": "2011-2014" + }, { + "n": "更早", + "v": "-2010" + }] + }, { + "key": "pay_type", + "name": "付费类型", + "value": [{ + "n": "付费类型", + "v": "" + }, { + "n": "免费", + "v": "0" + }, { + "n": "会员", + "v": "2" + }] + }, { + "key": "sort", + "name": "热度最高", + "value": [{ + "n": "热度最高", + "v": "" + }, { + "n": "综合排序", + "v": "0" + }, { + "n": "最新上线", + "v": "1" + }, { + "n": "最好评", + "v": "3" + }, { + "n": "最多收藏", + "v": "5" + }] + }], + "亲子": [{ + "key": "qinzi_genre", + "name": "全部类型", + "value": [{ + "n": "全部类型", + "v": "" + }, { + "n": "孕产", + "v": "孕产" + }, { + "n": "育儿知识", + "v": "育儿知识,育儿达人,育儿专家,爸爸育儿,隔代育儿,育儿明星" + }, { + "n": "好物种草", + "v": "母婴用品,测评,母婴用品种草" + }, { + "n": "美食", + "v": "儿童美食,辅食,孕期饮食" + }, { + "n": "手工DIY", + "v": "手工diy" + }, { + "n": "教育观念", + "v": "教育观念" + }, { + "n": "亲子综艺", + "v": "亲子综艺" + }, { + "n": "亲子互动", + "v": "亲子旅游,亲子游戏,亲子阅读,玩具,早教,启蒙" + }, { + "n": "萌娃", + "v": "萌娃" + }, { + "n": "搞笑", + "v": "搞笑" + }, { + "n": "美妆", + "v": "美妆" + }] + }, { + "key": "pregnancy_stage", + "name": "全部阶段", + "value": [{ + "n": "全部阶段", + "v": "" + }, { + "n": "备孕", + "v": "备孕" + }, { + "n": "孕早期", + "v": "孕早" + }, { + "n": "孕中期", + "v": "孕中" + }, { + "n": "孕晚期", + "v": "孕晚" + }] + }, { + "key": "show_label_baby_age", + "name": "全部分龄", + "value": [{ + "n": "全部分龄", + "v": "" + }, { + "n": "0-1岁", + "v": "0-1" + }, { + "n": "1-3岁", + "v": "1-3" + }, { + "n": "3-6岁", + "v": "3-6" + }, { + "n": "6岁+", + "v": "6-" + }] + }, { + "key": "pay_type", + "name": "全部", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "免费", + "v": "0" + }, { + "n": "会员免费", + "v": "2" + }] + }, { + "key": "sort", + "name": "热度最高", + "value": [{ + "n": "热度最高", + "v": "" + }, { + "n": "综合排序", + "v": "0" + }, { + "n": "最新上线", + "v": "1" + }, { + "n": "最多播放", + "v": "2" + }, { + "n": "最多评论", + "v": "3" + }, { + "n": "最多收藏", + "v": "5" + }] + }], + "教育": [{ + "key": "tags", + "name": "全部类型", + "value": [{ + "n": "全部类型", + "v": "" + }, { + "n": "公开课", + "v": "公开课" + }, { + "n": "名人名嘴", + "v": "名人名嘴" + }, { + "n": "文化", + "v": "文化" + }, { + "n": "艺术", + "v": "艺术" + }, { + "n": "伦理社会", + "v": "伦理社会" + }, { + "n": "理工", + "v": "理工" + }, { + "n": "历史", + "v": "历史" + }, { + "n": "心理学", + "v": "心理学" + }, { + "n": "经济", + "v": "经济" + }, { + "n": "管理学", + "v": "管理学" + }, { + "n": "外语", + "v": "外语" + }, { + "n": "法律", + "v": "法律" + }, { + "n": "计算机", + "v": "计算机" + }, { + "n": "哲学", + "v": "哲学" + }, { + "n": "职业培训", + "v": "职业培训" + }, { + "n": "家庭教育", + "v": "家庭教育" + }] + }, { + "key": "company", + "name": "全部出品", + "value": [{ + "n": "全部出品", + "v": "" + }, { + "n": "TED", + "v": "ted" + }, { + "n": "耶鲁大学", + "v": "耶鲁大学" + }, { + "n": "哈佛大学", + "v": "哈佛大学" + }, { + "n": "斯坦福大学", + "v": "斯坦福大学" + }, { + "n": "麻省理工学院", + "v": "麻省理工学院" + }] + }, { + "key": "pay_type", + "name": "全部节目", + "value": [{ + "n": "全部节目", + "v": "" + }, { + "n": "免费", + "v": "0" + }, { + "n": "付费", + "v": "1" + }, { + "n": "VIP", + "v": "2" + }] + }, { + "key": "sort", + "name": "综合排序", + "value": [{ + "n": "综合排序", + "v": "" + }, { + "n": "最多播放", + "v": "2" + }, { + "n": "最多收藏", + "v": "5" + }, { + "n": "最好评", + "v": "3" + }, { + "n": "最新上线", + "v": "1" + }] + }], + "搞笑": [{ + "key": "division", + "name": "全部专区", + "value": [{ + "n": "全部专区", + "v": "" + }, { + "n": "1080P", + "v": "3" + }, { + "n": "独播", + "v": "6" + }, { + "n": "免费", + "v": "5" + }] + }, { + "key": "sort", + "name": "综合排序", + "value": [{ + "n": "综合排序", + "v": "" + }, { + "n": "最多播放", + "v": "2" + }, { + "n": "最好评", + "v": "3" + }, { + "n": "最新上线", + "v": "1" + }] + }], + "生活": [{ + "key": "division", + "name": "全部专区", + "value": [{ + "n": "全部专区", + "v": "" + }, { + "n": "1080P", + "v": "3" + }, { + "n": "独播", + "v": "6" + }, { + "n": "VIP", + "v": "4" + }, { + "n": "免费", + "v": "5" + }] + }, { + "key": "sort", + "name": "综合排序", + "value": [{ + "n": "综合排序", + "v": "" + }, { + "n": "最多播放", + "v": "2" + }, { + "n": "最好评", + "v": "3" + }, { + "n": "最新上线", + "v": "1" + }] + }], + "体育": [{ + "key": "division", + "name": "全部专区", + "value": [{ + "n": "全部专区", + "v": "" + }, { + "n": "1080P", + "v": "3" + }, { + "n": "独播", + "v": "6" + }, { + "n": "VIP", + "v": "4" + }, { + "n": "免费", + "v": "5" + }] + }, { + "key": "tags", + "name": "全部类型", + "value": [{ + "n": "全部类型", + "v": "" + }, { + "n": "篮球", + "v": "篮球" + }, { + "n": "足球", + "v": "足球" + }, { + "n": "台球", + "v": "台球" + }, { + "n": "CBA", + "v": "CBA" + }, { + "n": "钓鱼", + "v": "钓鱼" + }] + }, { + "key": "sort", + "name": "综合排序", + "value": [{ + "n": "综合排序", + "v": "" + }, { + "n": "最多播放", + "v": "2" + }, { + "n": "最好评", + "v": "3" + }, { + "n": "最新上线", + "v": "1" + }] + }], + "音乐": [{ + "key": "division", + "name": "全部专区", + "value": [{ + "n": "全部专区", + "v": "" + }, { + "n": "1080P", + "v": "3" + }, { + "n": "独播", + "v": "6" + }, { + "n": "免费", + "v": "5" + }] + }, { + "key": "main_area", + "name": "全部地区", + "value": [{ + "n": "全部地区", + "v": "" + }, { + "n": "中国", + "v": "中国" + }, { + "n": "中国台湾", + "v": "中国台湾" + }, { + "n": "中国香港", + "v": "中国香港" + }, { + "n": "美国", + "v": "美国" + }, { + "n": "其他", + "v": "其他" + }] + }, { + "key": "music_show_type", + "name": "全部类型", + "value": [{ + "n": "全部类型", + "v": "" + }, { + "n": "演唱会", + "v": "演唱会" + }, { + "n": "live现场", + "v": "live现场" + }, { + "n": "颁奖典礼", + "v": "颁奖典礼" + }, { + "n": "舞蹈", + "v": "舞蹈" + }, { + "n": "影视原声", + "v": "影视原声" + }, { + "n": "音乐达人", + "v": "音乐达人" + }, { + "n": "音乐教学", + "v": "音乐教学" + }, { + "n": "音乐纪录片", + "v": "音乐纪录片" + }, { + "n": "音乐mv", + "v": "音乐mv" + }, { + "n": "音乐自制", + "v": "音乐自制" + }] + }, { + "key": "sort", + "name": "综合排序", + "value": [{ + "n": "综合排序", + "v": "" + }, { + "n": "最多播放", + "v": "2" + }, { + "n": "最好评", + "v": "3" + }, { + "n": "最新上线", + "v": "1" + }] + }], + "游戏": [{ + "key": "division", + "name": "全部专区", + "value": [{ + "n": "全部专区", + "v": "" + }, { + "n": "1080P", + "v": "3" + }, { + "n": "独播", + "v": "6" + }, { + "n": "VIP", + "v": "4" + }, { + "n": "免费", + "v": "5" + }] + }, { + "key": "game_brand", + "name": "全部节目", + "value": [{ + "n": "全部节目", + "v": "" + }, { + "n": "王者荣耀", + "v": "王者荣耀" + }, { + "n": "和平精英", + "v": "和平精英" + }, { + "n": "绝地求生", + "v": "绝地求生" + }, { + "n": "迷你世界", + "v": "迷你世界" + }, { + "n": "我的世界", + "v": "我的世界" + }, { + "n": "植物大战僵尸", + "v": "植物大战僵尸" + }, { + "n": "方舟生存进化", + "v": "方舟生存进化" + }, { + "n": "第五人格", + "v": "第五人格" + }, { + "n": "猫和老鼠", + "v": "猫和老鼠" + }, { + "n": "香肠派对", + "v": "香肠派对" + }, { + "n": "穿越火线", + "v": "穿越火线" + }, { + "n": "英雄联盟", + "v": "英雄联盟" + }] + }, { + "key": "tags", + "name": "全部类型", + "value": [{ + "n": "全部类型", + "v": "" + }, { + "n": "资讯", + "v": "资讯" + }, { + "n": "解说", + "v": "解说" + }, { + "n": "主播", + "v": "主播" + }, { + "n": "沙盒", + "v": "沙盒" + }, { + "n": "益智", + "v": "益智" + }, { + "n": "生存", + "v": "生存" + }, { + "n": "电子竞技", + "v": "电子竞技" + }, { + "n": "单机主机", + "v": "单机主机" + }, { + "n": "真人秀", + "v": "真人秀" + }, { + "n": "动画", + "v": "动画" + }, { + "n": "盘点", + "v": "盘点" + }, { + "n": "游戏文化", + "v": "游戏文化" + }, { + "n": "游戏节目", + "v": "游戏节目" + }, { + "n": "评测", + "v": "评测" + }, { + "n": "射击", + "v": "射击" + }, { + "n": "策略", + "v": "策略" + }, { + "n": "冒险", + "v": "冒险" + }, { + "n": "即时战略", + "v": "即时战略" + }, { + "n": "卡牌", + "v": "卡牌" + }, { + "n": "角色扮演", + "v": "角色>扮演" + }] + }, { + "key": "sort", + "name": "综合排序", + "value": [{ + "n": "综合排序", + "v": "" + }, { + "n": "最多播放", + "v": "2" + }, { + "n": "最好评", + "v": "3" + }, { + "n": "最新上线", + "v": "1" + }] + }] + }, + headers: { + 'User-Agent': 'PC_UA', + 'Cookie': 'cna=VvNvGX3e0ywCAavVEXlnA2bg; __ysuid=1626676228345Rl1; __ayft=1652434048647; __arycid=dm-1-00; __arcms=dm-1-00; __ayvstp=85; __arpvid=1667204023100cWWdgM-1667204023112; __ayscnt=10; __aypstp=60; isg=BBwcqxvvk3BxkWQGugbLpUSf7TrOlcC_U7GAj_YdfYfvQbzLHqYGT4Hgp6m5TvgX; tfstk=c3JOByYUH20ilVucLOhh0pCtE40lZfGc-PjLHLLfuX7SWNyAiQvkeMBsIw7PWDC..; l=eBQguS-PjdJFGJT-BOfwourza77OSIRA_uPzaNbMiOCPOb1B5UxfW6yHp4T6C3GVhsGJR3rp2umHBeYBqQd-nxvOF8qmSVDmn', + 'Referer': 'https://www.youku.com', + }, + timeout: 5000, + class_name: '电视剧&电影&综艺&动漫&少儿&纪录片&文化&亲子&教育&搞笑&生活&体育&音乐&游戏', + class_url: '电视剧&电影&综艺&动漫&少儿&纪录片&文化&亲子&教育&搞笑&生活&体育&音乐&游戏', + limit: 20, + play_parse: true, + lazy: $js.toString(() => { + try { + let api = "" + input.split("?")[0]; + console.log(api); + let response = fetch(api, { + method: 'get', + headers: { + 'User-Agent': 'okhttp/3.14.9', + 'Content-Type': 'application/x-www-form-urlencoded' + } + }); + let bata = JSON.parse(response); + if (bata.url.includes("http")) { + input = { + parse: 0, + url: bata.url, + jx: 0, + danmaku: "http://103.45.162.207:25252/hbdm.php?key=7894561232&id=" + input.split("?")[0] + }; + } else { + input = { + parse: 0, + url: input.split("?")[0], + jx: 1, + danmaku: "http://103.45.162.207:25252/hbdm.php?key=7894561232&id=" + input.split("?")[0] + }; + } + } catch { + input = { + parse: 0, + url: input.split("?")[0], + jx: 1, + danmaku: "http://103.45.162.207:25252/hbdm.php?key=7894561232&id=" + input.split("?")[0] + }; + } + }), + 一级: $js.toString(() => { + let d = []; + MY_FL.type = MY_CATE; + let fl = stringify(MY_FL); + fl = encodeUrl(fl); + input = input.split("{")[0] + fl; + if (MY_PAGE > 1) { + let old_session = getItem("yk_session_" + MY_CATE, "{}"); + if (MY_PAGE === 2) { + input = input.replace("optionRefresh=1", "session=" + encodeUrl(old_session)) + } else { + input = input.replace("optionRefresh=1", "session=" + encodeUrl(old_session)) + } + } + let html = fetch(input, fetch_params); + try { + html = JSON.parse(html); + let lists = html.data.filterData.listData; + let session = html.data.filterData.session; + session = stringify(session); + if (session !== getItem("yk_session_" + MY_CATE, "{}")) { + setItem("yk_session_" + MY_CATE, session) + } + lists.forEach(function(it) { + let vid; + if (it.videoLink.includes("id_")) { + vid = it.videoLink.split("id_")[1].split(".html")[0] + } else { + vid = "msearch:" + } + d.push({ + title: it.title, + img: it.img, + desc: it.summary, + url: "https://search.youku.com/api/search?appScene=show_episode&showIds=" + vid, + content: it.subTitle + }) + }) + } catch (e) { + log("一级列表解析发生错误:" + e.message) + } + setResult(d); + }), + 二级: $js.toString(() => { + var d = []; + VOD = {}; + let html = request(input); + let json = JSON.parse(html); + if (/keyword/.test(input)) { + input = "https://search.youku.com/api/search?appScene=show_episode&showIds=" + json.pageComponentList[0].commonData.showId; + json = JSON.parse(fetch(MY_URL, fetch_params)) + } + let video_lists = json.serisesList; + var name = json.sourceName; + if (/优酷/.test(name) && video_lists.length > 0) { + let ourl = "https://v.youku.com/v_show/id_" + video_lists[0].videoId + ".html"; + let _img = video_lists[0].thumbUrl; + let html = fetch(ourl, { + headers: { + Referer: "https://v.youku.com/", + "User-Agent": PC_UA + } + }); + let json = /__INITIAL_DATA__/.test(html) ? html.split("window.__INITIAL_DATA__ =")[1].split(";")[0] : "{}"; + if (json === "{}") { + log("触发了优酷人机验证"); + VOD.vod_remarks = ourl; + VOD.vod_pic = _img; + VOD.vod_name = video_lists[0].title.replace(/(\d+)/g, ""); + VOD.vod_content = "触发了优酷人机验证,本次未获取详情,但不影响播放(" + ourl + ")" + } else { + try { + json = JSON.parse(json); + let data = json.data.data; + let data_extra = data.data.extra; + let img = data_extra.showImgV; + let model = json.data.model; + let m = model.detail.data.nodes[0].nodes[0].nodes[0].data; + let _type = m.showGenre; + let _desc = m.updateInfo || m.subtitle; + let JJ = m.desc; + let _title = m.introTitle; + VOD.vod_pic = img; + VOD.vod_name = _title; + VOD.vod_type = _type; + VOD.vod_remarks = _desc; + VOD.vod_content = JJ + } catch (e) { + log("海报渲染发生错误:" + e.message); + print(json); + VOD.vod_remarks = name + } + } + } + if (!/优酷/.test(name)) { + VOD.vod_content = "非自家播放源,暂无视频简介及海报"; + VOD.vod_remarks = name + } + + function adhead(url) { + return urlencode(url) + } + + play_url = play_url.replace("&play_url=", "&type=json&play_url="); + video_lists.forEach(function(it) { + let url = "https://v.youku.com/v_show/id_" + it.videoId + ".html"; + if (it.thumbUrl) { + d.push({ + desc: it.showVideoStage ? it.showVideoStage.replace("期", "集") : it.displayName, + pic_url: it.thumbUrl, + title: it.title, + url: play_url + adhead(url) + }) + } else if (name !== "优酷") { + d.push({ + title: it.displayName ? it.displayName : it.title, + url: play_url + adhead(it.url) + }) + } + }); + VOD.vod_play_from = name; + VOD.vod_play_url = d.map(function(it) { + return it.title + "$" + it.url + }) + .join("#"); + }), + + 搜索: $js.toString(() => { + var d = []; + let html = request(input); + let json = JSON.parse(html); + json.pageComponentList.forEach(function(it) { + if (it.hasOwnProperty("commonData")) { + it = it.commonData; + d.push({ + title: it.titleDTO.displayName, + img: it.posterDTO.vThumbUrl, + desc: it.stripeBottom, + content: it.updateNotice + " " + it.feature, + url: "https://search.youku.com/api/search?appScene=show_episode&showIds=" + it.showId + "&appCaller=h5" + }) + } + }); + setResult(d) + }), +} \ No newline at end of file diff --git a/xiaosa/js/剧圈圈.js b/xiaosa/js/剧圈圈.js new file mode 100644 index 00000000..94036dec --- /dev/null +++ b/xiaosa/js/剧圈圈.js @@ -0,0 +1,12 @@ +Object.assign(muban.mxpro.二级, { + tab_text: 'div--small&&Text', +}); +var rule = { + 模板: 'mxpro', + title: '剧圈圈', + host: 'https://www.jqqzx.cc/', + url: '/vodshow/id/fyclass/page/fypage.html', + searchUrl: '/vodsearch**/page/fypage.html', + class_parse: '.navbar-items li:gt(2):lt(8);a&&Text;a&&href;.*/(.*?)\.html', + cate_exclude: '今日更新|热榜', +} \ No newline at end of file diff --git a/xiaosa/js/动漫岛.js b/xiaosa/js/动漫岛.js new file mode 100644 index 00000000..1ffcc71b --- /dev/null +++ b/xiaosa/js/动漫岛.js @@ -0,0 +1,1100 @@ +var rule = { + title: '动漫岛', + // host:'http://www.dmd85.com', + // host:'http://www.88dmw.com', + host: 'http://www.dmand5.com', + // url:'/vod-list-id-fyclass-pg-fypage-order--by-{by}-class-{class}-year-{year}-letter--area--lang-.html', + url: '/vod-list-id-fyclass-pg-fypage-order-fyfilter-area--lang-.html', + filterable: 1, //是否启用分类筛选, + filter_url: '-by-{{fl.by}}-class-{{fl.class}}-year-{{fl.year}}-letter-{{fl.letter}}', + filter: { + "1": [{ + "key": "class", + "name": "剧情", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "冒险", + "v": "1" + }, { + "n": "热血", + "v": "2" + }, { + "n": "奇幻", + "v": "3" + }, { + "n": "恋爱", + "v": "4" + }, { + "n": "校园", + "v": "5" + }, { + "n": "后宫", + "v": "6" + }, { + "n": "搞笑", + "v": "7" + }, { + "n": "青春", + "v": "8" + }, { + "n": "百合", + "v": "9" + }, { + "n": "科幻", + "v": "14" + }, { + "n": "推理", + "v": "13" + }, { + "n": "魔法", + "v": "12" + }, { + "n": "神魔", + "v": "11" + }, { + "n": "治愈", + "v": "10" + }, { + "n": "竞技", + "v": "59" + }, { + "n": "悬疑", + "v": "60" + }, { + "n": "战争", + "v": "62" + }, { + "n": "萝莉", + "v": "63" + }, { + "n": "魔幻", + "v": "64" + }, { + "n": "战斗", + "v": "65" + }, { + "n": "歌舞", + "v": "98" + }, { + "n": "历史", + "v": "99" + }, { + "n": "励志", + "v": "108" + }, { + "n": "偶像", + "v": "118" + }, { + "n": "职场", + "v": "121" + }] + }, { + "key": "year", + "name": "年份", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2025", + "v": "2025" + }, { + "n": "2024", + "v": "2024" + }, { + "n": "2023", + "v": "2023" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }, { + "n": "2014", + "v": "2014" + }, { + "n": "2013", + "v": "2013" + }, { + "n": "2012", + "v": "2012" + }, { + "n": "2011", + "v": "2011" + }, { + "n": "2010", + "v": "2010" + }, { + "n": "2009", + "v": "2009" + }, { + "n": "2008", + "v": "2008" + }, { + "n": "2007", + "v": "2007" + }, { + "n": "2006", + "v": "2006" + }, { + "n": "2005", + "v": "2005" + }, { + "n": "2004", + "v": "2004" + }, { + "n": "2003", + "v": "2003" + }, { + "n": "2002", + "v": "2002" + }, { + "n": "2001", + "v": "2001" + }, { + "n": "2000", + "v": "2000" + }] + }, { + "key": "letter", + "name": "字母", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "A", + "v": "A" + }, { + "n": "B", + "v": "B" + }, { + "n": "C", + "v": "C" + }, { + "n": "D", + "v": "D" + }, { + "n": "E", + "v": "E" + }, { + "n": "F", + "v": "F" + }, { + "n": "G", + "v": "G" + }, { + "n": "H", + "v": "H" + }, { + "n": "I", + "v": "I" + }, { + "n": "J", + "v": "J" + }, { + "n": "K", + "v": "K" + }, { + "n": "L", + "v": "L" + }, { + "n": "M", + "v": "M" + }, { + "n": "N", + "v": "N" + }, { + "n": "O", + "v": "O" + }, { + "n": "P", + "v": "P" + }, { + "n": "Q", + "v": "Q" + }, { + "n": "R", + "v": "R" + }, { + "n": "S", + "v": "S" + }, { + "n": "T", + "v": "T" + }, { + "n": "U", + "v": "U" + }, { + "n": "V", + "v": "V" + }, { + "n": "W", + "v": "W" + }, { + "n": "X", + "v": "X" + }, { + "n": "Y", + "v": "Y" + }, { + "n": "Z", + "v": "Z" + }] + }, { + "key": "by", + "name": "排序", + "value": [{ + "n": "更新", + "v": "time" + }, { + "n": "得分", + "v": "score" + }, { + "n": "总排行", + "v": "hits" + }] + }], + "3": [{ + "key": "class", + "name": "剧情", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "冒险", + "v": "36" + }, { + "n": "热血", + "v": "37" + }, { + "n": "奇幻", + "v": "38" + }, { + "n": "恋爱", + "v": "39" + }, { + "n": "恋爱", + "v": "40" + }, { + "n": "恋爱", + "v": "40" + }, { + "n": "搞笑", + "v": "42" + }, { + "n": "治愈", + "v": "43" + }, { + "n": "神魔", + "v": "44" + }, { + "n": "魔法", + "v": "45" + }, { + "n": "百合", + "v": "46" + }, { + "n": "推理", + "v": "47" + }, { + "n": "科幻", + "v": "48" + }, { + "n": "竞技", + "v": "49" + }, { + "n": "悬疑", + "v": "66" + }, { + "n": "战争", + "v": "68" + }, { + "n": "萝莉", + "v": "69" + }, { + "n": "魔幻", + "v": "70" + }, { + "n": "战斗", + "v": "71" + }, { + "n": "青春", + "v": "72" + }, { + "n": "历史", + "v": "100" + }, { + "n": "歌舞", + "v": "101" + }, { + "n": "恐怖", + "v": "104" + }, { + "n": "职场", + "v": "107" + }, { + "n": "励志", + "v": "109" + }, { + "n": "偶像", + "v": "119" + }] + }, { + "key": "year", + "name": "年份", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2025", + "v": "2025" + }, { + "n": "2024", + "v": "2024" + }, { + "n": "2023", + "v": "2023" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }, { + "n": "2014", + "v": "2014" + }, { + "n": "2013", + "v": "2013" + }, { + "n": "2012", + "v": "2012" + }, { + "n": "2011", + "v": "2011" + }, { + "n": "2010", + "v": "2010" + }, { + "n": "2009", + "v": "2009" + }, { + "n": "2008", + "v": "2008" + }, { + "n": "2007", + "v": "2007" + }, { + "n": "2006", + "v": "2006" + }, { + "n": "2005", + "v": "2005" + }, { + "n": "2004", + "v": "2004" + }, { + "n": "2003", + "v": "2003" + }, { + "n": "2002", + "v": "2002" + }, { + "n": "2001", + "v": "2001" + }, { + "n": "2000", + "v": "2000" + }] + }, { + "key": "letter", + "name": "字母", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "A", + "v": "A" + }, { + "n": "B", + "v": "B" + }, { + "n": "C", + "v": "C" + }, { + "n": "D", + "v": "D" + }, { + "n": "E", + "v": "E" + }, { + "n": "F", + "v": "F" + }, { + "n": "G", + "v": "G" + }, { + "n": "H", + "v": "H" + }, { + "n": "I", + "v": "I" + }, { + "n": "J", + "v": "J" + }, { + "n": "K", + "v": "K" + }, { + "n": "L", + "v": "L" + }, { + "n": "M", + "v": "M" + }, { + "n": "N", + "v": "N" + }, { + "n": "O", + "v": "O" + }, { + "n": "P", + "v": "P" + }, { + "n": "Q", + "v": "Q" + }, { + "n": "R", + "v": "R" + }, { + "n": "S", + "v": "S" + }, { + "n": "T", + "v": "T" + }, { + "n": "U", + "v": "U" + }, { + "n": "V", + "v": "V" + }, { + "n": "W", + "v": "W" + }, { + "n": "X", + "v": "X" + }, { + "n": "Y", + "v": "Y" + }, { + "n": "Z", + "v": "Z" + }] + }, { + "key": "by", + "name": "排序", + "value": [{ + "n": "更新", + "v": "time" + }, { + "n": "得分", + "v": "score" + }, { + "n": "总排行", + "v": "hits" + }] + }], + "4": [{ + "key": "class", + "name": "剧情", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "冒险", + "v": "50" + }, { + "n": "热血", + "v": "51" + }, { + "n": "武侠", + "v": "52" + }, { + "n": "奇幻", + "v": "53" + }, { + "n": "玄幻", + "v": "54" + }, { + "n": "竞技", + "v": "55" + }, { + "n": "魔幻", + "v": "56" + }, { + "n": "科幻", + "v": "57" + }, { + "n": "恋爱", + "v": "58" + }, { + "n": "历史", + "v": "73" + }, { + "n": "战斗", + "v": "74" + }, { + "n": "搞笑", + "v": "75" + }, { + "n": "神魔", + "v": "76" + }, { + "n": "战争", + "v": "97" + }, { + "n": "古风", + "v": "111" + }, { + "n": "少女", + "v": "112" + }, { + "n": "萝莉", + "v": "113" + }, { + "n": "治愈", + "v": "114" + }, { + "n": "日常", + "v": "115" + }, { + "n": "歌舞", + "v": "116" + }, { + "n": "偶像", + "v": "120" + }, { + "n": "职场", + "v": "123" + }, { + "n": "仙侠", + "v": "125" + }] + }, { + "key": "year", + "name": "年份", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2025", + "v": "2025" + }, { + "n": "2024", + "v": "2024" + }, { + "n": "2023", + "v": "2023" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }, { + "n": "2014", + "v": "2014" + }, { + "n": "2013", + "v": "2013" + }, { + "n": "2012", + "v": "2012" + }, { + "n": "2011", + "v": "2011" + }, { + "n": "2010", + "v": "2010" + }, { + "n": "2009", + "v": "2009" + }, { + "n": "2008", + "v": "2008" + }, { + "n": "2007", + "v": "2007" + }, { + "n": "2006", + "v": "2006" + }, { + "n": "2005", + "v": "2005" + }, { + "n": "2004", + "v": "2004" + }, { + "n": "2003", + "v": "2003" + }, { + "n": "2002", + "v": "2002" + }, { + "n": "2001", + "v": "2001" + }, { + "n": "2000", + "v": "2000" + }] + }, { + "key": "letter", + "name": "字母", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "A", + "v": "A" + }, { + "n": "B", + "v": "B" + }, { + "n": "C", + "v": "C" + }, { + "n": "D", + "v": "D" + }, { + "n": "E", + "v": "E" + }, { + "n": "F", + "v": "F" + }, { + "n": "G", + "v": "G" + }, { + "n": "H", + "v": "H" + }, { + "n": "I", + "v": "I" + }, { + "n": "J", + "v": "J" + }, { + "n": "K", + "v": "K" + }, { + "n": "L", + "v": "L" + }, { + "n": "M", + "v": "M" + }, { + "n": "N", + "v": "N" + }, { + "n": "O", + "v": "O" + }, { + "n": "P", + "v": "P" + }, { + "n": "Q", + "v": "Q" + }, { + "n": "R", + "v": "R" + }, { + "n": "S", + "v": "S" + }, { + "n": "T", + "v": "T" + }, { + "n": "U", + "v": "U" + }, { + "n": "V", + "v": "V" + }, { + "n": "W", + "v": "W" + }, { + "n": "X", + "v": "X" + }, { + "n": "Y", + "v": "Y" + }, { + "n": "Z", + "v": "Z" + }] + }, { + "key": "by", + "name": "排序", + "value": [{ + "n": "更新", + "v": "time" + }, { + "n": "得分", + "v": "score" + }, { + "n": "总排行", + "v": "hits" + }] + }], + "16": [{ + "key": "class", + "name": "剧情", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "冒险", + "v": "77" + }, { + "n": "热血", + "v": "78" + }, { + "n": "奇幻", + "v": "79" + }, { + "n": "恋爱", + "v": "80" + }, { + "n": "校园", + "v": "81" + }, { + "n": "后宫", + "v": "82" + }, { + "n": "搞笑", + "v": "83" + }, { + "n": "青春", + "v": "84" + }, { + "n": "百合", + "v": "85" + }, { + "n": "治愈", + "v": "86" + }, { + "n": "神魔", + "v": "87" + }, { + "n": "魔法", + "v": "88" + }, { + "n": "推理", + "v": "89" + }, { + "n": "科幻", + "v": "90" + }, { + "n": "竞技", + "v": "91" + }, { + "n": "悬疑", + "v": "92" + }, { + "n": "战争", + "v": "93" + }, { + "n": "萝莉", + "v": "94" + }, { + "n": "魔幻", + "v": "95" + }, { + "n": "战斗", + "v": "96" + }, { + "n": "历史", + "v": "102" + }, { + "n": "歌舞", + "v": "103" + }, { + "n": "恐怖", + "v": "105" + }, { + "n": "职场", + "v": "106" + }, { + "n": "励志", + "v": "110" + }, { + "n": "偶像", + "v": "117" + }, { + "n": "职场", + "v": "124" + }] + }, { + "key": "year", + "name": "年份", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2025", + "v": "2025" + }, { + "n": "2024", + "v": "2024" + }, { + "n": "2023", + "v": "2023" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }, { + "n": "2014", + "v": "2014" + }, { + "n": "2013", + "v": "2013" + }, { + "n": "2012", + "v": "2012" + }, { + "n": "2011", + "v": "2011" + }, { + "n": "2010", + "v": "2010" + }, { + "n": "2009", + "v": "2009" + }, { + "n": "2008", + "v": "2008" + }, { + "n": "2007", + "v": "2007" + }, { + "n": "2006", + "v": "2006" + }, { + "n": "2005", + "v": "2005" + }, { + "n": "2004", + "v": "2004" + }, { + "n": "2003", + "v": "2003" + }, { + "n": "2002", + "v": "2002" + }, { + "n": "2001", + "v": "2001" + }, { + "n": "2000", + "v": "2000" + }] + }, { + "key": "letter", + "name": "字母", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "A", + "v": "A" + }, { + "n": "B", + "v": "B" + }, { + "n": "C", + "v": "C" + }, { + "n": "D", + "v": "D" + }, { + "n": "E", + "v": "E" + }, { + "n": "F", + "v": "F" + }, { + "n": "G", + "v": "G" + }, { + "n": "H", + "v": "H" + }, { + "n": "I", + "v": "I" + }, { + "n": "J", + "v": "J" + }, { + "n": "K", + "v": "K" + }, { + "n": "L", + "v": "L" + }, { + "n": "M", + "v": "M" + }, { + "n": "N", + "v": "N" + }, { + "n": "O", + "v": "O" + }, { + "n": "P", + "v": "P" + }, { + "n": "Q", + "v": "Q" + }, { + "n": "R", + "v": "R" + }, { + "n": "S", + "v": "S" + }, { + "n": "T", + "v": "T" + }, { + "n": "U", + "v": "U" + }, { + "n": "V", + "v": "V" + }, { + "n": "W", + "v": "W" + }, { + "n": "X", + "v": "X" + }, { + "n": "Y", + "v": "Y" + }, { + "n": "Z", + "v": "Z" + }] + }, { + "key": "by", + "name": "排序", + "value": [{ + "n": "更新", + "v": "time" + }, { + "n": "得分", + "v": "score" + }, { + "n": "总排行", + "v": "hits" + }] + }] + }, + searchUrl: '/search-pg-fypage-wd-**.html', + searchable: 2, //是否启用全局搜索, + quickSearch: 0, //是否启用快速搜索, + headers: { + 'User-Agent': 'PC_UA', + }, + class_parse: '.secNacUl li;a&&Text;a&&href;.*/(\\d+)-1.html', + play_parse: true, + lazy: '', + limit: 6, + 推荐: '.c1_l_wap_contact li;*;img&&src;.time:eq(0)&&Text;*', + 一级: '.list3_cn_box .cn_box2;a&&title;.list_pic&&src;.list_20 li:eq(1) span&&Text;a&&href', + 二级: { + "title": "h1&&Text;.o_r_contact&&li:eq(0)&&Text", + "img": ".o_big_img_bg_b img&&src", + "desc": ".o_r_contact&&li:eq(6)&&Text;.o_r_contact&&li:eq(5)&&Text;.o_r_contact&&li:eq(3)&&Text;.o_r_contact&&li:eq(2)&&Text;.o_r_contact&&li:eq(1)&&Text", + "content": ".des_box&&Text", + "tabs": ".from-tabs&&label", + "lists": ".mn_list_li_movie:eq(#id) li" + }, + 搜索: '*', +} \ No newline at end of file diff --git a/xiaosa/js/动漫巴士.js b/xiaosa/js/动漫巴士.js new file mode 100644 index 00000000..db8ae7be --- /dev/null +++ b/xiaosa/js/动漫巴士.js @@ -0,0 +1,64 @@ +var rule = { + author: '小可乐/240526/第一版', + title: '动漫巴士[漫]', + host: 'http://dm84.site', + hostJs: 'print(HOST);let html=request(HOST,{headers:{"User-Agent":MOBILE_UA}});let src= jsp.pdfh(html,"ul&&a:eq(0)&&href");print(src);HOST=src', + headers: { + 'User-Agent': 'MOBILE_UA' + }, + 编码: 'utf-8', + timeout: 5000, + + homeUrl: '/', + url: '/show-fyclass--fyfilter-fypage.html', + filter_url: '{{fl.by}}-{{fl.class}}--{{fl.year}}', + detailUrl: '', + searchUrl: '/s-**---------fypage.html', + searchable: 1, + quickSearch: 1, + filterable: 1, + + class_name: '国产动漫&日本动漫&欧美动漫&电影', + class_url: '1&2&3&4', + filter_def: {}, + + proxy_rule: '', + sniffer: 0, + isVideo: '', + play_parse: true, + parse_url: '', + lazy: `js: +let html = request(input); +let kurl = pdfh(html,'body&&iframe').match(/src="(.*?)"/)[1]; +input= kurl +`, + + limit: 9, + double: false, + 推荐: '*', + //列表;标题;图片;描述;链接;详情(可不写) + 一级: '.v_list li;a&&title;a&&data-bg;.desc&&Text;a&&href', + 二级: { + //名称;类型 + "title": "h1&&Text;meta[name*=class]&&content", + //图片 + "img": "img&&src", + //主要描述;年份;地区;演员;导演 + "desc": "meta[name*=update_date]&&content;meta[name*=release_date]&&content;meta[name*=area]&&content;meta[name*=actor]&&content;meta[name*=director]&&content", + //简介 + "content": "p:eq(-2)&&Text", + //线路数组 + "tabs": ".tab_control&&li", + //线路标题 + "tab_text": "body&&Text", + //播放数组 选集列表 + "lists": ".play_list:eq(#id)&&a", + //选集标题 + "list_text": "body&&Text", + //选集链接 + "list_url": "a&&href" + }, + 搜索: '*', + + filter: 'H4sIAAAAAAAAA+2WbUsqQRTH3+/HmNe+0LWn21eJXlgIRU+Q3UBEsLTaCrYtSm9cb2RQ2YOVFUFa9mWcGf0Wjc6cMxPFstDlcgXf7e/39+zo2XPUlEUiZHTMSpGZeJKMksnZWCJBQmQ+NhcXyKt1erQteDk2+1OIsRSZF5quldvZckcLIOmQsqcb9LmurALImPOL5QsqUwAZd3O6TgFmF2+tpy3IJGB2vmvUScDzKmfNxjGcJwHrspVWKQN1EiBrZV55w1WZArynd8Svd+GeEvCzb5VZZoW9XPF97ICp0uPpEDY5GY8t6h6zwlO78Biwx3bYHlCue2n4qPZR00e0j5je1t42fVj7sOEjP9CLS8OPaD9i+mHth00/pP2Q6Qe1H/zYr4mk0S13j9Z2PnVLN1HA0rR4Kdy5Wauxu32VTE0vJfSzvs1RZ10licmFxXjnWGs8ZBH7r+3E+l778AImQkKQnfDbJeq59OYKMgl6Dqv0rYAT2AU877hEf1fgPAlBdoIVa+LdQZ2EIDvBVq95HjMJmN3XWc6BTAK+l8MG9SBTgHUrHsvkoU4CZm6Ze/A8Fei6be5Usa4LmD2U2n9O+MElxMj9re2prY3+z1vr92vlW+e3mT7b9+UW9ee5l+Z54F/Ms/ib0nwt6v8sHfj2POeLdPMc6iQE+eb3nWenyrJrcJ6E/jz3zjxb6XeqCRqqbAwAAA==' +} \ No newline at end of file diff --git a/xiaosa/js/动画片大全.js b/xiaosa/js/动画片大全.js new file mode 100644 index 00000000..696e162b --- /dev/null +++ b/xiaosa/js/动画片大全.js @@ -0,0 +1,28 @@ +var rule = { + title: '动画片大全', + host: 'https://www.dhpdq2.com/', + url: 'https://www.dhpdq2.com/katong/fyclass-fypage/', + searchUrl: '/vodsearch/**----------fypage---/', + class_parse: '.c_class li;a&&Text;a&&href;.*/(.*?)/', + searchable: 2, + quickSearch: 0, + filterable: 0, + headers: { + 'User-Agent': 'MOBILE_UA', + }, + play_parse: true, + lazy: '', + limit: 6, + 推荐: '.stui-vodlist;li;a&&title;a&&data-original;.pic-text&&Text;a&&href', + double: true, + 一级: '.stui-vodlist li;a&&title;a&&data-original;.pic-text&&Text;a&&href', + 二级: { + title: 'h1&&Text;.detail_list&&ul:eq(1)&&li&&a:eq(2)&&Text', + img: '.vodlist_thumb&&data-original', + desc: '.playinfo&&p:eq(0)&&Text;.playinfo&&p:eq(1)&&Text;.playinfo&&p:eq(2)&&Text;.playinfo&&p:eq(3)&&Text', + content: '.content:eq(1)', + tabs: '.relatesdh .title h3', + lists: '.relatesdh:eq(#id) li', + }, + 搜索: '*', +} \ No newline at end of file diff --git a/xiaosa/js/去看吧.js b/xiaosa/js/去看吧.js new file mode 100644 index 00000000..81f91214 --- /dev/null +++ b/xiaosa/js/去看吧.js @@ -0,0 +1,1127 @@ +muban.vfed.二级.title = 'h1&&Text;.fed-col-md3--span:eq(0)&&Text'; +muban.vfed.二级.desc = '.fed-col-md3:eq(3)&&Text;;;.fed-col-md6:eq(0)&&Text;.fed-col-md6--span:eq(1)&&Text'; +var rule = { + title: '去看吧', + 模板: 'vfed', + host: 'https://www.k9dm.com', + // url: '/index.php/vod/show/id/fyclass/page/fypage.html', + url: '/index.php/vod/show/id/fyclassfyfilter.html', + filterable: 1, //是否启用分类筛选, + filter_url: '{{fl.area}}{{fl.by}}{{fl.class}}/page/fypage{{fl.year}}', + filter: { + "33": [{ + "key": "class", + "name": "类型", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "搞笑", + "v": "/class/搞笑" + }, { + "n": "经典", + "v": "/class/经典" + }, { + "n": "热血", + "v": "/class/热血" + }, { + "n": "催泪", + "v": "/class/催泪" + }, { + "n": "治愈", + "v": "/class/治愈" + }, { + "n": "猎奇", + "v": "/class/猎奇" + }, { + "n": "励志", + "v": "/class/励志" + }, { + "n": "战斗", + "v": "/class/战斗" + }, { + "n": "后宫", + "v": "/class/后宫" + }, { + "n": "机战", + "v": "/class/机战" + }, { + "n": "恋爱", + "v": "/class/恋爱" + }, { + "n": "百合", + "v": "/class/百合" + }, { + "n": "科幻", + "v": "/class/科幻" + }, { + "n": "奇幻", + "v": "/class/奇幻" + }, { + "n": "推理", + "v": "/class/推理" + }, { + "n": "校园", + "v": "/class/校园" + }, { + "n": "运动", + "v": "/class/运动" + }, { + "n": "魔法", + "v": "/class/魔法" + }, { + "n": "历史", + "v": "/class/历史" + }, { + "n": "伪娘", + "v": "/class/伪娘" + }, { + "n": "美少女", + "v": "/class/美少女" + }, { + "n": "萝莉", + "v": "/class/萝莉" + }, { + "n": "亲子", + "v": "/class/亲子" + }, { + "n": "青春", + "v": "/class/青春" + }, { + "n": "冒险", + "v": "/class/冒险" + }, { + "n": "竞技", + "v": "/class/竞技" + }] + }, { + "key": "year", + "name": "年代", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2025", + "v": "/year/2025" + }, { + "n": "2024", + "v": "/year/2024" + }, { + "n": "2023", + "v": "/year/2023" + }, { + "n": "2022", + "v": "/year/2022" + }, { + "n": "2021", + "v": "/year/2021" + }, { + "n": "2020", + "v": "/year/2020" + }, { + "n": "2019", + "v": "/year/2019" + }, { + "n": "2018", + "v": "/year/2018" + }, { + "n": "2017", + "v": "/year/2017" + }, { + "n": "2016", + "v": "/year/2016" + }, { + "n": "2015", + "v": "/year/2015" + }, { + "n": "2014", + "v": "/year/2014" + }, { + "n": "2013", + "v": "/year/2013" + }, { + "n": "2012", + "v": "/year/2012" + }, { + "n": "2011", + "v": "/year/2011" + }, { + "n": "2010", + "v": "/year/2010" + }, { + "n": "2009", + "v": "/year/2009" + }, { + "n": "2008", + "v": "/year/2008" + }, { + "n": "2007", + "v": "/year/2007" + }, { + "n": "2006", + "v": "/year/2006" + }, { + "n": "2005", + "v": "/year/2005" + }, { + "n": "2004", + "v": "/year/2004" + }, { + "n": "2003", + "v": "/year/2003" + }, { + "n": "2002", + "v": "/year/2002" + }, { + "n": "2001", + "v": "/year/2001" + }, { + "n": "2000", + "v": "/year/2000" + }, { + "n": "1999", + "v": "/year/1999" + }, { + "n": "1998", + "v": "/year/1998" + }] + }, { + "key": "by", + "name": "排序", + "value": [{ + "n": "时间", + "v": "/by/time" + }, { + "n": "人气", + "v": "/by/hits" + }, { + "n": "评分", + "v": "/by/score" + }] + }], + "21": [{ + "key": "class", + "name": "类型", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "搞笑", + "v": "/class/搞笑" + }, { + "n": "经典", + "v": "/class/经典" + }, { + "n": "热血", + "v": "/class/热血" + }, { + "n": "催泪", + "v": "/class/催泪" + }, { + "n": "治愈", + "v": "/class/治愈" + }, { + "n": "猎奇", + "v": "/class/猎奇" + }, { + "n": "励志", + "v": "/class/励志" + }, { + "n": "战斗", + "v": "/class/战斗" + }, { + "n": "后宫", + "v": "/class/后宫" + }, { + "n": "机战", + "v": "/class/机战" + }, { + "n": "恋爱", + "v": "/class/恋爱" + }, { + "n": "百合", + "v": "/class/百合" + }, { + "n": "科幻", + "v": "/class/科幻" + }, { + "n": "奇幻", + "v": "/class/奇幻" + }, { + "n": "推理", + "v": "/class/推理" + }, { + "n": "校园", + "v": "/class/校园" + }, { + "n": "运动", + "v": "/class/运动" + }, { + "n": "魔法", + "v": "/class/魔法" + }, { + "n": "历史", + "v": "/class/历史" + }, { + "n": "伪娘", + "v": "/class/伪娘" + }, { + "n": "美少女", + "v": "/class/美少女" + }, { + "n": "萝莉", + "v": "/class/萝莉" + }, { + "n": "亲子", + "v": "/class/亲子" + }, { + "n": "青春", + "v": "/class/青春" + }, { + "n": "冒险", + "v": "/class/冒险" + }, { + "n": "竞技", + "v": "/class/竞技" + }] + }, { + "key": "area", + "name": "地区", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "大陆", + "v": "/area/大陆" + }, { + "n": "美国", + "v": "/area/美国" + }, { + "n": "韩国", + "v": "/area/韩国" + }, { + "n": "日本", + "v": "/area/日本" + }, { + "n": "泰国", + "v": "/area/泰国" + }, { + "n": "新加坡", + "v": "/area/新加坡" + }, { + "n": "马来西亚", + "v": "/area/马来西亚" + }, { + "n": "印度", + "v": "/area/印度" + }, { + "n": "英国", + "v": "/area/英国" + }, { + "n": "法国", + "v": "/area/法国" + }, { + "n": "加拿大", + "v": "/area/加拿大" + }, { + "n": "西班牙", + "v": "/area/西班牙" + }, { + "n": "俄罗斯", + "v": "/area/俄罗斯" + }, { + "n": "其它", + "v": "/area/其它" + }] + }, { + "key": "year", + "name": "年代", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2025", + "v": "/year/2025" + }, { + "n": "2024", + "v": "/year/2024" + }, { + "n": "2023", + "v": "/year/2023" + }, { + "n": "2022", + "v": "/year/2022" + }, { + "n": "2021", + "v": "/year/2021" + }, { + "n": "2020", + "v": "/year/2020" + }, { + "n": "2019", + "v": "/year/2019" + }, { + "n": "2018", + "v": "/year/2018" + }, { + "n": "2017", + "v": "/year/2017" + }, { + "n": "2016", + "v": "/year/2016" + }, { + "n": "2015", + "v": "/year/2015" + }, { + "n": "2014", + "v": "/year/2014" + }, { + "n": "2013", + "v": "/year/2013" + }, { + "n": "2012", + "v": "/year/2012" + }, { + "n": "2011", + "v": "/year/2011" + }, { + "n": "2010", + "v": "/year/2010" + }, { + "n": "2009", + "v": "/year/2009" + }, { + "n": "2008", + "v": "/year/2008" + }, { + "n": "2007", + "v": "/year/2007" + }, { + "n": "2006", + "v": "/year/2006" + }, { + "n": "2005", + "v": "/year/2005" + }, { + "n": "2004", + "v": "/year/2004" + }, { + "n": "2003", + "v": "/year/2003" + }, { + "n": "2002", + "v": "/year/2002" + }, { + "n": "2001", + "v": "/year/2001" + }, { + "n": "2000", + "v": "/year/2000" + }, { + "n": "1999", + "v": "/year/1999" + }, { + "n": "1998", + "v": "/year/1998" + }] + }, { + "key": "by", + "name": "排序", + "value": [{ + "n": "时间", + "v": "/by/time" + }, { + "n": "人气", + "v": "/by/hits" + }, { + "n": "评分", + "v": "/by/score" + }] + }], + "50": [{ + "key": "class", + "name": "类型", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "搞笑", + "v": "/class/搞笑" + }, { + "n": "经典", + "v": "/class/经典" + }, { + "n": "热血", + "v": "/class/热血" + }, { + "n": "催泪", + "v": "/class/催泪" + }, { + "n": "治愈", + "v": "/class/治愈" + }, { + "n": "猎奇", + "v": "/class/猎奇" + }, { + "n": "励志", + "v": "/class/励志" + }, { + "n": "战斗", + "v": "/class/战斗" + }, { + "n": "后宫", + "v": "/class/后宫" + }, { + "n": "机战", + "v": "/class/机战" + }, { + "n": "恋爱", + "v": "/class/恋爱" + }, { + "n": "百合", + "v": "/class/百合" + }, { + "n": "科幻", + "v": "/class/科幻" + }, { + "n": "奇幻", + "v": "/class/奇幻" + }, { + "n": "推理", + "v": "/class/推理" + }, { + "n": "校园", + "v": "/class/校园" + }, { + "n": "运动", + "v": "/class/运动" + }, { + "n": "魔法", + "v": "/class/魔法" + }, { + "n": "历史", + "v": "/class/历史" + }, { + "n": "伪娘", + "v": "/class/伪娘" + }, { + "n": "美少女", + "v": "/class/美少女" + }, { + "n": "萝莉", + "v": "/class/萝莉" + }, { + "n": "亲子", + "v": "/class/亲子" + }, { + "n": "青春", + "v": "/class/青春" + }, { + "n": "冒险", + "v": "/class/冒险" + }, { + "n": "竞技", + "v": "/class/竞技" + }] + }, { + "key": "area", + "name": "地区", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "大陆", + "v": "/area/大陆" + }, { + "n": "美国", + "v": "/area/美国" + }, { + "n": "韩国", + "v": "/area/韩国" + }, { + "n": "日本", + "v": "/area/日本" + }, { + "n": "泰国", + "v": "/area/泰国" + }, { + "n": "新加坡", + "v": "/area/新加坡" + }, { + "n": "马来西亚", + "v": "/area/马来西亚" + }, { + "n": "印度", + "v": "/area/印度" + }, { + "n": "英国", + "v": "/area/英国" + }, { + "n": "法国", + "v": "/area/法国" + }, { + "n": "加拿大", + "v": "/area/加拿大" + }, { + "n": "西班牙", + "v": "/area/西班牙" + }, { + "n": "俄罗斯", + "v": "/area/俄罗斯" + }, { + "n": "其它", + "v": "/area/其它" + }] + }, { + "key": "year", + "name": "年代", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2025", + "v": "/year/2025" + }, { + "n": "2024", + "v": "/year/2024" + }, { + "n": "2023", + "v": "/year/2023" + }, { + "n": "2022", + "v": "/year/2022" + }, { + "n": "2021", + "v": "/year/2021" + }, { + "n": "2020", + "v": "/year/2020" + }, { + "n": "2019", + "v": "/year/2019" + }, { + "n": "2018", + "v": "/year/2018" + }, { + "n": "2017", + "v": "/year/2017" + }, { + "n": "2016", + "v": "/year/2016" + }, { + "n": "2015", + "v": "/year/2015" + }, { + "n": "2014", + "v": "/year/2014" + }, { + "n": "2013", + "v": "/year/2013" + }, { + "n": "2012", + "v": "/year/2012" + }, { + "n": "2011", + "v": "/year/2011" + }, { + "n": "2010", + "v": "/year/2010" + }, { + "n": "2009", + "v": "/year/2009" + }, { + "n": "2008", + "v": "/year/2008" + }, { + "n": "2007", + "v": "/year/2007" + }, { + "n": "2006", + "v": "/year/2006" + }, { + "n": "2005", + "v": "/year/2005" + }, { + "n": "2004", + "v": "/year/2004" + }, { + "n": "2003", + "v": "/year/2003" + }, { + "n": "2002", + "v": "/year/2002" + }, { + "n": "2001", + "v": "/year/2001" + }, { + "n": "2000", + "v": "/year/2000" + }, { + "n": "1999", + "v": "/year/1999" + }, { + "n": "1998", + "v": "/year/1998" + }] + }, { + "key": "by", + "name": "排序", + "value": [{ + "n": "时间", + "v": "/by/time" + }, { + "n": "人气", + "v": "/by/hits" + }, { + "n": "评分", + "v": "/by/score" + }] + }], + "24": [{ + "key": "class", + "name": "类型", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "搞笑", + "v": "/class/搞笑" + }, { + "n": "经典", + "v": "/class/经典" + }, { + "n": "热血", + "v": "/class/热血" + }, { + "n": "催泪", + "v": "/class/催泪" + }, { + "n": "治愈", + "v": "/class/治愈" + }, { + "n": "猎奇", + "v": "/class/猎奇" + }, { + "n": "励志", + "v": "/class/励志" + }, { + "n": "战斗", + "v": "/class/战斗" + }, { + "n": "后宫", + "v": "/class/后宫" + }, { + "n": "机战", + "v": "/class/机战" + }, { + "n": "恋爱", + "v": "/class/恋爱" + }, { + "n": "百合", + "v": "/class/百合" + }, { + "n": "科幻", + "v": "/class/科幻" + }, { + "n": "奇幻", + "v": "/class/奇幻" + }, { + "n": "推理", + "v": "/class/推理" + }, { + "n": "校园", + "v": "/class/校园" + }, { + "n": "运动", + "v": "/class/运动" + }, { + "n": "魔法", + "v": "/class/魔法" + }, { + "n": "历史", + "v": "/class/历史" + }, { + "n": "伪娘", + "v": "/class/伪娘" + }, { + "n": "美少女", + "v": "/class/美少女" + }, { + "n": "萝莉", + "v": "/class/萝莉" + }, { + "n": "亲子", + "v": "/class/亲子" + }, { + "n": "青春", + "v": "/class/青春" + }, { + "n": "冒险", + "v": "/class/冒险" + }, { + "n": "竞技", + "v": "/class/竞技" + }] + }, { + "key": "area", + "name": "地区", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "大陆", + "v": "/area/大陆" + }, { + "n": "美国", + "v": "/area/美国" + }, { + "n": "韩国", + "v": "/area/韩国" + }, { + "n": "日本", + "v": "/area/日本" + }, { + "n": "泰国", + "v": "/area/泰国" + }, { + "n": "新加坡", + "v": "/area/新加坡" + }, { + "n": "马来西亚", + "v": "/area/马来西亚" + }, { + "n": "印度", + "v": "/area/印度" + }, { + "n": "英国", + "v": "/area/英国" + }, { + "n": "法国", + "v": "/area/法国" + }, { + "n": "加拿大", + "v": "/area/加拿大" + }, { + "n": "西班牙", + "v": "/area/西班牙" + }, { + "n": "俄罗斯", + "v": "/area/俄罗斯" + }, { + "n": "其它", + "v": "/area/其它" + }] + }, { + "key": "year", + "name": "年代", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2025", + "v": "/year/2025" + }, { + "n": "2024", + "v": "/year/2024" + }, { + "n": "2023", + "v": "/year/2023" + }, { + "n": "2022", + "v": "/year/2022" + }, { + "n": "2021", + "v": "/year/2021" + }, { + "n": "2020", + "v": "/year/2020" + }, { + "n": "2019", + "v": "/year/2019" + }, { + "n": "2018", + "v": "/year/2018" + }, { + "n": "2017", + "v": "/year/2017" + }, { + "n": "2016", + "v": "/year/2016" + }, { + "n": "2015", + "v": "/year/2015" + }, { + "n": "2014", + "v": "/year/2014" + }, { + "n": "2013", + "v": "/year/2013" + }, { + "n": "2012", + "v": "/year/2012" + }, { + "n": "2011", + "v": "/year/2011" + }, { + "n": "2010", + "v": "/year/2010" + }, { + "n": "2009", + "v": "/year/2009" + }, { + "n": "2008", + "v": "/year/2008" + }, { + "n": "2007", + "v": "/year/2007" + }, { + "n": "2006", + "v": "/year/2006" + }, { + "n": "2005", + "v": "/year/2005" + }, { + "n": "2004", + "v": "/year/2004" + }, { + "n": "2003", + "v": "/year/2003" + }, { + "n": "2002", + "v": "/year/2002" + }, { + "n": "2001", + "v": "/year/2001" + }, { + "n": "2000", + "v": "/year/2000" + }, { + "n": "1999", + "v": "/year/1999" + }, { + "n": "1998", + "v": "/year/1998" + }] + }, { + "key": "by", + "name": "排序", + "value": [{ + "n": "时间", + "v": "/by/time" + }, { + "n": "人气", + "v": "/by/hits" + }, { + "n": "评分", + "v": "/by/score" + }] + }], + "22": [{ + "key": "class", + "name": "类型", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "搞笑", + "v": "/class/搞笑" + }, { + "n": "经典", + "v": "/class/经典" + }, { + "n": "热血", + "v": "/class/热血" + }, { + "n": "催泪", + "v": "/class/催泪" + }, { + "n": "治愈", + "v": "/class/治愈" + }, { + "n": "猎奇", + "v": "/class/猎奇" + }, { + "n": "励志", + "v": "/class/励志" + }, { + "n": "战斗", + "v": "/class/战斗" + }, { + "n": "后宫", + "v": "/class/后宫" + }, { + "n": "机战", + "v": "/class/机战" + }, { + "n": "恋爱", + "v": "/class/恋爱" + }, { + "n": "百合", + "v": "/class/百合" + }, { + "n": "科幻", + "v": "/class/科幻" + }, { + "n": "奇幻", + "v": "/class/奇幻" + }, { + "n": "推理", + "v": "/class/推理" + }, { + "n": "校园", + "v": "/class/校园" + }, { + "n": "运动", + "v": "/class/运动" + }, { + "n": "魔法", + "v": "/class/魔法" + }, { + "n": "历史", + "v": "/class/历史" + }, { + "n": "伪娘", + "v": "/class/伪娘" + }, { + "n": "美少女", + "v": "/class/美少女" + }, { + "n": "萝莉", + "v": "/class/萝莉" + }, { + "n": "亲子", + "v": "/class/亲子" + }, { + "n": "青春", + "v": "/class/青春" + }, { + "n": "冒险", + "v": "/class/冒险" + }, { + "n": "竞技", + "v": "/class/竞技" + }] + }, { + "key": "area", + "name": "地区", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "日本", + "v": "/area/日本" + }, { + "n": "欧美", + "v": "/area/欧美" + }, { + "n": "其他", + "v": "/area/其他" + }] + }, { + "key": "year", + "name": "年代", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2025", + "v": "/year/2025" + }, { + "n": "2024", + "v": "/year/2024" + }, { + "n": "2023", + "v": "/year/2023" + }, { + "n": "2022", + "v": "/year/2022" + }, { + "n": "2021", + "v": "/year/2021" + }, { + "n": "2020", + "v": "/year/2020" + }, { + "n": "2019", + "v": "/year/2019" + }, { + "n": "2018", + "v": "/year/2018" + }, { + "n": "2017", + "v": "/year/2017" + }, { + "n": "2016", + "v": "/year/2016" + }, { + "n": "2015", + "v": "/year/2015" + }, { + "n": "2014", + "v": "/year/2014" + }, { + "n": "2013", + "v": "/year/2013" + }, { + "n": "2012", + "v": "/year/2012" + }, { + "n": "2011", + "v": "/year/2011" + }, { + "n": "2010", + "v": "/year/2010" + }, { + "n": "2009", + "v": "/year/2009" + }, { + "n": "2008", + "v": "/year/2008" + }, { + "n": "2007", + "v": "/year/2007" + }, { + "n": "2006", + "v": "/year/2006" + }, { + "n": "2005", + "v": "/year/2005" + }, { + "n": "2004", + "v": "/year/2004" + }, { + "n": "2003", + "v": "/year/2003" + }, { + "n": "2002", + "v": "/year/2002" + }, { + "n": "2001", + "v": "/year/2001" + }, { + "n": "2000", + "v": "/year/2000" + }, { + "n": "1999", + "v": "/year/1999" + }, { + "n": "1998", + "v": "/year/1998" + }] + }, { + "key": "by", + "name": "排序", + "value": [{ + "n": "时间", + "v": "/by/time" + }, { + "n": "人气", + "v": "/by/hits" + }, { + "n": "评分", + "v": "/by/score" + }] + }] + }, + class_parse: '.fed-pops-list:eq(0)&&li:gt(0):lt(6);a&&Text;a&&href;.*/(.*?).html', +} \ No newline at end of file diff --git a/xiaosa/js/奇米动漫.js b/xiaosa/js/奇米动漫.js new file mode 100644 index 00000000..9e4e97be --- /dev/null +++ b/xiaosa/js/奇米动漫.js @@ -0,0 +1,1164 @@ +var rule = { + title: '奇米动漫', + host: 'http://www.qimiqimi.net', + url: '/show/fyclassfyfilter.html', + filterable: 1, //是否启用分类筛选, + filter_url: '{{fl.area}}{{fl.by}}{{fl.class}}{{fl.letter}}/page/fypage{{fl.year}}', + filter: { + "xinfan": [{ + "key": "class", + "name": "类型", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "冒险", + "v": "/class/冒险" + }, { + "n": "热血", + "v": "/class/热血" + }, { + "n": "奇幻", + "v": "/class/奇幻" + }, { + "n": "恋爱", + "v": "/class/恋爱" + }, { + "n": "校园", + "v": "/class/校园" + }, { + "n": "后宫", + "v": "/class/后宫" + }, { + "n": "搞笑", + "v": "/class/搞笑" + }, { + "n": "治愈", + "v": "/class/治愈" + }, { + "n": "神魔", + "v": "/class/神魔" + }, { + "n": "魔法", + "v": "/class/魔法" + }, { + "n": "百合", + "v": "/class/百合" + }, { + "n": "推理", + "v": "/class/推理" + }, { + "n": "科幻", + "v": "/class/科幻" + }, { + "n": "竞技", + "v": "/class/竞技" + }, { + "n": "悬疑", + "v": "/class/悬疑" + }, { + "n": "青春", + "v": "/class/青春" + }, { + "n": "战争", + "v": "/class/战争" + }, { + "n": "萝莉", + "v": "/class/萝莉" + }, { + "n": "魔幻", + "v": "/class/魔幻" + }, { + "n": "战斗", + "v": "/class/战斗" + }, { + "n": "日常", + "v": "/class/日常" + }] + }, { + "key": "area", + "name": "地区", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "日本", + "v": "/area/日本/" + }, { + "n": "大陆", + "v": "/area/中国/" + }, { + "n": "欧美", + "v": "/area/欧美/" + }, { + "n": "韩国", + "v": "/area/韩国/" + }, { + "n": "港台", + "v": "/area/港台/" + }] + }, { + "key": "year", + "name": "年份", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2025", + "v": "/year/2025" + }, { + "n": "2024", + "v": "/year/2024" + }, { + "n": "2023", + "v": "/year/2023" + }, { + "n": "2022", + "v": "/year/2022" + }, { + "n": "2021", + "v": "/year/2021" + }, { + "n": "2020", + "v": "/year/2020" + }, { + "n": "2019", + "v": "/year/2019" + }, { + "n": "2018", + "v": "/year/2018" + }, { + "n": "2017", + "v": "/year/2017" + }, { + "n": "2016", + "v": "/year/2016" + }, { + "n": "2015", + "v": "/year/2015" + }, { + "n": "2014", + "v": "/year/2014" + }, { + "n": "2013", + "v": "/year/2013" + }, { + "n": "2012", + "v": "/year/2012" + }, { + "n": "2011", + "v": "/year/2011" + }, { + "n": "2010", + "v": "/year/2010" + }, { + "n": "2009", + "v": "/year/2009" + }, { + "n": "2008", + "v": "/year/2008" + }, { + "n": "2007", + "v": "/year/2007" + }, { + "n": "2006", + "v": "/year/2006" + }, { + "n": "2005", + "v": "/year/2005" + }, { + "n": "2004", + "v": "/year/2004" + }, { + "n": "2003", + "v": "/year/2003" + }, { + "n": "2002", + "v": "/year/2002" + }, { + "n": "2001", + "v": "/year/2001" + }, { + "n": "2000", + "v": "/year/2000" + }] + }, { + "key": "letter", + "name": "字母", + "value": [{ + "n": "字母", + "v": "" + }, { + "n": "A", + "v": "/letter/A" + }, { + "n": "B", + "v": "/letter/B" + }, { + "n": "C", + "v": "/letter/C" + }, { + "n": "D", + "v": "/letter/D" + }, { + "n": "E", + "v": "/letter/E" + }, { + "n": "F", + "v": "/letter/F" + }, { + "n": "G", + "v": "/letter/G" + }, { + "n": "H", + "v": "/letter/H" + }, { + "n": "I", + "v": "/letter/I" + }, { + "n": "J", + "v": "/letter/J" + }, { + "n": "K", + "v": "/letter/K" + }, { + "n": "L", + "v": "/letter/L" + }, { + "n": "M", + "v": "/letter/M" + }, { + "n": "N", + "v": "/letter/N" + }, { + "n": "O", + "v": "/letter/O" + }, { + "n": "P", + "v": "/letter/P" + }, { + "n": "Q", + "v": "/letter/Q" + }, { + "n": "R", + "v": "/letter/R" + }, { + "n": "S", + "v": "/letter/S" + }, { + "n": "T", + "v": "/letter/T" + }, { + "n": "U", + "v": "/letter/U" + }, { + "n": "V", + "v": "/letter/V" + }, { + "n": "W", + "v": "/letter/W" + }, { + "n": "X", + "v": "/letter/X" + }, { + "n": "Y", + "v": "/letter/Y" + }, { + "n": "Z", + "v": "/letter/Z" + }, { + "n": "0-9", + "v": "/letter/0-9" + }] + }, { + "key": "by", + "name": "排序", + "value": [{ + "n": "时间", + "v": "/by/time" + }, { + "n": "人气", + "v": "/by/hits" + }, { + "n": "评分", + "v": "/by/score" + }] + }], + "riman": [{ + "key": "class", + "name": "类型", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "冒险", + "v": "/class/冒险" + }, { + "n": "热血", + "v": "/class/热血" + }, { + "n": "奇幻", + "v": "/class/奇幻" + }, { + "n": "恋爱", + "v": "/class/恋爱" + }, { + "n": "校园", + "v": "/class/校园" + }, { + "n": "后宫", + "v": "/class/后宫" + }, { + "n": "搞笑", + "v": "/class/搞笑" + }, { + "n": "治愈", + "v": "/class/治愈" + }, { + "n": "神魔", + "v": "/class/神魔" + }, { + "n": "魔法", + "v": "/class/魔法" + }, { + "n": "百合", + "v": "/class/百合" + }, { + "n": "推理", + "v": "/class/推理" + }, { + "n": "科幻", + "v": "/class/科幻" + }, { + "n": "竞技", + "v": "/class/竞技" + }, { + "n": "悬疑", + "v": "/class/悬疑" + }, { + "n": "青春", + "v": "/class/青春" + }, { + "n": "战争", + "v": "/class/战争" + }, { + "n": "萝莉", + "v": "/class/萝莉" + }, { + "n": "魔幻", + "v": "/class/魔幻" + }, { + "n": "战斗", + "v": "/class/战斗" + }, { + "n": "日常", + "v": "/class/日常" + }] + }, { + "key": "area", + "name": "地区", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "日本", + "v": "/area/日本/" + }, { + "n": "大陆", + "v": "/area/中国/" + }, { + "n": "欧美", + "v": "/area/欧美/" + }, { + "n": "韩国", + "v": "/area/韩国/" + }, { + "n": "港台", + "v": "/area/港台/" + }] + }, { + "key": "year", + "name": "年份", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2025", + "v": "/year/2025" + }, { + "n": "2024", + "v": "/year/2024" + }, { + "n": "2023", + "v": "/year/2023" + }, { + "n": "2022", + "v": "/year/2022" + }, { + "n": "2021", + "v": "/year/2021" + }, { + "n": "2020", + "v": "/year/2020" + }, { + "n": "2019", + "v": "/year/2019" + }, { + "n": "2018", + "v": "/year/2018" + }, { + "n": "2017", + "v": "/year/2017" + }, { + "n": "2016", + "v": "/year/2016" + }, { + "n": "2015", + "v": "/year/2015" + }, { + "n": "2014", + "v": "/year/2014" + }, { + "n": "2013", + "v": "/year/2013" + }, { + "n": "2012", + "v": "/year/2012" + }, { + "n": "2011", + "v": "/year/2011" + }, { + "n": "2010", + "v": "/year/2010" + }, { + "n": "2009", + "v": "/year/2009" + }, { + "n": "2008", + "v": "/year/2008" + }, { + "n": "2007", + "v": "/year/2007" + }, { + "n": "2006", + "v": "/year/2006" + }, { + "n": "2005", + "v": "/year/2005" + }, { + "n": "2004", + "v": "/year/2004" + }, { + "n": "2003", + "v": "/year/2003" + }, { + "n": "2002", + "v": "/year/2002" + }, { + "n": "2001", + "v": "/year/2001" + }, { + "n": "2000", + "v": "/year/2000" + }] + }, { + "key": "letter", + "name": "字母", + "value": [{ + "n": "字母", + "v": "" + }, { + "n": "A", + "v": "/letter/A" + }, { + "n": "B", + "v": "/letter/B" + }, { + "n": "C", + "v": "/letter/C" + }, { + "n": "D", + "v": "/letter/D" + }, { + "n": "E", + "v": "/letter/E" + }, { + "n": "F", + "v": "/letter/F" + }, { + "n": "G", + "v": "/letter/G" + }, { + "n": "H", + "v": "/letter/H" + }, { + "n": "I", + "v": "/letter/I" + }, { + "n": "J", + "v": "/letter/J" + }, { + "n": "K", + "v": "/letter/K" + }, { + "n": "L", + "v": "/letter/L" + }, { + "n": "M", + "v": "/letter/M" + }, { + "n": "N", + "v": "/letter/N" + }, { + "n": "O", + "v": "/letter/O" + }, { + "n": "P", + "v": "/letter/P" + }, { + "n": "Q", + "v": "/letter/Q" + }, { + "n": "R", + "v": "/letter/R" + }, { + "n": "S", + "v": "/letter/S" + }, { + "n": "T", + "v": "/letter/T" + }, { + "n": "U", + "v": "/letter/U" + }, { + "n": "V", + "v": "/letter/V" + }, { + "n": "W", + "v": "/letter/W" + }, { + "n": "X", + "v": "/letter/X" + }, { + "n": "Y", + "v": "/letter/Y" + }, { + "n": "Z", + "v": "/letter/Z" + }, { + "n": "0-9", + "v": "/letter/0-9" + }] + }, { + "key": "by", + "name": "排序", + "value": [{ + "n": "时间", + "v": "/by/time" + }, { + "n": "人气", + "v": "/by/hits" + }, { + "n": "评分", + "v": "/by/score" + }] + }], + "guoman": [{ + "key": "class", + "name": "类型", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "冒险", + "v": "/class/冒险" + }, { + "n": "热血", + "v": "/class/热血" + }, { + "n": "奇幻", + "v": "/class/奇幻" + }, { + "n": "恋爱", + "v": "/class/恋爱" + }, { + "n": "校园", + "v": "/class/校园" + }, { + "n": "后宫", + "v": "/class/后宫" + }, { + "n": "搞笑", + "v": "/class/搞笑" + }, { + "n": "治愈", + "v": "/class/治愈" + }, { + "n": "神魔", + "v": "/class/神魔" + }, { + "n": "魔法", + "v": "/class/魔法" + }, { + "n": "百合", + "v": "/class/百合" + }, { + "n": "推理", + "v": "/class/推理" + }, { + "n": "科幻", + "v": "/class/科幻" + }, { + "n": "竞技", + "v": "/class/竞技" + }, { + "n": "悬疑", + "v": "/class/悬疑" + }, { + "n": "青春", + "v": "/class/青春" + }, { + "n": "战争", + "v": "/class/战争" + }, { + "n": "萝莉", + "v": "/class/萝莉" + }, { + "n": "魔幻", + "v": "/class/魔幻" + }, { + "n": "战斗", + "v": "/class/战斗" + }, { + "n": "日常", + "v": "/class/日常" + }] + }, { + "key": "area", + "name": "地区", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "日本", + "v": "/area/日本/" + }, { + "n": "大陆", + "v": "/area/中国/" + }, { + "n": "欧美", + "v": "/area/欧美/" + }, { + "n": "韩国", + "v": "/area/韩国/" + }, { + "n": "港台", + "v": "/area/港台/" + }] + }, { + "key": "year", + "name": "年份", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2025", + "v": "/year/2025" + }, { + "n": "2024", + "v": "/year/2024" + }, { + "n": "2023", + "v": "/year/2023" + }, { + "n": "2022", + "v": "/year/2022" + }, { + "n": "2021", + "v": "/year/2021" + }, { + "n": "2020", + "v": "/year/2020" + }, { + "n": "2019", + "v": "/year/2019" + }, { + "n": "2018", + "v": "/year/2018" + }, { + "n": "2017", + "v": "/year/2017" + }, { + "n": "2016", + "v": "/year/2016" + }, { + "n": "2015", + "v": "/year/2015" + }, { + "n": "2014", + "v": "/year/2014" + }, { + "n": "2013", + "v": "/year/2013" + }, { + "n": "2012", + "v": "/year/2012" + }, { + "n": "2011", + "v": "/year/2011" + }, { + "n": "2010", + "v": "/year/2010" + }, { + "n": "2009", + "v": "/year/2009" + }, { + "n": "2008", + "v": "/year/2008" + }, { + "n": "2007", + "v": "/year/2007" + }, { + "n": "2006", + "v": "/year/2006" + }, { + "n": "2005", + "v": "/year/2005" + }, { + "n": "2004", + "v": "/year/2004" + }, { + "n": "2003", + "v": "/year/2003" + }, { + "n": "2002", + "v": "/year/2002" + }, { + "n": "2001", + "v": "/year/2001" + }, { + "n": "2000", + "v": "/year/2000" + }] + }, { + "key": "letter", + "name": "字母", + "value": [{ + "n": "字母", + "v": "" + }, { + "n": "A", + "v": "/letter/A" + }, { + "n": "B", + "v": "/letter/B" + }, { + "n": "C", + "v": "/letter/C" + }, { + "n": "D", + "v": "/letter/D" + }, { + "n": "E", + "v": "/letter/E" + }, { + "n": "F", + "v": "/letter/F" + }, { + "n": "G", + "v": "/letter/G" + }, { + "n": "H", + "v": "/letter/H" + }, { + "n": "I", + "v": "/letter/I" + }, { + "n": "J", + "v": "/letter/J" + }, { + "n": "K", + "v": "/letter/K" + }, { + "n": "L", + "v": "/letter/L" + }, { + "n": "M", + "v": "/letter/M" + }, { + "n": "N", + "v": "/letter/N" + }, { + "n": "O", + "v": "/letter/O" + }, { + "n": "P", + "v": "/letter/P" + }, { + "n": "Q", + "v": "/letter/Q" + }, { + "n": "R", + "v": "/letter/R" + }, { + "n": "S", + "v": "/letter/S" + }, { + "n": "T", + "v": "/letter/T" + }, { + "n": "U", + "v": "/letter/U" + }, { + "n": "V", + "v": "/letter/V" + }, { + "n": "W", + "v": "/letter/W" + }, { + "n": "X", + "v": "/letter/X" + }, { + "n": "Y", + "v": "/letter/Y" + }, { + "n": "Z", + "v": "/letter/Z" + }, { + "n": "0-9", + "v": "/letter/0-9" + }] + }, { + "key": "by", + "name": "排序", + "value": [{ + "n": "时间", + "v": "/by/time" + }, { + "n": "人气", + "v": "/by/hits" + }, { + "n": "评分", + "v": "/by/score" + }] + }], + "jcdm": [{ + "key": "class", + "name": "类型", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "冒险", + "v": "/class/冒险" + }, { + "n": "热血", + "v": "/class/热血" + }, { + "n": "奇幻", + "v": "/class/奇幻" + }, { + "n": "恋爱", + "v": "/class/恋爱" + }, { + "n": "校园", + "v": "/class/校园" + }, { + "n": "后宫", + "v": "/class/后宫" + }, { + "n": "搞笑", + "v": "/class/搞笑" + }, { + "n": "治愈", + "v": "/class/治愈" + }, { + "n": "神魔", + "v": "/class/神魔" + }, { + "n": "魔法", + "v": "/class/魔法" + }, { + "n": "百合", + "v": "/class/百合" + }, { + "n": "推理", + "v": "/class/推理" + }, { + "n": "科幻", + "v": "/class/科幻" + }, { + "n": "竞技", + "v": "/class/竞技" + }, { + "n": "悬疑", + "v": "/class/悬疑" + }, { + "n": "青春", + "v": "/class/青春" + }, { + "n": "战争", + "v": "/class/战争" + }, { + "n": "萝莉", + "v": "/class/萝莉" + }, { + "n": "魔幻", + "v": "/class/魔幻" + }, { + "n": "战斗", + "v": "/class/战斗" + }, { + "n": "日常", + "v": "/class/日常" + }] + }, { + "key": "area", + "name": "地区", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "日本", + "v": "/area/日本/" + }, { + "n": "大陆", + "v": "/area/中国/" + }, { + "n": "欧美", + "v": "/area/欧美/" + }, { + "n": "韩国", + "v": "/area/韩国/" + }, { + "n": "港台", + "v": "/area/港台/" + }] + }, { + "key": "year", + "name": "年份", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2025", + "v": "/year/2025" + }, { + "n": "2024", + "v": "/year/2024" + }, { + "n": "2023", + "v": "/year/2023" + }, { + "n": "2022", + "v": "/year/2022" + }, { + "n": "2021", + "v": "/year/2021" + }, { + "n": "2020", + "v": "/year/2020" + }, { + "n": "2019", + "v": "/year/2019" + }, { + "n": "2018", + "v": "/year/2018" + }, { + "n": "2017", + "v": "/year/2017" + }, { + "n": "2016", + "v": "/year/2016" + }, { + "n": "2015", + "v": "/year/2015" + }, { + "n": "2014", + "v": "/year/2014" + }, { + "n": "2013", + "v": "/year/2013" + }, { + "n": "2012", + "v": "/year/2012" + }, { + "n": "2011", + "v": "/year/2011" + }, { + "n": "2010", + "v": "/year/2010" + }, { + "n": "2009", + "v": "/year/2009" + }, { + "n": "2008", + "v": "/year/2008" + }, { + "n": "2007", + "v": "/year/2007" + }, { + "n": "2006", + "v": "/year/2006" + }, { + "n": "2005", + "v": "/year/2005" + }, { + "n": "2004", + "v": "/year/2004" + }, { + "n": "2003", + "v": "/year/2003" + }, { + "n": "2002", + "v": "/year/2002" + }, { + "n": "2001", + "v": "/year/2001" + }, { + "n": "2000", + "v": "/year/2000" + }] + }, { + "key": "letter", + "name": "字母", + "value": [{ + "n": "字母", + "v": "" + }, { + "n": "A", + "v": "/letter/A" + }, { + "n": "B", + "v": "/letter/B" + }, { + "n": "C", + "v": "/letter/C" + }, { + "n": "D", + "v": "/letter/D" + }, { + "n": "E", + "v": "/letter/E" + }, { + "n": "F", + "v": "/letter/F" + }, { + "n": "G", + "v": "/letter/G" + }, { + "n": "H", + "v": "/letter/H" + }, { + "n": "I", + "v": "/letter/I" + }, { + "n": "J", + "v": "/letter/J" + }, { + "n": "K", + "v": "/letter/K" + }, { + "n": "L", + "v": "/letter/L" + }, { + "n": "M", + "v": "/letter/M" + }, { + "n": "N", + "v": "/letter/N" + }, { + "n": "O", + "v": "/letter/O" + }, { + "n": "P", + "v": "/letter/P" + }, { + "n": "Q", + "v": "/letter/Q" + }, { + "n": "R", + "v": "/letter/R" + }, { + "n": "S", + "v": "/letter/S" + }, { + "n": "T", + "v": "/letter/T" + }, { + "n": "U", + "v": "/letter/U" + }, { + "n": "V", + "v": "/letter/V" + }, { + "n": "W", + "v": "/letter/W" + }, { + "n": "X", + "v": "/letter/X" + }, { + "n": "Y", + "v": "/letter/Y" + }, { + "n": "Z", + "v": "/letter/Z" + }, { + "n": "0-9", + "v": "/letter/0-9" + }] + }, { + "key": "by", + "name": "排序", + "value": [{ + "n": "时间", + "v": "/by/time" + }, { + "n": "人气", + "v": "/by/hits" + }, { + "n": "评分", + "v": "/by/score" + }] + }] + }, + searchable: 2, //是否启用全局搜索, + headers: { //网站的请求头,完整支持所有的,常带ua和cookies + 'User-Agent': 'PC_UA', + }, + class_parse: '#nav li;a&&Text;a&&href;.*/(\\w+).html', + cate_exclude: '番组专题|最近更新', + play_parse: true, + lazy: `js: + var html = JSON.parse(request(input).match(/r player_.*?=(.*?) { + TABS.push(pdfh(it, 'a&&alt')) + }); + `, + // "lists": ".content_playlist:not(.list_scroll):eq(#id) a" + "lists": "div.playlist_full:eq(#id) li" + }, + 搜索: 'li.searchlist_item;*;*;*;*', +} \ No newline at end of file diff --git a/xiaosa/js/思古影视.js b/xiaosa/js/思古影视.js new file mode 100644 index 00000000..6abbd1d2 --- /dev/null +++ b/xiaosa/js/思古影视.js @@ -0,0 +1,44 @@ +var rule = { + 类型: '影视', + title: '思古影视', + host: 'https://siguyy.cn', + url: '/show/fyclass--------fypage---/', + searchUrl: 'https://siguyy.cn/search/-------------/?wd=**', + searchable: 2, + quickSearch: 0, + timeout: 5000, + play_parse: true, + filterable: 0, + class_name: '电影&电视剧&综艺&动漫', + class_url: '1&2&3&4', + lazy: `js: + if(/\\.(m3u8|mp4)/.test(input)){ + input = {parse:0,url:input} + }else{ + if(rule.parse_url.startsWith('json:')){ + let purl = rule.parse_url.replace('json:','')+input; + let html = request(purl); + input = {parse:0,url:JSON.parse(html).url} + }else{ + input= rule.parse_url+input; + } + `, + 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 Edg/131.0.0.0", + }, + 推荐: '*', + 一级: '.container .flex.desktop-hover-effect;span&&Text;img&&data-original;p.truncate&&Text;a&&href', + 二级: { + title: '.p-3.mobile&&Text', + img: 'img&&data-original', + desc: '.text-sm.py-1&&Text', + content: '.text-secondary&&Text', + tabs: '.flex.flex-row.gap-1.items-center', + lists: '.flex.flex-column.overflow-auto.no-scrollbar&&li', + tab_text: 'body&&Text', + list_text: 'a&&Text', + list_url: 'a&&href', + }, + double: false, + 搜索: '.col-lg-6.col-md-12.mt-2.mb-2.cursor-pointer;.topic-details-title-sub.text-secondary&&Text;img&&data-original;.topic-details-title&&Text;a&&href', +} \ No newline at end of file diff --git a/xiaosa/js/怡萱动漫.js b/xiaosa/js/怡萱动漫.js new file mode 100644 index 00000000..d33b0fbc --- /dev/null +++ b/xiaosa/js/怡萱动漫.js @@ -0,0 +1,773 @@ +// 发布页 https://acgfans.org/pub.html +var rule = { + title: '怡萱动漫', + // host:'https://www.yxdmlove.com', + host: 'https://acgfans.org/pub.html', + hostJs: 'print(HOST);let html=request(HOST,{headers:{"User-Agent":PC_UA}});let src = jsp.pdfh(html,"p:eq(0)&&a&&Text");print(src);HOST=src', //网页域名根动态抓取js代码。通过HOST=赋值 + // url:'/category.html?channel=17&zhonglei=fyclass&orderby=pubdate&totalresult=2999&pageno=fypage', + url: '/category.html?channel=17&zhonglei=fyclassfyfilter&pageno=fypage', + filterable: 1, //是否启用分类筛选, + filter_url: '&{{fl.by or "orderby=pubdate"}}&{{fl.year}}&{{fl.area}}&{{fl.sta}}&{{fl.class}}', + filter: { + "TV": [{ + "key": "sta", + "name": "进度", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "连载中", + "v": "status=连载中" + }, { + "n": "已完结", + "v": "status=已完结" + }, { + "n": "未播放", + "v": "status=未播放" + }] + }, { + "key": "area", + "name": "地区", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "日本", + "v": "area=日本" + }, { + "n": "中国", + "v": "area=中国" + }, { + "n": "欧美", + "v": "area=欧美" + }] + }, { + "key": "year", + "name": "年份", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2025", + "v": "year=2025" + }, { + "n": "2024", + "v": "year=2024" + }, { + "n": "2023", + "v": "year=2023" + }, { + "n": "2022", + "v": "year=2022" + }, { + "n": "2021", + "v": "year=2021" + }, { + "n": "2020", + "v": "year=2020" + }, { + "n": "2019", + "v": "year=2019" + }, { + "n": "2018", + "v": "year=2018" + }, { + "n": "2017", + "v": "year=2017" + }, { + "n": "2016", + "v": "year=2016" + }, { + "n": "2015", + "v": "year=2015" + }, { + "n": "2014", + "v": "year=2014" + }, { + "n": "2013", + "v": "year=2013" + }, { + "n": "2012", + "v": "year=2012" + }, { + "n": "2011", + "v": "year=2011" + }, { + "n": "2010", + "v": "year=2010" + }, { + "n": "更早", + "v": "year=2010前" + }] + }, { + "key": "class", + "name": "剧情", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "冒险", + "v": "jqlx=冒险" + }, { + "n": "热血", + "v": "jqlx=热血" + }, { + "n": "爱情", + "v": "jqlx=爱情" + }, { + "n": "搞笑", + "v": "jqlx=搞笑" + }, { + "n": "后宫", + "v": "jqlx=后宫" + }, { + "n": "校园", + "v": "jqlx=校园" + }, { + "n": "机战", + "v": "jqlx=机战" + }, { + "n": "幻想", + "v": "jqlx=幻想" + }, { + "n": "科幻", + "v": "jqlx=科幻" + }, { + "n": "竞技", + "v": "jqlx=竞技" + }, { + "n": "百合", + "v": "jqlx=百合" + }, { + "n": "耽美", + "v": "jqlx=耽美" + }, { + "n": "悬疑", + "v": "jqlx=悬疑" + }, { + "n": "剧情", + "v": "jqlx=剧情" + }, { + "n": "战争", + "v": "jqlx=战争" + }, { + "n": "恐怖", + "v": "jqlx=恐怖" + }, { + "n": "运动", + "v": "jqlx=运动" + }, { + "n": "动作", + "v": "jqlx=动作" + }, { + "n": "童话", + "v": "jqlx=童话" + }, { + "n": "历史", + "v": "jqlx=历史" + }, { + "n": "真人", + "v": "jqlx=真人" + }, { + "n": "女性向", + "v": "jqlx=女性向" + }, { + "n": "泡面番", + "v": "jqlx=泡面番" + }] + }, { + "key": "by", + "name": "排序", + "value": [{ + "n": "时间", + "v": "orderby=pubdate" + }, { + "n": "热度", + "v": "orderby=click" + }] + }], + "剧场版": [{ + "key": "sta", + "name": "进度", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "连载中", + "v": "status=连载中" + }, { + "n": "已完结", + "v": "status=已完结" + }, { + "n": "未播放", + "v": "status=未播放" + }] + }, { + "key": "area", + "name": "地区", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "日本", + "v": "area=日本" + }, { + "n": "中国", + "v": "area=中国" + }, { + "n": "欧美", + "v": "area=欧美" + }] + }, { + "key": "year", + "name": "年份", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2025", + "v": "year=2025" + }, { + "n": "2024", + "v": "year=2024" + }, { + "n": "2023", + "v": "year=2023" + }, { + "n": "2022", + "v": "year=2022" + }, { + "n": "2021", + "v": "year=2021" + }, { + "n": "2020", + "v": "year=2020" + }, { + "n": "2019", + "v": "year=2019" + }, { + "n": "2018", + "v": "year=2018" + }, { + "n": "2017", + "v": "year=2017" + }, { + "n": "2016", + "v": "year=2016" + }, { + "n": "2015", + "v": "year=2015" + }, { + "n": "2014", + "v": "year=2014" + }, { + "n": "2013", + "v": "year=2013" + }, { + "n": "2012", + "v": "year=2012" + }, { + "n": "2011", + "v": "year=2011" + }, { + "n": "2010", + "v": "year=2010" + }, { + "n": "更早", + "v": "year=2010前" + }] + }, { + "key": "class", + "name": "剧情", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "冒险", + "v": "jqlx=冒险" + }, { + "n": "热血", + "v": "jqlx=热血" + }, { + "n": "爱情", + "v": "jqlx=爱情" + }, { + "n": "搞笑", + "v": "jqlx=搞笑" + }, { + "n": "后宫", + "v": "jqlx=后宫" + }, { + "n": "校园", + "v": "jqlx=校园" + }, { + "n": "机战", + "v": "jqlx=机战" + }, { + "n": "幻想", + "v": "jqlx=幻想" + }, { + "n": "科幻", + "v": "jqlx=科幻" + }, { + "n": "竞技", + "v": "jqlx=竞技" + }, { + "n": "百合", + "v": "jqlx=百合" + }, { + "n": "耽美", + "v": "jqlx=耽美" + }, { + "n": "悬疑", + "v": "jqlx=悬疑" + }, { + "n": "剧情", + "v": "jqlx=剧情" + }, { + "n": "战争", + "v": "jqlx=战争" + }, { + "n": "恐怖", + "v": "jqlx=恐怖" + }, { + "n": "运动", + "v": "jqlx=运动" + }, { + "n": "动作", + "v": "jqlx=动作" + }, { + "n": "童话", + "v": "jqlx=童话" + }, { + "n": "历史", + "v": "jqlx=历史" + }, { + "n": "真人", + "v": "jqlx=真人" + }, { + "n": "女性向", + "v": "jqlx=女性向" + }, { + "n": "泡面番", + "v": "jqlx=泡面番" + }] + }, { + "key": "by", + "name": "排序", + "value": [{ + "n": "时间", + "v": "orderby=pubdate" + }, { + "n": "热度", + "v": "orderby=click" + }] + }], + "OVA": [{ + "key": "sta", + "name": "进度", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "连载中", + "v": "status=连载中" + }, { + "n": "已完结", + "v": "status=已完结" + }, { + "n": "未播放", + "v": "status=未播放" + }] + }, { + "key": "area", + "name": "地区", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "日本", + "v": "area=日本" + }, { + "n": "中国", + "v": "area=中国" + }, { + "n": "欧美", + "v": "area=欧美" + }] + }, { + "key": "year", + "name": "年份", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2025", + "v": "year=2025" + }, { + "n": "2024", + "v": "year=2024" + }, { + "n": "2023", + "v": "year=2023" + }, { + "n": "2022", + "v": "year=2022" + }, { + "n": "2021", + "v": "year=2021" + }, { + "n": "2020", + "v": "year=2020" + }, { + "n": "2019", + "v": "year=2019" + }, { + "n": "2018", + "v": "year=2018" + }, { + "n": "2017", + "v": "year=2017" + }, { + "n": "2016", + "v": "year=2016" + }, { + "n": "2015", + "v": "year=2015" + }, { + "n": "2014", + "v": "year=2014" + }, { + "n": "2013", + "v": "year=2013" + }, { + "n": "2012", + "v": "year=2012" + }, { + "n": "2011", + "v": "year=2011" + }, { + "n": "2010", + "v": "year=2010" + }, { + "n": "更早", + "v": "year=2010前" + }] + }, { + "key": "class", + "name": "剧情", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "冒险", + "v": "jqlx=冒险" + }, { + "n": "热血", + "v": "jqlx=热血" + }, { + "n": "爱情", + "v": "jqlx=爱情" + }, { + "n": "搞笑", + "v": "jqlx=搞笑" + }, { + "n": "后宫", + "v": "jqlx=后宫" + }, { + "n": "校园", + "v": "jqlx=校园" + }, { + "n": "机战", + "v": "jqlx=机战" + }, { + "n": "幻想", + "v": "jqlx=幻想" + }, { + "n": "科幻", + "v": "jqlx=科幻" + }, { + "n": "竞技", + "v": "jqlx=竞技" + }, { + "n": "百合", + "v": "jqlx=百合" + }, { + "n": "耽美", + "v": "jqlx=耽美" + }, { + "n": "悬疑", + "v": "jqlx=悬疑" + }, { + "n": "剧情", + "v": "jqlx=剧情" + }, { + "n": "战争", + "v": "jqlx=战争" + }, { + "n": "恐怖", + "v": "jqlx=恐怖" + }, { + "n": "运动", + "v": "jqlx=运动" + }, { + "n": "动作", + "v": "jqlx=动作" + }, { + "n": "童话", + "v": "jqlx=童话" + }, { + "n": "历史", + "v": "jqlx=历史" + }, { + "n": "真人", + "v": "jqlx=真人" + }, { + "n": "女性向", + "v": "jqlx=女性向" + }, { + "n": "泡面番", + "v": "jqlx=泡面番" + }] + }, { + "key": "by", + "name": "排序", + "value": [{ + "n": "时间", + "v": "orderby=pubdate" + }, { + "n": "热度", + "v": "orderby=click" + }] + }], + "其他": [{ + "key": "sta", + "name": "进度", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "连载中", + "v": "status=连载中" + }, { + "n": "已完结", + "v": "status=已完结" + }, { + "n": "未播放", + "v": "status=未播放" + }] + }, { + "key": "area", + "name": "地区", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "日本", + "v": "area=日本" + }, { + "n": "中国", + "v": "area=中国" + }, { + "n": "欧美", + "v": "area=欧美" + }] + }, { + "key": "year", + "name": "年份", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2025", + "v": "year=2025" + }, { + "n": "2024", + "v": "year=2024" + }, { + "n": "2023", + "v": "year=2023" + }, { + "n": "2022", + "v": "year=2022" + }, { + "n": "2021", + "v": "year=2021" + }, { + "n": "2020", + "v": "year=2020" + }, { + "n": "2019", + "v": "year=2019" + }, { + "n": "2018", + "v": "year=2018" + }, { + "n": "2017", + "v": "year=2017" + }, { + "n": "2016", + "v": "year=2016" + }, { + "n": "2015", + "v": "year=2015" + }, { + "n": "2014", + "v": "year=2014" + }, { + "n": "2013", + "v": "year=2013" + }, { + "n": "2012", + "v": "year=2012" + }, { + "n": "2011", + "v": "year=2011" + }, { + "n": "2010", + "v": "year=2010" + }, { + "n": "更早", + "v": "year=2010前" + }] + }, { + "key": "class", + "name": "剧情", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "冒险", + "v": "jqlx=冒险" + }, { + "n": "热血", + "v": "jqlx=热血" + }, { + "n": "爱情", + "v": "jqlx=爱情" + }, { + "n": "搞笑", + "v": "jqlx=搞笑" + }, { + "n": "后宫", + "v": "jqlx=后宫" + }, { + "n": "校园", + "v": "jqlx=校园" + }, { + "n": "机战", + "v": "jqlx=机战" + }, { + "n": "幻想", + "v": "jqlx=幻想" + }, { + "n": "科幻", + "v": "jqlx=科幻" + }, { + "n": "竞技", + "v": "jqlx=竞技" + }, { + "n": "百合", + "v": "jqlx=百合" + }, { + "n": "耽美", + "v": "jqlx=耽美" + }, { + "n": "悬疑", + "v": "jqlx=悬疑" + }, { + "n": "剧情", + "v": "jqlx=剧情" + }, { + "n": "战争", + "v": "jqlx=战争" + }, { + "n": "恐怖", + "v": "jqlx=恐怖" + }, { + "n": "运动", + "v": "jqlx=运动" + }, { + "n": "动作", + "v": "jqlx=动作" + }, { + "n": "童话", + "v": "jqlx=童话" + }, { + "n": "历史", + "v": "jqlx=历史" + }, { + "n": "真人", + "v": "jqlx=真人" + }, { + "n": "女性向", + "v": "jqlx=女性向" + }, { + "n": "泡面番", + "v": "jqlx=泡面番" + }] + }, { + "key": "by", + "name": "排序", + "value": [{ + "n": "时间", + "v": "orderby=pubdate" + }, { + "n": "热度", + "v": "orderby=click" + }] + }] + }, + // filter_def:{ + // TV:{by:'orderby=pubdate'}, + // 剧场版:{by:'orderby=pubdate'}, + // OVA:{by:'orderby=pubdate'}, + // 其他:{by:'orderby=pubdate'} + // }, + searchUrl: '/search.html?keyword=**&PageNo=fypage', + searchable: 2, //是否启用全局搜索, + headers: { //网站的请求头,完整支持所有的,常带ua和cookies + 'User-Agent': 'PC_UA', + }, + class_name: 'TV&剧场版&OVA&其他', + class_url: 'TV&剧场版&OVA&其他', + play_parse: true, + lazy: '', + limit: 6, + // 推荐:'.dhnew.adj li;*;*;*;*', + 推荐: '.dhnew.adj li;a&&title;img&&src;p:eq(-1)&&Text;a&&href', + // 一级:'.dhnew li;a&&title;img&&src;p:eq(-1)&&Text;a&&href', + 一级: `js: + let d = []; + pdfh = jsp.pdfh;pdfa = jsp.pdfa;pd = jsp.pd; + let html = ''; + let totalresult = getItem("totalresult_" + MY_CATE, '') + if (totalresult == '') { + html = request(input); + totalresult = pdfh(html, ".pageinfo&&strong&&Text"); + setItem("totalresult_" + MY_CATE, totalresult) + } + input += '&totalresult=' + getItem("totalresult_" + MY_CATE, ''); + html = request(input); + let list = pdfa(html, ".dhnew&&li"); + list.forEach(it => { + d.push({ + title: pdfh(it, "a&&title"), + desc: pdfh(it, "p:eq(-1)&&Text"), + pic_url: pd(it, "img&&src"), + url: pd(it, "a&&href") + }) + }); + setResult(d) + `, + 二级: { + "title": "h1&&Text;.dhxx p:eq(4)&&Text", + "img": ".anime-img&&img&&src", + "desc": ".info1-left li:eq(1)&&Text;.dhxx p:eq(3)&&Text;.dhxx p:eq(2)&&Text;.info1-left li:eq(0)&&Text;.info1-left li:eq(2)&&Text", + "content": ".info2--strong&&Text", + "tabs": ".ol-select li", + "lists": ".ol-content:eq(#id) li" + }, + // 搜索:'*;*;*;p:eq(3)&&Text;*', + 搜索: '.dhnew li;a&&title;img&&src;p:eq(3)&&Text;a&&href', +} \ No newline at end of file diff --git a/xiaosa/js/机器人.js b/xiaosa/js/机器人.js new file mode 100644 index 00000000..2a6787eb --- /dev/null +++ b/xiaosa/js/机器人.js @@ -0,0 +1,198 @@ +var rule = { + title: '爱看机器人[虫]', + // host:'https://v.ikanbot.com', + host: 'https://v.aikanbot.com', + url: '/hot/index-fyclass-fyfilter-p-fypage.html[/hot/index-fyclass-fyfilter.html]', + //https://www.ikanbot.com/search?q=%E6%96%97%E7%BD%97%E5%A4%A7&p=2 + // searchUrl:'/search?q=**&p=fypage', + searchUrl: '/search?q=**&p=fypage[/search?q=**]', + searchable: 2, + quickSearch: 0, + filterable: 1, + filter_url: '{{fl.tag}}', + 图片来源: '@Referer=https://v.ikanbot.com/@User-Agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36', + filter: { + "movie": [{ + "key": "tag", + "name": "标签", + "value": [{ + "n": "热门", + "v": "热门" + }, { + "n": "最新", + "v": "最新" + }, { + "n": "经典", + "v": "经典" + }, { + "n": "豆瓣高分", + "v": "豆瓣高分" + }, { + "n": "冷门佳片", + "v": "冷门佳片" + }, { + "n": "华语", + "v": "华语" + }, { + "n": "欧美", + "v": "欧美" + }, { + "n": "韩国", + "v": "韩国" + }, { + "n": "日本", + "v": "日本" + }, { + "n": "动作", + "v": "动作" + }, { + "n": "喜剧", + "v": "喜剧" + }, { + "n": "爱情", + "v": "爱情" + }, { + "n": "科幻", + "v": "科幻" + }, { + "n": "悬疑", + "v": "悬疑" + }, { + "n": "恐怖", + "v": "恐怖" + }, { + "n": "治愈", + "v": "治愈" + }, { + "n": "豆瓣top250", + "v": "豆瓣top250" + }] + }], + "tv": [{ + "key": "tag", + "name": "标签", + "value": [{ + "n": "热门", + "v": "热门" + }, { + "n": "美剧", + "v": "美剧" + }, { + "n": "英剧", + "v": "英剧" + }, { + "n": "韩剧", + "v": "韩剧" + }, { + "n": "日剧", + "v": "日剧" + }, { + "n": "国产剧", + "v": "国产剧" + }, { + "n": "港剧", + "v": "港剧" + }, { + "n": "日本动画", + "v": "日本动画" + }, { + "n": "综艺", + "v": "综艺" + }, { + "n": "纪录片", + "v": "纪录片" + }] + }] + }, + filter_def: { + movie: { + tag: '热门' + }, + tv: { + tag: '国产剧' + }, + }, + filter获取方法: ` + let value = []; + $('ul').eq(2).find('li').each(function() { + // console.log($(this).text()); + let n = $(this).text().trim(); + value.push({ + 'n': n, 'v': n + }); + }); + // 电影执行: + let data = {'movie': [{'key': 'tag', 'name': '标签', 'value': value}]}; + console.log(JSON.stringify(data)); + + //剧集执行: + let data = {'tv': [{'key': 'tag', 'name': '标签', 'value': value}]}; + console.log(JSON.stringify(data)); + `, + headers: { + 'User-Agent': 'PC_UA', + }, + class_name: '电影&剧集', + class_url: 'movie&tv', + play_parse: true, + double: true, + tab_remove: ['wjm3u8', 'ikm3u8', 'sdm3u8', 'M3U8', 'jinyingm3u8', 'fsm3u8', 'ukm3u8'], //移除某个线路及相关的选集 + tab_order: ['bfzym3u8', '1080zyk', 'kuaikan', 'lzm3u8', 'ffm3u8', 'snm3u8', 'qhm3u8', 'gsm3u8', 'zuidam3u8', 'bjm3u8', 'wolong', 'xlm3u8', 'yhm3u8'], //线路顺序,按里面的顺序优先,没写的依次排后面 + tab_rename: { + 'bfzym3u8': '暴风', + '1080zyk': '优质', + 'kuaikan': '快看', + 'lzm3u8': '量子', + 'ffm3u8': '非凡', + 'snm3u8': '索尼', + 'qhm3u8': '奇虎', + 'haiwaikan': '海外看', + 'gsm3u8': '光速', + 'zuidam3u8': '最大', + 'bjm3u8': '八戒', + 'wolong': '卧龙', + 'xlm3u8': '新浪', + 'yhm3u8': '樱花', + 'tkm3u8': '天空', + 'jsm3u8': '极速', + 'wjm3u8': '无尽', + 'sdm3u8': '闪电', + 'kcm3u8': '快车', + 'jinyingm3u8': '金鹰', + 'fsm3u8': '飞速', + 'tpm3u8': '淘片', + 'lem3u8': '鱼乐', + 'dbm3u8': '百度', + 'tomm3u8': '番茄', + 'ukm3u8': 'U酷', + 'ikm3u8': '爱坤', + 'hnzym3u8': '红牛资源', + 'hnm3u8': '红牛', + '68zy_m3u8': '68', + 'kdm3u8': '酷点', + 'bdxm3u8': '北斗星', + 'hhm3u8': '豪华', + 'kbm3u8': '快播' + }, //线路名替换如:lzm3u8替换为量子资源 + 推荐: '.v-list;div.item;*;*;*;*', //这里可以为空,这样点播不会有内容 + // 一级:'.v-list&&div.item;p&&Text;img&&src;;a&&href', //一级的内容是推荐或者点播时候的一级匹配 + 一级: '.v-list&&div.item;p&&Text;img&&data-src;;a&&href', //一级的内容是推荐或者点播时候的一级匹配 + // 二级:二级, + 二级: 'js:eval(unescape(base64Decode("anM6CiAgICAgICAgcGRmaCA9IGpzcC5wZGZoOwogICAgICAgIGZ1bmN0aW9uIGdldFRva2VuKGh0bWwxKSB7CiAgICAgICAgICAgIGxldCBjdXJyZW50SWQgPSBwZGZoKGh0bWwxLCAnI2N1cnJlbnRfaWQmJnZhbHVlJyk7CiAgICAgICAgICAgIGxldCBlVG9rZW4gPSBwZGZoKGh0bWwxLCAnI2VfdG9rZW4mJnZhbHVlJyk7CiAgICAgICAgICAgIGlmICghY3VycmVudElkIHx8ICFlVG9rZW4pIHJldHVybiAnJzsKICAgICAgICAgICAgbGV0IGlkTGVuZ3RoID0gY3VycmVudElkLmxlbmd0aDsKICAgICAgICAgICAgbGV0IHN1YklkID0gY3VycmVudElkLnN1YnN0cmluZyhpZExlbmd0aCAtIDQsIGlkTGVuZ3RoKTsKICAgICAgICAgICAgbGV0IGtleXMgPSBbXTsKICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzdWJJZC5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgbGV0IGN1ckludCA9IHBhcnNlSW50KHN1YklkW2ldKTsKICAgICAgICAgICAgICAgIGxldCBzcGxpdFBvcyA9IGN1ckludCAlIDMgKyAxOwogICAgICAgICAgICAgICAga2V5c1tpXSA9IGVUb2tlbi5zdWJzdHJpbmcoc3BsaXRQb3MsIHNwbGl0UG9zICsgOCk7CiAgICAgICAgICAgICAgICBlVG9rZW4gPSBlVG9rZW4uc3Vic3RyaW5nKHNwbGl0UG9zICsgOCwgZVRva2VuLmxlbmd0aCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIGtleXMuam9pbignJyk7CiAgICAgICAgfQogICAgICAgIHRyeSB7CiAgICAgICAgICAgIFZPRD17fTsKICAgICAgICAgICAgbGV0IGh0bWwxID0gcmVxdWVzdChpbnB1dCk7CiAgICAgICAgICAgIFZPRC52b2RfaWQgPSBwZGZoKGh0bWwxLCAnI2N1cnJlbnRfaWQmJnZhbHVlJyk7CiAgICAgICAgICAgIFZPRC52b2RfbmFtZSA9IHBkZmgoaHRtbDEsICdoMiYmVGV4dCcpOwogICAgICAgICAgICBWT0Qudm9kX3BpYyA9IHBkZmgoaHRtbDEsICcuaXRlbS1yb290JiZpbWcmJmRhdGEtc3JjJyk7CiAgICAgICAgICAgIFZPRC52b2RfYWN0b3IgPSBwZGZoKGh0bWwxLCAnLm1ldGE6ZXEoNCkmJlRleHQnKTsKICAgICAgICAgICAgVk9ELnZvZF9hcmVhID0gcGRmaChodG1sMSwgJy5tZXRhOmVxKDMpJiZUZXh0Jyk7CiAgICAgICAgICAgIFZPRC52b2RfeWVhciA9IHBkZmgoaHRtbDEsICcubWV0YTplcSgyKSYmVGV4dCcpOwogICAgICAgICAgICBWT0Qudm9kX3JlbWFya3MgPSAnJzsKICAgICAgICAgICAgVk9ELnZvZF9kaXJlY3RvciA9ICcnOwogICAgICAgICAgICBWT0Qudm9kX2NvbnRlbnQgPSBwZGZoKGh0bWwxLCAnI2xpbmUtdGlwcyYmVGV4dCcpOwogICAgICAgICAgICAvLyBsb2coVk9EKTsKICAgICAgICAgICAgdmFyIHZfdGtzID0gZ2V0VG9rZW4oaHRtbDEpOwogICAgICAgICAgICBsb2coJ3ZfdGtzID09PT4gJyArIHZfdGtzKTsKICAgICAgICAgICAgaW5wdXQgPSBIT1NUICsgJy9hcGkvZ2V0UmVzTj92aWRlb0lkPScgKyBpbnB1dC5zcGxpdCgnLycpLnBvcCgpICsgJyZtdHlwZT0yJnRva2VuPScrdl90a3M7CiAgICAgICAgICAgIGxldCBodG1sID0gcmVxdWVzdChpbnB1dCwgewogICAgICAgICAgICAgICAgaGVhZGVyczogewogICAgICAgICAgICAgICAgICAgICdVc2VyLUFnZW50JzonTW96aWxsYS81LjAgKGlQaG9uZTsgQ1BVIGlQaG9uZSBPUyAxM18yXzMgbGlrZSBNYWMgT1MgWCkgQXBwbGVXZWJLaXQvNjA1LjEuMTUgKEtIVE1MLCBsaWtlIEdlY2tvKSBWZXJzaW9uLzEzLjAuMyBNb2JpbGUvMTVFMTQ4IFNhZmFyaS82MDQuMScsCiAgICAgICAgICAgICAgICAgICAgJ1JlZmVyZXInOiBNWV9VUkwsCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgICAgICBwcmludChodG1sKTsKICAgICAgICAgICAgaHRtbCA9IEpTT04ucGFyc2UoaHRtbCk7CiAgICAgICAgICAgIGxldCBlcGlzb2RlcyA9IGh0bWwuZGF0YS5saXN0OwogICAgICAgICAgICBsZXQgcGxheU1hcCA9IHt9OwogICAgICAgICAgICBpZiAodHlwZW9mIHBsYXlfdXJsID09PSAndW5kZWZpbmVkJykgewogICAgICAgICAgICAgICAgdmFyIHBsYXlfdXJsID0gJycKICAgICAgICAgICAgfQogICAgICAgICAgICBsZXQgbWFwID0ge30KICAgICAgICAgICAgbGV0IGFyciA9IFtdCiAgICAgICAgICAgIGxldCBuYW1lID0gewogICAgICAgICAgICAgICAgJ2JmenltM3U4JzogJ+aatOmjjicsCiAgICAgICAgICAgICAgICAnMTA4MHp5ayc6ICfkvJjotKgnLAogICAgICAgICAgICAgICAgJ2t1YWlrYW4nOiAn5b+r55yLJywKICAgICAgICAgICAgICAgICdsem0zdTgnOiAn6YeP5a2QJywKICAgICAgICAgICAgICAgICdmZm0zdTgnOiAn6Z2e5YehJywKICAgICAgICAgICAgICAgICdoYWl3YWlrYW4nOiAn5rW35aSW55yLJywKICAgICAgICAgICAgICAgICdnc20zdTgnOiAn5YWJ6YCfJywKICAgICAgICAgICAgICAgICd6dWlkYW0zdTgnOiAn5pyA5aSnJywKICAgICAgICAgICAgICAgICdiam0zdTgnOiAn5YWr5oiSJywKICAgICAgICAgICAgICAgICdzbm0zdTgnOiAn57Si5bC8JywKICAgICAgICAgICAgICAgICd3b2xvbmcnOiAn5Y2n6b6ZJywKICAgICAgICAgICAgICAgICd4bG0zdTgnOiAn5paw5rWqJywKICAgICAgICAgICAgICAgICd5aG0zdTgnOiAn5qix6IqxJywKICAgICAgICAgICAgICAgICd0a20zdTgnOiAn5aSp56m6JywKICAgICAgICAgICAgICAgICdqc20zdTgnOiAn5p6B6YCfJywKICAgICAgICAgICAgICAgICd3am0zdTgnOiAn5peg5bC9JywKICAgICAgICAgICAgICAgICdzZG0zdTgnOiAn6Zeq55S1JywKICAgICAgICAgICAgICAgICdrY20zdTgnOiAn5b+r6L2mJywKICAgICAgICAgICAgICAgICdqaW55aW5nbTN1OCc6ICfph5HpubAnLAogICAgICAgICAgICAgICAgJ2ZzbTN1OCc6ICfpo57pgJ8nLAogICAgICAgICAgICAgICAgJ3RwbTN1OCc6ICfmt5jniYcnLAogICAgICAgICAgICAgICAgJ2xlbTN1OCc6ICfpsbzkuZAnLAogICAgICAgICAgICAgICAgJ2RibTN1OCc6ICfnmb7luqYnLAogICAgICAgICAgICAgICAgJ3RvbW0zdTgnOiAn55Wq6IyEJywKICAgICAgICAgICAgICAgICd1a20zdTgnOiAnVemFtycsCiAgICAgICAgICAgICAgICAnaWttM3U4JzogJ+eIseWdpCcsCiAgICAgICAgICAgICAgICAnaG56eW0zdTgnOiAn57qi54mb6LWE5rqQJywKICAgICAgICAgICAgICAgICdobm0zdTgnOiAn57qi54mbJywKICAgICAgICAgICAgICAgICc2OHp5X20zdTgnOiAnNjgnLAogICAgICAgICAgICAgICAgJ2tkbTN1OCc6ICfphbfngrknLAogICAgICAgICAgICAgICAgJ2JkeG0zdTgnOiAn5YyX5paX5pifJywKICAgICAgICAgICAgICAgICdxaG0zdTgnOiAn5aWH6JmOJywKICAgICAgICAgICAgICAgICdoaG0zdTgnOiAn6LGq5Y2OJwogICAgICAgICAgICB9OwogICAgICAgICAgICBlcGlzb2Rlcy5mb3JFYWNoKGZ1bmN0aW9uKGVwKSB7CiAgICAgICAgICAgICAgICBsZXQgZGF0YSA9IEpTT04ucGFyc2UoZXBbJ3Jlc0RhdGEnXSk7CiAgICAgICAgICAgICAgICBkYXRhLm1hcCh2YWwgPT4gewogICAgICAgICAgICAgICAgICAgIGlmKCFtYXBbdmFsLmZsYWddKXsKICAgICAgICAgICAgICAgICAgICAgICAgbWFwW3ZhbC5mbGFnXSA9IFt2YWwudXJsLnJlcGxhY2VBbGwoJyMjJywnIycpXQogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIG1hcFt2YWwuZmxhZ10ucHVzaCh2YWwudXJsLnJlcGxhY2VBbGwoJyMjJywnIycpKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgIH0pOwogICAgICAgICAgICBmb3IgKHZhciBrZXkgaW4gbWFwKSB7CiAgICAgICAgICAgICAgICBpZiAoJ2JmenltM3U4JyA9PSBrZXkpIHsKICAgICAgICAgICAgICAgICAgICBhcnIucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgICAgIGZsYWc6IG5hbWVba2V5XSwKICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBtYXBba2V5XSwKICAgICAgICAgICAgICAgICAgICAgICAgc29ydDogMQogICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCcxMDgwenlrJyA9PSBrZXkpIHsKICAgICAgICAgICAgICAgICAgICBhcnIucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgICAgIGZsYWc6IG5hbWVba2V5XSwKICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBtYXBba2V5XSwKICAgICAgICAgICAgICAgICAgICAgICAgc29ydDogMgogICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCdrdWFpa2FuJyA9PSBrZXkpIHsKICAgICAgICAgICAgICAgICAgICBhcnIucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgICAgIGZsYWc6IG5hbWVba2V5XSwKICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBtYXBba2V5XSwKICAgICAgICAgICAgICAgICAgICAgICAgc29ydDogMwogICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCdsem0zdTgnID09IGtleSkgewogICAgICAgICAgICAgICAgICAgIGFyci5wdXNoKHsKICAgICAgICAgICAgICAgICAgICAgICAgZmxhZzogbmFtZVtrZXldLAogICAgICAgICAgICAgICAgICAgICAgICB1cmw6IG1hcFtrZXldLAogICAgICAgICAgICAgICAgICAgICAgICBzb3J0OiA0CiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoJ2ZmbTN1OCcgPT0ga2V5KSB7CiAgICAgICAgICAgICAgICAgICAgYXJyLnB1c2goewogICAgICAgICAgICAgICAgICAgICAgICBmbGFnOiBuYW1lW2tleV0sCiAgICAgICAgICAgICAgICAgICAgICAgIHVybDogbWFwW2tleV0sCiAgICAgICAgICAgICAgICAgICAgICAgIHNvcnQ6IDUKICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfSBlbHNlIGlmICgnc25tM3U4JyA9PSBrZXkpIHsKICAgICAgICAgICAgICAgICAgICBhcnIucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgICAgIGZsYWc6IG5hbWVba2V5XSwKICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBtYXBba2V5XSwKICAgICAgICAgICAgICAgICAgICAgICAgc29ydDogNgogICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCdxaG0zdTgnID09IGtleSkgewogICAgICAgICAgICAgICAgICAgIGFyci5wdXNoKHsKICAgICAgICAgICAgICAgICAgICAgICAgZmxhZzogbmFtZVtrZXldLAogICAgICAgICAgICAgICAgICAgICAgICB1cmw6IG1hcFtrZXldLAogICAgICAgICAgICAgICAgICAgICAgICBzb3J0OiA3CiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgYXJyLnB1c2goewogICAgICAgICAgICAgICAgICAgICAgICBmbGFnOiAobmFtZVtrZXldKSA/IG5hbWVba2V5XSA6IGtleSwKICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBtYXBba2V5XSwKICAgICAgICAgICAgICAgICAgICAgICAgc29ydDogOAogICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYXJyLnNvcnQoKGEsIGIpID0+IGEuc29ydCAtIGIuc29ydCk7CiAgICAgICAgICAgIGxldCBwbGF5RnJvbSA9IFtdOwogICAgICAgICAgICBsZXQgcGxheUxpc3QgPSBbXTsKICAgICAgICAgICAgYXJyLm1hcCh2YWwgPT4gewogICAgICAgICAgICAgICAgaWYgKCEvdW5kZWZpbmVkLy50ZXN0KHZhbC5mbGFnKSkgewogICAgICAgICAgICAgICAgICAgIHBsYXlGcm9tLnB1c2godmFsLmZsYWcpOwogICAgICAgICAgICAgICAgICAgIHBsYXlMaXN0LnB1c2godmFsLnVybCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pCiAgICAgICAgICAgIGxldCB2b2RfcGxheV9mcm9tID0gcGxheUZyb20uam9pbignJCQkJyk7CiAgICAgICAgICAgIGxldCB2b2RfcGxheV91cmwgPSBwbGF5TGlzdC5qb2luKCckJCQnKTsKICAgICAgICAgICAgVk9EWyd2b2RfcGxheV9mcm9tJ10gPSB2b2RfcGxheV9mcm9tOwogICAgICAgICAgICBWT0RbJ3ZvZF9wbGF5X3VybCddID0gdm9kX3BsYXlfdXJsOwogICAgICAgICAgICAvLyBsb2coVk9EKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgIGxvZygn6I635Y+W5LqM57qn6K+m5oOF6aG15Y+R55Sf6ZSZ6K+vOicgKyBlLm1lc3NhZ2UpCiAgICAgICAgfQ==")))', + // 搜索:'#search-result&&.media;h5&&a&&Text;a&&img&&data-src;.label&&Text;a&&href',//第三个是描述,一般显示更新或者完结 + 搜索: '.col-md-8&&.media;h5&&a&&Text;a&&img&&data-src;.label&&Text;a&&href', //第三个是描述,一般显示更新或者完结 + lazy: ` + if(/\\.m3u8$/.test(input)){ + input = { + parse:0, + url:getProxyUrl()+'&url='+input, + jx:0 + } + } + `, + proxy_rule: `js: + let url = input.url; + let m3u8 = fixAdM3u8Ai(url); + input = [200,'application/vnd.apple.mpegurl',m3u8] + ` +} \ No newline at end of file diff --git a/xiaosa/js/模板.js b/xiaosa/js/模板.js new file mode 100644 index 00000000..dacca087 --- /dev/null +++ b/xiaosa/js/模板.js @@ -0,0 +1,429 @@ +if (typeof Object.assign !== 'function') { + Object.assign = function() { + let target = arguments[0]; + for (let i = 1; i < arguments.length; i++) { + let source = arguments[i]; + for (let key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + return target; + }; +} + +// 通用免嗅探播放 +let common_lazy = `js: + let html = request(input); + let hconf = html.match(/r player_.*?=(.*?) { + try { + let api = "" + input.split("?")[0]; + console.log(api); + let response = fetch(api, { + method: 'get', + headers: { + 'User-Agent': 'okhttp/3.14.9', + 'Content-Type': 'application/x-www-form-urlencoded' + } + }); + let bata = JSON.parse(response); + if (bata.url.includes("qiyi")) { + input = { + parse: 0, + url: bata.url, + jx: 0, + danmaku: "http://103.45.162.207:25252/hbdm.php?key=7894561232&id=" + input.split("?")[0] + }; + } else { + input = { + parse: 0, + url: input.split("?")[0], + jx: 1, + danmaku: "http://103.45.162.207:25252/hbdm.php?key=7894561232&id=" + input.split("?")[0] + }; + } + } catch { + input = { + parse: 0, + url: input.split("?")[0], + jx: 1, + danmaku: "http://103.45.162.207:25252/hbdm.php?key=7894561232&id=" + input.split("?")[0] + }; + } + }), + // play_parse:true, + // 手动调用解析请求json的url,此lazy不方便 + // lazy:'js:input="https://cache.json.icu/home/api?type=ys&uid=292796&key=fnoryABDEFJNPQV269&url="+input.split("?")[0];log(input);let html=JSON.parse(request(input));log(html);input=html.url||input', + // 推荐:'.list_item;img&&alt;img&&src;a&&Text;a&&data-float', + // 一级:'json:.data.list;.name;.imageUrl;.latestOrder;.albumId', + 推荐: '', + // 推荐:'js:let d=[];fetch_params.headers["user-agent"]=PC_UA;pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;let html=fetch(HOST,fetch_params);let lists=pdfa(html,".qy-mod-li");lists.forEach(function(it){try{let title=pdfh(it,"p.sub&&title");let desc=pdfh(it,".qy-mod-label&&Text");let pic_url=pd(it,"img&&src");d.push({title:title,desc:desc,img:pic_url})}catch(e){}});res=setResult(d);', + 一级: 'js:let d=[];if(MY_CATE==="16"){input=input.replace("channel_id=16","channel_id=1").split("three_category_id")[0];input+="three_category_id=27401"}else if(MY_CATE==="5"){input=input.replace("data_type=1","data_type=2")}let html=request(input);let json=JSON.parse(html);if(json.code==="A00003"){fetch_params.headers["user-agent"]=PC_UA;json=JSON.parse(fetch(input,fetch_params))}json.data.list.forEach(function(data){if(data.channelId===1){desc=data.hasOwnProperty("score")?data.score+"分\\t":""}else if(data.channelId===2||data.channelId===4){if(data.latestOrder===data.videoCount){desc=(data.hasOwnProperty("score")?data.score+"分\\t":"")+data.latestOrder+"集全"}else{if(data.videoCount){desc=(data.hasOwnProperty("score")?data.score+"分\\t":"")+data.latestOrder+"/"+data.videoCount+"集"}else{desc="更新至 "+data.latestOrder+"集"}}}else if(data.channelId===6){desc=data.period+"期"}else if(data.channelId===5){desc=data.focus}else{if(data.latestOrder){desc="更新至 第"+data.latestOrder+"期"}else if(data.period){desc=data.period}else{desc=data.focus}}url=MY_CATE+"$"+data.albumId;d.push({url:url,title:data.name,desc:desc,pic_url:data.imageUrl.replace(".jpg","_390_520.jpg?caplist=jpg,webp")})});setResult(d);', + // 一级:'js:let d=[];if(MY_CATE==="16"){input=input.replace("channel_id=16","channel_id=1").split("three_category_id")[0];input+="three_category_id=27401"}else if(MY_CATE==="5"){input=input.replace("data_type=1","data_type=2")}let html=fetch(input,fetch_params);let json=JSON.parse(html);if(json.code==="A00003"){fetch_params.headers["user-agent"]=PC_UA;json=JSON.parse(fetch(input,fetch_params))}json.data.list.forEach(function(data){if(data.channelId===1){desc=data.hasOwnProperty("score")?data.score+"分\\t":""}else if(data.channelId===2||data.channelId===4){if(data.latestOrder===data.videoCount){desc=(data.hasOwnProperty("score")?data.score+"分\\t":"")+data.latestOrder+"集全"}else{if(data.videoCount){desc=(data.hasOwnProperty("score")?data.score+"分\\t":"")+data.latestOrder+"/"+data.videoCount+"集"}else{desc="更新至 "+data.latestOrder+"集"}}}else if(data.channelId===6){desc=data.period+"期"}else if(data.channelId===5){desc=data.focus}else{if(data.latestOrder){desc="更新至 第"+data.latestOrder+"期"}else if(data.period){desc=data.period}else{desc=data.focus}}url=MY_CATE+"$"+data.albumId;d.push({url:url,title:data.name,desc:desc,pic_url:data.imageUrl.replace(".jpg","_390_520.jpg?caplist=jpg,webp")})});setResult(d);', + // 一级:'json:.data.list;.name;.imageUrl;.playUrl;.latestOrder', + // 二级:{is_json:1,"title":"data.title;data.moviecategory[0]+data.moviecategory[1]","img":"data.cdncover","desc":"data.area[0];data.director[0]","content":"data.description","tabs":"data.playlink_sites;data.playlinksdetail.#idv.quality","lists":"data.playlinksdetail.#idv.default_url"}, + // 二级:{is_json:1,"title":"data.name+data.subtitle;data.latestOrder","img":"data.imageUrl","desc":"data.categories;data.areas","content":"data.description","tabs":"data.name","lists":"data.playlinksdetail.#idv.default_url"}, + 二级: '', + 二级: 'js:let d=[];let html=request(input);let json=JSON.parse(html).data;VOD={vod_id:"",vod_url:input,vod_name:"",type_name:"",vod_actor:"",vod_year:"",vod_director:"",vod_area:"",vod_content:"",vod_remarks:"",vod_pic:""};VOD.vod_name=json.name;try{if(json.latestOrder){VOD.vod_remarks="类型: "+(json.categories[0].name||"")+"\\t"+(json.categories[1].name||"")+"\\t"+(json.categories[2].name||"")+"\\t"+"评分:"+(json.score||"")+"\\n更新至:第"+json.latestOrder+"集(期)/共"+json.videoCount+"集(期)"}else{VOD.vod_remarks="类型: "+(json.categories[0].name||"")+"\\t"+(json.categories[1].name||"")+"\\t"+(json.categories[2].name||"")+"\\t"+"评分:"+(json.score||"")+json.period}}catch(e){VOD.vod_remarks=json.subtitle}VOD.vod_area=(json.focus||"")+"\\n资费:"+(json.payMark===1?"VIP":"免费")+"\\n地区:"+(json.areas||"");let vsize="579_772";try{vsize=json.imageSize[12]}catch(e){}VOD.vod_pic=json.imageUrl.replace(".jpg","_"+vsize+".jpg?caplist=jpg,webp");VOD.type_name=json.categories.map(function(it){return it.name}).join(",");if(json.people.main_charactor){let vod_actors=[];json.people.main_charactor.forEach(function(it){vod_actors.push(it.name)});VOD.vod_actor=vod_actors.join(",")}VOD.vod_content=json.description;let playlists=[];if(json.channelId===1||json.channelId===5){playlists=[{playUrl:json.playUrl,imageUrl:json.imageUrl,shortTitle:json.shortTitle,focus:json.focus,period:json.period}]}else{if(json.channelId===6){let qs=json.period.split("-")[0];let listUrl="https://pcw-api.iqiyi.com/album/source/svlistinfo?cid=6&sourceid="+json.albumId+"&timelist="+qs;let playData=JSON.parse(request(listUrl)).data[qs];playData.forEach(function(it){playlists.push({playUrl:it.playUrl,imageUrl:it.imageUrl,shortTitle:it.shortTitle,focus:it.focus,period:it.period})})}else{let listUrl="https://pcw-api.iqiyi.com/albums/album/avlistinfo?aid="+json.albumId+"&size=200&page=1";let data=JSON.parse(request(listUrl)).data;let total=data.total;playlists=data.epsodelist;if(total>200){for(let i=2;i200){for(let i=2;i { + // let d = []; + // let data = JSON.parse(request(input)) + // data.forEach(item => { + // item.datas.forEach(it => { + // let id = `http://114.132.55.23/bl/mb/api.php/provide/vod/?ac=videolist&wd=${it.title}&`; + // d.push({ + // url: id, + // title: it.title, + // img: it.pic, + // desc: it.acr, + // }) + // }); + // }); + // setResult(d) + // }), + 一级: $js.toString(() => { + let d = []; + + function Encrypt(plainText) { + let key = CryptoJS.enc.Utf8.parse("mvXBSW7ekreItNsT"); + let iv = CryptoJS.enc.Utf8.parse("2U3IrJL8szAKp0Fj"); + // 将文本加密为 AES/CBC/PKCS5Padding 格式 + let encrypted = CryptoJS.AES.encrypt(plainText, key, { + iv: iv, + mode: CryptoJS.mode.CBC, + padding: CryptoJS.pad.Pkcs7 + }); + + // 获取加密结果并转为 Hex 格式 + let encryptedHex = encrypted.ciphertext.toString(CryptoJS.enc.Hex); + return encryptedHex.toUpperCase(); // 返回大写 Hex 格式 + } + + function Decrypt(word, key, iv) { + let encryptedHexStr = CryptoJS.enc.Hex.parse(word); + + // 使用AES/CBC/PKCS5Padding模式进行解密 + let decrypt = CryptoJS.AES.decrypt({ + ciphertext: encryptedHexStr + }, key, { + iv: iv, + mode: CryptoJS.mode.CBC, // 使用CBC模式 + padding: CryptoJS.pad.Pkcs7 // 使用PKCS#7填充 + }); + + // 将解密后的数据转换为原始文本 + let decryptedStr = decrypt.toString(CryptoJS.enc.Utf8); + + // 返回解密后的文本 + return decryptedStr; + } + + function getbody3(key, t) { + var signature = 'token_id=,token=1be86e8e18a9fa18b2b8d5432699dad0.ac008ed650fd087bfbecf2fda9d82e9835253ef24843e6b18fcd128b10763497bcf9d53e959f5377cde038c20ccf9d17f604c9b8bb6e61041def86729b2fc7408bd241e23c213ac57f0226ee656e2bb0a583ae0e4f3bf6c6ab6c490c9a6f0d8cdfd366aacf5d83193671a8f77cd1af1ff2e9145de92ec43ec87cf4bdc563f6e919fe32861b0e93b118ec37d8035fbb3c.59dd05c5d9a8ae726528783128218f15fe6f2c0c8145eddab112b374fcfe3d79,phone_type=1,request_key=' + key + ',app_id=1,time=' + t + ',keys=qDpotE2bedimK3QGqlyV5ieXXC3EhaPLQ+IOJyHnHflCj5w/7ESK7FgywMvrgjxbx0GklEFLI4+JshgySe633OIRstuktwdiCy3CT+fLSpuxBJDIlfXQDaeH3ig1wiB0JsZ601XHiFweGMu4tZfnSpHg3OnoL6nz/uurUif2OK4=*&zvdvdvddbfikkkumtmdwqppp?|4Y!s!2br'; //log(signature) + var signature2 = md5(signature).toUpperCase(); //log(signature2) + var body = 'token=1be86e8e18a9fa18b2b8d5432699dad0.ac008ed650fd087bfbecf2fda9d82e9835253ef24843e6b18fcd128b10763497bcf9d53e959f5377cde038c20ccf9d17f604c9b8bb6e61041def86729b2fc7408bd241e23c213ac57f0226ee656e2bb0a583ae0e4f3bf6c6ab6c490c9a6f0d8cdfd366aacf5d83193671a8f77cd1af1ff2e9145de92ec43ec87cf4bdc563f6e919fe32861b0e93b118ec37d8035fbb3c.59dd05c5d9a8ae726528783128218f15fe6f2c0c8145eddab112b374fcfe3d79&token_id=&phone_type=1&time=' + t + '&phone_model=xiaomi-22021211rc&keys=qDpotE2bedimK3QGqlyV5ieXXC3EhaPLQ%2BIOJyHnHflCj5w%2F7ESK7FgywMvrgjxbx0GklEFLI4%2BJshgySe633OIRstuktwdiCy3CT%2BfLSpuxBJDIlfXQDaeH3ig1wiB0JsZ601XHiFweGMu4tZfnSpHg3OnoL6nz%2FuurUif2OK4%3D&request_key=' + key + '&signature=' + signature2 + '&app_id=1&ad_version=1'; + return body + } + const bodykey = "MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGAe6hKrWLi1zQmjTT1ozbE4QdFeJGNxubxld6GrFGximxfMsMB6BpJhpcTouAqywAFppiKetUBBbXwYsYU1wNr648XVmPmCMCy4rY8vdliFnbMUj086DU6Z+/oXBdWU3/b1G0DN3E9wULRSwcKZT3wj/cCI1vsCm3gj2R5SqkA9Y0CAwEAAQKBgAJH+4CxV0/zBVcLiBCHvSANm0l7HetybTh/j2p0Y1sTXro4ALwAaCTUeqdBjWiLSo9lNwDHFyq8zX90+gNxa7c5EqcWV9FmlVXr8VhfBzcZo1nXeNdXFT7tQ2yah/odtdcx+vRMSGJd1t/5k5bDd9wAvYdIDblMAg+wiKKZ5KcdAkEA1cCakEN4NexkF5tHPRrR6XOY/XHfkqXxEhMqmNbB9U34saTJnLWIHC8IXys6Qmzz30TtzCjuOqKRRy+FMM4TdwJBAJQZFPjsGC+RqcG5UvVMiMPhnwe/bXEehShK86yJK/g/UiKrO87h3aEu5gcJqBygTq3BBBoH2md3pr/W+hUMWBsCQQChfhTIrdDinKi6lRxrdBnn0Ohjg2cwuqK5zzU9p/N+S9x7Ck8wUI53DKm8jUJE8WAG7WLj/oCOWEh+ic6NIwTdAkEAj0X8nhx6AXsgCYRql1klbqtVmL8+95KZK7PnLWG/IfjQUy3pPGoSaZ7fdquG8bq8oyf5+dzjE/oTXcByS+6XRQJAP/5ciy1bL3NhUhsaOVy55MHXnPjdcTX0FaLi+ybXZIfIQ2P4rb19mVq1feMbCXhz+L1rG8oat5lYKfpe8k83ZA=="; + + function gethtml(u, body, headers) { + var hd = fetch(u, { + headers: headers, + body: body, + method: 'POST', + rejectCoding: true + }); + var banner = JSON.parse(hd).data; + var response_key = banner.response_key; //log() + var keys = banner.keys; //log(keys) + var bodykeyiv = JSON.parse(RSA.decode(keys, bodykey)); + var key = CryptoJS.enc.Utf8.parse(bodykeyiv.key); + var iv = CryptoJS.enc.Utf8.parse(bodykeyiv.iv); + var html = Decrypt(response_key, key, iv); + return html + } + + function hqsub(MY_CATE) { + var subs = ["5", "12", "30", "22", ""] + var tids = ["1", "2", "4", "3", "64"] + let index = tids.indexOf(MY_CATE); + if (index !== -1) { + return subs[index]; + } + return ""; // 或者根据需要返回其他值 + } + var headers = { + 'Cache-Control': 'no-cache', + 'Version': '2406025', + 'PackageName': 'com.uf076bf0c246.qe439f0d5e.m8aaf56b725a.ifeb647346f', + 'Ver': '1.9.2', + 'Referer': 'https://api.8utdtcq.com', + 'X-Customer-Client-Ip': '127.0.0.1', + 'Content-Type': 'application/x-www-form-urlencoded', + 'Host': 'api.8utdtcq.com', + 'Connection': 'Keep-Alive', + //'Accept-Encoding': 'gzip', + 'User-Agent': 'okhttp/3.12.0' + } + var tid = MY_CATE; + var sub = hqsub(MY_CATE) + var timestamp = new Date().getTime() / 1000; + var t = timestamp.toString().split('.')[0]; + var request_key = JSON.stringify({ + "area": (MY_FL.area || 0).toString(), + "sub": (MY_FL.sub || sub).toString(), + "year": (MY_FL.year || 0).toString(), + "pageSize": "30", + "sort": (MY_FL.sort || "d_id").toString(), + "page": MY_PAGE, + "tid": tid + }); + var request_key2 = Encrypt(request_key); + var body = getbody3(request_key2, t) + var html2 = gethtml("https://api.8utdtcq.com/App/IndexList/indexList", body, headers) + //console.log("tttttlieb=="+html2) + var list = JSON.parse(html2).list; //log(list) + list.forEach(data => { + d.push({ + title: data.vod_name, + desc: data.vod_continu == 0 ? '电影' : '更新至' + data.vod_continu + '集', + year: data.vod_scroe, + img: data.vod_pic, + url: `${data.vod_id}/${data.vod_continu}`, + }) + }) + setResult(d) + }), + 二级: $js.toString(() => { + // var d = []; + function Encrypt(plainText) { + let key = CryptoJS.enc.Utf8.parse("mvXBSW7ekreItNsT"); + let iv = CryptoJS.enc.Utf8.parse("2U3IrJL8szAKp0Fj"); + // 将文本加密为 AES/CBC/PKCS5Padding 格式 + let encrypted = CryptoJS.AES.encrypt(plainText, key, { + iv: iv, + mode: CryptoJS.mode.CBC, + padding: CryptoJS.pad.Pkcs7 + }); + + // 获取加密结果并转为 Hex 格式 + let encryptedHex = encrypted.ciphertext.toString(CryptoJS.enc.Hex); + return encryptedHex.toUpperCase(); // 返回大写 Hex 格式 + } + + function Decrypt(word, key, iv) { + let encryptedHexStr = CryptoJS.enc.Hex.parse(word); + + // 使用AES/CBC/PKCS5Padding模式进行解密 + let decrypt = CryptoJS.AES.decrypt({ + ciphertext: encryptedHexStr + }, key, { + iv: iv, + mode: CryptoJS.mode.CBC, // 使用CBC模式 + padding: CryptoJS.pad.Pkcs7 // 使用PKCS#7填充 + }); + + // 将解密后的数据转换为原始文本 + let decryptedStr = decrypt.toString(CryptoJS.enc.Utf8); + + // 返回解密后的文本 + return decryptedStr; + } + + function getbody2(key, t) { + var signature = 'token_id=,token=1be86e8e18a9fa18b2b8d5432699dad0.ac008ed650fd087bfbecf2fda9d82e9835253ef24843e6b18fcd128b10763497bcf9d53e959f5377cde038c20ccf9d17f604c9b8bb6e61041def86729b2fc7408bd241e23c213ac57f0226ee656e2bb0a583ae0e4f3bf6c6ab6c490c9a6f0d8cdfd366aacf5d83193671a8f77cd1af1ff2e9145de92ec43ec87cf4bdc563f6e919fe32861b0e93b118ec37d8035fbb3c.59dd05c5d9a8ae726528783128218f15fe6f2c0c8145eddab112b374fcfe3d79,phone_type=1,request_key=' + key + ',app_id=1,time=' + t + ',keys=Qmxi5ciWXbQzkr7o+SUNiUuQxQEf8/AVyUWY4T/BGhcXBIUz4nOyHBGf9A4KbM0iKF3yp9M7WAY0rrs5PzdTAOB45plcS2zZ0wUibcXuGJ29VVGRWKGwE9zu2vLwhfgjTaaDpXo4rby+7GxXTktzJmxvneOUdYeHi+PZsThlvPI=*&zvdvdvddbfikkkumtmdwqppp?|4Y!s!2br'; //log(signature) + var signature2 = md5(signature); //log(signature2) + var body = 'token=1be86e8e18a9fa18b2b8d5432699dad0.ac008ed650fd087bfbecf2fda9d82e9835253ef24843e6b18fcd128b10763497bcf9d53e959f5377cde038c20ccf9d17f604c9b8bb6e61041def86729b2fc7408bd241e23c213ac57f0226ee656e2bb0a583ae0e4f3bf6c6ab6c490c9a6f0d8cdfd366aacf5d83193671a8f77cd1af1ff2e9145de92ec43ec87cf4bdc563f6e919fe32861b0e93b118ec37d8035fbb3c.59dd05c5d9a8ae726528783128218f15fe6f2c0c8145eddab112b374fcfe3d79&token_id=&phone_type=1&time=' + t + '&phone_model=xiaomi-22021211rc&keys=Qmxi5ciWXbQzkr7o%2BSUNiUuQxQEf8%2FAVyUWY4T%2FBGhcXBIUz4nOyHBGf9A4KbM0iKF3yp9M7WAY0rrs5PzdTAOB45plcS2zZ0wUibcXuGJ29VVGRWKGwE9zu2vLwhfgjTaaDpXo4rby%2B7GxXTktzJmxvneOUdYeHi%2BPZsThlvPI%3D&request_key=' + key + '&signature=' + signature2 + '&app_id=1&ad_version=1'; //log(body) + return body + } + const bodykey = "MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGAe6hKrWLi1zQmjTT1ozbE4QdFeJGNxubxld6GrFGximxfMsMB6BpJhpcTouAqywAFppiKetUBBbXwYsYU1wNr648XVmPmCMCy4rY8vdliFnbMUj086DU6Z+/oXBdWU3/b1G0DN3E9wULRSwcKZT3wj/cCI1vsCm3gj2R5SqkA9Y0CAwEAAQKBgAJH+4CxV0/zBVcLiBCHvSANm0l7HetybTh/j2p0Y1sTXro4ALwAaCTUeqdBjWiLSo9lNwDHFyq8zX90+gNxa7c5EqcWV9FmlVXr8VhfBzcZo1nXeNdXFT7tQ2yah/odtdcx+vRMSGJd1t/5k5bDd9wAvYdIDblMAg+wiKKZ5KcdAkEA1cCakEN4NexkF5tHPRrR6XOY/XHfkqXxEhMqmNbB9U34saTJnLWIHC8IXys6Qmzz30TtzCjuOqKRRy+FMM4TdwJBAJQZFPjsGC+RqcG5UvVMiMPhnwe/bXEehShK86yJK/g/UiKrO87h3aEu5gcJqBygTq3BBBoH2md3pr/W+hUMWBsCQQChfhTIrdDinKi6lRxrdBnn0Ohjg2cwuqK5zzU9p/N+S9x7Ck8wUI53DKm8jUJE8WAG7WLj/oCOWEh+ic6NIwTdAkEAj0X8nhx6AXsgCYRql1klbqtVmL8+95KZK7PnLWG/IfjQUy3pPGoSaZ7fdquG8bq8oyf5+dzjE/oTXcByS+6XRQJAP/5ciy1bL3NhUhsaOVy55MHXnPjdcTX0FaLi+ybXZIfIQ2P4rb19mVq1feMbCXhz+L1rG8oat5lYKfpe8k83ZA=="; + + function gethtml(u, body, headers) { + var hd = fetch(u, { + headers: headers, + body: body, + method: 'POST', + rejectCoding: true + }); + var banner = JSON.parse(hd).data; + var response_key = banner.response_key; //log() + var keys = banner.keys; //log(keys) + var bodykeyiv = JSON.parse(RSA.decode(keys, bodykey)); + var key = CryptoJS.enc.Utf8.parse(bodykeyiv.key); + var iv = CryptoJS.enc.Utf8.parse(bodykeyiv.iv); + var html = Decrypt(response_key, key, iv); + return html + } + const headers = { + 'Cache-Control': 'no-cache', + 'Version': '2406025', + 'PackageName': 'com.uf076bf0c246.qe439f0d5e.m8aaf56b725a.ifeb647346f', + 'Ver': '1.9.2', + 'Referer': 'https://api.8utdtcq.com', + 'X-Customer-Client-Ip': '127.0.0.1', + 'Content-Type': 'application/x-www-form-urlencoded', + 'Host': 'api.8utdtcq.com', + 'Connection': 'Keep-Alive', + //'Accept-Encoding': 'gzip', + 'User-Agent': 'okhttp/3.12.0' + } + // var MY_URL = MY_URL.split("##")[1]; //log(MY_URL) + input = input.replace('https://api.8utdtcq.com/', ''); + //console.log("input----===="+input) + + // var vod_continu = input.split("/")[1]; //log(vod_id) + var vod_id = input.split("/")[0]; + //console.log("vod----===="+vod_id) + var timestamp = new Date().getTime() / 1000; + var t = timestamp.toString().split('.')[0]; + var request_key = JSON.stringify({ + "token_id": "393668", + "vod_id": vod_id, + "mobile_time": t, + "token": "1be86e8e18a9fa18b2b8d5432699dad0.ac008ed650fd087bfbecf2fda9d82e9835253ef24843e6b18fcd128b10763497bcf9d53e959f5377cde038c20ccf9d17f604c9b8bb6e61041def86729b2fc7408bd241e23c213ac57f0226ee656e2bb0a583ae0e4f3bf6c6ab6c490c9a6f0d8cdfd366aacf5d83193671a8f77cd1af1ff2e9145de92ec43ec87cf4bdc563f6e919fe32861b0e93b118ec37d8035fbb3c.59dd05c5d9a8ae726528783128218f15fe6f2c0c8145eddab112b374fcfe3d79" + }); + var request_key2 = Encrypt(request_key); + var body = getbody2(request_key2, t) + var html = gethtml("https://api.8utdtcq.com/App/IndexPlay/playInfo", body, headers) + var data2 = JSON.parse(html).vodInfo; //console.log("hwudwudg-===="+JSON.stringify(data2)) + var request_key3 = JSON.stringify({ + "vurl_cloud_id": "2", + "vod_d_id": vod_id + }); //log(request_key3) + var request_key4 = Encrypt(request_key3); //log(request_key4) + var body2 = getbody2(request_key4, t) + + var html3 = gethtml("https://api.8utdtcq.com/App/Resource/Vurl/show", body2, headers); //log(html3) + + var list = JSON.parse(html3).list; + let nnnmm = []; + list.forEach(item => { + // 获取play对象的所有值 + const playParams = Object.values(item.play); + let lastParam = null; + + // 从数组的最后一个元素开始,向前查找,直到找到一个非空的param值 + for (let i = playParams.length - 1; i >= 0; i--) { + if (playParams[i].param) { + lastParam = playParams[i].param; + break; + } + } + + // 使用正则表达式匹配vurl_id + const vurlIdMatch = lastParam.match(/vurl_id=(\d+)/); + const resolution = lastParam.match(/resolution=(\d+)/); + // 如果匹配成功,将title和vurl_id组合后push到result数组 + if (vurlIdMatch) { + nnnmm.push(`${item.title}$${vod_id}/${vurlIdMatch[1]}?${resolution[1]}`); + } + }); + VOD = { + title: data2.vod_name, + type: data2.videoTag.toString(), + desc: data2.vod_use_content, + vod_actor: data2.vod_actor, + vod_area: data2.vod_area, + vod_director: data2.vod_director, + img: data2.vod_pic, + vod_play_from: '瓜子HD', + vod_play_url: nnnmm.join('#') + } + }), + 搜索: $js.toString(() => { + let d = []; + + function Encrypt(plainText) { + let key = CryptoJS.enc.Utf8.parse("mvXBSW7ekreItNsT"); + let iv = CryptoJS.enc.Utf8.parse("2U3IrJL8szAKp0Fj"); + // 将文本加密为 AES/CBC/PKCS5Padding 格式 + let encrypted = CryptoJS.AES.encrypt(plainText, key, { + iv: iv, + mode: CryptoJS.mode.CBC, + padding: CryptoJS.pad.Pkcs7 + }); + + // 获取加密结果并转为 Hex 格式 + let encryptedHex = encrypted.ciphertext.toString(CryptoJS.enc.Hex); + return encryptedHex.toUpperCase(); // 返回大写 Hex 格式 + } + + function Decrypt(word, key, iv) { + let encryptedHexStr = CryptoJS.enc.Hex.parse(word); + + // 使用AES/CBC/PKCS5Padding模式进行解密 + let decrypt = CryptoJS.AES.decrypt({ + ciphertext: encryptedHexStr + }, key, { + iv: iv, + mode: CryptoJS.mode.CBC, // 使用CBC模式 + padding: CryptoJS.pad.Pkcs7 // 使用PKCS#7填充 + }); + + // 将解密后的数据转换为原始文本 + let decryptedStr = decrypt.toString(CryptoJS.enc.Utf8); + + // 返回解密后的文本 + return decryptedStr; + } + + function getbody3(key, t) { + var signature = 'token_id=,token=1be86e8e18a9fa18b2b8d5432699dad0.ac008ed650fd087bfbecf2fda9d82e9835253ef24843e6b18fcd128b10763497bcf9d53e959f5377cde038c20ccf9d17f604c9b8bb6e61041def86729b2fc7408bd241e23c213ac57f0226ee656e2bb0a583ae0e4f3bf6c6ab6c490c9a6f0d8cdfd366aacf5d83193671a8f77cd1af1ff2e9145de92ec43ec87cf4bdc563f6e919fe32861b0e93b118ec37d8035fbb3c.59dd05c5d9a8ae726528783128218f15fe6f2c0c8145eddab112b374fcfe3d79,phone_type=1,request_key=' + key + ',app_id=1,time=' + t + ',keys=qDpotE2bedimK3QGqlyV5ieXXC3EhaPLQ+IOJyHnHflCj5w/7ESK7FgywMvrgjxbx0GklEFLI4+JshgySe633OIRstuktwdiCy3CT+fLSpuxBJDIlfXQDaeH3ig1wiB0JsZ601XHiFweGMu4tZfnSpHg3OnoL6nz/uurUif2OK4=*&zvdvdvddbfikkkumtmdwqppp?|4Y!s!2br'; //log(signature) + var signature2 = md5(signature); //log(signature2) + var body = 'token=1be86e8e18a9fa18b2b8d5432699dad0.ac008ed650fd087bfbecf2fda9d82e9835253ef24843e6b18fcd128b10763497bcf9d53e959f5377cde038c20ccf9d17f604c9b8bb6e61041def86729b2fc7408bd241e23c213ac57f0226ee656e2bb0a583ae0e4f3bf6c6ab6c490c9a6f0d8cdfd366aacf5d83193671a8f77cd1af1ff2e9145de92ec43ec87cf4bdc563f6e919fe32861b0e93b118ec37d8035fbb3c.59dd05c5d9a8ae726528783128218f15fe6f2c0c8145eddab112b374fcfe3d79&token_id=&phone_type=1&time=' + t + '&phone_model=xiaomi-22021211rc&keys=qDpotE2bedimK3QGqlyV5ieXXC3EhaPLQ%2BIOJyHnHflCj5w%2F7ESK7FgywMvrgjxbx0GklEFLI4%2BJshgySe633OIRstuktwdiCy3CT%2BfLSpuxBJDIlfXQDaeH3ig1wiB0JsZ601XHiFweGMu4tZfnSpHg3OnoL6nz%2FuurUif2OK4%3D&request_key=' + key + '&signature=' + signature2 + '&app_id=1&ad_version=1'; + return body + } + const bodykey = "MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGAe6hKrWLi1zQmjTT1ozbE4QdFeJGNxubxld6GrFGximxfMsMB6BpJhpcTouAqywAFppiKetUBBbXwYsYU1wNr648XVmPmCMCy4rY8vdliFnbMUj086DU6Z+/oXBdWU3/b1G0DN3E9wULRSwcKZT3wj/cCI1vsCm3gj2R5SqkA9Y0CAwEAAQKBgAJH+4CxV0/zBVcLiBCHvSANm0l7HetybTh/j2p0Y1sTXro4ALwAaCTUeqdBjWiLSo9lNwDHFyq8zX90+gNxa7c5EqcWV9FmlVXr8VhfBzcZo1nXeNdXFT7tQ2yah/odtdcx+vRMSGJd1t/5k5bDd9wAvYdIDblMAg+wiKKZ5KcdAkEA1cCakEN4NexkF5tHPRrR6XOY/XHfkqXxEhMqmNbB9U34saTJnLWIHC8IXys6Qmzz30TtzCjuOqKRRy+FMM4TdwJBAJQZFPjsGC+RqcG5UvVMiMPhnwe/bXEehShK86yJK/g/UiKrO87h3aEu5gcJqBygTq3BBBoH2md3pr/W+hUMWBsCQQChfhTIrdDinKi6lRxrdBnn0Ohjg2cwuqK5zzU9p/N+S9x7Ck8wUI53DKm8jUJE8WAG7WLj/oCOWEh+ic6NIwTdAkEAj0X8nhx6AXsgCYRql1klbqtVmL8+95KZK7PnLWG/IfjQUy3pPGoSaZ7fdquG8bq8oyf5+dzjE/oTXcByS+6XRQJAP/5ciy1bL3NhUhsaOVy55MHXnPjdcTX0FaLi+ybXZIfIQ2P4rb19mVq1feMbCXhz+L1rG8oat5lYKfpe8k83ZA=="; + + function gethtml(u, body, headers) { + var hd = fetch(u, { + headers: headers, + body: body, + method: 'POST', + rejectCoding: true + }); + var banner = JSON.parse(hd).data; + var response_key = banner.response_key; //log() + //console.log("response_key=="+response_key) + var keys = banner.keys; //log(keys) + var bodykeyiv = JSON.parse(RSA.decode(keys, bodykey)); + //console.log("rsaxxxx=="+JSON.stringify(bodykeyiv)) + var key = CryptoJS.enc.Utf8.parse(bodykeyiv.key); + var iv = CryptoJS.enc.Utf8.parse(bodykeyiv.iv); + var html = Decrypt(response_key, key, iv); + //console.log("nskjsnwkjdnejd===qqxxxq="+JSON.stringify(html)) + return html + } + var timestamp = new Date().getTime() / 1000; + var t = timestamp.toString().split('.')[0]; + var url = input.split("#")[0]; //url + var request_key11 = input.split("#")[1] + + var request_key = JSON.stringify({ + "keywords": request_key11, + "order_val": "1" + }) + //console.log("nskjsnwkjdnejd===qqxxxq=tttt"+request_key) + var request_key2 = Encrypt(request_key); + var body = getbody3(request_key2, t) + var headers = { + 'Cache-Control': 'no-cache', + 'Version': '2406025', + 'PackageName': 'com.uf076bf0c246.qe439f0d5e.m8aaf56b725a.ifeb647346f', + 'Ver': '1.9.2', + 'Referer': 'https://api.8utdtcq.com', + 'X-Customer-Client-Ip': '127.0.0.1', + 'Content-Type': 'application/x-www-form-urlencoded', + 'Host': 'api.8utdtcq.com', + 'Connection': 'Keep-Alive', + 'User-Agent': 'okhttp/3.12.0' + } + var html = gethtml(url, body, headers) + //console.log("nskjsnwkjdnejd===="+html) + + var list = JSON.parse(html).list; //log(list) + //console.log("nskjsnwkjdnejd===qqqqq="+list) + list.forEach(data => { + d.push({ + title: data.vod_name, + desc: data.vod_continu == 0 ? '电影' : '更新至' + data.vod_continu + '集', + content: data.vod_addtime, + img: data.vod_pic, + url: `${data.vod_id}/${data.vod_continu}`, + }) + }) + setResult(d) + }), +} \ No newline at end of file diff --git a/xiaosa/js/看了么.js b/xiaosa/js/看了么.js new file mode 100644 index 00000000..f3652037 --- /dev/null +++ b/xiaosa/js/看了么.js @@ -0,0 +1,890 @@ +var rule = { + title: '看了么', + host: 'https://www.ksksl.com', + // url:'/show/fyclass/page/fypage.html', + url: '/show/fyclassfyfilter.html', + filterable: 1, //是否启用分类筛选, + filter_url: '{{fl.area}}{{fl.by or "/by/time"}}{{fl.class}}/page/fypage{{fl.year}}', + filter: { + "dy": [{ + "key": "area", + "name": "地区", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "中国大陆", + "v": "/area/中国大陆" + }, { + "n": "中国香港", + "v": "/area/中国香港" + }, { + "n": "中国台湾", + "v": "/area/中国台湾" + }, { + "n": "美国", + "v": "/area/美国" + }, { + "n": "日本", + "v": "/area/日本" + }, { + "n": "韩国", + "v": "/area/韩国" + }, { + "n": "英国", + "v": "/area/英国" + }, { + "n": "法国", + "v": "/area/法国" + }] + }, { + "key": "class", + "name": "分类", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "喜剧", + "v": "/class/喜剧" + }, { + "n": "爱情", + "v": "/class/爱情" + }, { + "n": "恐怖", + "v": "/class/恐怖" + }, { + "n": "动作", + "v": "/class/动作" + }, { + "n": "科幻", + "v": "/class/科幻" + }, { + "n": "剧情", + "v": "/class/剧情" + }, { + "n": "警匪", + "v": "/class/警匪" + }, { + "n": "犯罪", + "v": "/class/犯罪" + }, { + "n": "动画", + "v": "/class/动画" + }, { + "n": "奇幻", + "v": "/class/奇幻" + }, { + "n": "武侠", + "v": "/class/武侠" + }, { + "n": "冒险", + "v": "/class/冒险" + }, { + "n": "枪战", + "v": "/class/枪战" + }, { + "n": "恐怖", + "v": "/class/恐怖" + }, { + "n": "悬疑", + "v": "/class/悬疑" + }, { + "n": "惊悚", + "v": "/class/惊悚" + }, { + "n": "经典", + "v": "/class/经典" + }, { + "n": "青春", + "v": "/class/青春" + }, { + "n": "文艺", + "v": "/class/文艺" + }, { + "n": "古装", + "v": "/class/古装" + }, { + "n": "历史", + "v": "/class/历史" + }, { + "n": "运动", + "v": "/class/运动" + }, { + "n": "农村", + "v": "/class/农村" + }] + }, { + "key": "year", + "name": "年份", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2025", + "v": "/year/2025" + }, { + "n": "2024", + "v": "/year/2024" + }, { + "n": "2023", + "v": "/year/2023" + }, { + "n": "2022", + "v": "/year/2022" + }, { + "n": "2021", + "v": "/year/2021" + }, { + "n": "2020", + "v": "/year/2020" + }, { + "n": "2019", + "v": "/year/2019" + }, { + "n": "2018", + "v": "/year/2018" + }, { + "n": "2017", + "v": "/year/2017" + }, { + "n": "2016", + "v": "/year/2016" + }, { + "n": "2015", + "v": "/year/2015" + }, { + "n": "2014", + "v": "/year/2014" + }, { + "n": "2013", + "v": "/year/2013" + }, { + "n": "2012", + "v": "/year/2012" + }, { + "n": "2011", + "v": "/year/2011" + }, { + "n": "2010", + "v": "/year/2010" + }, { + "n": "2009", + "v": "/year/2009" + }] + }, { + "key": "by", + "name": "排序", + "value": [{ + "n": "时间", + "v": "/by/time" + }, { + "n": "人气", + "v": "/by/hits" + }, { + "n": "评分", + "v": "/by/score" + }] + }], + "tv": [{ + "key": "area", + "name": "地区", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "中国大陆", + "v": "/area/中国大陆" + }, { + "n": "中国香港", + "v": "/area/中国香港" + }, { + "n": "中国台湾", + "v": "/area/中国台湾" + }, { + "n": "美国", + "v": "/area/美国" + }, { + "n": "日本", + "v": "/area/日本" + }, { + "n": "韩国", + "v": "/area/韩国" + }, { + "n": "英国", + "v": "/area/英国" + }, { + "n": "法国", + "v": "/area/法国" + }] + }, { + "key": "class", + "name": "分类", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "古装", + "v": "/class/古装" + }, { + "n": "言情", + "v": "/class/言情" + }, { + "n": "武侠", + "v": "/class/武侠" + }, { + "n": "偶像", + "v": "/class/美国" + }, { + "n": "家庭", + "v": "/class/家庭" + }, { + "n": "喜剧", + "v": "/class/喜剧" + }, { + "n": "战争", + "v": "/class/战争" + }, { + "n": "军旅", + "v": "/class/军旅" + }, { + "n": "谍战", + "v": "/class/谍战" + }, { + "n": "悬疑", + "v": "/class/悬疑" + }, { + "n": "罪案", + "v": "/class/罪案" + }, { + "n": "穿越", + "v": "/class/穿越" + }, { + "n": "宫廷", + "v": "/class/宫廷" + }, { + "n": "历史", + "v": "/class/历史" + }, { + "n": "神话", + "v": "/class/神话" + }, { + "n": "科幻", + "v": "/class/科幻" + }, { + "n": "年代", + "v": "/class/年代" + }, { + "n": "农村", + "v": "/class/农村" + }, { + "n": "商战", + "v": "/class/商战" + }, { + "n": "剧情", + "v": "/class/剧情" + }, { + "n": "奇幻", + "v": "/class/奇幻" + }, { + "n": "网剧", + "v": "/class/网剧" + }, { + "n": "都市", + "v": "/class/都市" + }] + }, { + "key": "year", + "name": "年份", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2025", + "v": "/year/2025" + }, { + "n": "2024", + "v": "/year/2024" + }, { + "n": "2023", + "v": "/year/2023" + }, { + "n": "2022", + "v": "/year/2022" + }, { + "n": "2021", + "v": "/year/2021" + }, { + "n": "2020", + "v": "/year/2020" + }, { + "n": "2019", + "v": "/year/2019" + }, { + "n": "2018", + "v": "/year/2018" + }, { + "n": "2017", + "v": "/year/2017" + }, { + "n": "2016", + "v": "/year/2016" + }, { + "n": "2015", + "v": "/year/2015" + }, { + "n": "2014", + "v": "/year/2014" + }, { + "n": "2013", + "v": "/year/2013" + }, { + "n": "2012", + "v": "/year/2012" + }, { + "n": "2011", + "v": "/year/2011" + }, { + "n": "2010", + "v": "/year/2010" + }, { + "n": "2009", + "v": "/year/2009" + }] + }, { + "key": "by", + "name": "排序", + "value": [{ + "n": "时间", + "v": "/by/time" + }, { + "n": "人气", + "v": "/by/hits" + }, { + "n": "评分", + "v": "/by/score" + }] + }], + "zy": [{ + "key": "area", + "name": "地区", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "中国大陆", + "v": "/area/中国大陆" + }, { + "n": "中国香港", + "v": "/area/中国香港" + }, { + "n": "中国台湾", + "v": "/area/中国台湾" + }, { + "n": "美国", + "v": "/area/美国" + }, { + "n": "日本", + "v": "/area/日本" + }, { + "n": "韩国", + "v": "/area/韩国" + }, { + "n": "英国", + "v": "/area/英国" + }, { + "n": "法国", + "v": "/area/法国" + }] + }, { + "key": "class", + "name": "分类", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "表演", + "v": "/class/表演" + }, { + "n": "播报", + "v": "/class/播报" + }, { + "n": "访谈", + "v": "/class/访谈" + }, { + "n": "体验", + "v": "/class/体验" + }, { + "n": "养成", + "v": "/class/养成" + }, { + "n": "游戏", + "v": "/class/游戏" + }, { + "n": "亲子", + "v": "/class/亲子" + }, { + "n": "美食", + "v": "/class/美食" + }, { + "n": "情感", + "v": "/class/情感" + }, { + "n": "选秀", + "v": "/class/选秀" + }, { + "n": "益智", + "v": "/class/益智" + }, { + "n": "晚会", + "v": "/class/晚会" + }, { + "n": "音乐", + "v": "/class/音乐" + }, { + "n": "文化", + "v": "/class/文化" + }, { + "n": "喜剧", + "v": "/class/喜剧" + }, { + "n": "曲艺", + "v": "/class/曲艺" + }, { + "n": "职场", + "v": "/class/职场" + }, { + "n": "脱口秀", + "v": "/class/脱口秀" + }, { + "n": "文艺", + "v": "/class/文艺" + }, { + "n": "竞技", + "v": "/class/竞技" + }, { + "n": "潮流文化", + "v": "/class/潮流文化" + }, { + "n": "体育", + "v": "/class/体育" + }, { + "n": "资讯", + "v": "/class/资讯" + }] + }, { + "key": "year", + "name": "年份", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2025", + "v": "/year/2025" + }, { + "n": "2024", + "v": "/year/2024" + }, { + "n": "2023", + "v": "/year/2023" + }, { + "n": "2022", + "v": "/year/2022" + }, { + "n": "2021", + "v": "/year/2021" + }, { + "n": "2020", + "v": "/year/2020" + }, { + "n": "2019", + "v": "/year/2019" + }, { + "n": "2018", + "v": "/year/2018" + }, { + "n": "2017", + "v": "/year/2017" + }, { + "n": "2016", + "v": "/year/2016" + }, { + "n": "2015", + "v": "/year/2015" + }, { + "n": "2014", + "v": "/year/2014" + }, { + "n": "2013", + "v": "/year/2013" + }, { + "n": "2012", + "v": "/year/2012" + }, { + "n": "2011", + "v": "/year/2011" + }, { + "n": "2010", + "v": "/year/2010" + }, { + "n": "2009", + "v": "/year/2009" + }] + }, { + "key": "by", + "name": "排序", + "value": [{ + "n": "时间", + "v": "/by/time" + }, { + "n": "人气", + "v": "/by/hits" + }, { + "n": "评分", + "v": "/by/score" + }] + }], + "dm": [{ + "key": "area", + "name": "地区", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "中国大陆", + "v": "/area/中国大陆" + }, { + "n": "中国香港", + "v": "/area/中国香港" + }, { + "n": "中国台湾", + "v": "/area/中国台湾" + }, { + "n": "美国", + "v": "/area/美国" + }, { + "n": "日本", + "v": "/area/日本" + }, { + "n": "韩国", + "v": "/area/韩国" + }, { + "n": "英国", + "v": "/area/英国" + }, { + "n": "法国", + "v": "/area/法国" + }] + }, { + "key": "class", + "name": "分类", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "热门", + "v": "/class/热门" + }, { + "n": "搞笑", + "v": "/class/搞笑" + }, { + "n": "番剧", + "v": "/class/番剧" + }, { + "n": "国创", + "v": "/class/国创" + }, { + "n": "大电影", + "v": "/class/大电影" + }, { + "n": "热血", + "v": "/class/热血" + }, { + "n": "催泪", + "v": "/class/催泪" + }, { + "n": "励志", + "v": "/class/励志" + }, { + "n": "机战", + "v": "/class/机战" + }, { + "n": "格斗", + "v": "/class/格斗" + }, { + "n": "恋爱", + "v": "/class/恋爱" + }, { + "n": "科幻", + "v": "/class/科幻" + }, { + "n": "奇幻", + "v": "/class/奇幻" + }, { + "n": "魔幻", + "v": "/class/魔幻" + }, { + "n": "推理", + "v": "/class/推理" + }, { + "n": "校园", + "v": "/class/校园" + }, { + "n": "日常", + "v": "/class/日常" + }, { + "n": "经典", + "v": "/class/经典" + }, { + "n": "历史", + "v": "/class/历史" + }, { + "n": "美食", + "v": "/class/美食" + }, { + "n": "武侠", + "v": "/class/武侠" + }, { + "n": "玄幻", + "v": "/class/玄幻" + }, { + "n": "竞技", + "v": "/class/竞技" + }] + }, { + "key": "year", + "name": "年份", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2025", + "v": "/year/2025" + }, { + "n": "2024", + "v": "/year/2024" + }, { + "n": "2023", + "v": "/year/2023" + }, { + "n": "2022", + "v": "/year/2022" + }, { + "n": "2021", + "v": "/year/2021" + }, { + "n": "2020", + "v": "/year/2020" + }, { + "n": "2019", + "v": "/year/2019" + }, { + "n": "2018", + "v": "/year/2018" + }, { + "n": "2017", + "v": "/year/2017" + }, { + "n": "2016", + "v": "/year/2016" + }, { + "n": "2015", + "v": "/year/2015" + }, { + "n": "2014", + "v": "/year/2014" + }, { + "n": "2013", + "v": "/year/2013" + }, { + "n": "2012", + "v": "/year/2012" + }, { + "n": "2011", + "v": "/year/2011" + }, { + "n": "2010", + "v": "/year/2010" + }, { + "n": "2009", + "v": "/year/2009" + }] + }, { + "key": "by", + "name": "排序", + "value": [{ + "n": "时间", + "v": "/by/time" + }, { + "n": "人气", + "v": "/by/hits" + }, { + "n": "评分", + "v": "/by/score" + }] + }], + "jl": [{ + "key": "area", + "name": "地区", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "中国大陆", + "v": "/area/中国大陆" + }, { + "n": "日本", + "v": "/area/日本" + }, { + "n": "美国", + "v": "/area/美国" + }, { + "n": "国外", + "v": "/area/国外" + }, { + "n": "其他", + "v": "/area/其他" + }] + }, { + "key": "class", + "name": "分类", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "社会", + "v": "/class/社会" + }, { + "n": "动物", + "v": "/class/动物" + }, { + "n": "文化", + "v": "/class/文化" + }, { + "n": "自然", + "v": "/class/自然" + }, { + "n": "人文", + "v": "/class/人文" + }, { + "n": "军事", + "v": "/class/军事" + }, { + "n": "历史", + "v": "/class/历史" + }, { + "n": "记录", + "v": "/class/记录" + }] + }, { + "key": "year", + "name": "年份", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2025", + "v": "/year/2025" + }, { + "n": "2024", + "v": "/year/2024" + }, { + "n": "2023", + "v": "/year/2023" + }, { + "n": "2022", + "v": "/year/2022" + }, { + "n": "2021", + "v": "/year/2021" + }, { + "n": "2020", + "v": "/year/2020" + }, { + "n": "2019", + "v": "/year/2019" + }, { + "n": "2018", + "v": "/year/2018" + }, { + "n": "2017", + "v": "/year/2017" + }, { + "n": "2016", + "v": "/year/2016" + }, { + "n": "2015", + "v": "/year/2015" + }, { + "n": "2014", + "v": "/year/2014" + }, { + "n": "2013", + "v": "/year/2013" + }, { + "n": "2012", + "v": "/year/2012" + }, { + "n": "2011", + "v": "/year/2011" + }, { + "n": "2010", + "v": "/year/2010" + }] + }, { + "key": "by", + "name": "排序", + "value": [{ + "n": "时间", + "v": "/by/time" + }, { + "n": "人气", + "v": "/by/hits" + }, { + "n": "评分", + "v": "/by/score" + }] + }] + }, + // searchUrl:'/ch.html?wd=**', + searchUrl: '/ch/page/fypage/wd/**.html', + searchable: 2, + headers: { + 'User-Agent': 'UC_UA' + }, + timeout: 5000, + // class_name: '电影&电视剧&动漫&综艺&纪录片',//静态分类名称拼接 + // class_url: 'dy&tv&dm&zy&jl',//静态分类标识拼接 + class_parse: '.vi-nav.swiper-wrapper&&li:gt(0):lt(6);a&&Text;a&&href;.*/(.*?).html', + play_parse: true, + lazy: `js: + var html = JSON.parse(request(input).match(/r player_.*?=(.*?) { + input = "push://" + input; + }), + double: false, + 推荐: '*', + 一级: 'json:data;name;;addtime;url', + 二级: '*', + 搜索: '*', +} \ No newline at end of file diff --git a/xiaosa/js/碟调影视.js b/xiaosa/js/碟调影视.js new file mode 100644 index 00000000..659b0010 --- /dev/null +++ b/xiaosa/js/碟调影视.js @@ -0,0 +1,32 @@ +var rule = { + title: '碟调影视', + host: 'http://www.618648.com', + // homeUrl:'/', + url: '/die-tiao/fyclass-fypage.html', + searchUrl: '/diediaoch/page/fypage/wd/**.html', + searchable: 2, //是否启用全局搜索, + quickSearch: 0, //是否启用快速搜索, + filterable: 0, //是否启用分类筛选, + headers: { //网站的请求头,完整支持所有的,常带ua和cookies + 'User-Agent': 'MOBILE_UA', + // "Cookie": "searchneed=ok" + }, + //class_parse:'.stui-header__menu li.hidden-xs;a&&Text;a&&href;.*/(.*?).html', + class_name: '电影&电视剧&综艺&动漫', + class_url: '1&2&3&4', + play_parse: true, + lazy: '', + limit: 8, + 推荐: '.stui-vodlist.clearfix;.stui-vodlist__box;a&&title;a&&data-original;.pic-text&&Text;a&&href', + double: true, // 推荐内容是否双层定位 + 一级: '.stui-vodlist.clearfix li;a&&title;a&&data-original;.pic-text&&Text;a&&href', + 二级: { + "title": "h1.title&&Text;.stui-content__detail p:eq(2)&&Text", + "img": ".lazyload&&data-original", + "desc": ".video-info-items:eq(-2)&&Text;.video-info-items:eq(-1)&&Text;.video-info-items:eq(-2)&&Text;.stui-content__detail p:eq(7)&&Text;.stui-content__detail p:eq(6)&&Text", + "content": ".stui-content__detail p:eq(9)&&Text", + "tabs": ".nav.nav-tabs li", + "lists": ".tab-pane.fade:eq(#id)&&ul&&li" + }, + 搜索: '.stui-vodlist.clearfix li;a&&title;a&&data-original;.pic-text&&Text;a&&href', +} \ No newline at end of file diff --git a/xiaosa/js/腾讯弹幕.js b/xiaosa/js/腾讯弹幕.js new file mode 100644 index 00000000..a3ebd8aa --- /dev/null +++ b/xiaosa/js/腾讯弹幕.js @@ -0,0 +1,842 @@ +var rule = { + title: '腾云驾雾[官]', + host: 'https://v.%71%71.com', + // homeUrl: '/x/bu/pagesheet/list?_all=1&append=1&channel=choice&listpage=1&offset=0&pagesize=21&iarea=-1&sort=18', + homeUrl: '/x/bu/pagesheet/list?_all=1&append=1&channel=cartoon&listpage=1&offset=0&pagesize=21&iarea=-1&sort=18', + detailUrl: 'https://node.video.%71%71.com/x/api/float_vinfo2?cid=fyid', + searchUrl: '/x/search/?q=**&stag=fypage', + searchUrl: 'https://pbaccess.video.%71%71.com/trpc.videosearch.smartboxServer.HttpRountRecall/Smartbox?query=**&appID=3172&appKey=lGhFIPeD3HsO9xEp&pageNum=(fypage-1)&pageSize=10', + searchable: 2, + filterable: 1, + multi: 1, + // url:'/channel/fyclass?listpage=fypage&channel=fyclass&sort=18&_all=1', + url: '/x/bu/pagesheet/list?_all=1&append=1&channel=fyclass&listpage=1&offset=((fypage-1)*21)&pagesize=21&iarea=-1', + // filter_url: 'sort={{fl.sort or 18}}&year={{fl.year}}&pay={{fl.pay}}', + // filter_url: 'sort={{fl.sort or 75}}&year={{fl.year}}&pay={{fl.pay}}', + filter_url: 'sort={{fl.sort or 75}}&iyear={{fl.iyear}}&year={{fl.year}}&itype={{fl.type}}&ifeature={{fl.feature}}&iarea={{fl.area}}&itrailer={{fl.itrailer}}&gender={{fl.sex}}', + // filter: 'H4sIAAAAAAAAA+2UzUrDQBCA32XOEZLUJrGvIj0saaDBNisxBkIJCG3Fi4oepIg3EQoieqiH+vM23Zq+hRuaZLZ4ce9z2/lmd2d2+NgR+H0e+gF0DkdwFGTQgRMeJ2BAxIaSwvrqVnxcyzhlg9PttqjED2c/45cSy8DyIDcavr57q/lBw8XTd/E6qbnT8M3zTFyc72RtC/Jumd+2c8wy7KZ4nxSL5Z9uxHS+Gc+r83sWVp1eVttl4Dluk1h93YubWZVwduplAYuxoFguVp+P/y5om/Z+/YxyqfAW8pbKbeS2yi3kO/ebyE2Fy1nXXBm7DDzknspd5K7KHeSOytvI2+XAugYkKWlD2mhrM+RpSB8OmaNvTsriMEgycofc0XbHZ3HCeUTukDv67vTDQY/MIXO0zelxn5M4JI6mOPkvgswSEpgPAAA=', + filter: { + "choice": [{ + "key": "sort", + "name": "排序", + "value": [{ + "n": "最热", + "v": "75" + }, { + "n": "最新", + "v": "83" + }, { + "n": "好评", + "v": "81" + }] + }, { + "key": "iyear", + "name": "年代", + "value": [{ + "n": "全部", + "v": "-1" + }, { + "n": "2025", + "v": "2025" + }, { + "n": "2024", + "v": "2024" + }, { + "n": "2023", + "v": "2023" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }] + }], + "tv": [{ + "key": "sort", + "name": "排序", + "value": [{ + "n": "最热", + "v": "75" + }, { + "n": "最新", + "v": "79" + }, { + "n": "好评", + "v": "16" + }] + }, { + "key": "feature", + "name": "类型", + "value": [{ + "n": "全部", + "v": "-1" + }, { + "n": "爱情", + "v": "1" + }, { + "n": "古装", + "v": "2" + }, { + "n": "悬疑", + "v": "3" + }, { + "n": "都市", + "v": "4" + }, { + "n": "家庭", + "v": "5" + }, { + "n": "喜剧", + "v": "6" + }, { + "n": "传奇", + "v": "7" + }, { + "n": "武侠", + "v": "8" + }, { + "n": "军旅", + "v": "9" + }, { + "n": "权谋", + "v": "10" + }, { + "n": "革命", + "v": "11" + }, { + "n": "现实", + "v": "13" + }, { + "n": "青春", + "v": "14" + }, { + "n": "猎奇", + "v": "15" + }, { + "n": "科幻", + "v": "16" + }, { + "n": "竞技", + "v": "17" + }, { + "n": "玄幻", + "v": "18" + }] + }, { + "key": "iyear", + "name": "年代", + "value": [{ + "n": "全部", + "v": "-1" + }, { + "n": "2025", + "v": "2025" + }, { + "n": "2024", + "v": "2024" + }, { + "n": "2023", + "v": "2023" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }] + }], + "movie": [{ + "key": "sort", + "name": "排序", + "value": [{ + "n": "最热", + "v": "75" + }, { + "n": "最新", + "v": "83" + }, { + "n": "好评", + "v": "81" + }] + }, { + "key": "type", + "name": "类型", + "value": [{ + "n": "全部", + "v": "-1" + }, { + "n": "犯罪", + "v": "4" + }, { + "n": "励志", + "v": "2" + }, { + "n": "喜剧", + "v": "100004" + }, { + "n": "热血", + "v": "100061" + }, { + "n": "悬疑", + "v": "100009" + }, { + "n": "爱情", + "v": "100005" + }, { + "n": "科幻", + "v": "100012" + }, { + "n": "恐怖", + "v": "100010" + }, { + "n": "动画", + "v": "100015" + }, { + "n": "战争", + "v": "100006" + }, { + "n": "家庭", + "v": "100017" + }, { + "n": "剧情", + "v": "100022" + }, { + "n": "奇幻", + "v": "100016" + }, { + "n": "武侠", + "v": "100011" + }, { + "n": "历史", + "v": "100021" + }, { + "n": "老片", + "v": "100013" + }, { + "n": "西部", + "v": "3" + }, { + "n": "记录片", + "v": "100020" + }] + }, { + "key": "year", + "name": "年代", + "value": [{ + "n": "全部", + "v": "-1" + }, { + "n": "2025", + "v": "2025" + }, { + "n": "2024", + "v": "2024" + }, { + "n": "2023", + "v": "2023" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }] + }], + "variety": [{ + "key": "sort", + "name": "排序", + "value": [{ + "n": "最热", + "v": "75" + }, { + "n": "最新", + "v": "23" + }] + }, { + "key": "iyear", + "name": "年代", + "value": [{ + "n": "全部", + "v": "-1" + }, { + "n": "2025", + "v": "2025" + }, { + "n": "2024", + "v": "2024" + }, { + "n": "2023", + "v": "2023" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }] + }], + "cartoon": [{ + "key": "sort", + "name": "排序", + "value": [{ + "n": "最热", + "v": "75" + }, { + "n": "最新", + "v": "83" + }, { + "n": "好评", + "v": "81" + }] + }, { + "key": "area", + "name": "地区", + "value": [{ + "n": "全部", + "v": "-1" + }, { + "n": "内地", + "v": "1" + }, { + "n": "日本", + "v": "2" + }, { + "n": "欧美", + "v": "3" + }, { + "n": "其他", + "v": "4" + }] + }, { + "key": "type", + "name": "类型", + "value": [{ + "n": "全部", + "v": "-1" + }, { + "n": "玄幻", + "v": "9" + }, { + "n": "科幻", + "v": "4" + }, { + "n": "武侠", + "v": "13" + }, { + "n": "冒险", + "v": "3" + }, { + "n": "战斗", + "v": "5" + }, { + "n": "搞笑", + "v": "1" + }, { + "n": "恋爱", + "v": "7" + }, { + "n": "魔幻", + "v": "6" + }, { + "n": "竞技", + "v": "20" + }, { + "n": "悬疑", + "v": "17" + }, { + "n": "日常", + "v": "15" + }, { + "n": "校园", + "v": "16" + }, { + "n": "真人", + "v": "18" + }, { + "n": "推理", + "v": "14" + }, { + "n": "历史", + "v": "19" + }, { + "n": "经典", + "v": "3" + }, { + "n": "其他", + "v": "12" + }] + }, { + "key": "iyear", + "name": "年代", + "value": [{ + "n": "全部", + "v": "-1" + }, { + "n": "2025", + "v": "2025" + }, { + "n": "2024", + "v": "2024" + }, { + "n": "2023", + "v": "2023" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }] + }], + "child": [{ + "key": "sort", + "name": "排序", + "value": [{ + "n": "最热", + "v": "75" + }, { + "n": "最新", + "v": "76" + }, { + "n": "好评", + "v": "20" + }] + }, { + "key": "sex", + "name": "性别", + "value": [{ + "n": "全部", + "v": "-1" + }, { + "n": "女孩", + "v": "1" + }, { + "n": "男孩", + "v": "2" + }] + }, { + "key": "area", + "name": "地区", + "value": [{ + "n": "全部", + "v": "-1" + }, { + "n": "内地", + "v": "3" + }, { + "n": "日本", + "v": "2" + }, { + "n": "其他", + "v": "1" + }] + }, { + "key": "iyear", + "name": "年龄段", + "value": [{ + "n": "全部", + "v": "-1" + }, { + "n": "0-3岁", + "v": "1" + }, { + "n": "4-6岁", + "v": "2" + }, { + "n": "7-9岁", + "v": "3" + }, { + "n": "10岁以上", + "v": "4" + }, { + "n": "全年龄段", + "v": "7" + }] + }], + "doco": [{ + "key": "sort", + "name": "排序", + "value": [{ + "n": "最热", + "v": "75" + }, { + "n": "最新", + "v": "74" + }] + }, { + "key": "itrailer", + "name": "出品方", + "value": [{ + "n": "全部", + "v": "-1" + }, { + "n": "BBC", + "v": "1" + }, { + "n": "国家地理", + "v": "4" + }, { + "n": "HBO", + "v": "3175" + }, { + "n": "NHK", + "v": "2" + }, { + "n": "历史频道", + "v": "7" + }, { + "n": "ITV", + "v": "3530" + }, { + "n": "探索频道", + "v": "3174" + }, { + "n": "ZDF", + "v": "3176" + }, { + "n": "腾讯自制", + "v": "15" + }, { + "n": "合作机构", + "v": "6" + }, { + "n": "其他", + "v": "5" + }] + }, { + "key": "type", + "name": "类型", + "value": [{ + "n": "全部", + "v": "-1" + }, { + "n": "自然", + "v": "4" + }, { + "n": "美食", + "v": "10" + }, { + "n": "社会", + "v": "3" + }, { + "n": "人文", + "v": "6" + }, { + "n": "历史", + "v": "1" + }, { + "n": "军事", + "v": "2" + }, { + "n": "科技", + "v": "8" + }, { + "n": "财经", + "v": "14" + }, { + "n": "探险", + "v": "15" + }, { + "n": "罪案", + "v": "7" + }, { + "n": "竞技", + "v": "12" + }, { + "n": "旅游", + "v": "11" + }] + }] + }, + headers: { + 'User-Agent': 'PC_UA' + }, + timeout: 5000, + // class_parse:'.site_channel a;a&&Text;a&&href;channel/(.*)', + cate_exclude: '会员|游戏|全部', + // class_name: '精选&电视剧&电影&综艺&动漫&少儿&纪录片', + // class_url: 'choice&tv&movie&variety&cartoon&child&doco', + class_name: '精选&电影&电视剧&综艺&动漫&少儿&纪录片', + class_url: 'choice&movie&tv&variety&cartoon&child&doco', + limit: 20, + // play_parse:true, + // 手动调用解析请求json的url,此lazy不方便 + play_parse: true, + lazy: $js.toString(() => { + try { + let api = "" + input.split("?")[0]; + console.log(api); + let response = fetch(api, { + method: 'get', + headers: { + 'User-Agent': 'okhttp/3.14.9', + 'Content-Type': 'application/x-www-form-urlencoded' + } + }); + let bata = JSON.parse(response); + if (bata.url.includes("qq")) { + input = { + parse: 0, + url: bata.url, + jx: 0, + danmaku: "http://103.45.162.207:25252/hbdm.php?key=7894561232&id=" + input.split("?")[0] + }; + } else { + input = { + parse: 0, + url: input.split("?")[0], + jx: 1, + danmaku: "http://103.45.162.207:25252/hbdm.php?key=7894561232&id=" + input.split("?")[0] + }; + } + } catch { + input = { + parse: 0, + url: input.split("?")[0], + jx: 1, + danmaku: "http://103.45.162.207:25252/hbdm.php?key=7894561232&id=" + input.split("?")[0] + }; + } + }), + 推荐: '.list_item;img&&alt;img&&src;a&&Text;a&&data-float', + 一级: '.list_item;img&&alt;img&&src;a&&Text;a&&data-float', + 二级: $js.toString(() => { + VOD = {}; + let d = []; + let video_list = []; + let video_lists = []; + let list = []; + let QZOutputJson; + let html = fetch(input, fetch_params); + let sourceId = /get_playsource/.test(input) ? input.match(/id=(\d*?)&/)[1] : input.split("cid=")[1]; + let cid = sourceId; + let detailUrl = "https://v.%71%71.com/detail/m/" + cid + ".html"; + log("详情页:" + detailUrl); + pdfh = jsp.pdfh; + pd = jsp.pd; + try { + let json = JSON.parse(html); + VOD = { + vod_url: input, + vod_name: json.c.title, + type_name: json.typ.join(","), + vod_actor: json.nam.join(","), + vod_year: json.c.year, + vod_content: json.c.description, + vod_remarks: json.rec, + vod_pic: urljoin2(input, json.c.pic) + } + } catch (e) { + log("解析片名海报等基础信息发生错误:" + e.message) + } + if (/get_playsource/.test(input)) { + eval(html); + let indexList = QZOutputJson.PlaylistItem.indexList; + indexList.forEach(function(it) { + let dataUrl = "https://s.video.qq.com/get_playsource?id=" + sourceId + "&plat=2&type=4&data_type=3&range=" + it + "&video_type=10&plname=qq&otype=json"; + eval(fetch(dataUrl, fetch_params)); + let vdata = QZOutputJson.PlaylistItem.videoPlayList; + vdata.forEach(function(item) { + d.push({ + title: item.title, + pic_url: item.pic, + desc: item.episode_number + "\t\t\t播放量:" + item.thirdLine, + url: item.playUrl + }) + }); + video_lists = video_lists.concat(vdata) + }) + } else { + let json = JSON.parse(html); + video_lists = json.c.video_ids; + let url = "https://v.qq.com/x/cover/" + sourceId + ".html"; + if (video_lists.length === 1) { + let vid = video_lists[0]; + url = "https://v.qq.com/x/cover/" + cid + "/" + vid + ".html"; + d.push({ + title: "在线播放", + url: url + }) + } else if (video_lists.length > 1) { + for (let i = 0; i < video_lists.length; i += 30) { + video_list.push(video_lists.slice(i, i + 30)) + } + video_list.forEach(function(it, idex) { + let o_url = "https://union.video.qq.com/fcgi-bin/data?otype=json&tid=1804&appid=20001238&appkey=6c03bbe9658448a4&union_platform=1&idlist=" + it.join(","); + let o_html = fetch(o_url, fetch_params); + eval(o_html); + QZOutputJson.results.forEach(function(it1) { + it1 = it1.fields; + let url = "https://v.qq.com/x/cover/" + cid + "/" + it1.vid + ".html"; + d.push({ + title: it1.title, + pic_url: it1.pic160x90.replace("/160", ""), + desc: it1.video_checkup_time, + url: url, + type: it1.category_map && it1.category_map.length > 1 ? it1.category_map[1] : "" + }) + }) + }) + } + } + let yg = d.filter(function(it) { + return it.type && it.type !== "正片" + }); + let zp = d.filter(function(it) { + return !(it.type && it.type !== "正片") + }); + VOD.vod_play_from = yg.length < 1 ? "qq" : "qq$$$qq 预告及花絮"; + VOD.vod_play_url = yg.length < 1 ? d.map(function(it) { + return it.title + "$" + it.url + }).join("#") : [zp, yg].map(function(it) { + return it.map(function(its) { + return its.title + "$" + its.url + }).join("#") + }).join("$$$"); + }), + 搜索: $js.toString(() => { + let d = []; + pdfa = jsp.pdfa; + pdfh = jsp.pdfh; + pd = jsp.pd; + let html = request(input); + let baseList = pdfa(html, "body&&.result_item_v"); + log(baseList.length); + baseList.forEach(function(it) { + let longText = pdfh(it, ".result_title&&a&&Text"); + let shortText = pdfh(it, ".type&&Text"); + let fromTag = pdfh(it, ".result_source&&Text"); + let score = pdfh(it, ".figure_info&&Text"); + let content = pdfh(it, ".desc_text&&Text"); + // let url = pdfh(it, ".result_title&&a&&href"); + let url = pdfh(it, "div&&r-data"); + // log(longText); + // log(shortText); + // log('url:'+url); + let img = pd(it, ".figure_pic&&src"); + url = "https://node.video.qq.com/x/api/float_vinfo2?cid=" + url.match(/.*\/(.*?)\.html/)[1]; + log(shortText + "|" + url); + if (fromTag.match(/腾讯/)) { + d.push({ + title: longText.split(shortText)[0], + img: img, + url: url, + content: content, + desc: shortText + " " + score + }) + } + }); + setResult(d); + }), + 搜索: $js.toString(() => { + let d = []; + let html = request(input); + let json = JSON.parse(html); + if (json.data.smartboxItemList.length > 0) { + let cid = json.data.smartboxItemList[0].basicDoc.id; + let url = 'https://node.video.qq.com/x/api/float_vinfo2?cid=' + cid; + let html1 = request(url); + let data = JSON.parse(html1); + + d.push({ + title: data.c.title, + img: data.c.pic, + url: url, + content: data.c.description, + desc: data.rec + }); + } + setResult(d); + }) +} \ No newline at end of file diff --git a/xiaosa/js/芒果弹幕.js b/xiaosa/js/芒果弹幕.js new file mode 100644 index 00000000..3f517be0 --- /dev/null +++ b/xiaosa/js/芒果弹幕.js @@ -0,0 +1,843 @@ +var rule = { + title: '百忙无果[官]', + host: 'https://pianku.api.%6d%67%74%76.com', + homeUrl: '', + // searchUrl: 'https://mobileso.bz.%6d%67%74%76.com/pc/search/v1?q=**&pn=fypage&pc=10', + // 新版接口搜索变成v2并且加了验证,蛋疼 + // searchUrl: 'https://mobileso.bz.mgtv.com/pc/search/v2?allowedRC=1&src=mgtv&did=cf03b959-6945-4cb6-bcb3-88762459354d×tamp=2024-06-21T15%3A52%3A55Z&signVersion=1&signNonce=8dae67a1fafc4bda984ec8deb47666ad&q=**&pn=fypage&pc=10&corr=1&_support=10000000&signature=4e27fddcd2a1a66d6c1764ed6b74bab7', + // 用手机的吧,搞不定这个 + searchUrl: 'https://mobileso.bz.%6d%67%74%76.com/msite/search/v2?q=**&pn=fypage&pc=10', + detailUrl: 'https://pcweb.api.mgtv.com/episode/list?page=1&size=50&video_id=fyid', + searchable: 2, + quickSearch: 0, + filterable: 1, + multi: 1, + // 分类链接fypage参数支持1个()表达式 + // https://www.mgtv.com/lib/3?lastp=list_index&kind=a1&year=all&chargeInfo=a1&sort=c2 + url: '/rider/list/pcweb/v3?platform=pcweb&channelId=fyclass&pn=fypage&pc=80&hudong=1&_support=10000000&kind=a1&area=a1', + filter_url: 'year={{fl.year or "all"}}&sort={{fl.sort or "all"}}&chargeInfo={{fl.chargeInfo or "all"}}', + headers: { + 'User-Agent': 'PC_UA' + }, + timeout: 5000, + class_name: '电视剧&电影&综艺&动漫&纪录片&教育&少儿', + class_url: '2&3&1&50&51&115&10', + filter: { + "1": [{ + "key": "chargeInfo", + "name": "付费类型", + "value": [{ + "n": "全部", + "v": "all" + }, { + "n": "免费", + "v": "b1" + }, { + "n": "vip", + "v": "b2" + }, { + "n": "VIP用券", + "v": "b3" + }, { + "n": "付费点播", + "v": "b4" + }] + }, { + "key": "sort", + "name": "排序", + "value": [{ + "n": "最新", + "v": "c1" + }, { + "n": "最热", + "v": "c2" + }, { + "n": "知乎高分", + "v": "c4" + }] + }, { + "key": "year", + "name": "年代", + "value": [{ + "n": "全部", + "v": "all" + }, { + "n": "2025", + "v": "2025" + }, { + "n": "2024", + "v": "2024" + }, { + "n": "2023", + "v": "2023" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }, { + "n": "2014", + "v": "2014" + }, { + "n": "2013", + "v": "2013" + }, { + "n": "2012", + "v": "2012" + }, { + "n": "2011", + "v": "2011" + }, { + "n": "2010", + "v": "2010" + }, { + "n": "2009", + "v": "2009" + }, { + "n": "2008", + "v": "2008" + }, { + "n": "2007", + "v": "2007" + }, { + "n": "2006", + "v": "2006" + }, { + "n": "2005", + "v": "2005" + }, { + "n": "2004", + "v": "2004" + }] + }], + "2": [{ + "key": "chargeInfo", + "name": "付费类型", + "value": [{ + "n": "全部", + "v": "all" + }, { + "n": "免费", + "v": "b1" + }, { + "n": "vip", + "v": "b2" + }, { + "n": "VIP用券", + "v": "b3" + }, { + "n": "付费点播", + "v": "b4" + }] + }, { + "key": "sort", + "name": "排序", + "value": [{ + "n": "最新", + "v": "c1" + }, { + "n": "最热", + "v": "c2" + }, { + "n": "知乎高分", + "v": "c4" + }] + }, { + "key": "year", + "name": "年代", + "value": [{ + "n": "全部", + "v": "all" + }, { + "n": "2025", + "v": "2025" + }, { + "n": "2024", + "v": "2024" + }, { + "n": "2023", + "v": "2023" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }, { + "n": "2014", + "v": "2014" + }, { + "n": "2013", + "v": "2013" + }, { + "n": "2012", + "v": "2012" + }, { + "n": "2011", + "v": "2011" + }, { + "n": "2010", + "v": "2010" + }, { + "n": "2009", + "v": "2009" + }, { + "n": "2008", + "v": "2008" + }, { + "n": "2007", + "v": "2007" + }, { + "n": "2006", + "v": "2006" + }, { + "n": "2005", + "v": "2005" + }, { + "n": "2004", + "v": "2004" + }] + }], + "3": [{ + "key": "chargeInfo", + "name": "付费类型", + "value": [{ + "n": "全部", + "v": "all" + }, { + "n": "免费", + "v": "b1" + }, { + "n": "vip", + "v": "b2" + }, { + "n": "VIP用券", + "v": "b3" + }, { + "n": "付费点播", + "v": "b4" + }] + }, { + "key": "sort", + "name": "排序", + "value": [{ + "n": "最新", + "v": "c1" + }, { + "n": "最热", + "v": "c2" + }, { + "n": "知乎高分", + "v": "c4" + }] + }, { + "key": "year", + "name": "年代", + "value": [{ + "n": "全部", + "v": "all" + }, { + "n": "2025", + "v": "2025" + }, { + "n": "2024", + "v": "2024" + }, { + "n": "2023", + "v": "2023" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }, { + "n": "2014", + "v": "2014" + }, { + "n": "2013", + "v": "2013" + }, { + "n": "2012", + "v": "2012" + }, { + "n": "2011", + "v": "2011" + }, { + "n": "2010", + "v": "2010" + }, { + "n": "2009", + "v": "2009" + }, { + "n": "2008", + "v": "2008" + }, { + "n": "2007", + "v": "2007" + }, { + "n": "2006", + "v": "2006" + }, { + "n": "2005", + "v": "2005" + }, { + "n": "2004", + "v": "2004" + }] + }], + "50": [{ + "key": "chargeInfo", + "name": "付费类型", + "value": [{ + "n": "全部", + "v": "all" + }, { + "n": "免费", + "v": "b1" + }, { + "n": "vip", + "v": "b2" + }, { + "n": "VIP用券", + "v": "b3" + }, { + "n": "付费点播", + "v": "b4" + }] + }, { + "key": "sort", + "name": "排序", + "value": [{ + "n": "最新", + "v": "c1" + }, { + "n": "最热", + "v": "c2" + }, { + "n": "知乎高分", + "v": "c4" + }] + }, { + "key": "year", + "name": "年代", + "value": [{ + "n": "全部", + "v": "all" + }, { + "n": "2025", + "v": "2025" + }, { + "n": "2024", + "v": "2024" + }, { + "n": "2023", + "v": "2023" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }, { + "n": "2014", + "v": "2014" + }, { + "n": "2013", + "v": "2013" + }, { + "n": "2012", + "v": "2012" + }, { + "n": "2011", + "v": "2011" + }, { + "n": "2010", + "v": "2010" + }, { + "n": "2009", + "v": "2009" + }, { + "n": "2008", + "v": "2008" + }, { + "n": "2007", + "v": "2007" + }, { + "n": "2006", + "v": "2006" + }, { + "n": "2005", + "v": "2005" + }, { + "n": "2004", + "v": "2004" + }] + }], + "51": [{ + "key": "chargeInfo", + "name": "付费类型", + "value": [{ + "n": "全部", + "v": "all" + }, { + "n": "免费", + "v": "b1" + }, { + "n": "vip", + "v": "b2" + }, { + "n": "VIP用券", + "v": "b3" + }, { + "n": "付费点播", + "v": "b4" + }] + }, { + "key": "sort", + "name": "排序", + "value": [{ + "n": "最新", + "v": "c1" + }, { + "n": "最热", + "v": "c2" + }, { + "n": "知乎高分", + "v": "c4" + }] + }, { + "key": "year", + "name": "年代", + "value": [{ + "n": "全部", + "v": "all" + }, { + "n": "2025", + "v": "2025" + }, { + "n": "2024", + "v": "2024" + }, { + "n": "2023", + "v": "2023" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }, { + "n": "2014", + "v": "2014" + }, { + "n": "2013", + "v": "2013" + }, { + "n": "2012", + "v": "2012" + }, { + "n": "2011", + "v": "2011" + }, { + "n": "2010", + "v": "2010" + }, { + "n": "2009", + "v": "2009" + }, { + "n": "2008", + "v": "2008" + }, { + "n": "2007", + "v": "2007" + }, { + "n": "2006", + "v": "2006" + }, { + "n": "2005", + "v": "2005" + }, { + "n": "2004", + "v": "2004" + }] + }], + "115": [{ + "key": "chargeInfo", + "name": "付费类型", + "value": [{ + "n": "全部", + "v": "all" + }, { + "n": "免费", + "v": "b1" + }, { + "n": "vip", + "v": "b2" + }, { + "n": "VIP用券", + "v": "b3" + }, { + "n": "付费点播", + "v": "b4" + }] + }, { + "key": "sort", + "name": "排序", + "value": [{ + "n": "最新", + "v": "c1" + }, { + "n": "最热", + "v": "c2" + }, { + "n": "知乎高分", + "v": "c4" + }] + }, { + "key": "year", + "name": "年代", + "value": [{ + "n": "全部", + "v": "all" + }, { + "n": "2025", + "v": "2025" + }, { + "n": "2024", + "v": "2024" + }, { + "n": "2023", + "v": "2023" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }, { + "n": "2014", + "v": "2014" + }, { + "n": "2013", + "v": "2013" + }, { + "n": "2012", + "v": "2012" + }, { + "n": "2011", + "v": "2011" + }, { + "n": "2010", + "v": "2010" + }, { + "n": "2009", + "v": "2009" + }, { + "n": "2008", + "v": "2008" + }, { + "n": "2007", + "v": "2007" + }, { + "n": "2006", + "v": "2006" + }, { + "n": "2005", + "v": "2005" + }, { + "n": "2004", + "v": "2004" + }] + }] + }, + limit: 20, + play_parse: true, + lazy: $js.toString(() => { + try { + let api = "" + input.split("?")[0]; + console.log(api); + let response = fetch(api, { + method: 'get', + headers: { + 'User-Agent': 'okhttp/3.14.9', + 'Content-Type': 'application/x-www-form-urlencoded' + } + }); + let bata = JSON.parse(response); + if (bata.url.includes("mgtv")) { + input = { + parse: 0, + url: bata.url, + jx: 0, + danmaku: "http://103.45.162.207:25252/hbdm.php?key=7894561232&id=" + input.split("?")[0] + }; + } else { + input = { + parse: 0, + url: input.split("?")[0], + jx: 1, + danmaku: "http://103.45.162.207:25252/hbdm.php?key=7894561232&id=" + input.split("?")[0] + }; + } + } catch { + input = { + parse: 0, + url: input.split("?")[0], + jx: 1, + danmaku: "http://103.45.162.207:25252/hbdm.php?key=7894561232&id=" + input.split("?")[0] + }; + } + }), + // 手动调用解析请求json的url,此lazy不方便 + // lazy:'js:print(input);fetch_params.headers["user-agent"]=MOBILE_UA;let html=request(input);let rurl=html.match(/window\\.open\\(\'(.*?)\',/)[1];rurl=urlDeal(rurl);input={parse:1,url:rurl};', + // 推荐:'.list_item;img&&alt;img&&src;a&&Text;a&&data-float', + 一级: 'json:data.hitDocs;title;img;updateInfo||rightCorner.text;playPartId', + // 一级:'json:data.hitDocs;title;img;updateInfo;playPartId', + 二级: $js.toString(() => { + fetch_params.headers.Referer = "https://www.mgtv.com"; + fetch_params.headers["User-Agent"] = MOBILE_UA; + pdfh = jsp.pdfh; + pdfa = jsp.pdfa; + pd = jsp.pd; + VOD = {}; + let d = []; + let html = request(input); + let json = JSON.parse(html); + let host = "https://www.mgtv.com"; + let ourl = json.data.list.length > 0 ? json.data.list[0].url : json.data.series[0].url; + if (!/^http/.test(ourl)) { + ourl = host + ourl + } + fetch_params.headers["User-Agent"] = MOBILE_UA; + html = request(ourl); + if (html.includes("window.location =")) { + print("开始获取ourl"); + ourl = pdfh(html, "meta[http-equiv=refresh]&&content").split("url=")[1]; + print("获取到ourl:" + ourl); + html = request(ourl) + } + try { + let details = pdfh(html, ".m-details&&Html").replace(/h1>/, "h6>").replace(/div/g, "br"); + print(details); + let actor = "", + director = "", + time = ""; + if (/播出时间/.test(details)) { + actor = pdfh(html, "p:eq(5)&&Text").substr(0, 25); + director = pdfh(html, "p:eq(4)&&Text"); + time = pdfh(html, "p:eq(3)&&Text") + } else { + actor = pdfh(html, "p:eq(4)&&Text").substr(0, 25); + director = pdfh(html, "p:eq(3)&&Text"); + time = "已完结" + } + let _img = pd(html, ".video-img&&img&&src"); + let JJ = pdfh(html, ".desc&&Text").split("简介:")[1]; + let _desc = time; + VOD.vod_name = pdfh(html, ".vt-txt&&Text"); + VOD.type_name = pdfh(html, "p:eq(0)&&Text").substr(0, 6); + VOD.vod_area = pdfh(html, "p:eq(1)&&Text"); + VOD.vod_actor = actor; + VOD.vod_director = director; + VOD.vod_remarks = _desc; + VOD.vod_pic = _img; + VOD.vod_content = JJ; + if (!VOD.vod_name) { + VOD.vod_name = VOD.type_name; + } + } catch (e) { + log("获取影片信息发生错误:" + e.message) + } + + function getRjpg(imgUrl, xs) { + xs = xs || 3; + let picSize = /jpg_/.test(imgUrl) ? imgUrl.split("jpg_")[1].split(".")[0] : false; + let rjpg = false; + if (picSize) { + let a = parseInt(picSize.split("x")[0]) * xs; + let b = parseInt(picSize.split("x")[1]) * xs; + rjpg = a + "x" + b + ".jpg" + } + let img = /jpg_/.test(imgUrl) && rjpg ? imgUrl.replace(imgUrl.split("jpg_")[1], rjpg) : imgUrl; + return img + } + + if (json.data.total === 1 && json.data.list.length === 1) { + let data = json.data.list[0]; + let url = "https://www.mgtv.com" + data.url; + d.push({ + title: data.t4, + desc: data.t2, + pic_url: getRjpg(data.img), + url: url + }) + } else if (json.data.list.length > 1) { + for (let i = 1; i <= json.data.total_page; i++) { + if (i > 1) { + json = JSON.parse(fetch(input.replace("page=1", "page=" + i), {})) + } + json.data.list.forEach(function(data) { + let url = "https://www.mgtv.com" + data.url; + if (data.isIntact == "1") { + d.push({ + title: data.t4, + desc: data.t2, + pic_url: getRjpg(data.img), + url: url + }) + } + }) + } + } else { + print(input + "暂无片源") + } + VOD.vod_play_from = "mgtv"; + VOD.vod_play_url = d.map(function(it) { + return it.title + "$" + it.url + }).join("#"); + setResult(d); + }), + + 搜索: $js.toString(() => { + fetch_params.headers.Referer = "https://www.mgtv.com"; + fetch_params.headers["User-Agent"] = MOBILE_UA; + let d = []; + let html = request(input); + let json = JSON.parse(html); + json.data.contents.forEach(function(data) { + if (data.type && data.type == 'media') { + let item = data.data[0]; + let desc = item.desc.join(','); + let fyclass = ''; + if (item.source === "imgo") { + let img = item.img ? item.img : ''; + try { + fyclass = item.rpt.match(/idx=(.*?)&/)[1] + '$'; + } catch (e) { + log(e.message); + fyclass = ''; + } + log(fyclass); + d.push({ + title: item.title.replace(/|<\/B>/g, ''), + img: img, + content: '', + desc: desc, + url: fyclass + item.url.match(/.*\/(.*?)\.html/)[1] + }) + } + } + }); + setResult(d); + }), +} \ No newline at end of file diff --git a/xiaosa/js/花子动漫.js b/xiaosa/js/花子动漫.js new file mode 100644 index 00000000..f669f440 --- /dev/null +++ b/xiaosa/js/花子动漫.js @@ -0,0 +1,970 @@ +var rule = { + title: '花子动漫[漫]', + host: 'https://www.huazidm.com', + class_name: 'TV动漫&剧场&特摄', + class_url: '1&2&3', + searchUrl: '/index.php/ajax/suggest?mid=1&wd=**&limit=50', + searchUrl: '/vodsearch/**----------fypage---.html', + searchable: 2, + quickSearch: 0, + headers: { + 'User-Agent': 'MOBILE_UA', + }, + url: '/index.php/api/vod#type=fyclassfyfilter&page=fypage', + filterable: 0, + filter_url: '&class={{fl.class}}&year={{fl.year}}&letter={{fl.letter}}&by={{fl.by}}', + filter: { + "1": [{ + "key": "class", + "name": "类型", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "异世界", + "v": "异世界" + }, { + "n": "百合", + "v": "百合" + }, { + "n": "后宫", + "v": "后宫" + }, { + "n": "热血", + "v": "热血" + }, { + "n": "纯爱", + "v": "纯爱" + }, { + "n": "穿越", + "v": "穿越" + }, { + "n": "奇幻", + "v": "奇幻" + }, { + "n": "战斗", + "v": "战斗" + }, { + "n": "后宫", + "v": "后宫" + }, { + "n": "搞笑", + "v": "搞笑" + }, { + "n": "日常", + "v": "日常" + }, { + "n": "科幻", + "v": "科幻" + }, { + "n": "治愈", + "v": "治愈" + }, { + "n": "校园", + "v": "校园" + }, { + "n": "恋爱", + "v": "恋爱" + }, { + "n": "冒险", + "v": "冒险" + }, { + "n": "推理", + "v": "推理" + }, { + "n": "机战", + "v": "机战" + }, { + "n": "音乐", + "v": "音乐" + }, { + "n": "萝莉", + "v": "萝莉" + }, { + "n": "恐怖", + "v": "恐怖" + }, { + "n": "惊悚", + "v": "惊悚" + }, { + "n": "泡面番", + "v": "泡面番" + }, { + "n": "游戏改", + "v": "游戏改" + }, { + "n": "小说改", + "v": "小说改" + }, { + "n": "漫画改", + "v": "漫画改" + }, { + "n": "腐", + "v": "腐" + }] + }, { + "key": "year", + "name": "年份", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2025", + "v": "2025" + }, { + "n": "2024", + "v": "2024" + }, { + "n": "2023", + "v": "2023" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }, { + "n": "2014", + "v": "2014" + }, { + "n": "2013", + "v": "2013" + }, { + "n": "2012", + "v": "2012" + }, { + "n": "2011", + "v": "2011" + }, { + "n": "2010", + "v": "2010" + }, { + "n": "2009", + "v": "2009" + }, { + "n": "2008", + "v": "2008" + }, { + "n": "2007", + "v": "2007" + }, { + "n": "2006", + "v": "2006" + }, { + "n": "2005", + "v": "2005" + }, { + "n": "2004", + "v": "2004" + }, { + "n": "2003", + "v": "2003" + }, { + "n": "2002", + "v": "2002" + }, { + "n": "2001", + "v": "2001" + }, { + "n": "2000", + "v": "2000" + }, { + "n": "1999", + "v": "1999" + }, { + "n": "1998", + "v": "1998" + }, { + "n": "1997", + "v": "1997" + }, { + "n": "1996", + "v": "1996" + }, { + "n": "1995", + "v": "1995" + }, { + "n": "1994", + "v": "1994" + }, { + "n": "1993", + "v": "1993" + }, { + "n": "1992", + "v": "1992" + }, { + "n": "1991", + "v": "1991" + }, { + "n": "1990", + "v": "1990" + }, { + "n": "1989", + "v": "1989" + }, { + "n": "1988", + "v": "1988" + }, { + "n": "1987", + "v": "1987" + }, { + "n": "1986", + "v": "1986" + }, { + "n": "1985", + "v": "1985" + }, { + "n": "1984", + "v": "1984" + }, { + "n": "1983", + "v": "1983" + }, { + "n": "1982", + "v": "1982" + }, { + "n": "1981", + "v": "1981" + }, { + "n": "1980", + "v": "1980" + }] + }, { + "key": "letter", + "name": "字母", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "A", + "v": "A" + }, { + "n": "B", + "v": "B" + }, { + "n": "C", + "v": "C" + }, { + "n": "D", + "v": "D" + }, { + "n": "E", + "v": "E" + }, { + "n": "F", + "v": "F" + }, { + "n": "G", + "v": "G" + }, { + "n": "H", + "v": "H" + }, { + "n": "I", + "v": "I" + }, { + "n": "J", + "v": "J" + }, { + "n": "K", + "v": "K" + }, { + "n": "L", + "v": "L" + }, { + "n": "M", + "v": "M" + }, { + "n": "N", + "v": "N" + }, { + "n": "O", + "v": "O" + }, { + "n": "P", + "v": "P" + }, { + "n": "Q", + "v": "Q" + }, { + "n": "R", + "v": "R" + }, { + "n": "S", + "v": "S" + }, { + "n": "T", + "v": "T" + }, { + "n": "U", + "v": "U" + }, { + "n": "V", + "v": "V" + }, { + "n": "W", + "v": "W" + }, { + "n": "X", + "v": "X" + }, { + "n": "Y", + "v": "Y" + }, { + "n": "Z", + "v": "Z" + }, { + "n": "0-9", + "v": "0-9" + }] + }, { + "key": "by", + "name": "时间", + "value": [{ + "n": "按最新", + "v": "time" + }, { + "n": "按最热", + "v": "hits" + }, { + "n": "按评分", + "v": "score" + }] + }], + "2": [{ + "key": "class", + "name": "类型", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "异世界", + "v": "异世界" + }, { + "n": "百合", + "v": "百合" + }, { + "n": "热血", + "v": "热血" + }, { + "n": "穿越", + "v": "穿越" + }, { + "n": "奇幻", + "v": "奇幻" + }, { + "n": "战斗", + "v": "战斗" + }, { + "n": "搞笑", + "v": "搞笑" + }, { + "n": "日常", + "v": "日常" + }, { + "n": "科幻", + "v": "科幻" + }, { + "n": "治愈", + "v": "治愈" + }, { + "n": "校园", + "v": "校园" + }, { + "n": "恋爱", + "v": "恋爱" + }, { + "n": "冒险", + "v": "冒险" + }, { + "n": "机战", + "v": "机战" + }, { + "n": "音乐", + "v": "音乐" + }] + }, { + "key": "year", + "name": "年份", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2025", + "v": "2025" + }, { + "n": "2024", + "v": "2024" + }, { + "n": "2023", + "v": "2023" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }, { + "n": "2014", + "v": "2014" + }, { + "n": "2013", + "v": "2013" + }, { + "n": "2012", + "v": "2012" + }, { + "n": "2011", + "v": "2011" + }, { + "n": "2010", + "v": "2010" + }, { + "n": "2009", + "v": "2009" + }, { + "n": "2008", + "v": "2008" + }, { + "n": "2007", + "v": "2007" + }, { + "n": "2006", + "v": "2006" + }, { + "n": "2005", + "v": "2005" + }, { + "n": "2004", + "v": "2004" + }, { + "n": "2003", + "v": "2003" + }, { + "n": "2002", + "v": "2002" + }, { + "n": "2001", + "v": "2001" + }, { + "n": "2000", + "v": "2000" + }, { + "n": "1999", + "v": "1999" + }, { + "n": "1998", + "v": "1998" + }, { + "n": "1997", + "v": "1997" + }, { + "n": "1996", + "v": "1996" + }, { + "n": "1995", + "v": "1995" + }, { + "n": "1994", + "v": "1994" + }, { + "n": "1993", + "v": "1993" + }, { + "n": "1992", + "v": "1992" + }, { + "n": "1991", + "v": "1991" + }, { + "n": "1990", + "v": "1990" + }, { + "n": "1989", + "v": "1989" + }, { + "n": "1988", + "v": "1988" + }, { + "n": "1987", + "v": "1987" + }, { + "n": "1986", + "v": "1986" + }, { + "n": "1985", + "v": "1985" + }, { + "n": "1984", + "v": "1984" + }, { + "n": "1983", + "v": "1983" + }, { + "n": "1982", + "v": "1982" + }, { + "n": "1981", + "v": "1981" + }, { + "n": "1980", + "v": "1980" + }] + }, { + "key": "letter", + "name": "字母", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "A", + "v": "A" + }, { + "n": "B", + "v": "B" + }, { + "n": "C", + "v": "C" + }, { + "n": "D", + "v": "D" + }, { + "n": "E", + "v": "E" + }, { + "n": "F", + "v": "F" + }, { + "n": "G", + "v": "G" + }, { + "n": "H", + "v": "H" + }, { + "n": "I", + "v": "I" + }, { + "n": "J", + "v": "J" + }, { + "n": "K", + "v": "K" + }, { + "n": "L", + "v": "L" + }, { + "n": "M", + "v": "M" + }, { + "n": "N", + "v": "N" + }, { + "n": "O", + "v": "O" + }, { + "n": "P", + "v": "P" + }, { + "n": "Q", + "v": "Q" + }, { + "n": "R", + "v": "R" + }, { + "n": "S", + "v": "S" + }, { + "n": "T", + "v": "T" + }, { + "n": "U", + "v": "U" + }, { + "n": "V", + "v": "V" + }, { + "n": "W", + "v": "W" + }, { + "n": "X", + "v": "X" + }, { + "n": "Y", + "v": "Y" + }, { + "n": "Z", + "v": "Z" + }, { + "n": "0-9", + "v": "0-9" + }] + }, { + "key": "by", + "name": "时间", + "value": [{ + "n": "按最新", + "v": "time" + }, { + "n": "按最热", + "v": "hits" + }, { + "n": "按评分", + "v": "score" + }] + }], + "3": [{ + "key": "class", + "name": "类型", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "动作", + "v": "动作" + }, { + "n": "奇幻", + "v": "奇幻" + }, { + "n": "科幻", + "v": "科幻" + }] + }, { + "key": "year", + "name": "年份", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2025", + "v": "2025" + }, { + "n": "2024", + "v": "2024" + }, { + "n": "2023", + "v": "2023" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }, { + "n": "2014", + "v": "2014" + }, { + "n": "2013", + "v": "2013" + }, { + "n": "2012", + "v": "2012" + }, { + "n": "2011", + "v": "2011" + }, { + "n": "2010", + "v": "2010" + }, { + "n": "2009", + "v": "2009" + }, { + "n": "2008", + "v": "2008" + }, { + "n": "2007", + "v": "2007" + }, { + "n": "2006", + "v": "2006" + }, { + "n": "2005", + "v": "2005" + }, { + "n": "2004", + "v": "2004" + }, { + "n": "2003", + "v": "2003" + }, { + "n": "2002", + "v": "2002" + }, { + "n": "2001", + "v": "2001" + }, { + "n": "2000", + "v": "2000" + }, { + "n": "1999", + "v": "1999" + }, { + "n": "1998", + "v": "1998" + }, { + "n": "1997", + "v": "1997" + }, { + "n": "1996", + "v": "1996" + }, { + "n": "1995", + "v": "1995" + }, { + "n": "1994", + "v": "1994" + }, { + "n": "1993", + "v": "1993" + }, { + "n": "1992", + "v": "1992" + }, { + "n": "1991", + "v": "1991" + }, { + "n": "1990", + "v": "1990" + }, { + "n": "1989", + "v": "1989" + }, { + "n": "1988", + "v": "1988" + }, { + "n": "1987", + "v": "1987" + }, { + "n": "1986", + "v": "1986" + }, { + "n": "1985", + "v": "1985" + }, { + "n": "1984", + "v": "1984" + }, { + "n": "1983", + "v": "1983" + }, { + "n": "1982", + "v": "1982" + }, { + "n": "1981", + "v": "1981" + }, { + "n": "1980", + "v": "1980" + }] + }, { + "key": "letter", + "name": "字母", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "A", + "v": "A" + }, { + "n": "B", + "v": "B" + }, { + "n": "C", + "v": "C" + }, { + "n": "D", + "v": "D" + }, { + "n": "E", + "v": "E" + }, { + "n": "F", + "v": "F" + }, { + "n": "G", + "v": "G" + }, { + "n": "H", + "v": "H" + }, { + "n": "I", + "v": "I" + }, { + "n": "J", + "v": "J" + }, { + "n": "K", + "v": "K" + }, { + "n": "L", + "v": "L" + }, { + "n": "M", + "v": "M" + }, { + "n": "N", + "v": "N" + }, { + "n": "O", + "v": "O" + }, { + "n": "P", + "v": "P" + }, { + "n": "Q", + "v": "Q" + }, { + "n": "R", + "v": "R" + }, { + "n": "S", + "v": "S" + }, { + "n": "T", + "v": "T" + }, { + "n": "U", + "v": "U" + }, { + "n": "V", + "v": "V" + }, { + "n": "W", + "v": "W" + }, { + "n": "X", + "v": "X" + }, { + "n": "Y", + "v": "Y" + }, { + "n": "Z", + "v": "Z" + }, { + "n": "0-9", + "v": "0-9" + }] + }, { + "key": "by", + "name": "时间", + "value": [{ + "n": "按最新", + "v": "time" + }, { + "n": "按最热", + "v": "hits" + }, { + "n": "按评分", + "v": "score" + }] + }] + }, + filter_def: {}, + detailUrl: '/voddetail/fyid.html', + play_parse: true, + sniffer: 1, + is_video: 'obj/tos|bd.xhscdn|/ugc/', + lazy: $js.toString(() => { + input = { + parse: 1, + url: input, + //js:'try{let urls=Array.from(document.querySelectorAll("iframe")).filter(x=>x.src.includes("?url="));if(urls){location.href=urls[0].src}}catch{}document.querySelector("button").click()', + js: 'try{location.href=document.querySelector("#playleft iframe").src}catch{}document.querySelector("button.swal-button--confirm").click()', + parse_extra: '&is_pc=1&custom_regex=' + rule.is_video, + } + }), + limit: 6, + 推荐: '.list-vod.flex .public-list-box;a&&title;.lazy&&data-original;.public-list-prb&&Text;a&&href', + 一级: $js.toString(() => { + 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(3)--strong&&Text', + img: '.detail-pic&&data-original', + desc: '.fraction&&Text;.slide-info-remarks:eq(1)&&Text;.slide-info-remarks:eq(2)&&Text;.slide-info:eq(2)--strong&&Text;.slide-info:eq(1)--strong&&Text', + content: '#height_limit&&Text', + tabs: '.anthology.wow.fadeInUp.animated&&.swiper-wrapper&&a', + tab_text: '.swiper-slide&&Text', + lists: '.anthology-list-box:eq(#id) li', + }, + 搜索: 'json:list;name;pic;;id', + 搜索: $js.toString(() => { + let html = fetch(input); + let list = pdfa(html, ".public-list-box"); + VODS = list.map(x => { + return { + vod_name: pdfh(x, ".thumb-txt&&Text"), + vod_pic: pdfh(x, ".lazy&&data-src"), + vod_remarks: pdfh(x, ".public-list-prb&&Text"), + vod_content: pdfh(x, ".thumb-blurb&&Text"), + vod_id: pdfh(x, "a&&href") + } + }); + }), + 图片替换: '&=>&' +} \ No newline at end of file diff --git a/xiaosa/js/茶杯狐.js b/xiaosa/js/茶杯狐.js new file mode 100644 index 00000000..17c76eb5 --- /dev/null +++ b/xiaosa/js/茶杯狐.js @@ -0,0 +1,1512 @@ +/** + * 原创诺临风 + * 原创时间:2024-05-07 + * 转载请不要删除此版权声明 + */ + + +var rule = { + title: "新茶杯狐", + host: "https://www.cbhfox.com/", + url: "/chbys/fyfilter.html", + searchable: 2, + quickSearch: 0, + filterable: 1, + detailUrl: "/cbhtv/fyid.html", + homeUrl: "/label/hot.html", + filter_url: "{{fl.cateId}}{{fl.area}}{{fl.by}}{{fl.class}}{{fl.lang}}{{fl.letter}}/page/fypage{{fl.year}}", + filter: { + "dianying": [{ + "key": "class", + "name": "剧情", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "喜剧", + "v": "/class/喜剧" + }, { + "n": "爱情", + "v": "/class/爱情" + }, { + "n": "恐怖", + "v": "/class/恐怖" + }, { + "n": "动作", + "v": "/class/动作" + }, { + "n": "科幻", + "v": "/class/科幻" + }, { + "n": "剧情", + "v": "/class/剧情" + }, { + "n": "战争", + "v": "/class/战争" + }, { + "n": "警匪", + "v": "/class/警匪" + }, { + "n": "犯罪", + "v": "/class/犯罪" + }, { + "n": "动画", + "v": "/class/动画" + }, { + "n": "奇幻", + "v": "/class/奇幻" + }, { + "n": "武侠", + "v": "/class/武侠" + }, { + "n": "冒险", + "v": "/class/冒险" + }, { + "n": "枪战", + "v": "/class/枪战" + }, { + "n": "恐怖", + "v": "/class/恐怖" + }, { + "n": "悬疑", + "v": "/class/悬疑" + }, { + "n": "惊悚", + "v": "/class/惊悚" + }, { + "n": "经典", + "v": "/class/经典" + }, { + "n": "青春", + "v": "/class/青春" + }, { + "n": "文艺", + "v": "/class/文艺" + }, { + "n": "微电影", + "v": "/class/微电影" + }, { + "n": "古装", + "v": "/class/古装" + }, { + "n": "历史", + "v": "/class/历史" + }, { + "n": "运动", + "v": "/class/运动" + }, { + "n": "农村", + "v": "/class/农村" + }, { + "n": "儿童", + "v": "/class/儿童" + }, { + "n": "网络电影", + "v": "/class/网络电影" + }] + }, { + "key": "area", + "name": "地区", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "大陆", + "v": "/area/中国大陆" + }, { + "n": "香港", + "v": "/area/中国香港" + }, { + "n": "台湾", + "v": "/area/中国台湾" + }, { + "n": "美国", + "v": "/area/美国" + }, { + "n": "韩国", + "v": "/area/韩国" + }, { + "n": "英国", + "v": "/area/英国" + }, { + "n": "日本", + "v": "/area/日本" + }, { + "n": "德国", + "v": "/area/德国" + }, { + "n": "泰国", + "v": "/area/泰国" + }, { + "n": "印度", + "v": "/area/印度" + }, { + "n": "法国", + "v": "/area/法国" + }, { + "n": "意大利", + "v": "/area/意大利" + }, { + "n": "西班牙", + "v": "/area/西班牙" + }, { + "n": "加拿大", + "v": "/area/加拿大" + }, { + "n": "其他", + "v": "/area/其他" + }] + }, { + "key": "lang", + "name": "语言", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "国语", + "v": "/lang/国语" + }, { + "n": "英语", + "v": "/lang/英语" + }, { + "n": "粤语", + "v": "/lang/粤语" + }, { + "n": "闽南语", + "v": "/lang/闽南语" + }, { + "n": "韩语", + "v": "/lang/韩语" + }, { + "n": "日语", + "v": "/lang/日语" + }, { + "n": "法语", + "v": "/lang/法语" + }, { + "n": "德语", + "v": "/lang/德语" + }, { + "n": "其它", + "v": "/lang/其它" + }] + }, { + "key": "year", + "name": "年份", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2025", + "v": "/year/2025" + }, { + "n": "2024", + "v": "/year/2024" + }, { + "n": "2023", + "v": "/year/2023" + }, { + "n": "2022", + "v": "/year/2022" + }, { + "n": "2021", + "v": "/year/2021" + }, { + "n": "2020", + "v": "/year/2020" + }, { + "n": "2019", + "v": "/year/2019" + }, { + "n": "2018", + "v": "/year/2018" + }, { + "n": "2017", + "v": "/year/2017" + }, { + "n": "2016", + "v": "/year/2016" + }, { + "n": "2015", + "v": "/year/2015" + }, { + "n": "2014", + "v": "/year/2014" + }, { + "n": "2013", + "v": "/year/2013" + }, { + "n": "2012", + "v": "/year/2012" + }, { + "n": "2011", + "v": "/year/2011" + }, { + "n": "2010", + "v": "/year/2010" + }, { + "n": "2009", + "v": "/year/2009" + }, { + "n": "2008", + "v": "/year/2008" + }, { + "n": "2006", + "v": "/year/2006" + }, { + "n": "2005", + "v": "/year/2005" + }, { + "n": "2004", + "v": "/year/2004" + }] + }, { + "key": "letter", + "name": "字母", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "A", + "v": "/letter/A" + }, { + "n": "B", + "v": "/letter/B" + }, { + "n": "C", + "v": "/letter/C" + }, { + "n": "D", + "v": "/letter/D" + }, { + "n": "E", + "v": "/letter/E" + }, { + "n": "F", + "v": "/letter/F" + }, { + "n": "G", + "v": "/letter/G" + }, { + "n": "H", + "v": "/letter/H" + }, { + "n": "I", + "v": "/letter/I" + }, { + "n": "J", + "v": "/letter/J" + }, { + "n": "K", + "v": "/letter/K" + }, { + "n": "L", + "v": "/letter/L" + }, { + "n": "M", + "v": "/letter/M" + }, { + "n": "N", + "v": "/letter/N" + }, { + "n": "O", + "v": "/letter/O" + }, { + "n": "P", + "v": "/letter/P" + }, { + "n": "Q", + "v": "/letter/Q" + }, { + "n": "R", + "v": "/letter/R" + }, { + "n": "S", + "v": "/letter/S" + }, { + "n": "T", + "v": "/letter/T" + }, { + "n": "U", + "v": "/letter/U" + }, { + "n": "V", + "v": "/letter/V" + }, { + "n": "W", + "v": "/letter/W" + }, { + "n": "X", + "v": "/letter/X" + }, { + "n": "Y", + "v": "/letter/Y" + }, { + "n": "Z", + "v": "/letter/Z" + }, { + "n": "0-9", + "v": "/letter/0-9" + }] + }, { + "key": "by", + "name": "排序", + "value": [{ + "n": "时间", + "v": "/by/time" + }, { + "n": "人气", + "v": "/by/hits" + }, { + "n": "评分", + "v": "/by/score" + }] + }], + "dianshiju": [{ + "key": "class", + "name": "剧情", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "古装", + "v": "/class/古装" + }, { + "n": "战争", + "v": "/class/战争" + }, { + "n": "青春偶像", + "v": "/class/青春偶像" + }, { + "n": "喜剧", + "v": "/class/喜剧" + }, { + "n": "家庭", + "v": "/class/家庭" + }, { + "n": "犯罪", + "v": "/class/犯罪" + }, { + "n": "动作", + "v": "/class/动作" + }, { + "n": "奇幻", + "v": "/class/奇幻" + }, { + "n": "剧情", + "v": "/class/剧情" + }, { + "n": "历史", + "v": "/class/历史" + }, { + "n": "经典", + "v": "/class/经典" + }, { + "n": "乡村", + "v": "/class/乡村" + }, { + "n": "情景", + "v": "/class/情景" + }, { + "n": "商战", + "v": "/class/商战" + }, { + "n": "网剧", + "v": "/class/网剧" + }, { + "n": "其他", + "v": "/class/其他" + }] + }, { + "key": "area", + "name": "地区", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "内地", + "v": "/area/内地" + }, { + "n": "韩国", + "v": "/area/韩国" + }, { + "n": "香港", + "v": "/area/香港" + }, { + "n": "台湾", + "v": "/area/台湾" + }, { + "n": "日本", + "v": "/area/日本" + }, { + "n": "美国", + "v": "/area/美国" + }, { + "n": "泰国", + "v": "/area/泰国" + }, { + "n": "英国", + "v": "/area/英国" + }, { + "n": "新加坡", + "v": "/area/新加坡" + }, { + "n": "其他", + "v": "/area/其他" + }] + }, { + "key": "lang", + "name": "语言", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "国语", + "v": "/lang/国语" + }, { + "n": "英语", + "v": "/lang/英语" + }, { + "n": "粤语", + "v": "/lang/粤语" + }, { + "n": "闽南语", + "v": "/lang/闽南语" + }, { + "n": "韩语", + "v": "/lang/韩语" + }, { + "n": "日语", + "v": "/lang/日语" + }, { + "n": "其它", + "v": "/lang/其它" + }] + }, { + "key": "year", + "name": "年份", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2025", + "v": "/year/2025" + }, { + "n": "2024", + "v": "/year/2024" + }, { + "n": "2023", + "v": "/year/2023" + }, { + "n": "2022", + "v": "/year/2022" + }, { + "n": "2021", + "v": "/year/2021" + }, { + "n": "2020", + "v": "/year/2020" + }, { + "n": "2019", + "v": "/year/2019" + }, { + "n": "2018", + "v": "/year/2018" + }, { + "n": "2017", + "v": "/year/2017" + }, { + "n": "2016", + "v": "/year/2016" + }, { + "n": "2015", + "v": "/year/2015" + }, { + "n": "2014", + "v": "/year/2014" + }, { + "n": "2013", + "v": "/year/2013" + }, { + "n": "2012", + "v": "/year/2012" + }, { + "n": "2011", + "v": "/year/2011" + }, { + "n": "2010", + "v": "/year/2010" + }, { + "n": "2009", + "v": "/year/2009" + }, { + "n": "2008", + "v": "/year/2008" + }, { + "n": "2006", + "v": "/year/2006" + }, { + "n": "2005", + "v": "/year/2005" + }, { + "n": "2004", + "v": "/year/2004" + }] + }, { + "key": "letter", + "name": "字母", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "A", + "v": "/letter/A" + }, { + "n": "B", + "v": "/letter/B" + }, { + "n": "C", + "v": "/letter/C" + }, { + "n": "D", + "v": "/letter/D" + }, { + "n": "E", + "v": "/letter/E" + }, { + "n": "F", + "v": "/letter/F" + }, { + "n": "G", + "v": "/letter/G" + }, { + "n": "H", + "v": "/letter/H" + }, { + "n": "I", + "v": "/letter/I" + }, { + "n": "J", + "v": "/letter/J" + }, { + "n": "K", + "v": "/letter/K" + }, { + "n": "L", + "v": "/letter/L" + }, { + "n": "M", + "v": "/letter/M" + }, { + "n": "N", + "v": "/letter/N" + }, { + "n": "O", + "v": "/letter/O" + }, { + "n": "P", + "v": "/letter/P" + }, { + "n": "Q", + "v": "/letter/Q" + }, { + "n": "R", + "v": "/letter/R" + }, { + "n": "S", + "v": "/letter/S" + }, { + "n": "T", + "v": "/letter/T" + }, { + "n": "U", + "v": "/letter/U" + }, { + "n": "V", + "v": "/letter/V" + }, { + "n": "W", + "v": "/letter/W" + }, { + "n": "X", + "v": "/letter/X" + }, { + "n": "Y", + "v": "/letter/Y" + }, { + "n": "Z", + "v": "/letter/Z" + }, { + "n": "0-9", + "v": "/letter/0-9" + }] + }, { + "key": "by", + "name": "排序", + "value": [{ + "n": "时间", + "v": "/by/time" + }, { + "n": "人气", + "v": "/by/hits" + }, { + "n": "评分", + "v": "/by/score" + }] + }], + "zongyi": [{ + "key": "class", + "name": "剧情", + "value": [{ + "n": "全部", + "v": "3" + }, { + "n": "选秀", + "v": "/class/选秀" + }, { + "n": "情感", + "v": "/class/情感" + }, { + "n": "访谈", + "v": "/class/访谈" + }, { + "n": "播报", + "v": "/class/播报" + }, { + "n": "旅游", + "v": "/class/旅游" + }, { + "n": "音乐", + "v": "/class/音乐" + }, { + "n": "美食", + "v": "/class/美食" + }, { + "n": "纪实", + "v": "/class/纪实" + }, { + "n": "曲艺", + "v": "/class/曲艺" + }, { + "n": "生活", + "v": "/class/生活" + }, { + "n": "游戏互动", + "v": "/class/游戏互动" + }, { + "n": "财经", + "v": "/class/财经" + }, { + "n": "求职", + "v": "/class/求职" + }] + }, { + "key": "area", + "name": "地区", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "内地", + "v": "/area/内地" + }, { + "n": "港台", + "v": "/area/港台" + }, { + "n": "日韩", + "v": "/area/日韩" + }, { + "n": "欧美", + "v": "/area/欧美" + }] + }, { + "key": "lang", + "name": "语言", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "国语", + "v": "/lang/国语" + }, { + "n": "英语", + "v": "/lang/英语" + }, { + "n": "粤语", + "v": "/lang/粤语" + }, { + "n": "闽南语", + "v": "/lang/闽南语" + }, { + "n": "韩语", + "v": "/lang/韩语" + }, { + "n": "日语", + "v": "/lang/日语" + }, { + "n": "其它", + "v": "/lang/其它" + }] + }, { + "key": "year", + "name": "年份", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2025", + "v": "/year/2025" + }, { + "n": "2024", + "v": "/year/2024" + }, { + "n": "2023", + "v": "/year/2023" + }, { + "n": "2022", + "v": "/year/2022" + }, { + "n": "2021", + "v": "/year/2021" + }, { + "n": "2020", + "v": "/year/2020" + }, { + "n": "2019", + "v": "/year/2019" + }, { + "n": "2018", + "v": "/year/2018" + }, { + "n": "2017", + "v": "/year/2017" + }, { + "n": "2016", + "v": "/year/2016" + }, { + "n": "2015", + "v": "/year/2015" + }, { + "n": "2014", + "v": "/year/2014" + }, { + "n": "2013", + "v": "/year/2013" + }, { + "n": "2012", + "v": "/year/2012" + }, { + "n": "2011", + "v": "/year/2011" + }, { + "n": "2010", + "v": "/year/2010" + }, { + "n": "2009", + "v": "/year/2009" + }, { + "n": "2008", + "v": "/year/2008" + }, { + "n": "2006", + "v": "/year/2006" + }, { + "n": "2005", + "v": "/year/2005" + }, { + "n": "2004", + "v": "/year/2004" + }] + }, { + "key": "letter", + "name": "字母", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "A", + "v": "/letter/A" + }, { + "n": "B", + "v": "/letter/B" + }, { + "n": "C", + "v": "/letter/C" + }, { + "n": "D", + "v": "/letter/D" + }, { + "n": "E", + "v": "/letter/E" + }, { + "n": "F", + "v": "/letter/F" + }, { + "n": "G", + "v": "/letter/G" + }, { + "n": "H", + "v": "/letter/H" + }, { + "n": "I", + "v": "/letter/I" + }, { + "n": "J", + "v": "/letter/J" + }, { + "n": "K", + "v": "/letter/K" + }, { + "n": "L", + "v": "/letter/L" + }, { + "n": "M", + "v": "/letter/M" + }, { + "n": "N", + "v": "/letter/N" + }, { + "n": "O", + "v": "/letter/O" + }, { + "n": "P", + "v": "/letter/P" + }, { + "n": "Q", + "v": "/letter/Q" + }, { + "n": "R", + "v": "/letter/R" + }, { + "n": "S", + "v": "/letter/S" + }, { + "n": "T", + "v": "/letter/T" + }, { + "n": "U", + "v": "/letter/U" + }, { + "n": "V", + "v": "/letter/V" + }, { + "n": "W", + "v": "/letter/W" + }, { + "n": "X", + "v": "/letter/X" + }, { + "n": "Y", + "v": "/letter/Y" + }, { + "n": "Z", + "v": "/letter/Z" + }, { + "n": "0-9", + "v": "/letter/0-9" + }] + }, { + "key": "by", + "name": "排序", + "value": [{ + "n": "时间", + "v": "/by/time" + }, { + "n": "人气", + "v": "/by/hits" + }, { + "n": "评分", + "v": "/by/score" + }] + }], + "dongmna": [{ + "key": "area", + "name": "地区", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "内地", + "v": "/area/内地" + }, { + "n": "港台", + "v": "/area/港台" + }, { + "n": "日韩", + "v": "/area/日韩" + }, { + "n": "欧美", + "v": "/area/欧美" + }] + }, { + "key": "lang", + "name": "语言", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "国语", + "v": "/lang/国语" + }, { + "n": "英语", + "v": "/lang/英语" + }, { + "n": "粤语", + "v": "/lang/粤语" + }, { + "n": "闽南语", + "v": "/lang/闽南语" + }, { + "n": "韩语", + "v": "/lang/韩语" + }, { + "n": "日语", + "v": "/lang/日语" + }, { + "n": "其它", + "v": "/lang/其它" + }] + }, { + "key": "year", + "name": "年份", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2025", + "v": "/year/2025" + }, { + "n": "2024", + "v": "/year/2024" + }, { + "n": "2023", + "v": "/year/2023" + }, { + "n": "2022", + "v": "/year/2022" + }, { + "n": "2021", + "v": "/year/2021" + }, { + "n": "2020", + "v": "/year/2020" + }, { + "n": "2019", + "v": "/year/2019" + }, { + "n": "2018", + "v": "/year/2018" + }, { + "n": "2017", + "v": "/year/2017" + }, { + "n": "2016", + "v": "/year/2016" + }, { + "n": "2015", + "v": "/year/2015" + }, { + "n": "2014", + "v": "/year/2014" + }, { + "n": "2013", + "v": "/year/2013" + }, { + "n": "2012", + "v": "/year/2012" + }, { + "n": "2011", + "v": "/year/2011" + }, { + "n": "2010", + "v": "/year/2010" + }, { + "n": "2009", + "v": "/year/2009" + }, { + "n": "2008", + "v": "/year/2008" + }, { + "n": "2006", + "v": "/year/2006" + }, { + "n": "2005", + "v": "/year/2005" + }, { + "n": "2004", + "v": "/year/2004" + }] + }, { + "key": "letter", + "name": "字母", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "A", + "v": "/letter/A" + }, { + "n": "B", + "v": "/letter/B" + }, { + "n": "C", + "v": "/letter/C" + }, { + "n": "D", + "v": "/letter/D" + }, { + "n": "E", + "v": "/letter/E" + }, { + "n": "F", + "v": "/letter/F" + }, { + "n": "G", + "v": "/letter/G" + }, { + "n": "H", + "v": "/letter/H" + }, { + "n": "I", + "v": "/letter/I" + }, { + "n": "J", + "v": "/letter/J" + }, { + "n": "K", + "v": "/letter/K" + }, { + "n": "L", + "v": "/letter/L" + }, { + "n": "M", + "v": "/letter/M" + }, { + "n": "N", + "v": "/letter/N" + }, { + "n": "O", + "v": "/letter/O" + }, { + "n": "P", + "v": "/letter/P" + }, { + "n": "Q", + "v": "/letter/Q" + }, { + "n": "R", + "v": "/letter/R" + }, { + "n": "S", + "v": "/letter/S" + }, { + "n": "T", + "v": "/letter/T" + }, { + "n": "U", + "v": "/letter/U" + }, { + "n": "V", + "v": "/letter/V" + }, { + "n": "W", + "v": "/letter/W" + }, { + "n": "X", + "v": "/letter/X" + }, { + "n": "Y", + "v": "/letter/Y" + }, { + "n": "Z", + "v": "/letter/Z" + }, { + "n": "0-9", + "v": "/letter/0-9" + }] + }, { + "key": "by", + "name": "排序", + "value": [{ + "n": "时间", + "v": "/by/time" + }, { + "n": "人气", + "v": "/by/hits" + }, { + "n": "评分", + "v": "/by/score" + }] + }], + "jilupian": [{ + "key": "area", + "name": "地区", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "内地", + "v": "/area/内地" + }, { + "n": "港台", + "v": "/area/港台" + }, { + "n": "日韩", + "v": "/area/日韩" + }, { + "n": "欧美", + "v": "/area/欧美" + }] + }, { + "key": "lang", + "name": "语言", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "国语", + "v": "/lang/国语" + }, { + "n": "英语", + "v": "/lang/英语" + }, { + "n": "粤语", + "v": "/lang/粤语" + }, { + "n": "闽南语", + "v": "/lang/闽南语" + }, { + "n": "韩语", + "v": "/lang/韩语" + }, { + "n": "日语", + "v": "/lang/日语" + }, { + "n": "其它", + "v": "/lang/其它" + }] + }, { + "key": "year", + "name": "年份", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2025", + "v": "/year/2025" + }, { + "n": "2024", + "v": "/year/2024" + }, { + "n": "2023", + "v": "/year/2023" + }, { + "n": "2022", + "v": "/year/2022" + }, { + "n": "2021", + "v": "/year/2021" + }, { + "n": "2020", + "v": "/year/2020" + }, { + "n": "2019", + "v": "/year/2019" + }, { + "n": "2018", + "v": "/year/2018" + }, { + "n": "2017", + "v": "/year/2017" + }, { + "n": "2016", + "v": "/year/2016" + }, { + "n": "2015", + "v": "/year/2015" + }, { + "n": "2014", + "v": "/year/2014" + }, { + "n": "2013", + "v": "/year/2013" + }, { + "n": "2012", + "v": "/year/2012" + }, { + "n": "2011", + "v": "/year/2011" + }, { + "n": "2010", + "v": "/year/2010" + }, { + "n": "2009", + "v": "/year/2009" + }, { + "n": "2008", + "v": "/year/2008" + }, { + "n": "2006", + "v": "/year/2006" + }, { + "n": "2005", + "v": "/year/2005" + }, { + "n": "2004", + "v": "/year/2004" + }] + }, { + "key": "letter", + "name": "字母", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "A", + "v": "/letter/A" + }, { + "n": "B", + "v": "/letter/B" + }, { + "n": "C", + "v": "/letter/C" + }, { + "n": "D", + "v": "/letter/D" + }, { + "n": "E", + "v": "/letter/E" + }, { + "n": "F", + "v": "/letter/F" + }, { + "n": "G", + "v": "/letter/G" + }, { + "n": "H", + "v": "/letter/H" + }, { + "n": "I", + "v": "/letter/I" + }, { + "n": "J", + "v": "/letter/J" + }, { + "n": "K", + "v": "/letter/K" + }, { + "n": "L", + "v": "/letter/L" + }, { + "n": "M", + "v": "/letter/M" + }, { + "n": "N", + "v": "/letter/N" + }, { + "n": "O", + "v": "/letter/O" + }, { + "n": "P", + "v": "/letter/P" + }, { + "n": "Q", + "v": "/letter/Q" + }, { + "n": "R", + "v": "/letter/R" + }, { + "n": "S", + "v": "/letter/S" + }, { + "n": "T", + "v": "/letter/T" + }, { + "n": "U", + "v": "/letter/U" + }, { + "n": "V", + "v": "/letter/V" + }, { + "n": "W", + "v": "/letter/W" + }, { + "n": "X", + "v": "/letter/X" + }, { + "n": "Y", + "v": "/letter/Y" + }, { + "n": "Z", + "v": "/letter/Z" + }, { + "n": "0-9", + "v": "/letter/0-9" + }] + }, { + "key": "by", + "name": "排序", + "value": [{ + "n": "时间", + "v": "/by/time" + }, { + "n": "人气", + "v": "/by/hits" + }, { + "n": "评分", + "v": "/by/score" + }] + }] + }, + filter_def: { + dianying: { + cateId: "dianying" + }, + dianshiju: { + cateId: "dianshiju" + }, + zongyi: { + cateId: "zongyi" + }, + dongmna: { + cateId: "dongmna" + }, + jilupian: { + cateId: "jilupian" + }, + }, + class_name: "电影&剧集&动漫&综艺&记录片", + class_url: "dianying&dianshiju&dongmna&zongyi&jilupian", + headers: { + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/" + }, + play_parse: true, + lazy: `js: + var html = JSON.parse(request(input).match(/r player_.*?=(.*?) 0; i--) { + const j = Math.floor(Math.random() * (i + 1)); + [array[i], array[j]] = [array[j], array[i]]; + } + return array; + } + const shuffledArray = shuffleArray(items); + shuffledArray.forEach(it => { + d.push({ + url:pdfh(it,"div.module-card-item-title&&a&&href"), + title:pdfh(it,"div.module-card-item-title&&a&&Text"), + img:pdfh(it,"div.module-item-pic&&img&&data-original"), + desc:pdfh(it,"div.module-card-item-class&&Text") + "/" + pdfh(it,"div.module-item-note&&Text") + }) + }); + setResult(d); + `, + 一级: `js: + var d = []; + pdfh = jsp.pdfh;pdfa = jsp.pdfa;pd = jsp.pd; + var html = request(input); + let items = pdfa(html, "a.module-item"); + items.forEach(it => { + d.push({ + url:pdfh(it,"a&&href"), + title:pdfh(it,"a&&title"), + img:pdfh(it,"div.module-item-pic&&img&&data-original"), + desc:pdfh(it,"div.module-item-note&&Text") + }) + }); + setResult(d) + `, + 二级: $js.toString(() => { + VOD = {}; + let html = request(input); + VOD.vod_name = pdfh(html, "h1&&Text"); + VOD.vod_pic = pd(html, ".module-item-pic&&img&&data-original"); + VOD.vod_year = pdfh(html, ".module-info-tag-link:eq(0)&&Text"); + VOD.vod_area = pdfh(html, ".module-info-tag-link:eq(1)&&Text"); + VOD.type_name = pdfh(html, ".module-info-tag-link:eq(2)&&Text"); + VOD.vod_actor = pdfh(html, ".module-info-item-content:eq(1)&&Text"); + VOD.vod_director = pdfh(html, ".module-info-item-content:eq(0)&&Text"); + VOD.vod_remarks = "不信广告就你赢了"; + VOD.vod_content = pdfh(html, ".module-info-introduction-content&&Text"); + if (typeof play_url === "undefined") { + var play_url = "" + } + let playFrom = []; + let playUrl = []; + let tabs = pdfa(html, "div.module-tab-item"); + tabs.forEach((it, index) => { + playFrom.push('諾临風-' + pdfh(it, 'span&&Text') + "[" + pdfh(it, 'small&&Text') + "]"); + let playTag = "div.module-play-list:eq(" + index + ") a"; + let tags = pdfa(html, playTag); + let mapUrl = tags.map((tag) => { + let title = pdfh(tag, "a&&Text").trim(); + let purl = pd(tag, "a&&href"); + return title + "$" + play_url + urlencode(purl); + }); + playUrl.push(mapUrl.join("#")) + }); + VOD.vod_play_from = playFrom.join("$$$"); + VOD.vod_play_url = playUrl.join("$$$"); + }), + double: false, + searchUrl: "/index.php/vod/search/wd/**.html", + 搜索: `js: + var d = []; + pdfh = jsp.pdfh;pdfa = jsp.pdfa;pd = jsp.pd; + var html = request(input); + let list = pdfa(html, "div.module-item"); + list.forEach(it => { + d.push({ + title: pdfh(it, "div.module-card-item-title&&Text"), + desc: pdfh(it, "div.module-item-note&&Text"), + pic_url: pdfh(it, "div.module-item-pic&&img&&data-original"), + url: pdfh(it, "div.module-card-item-title&&a&&href") + }) + }); + setResult(d) + ` +}; \ No newline at end of file diff --git a/xiaosa/js/路漫漫.js b/xiaosa/js/路漫漫.js new file mode 100644 index 00000000..d781efa5 --- /dev/null +++ b/xiaosa/js/路漫漫.js @@ -0,0 +1,549 @@ +var rule = { + title: "路漫漫", + host: "http://www.lmm36.com", + url: "/vod/show/id/fyclassfyfilter.html", + searchUrl: '/vod/search/page/fypage/wd/**.html', + searchable: 2, + quickSearch: 0, + filterable: 1, + filter: { + "3": [{ + "key": "年代", + "name": "年代", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2025", + "v": "/year/2025" + }, { + "n": "2024", + "v": "/year/2024" + }, { + "n": "2023", + "v": "/year/2023" + }, { + "n": "2022", + "v": "/year/2022" + }, { + "n": "2021", + "v": "/year/2021" + }, { + "n": "2020", + "v": "/year/2020" + }, { + "n": "2019", + "v": "/year/2019" + }, { + "n": "2018", + "v": "/year/2018" + }, { + "n": "2017", + "v": "/year/2017" + }, { + "n": "2016", + "v": "/year/2016" + }, { + "n": "2015", + "v": "/year/2015" + }, { + "n": "更早", + "v": "/year/2014-1980" + }] + }, { + "key": "排序", + "name": "排序", + "value": [{ + "n": "最近更新", + "v": "/by/time" + }, { + "n": "最高人气", + "v": "/by/hits" + }, { + "n": "最高评分", + "v": "/by/score" + }, { + "n": "最多点赞", + "v": "/by/up" + }] + }], + "4": [{ + "key": "年代", + "name": "年代", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2025", + "v": "/year/2025" + }, { + "n": "2024", + "v": "/year/2024" + }, { + "n": "2023", + "v": "/year/2023" + }, { + "n": "2022", + "v": "/year/2022" + }, { + "n": "2021", + "v": "/year/2021" + }, { + "n": "2020", + "v": "/year/2020" + }, { + "n": "2019", + "v": "/year/2019" + }, { + "n": "2018", + "v": "/year/2018" + }, { + "n": "2017", + "v": "/year/2017" + }, { + "n": "2016", + "v": "/year/2016" + }, { + "n": "2015", + "v": "/year/2015" + }, { + "n": "更早", + "v": "/year/2014-1980" + }] + }, { + "key": "排序", + "name": "排序", + "value": [{ + "n": "最近更新", + "v": "/by/time" + }, { + "n": "最高人气", + "v": "/by/hits" + }, { + "n": "最高评分", + "v": "/by/score" + }, { + "n": "最多点赞", + "v": "/by/up" + }] + }], + "5": [{ + "key": "年代", + "name": "年代", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2025", + "v": "/year/2025" + }, { + "n": "2024", + "v": "/year/2024" + }, { + "n": "2023", + "v": "/year/2023" + }, { + "n": "2022", + "v": "/year/2022" + }, { + "n": "2021", + "v": "/year/2021" + }, { + "n": "2020", + "v": "/year/2020" + }, { + "n": "2019", + "v": "/year/2019" + }, { + "n": "2018", + "v": "/year/2018" + }, { + "n": "2017", + "v": "/year/2017" + }, { + "n": "2016", + "v": "/year/2016" + }, { + "n": "2015", + "v": "/year/2015" + }, { + "n": "更早", + "v": "/year/2014-1980" + }] + }, { + "key": "排序", + "name": "排序", + "value": [{ + "n": "最近更新", + "v": "/by/time" + }, { + "n": "最高人气", + "v": "/by/hits" + }, { + "n": "最高评分", + "v": "/by/score" + }, { + "n": "最多点赞", + "v": "/by/up" + }] + }], + "6": [{ + "key": "年代", + "name": "年代", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2025", + "v": "/year/2025" + }, { + "n": "2024", + "v": "/year/2024" + }, { + "n": "2023", + "v": "/year/2023" + }, { + "n": "2022", + "v": "/year/2022" + }, { + "n": "2021", + "v": "/year/2021" + }, { + "n": "2020", + "v": "/year/2020" + }, { + "n": "2019", + "v": "/year/2019" + }, { + "n": "2018", + "v": "/year/2018" + }, { + "n": "2017", + "v": "/year/2017" + }, { + "n": "2016", + "v": "/year/2016" + }, { + "n": "2015", + "v": "/year/2015" + }, { + "n": "更早", + "v": "/year/2014-1980" + }] + }, { + "key": "排序", + "name": "排序", + "value": [{ + "n": "最近更新", + "v": "/by/time" + }, { + "n": "最高人气", + "v": "/by/hits" + }, { + "n": "最高评分", + "v": "/by/score" + }, { + "n": "最多点赞", + "v": "/by/up" + }] + }], + "7": [{ + "key": "年代", + "name": "年代", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2025", + "v": "/year/2025" + }, { + "n": "2024", + "v": "/year/2024" + }, { + "n": "2023", + "v": "/year/2023" + }, { + "n": "2022", + "v": "/year/2022" + }, { + "n": "2021", + "v": "/year/2021" + }, { + "n": "2020", + "v": "/year/2020" + }, { + "n": "2019", + "v": "/year/2019" + }, { + "n": "2018", + "v": "/year/2018" + }, { + "n": "2017", + "v": "/year/2017" + }, { + "n": "2016", + "v": "/year/2016" + }, { + "n": "2015", + "v": "/year/2015" + }, { + "n": "更早", + "v": "/year/2014-1980" + }] + }, { + "key": "排序", + "name": "排序", + "value": [{ + "n": "最近更新", + "v": "/by/time" + }, { + "n": "最高人气", + "v": "/by/hits" + }, { + "n": "最高评分", + "v": "/by/score" + }, { + "n": "最多点赞", + "v": "/by/up" + }] + }], + "8": [{ + "key": "年代", + "name": "年代", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2025", + "v": "/year/2025" + }, { + "n": "2024", + "v": "/year/2024" + }, { + "n": "2023", + "v": "/year/2023" + }, { + "n": "2022", + "v": "/year/2022" + }, { + "n": "2021", + "v": "/year/2021" + }, { + "n": "2020", + "v": "/year/2020" + }, { + "n": "2019", + "v": "/year/2019" + }, { + "n": "2018", + "v": "/year/2018" + }, { + "n": "2017", + "v": "/year/2017" + }, { + "n": "2016", + "v": "/year/2016" + }, { + "n": "2015", + "v": "/year/2015" + }, { + "n": "更早", + "v": "/year/2014-1980" + }] + }, { + "key": "排序", + "name": "排序", + "value": [{ + "n": "最近更新", + "v": "/by/time" + }, { + "n": "最高人气", + "v": "/by/hits" + }, { + "n": "最高评分", + "v": "/by/score" + }, { + "n": "最多点赞", + "v": "/by/up" + }] + }] + }, + filter_url: "{{fl.排序}}{{fl.年代}}/page/fypage", + filter_def: "", + headers: { + "User-Agent": "MOBILE_UA" + }, + timeout: 5000, + class_name: "日本动漫&国产动漫&欧美动漫&日本动画电影&国产动画电影&欧美动画电影", + class_url: "6&7&8&3&4&5", + class_parse: "", + cate_exclude: "", + play_parse: true, + lazy: $js.toString(() => { + function getDAesString(token) { + eval(getCryptoJS()); + var key = CryptoJS.enc.Utf8.parse("ejjooopppqqqrwww"); + + var iv = CryptoJS.enc.Utf8.parse("1348987635684651"); + + var token = CryptoJS.AES.decrypt(token, key, { + iv: iv, + mode: CryptoJS.mode.CBC, + padding: CryptoJS.pad.Pkcs7, + }); + + return token.toString(CryptoJS.enc.Utf8); + } + + var html = JSON.parse(request(input).match(/r player_.*?=(.*?) { + if (value.flag.includes("nby") || value.flag.includes("mgtv") || value.flag.includes("qq") || value.flag.includes("qiyi") || value.flag.includes("mgtv")) { + vodPlayFrom += `${value.flag}$$$`; + value.urls.forEach(url => { + vodPlayUrl += `${url.name}$${value.parse_urls[0]}${url.url}~${url.name}#`; + }); + vodPlayUrl += '$$$'; + } + }); + const regeshi = { + vod_id: redata.data.vod_id, + vod_name: redata.data.vod_name, + vod_remarks: `${redata.data.vod_remarks}`, + type_name: redata.data.vod_class, + vod_pic: redata.data.vod_pic, + vod_year: redata.data.vod_year, + vod_area: redata.data.vod_area, + vod_actor: `${redata.data.vod_actor}`, + vod_director: redata.data.vod_director, + vod_content: `${redata.data.vod_content}`, + vod_play_from: vodPlayFrom, + vod_play_url: vodPlayUrl + }; + return regeshi; +} +globalThis.jxx = function(input) { + if ("741852963" !== '741852963') { + return 'https://s0.mall.tcl.com/group1/M00/00/89/CvoGBGdcOPaAAUxvADwZniVV2bc476.mp4'; + } + const parts = input.split('~'); + try { + let response = fetch(parts[0], { + method: 'get', + headers: { + 'User-Agent': 'okhttp/3.14.9', + 'Content-Type': 'application/x-www-form-urlencoded' + } + }); + + if (response.includes("成功") || response.includes("success") || response.includes("nby")) { + let bata = JSON.parse(response); + input = { + parse: 0, + url: bata.url, + jx: 0, + danmaku: 'http://103.45.162.207:25252/hbdm.php?key=7894561232&id=' + '&jm=' + VOD.vod_name + '&js=' + parts[1] + '&key=741852963' + } + } else { + input = { + parse: 0, + url: parts[0].includes('url=') ? parts[0].slice(parts[0].indexOf('url=') + 4) : null, + jx: 1, + danmaku: 'http://103.45.162.207:25252/hbdm.php?key=7894561232&id=' + '&jm=' + VOD.vod_name + '&js=' + parts[1] + '&key=741852963' + } + } + } catch { + input = { + parse: 0, + url: '解析失败', + jx: 0, + } + } + return input; +} + +var rule = { + title: '追剧', + host: '', + detailUrl: 'fyid', + searchUrl: '**', + url: 'fyclass', + searchable: 2, + quickSearch: 1, + filterable: 0, + class_name: '电影&电视剧&综艺&动漫', + class_url: '1&2&4&3', + play_parse: true, + lazy: $js.toString(() => { + input = jxx(input); + }), + 推荐: $js.toString(() => { + let bdata = vodlist(0, 1); + console.log(bdata); + bdata.forEach(it => { + d.push({ + url: it.vod_id, + title: it.vod_name, + img: it.vod_pic, + desc: it.vod_remarks + }); + }); + setResult(d); + }), + 一级: $js.toString(() => { + let bdata = vodlist(input, MY_PAGE); + console.log(bdata); + bdata.forEach(it => { + d.push({ + url: it.vod_id, + title: it.vod_name, + img: it.vod_pic, + desc: it.vod_remarks + }); + }); + setResult(d); + }), + 二级: $js.toString(() => { + console.log("调试信息2" + input); + let data = vodids(input); + //console.log(data); + VOD = (data); + }), + 搜索: $js.toString(() => { + let ddata = seach(input); + ddata.forEach(it => { + d.push({ + url: it.vod_id, + title: it.vod_name, + img: it.vod_pic, + desc: it.vod_remarks + }); + }); + setResult(d); + }), +} \ No newline at end of file diff --git a/xiaosa/js/采集之王.js b/xiaosa/js/采集之王.js new file mode 100644 index 00000000..e6bb9e15 --- /dev/null +++ b/xiaosa/js/采集之王.js @@ -0,0 +1,378 @@ +globalThis.getRandomItem = function(items) { + return items[Math.random() * items.length | 0]; +} +var rule = { + title: '采集之王[合]', + author: '道长', + version: '20240706 beta17', + update_info: ``.trim(), + host: '', + homeTid: '', + 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=#TruePage##page=fypage', + classUrl: '/api.php/provide/vod/', + url: '/api.php/provide/vod/?ac=detail&pg=fypage&t=fyfilter', + filter_url: '{{fl.类型}}', + headers: { + 'User-Agent': 'MOBILE_UA' + }, + timeout: 5000, + limit: 20, + search_limit: 10, + searchable: 1, + quickSearch: 0, + filterable: 1, + play_parse: true, + parse_url: '', + search_match: false, + search_pic: true, + 预处理: $js.toString(() => { + function getClasses(item) { + let classes = []; + if (item.class_name && item.class_url) { + if (!/&|电影|电视剧|综艺|动漫[\u4E00-\u9FA5]+/.test(item.class_name)) { + try { + item.class_name = ungzip(item.class_name) + } catch (e) { + log(`不识别的class_name导致gzip解码失败:${e}`) + return classes + } + } + let names = item.class_name.split('&'); + let urls = item.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] + }); + } + } + return classes + } + if (typeof(batchFetch) === 'function') { + rule.search_limit = 16; + log('当前程序支持批量请求[batchFetch],搜索限制已设置为16'); + } + let _url = rule.params; + log(`传入参数:${_url}`); + if (_url && typeof(_url) === 'string' && /^(http|file)/.test(_url)) { + if (_url.includes('$')) { + let _url_params = _url.split('$'); + _url = _url_params[0]; + rule.search_match = !!(_url_params[1]); + if (_url_params.length > 2) { + rule.search_pic = !!(_url_params[2]); + } + } + let html = request(_url); + let json = JSON.parse(html); + let _classes = []; + rule.filter = {}; + rule.filter_def = {}; + json.forEach(it => { + let _obj = { + type_name: it.name, + type_id: it.url, + parse_url: it.parse_url || '', + searchable: it.searchable !== 0, + api: it.api || '', + cate_exclude: it.cate_exclude || '', + cate_excludes: it.cate_excludes || [], + }; + _classes.push(_obj); + try { + let json1 = []; + if (it.class_name && it.class_url) { + json1 = getClasses(it); + } else { + json1 = JSON.parse(request(urljoin(_obj.type_id, _obj.api || rule.classUrl))).class; + } + if (_obj.cate_excludes && Array.isArray(_obj.cate_excludes) && _obj.cate_excludes.length > 0) { + json1 = json1.filter(cl => !_obj.cate_excludes.includes(cl.type_name)); + } else if (_obj.cate_exclude) { + json1 = json1.filter(cl => !new RegExp(_obj.cate_exclude, 'i').test(cl.type_name)); + } + rule.filter[_obj.type_id] = [{ + "key": "类型", + "name": "类型", + "value": json1.map(i => { + return { + "n": i.type_name, + 'v': i.type_id + } + }) + }]; + if (json1.length > 0) { + rule.filter_def[it.url] = { + "类型": json1[0].type_id + }; + } + } catch (e) { + rule.filter[it.url] = [{ + "key": "类型", + "name": "类型", + "value": [{ + "n": "全部", + "v": "" + }] + }]; + } + }); + rule.classes = _classes; + } + }), + class_parse: $js.toString(() => { + input = rule.classes; + }), + 推荐: $js.toString(() => { + VODS = []; + if (rule.classes) { + let randomClass = getRandomItem(rule.classes); + let _url = urljoin(randomClass.type_id, input); + if (randomClass.api) { + _url = _url.replace('/api.php/provide/vod/', randomClass.api) + } + try { + let html = request(_url, { + timeout: rule.timeout + }); + let json = JSON.parse(html); + VODS = json.list; + VODS.forEach(it => { + it.vod_id = randomClass.type_id + '$' + it.vod_id; + it.vod_remarks = it.vod_remarks + '|' + randomClass.type_name; + }); + } catch (e) {} + } + }), + 一级: $js.toString(() => { + VODS = []; + if (rule.classes) { + let _url = urljoin(MY_CATE, input); + let current_vod = rule.classes.find(item => item.type_id === MY_CATE); + if (current_vod && current_vod.api) { + _url = _url.replace('/api.php/provide/vod/', current_vod.api) + } + let html = request(_url); + let json = JSON.parse(html); + VODS = json.list; + VODS.forEach(it => { + it.vod_id = MY_CATE + '$' + it.vod_id + }); + } + }), + 二级: $js.toString(() => { + VOD = {}; + if (orId === 'update_info') { + VOD = { + vod_content: rule.update_info.trim(), + vod_name: '更新日志', + type_name: '更新日志', + vod_pic: 'https://resource-cdn.tuxiaobei.com/video/FtWhs2mewX_7nEuE51_k6zvg6awl.png', + vod_remarks: `版本:${rule.version}`, + vod_play_from: '道长在线', + vod_play_url: '随机小视频$http://api.yujn.cn/api/zzxjj.php', + }; + } else { + if (rule.classes) { + let _url = urljoin(fyclass, input); + let current_vod = rule.classes.find(item => item.type_id === fyclass); + if (current_vod && current_vod.api) { + _url = _url.replace('/api.php/provide/vod/', current_vod.api) + } + let html = request(_url); + let json = JSON.parse(html); + let data = json.list; + VOD = data[0]; + if (current_vod && current_vod.type_name) { + VOD.vod_play_from = VOD.vod_play_from.split('$$$').map(it => current_vod.type_name + '|' + it).join('$$$') + } + } + } + }), + 搜索: $js.toString(() => { + VODS = []; + if (rule.classes) { + let canSearch = rule.classes.filter(it => it.searchable); + let page = Number(MY_PAGE); + page = (MY_PAGE - 1) % Math.ceil(canSearch.length / rule.search_limit) + 1; + let truePage = Math.ceil(MY_PAGE / Math.ceil(canSearch.length / rule.search_limit)); + if (rule.search_limit) { + let start = (page - 1) * rule.search_limit; + let end = page * rule.search_limit; + let t1 = new Date().getTime(); + let searchMode = typeof(batchFetch) === 'function' ? '批量' : '单个'; + log('start:' + start); + log('end:' + end); + log('搜索模式:' + searchMode); + log('精准搜索:' + rule.search_match); + log('强制获取图片:' + rule.search_pic); + if (start < canSearch.length) { + let search_classes = canSearch.slice(start, end); + let urls = []; + search_classes.forEach(it => { + let _url = urljoin(it.type_id, input); + if (it.api) { + _url = _url.replace('/api.php/provide/vod/', it.api) + } + _url = _url.replace("#TruePage#", "" + truePage); + urls.push(_url); + }); + let results_list = []; + let results = []; + if (typeof(batchFetch) === 'function') { + let reqUrls = urls.map(it => { + return { + url: it, + options: { + timeout: rule.timeout + } + } + }); + let rets = batchFetch(reqUrls); + let detailUrls = []; + let detailUrlCount = 0; + rets.forEach((ret, idx) => { + let it = search_classes[idx]; + if (ret) { + try { + let json = JSON.parse(ret); + let data = json.list; + data.forEach(i => { + i.site_name = it.type_name; + i.vod_id = it.type_id + '$' + i.vod_id; + i.vod_remarks = i.vod_remarks + '|' + it.type_name; + }); + if (rule.search_match) { + data = data.filter(item => item.vod_name && (new RegExp(KEY, 'i')).test(item.vod_name)) + } + if (data.length > 0) { + if (rule.search_pic && !data[0].vod_pic) { + log(`当前搜索站点【${it.type_name}】没图片,尝试访问二级去获取图片`); + let detailUrl = urls[idx].split('wd=')[0] + 'ac=detail&ids=' + data.map(k => k.vod_id.split('$')[1]).join(','); + detailUrls.push(detailUrl); + results_list.push({ + data: data, + has_pic: false, + detailUrlCount: detailUrlCount + }); + detailUrlCount++; + } else { + results_list.push({ + data: data, + has_pic: true + }); + } + } + } catch (e) { + log(`请求:${it.type_id}发生错误:${e.message}`) + } + } + }); + let reqUrls2 = detailUrls.map(it => { + return { + url: it, + options: { + timeout: rule.timeout + } + } + }); + let rets2 = reqUrls2.length > 0 ? batchFetch(reqUrls2) : []; + for (let k = 0; k < results_list.length; k++) { + let result_data = results_list[k].data; + if (!results_list[k].has_pic) { + try { + let detailJson = JSON.parse(rets2[results_list[k].detailUrlCount]); + log('二级数据列表元素数:' + detailJson.list.length); + result_data.forEach((d, _seq) => { + let detailVodPic = detailJson.list.find(vod => vod.vod_id.toString() === d.vod_id.split('$')[1]); + if (detailVodPic) { + Object.assign(d, { + vod_pic: detailVodPic.vod_pic + }); + } + }); + } catch (e) { + log(`强制获取网站${result_data[0].site_name}的搜索图片失败:${e.message}`); + } + } + results = results.concat(result_data); + } + } else { + urls.forEach((_url, idx) => { + let it = search_classes[idx]; + try { + let html = request(_url); + let json = JSON.parse(html); + let data = json.list; + data.forEach(i => { + i.vod_id = it.type_id + '$' + i.vod_id; + i.vod_remarks = i.vod_remarks + '|' + it.type_name; + }); + if (rule.search_match) { + data = data.filter(item => item.vod_name && (new RegExp(KEY, 'i')).test(item.vod_name)) + } + if (data.length > 0) { + if (rule.search_pic && !data[0].vod_pic) { + log(`当前搜索站点【${it.type_name}】没图片,尝试访问二级去获取图片`); + let detailUrl = urls[idx].split('wd=')[0] + 'ac=detail&ids=' + data.map(k => k.vod_id.split('$')[1]).join(','); + try { + let detailJson = JSON.parse(request(detailUrl)); + log('二级数据列表元素数:' + detailJson.list.length); + data.forEach((d, _seq) => { + let detailVodPic = detailJson.list.find(vod => vod.vod_id.toString() === d.vod_id.split('$')[1]); + if (detailVodPic) { + Object.assign(d, { + vod_pic: detailVodPic.vod_pic + }); + } + }); + } catch (e) { + log(`强制获取网站${it.type_id}的搜索图片失败:${e.message}`); + } + } + results = results.concat(data); + } + results = results.concat(data); + } catch (e) { + log(`请求:${it.type_id}发生错误:${e.message}`) + } + }); + } + VODS = results; + let t2 = new Date().getTime(); + log(`${searchMode}搜索:${urls.length}个站耗时:${(Number(t2) - Number(t1))}ms`) + } + } + } + }), + lazy: $js.toString(() => { + let parse_url = ''; + if (flag && flag.includes('|')) { + let type_name = flag.split('|')[0]; + let current_vod = rule.classes.find(item => item.type_name === type_name); + if (current_vod && current_vod.parse_url) { + parse_url = current_vod.parse_url + } + } + if (/\.(m3u8|mp4)/.test(input)) { + input = { + parse: 0, + url: input + } + } else { + if (parse_url.startsWith('json:')) { + let purl = parse_url.replace('json:', '') + input; + let html = request(purl); + input = { + parse: 0, + url: JSON.parse(html).url + } + } else { + input = parse_url + input; + } + } + }), +} \ No newline at end of file diff --git a/xiaosa/js/魔力高清.js b/xiaosa/js/魔力高清.js new file mode 100644 index 00000000..105a6a3b --- /dev/null +++ b/xiaosa/js/魔力高清.js @@ -0,0 +1,598 @@ +// 网址发布页 https://molicp.com +muban.首图.二级.title = '.text-fff--font&&Text;.data--span:eq(0)&&Text'; +muban.首图.二级.desc = '#rating&&Text;;;.data--span:eq(1)&&Text;.data--span:eq(2)&&Text'; +muban.首图.二级.content = '.desc&&Text'; +var rule = { + title: 'HDmoli', + 模板: '首图', + host: 'https://www.hdmoli.pro', + // url:'/mlist/fyclass-fypage.html', + url: '/search.php?page=fypage&searchtype=5&tid=fyfilter', + filterable: 1, //是否启用分类筛选, + filter_url: '{{fl.cateId}}&jq={{fl.class}}&area={{fl.area}}&year={{fl.year}}&state={{fl.state}}&order={{fl.by}}', + filter: { + "1": [{ + "key": "cateId", + "name": "类型", + "value": [{ + "n": "全部", + "v": "1" + }, { + "n": "动作", + "v": "5" + }, { + "n": "爱情", + "v": "6" + }, { + "n": "科幻", + "v": "7" + }, { + "n": "恐怖", + "v": "8" + }, { + "n": "战争", + "v": "9" + }, { + "n": "喜剧", + "v": "10" + }, { + "n": "纪录片", + "v": "11" + }, { + "n": "剧情", + "v": "12" + }, { + "n": "犯罪", + "v": "30" + }, { + "n": "动画", + "v": "32" + }] + }, { + "key": "class", + "name": "剧情", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "战争", + "v": "战争" + }, { + "n": "恐怖", + "v": "恐怖" + }, { + "n": "剧情", + "v": "剧情" + }, { + "n": "爱情", + "v": "爱情" + }, { + "n": "家庭", + "v": "家庭" + }, { + "n": "励志", + "v": "励志" + }, { + "n": "悬疑", + "v": "悬疑" + }, { + "n": "动作", + "v": "动作" + }, { + "n": "奇幻", + "v": "奇幻" + }, { + "n": "冒险", + "v": "冒险" + }, { + "n": "历史", + "v": "历史" + }, { + "n": "惊悚", + "v": "惊悚" + }, { + "n": "音乐", + "v": "音乐" + }, { + "n": "科幻", + "v": "科幻" + }, { + "n": "犯罪", + "v": "犯罪" + }, { + "n": "运动", + "v": "运动" + }, { + "n": "喜剧", + "v": "喜剧" + }] + }, { + "key": "area", + "name": "地区", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "美国", + "v": "美国" + }, { + "n": "韩国", + "v": "韩国" + }, { + "n": "英国", + "v": "英国" + }, { + "n": "日本", + "v": "日本" + }, { + "n": "泰国", + "v": "泰国" + }, { + "n": "中国", + "v": "中国" + }, { + "n": "其他", + "v": "其他" + }] + }, { + "key": "year", + "name": "年份", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2025", + "v": "2025" + }, { + "n": "2024", + "v": "2024" + }, { + "n": "2023", + "v": "2023" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }, { + "n": "2014", + "v": "2014" + }, { + "n": "2013", + "v": "2013" + }, { + "n": "2012", + "v": "2012" + }, { + "n": "more", + "v": "more" + }] + }, { + "key": "state", + "name": "状态", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "完结", + "v": "w" + }, { + "n": "连载中", + "v": "l" + }] + }, { + "key": "by", + "name": "排序", + "value": [{ + "n": "时间", + "v": "time" + }, { + "n": "评分", + "v": "douban" + }] + }], + "2": [{ + "key": "cateId", + "name": "类型", + "value": [{ + "n": "全部", + "v": "2" + }, { + "n": "美剧", + "v": "15" + }, { + "n": "韩剧", + "v": "16" + }, { + "n": "日剧", + "v": "13" + }, { + "n": "英剧", + "v": "34" + }, { + "n": "中国", + "v": "14" + }, { + "n": "泰剧", + "v": "29" + }, { + "n": "综艺", + "v": "39" + }, { + "n": "其他", + "v": "38" + }] + }, { + "key": "class", + "name": "剧情", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "战争", + "v": "战争" + }, { + "n": "恐怖", + "v": "恐怖" + }, { + "n": "剧情", + "v": "剧情" + }, { + "n": "爱情", + "v": "爱情" + }, { + "n": "家庭", + "v": "家庭" + }, { + "n": "励志", + "v": "励志" + }, { + "n": "悬疑", + "v": "悬疑" + }, { + "n": "动作", + "v": "动作" + }, { + "n": "奇幻", + "v": "奇幻" + }, { + "n": "冒险", + "v": "冒险" + }, { + "n": "历史", + "v": "历史" + }, { + "n": "惊悚", + "v": "惊悚" + }, { + "n": "音乐", + "v": "音乐" + }, { + "n": "科幻", + "v": "科幻" + }, { + "n": "犯罪", + "v": "犯罪" + }, { + "n": "运动", + "v": "运动" + }, { + "n": "喜剧", + "v": "喜剧" + }] + }, { + "key": "area", + "name": "地区", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "美国", + "v": "美国" + }, { + "n": "韩国", + "v": "韩国" + }, { + "n": "英国", + "v": "英国" + }, { + "n": "日本", + "v": "日本" + }, { + "n": "泰国", + "v": "泰国" + }, { + "n": "中国", + "v": "中国" + }, { + "n": "其他", + "v": "其他" + }] + }, { + "key": "year", + "name": "年份", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2025", + "v": "2025" + }, { + "n": "2024", + "v": "2024" + }, { + "n": "2023", + "v": "2023" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }, { + "n": "2014", + "v": "2014" + }, { + "n": "2013", + "v": "2013" + }, { + "n": "2012", + "v": "2012" + }, { + "n": "more", + "v": "more" + }] + }, { + "key": "state", + "name": "状态", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "完结", + "v": "w" + }, { + "n": "连载中", + "v": "l" + }] + }, { + "key": "by", + "name": "排序", + "value": [{ + "n": "时间", + "v": "time" + }, { + "n": "评分", + "v": "douban" + }] + }], + "41": [{ + "key": "cateId", + "name": "类型", + "value": [{ + "n": "全部", + "v": "41" + }, { + "n": "日本", + "v": "42" + }, { + "n": "其他", + "v": "43" + }] + }, { + "key": "class", + "name": "剧情", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "战争", + "v": "战争" + }, { + "n": "恐怖", + "v": "恐怖" + }, { + "n": "剧情", + "v": "剧情" + }, { + "n": "爱情", + "v": "爱情" + }, { + "n": "家庭", + "v": "家庭" + }, { + "n": "励志", + "v": "励志" + }, { + "n": "悬疑", + "v": "悬疑" + }, { + "n": "动作", + "v": "动作" + }, { + "n": "奇幻", + "v": "奇幻" + }, { + "n": "冒险", + "v": "冒险" + }, { + "n": "历史", + "v": "历史" + }, { + "n": "惊悚", + "v": "惊悚" + }, { + "n": "音乐", + "v": "音乐" + }, { + "n": "科幻", + "v": "科幻" + }, { + "n": "犯罪", + "v": "犯罪" + }, { + "n": "运动", + "v": "运动" + }, { + "n": "喜剧", + "v": "喜剧" + }] + }, { + "key": "area", + "name": "地区", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "美国", + "v": "美国" + }, { + "n": "韩国", + "v": "韩国" + }, { + "n": "英国", + "v": "英国" + }, { + "n": "日本", + "v": "日本" + }, { + "n": "泰国", + "v": "泰国" + }, { + "n": "中国", + "v": "中国" + }, { + "n": "其他", + "v": "其他" + }] + }, { + "key": "year", + "name": "年份", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2025", + "v": "2025" + }, { + "n": "2024", + "v": "2024" + }, { + "n": "2023", + "v": "2023" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }, { + "n": "2014", + "v": "2014" + }, { + "n": "2013", + "v": "2013" + }, { + "n": "2012", + "v": "2012" + }, { + "n": "more", + "v": "more" + }] + }, { + "key": "state", + "name": "状态", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "完结", + "v": "w" + }, { + "n": "连载中", + "v": "l" + }] + }, { + "key": "by", + "name": "排序", + "value": [{ + "n": "时间", + "v": "time" + }, { + "n": "评分", + "v": "douban" + }] + }] + }, + filter_def: { + 1: { + cateId: '1', + by: 'time' + }, + 2: { + cateId: '2', + by: 'time' + }, + 41: { + cateId: '41', + by: 'time' + } + }, + searchUrl: '/search.php?page=fypage&searchword=**&searchtype=', + class_parse: '.myui-header__menu li;a&&Text;a&&href;.*/index(\\d+).html', +} \ No newline at end of file diff --git a/xiaosa/json/aliShare.json b/xiaosa/json/aliShare.json new file mode 100644 index 00000000..534afd1b --- /dev/null +++ b/xiaosa/json/aliShare.json @@ -0,0 +1,86 @@ +[ + { + "name": "我的网盘", + "folders": [ + { + "shareId": "", + "folder": "root" + } + ] + }, + { + "name": "影视一", + "folders": [ + { + "shareId": "dW5pJdgF8c9", + "folder": "root" + }, + { + "shareId": "Y5wMKfVDD6K", + "folder": "root" + }, + { + "shareId": "LEaepiYfxcw", + "folder": "root" + }, + { + "shareId": "v1bBBEcNf9p", + "folder": "root" + } + ] + }, + { + "name": "影视二", + "folders": [ + { + "shareId": "uWa9gbM3RJ7", + "folder": "655c7b6c66368f43652a45288146c6e7cb269aa8" + } + ] + }, + { + "name": "影视三", + "folders": [ + { + "shareId": "4ydLxf7VgH7", + "folder": "root" + } + ] + }, + { + "name": "影视四", + "folders": [ + { + "shareId": "5bsnAp5fbCW", + "folder": "root" + } + ] + }, + { + "name": "影视五", + "folders": [ + { + "shareId": "dieULBdYP3D", + "folder": "root" + } + ] + }, + { + "name": "影视六", + "folders": [ + { + "shareId": "sg8CdGUwmUr", + "folder": "root" + } + ] + }, + { + "name": "影视七", + "folders": [ + { + "shareId": "wHPKUENKFsS", + "folder": "root" + } + ] + } +] \ No newline at end of file diff --git a/xiaosa/json/alist.json b/xiaosa/json/alist.json new file mode 100644 index 00000000..8f6631e7 --- /dev/null +++ b/xiaosa/json/alist.json @@ -0,0 +1,21 @@ +{ + "vodPic": "https://rogsoft.ddnsto.com/softcenter/softcenter/res/icon-alist.png", + "drives": [ + { + "name": "小雅", + "server": "http://alist.xiaoya.pro" + }, + { + "name": "触光", + "server": "https://pan.ichuguang.com" + }, + { + "name": "魔都云", + "server": "https://cdn.modupan.com" + }, + { + "name": "七米蓝", + "server": "https://al.chirmyram.com" + } + ] +} \ No newline at end of file diff --git a/xiaosa/json/aliyunpansearch.json b/xiaosa/json/aliyunpansearch.json new file mode 100644 index 00000000..75d3ac2d --- /dev/null +++ b/xiaosa/json/aliyunpansearch.json @@ -0,0 +1,199 @@ +{ + "classes": [ + { + "type_name": "电影", + "type_id": "dy" + }, + { + "type_name": "电视", + "type_id": "ds" + }, + { + "type_name": "短剧", + "type_id": "dj" + }, + { + "type_name": "综艺", + "type_id": "zy" + }, + { + "type_name": "动漫", + "type_id": "dm" + }, + { + "type_name": "音乐", + "type_id": "yy" + } + ], + "filters": { + "dy": [ + { + "key": "root", + "name": "来源", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "夸克", + "v": "2" + }, + { + "n": "UC", + "v": "5" + }, + { + "n": "阿里", + "v": "1" + }, + { + "n": "百度", + "v": "4" + } + ] + } + ], + "ds": [ + { + "key": "root", + "name": "来源", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "夸克", + "v": "2" + }, + { + "n": "UC", + "v": "5" + }, + { + "n": "阿里", + "v": "1" + }, + { + "n": "百度", + "v": "4" + } + ] + } + ], + "dj": [ + { + "key": "root", + "name": "来源", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "夸克", + "v": "2" + }, + { + "n": "UC", + "v": "5" + }, + { + "n": "阿里", + "v": "1" + }, + { + "n": "百度", + "v": "4" + } + ] + } + ], + "zy": [ + { + "key": "root", + "name": "来源", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "夸克", + "v": "2" + }, + { + "n": "UC", + "v": "5" + }, + { + "n": "阿里", + "v": "1" + }, + { + "n": "百度", + "v": "4" + } + ] + } + ], + "dm": [ + { + "key": "root", + "name": "来源", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "夸克", + "v": "2" + }, + { + "n": "UC", + "v": "5" + }, + { + "n": "阿里", + "v": "1" + }, + { + "n": "百度", + "v": "4" + } + ] + } + ], + "yy": [ + { + "key": "root", + "name": "来源", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "夸克", + "v": "2" + }, + { + "n": "UC", + "v": "5" + }, + { + "n": "阿里", + "v": "1" + }, + { + "n": "百度", + "v": "4" + } + ] + } + ] + }, + "siteUrl": "https://ysapi.yingso.fun/v7/ali/all" +} \ No newline at end of file diff --git a/xiaosa/json/cctv.json b/xiaosa/json/cctv.json new file mode 100644 index 00000000..e1737e1a --- /dev/null +++ b/xiaosa/json/cctv.json @@ -0,0 +1,4 @@ +{ + "errcode": "1001", + "msg": "url error" +} \ No newline at end of file diff --git a/xiaosa/json/ex.json b/xiaosa/json/ex.json new file mode 100644 index 00000000..a405ebe1 --- /dev/null +++ b/xiaosa/json/ex.json @@ -0,0 +1,1460 @@ +{ + "SiteUrl": "https://xhww.net", + "Domains": [ + "http://2xiaopan.fun", + "https://erxiaofn.click", + "https://erxiaofn.site", + "https://www.xhww.net", + "https://xiaoer.5568.eu.org", + "http://wexfnw.999888456.xyz", + "http://89.213.49.249" + ], + "SiteWord": "ex", + "SiteName": "二小", + "Classes": [ + { + "type_name": "电影", + "type_id": "1" + }, + { + "type_name": "剧集", + "type_id": "2" + }, + { + "type_name": "动漫", + "type_id": "3" + }, + { + "type_name": "综艺", + "type_id": "17" + } + ], + "Filters": { + "3": [ + { + "name": "类型", + "value": [ + { + "v": "37", + "n": "日韩动漫" + }, + { + "v": "38", + "n": "欧美动漫" + }, + { + "v": "36", + "n": "国产动漫" + } + ], + "key": "type" + }, + { + "name": "剧情", + "value": [ + { + "v": "古装", + "n": "古装" + }, + { + "v": "战争", + "n": "战争" + }, + { + "v": "青春偶像", + "n": "青春偶像" + }, + { + "v": "喜剧", + "n": "喜剧" + }, + { + "v": "家庭", + "n": "家庭" + }, + { + "v": "犯罪", + "n": "犯罪" + }, + { + "v": "动作", + "n": "动作" + }, + { + "v": "奇幻", + "n": "奇幻" + }, + { + "v": "剧情", + "n": "剧情" + }, + { + "v": "历史", + "n": "历史" + }, + { + "v": "经典", + "n": "经典" + }, + { + "v": "乡村", + "n": "乡村" + }, + { + "v": "情景", + "n": "情景" + }, + { + "v": "商战", + "n": "商战" + }, + { + "v": "网剧", + "n": "网剧" + }, + { + "v": "其他", + "n": "其他" + } + ], + "key": "class" + }, + { + "name": "地区", + "value": [ + { + "v": "内地", + "n": "内地" + }, + { + "v": "韩国", + "n": "韩国" + }, + { + "v": "香港", + "n": "香港" + }, + { + "v": "台湾", + "n": "台湾" + }, + { + "v": "日本", + "n": "日本" + }, + { + "v": "美国", + "n": "美国" + }, + { + "v": "泰国", + "n": "泰国" + }, + { + "v": "英国", + "n": "英国" + }, + { + "v": "新加坡", + "n": "新加坡" + }, + { + "v": "其他", + "n": "其他" + } + ], + "key": "area" + }, + { + "name": "语言", + "value": [ + { + "v": "国语", + "n": "国语" + }, + { + "v": "英语", + "n": "英语" + }, + { + "v": "粤语", + "n": "粤语" + }, + { + "v": "闽南语", + "n": "闽南语" + }, + { + "v": "韩语", + "n": "韩语" + }, + { + "v": "日语", + "n": "日语" + }, + { + "v": "其它", + "n": "其它" + } + ], + "key": "lang" + }, + { + "name": "时间", + "value": [ + { + "v": "2024", + "n": "2024" + }, + { + "v": "2023", + "n": "2023" + }, + { + "v": "2022", + "n": "2022" + }, + { + "v": "2021", + "n": "2021" + }, + { + "v": "2020", + "n": "2020" + }, + { + "v": "2019", + "n": "2019" + }, + { + "v": "2018", + "n": "2018" + }, + { + "v": "2017", + "n": "2017" + }, + { + "v": "2016", + "n": "2016" + }, + { + "v": "2015", + "n": "2015" + }, + { + "v": "2014", + "n": "2014" + }, + { + "v": "2013", + "n": "2013" + }, + { + "v": "2012", + "n": "2012" + }, + { + "v": "2011", + "n": "2011" + }, + { + "v": "2010", + "n": "2010" + } + ], + "key": "year" + }, + { + "name": "字母查找", + "value": [ + { + "v": "A", + "n": "A" + }, + { + "v": "B", + "n": "B" + }, + { + "v": "C", + "n": "C" + }, + { + "v": "D", + "n": "D" + }, + { + "v": "E", + "n": "E" + }, + { + "v": "F", + "n": "F" + }, + { + "v": "G", + "n": "G" + }, + { + "v": "H", + "n": "H" + }, + { + "v": "I", + "n": "I" + }, + { + "v": "J", + "n": "J" + }, + { + "v": "K", + "n": "K" + }, + { + "v": "L", + "n": "L" + }, + { + "v": "M", + "n": "M" + }, + { + "v": "N", + "n": "N" + }, + { + "v": "O", + "n": "O" + }, + { + "v": "P", + "n": "P" + }, + { + "v": "Q", + "n": "Q" + }, + { + "v": "R", + "n": "R" + }, + { + "v": "S", + "n": "S" + }, + { + "v": "T", + "n": "T" + }, + { + "v": "U", + "n": "U" + }, + { + "v": "V", + "n": "V" + }, + { + "v": "W", + "n": "W" + }, + { + "v": "X", + "n": "X" + }, + { + "v": "Y", + "n": "Y" + }, + { + "v": "Z", + "n": "Z" + }, + { + "v": "0-9", + "n": "0-9" + } + ], + "key": "character" + }, + { + "name": "评分排序", + "value": [ + { + "v": "time", + "n": "时间排序" + }, + { + "v": "hits", + "n": "人气排序" + }, + { + "v": "score", + "n": "评分排序" + } + ], + "key": "order" + } + ], + "4": [ + { + "name": "类型", + "value": [ + { + "v": "39", + "n": "国产综艺" + }, + { + "v": "40", + "n": "其他综艺" + } + ], + "key": "type" + }, + { + "name": "时间", + "value": [ + { + "v": "2024", + "n": "2024" + }, + { + "v": "2023", + "n": "2023" + }, + { + "v": "2022", + "n": "2022" + }, + { + "v": "2021", + "n": "2021" + }, + { + "v": "2020", + "n": "2020" + }, + { + "v": "2019", + "n": "2019" + }, + { + "v": "2018", + "n": "2018" + }, + { + "v": "2017", + "n": "2017" + }, + { + "v": "2016", + "n": "2016" + }, + { + "v": "2015", + "n": "2015" + }, + { + "v": "2014", + "n": "2014" + }, + { + "v": "2013", + "n": "2013" + }, + { + "v": "2012", + "n": "2012" + }, + { + "v": "2011", + "n": "2011" + }, + { + "v": "2010", + "n": "2010" + } + ], + "key": "year" + }, + { + "name": "字母查找", + "value": [ + { + "v": "A", + "n": "A" + }, + { + "v": "B", + "n": "B" + }, + { + "v": "C", + "n": "C" + }, + { + "v": "D", + "n": "D" + }, + { + "v": "E", + "n": "E" + }, + { + "v": "F", + "n": "F" + }, + { + "v": "G", + "n": "G" + }, + { + "v": "H", + "n": "H" + }, + { + "v": "I", + "n": "I" + }, + { + "v": "J", + "n": "J" + }, + { + "v": "K", + "n": "K" + }, + { + "v": "L", + "n": "L" + }, + { + "v": "M", + "n": "M" + }, + { + "v": "N", + "n": "N" + }, + { + "v": "O", + "n": "O" + }, + { + "v": "P", + "n": "P" + }, + { + "v": "Q", + "n": "Q" + }, + { + "v": "R", + "n": "R" + }, + { + "v": "S", + "n": "S" + }, + { + "v": "T", + "n": "T" + }, + { + "v": "U", + "n": "U" + }, + { + "v": "V", + "n": "V" + }, + { + "v": "W", + "n": "W" + }, + { + "v": "X", + "n": "X" + }, + { + "v": "Y", + "n": "Y" + }, + { + "v": "Z", + "n": "Z" + }, + { + "v": "0-9", + "n": "0-9" + } + ], + "key": "character" + }, + { + "name": "评分排序", + "value": [ + { + "v": "time", + "n": "时间排序" + }, + { + "v": "hits", + "n": "人气排序" + }, + { + "v": "score", + "n": "评分排序" + } + ], + "key": "order" + } + ], + "1": [ + { + "name": "类型", + "value": [ + { + "v": "25", + "n": "科幻" + }, + { + "v": "26", + "n": "战争" + }, + { + "v": "27", + "n": "爱情" + }, + { + "v": "28", + "n": "恐怖" + }, + { + "v": "29", + "n": "院线" + }, + { + "v": "30", + "n": "其他" + } + ], + "key": "type" + }, + { + "name": "剧情", + "value": [ + { + "v": "喜剧", + "n": "喜剧" + }, + { + "v": "爱情", + "n": "爱情" + }, + { + "v": "恐怖", + "n": "恐怖" + }, + { + "v": "动作", + "n": "动作" + }, + { + "v": "科幻", + "n": "科幻" + }, + { + "v": "剧情", + "n": "剧情" + }, + { + "v": "战争", + "n": "战争" + }, + { + "v": "警匪", + "n": "警匪" + }, + { + "v": "犯罪", + "n": "犯罪" + }, + { + "v": "动画", + "n": "动画" + }, + { + "v": "奇幻", + "n": "奇幻" + }, + { + "v": "武侠", + "n": "武侠" + }, + { + "v": "冒险", + "n": "冒险" + }, + { + "v": "枪战", + "n": "枪战" + }, + { + "v": "恐怖", + "n": "恐怖" + }, + { + "v": "悬疑", + "n": "悬疑" + }, + { + "v": "惊悚", + "n": "惊悚" + }, + { + "v": "经典", + "n": "经典" + }, + { + "v": "青春", + "n": "青春" + }, + { + "v": "文艺", + "n": "文艺" + }, + { + "v": "微电影", + "n": "微电影" + }, + { + "v": "古装", + "n": "古装" + }, + { + "v": "历史", + "n": "历史" + }, + { + "v": "运动", + "n": "运动" + }, + { + "v": "农村", + "n": "农村" + }, + { + "v": "儿童", + "n": "儿童" + }, + { + "v": "网络电影", + "n": "网络电影" + } + ], + "key": "class" + }, + { + "name": "地区", + "value": [ + { + "v": "内地", + "n": "内地" + }, + { + "v": "韩国", + "n": "韩国" + }, + { + "v": "香港", + "n": "香港" + }, + { + "v": "台湾", + "n": "台湾" + }, + { + "v": "日本", + "n": "日本" + }, + { + "v": "美国", + "n": "美国" + }, + { + "v": "泰国", + "n": "泰国" + }, + { + "v": "英国", + "n": "英国" + }, + { + "v": "新加坡", + "n": "新加坡" + }, + { + "v": "其他", + "n": "其他" + } + ], + "key": "area" + }, + { + "name": "语言", + "value": [ + { + "v": "国语", + "n": "国语" + }, + { + "v": "英语", + "n": "英语" + }, + { + "v": "粤语", + "n": "粤语" + }, + { + "v": "闽南语", + "n": "闽南语" + }, + { + "v": "韩语", + "n": "韩语" + }, + { + "v": "日语", + "n": "日语" + }, + { + "v": "其它", + "n": "其它" + } + ], + "key": "lang" + }, + { + "name": "时间", + "value": [ + { + "v": "2024", + "n": "2024" + }, + { + "v": "2023", + "n": "2023" + }, + { + "v": "2022", + "n": "2022" + }, + { + "v": "2021", + "n": "2021" + }, + { + "v": "2020", + "n": "2020" + }, + { + "v": "2019", + "n": "2019" + }, + { + "v": "2018", + "n": "2018" + }, + { + "v": "2017", + "n": "2017" + }, + { + "v": "2016", + "n": "2016" + }, + { + "v": "2015", + "n": "2015" + }, + { + "v": "2014", + "n": "2014" + }, + { + "v": "2013", + "n": "2013" + }, + { + "v": "2012", + "n": "2012" + }, + { + "v": "2011", + "n": "2011" + }, + { + "v": "2010", + "n": "2010" + } + ], + "key": "year" + }, + { + "name": "字母查找", + "value": [ + { + "v": "A", + "n": "A" + }, + { + "v": "B", + "n": "B" + }, + { + "v": "C", + "n": "C" + }, + { + "v": "D", + "n": "D" + }, + { + "v": "E", + "n": "E" + }, + { + "v": "F", + "n": "F" + }, + { + "v": "G", + "n": "G" + }, + { + "v": "H", + "n": "H" + }, + { + "v": "I", + "n": "I" + }, + { + "v": "J", + "n": "J" + }, + { + "v": "K", + "n": "K" + }, + { + "v": "L", + "n": "L" + }, + { + "v": "M", + "n": "M" + }, + { + "v": "N", + "n": "N" + }, + { + "v": "O", + "n": "O" + }, + { + "v": "P", + "n": "P" + }, + { + "v": "Q", + "n": "Q" + }, + { + "v": "R", + "n": "R" + }, + { + "v": "S", + "n": "S" + }, + { + "v": "T", + "n": "T" + }, + { + "v": "U", + "n": "U" + }, + { + "v": "V", + "n": "V" + }, + { + "v": "W", + "n": "W" + }, + { + "v": "X", + "n": "X" + }, + { + "v": "Y", + "n": "Y" + }, + { + "v": "Z", + "n": "Z" + }, + { + "v": "0-9", + "n": "0-9" + } + ], + "key": "character" + }, + { + "name": "评分排序", + "value": [ + { + "v": "time", + "n": "时间排序" + }, + { + "v": "hits", + "n": "人气排序" + }, + { + "v": "score", + "n": "评分排序" + } + ], + "key": "order" + } + ], + "2": [ + { + "name": "类型", + "value": [ + { + "v": "31", + "n": "国产剧" + }, + { + "v": "32", + "n": "欧美剧" + }, + { + "v": "33", + "n": "日韩剧" + }, + { + "v": "35", + "n": "其他剧" + }, + { + "v": "34", + "n": "港台剧" + } + ], + "key": "type" + }, + { + "name": "剧情", + "value": [ + { + "v": "喜剧", + "n": "喜剧" + }, + { + "v": "爱情", + "n": "爱情" + }, + { + "v": "恐怖", + "n": "恐怖" + }, + { + "v": "动作", + "n": "动作" + }, + { + "v": "科幻", + "n": "科幻" + }, + { + "v": "剧情", + "n": "剧情" + }, + { + "v": "战争", + "n": "战争" + }, + { + "v": "警匪", + "n": "警匪" + }, + { + "v": "犯罪", + "n": "犯罪" + }, + { + "v": "动画", + "n": "动画" + }, + { + "v": "奇幻", + "n": "奇幻" + }, + { + "v": "武侠", + "n": "武侠" + }, + { + "v": "冒险", + "n": "冒险" + }, + { + "v": "枪战", + "n": "枪战" + }, + { + "v": "恐怖", + "n": "恐怖" + }, + { + "v": "悬疑", + "n": "悬疑" + }, + { + "v": "惊悚", + "n": "惊悚" + }, + { + "v": "经典", + "n": "经典" + }, + { + "v": "青春", + "n": "青春" + }, + { + "v": "文艺", + "n": "文艺" + }, + { + "v": "微电影", + "n": "微电影" + }, + { + "v": "古装", + "n": "古装" + }, + { + "v": "历史", + "n": "历史" + }, + { + "v": "运动", + "n": "运动" + }, + { + "v": "农村", + "n": "农村" + }, + { + "v": "儿童", + "n": "儿童" + }, + { + "v": "网络电影", + "n": "网络电影" + } + ], + "key": "class" + }, + { + "name": "地区", + "value": [ + { + "v": "内地", + "n": "内地" + }, + { + "v": "韩国", + "n": "韩国" + }, + { + "v": "香港", + "n": "香港" + }, + { + "v": "台湾", + "n": "台湾" + }, + { + "v": "日本", + "n": "日本" + }, + { + "v": "美国", + "n": "美国" + }, + { + "v": "泰国", + "n": "泰国" + }, + { + "v": "英国", + "n": "英国" + }, + { + "v": "新加坡", + "n": "新加坡" + }, + { + "v": "其他", + "n": "其他" + } + ], + "key": "area" + }, + { + "name": "语言", + "value": [ + { + "v": "国语", + "n": "国语" + }, + { + "v": "英语", + "n": "英语" + }, + { + "v": "粤语", + "n": "粤语" + }, + { + "v": "闽南语", + "n": "闽南语" + }, + { + "v": "韩语", + "n": "韩语" + }, + { + "v": "日语", + "n": "日语" + }, + { + "v": "其它", + "n": "其它" + } + ], + "key": "lang" + }, + { + "name": "时间", + "value": [ + { + "v": "2024", + "n": "2024" + }, + { + "v": "2023", + "n": "2023" + }, + { + "v": "2022", + "n": "2022" + }, + { + "v": "2021", + "n": "2021" + }, + { + "v": "2020", + "n": "2020" + }, + { + "v": "2019", + "n": "2019" + }, + { + "v": "2018", + "n": "2018" + }, + { + "v": "2017", + "n": "2017" + }, + { + "v": "2016", + "n": "2016" + }, + { + "v": "2015", + "n": "2015" + }, + { + "v": "2014", + "n": "2014" + }, + { + "v": "2013", + "n": "2013" + }, + { + "v": "2012", + "n": "2012" + }, + { + "v": "2011", + "n": "2011" + }, + { + "v": "2010", + "n": "2010" + } + ], + "key": "year" + }, + { + "name": "字母查找", + "value": [ + { + "v": "A", + "n": "A" + }, + { + "v": "B", + "n": "B" + }, + { + "v": "C", + "n": "C" + }, + { + "v": "D", + "n": "D" + }, + { + "v": "E", + "n": "E" + }, + { + "v": "F", + "n": "F" + }, + { + "v": "G", + "n": "G" + }, + { + "v": "H", + "n": "H" + }, + { + "v": "I", + "n": "I" + }, + { + "v": "J", + "n": "J" + }, + { + "v": "K", + "n": "K" + }, + { + "v": "L", + "n": "L" + }, + { + "v": "M", + "n": "M" + }, + { + "v": "N", + "n": "N" + }, + { + "v": "O", + "n": "O" + }, + { + "v": "P", + "n": "P" + }, + { + "v": "Q", + "n": "Q" + }, + { + "v": "R", + "n": "R" + }, + { + "v": "S", + "n": "S" + }, + { + "v": "T", + "n": "T" + }, + { + "v": "U", + "n": "U" + }, + { + "v": "V", + "n": "V" + }, + { + "v": "W", + "n": "W" + }, + { + "v": "X", + "n": "X" + }, + { + "v": "Y", + "n": "Y" + }, + { + "v": "Z", + "n": "Z" + }, + { + "v": "0-9", + "n": "0-9" + } + ], + "key": "character" + }, + { + "name": "评分排序", + "value": [ + { + "v": "time", + "n": "时间排序" + }, + { + "v": "hits", + "n": "人气排序" + }, + { + "v": "score", + "n": "评分排序" + } + ], + "key": "order" + } + ] + } +} \ No newline at end of file diff --git a/xiaosa/json/hm.json b/xiaosa/json/hm.json new file mode 100644 index 00000000..3b5b68f3 --- /dev/null +++ b/xiaosa/json/hm.json @@ -0,0 +1,22 @@ +{ + "SiteUrl": "https://www.hmxz.org", + "Classes": [ + { + "type_name": "电影", + "type_id": "1" + }, + { + "type_name": "剧集", + "type_id": "2" + }, + { + "type_name": "综艺", + "type_id": "5" + }, + { + "type_name": "动漫", + "type_id": "3" + } + ], + "Cookie": "bbs_sid=ducbgilqu67ff2oirbbh9aq7ol;bbs_token=KLC2C9dxzxxpvoGd4vV8VKgN_2FM1Fbe_2B_2BLShggfWjEmh1kmEA" +} \ No newline at end of file diff --git a/xiaosa/json/lb.json b/xiaosa/json/lb.json new file mode 100644 index 00000000..07d396c7 --- /dev/null +++ b/xiaosa/json/lb.json @@ -0,0 +1,1668 @@ +{ + "SiteUrl": "https://feimaoai.site", + "Domains": [ + "https://feimao666.fun", + "https://duopan.fun", + "http://labipan.com", + "https://feimaoai.site", + "https://labi.deno.dev" + ], + "SiteWord": "labi", + "SiteName": "蜡笔", + "Classes": [ + { + "type_name": "电影", + "type_id": "1" + }, + { + "type_name": "剧集", + "type_id": "2" + }, + { + "type_name": "4K", + "type_id": "24" + }, + { + "type_name": "综艺", + "type_id": "4" + }, + { + "type_name": "动漫", + "type_id": "3" + }, + { + "type_name": "短剧", + "type_id": "5" + } + ], + "Filters": { + "1": [ + { + "name": "类型", + "value": [ + { + "v": "6", + "n": "科幻" + }, + { + "v": "7", + "n": "爱情" + }, + { + "v": "8", + "n": "战争" + }, + { + "v": "9", + "n": "恐怖" + }, + { + "v": "10", + "n": "高码" + }, + { + "v": "11", + "n": "动画" + }, + { + "v": "12", + "n": "动作" + }, + { + "v": "23", + "n": "画质控" + } + ], + "key": "type" + }, + { + "name": "剧情", + "value": [ + { + "v": "喜剧", + "n": "喜剧" + }, + { + "v": "爱情", + "n": "爱情" + }, + { + "v": "恐怖", + "n": "恐怖" + }, + { + "v": "动作", + "n": "动作" + }, + { + "v": "科幻", + "n": "科幻" + }, + { + "v": "剧情", + "n": "剧情" + }, + { + "v": "战争", + "n": "战争" + }, + { + "v": "警匪", + "n": "警匪" + }, + { + "v": "犯罪", + "n": "犯罪" + }, + { + "v": "动画", + "n": "动画" + }, + { + "v": "奇幻", + "n": "奇幻" + }, + { + "v": "武侠", + "n": "武侠" + }, + { + "v": "冒险", + "n": "冒险" + }, + { + "v": "枪战", + "n": "枪战" + }, + { + "v": "恐怖", + "n": "恐怖" + }, + { + "v": "悬疑", + "n": "悬疑" + }, + { + "v": "惊悚", + "n": "惊悚" + }, + { + "v": "经典", + "n": "经典" + }, + { + "v": "青春", + "n": "青春" + }, + { + "v": "文艺", + "n": "文艺" + }, + { + "v": "微电影", + "n": "微电影" + }, + { + "v": "古装", + "n": "古装" + }, + { + "v": "历史", + "n": "历史" + }, + { + "v": "运动", + "n": "运动" + }, + { + "v": "农村", + "n": "农村" + }, + { + "v": "儿童", + "n": "儿童" + }, + { + "v": "网络电影", + "n": "网络电影" + } + ], + "key": "class" + }, + { + "name": "地区", + "value": [ + { + "v": "中国大陆", + "n": "中国大陆" + }, + { + "v": "中国香港", + "n": "中国香港" + }, + { + "v": "中国台湾", + "n": "中国台湾" + }, + { + "v": "美国", + "n": "美国" + }, + { + "v": "法国", + "n": "法国" + }, + { + "v": "英国", + "n": "英国" + }, + { + "v": "日本", + "n": "日本" + }, + { + "v": "韩国", + "n": "韩国" + }, + { + "v": "德国", + "n": "德国" + }, + { + "v": "泰国", + "n": "泰国" + }, + { + "v": "印度", + "n": "印度" + }, + { + "v": "意大利", + "n": "意大利" + }, + { + "v": "西班牙", + "n": "西班牙" + }, + { + "v": "加拿大", + "n": "加拿大" + }, + { + "v": "其他", + "n": "其他" + } + ], + "key": "area" + }, + { + "name": "语言", + "value": [ + { + "v": "国语", + "n": "国语" + }, + { + "v": "英语", + "n": "英语" + }, + { + "v": "粤语", + "n": "粤语" + }, + { + "v": "闽南语", + "n": "闽南语" + }, + { + "v": "韩语", + "n": "韩语" + }, + { + "v": "日语", + "n": "日语" + }, + { + "v": "法语", + "n": "法语" + }, + { + "v": "德语", + "n": "德语" + }, + { + "v": "其他", + "n": "其他" + } + ], + "key": "lang" + }, + { + "name": "时间", + "value": [ + { + "v": "2024", + "n": "2024" + }, + { + "v": "2023", + "n": "2023" + }, + { + "v": "2022", + "n": "2022" + }, + { + "v": "2021", + "n": "2021" + }, + { + "v": "2020", + "n": "2020" + }, + { + "v": "2019", + "n": "2019" + }, + { + "v": "2018", + "n": "2018" + }, + { + "v": "2017", + "n": "2017" + }, + { + "v": "2016", + "n": "2016" + }, + { + "v": "2015", + "n": "2015" + }, + { + "v": "2014", + "n": "2014" + }, + { + "v": "2013", + "n": "2013" + }, + { + "v": "2012", + "n": "2012" + }, + { + "v": "2011", + "n": "2011" + }, + { + "v": "2010", + "n": "2010" + } + ], + "key": "year" + }, + { + "name": "字母查找", + "value": [ + { + "v": "A", + "n": "A" + }, + { + "v": "B", + "n": "B" + }, + { + "v": "C", + "n": "C" + }, + { + "v": "D", + "n": "D" + }, + { + "v": "E", + "n": "E" + }, + { + "v": "F", + "n": "F" + }, + { + "v": "G", + "n": "G" + }, + { + "v": "H", + "n": "H" + }, + { + "v": "I", + "n": "I" + }, + { + "v": "J", + "n": "J" + }, + { + "v": "K", + "n": "K" + }, + { + "v": "L", + "n": "L" + }, + { + "v": "M", + "n": "M" + }, + { + "v": "N", + "n": "N" + }, + { + "v": "O", + "n": "O" + }, + { + "v": "P", + "n": "P" + }, + { + "v": "Q", + "n": "Q" + }, + { + "v": "R", + "n": "R" + }, + { + "v": "S", + "n": "S" + }, + { + "v": "T", + "n": "T" + }, + { + "v": "U", + "n": "U" + }, + { + "v": "V", + "n": "V" + }, + { + "v": "W", + "n": "W" + }, + { + "v": "X", + "n": "X" + }, + { + "v": "Y", + "n": "Y" + }, + { + "v": "Z", + "n": "Z" + }, + { + "v": "0-9", + "n": "0-9" + } + ], + "key": "character" + }, + { + "name": "评分排序", + "value": [ + { + "v": "time", + "n": "时间排序" + }, + { + "v": "hits", + "n": "人气排序" + }, + { + "v": "score", + "n": "评分排序" + } + ], + "key": "order" + } + ], + "2": [ + { + "name": "类型", + "value": [ + { + "v": "13", + "n": "国产剧" + }, + { + "v": "14", + "n": "日韩剧" + }, + { + "v": "15", + "n": "欧美剧" + }, + { + "v": "16", + "n": "港台剧" + } + ], + "key": "type" + }, + { + "name": "剧情", + "value": [ + { + "v": "古装", + "n": "古装" + }, + { + "v": "战争", + "n": "战争" + }, + { + "v": "青春偶像", + "n": "青春偶像" + }, + { + "v": "喜剧", + "n": "喜剧" + }, + { + "v": "家庭", + "n": "家庭" + }, + { + "v": "犯罪", + "n": "犯罪" + }, + { + "v": "动作", + "n": "动作" + }, + { + "v": "奇幻", + "n": "奇幻" + }, + { + "v": "剧情", + "n": "剧情" + }, + { + "v": "历史", + "n": "历史" + }, + { + "v": "经典", + "n": "经典" + }, + { + "v": "乡村", + "n": "乡村" + }, + { + "v": "情景", + "n": "情景" + }, + { + "v": "商战", + "n": "商战" + }, + { + "v": "网剧", + "n": "网剧" + }, + { + "v": "其他", + "n": "其他" + } + ], + "key": "class" + }, + { + "name": "地区", + "value": [ + { + "v": "中国大陆", + "n": "中国大陆" + }, + { + "v": "中国香港", + "n": "中国香港" + }, + { + "v": "中国台湾", + "n": "中国台湾" + }, + { + "v": "韩国", + "n": "韩国" + }, + { + "v": "香港", + "n": "香港" + }, + { + "v": "台湾", + "n": "台湾" + }, + { + "v": "日本", + "n": "日本" + }, + { + "v": "美国", + "n": "美国" + }, + { + "v": "泰国", + "n": "泰国" + }, + { + "v": "英国", + "n": "英国" + }, + { + "v": "新加坡", + "n": "新加坡" + }, + { + "v": "其他", + "n": "其他" + } + ], + "key": "area" + }, + { + "name": "语言", + "value": [ + { + "v": "国语", + "n": "国语" + }, + { + "v": "英语", + "n": "英语" + }, + { + "v": "粤语", + "n": "粤语" + }, + { + "v": "闽南语", + "n": "闽南语" + }, + { + "v": "韩语", + "n": "韩语" + }, + { + "v": "日语", + "n": "日语" + }, + { + "v": "其他", + "n": "其他" + } + ], + "key": "lang" + }, + { + "name": "时间", + "value": [ + { + "v": "2024", + "n": "2024" + }, + { + "v": "2023", + "n": "2023" + }, + { + "v": "2022", + "n": "2022" + }, + { + "v": "2021", + "n": "2021" + }, + { + "v": "2020", + "n": "2020" + }, + { + "v": "2019", + "n": "2019" + }, + { + "v": "2018", + "n": "2018" + }, + { + "v": "2017", + "n": "2017" + }, + { + "v": "2016", + "n": "2016" + }, + { + "v": "2015", + "n": "2015" + }, + { + "v": "2014", + "n": "2014" + }, + { + "v": "2013", + "n": "2013" + }, + { + "v": "2012", + "n": "2012" + }, + { + "v": "2011", + "n": "2011" + }, + { + "v": "2010", + "n": "2010" + } + ], + "key": "year" + }, + { + "name": "字母查找", + "value": [ + { + "v": "A", + "n": "A" + }, + { + "v": "B", + "n": "B" + }, + { + "v": "C", + "n": "C" + }, + { + "v": "D", + "n": "D" + }, + { + "v": "E", + "n": "E" + }, + { + "v": "F", + "n": "F" + }, + { + "v": "G", + "n": "G" + }, + { + "v": "H", + "n": "H" + }, + { + "v": "I", + "n": "I" + }, + { + "v": "J", + "n": "J" + }, + { + "v": "K", + "n": "K" + }, + { + "v": "L", + "n": "L" + }, + { + "v": "M", + "n": "M" + }, + { + "v": "N", + "n": "N" + }, + { + "v": "O", + "n": "O" + }, + { + "v": "P", + "n": "P" + }, + { + "v": "Q", + "n": "Q" + }, + { + "v": "R", + "n": "R" + }, + { + "v": "S", + "n": "S" + }, + { + "v": "T", + "n": "T" + }, + { + "v": "U", + "n": "U" + }, + { + "v": "V", + "n": "V" + }, + { + "v": "W", + "n": "W" + }, + { + "v": "X", + "n": "X" + }, + { + "v": "Y", + "n": "Y" + }, + { + "v": "Z", + "n": "Z" + }, + { + "v": "0-9", + "n": "0-9" + } + ], + "key": "character" + }, + { + "name": "评分排序", + "value": [ + { + "v": "time", + "n": "时间排序" + }, + { + "v": "hits", + "n": "人气排序" + }, + { + "v": "score", + "n": "评分排序" + } + ], + "key": "order" + } + ], + "3": [ + { + "name": "类型", + "value": [ + { + "v": "22", + "n": "日韩" + }, + { + "v": "20", + "n": "国产" + }, + { + "v": "21", + "n": "欧美" + } + ], + "key": "type" + }, + { + "name": "时间", + "value": [ + { + "v": "2024", + "n": "2024" + }, + { + "v": "2023", + "n": "2023" + }, + { + "v": "2022", + "n": "2022" + }, + { + "v": "2021", + "n": "2021" + }, + { + "v": "2020", + "n": "2020" + }, + { + "v": "2019", + "n": "2019" + }, + { + "v": "2018", + "n": "2018" + }, + { + "v": "2017", + "n": "2017" + }, + { + "v": "2016", + "n": "2016" + }, + { + "v": "2015", + "n": "2015" + }, + { + "v": "2014", + "n": "2014" + }, + { + "v": "2013", + "n": "2013" + }, + { + "v": "2012", + "n": "2012" + }, + { + "v": "2011", + "n": "2011" + }, + { + "v": "2010", + "n": "2010" + } + ], + "key": "year" + }, + { + "name": "字母查找", + "value": [ + { + "v": "A", + "n": "A" + }, + { + "v": "B", + "n": "B" + }, + { + "v": "C", + "n": "C" + }, + { + "v": "D", + "n": "D" + }, + { + "v": "E", + "n": "E" + }, + { + "v": "F", + "n": "F" + }, + { + "v": "G", + "n": "G" + }, + { + "v": "H", + "n": "H" + }, + { + "v": "I", + "n": "I" + }, + { + "v": "J", + "n": "J" + }, + { + "v": "K", + "n": "K" + }, + { + "v": "L", + "n": "L" + }, + { + "v": "M", + "n": "M" + }, + { + "v": "N", + "n": "N" + }, + { + "v": "O", + "n": "O" + }, + { + "v": "P", + "n": "P" + }, + { + "v": "Q", + "n": "Q" + }, + { + "v": "R", + "n": "R" + }, + { + "v": "S", + "n": "S" + }, + { + "v": "T", + "n": "T" + }, + { + "v": "U", + "n": "U" + }, + { + "v": "V", + "n": "V" + }, + { + "v": "W", + "n": "W" + }, + { + "v": "X", + "n": "X" + }, + { + "v": "Y", + "n": "Y" + }, + { + "v": "Z", + "n": "Z" + }, + { + "v": "0-9", + "n": "0-9" + } + ], + "key": "character" + }, + { + "name": "评分排序", + "value": [ + { + "v": "time", + "n": "时间排序" + }, + { + "v": "hits", + "n": "人气排序" + }, + { + "v": "score", + "n": "评分排序" + } + ], + "key": "order" + } + ], + "4": [ + { + "name": "剧情", + "value": [ + { + "v": "情感", + "n": "情感" + }, + { + "v": "科幻", + "n": "科幻" + }, + { + "v": "热血", + "n": "热血" + }, + { + "v": "推理", + "n": "推理" + }, + { + "v": "搞笑", + "n": "搞笑" + }, + { + "v": "冒险", + "n": "冒险" + }, + { + "v": "萝莉", + "n": "萝莉" + }, + { + "v": "校园", + "n": "校园" + }, + { + "v": "动作", + "n": "动作" + }, + { + "v": "机战", + "n": "机战" + }, + { + "v": "运动", + "n": "运动" + }, + { + "v": "战争", + "n": "战争" + }, + { + "v": "少年", + "n": "少年" + }, + { + "v": "少女", + "n": "少女" + }, + { + "v": "社会", + "n": "社会" + }, + { + "v": "原创", + "n": "原创" + }, + { + "v": "亲子", + "n": "亲子" + }, + { + "v": "益智", + "n": "益智" + }, + { + "v": "励志", + "n": "励志" + }, + { + "v": "其他", + "n": "其他" + } + ], + "key": "class" + }, + { + "name": "地区", + "value": [ + { + "v": "国产", + "n": "国产" + }, + { + "v": "日本", + "n": "日本" + }, + { + "v": "欧美", + "n": "欧美" + }, + { + "v": "其他", + "n": "其他" + } + ], + "key": "area" + }, + { + "name": "语言", + "value": [ + { + "v": "国语", + "n": "国语" + }, + { + "v": "英语", + "n": "英语" + }, + { + "v": "粤语", + "n": "粤语" + }, + { + "v": "闽南语", + "n": "闽南语" + }, + { + "v": "韩语", + "n": "韩语" + }, + { + "v": "日语", + "n": "日语" + }, + { + "v": "其它", + "n": "其它" + } + ], + "key": "lang" + }, + { + "name": "时间", + "value": [ + { + "v": "2024", + "n": "2024" + }, + { + "v": "2023", + "n": "2023" + }, + { + "v": "2022", + "n": "2022" + }, + { + "v": "2021", + "n": "2021" + }, + { + "v": "2020", + "n": "2020" + }, + { + "v": "2019", + "n": "2019" + }, + { + "v": "2018", + "n": "2018" + }, + { + "v": "2017", + "n": "2017" + }, + { + "v": "2016", + "n": "2016" + }, + { + "v": "2015", + "n": "2015" + }, + { + "v": "2014", + "n": "2014" + }, + { + "v": "2013", + "n": "2013" + }, + { + "v": "2012", + "n": "2012" + }, + { + "v": "2011", + "n": "2011" + }, + { + "v": "2010", + "n": "2010" + } + ], + "key": "year" + }, + { + "name": "字母查找", + "value": [ + { + "v": "A", + "n": "A" + }, + { + "v": "B", + "n": "B" + }, + { + "v": "C", + "n": "C" + }, + { + "v": "D", + "n": "D" + }, + { + "v": "E", + "n": "E" + }, + { + "v": "F", + "n": "F" + }, + { + "v": "G", + "n": "G" + }, + { + "v": "H", + "n": "H" + }, + { + "v": "I", + "n": "I" + }, + { + "v": "J", + "n": "J" + }, + { + "v": "K", + "n": "K" + }, + { + "v": "L", + "n": "L" + }, + { + "v": "M", + "n": "M" + }, + { + "v": "N", + "n": "N" + }, + { + "v": "O", + "n": "O" + }, + { + "v": "P", + "n": "P" + }, + { + "v": "Q", + "n": "Q" + }, + { + "v": "R", + "n": "R" + }, + { + "v": "S", + "n": "S" + }, + { + "v": "T", + "n": "T" + }, + { + "v": "U", + "n": "U" + }, + { + "v": "V", + "n": "V" + }, + { + "v": "W", + "n": "W" + }, + { + "v": "X", + "n": "X" + }, + { + "v": "Y", + "n": "Y" + }, + { + "v": "Z", + "n": "Z" + }, + { + "v": "0-9", + "n": "0-9" + } + ], + "key": "character" + }, + { + "name": "评分排序", + "value": [ + { + "v": "time", + "n": "时间排序" + }, + { + "v": "hits", + "n": "人气排序" + }, + { + "v": "score", + "n": "评分排序" + } + ], + "key": "order" + } + ], + "24": [ + { + "name": "类型", + "value": [ + { + "v": "26", + "n": "4K电影" + }, + { + "v": "27", + "n": "4K剧集" + }, + { + "v": "28", + "n": "4K动漫" + } + ], + "key": "type" + }, + { + "name": "地区", + "value": [ + { + "v": "中国", + "n": "中国" + }, + { + "v": "其他", + "n": "其他" + } + ], + "key": "area" + }, + { + "name": "时间", + "value": [ + { + "v": "2024", + "n": "2024" + }, + { + "v": "2023", + "n": "2023" + }, + { + "v": "2022", + "n": "2022" + }, + { + "v": "2021", + "n": "2021" + }, + { + "v": "2020", + "n": "2020" + }, + { + "v": "2019", + "n": "2019" + }, + { + "v": "2018", + "n": "2018" + }, + { + "v": "2017", + "n": "2017" + }, + { + "v": "2016", + "n": "2016" + }, + { + "v": "2015", + "n": "2015" + }, + { + "v": "2014", + "n": "2014" + }, + { + "v": "2013", + "n": "2013" + }, + { + "v": "2012", + "n": "2012" + }, + { + "v": "2011", + "n": "2011" + } + ], + "key": "year" + }, + { + "name": "字母查找", + "value": [ + { + "v": "A", + "n": "A" + }, + { + "v": "B", + "n": "B" + }, + { + "v": "C", + "n": "C" + }, + { + "v": "D", + "n": "D" + }, + { + "v": "E", + "n": "E" + }, + { + "v": "F", + "n": "F" + }, + { + "v": "G", + "n": "G" + }, + { + "v": "H", + "n": "H" + }, + { + "v": "I", + "n": "I" + }, + { + "v": "J", + "n": "J" + }, + { + "v": "K", + "n": "K" + }, + { + "v": "L", + "n": "L" + }, + { + "v": "M", + "n": "M" + }, + { + "v": "N", + "n": "N" + }, + { + "v": "O", + "n": "O" + }, + { + "v": "P", + "n": "P" + }, + { + "v": "Q", + "n": "Q" + }, + { + "v": "R", + "n": "R" + }, + { + "v": "S", + "n": "S" + }, + { + "v": "T", + "n": "T" + }, + { + "v": "U", + "n": "U" + }, + { + "v": "V", + "n": "V" + }, + { + "v": "W", + "n": "W" + }, + { + "v": "X", + "n": "X" + }, + { + "v": "Y", + "n": "Y" + }, + { + "v": "Z", + "n": "Z" + }, + { + "v": "0-9", + "n": "0-9" + } + ], + "key": "character" + }, + { + "name": "评分排序", + "value": [ + { + "v": "time", + "n": "时间排序" + }, + { + "v": "hits", + "n": "人气排序" + }, + { + "v": "score", + "n": "评分排序" + } + ], + "key": "order" + } + ] + } +} \ No newline at end of file diff --git a/xiaosa/json/lj.json b/xiaosa/json/lj.json new file mode 100644 index 00000000..ca10862c --- /dev/null +++ b/xiaosa/json/lj.json @@ -0,0 +1,33 @@ +{ + "SiteUrl": "https://www.leijing1.com", + "Classes": [ + { + "type_name": "电影", + "type_id": "42204681950354" + }, + { + "type_name": "剧集", + "type_id": "42204684250355" + }, + { + "type_name": "影视原盘", + "type_id": "42212287587456" + }, + { + "type_name": "综艺", + "type_id": "42210356650363" + }, + { + "type_name": "动漫", + "type_id": "42204792950357" + }, + { + "type_name": "纪录片", + "type_id": "42204697150356" + }, + { + "type_name": "演唱会", + "type_id": "42317879720298" + } + ] +} \ No newline at end of file diff --git a/xiaosa/json/mogg.json b/xiaosa/json/mogg.json new file mode 100644 index 00000000..bf40e526 --- /dev/null +++ b/xiaosa/json/mogg.json @@ -0,0 +1,1457 @@ +{ + "SiteUrl": "https://mo.muouso.fun", + "Domains": [ + "https://mo.muouso.fun", + "https://mogg.deno.dev" + ], + "SiteWord": "mogg", + "SiteName": "木偶", + "Classes": [ + { + "type_name": "电影", + "type_id": "1" + }, + { + "type_name": "剧集", + "type_id": "2" + }, + { + "type_name": "综艺", + "type_id": "25" + }, + { + "type_name": "动漫", + "type_id": "3" + }, + { + "type_name": "纪录片", + "type_id": "4" + } + ], + "Filters": { + "1": [ + { + "name": "剧情", + "value": [ + { + "v": "喜剧", + "n": "喜剧" + }, + { + "v": "爱情", + "n": "爱情" + }, + { + "v": "恐怖", + "n": "恐怖" + }, + { + "v": "动作", + "n": "动作" + }, + { + "v": "科幻", + "n": "科幻" + }, + { + "v": "剧情", + "n": "剧情" + }, + { + "v": "战争", + "n": "战争" + }, + { + "v": "警匪", + "n": "警匪" + }, + { + "v": "犯罪", + "n": "犯罪" + }, + { + "v": "动画", + "n": "动画" + }, + { + "v": "奇幻", + "n": "奇幻" + }, + { + "v": "武侠", + "n": "武侠" + }, + { + "v": "冒险", + "n": "冒险" + }, + { + "v": "枪战", + "n": "枪战" + }, + { + "v": "恐怖", + "n": "恐怖" + }, + { + "v": "悬疑", + "n": "悬疑" + }, + { + "v": "惊悚", + "n": "惊悚" + }, + { + "v": "经典", + "n": "经典" + }, + { + "v": "青春", + "n": "青春" + }, + { + "v": "文艺", + "n": "文艺" + }, + { + "v": "微电影", + "n": "微电影" + }, + { + "v": "古装", + "n": "古装" + }, + { + "v": "历史", + "n": "历史" + }, + { + "v": "运动", + "n": "运动" + }, + { + "v": "农村", + "n": "农村" + }, + { + "v": "儿童", + "n": "儿童" + }, + { + "v": "网络电影", + "n": "网络电影" + } + ], + "key": "class" + }, + { + "name": "地区", + "value": [ + { + "v": "大陆", + "n": "大陆" + }, + { + "v": "香港", + "n": "香港" + }, + { + "v": "台湾", + "n": "台湾" + }, + { + "v": "美国", + "n": "美国" + }, + { + "v": "法国", + "n": "法国" + }, + { + "v": "英国", + "n": "英国" + }, + { + "v": "日本", + "n": "日本" + }, + { + "v": "韩国", + "n": "韩国" + }, + { + "v": "德国", + "n": "德国" + }, + { + "v": "泰国", + "n": "泰国" + }, + { + "v": "印度", + "n": "印度" + }, + { + "v": "意大利", + "n": "意大利" + }, + { + "v": "西班牙", + "n": "西班牙" + }, + { + "v": "加拿大", + "n": "加拿大" + }, + { + "v": "其他", + "n": "其他" + } + ], + "key": "area" + }, + { + "name": "语言", + "value": [ + { + "v": "国语", + "n": "国语" + }, + { + "v": "英语", + "n": "英语" + }, + { + "v": "粤语", + "n": "粤语" + }, + { + "v": "闽南语", + "n": "闽南语" + }, + { + "v": "韩语", + "n": "韩语" + }, + { + "v": "日语", + "n": "日语" + }, + { + "v": "法语", + "n": "法语" + }, + { + "v": "德语", + "n": "德语" + }, + { + "v": "其它", + "n": "其它" + } + ], + "key": "lang" + }, + { + "name": "时间", + "value": [ + { + "v": "2024", + "n": "2024" + }, + { + "v": "2023", + "n": "2023" + }, + { + "v": "2022", + "n": "2022" + }, + { + "v": "2021", + "n": "2021" + }, + { + "v": "2020", + "n": "2020" + }, + { + "v": "2019", + "n": "2019" + }, + { + "v": "2018", + "n": "2018" + }, + { + "v": "2017", + "n": "2017" + }, + { + "v": "2016", + "n": "2016" + }, + { + "v": "2015", + "n": "2015" + }, + { + "v": "2014", + "n": "2014" + }, + { + "v": "2013", + "n": "2013" + }, + { + "v": "2012", + "n": "2012" + }, + { + "v": "2011", + "n": "2011" + }, + { + "v": "2010", + "n": "2010" + } + ], + "key": "year" + }, + { + "name": "字母查找", + "value": [ + { + "v": "A", + "n": "A" + }, + { + "v": "B", + "n": "B" + }, + { + "v": "C", + "n": "C" + }, + { + "v": "D", + "n": "D" + }, + { + "v": "E", + "n": "E" + }, + { + "v": "F", + "n": "F" + }, + { + "v": "G", + "n": "G" + }, + { + "v": "H", + "n": "H" + }, + { + "v": "I", + "n": "I" + }, + { + "v": "J", + "n": "J" + }, + { + "v": "K", + "n": "K" + }, + { + "v": "L", + "n": "L" + }, + { + "v": "M", + "n": "M" + }, + { + "v": "N", + "n": "N" + }, + { + "v": "O", + "n": "O" + }, + { + "v": "P", + "n": "P" + }, + { + "v": "Q", + "n": "Q" + }, + { + "v": "R", + "n": "R" + }, + { + "v": "S", + "n": "S" + }, + { + "v": "T", + "n": "T" + }, + { + "v": "U", + "n": "U" + }, + { + "v": "V", + "n": "V" + }, + { + "v": "W", + "n": "W" + }, + { + "v": "X", + "n": "X" + }, + { + "v": "Y", + "n": "Y" + }, + { + "v": "Z", + "n": "Z" + }, + { + "v": "0-9", + "n": "0-9" + } + ], + "key": "character" + }, + { + "name": "评分排序", + "value": [ + { + "v": "time", + "n": "时间排序" + }, + { + "v": "hits", + "n": "人气排序" + }, + { + "v": "score", + "n": "评分排序" + } + ], + "key": "order" + } + ], + "2": [ + { + "name": "类型", + "value": [ + { + "v": "13", + "n": "国产剧" + }, + { + "v": "14", + "n": "欧美剧" + }, + { + "v": "15", + "n": "日韩剧" + }, + { + "v": "16", + "n": "港台剧" + }, + { + "v": "23", + "n": "泰剧" + } + ], + "key": "type" + }, + { + "name": "剧情", + "value": [ + { + "v": "古装", + "n": "古装" + }, + { + "v": "战争", + "n": "战争" + }, + { + "v": "青春偶像", + "n": "青春偶像" + }, + { + "v": "喜剧", + "n": "喜剧" + }, + { + "v": "家庭", + "n": "家庭" + }, + { + "v": "犯罪", + "n": "犯罪" + }, + { + "v": "动作", + "n": "动作" + }, + { + "v": "奇幻", + "n": "奇幻" + }, + { + "v": "剧情", + "n": "剧情" + }, + { + "v": "历史", + "n": "历史" + }, + { + "v": "经典", + "n": "经典" + }, + { + "v": "乡村", + "n": "乡村" + }, + { + "v": "情景", + "n": "情景" + }, + { + "v": "商战", + "n": "商战" + }, + { + "v": "网剧", + "n": "网剧" + }, + { + "v": "其他", + "n": "其他" + } + ], + "key": "class" + }, + { + "name": "地区", + "value": [ + { + "v": "中国大陆", + "n": "中国大陆" + }, + { + "v": "大陆", + "n": "大陆" + }, + { + "v": "内地", + "n": "内地" + }, + { + "v": "韩国", + "n": "韩国" + }, + { + "v": "香港", + "n": "香港" + }, + { + "v": "台湾", + "n": "台湾" + }, + { + "v": "日本", + "n": "日本" + }, + { + "v": "美国", + "n": "美国" + }, + { + "v": "泰国", + "n": "泰国" + }, + { + "v": "英国", + "n": "英国" + }, + { + "v": "新加坡", + "n": "新加坡" + }, + { + "v": "其他", + "n": "其他" + } + ], + "key": "area" + }, + { + "name": "语言", + "value": [ + { + "v": "国语", + "n": "国语" + }, + { + "v": "英语", + "n": "英语" + }, + { + "v": "粤语", + "n": "粤语" + }, + { + "v": "闽南语", + "n": "闽南语" + }, + { + "v": "韩语", + "n": "韩语" + }, + { + "v": "日语", + "n": "日语" + }, + { + "v": "其它", + "n": "其它" + } + ], + "key": "lang" + }, + { + "name": "时间", + "value": [ + { + "v": "2024", + "n": "2024" + }, + { + "v": "2023", + "n": "2023" + }, + { + "v": "2022", + "n": "2022" + }, + { + "v": "2021", + "n": "2021" + }, + { + "v": "2020", + "n": "2020" + }, + { + "v": "2019", + "n": "2019" + }, + { + "v": "2018", + "n": "2018" + }, + { + "v": "2017", + "n": "2017" + }, + { + "v": "2016", + "n": "2016" + }, + { + "v": "2015", + "n": "2015" + }, + { + "v": "2014", + "n": "2014" + }, + { + "v": "2013", + "n": "2013" + }, + { + "v": "2012", + "n": "2012" + }, + { + "v": "2011", + "n": "2011" + }, + { + "v": "2010", + "n": "2010" + } + ], + "key": "year" + }, + { + "name": "字母查找", + "value": [ + { + "v": "A", + "n": "A" + }, + { + "v": "B", + "n": "B" + }, + { + "v": "C", + "n": "C" + }, + { + "v": "D", + "n": "D" + }, + { + "v": "E", + "n": "E" + }, + { + "v": "F", + "n": "F" + }, + { + "v": "G", + "n": "G" + }, + { + "v": "H", + "n": "H" + }, + { + "v": "I", + "n": "I" + }, + { + "v": "J", + "n": "J" + }, + { + "v": "K", + "n": "K" + }, + { + "v": "L", + "n": "L" + }, + { + "v": "M", + "n": "M" + }, + { + "v": "N", + "n": "N" + }, + { + "v": "O", + "n": "O" + }, + { + "v": "P", + "n": "P" + }, + { + "v": "Q", + "n": "Q" + }, + { + "v": "R", + "n": "R" + }, + { + "v": "S", + "n": "S" + }, + { + "v": "T", + "n": "T" + }, + { + "v": "U", + "n": "U" + }, + { + "v": "V", + "n": "V" + }, + { + "v": "W", + "n": "W" + }, + { + "v": "X", + "n": "X" + }, + { + "v": "Y", + "n": "Y" + }, + { + "v": "Z", + "n": "Z" + }, + { + "v": "0-9", + "n": "0-9" + } + ], + "key": "character" + }, + { + "name": "评分排序", + "value": [ + { + "v": "time", + "n": "时间排序" + }, + { + "v": "hits", + "n": "人气排序" + }, + { + "v": "score", + "n": "评分排序" + } + ], + "key": "order" + } + ], + "3": [ + { + "name": "类型", + "value": [ + { + "v": "20", + "n": "国产" + }, + { + "v": "21", + "n": "日韩" + }, + { + "v": "22", + "n": "欧美" + } + ], + "key": "type" + }, + { + "name": "时间", + "value": [ + { + "v": "2024", + "n": "2024" + }, + { + "v": "2023", + "n": "2023" + }, + { + "v": "2022", + "n": "2022" + }, + { + "v": "2021", + "n": "2021" + }, + { + "v": "2020", + "n": "2020" + }, + { + "v": "2019", + "n": "2019" + }, + { + "v": "2018", + "n": "2018" + }, + { + "v": "2017", + "n": "2017" + }, + { + "v": "2016", + "n": "2016" + }, + { + "v": "2015", + "n": "2015" + }, + { + "v": "2014", + "n": "2014" + }, + { + "v": "2013", + "n": "2013" + }, + { + "v": "2012", + "n": "2012" + }, + { + "v": "2011", + "n": "2011" + }, + { + "v": "2010", + "n": "2010" + } + ], + "key": "year" + }, + { + "name": "字母查找", + "value": [ + { + "v": "A", + "n": "A" + }, + { + "v": "B", + "n": "B" + }, + { + "v": "C", + "n": "C" + }, + { + "v": "D", + "n": "D" + }, + { + "v": "E", + "n": "E" + }, + { + "v": "F", + "n": "F" + }, + { + "v": "G", + "n": "G" + }, + { + "v": "H", + "n": "H" + }, + { + "v": "I", + "n": "I" + }, + { + "v": "J", + "n": "J" + }, + { + "v": "K", + "n": "K" + }, + { + "v": "L", + "n": "L" + }, + { + "v": "M", + "n": "M" + }, + { + "v": "N", + "n": "N" + }, + { + "v": "O", + "n": "O" + }, + { + "v": "P", + "n": "P" + }, + { + "v": "Q", + "n": "Q" + }, + { + "v": "R", + "n": "R" + }, + { + "v": "S", + "n": "S" + }, + { + "v": "T", + "n": "T" + }, + { + "v": "U", + "n": "U" + }, + { + "v": "V", + "n": "V" + }, + { + "v": "W", + "n": "W" + }, + { + "v": "X", + "n": "X" + }, + { + "v": "Y", + "n": "Y" + }, + { + "v": "Z", + "n": "Z" + }, + { + "v": "0-9", + "n": "0-9" + } + ], + "key": "character" + }, + { + "name": "评分排序", + "value": [ + { + "v": "time", + "n": "时间排序" + }, + { + "v": "hits", + "n": "人气排序" + }, + { + "v": "score", + "n": "评分排序" + } + ], + "key": "order" + } + ], + "25": [ + { + "name": "时间", + "value": [ + { + "v": "2024", + "n": "2024" + }, + { + "v": "2023", + "n": "2023" + }, + { + "v": "2022", + "n": "2022" + }, + { + "v": "2021", + "n": "2021" + }, + { + "v": "2020", + "n": "2020" + }, + { + "v": "2019", + "n": "2019" + }, + { + "v": "2018", + "n": "2018" + }, + { + "v": "2017", + "n": "2017" + }, + { + "v": "2016", + "n": "2016" + }, + { + "v": "2015", + "n": "2015" + }, + { + "v": "2014", + "n": "2014" + }, + { + "v": "2013", + "n": "2013" + }, + { + "v": "2012", + "n": "2012" + }, + { + "v": "2011", + "n": "2011" + }, + { + "v": "2010", + "n": "2010" + } + ], + "key": "year" + }, + { + "name": "字母查找", + "value": [ + { + "v": "A", + "n": "A" + }, + { + "v": "B", + "n": "B" + }, + { + "v": "C", + "n": "C" + }, + { + "v": "D", + "n": "D" + }, + { + "v": "E", + "n": "E" + }, + { + "v": "F", + "n": "F" + }, + { + "v": "G", + "n": "G" + }, + { + "v": "H", + "n": "H" + }, + { + "v": "I", + "n": "I" + }, + { + "v": "J", + "n": "J" + }, + { + "v": "K", + "n": "K" + }, + { + "v": "L", + "n": "L" + }, + { + "v": "M", + "n": "M" + }, + { + "v": "N", + "n": "N" + }, + { + "v": "O", + "n": "O" + }, + { + "v": "P", + "n": "P" + }, + { + "v": "Q", + "n": "Q" + }, + { + "v": "R", + "n": "R" + }, + { + "v": "S", + "n": "S" + }, + { + "v": "T", + "n": "T" + }, + { + "v": "U", + "n": "U" + }, + { + "v": "V", + "n": "V" + }, + { + "v": "W", + "n": "W" + }, + { + "v": "X", + "n": "X" + }, + { + "v": "Y", + "n": "Y" + }, + { + "v": "Z", + "n": "Z" + }, + { + "v": "0-9", + "n": "0-9" + } + ], + "key": "character" + }, + { + "name": "评分排序", + "value": [ + { + "v": "time", + "n": "时间排序" + }, + { + "v": "hits", + "n": "人气排序" + }, + { + "v": "score", + "n": "评分排序" + } + ], + "key": "order" + } + ], + "4": [ + { + "name": "时间", + "value": [ + { + "v": "2024", + "n": "2024" + }, + { + "v": "2023", + "n": "2023" + }, + { + "v": "2022", + "n": "2022" + }, + { + "v": "2021", + "n": "2021" + }, + { + "v": "2020", + "n": "2020" + }, + { + "v": "2019", + "n": "2019" + }, + { + "v": "2018", + "n": "2018" + }, + { + "v": "2017", + "n": "2017" + }, + { + "v": "2016", + "n": "2016" + }, + { + "v": "2015", + "n": "2015" + }, + { + "v": "2014", + "n": "2014" + }, + { + "v": "2013", + "n": "2013" + }, + { + "v": "2012", + "n": "2012" + }, + { + "v": "2011", + "n": "2011" + }, + { + "v": "2010", + "n": "2010" + } + ], + "key": "year" + }, + { + "name": "字母查找", + "value": [ + { + "v": "A", + "n": "A" + }, + { + "v": "B", + "n": "B" + }, + { + "v": "C", + "n": "C" + }, + { + "v": "D", + "n": "D" + }, + { + "v": "E", + "n": "E" + }, + { + "v": "F", + "n": "F" + }, + { + "v": "G", + "n": "G" + }, + { + "v": "H", + "n": "H" + }, + { + "v": "I", + "n": "I" + }, + { + "v": "J", + "n": "J" + }, + { + "v": "K", + "n": "K" + }, + { + "v": "L", + "n": "L" + }, + { + "v": "M", + "n": "M" + }, + { + "v": "N", + "n": "N" + }, + { + "v": "O", + "n": "O" + }, + { + "v": "P", + "n": "P" + }, + { + "v": "Q", + "n": "Q" + }, + { + "v": "R", + "n": "R" + }, + { + "v": "S", + "n": "S" + }, + { + "v": "T", + "n": "T" + }, + { + "v": "U", + "n": "U" + }, + { + "v": "V", + "n": "V" + }, + { + "v": "W", + "n": "W" + }, + { + "v": "X", + "n": "X" + }, + { + "v": "Y", + "n": "Y" + }, + { + "v": "Z", + "n": "Z" + }, + { + "v": "0-9", + "n": "0-9" + } + ], + "key": "character" + }, + { + "name": "评分排序", + "value": [ + { + "v": "time", + "n": "时间排序" + }, + { + "v": "hits", + "n": "人气排序" + }, + { + "v": "score", + "n": "评分排序" + } + ], + "key": "order" + } + ] + } +} \ No newline at end of file diff --git a/xiaosa/json/og.json b/xiaosa/json/og.json new file mode 100644 index 00000000..98e88469 --- /dev/null +++ b/xiaosa/json/og.json @@ -0,0 +1,1456 @@ +{ + "SiteUrl": "https://woog.nxog.eu.org", + "Domains": [], + "SiteWord": "og", + "SiteName": "欧歌", + "Classes": [ + { + "type_name": "电影", + "type_id": "1" + }, + { + "type_name": "剧集", + "type_id": "2" + }, + { + "type_name": "动漫", + "type_id": "3" + }, + { + "type_name": "综艺", + "type_id": "4" + }, + { + "type_name": "短剧", + "type_id": "5" + } + ], + "Filters": { + "3": [ + { + "name": "类型", + "value": [ + { + "v": "37", + "n": "日韩动漫" + }, + { + "v": "38", + "n": "欧美动漫" + }, + { + "v": "36", + "n": "国产动漫" + } + ], + "key": "type" + }, + { + "name": "剧情", + "value": [ + { + "v": "古装", + "n": "古装" + }, + { + "v": "战争", + "n": "战争" + }, + { + "v": "青春偶像", + "n": "青春偶像" + }, + { + "v": "喜剧", + "n": "喜剧" + }, + { + "v": "家庭", + "n": "家庭" + }, + { + "v": "犯罪", + "n": "犯罪" + }, + { + "v": "动作", + "n": "动作" + }, + { + "v": "奇幻", + "n": "奇幻" + }, + { + "v": "剧情", + "n": "剧情" + }, + { + "v": "历史", + "n": "历史" + }, + { + "v": "经典", + "n": "经典" + }, + { + "v": "乡村", + "n": "乡村" + }, + { + "v": "情景", + "n": "情景" + }, + { + "v": "商战", + "n": "商战" + }, + { + "v": "网剧", + "n": "网剧" + }, + { + "v": "其他", + "n": "其他" + } + ], + "key": "class" + }, + { + "name": "地区", + "value": [ + { + "v": "内地", + "n": "内地" + }, + { + "v": "韩国", + "n": "韩国" + }, + { + "v": "香港", + "n": "香港" + }, + { + "v": "台湾", + "n": "台湾" + }, + { + "v": "日本", + "n": "日本" + }, + { + "v": "美国", + "n": "美国" + }, + { + "v": "泰国", + "n": "泰国" + }, + { + "v": "英国", + "n": "英国" + }, + { + "v": "新加坡", + "n": "新加坡" + }, + { + "v": "其他", + "n": "其他" + } + ], + "key": "area" + }, + { + "name": "语言", + "value": [ + { + "v": "国语", + "n": "国语" + }, + { + "v": "英语", + "n": "英语" + }, + { + "v": "粤语", + "n": "粤语" + }, + { + "v": "闽南语", + "n": "闽南语" + }, + { + "v": "韩语", + "n": "韩语" + }, + { + "v": "日语", + "n": "日语" + }, + { + "v": "其它", + "n": "其它" + } + ], + "key": "lang" + }, + { + "name": "时间", + "value": [ + { + "v": "2024", + "n": "2024" + }, + { + "v": "2023", + "n": "2023" + }, + { + "v": "2022", + "n": "2022" + }, + { + "v": "2021", + "n": "2021" + }, + { + "v": "2020", + "n": "2020" + }, + { + "v": "2019", + "n": "2019" + }, + { + "v": "2018", + "n": "2018" + }, + { + "v": "2017", + "n": "2017" + }, + { + "v": "2016", + "n": "2016" + }, + { + "v": "2015", + "n": "2015" + }, + { + "v": "2014", + "n": "2014" + }, + { + "v": "2013", + "n": "2013" + }, + { + "v": "2012", + "n": "2012" + }, + { + "v": "2011", + "n": "2011" + }, + { + "v": "2010", + "n": "2010" + } + ], + "key": "year" + }, + { + "name": "字母查找", + "value": [ + { + "v": "A", + "n": "A" + }, + { + "v": "B", + "n": "B" + }, + { + "v": "C", + "n": "C" + }, + { + "v": "D", + "n": "D" + }, + { + "v": "E", + "n": "E" + }, + { + "v": "F", + "n": "F" + }, + { + "v": "G", + "n": "G" + }, + { + "v": "H", + "n": "H" + }, + { + "v": "I", + "n": "I" + }, + { + "v": "J", + "n": "J" + }, + { + "v": "K", + "n": "K" + }, + { + "v": "L", + "n": "L" + }, + { + "v": "M", + "n": "M" + }, + { + "v": "N", + "n": "N" + }, + { + "v": "O", + "n": "O" + }, + { + "v": "P", + "n": "P" + }, + { + "v": "Q", + "n": "Q" + }, + { + "v": "R", + "n": "R" + }, + { + "v": "S", + "n": "S" + }, + { + "v": "T", + "n": "T" + }, + { + "v": "U", + "n": "U" + }, + { + "v": "V", + "n": "V" + }, + { + "v": "W", + "n": "W" + }, + { + "v": "X", + "n": "X" + }, + { + "v": "Y", + "n": "Y" + }, + { + "v": "Z", + "n": "Z" + }, + { + "v": "0-9", + "n": "0-9" + } + ], + "key": "character" + }, + { + "name": "评分排序", + "value": [ + { + "v": "time", + "n": "时间排序" + }, + { + "v": "hits", + "n": "人气排序" + }, + { + "v": "score", + "n": "评分排序" + } + ], + "key": "order" + } + ], + "4": [ + { + "name": "类型", + "value": [ + { + "v": "39", + "n": "国产综艺" + }, + { + "v": "40", + "n": "其他综艺" + } + ], + "key": "type" + }, + { + "name": "时间", + "value": [ + { + "v": "2024", + "n": "2024" + }, + { + "v": "2023", + "n": "2023" + }, + { + "v": "2022", + "n": "2022" + }, + { + "v": "2021", + "n": "2021" + }, + { + "v": "2020", + "n": "2020" + }, + { + "v": "2019", + "n": "2019" + }, + { + "v": "2018", + "n": "2018" + }, + { + "v": "2017", + "n": "2017" + }, + { + "v": "2016", + "n": "2016" + }, + { + "v": "2015", + "n": "2015" + }, + { + "v": "2014", + "n": "2014" + }, + { + "v": "2013", + "n": "2013" + }, + { + "v": "2012", + "n": "2012" + }, + { + "v": "2011", + "n": "2011" + }, + { + "v": "2010", + "n": "2010" + } + ], + "key": "year" + }, + { + "name": "字母查找", + "value": [ + { + "v": "A", + "n": "A" + }, + { + "v": "B", + "n": "B" + }, + { + "v": "C", + "n": "C" + }, + { + "v": "D", + "n": "D" + }, + { + "v": "E", + "n": "E" + }, + { + "v": "F", + "n": "F" + }, + { + "v": "G", + "n": "G" + }, + { + "v": "H", + "n": "H" + }, + { + "v": "I", + "n": "I" + }, + { + "v": "J", + "n": "J" + }, + { + "v": "K", + "n": "K" + }, + { + "v": "L", + "n": "L" + }, + { + "v": "M", + "n": "M" + }, + { + "v": "N", + "n": "N" + }, + { + "v": "O", + "n": "O" + }, + { + "v": "P", + "n": "P" + }, + { + "v": "Q", + "n": "Q" + }, + { + "v": "R", + "n": "R" + }, + { + "v": "S", + "n": "S" + }, + { + "v": "T", + "n": "T" + }, + { + "v": "U", + "n": "U" + }, + { + "v": "V", + "n": "V" + }, + { + "v": "W", + "n": "W" + }, + { + "v": "X", + "n": "X" + }, + { + "v": "Y", + "n": "Y" + }, + { + "v": "Z", + "n": "Z" + }, + { + "v": "0-9", + "n": "0-9" + } + ], + "key": "character" + }, + { + "name": "评分排序", + "value": [ + { + "v": "time", + "n": "时间排序" + }, + { + "v": "hits", + "n": "人气排序" + }, + { + "v": "score", + "n": "评分排序" + } + ], + "key": "order" + } + ], + "1": [ + { + "name": "类型", + "value": [ + { + "v": "25", + "n": "科幻" + }, + { + "v": "26", + "n": "战争" + }, + { + "v": "27", + "n": "爱情" + }, + { + "v": "28", + "n": "恐怖" + }, + { + "v": "29", + "n": "院线" + }, + { + "v": "30", + "n": "其他" + } + ], + "key": "type" + }, + { + "name": "剧情", + "value": [ + { + "v": "喜剧", + "n": "喜剧" + }, + { + "v": "爱情", + "n": "爱情" + }, + { + "v": "恐怖", + "n": "恐怖" + }, + { + "v": "动作", + "n": "动作" + }, + { + "v": "科幻", + "n": "科幻" + }, + { + "v": "剧情", + "n": "剧情" + }, + { + "v": "战争", + "n": "战争" + }, + { + "v": "警匪", + "n": "警匪" + }, + { + "v": "犯罪", + "n": "犯罪" + }, + { + "v": "动画", + "n": "动画" + }, + { + "v": "奇幻", + "n": "奇幻" + }, + { + "v": "武侠", + "n": "武侠" + }, + { + "v": "冒险", + "n": "冒险" + }, + { + "v": "枪战", + "n": "枪战" + }, + { + "v": "恐怖", + "n": "恐怖" + }, + { + "v": "悬疑", + "n": "悬疑" + }, + { + "v": "惊悚", + "n": "惊悚" + }, + { + "v": "经典", + "n": "经典" + }, + { + "v": "青春", + "n": "青春" + }, + { + "v": "文艺", + "n": "文艺" + }, + { + "v": "微电影", + "n": "微电影" + }, + { + "v": "古装", + "n": "古装" + }, + { + "v": "历史", + "n": "历史" + }, + { + "v": "运动", + "n": "运动" + }, + { + "v": "农村", + "n": "农村" + }, + { + "v": "儿童", + "n": "儿童" + }, + { + "v": "网络电影", + "n": "网络电影" + } + ], + "key": "class" + }, + { + "name": "地区", + "value": [ + { + "v": "内地", + "n": "内地" + }, + { + "v": "韩国", + "n": "韩国" + }, + { + "v": "香港", + "n": "香港" + }, + { + "v": "台湾", + "n": "台湾" + }, + { + "v": "日本", + "n": "日本" + }, + { + "v": "美国", + "n": "美国" + }, + { + "v": "泰国", + "n": "泰国" + }, + { + "v": "英国", + "n": "英国" + }, + { + "v": "新加坡", + "n": "新加坡" + }, + { + "v": "其他", + "n": "其他" + } + ], + "key": "area" + }, + { + "name": "语言", + "value": [ + { + "v": "国语", + "n": "国语" + }, + { + "v": "英语", + "n": "英语" + }, + { + "v": "粤语", + "n": "粤语" + }, + { + "v": "闽南语", + "n": "闽南语" + }, + { + "v": "韩语", + "n": "韩语" + }, + { + "v": "日语", + "n": "日语" + }, + { + "v": "其它", + "n": "其它" + } + ], + "key": "lang" + }, + { + "name": "时间", + "value": [ + { + "v": "2024", + "n": "2024" + }, + { + "v": "2023", + "n": "2023" + }, + { + "v": "2022", + "n": "2022" + }, + { + "v": "2021", + "n": "2021" + }, + { + "v": "2020", + "n": "2020" + }, + { + "v": "2019", + "n": "2019" + }, + { + "v": "2018", + "n": "2018" + }, + { + "v": "2017", + "n": "2017" + }, + { + "v": "2016", + "n": "2016" + }, + { + "v": "2015", + "n": "2015" + }, + { + "v": "2014", + "n": "2014" + }, + { + "v": "2013", + "n": "2013" + }, + { + "v": "2012", + "n": "2012" + }, + { + "v": "2011", + "n": "2011" + }, + { + "v": "2010", + "n": "2010" + } + ], + "key": "year" + }, + { + "name": "字母查找", + "value": [ + { + "v": "A", + "n": "A" + }, + { + "v": "B", + "n": "B" + }, + { + "v": "C", + "n": "C" + }, + { + "v": "D", + "n": "D" + }, + { + "v": "E", + "n": "E" + }, + { + "v": "F", + "n": "F" + }, + { + "v": "G", + "n": "G" + }, + { + "v": "H", + "n": "H" + }, + { + "v": "I", + "n": "I" + }, + { + "v": "J", + "n": "J" + }, + { + "v": "K", + "n": "K" + }, + { + "v": "L", + "n": "L" + }, + { + "v": "M", + "n": "M" + }, + { + "v": "N", + "n": "N" + }, + { + "v": "O", + "n": "O" + }, + { + "v": "P", + "n": "P" + }, + { + "v": "Q", + "n": "Q" + }, + { + "v": "R", + "n": "R" + }, + { + "v": "S", + "n": "S" + }, + { + "v": "T", + "n": "T" + }, + { + "v": "U", + "n": "U" + }, + { + "v": "V", + "n": "V" + }, + { + "v": "W", + "n": "W" + }, + { + "v": "X", + "n": "X" + }, + { + "v": "Y", + "n": "Y" + }, + { + "v": "Z", + "n": "Z" + }, + { + "v": "0-9", + "n": "0-9" + } + ], + "key": "character" + }, + { + "name": "评分排序", + "value": [ + { + "v": "time", + "n": "时间排序" + }, + { + "v": "hits", + "n": "人气排序" + }, + { + "v": "score", + "n": "评分排序" + } + ], + "key": "order" + } + ], + "2": [ + { + "name": "类型", + "value": [ + { + "v": "31", + "n": "国产剧" + }, + { + "v": "32", + "n": "欧美剧" + }, + { + "v": "33", + "n": "日韩剧" + }, + { + "v": "35", + "n": "其他剧" + }, + { + "v": "34", + "n": "港台剧" + } + ], + "key": "type" + }, + { + "name": "剧情", + "value": [ + { + "v": "喜剧", + "n": "喜剧" + }, + { + "v": "爱情", + "n": "爱情" + }, + { + "v": "恐怖", + "n": "恐怖" + }, + { + "v": "动作", + "n": "动作" + }, + { + "v": "科幻", + "n": "科幻" + }, + { + "v": "剧情", + "n": "剧情" + }, + { + "v": "战争", + "n": "战争" + }, + { + "v": "警匪", + "n": "警匪" + }, + { + "v": "犯罪", + "n": "犯罪" + }, + { + "v": "动画", + "n": "动画" + }, + { + "v": "奇幻", + "n": "奇幻" + }, + { + "v": "武侠", + "n": "武侠" + }, + { + "v": "冒险", + "n": "冒险" + }, + { + "v": "枪战", + "n": "枪战" + }, + { + "v": "恐怖", + "n": "恐怖" + }, + { + "v": "悬疑", + "n": "悬疑" + }, + { + "v": "惊悚", + "n": "惊悚" + }, + { + "v": "经典", + "n": "经典" + }, + { + "v": "青春", + "n": "青春" + }, + { + "v": "文艺", + "n": "文艺" + }, + { + "v": "微电影", + "n": "微电影" + }, + { + "v": "古装", + "n": "古装" + }, + { + "v": "历史", + "n": "历史" + }, + { + "v": "运动", + "n": "运动" + }, + { + "v": "农村", + "n": "农村" + }, + { + "v": "儿童", + "n": "儿童" + }, + { + "v": "网络电影", + "n": "网络电影" + } + ], + "key": "class" + }, + { + "name": "地区", + "value": [ + { + "v": "内地", + "n": "内地" + }, + { + "v": "韩国", + "n": "韩国" + }, + { + "v": "香港", + "n": "香港" + }, + { + "v": "台湾", + "n": "台湾" + }, + { + "v": "日本", + "n": "日本" + }, + { + "v": "美国", + "n": "美国" + }, + { + "v": "泰国", + "n": "泰国" + }, + { + "v": "英国", + "n": "英国" + }, + { + "v": "新加坡", + "n": "新加坡" + }, + { + "v": "其他", + "n": "其他" + } + ], + "key": "area" + }, + { + "name": "语言", + "value": [ + { + "v": "国语", + "n": "国语" + }, + { + "v": "英语", + "n": "英语" + }, + { + "v": "粤语", + "n": "粤语" + }, + { + "v": "闽南语", + "n": "闽南语" + }, + { + "v": "韩语", + "n": "韩语" + }, + { + "v": "日语", + "n": "日语" + }, + { + "v": "其它", + "n": "其它" + } + ], + "key": "lang" + }, + { + "name": "时间", + "value": [ + { + "v": "2024", + "n": "2024" + }, + { + "v": "2023", + "n": "2023" + }, + { + "v": "2022", + "n": "2022" + }, + { + "v": "2021", + "n": "2021" + }, + { + "v": "2020", + "n": "2020" + }, + { + "v": "2019", + "n": "2019" + }, + { + "v": "2018", + "n": "2018" + }, + { + "v": "2017", + "n": "2017" + }, + { + "v": "2016", + "n": "2016" + }, + { + "v": "2015", + "n": "2015" + }, + { + "v": "2014", + "n": "2014" + }, + { + "v": "2013", + "n": "2013" + }, + { + "v": "2012", + "n": "2012" + }, + { + "v": "2011", + "n": "2011" + }, + { + "v": "2010", + "n": "2010" + } + ], + "key": "year" + }, + { + "name": "字母查找", + "value": [ + { + "v": "A", + "n": "A" + }, + { + "v": "B", + "n": "B" + }, + { + "v": "C", + "n": "C" + }, + { + "v": "D", + "n": "D" + }, + { + "v": "E", + "n": "E" + }, + { + "v": "F", + "n": "F" + }, + { + "v": "G", + "n": "G" + }, + { + "v": "H", + "n": "H" + }, + { + "v": "I", + "n": "I" + }, + { + "v": "J", + "n": "J" + }, + { + "v": "K", + "n": "K" + }, + { + "v": "L", + "n": "L" + }, + { + "v": "M", + "n": "M" + }, + { + "v": "N", + "n": "N" + }, + { + "v": "O", + "n": "O" + }, + { + "v": "P", + "n": "P" + }, + { + "v": "Q", + "n": "Q" + }, + { + "v": "R", + "n": "R" + }, + { + "v": "S", + "n": "S" + }, + { + "v": "T", + "n": "T" + }, + { + "v": "U", + "n": "U" + }, + { + "v": "V", + "n": "V" + }, + { + "v": "W", + "n": "W" + }, + { + "v": "X", + "n": "X" + }, + { + "v": "Y", + "n": "Y" + }, + { + "v": "Z", + "n": "Z" + }, + { + "v": "0-9", + "n": "0-9" + } + ], + "key": "character" + }, + { + "name": "评分排序", + "value": [ + { + "v": "time", + "n": "时间排序" + }, + { + "v": "hits", + "n": "人气排序" + }, + { + "v": "score", + "n": "评分排序" + } + ], + "key": "order" + } + ] + } +} \ No newline at end of file diff --git a/xiaosa/json/pan1.json b/xiaosa/json/pan1.json new file mode 100644 index 00000000..678e7a37 --- /dev/null +++ b/xiaosa/json/pan1.json @@ -0,0 +1,26 @@ +{ + "SiteUrl": "https://pan1.me", + "Classes": [ + { + "type_name": "电影", + "type_id": "2" + }, + { + "type_name": "剧集", + "type_id": "48" + }, + { + "type_name": "4K原盘", + "type_id": "56" + }, + { + "type_name": "综艺", + "type_id": "52" + }, + { + "type_name": "动漫", + "type_id": "37" + } + ], + "Cookie": "bbs_sid=rrru52bda4v655kl9u1c87f00m; bbs_token=dZRAvHbHcUZkuJ7oHALqWoUs00C1fGqqXDXH7I8LH6hMddXP" +} \ No newline at end of file diff --git a/xiaosa/json/quarkShare.json b/xiaosa/json/quarkShare.json new file mode 100644 index 00000000..650b9e07 --- /dev/null +++ b/xiaosa/json/quarkShare.json @@ -0,0 +1,47 @@ +[ + { + "name": "我的网盘", + "folders": [ + { + "shareId": "", + "folder": "0" + } + ] + }, + { + "name": "幼儿教育", + "folders": [ + { + "shareId": "a08f66152533", + "folder": "0" + } + ] + }, + { + "name": "4K影视", + "folders": [ + { + "shareId": "7568042397a9", + "folder": "0a9f0d04a8704f35b18763948ece0593" + } + ] + }, + { + "name": "短剧合集1", + "folders": [ + { + "shareId": "885fd4ba2d92", + "folder": "81ca012717cb45228f237e26d8da20c8" + } + ] + }, + { + "name": "短剧合集2", + "folders": [ + { + "shareId": "a1cda418984f", + "folder": "7e09c18d7f8045f983eca086be8ddb8f" + } + ] + } +] \ No newline at end of file diff --git a/xiaosa/json/ucShare.json b/xiaosa/json/ucShare.json new file mode 100644 index 00000000..51e4638d --- /dev/null +++ b/xiaosa/json/ucShare.json @@ -0,0 +1,11 @@ +[ + { + "name": "我的网盘", + "folders": [ + { + "shareId": "", + "folder": "0" + } + ] + } +] \ No newline at end of file diff --git a/xiaosa/json/wogg.json b/xiaosa/json/wogg.json new file mode 100644 index 00000000..f424297e --- /dev/null +++ b/xiaosa/json/wogg.json @@ -0,0 +1,2237 @@ +{ + "SiteUrl": "http://www.wogg.lol", + "Domains": [ + "http://www.wogg.lol", + "https://woggpan.333232.xyz", + "https://woggpan.888484.xyz", + "https://www.wogg.one", + "https://wogg.xxooo.cf" + ], + "SiteWord": "wogg", + "SiteName": "玩偶", + "Classes": [ + { + "type_name": "电影", + "type_id": "1" + }, + { + "type_name": "剧集", + "type_id": "2" + }, + { + "type_name": "臻彩视界", + "type_id": "44" + }, + { + "type_name": "综艺", + "type_id": "4" + }, + { + "type_name": "动漫", + "type_id": "3" + }, + { + "type_name": "音乐", + "type_id": "5" + }, + { + "type_name": "短剧", + "type_id": "6" + } + ], + "Filters": { + "1": [ + { + "name": "剧情", + "value": [ + { + "v": "喜剧", + "n": "喜剧" + }, + { + "v": "爱情", + "n": "爱情" + }, + { + "v": "恐怖", + "n": "恐怖" + }, + { + "v": "动作", + "n": "动作" + }, + { + "v": "科幻", + "n": "科幻" + }, + { + "v": "剧情", + "n": "剧情" + }, + { + "v": "战争", + "n": "战争" + }, + { + "v": "警匪", + "n": "警匪" + }, + { + "v": "犯罪", + "n": "犯罪" + }, + { + "v": "古装", + "n": "古装" + }, + { + "v": "奇幻", + "n": "奇幻" + }, + { + "v": "武侠", + "n": "武侠" + }, + { + "v": "冒险", + "n": "冒险" + }, + { + "v": "枪战", + "n": "枪战" + }, + { + "v": "恐怖", + "n": "恐怖" + }, + { + "v": "悬疑", + "n": "悬疑" + }, + { + "v": "惊悚", + "n": "惊悚" + }, + { + "v": "经典", + "n": "经典" + }, + { + "v": "青春", + "n": "青春" + }, + { + "v": "文艺", + "n": "文艺" + }, + { + "v": "微电影", + "n": "微电影" + }, + { + "v": "历史", + "n": "历史" + } + ], + "key": "class" + }, + { + "name": "地区", + "value": [ + { + "v": "大陆", + "n": "大陆" + }, + { + "v": "香港", + "n": "香港" + }, + { + "v": "台湾", + "n": "台湾" + }, + { + "v": "美国", + "n": "美国" + }, + { + "v": "法国", + "n": "法国" + }, + { + "v": "英国", + "n": "英国" + }, + { + "v": "日本", + "n": "日本" + }, + { + "v": "韩国", + "n": "韩国" + }, + { + "v": "德国", + "n": "德国" + }, + { + "v": "泰国", + "n": "泰国" + }, + { + "v": "印度", + "n": "印度" + }, + { + "v": "意大利", + "n": "意大利" + }, + { + "v": "西班牙", + "n": "西班牙" + }, + { + "v": "加拿大", + "n": "加拿大" + }, + { + "v": "其他", + "n": "其他" + } + ], + "key": "area" + }, + { + "name": "语言", + "value": [ + { + "v": "国语", + "n": "国语" + }, + { + "v": "英语", + "n": "英语" + }, + { + "v": "粤语", + "n": "粤语" + }, + { + "v": "闽南语", + "n": "闽南语" + }, + { + "v": "韩语", + "n": "韩语" + }, + { + "v": "日语", + "n": "日语" + }, + { + "v": "法语", + "n": "法语" + }, + { + "v": "德语", + "n": "德语" + }, + { + "v": "其它", + "n": "其它" + } + ], + "key": "lang" + }, + { + "name": "时间", + "value": [ + { + "v": "2024", + "n": "2024" + }, + { + "v": "2023", + "n": "2023" + }, + { + "v": "2022", + "n": "2022" + }, + { + "v": "2021", + "n": "2021" + }, + { + "v": "2020", + "n": "2020" + }, + { + "v": "2019", + "n": "2019" + }, + { + "v": "2018", + "n": "2018" + }, + { + "v": "2017", + "n": "2017" + }, + { + "v": "2016", + "n": "2016" + }, + { + "v": "2015", + "n": "2015" + }, + { + "v": "2014", + "n": "2014" + }, + { + "v": "2013", + "n": "2013" + }, + { + "v": "2012", + "n": "2012" + }, + { + "v": "2011", + "n": "2011" + }, + { + "v": "2010", + "n": "2010" + } + ], + "key": "year" + }, + { + "name": "字母查找", + "value": [ + { + "v": "A", + "n": "A" + }, + { + "v": "B", + "n": "B" + }, + { + "v": "C", + "n": "C" + }, + { + "v": "D", + "n": "D" + }, + { + "v": "E", + "n": "E" + }, + { + "v": "F", + "n": "F" + }, + { + "v": "G", + "n": "G" + }, + { + "v": "H", + "n": "H" + }, + { + "v": "I", + "n": "I" + }, + { + "v": "J", + "n": "J" + }, + { + "v": "K", + "n": "K" + }, + { + "v": "L", + "n": "L" + }, + { + "v": "M", + "n": "M" + }, + { + "v": "N", + "n": "N" + }, + { + "v": "O", + "n": "O" + }, + { + "v": "P", + "n": "P" + }, + { + "v": "Q", + "n": "Q" + }, + { + "v": "R", + "n": "R" + }, + { + "v": "S", + "n": "S" + }, + { + "v": "T", + "n": "T" + }, + { + "v": "U", + "n": "U" + }, + { + "v": "V", + "n": "V" + }, + { + "v": "W", + "n": "W" + }, + { + "v": "X", + "n": "X" + }, + { + "v": "Y", + "n": "Y" + }, + { + "v": "Z", + "n": "Z" + }, + { + "v": "0-9", + "n": "0-9" + } + ], + "key": "character" + }, + { + "name": "评分排序", + "value": [ + { + "v": "time", + "n": "时间排序" + }, + { + "v": "hits", + "n": "人气排序" + }, + { + "v": "score", + "n": "评分排序" + } + ], + "key": "order" + } + ], + "2": [ + { + "name": "剧情", + "value": [ + { + "v": "喜剧", + "n": "喜剧" + }, + { + "v": "爱情", + "n": "爱情" + }, + { + "v": "恐怖", + "n": "恐怖" + }, + { + "v": "动作", + "n": "动作" + }, + { + "v": "科幻", + "n": "科幻" + }, + { + "v": "剧情", + "n": "剧情" + }, + { + "v": "战争", + "n": "战争" + }, + { + "v": "警匪", + "n": "警匪" + }, + { + "v": "犯罪", + "n": "犯罪" + }, + { + "v": "古装", + "n": "古装" + }, + { + "v": "奇幻", + "n": "奇幻" + }, + { + "v": "武侠", + "n": "武侠" + }, + { + "v": "冒险", + "n": "冒险" + }, + { + "v": "枪战", + "n": "枪战" + }, + { + "v": "恐怖", + "n": "恐怖" + }, + { + "v": "悬疑", + "n": "悬疑" + }, + { + "v": "惊悚", + "n": "惊悚" + }, + { + "v": "经典", + "n": "经典" + }, + { + "v": "青春", + "n": "青春" + }, + { + "v": "文艺", + "n": "文艺" + }, + { + "v": "微电影", + "n": "微电影" + }, + { + "v": "历史", + "n": "历史" + } + ], + "key": "class" + }, + { + "name": "地区", + "value": [ + { + "v": "大陆", + "n": "大陆" + }, + { + "v": "香港", + "n": "香港" + }, + { + "v": "台湾", + "n": "台湾" + }, + { + "v": "美国", + "n": "美国" + }, + { + "v": "法国", + "n": "法国" + }, + { + "v": "英国", + "n": "英国" + }, + { + "v": "日本", + "n": "日本" + }, + { + "v": "韩国", + "n": "韩国" + }, + { + "v": "德国", + "n": "德国" + }, + { + "v": "泰国", + "n": "泰国" + }, + { + "v": "印度", + "n": "印度" + }, + { + "v": "意大利", + "n": "意大利" + }, + { + "v": "西班牙", + "n": "西班牙" + }, + { + "v": "加拿大", + "n": "加拿大" + }, + { + "v": "其他", + "n": "其他" + } + ], + "key": "area" + }, + { + "name": "语言", + "value": [ + { + "v": "国语", + "n": "国语" + }, + { + "v": "英语", + "n": "英语" + }, + { + "v": "粤语", + "n": "粤语" + }, + { + "v": "闽南语", + "n": "闽南语" + }, + { + "v": "韩语", + "n": "韩语" + }, + { + "v": "日语", + "n": "日语" + }, + { + "v": "法语", + "n": "法语" + }, + { + "v": "德语", + "n": "德语" + }, + { + "v": "其它", + "n": "其它" + } + ], + "key": "lang" + }, + { + "name": "时间", + "value": [ + { + "v": "2024", + "n": "2024" + }, + { + "v": "2023", + "n": "2023" + }, + { + "v": "2022", + "n": "2022" + }, + { + "v": "2021", + "n": "2021" + }, + { + "v": "2020", + "n": "2020" + }, + { + "v": "2019", + "n": "2019" + }, + { + "v": "2018", + "n": "2018" + }, + { + "v": "2017", + "n": "2017" + }, + { + "v": "2016", + "n": "2016" + }, + { + "v": "2015", + "n": "2015" + }, + { + "v": "2014", + "n": "2014" + }, + { + "v": "2013", + "n": "2013" + }, + { + "v": "2012", + "n": "2012" + }, + { + "v": "2011", + "n": "2011" + }, + { + "v": "2010", + "n": "2010" + } + ], + "key": "year" + }, + { + "name": "字母查找", + "value": [ + { + "v": "A", + "n": "A" + }, + { + "v": "B", + "n": "B" + }, + { + "v": "C", + "n": "C" + }, + { + "v": "D", + "n": "D" + }, + { + "v": "E", + "n": "E" + }, + { + "v": "F", + "n": "F" + }, + { + "v": "G", + "n": "G" + }, + { + "v": "H", + "n": "H" + }, + { + "v": "I", + "n": "I" + }, + { + "v": "J", + "n": "J" + }, + { + "v": "K", + "n": "K" + }, + { + "v": "L", + "n": "L" + }, + { + "v": "M", + "n": "M" + }, + { + "v": "N", + "n": "N" + }, + { + "v": "O", + "n": "O" + }, + { + "v": "P", + "n": "P" + }, + { + "v": "Q", + "n": "Q" + }, + { + "v": "R", + "n": "R" + }, + { + "v": "S", + "n": "S" + }, + { + "v": "T", + "n": "T" + }, + { + "v": "U", + "n": "U" + }, + { + "v": "V", + "n": "V" + }, + { + "v": "W", + "n": "W" + }, + { + "v": "X", + "n": "X" + }, + { + "v": "Y", + "n": "Y" + }, + { + "v": "Z", + "n": "Z" + }, + { + "v": "0-9", + "n": "0-9" + } + ], + "key": "character" + }, + { + "name": "评分排序", + "value": [ + { + "v": "time", + "n": "时间排序" + }, + { + "v": "hits", + "n": "人气排序" + }, + { + "v": "score", + "n": "评分排序" + } + ], + "key": "order" + } + ], + "3": [ + { + "name": "剧情", + "value": [ + { + "v": "情感", + "n": "情感" + }, + { + "v": "科幻", + "n": "科幻" + }, + { + "v": "热血", + "n": "热血" + }, + { + "v": "推理", + "n": "推理" + }, + { + "v": "搞笑", + "n": "搞笑" + }, + { + "v": "冒险", + "n": "冒险" + }, + { + "v": "萝莉", + "n": "萝莉" + }, + { + "v": "校园", + "n": "校园" + }, + { + "v": "动作", + "n": "动作" + }, + { + "v": "机战", + "n": "机战" + }, + { + "v": "运动", + "n": "运动" + }, + { + "v": "战争", + "n": "战争" + }, + { + "v": "少年", + "n": "少年" + }, + { + "v": "少女", + "n": "少女" + }, + { + "v": "社会", + "n": "社会" + }, + { + "v": "原创", + "n": "原创" + }, + { + "v": "亲子", + "n": "亲子" + }, + { + "v": "益智", + "n": "益智" + }, + { + "v": "励志", + "n": "励志" + }, + { + "v": "其他", + "n": "其他" + } + ], + "key": "class" + }, + { + "name": "地区", + "value": [ + { + "v": "大陆", + "n": "大陆" + }, + { + "v": "香港", + "n": "香港" + }, + { + "v": "台湾", + "n": "台湾" + }, + { + "v": "美国", + "n": "美国" + }, + { + "v": "法国", + "n": "法国" + }, + { + "v": "英国", + "n": "英国" + }, + { + "v": "日本", + "n": "日本" + }, + { + "v": "韩国", + "n": "韩国" + }, + { + "v": "德国", + "n": "德国" + }, + { + "v": "泰国", + "n": "泰国" + }, + { + "v": "印度", + "n": "印度" + }, + { + "v": "意大利", + "n": "意大利" + }, + { + "v": "西班牙", + "n": "西班牙" + }, + { + "v": "加拿大", + "n": "加拿大" + }, + { + "v": "其他", + "n": "其他" + } + ], + "key": "area" + }, + { + "name": "语言", + "value": [ + { + "v": "国语", + "n": "国语" + }, + { + "v": "英语", + "n": "英语" + }, + { + "v": "粤语", + "n": "粤语" + }, + { + "v": "闽南语", + "n": "闽南语" + }, + { + "v": "韩语", + "n": "韩语" + }, + { + "v": "日语", + "n": "日语" + }, + { + "v": "法语", + "n": "法语" + }, + { + "v": "德语", + "n": "德语" + }, + { + "v": "其它", + "n": "其它" + } + ], + "key": "lang" + }, + { + "name": "时间", + "value": [ + { + "v": "2024", + "n": "2024" + }, + { + "v": "2023", + "n": "2023" + }, + { + "v": "2022", + "n": "2022" + }, + { + "v": "2021", + "n": "2021" + }, + { + "v": "2020", + "n": "2020" + }, + { + "v": "2019", + "n": "2019" + }, + { + "v": "2018", + "n": "2018" + }, + { + "v": "2017", + "n": "2017" + }, + { + "v": "2016", + "n": "2016" + }, + { + "v": "2015", + "n": "2015" + }, + { + "v": "2014", + "n": "2014" + }, + { + "v": "2013", + "n": "2013" + }, + { + "v": "2012", + "n": "2012" + }, + { + "v": "2011", + "n": "2011" + }, + { + "v": "2010", + "n": "2010" + } + ], + "key": "year" + }, + { + "name": "字母查找", + "value": [ + { + "v": "A", + "n": "A" + }, + { + "v": "B", + "n": "B" + }, + { + "v": "C", + "n": "C" + }, + { + "v": "D", + "n": "D" + }, + { + "v": "E", + "n": "E" + }, + { + "v": "F", + "n": "F" + }, + { + "v": "G", + "n": "G" + }, + { + "v": "H", + "n": "H" + }, + { + "v": "I", + "n": "I" + }, + { + "v": "J", + "n": "J" + }, + { + "v": "K", + "n": "K" + }, + { + "v": "L", + "n": "L" + }, + { + "v": "M", + "n": "M" + }, + { + "v": "N", + "n": "N" + }, + { + "v": "O", + "n": "O" + }, + { + "v": "P", + "n": "P" + }, + { + "v": "Q", + "n": "Q" + }, + { + "v": "R", + "n": "R" + }, + { + "v": "S", + "n": "S" + }, + { + "v": "T", + "n": "T" + }, + { + "v": "U", + "n": "U" + }, + { + "v": "V", + "n": "V" + }, + { + "v": "W", + "n": "W" + }, + { + "v": "X", + "n": "X" + }, + { + "v": "Y", + "n": "Y" + }, + { + "v": "Z", + "n": "Z" + }, + { + "v": "0-9", + "n": "0-9" + } + ], + "key": "character" + }, + { + "name": "评分排序", + "value": [ + { + "v": "time", + "n": "时间排序" + }, + { + "v": "hits", + "n": "人气排序" + }, + { + "v": "score", + "n": "评分排序" + } + ], + "key": "order" + } + ], + "4": [ + { + "name": "地区", + "value": [ + { + "v": "大陆", + "n": "大陆" + }, + { + "v": "香港", + "n": "香港" + }, + { + "v": "台湾", + "n": "台湾" + }, + { + "v": "美国", + "n": "美国" + }, + { + "v": "法国", + "n": "法国" + }, + { + "v": "英国", + "n": "英国" + }, + { + "v": "日本", + "n": "日本" + }, + { + "v": "韩国", + "n": "韩国" + } + ], + "key": "area" + }, + { + "name": "时间", + "value": [ + { + "v": "2024", + "n": "2024" + }, + { + "v": "2023", + "n": "2023" + }, + { + "v": "2022", + "n": "2022" + }, + { + "v": "2021", + "n": "2021" + }, + { + "v": "2020", + "n": "2020" + }, + { + "v": "2019", + "n": "2019" + }, + { + "v": "2018", + "n": "2018" + }, + { + "v": "2017", + "n": "2017" + }, + { + "v": "2016", + "n": "2016" + }, + { + "v": "2015", + "n": "2015" + }, + { + "v": "2014", + "n": "2014" + }, + { + "v": "2013", + "n": "2013" + }, + { + "v": "2012", + "n": "2012" + }, + { + "v": "2011", + "n": "2011" + }, + { + "v": "2010", + "n": "2010" + } + ], + "key": "year" + }, + { + "name": "字母查找", + "value": [ + { + "v": "A", + "n": "A" + }, + { + "v": "B", + "n": "B" + }, + { + "v": "C", + "n": "C" + }, + { + "v": "D", + "n": "D" + }, + { + "v": "E", + "n": "E" + }, + { + "v": "F", + "n": "F" + }, + { + "v": "G", + "n": "G" + }, + { + "v": "H", + "n": "H" + }, + { + "v": "I", + "n": "I" + }, + { + "v": "J", + "n": "J" + }, + { + "v": "K", + "n": "K" + }, + { + "v": "L", + "n": "L" + }, + { + "v": "M", + "n": "M" + }, + { + "v": "N", + "n": "N" + }, + { + "v": "O", + "n": "O" + }, + { + "v": "P", + "n": "P" + }, + { + "v": "Q", + "n": "Q" + }, + { + "v": "R", + "n": "R" + }, + { + "v": "S", + "n": "S" + }, + { + "v": "T", + "n": "T" + }, + { + "v": "U", + "n": "U" + }, + { + "v": "V", + "n": "V" + }, + { + "v": "W", + "n": "W" + }, + { + "v": "X", + "n": "X" + }, + { + "v": "Y", + "n": "Y" + }, + { + "v": "Z", + "n": "Z" + }, + { + "v": "0-9", + "n": "0-9" + } + ], + "key": "character" + }, + { + "name": "评分排序", + "value": [ + { + "v": "time", + "n": "时间排序" + }, + { + "v": "hits", + "n": "人气排序" + }, + { + "v": "score", + "n": "评分排序" + } + ], + "key": "order" + } + ], + "5": [ + { + "name": "字母查找", + "value": [ + { + "v": "A", + "n": "A" + }, + { + "v": "B", + "n": "B" + }, + { + "v": "C", + "n": "C" + }, + { + "v": "D", + "n": "D" + }, + { + "v": "E", + "n": "E" + }, + { + "v": "F", + "n": "F" + }, + { + "v": "G", + "n": "G" + }, + { + "v": "H", + "n": "H" + }, + { + "v": "I", + "n": "I" + }, + { + "v": "J", + "n": "J" + }, + { + "v": "K", + "n": "K" + }, + { + "v": "L", + "n": "L" + }, + { + "v": "M", + "n": "M" + }, + { + "v": "N", + "n": "N" + }, + { + "v": "O", + "n": "O" + }, + { + "v": "P", + "n": "P" + }, + { + "v": "Q", + "n": "Q" + }, + { + "v": "R", + "n": "R" + }, + { + "v": "S", + "n": "S" + }, + { + "v": "T", + "n": "T" + }, + { + "v": "U", + "n": "U" + }, + { + "v": "V", + "n": "V" + }, + { + "v": "W", + "n": "W" + }, + { + "v": "X", + "n": "X" + }, + { + "v": "Y", + "n": "Y" + }, + { + "v": "Z", + "n": "Z" + }, + { + "v": "0-9", + "n": "0-9" + } + ], + "key": "character" + }, + { + "name": "评分排序", + "value": [ + { + "v": "time", + "n": "时间排序" + }, + { + "v": "hits", + "n": "人气排序" + }, + { + "v": "score", + "n": "评分排序" + } + ], + "key": "order" + } + ], + "6": [ + { + "name": "剧情", + "value": [ + { + "v": "古装", + "n": "古装" + }, + { + "v": "战争", + "n": "战争" + }, + { + "v": "青春偶像", + "n": "青春偶像" + }, + { + "v": "喜剧", + "n": "喜剧" + }, + { + "v": "家庭", + "n": "家庭" + }, + { + "v": "犯罪", + "n": "犯罪" + }, + { + "v": "动作", + "n": "动作" + }, + { + "v": "奇幻", + "n": "奇幻" + }, + { + "v": "剧情", + "n": "剧情" + }, + { + "v": "历史", + "n": "历史" + }, + { + "v": "经典", + "n": "经典" + }, + { + "v": "乡村", + "n": "乡村" + }, + { + "v": "情景", + "n": "情景" + }, + { + "v": "商战", + "n": "商战" + }, + { + "v": "网剧", + "n": "网剧" + }, + { + "v": "其他", + "n": "其他" + } + ], + "key": "class" + }, + { + "name": "时间", + "value": [ + { + "v": "2024", + "n": "2024" + }, + { + "v": "2023", + "n": "2023" + }, + { + "v": "2022", + "n": "2022" + }, + { + "v": "2021", + "n": "2021" + }, + { + "v": "2020", + "n": "2020" + }, + { + "v": "2019", + "n": "2019" + }, + { + "v": "2018", + "n": "2018" + }, + { + "v": "2017", + "n": "2017" + }, + { + "v": "2016", + "n": "2016" + }, + { + "v": "2015", + "n": "2015" + }, + { + "v": "2014", + "n": "2014" + }, + { + "v": "2013", + "n": "2013" + }, + { + "v": "2012", + "n": "2012" + }, + { + "v": "2011", + "n": "2011" + }, + { + "v": "2010", + "n": "2010" + } + ], + "key": "year" + }, + { + "name": "字母查找", + "value": [ + { + "v": "A", + "n": "A" + }, + { + "v": "B", + "n": "B" + }, + { + "v": "C", + "n": "C" + }, + { + "v": "D", + "n": "D" + }, + { + "v": "E", + "n": "E" + }, + { + "v": "F", + "n": "F" + }, + { + "v": "G", + "n": "G" + }, + { + "v": "H", + "n": "H" + }, + { + "v": "I", + "n": "I" + }, + { + "v": "J", + "n": "J" + }, + { + "v": "K", + "n": "K" + }, + { + "v": "L", + "n": "L" + }, + { + "v": "M", + "n": "M" + }, + { + "v": "N", + "n": "N" + }, + { + "v": "O", + "n": "O" + }, + { + "v": "P", + "n": "P" + }, + { + "v": "Q", + "n": "Q" + }, + { + "v": "R", + "n": "R" + }, + { + "v": "S", + "n": "S" + }, + { + "v": "T", + "n": "T" + }, + { + "v": "U", + "n": "U" + }, + { + "v": "V", + "n": "V" + }, + { + "v": "W", + "n": "W" + }, + { + "v": "X", + "n": "X" + }, + { + "v": "Y", + "n": "Y" + }, + { + "v": "Z", + "n": "Z" + }, + { + "v": "0-9", + "n": "0-9" + } + ], + "key": "character" + }, + { + "name": "评分排序", + "value": [ + { + "v": "time", + "n": "时间排序" + }, + { + "v": "hits", + "n": "人气排序" + }, + { + "v": "score", + "n": "评分排序" + } + ], + "key": "order" + } + ], + "44": [ + { + "name": "剧情", + "value": [ + { + "v": "爱情", + "n": "爱情" + }, + { + "v": "恐怖", + "n": "恐怖" + }, + { + "v": "动作", + "n": "动作" + }, + { + "v": "科幻", + "n": "科幻" + }, + { + "v": "剧情", + "n": "剧情" + }, + { + "v": "战争", + "n": "战争" + }, + { + "v": "警匪", + "n": "警匪" + }, + { + "v": "犯罪", + "n": "犯罪" + }, + { + "v": "古装", + "n": "古装" + }, + { + "v": "奇幻", + "n": "奇幻" + }, + { + "v": "武侠", + "n": "武侠" + }, + { + "v": "冒险", + "n": "冒险" + }, + { + "v": "枪战", + "n": "枪战" + }, + { + "v": "恐怖", + "n": "恐怖" + }, + { + "v": "悬疑", + "n": "悬疑" + }, + { + "v": "惊悚", + "n": "惊悚" + }, + { + "v": "经典", + "n": "经典" + }, + { + "v": "青春", + "n": "青春" + }, + { + "v": "文艺", + "n": "文艺" + }, + { + "v": "微电影", + "n": "微电影" + }, + { + "v": "历史", + "n": "历史" + } + ], + "key": "class" + }, + { + "name": "地区", + "value": [ + { + "v": "中国大陆", + "n": "中国大陆" + }, + { + "v": "中国香港", + "n": "中国香港" + }, + { + "v": "中国台湾", + "n": "中国台湾" + }, + { + "v": "美国", + "n": "美国" + }, + { + "v": "西班牙", + "n": "西班牙" + }, + { + "v": "法国", + "n": "法国" + }, + { + "v": "英国", + "n": "英国" + }, + { + "v": "日本", + "n": "日本" + }, + { + "v": "韩国", + "n": "韩国" + }, + { + "v": "泰国", + "n": "泰国" + }, + { + "v": "德国", + "n": "德国" + }, + { + "v": "印度", + "n": "印度" + }, + { + "v": "意大利", + "n": "意大利" + }, + { + "v": "加拿大", + "n": "加拿大" + }, + { + "v": "其他", + "n": "其他" + } + ], + "key": "area" + }, + { + "name": "时间", + "value": [ + { + "v": "2024", + "n": "2024" + }, + { + "v": "2023", + "n": "2023" + }, + { + "v": "2022", + "n": "2022" + }, + { + "v": "2021", + "n": "2021" + }, + { + "v": "2020", + "n": "2020" + }, + { + "v": "2019", + "n": "2019" + }, + { + "v": "2018", + "n": "2018" + }, + { + "v": "2017", + "n": "2017" + }, + { + "v": "2016", + "n": "2016" + }, + { + "v": "2015", + "n": "2015" + }, + { + "v": "2014", + "n": "2014" + }, + { + "v": "2013", + "n": "2013" + }, + { + "v": "2012", + "n": "2012" + }, + { + "v": "2011", + "n": "2011" + }, + { + "v": "2010", + "n": "2010" + } + ], + "key": "year" + }, + { + "name": "字母查找", + "value": [ + { + "v": "A", + "n": "A" + }, + { + "v": "B", + "n": "B" + }, + { + "v": "C", + "n": "C" + }, + { + "v": "D", + "n": "D" + }, + { + "v": "E", + "n": "E" + }, + { + "v": "F", + "n": "F" + }, + { + "v": "G", + "n": "G" + }, + { + "v": "H", + "n": "H" + }, + { + "v": "I", + "n": "I" + }, + { + "v": "J", + "n": "J" + }, + { + "v": "K", + "n": "K" + }, + { + "v": "L", + "n": "L" + }, + { + "v": "M", + "n": "M" + }, + { + "v": "N", + "n": "N" + }, + { + "v": "O", + "n": "O" + }, + { + "v": "P", + "n": "P" + }, + { + "v": "Q", + "n": "Q" + }, + { + "v": "R", + "n": "R" + }, + { + "v": "S", + "n": "S" + }, + { + "v": "T", + "n": "T" + }, + { + "v": "U", + "n": "U" + }, + { + "v": "V", + "n": "V" + }, + { + "v": "W", + "n": "W" + }, + { + "v": "X", + "n": "X" + }, + { + "v": "Y", + "n": "Y" + }, + { + "v": "Z", + "n": "Z" + }, + { + "v": "0-9", + "n": "0-9" + } + ], + "key": "character" + }, + { + "name": "评分排序", + "value": [ + { + "n": "时间排序" + }, + { + "n": "人气排序" + }, + { + "n": "评分排序" + } + ], + "key": "order" + } + ] + } +} \ No newline at end of file diff --git a/xiaosa/json/xm.json b/xiaosa/json/xm.json new file mode 100644 index 00000000..04932070 --- /dev/null +++ b/xiaosa/json/xm.json @@ -0,0 +1,1455 @@ +{ + "SiteUrl": "https://www.mucpan.cc", + "Domains": [ + "https://www.mucpan.cc", + "https://54271.fun" + ], + "SiteWord": "xm", + "SiteName": "小米", + "Classes": [ + { + "type_name": "电影", + "type_id": "1" + }, + { + "type_name": "剧集", + "type_id": "2" + }, + { + "type_name": "综艺", + "type_id": "4" + }, + { + "type_name": "动漫", + "type_id": "3" + } + ], + "Filters": { + "3": [ + { + "name": "类型", + "value": [ + { + "v": "37", + "n": "日韩动漫" + }, + { + "v": "38", + "n": "欧美动漫" + }, + { + "v": "36", + "n": "国产动漫" + } + ], + "key": "type" + }, + { + "name": "剧情", + "value": [ + { + "v": "古装", + "n": "古装" + }, + { + "v": "战争", + "n": "战争" + }, + { + "v": "青春偶像", + "n": "青春偶像" + }, + { + "v": "喜剧", + "n": "喜剧" + }, + { + "v": "家庭", + "n": "家庭" + }, + { + "v": "犯罪", + "n": "犯罪" + }, + { + "v": "动作", + "n": "动作" + }, + { + "v": "奇幻", + "n": "奇幻" + }, + { + "v": "剧情", + "n": "剧情" + }, + { + "v": "历史", + "n": "历史" + }, + { + "v": "经典", + "n": "经典" + }, + { + "v": "乡村", + "n": "乡村" + }, + { + "v": "情景", + "n": "情景" + }, + { + "v": "商战", + "n": "商战" + }, + { + "v": "网剧", + "n": "网剧" + }, + { + "v": "其他", + "n": "其他" + } + ], + "key": "class" + }, + { + "name": "地区", + "value": [ + { + "v": "内地", + "n": "内地" + }, + { + "v": "韩国", + "n": "韩国" + }, + { + "v": "香港", + "n": "香港" + }, + { + "v": "台湾", + "n": "台湾" + }, + { + "v": "日本", + "n": "日本" + }, + { + "v": "美国", + "n": "美国" + }, + { + "v": "泰国", + "n": "泰国" + }, + { + "v": "英国", + "n": "英国" + }, + { + "v": "新加坡", + "n": "新加坡" + }, + { + "v": "其他", + "n": "其他" + } + ], + "key": "area" + }, + { + "name": "语言", + "value": [ + { + "v": "国语", + "n": "国语" + }, + { + "v": "英语", + "n": "英语" + }, + { + "v": "粤语", + "n": "粤语" + }, + { + "v": "闽南语", + "n": "闽南语" + }, + { + "v": "韩语", + "n": "韩语" + }, + { + "v": "日语", + "n": "日语" + }, + { + "v": "其它", + "n": "其它" + } + ], + "key": "lang" + }, + { + "name": "时间", + "value": [ + { + "v": "2024", + "n": "2024" + }, + { + "v": "2023", + "n": "2023" + }, + { + "v": "2022", + "n": "2022" + }, + { + "v": "2021", + "n": "2021" + }, + { + "v": "2020", + "n": "2020" + }, + { + "v": "2019", + "n": "2019" + }, + { + "v": "2018", + "n": "2018" + }, + { + "v": "2017", + "n": "2017" + }, + { + "v": "2016", + "n": "2016" + }, + { + "v": "2015", + "n": "2015" + }, + { + "v": "2014", + "n": "2014" + }, + { + "v": "2013", + "n": "2013" + }, + { + "v": "2012", + "n": "2012" + }, + { + "v": "2011", + "n": "2011" + }, + { + "v": "2010", + "n": "2010" + } + ], + "key": "year" + }, + { + "name": "字母查找", + "value": [ + { + "v": "A", + "n": "A" + }, + { + "v": "B", + "n": "B" + }, + { + "v": "C", + "n": "C" + }, + { + "v": "D", + "n": "D" + }, + { + "v": "E", + "n": "E" + }, + { + "v": "F", + "n": "F" + }, + { + "v": "G", + "n": "G" + }, + { + "v": "H", + "n": "H" + }, + { + "v": "I", + "n": "I" + }, + { + "v": "J", + "n": "J" + }, + { + "v": "K", + "n": "K" + }, + { + "v": "L", + "n": "L" + }, + { + "v": "M", + "n": "M" + }, + { + "v": "N", + "n": "N" + }, + { + "v": "O", + "n": "O" + }, + { + "v": "P", + "n": "P" + }, + { + "v": "Q", + "n": "Q" + }, + { + "v": "R", + "n": "R" + }, + { + "v": "S", + "n": "S" + }, + { + "v": "T", + "n": "T" + }, + { + "v": "U", + "n": "U" + }, + { + "v": "V", + "n": "V" + }, + { + "v": "W", + "n": "W" + }, + { + "v": "X", + "n": "X" + }, + { + "v": "Y", + "n": "Y" + }, + { + "v": "Z", + "n": "Z" + }, + { + "v": "0-9", + "n": "0-9" + } + ], + "key": "character" + }, + { + "name": "评分排序", + "value": [ + { + "v": "time", + "n": "时间排序" + }, + { + "v": "hits", + "n": "人气排序" + }, + { + "v": "score", + "n": "评分排序" + } + ], + "key": "order" + } + ], + "4": [ + { + "name": "类型", + "value": [ + { + "v": "39", + "n": "国产综艺" + }, + { + "v": "40", + "n": "其他综艺" + } + ], + "key": "type" + }, + { + "name": "时间", + "value": [ + { + "v": "2024", + "n": "2024" + }, + { + "v": "2023", + "n": "2023" + }, + { + "v": "2022", + "n": "2022" + }, + { + "v": "2021", + "n": "2021" + }, + { + "v": "2020", + "n": "2020" + }, + { + "v": "2019", + "n": "2019" + }, + { + "v": "2018", + "n": "2018" + }, + { + "v": "2017", + "n": "2017" + }, + { + "v": "2016", + "n": "2016" + }, + { + "v": "2015", + "n": "2015" + }, + { + "v": "2014", + "n": "2014" + }, + { + "v": "2013", + "n": "2013" + }, + { + "v": "2012", + "n": "2012" + }, + { + "v": "2011", + "n": "2011" + }, + { + "v": "2010", + "n": "2010" + } + ], + "key": "year" + }, + { + "name": "字母查找", + "value": [ + { + "v": "A", + "n": "A" + }, + { + "v": "B", + "n": "B" + }, + { + "v": "C", + "n": "C" + }, + { + "v": "D", + "n": "D" + }, + { + "v": "E", + "n": "E" + }, + { + "v": "F", + "n": "F" + }, + { + "v": "G", + "n": "G" + }, + { + "v": "H", + "n": "H" + }, + { + "v": "I", + "n": "I" + }, + { + "v": "J", + "n": "J" + }, + { + "v": "K", + "n": "K" + }, + { + "v": "L", + "n": "L" + }, + { + "v": "M", + "n": "M" + }, + { + "v": "N", + "n": "N" + }, + { + "v": "O", + "n": "O" + }, + { + "v": "P", + "n": "P" + }, + { + "v": "Q", + "n": "Q" + }, + { + "v": "R", + "n": "R" + }, + { + "v": "S", + "n": "S" + }, + { + "v": "T", + "n": "T" + }, + { + "v": "U", + "n": "U" + }, + { + "v": "V", + "n": "V" + }, + { + "v": "W", + "n": "W" + }, + { + "v": "X", + "n": "X" + }, + { + "v": "Y", + "n": "Y" + }, + { + "v": "Z", + "n": "Z" + }, + { + "v": "0-9", + "n": "0-9" + } + ], + "key": "character" + }, + { + "name": "评分排序", + "value": [ + { + "v": "time", + "n": "时间排序" + }, + { + "v": "hits", + "n": "人气排序" + }, + { + "v": "score", + "n": "评分排序" + } + ], + "key": "order" + } + ], + "1": [ + { + "name": "类型", + "value": [ + { + "v": "25", + "n": "科幻" + }, + { + "v": "26", + "n": "战争" + }, + { + "v": "27", + "n": "爱情" + }, + { + "v": "28", + "n": "恐怖" + }, + { + "v": "29", + "n": "院线" + }, + { + "v": "30", + "n": "其他" + } + ], + "key": "type" + }, + { + "name": "剧情", + "value": [ + { + "v": "喜剧", + "n": "喜剧" + }, + { + "v": "爱情", + "n": "爱情" + }, + { + "v": "恐怖", + "n": "恐怖" + }, + { + "v": "动作", + "n": "动作" + }, + { + "v": "科幻", + "n": "科幻" + }, + { + "v": "剧情", + "n": "剧情" + }, + { + "v": "战争", + "n": "战争" + }, + { + "v": "警匪", + "n": "警匪" + }, + { + "v": "犯罪", + "n": "犯罪" + }, + { + "v": "动画", + "n": "动画" + }, + { + "v": "奇幻", + "n": "奇幻" + }, + { + "v": "武侠", + "n": "武侠" + }, + { + "v": "冒险", + "n": "冒险" + }, + { + "v": "枪战", + "n": "枪战" + }, + { + "v": "恐怖", + "n": "恐怖" + }, + { + "v": "悬疑", + "n": "悬疑" + }, + { + "v": "惊悚", + "n": "惊悚" + }, + { + "v": "经典", + "n": "经典" + }, + { + "v": "青春", + "n": "青春" + }, + { + "v": "文艺", + "n": "文艺" + }, + { + "v": "微电影", + "n": "微电影" + }, + { + "v": "古装", + "n": "古装" + }, + { + "v": "历史", + "n": "历史" + }, + { + "v": "运动", + "n": "运动" + }, + { + "v": "农村", + "n": "农村" + }, + { + "v": "儿童", + "n": "儿童" + }, + { + "v": "网络电影", + "n": "网络电影" + } + ], + "key": "class" + }, + { + "name": "地区", + "value": [ + { + "v": "内地", + "n": "内地" + }, + { + "v": "韩国", + "n": "韩国" + }, + { + "v": "香港", + "n": "香港" + }, + { + "v": "台湾", + "n": "台湾" + }, + { + "v": "日本", + "n": "日本" + }, + { + "v": "美国", + "n": "美国" + }, + { + "v": "泰国", + "n": "泰国" + }, + { + "v": "英国", + "n": "英国" + }, + { + "v": "新加坡", + "n": "新加坡" + }, + { + "v": "其他", + "n": "其他" + } + ], + "key": "area" + }, + { + "name": "语言", + "value": [ + { + "v": "国语", + "n": "国语" + }, + { + "v": "英语", + "n": "英语" + }, + { + "v": "粤语", + "n": "粤语" + }, + { + "v": "闽南语", + "n": "闽南语" + }, + { + "v": "韩语", + "n": "韩语" + }, + { + "v": "日语", + "n": "日语" + }, + { + "v": "其它", + "n": "其它" + } + ], + "key": "lang" + }, + { + "name": "时间", + "value": [ + { + "v": "2024", + "n": "2024" + }, + { + "v": "2023", + "n": "2023" + }, + { + "v": "2022", + "n": "2022" + }, + { + "v": "2021", + "n": "2021" + }, + { + "v": "2020", + "n": "2020" + }, + { + "v": "2019", + "n": "2019" + }, + { + "v": "2018", + "n": "2018" + }, + { + "v": "2017", + "n": "2017" + }, + { + "v": "2016", + "n": "2016" + }, + { + "v": "2015", + "n": "2015" + }, + { + "v": "2014", + "n": "2014" + }, + { + "v": "2013", + "n": "2013" + }, + { + "v": "2012", + "n": "2012" + }, + { + "v": "2011", + "n": "2011" + }, + { + "v": "2010", + "n": "2010" + } + ], + "key": "year" + }, + { + "name": "字母查找", + "value": [ + { + "v": "A", + "n": "A" + }, + { + "v": "B", + "n": "B" + }, + { + "v": "C", + "n": "C" + }, + { + "v": "D", + "n": "D" + }, + { + "v": "E", + "n": "E" + }, + { + "v": "F", + "n": "F" + }, + { + "v": "G", + "n": "G" + }, + { + "v": "H", + "n": "H" + }, + { + "v": "I", + "n": "I" + }, + { + "v": "J", + "n": "J" + }, + { + "v": "K", + "n": "K" + }, + { + "v": "L", + "n": "L" + }, + { + "v": "M", + "n": "M" + }, + { + "v": "N", + "n": "N" + }, + { + "v": "O", + "n": "O" + }, + { + "v": "P", + "n": "P" + }, + { + "v": "Q", + "n": "Q" + }, + { + "v": "R", + "n": "R" + }, + { + "v": "S", + "n": "S" + }, + { + "v": "T", + "n": "T" + }, + { + "v": "U", + "n": "U" + }, + { + "v": "V", + "n": "V" + }, + { + "v": "W", + "n": "W" + }, + { + "v": "X", + "n": "X" + }, + { + "v": "Y", + "n": "Y" + }, + { + "v": "Z", + "n": "Z" + }, + { + "v": "0-9", + "n": "0-9" + } + ], + "key": "character" + }, + { + "name": "评分排序", + "value": [ + { + "v": "time", + "n": "时间排序" + }, + { + "v": "hits", + "n": "人气排序" + }, + { + "v": "score", + "n": "评分排序" + } + ], + "key": "order" + } + ], + "2": [ + { + "name": "类型", + "value": [ + { + "v": "31", + "n": "国产剧" + }, + { + "v": "32", + "n": "欧美剧" + }, + { + "v": "33", + "n": "日韩剧" + }, + { + "v": "35", + "n": "其他剧" + }, + { + "v": "34", + "n": "港台剧" + } + ], + "key": "type" + }, + { + "name": "剧情", + "value": [ + { + "v": "喜剧", + "n": "喜剧" + }, + { + "v": "爱情", + "n": "爱情" + }, + { + "v": "恐怖", + "n": "恐怖" + }, + { + "v": "动作", + "n": "动作" + }, + { + "v": "科幻", + "n": "科幻" + }, + { + "v": "剧情", + "n": "剧情" + }, + { + "v": "战争", + "n": "战争" + }, + { + "v": "警匪", + "n": "警匪" + }, + { + "v": "犯罪", + "n": "犯罪" + }, + { + "v": "动画", + "n": "动画" + }, + { + "v": "奇幻", + "n": "奇幻" + }, + { + "v": "武侠", + "n": "武侠" + }, + { + "v": "冒险", + "n": "冒险" + }, + { + "v": "枪战", + "n": "枪战" + }, + { + "v": "恐怖", + "n": "恐怖" + }, + { + "v": "悬疑", + "n": "悬疑" + }, + { + "v": "惊悚", + "n": "惊悚" + }, + { + "v": "经典", + "n": "经典" + }, + { + "v": "青春", + "n": "青春" + }, + { + "v": "文艺", + "n": "文艺" + }, + { + "v": "微电影", + "n": "微电影" + }, + { + "v": "古装", + "n": "古装" + }, + { + "v": "历史", + "n": "历史" + }, + { + "v": "运动", + "n": "运动" + }, + { + "v": "农村", + "n": "农村" + }, + { + "v": "儿童", + "n": "儿童" + }, + { + "v": "网络电影", + "n": "网络电影" + } + ], + "key": "class" + }, + { + "name": "地区", + "value": [ + { + "v": "内地", + "n": "内地" + }, + { + "v": "韩国", + "n": "韩国" + }, + { + "v": "香港", + "n": "香港" + }, + { + "v": "台湾", + "n": "台湾" + }, + { + "v": "日本", + "n": "日本" + }, + { + "v": "美国", + "n": "美国" + }, + { + "v": "泰国", + "n": "泰国" + }, + { + "v": "英国", + "n": "英国" + }, + { + "v": "新加坡", + "n": "新加坡" + }, + { + "v": "其他", + "n": "其他" + } + ], + "key": "area" + }, + { + "name": "语言", + "value": [ + { + "v": "国语", + "n": "国语" + }, + { + "v": "英语", + "n": "英语" + }, + { + "v": "粤语", + "n": "粤语" + }, + { + "v": "闽南语", + "n": "闽南语" + }, + { + "v": "韩语", + "n": "韩语" + }, + { + "v": "日语", + "n": "日语" + }, + { + "v": "其它", + "n": "其它" + } + ], + "key": "lang" + }, + { + "name": "时间", + "value": [ + { + "v": "2024", + "n": "2024" + }, + { + "v": "2023", + "n": "2023" + }, + { + "v": "2022", + "n": "2022" + }, + { + "v": "2021", + "n": "2021" + }, + { + "v": "2020", + "n": "2020" + }, + { + "v": "2019", + "n": "2019" + }, + { + "v": "2018", + "n": "2018" + }, + { + "v": "2017", + "n": "2017" + }, + { + "v": "2016", + "n": "2016" + }, + { + "v": "2015", + "n": "2015" + }, + { + "v": "2014", + "n": "2014" + }, + { + "v": "2013", + "n": "2013" + }, + { + "v": "2012", + "n": "2012" + }, + { + "v": "2011", + "n": "2011" + }, + { + "v": "2010", + "n": "2010" + } + ], + "key": "year" + }, + { + "name": "字母查找", + "value": [ + { + "v": "A", + "n": "A" + }, + { + "v": "B", + "n": "B" + }, + { + "v": "C", + "n": "C" + }, + { + "v": "D", + "n": "D" + }, + { + "v": "E", + "n": "E" + }, + { + "v": "F", + "n": "F" + }, + { + "v": "G", + "n": "G" + }, + { + "v": "H", + "n": "H" + }, + { + "v": "I", + "n": "I" + }, + { + "v": "J", + "n": "J" + }, + { + "v": "K", + "n": "K" + }, + { + "v": "L", + "n": "L" + }, + { + "v": "M", + "n": "M" + }, + { + "v": "N", + "n": "N" + }, + { + "v": "O", + "n": "O" + }, + { + "v": "P", + "n": "P" + }, + { + "v": "Q", + "n": "Q" + }, + { + "v": "R", + "n": "R" + }, + { + "v": "S", + "n": "S" + }, + { + "v": "T", + "n": "T" + }, + { + "v": "U", + "n": "U" + }, + { + "v": "V", + "n": "V" + }, + { + "v": "W", + "n": "W" + }, + { + "v": "X", + "n": "X" + }, + { + "v": "Y", + "n": "Y" + }, + { + "v": "Z", + "n": "Z" + }, + { + "v": "0-9", + "n": "0-9" + } + ], + "key": "character" + }, + { + "name": "评分排序", + "value": [ + { + "v": "time", + "n": "时间排序" + }, + { + "v": "hits", + "n": "人气排序" + }, + { + "v": "score", + "n": "评分排序" + } + ], + "key": "order" + } + ] + } +} \ No newline at end of file diff --git a/xiaosa/json/yyds.json b/xiaosa/json/yyds.json new file mode 100644 index 00000000..74b3aacf --- /dev/null +++ b/xiaosa/json/yyds.json @@ -0,0 +1,1673 @@ +{ + "SiteUrl": "https://tv.yydsys.top", + "Domains": [ + "https://tv.yydsys.top", + "https://tv.yydsys.cc" + ], + "SiteWord": "yyds", + "SiteName": "多多", + "Classes": [ + { + "type_name": "电影", + "type_id": "1" + }, + { + "type_name": "剧集", + "type_id": "2" + }, + { + "type_name": "综艺", + "type_id": "3" + }, + { + "type_name": "动漫", + "type_id": "4" + }, + { + "type_name": "综艺", + "type_id": "20" + }, + { + "type_name": "短剧", + "type_id": "5" + } + ], + "Filters": { + "1": [ + { + "name": "剧情", + "value": [ + { + "v": "喜剧", + "n": "喜剧" + }, + { + "v": "爱情", + "n": "爱情" + }, + { + "v": "恐怖", + "n": "恐怖" + }, + { + "v": "动作", + "n": "动作" + }, + { + "v": "科幻", + "n": "科幻" + }, + { + "v": "剧情", + "n": "剧情" + }, + { + "v": "战争", + "n": "战争" + }, + { + "v": "警匪", + "n": "警匪" + }, + { + "v": "犯罪", + "n": "犯罪" + }, + { + "v": "古装", + "n": "古装" + }, + { + "v": "奇幻", + "n": "奇幻" + }, + { + "v": "武侠", + "n": "武侠" + }, + { + "v": "冒险", + "n": "冒险" + }, + { + "v": "枪战", + "n": "枪战" + }, + { + "v": "恐怖", + "n": "恐怖" + }, + { + "v": "悬疑", + "n": "悬疑" + }, + { + "v": "惊悚", + "n": "惊悚" + }, + { + "v": "经典", + "n": "经典" + }, + { + "v": "青春", + "n": "青春" + }, + { + "v": "文艺", + "n": "文艺" + }, + { + "v": "微电影", + "n": "微电影" + }, + { + "v": "历史", + "n": "历史" + } + ], + "key": "class" + }, + { + "name": "地区", + "value": [ + { + "v": "大陆", + "n": "大陆" + }, + { + "v": "香港", + "n": "香港" + }, + { + "v": "台湾", + "n": "台湾" + }, + { + "v": "美国", + "n": "美国" + }, + { + "v": "法国", + "n": "法国" + }, + { + "v": "英国", + "n": "英国" + }, + { + "v": "日本", + "n": "日本" + }, + { + "v": "韩国", + "n": "韩国" + }, + { + "v": "德国", + "n": "德国" + }, + { + "v": "泰国", + "n": "泰国" + }, + { + "v": "印度", + "n": "印度" + }, + { + "v": "意大利", + "n": "意大利" + }, + { + "v": "西班牙", + "n": "西班牙" + }, + { + "v": "加拿大", + "n": "加拿大" + }, + { + "v": "其他", + "n": "其他" + } + ], + "key": "area" + }, + { + "name": "语言", + "value": [ + { + "v": "国语", + "n": "国语" + }, + { + "v": "英语", + "n": "英语" + }, + { + "v": "粤语", + "n": "粤语" + }, + { + "v": "闽南语", + "n": "闽南语" + }, + { + "v": "韩语", + "n": "韩语" + }, + { + "v": "日语", + "n": "日语" + }, + { + "v": "法语", + "n": "法语" + }, + { + "v": "德语", + "n": "德语" + }, + { + "v": "其它", + "n": "其它" + } + ], + "key": "lang" + }, + { + "name": "时间", + "value": [ + { + "v": "2024", + "n": "2024" + }, + { + "v": "2023", + "n": "2023" + }, + { + "v": "2022", + "n": "2022" + }, + { + "v": "2021", + "n": "2021" + }, + { + "v": "2020", + "n": "2020" + }, + { + "v": "2019", + "n": "2019" + }, + { + "v": "2018", + "n": "2018" + }, + { + "v": "2017", + "n": "2017" + }, + { + "v": "2016", + "n": "2016" + }, + { + "v": "2015", + "n": "2015" + }, + { + "v": "2014", + "n": "2014" + }, + { + "v": "2013", + "n": "2013" + }, + { + "v": "2012", + "n": "2012" + }, + { + "v": "2011", + "n": "2011" + }, + { + "v": "2010", + "n": "2010" + } + ], + "key": "year" + }, + { + "name": "字母查找", + "value": [ + { + "v": "A", + "n": "A" + }, + { + "v": "B", + "n": "B" + }, + { + "v": "C", + "n": "C" + }, + { + "v": "D", + "n": "D" + }, + { + "v": "E", + "n": "E" + }, + { + "v": "F", + "n": "F" + }, + { + "v": "G", + "n": "G" + }, + { + "v": "H", + "n": "H" + }, + { + "v": "I", + "n": "I" + }, + { + "v": "J", + "n": "J" + }, + { + "v": "K", + "n": "K" + }, + { + "v": "L", + "n": "L" + }, + { + "v": "M", + "n": "M" + }, + { + "v": "N", + "n": "N" + }, + { + "v": "O", + "n": "O" + }, + { + "v": "P", + "n": "P" + }, + { + "v": "Q", + "n": "Q" + }, + { + "v": "R", + "n": "R" + }, + { + "v": "S", + "n": "S" + }, + { + "v": "T", + "n": "T" + }, + { + "v": "U", + "n": "U" + }, + { + "v": "V", + "n": "V" + }, + { + "v": "W", + "n": "W" + }, + { + "v": "X", + "n": "X" + }, + { + "v": "Y", + "n": "Y" + }, + { + "v": "Z", + "n": "Z" + }, + { + "v": "0-9", + "n": "0-9" + } + ], + "key": "character" + }, + { + "name": "评分排序", + "value": [ + { + "v": "time", + "n": "时间排序" + }, + { + "v": "hits", + "n": "人气排序" + }, + { + "v": "score", + "n": "评分排序" + } + ], + "key": "order" + } + ], + "2": [ + { + "name": "剧情", + "value": [ + { + "v": "喜剧", + "n": "喜剧" + }, + { + "v": "爱情", + "n": "爱情" + }, + { + "v": "恐怖", + "n": "恐怖" + }, + { + "v": "动作", + "n": "动作" + }, + { + "v": "科幻", + "n": "科幻" + }, + { + "v": "剧情", + "n": "剧情" + }, + { + "v": "战争", + "n": "战争" + }, + { + "v": "警匪", + "n": "警匪" + }, + { + "v": "犯罪", + "n": "犯罪" + }, + { + "v": "古装", + "n": "古装" + }, + { + "v": "奇幻", + "n": "奇幻" + }, + { + "v": "武侠", + "n": "武侠" + }, + { + "v": "冒险", + "n": "冒险" + }, + { + "v": "枪战", + "n": "枪战" + }, + { + "v": "恐怖", + "n": "恐怖" + }, + { + "v": "悬疑", + "n": "悬疑" + }, + { + "v": "惊悚", + "n": "惊悚" + }, + { + "v": "经典", + "n": "经典" + }, + { + "v": "青春", + "n": "青春" + }, + { + "v": "文艺", + "n": "文艺" + }, + { + "v": "微电影", + "n": "微电影" + }, + { + "v": "历史", + "n": "历史" + } + ], + "key": "class" + }, + { + "name": "地区", + "value": [ + { + "v": "大陆", + "n": "大陆" + }, + { + "v": "香港", + "n": "香港" + }, + { + "v": "台湾", + "n": "台湾" + }, + { + "v": "美国", + "n": "美国" + }, + { + "v": "法国", + "n": "法国" + }, + { + "v": "英国", + "n": "英国" + }, + { + "v": "日本", + "n": "日本" + }, + { + "v": "韩国", + "n": "韩国" + }, + { + "v": "德国", + "n": "德国" + }, + { + "v": "泰国", + "n": "泰国" + }, + { + "v": "印度", + "n": "印度" + }, + { + "v": "意大利", + "n": "意大利" + }, + { + "v": "西班牙", + "n": "西班牙" + }, + { + "v": "加拿大", + "n": "加拿大" + }, + { + "v": "其他", + "n": "其他" + } + ], + "key": "area" + }, + { + "name": "语言", + "value": [ + { + "v": "国语", + "n": "国语" + }, + { + "v": "英语", + "n": "英语" + }, + { + "v": "粤语", + "n": "粤语" + }, + { + "v": "闽南语", + "n": "闽南语" + }, + { + "v": "韩语", + "n": "韩语" + }, + { + "v": "日语", + "n": "日语" + }, + { + "v": "法语", + "n": "法语" + }, + { + "v": "德语", + "n": "德语" + }, + { + "v": "其它", + "n": "其它" + } + ], + "key": "lang" + }, + { + "name": "时间", + "value": [ + { + "v": "2024", + "n": "2024" + }, + { + "v": "2023", + "n": "2023" + }, + { + "v": "2022", + "n": "2022" + }, + { + "v": "2021", + "n": "2021" + }, + { + "v": "2020", + "n": "2020" + }, + { + "v": "2019", + "n": "2019" + }, + { + "v": "2018", + "n": "2018" + }, + { + "v": "2017", + "n": "2017" + }, + { + "v": "2016", + "n": "2016" + }, + { + "v": "2015", + "n": "2015" + }, + { + "v": "2014", + "n": "2014" + }, + { + "v": "2013", + "n": "2013" + }, + { + "v": "2012", + "n": "2012" + }, + { + "v": "2011", + "n": "2011" + }, + { + "v": "2010", + "n": "2010" + } + ], + "key": "year" + }, + { + "name": "字母查找", + "value": [ + { + "v": "A", + "n": "A" + }, + { + "v": "B", + "n": "B" + }, + { + "v": "C", + "n": "C" + }, + { + "v": "D", + "n": "D" + }, + { + "v": "E", + "n": "E" + }, + { + "v": "F", + "n": "F" + }, + { + "v": "G", + "n": "G" + }, + { + "v": "H", + "n": "H" + }, + { + "v": "I", + "n": "I" + }, + { + "v": "J", + "n": "J" + }, + { + "v": "K", + "n": "K" + }, + { + "v": "L", + "n": "L" + }, + { + "v": "M", + "n": "M" + }, + { + "v": "N", + "n": "N" + }, + { + "v": "O", + "n": "O" + }, + { + "v": "P", + "n": "P" + }, + { + "v": "Q", + "n": "Q" + }, + { + "v": "R", + "n": "R" + }, + { + "v": "S", + "n": "S" + }, + { + "v": "T", + "n": "T" + }, + { + "v": "U", + "n": "U" + }, + { + "v": "V", + "n": "V" + }, + { + "v": "W", + "n": "W" + }, + { + "v": "X", + "n": "X" + }, + { + "v": "Y", + "n": "Y" + }, + { + "v": "Z", + "n": "Z" + }, + { + "v": "0-9", + "n": "0-9" + } + ], + "key": "character" + }, + { + "name": "评分排序", + "value": [ + { + "v": "time", + "n": "时间排序" + }, + { + "v": "hits", + "n": "人气排序" + }, + { + "v": "score", + "n": "评分排序" + } + ], + "key": "order" + } + ], + "4": [ + { + "name": "剧情", + "value": [ + { + "v": "情感", + "n": "情感" + }, + { + "v": "科幻", + "n": "科幻" + }, + { + "v": "热血", + "n": "热血" + }, + { + "v": "推理", + "n": "推理" + }, + { + "v": "搞笑", + "n": "搞笑" + }, + { + "v": "冒险", + "n": "冒险" + }, + { + "v": "萝莉", + "n": "萝莉" + }, + { + "v": "校园", + "n": "校园" + }, + { + "v": "动作", + "n": "动作" + }, + { + "v": "机战", + "n": "机战" + }, + { + "v": "运动", + "n": "运动" + }, + { + "v": "战争", + "n": "战争" + }, + { + "v": "少年", + "n": "少年" + }, + { + "v": "少女", + "n": "少女" + }, + { + "v": "社会", + "n": "社会" + }, + { + "v": "原创", + "n": "原创" + }, + { + "v": "亲子", + "n": "亲子" + }, + { + "v": "益智", + "n": "益智" + }, + { + "v": "励志", + "n": "励志" + }, + { + "v": "其他", + "n": "其他" + } + ], + "key": "class" + }, + { + "name": "地区", + "value": [ + { + "v": "大陆", + "n": "大陆" + }, + { + "v": "香港", + "n": "香港" + }, + { + "v": "台湾", + "n": "台湾" + }, + { + "v": "美国", + "n": "美国" + }, + { + "v": "法国", + "n": "法国" + }, + { + "v": "英国", + "n": "英国" + }, + { + "v": "日本", + "n": "日本" + }, + { + "v": "韩国", + "n": "韩国" + }, + { + "v": "德国", + "n": "德国" + }, + { + "v": "泰国", + "n": "泰国" + }, + { + "v": "印度", + "n": "印度" + }, + { + "v": "意大利", + "n": "意大利" + }, + { + "v": "西班牙", + "n": "西班牙" + }, + { + "v": "加拿大", + "n": "加拿大" + }, + { + "v": "其他", + "n": "其他" + } + ], + "key": "area" + }, + { + "name": "语言", + "value": [ + { + "v": "国语", + "n": "国语" + }, + { + "v": "英语", + "n": "英语" + }, + { + "v": "粤语", + "n": "粤语" + }, + { + "v": "闽南语", + "n": "闽南语" + }, + { + "v": "韩语", + "n": "韩语" + }, + { + "v": "日语", + "n": "日语" + }, + { + "v": "法语", + "n": "法语" + }, + { + "v": "德语", + "n": "德语" + }, + { + "v": "其它", + "n": "其它" + } + ], + "key": "lang" + }, + { + "name": "时间", + "value": [ + { + "v": "2024", + "n": "2024" + }, + { + "v": "2023", + "n": "2023" + }, + { + "v": "2022", + "n": "2022" + }, + { + "v": "2021", + "n": "2021" + }, + { + "v": "2020", + "n": "2020" + }, + { + "v": "2019", + "n": "2019" + }, + { + "v": "2018", + "n": "2018" + }, + { + "v": "2017", + "n": "2017" + }, + { + "v": "2016", + "n": "2016" + }, + { + "v": "2015", + "n": "2015" + }, + { + "v": "2014", + "n": "2014" + }, + { + "v": "2013", + "n": "2013" + }, + { + "v": "2012", + "n": "2012" + }, + { + "v": "2011", + "n": "2011" + }, + { + "v": "2010", + "n": "2010" + } + ], + "key": "year" + }, + { + "name": "字母查找", + "value": [ + { + "v": "A", + "n": "A" + }, + { + "v": "B", + "n": "B" + }, + { + "v": "C", + "n": "C" + }, + { + "v": "D", + "n": "D" + }, + { + "v": "E", + "n": "E" + }, + { + "v": "F", + "n": "F" + }, + { + "v": "G", + "n": "G" + }, + { + "v": "H", + "n": "H" + }, + { + "v": "I", + "n": "I" + }, + { + "v": "J", + "n": "J" + }, + { + "v": "K", + "n": "K" + }, + { + "v": "L", + "n": "L" + }, + { + "v": "M", + "n": "M" + }, + { + "v": "N", + "n": "N" + }, + { + "v": "O", + "n": "O" + }, + { + "v": "P", + "n": "P" + }, + { + "v": "Q", + "n": "Q" + }, + { + "v": "R", + "n": "R" + }, + { + "v": "S", + "n": "S" + }, + { + "v": "T", + "n": "T" + }, + { + "v": "U", + "n": "U" + }, + { + "v": "V", + "n": "V" + }, + { + "v": "W", + "n": "W" + }, + { + "v": "X", + "n": "X" + }, + { + "v": "Y", + "n": "Y" + }, + { + "v": "Z", + "n": "Z" + }, + { + "v": "0-9", + "n": "0-9" + } + ], + "key": "character" + }, + { + "name": "评分排序", + "value": [ + { + "v": "time", + "n": "时间排序" + }, + { + "v": "hits", + "n": "人气排序" + }, + { + "v": "score", + "n": "评分排序" + } + ], + "key": "order" + } + ], + "3": [ + { + "name": "地区", + "value": [ + { + "v": "大陆", + "n": "大陆" + }, + { + "v": "香港", + "n": "香港" + }, + { + "v": "台湾", + "n": "台湾" + }, + { + "v": "美国", + "n": "美国" + }, + { + "v": "法国", + "n": "法国" + }, + { + "v": "英国", + "n": "英国" + }, + { + "v": "日本", + "n": "日本" + }, + { + "v": "韩国", + "n": "韩国" + } + ], + "key": "area" + }, + { + "name": "时间", + "value": [ + { + "v": "2024", + "n": "2024" + }, + { + "v": "2023", + "n": "2023" + }, + { + "v": "2022", + "n": "2022" + }, + { + "v": "2021", + "n": "2021" + }, + { + "v": "2020", + "n": "2020" + }, + { + "v": "2019", + "n": "2019" + }, + { + "v": "2018", + "n": "2018" + }, + { + "v": "2017", + "n": "2017" + }, + { + "v": "2016", + "n": "2016" + }, + { + "v": "2015", + "n": "2015" + }, + { + "v": "2014", + "n": "2014" + }, + { + "v": "2013", + "n": "2013" + }, + { + "v": "2012", + "n": "2012" + }, + { + "v": "2011", + "n": "2011" + }, + { + "v": "2010", + "n": "2010" + } + ], + "key": "year" + }, + { + "name": "字母查找", + "value": [ + { + "v": "A", + "n": "A" + }, + { + "v": "B", + "n": "B" + }, + { + "v": "C", + "n": "C" + }, + { + "v": "D", + "n": "D" + }, + { + "v": "E", + "n": "E" + }, + { + "v": "F", + "n": "F" + }, + { + "v": "G", + "n": "G" + }, + { + "v": "H", + "n": "H" + }, + { + "v": "I", + "n": "I" + }, + { + "v": "J", + "n": "J" + }, + { + "v": "K", + "n": "K" + }, + { + "v": "L", + "n": "L" + }, + { + "v": "M", + "n": "M" + }, + { + "v": "N", + "n": "N" + }, + { + "v": "O", + "n": "O" + }, + { + "v": "P", + "n": "P" + }, + { + "v": "Q", + "n": "Q" + }, + { + "v": "R", + "n": "R" + }, + { + "v": "S", + "n": "S" + }, + { + "v": "T", + "n": "T" + }, + { + "v": "U", + "n": "U" + }, + { + "v": "V", + "n": "V" + }, + { + "v": "W", + "n": "W" + }, + { + "v": "X", + "n": "X" + }, + { + "v": "Y", + "n": "Y" + }, + { + "v": "Z", + "n": "Z" + }, + { + "v": "0-9", + "n": "0-9" + } + ], + "key": "character" + }, + { + "name": "评分排序", + "value": [ + { + "v": "time", + "n": "时间排序" + }, + { + "v": "hits", + "n": "人气排序" + }, + { + "v": "score", + "n": "评分排序" + } + ], + "key": "order" + } + ], + "5": [ + { + "name": "时间", + "value": [ + { + "v": "2024", + "n": "2024" + }, + { + "v": "2023", + "n": "2023" + }, + { + "v": "2022", + "n": "2022" + }, + { + "v": "2021", + "n": "2021" + }, + { + "v": "2020", + "n": "2020" + }, + { + "v": "2019", + "n": "2019" + }, + { + "v": "2018", + "n": "2018" + }, + { + "v": "2017", + "n": "2017" + }, + { + "v": "2016", + "n": "2016" + }, + { + "v": "2015", + "n": "2015" + }, + { + "v": "2014", + "n": "2014" + }, + { + "v": "2013", + "n": "2013" + }, + { + "v": "2012", + "n": "2012" + }, + { + "v": "2011", + "n": "2011" + }, + { + "v": "2010", + "n": "2010" + } + ], + "key": "year" + }, + { + "name": "字母查找", + "value": [ + { + "v": "A", + "n": "A" + }, + { + "v": "B", + "n": "B" + }, + { + "v": "C", + "n": "C" + }, + { + "v": "D", + "n": "D" + }, + { + "v": "E", + "n": "E" + }, + { + "v": "F", + "n": "F" + }, + { + "v": "G", + "n": "G" + }, + { + "v": "H", + "n": "H" + }, + { + "v": "I", + "n": "I" + }, + { + "v": "J", + "n": "J" + }, + { + "v": "K", + "n": "K" + }, + { + "v": "L", + "n": "L" + }, + { + "v": "M", + "n": "M" + }, + { + "v": "N", + "n": "N" + }, + { + "v": "O", + "n": "O" + }, + { + "v": "P", + "n": "P" + }, + { + "v": "Q", + "n": "Q" + }, + { + "v": "R", + "n": "R" + }, + { + "v": "S", + "n": "S" + }, + { + "v": "T", + "n": "T" + }, + { + "v": "U", + "n": "U" + }, + { + "v": "V", + "n": "V" + }, + { + "v": "W", + "n": "W" + }, + { + "v": "X", + "n": "X" + }, + { + "v": "Y", + "n": "Y" + }, + { + "v": "Z", + "n": "Z" + }, + { + "v": "0-9", + "n": "0-9" + } + ], + "key": "character" + }, + { + "name": "评分排序", + "value": [ + { + "v": "time", + "n": "时间排序" + }, + { + "v": "hits", + "n": "人气排序" + }, + { + "v": "score", + "n": "评分排序" + } + ], + "key": "order" + } + ] + } +} \ No newline at end of file diff --git a/xiaosa/json/zz.json b/xiaosa/json/zz.json new file mode 100644 index 00000000..62bf9f72 --- /dev/null +++ b/xiaosa/json/zz.json @@ -0,0 +1,1698 @@ +{ + "SiteUrl": "https://xiaomiai.site", + "Domains": [], + "SiteWord": "zz", + "SiteName": "至臻", + "Classes": [ + { + "type_name": "电影", + "type_id": "1" + }, + { + "type_name": "剧集", + "type_id": "2" + }, + { + "type_name": "臻彩", + "type_id": "26" + }, + { + "type_name": "老剧", + "type_id": "24" + }, + { + "type_name": "综艺", + "type_id": "4" + }, + { + "type_name": "动漫", + "type_id": "3" + }, + { + "type_name": "短剧", + "type_id": "5" + } + ], + "Filters": { + "1": [ + { + "name": "类型", + "value": [ + { + "v": "6", + "n": "科幻" + }, + { + "v": "7", + "n": "爱情" + }, + { + "v": "8", + "n": "战争" + }, + { + "v": "9", + "n": "恐怖" + }, + { + "v": "10", + "n": "高码" + }, + { + "v": "11", + "n": "动画" + }, + { + "v": "12", + "n": "动作" + }, + { + "v": "23", + "n": "画质控" + } + ], + "key": "type" + }, + { + "name": "剧情", + "value": [ + { + "v": "喜剧", + "n": "喜剧" + }, + { + "v": "爱情", + "n": "爱情" + }, + { + "v": "恐怖", + "n": "恐怖" + }, + { + "v": "动作", + "n": "动作" + }, + { + "v": "科幻", + "n": "科幻" + }, + { + "v": "剧情", + "n": "剧情" + }, + { + "v": "战争", + "n": "战争" + }, + { + "v": "警匪", + "n": "警匪" + }, + { + "v": "犯罪", + "n": "犯罪" + }, + { + "v": "动画", + "n": "动画" + }, + { + "v": "奇幻", + "n": "奇幻" + }, + { + "v": "武侠", + "n": "武侠" + }, + { + "v": "冒险", + "n": "冒险" + }, + { + "v": "枪战", + "n": "枪战" + }, + { + "v": "恐怖", + "n": "恐怖" + }, + { + "v": "悬疑", + "n": "悬疑" + }, + { + "v": "惊悚", + "n": "惊悚" + }, + { + "v": "经典", + "n": "经典" + }, + { + "v": "青春", + "n": "青春" + }, + { + "v": "文艺", + "n": "文艺" + }, + { + "v": "微电影", + "n": "微电影" + }, + { + "v": "古装", + "n": "古装" + }, + { + "v": "历史", + "n": "历史" + }, + { + "v": "运动", + "n": "运动" + }, + { + "v": "农村", + "n": "农村" + }, + { + "v": "儿童", + "n": "儿童" + }, + { + "v": "网络电影", + "n": "网络电影" + } + ], + "key": "class" + }, + { + "name": "地区", + "value": [ + { + "v": "大陆", + "n": "大陆" + }, + { + "v": "香港", + "n": "香港" + }, + { + "v": "台湾", + "n": "台湾" + }, + { + "v": "美国", + "n": "美国" + }, + { + "v": "法国", + "n": "法国" + }, + { + "v": "英国", + "n": "英国" + }, + { + "v": "日本", + "n": "日本" + }, + { + "v": "韩国", + "n": "韩国" + }, + { + "v": "德国", + "n": "德国" + }, + { + "v": "泰国", + "n": "泰国" + }, + { + "v": "印度", + "n": "印度" + }, + { + "v": "意大利", + "n": "意大利" + }, + { + "v": "西班牙", + "n": "西班牙" + }, + { + "v": "加拿大", + "n": "加拿大" + }, + { + "v": "其他", + "n": "其他" + } + ], + "key": "area" + }, + { + "name": "语言", + "value": [ + { + "v": "国语", + "n": "国语" + }, + { + "v": "英语", + "n": "英语" + }, + { + "v": "粤语", + "n": "粤语" + }, + { + "v": "闽南语", + "n": "闽南语" + }, + { + "v": "韩语", + "n": "韩语" + }, + { + "v": "日语", + "n": "日语" + }, + { + "v": "法语", + "n": "法语" + }, + { + "v": "德语", + "n": "德语" + }, + { + "v": "其它", + "n": "其它" + } + ], + "key": "lang" + }, + { + "name": "时间", + "value": [ + { + "v": "2024", + "n": "2024" + }, + { + "v": "2023", + "n": "2023" + }, + { + "v": "2022", + "n": "2022" + }, + { + "v": "2021", + "n": "2021" + }, + { + "v": "2020", + "n": "2020" + }, + { + "v": "2019", + "n": "2019" + }, + { + "v": "2018", + "n": "2018" + }, + { + "v": "2017", + "n": "2017" + }, + { + "v": "2016", + "n": "2016" + }, + { + "v": "2015", + "n": "2015" + }, + { + "v": "2014", + "n": "2014" + }, + { + "v": "2013", + "n": "2013" + }, + { + "v": "2012", + "n": "2012" + }, + { + "v": "2011", + "n": "2011" + }, + { + "v": "2010", + "n": "2010" + } + ], + "key": "year" + }, + { + "name": "字母查找", + "value": [ + { + "v": "A", + "n": "A" + }, + { + "v": "B", + "n": "B" + }, + { + "v": "C", + "n": "C" + }, + { + "v": "D", + "n": "D" + }, + { + "v": "E", + "n": "E" + }, + { + "v": "F", + "n": "F" + }, + { + "v": "G", + "n": "G" + }, + { + "v": "H", + "n": "H" + }, + { + "v": "I", + "n": "I" + }, + { + "v": "J", + "n": "J" + }, + { + "v": "K", + "n": "K" + }, + { + "v": "L", + "n": "L" + }, + { + "v": "M", + "n": "M" + }, + { + "v": "N", + "n": "N" + }, + { + "v": "O", + "n": "O" + }, + { + "v": "P", + "n": "P" + }, + { + "v": "Q", + "n": "Q" + }, + { + "v": "R", + "n": "R" + }, + { + "v": "S", + "n": "S" + }, + { + "v": "T", + "n": "T" + }, + { + "v": "U", + "n": "U" + }, + { + "v": "V", + "n": "V" + }, + { + "v": "W", + "n": "W" + }, + { + "v": "X", + "n": "X" + }, + { + "v": "Y", + "n": "Y" + }, + { + "v": "Z", + "n": "Z" + }, + { + "v": "0-9", + "n": "0-9" + } + ], + "key": "character" + }, + { + "name": "评分排序", + "value": [ + { + "v": "time", + "n": "时间排序" + }, + { + "v": "hits", + "n": "人气排序" + }, + { + "v": "score", + "n": "评分排序" + } + ], + "key": "order" + } + ], + "2": [ + { + "name": "类型", + "value": [ + { + "v": "13", + "n": "国产剧" + }, + { + "v": "14", + "n": "日韩剧" + }, + { + "v": "15", + "n": "欧美剧" + }, + { + "v": "16", + "n": "港台剧" + } + ], + "key": "type" + }, + { + "name": "剧情", + "value": [ + { + "v": "古装", + "n": "古装" + }, + { + "v": "战争", + "n": "战争" + }, + { + "v": "青春偶像", + "n": "青春偶像" + }, + { + "v": "喜剧", + "n": "喜剧" + }, + { + "v": "家庭", + "n": "家庭" + }, + { + "v": "犯罪", + "n": "犯罪" + }, + { + "v": "动作", + "n": "动作" + }, + { + "v": "奇幻", + "n": "奇幻" + }, + { + "v": "剧情", + "n": "剧情" + }, + { + "v": "历史", + "n": "历史" + }, + { + "v": "经典", + "n": "经典" + }, + { + "v": "乡村", + "n": "乡村" + }, + { + "v": "情景", + "n": "情景" + }, + { + "v": "商战", + "n": "商战" + }, + { + "v": "网剧", + "n": "网剧" + }, + { + "v": "其他", + "n": "其他" + } + ], + "key": "class" + }, + { + "name": "地区", + "value": [ + { + "v": "内地", + "n": "内地" + }, + { + "v": "韩国", + "n": "韩国" + }, + { + "v": "香港", + "n": "香港" + }, + { + "v": "台湾", + "n": "台湾" + }, + { + "v": "日本", + "n": "日本" + }, + { + "v": "美国", + "n": "美国" + }, + { + "v": "泰国", + "n": "泰国" + }, + { + "v": "英国", + "n": "英国" + }, + { + "v": "新加坡", + "n": "新加坡" + }, + { + "v": "其他", + "n": "其他" + } + ], + "key": "area" + }, + { + "name": "语言", + "value": [ + { + "v": "国语", + "n": "国语" + }, + { + "v": "英语", + "n": "英语" + }, + { + "v": "粤语", + "n": "粤语" + }, + { + "v": "闽南语", + "n": "闽南语" + }, + { + "v": "韩语", + "n": "韩语" + }, + { + "v": "日语", + "n": "日语" + }, + { + "v": "其它", + "n": "其它" + } + ], + "key": "lang" + }, + { + "name": "时间", + "value": [ + { + "v": "2024", + "n": "2024" + }, + { + "v": "2023", + "n": "2023" + }, + { + "v": "2022", + "n": "2022" + }, + { + "v": "2021", + "n": "2021" + }, + { + "v": "2020", + "n": "2020" + }, + { + "v": "2019", + "n": "2019" + }, + { + "v": "2018", + "n": "2018" + }, + { + "v": "2017", + "n": "2017" + }, + { + "v": "2016", + "n": "2016" + }, + { + "v": "2015", + "n": "2015" + }, + { + "v": "2014", + "n": "2014" + }, + { + "v": "2013", + "n": "2013" + }, + { + "v": "2012", + "n": "2012" + }, + { + "v": "2011", + "n": "2011" + }, + { + "v": "2010", + "n": "2010" + } + ], + "key": "year" + }, + { + "name": "字母查找", + "value": [ + { + "v": "A", + "n": "A" + }, + { + "v": "B", + "n": "B" + }, + { + "v": "C", + "n": "C" + }, + { + "v": "D", + "n": "D" + }, + { + "v": "E", + "n": "E" + }, + { + "v": "F", + "n": "F" + }, + { + "v": "G", + "n": "G" + }, + { + "v": "H", + "n": "H" + }, + { + "v": "I", + "n": "I" + }, + { + "v": "J", + "n": "J" + }, + { + "v": "K", + "n": "K" + }, + { + "v": "L", + "n": "L" + }, + { + "v": "M", + "n": "M" + }, + { + "v": "N", + "n": "N" + }, + { + "v": "O", + "n": "O" + }, + { + "v": "P", + "n": "P" + }, + { + "v": "Q", + "n": "Q" + }, + { + "v": "R", + "n": "R" + }, + { + "v": "S", + "n": "S" + }, + { + "v": "T", + "n": "T" + }, + { + "v": "U", + "n": "U" + }, + { + "v": "V", + "n": "V" + }, + { + "v": "W", + "n": "W" + }, + { + "v": "X", + "n": "X" + }, + { + "v": "Y", + "n": "Y" + }, + { + "v": "Z", + "n": "Z" + }, + { + "v": "0-9", + "n": "0-9" + } + ], + "key": "character" + }, + { + "name": "评分排序", + "value": [ + { + "v": "time", + "n": "时间排序" + }, + { + "v": "hits", + "n": "人气排序" + }, + { + "v": "score", + "n": "评分排序" + } + ], + "key": "order" + } + ], + "3": [ + { + "name": "类型", + "value": [ + { + "v": "22", + "n": "日韩" + }, + { + "v": "20", + "n": "国产" + }, + { + "v": "21", + "n": "欧美" + } + ], + "key": "type" + }, + { + "name": "时间", + "value": [ + { + "v": "2024", + "n": "2024" + }, + { + "v": "2023", + "n": "2023" + }, + { + "v": "2022", + "n": "2022" + }, + { + "v": "2021", + "n": "2021" + }, + { + "v": "2020", + "n": "2020" + }, + { + "v": "2019", + "n": "2019" + }, + { + "v": "2018", + "n": "2018" + }, + { + "v": "2017", + "n": "2017" + }, + { + "v": "2016", + "n": "2016" + }, + { + "v": "2015", + "n": "2015" + }, + { + "v": "2014", + "n": "2014" + }, + { + "v": "2013", + "n": "2013" + }, + { + "v": "2012", + "n": "2012" + }, + { + "v": "2011", + "n": "2011" + }, + { + "v": "2010", + "n": "2010" + } + ], + "key": "year" + }, + { + "name": "字母查找", + "value": [ + { + "v": "A", + "n": "A" + }, + { + "v": "B", + "n": "B" + }, + { + "v": "C", + "n": "C" + }, + { + "v": "D", + "n": "D" + }, + { + "v": "E", + "n": "E" + }, + { + "v": "F", + "n": "F" + }, + { + "v": "G", + "n": "G" + }, + { + "v": "H", + "n": "H" + }, + { + "v": "I", + "n": "I" + }, + { + "v": "J", + "n": "J" + }, + { + "v": "K", + "n": "K" + }, + { + "v": "L", + "n": "L" + }, + { + "v": "M", + "n": "M" + }, + { + "v": "N", + "n": "N" + }, + { + "v": "O", + "n": "O" + }, + { + "v": "P", + "n": "P" + }, + { + "v": "Q", + "n": "Q" + }, + { + "v": "R", + "n": "R" + }, + { + "v": "S", + "n": "S" + }, + { + "v": "T", + "n": "T" + }, + { + "v": "U", + "n": "U" + }, + { + "v": "V", + "n": "V" + }, + { + "v": "W", + "n": "W" + }, + { + "v": "X", + "n": "X" + }, + { + "v": "Y", + "n": "Y" + }, + { + "v": "Z", + "n": "Z" + }, + { + "v": "0-9", + "n": "0-9" + } + ], + "key": "character" + }, + { + "name": "评分排序", + "value": [ + { + "v": "time", + "n": "时间排序" + }, + { + "v": "hits", + "n": "人气排序" + }, + { + "v": "score", + "n": "评分排序" + } + ], + "key": "order" + } + ], + "25": [ + { + "name": "字母查找", + "value": [ + { + "v": "A", + "n": "A" + }, + { + "v": "B", + "n": "B" + }, + { + "v": "C", + "n": "C" + }, + { + "v": "D", + "n": "D" + }, + { + "v": "E", + "n": "E" + }, + { + "v": "F", + "n": "F" + }, + { + "v": "G", + "n": "G" + }, + { + "v": "H", + "n": "H" + }, + { + "v": "I", + "n": "I" + }, + { + "v": "J", + "n": "J" + }, + { + "v": "K", + "n": "K" + }, + { + "v": "L", + "n": "L" + }, + { + "v": "M", + "n": "M" + }, + { + "v": "N", + "n": "N" + }, + { + "v": "O", + "n": "O" + }, + { + "v": "P", + "n": "P" + }, + { + "v": "Q", + "n": "Q" + }, + { + "v": "R", + "n": "R" + }, + { + "v": "S", + "n": "S" + }, + { + "v": "T", + "n": "T" + }, + { + "v": "U", + "n": "U" + }, + { + "v": "V", + "n": "V" + }, + { + "v": "W", + "n": "W" + }, + { + "v": "X", + "n": "X" + }, + { + "v": "Y", + "n": "Y" + }, + { + "v": "Z", + "n": "Z" + }, + { + "v": "0-9", + "n": "0-9" + } + ], + "key": "character" + }, + { + "name": "评分排序", + "value": [ + { + "v": "time", + "n": "时间排序" + }, + { + "v": "hits", + "n": "人气排序" + }, + { + "v": "score", + "n": "评分排序" + } + ], + "key": "order" + } + ], + "4": [ + { + "name": "剧情", + "value": [ + { + "v": "情感", + "n": "情感" + }, + { + "v": "科幻", + "n": "科幻" + }, + { + "v": "热血", + "n": "热血" + }, + { + "v": "推理", + "n": "推理" + }, + { + "v": "搞笑", + "n": "搞笑" + }, + { + "v": "冒险", + "n": "冒险" + }, + { + "v": "萝莉", + "n": "萝莉" + }, + { + "v": "校园", + "n": "校园" + }, + { + "v": "动作", + "n": "动作" + }, + { + "v": "机战", + "n": "机战" + }, + { + "v": "运动", + "n": "运动" + }, + { + "v": "战争", + "n": "战争" + }, + { + "v": "少年", + "n": "少年" + }, + { + "v": "少女", + "n": "少女" + }, + { + "v": "社会", + "n": "社会" + }, + { + "v": "原创", + "n": "原创" + }, + { + "v": "亲子", + "n": "亲子" + }, + { + "v": "益智", + "n": "益智" + }, + { + "v": "励志", + "n": "励志" + }, + { + "v": "其他", + "n": "其他" + } + ], + "key": "class" + }, + { + "name": "地区", + "value": [ + { + "v": "国产", + "n": "国产" + }, + { + "v": "日本", + "n": "日本" + }, + { + "v": "欧美", + "n": "欧美" + }, + { + "v": "其他", + "n": "其他" + } + ], + "key": "area" + }, + { + "name": "语言", + "value": [ + { + "v": "国语", + "n": "国语" + }, + { + "v": "英语", + "n": "英语" + }, + { + "v": "粤语", + "n": "粤语" + }, + { + "v": "闽南语", + "n": "闽南语" + }, + { + "v": "韩语", + "n": "韩语" + }, + { + "v": "日语", + "n": "日语" + }, + { + "v": "其它", + "n": "其它" + } + ], + "key": "lang" + }, + { + "name": "时间", + "value": [ + { + "v": "2024", + "n": "2024" + }, + { + "v": "2023", + "n": "2023" + }, + { + "v": "2022", + "n": "2022" + }, + { + "v": "2021", + "n": "2021" + }, + { + "v": "2020", + "n": "2020" + }, + { + "v": "2019", + "n": "2019" + }, + { + "v": "2018", + "n": "2018" + }, + { + "v": "2017", + "n": "2017" + }, + { + "v": "2016", + "n": "2016" + }, + { + "v": "2015", + "n": "2015" + }, + { + "v": "2014", + "n": "2014" + }, + { + "v": "2013", + "n": "2013" + }, + { + "v": "2012", + "n": "2012" + }, + { + "v": "2011", + "n": "2011" + }, + { + "v": "2010", + "n": "2010" + } + ], + "key": "year" + }, + { + "name": "字母查找", + "value": [ + { + "v": "A", + "n": "A" + }, + { + "v": "B", + "n": "B" + }, + { + "v": "C", + "n": "C" + }, + { + "v": "D", + "n": "D" + }, + { + "v": "E", + "n": "E" + }, + { + "v": "F", + "n": "F" + }, + { + "v": "G", + "n": "G" + }, + { + "v": "H", + "n": "H" + }, + { + "v": "I", + "n": "I" + }, + { + "v": "J", + "n": "J" + }, + { + "v": "K", + "n": "K" + }, + { + "v": "L", + "n": "L" + }, + { + "v": "M", + "n": "M" + }, + { + "v": "N", + "n": "N" + }, + { + "v": "O", + "n": "O" + }, + { + "v": "P", + "n": "P" + }, + { + "v": "Q", + "n": "Q" + }, + { + "v": "R", + "n": "R" + }, + { + "v": "S", + "n": "S" + }, + { + "v": "T", + "n": "T" + }, + { + "v": "U", + "n": "U" + }, + { + "v": "V", + "n": "V" + }, + { + "v": "W", + "n": "W" + }, + { + "v": "X", + "n": "X" + }, + { + "v": "Y", + "n": "Y" + }, + { + "v": "Z", + "n": "Z" + }, + { + "v": "0-9", + "n": "0-9" + } + ], + "key": "character" + }, + { + "name": "评分排序", + "value": [ + { + "v": "time", + "n": "时间排序" + }, + { + "v": "hits", + "n": "人气排序" + }, + { + "v": "score", + "n": "评分排序" + } + ], + "key": "order" + } + ], + "5": [ + { + "name": "字母查找", + "value": [ + { + "v": "A", + "n": "A" + }, + { + "v": "B", + "n": "B" + }, + { + "v": "C", + "n": "C" + }, + { + "v": "D", + "n": "D" + }, + { + "v": "E", + "n": "E" + }, + { + "v": "F", + "n": "F" + }, + { + "v": "G", + "n": "G" + }, + { + "v": "H", + "n": "H" + }, + { + "v": "I", + "n": "I" + }, + { + "v": "J", + "n": "J" + }, + { + "v": "K", + "n": "K" + }, + { + "v": "L", + "n": "L" + }, + { + "v": "M", + "n": "M" + }, + { + "v": "N", + "n": "N" + }, + { + "v": "O", + "n": "O" + }, + { + "v": "P", + "n": "P" + }, + { + "v": "Q", + "n": "Q" + }, + { + "v": "R", + "n": "R" + }, + { + "v": "S", + "n": "S" + }, + { + "v": "T", + "n": "T" + }, + { + "v": "U", + "n": "U" + }, + { + "v": "V", + "n": "V" + }, + { + "v": "W", + "n": "W" + }, + { + "v": "X", + "n": "X" + }, + { + "v": "Y", + "n": "Y" + }, + { + "v": "Z", + "n": "Z" + }, + { + "v": "0-9", + "n": "0-9" + } + ], + "key": "character" + }, + { + "name": "评分排序", + "value": [ + { + "v": "time", + "n": "时间排序" + }, + { + "v": "hits", + "n": "人气排序" + }, + { + "v": "score", + "n": "评分排序" + } + ], + "key": "order" + } + ] + } +} \ No newline at end of file diff --git a/xiaosa/json/哔哩合集.json b/xiaosa/json/哔哩合集.json new file mode 100644 index 00000000..b3aec1f8 --- /dev/null +++ b/xiaosa/json/哔哩合集.json @@ -0,0 +1,5310 @@ +{ + "class": [ + { + "type_name": "沙雕动漫", + "type_id": "一口气沙雕动漫" + }, + { + "type_name": "纪录片", + "type_id": "纪录片超清" + }, + { + "type_name": "演唱会", + "type_id": "演唱会超清" + }, + { + "type_name": "美食", + "type_id": "美食超清" + }, + { + "type_name": "食谱", + "type_id": "食谱" + }, + { + "type_name": "体育", + "type_id": "体育超清" + }, + { + "type_name": "球星", + "type_id": "球星" + }, + { + "type_name": "旅游", + "type_id": "旅游" + }, + { + "type_name": "风景", + "type_id": "风景4K" + }, + { + "type_name": "说案", + "type_id": "说案" + }, + { + "type_name": "知名UP主", + "type_id": "知名UP主" + }, + { + "type_name": "探索发现", + "type_id": "探索发现超清" + }, + { + "type_name": "鬼畜", + "type_id": "鬼畜" + }, + { + "type_name": "搞笑", + "type_id": "搞笑超清" + }, + { + "type_name": "儿童", + "type_id": "儿童超清" + }, + { + "type_name": "动物世界", + "type_id": "动物世界超清" + }, + { + "type_name": "相声小品", + "type_id": "相声小品超清" + }, + { + "type_name": "戏曲", + "type_id": "戏曲" + }, + { + "type_name": "解说", + "type_id": "解说" + }, + { + "type_name": "演讲", + "type_id": "演讲" + }, + { + "type_name": "小姐姐", + "type_id": "小姐姐超清" + }, + { + "type_name": "荒野求生", + "type_id": "荒野求生超清" + }, + { + "type_name": "健身", + "type_id": "健身" + }, + { + "type_name": "帕梅拉", + "type_id": "帕梅拉" + }, + { + "type_name": "太极拳", + "type_id": "太极拳" + }, + { + "type_name": "广场舞", + "type_id": "广场舞" + }, + { + "type_name": "舞蹈", + "type_id": "舞蹈" + }, + { + "type_name": "音乐", + "type_id": "音乐" + }, + { + "type_name": "歌曲", + "type_id": "歌曲" + }, + { + "type_name": "MV", + "type_id": "MV4K" + }, + { + "type_name": "舞曲", + "type_id": "舞曲超清" + }, + { + "type_name": "4K", + "type_id": "4K" + }, + { + "type_name": "电影", + "type_id": "电影" + }, + { + "type_name": "电视剧", + "type_id": "电视剧" + }, + { + "type_name": "白噪音", + "type_id": "白噪音超清" + }, + { + "type_name": "考公考证", + "type_id": "考公考证" + }, + { + "type_name": "平面设计教学", + "type_id": "平面设计教学" + }, + { + "type_name": "软件教程", + "type_id": "软件教程" + }, + { + "type_name": "Windows", + "type_id": "Windows" + } + ], + "filters": { + "考公考证": [ + { + "key": "order", + "name": "排序", + "value": [ + { + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "演唱会超清": [ + { + "key": "order", + "name": "排序", + "value": [ + { + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "演唱会超清" + }, + { + "n": "A阿杜", + "v": "阿杜演唱会超清" + }, + { + "n": "A阿黛尔", + "v": "阿黛尔演唱会超清" + }, + { + "n": "BBeyond", + "v": "Beyond演唱会超清" + }, + { + "n": "BBy2", + "v": "By2演唱会超清" + }, + { + "n": "BBIGBANG", + "v": "BIGBANG演唱会超清" + }, + { + "n": "B布兰妮", + "v": "布兰妮演唱会超清" + }, + { + "n": "B坂井泉水", + "v": "坂井泉水演唱会超清" + }, + { + "n": "C陈奕迅", + "v": "陈奕迅演唱会超清" + }, + { + "n": "C蔡依林", + "v": "蔡依林演唱会超清" + }, + { + "n": "C初音未来", + "v": "初音未来演唱会超清" + }, + { + "n": "C蔡健雅", + "v": "蔡健雅演唱会超清" + }, + { + "n": "C陈小春", + "v": "陈小春演唱会超清" + }, + { + "n": "C草蜢", + "v": "草蜢演唱会超清" + }, + { + "n": "C陈慧娴", + "v": "陈慧娴演唱会超清" + }, + { + "n": "C崔健", + "v": "崔健演唱会超清" + }, + { + "n": "C仓木麻衣", + "v": "仓木麻衣演唱会超清" + }, + { + "n": "D戴荃", + "v": "戴荃演唱会超清" + }, + { + "n": "D动力火车", + "v": "动力火车演唱会超清" + }, + { + "n": "D邓丽君", + "v": "邓丽君演唱会超清" + }, + { + "n": "D丁当", + "v": "丁当演唱会超清" + }, + { + "n": "D刀郎", + "v": "刀郎演唱会超清" + }, + { + "n": "D邓紫棋", + "v": "邓紫棋演唱会超清" + }, + { + "n": "D戴佩妮", + "v": "戴佩妮演唱会超清" + }, + { + "n": "D邓丽君", + "v": "邓丽君演唱会超清" + }, + { + "n": "F飞儿乐队", + "v": "飞儿乐队演唱会超清" + }, + { + "n": "F费玉清", + "v": "费玉清演唱会超清" + }, + { + "n": "F费翔", + "v": "费翔演唱会超清" + }, + { + "n": "F方大同", + "v": "方大同演唱会超清" + }, + { + "n": "F房东的猫", + "v": "房东的猫演唱会超清" + }, + { + "n": "F凤飞飞", + "v": "凤飞飞演唱会超清" + }, + { + "n": "F凤凰传奇", + "v": "凤凰传奇演唱会超清" + }, + { + "n": "G郭采洁", + "v": "郭采洁演唱会超清" + }, + { + "n": "G光良", + "v": "光良演唱会超清" + }, + { + "n": "G郭静", + "v": "郭静演唱会超清" + }, + { + "n": "G郭富城", + "v": "郭富城演唱会超清" + }, + { + "n": "H胡彦斌", + "v": "胡彦斌演唱会超清" + }, + { + "n": "H胡夏", + "v": "胡夏演唱会超清" + }, + { + "n": "H韩红", + "v": "韩红演唱会超清" + }, + { + "n": "H黄品源", + "v": "黄品源演唱会超清" + }, + { + "n": "H黄小琥", + "v": "黄小琥演唱会超清" + }, + { + "n": "H花儿乐队", + "v": "花儿乐队演唱会超清" + }, + { + "n": "H黄家强", + "v": "黄家强演唱会超清" + }, + { + "n": "H后街男孩", + "v": "后街男孩演唱会超清" + }, + { + "n": "J经典老歌", + "v": "经典老歌演唱会超清" + }, + { + "n": "J贾斯丁比伯", + "v": "贾斯丁比伯演唱会超清" + }, + { + "n": "J金池", + "v": "金池演唱会超清" + }, + { + "n": "J金志文", + "v": "金志文演唱会超清" + }, + { + "n": "J焦迈奇", + "v": "焦迈奇演唱会超清" + }, + { + "n": "K筷子兄弟", + "v": "筷子兄弟演唱会超清" + }, + { + "n": "L李玟", + "v": "李玟演唱会超清" + }, + { + "n": "L林忆莲", + "v": "林忆莲演唱会超清" + }, + { + "n": "L李克勤", + "v": "李克勤演唱会超清" + }, + { + "n": "L刘宪华", + "v": "刘宪华演唱会超清" + }, + { + "n": "L李圣杰", + "v": "李圣杰演唱会超清" + }, + { + "n": "L林宥嘉", + "v": "林宥嘉演唱会超清" + }, + { + "n": "L梁静茹", + "v": "梁静茹演唱会超清" + }, + { + "n": "L李健", + "v": "李健演唱会超清" + }, + { + "n": "L林俊杰", + "v": "林俊杰演唱会超清" + }, + { + "n": "L李玉刚", + "v": "李玉刚演唱会超清" + }, + { + "n": "L林志炫", + "v": "林志炫演唱会超清" + }, + { + "n": "L李荣浩", + "v": "李荣浩演唱会超清" + }, + { + "n": "L李宇春", + "v": "李宇春演唱会超清" + }, + { + "n": "L洛天依", + "v": "洛天依演唱会超清" + }, + { + "n": "L林子祥", + "v": "林子祥演唱会超清" + }, + { + "n": "L李宗盛", + "v": "李宗盛演唱会超清" + }, + { + "n": "L黎明", + "v": "黎明演唱会超清" + }, + { + "n": "L刘德华", + "v": "刘德华演唱会超清" + }, + { + "n": "L罗大佑", + "v": "罗大佑演唱会超清" + }, + { + "n": "L林肯公园", + "v": "林肯公园演唱会超清" + }, + { + "n": "LLadyGaga", + "v": "LadyGaga演唱会超清" + }, + { + "n": "L旅行团乐队", + "v": "旅行团乐队演唱会超清" + }, + { + "n": "M莫文蔚", + "v": "莫文蔚演唱会超清" + }, + { + "n": "M毛不易", + "v": "毛不易演唱会超清" + }, + { + "n": "M梅艳芳", + "v": "梅艳芳演唱会超清" + }, + { + "n": "M迈克尔杰克逊", + "v": "迈克尔杰克逊演唱会超清" + }, + { + "n": "N南拳妈妈", + "v": "南拳妈妈演唱会超清" + }, + { + "n": "P朴树", + "v": "朴树演唱会超清" + }, + { + "n": "Q齐秦", + "v": "齐秦演唱会超清" + }, + { + "n": "Q青鸟飞鱼", + "v": "青鸟飞鱼演唱会超清" + }, + { + "n": "R容祖儿", + "v": "容祖儿演唱会超清" + }, + { + "n": "R任贤齐", + "v": "任贤齐演唱会超清" + }, + { + "n": "S水木年华", + "v": "水木年华演唱会超清" + }, + { + "n": "S孙燕姿", + "v": "孙燕姿演唱会超清" + }, + { + "n": "S苏打绿", + "v": "苏打绿演唱会超清" + }, + { + "n": "SSHE", + "v": "SHE演唱会超清" + }, + { + "n": "S孙楠", + "v": "孙楠演唱会超清" + }, + { + "n": "T陶喆", + "v": "陶喆演唱会超清" + }, + { + "n": "T谭咏麟", + "v": "谭咏麟演唱会超清" + }, + { + "n": "T田馥甄", + "v": "田馥甄演唱会超清" + }, + { + "n": "T谭维维", + "v": "谭维维演唱会超清" + }, + { + "n": "T逃跑计划", + "v": "逃跑计划演唱会超清" + }, + { + "n": "T田震", + "v": "田震演唱会超清" + }, + { + "n": "T谭晶", + "v": "谭晶演唱会超清" + }, + { + "n": "T屠洪刚", + "v": "屠洪刚演唱会超清" + }, + { + "n": "T泰勒·斯威夫特", + "v": "泰勒·斯威夫特演唱会超清" + }, + { + "n": "W王力宏", + "v": "王力宏演唱会超清" + }, + { + "n": "W王杰", + "v": "王杰演唱会超清" + }, + { + "n": "W吴克群", + "v": "吴克群演唱会超清" + }, + { + "n": "W王心凌", + "v": "王心凌演唱会超清" + }, + { + "n": "W王靖雯", + "v": "好声音王靖雯演唱会超清" + }, + { + "n": "W汪峰", + "v": "汪峰演唱会超清" + }, + { + "n": "W伍佰", + "v": "伍佰演唱会超清" + }, + { + "n": "W王菲", + "v": "王菲演唱会超清" + }, + { + "n": "W五月天", + "v": "五月天演唱会超清" + }, + { + "n": "W汪苏泷", + "v": "汪苏泷演唱会超清" + }, + { + "n": "X徐佳莹", + "v": "徐佳莹演唱会超清" + }, + { + "n": "X弦子", + "v": "弦子演唱会超清" + }, + { + "n": "X萧亚轩", + "v": "萧亚轩演唱会超清" + }, + { + "n": "X许巍", + "v": "许巍演唱会超清" + }, + { + "n": "X薛之谦", + "v": "薛之谦演唱会超清" + }, + { + "n": "X许嵩", + "v": "许嵩演唱会超清" + }, + { + "n": "X小虎队", + "v": "小虎队演唱会超清" + }, + { + "n": "X萧敬腾", + "v": "萧敬腾演唱会超清" + }, + { + "n": "X谢霆锋", + "v": "谢霆锋演唱会超清" + }, + { + "n": "X徐小凤", + "v": "徐小凤演唱会超清" + }, + { + "n": "X信乐队", + "v": "信乐队演唱会超清" + }, + { + "n": "Y夜愿乐队", + "v": "夜愿乐队演唱会超清" + }, + { + "n": "Y羽泉", + "v": "羽泉演唱会超清" + }, + { + "n": "Y郁可唯", + "v": "郁可唯演唱会超清" + }, + { + "n": "Y叶倩文", + "v": "叶倩文演唱会超清" + }, + { + "n": "Y杨坤", + "v": "杨坤演唱会超清" + }, + { + "n": "Y庾澄庆", + "v": "庾澄庆演唱会超清" + }, + { + "n": "Y尤长靖", + "v": "尤长靖演唱会超清" + }, + { + "n": "Y易烊千玺", + "v": "易烊千玺演唱会超清" + }, + { + "n": "Y袁娅维", + "v": "袁娅维演唱会超清" + }, + { + "n": "Y杨丞琳", + "v": "杨丞琳演唱会超清" + }, + { + "n": "Y杨千嬅", + "v": "杨千嬅演唱会超清" + }, + { + "n": "Y杨宗纬", + "v": "杨宗纬演唱会超清" + }, + { + "n": "Z郑秀文", + "v": "郑秀文演唱会超清" + }, + { + "n": "Z周杰伦", + "v": "周杰伦演唱会超清" + }, + { + "n": "Z张学友", + "v": "张学友演唱会超清" + }, + { + "n": "Z张信哲", + "v": "张信哲演唱会超清" + }, + { + "n": "Z张宇", + "v": "张宇演唱会超清" + }, + { + "n": "Z周华健", + "v": "周华健演唱会超清" + }, + { + "n": "Z张韶涵", + "v": "张韶涵演唱会超清" + }, + { + "n": "Z周深", + "v": "周深演唱会超清" + }, + { + "n": "Z纵贯线", + "v": "纵贯线演唱会超清" + }, + { + "n": "Z赵雷", + "v": "赵雷演唱会超清" + }, + { + "n": "Z周传雄", + "v": "周传雄演唱会超清" + }, + { + "n": "Z张国荣", + "v": "张国荣演唱会超清" + }, + { + "n": "Z周慧敏", + "v": "周慧敏演唱会超清" + }, + { + "n": "Z张惠妹", + "v": "张惠妹演唱会超清" + }, + { + "n": "Z周笔畅", + "v": "周笔畅演唱会超清" + }, + { + "n": "Z郑中基", + "v": "郑中基演唱会超清" + }, + { + "n": "Z张艺兴", + "v": "张艺兴演唱会超清" + }, + { + "n": "Z张震岳", + "v": "张震岳演唱会超清" + }, + { + "n": "Z张雨生", + "v": "张雨生演唱会超清" + }, + { + "n": "Z郑智化", + "v": "郑智化演唱会超清" + }, + { + "n": "Z卓依婷", + "v": "卓依婷演唱会超清" + }, + { + "n": "Z中岛美雪", + "v": "中岛美雪演唱会超清" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "探索发现超清": [ + { + "key": "order", + "name": "排序", + "value": [ + { + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "电影": [ + { + "key": "order", + "name": "排序", + "value": [ + { + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "鬼畜": [ + { + "key": "order", + "name": "排序", + "value": [ + { + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "一口气沙雕动漫": [ + { + "key": "order", + "name": "排序", + "value": [ + { + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "说案": [ + { + "key": "order", + "name": "排序", + "value": [ + { + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "说案" + }, + { + "n": "汤圆", + "v": "汤圆说案" + }, + { + "n": "唐唐", + "v": "唐唐说案" + }, + { + "n": "罗翔", + "v": "罗翔说刑法" + }, + { + "n": "何家弘", + "v": "何家弘说案" + }, + { + "n": "韩诺", + "v": "韩诺说案" + }, + { + "n": "老V", + "v": "老V说案" + }, + { + "n": "禁播档案‼️", + "v": "禁播档案" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "演讲": [ + { + "key": "order", + "name": "排序", + "value": [ + { + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "全部演讲4K" + }, + { + "n": "A艾跃进", + "v": "艾跃进演讲4K" + }, + { + "n": "C超级演说家", + "v": "超级演说家4K" + }, + { + "n": "D电影", + "v": "电影演讲4K" + }, + { + "n": "D典籍里的中国", + "v": "典籍里的中国4K" + }, + { + "n": "G感动中国", + "v": "感动中国4K" + }, + { + "n": "G郭继承", + "v": "郭继承演讲4K" + }, + { + "n": "H华春莹", + "v": "华春莹演讲4K" + }, + { + "n": "L雷军", + "v": "雷军演讲4K" + }, + { + "n": "L罗翔", + "v": "罗翔演讲4K" + }, + { + "n": "R任正非", + "v": "任正非演讲4K" + }, + { + "n": "TED", + "v": "TED演讲4K" + }, + { + "n": "W汪文斌", + "v": "汪文斌演讲4K" + }, + { + "n": "Y一刻", + "v": "一刻演讲4K" + }, + { + "n": "Z赵立坚", + "v": "赵立坚演讲4K" + }, + { + "n": "Z郑强", + "v": "郑强演讲4K" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "解说": [ + { + "key": "order", + "name": "排序", + "value": [ + { + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "解说" + }, + { + "n": "电影", + "v": "电影解说" + }, + { + "n": "电视", + "v": "电视解说" + }, + { + "n": "历史", + "v": "历史解说" + }, + { + "n": "动漫", + "v": "动漫解说" + }, + { + "n": "小说", + "v": "小说解说" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "风景4K": [ + { + "key": "order", + "name": "排序", + "value": [ + { + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "风景4K" + }, + { + "n": "A澳门", + "v": "澳门风景4K" + }, + { + "n": "A安徽", + "v": "安徽风景4K" + }, + { + "n": "B布达拉宫", + "v": "布达拉宫风景4K" + }, + { + "n": "B北京", + "v": "北京风景4K" + }, + { + "n": "C重庆", + "v": "重庆风景4K" + }, + { + "n": "C草原", + "v": "草原风景4K" + }, + { + "n": "D大海", + "v": "大海风景4K" + }, + { + "n": "F福建", + "v": "福建风景4K" + }, + { + "n": "G广东", + "v": "广东风景4K" + }, + { + "n": "G广西", + "v": "广西风景4K" + }, + { + "n": "G贵州", + "v": "贵州风景4K" + }, + { + "n": "G甘肃", + "v": "甘肃风景4K" + }, + { + "n": "H海南", + "v": "海南风景4K" + }, + { + "n": "H河北", + "v": "河北风景4K" + }, + { + "n": "H河南", + "v": "河南风景4K" + }, + { + "n": "H湖北", + "v": "湖北风景4K" + }, + { + "n": "H湖南", + "v": "湖南风景4K" + }, + { + "n": "H黑龙江", + "v": "黑龙江风景4K" + }, + { + "n": "J吉林", + "v": "吉林风景4K" + }, + { + "n": "J江苏", + "v": "江苏风景4K" + }, + { + "n": "J江西", + "v": "江西风景4K" + }, + { + "n": "L辽宁", + "v": "辽宁风景4K" + }, + { + "n": "M民宿", + "v": "民宿风景4K" + }, + { + "n": "N内蒙古", + "v": "内蒙古风景4K" + }, + { + "n": "N宁夏", + "v": "宁夏风景4K" + }, + { + "n": "Q青海", + "v": "青海风景4K" + }, + { + "n": "S上海", + "v": "上海风景4K" + }, + { + "n": "S陕西", + "v": "陕西风景4K" + }, + { + "n": "S四川", + "v": "四川风景4K" + }, + { + "n": "S山西", + "v": "山西风景4K" + }, + { + "n": "S山东", + "v": "山东风景4K" + }, + { + "n": "T天津", + "v": "天津风景4K" + }, + { + "n": "T台湾", + "v": "台湾风景4K" + }, + { + "n": "T天空", + "v": "天空风景4K" + }, + { + "n": "X西湖", + "v": "西湖风景4K" + }, + { + "n": "X西藏", + "v": "西藏风景4K" + }, + { + "n": "X新疆", + "v": "新疆风景4K" + }, + { + "n": "X香港", + "v": "香港风景4K" + }, + { + "n": "Y云南", + "v": "云南风景4K" + }, + { + "n": "Z浙江", + "v": "浙江风景4K" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "MV4K": [ + { + "key": "order", + "name": "排序", + "value": [ + { + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "MV4K" + }, + { + "n": "A阿杜", + "v": "阿杜MV4K" + }, + { + "n": "A阿黛尔", + "v": "阿黛尔MV4K" + }, + { + "n": "BBeyond", + "v": "BeyondMV4K" + }, + { + "n": "BBy2", + "v": "By2MV4K" + }, + { + "n": "BBIGBANG", + "v": "BIGBANGMV4K" + }, + { + "n": "B布兰妮", + "v": "布兰妮MV4K" + }, + { + "n": "C陈奕迅", + "v": "陈奕迅MV4K" + }, + { + "n": "C蔡依林", + "v": "蔡依林MV4K" + }, + { + "n": "C初音未来", + "v": "初音未来MV4K" + }, + { + "n": "C蔡健雅", + "v": "蔡健雅MV4K" + }, + { + "n": "C陈小春", + "v": "陈小春MV4K" + }, + { + "n": "C草蜢", + "v": "草蜢MV4K" + }, + { + "n": "C陈慧娴", + "v": "陈慧娴MV4K" + }, + { + "n": "C崔健", + "v": "崔健MV4K" + }, + { + "n": "C仓木麻衣", + "v": "仓木麻衣MV4K" + }, + { + "n": "D戴荃", + "v": "戴荃MV4K" + }, + { + "n": "D动力火车", + "v": "动力火车MV4K" + }, + { + "n": "D邓丽君", + "v": "邓丽君MV4K" + }, + { + "n": "D丁当", + "v": "丁当MV4K" + }, + { + "n": "D刀郎", + "v": "刀郎MV4K" + }, + { + "n": "D邓紫棋", + "v": "邓紫棋MV4K" + }, + { + "n": "D戴佩妮", + "v": "戴佩妮MV4K" + }, + { + "n": "D邓丽君", + "v": "邓丽君MV4K" + }, + { + "n": "F飞儿乐队", + "v": "飞儿乐队MV4K" + }, + { + "n": "F费玉清", + "v": "费玉清MV4K" + }, + { + "n": "F费翔", + "v": "费翔MV4K" + }, + { + "n": "F方大同", + "v": "方大同MV4K" + }, + { + "n": "F房东的猫", + "v": "房东的猫MV4K" + }, + { + "n": "F凤飞飞", + "v": "凤飞飞MV4K" + }, + { + "n": "F凤凰传奇", + "v": "凤凰传奇MV4K" + }, + { + "n": "G古风歌曲", + "v": "古风歌曲4K" + }, + { + "n": "G国乐大典", + "v": "国乐大典4K" + }, + { + "n": "G郭采洁", + "v": "郭采洁MV4K" + }, + { + "n": "G光良", + "v": "光良MV4K" + }, + { + "n": "G郭静", + "v": "郭静MV4K" + }, + { + "n": "G郭富城", + "v": "郭富城MV4K" + }, + { + "n": "H胡彦斌", + "v": "胡彦斌MV4K" + }, + { + "n": "H胡夏", + "v": "胡夏MV4K" + }, + { + "n": "H韩红", + "v": "韩红MV4K" + }, + { + "n": "H黄品源", + "v": "黄品源MV4K" + }, + { + "n": "H黄小琥", + "v": "黄小琥MV4K" + }, + { + "n": "H花儿乐队", + "v": "花儿乐队MV4K" + }, + { + "n": "H黄家强", + "v": "黄家强MV4K" + }, + { + "n": "H后街男孩", + "v": "后街男孩MV4K" + }, + { + "n": "J经典老歌", + "v": "经典老歌4K" + }, + { + "n": "J贾斯丁比伯", + "v": "贾斯丁比伯MV4K" + }, + { + "n": "J金池", + "v": "金池MV4K" + }, + { + "n": "J金志文", + "v": "金志文MV4K" + }, + { + "n": "J焦迈奇", + "v": "焦迈奇MV4K" + }, + { + "n": "K筷子兄弟", + "v": "筷子兄弟MV4K" + }, + { + "n": "L李玟", + "v": "李玟MV4K" + }, + { + "n": "L林忆莲", + "v": "林忆莲MV4K" + }, + { + "n": "L李克勤", + "v": "李克勤MV4K" + }, + { + "n": "L刘宪华", + "v": "刘宪华MV4K" + }, + { + "n": "L李圣杰", + "v": "李圣杰MV4K" + }, + { + "n": "L林宥嘉", + "v": "林宥嘉MV4K" + }, + { + "n": "L梁静茹", + "v": "梁静茹MV4K" + }, + { + "n": "L李健", + "v": "李健MV4K" + }, + { + "n": "L林俊杰", + "v": "林俊杰MV4K" + }, + { + "n": "L李玉刚", + "v": "李玉刚MV4K" + }, + { + "n": "L林志炫", + "v": "林志炫MV4K" + }, + { + "n": "L李荣浩", + "v": "李荣浩MV4K" + }, + { + "n": "L李宇春", + "v": "李宇春MV4K" + }, + { + "n": "L洛天依", + "v": "洛天依MV4K" + }, + { + "n": "L林子祥", + "v": "林子祥MV4K" + }, + { + "n": "L李宗盛", + "v": "李宗盛MV4K" + }, + { + "n": "L黎明", + "v": "黎明MV4K" + }, + { + "n": "L刘德华", + "v": "刘德华MV4K" + }, + { + "n": "L罗大佑", + "v": "罗大佑MV4K" + }, + { + "n": "L林肯公园", + "v": "林肯公园MV4K" + }, + { + "n": "LLadyGaga", + "v": "LadyGagaMV4K" + }, + { + "n": "L旅行团乐队", + "v": "旅行团乐队MV4K" + }, + { + "n": "M莫文蔚", + "v": "莫文蔚MV4K" + }, + { + "n": "M毛不易", + "v": "毛不易MV4K" + }, + { + "n": "M梅艳芳", + "v": "梅艳芳MV4K" + }, + { + "n": "M迈克尔杰克逊", + "v": "迈克尔杰克逊MV4K" + }, + { + "n": "N南拳妈妈", + "v": "南拳妈妈MV4K" + }, + { + "n": "P朴树", + "v": "朴树MV4K" + }, + { + "n": "Q齐秦", + "v": "齐秦MV4K" + }, + { + "n": "Q青鸟飞鱼", + "v": "青鸟飞鱼MV4K" + }, + { + "n": "R容祖儿", + "v": "容祖儿MV4K" + }, + { + "n": "R热歌", + "v": "热歌MV4K" + }, + { + "n": "R任贤齐", + "v": "任贤齐MV4K" + }, + { + "n": "S水木年华", + "v": "水木年华MV4K" + }, + { + "n": "S孙燕姿", + "v": "孙燕姿MV4K" + }, + { + "n": "S苏打绿", + "v": "苏打绿MV4K" + }, + { + "n": "SSHE", + "v": "SHEMV4K" + }, + { + "n": "S孙楠", + "v": "孙楠MV4K" + }, + { + "n": "T陶喆", + "v": "陶喆MV4K" + }, + { + "n": "T谭咏麟", + "v": "谭咏麟MV4K" + }, + { + "n": "T田馥甄", + "v": "田馥甄MV4K" + }, + { + "n": "T谭维维", + "v": "谭维维MV4K" + }, + { + "n": "T逃跑计划", + "v": "逃跑计划MV4K" + }, + { + "n": "T田震", + "v": "田震MV4K" + }, + { + "n": "T谭晶", + "v": "谭晶MV4K" + }, + { + "n": "T屠洪刚", + "v": "屠洪刚MV4K" + }, + { + "n": "T泰勒·斯威夫特", + "v": "泰勒·斯威夫特MV4K" + }, + { + "n": "W王力宏", + "v": "王力宏MV4K" + }, + { + "n": "W王杰", + "v": "王杰MV4K" + }, + { + "n": "W吴克群", + "v": "吴克群MV4K" + }, + { + "n": "W王心凌", + "v": "王心凌MV4K" + }, + { + "n": "W汪峰", + "v": "汪峰MV4K" + }, + { + "n": "W伍佰", + "v": "伍佰MV4K" + }, + { + "n": "W王菲", + "v": "王菲MV4K" + }, + { + "n": "W五月天", + "v": "五月天MV4K" + }, + { + "n": "W汪苏泷", + "v": "汪苏泷MV4K" + }, + { + "n": "X徐佳莹", + "v": "徐佳莹MV4K" + }, + { + "n": "X弦子", + "v": "弦子MV4K" + }, + { + "n": "X萧亚轩", + "v": "萧亚轩MV4K" + }, + { + "n": "X许巍", + "v": "许巍MV4K" + }, + { + "n": "X薛之谦", + "v": "薛之谦MV4K" + }, + { + "n": "X许嵩", + "v": "许嵩MV4K" + }, + { + "n": "X小虎队", + "v": "小虎队MV4K" + }, + { + "n": "X萧敬腾", + "v": "萧敬腾MV4K" + }, + { + "n": "X谢霆锋", + "v": "谢霆锋MV4K" + }, + { + "n": "X徐小凤", + "v": "徐小凤MV4K" + }, + { + "n": "X信乐队", + "v": "信乐队MV4K" + }, + { + "n": "Y夜愿乐队", + "v": "夜愿乐队MV4K" + }, + { + "n": "Y原创音乐", + "v": "原创音乐MV4K" + }, + { + "n": "Y羽泉", + "v": "羽泉MV4K" + }, + { + "n": "Y粤语", + "v": "粤语MV4K" + }, + { + "n": "Y郁可唯", + "v": "郁可唯MV4K" + }, + { + "n": "Y叶倩文", + "v": "叶倩文MV4K" + }, + { + "n": "Y杨坤", + "v": "杨坤MV4K" + }, + { + "n": "Y庾澄庆", + "v": "庾澄庆MV4K" + }, + { + "n": "Y尤长靖", + "v": "尤长靖MV4K" + }, + { + "n": "Y易烊千玺", + "v": "易烊千玺MV4K" + }, + { + "n": "Y袁娅维", + "v": "袁娅维MV4K" + }, + { + "n": "Y杨丞琳", + "v": "杨丞琳MV4K" + }, + { + "n": "Y杨千嬅", + "v": "杨千嬅MV4K" + }, + { + "n": "Y杨宗纬", + "v": "杨宗纬MV4K" + }, + { + "n": "Z周杰伦", + "v": "周杰伦MV4K" + }, + { + "n": "Z张学友", + "v": "张学友MV4K" + }, + { + "n": "Z张信哲", + "v": "张信哲MV4K" + }, + { + "n": "Z张宇", + "v": "张宇MV4K" + }, + { + "n": "Z周华健", + "v": "周华健MV4K" + }, + { + "n": "Z张韶涵", + "v": "张韶涵MV4K" + }, + { + "n": "Z周深", + "v": "周深MV4K" + }, + { + "n": "Z纵贯线", + "v": "纵贯线MV4K" + }, + { + "n": "Z赵雷", + "v": "赵雷MV4K" + }, + { + "n": "Z周传雄", + "v": "周传雄MV4K" + }, + { + "n": "Z张国荣", + "v": "张国荣MV4K" + }, + { + "n": "Z周慧敏", + "v": "周慧敏MV4K" + }, + { + "n": "Z张惠妹", + "v": "张惠妹MV4K" + }, + { + "n": "Z周笔畅", + "v": "周笔畅MV4K" + }, + { + "n": "Z郑中基", + "v": "郑中基MV4K" + }, + { + "n": "Z张艺兴", + "v": "张艺兴MV4K" + }, + { + "n": "Z张震岳", + "v": "张震岳MV4K" + }, + { + "n": "Z中国好声音", + "v": "中国好声音MV4K" + }, + { + "n": "Z张雨生", + "v": "张雨生MV4K" + }, + { + "n": "Z郑智化", + "v": "郑智化MV4K" + }, + { + "n": "Z卓依婷", + "v": "卓依婷MV4K" + }, + { + "n": "Z中岛美雪", + "v": "中岛美雪MV4K" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "帕梅拉": [ + { + "key": "order", + "name": "排序", + "value": [ + { + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "帕梅拉" + }, + { + "n": "瘦腿", + "v": "帕梅拉瘦腿" + }, + { + "n": "腹部", + "v": "帕梅拉腹部" + }, + { + "n": "手臂", + "v": "帕梅拉手臂" + }, + { + "n": "热身", + "v": "帕梅拉热身" + }, + { + "n": "舞蹈", + "v": "帕梅拉舞蹈" + }, + { + "n": "燃脂", + "v": "帕梅拉燃脂" + }, + { + "n": "有氧", + "v": "帕梅拉有氧" + }, + { + "n": "拉伸", + "v": "帕梅拉拉伸" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "知名UP主": [ + { + "key": "order", + "name": "排序", + "value": [ + { + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "知名UP主" + }, + { + "n": "菠萝赛东", + "v": "菠萝赛东" + }, + { + "n": "冯提莫", + "v": "冯提莫" + }, + { + "n": "林延秋", + "v": "林延秋" + }, + { + "n": "-LKs-", + "v": "-LKs-" + }, + { + "n": "小约翰可汗", + "v": "小约翰可汗" + }, + { + "n": "low馆长", + "v": "low馆长" + }, + { + "n": "自说自话的总裁", + "v": "自说自话的总裁" + }, + { + "n": "所长林超", + "v": "所长林超" + }, + { + "n": "世界未解之谜M", + "v": "世界未解之谜M" + }, + { + "n": "李永乐老师官方", + "v": "李永乐老师官方" + }, + { + "n": "罗兹", + "v": "罗兹" + }, + { + "n": "回到2049", + "v": "回到2049" + }, + { + "n": "二次元的中科院物理所", + "v": "二次元的中科院物理所" + }, + { + "n": "毕导THU", + "v": "毕导THU" + }, + { + "n": "罗翔讲刑法", + "v": "罗翔讲刑法" + }, + { + "n": "戴博士实验室", + "v": "戴博士实验室" + }, + { + "n": "芳斯塔芙", + "v": "芳斯塔芙" + }, + { + "n": "参赛者网", + "v": "参赛者网" + }, + { + "n": "三维地图看世界", + "v": "三维地图看世界" + }, + { + "n": "有机社会", + "v": "有机社会" + }, + { + "n": "乌鸦校尉CaptainWuya", + "v": "乌鸦校尉CaptainWuya" + }, + { + "n": "果壳", + "v": "果壳" + }, + { + "n": "严伯钧", + "v": "严伯钧" + }, + { + "n": "是你们的康康", + "v": "是你们的康康" + }, + { + "n": "老爸评测", + "v": "老爸评测" + }, + { + "n": "硬核的半佛仙人", + "v": "硬核的半佛仙人" + }, + { + "n": "盗月社食遇记", + "v": "盗月社食遇记" + }, + { + "n": "我是郭杰瑞", + "v": "我是郭杰瑞" + }, + { + "n": "无穷小亮的科普日常", + "v": "无穷小亮的科普日常" + }, + { + "n": "papi酱", + "v": "papi酱" + }, + { + "n": "老番茄", + "v": "老番茄" + }, + { + "n": "绵羊料理", + "v": "绵羊料理" + }, + { + "n": "老师好我叫何同学", + "v": "老师好我叫何同学" + }, + { + "n": "敬汉卿", + "v": "敬汉卿" + }, + { + "n": "周六野Zoey", + "v": "周六野Zoey" + }, + { + "n": "木鱼水心", + "v": "木鱼水心" + }, + { + "n": "凉风Kaze", + "v": "凉风Kaze" + }, + { + "n": "小潮院长", + "v": "小潮院长" + }, + { + "n": "中国BOY超级大猩猩", + "v": "中国BOY超级大猩猩" + }, + { + "n": "李子柒", + "v": "李子柒" + }, + { + "n": "敖厂长", + "v": "敖厂长" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "太极拳": [ + { + "key": "order", + "name": "排序", + "value": [ + { + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "太极拳" + }, + { + "n": "邱慧芳", + "v": "太极拳邱慧芳" + }, + { + "n": "陈氏", + "v": "太极拳陈氏" + }, + { + "n": "武当", + "v": "太极拳武当" + }, + { + "n": "二十四式", + "v": "太极拳二十四式" + }, + { + "n": "三十六式", + "v": "太极拳三十六式" + }, + { + "n": "五禽戏", + "v": "五禽戏" + }, + { + "n": "八段锦", + "v": "八段锦" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "舞蹈": [ + { + "key": "order", + "name": "排序", + "value": [ + { + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "舞蹈" + }, + { + "n": "宅舞", + "v": "宅舞" + }, + { + "n": "街舞", + "v": "街舞" + }, + { + "n": "中国舞", + "v": "中国舞" + }, + { + "n": "广场舞", + "v": "广场舞" + }, + { + "n": "交谊舞", + "v": "交谊舞" + }, + { + "n": "教程", + "v": "舞蹈教程" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "音乐": [ + { + "key": "order", + "name": "排序", + "value": [ + { + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "音乐" + }, + { + "n": "钢琴曲", + "v": "钢琴曲" + }, + { + "n": "协奏曲", + "v": "协奏曲r" + }, + { + "n": "中国古风音乐", + "v": "中国古风音乐" + }, + { + "n": "背景音乐", + "v": "背景音乐" + }, + { + "n": "助眠音乐r", + "v": "助眠音乐" + }, + { + "n": "胎教音乐", + "v": "胎教音乐" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "歌曲": [ + { + "key": "order", + "name": "排序", + "value": [ + { + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "歌曲" + }, + { + "n": "香港歌曲", + "v": "香港歌曲" + }, + { + "n": "台湾歌曲", + "v": "台湾歌曲" + }, + { + "n": "内地歌曲", + "v": "内地歌曲" + }, + { + "n": "英文歌曲", + "v": "英文歌曲" + }, + { + "n": "日文歌曲", + "v": "日文歌曲" + }, + { + "n": "小语种歌曲", + "v": "小语种歌曲" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "平面设计教学": [ + { + "key": "order", + "name": "排序", + "value": [ + { + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "平面设计教学" + }, + { + "n": "Adobe Photoshop", + "v": "Adobe Photoshop教程" + }, + { + "n": "Adobe Illustrator", + "v": "Adobe Illustrator教程" + }, + { + "n": "CorelDRAW", + "v": "CorelDRAW教程" + }, + { + "n": "Adobe InDesign", + "v": "Adobe InDesign教程" + }, + { + "n": "Adobe Pagermaker", + "v": "Adobe Pagermaker教程" + }, + { + "n": "SAI", + "v": "SAI教程" + }, + { + "n": "Adobe Bridge", + "v": "Adobe Bridge教程" + }, + { + "n": "Adobe Pagermaker", + "v": "Adobe Pagermake教程r" + }, + { + "n": "3D Studio Max", + "v": "3D Studio Max教程" + }, + { + "n": "PR", + "v": "PR教程" + }, + { + "n": "AE", + "v": "AE教程" + }, + { + "n": "CINEMA 4D", + "v": "CINEMA 4D教程" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "软件教程": [ + { + "key": "order", + "name": "排序", + "value": [ + { + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "软件教程" + }, + { + "n": "MT管理器", + "v": "MT管理器" + }, + { + "n": "NP管理器", + "v": "NP管理器" + }, + { + "n": "mixplorer", + "v": "mixplorer" + }, + { + "n": "脱壳", + "v": "脱壳" + }, + { + "n": "爬虫", + "v": "爬虫" + }, + { + "n": "json&jar", + "v": "json&jar" + }, + { + "n": "网盘挂载", + "v": "网盘挂载" + }, + { + "n": "alist+WebDav", + "v": "alist+WebDav" + }, + { + "n": "TVBox修改", + "v": "TVBox修改教程" + }, + { + "n": "EXCEL", + "v": "EXCEL教程" + }, + { + "n": "Git入门到精通", + "v": "Git入门到精通" + }, + { + "n": "java", + "v": "java教程" + }, + { + "n": "phyton", + "v": "phyton教程" + }, + { + "n": "xml", + "v": "xml教程" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "Windows": [ + { + "key": "order", + "name": "排序", + "value": [ + { + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "小姐姐超清": [ + { + "key": "order", + "name": "排序", + "value": [ + { + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "广场舞超清": [ + { + "key": "order", + "name": "排序", + "value": [ + { + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "舞曲超清": [ + { + "key": "order", + "name": "排序", + "value": [ + { + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "白噪音超清": [ + { + "key": "order", + "name": "排序", + "value": [ + { + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "搞笑超清": [ + { + "key": "order", + "name": "排序", + "value": [ + { + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "体育超清": [ + { + "key": "order", + "name": "排序", + "value": [ + { + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "4K": [ + { + "key": "order", + "name": "排序", + "value": [ + { + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "足球比赛合集超清": [ + { + "key": "order", + "name": "排序", + "value": [ + { + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "篮球超清": [ + { + "key": "order", + "name": "排序", + "value": [ + { + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "动物世界超清": [ + { + "key": "order", + "name": "排序", + "value": [ + { + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "儿童超清": [ + { + "key": "order", + "name": "排序", + "value": [ + { + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "荒野求生超清": [ + { + "key": "order", + "name": "排序", + "value": [ + { + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "纪录片超清": [ + { + "key": "order", + "name": "排序", + "value": [ + { + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "食谱": [ + { + "key": "order", + "name": "排序", + "value": [ + { + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "食谱" + }, + { + "n": "川菜食谱", + "v": "川菜食谱" + }, + { + "n": "豫菜食谱", + "v": "豫菜食谱" + }, + { + "n": "淮扬菜食谱", + "v": "淮扬菜食谱" + }, + { + "n": "湘菜食谱", + "v": "湘菜食谱" + }, + { + "n": "鲁菜食谱", + "v": "鲁菜食谱" + }, + { + "n": "粤菜食谱", + "v": "粤菜食谱" + }, + { + "n": "潮菜食谱", + "v": "潮菜食谱" + }, + { + "n": "浙菜食谱", + "v": "浙菜食谱" + }, + { + "n": "徽菜食谱", + "v": "徽菜食谱" + }, + { + "n": "闽菜食谱", + "v": "闽菜食谱" + }, + { + "n": "苏菜食谱", + "v": "苏菜食谱" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "健身": [ + { + "key": "order", + "name": "排序", + "value": [ + { + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "健身" + }, + { + "n": "瘦腿", + "v": "瘦腿" + }, + { + "n": "腹部", + "v": "腹部" + }, + { + "n": "手臂", + "v": "手臂" + }, + { + "n": "热身", + "v": "热身" + }, + { + "n": "帕梅拉", + "v": "帕梅拉" + }, + { + "n": "燃脂", + "v": "燃脂" + }, + { + "n": "有氧", + "v": "有氧" + }, + { + "n": "拉伸", + "v": "拉伸" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "窗白噪音": [ + { + "key": "order", + "name": "排序", + "value": [ + { + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "美食超清": [ + { + "key": "order", + "name": "排序", + "value": [ + { + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "美食超清" + }, + { + "n": "舌尖上的中国", + "v": "舌尖上的中国超清" + }, + { + "n": "老字号", + "v": "老字号美食超清" + }, + { + "n": "家常菜", + "v": "家常菜美食超清" + }, + { + "n": "香港美食探店", + "v": "香港美食探店超清" + }, + { + "n": "澳门美食探店", + "v": "澳门美食探店超清" + }, + { + "n": "上海美食探店", + "v": "上海美食探店超清" + }, + { + "n": "北京美食探店", + "v": "北京美食探店超清" + }, + { + "n": "重庆美食探店", + "v": "重庆美食探店超清" + }, + { + "n": "南京美食探店", + "v": "南京美食探店超清" + }, + { + "n": "广州美食探店", + "v": "广州美食探店超清" + }, + { + "n": "杭州美食探店", + "v": "杭州美食探店超清" + }, + { + "n": "成都美食探店", + "v": "成都美食探店超清" + }, + { + "n": "苏州美食探店", + "v": "苏州美食探店超清" + }, + { + "n": "武汉美食探店", + "v": "武汉美食探店超清" + }, + { + "n": "台湾美食探店", + "v": "台湾美食探店超清" + }, + { + "n": "川菜", + "v": "川菜美食超清" + }, + { + "n": "豫菜", + "v": "豫菜美食超清" + }, + { + "n": "淮扬菜", + "v": "淮扬菜美食超清" + }, + { + "n": "湘菜", + "v": "湘菜美食超清" + }, + { + "n": "鲁菜", + "v": "鲁菜美食超清" + }, + { + "n": "粤菜", + "v": "粤菜美食超清" + }, + { + "n": "潮菜", + "v": "潮菜美食超清" + }, + { + "n": "浙菜", + "v": "浙菜美食超清" + }, + { + "n": "徽菜", + "v": "徽菜美食超清" + }, + { + "n": "闽菜", + "v": "闽菜美食超清" + }, + { + "n": "东北菜", + "v": "东北菜美食超清" + }, + { + "n": "客家菜", + "v": "客家菜美食超清" + }, + { + "n": "苏菜", + "v": "苏菜美食超清" + }, + { + "n": "火锅", + "v": "火锅" + }, + { + "n": "面食", + "v": "面食" + }, + { + "n": "炒菜", + "v": "炒菜" + }, + { + "n": "点心", + "v": "点心" + }, + { + "n": "日料", + "v": "日料" + }, + { + "n": "小吃", + "v": "小吃" + }, + { + "n": "素食", + "v": "素食" + }, + { + "n": "蒸菜", + "v": "蒸菜" + }, + { + "n": "凉菜", + "v": "凉菜" + }, + { + "n": "早餐", + "v": "早餐" + }, + { + "n": "披萨", + "v": "披萨" + }, + { + "n": "烤鱼", + "v": "烤鱼" + }, + { + "n": "海鲜", + "v": "海鲜美食超清" + }, + { + "n": "汉堡", + "v": "汉堡" + }, + { + "n": "韩国菜", + "v": "韩国菜" + }, + { + "n": "泰国菜", + "v": "泰国菜" + }, + { + "n": "穆斯林菜", + "v": "穆斯林菜" + }, + { + "n": "法国菜", + "v": "法国菜" + }, + { + "n": "意大利菜", + "v": "意大利菜" + }, + { + "n": "西班牙菜", + "v": "西班牙菜" + }, + { + "n": "土耳其菜", + "v": "土耳其菜系" + }, + { + "n": "阿拉伯菜", + "v": "阿拉伯菜" + }, + { + "n": "德国菜", + "v": "德国菜" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "广场舞": [ + { + "key": "order", + "name": "排序", + "value": [ + { + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "球星": [ + { + "key": "order", + "name": "排序", + "value": [ + { + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "球星" + }, + { + "n": "梅西", + "v": "梅西" + }, + { + "n": "C罗", + "v": "C罗" + }, + { + "n": "天下足球", + "v": "天下足球" + }, + { + "n": "罗纳尔多", + "v": "罗纳尔多" + }, + { + "n": "亨利", + "v": "亨利" + }, + { + "n": "小罗", + "v": "小罗" + }, + { + "n": "齐达内", + "v": "齐达内" + }, + { + "n": "贝克汉姆", + "v": "贝克汉姆" + }, + { + "n": "内马尔", + "v": "内马尔" + }, + { + "n": "德布劳内", + "v": "德布劳内" + }, + { + "n": "欧冠", + "v": "欧冠" + }, + { + "n": "世界杯", + "v": "世界杯" + }, + { + "n": "西甲", + "v": "西甲" + }, + { + "n": "英超", + "v": "英超" + }, + { + "n": "意甲", + "v": "意甲" + }, + { + "n": "德甲", + "v": "德甲" + }, + { + "n": "国米", + "v": "国米" + }, + { + "n": "皇马", + "v": "皇马" + }, + { + "n": "巴萨", + "v": "巴萨" + }, + { + "n": "巴黎圣日耳曼", + "v": "巴黎圣日耳曼" + }, + { + "n": "曼联", + "v": "曼联" + }, + { + "n": "曼城", + "v": "曼城" + }, + { + "n": "NBA", + "v": "NBA" + }, + { + "n": "詹姆斯", + "v": "詹姆斯" + }, + { + "n": "库里", + "v": "库里" + }, + { + "n": "杜兰特", + "v": "杜兰特" + }, + { + "n": "UFC", + "v": "UFC" + }, + { + "n": "斯诺克", + "v": "斯诺克" + }, + { + "n": "网球", + "v": "网球" + }, + { + "n": "F1", + "v": "F1" + }, + { + "n": "高尔夫", + "v": "高尔夫" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "电视剧": [ + { + "key": "order", + "name": "排序", + "value": [ + { + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "相声小品超清": [ + { + "key": "order", + "name": "排序", + "value": [ + { + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "相声小品" + }, + { + "n": "单口相声", + "v": "单口相声" + }, + { + "n": "群口相声", + "v": "群口相声" + }, + { + "n": "德云社", + "v": "德云社" + }, + { + "n": "青曲社", + "v": "青曲社" + }, + { + "n": "郭德纲", + "v": "郭德纲" + }, + { + "n": "岳云鹏", + "v": "岳云鹏" + }, + { + "n": "曹云金", + "v": "曹云金" + }, + { + "n": "评书", + "v": "评书" + }, + { + "n": "小曲", + "v": "小曲" + }, + { + "n": "二人转", + "v": "二人转" + }, + { + "n": "春晚小品", + "v": "春晚小品" + }, + { + "n": "赵本山", + "v": "赵本山" + }, + { + "n": "陈佩斯", + "v": "陈佩斯" + }, + { + "n": "冯巩", + "v": "冯巩" + }, + { + "n": "宋小宝", + "v": "宋小宝" + }, + { + "n": "赵丽蓉", + "v": "赵丽蓉" + }, + { + "n": "郭达", + "v": "郭达" + }, + { + "n": "潘长江", + "v": "潘长江" + }, + { + "n": "郭冬临", + "v": "郭冬临" + }, + { + "n": "严顺开", + "v": "严顺开" + }, + { + "n": "文松", + "v": "文松" + }, + { + "n": "开心麻花", + "v": "开心麻花" + }, + { + "n": "屌丝男士", + "v": "屌丝男士" + }, + { + "n": "喜剧综艺", + "v": "喜剧综艺" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "戏曲": [ + { + "key": "order", + "name": "排序", + "value": [ + { + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "戏曲" + }, + { + "n": "京剧", + "v": "京剧" + }, + { + "n": "越剧", + "v": "越剧" + }, + { + "n": "黄梅戏", + "v": "黄梅戏" + }, + { + "n": "评剧", + "v": "评剧" + }, + { + "n": "豫剧", + "v": "豫剧" + }, + { + "n": "昆曲", + "v": "昆曲" + }, + { + "n": "高腔", + "v": "高腔" + }, + { + "n": "梆子腔", + "v": "梆子腔" + }, + { + "n": "河北梆子", + "v": "河北梆子" + }, + { + "n": "晋剧", + "v": "晋剧" + }, + { + "n": "蒲剧", + "v": "蒲剧" + }, + { + "n": "雁剧", + "v": "雁剧" + }, + { + "n": "上党梆子", + "v": "上党梆子" + }, + { + "n": "秦腔", + "v": "秦腔" + }, + { + "n": "武安平调", + "v": "武安平调" + }, + { + "n": "二人台", + "v": "二人台" + }, + { + "n": "吉剧", + "v": "吉剧" + }, + { + "n": "龙江剧", + "v": "龙江剧" + }, + { + "n": "越调", + "v": "越调" + }, + { + "n": "河南曲剧", + "v": "河南曲剧" + }, + { + "n": "山东梆子", + "v": "山东梆子" + }, + { + "n": "淮剧", + "v": "淮剧" + }, + { + "n": "沪剧", + "v": "沪剧" + }, + { + "n": "滑稽戏", + "v": "滑稽戏" + }, + { + "n": "婺剧", + "v": "婺剧" + }, + { + "n": "绍剧", + "v": "绍剧" + }, + { + "n": "徽剧", + "v": "徽剧" + }, + { + "n": "闽剧", + "v": "闽剧" + }, + { + "n": "莆仙戏", + "v": "莆仙戏" + }, + { + "n": "梨园戏", + "v": "梨园戏" + }, + { + "n": "高甲戏", + "v": "高甲戏" + }, + { + "n": "赣剧", + "v": "赣剧" + }, + { + "n": "采茶戏", + "v": "采茶戏" + }, + { + "n": "汉剧", + "v": "汉剧" + }, + { + "n": "湘剧", + "v": "湘剧" + }, + { + "n": "祁剧", + "v": "祁剧" + }, + { + "n": "湖南花鼓戏", + "v": "湖南花鼓戏" + }, + { + "n": "粤剧", + "v": "粤剧" + }, + { + "n": "潮剧", + "v": "潮剧" + }, + { + "n": "桂剧", + "v": "桂剧" + }, + { + "n": "彩调", + "v": "彩调" + }, + { + "n": "壮剧", + "v": "壮剧" + }, + { + "n": "川剧", + "v": "川剧" + }, + { + "n": "黔剧", + "v": "黔剧" + }, + { + "n": "滇剧", + "v": "滇剧" + }, + { + "n": "傣剧", + "v": "傣剧" + }, + { + "n": "藏剧", + "v": "藏剧" + }, + { + "n": "皮影戏", + "v": "皮影戏" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "旅游": [ + { + "key": "order", + "name": "排序", + "value": [ + { + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "游泳": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "泳姿" + }, + { + "n": "蝶泳", + "v": "蝶泳" + }, + { + "n": "仰泳", + "v": "仰泳" + }, + { + "n": "蛙泳", + "v": "蛙泳" + }, + { + "n": "自由泳", + "v": "自由泳" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/xiaosa/json/采集静态.json b/xiaosa/json/采集静态.json new file mode 100644 index 00000000..3bfedc32 --- /dev/null +++ b/xiaosa/json/采集静态.json @@ -0,0 +1,141 @@ +[ + { + "name": "360资源", + "url": "https://360zy.com", + "parse_url": "", + "cate_exclude": "电影|连续剧|综艺|动漫|伦理片|体育|爽文短剧", + "class_name": "H4sIALGjdWYC/zWRa3aCMBCFd5N9tAvomhRaFHoqcKpYrUd7VEQtCD6rYGAzee6iYYi/8s0kmZl7h/fPFO+RqKa8SKgdIV7chZ0j6qzZ/ReR+4p7Frc7dYLgCVAwUQ9r4t09M9+AIp/eippY22OtAN7Zkb5l3S+S25D7xiSP6j5yNWLXFGi2UemaWBzxslcTwZ/COKCX5yfETIcZY/i8u9A84akidykWUJr2LOoeoIkR88CHYZyU4y1Qu5TjEijfUjwAmiVaD+/DxNTN2K2E/sOQTWKg8x9dBkDHTE9Hl5EcWdqfenY3ewTDUIl4BCDiYWOjtzFTy9MB/NGBuBy5ZyKe7uqDTba0a/F9gURYSXPdWI1Z0FGzw456GSkW0sT0aiDx6rPTtFGP6O2kbvimEhdHu0SKESl/VPAhcKzKgJTwKOc+a7+rDarteHJQyZYl5sk/IOiszA8CAAA=", + "class_url": "1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17&18&20&21&22&23&24&25&26&27&28&29&30&31&32&33&34&35&36&37&38&39&40&41&42&43&45&46&47&48&49&50&51&52&53" + }, + { + "name": "豪华资源", + "url": "https://hhzyapi.com", + "parse_url": "", + "cate_exclude": "电视剧|电影|综艺|动漫|短剧|伦理片", + "class_name": "H4sIALGjdWYC/zVPWw6CMBC8Tc/pI6D1w0eCKErCj1ofKBBjokg5DbsLt7Bdy1dnZrezMxS8WuWDVIKCF+hCYKqonluhO0X4zhglF/vg5sjskuIzt6ipTrT0SU4EzM6Nji2iaYFjj7UwNkusqRV8vhbhcImDkKdSuT2cbptSWtQ+ctBr54fVTYDvQcynjEABWzTvO+y1WzCRME578o/+J/StWlkKWOT4qdnhoLrId7L5Z0r1xLRc5D1hE0doWHe7mkOOUgpXXGaWkb5yyOPE1aLkbk78ALNMUSlMAQAA", + "class_url": "1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17&20&23&24&25&26&27&28&30&31&32&33&34&35&36&37&38" + }, + { + "name": "速播资源", + "url": "https://subocaiji.com", + "parse_url": "", + "cate_exclude": "电影|电视剧|动漫|综艺|短剧|伦理片", + "class_name": "H4sIALGjdWYC/zWPWw6CMBBFd9N1+ohKNVGMiBpI+FHrAyJISHiV1bQzsAuZgl/39LY9k0En0zJh6GStWGoumF4/oH4zrOqWlwzLl5ZH5CvqlfSJ0EpgvjAk9rqoiMA6q5Kbd1yMtzC1YeKazvX7erT0dhyG6qvoLsPQXQxFQ9QFTwpsthSQf6BJDZ1uJtKYQtV3tJckVPLQzr5t5qlyw1QeaU+OG/Q/wA//h1CQctwtiHrJD0Ycn8r6AAAA", + "class_url": "1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17&18&20&21&22&23&24&25&26&27" + }, + { + "name": "红牛资源", + "url": "https://www.hongniuzy2.com", + "parse_url": "", + "cate_exclude": "电影|连续剧|综艺|动漫|纪录片|伦理片|体育赛事|短剧", + "class_name": "H4sIALGjdWYC/y2PXQ6CMBCEb9Nz+hOVaqIYFU0g8qRV1AgSEikUL9Pu1lvorj7Nl5nNZBbXlTOF8K89NjcnlcCm9VILNz1BeyGxJkE5ES5KvjERBgUMR0xq6eqGCPoh9CK+k+qfQrCzWrIXG6sVtcPzDl3JtD2wXBV2cyK3yKHu2Ctzknd65kE6c2bDNbwJf4tte8RwTLY1Kz94+Cq2eiYwpS8+mOVyptYAAAA=", + "class_url": "1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17&18&19&20&21&29&30" + }, + { + "name": "新浪资源", + "url": "https://api.xinlangapi.com", + "parse_url": "", + "api": "/xinlangapi.php/provide/vod/from/xlm3u8/", + "cate_exclude": "电影|电视剧|动漫|综艺|纪录片|伦理片|体育|短剧", + "class_name": "H4sIALGjdWYC/0WOXQ6CMBCEb9Nz+hOR+qAYETUh4UWtikaQkEihPU27W24hXU18msk3m53BuLaqZBjXTgSWC2YXF+hyhm3nuGQob1Ztkc89Nyr1DsMSpjNyYm2b1jsI90ZyuuPil8I4glFCLEkHTO4o+gP1wPsJuqLGVQGNJnYXqJf/Ffgd12dXSncnkqrwYrozRoH/adTGTV4Ms8fAP2ziC/TQAAAA", + "class_url": "1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17&18&20&21&22&23&24" + }, + { + "name": "黑木耳资源", + "url": "https://www.heimuer.tv", + "parse_url": "", + "cate_exclude": "^电影$|^电视剧$|^综艺$|^动漫$|^短剧$", + "class_name": "H4sIALGjdWYC/0WSbXKCQAyGb8M5UQcRqgU7DFal2mllKBa/pqNjQexl2M1yi7LZpP2175PNJnkDEJ1FfbIgOqtsKLzMEv6HvH1aUN2UV1pdRA4c8Fwdb+oE1fCpneeowrG0M1Rx0qWiSl3xXWkle6G0Y4wt66bMdHV5PeijXedIsxSPfgHxFJ8MfNlfaAW9e7u4oxqdaATwD1BvUWVTatKNBVEF5GK9w3pfR3QS4CGLDO6PqOJjmxd45VyaKsbYbqxGK+w9em5KD6tXgXCuqOopVAlV7x6J/eDfD61IWwqOBNrYsuabWSqTggHHYMBJujl5zTgPQ7BR7w55UfNQ9h4IWnuo3nbs0mzNAKQrddpymjuBaE0gNpOmcjkt/1EXnyFKxP6V026lsv+ahmOxf+EbY5uammWaf8T4IzDOCeiDUxouiIGdcyZWN/ALQpTFCIwCAAA=", + "class_url": "1&2&3&4&6&7&8&9&10&11&12&13&14&15&16&20&21&22&23&24&25&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&52&53&54&55&56&57&58&59&60&61&62&63" + }, + { + "name": "暴风资源", + "url": "https://bfzyapi.com", + "parse_url": "", + "cate_exclude": "电影片|连续剧|综艺片|动漫片|伦理片|电影解说|体育|演员|新闻资讯", + "class_name": "H4sIALGjdWYC/zWRa3aCMBCFd5N1+kIFj1VOLdbq0Z6iBq0VrI8qGN1MMhN20WSAP8x34c7NZMDRWYkDuh2mvEiKGVEwUy63BPUh1AJLyH11y4i6B2g65HN5SdB9l6lLX9OtEm9Ew7bep5b0c47Zj3EzNRUy5ZZgx/HxYilfT+AaEy02xkC+QQK3B/nGK5jtiM5/ahkQHZPK50Vw/6ZZimTStslmlaI4qRTmpEFSiSKxEJjdtUvjqiXPJ+1Clw2VoNxKUG4pTAiOivXQQjUPdXxi+VdL+Z59LcWrbvzq81SmPaYvRxw2GcZ7KsK3BYJYx6lyegwXdllmDOVELO/0cbSAxDc3ZLh56ounbieZhQxfElN0VDM/wWysr8UOuwICc4PVEeo9qGU6rLN8vFWbD1xn5snyplDXhm75cJqbnqUOHZlN5OPzH964N6gIAgAA", + "class_url": "20&21&22&23&24&25&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&52&53&54&55&56&57&58&65&66&67&68&69&70&71&72" + }, + { + "name": "量子资源", + "url": "https://cj.lziapi.com", + "parse_url": "", + "cate_exclude": "电影片|连续剧|动漫片|综艺片|伦理片|电影解说|体育|演员|新闻资讯", + "class_name": "H4sIALGjdWYC/zWR607DMAyF3ybPCbuxDom1Yms3UTEJtmWI0bSMAr1kvEzspG9B46S/8h3b8XEcvSpBFjq4Y+bvWTcfEHCmm9YEtY3B4oTtuyclU6I47Yss6XmB4ykRj6BqLOFtiDcx1QXcZ3G+UXVAsSepam49uuMWfwXR7q0PW8Iz19cHSybLQa7pxjLH6krZ5IDpmaj8gX1MdMn9XdjzbjtzkzPbeZkPIjn0FoMgCy/8NPRGXzYIN4kX1G0QztsJ1R51OKMF0BoNfzXiiyn5aEafzHxfdDhmWmR0yMgeGAsjapjeM2xXEG36QN4ljSknJhNDGyfgVKgqdHnWvUwgWpDVzn7SP/ilxw64AQAA", + "class_url": "1&2&3&4&6&7&8&9&10&11&12&13&14&15&16&20&21&22&23&24&25&26&27&28&29&30&31&32&33&34&35&36&37&38&39&40&41&42&43&44&45&46" + }, + { + "name": "非凡资源", + "url": "http://cj.ffzyapi.com", + "parse_url": "", + "cate_exclude": "电影片|连续剧|动漫片|综艺片|伦理片", + "class_name": "H4sIAFhXhmYC/zWQWw6CMBBFd8M6NUakfggmChKJ/ADViFpiiPIobqadwi6kQ/k7d153ZtShlLxQZGP1v4tqHpJQSzVtT2odk9srtHdDgkdIfjQWaVJOAas1Et3LqtEESw8WPtYRarLgnERNMHbmoqbaY8hC+L6Q4tsY1gQ5Vd1OU/9kkh+xw2VQdZgNUohypPIjEx/pzUyvTOgQ2tPmlp7sslkE6WgxC7QwwmyDN5qyWUybGIHTZjF5T0K0mfJsfECsP/cHYziM500BAAA=", + "class_url": "1&2&3&4&6&7&8&9&10&11&12&13&14&15&16&20&21&22&23&24&25&26&27&28&29&30&31&32&33&34&36" + }, + { + "name": "索尼资源", + "url": "https://suoniapi.com", + "parse_url": "", + "cate_exclude": "电影|电视剧|综艺|动漫|体育赛事|预告片|影视解说|爽文短剧|伦理|港台三级|两性课堂|写真热舞", + "class_name": "H4sIAFlXhmYC/z1RbXaCMBC8TU7QW/RSip/oq8orxVp56hNoaqtFq1gFopfJZsMtGhLor93Z3czuTNBNgB0IuomkXbApwSyXdkpg8CHyrzJw5qPdI+D5ql1m2D+IVkdn1IFrVmaiORENT8/ZtOqK/itPbV2bM57Skl1sKd5GZVYsN7owjXS4xGWA8V6jow6YfgJ70VTJL4SenghpMetWR6rHiqYGimK8r4HeU2sx640i86YG5px/regaNZqqnjG7K5C74B54/kY4e5bWj0zmPB0SjL9x0iLyfCxDsW6DM9BEXizjFDpDokxWBksayPikHGTC6+FyVyri+TtOutVOfrExNeaoo01HRnfhXeuxaST8bQX4JRQNKuMbrCwC3Rn6S2ztZH9BHh7RfKzwbQhqKRAdi7UjmkP1hcrrJ8m26hRjfCiDDs9m/LYicD3xLMDNXZ4HRLYdcVoIa4ueQ3C0V52ixeBikcJKxH5s9vwBtOQp10cCAAA=", + "class_url": "1&2&3&4&6&7&8&9&10&11&12&13&14&15&16&17&18&19&20&23&25&26&27&28&29&30&31&39&44&45&47&48&49&50&51&52&53&54&55&56&57&58&59&60&61&62&63&64&65&66&67&68&69&70" + }, + { + "name": "快车资源", + "url": "https://caiji.kczyapi.com", + "parse_url": "", + "cate_exclude": "电影|电视剧|综艺|动漫|预告片|伦理|影视解说|体育赛事|港台三级|两性课堂|写真热舞", + "class_name": "H4sIAFZXhmYC/z1RbXaCMBC8TU7QW/RSip/oq8orxVp56hNoaqtFq1gFopfJZsMtGhLor93Z3czuTNBNgB0IuomkXbApwSyXdkpg8CHyrzJw5qPdI+D5ql1m2D+IVkdn1IFrVmaiORENT8/ZtOqK/itPbV2bM57Skl1sKd5GZVYsN7owjXS4xGWA8V6jow6YfgJ70VTJL4SenghpMetWR6rHiqYGimK8r4HeU2sx640i86YG5px/regaNZqqnjG7K5C74B54/kY4e5bWj0zmPB0SjL9x0iLyfCxDsW6DM9BEXizjFDpDokxWBksayPikHGTC6+FyVyri+TtOutVOfrExNeaoo01HRnfhXeuxaST8bQX4JRQNKuMbrCwC3Rn6S2ztZH9BHh7RfKzwbQhqKRAdi7UjmkP1hcrrJ8m26hRjfCiDDs9m/LYicD3xLMDNXZ4HRLYdcVoIa4ueQ3C0V52ixeBikcJKxH5s9vwBtOQp10cCAAA=", + "class_url": "1&2&3&4&6&7&8&9&10&11&12&13&14&15&16&17&18&19&20&23&25&26&27&28&29&30&31&39&44&45&47&48&49&50&51&52&53&54&55&56&57&58&59&60&61&62&63&64&65&66&67&68&69&70" + }, + { + "name": "️极速资源", + "url": "https://jszyapi.com", + "parse_url": "", + "cate_exclude": "电视剧|电影|动漫|综艺|短剧|伦理片", + "api": "/api.php/provide/vod/at/json/", + "class_name": "H4sIAGJXhmYC/zVP0W7CMBD7m3znYKIQkICKUsaoxMsgsBUooEpQmn5N7i79iyVH+hTbsXw2JaVVEUglKClBXwXmipqpF9r9Gh8XRtujf3C1Y3bM8V54ZOo9zSOSQwHjg9GZRzS64ueAtTRzJtZUDM+XR9ib40fKv1IFH46+TCU9sucC9DLkYf0nIBpAxqecQAlHmMcJNjoYXCXM8o68q78JvWorKwGzAp8Nl9UL27/ZcmOqiYAf1a6j4HEhbmFH3ORZ0RFODIR6TfvdcON+TmnMy8YX0r/ceDcMG2l7cvf+AYiMpdZZAQAA", + "class_url": "1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17&20&23&24&25&26&27&28&29&30&31&32&33&34&35&36&37&38" + }, + { + "name": "光速资源", + "url": "https://api.guangsuapi.com", + "parse_url": "", + "cate_exclude": "电影|电视剧|综艺|动漫|记录片|伦理片|体育赛事|短剧", + "class_name": "H4sIAFVXhmYC/y2Oaw6CMBCEb9Nz+ohINVGMiBpJ+KNW4gskJPJoT9PulltIF3/Nl5nJ7GJYGpkzDEsrPMMFw6a1vGZmcYP27kTLGPmcmSjuY0fo5zCdEYmNqRpKufh7MA5gFBH5B11zSs+iO9I6PASqFdH3Dapw1CWpk+EiDv/A/kLeOoNKUb3InNhXZuTOber2ioFHJLd28rHlSddLhsmz7/0A4RcQUdYAAAA=", + "class_url": "1&2&3&4&6&7&8&9&10&11&12&13&14&15&16&20&21&22&23&24&25&30&31" + }, + { + "name": "卧龙资源", + "url": "https://collect.wolongzy.cc", + "parse_url": "", + "cate_exclude": "电影片|连续剧|综艺片|动漫片|伦理片|电影解说|体育|短剧", + "class_name": "H4sIAFZXhmYC/1WR0VLCQAxF/6bfqXQsbB9omYEq2JEHKqtQ2iIC0nbxZ5pk+Qt303VG307uZnJvsjQ9gtqTGHr6+4WaHQjpUdNqUVsNwjdst446lTIlqWmyRKM9+g9McgKXxhLex3iXcJ+Q7hVHT10tWHtWXS2tx209x6+SafluZEuYS7qOLUFU4eXK2uMrpjnT8QxZYkkXFagZ+y53LhxNmz8GHPt3niv6Qa4w1lHV7+kCuAIyeZsHrsBD9S+ak4lvpuVKl58e+iEOFuxdnKDu80SZXvHqMA4g+uAjDHJKJhw6LEltmMqCYt/r2jXFAf/B6WAFs5Yx/QEG4wmPmwEAAA==", + "class_url": "1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17&18&22&23&24&25&26&27&30&31&32&33&37&38&39&42&43&44&45&46&48&49&51&54" + }, + { + "name": "天空资源", + "url": "https://m3u8.tiankongapi.com", + "parse_url": "", + "cate_exclude": "电影|连续剧|动漫|综艺|伦理片|电影解说|体育赛事|短剧", + "api": "/api.php/provide/vod/from/tkm3u8/", + "class_name": "H4sIAFdXhmYC/zVQW3LCMAy8jc/JYygknSllCqGUTPkoYAphEqCB4uD0Mrbk3KK2Yn95V9autMJpqeWJodhrOcNoyMzfJ1ZHHXEGGcf6xaFmu4Df3CEd75RMXR+OTtAfEOITfa8cgu4rdBKHbK//hdG7EhHVktSWCcU7nJIC4xzlnmpLqQSnaatvS/w0eBwYVg8TCabXvFk8eeL2GReBzDdWFAitHTTjAu41ebX+raMVQJoF0ub0pLzpdRLIpfCbWIF7kK5l+JfJf5jeDH1u7NbNR01pexkmE8ozuKqKbqHkm+mdTblU4pnhyt32H73g+qZ2AQAA", + "class_url": "1&2&3&4&5&6&7&8&9&10&11&12&20&21&22&23&24&25&26&27&28&29&30&31&32&33&34&35&36&37&38&39&40&41&42&44" + }, + { + "name": "百度云资源", + "url": "https://api.apibdzy.com", + "parse_url": "", + "cate_exclude": "电影|电视剧|综艺|动漫|伦理片|纪录片|体育赛事|资讯", + "class_name": "H4sIAFdXhmYC/zVP7W7CMAx8mzzn1vGVTgKqla4TSEgTLMAQLaBMkDZ9msRO32KNm/67O9t3Z0yl1VeGqXRiYrlgWNWOK2bjA9S/zNQ/uJwgn3rB6A2hbNMteoSzK7yNCYnEPiuP4HUJLxntcRGmMMuN4qTtRPtFOfAooLl71G6PJHzuKV+drF6RZ1ygPoVsTCvsq9pFCc+GLs4Cm7lHdvxnqoy0e0kC5YRfOucuYyCPonMYCDkML6+1USI83t8MpA8KJDpjlvhabSShXIRaRn+46Obk2qh35uTIXQrWjwKBfA75NpD2e2ST+B8HkFGOfQEAAA==", + "class_url": "1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17&18&20&21&22&23&24&25&26&27&28&29&30&31&32&33&34&36&37&38&39" + }, + { + "name": "无尽资源", + "url": "https://api.wujinapi.me", + "parse_url": "", + "cate_exclude": "电影|连续剧|综艺|动漫|伦理片|体育赛事|影视解说|短剧|预告片|资讯|公告|头条|港台三级|韩国伦理|西方伦理|日本伦理|两性课堂|写真热舞", + "class_name": "H4sIAFhXhmYC/zVRWVbCQBC8zZxTwxp8CnliFI2AEhzUaIIQhSxwmeklt3Ayk/xVdVe/7qqmaQrlVvB5TvkXuFJQXrCbCRhtsPgUnHb5O66ZKgNyBwL8QKtqRMMtdnoGSQ+OeY3wcoIXvtG5suni8EFlrqk9lSqT9ZLqbYaHuEYwTvB4MotPN1pgar0IvJGAcI/PL0IVbzTpmz3ZB5R3NaoW740W79cYRAalfxD6Zj6U1azfGNECrW6JXjpOWhJJvbP1a2+zru1MS4ysJU5EvmfMjDY0NaZpFFP5YWrrQRNE5aSYjMmGi7ukPkuVt+z8cPqksitB8TdNOkK3WfZZrjjeC1qYD9gj24XWVUOKKUy3qngU/Lurx6vXrk7KpGyG1MGlTDbx2OAEr8/oHxti42qIOoR4ITk+wdIR0J9RsKDOFw/nAgMXVu0JsN5Vrx5eXumP639dcxnR0ITPXQ/3c5uJgONe5St6P/Ov/t045FVP5TN1Wgq6SXSn6pRwcP4BxMt0fHACAAA=", + "class_url": "1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17&18&20&21&22&23&24&25&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&52&53&54&55&56&57&58&59" + } +] \ No newline at end of file diff --git a/xiaosa/py/APPV2.py b/xiaosa/py/APPV2.py new file mode 100644 index 00000000..c3fe418d --- /dev/null +++ b/xiaosa/py/APPV2.py @@ -0,0 +1,97 @@ +# -*- coding: utf-8 -*- +# by @嗷呜 +import sys +sys.path.append('..') +from base.spider import Spider + +class Spider(Spider): + + def init(self, extend=""): + ''' + example: + { + "key": "py_appV2", + "name": "xxx", + "type": 3, + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "api": "./py/APPV2.py", + "ext": "http://cmsyt.lyyytv.cn" + } + + ''' + self.host=extend + pass + + def getName(self): + pass + + def isVideoFormat(self, url): + pass + + def manualVideoCheck(self): + pass + + def destroy(self): + pass + + headers = { + 'User-Agent': 'okhttp/4.12.0', + } + + def homeContent(self, filter): + data = self.fetch(f"{self.host}//api.php/app/nav?token=",headers=self.headers).json() + keys = ["class", "area", "lang", "year", "letter", "by", "sort"] + filters = {} + classes = [] + for item in data['list']: + has_non_empty_field = False + jsontype_extend = item["type_extend"] + classes.append({"type_name": item["type_name"], "type_id": item["type_id"]}) + for key in keys: + if key in jsontype_extend and jsontype_extend[key].strip() != "": + has_non_empty_field = True + break + if has_non_empty_field: + filters[str(item["type_id"])] = [] + for dkey in jsontype_extend: + if dkey in keys and jsontype_extend[dkey].strip() != "": + values = jsontype_extend[dkey].split(",") + value_array = [{"n": value.strip(), "v": value.strip()} for value in values if + value.strip() != ""] + filters[str(item["type_id"])].append({"key": dkey, "name": dkey, "value": value_array}) + result = {} + result["class"] = classes + result["filters"] = filters + return result + + def homeVideoContent(self): + data=self.fetch(f"{self.host}/api.php/app/index_video?token=",headers=self.headers).json() + videos=[] + for item in data['list']:videos.extend(item['vlist']) + return {'list':videos} + + def categoryContent(self, tid, pg, filter, extend): + params = {'tid':tid,'class':extend.get('class',''),'area':extend.get('area',''),'lang':extend.get('lang',''),'year':extend.get('year',''),'limit':'18','pg':pg} + data=self.fetch(f"{self.host}/api.php/app/video",params=params,headers=self.headers).json() + return data + + def detailContent(self, ids): + data=self.fetch(f"{self.host}/api.php/app/video_detail?id={ids[0]}",headers=self.headers).json() + return {'list':[data['data']]} + + def searchContent(self, key, quick, pg="1"): + data=self.fetch(f"{self.host}/api.php/app/search?text={key}&pg={pg}",headers=self.headers).json() + videos=data['list'] + for item in data['list']: + item.pop('type', None) + return {'list':videos,'page':pg} + + def playerContent(self, flag, id, vipFlags): + return {'jx':1,'playUrl':'','parse': 1, 'url': id, 'header': self.headers} + + def localProxy(self, param): + pass + + diff --git a/xiaosa/py/光速影视.py b/xiaosa/py/光速影视.py new file mode 100644 index 00000000..4a58f393 --- /dev/null +++ b/xiaosa/py/光速影视.py @@ -0,0 +1,222 @@ +# -*- coding: utf-8 -*- +# by @嗷呜 +import re +import sys +from Crypto.Hash import MD5 +sys.path.append('..') +from Crypto.Cipher import AES +from Crypto.Util.Padding import pad, unpad +from urllib.parse import quote, urlparse +from base64 import b64encode, b64decode +import json +import time +from base.spider import Spider + +class Spider(Spider): + + def init(self, extend=""): + self.host = self.gethost() + pass + + def getName(self): + pass + + + def isVideoFormat(self, url): + pass + + def manualVideoCheck(self): + pass + + def action(self, action): + pass + + def destroy(self): + pass + + def homeContent(self, filter): + data = self.getdata("/api.php/getappapi.index/initV119") + dy = {"class": "类型", "area": "地区", "lang": "语言", "year": "年份", "letter": "字母", "by": "排序", + "sort": "排序"} + filters = {} + classes = [] + json_data = data["type_list"] + homedata = data["banner_list"][8:] + for item in json_data: + if item["type_name"] == "全部": + continue + has_non_empty_field = False + jsontype_extend = json.loads(item["type_extend"]) + homedata.extend(item["recommend_list"]) + jsontype_extend["sort"] = "最新,最热,最赞" + classes.append({"type_name": item["type_name"], "type_id": item["type_id"]}) + for key in dy: + if key in jsontype_extend and jsontype_extend[key].strip() != "": + has_non_empty_field = True + break + if has_non_empty_field: + filters[str(item["type_id"])] = [] + for dkey in jsontype_extend: + if dkey in dy and jsontype_extend[dkey].strip() != "": + values = jsontype_extend[dkey].split(",") + value_array = [{"n": value.strip(), "v": value.strip()} for value in values if + value.strip() != ""] + filters[str(item["type_id"])].append({"key": dkey, "name": dy[dkey], "value": value_array}) + result = {} + result["class"] = classes + result["filters"] = filters + result["list"] = homedata[1:] + return result + + def homeVideoContent(self): + pass + + def categoryContent(self, tid, pg, filter, extend): + body = {"area": extend.get('area', '全部'), "year": extend.get('year', '全部'), "type_id": tid, "page": pg, + "sort": extend.get('sort', '最新'), "lang": extend.get('lang', '全部'), + "class": extend.get('class', '全部')} + result = {} + data = self.getdata("/api.php/getappapi.index/typeFilterVodList", body) + result["list"] = data["recommend_list"] + result["page"] = pg + result["pagecount"] = 9999 + result["limit"] = 90 + result["total"] = 999999 + return result + + def detailContent(self, ids): + body = f"vod_id={ids[0]}" + data = self.getdata("/api.php/getappapi.index/vodDetail", body) + vod = data["vod"] + play = [] + names = [] + for itt in data["vod_play_list"]: + a = [] + names.append(itt["player_info"]["show"]) + for it in itt['urls']: + it['user_agent']=itt["player_info"].get("user_agent") + it["parse"]=itt["player_info"].get("parse") + a.append(f"{it['name']}${self.e64(json.dumps(it))}") + play.append("#".join(a)) + vod["vod_play_from"] = "$$$".join(names) + vod["vod_play_url"] = "$$$".join(play) + result = {"list": [vod]} + return result + + def searchContent(self, key, quick, pg="1"): + body = f"keywords={key}&type_id=0&page={pg}" + data = self.getdata("/api.php/getappapi.index/searchList", body) + result = {"list": data["search_list"], "page": pg} + return result + + def playerContent(self, flag, id, vipFlags): + ids = json.loads(self.d64(id)) + h={"User-Agent": (ids['user_agent'] or "okhttp/3.14.9")} + url = ids['url'] + p=1 + try: + if re.search(r'\?url=', ids['parse_api_url']): + data=self.fetch(ids['parse_api_url'], headers=h, timeout=10).json() + url=data.get('url') or data['data'].get('url') + elif not re.search(r'\.m3u8|\.mp4', ids.get('url')): + body = f"parse_api={ids.get('parse') or ids['parse_api_url'].replace(ids['url'], '')}&url={quote(self.aes('encrypt', ids['url']))}&token={ids.get('token')}" + b = self.getdata("/api.php/getappapi.index/vodParse", body)['json'] + url = json.loads(b)['url'] + p=0 + except Exception as e: + print('错误信息:',e) + pass + if re.search(r'\.jpg|\.png|\.jpeg', url): + url = self.Mproxy(url) + result = {} + result["parse"] = p + result["url"] = url + result["header"] = h + return result + + def localProxy(self, param): + return self.Mlocal(param) + + def gethost(self): + headers = { + 'User-Agent': 'okhttp/3.14.9' + } + host = self.fetch('https://jingyu-1312635929.cos.ap-nanjing.myqcloud.com/1.json', + headers=headers).text.strip() + return host + + phend = { + 'User-Agent': 'Dalvik/2.1.0 (Linux; U; Android 11; M2012K10C Build/RP1A.200720.011)', + 'allowCrossProtocolRedirects': 'true' + } + + def aes(self, operation, text): + key = "4d83b87c4c5ea111".encode("utf-8") + iv = key + if operation == "encrypt": + cipher = AES.new(key, AES.MODE_CBC, iv) + ct_bytes = cipher.encrypt(pad(text.encode("utf-8"), AES.block_size)) + ct = b64encode(ct_bytes).decode("utf-8") + return ct + elif operation == "decrypt": + cipher = AES.new(key, AES.MODE_CBC, iv) + pt = unpad(cipher.decrypt(b64decode(text)), AES.block_size) + return pt.decode("utf-8") + + def header(self): + t = str(int(time.time())) + header = {"Referer":self.host, + "User-Agent": "okhttp/3.14.9", "app-version-code": "300", "app-ui-mode": "light", + "app-api-verify-time": t, "app-user-device-id": self.md5(t), + "app-api-verify-sign": self.aes("encrypt", t), + "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8"} + return header + + def getdata(self, path, data=None): + vdata = self.post(f"{self.host}{path}", headers=self.header(), data=data, timeout=10).json()['data'] + data1 = self.aes("decrypt", vdata) + return json.loads(data1) + + def Mproxy(self, url): + return self.getProxyUrl() + "&url=" + b64encode(url.encode('utf-8')).decode('utf-8') + "&type=m3u8" + + def Mlocal(self, param,header=None): + url = self.d64(param["url"]) + ydata = self.fetch(url, headers=header, allow_redirects=False) + data = ydata.content.decode('utf-8') + if ydata.headers.get('Location'): + url = ydata.headers['Location'] + data = self.fetch(url, headers=header).content.decode('utf-8') + parsed_url = urlparse(url) + durl = parsed_url.scheme + "://" + parsed_url.netloc + lines = data.strip().split('\n') + for index, string in enumerate(lines): + if '#EXT' not in string and 'http' not in string: + last_slash_index = string.rfind('/') + lpath = string[:last_slash_index + 1] + lines[index] = durl + ('' if lpath.startswith('/') else '/') + lpath + data = '\n'.join(lines) + return [200, "application/vnd.apple.mpegur", data] + + def e64(self, text): + try: + text_bytes = text.encode('utf-8') + encoded_bytes = b64encode(text_bytes) + return encoded_bytes.decode('utf-8') + except Exception as e: + print(f"Base64编码错误: {str(e)}") + return "" + + def d64(self,encoded_text): + try: + encoded_bytes = encoded_text.encode('utf-8') + decoded_bytes = b64decode(encoded_bytes) + return decoded_bytes.decode('utf-8') + except Exception as e: + print(f"Base64解码错误: {str(e)}") + return "" + + def md5(self, text): + h = MD5.new() + h.update(text.encode('utf-8')) + return h.hexdigest() diff --git a/xiaosa/py/嗨皮影视.py b/xiaosa/py/嗨皮影视.py new file mode 100644 index 00000000..511ddfeb --- /dev/null +++ b/xiaosa/py/嗨皮影视.py @@ -0,0 +1,146 @@ +# -*- coding: utf-8 -*- +# by @嗷呜 +import sys +sys.path.append('..') +from base.spider import Spider +import requests + + +class Spider(Spider): + + def init(self, extend=""): + pass + + def getName(self): + return "hitv" + + def isVideoFormat(self, url): + pass + + def manualVideoCheck(self): + pass + + def destroy(self): + pass + + def homeContent(self, filter): + result = {} + cateManual = { + # "直播": "live", + '排行榜': 'rank', + "电影": "1", + "剧集": "2", + "综艺": "3", + "动画": "4", + "短片": "5" + } + classes = [] + for k in cateManual: + classes.append({ + 'type_name': k, + 'type_id': cateManual[k] + }) + result['class'] = classes + return result + + host = "https://wys.upfuhn.com" + headers = { + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) " + "Chrome/80.0.3987.149 Safari/537.36" + } + + def list(self, list): + videos = [] + for it in list: + videos.append({ + "vod_id": it['video_site_id'], + "vod_name": it['video_name'], + "vod_pic": it['video_horizontal_url'] or it['video_vertical_url'], + "vod_remarks": it['newest_series_num'], + "vod_year": it['years'], + }) + return videos + + def homeVideoContent(self): + url = f'{self.host}/v1/ys_video_sites/hot?t=1' + data = requests.get(url, headers=self.headers).json() + videos = self.list(data['data']['data']) + result = {'list': videos} + return result + + def categoryContent(self, tid, pg, filter, extend): + path = f'/v1/ys_video_sites?t={tid}&s_t=0&a&y&o=0&ps=21&pn={pg}' + rank = False + if tid == 'rank': + if pg == 1: + path = f'/v1/ys_video_sites/ranking' + rank = True + else: + path = '' + # elif tid == 'live' and pg == 1: + # path = f'/v1/ys_live_tvs' + videos = [] + result = {} + try: + data = requests.get(self.host + path, headers=self.headers).json() + if rank: + for video in data['data']: + videos.extend(data['data'][video]) + else: + videos = data['data']['data'] + result = {} + result['list'] = self.list(videos) + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + except: + result['list'] = [] + return result + + def detailContent(self, ids): + tid = ids[0] + url = f'{self.host}/v1/ys_video_series/by_vid/{tid}' + data = requests.get(url, headers=self.headers).json() + data1 = data['data']['ys_video_site'] + urls = [] + for it in data['data']['data']: + urls.append(it['series_num'] + '$' + it['video_url']) + vod = { + 'vod_name': data1['video_name'], + 'type_name': data1['tag'], + 'vod_year': data1['years'], + 'vod_area': data1['area'], + 'vod_director': data1['main_actor'], + 'vod_content': data1['video_desc'], + 'vod_play_from': '嗨皮在线', + 'vod_play_url': '#'.join(urls), + } + result = { + 'list': [ + vod + ] + } + return result + + def searchContent(self, key, quick, pg=1): + url = f'{self.host}/v1/ys_video_sites/search?s={key}&o=0&ps=200&pn={pg}' + data = requests.get(url, headers=self.headers).json() + videos = data['data']['video_sites'] + if data['data']['first_video_series'] is not None: + videos = [data['data']['first_video_series']] + videos + result = {} + result['list'] = self.list(videos) + result['page'] = pg + return result + + def playerContent(self, flag, id, vipFlags): + result = { + 'url': id, + 'parse': 0, + 'header': self.headers + } + return result + + def localProxy(self, param): + pass diff --git a/xiaosa/py/火车影视.py b/xiaosa/py/火车影视.py new file mode 100644 index 00000000..6a801796 --- /dev/null +++ b/xiaosa/py/火车影视.py @@ -0,0 +1,301 @@ +# -*- coding: utf-8 -*- +# by @嗷呜 +import sys +from urllib.parse import urlparse +sys.path.append("..") +import re +import hashlib +import hmac +import random +import string +from Crypto.Util.Padding import unpad +from concurrent.futures import ThreadPoolExecutor +from Crypto.PublicKey import RSA +from Crypto.Cipher import PKCS1_v1_5, AES +from base64 import b64encode, b64decode +import json +import time +from base.spider import Spider + + +class Spider(Spider): + + def init(self, extend=""): + self.device = self.device_id() + self.host = self.gethost() + pass + + def getName(self): + pass + + def isVideoFormat(self, url): + pass + + def manualVideoCheck(self): + pass + + def action(self, action): + pass + + def destroy(self): + pass + + def homeContent(self, filter): + result = {} + filters = {} + classes = [] + bba = self.url() + data = self.fetch(f"{self.host}/api/v1/app/config?pack={bba[0]}&signature={bba[1]}", headers=self.header()).text + data1 = self.aes(data) + dy = {"class": "类型", "area": "地区", "lang": "语言", "year": "年份", "letter": "字母", "by": "排序", + "sort": "排序"} + data1['data']['movie_screen']['sort'].pop(0) + for item in data1['data']['movie_screen']['sort']: + item['n'] = item.pop('name') + item['v'] = item.pop('value') + for item in data1['data']['movie_screen']['filter']: + has_non_empty_field = False + classes.append({"type_name": item["name"], "type_id": str(item["id"])}) + for key in dy: + if key in item and item[key]: + has_non_empty_field = True + break + if has_non_empty_field: + filters[str(item["id"])] = [] + filters[str(item["id"])].append( + {"key": 'sort', "name": '排序', "value": data1['data']['movie_screen']['sort']}) + for dkey in item: + if dkey in dy and item[dkey]: + item[dkey].pop(0) + value_array = [ + {"n": value.strip(), "v": value.strip()} + for value in item[dkey] + if value.strip() != "" + ] + filters[str(item["id"])].append( + {"key": dkey, "name": dy[dkey], "value": value_array} + ) + result["class"] = classes + result["filters"] = filters + return result + + def homeVideoContent(self): + bba = self.url() + url = f'{self.host}/api/v1/movie/index_recommend?pack={bba[0]}&signature={bba[1]}' + data = self.fetch(url, headers=self.header()).json() + videos = [] + for item in data['data']: + if len(item['list']) > 0: + for it in item['list']: + try: + videos.append(self.voides(it)) + except Exception as e: + continue + result = {"list": videos} + return result + + def categoryContent(self, tid, pg, filter, extend): + body = {"type_id": tid, "sort": extend.get("sort", "by_default"), "class": extend.get("class", "类型"), + "area": extend.get("area", "地区"), "year": extend.get("year", "年份"), "page": str(pg), + "pageSize": "21"} + result = {} + list = [] + bba = self.url(body) + url = f"{self.host}/api/v1/movie/screen/list?pack={bba[0]}&signature={bba[1]}" + data = self.fetch(url, headers=self.header()).json()['data']['list'] + for item in data: + list.append(self.voides(item)) + result["list"] = list + result["page"] = pg + result["pagecount"] = 9999 + result["limit"] = 90 + result["total"] = 999999 + return result + + def detailContent(self, ids): + body = {"id": ids[0]} + bba = self.url(body) + url = f'{self.host}/api/v1/movie/detail?pack={bba[0]}&signature={bba[1]}' + data = self.fetch(url, headers=self.header()).json()['data'] + video = {'vod_name': data.get('name'), 'type_name': data.get('type_name'), 'vod_year': data.get('year'), + 'vod_area': data.get('area'), 'vod_remarks': data.get('dynami'), 'vod_content': data.get('content')} + play = [] + names = [] + tasks = [] + for itt in data["play_from"]: + name = itt["name"] + a = [] + if len(itt["list"]) > 0: + names.append(name) + play.append(self.playeach(itt['list'])) + else: + tasks.append({"movie_id": ids[0], "from_code": itt["code"]}) + names.append(name) + if tasks: + with ThreadPoolExecutor(max_workers=len(tasks)) as executor: + results = executor.map(self.playlist, tasks) + for result in results: + if result: + play.append(result) + else: + play.append("") + video["vod_play_from"] = "$$$".join(names) + video["vod_play_url"] = "$$$".join(play) + result = {"list": [video]} + return result + + def searchContent(self, key, quick, pg=1): + body = {"keyword": key, "sort": "", "type_id": "0", "page": str(pg), "pageSize": "10", + "res_type": "by_movie_name"} + bba = self.url(body) + url = f"{self.host}/api/v1/movie/search?pack={bba[0]}&signature={bba[1]}" + data = self.fetch(url, headers=self.header()).json()['data'].get('list') + videos = [] + for it in data: + try: + videos.append(self.voides(it)) + except Exception as e: + continue + result = {"list": videos, "page": pg} + return result + + def playerContent(self, flag, id, vipFlags): + url = id + if not re.search(r"\.m3u8|\.mp4", url): + try: + data = json.loads(b64decode(id.encode('utf-8')).decode('utf-8')) + bba = self.url(data) + data2 = self.fetch(f"{self.host}/api/v1/movie_addr/parse_url?pack={bba[0]}&signature={bba[1]}", + headers=self.header()).json()['data'] + url = data2.get('play_url') or data2.get('download_url') + except Exception as e: + pass + if re.search(r'\.jpg|\.png|\.jpeg', url): + url = self.Mproxy(url) + result = {} + result["parse"] = 0 + result["url"] = url + result["header"] = {'user-agent': 'okhttp/4.9.2'} + return result + + def localProxy(self, param): + return self.Mlocal(param) + + def Mproxy(self, url): + return self.getProxyUrl() + "&url=" + b64encode(url.encode('utf-8')).decode('utf-8') + "&type=m3u8" + + def Mlocal(self, param,header=None): + url = self.d64(param["url"]) + ydata = self.fetch(url, headers=header, allow_redirects=False) + data = ydata.content.decode('utf-8') + if ydata.headers.get('Location'): + url = ydata.headers['Location'] + data = self.fetch(url, headers=header).content.decode('utf-8') + parsed_url = urlparse(url) + durl = parsed_url.scheme + "://" + parsed_url.netloc + lines = data.strip().split('\n') + for index, string in enumerate(lines): + if '#EXT' not in string and 'http' not in string: + last_slash_index = string.rfind('/') + lpath = string[:last_slash_index + 1] + lines[index] = durl + ('' if lpath.startswith('/') else '/') + lpath + data = '\n'.join(lines) + return [200, "application/vnd.apple.mpegur", data] + + def device_id(self): + characters = string.ascii_lowercase + string.digits + random_string = ''.join(random.choices(characters, k=32)) + return random_string + + def gethost(self): + try: + url = 'https://dns.alidns.com/dns-query' + headers = { + 'User-Agent': 'okhttp/4.9.2', + 'Accept': 'application/dns-message' + } + params = { + 'dns': 'AAABAAABAAAAAAAACWJmbTExYXM5ZgdmdXFpeXVuAmNuAAAcAAE' + } + response = self.fetch(url, headers=headers, params=params) + host=self.parse_dns_name(response.content, 12) + return f"https://{host}" + except: + return "https://bfm11as9f.fuqiyun.cn" + + def parse_dns_name(self, data, offset): + parts = [] + while True: + length = data[offset] + if length == 0: + break + offset += 1 + parts.append(data[offset:offset + length].decode('utf-8')) + offset += length + return '.'.join(parts) + + def header(self): + headers = { + 'User-Agent': 'Android', + 'Accept': 'application/prs.55App.v2+json', + 'timestamp': str(int(time.time())), + 'x-client-setting': '{"pure-mode":0}', + 'x-client-uuid': '{"device_id":' + self.device + '}, "type":1,"brand":"Redmi", "model":"M2012K10C", "system_version":30, "sdk_version":"3.1.0.7"}', + 'x-client-version': '3096 ' + } + return headers + + def url(self, id=None): + if not id: + id = {} + id["timestamp"] = str(int(time.time())) + public_key = 'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA02F/kPg5A2NX4qZ5JSns+bjhVMCC6JbTiTKpbgNgiXU+Kkorg6Dj76gS68gB8llhbUKCXjIdygnHPrxVHWfzmzisq9P9awmXBkCk74Skglx2LKHa/mNz9ivg6YzQ5pQFUEWS0DfomGBXVtqvBlOXMCRxp69oWaMsnfjnBV+0J7vHbXzUIkqBLdXSNfM9Ag5qdRDrJC3CqB65EJ3ARWVzZTTcXSdMW9i3qzEZPawPNPe5yPYbMZIoXLcrqvEZnRK1oak67/ihf7iwPJqdc+68ZYEmmdqwunOvRdjq89fQMVelmqcRD9RYe08v+xDxG9Co9z7hcXGTsUquMxkh29uNawIDAQAB' + encrypted_text = json.dumps(id) + public_key = RSA.import_key(b64decode(public_key)) + cipher = PKCS1_v1_5.new(public_key) + encrypted_message = cipher.encrypt(encrypted_text.encode('utf-8')) + encrypted_message_base64 = b64encode(encrypted_message).decode('utf-8') + result = encrypted_message_base64.replace('+', '-').replace('/', '_').replace('=', '') + key = '635a580fcb5dc6e60caa39c31a7bde48' + sign = hmac.new(key.encode(), result.encode(), hashlib.md5).hexdigest() + return result, sign + + def playlist(self, body): + try: + bba = self.url(body) + url = f'{self.host}/api/v1/movie_addr/list?pack={bba[0]}&signature={bba[1]}' + data = self.fetch(url, headers=self.header()).json()['data'] + return self.playeach(data) + except Exception: + return [] + + def playeach(self, data): + play_urls = [] + for it in data: + if re.search(r"mp4|m3u8", it["play_url"]): + play_urls.append(f"{it['episode_name']}${it['play_url']}") + else: + vd={"from_code": it['from_code'], "play_url": it['play_url'], "episode_id": it['episode_id'], "type": "play"} + play_urls.append( + f"{it['episode_name']}${b64encode(json.dumps(vd).encode('utf-8')).decode('utf-8')}" + ) + return '#'.join(play_urls) + + def voides(self, item): + if item['name'] or item['title']: + voide = { + "vod_id": item.get('id') or item.get('click'), + 'vod_name': item.get('name') or item.get('title'), + 'vod_pic': item.get('cover') or item.get('image'), + 'vod_year': item.get('year') or item.get('label'), + 'vod_remarks': item.get('dynamic') or item.get('sub_title') + } + return voide + + def aes(self, text): + text = text.replace('-', '+').replace('_', '/') + '==' + key = b"e6d5de5fcc51f53d" + iv = b"2f13eef7dfc6c613" + cipher = AES.new(key, AES.MODE_CBC, iv) + pt = unpad(cipher.decrypt(b64decode(text)), AES.block_size).decode("utf-8") + return json.loads(pt) diff --git a/xiaosa/py/爱看短剧.py b/xiaosa/py/爱看短剧.py new file mode 100644 index 00000000..638f407a --- /dev/null +++ b/xiaosa/py/爱看短剧.py @@ -0,0 +1,314 @@ +# -*- coding: utf-8 -*- +# by @嗷呜 +import base64 +import binascii +import json +import random +import sys +import time +import uuid +from base64 import b64decode, b64encode +from Crypto.Cipher import AES +from Crypto.Hash import MD5 +from Crypto.Util.Padding import unpad, pad +sys.path.append('..') +from base.spider import Spider + + +class Spider(Spider): + + def init(self, extend=""): + self.ut = False + # self.did, self.ntid =self.getdid() + self.did, self.ntid = 'e59eb2465f61b9ca','65a0de19b3a2ec93fa479ad6' + self.token, self.uid = self.gettoken() + self.phost, self.phz,self.mphost=self.getpic() + # self.phost, self.phz,self.mphost = ('https://dbtp.tgydy.com','.log','https://dplay.nbzsmc.com') + pass + + def getName(self): + pass + + def isVideoFormat(self, url): + pass + + def manualVideoCheck(self): + pass + + def destroy(self): + pass + + host='http://192.151.245.34:8089' + + def md5(self, text): + h = MD5.new() + h.update(text.encode('utf-8')) + return h.hexdigest() + + def uuid(self): + return str(uuid.uuid4()) + + def getdid(self): + did = self.random_str(16) + ntid = self.random_str(24) + return did, ntid + # try: + # if self.getCache('did'): + # return self.getCache('did'), self.getCache('ntid') + # else: + # self.setCache('did', did) + # self.setCache('ntid', ntid) + # return did, ntid + # except Exception as e: + # self.setCache('did', did) + # self.setCache('ntid', ntid) + # return did, ntid + + def aes(self, text, bool=True): + key = b64decode('c0k4N1RfKTY1U1cjJERFRA==') + iv = b64decode('VzIjQWRDVkdZSGFzSEdEVA==') + if bool: + cipher = AES.new(key, AES.MODE_CBC, iv) + ct_bytes = cipher.encrypt(pad(text.encode("utf-8"), AES.block_size)) + ct = b64encode(ct_bytes).decode("utf-8") + return ct + else: + cipher = AES.new(key, AES.MODE_CBC, iv) + pt = unpad(cipher.decrypt(b64decode(text)), AES.block_size) + ptt=json.loads(pt.decode("utf-8")) + return ptt + + def random_str(self,length=24): + hex_chars = '0123456789abcdef' + return ''.join(random.choice(hex_chars) for _ in range(length)) + + def gettoken(self): + params={"deviceId":self.did,"deviceModel":"8848钛晶手机","devicePlatform":"1","tenantId":self.ntid} + data=self.getdata('/supports/anonyLogin',params) + self.ut=True + return data['data']['token'], data['data']['userId'] + + def getdata(self,path,params=None): + t = int(time.time()*1000) + n=self.md5(f'{self.uuid()}{t}') + if params: + ct=self.aes(json.dumps(params)) + else: + ct=f'{t}{n}' + s=self.md5(f'{ct}8j@78m.367HGDF') + headers = { + 'User-Agent': 'okhttp-okgo/jeasonlzy', + 'Connection': 'Keep-Alive', + 'Accept-Language': 'zh-CN,zh;q=0.8', + 'tenantId': self.ntid, + 'n': n, + 't': str(int(t/1000)), + 's': s, + } + if self.ut: + headers['ta-token'] = self.token + headers['userId'] = self.uid + if params: + params={'ct':ct} + response = self.post(f'{self.host}{path}', headers=headers, json=params).text + else: + response = self.fetch(f'{self.host}{path}', headers=headers).text + data=self.aes(response[1:-1],False) + return data + + def getpic(self): + try: + at = int(time.time() * 1000) + t=str(int(at/ 1000)) + n = self.md5(f'{self.uuid()}{at}') + headers = { + 'Host': '192.151.245.34:8089', + 'User-Agent': 'okhttp-okgo/jeasonlzy', + 'Connection': 'Keep-Alive', + 'Accept-Language': 'zh-CN,zh;q=0.8', + 'tenantId': self.ntid, + 'userId': self.uid, + 'ta-token': self.token, + 'n': n, + 't': t, + 's': self.md5(f'{t}{n}8j@78m.367HGDF') + } + params = { + 'tenantId': self.ntid, + } + response = self.fetch(f'{self.host}/supports/configs', params=params, headers=headers).text + data=self.aes(response[1:-1],False) + config = { + 'image_cdn': '', + 'image_cdn_path': '', + 'cdn-domain': '' + } + for item in data.get('data', []): + name = item.get('name') + records = item.get('records', []) + + if name in config and records: + value = records[0].get('value', '') + if name == 'cdn-domain': + value = value.split('#')[0] + config[name] = value + + return config['image_cdn'], config['image_cdn_path'], config['cdn-domain'] + + except Exception as e: + print(f"Error in getpic: {e}") + return 'https://dbtp.tgydy.com', '.log', 'https://dplay.nbzsmc.com' + + def getlist(self,data): + vod=[] + for i in data: + vod.append({ + 'vod_id': f'{i.get("movieId")}@{i.get("entryNum")}', + 'vod_name': i.get('title'), + 'vod_pic': f'{self.getProxyUrl()}&path={i.get("thumbnail")}', + 'vod_year': i.get('score'), + 'vod_remarks': f'{i.get("entryNum")}集' + }) + return vod + + def homeContent(self, filter): + data=self.getdata('/movies/classifies') + result = {} + cateManual = { + "榜单": "ranking/getTodayHotRank", + "专辑": "getTMovieFolderPage", + "剧场": "getClassMoviePage2", + "演员": "follow/getRecommendActorPage", + } + classes = [] + for k in cateManual: + classes.append({ + 'type_name': k, + 'type_id': cateManual[k] + }) + filters = {} + if data.get('data'): + filters["getClassMoviePage2"] = [ + { + "key": "type", + "name": "分类", + "value": [ + {"n": item["name"], "v": item["classifyId"]} + for item in data["data"] + ] + } + ] + filters["ranking/getTodayHotRank"] = [ + { + "key": "type", + "name": "榜单", + "value": [ + {"n": "播放榜", "v": "getWeekHotPlayRank"}, + {"n": "高赞榜", "v": "getWeekStarRank"}, + {"n": "追剧榜", "v": "getSubTMoviePage"}, + {"n": "高分榜", "v": "ranking/getScoreRank"} + ] + } + ] + filters["follow/getRecommendActorPage"] = [ + { + "key": "type", + "name": "性别", + "value": [ + {"n": "男", "v": "0"}, + {"n": "女", "v": "1"} + ] + } + ] + result['class'] = classes + result['filters'] = filters + return result + + def homeVideoContent(self): + params = {"pageNo":"1","pageSize":"30","platform":"1","deviceId":self.did,"tenantId":self.ntid} + data=self.getdata('/news/getRecommendTMoviePage',params) + vod=self.getlist(data['data']['records']) + return {'list':vod} + + def categoryContent(self, tid, pg, filter, extend): + params={} + path = f'/news/{tid}' + if tid=='getClassMoviePage2': + parama={"pageNo":pg,"pageSize":"30","orderFlag":"0","haveActor":"-1","classifyId":extend.get('type','-1'),"tagId":""} + elif 'rank' in tid: + path=f'/news/{extend.get("type") or tid}' + parama={"pageNo":pg,"pageSize":"30"} + elif 'follow' in tid: + parama={"pageNo":pg,"pageSize":"20"} + if extend.get('type'): + path=f'/news/getActorPage' + parama={"pageNo":pg,"pageSize":"50","sex":extend.get('type')} + elif tid=='getTMovieFolderPage': + parama={"pageNo":pg,"pageSize":"20"} + elif '@' in tid: + path='/news/getActorTMoviePage' + parama={"id":tid.split('@')[0],"pageNo":pg,"pageSize":"30"} + params['platform'] = '1' + params['deviceId'] = self.did + params['tenantId'] = self.ntid + data=self.getdata(path,parama) + vods=[] + if 'follow' in tid: + for i in data['data']['records']: + vods.append({ + 'vod_id': f'{i.get("id")}@', + 'vod_name': i.get('name'), + 'vod_pic': i.get('avatar'), + 'vod_tag': 'folder', + 'vod_remarks': f'作品{i.get("movieNum")}', + 'style': {"type": "oval"} + }) + else: + vdata=data['data']['records'] + if tid=='getTMovieFolderPage': + vdata=[j for i in data['data']['records'] for j in i['movieList']] + vods=self.getlist(vdata) + result = {} + result['list'] = vods + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + + def detailContent(self, ids): + ids=ids[0].split('@') + params = {"pageNo": "1", "pageSize": ids[1], "movieId": ids[0], "platform": "1", "deviceId": self.did, "tenantId": self.ntid} + data = self.getdata('/news/getEntryPage', params) + print(data) + plist=[f'第{i.get("entryNum")}集${i.get("mp4PlayAddress") or i.get("playAddress")}' for i in data['data']['records']] + vod = { + 'vod_play_from': '爱看短剧', + 'vod_play_url': '#'.join(plist), + } + return {'list':[vod]} + + def searchContent(self, key, quick, pg="1"): + params = {"pageNo": pg, "pageSize": "20", "keyWord": key, "orderFlag": "0", "platform": "1", "deviceId": self.did, "tenantId": self.ntid} + data = self.getdata('/news/searchTMoviePage', params) + vod = self.getlist(data['data']['records']) + return {'list':vod,'page':pg} + + def playerContent(self, flag, id, vipFlags): + return {'parse': 0, 'url': f'{self.mphost}{id}', 'header': {'User-Agent':'Dalvik/2.1.0 (Linux; U; Android 11; M2012K10C Build/RP1A.200720.011)'}} + + def localProxy(self, param): + type=param.get('path').split('.')[-1] + data=self.fetch(f'{self.phost}{param.get("path")}{self.phz}',headers={'User-Agent':'Dalvik/2.1.0 (Linux; U; Android 11; M2012K10C Build/RP1A.200720.011)'}) + def decrypt(encrypted_text): + try: + key = base64.urlsafe_b64decode("iM41VipvCFtToAFFRExEXw==") + iv = base64.urlsafe_b64decode("0AXRTXzmMSrlRSemWb4sVQ==") + cipher = AES.new(key, AES.MODE_CBC, iv) + decrypted_padded = cipher.decrypt(encrypted_text) + decrypted_data = unpad(decrypted_padded, AES.block_size) + return decrypted_data + except (binascii.Error, ValueError): + return None + return [200, f'image/{type}', decrypt(data.content)] + diff --git a/xiaosa/py/猎手影视.py b/xiaosa/py/猎手影视.py new file mode 100644 index 00000000..1a6a4d76 --- /dev/null +++ b/xiaosa/py/猎手影视.py @@ -0,0 +1,279 @@ +# coding=utf-8 +# !/usr/bin/python +# by嗷呜(finally) +import sys +import os +sys.path.append("..") +import re +import hashlib +import hmac +import random +import string +from Crypto.Util.Padding import unpad +from concurrent.futures import ThreadPoolExecutor +from Crypto.PublicKey import RSA +from Crypto.Cipher import PKCS1_v1_5, AES +from base64 import b64encode, b64decode +import json +import time +from base.spider import Spider + +class Spider(Spider): + + def getName(self): + return "电影猎手" + + def init(self, extend=""): + self.device = self.device_id() + self.host = self.gethost() + pass + + def isVideoFormat(self, url): + pass + + def manualVideoCheck(self): + pass + + def action(self, action): + pass + + def destroy(self): + pass + + t = str(int(time.time())) + + def homeContent(self, filter): + result = {} + filters = {} + classes = [] + bba = self.url() + data = self.fetch(f"{self.host}/api/v1/app/config?pack={bba[0]}&signature={bba[1]}", headers=self.header()).text + data1 = self.aes(data) + dy = {"class":"类型","area":"地区","lang":"语言","year":"年份","letter":"字母","by":"排序","sort":"排序"} + data1['data']['movie_screen']['sort'].pop(0) + for item in data1['data']['movie_screen']['sort']: + item['n'] = item.pop('name') + item['v'] = item.pop('value') + for item in data1['data']['movie_screen']['filter']: + has_non_empty_field = False + classes.append({"type_name": item["name"], "type_id": str(item["id"])}) + for key in dy: + if key in item and item[key]: + has_non_empty_field = True + break + if has_non_empty_field: + filters[str(item["id"])] = [] + filters[str(item["id"])].append( + {"key": 'sort', "name": '排序', "value": data1['data']['movie_screen']['sort']}) + for dkey in item: + if dkey in dy and item[dkey]: + item[dkey].pop(0) + value_array = [ + {"n": value.strip(), "v": value.strip()} + for value in item[dkey] + if value.strip() != "" + ] + filters[str(item["id"])].append( + {"key": dkey, "name": dy[dkey], "value": value_array} + ) + result["class"] = classes + result["filters"] = filters + return result + + def homeVideoContent(self): + bba = self.url() + url = f'{self.host}/api/v1/movie/index_recommend?pack={bba[0]}&signature={bba[1]}' + data = self.fetch(url, headers=self.header()).json() + videos = [] + for item in data['data']: + if len(item['list']) > 0: + for it in item['list']: + try: + videos.append(self.voides(it)) + except Exception as e: + continue + result = {"list": videos} + return result + + def categoryContent(self, tid, pg, filter, extend): + body = {"type_id": tid, "sort": extend.get("sort", "by_default"), "class": extend.get("class", "类型"), + "area": extend.get("area", "地区"), "year": extend.get("year", "年份"), "page": str(pg), + "pageSize": "21"} + result = {} + list = [] + bba = self.url(body) + url = f"{self.host}/api/v1/movie/screen/list?pack={bba[0]}&signature={bba[1]}" + data = self.fetch(url, headers=self.header()).json()['data']['list'] + for item in data: + list.append(self.voides(item)) + result["list"] = list + result["page"] = pg + result["pagecount"] = 9999 + result["limit"] = 90 + result["total"] = 999999 + return result + + def detailContent(self, ids): + body = {"id": ids[0]} + bba = self.url(body) + url = f'{self.host}/api/v1/movie/detail?pack={bba[0]}&signature={bba[1]}' + data = self.fetch(url, headers=self.header()).json()['data'] + video = {'vod_name': data.get('name'),'type_name': data.get('type_name'),'vod_year': data.get('year'),'vod_area': data.get('area'),'vod_remarks': data.get('dynami'),'vod_content': data.get('content')} + play = [] + names = [] + tasks = [] + for itt in data["play_from"]: + name = itt["name"] + a = [] + if len(itt["list"]) > 0: + names.append(name) + play.append(self.playeach(itt['list'])) + else: + tasks.append({"movie_id": ids[0], "from_code": itt["code"]}) + names.append(name) + if tasks: + with ThreadPoolExecutor(max_workers=len(tasks)) as executor: + results = executor.map(self.playlist, tasks) + for result in results: + if result: + play.append(result) + else: + play.append("") + video["vod_play_from"] = "$$$".join(names) + video["vod_play_url"] = "$$$".join(play) + result = {"list": [video]} + return result + + def searchContent(self, key, quick, pg=1): + body = {"keyword": key, "sort": "", "type_id": "0", "page": str(pg), "pageSize": "10", + "res_type": "by_movie_name"} + bba = self.url(body) + url = f"{self.host}/api/v1/movie/search?pack={bba[0]}&signature={bba[1]}" + data = self.fetch(url, headers=self.header()).json()['data'].get('list') + videos = [] + for it in data: + try: + videos.append(self.voides(it)) + except Exception as e: + continue + result = {"list": videos, "page": pg} + return result + + def playerContent(self, flag, id, vipFlags): + url = id + if "m3u8" not in url and "mp4" not in url: + try: + add = id.split('|||') + data = {"from_code": add[0], "play_url": add[1], "episode_id": add[2], "type": "play"} + bba = self.url(data) + data2 = self.fetch(f"{self.host}/api/v1/movie_addr/parse_url?pack={bba[0]}&signature={bba[1]}", + headers=self.header()).json()['data'] + url = data2.get('play_url') or data2.get('download_url') + try: + url1 = self.fetch(url, headers=self.header(), allow_redirects=False).headers['Location'] + if url1 and "http" in url1: + url = url1 + except: + pass + except Exception as e: + pass + if '.jpg' in url or '.jpeg' in url or '.png' in url: + url = self.getProxyUrl() + "&url=" + b64encode(url.encode('utf-8')).decode('utf-8') + "&type=m3u8" + result = {} + result["parse"] = 0 + result["url"] = url + result["header"] = {'user-agent': 'okhttp/4.9.2'} + return result + + def localProxy(self, param): + url = b64decode(param["url"]).decode('utf-8') + durl = url[:url.rfind('/')] + data = self.fetch(url, headers=self.header()).content.decode("utf-8") + lines = data.strip().split('\n') + for index, string in enumerate(lines): + # if 'URI="' in string and 'http' not in string: + # lines[index] = index + # 暂时预留,貌似用不到 + if '#EXT' not in string and 'http' not in string: + lines[index] = durl + ('' if string.startswith('/') else '/') + string + data = '\n'.join(lines) + return [200, "application/vnd.apple.mpegur", data] + + def device_id(self): + characters = string.ascii_lowercase + string.digits + random_string = ''.join(random.choices(characters, k=32)) + return random_string + + def gethost(self): + headers = { + 'User-Agent': 'okhttp/4.9.2', + 'Connection': 'Keep-Alive', + } + response = self.fetch('https://app-site.ecoliving168.com/domain_v5.json', headers=headers).json() + url = response['api_service'].replace('/api/', '') + return url + + def header(self): + headers = { + 'User-Agent': 'Android', + 'Accept': 'application/prs.55App.v2+json', + 'timestamp': self.t, + 'x-client-setting': '{"pure-mode":1}', + 'x-client-uuid': '{"device_id":' + self.device + '}, "type":1,"brand":"Redmi", "model":"M2012K10C", "system_version":30, "sdk_version":"3.1.0.7"}', + 'x-client-version': '3096 ' + } + return headers + + def url(self, id=None): + if not id: + id = {} + id["timestamp"] = self.t + public_key = 'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA02F/kPg5A2NX4qZ5JSns+bjhVMCC6JbTiTKpbgNgiXU+Kkorg6Dj76gS68gB8llhbUKCXjIdygnHPrxVHWfzmzisq9P9awmXBkCk74Skglx2LKHa/mNz9ivg6YzQ5pQFUEWS0DfomGBXVtqvBlOXMCRxp69oWaMsnfjnBV+0J7vHbXzUIkqBLdXSNfM9Ag5qdRDrJC3CqB65EJ3ARWVzZTTcXSdMW9i3qzEZPawPNPe5yPYbMZIoXLcrqvEZnRK1oak67/ihf7iwPJqdc+68ZYEmmdqwunOvRdjq89fQMVelmqcRD9RYe08v+xDxG9Co9z7hcXGTsUquMxkh29uNawIDAQAB' + encrypted_text = json.dumps(id) + public_key = RSA.import_key(b64decode(public_key)) + cipher = PKCS1_v1_5.new(public_key) + encrypted_message = cipher.encrypt(encrypted_text.encode('utf-8')) + encrypted_message_base64 = b64encode(encrypted_message).decode('utf-8') + result = encrypted_message_base64.replace('+', '-').replace('/', '_').replace('=', '') + key = '635a580fcb5dc6e60caa39c31a7bde48' + sign = hmac.new(key.encode(), result.encode(), hashlib.md5).hexdigest() + return result, sign + + def playlist(self, body): + try: + bba = self.url(body) + url = f'{self.host}/api/v1/movie_addr/list?pack={bba[0]}&signature={bba[1]}' + data = self.fetch(url, headers=self.header()).json()['data'] + return self.playeach(data) + except Exception: + return [] + + def playeach(self,data): + play_urls = [] + for it in data: + if re.search(r"mp4|m3u8", it["play_url"]): + play_urls.append(f"{it['episode_name']}${it['play_url']}") + else: + play_urls.append( + f"{it['episode_name']}${it['from_code']}|||{it['play_url']}|||{it['episode_id']}" + ) + return '#'.join(play_urls) + + def voides(self, item): + if item['name'] or item['title']: + voide = { + "vod_id": item.get('id') or item.get('click'), + 'vod_name': item.get('name') or item.get('title'), + 'vod_pic': item.get('cover') or item.get('image'), + 'vod_year': item.get('year') or item.get('label'), + 'vod_remarks': item.get('dynamic') or item.get('sub_title') + } + return voide + + def aes(self, text): + text = text.replace('-', '+').replace('_', '/') + '==' + key = b"e6d5de5fcc51f53d" + iv = b"2f13eef7dfc6c613" + cipher = AES.new(key, AES.MODE_CBC, iv) + pt = unpad(cipher.decrypt(b64decode(text)), AES.block_size).decode("utf-8") + return json.loads(pt) diff --git a/xiaosa/py/美帕影视.py b/xiaosa/py/美帕影视.py new file mode 100644 index 00000000..bcb3a515 --- /dev/null +++ b/xiaosa/py/美帕影视.py @@ -0,0 +1,93 @@ +# -*- coding: utf-8 -*- +# by @嗷呜 +import sys +sys.path.append('..') +from base.spider import Spider + + +class Spider(Spider): + def getName(self): + return "mp" + + def init(self, extend=""): + pass + + def isVideoFormat(self, url): + pass + + def manualVideoCheck(self): + pass + + def destroy(self): + pass + + host = 'https://g.c494.com' + + header = { + 'User-Agent': 'Dart/2.10 (dart:io)', + 'platform_version': 'RP1A.200720.011', + 'version': '2.2.3', + 'copyright': 'xiaogui', + 'platform': 'android', + 'client_name': '576O5p+P5b2x6KeG', + } + + def homeContent(self, filter): + data = self.fetch(f'{self.host}/api.php/app/nav?token=', headers=self.header).json() + dy = {"class": "类型", "area": "地区", "lang": "语言", "year": "年份", "letter": "字母", "by": "排序", + "sort": "排序"} + filters = {} + classes = [] + json_data = data["list"] + for item in json_data: + has_non_empty_field = False + jsontype_extend = item["type_extend"] + classes.append({"type_name": item["type_name"], "type_id": str(item["type_id"])}) + for key in dy: + if key in jsontype_extend and jsontype_extend[key].strip() != "": + has_non_empty_field = True + break + if has_non_empty_field: + filters[str(item["type_id"])] = [] + for dkey in jsontype_extend: + if dkey in dy and jsontype_extend[dkey].strip() != "": + values = jsontype_extend[dkey].split(",") + value_array = [{"n": value.strip(), "v": value.strip()} for value in values if + value.strip() != ""] + filters[str(item["type_id"])].append({"key": dkey, "name": dy[dkey], "value": value_array}) + result = {} + result["class"] = classes + result["filters"] = filters + return result + + def homeVideoContent(self): + rsp = self.fetch(f"{self.host}/api.php/app/index_video?token=", headers=self.header) + root = rsp.json()['list'] + videos = [item for vodd in root for item in vodd['vlist']] + return {'list': videos} + + def categoryContent(self, tid, pg, filter, extend): + parms = {"pg": pg, "tid": tid, "class": extend.get("class", ""), "area": extend.get("area", ""), + "lang": extend.get("lang", ""), "year": extend.get("year", ""), "token": ""} + data = self.fetch(f'{self.host}/api.php/app/video', params=parms, headers=self.header).json() + return data + + def detailContent(self, ids): + parms = {"id": ids[0], "token": ""} + data = self.fetch(f'{self.host}/api.php/app/video_detail', params=parms, headers=self.header).json() + vod = data['data'] + vod.pop('pause_advert_list', None) + vod.pop('init_advert_list', None) + vod.pop('vod_url_with_player', None) + return {"list": [vod]} + + def searchContent(self, key, quick, pg='1'): + parms = {'pg': pg, 'text': key, 'token': ''} + data = self.fetch(f'{self.host}/api.php/app/search', params=parms, headers=self.header).json() + return data + + def playerContent(self, flag, id, vipFlags): + return {"parse": 0, "url": id, "header": {'User-Agent': 'User-Agent: Lavf/58.12.100'}} + + def localProxy(self, param): + pass diff --git a/xiaosa/spider.jar b/xiaosa/spider.jar index 8018cbd33ad7380658572b941766f74cf7fe75d1..177c332ddb390dad8aba4d7bfe4ce032641b3cf5 100644 GIT binary patch literal 1954176 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

AeFWCHhxZJQh?ZuuL5+sy+ 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 z

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

h}JJkm(<=`{k=8z^?3nfOGA6 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

1o&L{Yk6!4~02f3vIVOd6xLDjYe~&S9gEv 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 -S^L`bC>JU~r^5KVkMkVu`jHzZT1=?z6TL`W}-V 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
7;T?+q^t-(!AY{t?_m@cW~A5Bz@@ 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⋙Jbz0KxQMFog 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 AX521A?iHnD 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%0Dp&t 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

w@>Y;78qX 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
  • |mH`Izk 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
    (OUp`b`>=>Q#{lc3zZOR zwcNTdjZMiAfFlOtf=bUKuv77PUY>=#gpgKBMCXbj=mzF=-<9zH>9Ourxt3vq8eY?P492xO5$a^}KZ7CTcP#Mu* z2O~5kBjguknaYTM;>2{zi>QP^iU~kc$)|V~P=w4)<(0ch$Zgj;Sm2^~+Tv z-iP}#?-vL6PwoJcC6}dXl(s=eAD2iiiSzM>HJ!W4K)BX`~{5F+& z2NjR%zPWfi{y;4Vb3feQMX#WPk{}vorsp@}phu96dQfPN2X#55id2Mr+*G)jpXyjL6y3Pv!f z6SM3=aj;AX2Fn7(EWcYEEEmdxQ1mkp5e!CK$0aHE?-wjjl^TIP|%Aa6-nJM?+d$}q9 z8{aEUxgX!FO!-u-V}>ceflt$v&%yjNP5Bh8v)YtD!t}FD`DA>rG36bYuNGjyr)A1P zj1QTzGy|StQ$7~sBc}W&mRD!Wk7IfDru-N_8%+6ijBhmM7x8JE@`?CtGUW&Gd$TE5 zR|Gwcv~5AzCZ=b#Ip`^sgK`su2dgj~mg|d0`+nbEw&y1KAT2@`Xq(8vnn6Z{gSAkw zJz7gfq=WF3ZM#HILkVON{5oYkLH;7f;W#3T;MXZBAZPAU@SXC67sKQ$F!s)Yv1bZ+ zH}+F{ZYF7+H&>_U8rEq^y>2dQ+z}Fmde>?r={TX?Kq%H~Vd?VXq!pfP(cO!ZxFq7p zrT2PXXZII9oEMMIeleDX`A5V9wb7v$=eFs?Z9gh^){UG$W{YE;mj5o- z`VQxwoBLj)Wvx@=z|CvLb?RnoRz2Py4TzhqXX7lCU4D>MQU33~FIPm%nXlq1ajiIC z-K;OG6SM9`=cbACG`j+)T>zZk0^nR)0GzX@0cU7ZIO!b>t8|L`*AxKbZqtCVvH)BL z3&7=20dTIK2AuT;z^NAiXS4t~o2CJ0c78d~LUIoC}HVrr%3xKn-066z3 z0M5D7fU{xhv93=w)_V$ov4f_`wZSy3Caohnm=%Iyb=T#7-PG+MQ?+AW0qxj(8n_M= zKoeyJ(8S6D;9NBUzE`;LyEOMHjml(2l`r;Jdm2d>0jf?}G|}bN&SQ-phsWy(So| zgRV4#)94eufc91t(B8fR+S@#herYZMPNM)g7Zw2L0n>mpI5mw&r=sya3xILoX~1Ys z4P)O_FeVCsai0n3d!dVV7fwLmOI>M}PLL+yN|VS*qtZ0{L7FdgxbHLWJiclRpuO?} zXz#!Ra5gZFeyu40PJaP#?q2|$b0+B9)vi8SP5Y#ox8b!qooo~{*WbUO1<6dl{%%TD z^>hV3Xv%NZ4a$OK)R`VnHC>BuH010EQ~kiEYw`P;-Y2T*TKwUr@0t2RpWrpV zY!Bc@-o*vfnnF-u-=U@P;*#MG{{*vh=0n58AnY-PTL znEF>5*vh;{%)q`DTbVB% zmHA*r88IurUO!kVRG5{;&B3a20^usNva&HaqXNS-%*yMnpotc&1=FnDzd1Ow3d1wa z$}8%F)iW?$ZB~AxJ~+$7@T^V3ks5kLi|Bwqfu1v|`HeVOLnO22*Z7ppnqT45W7gb; zPX*Gb@bkjYXVyG~aYbg$kMUV-*4%+lzgcq^K1GK3&kD2V34B(WHTUClhFSAle41v>qxhU@);x~S zYP05N_?%_d{9FuH&Lj}7G;1CcgSFKdt~G0J7K7F-3|nT+Gh#4=HoHm4thrqbhHEh# zHf!z?gAohE5wm887_19nxX!G(MGV%5F7nJ=3!m=s-q$((v@bKG}@YGG|JWLlbr9Lk_4O99A zG}juP~)kv7RbZdIO&`Oz9lVZ<^96Sno_z`Uulko6^bnKFgGL zc!TmxUguY^j9OC);y25bq#5uGnbNTsA2y{ovCN1mJ&tA8nbKqUtT(0CF}}f+Uc_gk zDV>N<+ms%_?@gvuT@jQUX&phyCZ@dF9F#Q)&x4xsU=@bL65DH#YBot<)FN-=UPF@Z zH6&Ae4PX2W_8QbYdktU8+G{vM8%f9Uy@n%pdaq$M-D}vt7|X)^BjOjd(V;(dr1u)| zT!eF~68)Qp$=+(B<(BfKeo}{o_Y(yC==cgYBwy$QCRlP zg5?r`#RxG-(3|(OY}CB{%J)JD*QLM#*|#^zXPH+b{H8}^6~o-+vgiHLmn#r2LS_$jq~IvsNjOS*|J1nPm^G8k^t<4=gu<~xO>Ady6jL~^rnF*HS}CTG z6ayqbp^(gk@;&wV{xklb*v|TGJA~Z*_6JFLs8d=;Du4@L>yd;?6;Ee8bW8;(hb@A~ z7Z--0l%J+b!EyF{dx+Y>S+B8oUXlk&^2{QS1Rpx8MUZ@*c=D^;`O@}uWb~sGR3P57TX^sMFn#fhQsmj|Uvl1M-q zeJ^%|=AF;3CfpHy)wHU;R#c;ItBYr%9pFi*tkwlM7PRr?E7|ur$O&aR?!HJRD0Nz!LgaSPl3%(uJchY$BT!SHE9D zag@ly(GMt&{3#qAl7pkfiVSHj!T6GkfO~aQ&Sz1M7vP+&gz`bk(Nu?{t>7FDTev2L zmyZE2_Mj7gKt{`h!m#Tdy_BzYa20WK9GI2kpsXARr!d}_!uUE@n)aQ>@6mwEvs`2A zOyP8aoSrG)4xu<+mBl-MNO4?~CEu<{aZf+hldhgZ))?W|5c)Iuwv!K9fgYx>%qr*F zT&?N%JEt|VG1m$08g$Xq-pj}`_n5nbwsmzDJv~6%YNqJv!YRjGV&yI6IIo~%t_|-A z#X=kDc*EP*#}lW=&r8wHdvr`)ke5=^bm{{-1u5Jwlh&5~ApJK|>D}CXgXYc^>n{PG zR?N%ngfdwgyUd-6bG9MiY%AQH4WT+e1*L=>!E~TMHx>Ucr2L(vy|V!CSGj2KJHodG z^6gC8TS)t3zbx8&g!YG)MSF*G8lfW}=m0^oRS{zZttAG|6UfZOw3bo343T!FyAW%6aW4t_PoX4H-n`=OAn8Q_8`W}Sj!xO z8hI1f$Uz&DV7A!;8jl1zSqscIC75ltfNmziY_r8Z+wA9D5Ow{1d2LDER}VV+5+{Cf zD!!y1-ElFL3k}Fp-nZoTUw+LnW|#^9T@EmbMK>+AyNI>lLYok}{_2~ph(AV0tv%V(r?X>UrGJ~K=I zKFiV2cXx7~ni^T3Qhn{~6Y6U%fYsIzN{rJoN=1xr0*rnwRgzM_^SaZKfV-^}pDM-Y zDZ*FDSF_eP=TV$4$fA#fDNdtV^zm!nzec~KIsImrSE{hT%K#4B)!&Wvq(1kY_m}87 zZ#NG~P?#5H@sRZtW<7HrFCIoAtRsm5_ex~UfLT1~SurF3EFSyC_$S`&T|0kzvv_Rh z?g0CMtDXIOl0Dt+Ih?j^&e|B69_+-pN12M6DfYeS>x*F6upX63*0{CxB{(8u6B*9Tk?*pLkk#Jhwj9VAN-HT72CJj zD{EYBrMNV*#?_|Oc=*pw&iW?aw?S#>NJKopVUo*drmf75YRq1L`pgO4ReZiO`tFz7LB> zX#tWg_Y+XFb6zMj{;0h1s{rn7Tf%szg|$e_jn|!cF{7MeVJzkQBs2af?)#aw<^4LH z+EY(N0YltJnh|K#eLN-^VK>~vuAjqR`Of>EBygxT~l9DPwh6*Oa4X7)0>XAm&f#? zF6SOTYnMPifp+!Mc41kk`Au>ES#hC;j0i<4S^`K~zbO+^EyGq(i~6ynfliw8w8j!% z=kUDlFEkI@G4f*Dgx}0?<6MQWaTjcH(DuUQDu1HoXswpso<6r5?MQv28}VirTf!Dd zQv!8w@hA1|cq^KWS%-A#uAW&lE8Q~_!Q;NWj4L6v!bUY|?FHY8a(wW4D2)O?HsUg)O)S}>W`RvoRyhWrGr zP@&z0A!l zJTXgP)IJ5`N~bpXqSzm-WL6S`@L$mSVuC$o3X7yMOX}1!Y*#q;RkQop;Vs8#0l{ro zpqTf4C-bZ6K^p^vpHp`Hr&a@wmJ_@izoWRARka zni}KyWL{!kpkBQp1@s^Dxjw*C4Db}Id5W+EeMx>Z1N)M-Y;`^L97rvCI~d0P1WCnx z+@^WG#o8O)q9KG1c1+&XOV@50ejz zN3HieqjX#(tq%Zat6GlHO!4tZGWxGhOIX#i1>Sb>x1|2>&NLs-S~99H0=6)09Si-{fz$xuSBB3XbF`+RY#vK|k5EK1%F>L2blH)O*8& z#hb0i;}Hm}(OO7@Jk`ys=K;)jQkV|}ZgoSQhx%iT5u16pQ#Sq~FQYB1*p)#5k>Ajx(Jpay^wVSMyZ4ZUOS=veunXgv`R|DQ(qj*1n(uzX;uKIfkwXbMMts$NEBJ{0N ztFT^NO~V`2CUQqQZCz{s%}z?dI!n2N_W;IQw1-&ya^72sjfX zij=rApW2ubsL#_?h!F`TO$Yr}L1H)`1#T|TcPgPp)VhGbDh^iG5xa&{s)A1(Einb8 zyTYWFGHG5_vFB$&AY!ftnyV5Z@Mb_@1YcAn0n1S`VfcM63`IFGOqlzDfWm0?pS5mU zrM_T+Ru6G#RY6)^$7f*9nA!q;i)UQW&v#PaNaw5VAzbU)05d$lXhqhl=v4%JWFR$u zme(_%yY&QZlVQ6@t+n-a#ID|~KN)9s>VGO@Pca{FMZgP(>#6lDy$d9q?M=VWgLi7b z=ErV6c49rdXJ1WL(KGYRhdPGutz-VjfojDx&pi#&<9ensnzW8YZYH3H%EJ;uC1r9R zJqSEv;_pd)?|Ph_mGSbw0p%Yppl)oCu)yYM0@)%A(^~~ey{(?=MxaAwdZ*b>NPDN* zsw8CO^XNQE9xC>SU!r z;kEJ73SyRydC|YzyO0)VEv2MLkL#fEjH8druXn+F=_#MsOE~oYa0$aj3C_IH&rB(= zDS$GzlpHI3r#t}v-VXozwQv!$=KBU{AqPc1BK{)87<%78j1`fh;&^cdl`9ZeTw6^2 zf7kmVXVTie=Rs1W#kDubaVGr$vHyZ|xe`)Tbjr>5A9=ar_tN(Ip}l^I$Y1AhcwNZby%&VAkixbg`4A`17ZB zm|OniDICjxt!SxF?vbDS)DCc)evkq+8ONrdzn7(W{kB@>i(*TcGzC2^HComRjDxQS8NqSbK(Fi z8|u>iy&gE=t28alY>hZ+AY%N5|7MUGq{C|A7H9^_y>^& zzmtG1vvriD{%0%;{nQFh80(U#uioFM7{?@@W=Mficg&~~udn-dTDI_sG( zc{Rb&2NWup(tR^c`5dz~w7`|Wm*x)(Y?PsO>*nr$`Y#K&q~_&G%M+SG(=x3ZS6HJx zm>apD&o$@vIdg8{OKi^lZchm2+zx%sfYE)ckd{Na<%BcJ340iH9tzPy`Y#K&Q|Opp z>j@3fx^~05UI_abls+=$%76>XCWMkp(enYy0|WF) z2hw`0GNxZ$j<#d3M(@%f@A`6WxO(EAKaF$Ss~)thIifUGCZm7qS*iGyPUS5s>sAo^ zbsPs((5j3pCyzu?Rh#&o#>%jWro z&C%WK0UjlwI5MOR;68;QAOA(2L~$8Nh10xPb>bwuJgGm$Q-bv1;dIIpCr)za=v3;& z(L!We?vzcbQL7S2s&(lcGjeitqVFo|5q+d9OK1O6Kw{GQm3p^yW@~CLPAj2wj;8jS zoO!GbIQgl7a`hmfhj;1#gF+{s8s=eV{h*W19FCwfs9FWmT7R!g&u4ECQt7P+Q$3#; z*`!e~YRj>|c)!4ijMp>iJD0EgE$fXuEwIAzDE-#n)!UNi%&{xGx2yWa^6x zo@|b{TMx|Y%EDwT%c^}d9=aNf@3d5S z$2sraN}jpyuO@=_%LLoRzSL$w-p3(tDgbi(+Az78?vk*%X*#b#xaRCCVZ_m(0g8_y zcO#vZF}xn^g2&2$XJ9AbX(Gep=@wUz%syu2{MphSS`e_01!5;MTQRVctw{4aUWF)w%nhIOPUzgRgw>}LhX`Ocn#%2TIW0UE)(2s0)~3bgeM94>_I~PT_VNgWM^;5#VwdUcPx7?l)WDybIntt zDY?-{g56C11e-hwdifg*jW3@!faT>}jW|6#uK9SogqJ~ZeI{-7i>*6g_;+;vc3W)@LArZMA``-2o7 z*SJz+_?f(TybsdvL*Y1+;?N{<+LwJ)FK#Dc`EB5FzXTmNed2O5%&a?}1{qO@~z z)BbUyv=zB&Kb#<~s@O~ML58&VIjQLxx7nNX!7nP(wj-Fv) zRKEwaFTQ{IMpyGIv;Y*A8n6E&<`vajipQ z5J|+X^W?&_c2am8{`!6cKOY8s)F4=zNad_Za_uCU?}2Q!|Bkr@I&X*E z_vcFJJH|65^jlm)<5&iIQrMVLNSa&a8#BjPh0;|^4vsQ;OGOrM`Ip6fYQH_s!_Enb zzfcYXeUIKmcI%m%&m21`jB*Z*P0VM48DlU5!*6kJ^9JQM0G&jkn~LXbDHwm5ym@EF zrK5XM4^;(@%k>R~(*7WE^R3Jk>C9EVm}^y!jRG<6T5K?5Ep|*lx)s~kDLYv12P|VO zwu-JKJ&my;Vn4ySVOU{pQwYwRbKCaPq-~oH%}Sv(&C>8L)9jxng>gDGd-Swv_T@=o zbDytbXRKLSR^GD48?h|MFVe>ipM}r6O9k|~bVZQ)TylIPc^h?dG0Eo}$u7XJ;Zl<8 z52;&PLqcL(X#M}*E7Enlxt@MH40B-m` zXamm7o}Nn;4IN`8KDSGsQvE|0-p1qFdj>SQu$TqGQUbI%o5PaSKSXSZ2I&;>{QG%G zD;c$Ls5q<(_$mZDosa1Y!BP99aJl{S;u&BgfaOxJkFJvr`O4jIQu)Pv^$Mh_k*(F# zdI0w_wr3$<5phm-Fx-2xDFJZfp|(}#hR}!h`#tq^y{y&=d+@Y5rbZ2LOrP0{&#oR&K(E3f;!mMv4@OBBj{RiF}f#7kDHJ6|9$Mb%< z?LTeO_UGXBokHfo0A##`O~3LsYgDJg%jt z$@Mg5|97r4{uIEG2kTv(HPVa###W@DSaN76`mn66)8 z9=0oW30;4=y@Gqa700Y==t)m3V>QUCv8cCG_rN&idfIBx)5a{dlb*tL#pP>naMJd= zX(GG}G%;rRI%8APLiwaHC>(}c)1-&@M{D zZFy;_EUUHH5<>TkO+s~fppUi92pQFq)}8cBWm3Pjm+(D;G5ug#zOxS+ zkk}f&gZCo=@3#@W$036@f%DN4V#vskv+)s@*{n;ZnyqUM3hG(utU>Xy;k%?IF6VLsB!+ zk1b(>^6b|(>m}5?HA-sd7Q_hj*XHPhy$MQd2m8aGtDqMS!d@Vw(Q~>z0^VHor19s$ zJ6gb#Je{5ZaG0bk^|mgL;H)zwNMK4@vZfdp>HdwA%sFoxr{|27K)^=G=>?7rKb@bO z(k~m+C+=|%=uL_xyzf@xp0)qpf!LFGeQ>bgwcW-Xc=Mb>%d^J&wtL-c$~E3S!iD0m zmt?LrPlUh5Ed0H}*Zc9VwL@F{JOg0z&*NcntAev@Jb8hqcm8bQISRbZZU1I+Ts}Ri zUg_ay%#MSxIm~g7=X41_pUch*vh&?0rDln8FNX)P?>F@_x!M7+f3KJAGG0aRm*QR| z(mB0XDj=PgK`YPeM(*Az+~nosA>*4NPqohT{-o{xENEyXv@*TYQI60owde2r|r+TdV?(>Q1 zduk@m^3R8M92R1y3lkw9De|%J{CtluG5Qs4v(?ahKINlF_>BPW+49)~J?nfLm36o4 zT)!rX&5$G7)Vqx^T0GRpX;Dvx=m}7(I20qMH0n)8_YTE;)xI+z)e1XO)}>W@&QJ{W z*sdg_v93-TPu;HTo&MC6gx}$pdZgP4p2Jn?xzQz#98i%8R7&Fk zN(Cy#+g2qkou`gQ|5_h`8QAu6&{f{#`vI;Tr)T7#7_#;WMd|vL*vVFA-xyC?KktcA zt@#K)-IsU?@qjzdW7d||D6x0s!g4@H$;gFC78k~Tii>Yrp4BRibEnXbi}eq zunv)Oln}9>N$MKCL2Zb9-&}4Vcyyfaj)U|9y7RE|+G+o@-I3zZLV|Y?u*7<2$6dyf z7ZQGk`1!EPMoA?JsJUY#(d1sUJgaf%*DRei$!|j5TS&e&$+iO4Bv(0Wl9EaOG?UM^ zz5M4@p-O1WCsj6`*f0LefW|8jE}Dqf|YE2c(OIl+`Q;{W}UEyHg#TyKCYMs zecS|jznPalnhKzgWhwdywYe!_4W)z)|9eWfc9$sO(njP zv7m%7lpxX)L{@@`C5ZO8+cpP<$NCBMGqdaRS;R{&IigS=wY6q6`qM5!)F!1-ht3}O zoDcoi`H;g89^M6hkjsZYp*-xo3dV;Vo$YBTd%l45$+QNXf1j+m-%iPR+p1NQOS#Pj zwA6H}hPJ392IxZMaMh3oi6~W*O{!4_A-S3yp&IoN@>G*As742blxlLMYAlA3T1~#F z8v8@YTTPOxu?a%HYVsx3I37Yp)nrr+7JCVVi>t|)8ua@x?5`%9)nG{xhD)l+QEE^t z#xT@>v>Gh+W4N@M9HR#H5)A7`X?txwSp>03eeW)2v*8eRL^xU7tk1zYv6hVfqUU8| z7nhI`;Z$u*pRHo-=IBceFOwamr2@7PYq5VH6au`h$EvKQ$EmEHUshQwk5^e6Pf%G4 zPgGg^PEuLxzN)geovgBUouaZfZBk#(y@K^A=UQJGgIE}`km(c2> zuc?DYBK4eJU33Nw8%6DA2-{nfZttP$Nby!^?;hA*KeqP?*52Y&d;QqnC&-SXBEfzs zasjsSOsG?UHlBq~Xye)Vgf^aoPiW)0_=Glo1E1dZ3$a!~O4qtx9T87~T3hPrxP)2< zSgm5JRvBv@AUh-pYDGO5&&8Aik9mVW6;dzYvzSPr7jH%7_#^!1E^*@h1je6U1-fQy zI$Jf=KrN03Topw-KNqQ{@N)f_b@uEKy`}q6y~S-*vHWkO@}J_$zdj@XpC-xwb}IkL zuKb6j@?Qw~UvlODkmuhy-2z$oI$;|h(+f>^Wb2^U3OYO9ZP7%EZ|f8CZDCjWc3BSJ#(n4;jaQM&;*E6V(0G&l zC0Uk@_c3;V7eBu{fqc84*jFy`2;?G#&|U5kJiWT%+*SK}IHs;FOmFkryN>sA`}4B~ zJAc+7dp!Jb9A#YgIS$kQTqoWYo!Fu4+FhV)%;&ZdRYtViOkxV2-N*Fv8n73kM}*Q; z9do8Jb~-=jSrhQA>^^9_8~fnqtUkz1_sQ?kcj20r%ybUEdja3)=N(V8DQ5AcPB-~v zeCn~aC=cIiYgzrj=U7+o(wMqpiH8UmDMD5c5XPadaACg{(RY4qopK9_g9B<~#j9sN1}b_svEH2#ms__!%NHUW)) z`7_~*|2OZ?P{;S8`DNADKkv(F>3(PLLLa&RoV`A0KNkP+ED+AuB{JN0t~N%_Xuy*Q zL9$%=EjdJ)Lv4lH9|y^Kiv90-!hgntnSYvcc?`In1>U7EweF38t^pW}7< zc+DLH_QS|yPW+6=fU~}PDaapOZyVF^YH(~pJKw&Y`t}FcH}<;*zOi$K>Aj0>nnrmr z^8XubW(RPL%<5(5;;MU@U5XQC;28tFv3mr$Kr_idpoc&0V&8U)VVH6}(U96B6=X!- zrY-dd(5DS((cZIEAv8?SHAjEZlThf|_TMxPH~!sbv-`ktfG|WlUDiTM>24jSx)aji zzTB{Ip*E^N+u+`dycfPvpBcC&X8p232MoLeUzqO%cGBh{j+w=tg}EK zg>PuzJYig@#YKZ`*2BFbeM{<3_Ax64+xpl^spek1tNdsmwSl7lx(_KXAmX?Q(C)3K zXI37lnng%zukmRppZOC&zY0A7AFJQ(dji| {ckRC_PVY47s|wD+Y{d;2rmi|g^P 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 z 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 z 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%0AL37m(@Ohf(6MJaDA7UVvL*dYiCE} z4G7k8*AjCpnPqjeUy|}hpTPI{c6ayo6m)kih_vHsJgM+__X@$vm9V%lqdvf*sn6a3 z=EJbyd*&un{T00-OsWyp0sFi=b^nl4@ENik_1A?ghMGf_B~~wqN$_^@p zIyo>tuBOK0(hogOZkT4eb34avcY1j~@z_{IwcP!SX*E&;S?ZyGho``M`CT%xJn~>o7~Rv+N`s2upmbwx zyHw=LY`pL(VBE>dZaMmbQ*We=?@3`}L*WjMA=|%b!?gqE@;uuRuyP$=!8;l-O~uuA z87+|Jf(=}btOgYV)?u`GyFdySs1|Q?iKJ^=>Mos7f-y&|Zs`LuGC~ykXXVN395FQ# zXCCaG9UD4A8+OM(ZNOjI`?<+?9#an+za-N%+YXdQ6ROqSW*i>ok{j#?MyvVS?$Sa3 z_~i7vXxv%#AD{fM{YG6iUtF1%gHPF2b!|7xo0<@sR{57YFCoWq9LO;>#Y0KPu+4}~ zN+TC@t!K5HnSb^8iRD~;6Eiq3YsS>Qx0;v}m=kW^=W7C^^x09jb?@@unFpvprxW6L zyk8fccc?_rnQgFhFC_%k9$4`I`mkILFaANKJ^1+ z82s|8Rz%)K-sLQQakbdrRMizyxG@KNU=~XnpnG3PwCX8E{|1&&UnSW#CkXYig zyVZKk82cf1@a{LighK3~)o+*CHhFe=_OtlG{S=>n45zD9|J(4Caz66K; z@7ma;2_r6A4{CG4jHLf_2US&(q_62NrM6!g-mjjDdnve1dADob8Kjm_#tvxt9V+uy zJdDMKR1gR0S(W2SP4S~1!Jg)lolZPee+%Kz**a1)_R9M2b}0#X|2B9&nw(Z)8 z_2v1Z$KbuTGpk8L270%65YO@sjE&)JJ0=NWb6Wvg@#@NJnLJn3;r;acok#WUC{x6b zEbVyYF1H+JZ?Q*@rj!Pm_xm>yKg=c_C7yjMOg?F(oGR!QWiH!0G8WVaR!}44<(Kz* zi%{Cp_*2(Mn!gRTc4iRZc-5|~kq@w+*mBBR2Ssye-h<+{EgQE1ea6SK&ea9SIaIB! z268y#VVhAtCZ%4Zxv3v9^d)f2z}idEwx|!{ur#lw$YsejavU|S&Y?SG;-z3)RH8fd z@t<<4)LayhSAt!!W4GqR@!9EFAT$`QN`5}_wnSGE8=&#jtn{0uAWqp(j9QHawAMl@ zdd~b;`S5I>EPN8*XLMW3>b&*$*jcQ2HnY)OEA-wzj}c^OJdyz%amm!Vfs<;Pd% zW$Qu90=3O6d|UEh&#Uz>3n@q2NP_LOr5}Tvp>+eQiI^7tKUManO&y19wc3jWux_8@ z-4kH?5Qah&+97W40S-s!%EpUzG2blzEgjHc)j&D9|RHN+BUbEtKM0o})iMg?1X@Mo^g=M)$m ztX7HZ9%a*Oi(7>XmA*pHCTTZfDZalktNQku*C&S~40iOJEI1dPueO=Vf zKws9V6Aj+pc#|lr9NpH)>$sa^!$0Q%$3Eh)73nzWXa?DhC`S;PU3x!q2j}&in+Ry2 zpb1922DE+Yt+nox?2Gv>S=m$7luO_9h~)KIK_7zoY>~VB(F~q+C8^K!yE9*DSZxlCAKL7@3_yo zz+P4k4XTlPkujkb)j7WzQoC0_khXkm+nLoF+%O8k4tjaS_H=f>YU>7K$5+oOUq7sa zCK;5?Bfo9!ktHk~(6q?O!+5YKc*;<*2Jgh;yjNrf(Mp30=JLhhM-`A^0Er5*GSeX@ z+h-%;r4DzO;BdX{f-r}Rucv2aNlsFacKm40p)02${cN)0AfL`!gC};4!kOI(*(Tp2CW()oe6I%hzQTUGjPAbJ7esiTwDZmR67 ztQJhD`?0ZXgeJJRnQ z8_mq{=(2{UKR~we!)ucwbhcQgrb-%bpNr`+>GLyk4a{`IGD~&$oT^OAx&|V&h}bx^ zu`)}y9~P&4LgOho=v1^zT}AcO?p$?HNMcy^sE_dGIVURB-t%i9m&3bCFTxvd!v47? z$ye{-opTn`>}Ubfji80AtY{OafCD}H^aUD$x(&^7@0x!5Bf!^`Y{m?F(1Q~CM65>^ zYneUJecgWV{>+279xp~Vj_T44mesNSzDS^n(m(T?d2w(%J%9P8+gqqvE|nb5xqr(G zi65|i@HmN$ql;dDF-1(> z{4-?T?u)~6_c|yP^NQZrOf$J0s#gx@v%-qow;Qjk^>z|~^UL9+0GF(NSOmoYdixcE zyrsNP8z%D8qPiqWyPgfxy+(T`)`=3jG)eQbJu7)FzG${ePGU2U9v$PE|7zZRc@5_{ zdF*p2`(93K)acjfTqNV2)=xKuxShTam;$A_UQe+39ab;yU`&pqW*LgY?`+PG7U}9KJsbhwAZEqewIZH3eb*odzIc2@}nYT7sN)_LRbsGn-45?wqkTwxX*k>|Jd{TfG~O#dX=ncQCc znd2yaxxz9BfW`*+aOT?#Dd0K%6FKu$YeTp0V}It2UQj50!YBryY7!3kti5~vt83;s zv;R>0CclurqTx-(Y|NJ)Ln9800AX+3Vbj+&+Y|!eXS);vP_pNbsAIkd=&$ZsOq=vY zh)H-hq$w~*zX~_{vuxM+_R?%n)iLq-X8ajfN`i^lJ?G*a$KvzG#s(+M9tD^P1v0%P zAfpBow$evNFBNOGu9>SG;ZKZYh6T1NO$K1Y2v=BdVN-HaI)Nv&;Y5vD+h@B+DWGr% zKbaOJC#)0_RuJ&c?c1%d);;jk8jNAE*Z;#n?>7>Ld-Gfnf_@hkku`sTpC*$%<|>l5)OB3T|~Y8{AFL4gf#4>Ex@J2J=&X z&;B-Q7*w<*yMOz%PbK1h^rP!_KJ)0v#AH(h#>}6adoyuZa0JCe(d?pS+m+>?D+t>M zC3Wb24qT4mX53@1RMUc>Z=z%5plGPD=k-p;6u*Z;MBL_?@eiNDqzp~+4~u2H9>0+ieA~f+bC&F8qZ5;JNJh8_W8CpLm+eo0oJNq zT1T&16rf27^eY9)pe|J3&~RD60$r*_;Wk{!IJD-K1acmU0sfcCWu2JGLCfhAyB35k zZac$XT`}1;EE;;$7;TC4%rhtI7QU&^RJ+n*JyA$f?F#$mI&ijV8@`wMf3%qPPS@HO z)w%MVu(y$3A)^Z%`T${L*zaPXyOV)Eo6y7WO}nnzjg}2Ka#FW6z}gX*doV4oOnCNC z-de8{EHacM5(yb_Qg&?8Nx8}^ql5THD@c6?{4k6GxM#AcCUoKbo)z)AdFNhRoV66E z62)|K(%m;S)hCfsJL?Bn2FENO(-zkW{2{CR@HD1ph+ST^{%;BS3@{nF(iiXQ4@+CU z@|k`-UpGt5SPkzz(~E>FFc8))Ep~bHls+lk(K$WxZ3pw^<=0fp4suNEldG}`PV3j| z?SG#Q_uI!R{4t_}btE$sqglVy?+;?HrZN)NueusliL@XeNp7;(|C}zh`rH3k;guQo zwt!KPB!@Wi7lo|$E#6;KlVqK^9V&+a4HabA3 z(0lunrEX6S<&}e$q#l{DAN_qY$LT_z_?6QgGWClk8|nr;GYdq9oZU1y_-pDSN9>i) zOqo86%QRodEtU@5{QWDkmzv<}(xjIJZACAal)yVISBNv;x9^vHzO)#@XyWoHY2x;y ze3O-6|2zLmwVK=e?VVN3?`v3N&k{Hjs-Jt2HzRQk{OL+X_dc9*kMhduq@ncHd~>rF5zI8H8IbuLR!vKo*I;fgFGpg|&{DTlRV9-< zN}@*-E)Jq~FAvb*&A;|Ul)L;DMC)Ql8l@G@6h>SYn%o9RllGENX;H6lI$~bmxC`G-M?$D$8OR;^^c_!9qFomBZuCgXzt&K!>HEG0Uqrl z$p-hN{wo*p+g$>AbNOz}=xNNBGwy%noTrt{u6l|mdjw^kf0_3%%idk_MU>E$hADoT zdzEINpo?4i?3FcBd6ULJg5q_{;!j&9Oor@M^iHLnqjfPXEwnFtYrkQ=T81|w7 z-c_mq7ylF6SlzsM*&|J~K4#jK6tVFc9ZI_re*{qfUtFDKR9juQwu`rDafjmW?v&zQ zC>q=$xH}YgiWHX?cZvmfhajQ2Q{3I{q|fudXPoc*vBu7}j1^>OuKS+zns(q`gQSSH zsP1+q4ZY%5j;gLs2o_encEpf!AleNfJ0 z?{dRn-*Y}pmmgd#NBDLl^qU>m*HeL{LldU1ntNc#>kEI8ild^DyZ+V#4L6G2@n2{` z@{5d{Yy87w0_>}bjdwtr;?*Q~UL77*b_Y2GBjr7*4=RMeUp_TQ!F9VaBJPeA(!8cM zVW`A?gdwT$D$jj=TGombA^OY=xfPDT(J)=L%aBn(zp;{UmBG+E`MjbmS(h9fkf}>F z%{Yaw)#dwx~r^etX60F#BWc$s*SrFv z-EQ?rP?^^XduEAS)x+sK8{v`u0K*w0xpP-57oUR*YYusD%Z8Zj zggokdoN85-`=PNf|2MO@!O+rBLE=$&d0`FB0RzKeaGu0lc#%*XTq|9a87`U zH$Py=k2?01x-0jQ*lFE3R_xY~=VjRea_2&>wkd{mwmV%7wX2?*$u&^wWMN6|n0Ba! z`f`C3v0`(DvFz&5>j@s=t{cWTnC4&t!^Xt6fWaR>Yy=zQ>FzqRh~V&3gTV zyD66IW=No!bsPj<%ab2SNqWpdSWWsaZ|7Q`QI${D-;3thtWz$H(Ph=jbybe96UNDH z`~2aGE+j*Au4Hio-FR#3Gg`Ep$8)ISho5jD-eIY)$d&1u9`i=FfWl$V79ze-s}pW31Mt$dh5%!=l>N#I0wFgFRW}|5(|a z@ynxb4abBz$#HmG$>&b#G0nV*YY^AUeA!NET@~*Pp7I6nWTSqpz07ay%ZrpcOqV(Y zFpXue6=<{QizV*y7ygkRqq9+0f9(#HB!6Xvl)h35R*vKkhI_jn;l#UVADG|Jl4<6O z=(xQS_7@e?;|a+rc~=tcjK8eo=C9^!|Gv#UY&_QR^>dGMKR7)lB$-P&TINbCS|0j~ za$2>&xJ8ZAf+}iR%OIzvoUeVpk|$3o%ci154(ZoK{f#jLjU=s7P+OhbM&SEm-{;YN zlZ8*10g%#x-m*6L(}%C$rdSr#?;e=i{S2K;*gny4{_ zb4F{{!0KPoGgenQ*nuXMczz^yB1*?DFkn>E?nC)=kn76aD^p9=ljpBSH~o~bKS`3C zNqVmtL#0F3)6R_dvCtW~R7Yh+Wl6IXGqb5~abpQ6wdeWA%}mZj$@0;!+iT=L_aNpu zy;3jQ<;j%O`nYZ|$EW0OKn&TgtddQ@o|U4fuRw(5&o)!7rE;V{MBO`xrp0j9Q#Bq0 zEY86K*V}dK+zz6j)irz$HlgaHjzupXwq28Z+wG&5e+m>_2W3*J)UW6k*MSR0tedUl zOrU=Y?Rk~XE#p6LvPPBOwTWg|j#xWZ9$6jyu5>R^*;Qj&DiqCLMov#1Psv=l_{dgY zG@eaffUSg>=*bxzPk~rhr$eNS8B0Casd2_aoY-a=yCrczCg-mvMK!E)YD3-3riH=P zklnp8JqP_3p7o(>k`lW?sDp_i-QCe*smTjiRn|r zunMojm>D!YtAvJU4%>ARvkv;3>y0hbiU#`PxzmLf7aHiIrK2JV-Hn0UIw*YgqI-O6 z-!&?&!hP%EscD(5#a-`kU48Q@vSHp18C^#&sofI9aM%rtKvm%^MeDZ(o^7 zO$F*B>Ckl{KKS(Y%ulr-4?V>U6ALn2r3I`fd(US!jD z={wO{=`9DRF++wPjj>sr2&wD$0jy+dFW2BU3zL$YgAv1`+{%k>Zdb?t{;Kos9J9%MO~9V#H_Sh8yp@;0|ZA5j=lXJ0h-Q`Z`N$V(SD9xbb{l zUb~6vD;7xnLwJDaG4V}HBW{*U?{J;4rLXutHWPGr6(xQOnGW6)ftE0m>7S&y54R)| zi{(!RWBJ7K-UuJ9X&-{vD2Jc(b@%>J>g4VkiPqDTKPIrp2H&ekP_Dv^RK_2ptBPu6 z?&4;pDx^I;xSh|0CPrCl zca3!7_fmpp;J+cOc6t4ANPXk|Q}?28_aFTOjfGGzp!_lOeXU1RL=k;f5&xbJ1SgL{ z{*$^a&HdhUDcSylsuIVwwSdc@HRg8d(1E?v_F}IdhsXMerA0K(8HXlJs@udSW%_41 z3yOSdI#HT?Uz3^3nuDiR>s$S$2J}{tmcY?s%k;?G@!dmznOU0LQ^th^7M*s6J%K!Y z8wzwUy$kO?iJ|7-5;;Qp8&Dxi5Gq7foPGbAQuIw{1Djll&iy?aB@wkHS`U}vGS5&; z1h*{3VM+6Jh4%J``*Kohu_lX9Pq{dQ#JjZnANU8Rao+UV1j;K?Ao=4kAA2sFKxtlT z0ed%g=+nA_#bn557S9A4mBFGmgsv|d0wSPGM$mgx?NRZ)X2KoOw>vxplLWAab9h0( zSK|T2Ue1EE8@JUYmJ=^}N2J{LSfL;wB1$K6C(#p;6$RLKXKEK)bdad4+r5ZH#E{kQ zTD%pJpe|jC(4OmIC0BX+b4`WAhVqir6VO;#4zBRm+Z|}O$uAzj;L$|TLcX#vyhQ*O zSd_oFm4rUz1v9rj{S!$C-phS^Ke(I~x9WKEt)4nCw#x&9DA3X_CHT@dsk=^3q71d5 zneXU?=Lku5lkn}$GbaFmTgYlt0_L{ENoU9br)kpgr3;{b+i__)XCCaxJ!eTMFWElW z>KtYaqhcs0P{-#cSnkHW_;E^5Z*`J}wEVR}fqf}rFqOyS%&!1GrkH3?9d5$vWPNwQ z7KkrOb_t&*2_xw*u|@Z5$3Q^4Vl@gI<*$m{@Hl=~x5ot0GQR1UT1P)gSUl0|R`2wc z#2tueIwtwhHb2@%&>_lyROOo2+-F@+U=;!Z8fcZ^?WKh@a>w4GCsiW8N!`FvEx_!U zfq$ALZ=y&0Li~n`gn+Wwf)?Yo<9JKz=21^H^u{mfCNcGW!r&HE*ERJ%Q%(pHr9@DK z%V<#em4UoNbkUrFgPlFU+eD#Cm*MkPLP%LixfEyp_uDUlA|a|uiw{T%*`ky}6vav| z(XS^cIK9v6t1h@#rY8t)sxh&;uC9igT#-rcKePMf6ljzm=2`MSJw%}IH_R6{b1^;{ zAGngIR-O0hJ1Eml(Zmr?jFdpbm*plg)8DGv>NutyPqbNx>m4|bR#d8zqquXf&q`4t zTa%Z!w&^0fus6QbC+Q;Hm;+{!E^xU(9`FnZu4{*=2_1I@vqVT@F1|EV6m}VlvOI0c zj|_ZGop$(+ea^+G%Cc8)#rZ@Y%@4n7`$-FBO}?j%d(K%z2je+SW1)5Uwd3Po(RDbO z;n7nx`_`;gCc-5EK~|Qgetul=%z@^Il&L$X(Lg79?F98$vfq^%hrb^!7*|9mwFITS z6Mtmz@g>fL%9?IFPlZ(ZYV=%EY$1;$dtqQrBOR`r%NS(wtX)S$Dn?oUpg!FB!VHGpoHgvSYEC{OFsTy)iE`QolBt z&Zm%v#~2x<-0PBuOR^aZT5o%j&xc>~3`@2bMQs)x7;ulMgbbVI#paXtXm~oPaDrdu zS+xC&wH>3yl%-;*cCc0o=Z|v|B$;F|{iHv3T#8EOs&e^x(n6k1BVQaiA>`kK8=UDO z#I2amnqw~a@OelxB%50a@sDnG>glJXDhioP>ZvNxpQnV%&5vSmXojJc?obK~kNy9% z{BX0hGz^Cp7N(AOpf}!Jt6Cb$g#1%&C?jqtT6`bCR$}?&HfOb%te4W_A_!q{HG|4` zpY>ndT>q&oyw$j_n(%?L(&{m1l3t@nuNOfl(qkt!jc~#^A9WS%WG;%-89>A zsY>}@2n$_qgnNcK z#V-6eImSW3rZK`b+BG%I6-f(^H^1BObBn+%NWFr@Z^?_Q(o3;6+gQlSw-o9=c2oW|1EC>hZjojCs zAV)M|=$Sfoo@-CV0nKQFQ|!z)(?SF#gFdsjnJY!_ZU+IQ=V!|j+W^V=>H zU}#DA&AkSL%!(%-at^$E?KaziP@-H46gmqSw_j=+vpg346E&03%)L;SvM!HaZiF-# zIJR5@MY<8dxsSz;)P?BqE*LOE zSPg?_6e|qePxF6*CQ*1RFIBo_5cU85 zyFmiqaS?IlxT(II(nPqNOgn$p0{FeDiU!8yj8^u@)|BTx$huuSE%I(204RM(hC2ur zHfPep--OR=uGtI7u`Yil6FmvtL{1;{Gzum8V{AMwq-zcK8Z7hHzJ$NWby;=tAaf%s z_Cu?mmJrJ@^s*gF`8fbs=9=b5%QOOmw8<}+WKd1~etOfr*zf;N$p3-{Z4Up|j)eGU0f(ZxKjXyFRLo9H2-v=hT+_7bdVC*UjET5%{wb9ceR8HTI^rF~l;& zGSD*ZhWk))w@Bo^LmA;LNXf@p?4t|PEw-&c%89daDEOCr>y56RFBmNlI3k&_zx|Vj z)wD^sJIbTYl564@oYbldsp@JNWw9?Z{TkF|^a{wju>R4eG;pVASB_f|-^U=}ZX<2pxn0 zIF6tU@l5Kaq{~lMAj_O$46m&&y!}ncko=wi^A!HdiNDjyLB|CYe5VTGuXcRIVoi_G ztDA#jgEm+)Q{#ECIWoo@6a)4I(4MW7`aG}@gQ&TQr?6<>HCIlf!xQ}x&^z(F+Ojn? z+$vjLJ8n5NUpW3FJ7S;8a9`xMzScNX^7iInOn7`kTxG~o`#5O7SR6R}1<@PknMAlW z&L3Txq(*`*H46va6T=_2bW{Esi`mu@!JC?*yEll}-K&n6Ry>}|vDtdRQ*ahV20|4% ziC(mq`h*6i5r$E-0=#lXQ)vpaG3k>`JmuiiaQ*%+m^jMR+~yZ$8kI5%d~j`YzoWhy z-nWt_>~%3%%2lC5L`ISx|0?VZA=hmYn{fnK7jVn5P~Fbu;N z7|EPiLC5AlWC(n7Eu1t(La%WAAG7Y9#{KnV!QfEZCb-Q%Gnd$<8eva(wBF1!4*8}2 z#M#S;(;_T~;euJFWJ{;e_rUUH~X3)*$J;W3<@bjW>iHcGTG8DgG z-g<%|3tw@j9{mfQ1o)kBanZJQQn#bU-{=PB(x za(fxqjEuc~8^upJO#v0)RkvS^rt?YTcH>#Fl59y8_^=04AM z;6aToS1UsWD8Fpcd#>Bb<*X_=-mQ6MJ&pDCfxq=|J;^2LRFGf4fi33V&6Lf=gH-rz z*Up3VuCrb*tNCyp#d+@ILREj0B`5qI502^#kb~@;5S@wyMi)peoIhvs)K_T`tpq+O z`PQI)W{p`Ima{$Hp@H_yHe!Ewog8ks_*q5ga3ER;2ndLq0j<6ywSlg8xf&`v=^HA) z9$u8&`HdhRs4YDRMd1~nltZsdnE`d&q3bU_Ttk7Ltl()-M?oFvnjb6rvjJXy8bm1P z&@y^eq{HoSHZBE{p0ZtGF63#USY*xvTp-IK%(T`S)O8QEbO+a0oZ4<+8JaqZK+}gf z2B1`F-%i+^(h#pN-CP-mTD2+g!uieqQto86(I4-ROw8*2Xv?s;CWVkEN8>8B(@j6$ z5HgA9I&qqEU<7>7l&p{y)eKo9#;(NG+5X3YPuTvd*%y=j6IW-~NDAt~CtRazZvEG( zc{+!t`dVV4P~cH&p>$hgR)%UH8d1#N4oMW04|a125l%>U;_3Xy%72NmW2x2q>rW)s zb8EG+r2M-|&;1iUJ5}NGi(5;|%o>Vg%s822(h`7r{nsNEO#iX`ZGH0!0k2*X!G9_~m zajmD2qD)!?7D04IFQ&s&wik3t2d*9b9r+^lDKWn8F(Zvs_QIb# zQQ?hTTf29FxHIdA$VM%f(Jgz^JLU}3vQUjvw^As25GNc{qbma3{uVNKzYi=$AhTmR z8;+0C8co2d)@+nKoN3vPv@9KIFsrq4j$0nKUc*?OS{A^7!e`Xsi27n$qurUZ+*=PR zAoknED-Y5dCR|lftt#4cxLo?4?&1iO%~+m4k((-VOC3b>T4r*M=k!0a;K7&CS-szwvp*#NVYC$#WuUNk;IkfV3J z$uQn&*%O`S0DzNMC7*7O$D4_#@(MWt`&!x=7RapKu$t;@LBDpA#l=)#-j>~Gcqkl{ z?z?(kNmgRRq*ybti))iot=EgMJ1@!@Lt^xQYQXaTCXW3fNlr1_!6Ozxl{tgX@cYO0DR z&41~`6D+3zzEUp(gjuXlT(7E9wjMA4^-tfN0t@OIn_RNzuM)Nyfx!I8 za;vT&>#ph*iZ&vK>L@LG0}4ltnzkN^92K!$_sDza40*6tW7D9oz&I$4ZIt+3Z{aKT+lr!(kkPkWWAiV6?V!a{bGTNO%ka+o*m_40e8I|o;4KI zq@Fpcl&2(_nH zL0q>ZmVXr8wR1@3W=q$|IQ=P&KnRE&2b?HI9uC;%>EBw*A>P2uh)ezs^QM#(&9h>7BxxGvCr_}G|`sZX`yQIIgGruno zKE{%|-ipl$V>Yk7@40r7rNDwa=Vi0aNa#1V`$POvJ(ol{DV7l2FIyh)W({Nd&WN zG^X+Nl8LxSXFf?KYan*X>J4n0twM60i%^D@6p*o&tn)`}T>8BxMU;bNDEzh~;#%cb z8BB3q(FXhvic~`=FZx7o!FgDp5z%qHafW<{s(z((V0?;`y4qL9gdoqd?00DI<5RrvJ zCa~ZPR|Cte82zDUWpjwf0J&u5t>Ii^qP~!Gd;Ke5Uov`+2BHvFoPUjVt0Nt_Y~7w5 z+i|6z?Q%=}Y0uDx#&wq%M`6kVcZswNr}v%wnHJ-Y(1VMl%E<|&FiAwPW+k60wfyz9 zSti%JE5EaC0}^Xf8*9_WB;5XbrPM#f(Vx<(9^g^>x(cXS+b^3)o#7&8e9nH~{#xs$ z92G~neH#3v0;qK%?^`2Wa9r}NUVSaxKKz?NykGIc?wvS%*fpIFk)fMAWyZ}(p%3UB79WLv^J=H#H@lOrsH~WE7%9RA!+ZYe2 z7O576Pc1Ykls5aKdv^ah?XIj?AcVCqdZYC3fs=Ki+bEAtj}7Mnei0iOolMtD4&aG! zZUYora2rx=6apd!%(EH?D)S$8=3z_HC5I^wsVOr1bK|{YS4aMoSJVzb||De#|p3jpyNT*dAxWE*8YtYsUsc%pS%aszb#{UHF9^CekU zPKBjvq`i$$Apw@}k89W&E^nflJ3@Ee#2n<~@4UR2Ot zN2B%))h1u%y4{0JmdA1oM=5hk&-MBEq+USAe~qnjsIfJ}+)<$I_BUzE0eoAohscm zA3x+{Ua<4*M_)W%(yP1KN`R2Aw54uJUCQx#I!Ag6PldUUr-ki5@j6V-0>qQ{NLueD z2gz>`n&5w}Rg;1Yt*UsAI=ZDXSa5l!S?n}g?A$;*7ngcW9jJ=S+KZ4^7^za`ZWUZv zQ|Dm%g~WDB#@-@!&GWN}izhv$l!txOuug~1Um6-Cj~vf$IQ-lYAoA6)WQfl*Yg^(>qe zgfccNp0%ToK?bYwv&U@~de}c8uQk{f<)9KwPq`o9PnEq7ogj zma-72n+e5EH__8UTXeV>YDC_g#*GT_5Um41^1CEx#Hp9(1;!_E;sdsa<0tj6?|)j* z@!Y@V;kiE$Lol@u;oyUUcfYFf+FW4T*f^KZ{wGO)0NcJMOiZf@fWpr7-Bb;s=^Ac? z_DzzF_zy&@%F>C30IZIx(g~`Q>n$*c0bbLe}&ogf#FKc;{3*EHk+I&M) zvfS~)^V_B%lBv)?)o!im=(sv}HKC8}I6?ChNo_z4OkdReLgEFehzS5jbZhAa)1i*E znngS3@Z|Hkqs0NOMWvH2YV$@uj(@ro?R+j--X2L{?$WOkDU0gziTcVL5nQlT`%9oo zV*o7wXvTH1CmLUXEtDjAOWl$RbdBFFm-6BDXzpED=0Ue~nX5~2Is+@Gr{I3w^#Gy{ zcU`uQl8&ENdGL3RPQYkEId+_yHGdbaG^YCN0_%GRbw3aZ@4wxljK9EcR@%UERdEPU z`fyD8IC+-CO6$MNuL}C?5uffECZO74^_T;>j%1p7hw-*w3KTl!zA$bfCdIa-BOv@N zTKc26l**vR-syHqpzOrp!5fLq?|X3SiP}d?a~P4c228K@LlWV$b$Q{?tFHJ3dY~r+ z{oX2EK)@O)mFEc=>G;?9N1-!^h1s*e-m|8V)wgmI?ubz$0~;@?)9iQ9K0KihKQ~`= z$z+}VEJrVQp#1@cSu{mrCc$-ROPO8Eh$5Xp!1I-Ymt1 zy5C`jr9DAs{9<54Q9<6qYdBx);ya8-vjQb*Ug;%d`mr{}iVF3RloAyP9ZV#YsNEd$ zT=^JO|L*_i*eF~+QfQ1=++BW_*xR{l=a(N$+1pQF?3fGm*KUz!UEwyp0DIhFEIWE`Y&-f@;O(B%YB|EH z0+crzczf{mmPm0GWoC};$-q69KM^Z>ngz1@ahwq?^oYnjAw@r*q~7dDY$+R&cc>7@ z=tRS;gcwNH#Dh*GLyU4L3ufqynAR48Q59J~yXk`-%kGgmySb{sX|M1HhPT&?^roQfwohj>O?m@yZ&0>q@dDcUe0BBM*s9z5~yfT$a>eX zI>V%Q?;}rOJI>{4!Mtk=rNgCbo{R-nWtz-%Rm-a(4ezOc&fe2#1YSVup6MD@MpMw< zy@sTRsFdr1kR-swhP#0*w({0WAy{S(^?a{jpG@ELm&}@IZ@xl`*HtNsu;9h3murGa zAZA@e)pF>b9Zg%jBCWT0Y3W*tldmr3OGFB9KnL^<bz-FQKxrUK#n$0M{>|CXw%s@9X1XjgZAeW8{V z1Y92&pHnm`7)%CA-`nx*VWH;Tl?|Hobj5-E&Nt9rjev21*H?kY@H{W2uzW_!pNCA!-nqF09VK!vAoHjQe>qVN)UTw&;<5tg84T<$qQcjzz zCcey2yif!E@JCOy#%cW0Tedzusa86Sy^)6ev{a+yFH|Mr$CS55M$xH(C(Luzmh8+? z!dJGOzkNwsNJjaya|VA{5G_f}`23RPO?1j!loFP7LK$E?Q+Dt4qV)$oE_W4?;?d1} zlSWtOxSaT}D%V3aH`O(vRJgH~a(#!>nAKe0JW0V9i-+qR-#?sdEFSU~Z)gTfuc1aZ zlmdFcl6B?qw+eIQ=u}bLoys4n`%5=^1fV00#0bYxc}?CwJj=z#)A1DL7ZBisvWF}&Q3kP&#BB`# zcdUIqPT38in`9E0#$hITnOKQ+pfjhw9*C}EAK9ba!j1Wj(GB}k5lh@);;FR}AKBn$ zHMn8)oS&>Qj}M|n4sA%v<}vobKr*yM+o4R!vl>2~w(1@BJFS@BD2AK?inrt#Cs3h; zwqI;FUG~$`d6c*cCf+w#j-{aP7xsz6=i1kx&`&I*pCu`>9KBi=#*m@H}n;Wvw99O;(o6Z>B z+72xFOPe2#B6rB^38ZfhJdm0W^#YSvVdy>Itb;Az82G@f*Hyz5tuU_rH&;u`PC5r;{oW1$`%N3Zuvmv*-8QqZ?q@tasygTm0%| zGhX!MJe##C^dU-4!R}VW6wSI^!iP=&+vBQqj)w6Ts8|Qrp{<)Kh%{5ViE=&^+dyX` zt1D|VN1(f#dMCtIdo0%ci!3!UH9_4mVox0p2%GCy|GcKlru+9KI%73&nW-q{up>e(85`Q#)L)L0#)4fmFI;7vt+|3N}*Y1JJ7vFcAo7Vqiu@U0OMBfCX7}QNq z2LZ^%a-RkMdsnZ6O}8CSSU_Jfm>5ia9M0!yZmN!Af67GM>IW7ou8j{+^RWmTerFYc zdrSL)us!lw)a(lMJYOuUKTdN<#w*Oe9r%SuMO9@Y+zLrRlN zO7+1vBanyz9Bnptu=GpRaNn09`Fkzp?J(FHYz5tZ`5*~WNIk+fY zcfhDGMq>l`#t|@T`}c*zh8>HG@bWC@Qm-9LqxqH{%O+nq91j>BjLu?#Fa(iYoQ;FDL?&~6PHQo4bIF-{lXGw7wraPSlA!caT=&3kL%2JVk+ zs4J?G+MI*3p*&`F%FH^Q6gnMz!V9)Ne19?$e>RpGJWyRSU)oxnRZ!Kro-@nX4aY9V z-F;mMS)k^c?}NCs%u|OiP&0fcR;a$8ik5M&Bx{uNdI;RK@)*ABzVaonLPzq3^XWLc z@b&Eb;v*`2vG~0Jl7kVy?oMZ2zY7S=xuUi%lNAMF9(z^ggLmw{x+Z%Sg@4}BA(Kwu z^&&7IFh`IjvWu+Km&sEXK>FSowfmzMqh>!w<5pZHQ3xs2GQiG7HI3BPMHNMD2;C*A z58XxNSFePY`#L|wG;4^8tTMr%2Qyx!a|09OhBBSw&qhb_x5}i-y6xEoa6`pAs*`q2 z$G)-Ic_Lt+Pf)we@};okGK$E*!$qCIY2x<%KZETGy4{FqedjIkXFNH=r10W!LBN)Vo-pDMjJNvc1qRW=h zq)<5Dd@wNulJ*C6s&=@*TwQil^*-h-nZkG8a$gvld>T2ed#YP z^dZ3xGa-OO&Q$1Y^2t^K-B11mA}H^Yk8m5I#WH0)Vl!p?o9>b=-Z8DhV^l7$acqeD z>mJ=QV9VQFR_3b;n^Nj{T6NO+-0%`mR>yX3 z?jByQf;6uBItd(Ay;+Xng!YJed_^a4I1@ydPsdXbwnS)XTx~jTU>c1_O-G(kESQy4bMta{TkqNBRNC0q5ty=YS?93^tuHnGo*mG>J_D)s6m870p& z8SG>5PG57AFN^gNmG3~(Rc=;F+dQ?s*TPo-2@nYE&Eb+=G;hsC@##;5pUO{I2{GRg z=UX2-NhMh@w%E6wht-diF(qV{A})g#k(KoLG+jm>!NFUS%I@!sZ0%HB3#ZM)vbKlF z_PQUE+G`Oegn{8@hRJp;t=YcUqXMs<`Nnq6zy8TJ@* zTGEKD4(Kt-iHVyjhN2?y)?VvdtzeR-D@A1qb)g5%#lH07%*rpOBdHNopKiMbuY|gY z_I3Wn9Vy4dOWE;719l+LN8sB$N}OQZTB8ybvR(=Z|A@jC6T#oa8xwr(M-U$KNsGh; zV=*{+HOW^)%C>iz4lB2@+wH_|>*z#1NlaqTGoLRP8L5Q}nE=5kvzzO7<N=SO>`+$FL{m`Cg{Mx{%tUvqJi9<08sV+Oys4vmcJBe^Q3TfpW* zGEbvZcEl$;d9+^YgH+ieiQ4XLh9VU9+O>GdHR z12DM;eu0#h!>^NccfaWZm-;quyb72zPX{zl{iYk9S8GK)oZMr|O^6|a-Cze|twJD{ zmGHLzgg2}0=;b*h@J{6(#)DC_TWL#u`T z`$jMRQJ0kPI^lDj4AA3>WpmDL^D!XD(ue=__vkaRi%8aO`pe@AoybUW9lKD$dBuki zkz8XBZQ{j~gRE0ee8>QcciKWKT^N@L%&jV2Xz}kn*L7gB4Y1ChRA66d zMm=@Hs>o%3tuWx;K+tQ2bzUIXZ=TJl1{8j*av=XGM$IZ7V)q<0egi0+dSyVkjzmcgTcdanK0@@%nczT5lQA_Iqy-;#479~H z>|AR@_h`UCYv?ASE%~@SH`Sb|zkcQyBR^057x{Hb{tnpJn^xM+Y}KC~xDbc6Z)=R) zifAHi4WCgDVi|As@7pp9c4YT*ucd00d$&}yNql|h{G;Yz9A<-6qGLcyPZN9a%iz2od!TLqEIU>7!3P%2|~bKrhg|WD~Xx z{a34T^cZnr{^ciEc)Z45;dG)w1dGlMN41PizW*EX|G9c#vE8uU7^`!1C}wp5Z*%N8 zf84$r`>vX(1*gu(B}kZE`H4X)wGINK|w?p%$Z!TcI3vV26RTyRWjtHQ^_~(!=pd#d3Of~+i>^*!u zyR|?Zta@B<1WC;X?q=iNTSUU;5C$RKj>WOmb*zpKJS@QJODbh->n=<98Nh#n~0#e{j#j)e^BK-qMwh zaAif4vxRUa{i}V)9RI@J>IU%NtH<~bX^B^;Iurj!e&LI36viEGd|hNzZ+M4tujxil zY3g6TF|C*7z}}Eh8eP-FTq?hJ9HfCwS@~du(O|eK1@r1F(-qM99wPD%e?;1VpKdBJFd!Vr%P@fI2dpR+MW}$Y>h64c*t(&a;)Y z_Z3&=e()#qgJTyB6G*S$IQq#ur+nDv-fr(cL!N_8Y~PZRAgQL{ zzZ)xOv%R`Xtxm{!Inm|t&APa{gf4GaNUx)#>x)&^nzKp)gK=|a3$rzwzP7uv&?KJK zl0X+$o+DvMyS1wYKST+4!O20F@iemC4Q0u`%(fBU)^A{Exi(0}qb@sMW#Tb^cXN{z z2L#YOLr;cP)1*kqQ>v=xi?Dw$8#t_)+mdqT`rTjb^6vAEl+*F0D{jZOB_O7|xV(OB zpOMcV8ObJ4CsC)ikU4U~>&BmVTMxrhef-*ycUuwqg4I>TV`>@W(?oXG{>JifI@x%3 z+gNXN(p?O+NqK&y|Hs9NqPCb@ObZGjvz`)OABQ-JE}V3Isl_G#o|p4w&ff% zm9X2}(@VH`7<2L-E<4nrB~c@!ZW5#hR`jSiDlP?3B2DIgq2A7S-JIa+8G*a*tp`%C zTv}*ta?^|1Ro}oh{i;IOb=*$+Az<)&Tu(@$nn!P93fOVA_YgU@c0rh;oj4}ki^XA) zLm^ecw`B9~pme|ayY>|HhJ}HCPo?Zx$~fAf0)3DMJAVf~#}TuS4BZrEdq_TZb-*XB zkRs(oZF!K!r!+%bCW&(aI}mZlxm89AwP@&UD|NeM#T6pp_F9K_b3My8CKzaDO5z>t ze8Y(@6F|r&68EBp_x${XJArR3XEFHplg)0l;?_pWyD3g`xlKB2XW3X=K2y`?oum|N zpM~%9qpW=fzfM`H@8Kg6a4`Y&v_woC7se_Jf-33yHC{^-Bs&4!dJ}qU!d0h6^C+|N zb{^yd-$3|akU&9Pvt&4E#ZTJ;hKk$*V6miVvg9XbF6W&>Z9;OnBhLm5;9$FZ*J+i$ z!Ly=k;aRUZ3Vs%@+p3gyXHR+3Pl?<99)N}Z<=3`XZCg|BAfKp}SiFcn;c#~dpsZ)IE@Jq04TQpBIu)ik>*{viNdz@aB6Y4qT`yl zTOq|_7{O6c81X0$dQ0BO z6JI}*RVf#Xv;(=_is>l6kPP=(+jT;&ASElFRLS5{PKZmNY-(R$FtuazywP4lSyZ3c z#2MTDKvpcv8JvG@czQ;(d1SieTE#KI$GA94kS|1n3Cw)PBa)gHSmSU2Me%(v$T$gE zd%zpiSqOi+8qi@8!bBaE5s(xEHTY>u+)IkV^zx>&@sE!b@B^QS!5}bbOz7(zN#^BL zd4I|YUF`$~OWgtrY33#|Tw;Ia_>hP~_4e|}6fp8C>z**h;IdH0GB3_ElxANi@!hP~ zI{zRo*J4svO?V1noQ*9N=*03qgC|4LMlzqvJNyzyjY<$(dX7g(ZIeKF!M~^b0C&{0 z0$YJo$mHzCD<|lY0TAO7&%Z11OkHQjubRxeUwDG^rp;%~9l7g^mcXRj+v4`2)u47M zi{;s&N0P*C7XBh-d&TEf7jPmtF}*u+sE$j4Q^DfBg0g2A^xv41OPXvM%5O@DTHTBU zu2b=vWdi$DoFl{P-A)uMup5;CbgPwfU#AD%5lQ+5R+PRT=2v2`^%qxSyQoKKe?Ok4 z1>tJAjly-z zWk2R{TDsTQsqJrY7M=HT{Up|o1qp=t(IWByn1i(V`pnM7&*fQmitXy!eam>6F%*+b_L!D@ zpSDW|Z^*Yt5iQs()36@Ll_Za8IAGwkc|(9);hi z-oSP>SHm3Lu!_&n2BuQNzHlgs?`yysv>J4gzfu}?y~00v*92axyuI6vh8^gjURS!$ zkK=B$q6<8w`QFZu>DWo#jP3^$_nrEBg7l4ON>2$Ps$&g~eNM$(fp;KGE1Y5yvJOkA zSDx)qKF=Gs#0v5Rw+^rOUBF&5vV53i60zh1O|#BU*IWSg@x#Z!+CXK~PmtTBjk_q> zy_OBpw^7y_&(dKZ-i`pahQ5rjwv4(WShTccBv1r6nHoG3Uq0yfw7J`Y4?Skv!gzPw zB%rc8@ulF`twPswf7&7L5iyN_B-g2xg8KD7sN^aKm0X+ukz7xhIyLCih`bHt+X$wK zHBLTW+%KrbB~0c$Q0f#LU(hk(rgzGNS6&Og`4`%ZA|gi5fKJc|*R*WmBCY?V3JQ%O%D`!<2QumIP* z;L4dQ*QPV&x$u3dPhm%@p;raIKRQwi%xzR{xmG=!x0>8ym5-DaxM)G-`&IVOEWs@k zfkpd)ZaiC|1iaiv1Bnr2OuytrP-=pEI@gp_ba$Z#b>*Jf!3@G_^>d%6WgDM|ZTk7D z!THOo^nlRjN}LC`!La89Y+C>*=X~6=akIVhRMNPO4*!%1+HaHabZiB#-_xPm^VOJT zGyB|ru=R1wKj!u(>UIq1Iiq&7A@W<36P0fGMS6TLrec0X)6r<|}k zW*IDAPYkW_ zIy<~ZC5#S@p>DNIxN|tKBs@;xUo=#|?MRd&>459%M}oC&B3rK~eiNtnhW(Z-u;K8H zXg2ka2TmA_4u@}2)18nS3QyGOm(<5YXeea(p!oimm0V?$dV8t2_}@^d5gH1;MmM*Tp2A?l zlZsMGReowy?*X-vDnO-L=z>M|NpbT9p|P*D_D&Y2`@EoqghkJn$Nf4IpzVz>;a`Pjv4ZRTZsOK9);2c1 z`}>JURjpgC8)#XuS*6!6R?a^VMHmW$Jm}Vn(Y*cq&%v1Njx3#p7%?{0`5$f#^#WW{YatX{1`w{&Q zS8oB;#@2ohBc(ubXrXwELve~*fub#h;_mM5THM{WxVuZBxVr~;PYDE}T)&oX<80A59C5-!7)1rlD%~1{zM|5#!|%rkYd>e&SXjm8-zZ zQ9Gm5((C12aAKBDkkp6=w0!siJpMAJ_JvAQ$^jFXxkjCKK^?XB7dCxoVq#ULV+*DE zZdzV(b)Bif(Vdz{Wo$P2Sjpiu4C*mop-O9OC;7wlD(I_?M*Pws$cBAA zLJGI}+XJbS1rp?9{|SNT4Q>H+*9ZPBvQdCBSnSH5a`}UKiYz%#6BCg-0r7_Wunc;OQ5Tm6p z4H-)EiC+b6P6>F{1DYQTBenFI=_pimzON{Yett{gqAOD&Fg=tMZ##Q;aFdOJ+{VUl zM96>oZ3(`)vs}NogVv9!sB;{(7|dKc2aTx_KnuJ2`L(BM>5r9xe+#3ve+!nf%!-c0 zin842cQk63Fr<7T8n@vo@@k=Qtaq%}e0R%aQi@|ja9cn>Q0JCvC(}Nguo$mxk|&Kj zY8zs;5SDX`8f?w&Kl{vo+;4RD-axZ*%8uu7nR-lQOeD=dfz)w|B_W{dk=zm6QQl-# zU}q?s_b{bT#E{Gw(*ScMQt=(mc3Oas2+6K*DsLz+9fzEVDAy>-720+#HP(nEklC)0 z@e~)e#ItZZ^66bSCNkpOH%{f@NEcsnJq3S1!DhTEZvcGE8Ovs=BGT$R9J>Qvg#8VM zFO1lBn`a2m52=1TIkf{(4et$S zlk%Z*6={>gyvM!nRI(XSjURin=e1vdKAg%`0+t?TBRq4uhHZjh{qCG}i#HqBJ}v-IqKrZBc0VzBcl<0xG*^co zZjCi#lQPo&>ZJ00CNZ{7^y^F$6i>?3hw12lDa`FLLQNiW! zIomGYS4!Ocezm3+oP{FC*%pH1WC%JEWfafn|C#MX9S=5XC?{$t9Fu?SYQpsytMnJQ z?Dfypr&rThQMmq){Bzdq8=(|qVYJ!^bDx5p&|Lu%Jfr}TzT8h>I+?w%aSdA6X)NLC zN^?fK|EtrPY=u9vA%((_U}oLFpfg|kpABNM{wEc2Y)gpjHC18-+JzF{HCDE_*>zlv z)LM?@?%T8^31X08>a)gW+~h9VCbef!6Lq`Q#d1-9fwo2yrl)>urRI*fOc!!50^IKmoxSZ$6?vf=a=9&guMs^RBlWOGd*Q3gN{3n8~T&U|V zem>}v8Ht^xZ2Qoey0xfMWv1mQJ9{(`{iVDG9W8r_1ab7jv)m zWr?GYs<9K|!rG(G8w7+)WkpD*<0^QBO64ae>PQ$Z;XcH05X&iw9IvMR5hLg&s;vUw z1;fg3Rk?pv6E=^)(H|7P46QLIXClV&F%aj8H5|gajE@?&Ct?!5v2P?+W%XqBG%` zFrTtPHc2mF9XHPjL3FOETo=e{9auFy8Q=Nb#7ni3F?eToxAkm{3{i$3Ugjd$F653G zoq_bC6HyqOJMHjPMJ5^(&kh2fXE@Y*xEYzmFV?uINZZVBb6!5SId66>`W5 zDzXcNly^Tx*_@`7g`s=m5ng{ZhEnt1P~Kh9GLe2+QO5KBDaqMHX>1K}sG{Ztf5|?T z8d({R<+!f8@zFpX++FPU6)L36c4EejVQ(;jndN1^%8DqU6yhNVJL0~F-}jPrln^*l z3YZ=t3vQo>4d0YrfTf~n5be&)V1#e zQ4BM?!c53pGHoL?n+^O^kLOv3CXuG!O<~+EF#(kv)Ca?V z!qsvrYP9YbhZZ?A5 zR~T@DVhD2YKj@V{mV)HEq0R^{L^PYZui-gpP=>OoHsgAcG93#1K+(AJj(L8P033Pm zGQXKp2)G{U)H~X*kr;_FHrS!zaanW0GyQW#Kw*#Ma2I(j!zlyk53zaPM^wKfg#t&T zHZp}}PZ{1bdJr`6(d73vT<WqZx;QF$FlPY5ZQv`w0q;)_Sn>ESmhkzYB$jA z;Dt=xPLe1P8aAEv@v=1X+$g^tWOBE15KuYu>c&g)ke?mR1WT#V{;_YUmX=gar~;(SC>8*5&rvnWDcRk44fWhqn98YCtth<KY0zY~Vq%jj7cT*e!a7J)__U|NGwYLDn`rHEEeO z)YDZ9{-55Q563EZ7LQ5es`)rCCJz?b52h#IQ=C209{@we+)sV@qxc#6_#mqZPJkUi z+bYO<+T^!d^~z8CuO<mSAKPyh*G0{6bgtNZIR=ivx#^^~A_f>4B|f z&jr>=_DPf1lWjRX69O4`0;7LnXgY%G$LQA7RvwP~rViUmWgfs%^IA>3{RGcsWGY$~ z{2-6*y9wUpT{U(`gW=-a3DIjd!fnIV1L>7sD?@N~kH6l^?V*waU^UsxU>QC>Mq*mz zmG~{0XB3605{~7BfPa_q$=(g6wO~L)QZ^}fRKvTo-v>(t%C)GCr^rCPm+t3}9M_c> zYGTKB&$p(LjsxzNcG1xJHbIui%ek$`Lcsfj$jh;AUa+;{iIwJw)zf;D4|#2WUB5|c zKV+RN9$>ygKM)pf z66O}+XO59gM0kx-IEn=Knf%kWGgZRBT~lk_6Ea8xzN??(t3AIQR$bv6{1+>HP5+rH z<9!aPj=mSW5JxZ8C8~JoWiM&U|GK5fMtCsX?OvVo?>}sPIQy`V%KJWw>!i=^4>uZC zb4RzEo`BJ7vS`*F&)1cvH|knKg3S5v2cdm2GmNq8bQFSCsv?kr(7EE&CE%HmKm*^0 zEy51~AyP~$ERs_Dg5(jYv$aai=7F5Ud3cWLgmo&}oWq2>LuuXkBHgQD>qBYZcoR5j zMX?zx0&n)_3+cS}j~A{#8+s*Y%#6k)01i^=TJZof=>)*cD=DI=NM1Sq*pN%&v)oU` ztodoCE>zL*2aJ0_G7hP-1EL?h3#ZU*5_k8=4(tgeyVaHZmU;c*DZKwMWv^`7dLxs% zU8IOK>NIMO0BX=^SmKz-@Luj#Oc0{>ERA&JcaVE_D!&y;ps~UiBZGupUOgGyMfq)ZGeRv(H-}R;%8`15D!q1PVDaVnkskyc#ZTN3ZhStzx*w z6~O_<_#f_^J}msuo5SWH09~<+6fKJtjEPy@u;w2T1k>z(grJY_(5c5lV5$dUdf|{n z+jG$Yfpd-#;mkzv7)M+EmwE@O&_H*rAjGYPkMK8?R+*xcLW6=lV2*mH6uyOD5(w82 zF1g=ORGjgYc-XZ~cR+;s&ln6AE_+a>3P0_B0;Qv`s18_jF0TJ+Q9$#G{-mPG>zIPw z31C9dwY^OlbC*<4Bb zE;Z#v$N!+{@|wqjwc8XCUS*UIEc8~dNNIvL9+DI-cZ`M|S5y~MaN}B-Ko|eTqmBDZ zrxWgp#L)dY9IH~3E7s9Sh*JvqVbta2&1UNw{M(wx4_}7s^|a{HH;hsh{(lUBEpFI@ zvIaxa(VH#U_M{j6BH+sTPWlLcM2r!8;Si@OK%)4D{+idEq$uf{&^T9~E2; zdeb0ahmG4u?sBa0YUp@mGWYi;zEl2VwmY!1{>J$+m@{sQR~Cr+z#Ko>`+TyO6Y+Zf z-bO*!2K|97%7+u3%NFBdUGYWd9jbN-@G8VxxRk}==SzZaWEu2H=(@k=rIaQ39>!5% z7SSE5V>ahu&`sL&)Jjr*Zec!&KTHwJZxm1vBCg>&wUqa*K1St69+ja~<{%RNff~{u zbo_0Dd@iNaqF=r3`-N+ghc?b`NRNTyXYnmOzWzD2@YZk6;jE#>a}Vry2YF>0Jknhu zWw6%cl%HutpC8ul#<$-oc=O^1Aykq>IhSNJd_QVaXEa5Wba|(JzYY2G;g~3Yx8?7j zd1YWe$BjEvqjPLIA0#K_uh!YanJlBw6K`>*d)B1IEHbXh%;Kic2)BK=U; zCP+{g{$&icQ&Q=5C=A|eF-^*bh!xh^bTVT+Fng*j_vK{Ib4_#H_iyqQF304|r+W+B z_pAAS5ehg^I-WUjI+n@mf?et9$9()NVklTypGUXw>gkzRJ0V<6_P+D|>`HvIaphhN z$^*0akL3kf77Ngu0Z1mPEFmgsJ`8#L9 zHqhcIWi*!Qp(nOkD@pO=iA_z+h{&h(DZ1Ans4uK3`uRm!0bPZdTLsE z!0WXZEzP48OoYCWd&^p$`^LIw$3kdGfAS##b@d^OQ1~*mXR$$>pNW6LO#S@ixLvOL zB)RjgrFzaHX`dE}?8V@s^8{ef0fPMne(wW;`uB z&&tty0)t7VXG+6KGKtCUGv4n)CkQJs^ueDJeRW}l0+}o?j1mz?w#E-HZDJ|uH!+5h zHa;=8%-z@@+=Y|wkN7?+KJC!tc)S}|y)!*~P}<11*fjplIu>g29GtozV$P5M28p(# z_y_A&CtbpWEvAHM2i|PcXV2u zGp``1UkWxfr+A=8ybNje0Q(_;polN%1T4cF$Q2O}uJej_Y!i#qUe1IJHj@$e4%!1H zW`w>N62~;$r*Y+@p@B4oOP2p32dFB+N1hX7C8{5k#m89x|v3|?;(p8!Cy$y^ZYU_ zOn_1G&h%>`M~jTTjlPX|qN6Ha_7NWtQq0WptZE{ci$FfPn z30G~(Po(&+B`n@CNDb>Z(ML}~hbbe>7JMZ)UB|f_F)^LKjq)ejhF>pYk4M*N8zQ5{ zc-Us=-X48MjQT7?98Nx;I)S!1u$*39)W80OVZZby$LBiCE4a3h=d*&d%v)7uQF|F} z`9>4hyW;J{HA59I3s#2W5|(FgRt8wXn!>1!aVkxYj7jaVx+Y~@_wfGylPLL~(9A1MA*-LDn<+=%$IAPkl#@0M&h=6;~fY`@5y zY+m2E5zDc)+D{XZf16x9kk6zjlo?t>$R<#l1`J-48iGdVS+kV+FKMX4Kxz zH~nyiu<4G-LVr>1t!JA|yNw--@v^VdOY+6}8bcxY;!Tu)mLa{WxZ*i}{}=lMy4OU; z_Bvv-O#s`OYZR~InZ2?N$6p_~GZ$_1tTvX+$}cy7s!g`{h=U`^atQ#eXI5@iq0Vo0 z&?i#?J1rjDkXnd&SIH_w*Ih~|>$=;BIwBZouO1oX7uo50Sh2!gS8vi%o!^w}nM2xc z5&c+OXI_cLY4OCLzktm3xe^+#QM{0)6Se5ErB}QVB0x|Ljit=g5ayuOIjR0pxslAZ zUvtW=oisM+G@tx@V|Er);xDAxyA7xO0?zWt*_fJxU~;dp_1AQy#O=*T37p!jkRTFWvyXDp+89+Tv4`#I$0tD_pp=+>DT zrkG^xm16R(d1eoxITDVKhO{iD~ z2LLck9^{|SRl7!?JA@GkKG!xMuO9ujTW`%TAU(VPwZU@s0+B2v&3f);+v;$B;6Y(% z`4pY2c}!YC(!~><6mx=n{UiIT{vO*5)Xuar_*f!@BAc`E&f7;~&hdNY{mmb(!yM2O zEkS@s`H*GIIv<2jh{pd(seCa>)JGX3vu*yWK4idPCI{m|@l!z}xI^l>gCN249h#h5p`P1=Ds6q1|gCw!$2xm+HSAd#FfGO0_eq}dO&jICN}z?_ zO=Z{sW^lm6ZOs~(jbDt;>}vp^#)omilE<#`MAt$VNIXgyzAx5c`aJYEXP_g^)wcRe5?R)6ZO za?;)6xR2%5&WB{VMoly`EChQhXP=abj2CyZb;!&w)nwT|%6Yo@7YXScZT72q+Ufcj z;JJrXDbJiZS0=l9p__s&m4_+wYES8pH_AQkY2Qf_$yqGz@Vr~5Q`aJXf`Avfk{+sj zyPxX(YawzRr!Xh}2#}%mRGsU-%XQ?!CCEd2lK3T8CgTBFdvd+jgE=OdOF(0C-goN9 zZ-S8%nTArnWUXpoSsT!t)U`uMN0PeuBjn)Aon!EiL5INFtXOM#kl;s}Q916infr}U zYi@Mp^~1S~E8@npXKz}jUSWx@R7bRTFR zjmeCfsu0Oq=*~EirtNx#vtSz!u1C3!WNleC=}QIh^yZ)ly1F;{-VjZTb%70jphT7o zr~Ck8ddB3XwNw`PXj<&sc=KkEhDCzQedG;vFX&VH!sW_4wd^v?@C_B6!y&vy#iJ)r zyXN6ASt|$eh6dSBB?5y!m3zxCmfDkDuK^g^tUYlD_PXUPlaFoYg5Q8qi;DAGIOb;H z(H!uT+~X|HwxecS_Q5Vcw7`Y1`XJF(*_^;D;!I)ja@p2d@C91gGLDr4#U^xrjtqq^kf$#+nrU}bS#-FDUO{*ECc|2z zwLYP@`mkiS-N$;D5%wsG#h?>Rr3k=Xm}-{*GaGz%O%Ml`VBB z)6NCf0w`P7>Qqy?$#(Shsj!n)?SVvP^V$4Hxm@Kv*iKTH)<#J;tG%`qIKpk1S;huh z49ZVv0eAC6ohTedKy+4{ifmL0wL4nr!E3F{zkf$$kgj`HuWxlGO|$r}uQp@{31=7< zlyz{j@y9sokRZye3x|J&MqXa7RF*Z69Ih5*BkqCieb!Z<_*Ev&LvsKLlf6K~<8Mln zCwaQtz%Bo2zQmRV#V5~qR1nvTrTq*u^Nfr+#gj*6--D6~@a2hz4t``H@ayxrXV?8q z&TK<=A@79;gTOget98dC?{v>3Oe%3FC;0Ap8>*C-$@JrS&19c0)VrB2FKiK9;|$74|HqVU+p zpbDP^jQ@ylr7PyRphiBhOncUpmcEboHoUkaygQEg1j!hI6g^H1rF`BNpc!o;XR`;M zy|SCm9GBSVivBvuGV`qjjr&X2|AO|hnPlcxu+Ug3AS^< zZp02WL#IThy`#qb>73r_xLNDTbKZ!jQgqSQ`3eokN~0@Y&ot#dSG0A#Pk%5|_|l}! zj_5SFTwmGF!tBV#;z_vx;f1Sm*tS^pEq7HN5mVRvNp*I$YGEmN*&5#N<*?75CD%NG zG#W8})&aecTzB4HqX7U~bX@GgnNrKk=cB^l_Cl>wokse=;wlMX2m`j^mL5N)xXC)X zDu{Ky;8wSsNzWWUr6A|idc5rA4$!(WIaa~cHzq%qep;JSCrd{En%}R?b6t2;d4Rg6 zh!&hD-Rt-?x?Hy~U9Gk_N|SlU5#`8P2u#rR}N-UPWXKMe2kW+Bz9fGxB5DW8nKdeYCp#NyRe9gJpl#<5h_*&>%HG z;K2!kI6l>-0ytc)4e8Ca4TP?7!YsAPq@1K(t!Y>0!_MY*G20vi&N&KKw`^J~S2;HG z(xfdK69C;m+Cx*BAE(`RK9@#F?-)I15}-b*=`NK-*%uF^?3`;{?5h<EZe`?4*wx2pgypnUzI(`R{O%P`uY<2ur%BJRVJ!zW6?Q?F(qHgK# zRsUJ9HHkYmQ9{-D(3)ojwg*#(^J@coWY?ov<9-Tw(+|yJ?N2mvb2|zrbxK)wpqwYE z#LYAk*b886l=l{w!swZ}=U~!KdXf^U3@Sy}5P{@)_sKkOS0OoAB}1+_s?IFU&UXl^JT z_<|;jKze}*)e%-6dhCMLf{ivPAHQAz)_}5FZ0)@cL=v!=CL-JY5s?_Bk@_I>pB}GBa|Dk2en`>ZVnEhDB0@is;YDi#%6Wl=c54)IZ3_AsY{D?zS34p9awojBpZ<&xaBC&>*uk@JMx-) zrslR${#K^Vp9r&g^;@CgjJX?N#r<=NKYw*Gy|%vrEn;}(w&d)AoyGU}&It*5BaKi` zvs9t4SEoCN<@E*By=vzKlQj%W0teOBvi%`_iEH zmomt-^2o7ZfEs5Iny4cqv-s@Z@~P`jrk=yWs}x{=rxa|MF+&rY4#oL2_UI~{f277M z&FbtzxZTck{`S+5u*g^SObe@Xh?i{tS<(G?_b1i((+($kQ>U|I>tH%n)h?N(gJ(rE zkO=eY)%EA$>(B2;S7!A#@Mv_Msm7+mSk;lF^93=4$aB&DS(@g4lAevK(RPh53K=#U z*NAFlm5%J_Mx^8bv4c!#Kt908v#EMgnkDnl%ceEPFRqk&?z`CTW@-A>afgpm3kH|V zeTzdhS#@7LJh6|qhWhdC_1y9Cm=duy7jTfX@fs?XdUTT#T!O-!Gd?A)s%LN}EvJV+ zhz<^}J{a&V(>oV~wt3%Ia*~80hb3CkvTW9UucRhY?oKwoWNWE}=|U!h&K}VPUR%~X zF{);at(rEg-HE&; z_hgCs4?U6RKzXOM_YU!8r*km!QfVi%ifGXC!K!@V;@JpPX5X<;>+TuT-1$5;y1vs& zwm?2{Q}Y~qLrWX6ArHZ4E^jYG3 z^Br6C6>e3i{hn--U`*4&@kbweQ;f}ruMJmrTDsp?j5USBtXmSz!ZSHHw?#;8n|H)E zPcRXUoX?Zt_Xo1zo>}qrrgY$F!Dv%}_}k_>nG?Y4+Y+U2k2{XKcE3-aXiKHleu@uh zJf@!TSdq9jHkp3lYurB@Pp=ZsSvI$%5io_-yS-M(!N}%TeIF~r>ri~~#l;N7&J`KN}LW8R0 zFxSK~U*Axx1oVY+qqXYTGqq-pZg%>>{A)NKrPucu?B8{S(DnND;Dk}+*;}l%=rk6L zLY2OXE@Iq>$bT_t%^3S8FYdQRn`z)^5Wj zZhpa9PEqIjhtj6GcE2(Iw*wwx7+on7BP#KsaZUS8T$}2#=bf_EC1>tzmHNfdi-JeTXLaKYh2G?z`y&U^fWDWA2~lyX7n~$te=JLm@)M~g}ue1P;lBd zv)Zcog>O03zYkcJlKg%FehfEgf7 zdQIj0J}VcK`DQjx!@J=l$sy8d8SC{)r0rmVm+)(?NW%sQ`p=)4^KIR zlmDRSJ#rNmavQ9-odXF(U{Q;X6y$;2{HxRmNEqX1=09|@$ngO9TD~YW0U!>Q!(t0h z$R@&pmgxI0I|d}bkxWL}Dab);Z<^Ml`v&;pRLrzC30YzLUe5>Z=G*(XD(&`Tuzn>P!z-Xh+%99V{CW)}L#t6wgBW5Xfe1a8m7x(BOuFh(xpVyMV_oCE#6}#GL%B6|BmV;3p zB#3q^9eVg3ls3y@*9(aqC!yv@o@Gnl99O)|G;3Nm;5+zQ%WUPCXU4o9g!NJ%cgOl* z#fm41(a|qF7P4#-kv0%w%Ik8_6Y{jkL2iKOpB~JY}`#(*BUT;*c7Efs( z-N!+TD{M>p@cx>u@`6omf{T2|hk!aKJ(GbvpK9Le>T;y$0!Eo78}2^lpLQyAP?q+I$>d;?g)%^QgGG=4)Ek74Qq5_Kh8v%R14QI zY$@KO1Uwcrkj&g`Ahsa=)}6!8x+H`H^TLnOajQIe`<^!L5C;%=7E1GV-3 zjS|e)^w+taQ&RIyeY@+^)GP&r3Udlh(MMj@r=36h-PD@KFWPSiDrUlDhnG!mnSj{b z6{FZbenX&VihHtq6Q@AL?2;RPC9-sPee^(GCHdNQxdd0|IP4mlzMfdyp&xK(x68i4 z|94(@-5{JDiCgP?5Z=%`F+G_?Kbc%t|J8KkzzrPu_ZQRAD1nZbK!*y?4Ck44DYjro zsZPf*@7RYCygW1Lr$`EkA4FhIX+Mh30fUC8X~zlfk!w94!UmTl84a_Iv&Yf1#a%^< z!c5(@T^tsTUA@Bov$1*Vm{Y2g#;ixp`Lr@{5KiOhT!+OI?E{(|!F8It4zO>`J9_x`i70>P1--}JBGhiS0A8e3^$A@S3sFSeK9Ruqw+ zcM~!l2z4`c8qSdhE|KibpOjv>^OT>0+kAdGws3BiG~GV+a5|cBe;~fQ8<2yV5O^Dp zx0~0+aBUrEe->}xnRVzd)e-;f;rmS>Av}sBoHOG65hsA>f70kC^+auXVua_;`J}fY z2xk*3yT&;0)}eIsSv{t3CKEu2E^zNV;M*i~;qp?NBRts1NZ`+z8 z(Zqdo&}aWjFaEE~oabm<>DzsW!I0elPkT{r+TNN4gpC&a!S( zszgyNu40z;4i8@#3%|z9y)w0YT}gR}J5K)Kb*wYPyR9##0S}mzt091;dU5RAPvhPp z*yo@$yA87*?;VtzE!y-4n%uu1IOq9-NMnrY4+FU8{Hb>2Cf~=s+i}l(izSnBTozWF zxwnKKzdCMQ9EL?bkc24*?8gztbMjeZAeZ@htGV21et*o^`nFz`B7wz4v9U>$#t&8^Z3U}QBmYu~v#%t0Tp4eH}RCh`^ zyeIG9dUAXBj(@oNx?wkqEO=z7_v?wh_nq)GM=Nc-zyvjC5oKN?Atu$W!}goVi|IPd zPQsnY3$9+bhko#5lv6>1$F-qU6o7_vJ!kHH^K73j2|p%>-dA#99L{*?#M`fzHgHze zmDvPN`o9bpIAB7`v~brOXShQ1Ue9Bf<87ep$I=+G9_yYA{HPAL-4m>Eu`wb`e2<6v8>ke0tT_a%47sF+ zEO$Y!++6LgI@~rcKE5ZE-)Y){g%K@hL1IXZFleT1KBFx9Zy52dw{EG0DdvU^FYVCm z%#9pOBIk@g?Tz+Vcj>X4r-ahFAC;}P@Uvk-vSP%Lh1mAkQ zFKO-Ww%Qq5Ku^P^EvkV-u^=x~k-2(!^z#Oo;ck?3v7Rk)tvNvD^c5?n`T+%K#Rk_| zn_R`;cR$4ywG#+;SB9vcfk1I08t)ie6E$8`+ncDGuUUpUlnjm=No3a|Brx(a8)2I&Ec1*3?m?#7X1EB z$QtY4H9ORTA$Sq@nTYUmI)NmfCZ&NgreJy~b#IPM_J+j!k|PRV@c`LQ@G|si53g_K zJ_{MgrJG|gozyO{d>Ovll!>B{08j2>0+T0)9nmw)CVP-~d7*2I=uSGyK}x7qLP&ti z%%I5q0rPI|VmF)5XA+QTZ+Bu98En1U1Vp0j#gEzag1{bgFHn*d{!v3QNjWUU_mxju z$I(VJ!hi&~tag)3ZT5Kkrp~6JIFyajc&j<;OD}T|;^7G5S@#8}&BmrYP5yS^j`T;j~2Ipv0Iz*{nT};MW5+rs$O4*j1Hg z+ObN;4s}o~G(qe30uOn{`##rbmbIMI`R*x5Hu)H7iG&>z>YBb|m^MW>a8nn8nT|gY zzP=-Zq{{7zaI$6(?eI{<)Q1URet_iW>&?Olv{VqO&!2jRta64(8kqU7f+Q8KhWgee zPtYXs`wN1pU-#gih2_REo^zY0Z6&?tO5-(Wf7rzz)B#Zqd^4M!tT47UTq)SX&D zu+cvV6KC_brAepfXB_B9+lZ_j9JW>L6aMRf1UQmDM}M}K78Q~xwtnrK{E7cVt_>T^_E%%XYKoMllfP;1F1Qc=*Tj4U*c~g;Xtd5*M#B)R|aCwX`hQn zh#cmzFGWY(wkoSz!C}_8X2ZX7f>I!|wd zyS(D%q>F5t*-d)?4GK#ZdB4VEj?xm97CcxTrqg%49ssPQivdSC)n8rwxLtiSc1imLw-bkXUD?!ma~K#M7-zCe*)(R|&#ps(+(tP$ zx?)z{juB5VYNQIl7_E-|z#z4<=UrU?0AvZz*&{a!p_=W?FGe&H_5H}qA+V3nDq~7w z5(=g2)1Q9mU`B^oN=SU4;XRM`mUdVS8oyyZKQ~sH7#(IlH@pPtaPp1zE_v0NoUab9 zDe``5-Xqna|GE5I@SM}suE-;H>NCZ!*|5MvA#xAf;kU5$&_FZcvCd-a^Ju>82E#Yz z$ZOSKImfdFNVC1VK}P~XVIB@1_bh^V#<~>JjCi0lIyIW61Q>x-wqgaalW&^0*<=Zb zo{*B7S}aU0K49EQzLOsPUa@42e|9Ez$mxnZ-TC}EJfG8{tAFXY1rZO$ucVC^n#&+l z;AX;yI+2Jfp6}~v0&fkUxqJLAHibUkplYtr_BBJ6?*k77wq6xuwmTyK6Fyr|)#S!79`g5a>>0W4if5hnZ;Hc1Nn(=uVLN3yKm6iq?Y_^nsT{ zuBejv1f65?S1|1L!88EB-le1COf^^Q#eioDO978FQ=BS{5&<-ZLCO+?Ep702Wnk2N z&hJSRC$2J?>iU|xKVp zzJ(va+9_V!qScRdzjL&jx0*kjD#NSL=;1Yg=%3DwIUIC3XH3qs)`cTQ8(!B8oWboi zvBt_hQyqKUI+}|jW?w80Ibox8{peEIN>-g-e}+GxGM6<}gIqhA{S^Y*_ZXYrw;;7} z)fq6#q#dgq-d0&xK9FKrYd_BRfT`$KXxLNZK>U=3pc5IZYT~$HYZ~Nljm2T-uiA@h zw2*4mL2sF+OKfN2X8z^(8LlK!(_ihLeq+<}S_PIKuW)OdtnUTiQbI@8?_;rLiVbEyHesg|Vj z(;Y=M&)t_c7gH`=DIrEmf=XZC22y7PnSh7BwNbhVQAaN-HAB-aKEFKJ@yMrhNf%A% zZYQW)75Dw{mEMu8zyYD;HaF5YAcq)wgUsbqBdocjF=Yyb%-5YT!rSDQSU?S;g5 zrP<<&n^;ftVGKPD5sWG7VyQq#hdX}d~mdlHyJLHFwq z{+r+rPo2N82!izDKN0${fF-&R5?F zDfBjN5W*!;TMRq=+OP3yAaL-$kClFsG5Dz_8S29eM`M7zsOkyh`s{it=(cpT}vs|$xN3#7b3@R22OJg$u0GRvnJbvh52 za7%>*-Liu4CXugs>Tq*YDlQ2F;9#EBJYN{@`qtp&jxb|EFseC&Q%E!%M`3`6GDD#P z(TI)0A80Q;X2Kgq4fihcZieM+!T@;41HvuL9;LW`FeDF5+pGRAZpyjW8~g2S*?knc z2zFwiqY;C#F~RWvwMS8fJr%h0bX3`nomg4w_*##hWCpsATa2BMz`)Dc`&R9uANkJz zGoU;F%F~SS;-ZtVF;OkQ5q{WwGi3X&s3lQ3i@iIvQu@kGeras)Yp=?2x4E2IoWR)VWs5;Z{6%1rdv- zw8Z(Kp_+KFLQ}j8Gbir&BK~P}ECm(7Ocg_3wGLH|g@TH0d=VCXIm>V>d7Qp4MJ;>* zqj%FX>y;6|!ooGxfkyl#=I(HGK}A-ii*msAD-J4f%&G$F#=$~&byFZ>tc0tzNzmdO27Ie(S10`%0nNpZA$ z1x`_2+9=Pg(fo0r-vxT|CBW`(%nV_2?YIxe5?AwCbFIkcs(|>S@ZH%6sfxd%OO2I~ z#QBt=VsiRUVUZa)1r?0is56+T`ZHFH7@JDk8=}L%Hx)%jEvCf|a z1V}+_;yWrp_)vnu%r&loDpvyeeHK6bbY0nLd?ZSc#>eHZlYw+>cnRS8dAx+ZJv{_6OgV?Jn5*xq+TmTcXx zXt*#VG-X6=7vIz_nAY1=wMV|NTxfsK_%So3`onkCGv=iTQ1f0L-8Nj+8Jzv8`SyNj~B>W z3F+M`XOZWnXPwdqdu8vofDWaCutF!iEg+KA`!ag%hJ_eH3ExVd55>$NB zc_!;$SAZ&=+dxYhVfU7NdkI$Sm(N>tM0JqUUWcm=J>WtB{Jvy$OZExkghF9~-~ylF zoLyxiTZ3F5{cTX6>y}glI+Wu>M(new>WWQ*0uo2W#r`{%$N`2ZfykdtEk!#ugO@mT z0{!gd0@|nQ#F2#H_i5#dA;`3E`Kw{N4Cs|bbz|5wHzk3upHE{(5{?$rp%$gM2v$Dx zFeu`BkLok@J{iz{zPD3ee=s+WOX;a+bgJySYrYpwnu_Z^_*l=#gGk%i>|+YY`$BOy zfXsWou)ekc&BHoBWGm$U$ST?uTWDS$eJy_cRqjT5V70OGVGet2TXQsx$)FHC6t&&I z9pAfP6U4;w>F!cmu>$k?3j|1w7DOpyr{=+;K`T%=8h#f-PI7&L6Z!Tq@ui$ORhazZ zRj1|K#<4%^?nDF!^+x9m(;WlldOoSSn(g}ErhEecye_25JH;B2hQ=p;+Yno57J zJhb#5+5R0g+^fN1{zOG@n;z&<79Kx+jE16N`RH^OHlqK2RO?JVx7o5ov8F&1=bkGf zf2tvb@@Rh=P?-|v%!-VE^M{+_-tJ>1V3!pRr`6MC>#H$)d=R>MM4m6Ui3>1PE})1D zNuseM=D=V#*(xVVUlq;HT&8-8XWDE9Eos=drS`3x& z(65y_?q?LiCjWVb*DSHdO%0pnG`%ky;KiNbRxF^LOe-iBfy{59v!1aSi%h{ z0XnZtNk5;yI^F90X@f#ZfcImO27Ou7q?4KLkVrd)duN~LMLpj~<#V6Ki7a92Yz}Vx zzjmw+hkNGk!kxLT_I<4zx*8qHV1g2g$*QI>@7u+p4|{E~=p&2n3=#2#H|ag|&#)T7 zgV80OUrUcz@Pah5k>6XRr~JnfdjC0y8&3I$m;M|Nz-$Trmv6(Al{NP_C5&NsUWwa6 z4s_u4b?DG)=&BmEzilzKf-rA~b~?>_SB0kx1YJaWG8F*(-Ye)~SaPH1hXg-!KhB71 z{SN+RIp%AO?}d{&8>b)moRlqY+b6;B{T7U2Vqr{s)+e-Ppyy`VE5W5oE615O?-$Q1 zV&x6@GmgpM~APWQOYPxpvz*I%5%df%1gTs{1oiFb2X z+7|iTZx)+K>FsowNao`Btu5TU_!-o^KyBx=l%Fj6y${RqKiXbf>Ob}6JJWW0%74@; zD5)qW!~TZmg0H|H2lM4;EVultsk_RKaSB7{n$0;yaHRvdA(%mai?Hy642>CFJF`A}boF)HnGKRKs2R4I0{CTR)0u0jA95?xh*Jf zPbQ|x%8S(F_>GHf4%gBn)Y#~Jc?_f`ojl&-dckJMGRhh9G2 z2MuggF^a%uHQEN!nmA0__BP|ciQ_~rIhFNRYrm@gQWSmd`if(SFnv7cGuCT+=yvpv z5r-WjtA~I0cuDpUTZU1Ua!aP?7=}Cmi%;hih9XTW55;bJ@0hS7)p$lbsW`T;}+kakQnMp;GiQz{H{rxX-{^$&{nejlhMs*gTpKfbsVIl?`q4vk`@Il`snj`NHj z3O=bax9P~-*Ftwy0l(}x9%KNpmo+0ZmSIRb$Fp?dTFi;?B4>55dfaxe4Jd^m>qL|# zb68KH74mFHdw7hJzB93=uMNN#=_y2>%NCKKAMj=IFwQ}cx zgcGi>(xO1CNvTNgCE&bIrJk39McnvnOdxsE**}&B+hhA(mLUm1_mnNdKsQy$zHxwz zSo}asY2PZ%yIW~;KHNq^MM;vbXZ%CQ=8J)s;HXzwc~g)113TXsHz=`L)|<~kQJ%u< zL%;P*qeeZ0s?miNpIzuLE7w&hTTlP|7^u*$VqRuicWN8&wYk0;KSYS8dV1Ro36}pp zrlcxTI2&L=U2HfT1o_g@LW3G;92T8Gc)5sMJ#5?#=>7 z#ZKUR83^Hmyv46kI?RWaPdk{$l{V&^3AUxRR6{~f`j*=l+XDn(RGa|d>#a8FsiwpW`*Gl~4Yx@Lm^0QEZ>TW|3{|J>iMFMRIInM0LETYe0JYT2h zKd{ZKJ0qh&i#I$2J>$6CMVu2(D^zhdw1LMsMynPcgD-JgWxp2sOe}!>?j@@&6(hQ9ZW%JT^+g-U$}&Zb zkMFx|*N2B|P5!Yj!j1I!E#I4P11yd8I%4Tw2UuQGrm7fqD*XRhOCwTrnF}CH#QT(Y z69?k|9s?2x5S3yqTRxz5>t5nw4rd%<&b}tapIxoBZt~yv+dgOk;?mEM^)j; z#Tc3f;%9&nvGRx`RxJE8y;Qowh$C$*4c9Z#=$UcULj28uzN1>sSNKy*f}Wf+7c(a( z-6iHT>yR;vS39ZSo2pAJNkj2G|Jh^EU92JS&1XEu>+p>42xNKx#**7OngHNp((!C2 zTl7(T|8zKe*>q8{sVo#wcC28OQtE>JjD;t9X2I$SHBoJ=n~vT{=GFBm+v4Q4oWY2s z3S2nV_wV~zE!Qp_(C(iT&IjDzGXNq2=LMN2#TrPY568b`G!a%m@wF>L4-uoH8O_<9 z9pRu%5CkMXQJPVuS3u89)AAgLU^jT;`C-fBbu0}aOQU_yLeAH7z(0v5O1J(Vhw+(4 zlf4ycWdOybzwWK3?J7y4`8r@3R~YmoK!NF4%T8Bek|0tAydSQx#f6rbV#5EPC7UH9 zOjqE2D4yS85tj+1v>RV38w#zsy9^Pr(&$(qPMMU&-`>qlw5E`gvdHdVEQj=kx@q-RYpgXRJA%s{Yy*i;Cv1!E8fb=Zv>A|z}+J0VrLw%aiNeE zIIRj05AgW9-e{w_aCGM5QKspU->>=a`&TMaxu8eipe zsS&JjxU09{qA-ffWJ>)EEK4>_&qP;SBpT_tTd6r-jvZ?6RyX?W;@M^drMx0(fM7Mq zoG`rh`~pB)e=tvutsGWv?e0|VzL%u6PXWSz;vgaNvt&d)gV^z!Dc%q z$#$_7j?+iobVHqzyIVgeUK-4lO6BuQO)RTl#3g7!_xy4FcY;~>H!$+#zi0;?31sxw z%d~ci3lia{KOZVYEUbkmh2+B|A_h0n=;PVsnCm>=(ea7|4hB^)7lrjT=*iVN9#Bmt z#$7mYjixlfP!yC>l$84J8v9cPiv0SHi&jmS<$&$gBSieCu65 z%XmM{h4`|3ZOHcBz_A<02P>S3y!q5Q0KZ*&#;1-qvC&2Q@ZrEdN=$r!3iB(!6IFY3 z@rEQMi40;xpA1e^bXMojYd)eXR==T)Z5ZaoSIDP;tcMY*#xZCg!l%8@#g?Y})MA~~ z&h|)3T2rY`I)<3=2N^uaS&rtOooatkr2#0hX}~98t`+xr%p@Qtn<^jrc8zvGF>f9b zDMfG$7EP3g`I1849;h=RzPjI`cHK~FyG*#B52~pG3?utsjU{};*8scV`Rsi(Alg__ zcg|t8@PM}mtyF$^c?7kHsO#JRrvS9lA{_b`^(-z`|M2kVA5BJyyA%fVz*v5cRzH)ri+dXG2n__hf> zW!;pRLUs0Ctb8jIxs5XKPHhObnsKGn2VH1A2u#wdvMjW}e!*RYG z>eq7jNwSH&1>N4WJEWaZ9s5K zXH>E@{!iMAf99Zn(d1TaZ(RM$TrbK-qVzwT%4V?eMV!V}VUuL3TUjY%#G$H8-Tq38eb1(8Uix+zna2+QUbsxKGs44mO};;7(7^yZr@vH2%Y^Pr zrczE{`|xH?K(2=N&HK)L@w*=6tY@O9$1D_(ca=8GK!fsdyH6E3_Un(AJad2UdCG^_ zgZ~O>l@HBXd|JNOEFYqo`Qr-zYfLcr$CPS52#Wn*)AXMp64nKdL>3`Way0n^un_@7 z5iHS{Z>p^09LH_6&G@uUX`a4`M7LI#tXO5tQrKp6ERrEC|8}pVc3Eje-X{FeA(33Z z%%YPStMyoc#Vvq6;@~2dlbxyFzTdpFpblKlUn(iA)qxeIC8TfrFkHIMY)P!-FGY>m zi)}mTiY$IpzZIG5X&g;%%)JM)L#!cfL`bZf67?!|c=queg4f9!xlbYa(4EZbatnW> zF7zO>(|fsZ{Fa+(-#CKO8MI*B)W~tajf9p=m#EmpE8Db7?r-^N#6lm5%k&^tiitn; zx+%EV+DN9Zi{O0ZXBT&E3gQosAcjoeEI0HlhpdG#7O0KT`q0&4q-V{uR=Gxlx$=pF zb%h<3?!gbX`87SR&2!^Wk;p2XT5=1jLxV}te-su}+k)Mqqrf0HO}O`3N&EhI_gsyr zu(h>L1saqv|dYUr{NqZ1p(6!H2MgQ*uJ?ni#E zOMsu9w^^c`Am^(x^g@hDHA%b1Mu6#QIB%22gbn0E!W6#4c0(@$+RsUKG=0?KAT5=@rIT3yGH&0Hdc% zlce&BvZq@PdoaL==7!VW`T4*$ECcA8;7|%Q`)cp}{=;}3rZ9gPV-Nx!0s>P|M}gQz z#7NF_uXW-xcjg z9acRr%X=87-oNigm5v6x0#BRul|_@DryG z!`ReePJP;l{Gclx>r8S0M3=uj`EI^`sGp!pF1?=T0i$8d4Zb^&4-0_^&rQ#f(8teF zO_D4G0{HAVJ^{SZW-k?>CTv4yOPRj+AFdRH!os6{vlY!^mMPZui)V_p29Vr32!uy% z?k4fChLKt;UoP-7Nx$N9URKJxVz`l&{W28y4913d5Y!#FT4OX$Opyxe<-bw6uP~o$ zXEqa@trry8L<+l^J=x;9QF{n1Dn8BkI+@io{}pH^wC_d+bK7?>VoJ^T0^(YDAEb6c z?Hz!8uUNm=+%=03f~pclVI;Rq$@1ONvd&|s=91Bzl;%SqdwZ?<~6>sr8?1^+D0ScfsFpUlU%rS zd;=M7S8&$Ia585;F5x>K5!;XitK2lKKS`Y!tY+n6>(|XLuqi>1TX=u&+J8tn{?*U? zsO2RI76U)<;%mfmPlWE|BFX67?py25a7DKEcCN1J)Zj_Qz7_jBW<`kivcxF7&;x`B4a2?DYs8AbsxY@4Jn>|LK?8F6d!`=tIW;-dF=V>-T2r?#KcRzl&3sl+)d< zs%#8BJJ0bH%Qxrr0$2W(|4R&@%Cmkjo^{SYo?8=A(d7b- zBy~m544dC+FV*$mFD>Z2@nr>`P`vSN%Uf04(BI%nw0m-%*)f^BDs6b$uXTXg*YMtA1#|BUW}dx=-Y{>@y@&VH>SB!8v@CweKzdB~*UvACnro?H8Fx|O^A z<^dO7Dxt$%^Qn@EA0z9h-yidB4k_|i@0W=3S7XGd&o->WXvlzn8cQ1=j4x$%r8f8f zrIz?X@RqO~FrJbC=A{K-rI>)s&+>jjtgQSXtzExfdt~A;RCSe;W#DITveZg~cPJOv zdFivVJXc^YS87CCB=+gwhv){47P~aj!V;^cIiALfCpJH~!l@XXWCtxb!@0Fm+0d1x zlKoT1skN*Q-TzwH%X^l~w0vI4(1AWxCo?(d|Ig^jPRuph0YoHl$8l%O58~mFgN3M^nYK+efkw=Epbvg=_2{*tvs}c z(Ah0A+3mFPsW9Q9U!0)~qOs|08+*6n3j2dl+%(fbM_$LyFT5T?@EK0MrF#R26JRmR z5qUPzHeBj8>s03{eX)>_)-AX2z?}!db16#=36(Z)6}BC5B>0k0BYIh<4gN*Dj(!$5 zH1T9uERLkGqj0FnXKQ=v-elS52>UKg@y-|7>WmwZyrU^EQe$?Zzl&}jRYvmNd>Wo9 zb>gIrPBJI)G}5{QZ-aeVVqCUwaO4Hr9kZ1q>g{_jINOA8o_3N&uKBy(JchCwTWFt3 z>2~=!`oXidwj|iic}K=jD)uFeFWbqIk?myB+k#u%fG5Zu?r_oTC*?MglJszdJ$lVo z$=pdb$Pq+;*^@Kjff?4=qM#MkwyxjdSa7+|1EGS9>p(QxyniQ4ntK^_C=$DEvIen(15~5M?MP8Jtz+8vdjfP2egcbDoj;U2$=X^LL z=nGtKFn;nm(S(_iWFHETjiJka`Gl?~Li%aYT$*g)Cu;-}4}Us5CfdK6TU=?7R8xpO zV8hQ)e%}HCBqx{ zt9@Q{$^Kh(?StEjg`5h3ohzRMcnnWIy)(n&C3N&^Q+zi$OD1V?G3qke`n>33^c!aR zr+DgQQKNl(Q($qcFGn@^XQBA&1&O6r-MT2c!IoB}6opSqrjSB_zDxS1SY0E*=eysU<8}CVbl*n-jps09n2mF=( z`wH;)mB2At9P;*$_W6xS4Tnve-}VS{{cd!@7<+=jXx#H@bfFftE%b}-psRoG=11;_ z2hLWSHhxd3pKEb^5O<^Tmg{<=%7yn?|5lM#CAn~P`LN;`v($t8C4Yq}=G21>B2z!Z zF1JU@pOt!_%+g-AIiJlR4j?RU55n!n{v-<=^aL9c0z1Z|0k>9>hw;8z5Sqhhv?wYO zp;Se-u)Z`8_gc+`yS5T{$K$rD$qIW!8|-0^#LcbbW^aWCfqlBKqXfyXl}tmZVdJ@? z9ZjdbSl0;xUz^KhE-4MBAFzUsK`O={WvM!IV|C4t*W`ahsQ&TD1@d`-+Or8pp{1t-c}Wvs|9Aq;jM%cIpP{C22%vXh}q%P*XGHUETbwBIgpx~JLOnf5qz?tKDSE?eI+=wr&Q5#x!HKa z#d??K=PRTAV{k!~lN%~3rHwz0b*pz1g!%kJi>MQHj^3;0G@==f)VGt23~@9**T5n@ zfcS=s@~_8aP(SpW`2>pK!ySF4fdNu{vk){opXTfq4WBxzZy6Ya`5`FH6V>%Z)6_)g zQeg$ZOMPv;27LA1jOMmVt@5?tgeR(^dT%|qI95yNhU+V~-&-Xg*s?$>H01#hj?W0M zBEL$$zsvWT&Uuf%FW?bl2qdbuMk$O9F80^seWfYSf_1S9`YG_!G|&Jn5N zma_fxIiBg_qJ1vqiHGqe*k9d=ESogcAM z60L6*G@EsxcrvHIqelxQ_-leFcNaT8;H$agz?#75U3tJ?sy2SH!TEo>j%STODi^@UFaty)ka2Baq{xbaW+v8TJ(8o#Z$EZ^7HL*(1j3o-iEQ z_WsULry>rKKKuTQ>^A4qMQvqc3p;2e+7{wDlDuK>b4iEpnE06FT(>!(P@C)SSGoyf z2~Tuf);rIvG}l#%Y#bM8Y+q76vUN+`c8+fSZXXBEXM<Wgwl+5)JKoS=q%WDp@-v$<>JwCYp9kWw9fQXdYtt3vjj5J30 z+>DFzkHL-uWcMriPPH%ZoE$6F70Wz&ZNNxJgCe231);?JU^8)?cD*z7#VXb++w4XS|=0h2qhFgzh z#fi}TS*x>i^w|LmM4x32uCKYo=1{xC<*QxdWgNOtw_P3aG;j|@|L#*Vv{141S2TP7 zBf;LslpKM#wj;rHXZuu7k5khUV;h|G_tcq{jbW_t_q_|pKFuQo_4{q6O{N8chSl9v`on`h3HtPL_ zpR7cUSrlEx!O>P1ZsQ$iK~9L;$4??Gt4CS4FjhU$O0K<4KdPQ&S7(=$udNGbcUisA z2H81lz2wR|u2z%bXnxoU`*wk0QtLMlNw-6-t;?FhgFMqPZjc)?SoF%Yx!PvgT`yS= z@LdLQofMSxNHfC!Rb1n}kH3oy>ah0N6%K#{;-eIR0H1 zoF^|lg^A@FKoKtYH>is$=ktPUQx*1vbdWMeb8l7oBfK}%x1xJmPpQ}^sU^;G+x7&6 z{I{Y56<{xonIOWm45r zgv9p2jbLU31P1Bz4pNXGf?WJ|G>DNQ4j{4xM>gO81r*DSjQui&z^XeDJLD&iwz(|9 z30Ld7W+{(?b7uT}-ct#_(llJX$>ygkeGw!8x^o@b+NK!6U;IF$K~t_xX8Av9MuXy9 z`5E+|2;VC2$b8qzZ%zybn~`)wRq~R*p57GaQU%aQ78jdq=f?_I;gIC&@eS|#i4J|R3QUQRHXPn07h)(_h8@4Xde3EhSmu%C!g%^hVmZ>jGG zS)%#xQ@kPrGVR-!wkBS_hYxlmdKM7&!$r6^Q<}#-z8PZ+@A1vmdo&*T=eRpA$Mt}6 zc|bH46XWR^_|Qms_P5eXA{AfAYP-zd#0+HiHtjJ3R5)jGOFZ`RJi*a&Q{-gC+i{fq zJ-moHSZzcwvGF-9Q*vulpsFi#v)wm!MuS~=tZ{TfCngf)Sby&0+4f0*^?J>I+w`eb zzj9k>6X4!{S!y*=$rzBhjIr*zO)WE;@tQ~cW7wXS4D6>2JaAa(qk&p6^Jb+K!Fl{g zWldV91|^l2`n)f8EGjMTg`2g<3BP^9;(jHwhEppkKP|9=?l@JxQ%MhPVkQudUOn#p>_`o#atBo0KCUsDrt_4q4+sLpMxfHW64dx?ng_8_xy1TE>HW@HSBWxm>FM5 zGmTLx`2GPSpUY|Ye-lbB#06pAy{Iie!W?(W8+Xew##i_bf-r?Y3mg9Sl(43g6%E4Y z!_12oj~2;98I5w#;N(yweZVNZ4S$WFN6-=rew(Ntp~PoV7b0p)7tnd!N+5E~F?xwr zW_>O-J0&RF@X7*kW0-u6JwKNtaWuT&!h%zr7nMxv=1OU%k*HZN8K0zSJQHEJixO*g zZ`q5Y>~|KCLPXUc8iji#i(Z4_oczuiuhPO5s%q%Gr|LWuJFcJJIqhrrNi*KvqncL~ z0K8=%T)8_n^65}RN{nBTW&q!KG*E23$@wJO6rT>-%N|8Q4Ofsn znedxmqlj44YQ6H_B2<%~`i;|_iV={dt2=K3rWTbO0c#0Us)r=I~6l$NvSHLsNNj@=qq|0zPl5$y9I z3Xd2MHS0^)=-5}bnX_+eqs4ChsBb3%YVMC12X#f})FNrij&7vIGit=SNf~EE++);s zbh8mYQRAE(J22@?SA8t!sl{&P9ih__=F6Eqm5p4T5)UrX2w3M54y5Y&8l1;0x>7xT0>&p)kDH|ILPARn<(`IIXom>eYmPSQ!oEJ)WUjS`3^)FH zn+{V~N#f{w35p4XR?!uOeC5k~6=G)um6lX+c=Y4Wp!{1hipbf% zI*-D@eJ;_0jLK8Q2|&d5zwM2j3U?=sJZdp>Z}N2;T0Y zWckc+ZffvxY?c=gYu7DnFCd%V{{nZpugHi$HTQ?!?mihj7s-2G)jqQt&Z@AzcY4-z zejCMpO+K^LA9z03pcfx{+RS!+(0;g$jo_UVn9}mzyb?E2d}`Aop2q*?h*6hij=3;K zJpE+y*7hL(fw+ir#S1lg6G z#J*Gr&svjRv%<=2hjlq)v@s;xyA7*eb`Ub4JC0;W+3hD~w1yXPn$QnAng6_>U7&$n zo(~~4y)YmH2iByir=GEzUa74o0Fw)dHniu<+kS%CJdEHj3 z!fE;#2(Qadj6*i;mHJ1_DSks3c?d(qCte zHhnunplti@p=ubzZ#(4=>eV0EL!6Gv#^dLIu#|Io?@nvM#W}y!AKiVlJ*bh40}gIR zFN?QlZR}M0_$0L6H07BVtjua<_QsXRpQ9wH&%eb22Z&MyHKCzqcE_|--4@L)yh19l^e zY%?G+C+HX3V|lGD8gy!usiM;wxx_TfS*c^KeNKQ!Oj`C z?t$@*;ww9KkNsarRvM4{ms$?>Z@XzulJTP_Mp1_=nHRvNF{D(5;u;6% z!ceOw_pMCE8D!7p@+nus5V|BG?z2Mb)8EeP13!t~^M>w~!fQxemKzu1A&OV$lAru+ z9*is>F6vKnDP(A1_17WDu`TJVA@}S&fTGsnT>!>!Nks;^ce*@ z4F=&A+{yak%eRC9AIE7#&&KyVCvQI?ts`C_x%q3tt{_JG>z+BlB_Vi zW`%BaaW95t!Xp6zG4W&3s1^1enF$x%@XR~xqEf7CxQk}>8L3wMA_^C#KQM7DiiY@a z8T$0bLpT-pYcY%>>oCY;UMH)0Mq#M3S2bW0Wo~qpyg_=t1DkGdEOyfA=Xg(uO2T|8 zUEHOPm3OkD5s(*4K+_EN{O^+c;f}4H)zx^uqhN)uzZ=6m$at01M%nj($F9#a80lDF z^ex9P6Eo}l07C~Wz|Z+__|IEnR8LHuSL5b9*WrGC*=A|X&`OlgGaUKcHkGiWcY18l z)^HC6s`#T7o##;t4#yn&mZh*9^?0Y~*vw((SvOLcL2XNy$MO^F=YY6FPVjPbzl<5c zv82{2R-H^*YOTc!w13{blqEOrDpoRETJ=7)s4~m-4ueYgX|>}0=*`DO7L7aoGv~WH zoyzacIlk>Ow~u{iv&oz$0dCCTy&tO|6gjO()*Cng)*+OLfn z{k*N2R~J(qB05>o)Q1U2jlzq^yG+n;icw-d7nKkDp9kzVO(*O$sD78aAFKx1EeP}e z^U7A$ST%aRabua}0;o@R)Hyne&PykbyLGFwfOj!bSW*A-Un)fPg4S5Q3#rlaH>k4C z5(B1QS&ZW049<8EfRUz+(%x4nXYJ!Vem+Be18Zds%D9R@zzIHS3*JK)5+Mew8>}%a z-Xh)~T1d9j=SSklf18PC9CVVg{+wve?k|U47wRBL=iQI2R75qdlJ*X74COLbZn+h0 zRyR@*Ap;V7ZAWLXD=(QSJI3vODg)0BgiJl|s+%hWisTf!W(ODu1(Aaryhmv?(LaXm z+DcA+g^s2PQV@Sw#BI&*87Hhv?ZI8D#BH|bK2}!qr!Q|UfeXk;&41Mkx5KWIOG3Hh zQEuyp{{}d0?94SpcdjB&jiJ)ixR=sJ_A7OevqqA&hrqLk>IS0+Yfk+1#f8`_LX6^#Y*R&-9mdMSdqWu~6%>EBFUV0k_CyExp?jjAgOW#vI-bf8` zhJ%Ms>g_a0tnHMW-z>OP6Q>trZ&7>#CYobzFCk|K*&!Vkz@!egJ+X%}HF%F-{9fyU zd#dD&OA5oeh{o+Pc-$oVhuL*|gYRwI!YlAZbDSZNFEc`Ov^h$OWv1~`Bo)%2{7UHpXtXMsNsEC*|=i*ubrm_{~Uk*s}EbZ)&1Usw%m&72nBbu8&lFuVl{`& zl4_2Uu_ zFVMUzz1-|9A8}EHYK)hPostV_#40nFEo=?1vj&2m^hF z2{?c%CndtskP`vEvP;Hlz3N%d>sa4j$1uW_s<=vst+ofH`6D<@XP#nbrAP+&Pwek2 zUBt~!(mQ3wdcGc$_<~d5i#tK4Wtk+ozO?y%`iIJR%u}C|ewk$3C1aY`{XW~$UnqmzT0rlV z-{OAVY60S&Gmj_Cpf`v5u!%BV0OqqEtg1%GKU#=`=wGq@7LveNV6}P|?nNfax#}VT zZu$Hx^5f6u9;w~lQ_q=No|GptH7GmmLfF(~#sHPGyD+S27q?X|&fT@DM8kkJ);)KD zAmX$r4Z{Q}-GuiHY;$2uvdoFd0hC&?RZk{!RJQ@`SJ+zFviyv@Of|sf*Qckc4F7 zhlF#LEy*m|>jkIZCmCVH!}l(~KjzA$J56?PF66Lk1v1N{m=*GJd zEyDJt70l0*mW~1Yk4*)qs!RPQSvaXN8|~4{Ae#0eHxeQ`IJ%g1pL|xZkAh;;QpWtS zo6y?Vg%u4Tz@t%k2ECTJWw)Dw<7?^Y$kwf={r9qx?b1XN^4Qt17ue_QaJB{InP z|GAowIDl-(Kfapgj|uFkI?)QDB`1>9RC-I};Dhfa5`)9D<%SA-oe`wT+gnF{j2f)p z-Q7tyf4ox8xL+r)^rik!7j-ra_M2CAp$^MsxGW;%3T=X96srT}I)NzSp+-EZ>Re!j zt(Dq+-i32k=eUgJE$hQ;VG`Dt!8{)VURDjINnJX$tD}@wh^Z}pwVY8AInQKbyyQHNCpPI#CY|Y#Anv9ELCg2%Z zww``*snad{Gdi29PMCiDR+@w$UUil^q4M%@U&RSIRzdi0UsI4P$66zLO|qg;aP{{YS8(oagZCImL)+{*{Y`&O>}zp} z;V1MPTE-@coV*)5^@%+Y8)W;TD`Oi+d*AT-hD(>u;A~S_Vd7n>;HyId>;hg#zEUwJso> ztzl@~;_`UzYaU`R?pkrqDlR@dyRgqW$foB2#1xg+7O-G;sZ41K2cPHgL`IB{M>4`K zVKY$!@n$^gYgaQVt*$&LLt zHEqO~m$k78Gf~**M2zqHU)Ai3-r!ir*2GFzjMZ{B$pl+RjDCls-=OV~^7Ilysmf8# z)uMoXo*_p-dE!^R?}Mn+80d56P4-I@g%wjDh^r-LP^K17D*W){rRvJNaCWkhsZA-x#09AI?pj1=5oG$uYcdKdm2!1kqhD@@6=_0kSEA zO-n(*7@sf{ehKjuQ1HuzdEtWy9_F3v?wvgw6^y^IFsB>p3j7mmud_F`c!7g$r^RA{ zlYin^GlHq#CfojMDG>m?lALt;Ar&_M*29}%wE$CsVHt+@k2MakgL+?Ze0dXu{U~pgtCRc?aq@4 z_}n(=VJDve5peQHd&HMDbf^l&LVsc=yPal}O*{CqE7x?FrX5l|V95W@j>b}8HnL#Y z*QE2d{1L3cl~oD)X-Gn?w%h^{ryO`uSBv^h|N4am*=c8|`?oE>rl`q3UtUE2`bWAz z#?SAM6D3J#h5yQ=BVtebb_LtoP<0VNynGbc+BN^cQV+9-9DykJDk_=t=)tTciK5&N)nDT8U`!T=`M#7L_hU`YeF+>fvo| zNhCA#KQ%9mZ(&9UY8g=_fQ>Xw4|myPDAC$ia%4V(!Y*wV2EjqZN#h`yV-UXSWi?`$ za2-AS0GRPf=mu~UK)TReb30;NoEiMM5j&pg+@?!X>DJGXSZ7s*0XOA;87%9{;L0{A zA{2Rx)?9ub}Z2B83Zn_m3TDtE^`cVl$c}!Nv>=I}^$(kYs&K8Pr@)7DcG{Jfa zo&PhA&6{STB!nNajj3w-6v?B}kMq*lSoNK+&f63N6IY9nrXrz!EFbHb1Ok}x+cjjv zBt>}Nk4DMk)JPs3N$Pw69?V!uXwZ@r-{Lsfq6CRO9Vjj_^L2lwt36!$@DsL-<52cq zxxlX10d~K12zPhjVz^qeRIvR^rzvg^9?Xfb(jE+@=Cxsg)`J}Ev-yRVY>kCCyY4rE z395WCV3bT~EFmuhX`uiIpymgC#58xMo9&ummYh#+V18~sJ&1>@$25?~X zX{6+{(|gO!WQyV5(NzcF<*P2~{~afqk4gA$+GVViNPl)#iIDk=Jx0>kk}fvZ_8kqKnkXd~rlA88DZctAZC)uf!@wNIgg+Ta zPE%yYjy}RgQTyuYtr;l_Jx(-m-WlaO*8P1fgMOiz!ta`PjJ?L*ZUtyrD8G|_v}0}8 zPqRCiLF4NPZrm{zR6}1afhp>YsM)V2J6ixp`yZ>Q;{%e{Ow9pr`I;JYb`Dm3Hu*LS2J%AncvbmJ=#sDRvXEiAl5cc4i|yG!3{O6Y~o z&XO<<$>8~C@0U)IsjfY4Zt?aHD;erL9NtxX-$=AIL|R&$`Bwm?q`Aowv3Kwnymo{# zXcGcU1L^#~9G8>Y!<01yhUZvK@ttYpM!nvusu+NIoHlrid&^B5Qn&{ z=`WD5k|=XZRtLB3NKyV6!XWR8crQd;qwUwpct2i=Me5@}@d(lV{Q=)tXpfeV*vE;r z$CtN5xyez(4g7MuHr;i=1JB-~8D8(2cN}}TJl~#G67V-V(o!;-QCz7I@MVcVi|8>l z+1-gO#)XWcnOXt7!Lz%$vex#pu4;l#ZZMaJ$$v@*zrruAuGRu`j9#XuzwRD*k6;-EbByb)2a-%#sDtDg>RlzSGaNb0=&WmXcZcw zwW;8Sp01yN>m~SbhvS~$5n3G?ncsd+G9#nz?oPZk+sK32`^-`t=fRRB_ai^A!9<^u z_7V+^iy~nBMn02-dx3@XlHcq$0t*|||DfUi2}$|h$M=dqD9&qr=`OsrN5ix(t0~IO z>Ha#}5!mD7xvVTbQu{~Z=gAVLJjG{v;ugi2lUHeK)h|hW+jrmCcwcr}F!`Nab-}&C zr$`OSYwt?jNB46&`xT#A?~Z6M@9Scre#Q1`j%DOhHI#Xc6wh(rKiwrWdG|L`2JEWq zkUvv2D{Dt05x+WPWJOyp5E1ajBo`#4J7e_LEY)4>-BMKM*6H8q`-+*)5+20|1hzq0BI`CUw|0(*oLF%twxIk%YV#b&S zXiEbf)63?6JlYtD<I+w0HQ!$zw#bo<=u4I%6pWR*SeAA zNt{oOZ*##uwFs3r$s>2LOM~J1U>Ere6UdwOUXZh>r>xdzg3-5cB|H-xZ@mS>{%o~w z36jIM!2J1E42!i|w>rbNLfCB>*2!x9t26IkA#W!PyTfYz%9-vfNY@d=+FGsKonhM{ z>>doWSgnQ5utEsC1H(*K>o#ZDHVC^N!?dl0nBe&6KgC9hxIgUHAD(X#iR>fu?Lk39 z2S>N*+E(=DTU!_3G&0}%HL4#TVExdx(f#1*x0p?BNKCMq_6Fk`Z*9l)8|PXY&Mq-u z$m&jKZqXaM)18{1gX4K0Gt4B+Br+0x->9I-NYuKA1c6#3#{_nw8sOa+nA3$ex^0b> zS>D$&F`Dldg2+-B1NN}J{M-+{nJ=&tu-@(SGzGA7on43aG+4<%4xRc?fud_NI--7f;YveGpFsfX&13o`mO; z%l629hR@;P2?NP_!T@^grXczBhCm{m=O#cmCFeOKc~|e&t}(%6yT)wu1`>c49 zXtqVJ)pZU*$Hp3cBl^47Z|ZOKP+jYRc#gD_7)m0eJ3&ljG`?r14UGxz23$4^@qIdV zZ4((vvgS3Cd>-Du#=i4;q{G^npoFbi|e2J9Y3NX%>4!$|LN)r zYnnPdeR2!w(=zmTsGIFIIOnXFH>`Q|lkfFg&-KHBv?Sc$*#OG%s6P4`-@vm|@-np1 zZLcq^@$1if73&{3e;w?c3%Sllh7#X%)I%^oJrMq^xG!9Oua}EzwDJ9{W#OG+|G6x;d!3mp$U^=AypxyXK_6;zJsU zH#JayD63z~y)(iizQ38p`_A8@f%q^MuUr={4ac=jyoQqgrhV+&K(MW$&|m+po8M|V zzT+8dv+1sWY%HdoG}pOCAOWu$5-4_r5jiTPl_o2wU+kgqe*F)zb;iC#K1+#Xb%@t` zw`X5o(?DNd+W;@a8|cfH4fIt+1M!vy>c6gmzP!GHzPh1-_#5l`()CZ)%|i;^)H%cX zbw%HNw>H4{$OhWox&gkoX@IY78;HNDf%O^@wX^+$iT)SAvW*qq5xW56t z+T&n&znIc+>`j=niM=&~h;MhobDp>c9fUN9)E)E*P4_C_KQS1 zqu8@han=XAnV8@0E8XoL>G-y=XBJGzsru%y1$A==&+sqmo-6a*huG4^<)``b9lQl4^vgZzPpYX?gp6E=>{`34-RJSD~^(Ap_6l%{(iH%3njb7Lf$ zu_i`KuhHFNr1)pSzbKk1Bqm6y>tZPKcup)eI_3kUtd6BZdO@rpBpwFHnb;HBv=|__ zrYAMzj(UI^Dn5PyB9Z};*FFG=zX7nXdyoow7XUI=JVcEpJ0GG#)q#fuL*cavp+VrrNR&R&9@cCg$D%qm3MQr16$v?YHB z5vgU5d@azjqmZzA%%ha1uK*}p(u>l>r2wTXdST|fEgd2AH<&r|n_igNb_62wD|(d( z)K&!vQ>HxzunC}i3qbx?0LkT#Q9+}**K!YJ-jA6}jy{H&3ob%L?ub7FlQRHHmi_s# zKr@T~Olie009ng>Q(BVU8;b!DgwB>u<_gT8Sk#+>Ua3MpFw(k?!68miycN1!Qt z`baeALLW-=COrw%jZ7fqI0rnkO#^G~*XYnsou7XhdI1 zt40A7B?8or=?jCC_CcV{CIVeGNqvzn$Fja4dtU$~Zt9yT(&S^1)-mlbpeDZpok$peEtlGdMQBuw!cA^=>sUWX9DDH89?#6_$;MKRR9GWo&)$9AbG;`Q0~YV zV9uj`&ax1TsGju#7E!q71>ouW7Z!^&_q!J;%}9F@`k)vf^CEy_#7iKl(_g}j&s(xE zW6A25Fk^M`OHgCUOW7i=Du+b2#DPHnHh|Ql04c`+3Tg*ZqgFe}@`8eyR9J(B*?%2~ zg_X>InF?8p0CM&N6#VqEAe4>%`v#FFr2id+<>22zH$HgPW>p-3HL{sFdY4Z`@>AZrOgY8gPz+(9D9$Q!IR~YzPO-kNo`@dGrg@q{?_KrE1s^5Z;kPeg)wj zI|LfA2%u{35R^Fpd*a)`s4;IFgrJboE+g&!n+QaiM@Udy;oP^exZ;Ix3xdt@HZ_(z z-VPR$mb^`c+Dr(`S_XIJn*dUG0~8?ClmJv6!Xy=MkCaHk@wY`%_Wj$GWK}}7H7DV& z;4IuF{Q`I8=K+#0z*qZ4j2$x+?j``_B9tIhP8cfEg5;rEA;6Tv(>V=>L}3=vS(Y-C z>B*F#AwtcRp@LA6Iux{U8bH=!_*%Ib?(&xcR3jwh02Jm7{Y;V^D~D22f>5;@>dMcB zJNst1EB_Mi3bz0x7XsvNhp@u00W!bC*aJgRP64vYh6=QxY^X#t4-KV(dTj=^q}A8U z__qp)Ek4SKO&;+M=w>27&N6_kt?vkeeLq0SY51CS{+)FaP5Sslf}op^&;Aui*yG>52cu}|dt0Qi+S2zx8~42j^p*kSmjfgn0jNaCKlUCG zseYkM&<@O7cI>^KQdrF~h)t^iDEk4x{xd)|g6$kYF+$-lP%G6hrVR2XeKnSWP_+gib1gu|I?Sp2 z0(1V1IV;z{e^v@h*?^f4Y?}d+wg40%WNgKPw!IHdpe~ylFCeuAUomP+;bN>tsM!Ag za1G7>8j=cPy8fyO@5~QC*I1NzoBY@)!K+ew}kf0WtjlQIv3X8F*w3-jV4==9y zKp1VUX7`!rJ^*L!90nBCen1UXwHR7<5pHWQVrc&G4+TT%@DHH{qW~%r0gA=}q>cwD zMM$3n;FtpzA7x~I_@ze5%lr^L z>taBuD)U34le9%3%uqy&(Iq6>(X z!-nDgc*JUkSrdnWQcL1qYCeFpBu|G>At?>9jG=AjFnU-6ZN=n;%Mfi}3}e%X?`X31 zD7H2g0*+~3-BV9I}?>cq7#^?1_Hj^2;&4Yic+Lb9st7@GK*jeeu0 zd7oi(6XqaR&b2Y2LoA$+Sk5qQ0b;-Ll9jj0Mo&W0RdUkREa_@F>4>_dRhTqq zt&N`6($cjoX%${*(mF^AR(6z}v>MYDY_idxw6tOqOIM2*nz~soGO@168cgcgW~1k{ zv}hYkTE2}jyHGB2temtK(`6Oe=&xE@T*T5<;Dy?D$mzz(=@N91u56c$4%5+uVwNtY zn8|RloNj`g&W7nScH8Jk9WB_+(v|LJT?Z&qUGOIY8^2S)ZPP)oB<%r#Otfb0Vd7aR zU&`gcTKST)*G7$k18_8yS!x6INj(5DH2*LlDLaZXQGN`uvVw8#1Y&I^hLoLRQgs@! z_(u$}Rb$?YpO~2ZB6sa%Abti?p7X1X&eTc8aDlO*0xy#70%ntRQv~B@I$Y1e?f=5 zxI{;5@e8%3AZDc@Cd@)CW|;apqGQfT9JVx51z`o_W(F3J&M;^GNV-x-9Sc|i4u*>m z)0ZF?AwtJZ6Q)|%>Jsfz*)j+iZkH04kED6J(A4E}{B($4kMX(7<@i##Zq$WV!-W7> z^0D63tdZDnnewF+E}|jvi;?t89ZAl{+6uFgB}J?7K5xxPCfbY^hKYG2QG9i20`nEW z#v<(ywnG=1lgGHQ0WoDWr#83l+H3=_5>sgibhB;eD(o!8w z*@hXazDBGpX4HJk3SyYCM=r=N7!P4Vj#9axJiHo97#8juNssDi#(vCDeTWrQ!I*mj zv6Nw2CF>XcXD|oD#-yLZ9?55DuNp~D>1a|lYtk=>`46SXOXl*3`AA4jiTptG;8E2RJ8)Uz;p!AXwWSbEOP|TEp^_LS}edmdK7D0 z*{7qh&vK`-OEF%AN1owGM&z0?%C#!|Q%GqOIW zT0`FPkLg^XYfK_ikZ-ioOi60+33LX^2$cD@{(#skMMfsBtX!7QwPv&b@)r zK4~1wo%q=}l+8Kg=q5d_T{{l@r3kV13}V^G<8l1fZxw_s*o|eA#$zJ^x9MqS%6LpZ zh2b>BQie4QlhY9M8I}Qp2d3GE6zsx+QtVhzF5owMT8&?5$>)eka}m?$u@FS9PP$@hvD3o(z z0@hQBSn@Ms=Gh69XmqsLUCA*dvUGSd`YWTr&MZPm?FW z7p!P-ASX{C77Uw+ zhI9HvaPK6|VHCeIx!iL|nQg^H>~w~S*^o#`Sv8T?>ZxrFE@TztVeXQRi1vKMgw2># z)EpCxN3fjX24r0U%fAIN4{)RbOeCgG*^ZdC1F@E2;Vw+1*PIaa6_|gF0kw4ZMAok4 zZ!t25VR{KtlUWLAEIEK7DTgM)fKYaLA{}p_6-SW1vI+>Ic_&%Pr!XX;3hs%9d=KLy zl9uu#eAhb=4Mk@VD;YYfC!$>uDg|>IrmH$TkMD8UP@b|zSe2@)?( zqz(hMUt|fg@Is3&$_bWWf^zthX^?6$Cf}NzFbNzA2VgtW&U8{RI2SYAe>hij-5a<+ z?{xM2EyoVY!x~U6W91mclCg-j3@efllg1&IGc2CK!aqUGpNN<~ z2{9oBF^6F}!?Y=YV-oZwGw_?kj+ps5pisULvA}^L_QfoG87pr&t9d!2=!;2IW5`{B z_i5RPjy01&Zwmp%z@l}NsLoKe4nq<*U~I-lyf4m2tll(<78z*Pmy?j=hY?ebASR!h z1P)>)ASl7l7*cZ<@AJ;#eMT)}UP=lYrpbu*PZ4eQ6i8D(HwA<;YaZSwZ%SeQPl_0E z!T|1%V{-~~e+uDRX$UR)QjVT1Mx4axiZA8p#DWxh$`G2g1*1d6DWatcyCogJm(cEVdLeXCGqees+HpvEWz={n04 zm@o&iU@l@6!_17yOqZvM<{6kZb>U<>(+G;R5MzrFiB>yJG}^H(rAsEWwp8I2=CYaW zVuy<$p725VCqy9@dgI%=D#0*O@L&Y{ZLwez4y4*-JzhW62+Zjgy1-({3SF{L* z&qU{#g$@`R&J~zFp-65^>OL&HbU$Kl*<>mTRfi{2U81$7VlrK2q{+t_w|>B;)SSor z#9>pIOM#e?h*&)qFsvwf3e1K=g@qzmk$kKpFJ+3n?lfZx_U>R|JxroUbh>rPCo*{1m-j^&ytZ-n6ZSfS;{3R^>iz)PLBQ4oH1$3_D%PF|*rClUi zzQyXxw#e1nw!&3N1Kew*rTB#=e}$MM(i$%t=GAyZjk6cog z?Nc1{5)q4&Kc(f+)zd#kKI}j&9+3)IJ_E5}K4N~tRG1wZwAmtC16wB6jmjsm+>(^3 z^1N#@T#Z=_tENoFIzF8W-DOLgimU+?4e2wcQpr#Yc*;mKWo;T9kRhX!74PwQ5#Jo+2oFc zGiEJ8G?r|cN^Jo&cN-?m`U){^2V%-D#7c%0-ym%P+O;AZPu7USm;l`0{Z?*k;YBPd zW5hJTf(g@b+@CfL+FF(~4V8Q^-dF9%`}`Brpxp^SAXbc=PA5Rksnels#}-7}uhVh3 zOv7EDiu5!zrG;sX^!1`JomF`_O|BBJLOI~f0GeKoNt2EurhJc>c@i=42gIV&Se#b7 z5ruezD5PUK`Df&Eis#J0u9=TmnU83%m;n-5b7lseA3*ai&cMlc=1k;bDPs9K#Kcjv za1#g;=iF}4^pvEcNRvt$Lqt55;BJb*fWz~mLD5p#b+%=ww!pJm0IpM_$nDG-H~ z*gd7cV%BQF)d4i?0w$>*X2({IMl2c2?vw1G7@~HIEPr{Jv3i^xJ)`k<9DF~q(~SYN zXd)&~pMsb?9kDtMv1kUOV~(9kRUsC#1&grH!y)`;fp{2!kS`JNs z3x@B2@FN&rvfECN2GHu=EL^wc7UA>PP+eD?rRlGQ<-&!Al_AnvL@6cvtm5?1bj(qZ zb(W^Rw%%Hn#S#Nz)G@51xWrB?0>UccLW`{ldyvVL?iAT-)(K3J3Sr*|&>V~c@t%nV zCVz33&U%ezzy+t>c%kKA$i-H&O#AKhWI$NvepYP$ewJ4_#aatrssh5Q<*391a@3C) zWrr_k0>W|*u&6?~2yO4ae!mF*UomvM_N|NVshUw(jf-a*8y%Fl4h^wVdk zQ0Ecz7&?Z3jx!yGwG1;yAXWm3LY58h3ldq#B*e57#GGk}$@36P8CGQ=<}O7{$od?H zX~$}oH}`Y4XtZKBenCvMCauCR>8se6;;-;aC7_UKttiGX3E#|yx)Z;f&1My|sU&0_ z!F$^=#Ig!VDkLAr`7XU&Fv*uDEtSSfZt5+f>twPLSgP5`w&{VVz^A@c~tSP{} z>ANsCZx`mxES`&Q>j5meXyiOhGhrUp(5lJvP-n$o#E4CSxLJ@sPu5wuN(S4UdGyOb zS_v1>%6W)+fCMsZ3q%JlV;-`4K4O()9^D>Dlb2ws(oDo^Kq69lUi`#L+5a7Z!|YP^ zvUzl8U})-cIrc(b>@JKghT!7B&>Cm#Fv%7B4aR0=&7->mLrdU-%ds{o+4^lD=tIgE z^Jqz+lnED@J>}y?D*HlCG!hbhhl#2opfpfQUcnNj<3-9_AtxFIi4I_*VhAV;l&a)J zwrosf&z2K?42ce7qAUm~50r|sS)y{5C?RJa)f+?2iBjEUOv6TyaT1kxPbE&djv=>G za%65Nu0#%&AR4QR88^Sdd)slm&pClubdrTL%=-bc_(#OjpAc;c88E(OOwT~i4bW^T zNW=TQ85y)Xkk-OQ1ZN}zhliDj)$0%wHy|eDXW;hdCWf04(+U`F!PxYzcwfe_Xd7Zq zF$>=ZNYY2nMeV(B(p@Nc#&$HiDp2eR7{lg z$$UCBNXqzxCCbH%R03!Su$X5`2GQA5TIbYw7WR>by7s#@&fZE3!X*sMjOz`P=A*hJ z8msg1zIqehC+Y0p;VR?&%tY}%9a{X$w8MDr^bvXv3M(3(m)L$+l30yBJ# z8Pclc3>l{v(j7rG>qnNM057!SM>)eP$&!N^iZMg+&vJ&!vkU3&AX-zyG9;bD3=Tv| z5Z6kU)sl1Dcn@YuydY;v8t$Oq1yTD52iu{tIna$k)Cyw0WXY2=VK!>o&uU9`u#CA= z9keWnmP}(Ai>G78YDB1Qt7Q4oRoh|Alr>wFWRIg)Ug&Q37H1yd9EHZJ60~gc^@ji1qVo8yMO_LDIzH_jZ_T7^4JY&HDxsD3F z8WYM8s{t>9njd7@jw0rL&x$_D3T2pZ%0V^6sQFfkaIHa&490o-X}Q4EA01ROW&*;T zvKouc0~Cacvv{9!k%cfU8ovnBOk6}i4yF#cfYY6VSeCj7MT! zDO*?_4i|toyTjt`^eT!P)?oxIpWQHcdwT(~?xTFP5&&gz7IARr|ji#=` zFV(9NGjkD37^bgbxHc1yr6AH;`F2zW1LU<`jEgw$+iIlg2hGt6UH1_<77 z&@2rZZo(nBYB30PA>arTO*y?7^_QXTN5mY4g@8h68Q$kx6V5EgL5*Q1VpstpEk`67 z)fip~2t5?E7)2%vI%7%jdTSAO%6e<1d`bMCUDD-Co_r~lFEx0fDV2c4!LYEBNf*O} zlZa_2Q3?c_8$2AWBL*edVPd(6t__wd;35zMIV6FKtV5Br{ji9g-blr(Armno=M-WM zq9LOSu>{eWdK$6#^dk0XbOFo$BSxn(v{f%+ru)|@kfnn0Yv_e2d45I8C2}Ab=OVQ% zg|H1tI^;GZXW(a?B2lDS$6KgK7C$*3cR`rkJT8 zeEBArR@7ij(m6TiTa3wtFD1dW$dkEdyF&2Ib-Z|etFK`zuo^)5ClOG1VIo4p;A>Tm8wcrrAiP4K@bE% z5ClOG1ke0_uhK8~zW3hGIOBQFIHzm$XRd3`xvrOay{wn4weWKOmA>5YwcuJqirm^_ zW<-20b*x(d_%rc;`nL^jsh(jZ&oSfrmGw9)LFt7{htxqS@iJ=cB_m{tEL~>fl^?!& z*?UKes-9!JjGZlwp7Y|==)J&L*Y&jgDZHv7fW3;DLuz-6)qWBAdB`xC0S@tU#xWfJ>Go$M`?;KLO7FD=|ngdD*#j=koc-=altqH1DeQn>3|ITF5&@<^yfT#K9* zRV_U4D8djb1sVl1`X1p*y@$R;IzND+4-8<#b2OnQWxtSd=6T3L6n@A-3>pQ}{fLGX zgenU04gSsbvJk#SIGrUotWQ?>8bi!wO8HF`nE&xN{FGeRpsgBSpr6cb*j#? ztA3i2zdiM>-3US&M%+qSD(1$pFw&|jORkV ziEdwg+b~?hk{)SQspW7fE@uvw{m5YyX6K4dHP)(vD`3tDv9gEs%ASCO+tsO#%Kk34 zZ>2a`m8DZVsJ7#9DTy}Os=}*S$<>{_BI-f2dh1(HqEYeHx=|I8saEB7!_&QnHLW{b z-*$$Lk@VSC6<-5mmGrLFE`9ZF=Xtg%=?kqYy%t92Ixq+tmbz&Dv`Z)|u}&9N5SeXN zH97@62u;+ZbL+2fyN2A-lFqfNl83cf50}7to!dbDw43aW^*Xn*$Xl(-xq(pt&BO-n zI#@rg0N4Bm?P}lHsqVEZ??$-BK{K;a7aXf^dw_x+-cI$fRr$SeNq}b7t6hfb+aANk zyQxz>X;qO;aLJNYp{0Ie^Drh>e7px1%4w;3hVng|J9&8$hjeySAS|veOoSmClfsrJ zj}K!y30kt-K>v0yBYZ6*!H=@aq<06JSOt}D7nmliWGuijLzY0RV>cKIfu2LO3i0Ch zQPg?4iT>%t^s0b$)(OY!|1GIo;)2l=?$kfKkINLK&C}JX+@=b3u?A$BbasP&GAeAG zGU30Ssvm!V?DO%nfV1`g}4j&jk#yNY8dmX1gnIm0EFhfR8v)!Q8d4?sDd9p@&&(f1j zlO@ubX1QdXERl|LppT4@DY8J?&vP#_M%GB*1!~9~StETJ>d6dQAw3tFKbavbr0Wv% zCu72TmAS;V<1!;dy0VN6nILmyg>+qE4rGkXkgluLld-Fv{6O0V6Tj5-AYq-b5s9cI z>MY3!hJBTc_I4_-X|49M0)3szs$5ZKOIAqxfX;9S@~Dg_b|PVq>BKH1g5!w*63Owz zZY0W*XfUkCeU8!Jt`=Tk;AK!}Tj(a3CGB}E36_Q@^_JHr&X;dP8xg)SRr)rk9htww zp+tHM)RV!xojhN)w>di!vMmSIJXCdc)~9+>ENsIW%DqlLp#tWGi`$g+}P#O8Oq^sH{Z!@rU}TvupzEv+C!A>d8CiO zx4!zrW#byUiDhk@DnEi-s-!dZw8>RkfeEXzzRl)%j3WI{z$96I0%Kj%CgkCL+9{`- z#itks?sBKv+$LvFB60Slh36SXSc?>dDuRanIq0rH6A;#ob|fmgvi{HiP}w~wC@+@1 zZK_J|{7W2(Ep@I5t;*x3#{%}o$5fF z3co^jl~-(0-9dPGU+bL0ueE1YWLP@23eOyAf5TW=22inzWIx!ZT<^HDzSDzdsIAdi z!-^NLaTr=wO|Xo>+xZ?L3&agV!W`sm2qfCaEfxhKnm5i?79V!>LYh-LC ztwO7Eui_0k&~U57y*q68QKaKN&hx5vyEAVw}&wlly`z02A`n=?fx)Etnfvf5%=rhRuHeEBwn^D z`wrfn+bQibCK{VR{cQ3Yvn{YwhqAC6nbgSi9x$*sj5VODMIcC#4$_Ux>;psl!wR3m z**1YErVDZJ({TWGl%)^-xac!J`W42kHFoKqbwC$|&Q{;F=im4CV%T#Bkbi}Ahrk$F z6fXZv`3^E>WQr`2g+sil*$H~dFqtDOov4V#+Nlfme8%$!WSbOj_)Ha$P@!%xLFR-; zgQcPS&-L7lT`S!>e6F6b@_nY#JsifQJ;EB0VKPbPBj_Q+y6dxlf2YOr{JTF~MlYU& zLxOvV9l96ARb}7cXQQ*_+|S+1Y%JlKpZ1VC^kK8CbGJ z#?stA#~jXcUow7yu_WyodS=+`&sJKU<$NW&V#NCeLR@~?HRD7c@cD80;`unPZkW5!7HHe zD(Jli`g48k)G8uhl4ia6OgSzxdZ6_Ei3#40cbrR?Fm0{I$qAe6N`3l&b4TqnKA;`u zjpp=aEQH0&oRC@B!8*xu=5Ka5|EcrsQ*f!0)qAF{gmKDW(!z0-!ly+a~F~z7{qc^afx&>Cjroe5`eFw}6 z+l@)e-hjGKm)fg8Hs*ig|5?;8`m~F|@V)Hfjr|CuG+c{<2uqXwRTmzQCd;JjHO)ya z3R=`eT%Tg+1XdfT;L`kFSb3)y;d@+|)h6g155j8m6vO`@%v+yZpsPI!%W>0Nl7(c7 zkt~II>vJ0{fv2#MVE?5O;%`KFH3TDsl!tGO0DZ-?N@iH=oBNhTI>3$ThpZmM7Kuk2HA>r zT`D%kh>5@ixgrx}h$DGj7n?H7imdO#8yLcoDRLavyN|-+^meJSDMrAny^law+6-^! zmM)c$hHuf9W3Ys_!;%yppJF)t+HwMx>P}cZySmiLDMox3ELKYjmc*VexlYInl_k;z zrVe+h(^HH@237W5(zQ9ydS32Q7bIYpyY#Ou(B-mS>f#imnuT}rMwgl;&Ah4)tN(NU zE+bx{n_c|I{-%aMuMc-&^i=gssEWjWp{)&V_ov7SvinV!Do#;35pr?=p0zd}PQh(u zov=JYA}@*36jgl>x6}uTlv(%1wuWhHy1#+%F8|>VY2%N7Pf&rvhc2Ft#_ipz-cnxB zt;!O>h21#0S_GEJilbXu4A)|8hsXr!SV0Y$Bnzb11x856N-#zGR)O}_V316ZdD7_y zb3!zC>E{@QYb4Q7_jy;tpAMnU&v8N{HaUADU2D75iqBP4gq(V<1H)vJtdM>Wm?Q1$ zK`)sgb9#FN=-EgO8S;YhO<;j6Zw8%Pm?s(C!aA#+s8?DNyFOP%=qwgX6kQScTu${p zzHU7HBHZ)2$|0cwTS1Fupkex8LtF53>5>>!ct2R={?GAyuX1i}1W!1eql(WNH^`Yy5NH=l{up{r}JZqbnYxEArCPC!ee8E1w?F+?E>Odjt!k&ft4ZTJ`7|Tj_^FntkEajwbyYmDV1H6~qrv9(r7q;#2@r!Mu zB_Z^Gp(-b^ka$kA#hRzsO46BP31r|j7$Y;MQR6zxP5n=G96+`e(OE41Gu?P3_iVQc zeWBuK5#an;UG*@$s*>pXLb=n-@|^D49#~>JVTmA-kwotoa_$Yc`~{R|QMb8LxAlF2 z!@vb}q%YI0`oECV?`}S$Fz|&fa1r_xS-z-q972xXOWkVt3l+Y^e!I+J^cU~f|1VE9 z*9<)H@U&m8oS||eB#8fXS1;Ic)>10=ouzu2LCkim(Jw|j5+c=TM_!AX7Tzlq5iQbM zl&-MTu5wMk#)jrNKyPpm-vq094&?&ZVlq#k|dyyoz!vGfm|R7-krR9M=B+e+0{J-ijQnj)-4N{gZv4mX8giQV2$FnrxTYLaqA zdN^uVO~nbeBvwzg#zd$@M;0boD4sUpX%S=1R7^Y3t(~d@y$EtqSZA~v&*j9XNlo`m zMY9g0IguzB?(f09l3G7i17Ma641!fM5aTu(8v^rWb{LG0P#*{VqdmNzcYLaZt&r~F zB}z@?iK&L?9FqL?&{}I~8$fFkr+U=jRHGn58CBAiLcLR`*=7}hS9z>Q?Vf5lk7(T< z=t7d%JJm>x>w?hbB(ZO*Q5o0mht8AeQ3s|Pp@i0jpi4^P;8Y_Iow7`L-(ZZOzV0)+ zz9EsLQ}Gy?k$}p`lBu&`2~@7Mj{D1oR*aTIQ~9h(kLsLi6pz9of2@bUdQ}_Rx?s#7 z?@`@T4SN!KctGVlfv&NtH+tyxPUV|wJ^C5dlRbFVASpsM=7oJzjevv)H%>lCnXRXg zX;31Xnrb8wSmi&DD%DAZ`KemV8F*CBW2|{EU`)9)J?gAiLV_DoN zO}W6}UhYwusYdAv+j^}>eKx^tSlT%4(|!Ghzw>0!r$1NY_%EpZ4et_KRh1n01KthP zBXhF{cR$I*EofY~IfKZ^J?N`s_@}^cgbFlCI}qm`s!9=Q_%}8U-~>)ar{K^?s^yS744+dU(dW8zp{(xd^?@ z`LahXn5IH6^-@-qRvQh*-bRV^qG`A(TIEb6{qM*cVwWW&?-|XHY^$++nk}>_!p#-a zY%vEn>s-@tt*|(vR!&pV#r!5w3PKfyR-@6_*NCS`q(CEd^^%u&^AgtN_C< z(7p;xxg&gD;$Wkkjd`(eW*zj2_1u@Vd%>VrS7j@zl9a@@Y1TX}iH-_{)xAkO?0`c+ z5<90^W1HxZhOm}E<8!04v1vC-vTsJdX)?J5jQhaycChMajdxHJpmh(J-3!KowC{J#Wi zP!yM^sYFtLW-3Xi6HF8!l>H?7x7iqMwCQ*KbBLVhBx6Pv$xw>Dd78aOmd=2#G^0h9 zNbfoJFIgsI=XJ+DM2(7)cr;DfFQ9Y}85Gv3x`vU)M%Ad=#~Rz7pb~Kyan^b{q9$0% z!m`YPEcVEgo-1IItO+eDe3crZ@o(0DJJR_7;DxmR)qhod{VR`p+ML%S>Ytmk_aa>8 zBI@ll>Fq@%;pGi2#G zhLGb0^CV+rhAfee3aw;}%#jt+^OChCQ)Gdxk-k?fk<5@K()F5o3hU&2eWi`pv2L6C zzC22w!wTA=H&8Tb*)_$Md05S$hF%-D|)%ygBcfCBTFlLu>ei*+bp-Rr)yQO zy4|jVtB`S$ERvDcV1_KM*7ez8<7IBK9dE$6d)0$>m2<-(x`w%`UADGIFecabs#3cu zh^Vu+{A0kzla9SMJ;jX22)KQnZgYHG=EkMR)2lj~VnR!keLa{GswVe_Uc7fn1~-C! zFZA|Jz4!n^QiPmbAZP>1n(d}$AStUb$ZttLV zCq2pFF6Kk}0$>a@OWbzu=DuW=^zLCy$uybT3l>O65R8+-efR*cW4~~;BOszd#f7+% z)S|YZ86H5RqNML&FW&Y#)Qcmnw-c?3kXh0dhEpiay;E8g!z{Optsq_9j8AtjpIhjh zjwu0^ElY+Yy|@I)_4evZ|LL~mVZ9ldzO2LD*UO(Ed;j)_G#pjp)A7uxc#KY0i9VE) zB};mzhV%c~)jV>&^3C5Wt(GYVY~w%3B~Vp+bbRoLJT_hBkW^(d+|N!WvjfzV&Ovq( znIQ8qcGwVuHVg)a*})^iDGAV89AUS`vF#WIOQdIvjZs&pv(gsh+H_lLj57|DICa{* z9oJFU_z`ifpI8^R{dUZ`0evdb%TtX!q+H?nj`re(<)awtj$@!J36@WQffN`z4TjHP zB1F&js$0`l=`35FX6w#L7Dk=XYy0!9`4Y;DUC`zEGpJ@%XjrWc{kHK_pr`Q3WwcK@ zqwD0o$iX0dG2KWbVZ<+idD4Cv^j_w4A%j`n`XOokTjc1yf`!rAFlw8krYP(3zo6y$ z@s{UxDb8EH`0S`~RCphHY){P)Oja&Mpo#VE)#c+<@(9Y=_+PN&!`4{E9 z$>DWVkLc9j4%oka|KR~0Y?kJP?aQM!tNNS2^(ZM<&_mjOw^wcaiz?nl3HE!O{A8GP z-RHa|6J(C8ke(uk0hu6kWVNV=>jhRs+IPm*e%3Z+Hww-?(gjz>rMuLtf`1w92$i^6 zl(^K_rES*zf59Q^aj!b?7nOO8SrC5$=0Q1LoU^qbLWc3DI-|VE@LyC_gwdoX1}0(b zTlrhfZ%q%(#Np%qfZ9FNS`(qH(c%C`)&p$ENcTgq0OI=J>U%Ws`|D#WTpCaflWqTc z-o~G(CQYlOylDHoXM1>cvI~{WmUShQZ+g`~FI1H`m{`TPoObU(ca3}x=E%^8Ue)s# zBmV)-t&*vaV1cZW9{XYZP()_PGU;9bhDrZIFiv_MV2lhe26JS73H3|CkP}P*2SND0 zk*;OblNqu^x|XwCvPybZFgLPB`dsuOi)3QuVLTHQSaq1cVzF9eo~)66H(g1`S};xe z*RcSyN_sqCWg{!(1p{P^%m^Ee61J_5O<;u#Z$8YMf14RCGP#BE@Ubdna4QQY9otwW zsNCCGbw6WCMo9M##)fq4Jk0B}MPK6eD@i!MRFR$BdzZE>fh8!3rC+M}E?B$)ZCM6O zSQ5*>RLKA=k=@$jf+Z!1m0zmDZdi(YXfalQxvay!_b}f%Io8yEyh&_B-(Y4e)9;+* z$EAIFRK>qh!R2@fB1UG&D(PAQCS72GOsoX6WJxGT#^z|#_<8O6Z*btP^)c&&$c^8q z9FnR`I^KgJvPAknfN`=wIzRI96*~&>lX1-jP08{a>mwEzWM*$sB3#(Z0hBt|UezxIGLm z>4>m0WGX`62?_X?C2{miPuCj#nlJK$UNzY>fFz9 zR!HK!%!(*$LOS|c6Ea1X`*rSF?BN+Wtgd{iLIaEmStdP$tjQolIN^a!-C$)TeN!q! zqbtVBka^NE#KMMjmF}{SBymsrh?W`|8fLS}3h5cqdz7$8L=um`RH+g6J?V+FGGval zkLo>MumdDfkq#JTzNCE&43J5(IHsHZ7JImk99HkXRDmOG0a+s5368r2o89oxrtDwg zw=+pE_)3*%bR4A%nI&ta{}`A!ri*c6zoI0TeWmQj*$6U07D-o79J^aLOP5 z^^G@Q<0+*ldR;GzeD}4AKE*nnf6B)O%h(Q+RkHM)YxxT>Ko-eJ1q{CAs!!%g&#OM1 zRlnkKfUJ>~*I=~DZL;_Vp7yuc_K|VW>VC%u8-uZacxka&jdbxEl1WVOZ9Jp7mgP0~pu@dVPJk z6n>DWb0fIhp~C3|?VCQEz4 zSP;yRWzw~e1(0zvM^;JCe(oi-$jSLz+>@!H8{7x_cxyW&@`Efu2ed;C4jes4pgX_XgFiGag zLY_6g#fO$j*KMv8WQ@#^HPUm3dNM->?{T1#uKOIuq_fz^8;AQ4g(s*=PBc%Y&mM4m zKhT|U0On^fhaT!C7e&7KTDc$f@fdNi$=y+bJt&HoU#r9;?4BjlCGxTMj5W3GMx0A> zX1eDauR3VTCO9XpgXE=d}GAj zcwIT;hQ+AM|FI)1*1EbAO|rI~8t>}1J2gO5T0A`OC#z(5J?PyCM#-|!sBdVz@_S~_k%h;r%a4r9^tg0v z8h_n=T*k*`PUM?!lw&iC0nOMJzS<5dhY#C%AB*40;k!)=o=`X4G5HS%sbjP72*ctS zvkZ*Oq{tJqtbrvlybTMg9BB0|1tXwJfu_@m?GTw-26~oLzXIDqG6h;IdV6IIU(QC{juyv1k#6ejjND0UuRSu>@Xvp7(6Mm z(8;-E>FfCYR&e&yOHvY%4wa{+2IAjrZSr;;Mv?BWsKUR~ z{J81&8=d_yBztskcp_2Npqd)XO@Dg-@pV(%AlyO`UFBe}mPyFQGC0Y97|f7G($xp1 zgf>e}nCP&E`=flskkRLMA`RLvfXNJ4xClD3QdNt^Qe{or-^rYvavF6=<#gHZ>rr*K zLxr!8pA$~7Onl$e{^8S=y_^rKbMUWTA0HSuqv}G3D&ORFdY<1ThXga%ZqH7en9V+yQlaS1l_EMBj{H&gc+~692tdCTyCaQNx2Oo1PsFz6i#r;)>ik7tQHFPOS zR6A6m#QoIDiRum1RY||?P;TsQsjI(^$~{XZMc`9aU{!BF z1}j2b48KQ~dCBWThq6E6mTei%RgE$ElQQzerN`;}!?+gnigfl9_Fc*>-Gu{MfGe>AwTak*=L!flLKJ`))=z z$nAaDD+5}6`@zrwX@X5Pg(m*#T@d`0(cWmNUp@O)r9;@UNZJpwYsoN~B=cmIbRPnP zhx&QYdiU+8gOf^U6--$hZUCg_ir3r1a#`aD8uihiu+_C68 zTp;)K>)*v9$hR8d5Sb94*tX<5T*CDBtEJzmXfN_kkwwye7>tpQKE2cE#I}{#DJJPv z-;H(@`sf*D9YJd>%7L2Kq89Dv7pun5I1l#p_V=sxQd~caBg>?7089^XhY1Pnuo*i9 z2K&{P?^I$C<}6tuT`@2~R${t-$0oMzz)skdBRWoHk^8?>&Ny2|M#vOdBm<**=j6opFm{fO>YZ~UyT4PFQMPFe^pjCCL%NUX zsS`zAgOcd~PQ{PVHvx;aX%LoZLeGWtxGYjGu-cFItC8=N|0wn-k?~`Uclj72bDS|D z!$~&v1Y1G+PU^x>un0+<{7$7$()U!qYBK6ACnn-P3mydg?TrmJJ%v^#PwARC&h+D_ zV$yjY3|#70=e|>(t6bBrvIunnMIPu9rjZ4BwU zwrluCSOsOKZ*w9FKeJ@+^s86jsp=h;c9)aw9S8>|M}v56lR+%^ZI_ zchw9$%q^XxtxsuJWv3t(jrCpKIM(=)#qLwQh!ys%V`Dy8J6yVrLk&S6a6L zI^UaqwQ+_KeWP_==t}SU)utJSv!->Mq07CO)pmwaeXn&s=#n4%)z%qC;iJ}VgRX2J zP}^r1t_1_s`JqcM8c;iC7^Ov8x0B^A9#Ffa+{IcKfG)UXK<%DkB$jC19_YMF2h`pf zMr5hh1)+;M2h_e9M%Jly`=PThA5aHo7{29N7h?TZ45))rzZF_{h<+;vRHyi@)VeTq z(NzPgYle|orFGrVMcf0bXNHk>Yh8qKkwmY=WsTMyhAy>sK=sWqifgql3Z2t4p!#PR z0gu)VKxLPZ%>!yg;<8!m;*5)LK#fXVd|Ed~zik8R zi1=;Ox&(B^?E~uQ48!5qx?`;0jsbOC>bFDdl8ouD0d+!Rx=ZU$Lg(2%pia#&!n?ID z#eF4lTJ{~+onh?v4ydyd`@LG1hAy#hK%JXmfVvKLg;1F9w?DXw+z zS-;T%^+D=4rgb0bcVs}>XBvqkTDJgC&6E-YYT-=7c~t8bLFYX-pd2%e$T6*344wb@ zfLb!sh#l9urO;(1;hbqy#&ye}^CSn<@|i|BsdX!$E1Vcmu9=4Yq}Hv3&L@dgGmYrD zZZ&k7Qv=F9(4^3+8o{5W+$1=HRDxU~^ zJseDt1=9ZnEI#2*s&kU+$4>sI18QKVii(iIVGU0*l)GaPrKCj_o2e>Kv0J1(z!%M) zArTcCbxl*dC*cag5=TCHSS;@6VCp#!0+AO3c#kFZLLVTIYP44*(dZL?VM$}#5_>tI z5;Nu8S!A8^z5*SuQB0hyk(nx3A>D64`&(*AcMVLE_V-|rOoOeV4|o)|flb}%(;=aR;N#-(qJT>xgP%WRO@(+1kPr7jVFDDy9~{E;vNz;NvKBa%)^t~dnZ{eQ+O>n{&yb--GF0Ip9PEj(pE)kQgHF0dN9*k z5uvP!Wng4E=yZV<(z6mwy20XF>eqo@511kY8^A1?*$9@spnntnK^5LipDmzkD_9@{ z+rb>^@iR}-zJp=hIjHKaft}b+fYwrg+zrm*PwEL zuS#8mdImse?;ccZzn7~)y4H_OGS@*JmbB-4mFh-`CDPFYddZLwADfO(;!U$n*rg!4 z&EG3$1P(qjOeV-uge6#xPnyyV_w3O@)$_fwALEb#4U07?{e~NAd8Fms$bNiK^?g6u z;T4HDI3ZMy3?~P1kKbJL$9w!Gj4S^ZeQ!T5vZ=}Ki>W8GRM3Yz>S?k$-pMUR=;d@(G(=W0j z!#H-EO(JV#izdBc$YOKgZEhTd%EW~VEosf z462Q@l;^4L=3D4yFAPD^Y?`IwPqp)A=(3X7GE0@mbw22v;7G7~MydK2!3#7Bkb?*%qkT+~eU1?IAYU{yn1<^!iSsib&%mv@F0`GKlpP;#Y za4NnZRMA<=`9Tbgmbx+wfBdf>PWcZyw4RTHYH*fHePnOi`BR*5g2ke$lm6ai+~$rC zm=Yrxjv0Ig91~(;OpVS`-bFFovaGXDZslD*cgGlt3XA&4ER|ct^~J$8MTn>^pKRRW z_ry2ERAH7XY~UiZk=dvflgEF=y*CS=aTM+SS<1I5#^$b`EYs#8J7sfBJ(3n|=0apy z_ya<)JEj)>pzM3NyzN0@bn2q(jRa(xHqPpKN#*HKAIjRyb$po)^&gF1Sfu}4`FTYfM+hxn7M(6CuP^H2W$QEjV!R6GFZY*$P*Tio3- zwfl$GcsFWQAw4~eA6XcMtHDakMPVu z48K?n=!4y9jIqkF{sw;6t5FeEqn*8SgJw!D!NnMTT36b@6lSd~{9~&Pj zQj-!~(kFCaDk3LYk|*W7Dtfn~XPSZ+e$uj9Y!zTDeSmd~JhIV12 zt-dui`ETB=KmPlW{q)8`4HYV%(RFs+VuZn_3b#GCV`{-{tN%`n|AN^aR)};LSS>Pj z7c7u9(sPfVq~|`T6~VRnf-W%Enj=}7!#nkcHDpBK@d#`sq0ZUpECughTdrsI7+LEG05~pXY z(g%*akGl4^C%2ttxFnsHaM>|-LP8ktOl~_5V@}c+BwPz%3@^~e!sND#Y=fjPNzX2X zF|tq_?@n&ZGSHH~GFv$p!5Cenjm61rc^Jb>hSaUuDzya0$`Trl2a}C^Y@t(+-#Z+O zONUfpwu&uN;GICvv*-GtQWsghZjaanK@|Htc z67ObP-K&Q1zRW6Z`N#-L!ahe;VNt%-+OlvCZUIPQ(Hxap&A_{d)C6Oy@o@70%{%dp z__)B5Ik+4Y3)lEHBB$rTM)x`}0@|V;FuR`I0G}Gz?UVMpm|fULTktJzKF? z1Z>KYj%}cGJN?P5U)OvqYM$RQq_#<$c5qbe9O5_q%UF5+FsF8+E`^{MLvu_|aEK3(;9q2_{Ou6|e_`Yvg_kX#2OYP-Aekb|q~|tcOy)@Y z9WX#9g*XxYfV0#XDiA6Rsi8S$Mg&e@?akw-ufwQu^xlvfnPZmj5AiWe2aNGK(zmsu z#L(t@Fr-H3m{AdRhSgZo{QF_{2OHFukju|NHp`3yx@O(&}o@2(IYuy>>9508|**T`~{cy8pmJBz833*mCe&vppEB|K^986o~uII zLa#Yqg_q`-H6%=56-<*A((?w4ykYH(+?-_{k+*D@rG}_wmJahAz9jO)9K+!p{_Rsq z>zmu2qb8n3!|KJH)`$o>4FwJ7;$alFnDtfH;gyzLZ_H^ez13m337z}hkjl?#4ZYL4 zThJvWaeGc{eq474I(to4uQ{#0n%3QgE-Hz8b6PVs_KkHzv+)}0tdv=u(^^3VTAfRD zZDlEvEk1uOp=woa_u*QWU5j&C3-1wt+y}k1u4!(22xI1>EPj&DM;L4NVSW&4Z8Hb< zV}v@iK=(~Wq{Z3cT`0-Mu<)tuB?3csW3yZx*yrM&w8U+}Tr=uqHPohNoIScb7Q*IS zHmnxSZ4EBtPKFOVIbf){sIhEA|1O3mv~pN2ncG@kjqtkH46Dy3G}Z5Ep7!r2-@pI! zf0`!z{E-vmt0FmIxI{g}{EonSw4q7{Hi4zhGzTP_6+`0|TC|Myvvv*hp z=9nq6hzxI*9?Z>QW4^X+!Pvgs=2in%?TdV&B=-En`>4N zvZkG^Y2BITwti&elk|WLs7@F&q${jl&NjCVaj-~wSlSzAdr4mxW~Zet-8^j+Ma8n`^pz=|q-#b-|hDwhRikA0Ad0CFqA?%#)5j?Q*fXEz8*@ z=__;1NFR)8vLdw9PiVY`DSN5;5C3vc4&{5IdgR9;8{K1I612FE4yy@`Md7Wvt&wA_ zQIdt8U>wQX2@G=2N!gx~J;?!jYM7Ug*SSP&>UfA!>?twXA}KwN@~A~=F8+0h)5GfV zTr+Tnxu2ogb_eF?XihpU3+i06e4exF0vILJWRbLIKo1!v?H3Vat8us4R-0?{AZ5#3 z2HjaOoYjX9`;WF1H!a439~bzoMOa1JuW0+CA8~i~iq7m_v(53NEsT^cMV79CuAH{t zZ?-vqv?Y3$nx4;0IAPc19Hud0?1h)&M4^`NJOS;`7zDCL`k!I+72m#gksGw=3}p*y0Y<3A!OGV!D7TR4KdqNH!p2*3JTX&!%=>Nu)V5iL%D zs?BB+83dM%s1rY$aS;}y&Uhov%Q{ZN)3JO6zc7&Y6(d;LZKr?yANk^_6!5NDUHZ`s zyGHPF2KBMIz1ED|sODwl99*d@of3KFN3*h$nb%$YW9C@z?Jd&G>!_uB&4{`o`K>|2 zoNK}4S~jF^VT*Z-qkP?ny8WXWSqEc@ba_U&tS@R&xRHDpZb{MIlQKPU$gCgXEsmuv z5}qY3YdVTQI{jAXh7nGpn8=4es_X_Ud9q;4CTQ}biV)H{MsAibNwDCyWdGXC&+4qM8;1@x0~@UMAp z*GR7qjQNmlo$>BRTNw&lVk_v~hSt~Btw2Sju^-U<$aWq2?6`FMN7RC!%$OhH$n5|V zyBOFBt7JdNPrMizQHy^vvjJGEq<1$MCM%?S4+fBB(pm}S^i@CM;{bbg5qXjBpHy`( zYaC=-$>cuJw;wE!_5)y=ER(Jf7$Q?4-JPpjIR00lZec0b^^;lNgE|EFj_^jN50;{M zZ~f`hi2AGjAcE%;O6N@WAd4Mvi;8CFPi6sT({Tt4kO?x>Nqv~vlNqu?db+>}nIZ$- z9P!gPwX|<&;V%cBh()qn$D$yz>nGFE!wE{3dpT4OGw*&dIzY`Jm?u5M4EhLYkFzdh zX%zI2fpM}%h7-(<3>*W~r2PcDnT(%g=_&f32D7I}^g-oc+RKHrieC%+$>utX!4xA) zq%RF-NY^~msjLV$JdYkLI3}l=4rYxSez%5xUep0?WBfOi*$#$26^F9_1Um47lIgFoi z7{409Va?`iX@7=(kG&pI&wo1Ck$cU~A>CDW3mGRfWSMll8Ns_Tfj7)(`qq~AcgQFq z>6&Cz&}PS5=0PUN0_k|i?j$p$qsGOO%#qIb9DHPi%#+pk%sTXeqnRv`u8-OP@z>Nx z?m3@v~$Mdrc3x)x$P0G{i}Fi|9H;9uQ~Xb3`> zNwNt3)#<>t5BzJy!NOX%x3up;VJS)P{rOx+i9W8yV2DhSRnoVF8Zu8-NY_&OlPU18 zC2rfD+>4Am<2=ji``MO-!sc5R#}z@7zr`H?h45$Gs9PRa13#PT<=Dru0!)x4(&Ykk zWQB~cq=pQy5>BY^*x%9~khSBtS1J=|VhKjvdt0q#cwCl5Hf-t$y5lPOvl(|YJJPp? z4I+bUS)|Y+M@R;MOnX58deFUr)g^0WbR+ljQoo5EvYDP+XeBdb(#HmGV~J#u^lxW< zNS~kOl7Ss8g$(Vabyu91PazzN56Gl_@Ut9>!+|)bYC+_qpH2I2R%ka5wU);}e_GuQ zWjWN+{uFTv?uo1N&t`HD3*Hmg-!5y}WLM8&u879K8q(7C0v(pw8&{Q|Re3Lt;l3c4 z1kEzHo%`bBhvW1?XbYf99b&e1T`leJk*T*cu0H%M7jSUNl2sv2VY*vzsj>j43+`}S zEu5!9VFnCTwJ=*!zj)r?JB_Nd7!e-o)NztO*&41QL;*APH~&eq=fCk(_ryToWH0aX;IztOvibhO0=k+ zd1hcdb+koA=9!7}DAi&dYiaLAsRg8Mi3{UXex9v#0g7ZM&O1KG_4!9XLKwa%6MmkV zzsS{~?qtjO+slJ6IxodlOpKQ}BFNg?G{>^7=RTEvf}`bnT%DA>Z*WT9;G$Y!!g-V3Xua6deg?G& zO8V?PGj)>-MV|dn*76*~>Jl=(z)Ww&Rc4;)zl};76SDdY=h8egcAI^82aJ)y0-JM} zn!6l#>Y7aJ9P-JD;`%(ZdRI@9oD{I8;|46=dvSGBhU7i2A*AmCaTzFTnJ?-E!}CC=qay2V6=89nNs>3D{^xL(B7^LeJL!h^;uF6E^CwQgSt0er<7Cz{vu%=l}V zy;Y8gs-BcjqnDZ?f+E#?Z4oN@GhkxM6qs^7sb9`Y&8#T;SHdB zqp&>!+Ol5IzX?o}&MjbS3wAXP=P$O{2TU68N6=%Z`vSUy?e>LW5VVCH!et#bi1xr@ zx-JDXV7q4-w!O>20_j}|CWRQE&-9hn?q8(eeZEn(=NB_B0=IBpuopLV?EM922|HNu z&QY#nuUa;B?1Q={3R$a+YReyfs(;;L?uRkFYg9i?wR@EJrr$|fAr#~n#lc?|bi_pB z#dR>Y2h8t52qqX^zt|jmQO_C~46;RJEyxB3_l@#FhrVAO@CMi=q~e0~CHO zVp?RisA%B|Q3OLe7BwAUR*^21pS;E$m9<5^~q!0?GP2W9!t!e;}HLYEcYv0u!Z2sw@%(#0iVNh2Yb zg$r86_rxz|@eo`boum96c@eay;OFbqVUEFKRmS4h@n;WC!Xjk-;rDtYG@(=iB3JO*ZC>>*<-?Du}Lm62|-PTu~XH|jnD5E#MZ9Es9#$lN8>hZujP2mvuz6Dy>CP3;PM}usQl%l3_o^E=YknGIkoQk?}L^IMQ*Jql?Uu?lc%73+F)J zc|GU4QBDMj2G!jE=eqR#YDqWo^hL znZK&1cpSxz{c2XJ4P4XOF=!LNn(1pS;TjhYm1xz6@?*csG8N2?s^h#6^0ZP0&bel>I4&t70P$uwCZ{dcJ$ zi=^uwn@r}&3hBQOrpPksD@t7^8Ix}OM|HXJtC=h^Xk?XiKj4fd<7AdBlg@`Mi;R-# zhYYQHh*BQ@Y8G|cQbPLCucoKOoJx8~JjRfyA~8X!Cx5KilV5G_$D``$ucrHn?v{!+ zKl{~Ye?F?pznY=vI_uXkJeOX4&agb!?r&O6xK~hu{l%zy`KuXu$-|_owOU?5U3xRB zUdxDktJUvYEmf%Fl7926nT2|iYW(mY#mhe5=6E-%-u`M9Y7EtThJh@Tz7HI;AF)cu zKeBcoby>?z%cA+X>{>9U9P`bf2&h+>mc>w~B)w$5S%A7;SzP9)lRC9*zRkICOf8*n z#zaV=i^q6wzsA&`H!_!F|K!p!wPL`Ic}Hs5q@XRXKxncR-h)Heiw zuiH*E!|xx%F;r-=xprW?Ocr;Jsla?Qy=zQaRYj;&HNXJwBM-7Mhrs+HM%_4O{`SSF z6ta#b#yDsXAz|+tp!rOVd%aeM~nn&IS&RH*k1Njm=lFVGb|SHNp(Z3Ym|S zqbyfG(e#?<-wX5tw8{P-9ihMjQ1{F~XAnQzO8 z?c#j1a-5Dy7DVPr{|PX5Quo?5#4&?}T=QH*Zn^oklBBQ8P(H>e@Rns0hevpHmfw4dS7Jj3j*H_)nk*r6nv`!asdvO;8ptew@adAL5}@Jf%V z(tI#TUIR&mSn7l%~W3K6VH6K45 zWyW~%nG#u@Zx%DG(nZGT5=*E3I_eUO>YS}-S;T-3Rb)?NagN)M7@r+g^RQexzdn_WG_@tT65?4yzHuF8In;Jc$ zKKz4nj2%JlpbC>|A%6B-{tsp{#}Je5>sS(1+pf0py8qsaUH^!SjqDK>_(wS%L4Jj+ zpyS#RHXkhI!0>fiN&5}@+ys+kk#y$402wE9WR3LSqW;zq4(*j}iPTJ4EGpX8ez*-c zXAq0jA{`5-1otRo(O{kY%xr&X{%J{C^$+~om7adl8)N^SxOee#Ia~LBYo>~p?zQ%+ zsp+M3>1B*_9b=s{&KP~s7p>`DF5RoUb+7&Y8E3s?yzhSy1VIo4K@bE%5ClOGDpi## zsj5^}sw!0#1VIo4K@gnh`<>O7wb$DF>@m*S`|WCocD@f0z97i~5Z`H>As}n1|7P<oB4+Uyroj#!*Uo`}?}!r0tf2ZZaUm%dg62L)nGQ zIg#ytU)xu3a>*bW1J$TED!SpR*84De$I7OWJJ(IPQ9wpqO=`5&yQWDUeE;VcSlPWz zBR5?m60=a2k(eA(fA>s}81*=sFNrkrz7B3ilPR)Hy0)+@WP*%t1tUH%LzYS34r<8^ zSt30l7;P&Wv+Zh92{GL+sKaEQbnb5A3E69OE&0CA?l#8lcwd*OQnmBoFP*5x z9%xcs?`wa6-64~p9O+h%Z79)APQo;vQ=l!{q#n^UDjDTOjao2P_t5rItoMEG+RHk~ z@;*9$5Ud1EcKcYJLH6MOCN(IXJHXK$kJ8Fyi3}fW!UC^bGWOT6jbwO-7CPRf zin6~Qr)?u_{{-Do>{2tTcGQ|*3O=SGqNYXn=@AE$u=2jjoMzE8tmZ7-F>;pi7^law zdd5$0z?4P3ajb0Q8^*4hJpTjP$V=FuWFz-CH7UF7lug_h;+RXzC@-2{^Z^f}O=^@i zDO~)4s>jCWE_ z2D+FtMRs!*dpHTb+{efSStes?u8Ka^M#lR&-vh=yw|}7H8RNM@>=ws9(Alf#x5aXB zY{LPu#c^zK<*UXPo@-6�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
    x4u>We$+Jr zsuWr3@8NvEhLSu|#Px5C&?@#GSw^XYYW`c-*r&U;+AH5l>3&aDFB=14R>EuF)rMDA zk(Dfx!BthfkZLuK17x0bcp(q0sbb@_hUv-RTF_ZXt_LfmX9E}|bEMx7MmB;eGPH>) zH&@xDOK7;Qw?|$6c7#^~DTmDTvdN~KoH?s|xI>yd_HTAbjmYnM(xcy_CgJUGjq(!? z_H>L>igeB3_{{`ub}&q)$n-4GJDX|9ELkDlbHEUpBFm)P(aRd%LJgBrL+q^AjUBmW ztn93pVetJsv{U6JT*1MY{p_7FBX5oQ#eOymhcBJ>E6S+Vp@cnmQcEEl3d?foVU>C6dB9v(@hb*xfBWg^*ze{tr4&1 z(o9xKe*=@MmNC)+9waS`WaYPpvr&)jD#&~iS^cdMX=LJ>lGs&VD3T&s^Q}>Aq|NVrcHofh^)D`za3BRwTbN^o{_ zZNGN*C=8TJ+JL96M;-ZAE(TdOGSJQv+p(;h2hSM$tUJ%3qK;0TF)HD?Z&kjN?dt+v z6`nglmDk7J+NI}=9eEYqTI$sIv@6CApO1w)xky(v?&`%4rV7<__9b9MxM11{=Te>ngta5$ zTeR(^uwB{StK8EJ*A9Iy@SrC4os853kiakdge}vIXoM#kvK(Q1YBr;Pw=dey0E zM&KAvpk$gXk@n-D=Qs?R2ZhECPqI13b)TmsyfDouGLh{B&#YvCjGfTs?;2}dLAH#< z)6+(jAvO=H-91*e%vafmXSBWKKxjLw!;pmLVL9QAX@=*VL=0P!6(U1IS)u0 zhG{Z2z2|%J`m14)vA_5jtPuspMVFf<7g4=zH=#WRVR!=lif*BwbCt z`bo^Omdl!tepY5;*{>?_BLW>>~Z)>k|d}pLu+0GIzmbCB9{|;ZhZ|hY~ z(YNVp-TZ5{7Qjqd!^e)zcWgR8o^#L*W0VVSv%IW9!WFRUbW#nxoYOT z?9+?FHfU`9y?90Jpq8;iizp?C{kf-KTaHL*wq%4mzB2+(;G?A{EXBqh1nHhGy8v_T zZ(HH1VPwxtuku@s?ip1z)RGp;A}!n}<1mX`d@|_ZHhmsVk)iqATnNpE$BEY?B5%aFigbuvSFlmAFoA7&wgH`kgfeJYA(Fvyj2k+8 zoD9xF6yQ3b3kXSQwxoov?+xEU^iAO)H*<%0p+q{PdT{2BlfhYz?5U_89Oq#SPVz7Y zr!4e*Z@6NtE9pN0+E3CH892qBI)#EE750ed5@MEY z8uVNRBUh{Z$nen=U z%-#Ykx3qrAI7`F#mT(rb6zQyITHzp**|c=r)1AV~QF(N5p%Lm(9@&3m@{C(K>ORDo z`w*AObQ9<=&?Z?T-4DS68G1x{k)7FG<%eo*-w*Y-RPi>zR$chYpB3JLQYt0peXP?z zX2D$$*(!SQy1uvguQ3X4Cp{Bh|<% z6u~EAbY#rcCyo5A$uEuUhuF8I4`&L}yA&*v9yb^vv&+EHa1JfLkQ)02@^efsg* zaeP)`{ttMxXmy`*{$OM!;GFznuCjS?T%#63ACO3mCFZ5AwSCIeA=9@(*<~c zuw>S=;0?NVYk#o#H}vt*&fvJW*8PCF4%N^R!?ut6>mwEneLvvaFGy{1Z|uVzS<=55 z%xwiLLD07yOz#F=`#{HjraSXx_6(S8;Bh0E&GEQNcj8`j)e&@5=%Mb!l!T_|hdjT3+`scR1}PnR z%97TMj{_d*ys?2WKM*>L1M-2eBw^wQBiPJ}kY&=@0{Y1;StgyWl#@}iOgc+ooXnDC z5MOZ_H}X10%h{%j3`uz7hsCy`i8k#BH)W{X(Z}`{~o)QPeaWUf;eaPJ3;w*sRX($mc;)eYr8nI6D$ks^B!6Oo}_ zFipCuV4igLficqAFB}=|r{oFKkWO1a+A$qWkwr2;qaRb;-Y>)Xob~*_Kb%!G$~Fu6 zJY<3_lit~2hIGyW!(^UxIlvfM7CL@3f^+*ZJYfp+8@!NMg3~skA{B{jR|o>B=^^zs6(QP$T$3G zgcc)_Z3&Yu1=D2Q-OrC=0zXDfv!riLKbK89 z0a;zgL91gI)f__?71#Hx<3Aeq4QQ8#41zT^Lz>2oEa-kYiR#25#zdBIusO4-U!DHZ zaBODZkR{R|05d|f;oL&WmVSPL=g~O*+zHwe-J*?^CA{>b;n|9WAu=H}4X#lwq5}uLxLSTwC(Iy*JUVo_Umst$r&s2qr+G03H9?a;E04be>74O)R>+#Js!s= z&TpYHc_gv8ceDRA_i#|ic$mGr7YyzL(`0NvwFlUj2m1NoVAGG5%t89VA@T?ZBL>=! zb6&(bxTo~sR>r;6f(nGrU~p?p-Q&!y=#bPI7Ee0QYR_o@(ULvOF+7J6G1v5s`@eg1 zCzfF&a!z+*TEfmB4Ofz#NT!5l>!3d@{NqUVLjS)%&y{)hPk5T_T0cKlElc>^(9-pO zHDYKe(~q0=LdQ=dyf-8=B1)#o66w4N2FN&>BP*oq7PUgNirwOT%J$>l0yrYZ;|l4j zryMk5^~~D7C6i5DA;1x~2VjtllUcG%Iv>iYkMKWaDP)$clI}-(ndrtG@SbO6 za1SD3iS+(x1THWmSs@E48o2~|ujuU4f5J`UfyfL*@@XBJiHPH>j@S_i3`AxjlDyi_ zov7=NmK{IIz7V7AZQ;x&Gc8)b_>Y#|KUv(ZbR;rGI!paLvF!WF5^d+&Lwd?|)3WxT zgFoSGpb$w|g;2a`$sdjAPdHmW?pKF@GQyA1p+(Z!sS92DN6Yb_ED6Lcc{0__LVIAs zT;u+u^%OiN*rVrROv1!ZD$(1I-(JWfP*tJ%Im?i>e|*7gS@uWMuU!uRl=&RYxT@NX z1D+??{;UE6tDlI&`_?@{6?|ZH6X*^;k;Nyw{fW9L1@3-=8_*}8s6ncD6UXKIV5t>! zw1FXq&5Sl}_@m|4PZrl=iCIFV*9}I5X4C7Y)<3?WENA~;ROi|@GdDd5Ed{c8T{u_8 zvxwyLVER57X##Tvsv{2&aXkb>%~ZF7{*rK5x(&y^ZX7$G;MhGoXvTRHw9f^D^T5=6 zu;c_i3&GeTu;2n6OPFgZm~(?w(z6UKE(cv6FtUQ`wP1N&&|D)|GbjJZ z$G2zyKlls@eS#g*GW1P?tZV^;VbFeU29C)TSs}gG!MG3>6WXF177NheQ@RXNL`nZ$ zFmxYu&YFdKkr~o98}yS&AuOKL7T3dK2^xIDIR`1?WF*hyrdjMU2YQUmlg>q8h|CCK z@q)G(g2gH{_%z0a6e+TBWiBjc!CcRL^k6R-B-3Pt^i}86;w5eI2rR}$#?K=AkitWT z?>dol{X$4iyHH0mPdXD|h|CCKF|92oSx0D4$1_NgBE4t9zL=^R23Z#=mO}k-NkFaEiheZiPn!`(&O7*S4Jm zcXN<;4$iMq#reH{rGW~u5eOCoFMOc@Ra22uzp_@ee=OGNOP6tQcsh^wCB>7q6DN~( zXWe+js;yxfHwKvacsO)Kk2P?r^P8sG+sdcp{OYq89{`yoa4RkIch=tNd7)8AW~DHV z2%|g^WJOQLee*6;BJrwlOMV5^jLLq$vY`os;)-cGiWdh=&W}*xs`SdRli0G5!stOQ zIp;AWBdUELnICmpVbRoVEX0w?)xL*H%{JvquBoUegac7Y-qrSSWx&#?sM!xz8qoKw z;Ui1&$>t*YB8}k-E4Hyjri>5PJ0Y3ma4TK&Sa|*p+}13X>0M!8wkxPd1OsdQJ_{-W zs}--OFaH+B+`DdJ6VEBk;}-MY`uNyg4AR!-us7ZokuMx-@1666;@;s-tM6v7HhGH0 zo;ILL%v{ir^NDn!Z+0h)e9VVj0~N>^=u8Rrc8CGN@XUFL-4V}qXfa}kr{nHS%jV)0 zbQU57sn|h==nvqJMK$cG_dZ|a2r$MfukWhgOvE@$wO({^%r?6XW7w`JO zf}4_!uh>X&z+(L4c;c;o+fq1(PO>tnH0gzQJ91g?uAgDHO0U;dg!t#3 z?vl^5axkn>Ne6S$y5uvm-)iO-_Td}29geG#upA;gJwX}S!DNwY38-J#{KlGP?P+YY zuGk02vp{kd(aC2K79TMwD8qN(SbQO{O%FXGe~myF5GoQ2uKhBu;mAtxqH;p#dT8Y| znN`JRXn-?uq29uZ&g7sbX)9rjm}7tZ16x{4<}psSmU-vA@JIvQ8n~!Axc1#hfCYAP z@>z~xbxfvr9o!PqM5(cBt#s1$!Bz9{8oHSe+yg#SfUYqPJgZHOnh{a4Kjny{E2vqv zIL9!Fu9GVE4LC2MX6PNt-9NfJD<*Kg_SQIg^TzYqVdb*JP^0lOM+JJrReJ-Qz4>%= zV@7xLauZpE8SEd5sP7WlT{xHEt)M#@@U_BH{uHcy?t`_fckeU|o0dW=tN~?AB&9ad z=zz2otf{)p8I4^?5bw$M3S_3B5VKED(67> zeyqR<)udc1uWF5?vAwFl*K}=wn%B&(x3BRci^_{8Dq6Xs$}94T1;Y3T`L2TxZ9A=2 z@K~owY#fhm==?Z?woq6LZU-CmL_$iMSyd>ESVKhAwWFFH_L?{H=vc&V;r3^{D8JE- zQiBb=Hs5K}#~&9#3~L<2YG)qa4+WQfhc<1rJB_Lq-smL}$C}-)IaSkOTWiwE*0XnOXdzDqX0=i&?w#(IssUO? zZs0m0aT-~0XTF~Bt?xf_^&A^b5TqV8B|Z!@<@0{T=InYb&85UW5TPzT1ddDMtCYgHT>$+#29$MlR<8Pz(5zQ7RA8}!pAJ;Ff=*y-*60*_rD{@=Y zwMDh4f-fZOJnfUNdhN94J`?*D<>V}854#!U)s3>#$Ju}{7iy};TUaNGk5VM9XsNa! zE->peqK0mlIWq&?-G)}IVR7`dz?h(Ma9c0MwA$m znOUV8b{Vomsl~xc_fD8MJ;n1E6%D}oW!_$1R~tu@wAW#fUc+Hmj(tY>71uEfUA*el zow|qJ zQfCUkmj>1hbM(%xJFbE%UTLJRcq1OJ_B$VZ^Ht=1AVq$^Homa?Sv~juo0W8%nrA{@ zWfLsR)&VcGdM<_Gsm|GG&n07>jrB9;wBGPjQ<_t0mEjIr5j#yQ%4ja15_&)PE4K*5 zUTk0qxG%mgTw4d7viV-sNxv3sPqQZvlFCwENiMGNp>5}>HF95fMt{3h&EI2w z<$0Q06Rw*pqqdk=!hM96-0*>9WB*h0qq4=vg!cFC5}fH`4&Jz#u@Md4SJPJAI%%pb zqW5^`NQ z(b-PzKC4%i3)|)xr68s*;v90OC|hEqxzi48&V7unX9wcc_UdD|#|A6-Y&SH`=?AF~ zFPW^3-p@I2=e=gQnMJb(r%KdD^hiovq?j_UI=xwta5~p)gsm5jn)4pN zI=JxoI>SC2^0|)7k}Yr@%RDttT&CbNFw8arFjhE0DV%JE32kjtGLz@~ z{N_1YQddo*!b!`^+jON(6G=p~8fEz0sdyy*r5^T_Nh)ZwQRAn&)QEZe#qhc^*i<4q z33|o@#IOmsURM1B+I5XUN38%Zenj^ta66yRqQ4;a&NH4ib1?r$C3)HxDQGbY3Kcrl zR8%19?prV5dZhVA87egWTu zCefEwNjGkbR4aQXn4_8ZV$msP4P;!S_Nh>C(!0c#{19S&EpHnb@KzIt1~Hs~uIE?x z`~a;4lO+|=I-biJ&k``q0TP6!E0?DrZ2k&B=ligIJae{jwfZ?Bp}^-6O^8E_r= zw-bFD++Q~%S`jkht(K^evk`p-J2;Lp31hsLF>_EVm7CY*at#Wid6auY$)!$ub?&Tp zKDR%04fehP{GoIlios@Z2G!bDl(H?NDoParno0(8U^OjeUQIbIHDx7z10GG~2XUj0 z;Se%e1o~OjWk{ykh}N{i*Nwtk>Q1P;i}6%WB*qs=^9%ls!^Ldo!fwKVXA7Nv zw6IPRdVM`DdwGM0c$2Ria^%W7bq}^>v2;YLYx@aGrpuE10pFvw%4sR;X{#yn z=%dCerwxZt$?j>MGx$%XIa_>TqwObidrk74*8fgw5Vw$Xu@mOWo|3iI(FxCDw+hIw9CT|kbo~Ot*H|QWte=kNxPOSo16pm|b();z znET>X9BYSdcf&04 zrFf#5OqT+wmg;rwmlbgF>L117Y;j~4h5-Q7V*TaW|1J(aeK`SpEA!r-w-allCpqbf zISz89a{=LO4Ko_Cv61sw*|752fI$tta(t|L9Hm%LmdPZQU`;v1-YT~`Br`fOIy%|X zeIYAw`xVvR?H_P*{#vwSAuZs`F4}%L+aMVYj047qv*d>3A;!K2En1~qwPB-qPW>zd zVyQ)7(Za=^aFx)=PK1w>5gWqHh3-Mh%!{s* z9sV{tF>!Ggs+RVox5-erT`KqJ+ZutPL~ET`l?}s{-InRT)$sGWnRKp$G!O8wUr*!9 z;39{Wo0s0JTsf~gs*km1_E!-31H*7>>3fgvv;`-3PCi%Q9=Zs4&f?t^Xh`OKVNo+u zbvPm&bKV}fexXg*&WfD=wo=wdna0q*d@Lp#EfNy`bwjSpbKl3byeDxuP1CQS?o59m zjMag?v}nFsc;($ak*RTQV(}O0TSt8IOV=`MJpz)(_gz-!rQR#B%8!LVu5)}|eRKUp zK+7@Z$^3OzE;)RT%H0Zi_arA_ULg)M0Xlr18@%^9vwd)#o#MepnT~#jl}ug9WaR3j zQH_~Qq+L~=NwwPhpc_fQr$P)r!+T8CX^M%)QbwMpEc?nnB(}8_vap3-CZyeD z$i2;Xyn2^A1yrFmMQ7!iH*3q~YboQt7udX!uV8+es;GE_5bqtNt`Cmh_3@6+r;Qja zjyl|}w6>fs-Yo4}3@mY(gSQBIAk{WFPMz^7E=l|qY|N*3*nLuH*}kVWTy14=4m2$x zCcSjEa64;cH1JIgQ|A2#={N1Wud>}WPg>+Alamoe_jsjCc)9MnBQxF`jDf#0d`D#5 zfHkWpaTmXucZv4Grix6pBCxynuxI9_&zo!d4?8bxB%f@lf7~j)WOdHz;HaT|vwC(a zEHi(5qDS{|<`FV(iFrz2Z1(oYTp@N5jQiqNKU~i8xT%K+Z0-}6ZN14F(%3zLymK>} z8GxUvs}6E9X7hGURY&iWL1JjpDIBrlVz3-ynbPxAS9u&=>>RA1ZXz8l6;M#@I7Co}9&S_9`kT%07TjI90 zpZxl4$M=EQGlJaMviNbx%jp}ot>NaZT$Bm+Kpej1b$}*x_ z0dh;~RnjT|l9)*0P6g;r^V?6Fa`~myj>x#W$N8~F)u?mIQ56z~Q344=fAJa}4Ty$@ z3rKb;Z^u3WA|M1YK_Zil;$)(598^{P8uT{Uy7S+a0x#dS5t(Lc4}LRg?1Z z9rDN@qIp`;@OIJQ`1aw1{;pa2Wk}!mtOawYO*!kgj2F0}pRpE51MhbwL;!ov$C`QYL#zi&c?xJC~h#Q&l=3;WvD#9~6N3an#=l4^G> zWb|?PsLmbRIT{dz8hmQ)$8KIyF%%&F=#+(YUDzIscUb?FKN9cD#+V|L=^iMFaqXT- zmx*{;Df+sWGPr=w-0^yo0S$;=5PAs-J%iAp6o-xwg93w0)f8YP#m=o7n)TVn*M)O6T<%V#^L`Q3MmFA1RV&x`LlYU-anLj z00I70X|Y>6ALTH0sYYhYs(|Ltz0KH*$@Agww3*1rZ)S(kam_jk!ANWzcNn9?YM0B` zN(?~zT_tWDb$C!iUQl^XI~6yhR*gRKk>NB;gVEf|Jdg|F~UOH;BuRRPjR=dqwzd!Jd>s{@T=13P()X?zS!(n&FFWW|24nhuYxn zJ4;IaFs^EfwQ%bYow1LQ-D0>St=hOZo=I6S4Jzw=j4Gd~0!teP@SKD~T*sKuUK3^3 z{#Ni&HVy|>f7&_#s&b#I5=(;L5?vFe3dc6E;*zt{6RD^dHs6gJ22({S`qN<5e=UBQ zCLMd=pFonWb0W05l;2lt?Ah%4Vj>q*`aD>s`5TRpfXz}dj%CTvX;%IB>(}>rs`yB& zTDue!l~Y?W$wfB;NOtn&#QgZW<$QsaWpeZd_FdZ5;*7_00#O}}0I^O(JzeN2N&X@~ zeKcIaOFUy9&p$i7qLaU8OPNRsE1N%be}>%`+4(d+z^Ijv?Z~w?d%!woxCO#VlWN91 zwnT8eLue@9aTD(aX7(GU=H=OWaZu4@A+giDF-K`)sB*A|b~ik@oPhJWUik*3Nw0$` ze2A&_8^u#UwFwrK3{a-ymr40AOp5H^edh;z{U4&J{!d@}M(c)arO&Et{|}-Q1R9l`jUhGFiz`8rY@;64lLM_Qf0@dUywVrmDE25;c-1OSenaQ=SoHm%0l%6QF(WMcQqh+ek2QCjscM~gV*x4M z6bGFmwcboEKpHtlG`lzj>)UY|U>S)A6L?^11>d1eP9RTO{5{;H#iRkb{3@EwAQ2D~ zKGMEFq;^BB6&H>CmmmG_P0bB{&bv^>$Hra$x8ASq|CR)PU+2r|s59z2*fGk(T&SHSTP z24wI4#NbcxrPp)7e`^0CumTZw u8E+KV5CS~_=ucPrt!oYYiP3xTKy7?=)G<*g8UTQa`Z)g7^btDL=HCFi25z_j literal 1995151 zcmXtAbwE>Z7gj0hj?pnTMzc{Pr5Rl!C?Or9NGTv8qepJ!V1RUpN*N#q&0sJ}1x2M1 zMOp+!_%1*F{@r%B_rC8r&v~A6pED~{3QCSMXU?BLlkw!v<-=k5@UTAuXPgA=&d{GZ zbH*dUEhNM%MAp+QT>2eV_C=!)^6xXU<~Nvv#P|DCpxJY>@l>}NH%8|+Ha2ebQ2N{y znsr7G-+cG;o%x#vI-1c>AG5;BUR`_2`1{Kw87=PmNfvjLtSuu}(5V?_@?(%X@V)f& zOEP*rhZkE4Xp5+H#-2EpD|VfnxV{VULVLJUpKR`SYJH4=o!2r0QF?tcWg(3UQbx-` z&NtXGqGf)wQ%BoScIAel(9gSgVDuliAz{^lfsS+O@yJaxD}Eg Ik7x_@FyXOPZWsgv+Jvr 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
    !p0?C8{h`1Tynb_D8u+(G)Is9=Jx``P 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�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%0Do5`_A@BsbWqGUw+E3 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 z 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�=oNvAgVwzW2?B!4IOAlpHQZagp>cLX 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�i1PZfNuub|IV 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

    U*$>;t@jM1| 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 >>@zd|vX6d4e}ZxUIZ%Kj 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 z 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


    t8JKNhCXuEpYXbF{E8D6Dy39>d0JCUL8U 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

    ~QiCUNN&fbQIs+Jb-DT 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%0Dju|BNQ>;J4&VaOip;xT=Y8I<2|>~AUy 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

    TWqVs)m7U)&mOW zVQA#bS|N_RW(AchHQL`p^U9zQ8jH`Wv1sRVu)(Cf_mU;9_-2m1f#{$3g?Z8hAk3@s zQg`w7>V4{HlXNG0kpXxff}F}S9-fFv>-+~)6HxR8>q4`X-sB*Rxb<4zwUiVsj~84O zg0xP-VOnI4f*+(0=?Cx}WfwS_KW7bd{a1qHye#@PVzG>B$_6JMl z5!@T`lqZr>lj6ni5|8Sai@sZ|57*l5cLm>QMftmezhnHJQvxAhK+e zgCn*mY4_p_tALNPLD#p?>i2CO>7+eMs|eNU^wMpp-EYr=q3TC*1xYWX8_|MIZ+x6( zxN@6hu|&!bNsA?Bx#d&dH&%0f9s{ydw;&`fM4@v)?#M-pC3?|1vzik`r81Wn!|WK@ z+{(d8xQo3_qsdk}+W2gp4#u6M?C0Tli3DLW;hZ;4ME7k_Ib5$k|CtGPuRlbo7c(yB z@;HB+Pbj-E#q+kjm5De}Y5VLPzI_^39_LE^uV1LlgrVBKK|W6mMx!wid$$kAes56Qf{V4k+;1z_`LvXOPr;q`y;1T@-hBvX zZ@uI{Ae8oeoV$OnAO23`PqP;A%LaQvy?qDv=9I-a5}f=Aha!|oi}%Ai);qXcMH5Z9 zvzkOtPkE3=_CvGIVb0xyvmA7(w`laAV^G*m#MuaJZn@t0{JZqBEdCI4vje{*c$A7DvJq+P5Alc-v0fe5KutI;H@G&J%SB>C=XWx=98lp5q;XL*O$ zG2PWhDW4doy?;8UKbhbEQtx=925p;f=ZZGmY+-FMh^AZ+dM#_qx3HgjNm{esv?$e6 z(e0$#5>7SF+)k=b!l_n%tyKGNuU=n-Q_Y|7)u~jk;x0}7*2eut5*#Wur$Zbgv|qPU zk1sG>3+WZMSG1D9|KbyjmFmP1ydn3-Q_k1zlBGItRL`3|#rSNp5_;ck=XvuH??Ela zk*)e4M>SFdV)(c%?kEWwYkrJps9Py#Ea@xxh+n3pO}6q#T3VR1Rf%&to5Jz*lh1k8 zD(*%~EAc-0saV?VFWaT0R>!Hh*ZBQ`t-va2D=@bW?m~s6)#)Yen1cLL+yyi6ZIioT zKFQn#)|G^()XBONBd*gG1)&f25#D3Cp9}qjf-sL@iOU9){J%o~?tLZy6M11inlJgE zM*ou`|F8Olc}Fol&85=}7nUHkN>(BZ(9Ac*w7WKj@Zfp*hAL@CQvYjTaGD;J__K+AHb!0M zM@uf}uUM{RC7zz7t(uWV9_bFE$jU;~#4ljnE%;DZP z`)3d|U4HpXw%11|b1MJ6Q2ZG(zHL|^4(gg6+zgU!M?a5suuFBbs7|&&HVBn9OKq=a zwtw@N*2(rS4N7hT`EHJGXMWpG@8;4-MXqV0uZ!XtNFcV?^NCQvv@tYSnKOWEN-XZh zGBIGukuIEW6C*@1(c>XaV73T_>V{@^ka&AK`y=PTAmKc9iFhU!%T) zydvJ%cyRi5iGhY^mXZaqCQIVXVx0Yv>Ds?8y{m*fmvQHAg*%sUcUK5^P42u*30Lp1 zOFED4!m%YsMjTYDakcJi6V~b`5xKpope6W~CB1sEmbG(Z`;k$8TlrFb*%>R_|o#UGg|^D#*ohD&wKPa;gm0A`|kgK_8g zis&hg!j)+jJSaId_T_kzWUj~BFi!{ju^D2~9ik1~r#^p68KepPEp_9L<8OH*-@@PW zG}p$GAbaz7mTx(h@plb>FW~Qb{@$Ix>-c*%e^>GMbp9U6GDJJ!+9frHS-ego{y}OC zvzUKH{yXZ0CP#&(;oOCj8-;e2PnfbVCR+##kWOMZ;cDy}uFh_pB+=20xF)+PH^Q#t zS~>VPu9!FW3Vnv}SoN@C-rcb`8xil?t{8TVFO18$FRHuTsL*C%*p@umF00mwGMSD3 zqjSR8p;x7Gg}zHK`jK|KrB_5^6GURiKDL>VB29q~IF7W8X)m?+{eNhC5AZmuYXSI7 z+nL>+ZL_LZmb5F$^2kM&WvzB4S>T2sfC0lAcM`ya5Q32nIOL_#3FN&569RfAp^{Fv;&zDg*Q{l?P@Y6R=Xp9N)BZwrB(t3M8ilhi1olcEq_{`c*)tsPqIib< zrHryCoPikGblZ_dIv4Pqd$w@&&vG0G)+^$>)a@uXt>n&G0c>2QX$Bb>tI57+>q5vFDc9 zYF?vkZPYcSROC|=TKcrDcnNGHp;8kBd*n$p727NhavN9t-?SkT(V1!$N?%DvPJY8v z|9^hNmjBal@D@2u26R4Uc-aSkz)@-Yn5FqsSr6X^DX| ziD3O#iiIb3g|UReHtX%{a2#5Ll`^`cemS-MTHvbwsrUn`-#0sz{pJWJnp z9XU%|m{%@OFyf1gM3yyVw!|phPzgH;!E%ihrnF`1`33bnUp@D54sylhXV2~z~S3osfC|1Kud#d5Dmk1)gL7FMaF~>=Y!1uHcG0j+g%KBNxS%M*h)*{>tnwp<(eM=&##w7f*%Wp>f{BG! zpTZt$2A}kTJoJM9poH~TWC zcrQ}{tvHL5RGx0)10&TL)Dgtv!3+ZRrI6+u>ND-jok&`GP=I>2TP+fzqRmW4pMiB|rco%W3FzzOkS^e9w#F1S1Ptamgmmc=`8Fcp%p8ZTOf&&Y){)Lc zdsypeeO2pdYM^x_`OA6`la{@Szl{0Uk)?N%g8FAMECrR*NO}!m5dQ`Y4UR#Y`)Nbc z=MN<%t?nq@`!wcAF{U3ug*<4pJfWX9{gG(#1DG`RwPl4nxXy8_ZdK z1?kWH2gI!=ol?>y@+^DIKHbUK;CLCFO%Ewz@+ACFfwW2mj1{E?uNT@2livruk*rpy zETu=?lx@Zyi4=^bnwm+5`9n}|Qe&wU->AP&_Q0BGZ$4gdnh9&&uUJYYf_w;J#yrrR zNE5E0&D)hG&D&DSosioe?12k|G}5-`yt9}>3FY-LuWmO477Z?!Yo7Dg1yaN{_4?xz z^QDz1#30|84e3ys43;@iXipb*(3gqzXEE>G+WNZ*M}Sd~)+aK=)6W#rsU5b)ZRIL4 z051O$bF1sQyr;@1tK}o1^7ws$J}}t^({;5^jAo=*1&+SGjpm1DQ)rhIg??sH7nr;%{7&lye=aXsD#r-fG0AKJ+tnTY+i zo$OXrJ-#`C)Uh#a9E59PpCb9SCT_aZMr-A~VgR>?wR()d&0MamL-@nH9G=DDcY?6t zXUZGj)vu7bcL0^MdAK>tZv`A!44@00n&fN1?xQ4e`>tf|?n@`|gR%b92S~o)dCi?)kuI|2DM_Zr4^2E=5 zlt=L}mgBvb!}T1#118#uc5=kqtK-;d6+5luvo!2Ghj_e_^L;AkBq;V>LxuwD(ZZ5E z&Ia4~AIdXk!YTMzWFGE^{B^ z>P{2+W?*lT>P?X1=&~fX(Kgy<%MzEmWTg{w0o<&Dlb3O67>VeY;r5ZbtgVq_M)9^`IBE}?A>JY{glI1fbX#T8=OB#uM&tKUaM^} z5j(lfX(L<|&(%2D*`=?*{7zo_JC1c>ebi0|?#9>tX&=cN5gWI|DbKFrl+!*9PPs9_ zDUYALBb*Y^J=_Tz&H?EkX>breU&kj_0k3Hq%tu`FbWP%#uSF@pS-A^3knbBG=h;pY zmZ5px2u#DY8$jJ<8s!I{*VgsjzSn|U`%mUKE0FonWv^mf+Mus`N*AWw1AVMPB0%~b zNJ?BvS7EZftJ!_RSj=l_SH3wv$QUuDci7Kje1v7AB=!1Pww5%K8!?+DWXLT?Oev69 znZ4|2sxgsFC`lFxB~myWP^sO%8*6L@r7b|d-Zgb+kF?6_9oDMy>Hco24Ku%o7cHDI z24gXkZAYx2J8Gn)sHPkFB$pPYs_88G%aQ~lK2{9kBXn;Zm$GLvj&Rf55{+v96Fch3 z3e}UEdp4q##shqzWF8fKt3jF*BXsu4Z!pF*LsL>O#*H)RM13lltpt^Sg85pDpd%q$ zeurCL9h9fJ(*1rl2C4jqUZgNMh`4NuB{G*vnaiMs=$2SQqc*DYztqP0EK%CD!#0+x zHYnvCE|p-71(G%LAGTAOR9IG}LnFJIN}7bV3>~RUmwRv3wUCL^ePI>XL@Xd4=?tCw z26;s9UN)k}i6Hhc`3pAwo4Kqb7Ovokw5@fd>Bj8=VSLOhc!cC73@?(uy|CeG=&+>^ zoU0*!=jN%iuR06YL>$LsE2g-y+%-!wrI@SIjMZ1O_WUQSE`y9F({!1Z{%BQ<>LBi3R=L^$O~$-N|qbcU=?ny)>eu%2U=0)C|MN7{2O?kB|zDWFb8k3 zgRrr=vv4y}Y9Fo|W_b3=syuTQ{EsqPCRQ^J>BiM0twOWg11q+XEX9%w$p%AvSZ-tE z(-oI@KDMX+tMU_n8_feZ^A@(x9eMjN~{;+t$*j~}jD5#ATNPB!3f z+U$+#alKkk{*KLGz%zxl0&cIZD=y57c%{u}Dlv^?b#dh!)=47Ke4nZ2`FyJm{4LeJ zR*Ln3f<(C2r&hv+-P%F*&ZOR%{N#6$%?+~;Gmr+Mk@<`+r7rgZDNjXQ3I9d4KXJ@5 z#twJ*Sx+nZD*@9>N)k)%SO{V}+~M&3io8{LhhG}3yI_YKQYW2cunxfI8ES98s7XCU zTkY+ItcUnmYCL_>fmlLsK)Si9B+LyngjI}+h}%ZG*!IgC?4L=zuyP~BYmGG(?~e%U z2BtZR{Q~P4w-p6vkJ=uuynKXiQ>1OJJW&Vw<1AmAr(2-h1F<&t(G+W2+jr@K<2qT_ z*or%${N~%5h`o@f+BQKfDqa$zRD9D8G-4MIr`$<5>~j0Y5JP8CPtI&ZNdt^-Q|(!0j=9TCwdw zHUp|QBA!w<6#{&wk+B`N*dyh~wL%`Dm5tC!dn7_ok#iU&^24ZdY|*s8lU#LCb8Ro< z>mH7<#D8|@dH({=gv4%kC!Nn@3kyDrvo0~4HIU!1xqJ4Zp8>MSHO3gpR!nsxxq}hA z(JW|>EXnv@?%)G3RtHs217o&rv_}re5Cyd^LR!d;tJ(fSyB+acWlfpYYoMy1EbKI& zn;ST+g~De-5GEf_nMg+U#8BmB&5UVWhL}WT$x?(fNTG!^aTiNC(}*M4TMBe%S)*AC zViF<~oWcA{an@{_wR3AQiHOqFJ~)^)_GxlB(_(Z=ovq-@`C6doEU|}U`Rr;ng%)cg z$bjcot1w?^7Z#>RHVq1UMNv3Qr;_y2+S99JqOdPpI0#vykAf$PSBpTB3*kx~!;1D9iw1VJdo!uUKJvI_cK>1I^!+muUrQOLk^>B9;t2qiP$19;6 z(?Sx_wN|kIr}kt>iFg(2{4^o;ZvPHSwp&U?r`UTHLLCWl{%T<cZu40k8u7%q>Sgdq<8j^P=PtM8$JyVyg?*$&f6*U^5^vDcZ@zteD@^}o_^erock z(r_jh6iAy%I}M}w{5(FNRQuv5I>|g&&)p)QyHbyt&fSfJ!Z>?Sm={hHR%0t!v$XFE zB;(5WzoiL7YPNUsnOoAMfo&kY*iT$XVd2Rg!IRs@liR_QJBlZF3~PCiPHr=FV*g*9 z*OMyeb<+xYUO!K|8o$J~?8x)_bl$soUMtNVJdf;RkbT3+F^}ckPY0)V!hcXCZbO_Gq_mDsl8$o!v~u`Il`!?u)u~<)v%|jd0HLWw^$4xyC#`YlpNG;SfAS z1FE8!x8RWY7A+GmUxwpu{Ep{&7Rw@hsiMU*n41sfOUXvTBfa!K%``+wrCrxnP3u)@ z(%M>D@z-TqZ?T#tNPe~y^fPE@4(=ua4aJG+qtFe9z&&Bk;}vq>BMdSQ&B;)Jc@Pz~ zzHcFWf4=r{bk|)is1gTaeq0uzoNLmuAu!z{@?`Q>83p@DJ_lS zAG3}-$4TZE@N6>V*%T+OfxuRlw4;o@+h7axu$-`*Ng~oQN!W)B4k1lWBk@%pi9-LdH@CuZ+Ndt?)>DS!!m188^+?QFlyOpsMX1PFK77;Uw zbg&%{_R-gu-e-;FnHgnJuUF|*%*60+3_}j#^q+NLf1L&3*bDJ|f0p$Q$SXT@{wvyw z!Wiz98hpoUpDbM%vJdoXU>_)?*_TJ0=Zf@r?wsXc1y5U_+jB*u@_HtWUH#y$)60^@ zsG7GXz9r8CF;`#TxBrSp-NW_bxwUyDH-0`s<|QXRsgWo3+V_V|QG5h_MDLpL?vT(s zT(Kwp9;t~ta@90fr8zT$v|+sjt4@4U>(E?nJnhCcSb5?T+L9CLZe&u;D%^+^_uLtD ztLtA`T~muowQI_c3Jr7WGH27}h#8#pgjPP~H`?01bbP*+e`5BmD9*qWxcXA@b<##@ zeoRjwoReQBt$bdk(hjMl4eNB#lsAA-`CbISQyA<)N45 z@hR^2hJC92UTJTR88YXqd>d|Y-1lmIV!R4tWpo6w*6PnZty2eb?^OZwmdMmbJO;iY~Uy^Vgiv@AZRtiAUk>T>eRK zcCo*SW?(Azh;h~VoZqD{G=#BiI(4->qrbuNhU*WttkaJWmKZL7pha;=WF{}C}_6#HkFLNoe( zxq9~Lr!nr5kGiJZwGB19wk5DzhQIqy*rP&|wyNp_?qcqJ@*t%7Nuf!bRP`jYr;lkG z^HiG%i)DX#D?wTw{4;y__Q3Jtpr>8%%S%qiePOhOZrdnbxUaFM?E~D8Y-nAOeOM~( z4^h6*9bKh_aHEV5-3PAA-Y;D@LnTCfKc+J7miJWb1@mT1y~~iH+BW=X&_}ZRV_%D~ zyJh9K-`B=-{}a1|zS0|W6FC24nS?HHEc-f%!Y8jCPF82HpD`fmDWOm52;SJ8SkDzD zvOB5|=7UsByPWE9>PRBt>E24ZNh#_bdz#No3%#qaykomMOFBdE8sxhKkXLJ=pP8%l ztx2bQZSr;9gp{T(*CEE5bzY~A;L&e)T1c;Jmz*<+B%t1Fb6V*+CFiu!^SOxAPWc`M zCr9}{1}9JHH$X}M1Q7q7U(EN?8pW}h%Fim7x`SaLj+~y*=~hghy7z(CK`GU9_+{|s zhf>t~?STgo*8Kt3?RDVIlDmf`l=M;kN`zK_&}bJBuYu-z9?eu8u1D5P^e|S^zQH)i z%Ut64(AxJ*-1UJbJ^tPgURNk3*a<`rv6Q&91Dj8}ynkQj{c9sspnHit;{q)zHCdtB z$byd4`k%-4W<8VIrxRy)rD+uS%6=TGJ*n(*%ulD>?mCsCzRBD>=q>)f0u$iFlz%_& zJ+Nror^z+EjpQWBvd$N?rT7=J3TM`x4g<1AKT?=;vQ?Q)p|2@z=kdHV0$z9F5b0my z0L)_#iU{T-7C5Ep;y8 z4!NXz;<12fT7ynE$>1C;Te-@Ou>aeuT=tP0!LrmRudVQQl)w2l z_8i^=8%b7Kiq&fJI?z+BL zlS;mHFW;FjU6DMs*YOE*$kBaU$5YLf*u?#8?FcCk_iVN;azBsC-rz-OZ61z0-h?Bx zO!E@NflAsC;&Y!G8;U4w=&JuUHguZAh7Qqc@u0xEzqfYa?K`l?hp_DS{fdv>1J`4k zGboaW$vL~8Y&5e6VRzK+m@wMTpwmM#bTaQ7m$|I#^bpC}^GdmIf}A}CLUhoXN-Id_eM7AvT1m16vIEr~ku5N9*`)mTRSLSW7iFTb7&F5!WZTg-)}AKu z?{xnCQeeGF^V79BgWU56hp3tYNlr2E6!V7cfo=z(G+NnNI$`kJsdprE@8~{|Wicl* z703MBTNAuH{W{t&6mlZn;O~Q}D$bTrD2%(-|Jc^}eRG22^d9$Jn!^YaWckV9_p0}p z=D$lR($}v|_tS%6-@P>!J={3^AAcB>&)?d6c1>a{v^xzYcM-rV`^R$EQo2Z9HCSl* z344^jS*?OObZfUGxYuofmu2pq?es{`j+7SI0hO|n61QrSxRow(tNc!It0f?aQkHo8*!x&QJb;ghm-7!u@r3yRBEg}-1Iv7`6)<=9Q67eawFeN@UCgpT|iNOo= zu0U3*7N6p;WnAhi#CIBmeo6uH`hqZjH7NYaU1I9pW_B9lAsSMa({WyB)Pd7m56;X6 zaQYg7e6u^VIuJ+dM#{4X^!hm1D;*10RwH3RonRkH>#M3)EbaH_SuT1O)U;<|dy%_M zYO9+6p}}hYX2dbbHtYKxYEHBfEuqrhtE3H+^=!kVb37wyfd9-3Q|hw&3o2)r{(D`= zdFsYKd^;};sR1tO1T14>8Kom%D!T@s8J%RknO0Lj;f&pK&-=?FY7gR>rhf-(`XQHk zqrd9Sz^f}P5a3w(fX`x#807g<>Qs+#oFq1$o>4yeahCRbRYyz}^9$p@u8%l+Z8CJM z=oB2vlJCjRe?(*$vCz&Im5#fiGbeMKg@MV4e_E{9{RM*6Jg&0>om6GB+Ue9Fi>tJl zwUGj|OpR_Uy@SWX2G8hr29~=n6NP#nMWl>nyvP947IUT94gUGH_ zCwcIFbx_i-NNMtU&>F({oo<3+%LfAt|C6QGcDA%s=_2I~(aGDDa(uT!c|M47&qbK% z3Rl9&YKklsK*{aev8WxYOV@MYxrI54T@QOrH~Jr}`UTT33I2YK*m7z<&NiMm{ZZLso+OrM%brFCLh$%(gm8XW04o_2%7?x5$iDcq65ux^ zpyq4))z=2~huXFg4|#5kaxP!FGe_jDZ=gVBizn+(VboR93dSh zd0SWLzagOew8E@SyuUBxlVop%suChgoz8^_uU<1n=hHL9!0=3=UyUtXhAo_dEp%_! zLRAK*&`{keP zj}&Z)F?x})NFtCJ2;Y{5YZ~0XuRrLnJ&P~tuI=4va^+H*)lb~I9rX62a2t{BMsZ-k zX53;>S|Aw+<($x)f%CaH)S7*CculGq)JOD%6+0!7QX_1s?ZPYv2h)o->vTDlxEK_XV{n9Gkhn(tN3f%sH}aR zqYrF%Uhr<|cOw!Dj00K0SMnUwvCZi*#6b(iRh1KK4xdov%84c8d)J&;yYbl5H}B7< z)UFdwt>V8twR|8MJfuT&j#&hME`0-qdSE3axMqwG5aih*Y?{}N5U~eyk6DygN;C)k z-m;BqqJHnqaWCj4^XK{O!n5Rl+`Wow&pU38PKYU4D7k5dp)T`-VwJEqC5se{pQ2m| zQ1m&c0_kxS5nJ9=<(}b43}*Xr$KmPYlwt^P5j*|BONsd5(+l6c$1WlDvZZKm+gL27 z^!Y_xTL$RHe6Gm=?ZZ;fb1Zc@2i&33P%;P`baO;Fv~O|0v-TD0%Z7%Ba7F0l9;FF` z@eHnzpU?0U&JbCX#j#7_*ts}%ZDeisaE;OlA1LW~S`EAWjyS<=Yo?vfWNC%EE9UA{ zo@FO7thc7PE{cCZ@320uM{_M_L<`o4rq8j#YaCcdw8)h`!Hsf>^%tjhsS<(Cl2)6u zzLN8#DM8(poQQ2r1~236g7A72`w~HlAcgBgm+Qi@rhwBjfM*Sj>k#nwcS}n$&OjUM z20CsRj=|*-$L{7+-!9ved*Dz#!PYkY1nsA1X&vHs(i*9ZAAYObv=X3Z^!X&m(oiZLU|hY=L)+lI~ZeMreGzc>|4f>#%3w zuN5h-Uho@vyaFgeW0e}Hj**)29(ePgygFrXm?o#zo37i5r$3$6hVtTuYq1a8{V_{` zdwll$jLYy1R1B%|PKIC85Q~^+L%2T#rFPOEoy*|r^Ji0CcAn^Ws-vWjf`rsVA$nb6 zr%MN`nnwp#+y{bynw|6tvX$qaLsfx0Ea@c#I2Wq~v)Wc_<${Gd=AabaDK zbDraAo`ZFY4iNgIGpbyX=@{Q+R^y~`Dy=(LHBLW2z4{(0U;PEYS~p@7rj$UKr>u)P zlT5h-gRu(l!tf5H-4+@TN%&EPw%(z~P`lo*=dl?ee2Q$Ua%?`1 z?103udtfc&{s?3A>#(&ev9&YvV&EuC4D?pNW*$)rvJ~NEJL)g-SVA>ez1#Jd`ug$C z``VyR+R64+gvrliDsvz&A;Z@Lk7;dH+}F|Pg?Oe7HIx#=x zT$lUoKCM8S*`F-UF*cmcRcs;2(;jJt>vekHu#@+s1J(l<=|eqtf#Mut&u>MT_5-$H zF3;QRcrV<_^<5p}kWKCqjlUYKj=K%^QpajkI=bO;mwcd-wrV@x*od}29IN>xcZAS$ zZ#Z7tdqs}(j$tn@Flaoe*NqXPX?Ll>m{GmN`c;xvDfScR?y*6~BENtVMwRpk;%?rD zUY(y(IW>9`%qr$vz%%X3=)K;GI94<6@0JwrQQFUTR?E}cp_{88=nNIHW}%&L1bwj& z;QYA%X{{zSUJZ!^&mUn4_x?S>BjSHdba74Hs@~TP9w(Z2DzlVY80xu@N28HP;QKu8 zxAQ!Gw|3lHLgPNyV*4-D#>Dj=jQc@58255$-1iBM`yTk6o8@<=Xw2t^#(cPD%xB9n zH{_Ui@|b%#b_^W}>r!9rWyo?$wsqUK9{7tEo(qHLB7-^XD<+o8HX{c8I@K<;8!P>x z5%-rQ)YsBT|34t-!aiD^IF)@)eE3l;eKFg9Yzn<8!tfuufpT% zUUmyhlBR=nh5*96kaxyBWh;eyt$Iw*AL%Vz3;r#h8zUkE$%J%^6GBvwqiFAWy zZ_H8i1}>{?wOB*e`5bQK@Y%3Fy*KmWhRjpJGpINH+x1e)BL(S!H-j?2YY5&kFEjW8 zY2(r$O9Au^*nfX)efoeE0UcL>AhvnIu+clA{ue5`a~^5RS!329^U=%vZEjE&zr0ws zuFD!GH4p&b5iLhli>`|qmwfWpcM(+JA7L^z*+TWy(Y zy}@}&^<&+aCu*^lpuPZWnSibM-;$Wa|E3I{%iCyVk@h0G7WeR3TC3(vLAcZqk+*M+ zSSwj1NOa4y8R>AR6>D*aLAU2%Er@SK5X0!6hc(NQ(b^qtghuaUEE~q4ch)0?Mf{4keIbd-u+rb*7K36N5L@&5Cz#Vuq^E}!hoGwhc zI~VY~3Gl^`yHna!8VEQF2&H=ICINAghV5#X_x%k!tUWv7U3Kpd8AJzOiSN{2#cwFi zno)^uo;8ekQm~JU1Cu6vgMOBS~#K3(nsq<8+PpoiiO`mask15f07@2p#F7r(S?8YPlQF|FqDr?I1 zb*sIMdsv&}ot=5v7cf8z=VA@BVBD` zo9=XQ>Slmb--~^liTy&_tYemJiTaW&N?5{>m0Di#9=AGO&F;k8V!wI&SuW<}Ow%oL zyi=Y4s~y(uzGit`-Bc0PNIPp<<%ZB_9%f1Hs%b#E{C9T5@10husn|cc65iZD%yzV@ zb$V(~$-O+xS_qt%&*z$UUJYuY`cKFCe$i)Y>vC%On&mqC+x;q3Wvx8Zv(=kq;k5&~ z-TB}q+mrIPGl}V0Ed|B4d9cN{HCk02Nx8C;I0qzuayYNhwLlgvzQHRi32ubW)`Qi# zTD2x5k}vSh|Le6a$rNQ(XreR;ONbcM7TvHqkvj0NrdS|PF{;%u=1@?%5vSM2v;b2; ztiM5)BcZrQ_hgu#F>d7f}}upv?la_y(a9{_L24<{G2n(fd8-c_%C{S z9ru|1W0F7-+M%Th7%I>3<*?mtG@lXWlMz}N4IynN5ou*8v!+%*iPjEM2#8BXls1k* zK8!;$BZib2p_)BoOw){t%m}x!6iV8n08cftWGhhnuCb(LQD zQ+AdwEHmQSW08n0lJX|>b*VFK2l?bZ=o;{!mEYvo(=Dzr-sgMUS>VS5Kk3z;;;F7p zW)0oolqQ+O0?wP?s`d+>c>}Xj>SS%HQ27Df<}ZK$Fn6O-NSQCt0rhLjDHKhxJbb^B;{zuKp8VK3W26b=3_q+ChV~~xsZ)1+9G_qY!_c(kf z@TPsG{{gkOmn)jpK?zJh;u-|CBeiEfKT7 zcxaS+P4cdYEoA+!aIUPm28s((5K1#~w_jAroe1Y1#kPVG2%nX=_Ez~}4+Ljq6OD*t zW`XQ&lFt&-ectD7VeifsQNL#3dCj3Yn$V7(;TW^nj_M>sXb1K> zNCgG4QH;%~#P-G5%t~xN#`-F;5w34iL})W3x}hi{?@uRN z5X?i9d2E7h1b5CQ**EKs;)vE-xzTQ5Y^9#@=w%aV_88(dk0V}l$W$7y#kzeRy-ldM z*-9D590<6y+A!`%m7XA3kO8RlFpWLTU=Op{!#c$?!I87~WG%R6$wS-Sy=ua0H>G(#^+ui_q zFcx~N?JZiqo3Wt@ou>HY{moG-xLwlWevZQ$qT{g($b8dh&7<8jgb(O9{N+d$IeHDIS7d9MR zqvw0^@4~>=HP*-XPsb>H%(3O|<}u{Qf-%fdj*~Y6 zr;g-$KIGf32Pp0iK@e8Zt6{W3N`>|VdkQobB2Iu<@sKNNRkx1u1^+U{CF)$Jk?6@S z*>smUBwJMYoZ8co*@qGj_vaxU4K;F-PK!JdA)fT1jGIPl-uX>oInE~{fz&7Gkf(u6 z39Q#eX0a`!L)p?6TeGaO7CDILfUIS(GCRTe1mh+mA4Z&oBriBa`T^0Dg>bf(zbE!X zrq3cBb3^*WCF~@hCCh3}pf?yWW@wR0y>e_DM;pUqt0QjWzZt;A0BfF2Cx2gcoY+FJ zHenWUPdP@mG8;W`)7C^~9*7h4D4#xTLwe`4Q`=^Ds7;a;B;4U&wt4i{Pg{TgtTwDK z4V@X>qegF!XD%`{6GyJctCOMWJ@~|TA5O>p%PCg_?q3Xf2MF_rxPLXnJ5-o!rgG>Q zVHP?llr?Do{&l(xM=|`03db?9|d3k1KTbc@xh#eUOUe$$G#oCwVmHY2g#5RHMNm zVT9ybtqtz>YxSdXcdujZDG5;n{~q_ns(uCd^tSrJA0bZCz}8B9ERa81&3M7?>`$3+ zgFX11bV9da(nnoMD+Yb3cq);tf3Wk``z_G3NLv!WV_|}^2RUju*5BxX6XfkB<_c1K z;8)y}@Xg+K-;ci=gHbRT14ttVkVOoj0Wp9^!~mLXcE4>?AfTc;b_ti)gtmuZka zBkQ^SnDPy0KJ|cZq37caHidA8>R1T<&R${MhWOlj(*wD5n%(pB+ueaGKP&%gbg<_} zwdUI^;jnZe>4?zkZG|nGSF=`oU>y*3yd{#=>_0k5{Kj-f(%<|Q3o*wdTlvPV9pj-f z_Wvg1z8$P!f3E~o!f#-iuLo<{|J%Rj+wE21+p)&Sr{>$eS>fANHAN=!?dWS0p&eSt zFTxXXQ<405DH#}}O7nP?G?Iv|@^&LZI?a$e4^++O<^_fRPT4P{^0H7X2Yw}Sjo1=t zMFu>8loeTmbC-{T|4h(RI$zf2uE*J;RbY6Yp2s;{0b2}R^Xj~MZ7|L%66+&wT(9BYP{=z#qECulx;M7EGm7hp2zY-GoXa4w<@PJW=oH$$1#s-w~Bny zB1_Xfwp|jkB^Z@0oX2^qwgea1T7)eC-Kh2ZR|$Pffv`Us#ZH#~h=wpHyW7|8+d}es z<|PK*tbX?#5yI$*1A_@6cuWj=?vwwSF!1qrKyo38>ADWG`8D4x9 z+-Q4L!u@l>pGU2U#FN~Er!fC;Vst|5eFz~;(w*nlKf^bIjgYTnKRB7qb+dPm2CX4( zPUj2t$}#Djz@EKC`D)s)oI4HV3p=fG{k{`~WM1MKavf7#uBQjqY*Q;5sn8p7wf~Tz zLe{EKSH_TWWd*w>{@2AJer1O#LxfGtvMV<4>OH%#bQhivsb{6LcH}hf>rH{SB7XNp zJUf#nq@TO|fg0U9N_mj^syFfPZKRjBjdaueCspmyp(xuU#_#hV2(YnHtqmj$)5%us z;zq933uNV36HML1R8q=xH=_BkS65q=)|Yh|T$kXI*-**-Ii)U?a-gb<>Dt?b_Bito z@(kl;_z<$d#5}#dg4t$y+ZfyA5c-=+{~;6G32)DOsi?5Eu;z&Ax9=>Uu%tbW{eff$ z$1KYZ(j_mi4E~FXmlqB9$lyM_q74x~Y3$ugUet*XFrW!-pI$#haiQ&vboD_+O0Ux? zU7k_hta(joRf~IJofOhV5ypS}lxLPsQnS(;%)0as_c3|2eut3VTq!jzA}c+{zWzb} z81x~s2p1#0?X4^F6Xa<;wkk4Zf>tSUg}prSYj*sePOyJ{22J_YXAt7y#t_?RA?Qsu zT4w2)82P^aBWUmuK0nqpNRjVke9kh-mP`aj@EL(PEZ}$=4m8PjPCcwJfjyIc9-ocS z4rg$>fd4YdPFWXRiqCPRh4zmC6tMnp<1=q)@DsMB-U}a-?IV~4T8!!$fEoB~f+B3d zXA2C&IrzL7qC>=1ngZb{O3ehps7XAZuJcr;*dzXk`TDE~=tc8c1Om*n9599%R7&Y1%5=HQem zu(bm|?tqUv;KyC?KV9&8H{8(;S9ik?yWyp7_|8=FjkOE@JUxOxua@xV!Xp0MJO_X7 zrx!n=pRE+#Orh&{!F5-)88wIPrb^3Dz@C~q^k~I0lrW_AsP#sNE$u~-&pfghbvoON zO0Oq7Q-`ta_Vkte5nPXu$8$=_SP825wxC@3KY%T zOYFT2&*qf0O7tGahf)dXNXc4LIO4x&uNk}22&d-p2))NMw98B{GGa(Owi`l zt65Tflx#pY1?h#;WuAW|FwY{wE=Hw)Ft(fb50F+NN2P_sh?4fSZah_`l8r=%Qf;ht z@VMy{tU%hz?+1k@+F>V}V!yzW9aLMRyo%D0w!I&=U6Cl{2#ZLt4~fXiN7*OuKUO4o zgovlPb;VI^eYJ1dOjADF=_%8>cGq;>+CE617w-jO<;R12f_eSlWL!Ect;(+I)1{5% z^2WyySGn7)YTD4=+JECSnwPzC)^d7w3F~+H+4CBKyoyz2hf`r$l5^hXxtoXh`bx~j zgBGV=oJz`y0+wZ7k{Zk=H7 z&q`s~yUyhKH|6c3^aO~Q&RLIX;qe&K{$3d$smJmGuLWUBo1F7_J-mVQvVeDOE8jXt zvDL@e%UY}HCj2C|OKV=%bSUOh{z@?AEv!r053S?+durC2v=X*8_7hw$e*4Z>U66;% zV!K2GQo4^{cR#<8zJ+X{RUmx@AvF|Hea3IFaWzC2-Gf-emvMF5+Iaf9mygX2B#OTftE!1LOHiLu`MGt|Dm)}oM3{8pV&ny*K!J-0`J9!=ms%=@d(RfKN!uaxv2I~pg4n=mMY5b3@?d96N{@D) zRTR+(d%`<$x$B7Ntp(zhZDfx--OGm9zV-|du@d_&*~Ib582@{r8pm;uO$oinvn_Ub z=zRj?=NE%GTkkf!n6G=H+#=WZG`0=?h$Rw78X|dtB~mwABK?NtWXNx1Hs>(jd}e`e zl!S3t!Kou{pSw+`o}R6i(}3S%e`&@@d>P{qr||sk56ZJFhW7>$zn)>|9f38}`K8z{ zFy8m~*hZtmMU0M;CGOk|@-Z46ikjdU_%+cVFjN>~OWPJwBWdv255PbrB}1!p*IG-A z(%RmKRbC-d(;E!?L;JJ-?)CxpuKq%5{ltIMdbycwoA2FCeg6sjU{F0s$v2;w@McFn zc{S(>{ysIaKL>2kK8)cB6kXZ;ye6Xe7DW66);Zp|5?4XmC*L!1+QDUdAHRW5FN7h{ z{DlsptDaT3^_!rl<1iMFT23R`uah#b7m`PsxLkE{_Ms*sN6#RA1sxaUm=$fN9vo>2 z>!=xC!&oF5q4>&3xn8b{$%vDTSW|-;wT7&&U`8?A#G3o;(MFKoX;0q9 zzTqtLDYCqSeAZD(-72Ra*ChWmy}FO^IP+S>9)8p%B4-ze5O1elHj6DT`)qM}i0lMU zr&3hnbNFTmAqM3-cw(-`AQw^=SQBaA`spBTE~l|IBokMHX|KW6Fc5xAbrN1tu76Hb zy)Yd14K;}^s|*=SagWXC^Q*x8^Sv-WCln`1xxGU15ePhJ%J^)I?-q(r!}!8byc6SR z7M(~2$1MxA(iR^Y(r&LGJfIH0f$Wk*SL0V3bCg|aliwB(h?2A;miDr~$xmZd7BT%v zw?fId8S9qx(Exvo!1#e3L7eqC(j~SNy|PQ~U`*WyHfaB#Jple5>)Em`m5EXCl-efc@~iJOQ7#;d2zvztiv>eSqy$$Kfe_o`_GZ z5Y9!)`7ijK2lZg#DSCGVf9{~4_bK{k`nfGaEGrFbkVcxDn7)3YU1%qC2^}G!(Q2`W zx5)KKMGq8(b9}dmu9z-jTP^$Nii+m5p}=0&t}hKm98h}Rky3<4bgM-xeEPhKH;#x` z644u=a9UlMZn*z>Z3lOonqOC?HdQ^EqBO(OJz7@xVfp!`I)cQ*gZ@JYekf!`^hK1U~) z#axLPD4G(M|LjH0p6fT((r9P#?|%GyLWo+NwM>h+u>XB8YNJ{iR{i<~ZRIcD(mFJ0 zeOQC>#m~pwn_XD>;9J_NhhNZ2AgzHbPlj^?>+@N?4vKjLY%_zqWyyWp`O&<;>PK_$ zPvb}PzQB*>TN8YQrg&H zUvR(Z9maJ_e3en^YsosjkVkYpb}k z#c{ZI{6kbWY5Kc4=13{R=fz-Jj^r}0c_q7O2!^l5yMC4qR{0DI$FT7}Qu zl`oVlC#IxD9 z97uFVdRTHi70=OTKd(bT{??xNgA~F_QaGpY7KHxoHeo!$R_`MHuJqi1W1FKDY#dh- z=9z86dW>z24whZ!eRSep${S=^t{ul6SdU{V<8yV8&v{0{NWz$@GnZ?3_D@2svA3oV zy~dQyBmPQCqrL~e7Qf7W_f_xKGtb&3C&P&OS_j%PjCULGe2#5q zc=8hCd=JLn0XG>~9B&I*9H;b5k{}SxC%qwWlx#i5_+>A_MR9M)tdRbdM2 z#nxfdLQJDM>c@q7Z&5@ZDGGarLq4b$ZE%^7wi|v6SqvDm+M)am`ABGhFyH5=MaB2Y zg**|mHpXt)=QpWuhQB~X5veAnE`w5s%7^A+sT-`R@KK750} zj-=kFRO3fr8R7sPrpi7ZDobB;cEmS?`8_<#&tVO~V;E<{nYF(sWixfQFMdb}>-z1p zxSP7P(-p_*7|c7~D?^g@684LcYP=I_a5267)OK1bwp&!ZtC~Axc?(SW*Y^2ZX9RoF zRDQD7tI?1yIYjS}EkWk?yu)WzY*DY}>UNjnr>q&zJsMk$)bB&FcTB>)9*^nV7vh0Q z9_RpboR2FAdrDD6e^L^$btMt+92_!+fLDVnebYR^IDLaklYFoTlx0k!FD|Z;(UE@X zZ&GC_e7Vx@r0{wUOaIOL^L+#L)^keE?ob&gM~)M&Pj@%A_wf*qlh5NsH!(C$C-d4T z?!M{+uI3ZF*6#OGY_wON2{*BPNnOwf3@3v=VAu)zkQ_?iML=$(X>Pd|qE=_DZT zpxx~^isTI3XxItsL#6Gl{xk}g}ahu#Vxrj_d{4hl(LA(U3nPqHQbdJSr_G9Y2mK4 zaaTIHD-XOkw)k|3s~*U>D(=b%?#c$bi>evbsN9w3^QbNhMwRGn?Lgj@8d1@@eOz!S z;yGS(;oQ$_!g`!>l>OwrLbU3;RpKs0)s7*tTuzghD!FSfWscBSiKE23_A16Da1X`g zu9fj4p)9bUvBU96JP)~RrKdOi+8FQJ81CA*+_g6{#{%aqE_dyXru1|j;v2WfU3($< z4q}d@h|67j3rL+F5tqC6mVgFgd9Z*ID%TMd$%VYkiFl01?M}`~aSy8T6`*{{@u_|# z_2zTsI^4T4xp((uy9ILZ9!yY=_b!DxVvaVRz7a7a>NDdK?rX$d(;ntC&SL)7dDI@` zQMdB9BMl#yw&!GgU+9QRylQ#C#kB}?Ccm5OR$RT0^_d>{I?_T*>bB#s*GpWPBvSl< zM=Nn0Dnw0M!5PL_hY9|?j`;1^R{sjJAN?wGj((11@~gZ= z;n8jwOIit$lHP&0LM%<1W{zippQSZ`DJhB(hW4G5Yu$JW;bmKK->>aEbNR~TmPA5x zED!wWg0J=?LCA}*TXEGs)?UQ5Chu1^-}Kp^D_IO9k0a=)S@d0xlkYdPT#wK(BBA4f zwA-Qx9b*U`;|LvHgpLV>j@FRel}QO5|G+$~29+kEqfC>~aWhmbv$3~jdjB-Pmyqc} z4ok>%C5I(sI!AH5ye5W?_3CV`?&9Q+c&^^yG2f#GHlE6GrVlDTKsbML*V+SKiY=bY zrwsJ~hN02}3|D%9;Ytr+1aOamgpG)OHXv*?5jN@w8+S+82nZW>2^&qFY#>Y6xWFdf zV;^CDKrjO5!d}^ku+bjSBn?IQ?Jx9N|5O(Hr_!CkFBRR@2e|4?rdbgG)DXwifhlDp zU*(&T4?_V54GOJc(sI5yvKvapiSSYwQay7V-r*&w`cw1vvgVKTRcJY?vX^#i+=*ZGvTHa4fS? zmixAsvzA#V2KE=72#)_8enau)_7{b=aZu=I4+`VLX~Jx56_zYbyqMs|`Msok{w5}$ zKZ{n@S*1@TZQoVf9~1jyVSgg3M*C-UjJf_ysK>|aUxbeyGk=<=NoRUb=g#!Qm8 zAg|}74abD$T&djH}As)Mu!D_;HFQMXWm+Sr<# zf7GdugBLG6Hx2a01dJuzW< z36dw(6Vg__zlG`*ap{q2vsv{yQ0tN5Kar}C9xDH{s@a#2KAN7lT(%eeFz5U>D6a$# zVh!x^YO}L$Ze&r{EGJ%1Ux}kcShDnVS6=_2CjGYveG{&}6-62af-_SV(2PI9*h?S8 zoDoOPTR(<}oo_;rj<~Tg?1W)7^+NvsD1gt*1N)h!xLL{;?66UU+WQ>&`@OLA1+K~u zlCJJx3lu&nCOKI-sNpFfmMMMy=AzZMRE?4z!S8#B^%Xb=&dXVtme-LE?`$Ue+)%zT z$!{#q+Y#jbTYYoj9cv>nb^eCpp;cgn*HOsXxVN$r8khm>^1NcMfuYCx^gNKeluPO> zan#Gl5JcG(`ty35L3qboAE4-&aA=g4w_oUb zzWMH~!TmNNhP{OC6Q9kueEp7yj)vk>F2o2WD__qZN=Y_ z6wbSd@yB9Au_?Tkf5sSjGBiF^`vqz&{Pgzevk@O>&T`U!SB(TL5$|Xsaap&QEX9_G z+Bkr3PJY9@z(tG=<4nd#7U5ESiqt>&p84;H^$n*+@#I`ys>Tr#r5?yvSHq4qj=`i?acd}x(l8G59WjShc3Gwl;sW}-{F7b+dHO4 zlJeC26H_BMa{r&={$GRdrR=~D`P(kXF-vOWbL-;5$byu&L99M4^EkYgPlJY}l(*SR z@-|?{mZZ1y!Q3V>@|O^MD3$^_C*~j~Yowk6AIxd;*!k$T>Q{@@=XgbLt>HXYzL3}H zrQqL;^nk$DW9^~Y4qE>cw!TM6h7^9E3}SM%Q|mEBxd{ljKC@VDJ)jGcmGPz4tK(uZ zerCeTrpGk3N{PPpMQnyGlC4%Yg*eiC4zHnEJcbK+K5xb_y&HUQgyUBbmh@hM2JJ-}gy!}nCibO>(7_4i|(KUhKV)x_Vpxi0tY(lSHqr{ydz zdo8BDP4~}B0+_Fl>ign}@|l@|9?_^Cm2rjtPxOD(AKWjgn6a7qTPJtYKKPdW`hHaOBQj+-@IR3|#orZI{PuU4 z>Ry%nOe`wNQ21W8>UAP~hgo~C`qzJZud0KC(7Oj_>Bb*X6G_p$-AQxsF=Hjf>2Cw4H4aY7<8~dV z9@}>G5?rj&UD7OdZsTs#iJM)VU)f6T`@#7!u7lD}CW}q;=Tz1JS(z!$ zCrcBXxGjRn+Sx8hZ9E`-s`=7)S1z#Eh`2R#JmnW!-WQ6eCfSm!^p#Rz8o6ZA*?1}I z==smt=k&k@TtD4`0b?>JOk10KW&zzkc)ESg+VsiPnpN2UG;HluY7Hs=-^JIaA6y{0 z6pCNv{Lc((<5V20lJh0VI$y>7T^!G*zK-FZWgp=QL;7FDcQ`fWS{;t$t}NsAcn8&z zs_$Bxi>&^brCEz0;~K>suYLB%NYCNih}5w&f_WKny0Gt2mK*llyqU8Ub`>Y?qed`_#;ga9-=;5<*kI3b-b!5{uhqp=%?jgq*X`vWWNA^ zQqUIB%JzaFM-OpAL#63N_R>g$2fKLz%{cDo1!PyAWg&3JJ&)h&|9bDv{nUH+=$gIz zt-`}Ul*ktipo)dY#TV|Y9AJRL3#?Mf8xyzm$zxB$_HpSUzKrZls z?A7EU+uXr7tMRO_ouOFJ2ONJKLFQtp5nRLj-cGaTa}OM$bI+SnHL!s4i1;BT#UYAI ztN)XL@Wst8#MY6?8zx%RH3vDx4>+T3?KKfW24a@|MMiJGQU@*0FKzl^>A z--L-wTJ~p%HJ6%kt@h9!colPPai#aY7a^7$O5&SITVkZ3O?ZparVYcRALO zs-(!Ccn5X9Yj`BdwkVox7R^T&vO?slQKT+r^!lDQxKo(I~1?uxPkrAE+5rT2*$&t=NkOd>iXSi z#dLjA48~$fOY*RtSf-YnZ4!4yAihet#k`oT<=AR%W)=Gzvt%tRa9^yA2Zk$Hm78UGD(VRWQ z9CCyFh~X@fH9tKz3D@sQ+e+?6Q0F3Kac2~AbS|6@@^sIIF=tOggB!^j0Wso)%{5gqgxxpYLVL(}p%$IgDGP{*_ zG!leG(Jt_xLFoHK-VazSd(T;;;s^^QR4VTX603WJ{c+{&TauyhJ;MGw!=ftp;KDhW zsg_e==l2OZ&(ty18N;z^Rbwe&Qx#*c@H3}MY+wJcw(2b9RN4l+n%1DwOsAUWsA`*W50NIH+8x!-S3x6dehPiP8Ghi+rVc6=oPCrp>2itK3(cgQjD z1fQFU-`}U?|48odjDIcnH~7Dj`&&JAg4|yekfI~~L=Evf(yP?q5qz%4=Ul!oh(K8* zdHOi4&`6#>0zbg#Uiki9e0~F;Yjv9IG@P!JoJ1PV$LA`jhrj7mPQW&NW-#sZ2uR_&@IuQJCDt~~KAZG7%;VjrJ{ z)NV*0as0E=qFec--}9Y#K1H5*?}@$fPib4`KDK+;Y7J>*-Q(+nLO*Fb+xz<J~r;E&`(}Z`yG)Kd)&&I%B;aF+5!%9-B_PAqvu))4h z*>#y0ct6pGwM0$*mnjc*e$>-^hstAFu8(|^{iQS4#T-FMDqSCq;2Rj#uB^(>*i2J+r&e96LK8%*p}_%fc*(zygaR7?qW4 zK>;;HO_p6$JaQ;rc*NT%-ijuOng|-jc;7~iC|=-KjhblGXyO&4Mugvcuc~KyW@iE8 z7k~Tv{QoS|U0q%E>Q&XNSFhfCRUQ7WruqO2&ZMp$;b~}lYM6X5Yc>?kx98E?XFXY! zq5k`YzwX;Sfa}i-b?!f-Ywr8Ux^JAJ_zsulmO1>4%p(JByN>n#(fN)}-%tbW2H=;M z^|a2h!&7VNYm~-V1Lj6UJlPHFv8+$#EhFvfSM%1<$r+hXXfNTlqFsQax!iZ!{dyiF zuAh>eoQEi^xK2U2n#tl$X6AyrO{J4!2rL!LdSzLE2%9#Z5%jkU<0kKWpqREvJJ zSE(!)MvT5lhRO^q&B7V=b%l8vCWJ@n^x%WDX4*5#&>G|uJybR0?Gqk z7Vo-+<7M$E`l2NinTA|_>V+|!PHT4JqmZ-)Era9;@b zp1|)VNn%wp-(R(xjOPwW3>oV^DqL2nz}541+@m0U%bPDqzVy!SS%&+>D(3Qi7L^ds z*Hf<0_u;cIbL%Ug{WaF|(F=f2nsM76W332FsmS_jkF2jP8|>?&EZ=bYqFurG3tANA zyv;kOAHmaweHHD$&oHlI)FK~h-X2IE&}SaE*x>GF`AZ%~KSKH0EQN7*MCy@94E?v> zh4M{qeOw`sAHm3o_W+5dGUq!?y%E|sTjWW+Hp45u{^&yqDO%9frR`PNW(gv9ethQM0~b#ly5vqDWzF30*vV+ zeftS|?q~&>!=4Hf&SUhvZk}WN&ORgk=o|F>(0sH5PaEmSUZCfV2RTtcHV~wsr|J2v zgPoWkU)*52sF}}8A4fja82>2ltAu!q?&FBoG5+^Bt3kX?_i?l74)HGnjbOY( z_i<#+#`qB=#XmWfd-{(PJCmNC`Zn#Le{w4AsE2sIv;OI+q^E*-7UDjcSs=Yvg7iK= zlZ5LGV{FEy`yLrPN?&ax*?yKW2ja#U_ZrWX@C_5TptqSH8<*vwur28AlD=VuwxFkm z?8p`bV`9Iw%I6&Do!F!yUL5K4Q?b5!TlQssE_Hw1m-)HW{Ug4-WH5ycU!KY1EMFeW zL$)vffQKAk<|j}0SA4mNhoZjB&!Fy)r@hcwQ;hLbpPwUYsh)u|*Ar9m8;qWUUzF!m zfpe^HU9UDAh5GEVb4Suh%0zwRu2Ftu1EIV~*1)5D=p=oE426MmZbC36;V>-o#! zuc7{Cq_4kDxrfcfvth3q=^KCU=SK$6x!4O=qs+A$M$xOe5`60>cz&gyZx5$57u=1M z_QcdI?jJFY(Nz(SaRgdRg|Z>ss!a` zqt#5Djv2$9zaUTV3EZ?ta9ZDI})Y!~5_!OM~*QnS` zSRa&8r=b7fnmH$FzH%#_0(QHAF`VH}56oS|7H8o%cf${H6 z)bX!4{R2;AMu;f?;k_T8dQU#Ldoytkn(S3HEQ*ko)|YSU%UAJb8m_5*{pP+|(g(j> zbnf+Hx{k_8fSEp}(wMr-guJPHCh$}kn%UO6i9WSTg zWjXG>k;D)GS>%U!#t=N!1WP!a{Y#3`dnuO&eHPo@UJ_~w6qHRxd@beu(cq=2pWqA( zSWa?%>9N}USsXU&U@z~(dE`UrCoY!(=Nms*Xq9AaCy@er;m`ZXl){6bL3?93275Dp z-Uz`IS2Bk(}wu+=|fPmtdJdjk@PPK&t_Rze8L;co$v-_ZJSHq;uujskvy2^ zPQVqXY)Aqd=-Eg2>6gc??yY?mNsiv(o-z%~EYops8t&bhB=*bgMbApEZSZ_HksGji zWS?p}!9~s03H3w1`g!h4OTNlIXqxC741+?g^2IC}=C7Ng?d~t8p8#5faDIC91k5Y@K22lg2u^PXU=Odvc?)MI?f zzBlN!HYe04?=lviX{5{gqg2%kN28LJ4~Fsc?>O#5#a`*9I%<3B&6#Mq`fw)T#+ojVOV(Wp=pA1jF5VX;BV}o7 zuerko9cK1f>Q0|aU!!w}5_M+fCOXAQ5+?>@J#3Bg?{vsi-%J0=%LH+$(fOy_C+!1@pv}@sdDO`Q&*DwQIFwKR~l!0xjl@LOULWK5Z zec0eDUySnld*z<)jmk=8tY3%XK^y7QWeGU;!clNngZ9e6>UjarX&yX^f0Kdl+Vg`i zuf{094Edp*r<!?$ao5P@FqAZlg@lhT?Y7JN?*BbBzl!!FHVvbVSTy|{l~+R z>5&|i2trszo<^5Lt+Bmy8V|gM4q(ArL=&7akXm^SeBy|?eQMJBs{C1ChYbwgH_{1X zi*nES9ZKSF3g>Swo}4M&8Or;9DxcP1OH!uYLT9$Mr(!lxfrcDQqZnK*m1#J7(O z&ki1y_k64f<=`pXQ&D@E;9iCKK5WS6^TPSulXJPl>Awh-Q{Fkfds2y9OU6g+>WPKi z@W-NEenM@b=6GR*c;UZb=5Ligms;h2ORdTmQjGRS1%CY%=k#HCp0l2(r>iOSEQD5Dm%!gy)+vzU6zf#$w~+2ag8h=U z5pur-DY1m#TE7FBH(NJZPr>t9km?*r|G0G>Tu+1WnFQ_E*16Wj5I!4XpM>%^5sa5} zzsIdR0P~aJcQHUHEF~7nMD~o-M3zPT$Q}@ChzyO$W?%U8&HJ_AXg6rqIMIH9%+&Yk;-LIMA30 zzb5*XIena%Q|X+mUaFq0o~8a-U2h>DmvUqK4EXghufOoHuP%bFtI)5ns8F|U^GLpn zu-0q0Nv+pzmGYi*Y3UYsm29dHE_(RT2Ty&dsl85`Tdj1Yq$$XA5^O(x6I-a)vM~TR z^L2uqt7pEr9bM1uxtGtvdMuI`^l7WBnkAEr%4C)Hnh%2?+Sfi3ybE=u zj-X{sgS;BgIM@U={+GnlpxoO_q*Fpv45)@M3~JXmRJ%QLwX2f9wp&uSm4jr-5)#y= z3~D3!JgxKrq}?%&WrU-g!x7*8XWO=IopGv}(lt(Fi*UN}d%~%yY3FfTw@Yx+LVM^> zD2dag(l{xe#lN$BOZ`O1bxD08O^)e;CjZrXO22=hd zOWzOoFLqqNQ9DViK^y$^5B%Nc?@TKfbwgS?ahKo}K6~O@(TWVTLZ_>)s~=v1e|1GG z5BBeHFB1IgNzxQ9l7LoH{bot*|4mw1)(v>w=pvkc^*!PA*T$W1rFZlMgaM<*F13NpyMja&v<+im6g zZ!?eG-VNr~aKF?uCmm*SJMBn^dE2+r zVV;)Buc15Z)w|35^=;&eYj+u~NCi0UteiR(c+&2YOx!f+4S^HeIh?!_IDP${+v${U zFwYl{sk^$tI4^Fei@zs&+F6`%j;r~e=;_<==+k$(JoN46G?;IdFWipQs!82rPAjIX z>$?H17x&?sT~6y$kB3i$8lKdU}uPb@3GhW4Q6~=3H!J4Ga-7s}m;T6^! zeVesX2kRrT?}*c`Su35f%X!0&>8jLPX*H~s{(C-}EP+>PKKgCi>JQzJFWlS>bbrO| zbZR$jr=NBMnW}i6x#N2pd)wokrSxn!cEhoE=Jz!J70U@-w^fI`p?+7*Go59t;VePhhH~i1 z-H=z^(hX?67^e%mAx>9yLq2t3H^k|zZlD(mkGl=gHh1Rq?@ylkHgn%)-LU_D*9~wg zZl~XL1DuN6>9lUh%dhMPb6&CE)%tEA3zyOzP zcSC*4dAp>o;!Ii+{x&t*cJWjnCdnOc{S>{RrizrWX@i%uZlUO@ZfU5Q~HkHjWYNb{xD=Bdw zu&83V9qu@QnU*}OeZN)p%P;Ln9nq9z3)pIR6YHz2O(mrhA#GAVAFk`GYbEks`%02) zn7%D3U5#))?QnZc5hp%NMk2Gxa5I~COtW7ywq5_SBUowwvZ#oQ6~TN7em!9fVw{bq zc}Ul%R^Vl=4Dj;b6+a2braRF#VT4Y__LKA9#={mgs3rFd_gaXu_X>^S{Lc6eHki^U zqzGG}UR1GZQok(;?Qd4c_>=107AG{WM~B9Br_wkSDWM+E7HBuRn-1JdPUx+Xj`8c8 zCmaU-S$B9-f_2n2+9xZH81vh2i&yR-5c|DcMojR3Ml$#lrCH3shDdc`4qN5+2n1izd}iOjh zgn*+1&s~6&_IZ*`!22hn=U7m-Cu6JN87dv_Uet!I`)>vMzphz>yhOngQLtOf_9qIC zK|E3KzXXgRCu`jgat3h(A@lbgwe#W~(DIBNE%P)zfR-Eokf-Spq7Nb^Xj`K`({g>Y z7Ji=LNxn5=nBf|pkuZ`*xwK3=uEYI%vjr_!D=neex6fnl7MpU{L8-@Qo=iw9 zSVDVDL;6h2#5dA#f_ra5I*%pPH-Y|tRi9|aH`mkwmd9sqU0|$seQDZo={P9i#tyfi z!11VI^!}O!#*Og)gK6~?bK6?j#%Ww7B z$?!YkHlO_let(5u)15v$NVGBb0q)qsulyax@Jx4@7a7-e9|*re@Iw!9kN5?hO2KY| z4m?)+u-S#{ih7s$>rmvcvL~4gPuE+}gt1jpg)8t?JavHvT;RaHw*v9B{i0fV zGNn$+_dd*VBJT1(Q8}r7jZk&x0Z4aPtu~R;;k+wD4P=C&B_8G_juSAdISkE*Jej{n zWn*IIJ^0qSNKf~+%I{|MMr8Al{_cj{OL%+WJ96UeP39Hg|HS+0p&((Dx#3yBaBVtv#kz>DH zl(ySO(XZyo_};n*->PO*0Uml$TRU7mAYh5Ex$jlBlV5 z2FRhw$YpR{zoyn2$=_S6H;bC?71UIH1>uyx!r{~kIQ?Fsn(mb^e@M8dR#H9*^F=Pe ze5-0@pV!pFn*QiDUemo_E3D~|?bX!Er<;_kX${0DQsA)ub z9p1;1a9#iR+Q=vTeI)(5sOjE8O>bqD0OvutBAj>C!f{X&u3sc650W5tY!A4u|4Xg> zKa{#Lf@Adzh{O7A07x)a_r|e$IL5u-2^z1fgmvY!-22T^enx=jVY$@`%vN$zT8*Vf z?!r>9tCiOAx=8!0l~@-k8Tp-xSUmt&tn1C9uFr_~MibUm0*P;T4dIN@IGpPQoV_(n zXEdcFu;y{E1&OD49!I~Z-E1FX=Gjld^uT)6hJkAQ2+J^`+y?6cr{ znteH3>+RiHTIZ{4Jv4)l4A0<-CrKX8;tI|p(l8USG@9VLzN1!}EwEf-B9;vYY=KqQ zxfuQkXY+nyHW!e!4mX3VO%2<4|ITeJ<=WD>lFelRwq zGKXkK`qU2Ul`X6n(9R;H9l*PRN=WtG5KYQ;kS}RZfb06(YUNK9j$s=@`@GSDmXgoG z@JF7MlyAYb+IhEEe>I#v*o7x;+lLoJZlh{-IjwHJ(fQB#yb# z^6t^Jb++a8>UYoPGS8`!HbkdOw$q+EwBZj7Wwr|$w!{H|uTh?Pw&Aw7q3>K5@@~R9 z?p9bwyTjez#&g!O@78tQcaUzmNH-bN*(G2(9qzt1p3RQ19_ktvq#Gg9O{R4D@2GU7 zUT(fOSToq(e6MdJ-jgKzSGQuB^cJqYVV!hEvm}{9FHV;j&Y(_ zKE_m^j~b36B%Y)kbz_@Gs==DUTjZ4|?9mZiUsm6N_+Hs~fxx>G@KyltA&@VrjDzd? z;k9yqK_%0ZMDvLncKKF;g#_cI9LEa$K9Ibm)KG~zo8h{CSglkha5}0IbB>k~rwc1N zb)dhpzTYaGB9NUPmVWp8d-Tb+~# z_rP-Z?7=bqO6C}E^2I3qJ>qL{d?NzieVuf0sa9T3IYtb_nfTH)pQ(;Z z2N+he1u|fm<`~|Y#KQA!yN~F zAD=pizNX>a;T~wCF0M@4k?x>x2_22O9bLiCx1%el68Ug{SUvn&;P;7mw}#;vu{<90 z;dzQ*2pvU52#4V!{nOjFZNs=vAkD2hkIRU3iBP%#4=nRD5m#NL51GaIdBph6h2P0c z=+PzKHW;snUr+~($33eb;kVEF@-%0Qatl5rSV8f)(^ZxSnBJ zSW?snl>+x=@cX@Zw^;N;G6es9tuy{hOW+^G1^9a+&ryuiH@-u?idob?LB4>tG478r z+TMrXAW`;wiI){V4;0T6?FhkcEP`Do>K2BL^xOcyW8wE=6@RxHerOpQP@=7jP+JWJ z8u%mp-dFfLOt*Wk4f11)a1yjvRsyHu`g#HDgx^Wqht;Q)T|`!<*^3hCM*fLs&||=Xy3m!RIWy zgr3K;o9MZT;a3VDKzqPdcsUb4c=#2DF30b3orRar@$wE{{*IqM{2#o$fnQ;G7B4Ru zaCyvtddWGP+HipF$!Jw`LRPi3#zPwE&>hk(`$AuRRFORazYJMoA7H0^y{7Q{BGiT{ z9qtMBO2O#>^W>5`clX$Oh4B;2(|Qj}z?Bd#m)zeb`4DIO_PY1#D;P>ghlNfJXd<}5 zsR4Psst_+dt#G^Hk11}p!1X6|M~PVJvIT@z-XL9DdoAn1=UsLmY4jR#j%Tl7_@g|8 z!#MqAVeH7Y|^H3zMKZhzY( zE8qhAq%N##Jl)YE-DFH>rY&gC&hR1~?jAVvM-bk%UBiQP3q`ugln&e9GO_)C#TKwl z-X?anver#Xq#-m(L%6(Fx>4e?7uOII6Zwv1nm{M7lzSbcJ=bY&k({@X#{zm&Zuc!5(=mXyJi{EdtaweuuVHp6;Md zcG=Fbj@e0A)nQmxX;{m464sA9*?4v8!JyT8m$dOF8EH^$(x9%bC5tDlbx?E74tkuo z+PKHNXf*|)?#SB9u{*Q?yQD<=ScUYlAnQL%r3Mz>3vLW7ycbn$V$-**m6MD#vJz=z z-CFh#<5Y6}lcepGNE`b~-d3D>HDB+OI7W3RH%`vmfB#{)nJ4pePFHg8Y%zCqWit!x zHO2PdKaotAmk+0fU|%EVonkov<=l^c!P6XHVy+HkxA0tDEI;oi6~YeW;y=RgeLW;6 zN%?s(A#fZn@WeF7u&|6%C^x4=mgfQI-MT1qdvqlV6gPS^95~{9d6d<=Qpv?8%8*K48M`C=4_c2 z!Y4&1YSsyhgS)W2KN6}z-twNG0Uu*|FP=`&0?WF5DO;ex+OK{eIiapHQNKYexw_AX zyC(8@^b1H!+#f&+VRfXy${P(>$@%&5Vk&j4T*5|OoR{MuCzNa10`-aHrb%n$gm!?1 ztI6Rl_=VBKo2o-4_AMw;%$EwymvzE6o|`Yn%7yb~0fbz+H$k~DuS{C0B(yrCu-r5& zx7ywN>#;v>0TH_+bz9>}a6O?3eSg+B@>2=^n{%!Dg~oaDTDFFT*RrL@bdUzeoeR_! z$X=@yPCHR*vnbWLt$=m}A6D`-^sHQphC1cXQOi2fQ>&q;j&Nw*-+~MM3U_c)nd%2P@-&RpKHDLwv?ku!(L=Ag@oy{dW6(l-| zBsz&pbcK)?NC2(ua+oFdZF0jUDR(n3nJ~_@kj94{jb+r61(v>{mfA8e#XPBcV&1NL z7?syBtg~IUdLmlog>}><3Ou=1K3Hft5D|j`V`0! zC?gN%vYHZ-)h?=4_T^9%A*-DXbgTrj+REmEG!IgZVQh{O^4F>Lr_l5J&GgLQgKXQ& zwrHlGY_BBw%(KKhn5j@;vfYlqW5L+z#?OxAy#m z?kKNU2b3!#eR1o}XtdrKk|bn7S;&Ga$%5l+*+pCytS&7JhNWW;cTCPIl6MbAO}`Zwy&w>P&uBNzHlm68{SO569b8YAy`u0a_h(1~;)4*WShWLr@f5aWc`>X99bRG%=5i^o^P}Xe%yq5!?uSCQJSikwK7p!_ z^;*IApil>v068-JJt#?h4+^ErOYQ$y9~b)n|1=&pJ~IAojFN}SgXOGTBlngE z$;0Gr`eyxX{T%&F{Yw2TeVhJg{YW$XJtNc$_b@kK9DL7cvy0y|YIl1A_x|=@F%rI( zJM|T#;?ov~P~Og`Eq-2;|6)w%FBa@bKHAxD7ndpdXg+nissYrdb+ z`7GDs{Sx7`Tno?g;Ago`ay#m3hwQ4eTub@bx*3ud{EJ-e}kKyiOdcwLe$(BmCT>k`yOcBC$Cis!71-e?KE zuDE1ql4J-{PC^PxhGUJ8WLS5Ot*O{z$JLYO1LSa7Ld^%sNixYvFpH@Lx-vt~{KiNH zE$OAXd{wC=^s^1J5g#Jffljy&A|QudRI#ak(w2liO{Vo?kS-cd=ZSQaA>H+QE}c89 ziR)&zk%U8Pz~5G|?a$Fiu^rFR`>`GCc%Fmt_uuGvS_)tn+CJ9+%teWF2em1NVchChI`!P-`!1Z)<|JuQeW0%?iCa z4#N9dE!GUHG%VkWckw1>**h$0B0TK}&xIwOrC+441PcD8e!hN{ej0=>*UyEx3-tZr z{l1XCk8zk0{9ae_Zy$3%bC&r7^CbD7y@HkpS(XudL6S)%Nx?5&)r9H`7z z4pOdEuTXDR&sQ&1&r_dLf2Urco}rrh7`?Avr4QF_{R3sQ@{O`Z*{HmyJgLZvrKn1| z(pQ0Ts{C91Mtw{DQ2m#>S=|PqkJU}ebIJy#+}7-*9k(lN&%RPUTU`l|FIP{8&_z(n zO7#x)dgC_ZI^$a7PUA@Bc;zYWY4vgSVf6{PZd5<8zp(#f|Ha;5zYn3x$gs%3NL^$} zM2YMMq1wpE$X|^YjZN@-gno8tpTxCD!{(GT0(oVMlb2V-h-IzUDsl(Ah-_g;Kt2_3 zOPx9MyPk8iGiP}2_}ed|Lo%4L%Ve?=Z}Az{k^;HTa*9&wpGrtiu#x&FI0!*h5h?y_@u zOxj1qTkXdZ&SqTq+`)nwF(Dr>G@TVnLaii=4DJTR9euS;63E~47U*(5^~s^sjY_b0 zFq~Qor9N9&d-jqO>X)<+i|;g4r=T>RZ=GjCt&^4Wc7d-O<-E6rnjd{nu$*qb3vY`K z_nJnX_B)ZLPU}c*Ko9@CKC$lbrk0SO#ab5jvxu_deYZE^`>#6OOKq0ZRwP+yy_2eC zt0>KAX@8bv2R}@@MZQD#^?Zx`3R>ieGf5aB3KyRs8GMzm0qx2}yE4*l zTH_gyrB zUcESPRr(9j^;n~`RY{Vo7YpqHw<(=e%U)+;?LouRu=d~@sIOx*GvEfP`x{I7{XECQ zem_|=@At!VUD{-b(K#KS#pp2-!aF9=QFCnpjKCrb%6*{`Xt-re*it?Y?Um;{>I_;v z<32AAQS7LbnEJZGY^1nj1T%*XsAM9k10p*pAogd$6wc z>3u|8pij^HoffXmgY|mY5BF{uo73Sw2FBxcaNiB?e`n}FigV>ll1*ci&zd+^m!y{1 zYe+}qjg|}M&aJG}+}Yti-fZP9^r7|Cmz?H1`QnN6sY9E1zLj_{))C?94fW`CpPw7} z7|JT0eGJmdfn}bHIw0iUIDXON?(0T{W}Xx3)x3s|?`qvo%ynIA=+vBsPMxCQE>S78 zdv#&0^q`G+ZjU-34f_l`mR2#Ykk*pF-L~S)R7Q3 z7w%Wm9Cv-{G?|eWKG4Hsnk97|wkyYAt*Pcbed;vyllAF+*c&@{ZjkaM9%+a878(W|Q4gT;-C1I>0DRS5{ zNB7_jjJbLkbIQpCA*=O+8Gw(uPFUrjtr4en>?0@ibBJ>fJ1nmw&ODS{Ig-yG$h`d>rp*7~zYak^e#}a%BB;rGeAJ)`Qr2X`v`50!;FUT__ ztD)o|q*-~q(1{P5GLd%u5N}Y4H#F7C9}ABZ&Kv5l-xBPV2hOIG9!u!AW#SPqZ@w>w z_1ie-6JJn>FTkAtR{@dp1+mkeTh*bwKa02b&|5EE-|uTE@i4T7|1%A%Q4d<+?D{(5 z%(2-rLo8&%f~@E=S>-qId&nf8!Foj*EF6 z$li3wMqYjpjiSF0)B<6V?b?N$Ha!yWCo)%tgSHZZE6vT$S*n+X7KEu57gz>e8 z^gQtxw3wXRTus-7XtTxH1wB;-k54k%4KLAdcvtw*1C{gL@SWO1-5|#LBspPRPh)+; zF=(F?@3j|UB!gsp>^@r(<`p(_mi<@Ym?Ismk(5Gv>X+9_Lqjd_w-ZL+qxP_-^_VZ3cDT-w-v2D@f|1{+W~V^`|}b678Xf`bR|l`5yX? zR2(@cU_m?SP1;EhSV$o(-r3Btczkma7IJ4S(lXa_%OM_rN!ZU(Niy1tuhCw7kXHUo zHoUPU`z(BgN@7i~PzwcoOnDXh1US%v5w1z6gdSwXfG%P>nrun;HorTIYYwW<|xO6lP5M0u#he#LSDFW8S4-Y1AYGf@~TLjv4b-cKiJ zn^OB6kL;ptX0XCNhzGFJGT%b6whQ(%7W*9S&kB8xO6_mVhG2)=@2wC{xDV`L`28%D zZ$lB@#rr=o&0a-#-y`;;^$>C4{f;wBwC|~}SLR>^{=v(!KO~7&$hglhy3dXE(=m%A8tzggw&kXAidx zyUyO-J}|O0QXLr>=@%IpNktBf9344F?d;3Xrsxj|?&UsUt{ zOhMd6@=*EzxBBEljv71pY=>;k{1XgFQipUH}lcKZL4 zKhq5%f2LJLLI1x$)Blz~lPq>qC5LL2Jm;!!H?_|{GkQ#Z`mRI5jptwPQh<1fWLN!@b}EYcXkT?!~*!g?-ITu z!h1n_>`$M)0%J;TMXEX+BuAf(?tM6m!F?dy<8U7bcNgx1;9e$sL%cQ5`N_X&!;n{E7<~ohi4m_QaR9DPv*;gR9{(~_SN6_ z_cbN$>svCuF=420?w0l~DeXt@ReigU<~v`qqorr;a^}Ydn|}PyecJ2pv)_t4vDUu5 zWeiWSofvvs$5;gJ6K2Pl6KhNLp8Y!(iFegXgtSW|H3FUL&WKNs+Fj1p;lC7Z%B>tH7Jm4+0KBZbP+`Q6F6isE3LIzb`Om0ud9&qP;2Sw&5Y^3{#@2KW*V4lfdTls zxOSUtYgeFj4^l&c|n4Ldj{?iqtRFfHEEcA352so z9|-rFJ(ESWtX7%R8)Mxn=VRSk%6mg?pToWHdfUvWY-t8+J#J!YZ9TNj@VOfEjZavB zLG@zKYB;_hYmVubA0G&PKLGk65;rS!Cc6gIuB|RRyDjb*o8xh*Ej0>z3F1c0Jx1Sb zS(2$&FxhZf=Fcq^xpIxRS%0#n!yMf=IWV4vGe49|&+p!n>(0E|0H<__py++tvF)+iF`zBJ};JEr8={k5uQMb=E%q z0lT^m({-ppe4_@vsGYACrn^5#m(9m>Y#D_)w&ba*weR0K1#D=eKKzrAN) z4`a~R{?Hra_D5_X?hb$glu(Uv3$gtm?oJi~X>A6~Bp=N)SlZ%q3UIH;vn;C|A!T)# zD-=Bk+t-bBkRPePP6up=`s;+Wowp(QtRKuPdOzgwl8#jPB~jr5NLj6Wz3T6@1>Lr# zWTYBqD4BiX&7k@_%kYhjZ1dg4({eRN4F( z%ZavIxfUDUCWTij0E1KU!ic!_v6#spjhVJ|0`nb|1I zHi9f1#QFAh18~f)h4?JY`$4>6XS`g#LY(Z5)C})7tnojyT7tEWf7V`i0OfF^ETcx5 zX@flP?vAS+1;aiY&{h4Mj20DX^U{hRn>569O_nx!y-ljmmvp_6u6KpPS*oXrR9#m- z|4o=jrVPPQUEEjp<{{fxe!xRcTk0#I;?24)nMwsSO&54h&9(rC8g}7-LC?Ojr8=K_ zYjsg-#n^0|jZ|^d98MJrB+QMrGlS-EkibIiQ$PDb9KUg(t+*fOZ$2Rzr+)Uca8I}r zYmUcVgdU4yN`&^Yz@;tq0>X(S-I$6O%-Es6-#-^;_Ar@m^8P<5)c^R-Ff%o|ya7%o z;ADze6J!4fcfto6lJGGx72>-g0<3dq;~FQjJEpf(pERo`Y=43c^K=@G8*O|#PC$=S@8Z>8uH`e?0OCN0XDMVYe)y<+2e2@4ez5m>Yq`& za((JPy!^+6%e8p98ZUR5?3d1o*Qf4@&}}`x-NA2<*mQe{-yVP)(}d31f1!+Y`99m2 zTU(+`Jf5g=%UskSW~CbDm7(10k}e5DDYCZWR|+1QH5_{6+;mv#oQLwJ%!K4AW(txq zlQOKnUMy47^wo-Lwi}d>b_i2SFjFokdN9=<%+!2rHIN9nY+$i;gi~k)W`HD(3Os8e z?eJ4IU`D^si#NQH1R2hbn=Y=so*?P=YemCDglW_AUH%`%wToMT4$#y@4VGS2+?n3S*Y zKeUmx(FnF^1pf%|-*adnGiTWXTFV?yVTBou_~vkg))Qp5*wqcb7D;E>P?GTvp;R?g z%g>OP_KH&YD_E{$ptUkJ zQOck3@QS(H=fL|tbMJfd_lSq7C!yt`T~ufnkQ_{<7n9DZVV}sk6p$a=p$FBmh3acl zcweY*Q>eatHT=_{zWd;tBXRYhT{Fs$&Pnt7`LhqD6#Za!=tFf>Y5h*U8?XMXA={rd zD{-plBecfr4bL&NITknD54y+R*noWYt9heYCXNu=TOn?8E)M4Z%q19)IQx|UYzp_H z@M$o<_aK~y(;D;VRAVgbD3W+#y&v^q{xHU3nxBwN`=16sHnJL9C#wvi8Z4o_yAk$r zl7H)G!wOn8ds(b{?}n9gShJ;44W48XtI^sYYM_|Ss%o~k++)9$ufZh1wg=|I9(?Qb zTzocK*fUlyhVvWs5Tp*jGhQ%bK)p^G^;=Jwr=poq^k;F78s=^bzca>S`}C&v`4zQQ zPYRz0ZM9FRtyWNOtku!<3~d$bjcv6rrfI{rQnMp{?ZqKkWi&GmG4SwI^_Zj2RUvMI5xRsq}#sG~TXZM@d5N#Fj6Ss)n_1 zrIyc?XzYuv)|W-pM)eqK!Ac4*VZJ(vTCfS8v+81kgS9+{o>h46OKsEu&%PyReS29Z zs}5tv(Wb%Qj3RwdKWZ@pxB=c_2G-5W7^`k;c&`c9u+(xJSR~dM8_kd-!1~&3pLvhH z?iE~heKqe0mKlsWu;!U^fDU0Sq5VKeb9^ohat%||9&21FID{%VXRZZ4`Uc-~I9T5l ztm+!|BPg7t@S(8!8cTIw1kYK09zjApn}fRRsenG9?mrpn+Z(H;b4)YEvMT2kS)wyu zcTJz87I5QX5L(~y4f)a~r z7mTMGc2bbSL4Dj+b6ykj6{bMBBNjb087ogy02|v_ zlo-Is#EZs%pD4?Z@}PuFU9=1Sjib5~jDoiTG?WlAmGOe{HpanQFV2jEP0bV1(`FWx zB-0pcCUux2V>DkI`_hb^OIgEyxCL{U#d0zi*(A^wG70341IYfMvqKr4En>6N7|J>> zyMUpOMLBz!-uvt|dSA}IhI<{{>&UiJ#YWQJ378k?xrXgW_aST^ot0A0_Y%RJ@;Jqh zWq+ddP3$##ojNVeIF0KZ0FIXT&UF ztI)rR9nIdMbjPy~=>0F)*K|LHxeEGpoWVfofm)u!7NC5?E@T@Oloch`7v!}M@VwYZ z@p3=9%Ki>7x1j&QI*eO|m$i5Z?Jan@3@@kP< zfb`~H2K&~O8b5N(s7AdHy}Ok-RwePADhij;_`X=e>!}8EjmaU%nQ8$MB<0=#1gR0~ zj}YP%<{aW;RvH4P8%J``&>%lZR9ybsQ^-T(Kpyf~^;->YEl_?;VAL$dQA13UZnffY z45ecDn;DZbf6YU-dF~jcj*HYWo*Jal_#9eCZFPL7r3OPAqQ3L#Ulj?``LOo%wY#&ve!ki$n@q@la#nsED08y08L44%3YK&iHI;44!13iCEgXKrYt9hMOhOWm!y&C1L1vT0K@y-rS4)(r&sAv3*!}Nr9P+yhxz}#ZA;xB5sa#6t?SDV>m8{x*z@q* zdS5TOnz)zcX#&=B zPS)Wxv4*sSND~+eXyP}}c3i7IsDLJV8d>>Fc*iyDgQ&*K;rY>OU*~-~NJqWtRdaA{ zT4h76<(USi-JQ}#SzcR&Exih)q8~^ZyL0Ru14E1G`L;k;WEb|s)3RfWo{+I8_N;62g0&4X|y*?=Rg*NbKB02$Z%9<23Yy|17w32T0>0&2Wkg|Sg9))O$c4R*Br z9Def&R&htm8!2R%zI8)ipRMlOR@YeseQlztdmU}MJ*%0?%# z4tAEukb>j9h2tQ#;OhNnD$@4D(C65~&qB;hgNNiY8*=>xJ=^TIy7{voaIp1ZU1tm2 zh;{^SP7XK6i+AjIws+sN##P3xHSAoVK7>@mo{{j5r6O+cu!x|xfitni{KeCatL?A2*z~|qi7DJD97mOH!|xxmzIw5P!zcRQN%mG zAzGUb&#Ek*p_HiL0(q>kexiLWY@aJ50vk(U6Ujz$*hF&JL_7zvx#E^Kw;gc-u0O4; z&3%0yX`I}5>F(8Zq|RgKLnv)=N=Hjjq_1x`_QoDxWBZXt)3;-T`BRHuF1PdoTAcHg zecf6o=zUmU)&K-vLxgZF)o=~faBp}XE$5#tswdxjH^W0)W=qfBvKMKa{U=+x9BA$p zV@u`$(RTnj12OPK)OWF(wmF_QP|znD{0OtBf!AC&$k>8m+d;Ui5UvlHBGj85(#q7Z zI|+I^!ZD37-(E_X-c6WIh3A8${Bwjbjf64v`8br$%25}z{t&?IezM_ROS9$)tWmKT z*$&ZWcoLLu&=cSSG6SqleAZ6sBb5G7vib4wL97hc)2I!rVTW@aTxtufnS9n*)0Wca z(-&bQ_t#+GUrXb5BIB*I<1!Cv2+GWYoWF=2-lrm}0}pw1?sKsn=k5q$Y=H|RHPfjl!(+$WHnqmx{G zE|i0Q&OZmK1AVCzAg3H7q5pMH_9U$}`m)z0+*8^UU4z*mcqU07CG(?D9LK<2Y9Q3# ziJ{F3>qX}mSFw4(CvEbTfmM~<6WV&lP+#$e`s!b0UmKb7^~RKMj2Y^iXAJVKEg3&D zHsjl84f0{m^P~5weyoq?$GP7OKtNv=d$4Jip{A1i&#a3(c55&0KeIfBC(=GR%LdMb zafMX&Y6H=``Px#Q7e*D@&c^eb? z(Im17jhTrk+V2uECSr|7gL`{yrdf%5asVs?OGyA-k65iT&nPp3G>s+Fj1p;lgZt*3 zNU)l7aQ%pzGRu+w8>y_pbuX_9tGuv)8D6hu!yu2E)%X-?jvEo~m-8N_pdaC05v!43+RYK@5$+jcS5&;GTn#t$5TUb# zd3?pOa?|VzmT=dyL%eI1y}x%W2N3A^GHT)v-MXC6uRygp!{VkjGp} z*L&$YEtqH2MHZJ3uRtzeS2ugA1*NFmBV-EdYm5sAWz~m3N;-vldjjM^3=Wm~y~TvP zJC1y>e2sgUv?v(n9wsfA9;AMid=t(iKaUZl?cshND)ER)7MxB!p8Py;q;XG)jrMg2 zp#^4vI`s269#V2Y4;T>&_wyLR9Hn}Mr!`FO#hP_R^G)vOaXQeeXQ6+`C8lFR6tkpMbnw0rlVL5-oaui?XJZK_moPZ~)?YZZy>Jm>$Zr39^>Yc+kGC9rJST z$I~X+A_cgg%DLY}twd=o6Eo^E4)*||H;SjW&470*T8v?>$inZCZ(=TA;c{%9@S*Y* zF1zw)?i~X7Ks;Xq)se0jeSFSW3)9^nq{|kjYtQD>d4abGgq^&%h=SfC*Bu3QkiA^Z z$5YJ{obQX8kJmzVP^k{%Lp~>Y%WX$=}Gwgs*N5mNvN_ z09H-bvn;Eg!EN&DIXT$Ae(s>Km3=(g*<<0$-Dbb16sQ zJ)pZq-UEAfRZlzbYa(=h758eIOYqV5fVO}#mB}8+MK;Qxo6)KTA*87q_5=%4 z;CX|>{wr^W{Z{~nubvm;k@d6RhC6wOs497fMAgo`jMF18-`B1ll;@|1z|4$Sm5cc6JC>J@95nOC-rtB}uq+<*DLi?7XK+e*EFM8cIDhKRm9Y zrTtZYMb|q*;mLu&ii)G=In`JBm>M7VRX(Q1+rG-j)ObgXsew^$Gl~ftk?1EHQ9&5{ z&lmky=8^?6_YBmGaooFwykDTjOt*~5ng?%U(7(rQ4Lny26XhB_hY0teXN)L~*o*=z zm`8XUpso{jt!KiT1ds8#0oEjQAbyslvpZ$=HHXN!ph?guSAmUcH8Wpx}O#dNxR9u>Q%iHWhVhW7*H)-k*(U zzg7|MM0P9rwluRl$hT!W`y2Vjv@jjd^oR+6JNwC5~jGsw5)PpIdPI%zDyh@c#*$J%(>jwdr;;znx@1g14=a zM{EZF4QO}NTPI#BqZ9qSx_*-4`SSA_Pnj-DiZ6fI-%CPB_0qmJc))Z`l0CUWjsew6 zq)p>K%L`+CRod&zoDzy@6vLl>Iz?}Opu^_LqG&N~%9jt56 z%W#IN(5zL9vz9Ve=@mL5r7aal&t&4}pUp#VF7PC8ylZ9Q2@jm4*;Ji`2Xh3VZ1%8O z+U8~2%8pco`oypP5qH)KP0q^ud#?@_5wLS@(jy51DWSEGu1(VDlYnj&%ViXZ0_Jd#^7(b^Q9~*KF>#GIp$GwRvuAsT&cx+V%<|>C)k6M1!DBc=g zPgrMLzQxzcmtu^CF_?a_2J;N0$8Xu=Os|pcZV^a^-cX#~41+NiZQtAbpu@--j#I^k=+3l4B(qkmxe>QDN6=wCpGQq5mvwRcuBA?}Pm5=+fGgz|r z>s%^dU!4ggM&C#g{dHi=LkXK$#6T!5IzizQr0!c^vWCMJO9Cp{mvB#r?+naQuh|>N zbf$lR7eaYl1t_|ZJyoL_^JNsCvO1U2clza^V6JAzQS)E#q8@bwCPu^0{z1MVj|$t0 z*_TU?lJH^1Z%xtIGfmH|l7n~TTYMq zN?NDhKz)1A4km-X!fByJ&_tfI0$UAu4xWFQHEWpH1AR4Dpp8B48?R^bFnR%u&GL?6 zKwUEdjBq`Dv!=iB;O|_|6v`L;eIOO0PM_)uA_>(MITzKnJ=i7f&Vu}io5C_x`CV1M zIk-RR7voscA+uKykAZkLgyN;RBVxpEtCBmiRu`o~E~~T6jw6|7UzkCvK$1y;%u~J% zWG?8Z%m}OnhOkF{wp*w+y=Om1QYd;*e+m@gvs)S3%ogOh9FB8S<)gX~{H_K=0`1*`OSm!?DAi<8jVTd(X5g4JnrTTI}fxdfw}SzNrZ9Fp<8! zP~wMmz|qo8bNa&AZa8cpth@VCs+ocdv=d!a6!k2>egUf`h2)Za?^65s)mi3c4(Sr; zCDQ+smsj6l4GdBfrMeK~GX3z1ZNa^M@noZhRL_vb)>rOr;6DB6Pk|-oz4)<=0W9-2 z$b+)tfh<@7x5V^vxb~Z#gsak^^pl!3SrM&gm?rlR;a1rFD0~`)rv@!-_z^3W(<%Ef z&qYv!9nvyWjG^RXs(;q-)b4^mK@Fk}ucfFZA16!uB)6Fvq!W%3y~Kl>GOy35=g`yP z21tq5r)g|tUf&#vNST*|9yg70CU$H>?w?Zl7z!W5@{&wC!b6du9*!S%2L#aLk0)E@u1fIja1b9pO1@Ez6 zPN0}Up_q26;{du2VknK8W^b0+usIr)OrW#OBUmcJhLY!JBH+eHFI>0JayhB%1p}KBfh)>O6(0Q zjT-jGR0m67pl32y6bCLxRxQT<8b6 z&=?+)eYuH3{o=knj)$OMT;lkP$QFAByNzU{X*>t;;C(5ig!ag%Wv+FW$>(%9tm}Ia zMs;#v$tcTddCKB^jb9IIs)Nus3hsDj#!GO&P@*rZk30Qwrv zhWB?Xc+OFr{R7WsWJ%Tw)@X|*iJhw9nO;5F!y5P7dLHi8usZ)7?(Oi5i{-yL>{Xqu z(b+5L7`PInF2Tz~HeCK?Luwfy8*Ce_!F~dGm~otUZtm|(pD;hh*Hpb(I?C%F4b|OO zenh*g#^GKzbuop1Kr-VAG`}89(%?@iyo98|<0yP0@VJK0R5Co>(NWnMrS1W%fi z#*}@iZt)nNo$@c-MU@ASs7%malU+$iGD%V zXDd4T~X-hTw`MLAy-9Qn$F*7De(UH2q>j+s7e2K5!T*4_1&wTC1pAANK9ay^= zEZZl>vIcqx-qPQcI4_V4(u6zsOgkpN40UQS6OqrbOW&xjXXR`k@_F>h2iX9gg_@_op+E0tyj+Es^YHQ_UY^Cv+j11( z;`fS&y@9v-8~b_LU1AD{J*8ZNixh!xcceX#cTT z#BR7d&b-!!yB)FutsyG^YToTckC}f8E0L9mB-w~HKtbwe!;mtM=D8mB!AVL94ky$3 zCs2PpD{!*#8^!a$4LUhRVolH{c+TCDx|GzSw>Br_wEiAzcSo5zYi;)6iA!ZV>!3Y# zNHIyqgmxNb@&zd#LJ19b*uzX*H-v%wsUNOa$Ub|%H)@oY)=gr%lsjbr=ImO4_@zO# zC$CU_Jec*QM#%yS$QV%_>#O6gn1wCPC`&9f zXW}VobTV7Ds5hRGX9|DWnNaV;8Sj6r#o2v*=^X`o7_fxc(PC8GO0%g;Sf16_SB4mv zW`Kg;v!jJXT0h%kj)c#+#`ERD83yP9B-2g=WrpD@2AC#2FcBq5&M2UWprk7UD#*hpf&owj3@`#>KqSbh z3_%bW-ul+w=Tzt(;J&}t>%IRw^XpS*@4e2>d9C#=EApwB32K|WQy$L_mdIKKGqlV7 zQ^lww_)cIs-&;yi$l*S-S&Z81K65GG0mNV1BR0O~8@^3pTh;@osq}c(Lfbm5clbdn zBQTZ5bAyIO`^Gk7ecy&uUnCP}jPG@JIB%Vn6SI0PB`2m(I-cg=qD}j!x%m|f9cf9v zUqQz(-j)|b1G#W$jcTD>T$@_LvIh>2 zv$m)w&^kmt!90+A!cit91Lm%9T-fb6H*BFbEAQyMi}8Iv8}2oZyqmnwQ+Zc6Qcv@5 z(NlR}?n>x5x+?F>UBr@hkatJq4J#TKw8}^I_L+uyYo#3DSXXan{fE?>#k!(~IR9aF zr##lzY>tSz^xI@&yhuZ>EIA%OdG@DzrMf}?jI6pCVl~bEr6gvDu|ksxznoZ2aY=Cu zjm0Mi(1U?&wz?0mcg&YRtnQdGMxa^U$`Sx3kBe@W0#G@zMVNz4 zE8x>PEOBm#FVVNaCLL=AW|1`mGn8#L>K{n^FqXXBf$1=RsXIvcL^=q0Gi_mXTR?*6 zf6;gbU!Yx&=Nl=#nUHxEbb2+^%xlod3wj_`j1u?pnB7j@z}xqW>h0Yl!_s}FQ+f{% zOMg5e6WjPQxpqjV{4N>nIV{s(?2?&BX36YbuHR;fialmXTg?kgnCnNWh6!rV!Y<|W zpTas|`AxX#`W4?`??N=>mt)SQZRhoUUh_zEMQA;$=1Mco>T@+F5rve5#@bOKeQ=$` zA?-p-f2xoiT$seddud;F zu3bu2{T%Jbr$C$bSPt!}T=3_+-Ws!1sV$bjF%0FN$?mXuc!yV^(dtK9nj_X<$o;LN zcGJxMj2JUJBMl3d*&Z`HOkg>b=2UMwI99&t7_&NR(ra$e=y_4qU+uWCN)~^kun+X@ zNa;b8Xr4JJzADhxs4ee&oeLY5lBD^a!O{-sDL>_w*p_?EU7BN5S_s$895Rzbz7&P@ z!*v3ODBYXGqL60DmcwU>me2C-=Ga}Ko!(lL`=ZHx(d52pX3YA2HLCj=bI$CrWq52+ zL(g-#4ob7DJ%@WT^UlYdj+#E*EE@ULQSUk^>PZgOp3|Yfj(Qx|9qmMtJ*pPREY-K3 zH1kF@&pbu*%&bY~nHk-G*Lfy~d1l}Gc_vS(HZ{yMZ4>61d{fBtO!)t=c_tUfBHv-2 zk(10bxqsk1)Aly=j5%SRd97idd7)vRc~&&cCUIQU0+uu}OH}6=`3`f8oMeuX4Refd zHHm1Jxo*-~MrkFq(oQLF{MVRi8s?O^*P<759oEb=@*QRxImt{T{~a@p5Cg1FHAD0~ zk{7S};Jp`VzQJu+Kehhy>C&dNEA1(zd%LHR>f90c7ru1Q=&HK!C-=FryW&EF_ii6| zM&RPlqEN+uhcqSQOuFhciPKQf!y!)1{eX9WbR$hCUYe~EG+QOVCS*!<%YbIG^reo> z+~HNcXL-i@B5vMuNfBlXA1{CHGBKL;vVPv9c+_n5afFAo3r>z&UQ*q;qa`mE$>d0K zM{dg=!;8x;Ev+-rj1F}Tar3egx<}e?V_q}g0}y-P)K}u8*5X& z>En@}3ExN!G3K4`PMeME$Ly_iSQb;(VaNoR{TukLLioJnqy71v%r-? zx%G_FHhlOc@rN7W|Bn9mv-ix%);W$)# z9mk>EUY2Svl>)VwrP^z5L{XBKYA;1W?PaOrjnMY7RsmD4R%fwi# zy73#Jb9BW`Mlu#$*7MEMZZU__%?XVWSu^Gf)54(q$r)laZ3Z%<#^@&Kwq-`M=}c9& z*zX5+*DTKEY!QZ|=``o>iAaW+(|g5ajxWturH32x;n%yRIdit=>6p^}p%|glBE=v3 zjZkT&dC)-Bjr)`*W=8G`hkxF#x|4j?KEMIrbU)2ERcM|gW{Lb3gZr&+V*AE(+iO=7 zl?CWlw@{9DW*NaLEWLP@sLJ<56!1UMDTP&(P&ZC9G;3)ZV~DxVasSEI`PKBDfcj2X zC3w>q@m@D-@F=sasr46{k+Z93GUnu80@jx1Svm_1=><)Y&-L?ZNbBaVTPeVw{B_RI zlDp~N^Z<>C!6xV&Vt&W3AL5?o^;x)IP&~`cqKP?={p@baeu~})SG*~bS;pp^TUh~l zVCFvby|EuOCY}9nheFYJl8h zHSQiAuD|NY>TvCr9Rhxg@ImikI?Oh80F!Wwz;Ba8{4M>}_zK$1c}|DD3*Phu@{YMMJKlGOK+D38RhntiEZOa6n?z}Tn$sE-_lfB3yYbuY@!Ku&+YJh* zOJJ?}(-zJr^?{~l`fH&-s$0|;>Lbp#P-8XCJ+}wDh#Ge*xz#vTZs-}PajN=L6W{s| z3R($;8n0=se~fXeN;1;o3qEhy=qaVe7_Ew`SHOq*Ge%doW^|?Xe8MyL`88uLmgVlo zm-SR(?}T{FiC^-`qB$W@zkY(+waFKyscCkz4nT7xtE}pj>u-{JtBH+b;205`FNNP1 z()vm}Xs1v31t9-`2VJ1p5hsV#d=)yOA0{}ZnpC8Fx8ZjHhwTf7FTwfR)$}{jE5B=0 zf-7kLxXfUL5$}(TFtT10J*DLgxsIb*LgbL#wn~SjDh(8Tf$!md*dWgnYs9w2Gg82s zu|I@gPb}#K2`5j)*mkrpOfwHD?1GfjokH2k^q{FkVRH5&4AX-a^7>EIUVC_ zy_QZ{%JJ;MGtEskt6#;Vdh$Y1a&?ICqA==*)1V`4$NBE+GX0#wB;XYkdHBu0bJ;iukdiQ?h;5gynk~3cu4B=?o*3J&NNNr4eD%oZ_n6O!Uf1&(ellke~DO z0_x|T{B{H+Y4r(}jGQD*kG;(mi8R%9o=2dnyk{)TOV|maGM(+%;$Lbg2_H{ieQcs`NJA z71gH@eRYJYuUz6aWqNzgqK&!Ua{LM^MPV~G04!*y*b#W!nK z&8tMso{(p;hoCj;ZDC}a^?u{nEP6ZT*7q&tnS4y;A-7EPR!8{P+d1?KiSoq*HHZ$# z^=Xg{?Ne{N_`(C~=xJi3?-}Is$8!fR_l1%eJuO0b@Hcv%S$cFl_x{kYa&IBc_qP*+ zj*M75-gn9J$Hh;cAMbmVepA8ecUJ35f0fu6h_}Kt_L;v7fO&D?ii@K#eFEmt?ls%|`eF@gePA&pJj6Soa86 zZztQZPFWF`G5+o%@g*Df+?I%MY4>kz#V;&4LL4oYiqEmU({AEA#@XFl{M>4`Adrv|2Z$E7e{+!NbkQ?DET*}T?>JN(?;^e<#3`=QP5Ool`Grr5M_gb}ohY86 z-zntIdXN`6Rs7fkzxzz_hzFgg^O%opiHn8h3$aFACO+mvuIn;!w+|hwi$xzG*z%AK zNdUABkFP-H>PvWB?niQ1k3p{Fe7yY#Bv0Y(^LYCq9=G9fT^g}KRO>E0UWKmIOL#nw z$M5m@4IWS6@p%wmfX5G!_|tg1D1*FY>G1+T5O7zXG5Hj);XNDkR93X}v%S(#5`&fz zSW-OQ3z>?lTS*P7_vd@6?@EFY?|G|gBYL}y8Y|4~cGl1RZYpQurdIH+BlE*4++iFs z3bRz0q3zY|MqxJFtNCUMEvfh-me`B@Utm12-DXSUx4qK5qI9JBecS?D`u@dUWIsWx z+#a*FKE6|N9yW@Ol3{g3Rr0^+sW-1iXQr4?Z;2YI*Q$O^F;J(_ZCSo%Cf{2?l4cX5 z>E!p{T_bpQ^Dk3m5&mcX&F`Pp8n3;;!hHhV7im2p7G+Lm4B{|Tc)a|RkBHGAo$+bC zmg&cOBMI8V{fp8&)A>y0gyx1OL+#a#!oB5l=ZMinVE8TAm8(0I(`fbzJ4Ss!fqjh6 zIJKczo4_rKyBd-~*fA#<0mo(O`OnbWFzN>e-p^!>FyC(xrH43HLrKIxBvg2-D0!TN z7Ik76HL@A_w~39JjKQ*Fz<*9O3y$N$T3W<&xQ<7%>p<=56s1HhCFd5 zw`U1bMG3UmMT|6%-=FQ3s1P6im+)_X|D9PEEUH&(jYJFA;b~OfW`6q+bO7ibAzYWu zRHl}MD19OFMafU3lKaq9rxx3r-mASdbPMg}lY45c8jJ=8-|OBZfD5DEpnnRv^$$e| zZ@zBH-y!yW>uUM@YAqXK0yPP#w{k}t*Wc&0Jv)@jU|Bq${P!e(JU=I(*Hrog;<<_~ z!ksE$MZ4Rs1*B#sAbh#(#4hfAL+#e`{U*&u%q-Pru(m^zRjocFm?} zyJiF0uGutg*Q})NnhnCP8SC8M(iiF6-rT2jZei6doJw!tYTIF)Yg=ej z*%sOi3ZF@Tvna-CEXTE2JVNpPF{$}y<^av<-z-b}$HUTjqa@w!=Sc4kTl(G35k@K~ z(rNBRXr(2q{2biFLR%Ff^CpH^U+p~On^Zcrfv&arwgxD5#R+0+i zsb3_m4Ywei`K(RaFS+4%9fyTDz_qyPJ)la02b8?EjJ#Y~mlsFCpYoH0oHvIuYU4*4 zug(_Ur%I-Grpzd$rsqX66J{%!#X_U6XV`XHrY$;GW-1yN;xfn+*mg=Llm^KKa0hm_ zR0QRTOsT#)iBF^N@Rb*bl1tj!X4=%HqGBqWX#*7FqKvYcHXwowkQOuiJBNN@6;9bq zBflIl8-VrzyJBENl81dN^(BrhWoaxx(4k``M)fses{yK@=wG4 zQz}6X;$6C%Z=@dO8n} zu=fQ)LIw(J>R!g&ge9^!Qwe?t-d{@q zeBAXbUu9(f(hBc_(z3DUI2P>8mQg&rP}r`Kzp|U=1%)x_oG4A{u?D+oW3fH7zorW7 zK&N!1#~SRWRq0-d=qgozm0LTuo7NJbc0*_V*sH0+L70g*r4$<4S9tE+yQ;I!@*VJ} zxs#3`(!GHx)>Lib(WoT~@+S)St%6K^ktxpQT{_zzp^CHTZ^qwwjD+P>PQL;j(WQHwR5!U$Xp79j6op{gCh?f=Y zpH|pg5A!_4-?;QmtIkFI4b#{7JrZdEM_lUQ%Uj9$mpSKe7G&l|ruZ$el87S1b`OYx z{D~st6lM0`n1b zPHztgb&5OF^jnd;S4G7cGj(r>dKC2rrImPfJO?bG_aI@m0i9qpk?^#S6H1zol9(GW z0Qv&Wj7LOT`xdB+j+!xc64Hicy_ZtowW$|-3iS-Mg{5J~f{T-g*S0-ii|qu-wLQpx zaKXiSP7nUp{ud&>wmPb9i0VBHzS0J&q@uc7QPsHUi$wfIk-peK3%tA^jn`!P>YEIlLB^pPEqPAr;*f;<=Rl9;*69c0!dFtJ27!`TP_+@YrI6-A`x0sS3l(YhqL&zr9tM zbQ<$psV}r;#USmwb^o=iQe~?}+y6oQw7)kKZK5I~PJKiAx;mk|oLZ6!~) zah}c^@Vh+b8ACz^bHv^r`g@l~$jwvOK;-XCwkAX3#%9~qb*m5Cnl-(tV!`r6H1b`V z(Y>j>E?fg^P1$R@DppdA_laN~+q;~*;zj5>QTQtw(Gz~Jn6N{+tBLvPz*OMs6)Y+> zo$Y)|#TB}otYLPQzBfeN3)yBUujmP^8PG|jU2r-=kRXuBfCYir_xi+ zAN8JYe=0Bny9Ic-$RG5P{cai=1A*{+X(Z34*~L`7_KPM$4#_>9&1&3}FN>fjqC_cr z0_|%@dNo)}H`;0~{hnS+59!MVj5Oo#$ylf-@%>^K_1?W}+|5FTFCaJ7N;@ouDGKew zHpC#Wq018Q`77xZw=`~6b^8P*3ocC&j?n1^cgFh5w35(JE5wHF};M1vR7Gl{*)P*y{p5aY{)K~lr(#AKNxE2b6 zPEEc~XQa)&5jCBf*yoSTkJy+(Ibz$g^tG2p8A|is?Df&RDEH_#mdQ{nByBL{B(QNdhOcgUPpyi>jleGG^Ya{qKm`n zRMTE^A|HRCoq6vABH2FDzCr-&$L})vrU@-LM+BzXf&NXg^ikiQRT@GMuk|Zc@CEzO zSGDcg2Euz$3Td^4lN>n(kwX49ZyvIcpclS$kaiPDhx%9*t~W zvaF_Tk3vG)F}6Dqs>-P6IZ<2`k26_`kJTmKN0(T7kMyD+9?f$vX1-OhQ)|}q-#;j- z2t~v3F0cj}CR@oW8O~G8z$=<+UqdC#Hez1xB$Q2FwVx^T^ZPaLN5*ph*s*MOq@(sT z``8io<&q#mzgUvSY=`|!Ki}i~CiO>N+i9kpqHKPd4y5VVD!_Lt%%3R!vUFO@AceFx8S~ zFumD|?7zaTEX2|(U`0NA&8nwRIGa;#O=pHp<@wq|tdoAbJlY$|kq*k%^Qdgg=7i#f zpHII-^!t!dwq*}CgxH6Ezhl5gtRdc@-;WxG_^2hsE##hM3vmVg-ftrgSNxj!?J2Rz zhW=_!ykskTXjw<$cn&%W*K+~mW%i2g*uP)w<|z9bD;#AX?Epvd%#U=yYh55N;qZ$1 zilcbtH!ud{5^)RTaV{0Na=g2VyB*+1?k%2Xx@BT1F83+F@AZT@fbw~xhx`21;ya$= zoj>lu*1>9#@NuVqfS3v$5ppl^l|8lh_=?xQ#8*7_oqh23KP*---JxPV|9)6}!Uu2v z2yqUFA0saDAv^GCaf1&Y&xzt8{{B?)DF2=b0}YhF14Nim=@kw_*c$^Z(cY-ii(2 z&Hqm}fH(h-4d7*)--Qj}&HoK;0B@ee2Jq&8pbcOzi5X~6oc!Ow2Jrhr+8vwSHJog} z88=`L6(f!8>z7AJOff>Hzz&%uc8J!e{oO`0ZLsy=v{8z!3DfF7(VFn~4c3HJ`mzq0 z^TBtKHmnf;j}2mlQv(~s=ft@A|9m!xuYUBujtyd8OGSN+^1Mt4o|}%M`M4@CS~wsy z%Epdj)O3v)gTva@#BJMrp8I^}%g@)^!O}WiRKt4WunJHkb2G8Kvcl#KJAk{s1kxGS zls;)^_t$kZt}qxOFr8v5gXez2Tzs~jz%b?2j)-GsKUt8wHO zhxrB6kxG6@J2_k69(FE}I&+038^Us5ipryW=aVlZm%db3ydg)s8uEQB1q(xYt7@b9 zN0i3T#sAo7{zuwqe&4rguB82IjlIvzDZ}W=n|Q7av<1}rBWs@l=E`?x+xg{3Yi&Ef zG{Ls>-yV%@JJ0<8WZOB->6yZKEYJ9hQoP2uxv;)eFv2jjh6}bB4TL3W#;b-%dlsEE zsIJ_Np7gHhmbjNl-0jKaNMg9K7IQc2*pF*0$wP9LCY&cr{}P3?a!8)$9msI0P-weu zL%+~=-5|Wq(zJ+L#_Vib}Z<&wVW8pzi%v z+d--jl<(RX<>S-yk6@(^=z1@M_LEvyHO@QZm;68@u@%MS`MwF3hkA8d`g@({X5{xW z_D%78a+#0S^sy|5I(YlhR`QuorBmp2DG}1UlKG_F4Xu(wd{y_K`;Drt?g47gm&IhZ zy3;{qt2-Oi+UoxGzr$Ad?KQT#Z!O^Nx85fALKBie|9m#Nn}dHwo7@Y`v2Uvy`+u{^ zU2L$)J^I+zY;vcA$R>9-_#d0x6K!%Y*s4u#)jt0|o7`)u9S-?-+2l?KkxlMw@b)&j zyN&gIfB1*m!&AB+YbJ)cu(r)| zQ;i|ci8Hh&Nn?n8>I@kueUb4X@K(1eeUa^xunTnOa>zU3EbM6s-HYkVu)7i{eUSp4 zP&fQM(kD^+BIFlrcs$ZSiF8hG+6`1et!$FI>7%*Z7T#qg)4M_YSRwVbem)Capi#AS zEUbM(dCx9BufRsGWu>L7 zG(`@C+qD9vU-D&*46PB`-uWvp4kg!E(?YiWJ)h;P=B*$vYO^8MvN+JjyOQpwuia7C z4YY1Uwl)8ZbwxIthqdo4Y=&rm?as=y(s_8;16H-tc{nPoYWQT9%zo0WcqQHqot#!X z+#l+lN4-7Tv-x=}KYtzBp!L^g)o%2!EDt$%#mStG(rf_o8{7Z3z8^`9bJ;8t`1Pu6 zbL|?$KI@^1w8J@(zqEc@f!13g?SUUfluCaAoP4Ffu$XU+VGmr2QC~Qb{=%!&yKt{^Pd3OzS_`j2_GIqxswaK6 z2L3e9dvPj>U=8f0Xlvk$8?1pZj;(>e3Cq~p8hA^9x>�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ΌiTzx#vWJ(C?L3#U$nv9U*odqXC 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

    9kAG3j@e@N17PmtmllHoF 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΍Tla>? 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%0AR%+g!W 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

  • =$+NB&4?>y$4AEyjFmFA0b_ev4J2BU!;?t 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