coldnine 2 weeks ago
parent
commit
628a045a00
100 changed files with 33355 additions and 0 deletions
  1. 14 0
      001_storeHouse.json
  2. 424 0
      002_otherStoreHouse.json
  3. 115 0
      Local_OtherJson/tishixianlu.json
  4. 25 0
      Local_qiqi/fm.txt
  5. 1264 0
      Local_qiqi/南风/api.json
  6. 22 0
      Local_qiqi/南风/api/491cbabc17362406a4ddc6f64ac6ad3f.js
  7. 304 0
      Local_qiqi/南风/api/6c0debf8abd68630086d31eb3f1dd285.js
  8. 0 0
      Local_qiqi/南风/api/9af1556538d03232337fae7e59741289.js
  9. 6191 0
      Local_qiqi/南风/api/ab53c890d5a64daafcf2b7631d21c1b9.js
  10. 0 0
      Local_qiqi/南风/api/drpy2.min.js
  11. 30 0
      Local_qiqi/南风/api/e9af2d0f3bf60d8b67b45615a9c474a3.js
  12. 61 0
      Local_qiqi/南风/js/88看球.js
  13. 39 0
      Local_qiqi/南风/js/JRKAN直播.js
  14. 0 0
      Local_qiqi/南风/js/斗鱼直播.js
  15. 38 0
      Local_qiqi/南风/js/有声小说吧.js
  16. 18 0
      Local_qiqi/南风/js/虎牙直播.js
  17. 4643 0
      Local_qiqi/南风/json/Bili.json
  18. 620 0
      Local_qiqi/南风/json/Blixq.json
  19. 273 0
      Local_qiqi/南风/json/Blixs.json
  20. 56 0
      Local_qiqi/南风/json/alist.json
  21. 1168 0
      Local_qiqi/南风/json/douban.json
  22. 502 0
      Local_qiqi/南风/json/jianpian.json
  23. 892 0
      Local_qiqi/南风/json/wogg.json
  24. 70 0
      Local_qiqi/南风/json/youtube.json
  25. 3635 0
      Local_qiqi/南风/json/初中课堂.json
  26. 1051 0
      Local_qiqi/南风/json/小学课堂.json
  27. 455 0
      Local_qiqi/南风/json/少儿教育.json
  28. 107 0
      Local_qiqi/南风/json/网盘集合.json
  29. 3687 0
      Local_qiqi/南风/json/高中课堂.json
  30. 1151 0
      Local_qiqi/南风/lives/Yoursmile.txt
  31. BIN
      Local_qiqi/南风/spider.jar
  32. 2600 0
      Local_qiqi/天天开心/api.json
  33. 304 0
      Local_qiqi/天天开心/api/a848d2173d12b963b98a2ffa9796abe7.js
  34. 22 0
      Local_qiqi/天天开心/api/dffd4cc3bf2fdbddf56e179fb494a4fa.js
  35. 72 0
      Local_qiqi/天天开心/api/drpy2.min.js
  36. 22 0
      Local_qiqi/天天开心/api/gbk.js
  37. 577 0
      Local_qiqi/天天开心/api/jinja.js
  38. 30 0
      Local_qiqi/天天开心/api/jsencrypt.js
  39. 303 0
      Local_qiqi/天天开心/api/json5.js
  40. 0 0
      Local_qiqi/天天开心/api/lf_live10_min-output.js
  41. 1 0
      Local_qiqi/天天开心/api/node-rsa.js
  42. 1 0
      Local_qiqi/天天开心/api/pako.min.js
  43. 1 0
      Local_qiqi/天天开心/api/qyg4.js
  44. 1 0
      Local_qiqi/天天开心/api/qyg5.js
  45. 304 0
      Local_qiqi/天天开心/api/qyg6.js
  46. 22 0
      Local_qiqi/天天开心/api/qyg7.js
  47. 303 0
      Local_qiqi/天天开心/api/qyg8.js
  48. 577 0
      Local_qiqi/天天开心/api/qyg9.js
  49. 412 0
      Local_qiqi/天天开心/api/模板.js
  50. 0 0
      Local_qiqi/天天开心/js/111tv[自动].js
  51. 0 0
      Local_qiqi/天天开心/js/360吧[球].js
  52. 83 0
      Local_qiqi/天天开心/js/4K-AV.js
  53. 0 0
      Local_qiqi/天天开心/js/4k剧院.js
  54. 0 0
      Local_qiqi/天天开心/js/926tv[球].js
  55. 1 0
      Local_qiqi/天天开心/js/HBOTV[优].js
  56. 0 0
      Local_qiqi/天天开心/js/KTV歌厅[听].js
  57. 0 0
      Local_qiqi/天天开心/js/TVB云播.js
  58. 20 0
      Local_qiqi/天天开心/js/a8yy.js
  59. 0 0
      Local_qiqi/天天开心/js/bilfun(自动).js
  60. 44 0
      Local_qiqi/天天开心/js/blzb.js
  61. 28 0
      Local_qiqi/天天开心/js/huyazhibo.js
  62. 150 0
      Local_qiqi/天天开心/js/jp.js
  63. 0 0
      Local_qiqi/天天开心/js/七新电影网.js
  64. 1 0
      Local_qiqi/天天开心/js/三集电影[自动].js
  65. 1 0
      Local_qiqi/天天开心/js/人人影视.js
  66. 17 0
      Local_qiqi/天天开心/js/优酷.js
  67. 0 0
      Local_qiqi/天天开心/js/低端.js
  68. 27 0
      Local_qiqi/天天开心/js/六月听书.js
  69. 1 0
      Local_qiqi/天天开心/js/刺猬影视.js
  70. 0 0
      Local_qiqi/天天开心/js/努努影院.js
  71. 51 0
      Local_qiqi/天天开心/js/博看听书.js
  72. 0 0
      Local_qiqi/天天开心/js/厂长资源.js
  73. 0 0
      Local_qiqi/天天开心/js/可可影视[优].js
  74. 0 0
      Local_qiqi/天天开心/js/哈皮影视[优].js
  75. 0 0
      Local_qiqi/天天开心/js/哔哩影视[官].js
  76. 1 0
      Local_qiqi/天天开心/js/嘀哩嘀哩.js
  77. 1 0
      Local_qiqi/天天开心/js/多多追剧[优].js
  78. 234 0
      Local_qiqi/天天开心/js/央视大全.js
  79. 0 0
      Local_qiqi/天天开心/js/好趣网.js
  80. 0 0
      Local_qiqi/天天开心/js/妖狐影视[自动].js
  81. 1 0
      Local_qiqi/天天开心/js/宇航影视.js
  82. 0 0
      Local_qiqi/天天开心/js/宝片视频.js
  83. 0 0
      Local_qiqi/天天开心/js/小猫电影院.js
  84. 0 0
      Local_qiqi/天天开心/js/小白菜电影.js
  85. 78 0
      Local_qiqi/天天开心/js/影探4K.js
  86. 0 0
      Local_qiqi/天天开心/js/思古影视[V2].js
  87. 18 0
      Local_qiqi/天天开心/js/搜狗.js
  88. 0 0
      Local_qiqi/天天开心/js/斗鱼直播.js
  89. 1 0
      Local_qiqi/天天开心/js/旋风视频.js
  90. 1 0
      Local_qiqi/天天开心/js/星空影院.js
  91. 120 0
      Local_qiqi/天天开心/js/星芽短剧.js
  92. 1 0
      Local_qiqi/天天开心/js/星辰[优].js
  93. 0 0
      Local_qiqi/天天开心/js/果果4K.js
  94. 0 0
      Local_qiqi/天天开心/js/歪片星球[资].js
  95. 0 0
      Local_qiqi/天天开心/js/河狸影视[V2].js
  96. 0 0
      Local_qiqi/天天开心/js/热播之家.js
  97. 0 0
      Local_qiqi/天天开心/js/熊猫TV.js
  98. 0 0
      Local_qiqi/天天开心/js/爱优影视[自动].js
  99. 59 0
      Local_qiqi/天天开心/js/爱动漫.js
  100. 9 0
      Local_qiqi/天天开心/js/爱奇艺.js

+ 14 - 0
001_storeHouse.json

@@ -0,0 +1,14 @@
+{
+"storeHouse": [
+{"sourceName": "自用仓1[GitLab]","sourceUrl": "https://try.gogs.io/coldnine/cangku/raw/main/ziyong1.txt"},
+{"sourceName": "自用仓2[GitLab]","sourceUrl": "https://try.gogs.io/coldnine/cangku/raw/main/ziyong2.txt"},
+{"sourceName": "自用仓3[GitLab]","sourceUrl": "https://try.gogs.io/coldnine/cangku/raw/main/ziyong3.txt"},
+
+{"sourceName": "🌹欧歌多仓库1号->欧歌主仓库🌹","sourceUrl": "http://xn--dkw0c.v.nxog.top"},
+{"sourceName": "🌷欧歌备m仓库🌷","sourceUrl": "http://xn--dkw0c.u.nxog.top"},
+{"sourceName": "🌷欧歌备n仓库🌷","sourceUrl": "http://xn--dkw0c.v.xn--dkw.xn--6qq986b3xl"},
+
+{"sourceName": "🌷欧歌870备1仓库🌷","sourceUrl": "http://2.nxog.eu.xn--org2-xr6g"},
+{"sourceName": "🌷欧歌870备2仓库🌷","sourceUrl": "http://1.a.xn--dkw.xn--6qq986b3xl"}
+]
+}

+ 424 - 0
002_otherStoreHouse.json

@@ -0,0 +1,424 @@
+{
+    "storeHouse": [
+        {
+            "sourceName": "💢自用仓库",
+            "sourceUrl": "https://agit.ai/liucn/box/raw/branch/main/dc.txt"
+        },
+        {
+            "sourceName": "🌸超级仓库",
+            "sourceUrl": "https://agit.ai/hu/hcr/raw/branch/master/99668.txt"
+        },
+        {
+            "sourceName": "🦆精品仓库",
+            "sourceUrl": "https://agit.ai/hu/hcr/raw/commit/afdc0352f3267745a2144786a900efcf1e5c6de6/%e6%8e%a5%e5%8f%a3%e4%bb%93%e5%ba%93%e6%a8%a1%e7%89%88.txt"
+        },
+        {
+            "sourceName": "🎀精品仓库102",
+            "sourceUrl": " https://pan.css.lc/api/v3/file/get/89920/%E6%98%9F%E6%B2%B3%E8%BD%AF%E4%BB%B6%E5%9B%AD%E7%BB%BF%E8%89%B2%E4%BB%93%E5%BA%93.txt?sign=kHRUFbInXSY091BK6bzSDmd2gReOQI6Az7AuxS6yPbc%3D%3A0 "
+        },
+        {
+            "sourceName": "👒嘟嘟仓库",
+            "sourceUrl": "https://agit.ai/hu/hcr/raw/commit/beb954f1ae6828ab8dc86b4059cf98e6378bce3b/duo.txt"
+        },
+        {
+            "sourceName": "☁️云星在线仓库",
+            "sourceUrl": "https://maoyingshi.cc/可视TV/云星日记/仓库/api.json"
+        },
+        {
+            "sourceName": "🌙影视仓①",
+            "sourceUrl": "https://gitlab.com/ygbh1/666/-/raw/main/dcang/1.json"
+        },
+        {
+            "sourceName": "🌙影视仓②",
+            "sourceUrl": "https://gitlab.com/ygbh1/666/-/raw/main/dcang/2.json"
+        },
+        {
+            "sourceName": "🌙影视仓③",
+            "sourceUrl": "https://gitlab.com/ygbh1/666/-/raw/main/dcang/3.json"
+        },
+        {
+            "sourceName": "🌙影视仓④",
+            "sourceUrl": "https://gitlab.com/ygbh1/666/-/raw/main/dcang/4.json"
+        },
+        {
+            "sourceName": "①号库",
+            "sourceUrl": "https://box.nxog.top/1"
+        },
+        {
+            "sourceName": "②号库",
+            "sourceUrl": "https://box.nxog.top/2"
+        },
+        {
+            "sourceName": "③号库",
+            "sourceUrl": "https://box.nxog.top/3"
+        },
+        {
+            "sourceName": "④号库",
+            "sourceUrl": "https://box.nxog.top/4"
+        },
+        {
+            "sourceName": "⑤号库",
+            "sourceUrl": "https://box.nxog.top/5"
+        },
+        {
+            "sourceName": "⑥号库",
+            "sourceUrl": "https://box.nxog.top/6"
+        },
+        {
+            "sourceName": "⑦号库",
+            "sourceUrl": "https://box.nxog.top/7"
+        },
+        {
+            "sourceName": "⑧号库",
+            "sourceUrl": "https://box.nxog.top/8"
+        },
+        {
+            "sourceName": "⑨号库",
+            "sourceUrl": "https://box.nxog.top/9"
+        },
+        {
+            "sourceName": "⑩号库",
+            "sourceUrl": "https://box.nxog.top/10"
+        },
+        {
+            "sourceName": "⑪号库",
+            "sourceUrl": "https://box.nxog.top/11"
+        },
+        {
+            "sourceName": "⑫号库",
+            "sourceUrl": "https://box.nxog.top/12"
+        },
+        {
+            "sourceName": "⑬号库",
+            "sourceUrl": "https://box.nxog.top/13"
+        },
+        {
+            "sourceName": "⑭号库",
+            "sourceUrl": "https://box.nxog.top/14"
+        },
+        {
+            "sourceName": "⑮号库",
+            "sourceUrl": "https://box.nxog.top/15"
+        },
+        {
+            "sourceName": "⑯号库",
+            "sourceUrl": "https://box.nxog.top/16"
+        },
+        {
+            "sourceName": "⑰号库",
+            "sourceUrl": "https://box.nxog.top/17"
+        },
+        {
+            "sourceName": "⑱号库",
+            "sourceUrl": "https://box.nxog.top/18"
+        },
+        {
+            "sourceName": "⑲号库",
+            "sourceUrl": "https://box.nxog.top/19"
+        },
+        {
+            "sourceName": "⑳号库",
+            "sourceUrl": "https://gitcode.net/go/go/-/raw/o/ck_2.bin"
+        },
+        {
+            "sourceName": "②①号库",
+            "sourceUrl": "https://agit.ai/66666/mao/raw/commit/0ec2c15e9a1a0df2ae6c44b4d7d7a4083d6d6f77/00/xx/0update_yuan"
+        },
+        {
+            "sourceName": "②②号库",
+            "sourceUrl": "https://agit.ai/zqk219/baip/raw/branch/master/zqk19.json"
+        },
+        {
+            "sourceName": "②③号库",
+            "sourceUrl": "https://agit.ai/zqk219/baip/raw/branch/master/1"
+        },
+        {
+            "sourceName": "②④号库",
+            "sourceUrl": "https://agit.ai/zqk219/baip/raw/branch/master/6"
+        },
+        {
+            "sourceName": "②⑤号库",
+            "sourceUrl": "https://agit.ai/zqk219/baip/raw/branch/master/7"
+        },
+        {
+            "sourceName": "②⑥号库",
+            "sourceUrl": "https://agit.ai/zhanghong/jyys/raw/branch/master/2"
+        },
+        {
+            "sourceName": "②⑦号库",
+            "sourceUrl": "https://agit.ai/dlee2008/66666/raw/branch/master/update_yuan.txt"
+        },
+        {
+            "sourceName": "②⑧号库",
+            "sourceUrl": "http://5.nxog.top/m/dc/api/api/1/tv/update_yuan"
+        },
+        {
+            "sourceName": "②⑨号库",
+            "sourceUrl": "http://5.nxog.top/m/dc/api/api/2/tv/update_yuan"
+        },
+        {
+            "sourceName": "③⑩号库",
+            "sourceUrl": "http://5.nxog.top/m/dc/api/api/3/tv/update_yuan"
+        },
+        {
+            "sourceName": "③①号库",
+            "sourceUrl": "http://5.nxog.top/m/dc/api/api/4/tv/update_yuan"
+        },
+        {
+            "sourceName": "③②号库",
+            "sourceUrl": "http://5.nxog.top/m/dc/api/api/5/tv/update_yuan"
+        },
+        {
+            "sourceName": "③③号库",
+            "sourceUrl": "http://5.nxog.top/m/dc/api/api/6/tv/update_yuan"
+        },
+        {
+            "sourceName": "③④号库",
+            "sourceUrl": "http://5.nxog.top/m/dc/api/api/7/tv/update_yuan"
+        },
+        {
+            "sourceName": "③⑤号库",
+            "sourceUrl": "http://5.nxog.top/m/dc/api/api/8/tv/update_yuan"
+        },
+        {
+            "sourceName": "③⑥号库",
+            "sourceUrl": "http://5.nxog.top/m/dc/api/api/9/tv/update_yuan"
+        },
+        {
+            "sourceName": "③⑦号库",
+            "sourceUrl": "http://5.nxog.top/m/dc/api/api/10/tv/update_yuan"
+        },
+        {
+            "sourceName": "③⑧号库",
+            "sourceUrl": "http://5.nxog.top/m/dc/api/api/11/tv/update_yuan"
+        },
+        {
+            "sourceName": "③⑨号库",
+            "sourceUrl": "http://5.nxog.top/m/dc/api/api/12/tv/update_yuan"
+        },
+        {
+            "sourceName": "④⑩号库",
+            "sourceUrl": "http://5.nxog.top/m/dc/api/api/13/tv/update_yuan"
+        },
+        {
+            "sourceName": "④①号库",
+            "sourceUrl": "http://5.nxog.top/m/dc/api/api/14/tv/update_yuan"
+        },
+        {
+            "sourceName": "④②号库",
+            "sourceUrl": "http://5.nxog.top/m/dc/api/api/15/tv/update_yuan"
+        },
+        {
+            "sourceName": "④③号库",
+            "sourceUrl": "http://5.nxog.top/m/dc/api/api/16/tv/update_yuan"
+        },
+        {
+            "sourceName": "④④号库",
+            "sourceUrl": "http://5.nxog.top/m/dc/api/api/17/tv/update_yuan"
+        },
+        {
+            "sourceName": "④⑤号库",
+            "sourceUrl": "http://5.nxog.top/m/dc/api/api/18/tv/update_yuan"
+        },
+        {
+            "sourceName": "④⑥号库",
+            "sourceUrl": "http://5.nxog.top/m/dc/api/api/19/tv/update_yuan"
+        },
+        {
+            "sourceName": "④⑦号库",
+            "sourceUrl": "http://5.nxog.top/m/dc/api/api/20/tv/update_yuan"
+        },
+        {
+            "sourceName": "④⑧号库",
+            "sourceUrl": "http://5.nxog.top/m/dc/api/api/21/tv/update_yuan"
+        },
+        {
+            "sourceName": "④⑨号库",
+            "sourceUrl": "https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f365e319-1b15-4229-8d34-50ae05216295/120d3e71-21cb-4eb4-b038-83646731ff3f.jpg"
+        },
+        {
+            "sourceName": "⑤⑩号库",
+            "sourceUrl": "https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f365e319-1b15-4229-8d34-50ae05216295/aad39872-4956-4aec-a930-fa8e8e78d641.jpg"
+        },
+        {
+            "sourceName": "⑤①号库",
+            "sourceUrl": "https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f365e319-1b15-4229-8d34-50ae05216295/521f2d2e-579c-4e17-871f-351d1f98b6e1.jpg"
+        },
+        {
+            "sourceName": "⑤②号库",
+            "sourceUrl": "https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f365e319-1b15-4229-8d34-50ae05216295/415109ff-2e36-4ca9-a957-977f929bc102.jpg"
+        },
+        {
+            "sourceName": "⑤③号库",
+            "sourceUrl": "https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f365e319-1b15-4229-8d34-50ae05216295/1bf5f4d3-893c-49e7-9ec0-56017a4f6b90.jpg"
+        },
+        {
+            "sourceName": "⑤④号库",
+            "sourceUrl": "https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f365e319-1b15-4229-8d34-50ae05216295/cf7eddf7-ed28-4fc7-afb6-6753864c27fa.jpg"
+        },
+        {
+            "sourceName": "⑤⑤号库",
+            "sourceUrl": "https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f365e319-1b15-4229-8d34-50ae05216295/4559125b-4940-48ab-a322-ca6cd9c8d168.jpg"
+        },
+        {
+            "sourceName": "⑤⑥号库",
+            "sourceUrl": "https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f365e319-1b15-4229-8d34-50ae05216295/45905a07-23d5-468e-94ef-87c9c8a1ce67.jpg"
+        },
+        {
+            "sourceName": "⑤⑦号库",
+            "sourceUrl": "https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f365e319-1b15-4229-8d34-50ae05216295/6e70b9bc-004a-4f16-8267-8d1dcbb0a531.jpg"
+        },
+        {
+            "sourceName": "⑤⑧号库",
+            "sourceUrl": "https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f365e319-1b15-4229-8d34-50ae05216295/9ca84e3c-9e03-4b94-b49f-333fe0174544.jpg"
+        },
+        {
+            "sourceName": "⑤⑨号库",
+            "sourceUrl": "https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f365e319-1b15-4229-8d34-50ae05216295/777577cb-8372-4f4e-a2c1-46388794f9bc.jpg"
+        },
+        {
+            "sourceName": "⑥⑩号库",
+            "sourceUrl": "https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f365e319-1b15-4229-8d34-50ae05216295/3ddf2db4-4305-4994-98fe-08967b6b788d.jpg"
+        },
+        {
+            "sourceName": "⑥①号库",
+            "sourceUrl": "https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f365e319-1b15-4229-8d34-50ae05216295/dc6b2c86-b4f8-4298-9a3c-18653953dc26.jpg"
+        },
+        {
+            "sourceName": "⑥②号库",
+            "sourceUrl": "https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f365e319-1b15-4229-8d34-50ae05216295/381beacb-eecc-47a7-98b3-8d65fea5b57e.jpg"
+        },
+        {
+            "sourceName": "⑥③号库",
+            "sourceUrl": "https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f365e319-1b15-4229-8d34-50ae05216295/bd7b7d4d-164b-4117-aed3-c78496ef284d.jpg"
+        },
+        {
+            "sourceName": "⑥④号库",
+            "sourceUrl": "https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f365e319-1b15-4229-8d34-50ae05216295/53e584f7-48da-40b1-b213-e71e5055f3cb.jpg"
+        },
+        {
+            "sourceName": "⑥⑤号库",
+            "sourceUrl": "https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f365e319-1b15-4229-8d34-50ae05216295/f721e0c9-7882-4352-acb2-c0a78539ba44.jpg"
+        },
+        {
+            "sourceName": "⑥⑥号库",
+            "sourceUrl": "https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f365e319-1b15-4229-8d34-50ae05216295/de5cb406-a6c0-471f-9921-66ec910e5ba6.jpg"
+        },
+        {
+            "sourceName": "⑥⑦号库",
+            "sourceUrl": "https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f365e319-1b15-4229-8d34-50ae05216295/94442143-d489-42ae-a79d-f2c00db61903.jpg"
+        },
+        {
+            "sourceName": "⑥⑧号库",
+            "sourceUrl": "https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f365e319-1b15-4229-8d34-50ae05216295/f5d5dbc6-d403-4cc4-92d5-f213319713bf.jpg"
+        },
+        {
+            "sourceName": "1号仓库",
+            "sourceUrl": "http://5.nxog.top/m/dc/api/api/1/tv/update_yuan"
+        },
+        {
+            "sourceName": "2号仓库",
+            "sourceUrl": " http://ob4.cn/tvbdc  "
+        },
+        {
+            "sourceName": "4号仓库",
+            "sourceUrl": "http://5.nxog.top/m/dc/api/api/4/tv/update_yuan"
+        },
+        {
+            "sourceName": "5号仓库",
+            "sourceUrl": "http://5.nxog.top/m/dc/api/api/5/tv/update_yuan"
+        },
+        {
+            "sourceName": "6号仓库",
+            "sourceUrl": "http://5.nxog.top/m/dc/api/api/6/tv/update_yuan"
+        },
+        {
+            "sourceName": "7号仓库",
+            "sourceUrl": "http://5.nxog.top/m/dc/api/api/7/tv/update_yuan"
+        },
+        {
+            "sourceName": "8号仓库",
+            "sourceUrl": "http://5.nxog.top/m/dc/api/api/8/tv/update_yuan"
+        },
+        {
+            "sourceName": "9号仓库",
+            "sourceUrl": "http://5.nxog.top/m/dc/api/api/9/tv/update_yuan"
+        },
+        {
+            "sourceName": "10号仓库",
+            "sourceUrl": "http://5.nxog.top/m/dc/api/api/10/tv/update_yuan"
+        },
+        {
+            "sourceName": "11号仓库",
+            "sourceUrl": "http://5.nxog.top/m/dc/api/api/11/tv/update_yuan"
+        },
+        {
+            "sourceName": "12号仓库",
+            "sourceUrl": "http://5.nxog.top/m/dc/api/api/12/tv/update_yuan"
+        },
+        {
+            "sourceName": "13号仓库",
+            "sourceUrl": "http://5.nxog.top/m/dc/api/api/13/tv/update_yuan"
+        },
+        {
+            "sourceName": "14号仓库",
+            "sourceUrl": "http://5.nxog.top/m/dc/api/api/14/tv/update_yuan"
+        },
+        {
+            "sourceName": "15号仓库",
+            "sourceUrl": "http://5.nxog.top/m/dc/api/api/15/tv/update_yuan"
+        },
+        {
+            "sourceName": "16号仓库",
+            "sourceUrl": "http://5.nxog.top/m/dc/api/api/16/tv/update_yuan"
+        },
+        {
+            "sourceName": "17号仓库",
+            "sourceUrl": "http://5.nxog.top/m/dc/api/api/17/tv/update_yuan"
+        },
+        {
+            "sourceName": "18号仓库",
+            "sourceUrl": "http://5.nxog.top/m/dc/api/api/18/tv/update_yuan"
+        },
+        {
+            "sourceName": "19号仓库",
+            "sourceUrl": "http://5.nxog.top/m/dc/api/api/19/tv/update_yuan"
+        },
+        {
+            "sourceName": "20号仓库",
+            "sourceUrl": "http://5.nxog.top/m/dc/api/api/20/tv/update_yuan"
+        },
+        {
+            "sourceName": "23号仓库",
+            "sourceUrl": "https://gitcode.net/go/go/-/raw/o/ck_2.bin"
+        },
+        {
+            "sourceName": "24号仓库",
+            "sourceUrl": "https://agit.ai/66666/mao/raw/commit/0ec2c15e9a1a0df2ae6c44b4d7d7a4083d6d6f77/00/xx/0update_yuan"
+        },
+        {
+            "sourceName": "25号仓库",
+            "sourceUrl": "https://agit.ai/zqk219/baip/raw/branch/master/zqk19.json"
+        },
+        {
+            "sourceName": "26号仓库",
+            "sourceUrl": "https://agit.ai/zqk219/baip/raw/branch/master/1"
+        },
+        {
+            "sourceName": "27号仓库",
+            "sourceUrl": "https://agit.ai/zqk219/baip/raw/branch/master/6"
+        },
+        {
+            "sourceName": "28号仓库",
+            "sourceUrl": "https://agit.ai/zqk219/baip/raw/branch/master/7"
+        },
+        {
+            "sourceName": "29号仓库",
+            "sourceUrl": "http://5.nxog.top/m/dc/api/api/20/tv/update_yuan"
+        },
+        {
+            "sourceName": "30号仓库",
+            "sourceUrl": "http://5.nxog.top/m/dc/api/api/21/tv/update_yuan"
+        }
+    ]
+}

+ 115 - 0
Local_OtherJson/tishixianlu.json

@@ -0,0 +1,115 @@
+{
+    "spider": "https://try.gogs.io/coldnine/cangku/raw/main/Local_qiqi/饭太硬/spider.jar",
+    "wallpaper": "http://饭太硬.top/深色壁纸/api.php",
+    "warningText": "本线路为提示线路,无实际用途",
+    "sites": [
+        {
+            "key": "豆瓣",
+            "name": "🍥┃本线路为提示线路,无实际用途🍥",
+            "type": 3,
+            "api": "csp_DouDou",
+            "searchable": 0,
+            "quickSearch": 0,
+            "filterable": 0
+        }
+    ],
+    "parses": [
+        {
+            "name": "聚合",
+            "type": 3,
+            "url": "Demo"
+        },
+        {
+            "name": "神秘的哥哥们",
+            "type": 1,
+            "url": "http://api.888484.xyz/jiexi/米太硬.php?url=",
+            "ext": {
+                "flag": [
+                    "qq",
+                    "腾讯",
+                    "qiyi",
+                    "爱奇艺",
+                    "奇艺",
+                    "youku",
+                    "优酷",
+                    "tucheng",
+                    "sohu",
+                    "搜狐",
+                    "letv",
+                    "乐视",
+                    "mgtv",
+                    "芒果",
+                    "tnmb",
+                    "seven",
+                    "yzm",
+                    "aliyun",
+                    "RJuMao",
+                    "bilibili",
+                    "1905",
+                    "xinvip",
+                    "XAL",
+                    "qiqi",
+                    "XALS",
+                    "YuMi-vip"
+                ]
+            }
+        },
+        {
+            "name": "公众号",
+            "type": 1,
+            "url": "https://api.tyun77.cn/api.php/provide/parseDicturl?url=",
+            "ext": {
+                "flag": [
+                    "qq",
+                    "腾讯",
+                    "qiyi",
+                    "iqiyi",
+                    "爱奇艺",
+                    "奇艺",
+                    "youku",
+                    "优酷",
+                    "mgtv",
+                    "芒果",
+                    "letv",
+                    "乐视",
+                    "pptv",
+                    "PPTV",
+                    "sohu",
+                    "bilibili",
+                    "哔哩哔哩",
+                    "哔哩"
+                ]
+            }
+        },
+        {
+            "name": "免费分享",
+            "type": 0,
+            "url": "https://jx.xmflv.com/?url=",
+            "ext": {
+                "flag": [
+                    "qq",
+                    "腾讯",
+                    "qiyi",
+                    "爱奇艺",
+                    "奇艺",
+                    "youku",
+                    "优酷",
+                    "mgtv",
+                    "芒果",
+                    "imgo",
+                    "letv",
+                    "乐视",
+                    "pptv",
+                    "PPTV",
+                    "sohu",
+                    "bilibili",
+                    "哔哩哔哩",
+                    "哔哩"
+                ],
+                "header": {
+                    "User-Agent": "okhttp/4.1.0"
+                }
+            }
+        }
+    ]
+}

+ 25 - 0
Local_qiqi/fm.txt

@@ -0,0 +1,25 @@
+{ "urls": [{ "url": "file://tvboxqq/饭太硬/api.json", "name": "饭太硬[本地]" },
+
+{ "url": "file://tvboxqq/小米/api.json", "name": "小米[本地]" },
+
+{ "url": "file://tvboxqq/肥猫/api.json", "name": "肥猫[本地]" },
+
+{ "url": "file://tvboxqq/王二小/api.json", "name": "王二小[本地]" },
+
+{ "url": "file://tvboxqq/摸鱼儿/api.json", "name": "摸鱼儿[本地]" },
+
+{ "url": "file://tvboxqq/欧歌/api.json", "name": "欧歌[本地]" },
+
+{ "url": "file://tvboxqq/潇洒/api.json", "name": "潇洒[本地]" },
+
+{ "url": "file://tvboxqq/南风/api.json", "name": "南风[本地]" },
+
+{ "url": "file://tvboxqq/天天开心/api.json", "name": "天天开心[本地]" },
+
+{ "url": "file://tvboxqq/骚零/api.json", "name": "骚零[本地]" },
+
+{ "url": "file://tvboxqq/戏曲音乐/api.json", "name": "戏曲音乐[本地]" },
+
+{ "url": "file://tvboxqq/短剧频道/api.json", "name": "短剧频道[本地]" },
+
+{ "url": "file://tvboxqq/少儿频道/api.json", "name": "少儿频道[本地]" }]}

+ 1264 - 0
Local_qiqi/南风/api.json

@@ -0,0 +1,1264 @@
+//关注微信公众号:奇奇乐分享,发送“本地包”,获取本地包更新链接与图文教程。
+
+{
+    "spider": "./spider.jar",
+    "wallpaper": "https://深色壁纸.xxooo.cf/",
+    "sites": [
+        {
+            "key": "csp_DouDou",
+            "name": "🔍豆瓣┃本接口免费-🈲贩卖",
+            "type": 3,
+            "api": "csp_DouDou",
+            "searchable": 0,
+            "filterable": 1,
+            "changeable": 1,
+            "ext": {
+                "commonConfig": "./json/peizhi.json",
+                "filter": "./json/douban.json"
+            }
+        },
+        {
+            "key": "ConfigCenter",
+            "name": "🅿网盘配置中心",
+            "type": 3,
+            "api": "csp_ConfigCenter",
+            "searchable": 0,
+            "changeable": 0,
+            "ext": {
+                "commonConfig": "./json/peizhi.json"
+            }
+        },
+        {
+            "key": "csp_Jpys",
+            "name": "🥇金牌",
+            "type": 3,
+            "api": "csp_Jpys",
+            "playerType": 2,
+            "searchable": 1,
+            "quickSearch": 1,
+            "changeable": 1
+        },
+        {
+            "key": "csp_TianTian",
+            "name": "🦉天天",
+            "type": 3,
+            "api": "csp_TianTian",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1
+        },
+        {
+            "key": "csp_ReBo",
+            "name": "☀️热播",
+            "type": 3,
+            "api": "csp_ReBo",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1
+        },
+        {
+            "key": "csp_LiteApple",
+            "name": "🍎小苹果",
+            "type": 3,
+            "api": "csp_LiteApple",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "changeable": 1
+        },
+        {
+            "key": "csp_Czsapp",
+            "name": "🏭厂长",
+            "type": 3,
+            "api": "csp_Czsapp",
+            "playerType": 2,
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "ext": "http://www.czzyvideo.com"
+        },
+        {
+            "key": "csp_SuBaiBai",
+            "name": "🏳️素白白",
+            "type": 3,
+            "api": "csp_SuBaiBai",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "ext": "http://subaibai.com"
+        },
+        {
+            "key": "瓜子",
+            "name": "🍉瓜子",
+            "type": 3,
+            "api": "csp_Gz360",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1
+        },
+        {
+            "key": "csp_Nongm",
+            "name": "👩‍🌾农民",
+            "type": 3,
+            "api": "csp_Nongm",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "ext": "https://wwgz.cn"
+        },
+        {
+            "key": "csp_Fantuan",
+            "name": "🍙饭团",
+            "type": 3,
+            "api": "csp_Fantuan",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "click": "document.querySelector(\"#playleft iframe\").contentWindow.document.querySelector(\"#start\").click();",
+            "ext": "https://www.fantuan.vip"
+        },
+        {
+            "key": "csp_AppRZ",
+            "name": "🕵忍者",
+            "type": 3,
+            "playerType": "2",
+            "api": "csp_AppRZ",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "ext": "http://rzys.xyz/"
+        },
+        {
+            "key": "csp_SaoHuo",
+            "name": "🔥骚火",
+            "type": 3,
+            "api": "csp_SaoHuo",
+            "playerType": 2,
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1
+        },
+        {
+            "key": "csp_Qiyou",
+            "name": "🦌奇优",
+            "type": 3,
+            "api": "csp_Qiyou",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "ext": "http://www.dyxz2.com/"
+        },
+        {
+            "key": "csp_Tvyb",
+            "name": "☁️TVB云播",
+            "type": 3,
+            "api": "csp_Tvyb",
+            "playerType": 2,
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "ext": "http://www.tvyun01.com/"
+        },
+        {
+            "key": "csp_Jiaozi",
+            "name": "🥣饺子",
+            "type": 3,
+            "api": "csp_Jiaozi",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1
+        },
+        {
+            "key": "csp_DiDuan",
+            "name": "📺低端",
+            "type": 3,
+            "api": "csp_Ddrk",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 0
+        },
+        {
+            "key": "csp_Kuaikan",
+            "name": "👀快看",
+            "type": 3,
+            "api": "csp_Kuaikan",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1
+        },
+        {
+            "key": "csp_Zxzj",
+            "name": "🏚️在线",
+            "type": 3,
+            "api": "csp_Zxzj",
+            "searchable": 1,
+            "quickSearch": 1,
+            "changeable": 1,
+            "ext": "https://www.zxzjys.com/"
+        },
+        {
+            "key": "csp_Auete",
+            "name": "🐼奥特",
+            "type": 3,
+            "api": "csp_Auete",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "ext": "https://auete.com/"
+        },
+        {
+            "key": "csp_Jianpian",
+            "name": "🧲荐片",
+            "type": 3,
+            "api": "csp_Jianpian",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "ext": "./json/jianpian.json"
+        },
+        {
+            "key": "csp_SixV",
+            "name": "🧲新6V",
+            "type": 3,
+            "api": "csp_SixV",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 0,
+            "ext": "https://www.xb6v.com/"
+        },
+        {
+            "key": "csp_SP360",
+            "name": "💘360",
+            "type": 3,
+            "api": "csp_SP360",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "changeable": 1
+        },
+        {
+            "key": "csp_Anime1",
+            "name": "🌸Anime动漫",
+            "type": 3,
+            "api": "csp_Anime1",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1
+        },
+        {
+            "key": "csp_Dm84",
+            "name": "🚌动漫巴士",
+            "type": 3,
+            "api": "csp_Dm84",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1
+        },
+        {
+            "key": "csp_Alllive",
+            "name": "📽️一直播",
+            "type": 3,
+            "api": "csp_Alllive",
+            "playerType": 2,
+            "searchable": 0,
+            "quickSearch": 0,
+            "changeable": 0
+        },
+        {
+            "key": "csp_Kanqiu",
+            "name": "⚾看球",
+            "type": 3,
+            "api": "csp_Kanqiu",
+            "searchable": 1,
+            "quickSearch": 1,
+            "changeable": 0,
+            "gridview": 3,
+            "style": {
+                "type": "list"
+            }
+        },
+        {
+            "key": "csp_Kugou",
+            "name": "🐶酷狗",
+            "type": 3,
+            "api": "csp_Kugou",
+            "playerType": 2,
+            "ext": {
+                "classes": [
+                    {
+                        "type_name": "酷狗",
+                        "type_id": "kugou"
+                    }
+                ]
+            }
+        },
+        {
+            "key": "csp_BookTing",
+            "name": "📚听书",
+            "type": 3,
+            "playerType": 2,
+            "api": "csp_BookTing",
+            "searchable": 0,
+            "ext": "https://m.ting275.com",
+            "style": {
+                "type": "rect",
+                "ratio": 1.333
+            }
+        },
+        {
+            "key": "Aid",
+            "name": "🚑急救教学",
+            "type": 3,
+            "api": "csp_FirstAid",
+            "searchable": 0,
+            "quickSearch": 0,
+            "filterable": 0,
+            "changeable": 0
+        },
+        {
+            "key": "玩偶gg",
+            "name": "👽玩偶哥哥",
+            "type": 3,
+            "api": "csp_Wogg",
+            "searchable": 1,
+            "changeable": 0,
+            "ext": {
+                "commonConfig": "./json/peizhi.json",
+                "siteUrl": "https://www.wogg.net",
+                "filter": "./json/wogg.json"
+            }
+        },
+        {
+            "key": "多多",
+            "name": "🌟多多影音",
+            "type": 3,
+            "api": "csp_kongbai",
+            "searchable": 1,
+            "changeable": 0,
+            "ext": {
+                "commonConfig": "./json/peizhi.json",
+                "siteUrl": "https://tv.yydsys.top",
+                "filter": "./json/wogg.json"
+            }
+        },
+        {
+            "key": "蜡笔",
+            "name": "🖍︎蜡笔",
+            "type": 3,
+            "api": "csp_kongbai",
+            "searchable": 1,
+            "changeable": 0,
+            "ext": {
+                "commonConfig": "./json/peizhi.json",
+                "siteUrl": "https://duopan.fun",
+                "filter": "./json/wogg.json"
+            }
+        },
+        {
+            "key": "至臻",
+            "name": "💯至臻",
+            "type": 3,
+            "api": "csp_kongbai",
+            "searchable": 1,
+            "changeable": 0,
+            "ext": {
+                "commonConfig": "./json/peizhi.json",
+                "siteUrl": "https://mihdr.top",
+                "filter": "./json/wogg.json"
+            }
+        },
+        {
+            "key": "木偶",
+            "name": "🧸木偶",
+            "type": 3,
+            "api": "csp_kongbai",
+            "searchable": 1,
+            "changeable": 0,
+            "ext": {
+                "commonConfig": "./json/peizhi.json",
+                "siteUrl": "http://mogg.xn--yetu07f.top",
+                "filter": "./json/wogg.json"
+            }
+        },
+        {
+            "key": "MIUC",
+            "name": "💌MIUC",
+            "type": 3,
+            "api": "csp_kongbai",
+            "searchable": 1,
+            "changeable": 0,
+            "ext": {
+                "commonConfig": "./json/peizhi.json",
+                "siteUrl": "http://www.mucpan.cc/",
+                "filter": "./json/wogg.json"
+            }
+        },
+        {
+            "key": "盘Ta",
+            "name": "🍥盘Ta",
+            "type": 3,
+            "api": "csp_PanTa",
+            "searchable": 1,
+            "filterable": 0,
+            "switchable": 0,
+            "ext": {
+                "siteUrl": "https://www.91panta.cn/",
+                "commonConfig": "./json/peizhi.json"
+            }
+        },
+        {
+            "key": "星剧社",
+            "name": "⭐️星剧社",
+            "type": 3,
+            "api": "csp_Star",
+            "searchable": 1,
+            "filterable": 0,
+            "switchable": 0,
+            "ext": {
+                "commonConfig": "./json/peizhi.json"
+            }
+        },
+        {
+            "key": "易搜",
+            "name": "🆎易搜",
+            "type": 3,
+            "api": "csp_YiSo",
+            "searchable": 1,
+            "filterable": 0,
+            "switchable": 0,
+            "ext": {
+                "cookie": "satoken=0eedba28-be8a-4f01-81af-2d8d44808ecf",
+                "commonConfig": "./json/peizhi.json"
+            }
+        },
+        {
+            "key": "csp_PanSearch",
+            "name": "📀盘搜索",
+            "type": 3,
+            "api": "csp_PanSearch",
+            "searchable": 1,
+            "changeable": 0,
+            "ext": {
+                "commonConfig": "./json/peizhi.json"
+            }
+        },
+        {
+            "key": "纸条搜",
+            "name": "📜小纸条",
+            "type": 3,
+            "api": "csp_XiaoZhiTiao",
+            "searchable": 1,
+            "changeable": 0,
+            "ext": {
+                "commonConfig": "./json/peizhi.json"
+            }
+        },
+        {
+            "key": "AList",
+            "name": "🅰AList",
+            "type": 3,
+            "api": "csp_AList",
+            "searchable": 1,
+            "changeable": 0,
+            "ext": "./json/alist.json"
+        },
+        {
+            "key": "网盘集合",
+            "name": "🅿网盘集合|4K",
+            "type": 3,
+            "api": "csp_网盘集合",
+            "searchable": 1,
+            "filterable": 0,
+            "switchable": 0,
+            "ext": {
+                "commonConfig": "./json/peizhi.json",
+                "share": "./json/网盘集合.json"
+            }
+        },
+        {
+            "key": "Youtube",
+            "name": "⚡Youtube(墙外)",
+            "type": 3,
+            "api": "csp_Youtube",
+            "searchable": 1,
+            "changeable": 1,
+            "style": {
+                "type": "rect",
+                "ratio": 1.433
+            },
+            "ext": {
+                "json": "./json/youtube.json",
+                "cookie": "./json/youtubecookie.json"
+            }
+        },
+        {
+            "key": "Tg | 豆瓣",
+            "name": "🅿Tg|豆瓣(墙外)",
+            "type": 3,
+            "api": "csp_TgYunDouBanPan",
+            "searchable": 1,
+            "changeable": 0,
+            "ext": {
+                "siteUrl": "http://127.0.0.1:9999",
+                "channelUsername": "hao115,guaguale115,longzbija,dianyingshare,XiangxiuNB,yunpanpan,kuakeyun,zaihuayun,Quark_Movies,alyp_4K_Movies,vip115hot,yunpanshare,ucwangpan,Quark_Share_Channel,Aliyundrive_Share_Channel,shareAliyun,ikiviyyp,wanwansubchat,wangpanziyuan2021,alyp_1,quanziyuanshe",
+                "commonConfig": "./json/peizhi.json",
+                "filter": "./json/douban.json"
+            }
+        },
+        {
+            "key": "TgYunPan|本地",
+            "name": "🅿TgYunPan|本地(墙外)",
+            "type": 3,
+            "api": "csp_TgYunPanLocal",
+            "searchable": 1,
+            "filterable": 0,
+            "switchable": 0,
+            "ext": {
+                "channelUsername": "hao115,guaguale115,dianyingshare,XiangxiuNB,yunpanpan,kuakeyun,zaihuayun,Quark_Movies,alyp_4K_Movies,vip115hot,yunpanshare,ucwangpan,Quark_Share_Channel,Aliyundrive_Share_Channel,shareAliyun,ikiviyyp,wanwansubchat,wangpanziyuan2021,alyp_1,quanziyuanshe",
+                "commonConfig": "./json/peizhi.json"
+            }
+        },
+        {
+            "key": "push_agent",
+            "name": "🍭推送",
+            "type": 3,
+            "api": "csp_Push",
+            "searchable": 0,
+            "quickSearch": 0,
+            "ext": {
+                "commonConfig": "./json/peizhi.json"
+            }
+        },
+        {
+            "key": "虎牙直播",
+            "name": "🐯虎牙直播",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 0,
+            "quickSearch": 0,
+            "filterable": 0,
+            "ext": "./js/虎牙直播.js"
+        },
+        {
+            "key": "斗鱼直播",
+            "name": "🐟斗鱼直播",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 0,
+            "quickSearch": 0,
+            "filterable": 0,
+            "ext": "./js/斗鱼直播.js"
+        },
+        {
+            "key": "有声小说吧",
+            "name": "📚有声小说吧",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "playerType": "2",
+            "searchable": 0,
+            "quickSearch": 0,
+            "filterable": 0,
+            "ext": "./js/有声小说吧.js"
+        },
+        {
+            "key": "JRKAN直播",
+            "name": "🏀JRKAN直播",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 0,
+            "quickSearch": 0,
+            "filterable": 0,
+            "ext": "./js/JRKAN直播.js"
+        },
+        {
+            "key": "88看球",
+            "name": "⚽88看球",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 0,
+            "quickSearch": 0,
+            "filterable": 0,
+            "ext": "./js/88看球.js"
+        },
+        {
+            "key": "酷奇MV",
+            "name": "🎸酷奇MV",
+            "type": 3,
+            "api": "csp_XBPQ",
+            "searchable": 0,
+            "quickSearch": 0,
+            "filterable": 1,
+            "ext": {
+                "主页url": "https://www.kuqimv.com",
+                "直接播放": "1",
+                "短视频": "1",
+                "分类": "华语高清$1#日韩精选$2#欧美MV$3#高清现场$4#影视MV$5#夜店视频$6#车模视频$7#热舞视频$8#美女写真$9#美女打碟$10",
+                "分类url": "https://www.kuqimv.com/play/{cateId}_{catePg}.html;;z",
+                "数组": "<li>&&</li>",
+                "标题": "title=\"&&\"",
+                "副标题": "target=\"play\">&&<",
+                "搜索模式": "1",
+                "搜索url": "https://www.kuqimv.com/search.php?key={wd}"
+            }
+        },
+        {
+            "key": "csp_Bili",
+            "name": "🅱️哔哩哔哩",
+            "type": 3,
+            "api": "csp_Bili",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "ext": "./json/Bili.json"
+        },
+        {
+            "key": "相声小品",
+            "name": "🅱️相声小品",
+            "type": 3,
+            "api": "csp_Bili",
+            "searchable": 0,
+            "quickSearch": 0,
+            "filterable": 1,
+            "ext": "./json/Blixs.json"
+        },
+        {
+            "key": "戏曲",
+            "name": "🅱️戏曲",
+            "type": 3,
+            "api": "csp_Bili",
+            "searchable": 0,
+            "quickSearch": 0,
+            "filterable": 1,
+            "ext": "./json/Blixq.json"
+        },
+        {
+            "key": "少儿",
+            "name": "🅱️少儿",
+            "type": 3,
+            "api": "csp_Bili",
+            "searchable": 0,
+            "quickSearch": 0,
+            "filterable": 1,
+            "ext": "./json/少儿教育.json"
+        },
+        {
+            "key": "小学",
+            "name": "🅱️小学",
+            "type": 3,
+            "api": "csp_Bili",
+            "searchable": 0,
+            "quickSearch": 0,
+            "filterable": 1,
+            "ext": "./json/小学课堂.json"
+        },
+        {
+            "key": "初中",
+            "name": "🅱️初中",
+            "type": 3,
+            "api": "csp_Bili",
+            "searchable": 0,
+            "quickSearch": 0,
+            "filterable": 1,
+            "ext": "./json/初中课堂.json"
+        },
+        {
+            "key": "高中",
+            "name": "🅱️高中",
+            "type": 3,
+            "api": "csp_Bili",
+            "searchable": 0,
+            "quickSearch": 0,
+            "filterable": 1,
+            "ext": "./json/高中课堂.json"
+        }
+    ],
+    "parses": [
+        {
+            "name": "Web聚合",
+            "type": 3,
+            "url": "Web"
+        },
+        {
+            "name": "Json聚合",
+            "type": 3,
+            "url": "Demo"
+        },
+        {
+            "name": "云",
+            "type": 0,
+            "url": "https://yparse.ik9.cc/index.php?url=",
+            "ext": {
+                "flag": [
+                    "qq",
+                    "腾讯",
+                    "qiyi",
+                    "爱奇艺",
+                    "奇艺",
+                    "youku",
+                    "优酷",
+                    "mgtv",
+                    "芒果",
+                    "letv",
+                    "乐视",
+                    "pptv",
+                    "PPTV",
+                    "sohu",
+                    "bilibili",
+                    "哔哩哔哩",
+                    "哔哩"
+                ],
+                "header": {
+                    "User-Agent": "okhttp/4.1.0"
+                }
+            }
+        },
+        {
+            "name": "云2",
+            "type": 0,
+            "url": "https://jx.yparse.com/index.php?url=",
+            "ext": {
+                "flag": [
+                    "qq",
+                    "腾讯",
+                    "qiyi",
+                    "爱奇艺",
+                    "奇艺",
+                    "youku",
+                    "优酷",
+                    "mgtv",
+                    "芒果",
+                    "letv",
+                    "乐视",
+                    "pptv",
+                    "PPTV",
+                    "sohu",
+                    "bilibili",
+                    "哔哩哔哩",
+                    "哔哩"
+                ],
+                "header": {
+                    "User-Agent": "okhttp/4.1.0"
+                }
+            }
+        },
+        {
+            "name": "m3u8TV",
+            "type": 0,
+            "url": "https://jx.m3u8.tv/jiexi/?url=",
+            "ext": {
+                "flag": [
+                    "qq",
+                    "腾讯",
+                    "qiyi",
+                    "爱奇艺",
+                    "奇艺",
+                    "youku",
+                    "优酷",
+                    "mgtv",
+                    "芒果",
+                    "letv",
+                    "乐视",
+                    "pptv",
+                    "PPTV",
+                    "sohu",
+                    "bilibili",
+                    "哔哩哔哩",
+                    "哔哩"
+                ],
+                "header": {
+                    "User-Agent": "okhttp/4.1.0"
+                }
+            }
+        },
+        {
+            "name": "虾米",
+            "type": 0,
+            "url": "https://jx.xyflv.cc/?url=",
+            "ext": {
+                "flag": [
+                    "qq",
+                    "腾讯",
+                    "qiyi",
+                    "爱奇艺",
+                    "奇艺",
+                    "youku",
+                    "优酷",
+                    "mgtv",
+                    "芒果",
+                    "letv",
+                    "乐视",
+                    "pptv",
+                    "PPTV",
+                    "sohu",
+                    "bilibili",
+                    "哔哩哔哩",
+                    "哔哩"
+                ]
+            }
+        },
+        {
+            "name": "虾米2",
+            "type": 0,
+            "url": "https://jx.xmflv.com/?url=",
+            "ext": {
+                "flag": [
+                    "qq",
+                    "腾讯",
+                    "qiyi",
+                    "爱奇艺",
+                    "奇艺",
+                    "youku",
+                    "优酷",
+                    "mgtv",
+                    "芒果",
+                    "letv",
+                    "乐视",
+                    "pptv",
+                    "PPTV",
+                    "sohu",
+                    "bilibili",
+                    "哔哩哔哩",
+                    "哔哩"
+                ]
+            }
+        }
+    ],
+    "lives": [
+        {
+            "name": "Yoursmile",
+            "type": 0,
+            "url": "./lives/Yoursmile.txt",
+            "epg": "http://epg.51zmt.top:8000/api/diyp/?ch={name}&date={date}"
+        },
+        {
+            "name": "feiyang.allinone",
+            "type": 0,
+            "url": "./lives/feiyang.allinone.txt",
+            "epg": "http://epg.51zmt.top:8000/api/diyp/?ch={name}&date={date}"
+        },
+        {
+            "name": "feiyang.tptv",
+            "type": 0,
+            "url": "./lives/feiyang.tptv.txt",
+            "epg": "http://epg.51zmt.top:8000/api/diyp/?ch={name}&date={date}"
+        },
+        {
+            "name": "feiyang.migu",
+            "type": 0,
+            "url": "./lives/feiyang.migu.txt",
+            "epg": "http://epg.51zmt.top:8000/api/diyp/?ch={name}&date={date}"
+        },
+        {
+            "name": "feiyang.miguevent",
+            "type": 0,
+            "url": "./lives/feiyang.miguevent.txt",
+            "epg": "http://epg.51zmt.top:8000/api/diyp/?ch={name}&date={date}"
+        },
+        {
+            "name": "feiyang.bililive",
+            "type": 0,
+            "url": "./lives/feiyang.bililive.txt",
+            "epg": "http://epg.51zmt.top:8000/api/diyp/?ch={name}&date={date}"
+        },
+        {
+            "name": "feiyang.huyayqk",
+            "type": 0,
+            "url": "./lives/feiyang.huyayqk.txt",
+            "epg": "http://epg.51zmt.top:8000/api/diyp/?ch={name}&date={date}"
+        },
+        {
+            "name": "feiyang.douyuyqk",
+            "type": 0,
+            "url": "./lives/feiyang.douyuyqk.txt",
+            "epg": "http://epg.51zmt.top:8000/api/diyp/?ch={name}&date={date}"
+        },
+        {
+            "name": "feiyang.yylunbo",
+            "type": 0,
+            "url": "./lives/feiyang.yylunbo.txt",
+            "epg": "http://epg.51zmt.top:8000/api/diyp/?ch={name}&date={date}"
+        }
+    ],
+    "logo": "https://github.moeyy.xyz/https://raw.githubusercontent.com/yoursmile66/TVBox/main/sub/NanFeng.gif",
+    "rules": [
+        {
+            "name": "proxy",
+            "hosts": [
+                "raw.githubusercontent.com",
+                "googlevideo.com",
+                "cdn.v82u1l.com",
+                "cdn.iz8qkg.com",
+                "cdn.kin6c1.com",
+                "c.biggggg.com",
+                "c.olddddd.com",
+                "haiwaikan.com",
+                "www.histar.tv",
+                "youtube.com",
+                "uhibo.com",
+                ".*boku.*",
+                ".*nivod.*",
+                ".*ulivetv.*"
+            ]
+        },
+        {
+            "name": "海外看",
+            "hosts": [
+                "haiwaikan"
+            ],
+            "regex": [
+                "10.0099",
+                "10.3333",
+                "16.0599",
+                "8.1748",
+                "12.33",
+                "10.85"
+            ]
+        },
+        {
+            "name": "cl",
+            "hosts": [
+                "magnet"
+            ],
+            "regex": [
+                "最 新",
+                "直 播",
+                "更 新"
+            ]
+        },
+        {
+            "name": "火山嗅探",
+            "hosts": [
+                "huoshan.com"
+            ],
+            "regex": [
+                "item_id="
+            ]
+        },
+        {
+            "name": "抖音嗅探",
+            "hosts": [
+                "douyin.com"
+            ],
+            "regex": [
+                "is_play_url="
+            ]
+        },
+        {
+            "name": "农民嗅探",
+            "hosts": [
+                "toutiaovod.com"
+            ],
+            "regex": [
+                "video/tos/cn"
+            ]
+        },
+        {
+            "name": "新视觉嗅探",
+            "hosts": [
+                "muzhi-video.bj.bcebos.com"
+            ],
+            "regex": [
+                "202403/"
+            ]
+        },
+        {
+            "name": "七新嗅探",
+            "hosts": [
+                "api.52wyb.com"
+            ],
+            "regex": [
+                "m3u8?pt=m3u8"
+            ]
+        },
+        {
+            "name": "夜市",
+            "hosts": [
+                "yeslivetv.com"
+            ],
+            "script": [
+                "document.getElementsByClassName('vjs-big-play-button')[0].click()"
+            ]
+        },
+        {
+            "name": "毛驴",
+            "hosts": [
+                "www.maolvys.com"
+            ],
+            "script": [
+                "document.getElementsByClassName('swal-button swal-button--confirm')[0].click()"
+            ]
+        },
+        {
+            "name": "czzy",
+            "hosts": [
+                "10086.cn"
+            ],
+            "regex": [
+                "/storageWeb/servlet/downloadServlet"
+            ]
+        }
+    ],
+    "doh": [
+        {
+            "name": "Google",
+            "url": "https://dns.google/dns-query",
+            "ips": [
+                "8.8.4.4",
+                "8.8.8.8"
+            ]
+        },
+        {
+            "name": "Cloudflare",
+            "url": "https://cloudflare-dns.com/dns-query",
+            "ips": [
+                "1.1.1.1",
+                "1.0.0.1",
+                "2606:4700:4700::1111",
+                "2606:4700:4700::1001"
+            ]
+        },
+        {
+            "name": "AdGuard",
+            "url": "https://dns.adguard.com/dns-query",
+            "ips": [
+                "94.140.14.140",
+                "94.140.14.141"
+            ]
+        },
+        {
+            "name": "DNSWatch",
+            "url": "https://resolver2.dns.watch/dns-query",
+            "ips": [
+                "84.200.69.80",
+                "84.200.70.40"
+            ]
+        },
+        {
+            "name": "Quad9",
+            "url": "https://dns.quad9.net/dns-quer",
+            "ips": [
+                "9.9.9.9",
+                "149.112.112.112"
+            ]
+        }
+    ],
+    "flags": [
+        "youku",
+        "qq",
+        "QQ",
+        "iqiyi",
+        "qiyi",
+        "letv",
+        "sohu",
+        "tudou",
+        "pptv",
+        "PPTV",
+        "mgtv",
+        "ltnb",
+        "rx",
+        "SLYS4k",
+        "BYGA",
+        "BYGB",
+        "luanzi",
+        "dxzy",
+        "QEYSS",
+        "aliyun",
+        "AliS",
+        "122",
+        "chuangying",
+        "CL4K",
+        "xfyun",
+        "wuduzy",
+        "wasu",
+        "bilibili",
+        "renrenmi",
+        "xmm",
+        "xigua",
+        "m1905",
+        "funshion",
+        "优酷",
+        "芒果",
+        "腾讯",
+        "爱奇艺",
+        "奇艺",
+        "哔哩哔哩",
+        "哔哩",
+        "西瓜视频",
+        "腾讯视频",
+        "奇艺视频",
+        "优酷视频",
+        "芒果视频",
+        "乐视视频",
+        "FY",
+        "fy",
+        "FeiYun",
+        "feiyun",
+        "飞云"
+    ],
+    "ijk": [
+        {
+            "group": "软解码",
+            "options": [
+                {
+                    "category": 4,
+                    "name": "opensles",
+                    "value": "0"
+                },
+                {
+                    "category": 4,
+                    "name": "overlay-format",
+                    "value": "842225234"
+                },
+                {
+                    "category": 4,
+                    "name": "framedrop",
+                    "value": "1"
+                },
+                {
+                    "category": 4,
+                    "name": "soundtouch",
+                    "value": "1"
+                },
+                {
+                    "category": 4,
+                    "name": "start-on-prepared",
+                    "value": "1"
+                },
+                {
+                    "category": 1,
+                    "name": "http-detect-rangeupport",
+                    "value": "0"
+                },
+                {
+                    "category": 1,
+                    "name": "fflags",
+                    "value": "fastseek"
+                },
+                {
+                    "category": 2,
+                    "name": "skip_loop_filter",
+                    "value": "48"
+                },
+                {
+                    "category": 4,
+                    "name": "reconnect",
+                    "value": "1"
+                },
+                {
+                    "category": 4,
+                    "name": "enable-accurateeek",
+                    "value": "0"
+                },
+                {
+                    "category": 4,
+                    "name": "mediacodec",
+                    "value": "0"
+                },
+                {
+                    "category": 4,
+                    "name": "mediacodec-auto-rotate",
+                    "value": "0"
+                },
+                {
+                    "category": 4,
+                    "name": "mediacodec-handle-resolution-change",
+                    "value": "0"
+                },
+                {
+                    "category": 4,
+                    "name": "mediacodec-hevc",
+                    "value": "0"
+                },
+                {
+                    "category": 1,
+                    "name": "dns_cache_timeout",
+                    "value": "600000000"
+                }
+            ]
+        },
+        {
+            "group": "硬解码",
+            "options": [
+                {
+                    "category": 4,
+                    "name": "opensles",
+                    "value": "0"
+                },
+                {
+                    "category": 4,
+                    "name": "overlay-format",
+                    "value": "842225234"
+                },
+                {
+                    "category": 4,
+                    "name": "framedrop",
+                    "value": "1"
+                },
+                {
+                    "category": 4,
+                    "name": "soundtouch",
+                    "value": "1"
+                },
+                {
+                    "category": 4,
+                    "name": "start-on-prepared",
+                    "value": "1"
+                },
+                {
+                    "category": 1,
+                    "name": "http-detect-rangeupport",
+                    "value": "0"
+                },
+                {
+                    "category": 1,
+                    "name": "fflags",
+                    "value": "fastseek"
+                },
+                {
+                    "category": 2,
+                    "name": "skip_loop_filter",
+                    "value": "48"
+                },
+                {
+                    "category": 4,
+                    "name": "reconnect",
+                    "value": "1"
+                },
+                {
+                    "category": 4,
+                    "name": "enable-accurateeek",
+                    "value": "0"
+                },
+                {
+                    "category": 4,
+                    "name": "mediacodec",
+                    "value": "1"
+                },
+                {
+                    "category": 4,
+                    "name": "mediacodec-auto-rotate",
+                    "value": "1"
+                },
+                {
+                    "category": 4,
+                    "name": "mediacodec-handle-resolution-change",
+                    "value": "1"
+                },
+                {
+                    "category": 4,
+                    "name": "mediacodec-hevc",
+                    "value": "1"
+                },
+                {
+                    "category": 1,
+                    "name": "dns_cache_timeout",
+                    "value": "600000000"
+                }
+            ]
+        }
+    ],
+    "ads": [
+        "mozai.4gtv.tv",
+        "pv.vipwm.cc"
+    ]
+}

File diff suppressed because it is too large
+ 22 - 0
Local_qiqi/南风/api/491cbabc17362406a4ddc6f64ac6ad3f.js


+ 304 - 0
Local_qiqi/南风/api/6c0debf8abd68630086d31eb3f1dd285.js

@@ -0,0 +1,304 @@
+if (typeof Object.assign != 'function') {
+    Object.assign = function () {
+	var target = arguments[0];
+    for (var i = 1; i < arguments.length; i++) {
+        var source = arguments[i];
+        for (var key in source) {
+            if (Object.prototype.hasOwnProperty.call(source, key)) {
+                target[key] = source[key];
+            }
+        }
+    }
+    return target;
+};
+}
+function getMubans() {
+    var mubanDict = { // 模板字典
+        mxpro: {
+            title: '',
+            host: '',
+            // homeUrl:'/',
+            url: '/vodshow/fyclass--------fypage---.html',
+            searchUrl: '/vodsearch/**----------fypage---.html',
+            searchable: 2,//是否启用全局搜索,
+            quickSearch: 0,//是否启用快速搜索,
+            filterable: 0,//是否启用分类筛选,
+            headers: {//网站的请求头,完整支持所有的,常带ua和cookies
+                'User-Agent': 'MOBILE_UA',
+                // "Cookie": "searchneed=ok"
+            },
+            class_parse: '.navbar-items li:gt(2):lt(8);a&&Text;a&&href;/(\\d+).html',
+            play_parse: true,
+            lazy: '',
+            limit: 6,
+            推荐: '.tab-list.active;a.module-poster-item.module-item;.module-poster-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href',
+            double: true, // 推荐内容是否双层定位
+            一级: 'body a.module-poster-item.module-item;a&&title;.lazyload&&data-original;.module-item-note&&Text;a&&href',
+            二级: {
+                "title": "h1&&Text;.module-info-tag&&Text",
+                "img": ".lazyload&&data-original",
+                "desc": ".module-info-item:eq(1)&&Text;.module-info-item:eq(2)&&Text;.module-info-item:eq(3)&&Text",
+                "content": ".module-info-introduction&&Text",
+                "tabs": ".module-tab-item",
+                "lists": ".module-play-list:eq(#id) a"
+            },
+            搜索: 'body .module-item;.module-card-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href;.module-info-item-content&&Text',
+        },
+        mxone5: {
+            title: '',
+            host: '',
+            url: '/show/fyclass--------fypage---.html',
+            searchUrl: '/search/**----------fypage---.html',
+            searchable: 2,//是否启用全局搜索,
+            quickSearch: 0,//是否启用快速搜索,
+            filterable: 0,//是否启用分类筛选,
+            class_parse: '.nav-menu-items&&li;a&&Text;a&&href;.*/(.*?).html',
+            play_parse: true,
+            lazy: '',
+            limit: 6,
+            推荐: '.module-list;.module-items&&.module-item;a&&title;img&&data-src;.module-item-text&&Text;a&&href',
+            double: true, // 推荐内容是否双层定位
+            一级: '.module-items .module-item;a&&title;img&&data-src;.module-item-text&&Text;a&&href',
+            二级: {
+                "title": "h1&&Text;.tag-link&&Text",
+                "img": ".module-item-pic&&img&&data-src",
+                "desc": ".video-info-items:eq(0)&&Text;.video-info-items:eq(1)&&Text;.video-info-items:eq(2)&&Text;.video-info-items:eq(3)&&Text",
+                "content": ".vod_content&&Text",
+                "tabs": ".module-tab-item",
+                "lists": ".module-player-list:eq(#id)&&.scroll-content&&a"
+            },
+            搜索: '.module-items .module-search-item;a&&title;img&&data-src;.video-serial&&Text;a&&href',
+        },
+        首图: {
+            title: '',
+            host: '',
+            url: '/vodshow/fyclass--------fypage---/',
+            searchUrl: '/vodsearch/**----------fypage---.html',
+            searchable: 2,//是否启用全局搜索,
+            quickSearch: 0,//是否启用快速搜索,
+            filterable: 0,//是否启用分类筛选,
+            headers: {//网站的请求头,完整支持所有的,常带ua和cookies
+                'User-Agent': 'MOBILE_UA',
+                // "Cookie": "searchneed=ok"
+            },
+            class_parse: '.myui-header__menu li.hidden-sm:gt(0):lt(5);a&&Text;a&&href;/(\\d+).html',
+            play_parse: true,
+            lazy: '',
+            limit: 6,
+            推荐: 'ul.myui-vodlist.clearfix;li;a&&title;a&&data-original;.pic-text&&Text;a&&href',
+            double: true, // 推荐内容是否双层定位
+            一级: '.myui-vodlist li;a&&title;a&&data-original;.pic-text&&Text;a&&href',
+            二级: {
+                "title": ".myui-content__detail .title&&Text;.myui-content__detail p:eq(-2)&&Text",
+                "img": ".myui-content__thumb .lazyload&&data-original",
+                "desc": ".myui-content__detail p:eq(0)&&Text;.myui-content__detail p:eq(1)&&Text;.myui-content__detail p:eq(2)&&Text",
+                "content": ".content&&Text",
+                "tabs": ".nav-tabs:eq(0) li",
+                "lists": ".myui-content__list:eq(#id) li"
+            },
+            搜索: '#searchList li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text',
+        },
+        首图2: {
+            title: '',
+            host: '',
+            url: '/list/fyclass-fypage.html',
+            searchUrl: '/vodsearch/**----------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: '.stui-header__menu li:gt(0):lt(7);a&&Text;a&&href;.*/(.*?).html',
+            play_parse: true,
+            lazy: '',
+            limit: 6,
+            推荐: 'ul.stui-vodlist.clearfix;li;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href',
+            double: true, // 推荐内容是否双层定位
+            一级: '.stui-vodlist li;a&&title;a&&data-original;.pic-text&&Text;a&&href',
+            二级: {
+                "title": ".stui-content__detail .title&&Text;.stui-content__detail p:eq(-2)&&Text",
+                "img": ".stui-content__thumb .lazyload&&data-original",
+                "desc": ".stui-content__detail p:eq(0)&&Text;.stui-content__detail p:eq(1)&&Text;.stui-content__detail p:eq(2)&&Text",
+                "content": ".detail&&Text",
+                "tabs": ".stui-vodlist__head h3",
+                "lists": ".stui-content__playlist:eq(#id) li"
+            },
+            搜索: 'ul.stui-vodlist__media:eq(0) li,ul.stui-vodlist:eq(0) li,#searchList li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text',
+            搜索1: 'ul.stui-vodlist&&li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text',
+            搜索2: 'ul.stui-vodlist__media&&li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text',
+        },
+        默认: {
+            title: '',
+            host: '',
+            url: '/vodshow/fyclass--------fypage---.html',
+            searchUrl: '/vodsearch/-------------.html?wd=**',
+            searchable: 2,//是否启用全局搜索,
+            quickSearch: 0,//是否启用快速搜索,
+            filterable: 0,//是否启用分类筛选,
+            headers: {
+                'User-Agent': 'MOBILE_UA',
+            },
+            play_parse: true,
+            lazy: '',
+            limit: 6,
+            double: true, // 推荐内容是否双层定位
+        },
+        vfed: {
+            title: '',
+            host: '',
+            url: '/index.php/vod/show/id/fyclass/page/fypage.html',
+            searchUrl: '/index.php/vod/search/page/fypage/wd/**.html',
+            searchable: 2,//是否启用全局搜索,
+            quickSearch: 0,//是否启用快速搜索,
+            filterable: 0,//是否启用分类筛选,
+            headers: {
+                'User-Agent': 'UC_UA',
+            },
+            // class_parse:'.fed-pops-navbar&&ul.fed-part-rows&&a.fed-part-eone:gt(0):lt(5);a&&Text;a&&href;.*/(.*?).html',
+            class_parse: '.fed-pops-navbar&&ul.fed-part-rows&&a;a&&Text;a&&href;.*/(.*?).html',
+            play_parse: true,
+            lazy: '',
+            limit: 6,
+            推荐: 'ul.fed-list-info.fed-part-rows;li;a.fed-list-title&&Text;a&&data-original;.fed-list-remarks&&Text;a&&href',
+            double: true, // 推荐内容是否双层定位
+            一级: '.fed-list-info&&li;a.fed-list-title&&Text;a&&data-original;.fed-list-remarks&&Text;a&&href',
+            二级: {
+                "title": "h1.fed-part-eone&&Text;.fed-deta-content&&.fed-part-rows&&li&&Text",
+                "img": ".fed-list-info&&a&&data-original",
+                "desc": ".fed-deta-content&&.fed-part-rows&&li:eq(1)&&Text;.fed-deta-content&&.fed-part-rows&&li:eq(2)&&Text;.fed-deta-content&&.fed-part-rows&&li:eq(3)&&Text",
+                "content": ".fed-part-esan&&Text",
+                "tabs": ".fed-drop-boxs&&.fed-part-rows&&li",
+                "lists": ".fed-play-item:eq(#id)&&ul:eq(1)&&li"
+            },
+            搜索: '.fed-deta-info;h1&&Text;.lazyload&&data-original;.fed-list-remarks&&Text;a&&href;.fed-deta-content&&Text',
+        },
+        海螺3: {
+            title: '',
+            host: '',
+            searchUrl: '/v_search/**----------fypage---.html',
+            url: '/vod_____show/fyclass--------fypage---.html',
+            headers: {
+                'User-Agent': 'MOBILE_UA'
+            },
+            timeout: 5000,
+            class_parse: 'body&&.hl-nav li:gt(0);a&&Text;a&&href;.*/(.*?).html',
+            cate_exclude: '明星|专题|最新|排行',
+            limit: 40,
+            play_parse: true,
+            lazy: '',
+            推荐: '.hl-vod-list;li;a&&title;a&&data-original;.remarks&&Text;a&&href',
+            double: true,
+            一级: '.hl-vod-list&&.hl-list-item;a&&title;a&&data-original;.remarks&&Text;a&&href',
+            二级: {
+                "title": ".hl-infos-title&&Text;.hl-text-conch&&Text",
+                "img": ".hl-lazy&&data-original",
+                "desc": ".hl-infos-content&&.hl-text-conch&&Text",
+                "content": ".hl-content-text&&Text",
+                "tabs": ".hl-tabs&&a",
+                "lists": ".hl-plays-list:eq(#id)&&li"
+            },
+            搜索: '.hl-list-item;a&&title;a&&data-original;.remarks&&Text;a&&href',
+            searchable: 2,//是否启用全局搜索,
+            quickSearch: 0,//是否启用快速搜索,
+            filterable: 0,//是否启用分类筛选,
+        },
+        海螺2: {
+            title: '',
+            host: '',
+            searchUrl: '/index.php/vod/search/page/fypage/wd/**/',
+            url: '/index.php/vod/show/id/fyclass/page/fypage/',
+            headers: {
+                'User-Agent': 'MOBILE_UA'
+            },
+            timeout: 5000,
+            class_parse: '#nav-bar li;a&&Text;a&&href;id/(.*?)/',
+            limit: 40,
+            play_parse: true,
+            lazy: '',
+            推荐: '.list-a.size;li;a&&title;.lazy&&data-original;.bt&&Text;a&&href',
+            double: true,
+            一级: '.list-a&&li;a&&title;.lazy&&data-original;.list-remarks&&Text;a&&href',
+            二级: {
+                "title": "h2&&Text;.deployment&&Text",
+                "img": ".lazy&&data-original",
+                "desc": ".deployment&&Text",
+                "content": ".ec-show&&Text",
+                "tabs": "#tag&&a",
+                "lists": ".play_list_box:eq(#id)&&li"
+            },
+            搜索: '.search-list;a&&title;.lazy&&data-original;.deployment&&Text;a&&href',
+            searchable: 2,//是否启用全局搜索,
+            quickSearch: 0,//是否启用快速搜索,
+            filterable: 0,//是否启用分类筛选,
+        },
+        短视: {
+            title: '',
+            host: '',
+            // homeUrl:'/',
+            url: '/channel/fyclass-fypage.html',
+            searchUrl: '/search.html?wd=**',
+            searchable: 2,//是否启用全局搜索,
+            quickSearch: 0,//是否启用快速搜索,
+            filterable: 0,//是否启用分类筛选,
+            headers: {//网站的请求头,完整支持所有的,常带ua和cookies
+                'User-Agent': 'MOBILE_UA',
+                // "Cookie": "searchneed=ok"
+            },
+            class_parse: '.menu_bottom ul li;a&&Text;a&&href;.*/(.*?).html',
+            cate_exclude: '解析|动态',
+            play_parse: true,
+            lazy: '',
+            limit: 6,
+            推荐: '.indexShowBox;ul&&li;a&&title;img&&data-src;.s1&&Text;a&&href',
+            double: true, // 推荐内容是否双层定位
+            一级: '.pic-list&&li;a&&title;img&&data-src;.s1&&Text;a&&href',
+            二级: {
+                "title": "h1&&Text;.content-rt&&p:eq(0)&&Text",
+                "img": ".img&&img&&data-src",
+                "desc": ".content-rt&&p:eq(1)&&Text;.content-rt&&p:eq(2)&&Text;.content-rt&&p:eq(3)&&Text;.content-rt&&p:eq(4)&&Text;.content-rt&&p:eq(5)&&Text",
+                "content": ".zkjj_a&&Text",
+                "tabs": ".py-tabs&&option",
+                "lists": ".player:eq(#id) li"
+            },
+            搜索: '.sr_lists&&ul&&li;h3&&Text;img&&data-src;.int&&p:eq(0)&&Text;a&&href',
+        },
+        短视2:{
+            title: '',
+            host: '',
+            class_name:'电影&电视剧&综艺&动漫',
+            class_url:'1&2&3&4',
+            searchUrl: '/index.php/ajax/suggest?mid=1&wd=**&limit=50',
+            searchable: 2,
+            quickSearch: 0,
+            headers:{'User-Agent':'MOBILE_UA'},
+            url: '/index.php/api/vod#type=fyclass&page=fypage',
+            filterable:0,//是否启用分类筛选,
+            filter_url:'',
+            filter: {},
+            filter_def:{},
+            detailUrl:'/index.php/vod/detail/id/fyid.html',
+            play_parse: true,
+            lazy: '',
+            limit: 6,
+            推荐:'.list-vod.flex .public-list-box;a&&title;.lazy&&data-original;.public-list-prb&&Text;a&&href',
+            一级:'js:let body=input.split("#")[1];let t=Math.round(new Date/1e3).toString();let key=md5("DS"+t+"DCC147D11943AF75");let url=input.split("#")[0];body=body+"&time="+t+"&key="+key;print(body);fetch_params.body=body;let html=post(url,fetch_params);let data=JSON.parse(html);VODS=data.list.map(function(it){it.vod_pic=urljoin2(input.split("/i")[0],it.vod_pic);return it});',
+            二级:{
+                "title":".slide-info-title&&Text;.slide-info:eq(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',
+        }
+    };
+    return JSON.parse(JSON.stringify(mubanDict));
+}
+var mubanDict = getMubans();
+var muban = getMubans();
+export default {muban,getMubans};

File diff suppressed because it is too large
+ 0 - 0
Local_qiqi/南风/api/9af1556538d03232337fae7e59741289.js


+ 6191 - 0
Local_qiqi/南风/api/ab53c890d5a64daafcf2b7631d21c1b9.js

@@ -0,0 +1,6191 @@
+;(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 [email protected]
+	 */
+	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;
+
+}));

File diff suppressed because it is too large
+ 0 - 0
Local_qiqi/南风/api/drpy2.min.js


File diff suppressed because it is too large
+ 30 - 0
Local_qiqi/南风/api/e9af2d0f3bf60d8b67b45615a9c474a3.js


+ 61 - 0
Local_qiqi/南风/js/88看球.js

@@ -0,0 +1,61 @@
+var rule = {
+    title:'88看球',
+    // host:'http://www.88kanqiu.cc',
+    host:'http://www.88kanqiu.bar/',
+    url: "/match/fyclass/live",
+    searchUrl: "",
+    searchable: 0,
+    quickSearch: 0,
+    class_parse: ".nav-pills li;a&&Text;a&&href;/match/(\\d+)/live",
+    headers: {
+        "User-Agent": "PC_UA",
+    },
+    timeout: 5000,
+    play_parse: true,
+    pagecount:{"1":1,"2":1,"4":1,"22":1,"8":1,"9":1,"10":1,"14":1,"15":1,"12":1,"13":1,"16":1,"28":1,"7":1,"11":1,"33":1,"27":1,"23":1,"26":1,"3":1,"21":1,"18":1},
+    lazy: `js:
+        if(/embed=/.test(input)) {
+            let url = input.match(/embed=(.*?)&/)[1];
+            url = base64Decode(url);
+            input = {
+                jx:0,
+                url: url.split('#')[0],
+                parse: 0
+            }
+        } else if (/\?url=/.test(input)){
+            input = {
+                jx:0,
+                url: input.split('?url=')[1].split('#')[0],
+                parse: 0
+            }
+        } else {
+            input
+        }
+    `,
+    limit: 6,
+    double: false,
+    推荐: "*",
+    一级: ".list-group .group-game-item;.d-none&&Text;img&&src;.btn&&Text;a&&href",
+    二级: {
+        title: ".game-info-container&&Text;.customer-navbar-nav li&&Text",
+        img: "img&&src",
+        desc: ";;;div.team-name:eq(0)&&Text;div.team-name:eq(1)&&Text",
+        content: "div.game-time&&Text",
+        tabs: "js:TABS=['实时直播']",
+        lists: `js:
+            LISTS = [];
+            let html = request(input.replace('play', 'play-url'));
+            let pdata = JSON.parse(html).data;
+            pdata = pdata.slice(6);
+            pdata = pdata.slice(0, -2);
+            pdata = base64Decode(pdata);
+            // log(pdata);
+            let jo = JSON.parse(pdata).links;
+            let d = jo.map(function (it) {
+                return it.name + '$' + urlencode(it.url)
+            });
+            LISTS.push(d)
+        `,
+    },
+    搜索: "",
+};

+ 39 - 0
Local_qiqi/南风/js/JRKAN直播.js

@@ -0,0 +1,39 @@
+// 道长 drpy仓库 https://gitcode.net/qq_32394351/dr_py
+// 道长 drpy安卓本地搭建说明 https://gitcode.net/qq_32394351/dr_py/-/blob/master/%E5%AE%89%E5%8D%93%E6%9C%AC%E5%9C%B0%E6%90%AD%E5%BB%BA%E8%AF%B4%E6%98%8E.md
+// 道长 drpy写源 模板规则说明 https://gitcode.net/supertlo/dr_py#%E6%A8%A1%E6%9D%BF%E8%A7%84%E5%88%99%E8%AF%B4%E6%98%8E
+// 道长 drpy写源 套模模版 https://gitcode.net/qq_32394351/dr_py/-/raw/master/js/%E6%A8%A1%E6%9D%BF.js
+// 道长 drpy写源 影片教程 http://101.34.67.237:5244/%E6%95%99%E8%82%B2/drpy
+// 道长 drpy写源 影片教程(m3u8切片) https://freedrpy.run.goorm.io/txt/jc/playlist.m3u8
+// 海阔下载 https://haikuo.lanzoui.com/u/GoldRiver
+// Pluto Player官方TG https://t.me/PlutoPlayer
+// Pluto Player官方TG https://t.me/PlutoPlayerChannel
+
+
+var rule = {
+    title:'JRKAN直播',
+    host:'http://m.jrkan2023.com/',
+	// JRKAN备用域名:m.jrskan8.com / m.jrkan666.com / jryyds.com / jrsbxj.com
+	// JRKAN网址发布:qiumi1314.com
+    url:'/fyclass',
+    searchUrl:'',
+    searchable:0,
+    quickSearch:0,
+    class_name:'全部',
+    class_url:'/',
+    //class_url:'?live',
+    headers:{
+        'User-Agent':'MOBILE_UA'
+    },
+    timeout:5000,
+    play_parse:true,
+    lazy:'',
+    limit:6,
+    double:false,
+    推荐:'*',
+    // 一级播放线路x3 可自行切换
+    //一级:'.loc_match .d-touch;li&&Text;img&&src;.lab_time&&Text;a:eq(0)&&href',//play.sportsteam365.com
+    一级:'.loc_match:eq(2) ul;li:gt(1):lt(4)&&Text;img&&src;li:lt(2)&&Text;a:eq(1)&&href',//play.sportsteam333.com
+    //一级:'.loc_match .d-touch;li&&Text;img&&src;.lab_time&&Text;a:eq(2)&&href',//play.sportsteam666.com
+    二级:{title:'.sub_list li:lt(2)&&Text;.sub_list li:eq(0)&&Text',img:'img&&src',desc:';;;.lab_team_home&&Text;.lab_team_away&&Text',content:'.sub_list ul&&Text',tabs:'',tab_text:'',lists:'.sub_channel a',list_text:'a&&Text',list_url:'a&&data-play'},
+    搜索:'',
+}

File diff suppressed because it is too large
+ 0 - 0
Local_qiqi/南风/js/斗鱼直播.js


+ 38 - 0
Local_qiqi/南风/js/有声小说吧.js

@@ -0,0 +1,38 @@
+
+var rule = {
+    title:'有声小说吧',
+    编码:'gb18030',
+    host:'http://m.ysxs8.vip',
+    url:'/downlist/fyclass_fypage.html',
+    searchUrl:'/search.asp?page=fypage&searchword=**&searchtype=-1',
+    searchable:2,
+    quickSearch:0,
+    headers:{
+        'User-Agent':'MOBILE_UA'
+    },
+    timeout:5000,
+    // homeUrl:'/fenlei/',
+    // class_parse: '.pd-class:eq(0) dd;a&&Text;a&&href;.*/(.*?).html',
+    class_name:'网络玄幻&恐怖悬疑&传统武侠&都市言情&官场刑侦&历史军事&探险盗墓&职场商战&明朝那些事儿&评书下载&相声戏曲&人物传记&广播剧&百家讲坛&外语读物&有声文学&儿童读物&管理营销',
+    class_url:'r52&r17&r12&r13&r14&r15&r45&r81&r36&r3&r7&r16&r18&r32&r35&r41&r4&r6',
+    play_parse:true,
+    lazy:'',
+    limit:6,
+    // double:true,
+    推荐:'.list-ul .list-li;.list-name&&Text;*;.module-slide-author&&Text;*',
+    一级:'.book-ol&&li;h4&&Text;img&&data-original;.book-meta&&Text;a&&href',
+    二级:{
+    	// title:'h2&&Text;.book-cell .book-rand-a:eq(2)&&Text',
+        title:'h1&&Text;.book-cell .book-rand-a:eq(0)&&a&&Text',
+    	img:'.book img&&src',
+    	// desc:';;;;.book-des p&&Text',
+        desc:';;;.book-rand-a:eq(2)&&Text;.book-des p&&Text',
+    	content:'.book-des--p&&Text',
+	    tabs:'.playlist-top&&h2',
+    	// lists:'js:pd=jsp.pd;let url=pd(html,".bookbutton&&a&&href");log(url);html=request(url);let v=pd(html,".booksite&&script&&Html");var document={};var VideoListJson;VideoListJson=eval(v.split("VideoListJson=")[1].split(",urlinfo")[0]);log(typeof VideoListJson);let list1=VideoListJson[0][1];LISTS=[list1];log(LISTS);',
+   		// 有声小说有防盗链,我服了(上面的列表数据正常拿到了,没法播放)
+   		//  lists:'#playlist:eq(#id)&&ul&&li',
+    	lists:'#playlist ul li',
+    },
+    搜索:'*',
+}

File diff suppressed because it is too large
+ 18 - 0
Local_qiqi/南风/js/虎牙直播.js


+ 4643 - 0
Local_qiqi/南风/json/Bili.json

@@ -0,0 +1,4643 @@
+{
+    "classes": [
+        {
+            "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": "歌曲",
+            "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"
+        }
+    ],
+    "cookie": "buvid3=8B57D3BA-607A-1E85-018A-E8C430023CED42659infoc; b_lsid=BEB8EE7F_18742FF8C2E; bsource=search_baidu; _uuid=DE810E367-B52C-AF6E-A612-EDF4C31567F358591infoc; b_nut=100; buvid_fp=711a632b5c876fa8bbcf668c1efba551; SESSDATA=7624af93%2C1696008331%2C862c8%2A42; bili_jct=141a474ef3ce8cf2fedf384e68f6625d; DedeUserID=3493271303096985; DedeUserID__ckMd5=212a836c164605b7; sid=5h4ruv6o; buvid4=978E9208-13DA-F87A-3DC0-0B8EDF46E80434329-123040301-dWliG5BMrUb70r3g583u7w%3D%3D",
+    "filter": {
+        "考公考证": [
+            {
+                "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",
+                        "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"
+                    }
+                ]
+            }
+        ]
+    }
+}

+ 620 - 0
Local_qiqi/南风/json/Blixq.json

@@ -0,0 +1,620 @@
+{
+"classes": [
+    {
+      "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": "潮剧院",
+      "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": "绍剧",
+      "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": "高腔超清"
+    }
+  ],
+  "cookie": "buvid3=8B57D3BA-607A-1E85-018A-E8C430023CED42659infoc; b_lsid=BEB8EE7F_18742FF8C2E; bsource=search_baidu; _uuid=DE810E367-B52C-AF6E-A612-EDF4C31567F358591infoc; b_nut=100; buvid_fp=711a632b5c876fa8bbcf668c1efba551; SESSDATA=7624af93%2C1696008331%2C862c8%2A42; bili_jct=141a474ef3ce8cf2fedf384e68f6625d; DedeUserID=3493271303096985; DedeUserID__ckMd5=212a836c164605b7; sid=5h4ruv6o; buvid4=978E9208-13DA-F87A-3DC0-0B8EDF46E80434329-123040301-dWliG5BMrUb70r3g583u7w%3D%3D",
+  "filter": {
+    "搞笑": [
+      {
+        "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": "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": "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": "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": "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": "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": "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": "评剧"
+          },
+          {
+            "n": "豫剧",
+            "v": "豫剧"
+          },
+          {
+            "n": "昆曲",
+            "v": "昆曲"
+          },
+          {
+            "n": "高腔",
+            "v": "高腔"
+          },
+          {
+            "n": "梆子腔",
+            "v": "梆子腔"
+          },
+          {
+            "n": "河北梆子",
+            "v": "河北梆子"
+          },
+          {
+            "n": "晋剧",
+            "v": "晋剧"
+          },
+          {
+            "n": "蒲剧",
+            "v": "蒲剧"
+          },
+          {
+            "n": "雁剧",
+            "v": "雁剧"
+          },
+          {
+            "n": "上党梆子",
+            "v": "上党梆子"
+          },
+          {
+            "n": "秦腔",
+            "v": "秦腔"
+          },
+          {
+            "n": "武安平调",
+            "v": "武安平调"
+          },
+          {
+            "n": "二人台",
+            "v": "二人台"
+          },
+          {
+            "n": "吉剧",
+            "v": "吉剧"
+          },
+          {
+            "n": "龙江剧",
+            "v": "龙江剧"
+          },
+          {
+            "n": "越调",
+            "v": "越调"
+          },
+          {
+            "n": "河南曲剧",
+            "v": "河南曲剧"
+          },
+          {
+            "n": "山东梆子",
+            "v": "山东梆子"
+          },
+          {
+            "n": "淮剧",
+            "v": "淮剧"
+          },
+          {
+            "n": "沪剧",
+            "v": "沪剧"
+          },
+          {
+            "n": "滑稽戏",
+            "v": "滑稽戏"
+          },
+          {
+            "n": "婺剧",
+            "v": "婺剧"
+          },
+          {
+            "n": "绍剧",
+            "v": "绍剧"
+          },
+          {
+            "n": "徽剧",
+            "v": "徽剧"
+          },
+          {
+            "n": "闽剧",
+            "v": "闽剧"
+          },
+          {
+            "n": "莆仙戏",
+            "v": "莆仙戏"
+          },
+          {
+            "n": "梨园戏",
+            "v": "梨园戏"
+          },
+          {
+            "n": "高甲戏",
+            "v": "高甲戏"
+          },
+          {
+            "n": "赣剧",
+            "v": "赣剧"
+          },
+          {
+            "n": "采茶戏",
+            "v": "采茶戏"
+          },
+          {
+            "n": "汉剧",
+            "v": "汉剧"
+          },
+          {
+            "n": "湘剧",
+            "v": "湘剧"
+          },
+          {
+            "n": "祁剧",
+            "v": "祁剧"
+          },
+          {
+            "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"
+          }
+        ]
+      }
+    ]
+  }
+}

+ 273 - 0
Local_qiqi/南风/json/Blixs.json

@@ -0,0 +1,273 @@
+{
+"classes": [
+    {
+      "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": "潘长江",
+      "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": "喜剧综艺"
+    }
+  ],
+  "cookie": "buvid3=8B57D3BA-607A-1E85-018A-E8C430023CED42659infoc; b_lsid=BEB8EE7F_18742FF8C2E; bsource=search_baidu; _uuid=DE810E367-B52C-AF6E-A612-EDF4C31567F358591infoc; b_nut=100; buvid_fp=711a632b5c876fa8bbcf668c1efba551; SESSDATA=7624af93%2C1696008331%2C862c8%2A42; bili_jct=141a474ef3ce8cf2fedf384e68f6625d; DedeUserID=3493271303096985; DedeUserID__ckMd5=212a836c164605b7; sid=5h4ruv6o; buvid4=978E9208-13DA-F87A-3DC0-0B8EDF46E80434329-123040301-dWliG5BMrUb70r3g583u7w%3D%3D",
+    "小品": [
+      {
+        "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": "青曲社"
+          },
+          {
+            "n": "郭德纲",
+            "v": "郭德纲"
+          },
+          {
+            "n": "岳云鹏",
+            "v": "岳云鹏"
+          },
+          {
+            "n": "曹云金",
+            "v": "曹云金"
+          },
+          {
+            "n": "评书",
+            "v": "评书"
+          },
+          {
+            "n": "小曲",
+            "v": "小曲"
+          },
+          {
+            "n": "二人转",
+            "v": "二人转"
+          },
+          {
+            "n": "春晚小品",
+            "v": "春晚小品"
+          },
+          {
+            "n": "赵本山",
+            "v": "赵本山"
+          },
+          {
+            "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"
+          }
+        ]
+      }
+    ]
+  }
+}

+ 56 - 0
Local_qiqi/南风/json/alist.json

@@ -0,0 +1,56 @@
+{
+  "vodPic": "https://tse3-mm.cn.bing.net/th/id/OIP-C.MeDRTpt92G3S-_kU9BZJEQHaHa?rs=1&pid=ImgDetMain",
+  "drives": [
+    {
+      "name": "本地alist",
+      "server": "http://127.0.0.1:5244/",
+      "hidden": false,
+      "login": {
+        "username": "admin",
+        "password": "admin"
+      }
+    },
+    {
+      "name": "小雅",
+      "server": "http://alist.xiaoya.pro",
+      "search": false
+    },
+    {
+      "name": "弱水分享站",
+      "server": "http://shicheng.wang:555/我的影视"
+    },
+
+    {
+      "name": "一只魚",
+      "server": "https://vtok.pp.ua/"
+    },
+    {
+      "name": "七米藍",
+      "server": "https://al.chirmyram.com"
+    },
+    {
+      "name": "神族九帝",
+      "server": "https://alist.shenzjd.com"
+    },
+    {
+      "name": "梓澪",
+      "server": "https://zi0.cc"
+    },
+
+    {
+      "name": "範本",
+      "server": "https://one.fongmi.com",
+      "hidden": true,
+      "login": {
+        "username": "fongmi",
+        "password": "fongmi"
+      },
+      "params": [
+        {
+          "path": "/安齋拉拉",
+          "pass": "18181818"
+        }
+      ]
+    }
+  ]
+}

+ 1168 - 0
Local_qiqi/南风/json/douban.json

@@ -0,0 +1,1168 @@
+{
+  "hot_gaia": [
+    {
+      "key": "sort",
+      "name": "排序",
+      "value": [
+        {
+          "n": "热度",
+          "v": "recommend"
+        },
+        {
+          "n": "最新",
+          "v": "time"
+        },
+        {
+          "n": "评分",
+          "v": "rank"
+        }
+      ]
+    },
+    {
+      "key": "area",
+      "name": "地区",
+      "value": [
+        {
+          "n": "全部",
+          "v": "全部"
+        },
+        {
+          "n": "华语",
+          "v": "华语"
+        },
+        {
+          "n": "欧美",
+          "v": "欧美"
+        },
+        {
+          "n": "韩国",
+          "v": "韩国"
+        },
+        {
+          "n": "日本",
+          "v": "日本"
+        }
+      ]
+    }
+  ],
+  "tv_hot": [
+    {
+      "key": "type",
+      "name": "分类",
+      "value": [
+        {
+          "n": "综合",
+          "v": "tv_hot"
+        },
+        {
+          "n": "国产剧",
+          "v": "tv_domestic"
+        },
+        {
+          "n": "欧美剧",
+          "v": "tv_american"
+        },
+        {
+          "n": "日剧",
+          "v": "tv_japanese"
+        },
+        {
+          "n": "韩剧",
+          "v": "tv_korean"
+        },
+        {
+          "n": "动画",
+          "v": "tv_animation"
+        }
+      ]
+    }
+  ],
+  "show_hot": [
+    {
+      "key": "type",
+      "name": "分类",
+      "value": [
+        {
+          "n": "综合",
+          "v": "show_hot"
+        },
+        {
+          "n": "国内",
+          "v": "show_domestic"
+        },
+        {
+          "n": "国外",
+          "v": "show_foreign"
+        }
+      ]
+    }
+  ],
+  "movie": [
+    {
+      "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": "中国香港"
+        },
+        {
+          "n": "中国台湾",
+          "v": "中国台湾"
+        },
+        {
+          "n": "英国",
+          "v": "英国"
+        },
+        {
+          "n": "法国",
+          "v": "法国"
+        },
+        {
+          "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": "T"
+        },
+        {
+          "n": "首映时间",
+          "v": "R"
+        },
+        {
+          "n": "高分优先",
+          "v": "S"
+        }
+      ]
+    },
+    {
+      "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": "2019",
+          "v": "2019"
+        },
+        {
+          "n": "2010年代",
+          "v": "2010年代"
+        },
+        {
+          "n": "2000年代",
+          "v": "2000年代"
+        },
+        {
+          "n": "90年代",
+          "v": "90年代"
+        },
+        {
+          "n": "80年代",
+          "v": "80年代"
+        },
+        {
+          "n": "70年代",
+          "v": "70年代"
+        },
+        {
+          "n": "60年代",
+          "v": "60年代"
+        },
+        {
+          "n": "更早",
+          "v": "更早"
+        }
+      ]
+    }
+  ],
+  "tv": [
+    {
+      "key": "类型",
+      "name": "类型",
+      "value": [
+        {
+          "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": "音乐"
+        }
+      ]
+    },
+    {
+      "key": "综艺形式",
+      "name": "综艺形式",
+      "value": [
+        {
+          "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": "爱尔兰"
+        },
+        {
+          "n": "澳大利亚",
+          "v": "澳大利亚"
+        }
+      ]
+    },
+    {
+      "key": "sort",
+      "name": "排序",
+      "value": [
+        {
+          "n": "近期热度",
+          "v": "T"
+        },
+        {
+          "n": "首播时间",
+          "v": "R"
+        },
+        {
+          "n": "高分优先",
+          "v": "S"
+        }
+      ]
+    },
+    {
+      "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": "2019",
+          "v": "2019"
+        },
+        {
+          "n": "2010年代",
+          "v": "2010年代"
+        },
+        {
+          "n": "2000年代",
+          "v": "2000年代"
+        },
+        {
+          "n": "90年代",
+          "v": "90年代"
+        },
+        {
+          "n": "80年代",
+          "v": "80年代"
+        },
+        {
+          "n": "70年代",
+          "v": "70年代"
+        },
+        {
+          "n": "60年代",
+          "v": "60年代"
+        },
+        {
+          "n": "更早",
+          "v": "更早"
+        }
+      ]
+    },
+    {
+      "key": "平台",
+      "name": "平台",
+      "value": [
+        {
+          "n": "全部",
+          "v": ""
+        },
+        {
+          "n": "腾讯视频",
+          "v": "腾讯视频"
+        },
+        {
+          "n": "爱奇艺",
+          "v": "爱奇艺"
+        },
+        {
+          "n": "优酷",
+          "v": "优酷"
+        },
+        {
+          "n": "湖南卫视",
+          "v": "湖南卫视"
+        },
+        {
+          "n": "Netflix",
+          "v": "Netflix"
+        },
+        {
+          "n": "HBO",
+          "v": "HBO"
+        },
+        {
+          "n": "BBC",
+          "v": "BBC"
+        },
+        {
+          "n": "NHK",
+          "v": "NHK"
+        },
+        {
+          "n": "CBS",
+          "v": "CBS"
+        },
+        {
+          "n": "NBC",
+          "v": "NBC"
+        },
+        {
+          "n": "tvN",
+          "v": "tvN"
+        }
+      ]
+    }
+  ],
+  "rank_list_movie": [
+    {
+      "key": "榜单",
+      "name": "榜单",
+      "value": [
+        {
+          "n": "实时热门电影",
+          "v": "movie_real_time_hotest"
+        },
+        {
+          "n": "一周口碑电影榜",
+          "v": "movie_weekly_best"
+        },
+        {
+          "n": "豆瓣电影Top250",
+          "v": "movie_top250"
+        }
+      ]
+    }
+  ],
+  "rank_list_tv": [
+    {
+      "key": "榜单",
+      "name": "榜单",
+      "value": [
+        {
+          "n": "实时热门电视",
+          "v": "tv_real_time_hotest"
+        },
+        {
+          "n": "华语口碑剧集榜",
+          "v": "tv_chinese_best_weekly"
+        },
+        {
+          "n": "全球口碑剧集榜",
+          "v": "tv_global_best_weekly"
+        },
+        {
+          "n": "国内口碑综艺榜",
+          "v": "show_chinese_best_weekly"
+        },
+        {
+          "n": "国外口碑综艺榜",
+          "v": "show_global_best_weekly"
+        }
+      ]
+    }
+  ],
+  "book_hot": [
+    {
+      "key": "type",
+      "name": "分类",
+      "value": [
+        {
+          "n": "综合",
+          "v": "book_hot"
+        },
+        {
+          "n": "豆瓣阅读TOP250",
+          "v": "book_top250"
+        },
+        {
+          "n": "一周热门图书榜",
+          "v": "EC645NBAI"
+        },
+        {
+          "n": "悬疑推理小说一周热门榜",
+          "v": "ECHU5PTUY"
+        },
+        {
+          "n": "科幻奇幻小说一周热门榜",
+          "v": "ECEA5SP5A"
+        },
+        {
+          "n": "绘本绘画一周热门榜",
+          "v": "EC5U5NVYQ"
+        },
+        {
+          "n": "商业经管图书一周热门榜",
+          "v": "ECE45ORCA"
+        },
+        {
+          "n": "影视戏剧图书一周热门榜",
+          "v": "ECWU5QFUI"
+        },
+        {
+          "n": "艺术设计图书一周热门榜",
+          "v": "ECI45ZBNY"
+        },
+        {
+          "n": "科学新知图书一周热门榜",
+          "v": "ECIM5L2YI"
+        },
+        {
+          "n": "社会纪实图书一周热门榜",
+          "v": "ECQU5U7HQ"
+        },
+        {
+          "n": "历史文化图书一周热门榜",
+          "v": "ECIE5S2IQ"
+        },
+        {
+          "n": "文学图书一周热门榜",
+          "v": "ECRM5OCGI"
+        },
+        {
+          "n": "小说一周热门榜",
+          "v": "ECF45REBQ"
+        }
+      ]
+    }
+  ],
+  "book": [
+    {
+      "key": "类型",
+      "name": "类型",
+      "value": [
+        {
+          "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": "港台"
+        }
+      ]
+    },
+    {
+      "key": "流行",
+      "name": "流行",
+      "value": [
+        {
+          "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": "音乐"
+        }
+      ]
+    },
+    {
+      "key": "生活",
+      "name": "生活",
+      "value": [
+        {
+          "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": "企业史"
+	}
+      ]
+    },
+    {
+      "key": "科技",
+      "name": "科技",
+      "value": [
+        {
+          "n": "科技",
+          "v": "科技"
+        },
+        {
+          "n": "科普",
+          "v": "科普"
+	},
+        {
+          "n": "互联网",
+          "v": "互联网"
+	},
+        {
+          "n": "编程",
+          "v": "编程"
+	},
+        {
+          "n": "交互设计",
+          "v": "交互设计"
+	},
+        {
+          "n": "算法",
+          "v": "算法"
+	},
+        {
+          "n": "通信",
+          "v": "通信"
+	},
+        {
+          "n": "神经网络",
+          "v": "神经网络"
+	}
+      ]
+    },
+    {
+      "key": "sort",
+      "name": "排序",
+      "value": [
+        {
+          "n": "近期热度",
+          "v": "T"
+        },
+        {
+          "n": "首播时间",
+          "v": "R"
+        },
+        {
+          "n": "高分优先",
+          "v": "S"
+        }
+      ]
+    }
+  ]
+}

+ 502 - 0
Local_qiqi/南风/json/jianpian.json

@@ -0,0 +1,502 @@
+{
+  "0": [
+    {
+      "key": "area",
+      "name": "地区",
+      "value": [
+        {
+          "n": "全部",
+          "v": "0"
+        },
+        {
+          "n": "国产",
+          "v": "1"
+        },
+        {
+          "n": "中国香港",
+          "v": "3"
+        },
+        {
+          "n": "中国台湾",
+          "v": "6"
+        },
+        {
+          "n": "美国",
+          "v": "5"
+        },
+        {
+          "n": "韩国",
+          "v": "18"
+        },
+        {
+          "n": "日本",
+          "v": "2"
+        }
+      ]
+    },
+    {
+      "key": "year",
+      "name": "年份",
+      "value": [
+        {
+          "n": "全部",
+          "v": "0"
+        },
+        {
+          "n": "2024",
+          "v": "119"
+        },
+        {
+          "n": "2023",
+          "v": "153"
+        },
+        {
+          "n": "2022",
+          "v": "101"
+        },
+        {
+          "n": "2021",
+          "v": "118"
+        },
+        {
+          "n": "2020",
+          "v": "16"
+        },
+        {
+          "n": "2019",
+          "v": "7"
+        },
+        {
+          "n": "2018",
+          "v": "2"
+        },
+        {
+          "n": "2017",
+          "v": "3"
+        },
+        {
+          "n": "2016",
+          "v": "22"
+        }
+      ]
+    },
+    {
+      "key": "by",
+      "name": "排序",
+      "value": [
+        {
+          "n": "热门",
+          "v": "hot"
+        },
+        {
+          "n": "更新",
+          "v": "updata"
+        },
+        {
+          "n": "评分",
+          "v": "rating"
+        }
+      ]
+    }
+  ],
+  "1": [
+    {
+      "key": "area",
+      "name": "地区",
+      "value": [
+        {
+          "n": "全部",
+          "v": "0"
+        },
+        {
+          "n": "国产",
+          "v": "1"
+        },
+        {
+          "n": "中国香港",
+          "v": "3"
+        },
+        {
+          "n": "中国台湾",
+          "v": "6"
+        },
+        {
+          "n": "美国",
+          "v": "5"
+        },
+        {
+          "n": "韩国",
+          "v": "18"
+        },
+        {
+          "n": "日本",
+          "v": "2"
+        }
+      ]
+    },
+    {
+      "key": "year",
+      "name": "年份",
+      "value": [
+        {
+          "n": "全部",
+          "v": "0"
+        },
+        {
+          "n": "2024",
+          "v": "119"
+        },
+        {
+          "n": "2023",
+          "v": "153"
+        },
+        {
+          "n": "2022",
+          "v": "101"
+        },
+        {
+          "n": "2021",
+          "v": "118"
+        },
+        {
+          "n": "2020",
+          "v": "16"
+        },
+        {
+          "n": "2019",
+          "v": "7"
+        },
+        {
+          "n": "2018",
+          "v": "2"
+        },
+        {
+          "n": "2017",
+          "v": "3"
+        },
+        {
+          "n": "2016",
+          "v": "22"
+        }
+      ]
+    },
+    {
+      "key": "by",
+      "name": "排序",
+      "value": [
+        {
+          "n": "热门",
+          "v": "hot"
+        },
+        {
+          "n": "更新",
+          "v": "updata"
+        },
+        {
+          "n": "评分",
+          "v": "rating"
+        }
+      ]
+    }
+  ],
+  "2": [
+    {
+      "key": "area",
+      "name": "地区",
+      "value": [
+        {
+          "n": "全部",
+          "v": "0"
+        },
+        {
+          "n": "国产",
+          "v": "1"
+        },
+        {
+          "n": "中国香港",
+          "v": "3"
+        },
+        {
+          "n": "中国台湾",
+          "v": "6"
+        },
+        {
+          "n": "美国",
+          "v": "5"
+        },
+        {
+          "n": "韩国",
+          "v": "18"
+        },
+        {
+          "n": "日本",
+          "v": "2"
+        }
+      ]
+    },
+    {
+      "key": "year",
+      "name": "年份",
+      "value": [
+        {
+          "n": "全部",
+          "v": "0"
+        },
+        {
+          "n": "2024",
+          "v": "119"
+        },
+        {
+          "n": "2023",
+          "v": "153"
+        },
+        {
+          "n": "2022",
+          "v": "101"
+        },
+        {
+          "n": "2021",
+          "v": "118"
+        },
+        {
+          "n": "2020",
+          "v": "16"
+        },
+        {
+          "n": "2019",
+          "v": "7"
+        },
+        {
+          "n": "2018",
+          "v": "2"
+        },
+        {
+          "n": "2017",
+          "v": "3"
+        },
+        {
+          "n": "2016",
+          "v": "22"
+        }
+      ]
+    },
+    {
+      "key": "by",
+      "name": "排序",
+      "value": [
+        {
+          "n": "热门",
+          "v": "hot"
+        },
+        {
+          "n": "更新",
+          "v": "updata"
+        },
+        {
+          "n": "评分",
+          "v": "rating"
+        }
+      ]
+    }
+  ],
+  "3": [
+    {
+      "key": "area",
+      "name": "地区",
+      "value": [
+        {
+          "n": "全部",
+          "v": "0"
+        },
+        {
+          "n": "国产",
+          "v": "1"
+        },
+        {
+          "n": "中国香港",
+          "v": "3"
+        },
+        {
+          "n": "中国台湾",
+          "v": "6"
+        },
+        {
+          "n": "美国",
+          "v": "5"
+        },
+        {
+          "n": "韩国",
+          "v": "18"
+        },
+        {
+          "n": "日本",
+          "v": "2"
+        }
+      ]
+    },
+    {
+      "key": "year",
+      "name": "年份",
+      "value": [
+        {
+          "n": "全部",
+          "v": "0"
+        },
+        {
+          "n": "2024",
+          "v": "119"
+        },
+        {
+          "n": "2023",
+          "v": "153"
+        },
+        {
+          "n": "2022",
+          "v": "101"
+        },
+        {
+          "n": "2021",
+          "v": "118"
+        },
+        {
+          "n": "2020",
+          "v": "16"
+        },
+        {
+          "n": "2019",
+          "v": "7"
+        },
+        {
+          "n": "2018",
+          "v": "2"
+        },
+        {
+          "n": "2017",
+          "v": "3"
+        },
+        {
+          "n": "2016",
+          "v": "22"
+        }
+      ]
+    },
+    {
+      "key": "by",
+      "name": "排序",
+      "value": [
+        {
+          "n": "热门",
+          "v": "hot"
+        },
+        {
+          "n": "更新",
+          "v": "updata"
+        },
+        {
+          "n": "评分",
+          "v": "rating"
+        }
+      ]
+    }
+  ],
+  "4": [
+    {
+      "key": "area",
+      "name": "地区",
+      "value": [
+        {
+          "n": "全部",
+          "v": "0"
+        },
+        {
+          "n": "国产",
+          "v": "1"
+        },
+        {
+          "n": "中国香港",
+          "v": "3"
+        },
+        {
+          "n": "中国台湾",
+          "v": "6"
+        },
+        {
+          "n": "美国",
+          "v": "5"
+        },
+        {
+          "n": "韩国",
+          "v": "18"
+        },
+        {
+          "n": "日本",
+          "v": "2"
+        }
+      ]
+    },
+    {
+      "key": "year",
+      "name": "年份",
+      "value": [
+        {
+          "n": "全部",
+          "v": "0"
+        },
+        {
+          "n": "2024",
+          "v": "119"
+        },
+        {
+          "n": "2023",
+          "v": "153"
+        },
+        {
+          "n": "2022",
+          "v": "101"
+        },
+        {
+          "n": "2021",
+          "v": "118"
+        },
+        {
+          "n": "2020",
+          "v": "16"
+        },
+        {
+          "n": "2019",
+          "v": "7"
+        },
+        {
+          "n": "2018",
+          "v": "2"
+        },
+        {
+          "n": "2017",
+          "v": "3"
+        },
+        {
+          "n": "2016",
+          "v": "22"
+        }
+      ]
+    },
+    {
+      "key": "by",
+      "name": "排序",
+      "value": [
+        {
+          "n": "热门",
+          "v": "hot"
+        },
+        {
+          "n": "更新",
+          "v": "updata"
+        },
+        {
+          "n": "评分",
+          "v": "rating"
+        }
+      ]
+    }
+  ]
+}

+ 892 - 0
Local_qiqi/南风/json/wogg.json

@@ -0,0 +1,892 @@
+{
+  "1": [
+    {
+      "key": "3",
+      "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": "11",
+      "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": "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"
+        }
+      ]
+    },
+    {
+      "key": "1",
+      "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": "其他"
+        }
+      ]
+    }
+  ],
+  "2": [
+    {
+      "key": "3",
+      "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": "11",
+      "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": "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"
+        }
+      ]
+    },
+    {
+      "key": "1",
+      "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": "其他"
+        }
+      ]
+    }
+  ],
+  "3": [
+    {
+      "key": "11",
+      "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": "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"
+        }
+      ]
+    },
+    {
+      "key": "1",
+      "name": "地区",
+      "value": [
+        {
+          "n": "全部",
+          "v": ""
+        },
+        {
+          "n": "大陆",
+          "v": "大陆"
+        },
+        {
+          "n": "美国",
+          "v": "美国"
+        },
+        {
+          "n": "日本",
+          "v": "日本"
+        },
+        {
+          "n": "韩国",
+          "v": "韩国"
+        },
+        {
+          "n": "英国",
+          "v": "英国"
+        },
+        {
+          "n": "法国",
+          "v": "法国"
+        },
+        {
+          "n": "其他",
+          "v": "其他"
+        }
+      ]
+    }
+  ],
+  "4": [
+    {
+      "key": "11",
+      "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": "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"
+        }
+      ]
+    },
+    {
+      "key": "1",
+      "name": "地区",
+      "value": [
+        {
+          "n": "全部",
+          "v": ""
+        },
+        {
+          "n": "大陆",
+          "v": "大陆"
+        },
+        {
+          "n": "中国香港",
+          "v": "香港"
+        },
+        {
+          "n": "中国台湾",
+          "v": "台湾"
+        },
+        {
+          "n": "美国",
+          "v": "美国"
+        },
+        {
+          "n": "韩国",
+          "v": "韩国"
+        },
+        {
+          "n": "日本",
+          "v": "日本"
+        },
+        {
+          "n": "西班牙",
+          "v": "西班牙"
+        },
+        {
+          "n": "英国",
+          "v": "英国"
+        },
+        {
+          "n": "其他",
+          "v": "其他"
+        }
+      ]
+    }
+  ],
+  "5": [
+    {
+      "key": "5",
+      "name": "字母",
+      "value": [
+        {
+          "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"
+        }
+      ]
+    }
+  ],
+  "6": [
+    {
+      "key": "11",
+      "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": "2019",
+          "v": "2019"
+        },
+        {
+          "n": "2018",
+          "v": "2018"
+        }
+      ]
+    },
+    {
+      "key": "5",
+      "name": "字母",
+      "value": [
+        {
+          "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"
+        }
+      ]
+    }
+  ]
+}

+ 70 - 0
Local_qiqi/南风/json/youtube.json

@@ -0,0 +1,70 @@
+{
+  "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": "美食"
+    },
+    {
+      "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": "动物世界"
+    }
+  ]
+
+}

+ 3635 - 0
Local_qiqi/南风/json/初中课堂.json

@@ -0,0 +1,3635 @@
+{
+    "cookie": "SESSDATA=7624af93%2C1696008331%2C862c8%2A42; bili_jct=141a474ef3ce8cf2fedf384e68f6625d; DedeUserID=3493271303096985; DedeUserID__ckMd5=212a836c164605b7",
+    "classes": [
+        {
+            "type_name": "7年级语文",
+            "type_id": "7年级语文"
+        },
+        {
+            "type_name": "7年级数学",
+            "type_id": "7年级数学"
+        },
+        {
+            "type_name": "7年级英语",
+            "type_id": "7年级英语"
+        },
+        {
+            "type_name": "7年级历史",
+            "type_id": "7年级历史"
+        },
+        {
+            "type_name": "7年级地理",
+            "type_id": "7年级地理"
+        },
+        {
+            "type_name": "7年级生物",
+            "type_id": "7年级生物"
+        },
+        {
+            "type_name": "7年级物理",
+            "type_id": "7年级物理"
+        },
+        {
+            "type_name": "7年级化学",
+            "type_id": "7年级化学"
+        },
+        {
+            "type_name": "8年级语文",
+            "type_id": "8年级语文"
+        },
+        {
+            "type_name": "8年级数学",
+            "type_id": "8年级数学"
+        },
+        {
+            "type_name": "8年级英语",
+            "type_id": "8年级英语"
+        },
+        {
+            "type_name": "8年级历史",
+            "type_id": "8年级历史"
+        },
+        {
+            "type_name": "8年级地理",
+            "type_id": "8年级地理"
+        },
+        {
+            "type_name": "8年级生物",
+            "type_id": "8年级生物"
+        },
+        {
+            "type_name": "8年级物理",
+            "type_id": "8年级物理"
+        },
+        {
+            "type_name": "8年级化学",
+            "type_id": "8年级化学"
+        }
+    ],
+    "filter": {
+        "1年级语文": [
+            {
+                "key": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "n": "沪教版",
+                        "v": "沪教版1年级语文"
+                    },
+                    {
+                        "n": "人教版",
+                        "v": "人教版1年级语文"
+                    },
+                    {
+                        "n": "北师大版",
+                        "v": "北师大版1年级语文"
+                    },
+                    {
+                        "n": "苏教版",
+                        "v": "苏教版1年级语文"
+                    }
+                ]
+            },
+            {
+                "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"
+                    }
+                ]
+            }
+        ],
+        "1年级英语": [
+            {
+                "key": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "n": "沪教版",
+                        "v": "沪教版1年级英语"
+                    },
+                    {
+                        "n": "人教版",
+                        "v": "人教版1年级英语"
+                    },
+                    {
+                        "n": "北师大版",
+                        "v": "北师大版1年级英语"
+                    },
+                    {
+                        "n": "苏教版",
+                        "v": "苏教版1年级英语"
+                    }
+                ]
+            },
+            {
+                "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"
+                    }
+                ]
+            }
+        ],
+        "1年级数学": [
+            {
+                "key": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "n": "沪教版",
+                        "v": "沪教版1年级数学"
+                    },
+                    {
+                        "n": "人教版",
+                        "v": "人教版1年级数学"
+                    },
+                    {
+                        "n": "北师大版",
+                        "v": "北师大版1年级数学"
+                    },
+                    {
+                        "n": "苏教版",
+                        "v": "苏教版1年级数学"
+                    }
+                ]
+            },
+            {
+                "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"
+                    }
+                ]
+            }
+        ],
+        "2年级语文": [
+            {
+                "key": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "n": "沪教版",
+                        "v": "沪教版2年级语文"
+                    },
+                    {
+                        "n": "人教版",
+                        "v": "人教版2年级语文"
+                    },
+                    {
+                        "n": "北师大版",
+                        "v": "北师大版2年级语文"
+                    },
+                    {
+                        "n": "苏教版",
+                        "v": "苏教版2年级语文"
+                    }
+                ]
+            },
+            {
+                "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"
+                    }
+                ]
+            }
+        ],
+        "2年级英语": [
+            {
+                "key": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "n": "沪教版",
+                        "v": "沪教版2年级英语"
+                    },
+                    {
+                        "n": "人教版",
+                        "v": "人教版2年级英语"
+                    },
+                    {
+                        "n": "北师大版",
+                        "v": "北师大版2年级英语"
+                    },
+                    {
+                        "n": "苏教版",
+                        "v": "苏教版2年级英语"
+                    }
+                ]
+            },
+            {
+                "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"
+                    }
+                ]
+            }
+        ],
+        "2年级数学": [
+            {
+                "key": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "n": "沪教版",
+                        "v": "沪教版2年级数学"
+                    },
+                    {
+                        "n": "人教版",
+                        "v": "人教版2年级数学"
+                    },
+                    {
+                        "n": "北师大版",
+                        "v": "北师大版2年级数学"
+                    },
+                    {
+                        "n": "苏教版",
+                        "v": "苏教版2年级数学"
+                    }
+                ]
+            },
+            {
+                "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"
+                    }
+                ]
+            }
+        ],
+        "3年级语文": [
+            {
+                "key": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "n": "沪教版",
+                        "v": "沪教版3年级语文"
+                    },
+                    {
+                        "n": "人教版",
+                        "v": "人教版3年级语文"
+                    },
+                    {
+                        "n": "北师大版",
+                        "v": "北师大版3年级语文"
+                    },
+                    {
+                        "n": "苏教版",
+                        "v": "苏教版3年级语文"
+                    }
+                ]
+            },
+            {
+                "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"
+                    }
+                ]
+            }
+        ],
+        "3年级英语": [
+            {
+                "key": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "n": "沪教版",
+                        "v": "沪教版3年级英语"
+                    },
+                    {
+                        "n": "人教版",
+                        "v": "人教版3年级英语"
+                    },
+                    {
+                        "n": "北师大版",
+                        "v": "北师大版3年级英语"
+                    },
+                    {
+                        "n": "苏教版",
+                        "v": "苏教版3年级英语"
+                    }
+                ]
+            },
+            {
+                "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"
+                    }
+                ]
+            }
+        ],
+        "3年级数学": [
+            {
+                "key": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "n": "沪教版",
+                        "v": "沪教版3年级数学"
+                    },
+                    {
+                        "n": "人教版",
+                        "v": "人教版3年级数学"
+                    },
+                    {
+                        "n": "北师大版",
+                        "v": "北师大版3年级数学"
+                    },
+                    {
+                        "n": "苏教版",
+                        "v": "苏教版3年级数学"
+                    }
+                ]
+            },
+            {
+                "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"
+                    }
+                ]
+            }
+        ],
+        "4年级语文": [
+            {
+                "key": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "n": "沪教版",
+                        "v": "沪教版4年级语文"
+                    },
+                    {
+                        "n": "人教版",
+                        "v": "人教版4年级语文"
+                    },
+                    {
+                        "n": "北师大版",
+                        "v": "北师大版4年级语文"
+                    },
+                    {
+                        "n": "苏教版",
+                        "v": "苏教版4年级语文"
+                    }
+                ]
+            },
+            {
+                "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"
+                    }
+                ]
+            }
+        ],
+        "4年级英语": [
+            {
+                "key": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "n": "沪教版",
+                        "v": "沪教版4年级英语"
+                    },
+                    {
+                        "n": "人教版",
+                        "v": "人教版4年级英语"
+                    },
+                    {
+                        "n": "北师大版",
+                        "v": "北师大版4年级英语"
+                    },
+                    {
+                        "n": "苏教版",
+                        "v": "苏教版4年级英语"
+                    }
+                ]
+            },
+            {
+                "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"
+                    }
+                ]
+            }
+        ],
+        "4年级数学": [
+            {
+                "key": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "n": "沪教版",
+                        "v": "沪教版4年级数学"
+                    },
+                    {
+                        "n": "人教版",
+                        "v": "人教版4年级数学"
+                    },
+                    {
+                        "n": "北师大版",
+                        "v": "北师大版4年级数学"
+                    },
+                    {
+                        "n": "苏教版",
+                        "v": "苏教版4年级数学"
+                    }
+                ]
+            },
+            {
+                "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"
+                    }
+                ]
+            }
+        ],
+        "5年级语文": [
+            {
+                "key": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "n": "沪教版",
+                        "v": "沪教版5年级语文"
+                    },
+                    {
+                        "n": "人教版",
+                        "v": "人教版5年级语文"
+                    },
+                    {
+                        "n": "北师大版",
+                        "v": "北师大版5年级语文"
+                    },
+                    {
+                        "n": "苏教版",
+                        "v": "苏教版5年级语文"
+                    }
+                ]
+            },
+            {
+                "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"
+                    }
+                ]
+            }
+        ],
+        "5年级英语": [
+            {
+                "key": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "n": "沪教版",
+                        "v": "沪教版5年级英语"
+                    },
+                    {
+                        "n": "人教版",
+                        "v": "人教版5年级英语"
+                    },
+                    {
+                        "n": "北师大版",
+                        "v": "北师大版5年级英语"
+                    },
+                    {
+                        "n": "苏教版",
+                        "v": "苏教版5年级英语"
+                    }
+                ]
+            },
+            {
+                "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"
+                    }
+                ]
+            }
+        ],
+        "5年级数学": [
+            {
+                "key": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "n": "沪教版",
+                        "v": "沪教版5年级数学"
+                    },
+                    {
+                        "n": "人教版",
+                        "v": "人教版5年级数学"
+                    },
+                    {
+                        "n": "北师大版",
+                        "v": "北师大版5年级数学"
+                    },
+                    {
+                        "n": "苏教版",
+                        "v": "苏教版5年级数学"
+                    }
+                ]
+            },
+            {
+                "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"
+                    }
+                ]
+            }
+        ],
+        "6年级语文": [
+            {
+                "key": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "n": "沪教版",
+                        "v": "沪教版6年级语文"
+                    },
+                    {
+                        "n": "人教版",
+                        "v": "人教版6年级语文"
+                    },
+                    {
+                        "n": "北师大版",
+                        "v": "北师大版6年级语文"
+                    },
+                    {
+                        "n": "苏教版",
+                        "v": "苏教版6年级语文"
+                    }
+                ]
+            },
+            {
+                "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"
+                    }
+                ]
+            }
+        ],
+        "6年级英语": [
+            {
+                "key": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "n": "沪教版",
+                        "v": "沪教版6年级英语"
+                    },
+                    {
+                        "n": "人教版",
+                        "v": "人教版6年级英语"
+                    },
+                    {
+                        "n": "北师大版",
+                        "v": "北师大版6年级英语"
+                    },
+                    {
+                        "n": "苏教版",
+                        "v": "苏教版6年级英语"
+                    }
+                ]
+            },
+            {
+                "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"
+                    }
+                ]
+            }
+        ],
+        "6年级数学": [
+            {
+                "key": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "n": "沪教版",
+                        "v": "沪教版6年级数学"
+                    },
+                    {
+                        "n": "人教版",
+                        "v": "人教版6年级数学"
+                    },
+                    {
+                        "n": "北师大版",
+                        "v": "北师大版6年级数学"
+                    },
+                    {
+                        "n": "苏教版",
+                        "v": "苏教版6年级数学"
+                    }
+                ]
+            },
+            {
+                "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"
+                    }
+                ]
+            }
+        ],
+        "7年级语文": [
+            {
+                "key": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "n": "沪教版",
+                        "v": "沪教版7年级语文"
+                    },
+                    {
+                        "n": "人教版",
+                        "v": "人教版7年级语文"
+                    },
+                    {
+                        "n": "北师大版",
+                        "v": "北师大版7年级语文"
+                    },
+                    {
+                        "n": "苏教版",
+                        "v": "苏教版7年级语文"
+                    }
+                ]
+            },
+            {
+                "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"
+                    }
+                ]
+            }
+        ],
+        "7年级英语": [
+            {
+                "key": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "n": "沪教版",
+                        "v": "沪教版7年级英语"
+                    },
+                    {
+                        "n": "人教版",
+                        "v": "人教版7年级英语"
+                    },
+                    {
+                        "n": "北师大版",
+                        "v": "北师大版7年级英语"
+                    },
+                    {
+                        "n": "苏教版",
+                        "v": "苏教版7年级英语"
+                    }
+                ]
+            },
+            {
+                "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"
+                    }
+                ]
+            }
+        ],
+        "7年级数学": [
+            {
+                "key": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "n": "沪教版",
+                        "v": "沪教版7年级数学"
+                    },
+                    {
+                        "n": "人教版",
+                        "v": "人教版7年级数学"
+                    },
+                    {
+                        "n": "北师大版",
+                        "v": "北师大版7年级数学"
+                    },
+                    {
+                        "n": "苏教版",
+                        "v": "苏教版7年级数学"
+                    }
+                ]
+            },
+            {
+                "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"
+                    }
+                ]
+            }
+        ],
+        "7年级化学": [
+            {
+                "key": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "n": "沪教版",
+                        "v": "沪教版7年级化学"
+                    },
+                    {
+                        "n": "人教版",
+                        "v": "人教版7年级化学"
+                    },
+                    {
+                        "n": "北师大版",
+                        "v": "北师大版7年级化学"
+                    },
+                    {
+                        "n": "苏教版",
+                        "v": "苏教版7年级化学"
+                    }
+                ]
+            },
+            {
+                "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"
+                    }
+                ]
+            }
+        ],
+        "7年级物理": [
+            {
+                "key": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "n": "沪教版",
+                        "v": "沪教版7年级物理"
+                    },
+                    {
+                        "n": "人教版",
+                        "v": "人教版7年级物理"
+                    },
+                    {
+                        "n": "北师大版",
+                        "v": "北师大版7年级物理"
+                    },
+                    {
+                        "n": "苏教版",
+                        "v": "苏教版7年级物理"
+                    }
+                ]
+            },
+            {
+                "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"
+                    }
+                ]
+            }
+        ],
+        "7年级生物": [
+            {
+                "key": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "n": "沪教版",
+                        "v": "沪教版7年级生物"
+                    },
+                    {
+                        "n": "人教版",
+                        "v": "人教版7年级生物"
+                    },
+                    {
+                        "n": "北师大版",
+                        "v": "北师大版7年级生物"
+                    },
+                    {
+                        "n": "苏教版",
+                        "v": "苏教版7年级生物"
+                    }
+                ]
+            },
+            {
+                "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"
+                    }
+                ]
+            }
+        ],
+        "7年级历史": [
+            {
+                "key": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "n": "沪教版",
+                        "v": "沪教版7年级历史"
+                    },
+                    {
+                        "n": "人教版",
+                        "v": "人教版7年级历史"
+                    },
+                    {
+                        "n": "北师大版",
+                        "v": "北师大版7年级历史"
+                    },
+                    {
+                        "n": "苏教版",
+                        "v": "苏教版7年级历史"
+                    }
+                ]
+            },
+            {
+                "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"
+                    }
+                ]
+            }
+        ],
+        "8年级语文": [
+            {
+                "key": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "n": "沪教版",
+                        "v": "沪教版8年级语文"
+                    },
+                    {
+                        "n": "人教版",
+                        "v": "人教版8年级语文"
+                    },
+                    {
+                        "n": "北师大版",
+                        "v": "北师大版8年级语文"
+                    },
+                    {
+                        "n": "苏教版",
+                        "v": "苏教版8年级语文"
+                    }
+                ]
+            },
+            {
+                "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"
+                    }
+                ]
+            }
+        ],
+        "8年级英语": [
+            {
+                "key": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "n": "沪教版",
+                        "v": "沪教版8年级英语"
+                    },
+                    {
+                        "n": "人教版",
+                        "v": "人教版8年级英语"
+                    },
+                    {
+                        "n": "北师大版",
+                        "v": "北师大版8年级英语"
+                    },
+                    {
+                        "n": "苏教版",
+                        "v": "苏教版8年级英语"
+                    }
+                ]
+            },
+            {
+                "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"
+                    }
+                ]
+            }
+        ],
+        "8年级数学": [
+            {
+                "key": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "n": "沪教版",
+                        "v": "沪教版8年级数学"
+                    },
+                    {
+                        "n": "人教版",
+                        "v": "人教版8年级数学"
+                    },
+                    {
+                        "n": "北师大版",
+                        "v": "北师大版8年级数学"
+                    },
+                    {
+                        "n": "苏教版",
+                        "v": "苏教版8年级数学"
+                    }
+                ]
+            },
+            {
+                "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"
+                    }
+                ]
+            }
+        ],
+        "8年级化学": [
+            {
+                "key": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "n": "沪教版",
+                        "v": "沪教版8年级化学"
+                    },
+                    {
+                        "n": "人教版",
+                        "v": "人教版8年级化学"
+                    },
+                    {
+                        "n": "北师大版",
+                        "v": "北师大版8年级化学"
+                    },
+                    {
+                        "n": "苏教版",
+                        "v": "苏教版8年级化学"
+                    }
+                ]
+            },
+            {
+                "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"
+                    }
+                ]
+            }
+        ],
+        "8年级物理": [
+            {
+                "key": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "n": "沪教版",
+                        "v": "沪教版8年级物理"
+                    },
+                    {
+                        "n": "人教版",
+                        "v": "人教版8年级物理"
+                    },
+                    {
+                        "n": "北师大版",
+                        "v": "北师大版8年级物理"
+                    },
+                    {
+                        "n": "苏教版",
+                        "v": "苏教版8年级物理"
+                    }
+                ]
+            },
+            {
+                "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"
+                    }
+                ]
+            }
+        ],
+        "8年级生物": [
+            {
+                "key": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "n": "沪教版",
+                        "v": "沪教版8年级生物"
+                    },
+                    {
+                        "n": "人教版",
+                        "v": "人教版8年级生物"
+                    },
+                    {
+                        "n": "北师大版",
+                        "v": "北师大版8年级生物"
+                    },
+                    {
+                        "n": "苏教版",
+                        "v": "苏教版8年级生物"
+                    }
+                ]
+            },
+            {
+                "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"
+                    }
+                ]
+            }
+        ],
+        "8年级历史": [
+            {
+                "key": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "n": "沪教版",
+                        "v": "沪教版8年级历史"
+                    },
+                    {
+                        "n": "人教版",
+                        "v": "人教版8年级历史"
+                    },
+                    {
+                        "n": "北师大版",
+                        "v": "北师大版8年级历史"
+                    },
+                    {
+                        "n": "苏教版",
+                        "v": "苏教版8年级历史"
+                    }
+                ]
+            },
+            {
+                "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"
+                    }
+                ]
+            }
+        ],
+        "9年级语文": [
+            {
+                "key": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "n": "沪教版",
+                        "v": "沪教版9年级语文"
+                    },
+                    {
+                        "n": "人教版",
+                        "v": "人教版9年级语文"
+                    },
+                    {
+                        "n": "北师大版",
+                        "v": "北师大版9年级语文"
+                    },
+                    {
+                        "n": "苏教版",
+                        "v": "苏教版9年级语文"
+                    }
+                ]
+            },
+            {
+                "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"
+                    }
+                ]
+            }
+        ],
+        "9年级英语": [
+            {
+                "key": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "n": "沪教版",
+                        "v": "沪教版9年级英语"
+                    },
+                    {
+                        "n": "人教版",
+                        "v": "人教版9年级英语"
+                    },
+                    {
+                        "n": "北师大版",
+                        "v": "北师大版9年级英语"
+                    },
+                    {
+                        "n": "苏教版",
+                        "v": "苏教版9年级英语"
+                    }
+                ]
+            },
+            {
+                "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"
+                    }
+                ]
+            }
+        ],
+        "9年级数学": [
+            {
+                "key": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "n": "沪教版",
+                        "v": "沪教版9年级数学"
+                    },
+                    {
+                        "n": "人教版",
+                        "v": "人教版9年级数学"
+                    },
+                    {
+                        "n": "北师大版",
+                        "v": "北师大版9年级数学"
+                    },
+                    {
+                        "n": "苏教版",
+                        "v": "苏教版9年级数学"
+                    }
+                ]
+            },
+            {
+                "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"
+                    }
+                ]
+            }
+        ],
+        "9年级化学": [
+            {
+                "key": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "n": "沪教版",
+                        "v": "沪教版9年级化学"
+                    },
+                    {
+                        "n": "人教版",
+                        "v": "人教版9年级化学"
+                    },
+                    {
+                        "n": "北师大版",
+                        "v": "北师大版9年级化学"
+                    },
+                    {
+                        "n": "苏教版",
+                        "v": "苏教版9年级化学"
+                    }
+                ]
+            },
+            {
+                "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"
+                    }
+                ]
+            }
+        ],
+        "9年级物理": [
+            {
+                "key": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "n": "沪教版",
+                        "v": "沪教版9年级物理"
+                    },
+                    {
+                        "n": "人教版",
+                        "v": "人教版9年级物理"
+                    },
+                    {
+                        "n": "北师大版",
+                        "v": "北师大版9年级物理"
+                    },
+                    {
+                        "n": "苏教版",
+                        "v": "苏教版9年级物理"
+                    }
+                ]
+            },
+            {
+                "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"
+                    }
+                ]
+            }
+        ],
+        "9年级生物": [
+            {
+                "key": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "n": "沪教版",
+                        "v": "沪教版9年级生物"
+                    },
+                    {
+                        "n": "人教版",
+                        "v": "人教版9年级生物"
+                    },
+                    {
+                        "n": "北师大版",
+                        "v": "北师大版9年级生物"
+                    },
+                    {
+                        "n": "苏教版",
+                        "v": "苏教版9年级生物"
+                    }
+                ]
+            },
+            {
+                "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"
+                    }
+                ]
+            }
+        ],
+        "9年级历史": [
+            {
+                "key": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "n": "沪教版",
+                        "v": "沪教版9年级历史"
+                    },
+                    {
+                        "n": "人教版",
+                        "v": "人教版9年级历史"
+                    },
+                    {
+                        "n": "北师大版",
+                        "v": "北师大版9年级历史"
+                    },
+                    {
+                        "n": "苏教版",
+                        "v": "苏教版9年级历史"
+                    }
+                ]
+            },
+            {
+                "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": "0"
+                    },
+                    {
+                        "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": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "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": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "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": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "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": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "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": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "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": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "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": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "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": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "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": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "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": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "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": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "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": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "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": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "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": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "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": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "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": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "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": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "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": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "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": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "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": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "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": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "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": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "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": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "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": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "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": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "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": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "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"
+                    }
+                ]
+            }
+        ]
+    }
+}

+ 1051 - 0
Local_qiqi/南风/json/小学课堂.json

@@ -0,0 +1,1051 @@
+{
+    "cookie": "SESSDATA=7624af93%2C1696008331%2C862c8%2A42; bili_jct=141a474ef3ce8cf2fedf384e68f6625d; DedeUserID=3493271303096985; DedeUserID__ckMd5=212a836c164605b7",
+    "classes": [
+        {
+            "type_name": "1年级语文",
+            "type_id": "1年级语文"
+        },
+        {
+            "type_name": "1年级数学",
+            "type_id": "1年级数学"
+        },
+        {
+            "type_name": "1年级英语",
+            "type_id": "1年级英语"
+        },
+        {
+            "type_name": "2年级语文",
+            "type_id": "2年级语文"
+        },
+        {
+            "type_name": "2年级数学",
+            "type_id": "2年级数学"
+        },
+        {
+            "type_name": "2年级英语",
+            "type_id": "2年级英语"
+        },
+        {
+            "type_name": "3年级语文",
+            "type_id": "3年级语文"
+        },
+        {
+            "type_name": "3年级数学",
+            "type_id": "3年级数学"
+        },
+        {
+            "type_name": "3年级英语",
+            "type_id": "3年级英语"
+        },
+        {
+            "type_name": "4年级语文",
+            "type_id": "4年级语文"
+        },
+        {
+            "type_name": "4年级数学",
+            "type_id": "4年级数学"
+        },
+        {
+            "type_name": "4年级英语",
+            "type_id": "4年级英语"
+        },
+        {
+            "type_name": "5年级语文",
+            "type_id": "5年级语文"
+        },
+        {
+            "type_name": "5年级数学",
+            "type_id": "5年级数学"
+        },
+        {
+            "type_name": "5年级英语",
+            "type_id": "5年级英语"
+        },
+        {
+            "type_name": "6年级语文",
+            "type_id": "6年级语文"
+        },
+        {
+            "type_name": "6年级数学",
+            "type_id": "6年级数学"
+        },
+        {
+            "type_name": "6年级英语",
+            "type_id": "6年级英语"
+        }
+    ],
+    "filter": {
+        "1年级语文": [
+            {
+                "key": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "n": "沪教版",
+                        "v": "沪教版1年级语文"
+                    },
+                    {
+                        "n": "人教版",
+                        "v": "人教版1年级语文"
+                    },
+                    {
+                        "n": "北师大版",
+                        "v": "北师大版1年级语文"
+                    },
+                    {
+                        "n": "苏教版",
+                        "v": "苏教版1年级语文"
+                    }
+                ]
+            },
+            {
+                "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"
+                    }
+                ]
+            }
+        ],
+        "1年级英语": [
+            {
+                "key": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "n": "沪教版",
+                        "v": "沪教版1年级英语"
+                    },
+                    {
+                        "n": "人教版",
+                        "v": "人教版1年级英语"
+                    },
+                    {
+                        "n": "北师大版",
+                        "v": "北师大版1年级英语"
+                    },
+                    {
+                        "n": "苏教版",
+                        "v": "苏教版1年级英语"
+                    }
+                ]
+            },
+            {
+                "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"
+                    }
+                ]
+            }
+        ],
+        "1年级数学": [
+            {
+                "key": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "n": "沪教版",
+                        "v": "沪教版1年级数学"
+                    },
+                    {
+                        "n": "人教版",
+                        "v": "人教版1年级数学"
+                    },
+                    {
+                        "n": "北师大版",
+                        "v": "北师大版1年级数学"
+                    },
+                    {
+                        "n": "苏教版",
+                        "v": "苏教版1年级数学"
+                    }
+                ]
+            },
+            {
+                "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"
+                    }
+                ]
+            }
+        ],
+        "2年级语文": [
+            {
+                "key": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "n": "沪教版",
+                        "v": "沪教版2年级语文"
+                    },
+                    {
+                        "n": "人教版",
+                        "v": "人教版2年级语文"
+                    },
+                    {
+                        "n": "北师大版",
+                        "v": "北师大版2年级语文"
+                    },
+                    {
+                        "n": "苏教版",
+                        "v": "苏教版2年级语文"
+                    }
+                ]
+            },
+            {
+                "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"
+                    }
+                ]
+            }
+        ],
+        "2年级英语": [
+            {
+                "key": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "n": "沪教版",
+                        "v": "沪教版2年级英语"
+                    },
+                    {
+                        "n": "人教版",
+                        "v": "人教版2年级英语"
+                    },
+                    {
+                        "n": "北师大版",
+                        "v": "北师大版2年级英语"
+                    },
+                    {
+                        "n": "苏教版",
+                        "v": "苏教版2年级英语"
+                    }
+                ]
+            },
+            {
+                "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"
+                    }
+                ]
+            }
+        ],
+        "2年级数学": [
+            {
+                "key": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "n": "沪教版",
+                        "v": "沪教版2年级数学"
+                    },
+                    {
+                        "n": "人教版",
+                        "v": "人教版2年级数学"
+                    },
+                    {
+                        "n": "北师大版",
+                        "v": "北师大版2年级数学"
+                    },
+                    {
+                        "n": "苏教版",
+                        "v": "苏教版2年级数学"
+                    }
+                ]
+            },
+            {
+                "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"
+                    }
+                ]
+            }
+        ],
+        "3年级语文": [
+            {
+                "key": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "n": "沪教版",
+                        "v": "沪教版3年级语文"
+                    },
+                    {
+                        "n": "人教版",
+                        "v": "人教版3年级语文"
+                    },
+                    {
+                        "n": "北师大版",
+                        "v": "北师大版3年级语文"
+                    },
+                    {
+                        "n": "苏教版",
+                        "v": "苏教版3年级语文"
+                    }
+                ]
+            },
+            {
+                "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"
+                    }
+                ]
+            }
+        ],
+        "3年级英语": [
+            {
+                "key": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "n": "沪教版",
+                        "v": "沪教版3年级英语"
+                    },
+                    {
+                        "n": "人教版",
+                        "v": "人教版3年级英语"
+                    },
+                    {
+                        "n": "北师大版",
+                        "v": "北师大版3年级英语"
+                    },
+                    {
+                        "n": "苏教版",
+                        "v": "苏教版3年级英语"
+                    }
+                ]
+            },
+            {
+                "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"
+                    }
+                ]
+            }
+        ],
+        "3年级数学": [
+            {
+                "key": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "n": "沪教版",
+                        "v": "沪教版3年级数学"
+                    },
+                    {
+                        "n": "人教版",
+                        "v": "人教版3年级数学"
+                    },
+                    {
+                        "n": "北师大版",
+                        "v": "北师大版3年级数学"
+                    },
+                    {
+                        "n": "苏教版",
+                        "v": "苏教版3年级数学"
+                    }
+                ]
+            },
+            {
+                "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"
+                    }
+                ]
+            }
+        ],
+        "4年级语文": [
+            {
+                "key": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "n": "沪教版",
+                        "v": "沪教版4年级语文"
+                    },
+                    {
+                        "n": "人教版",
+                        "v": "人教版4年级语文"
+                    },
+                    {
+                        "n": "北师大版",
+                        "v": "北师大版4年级语文"
+                    },
+                    {
+                        "n": "苏教版",
+                        "v": "苏教版4年级语文"
+                    }
+                ]
+            },
+            {
+                "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"
+                    }
+                ]
+            }
+        ],
+        "4年级英语": [
+            {
+                "key": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "n": "沪教版",
+                        "v": "沪教版4年级英语"
+                    },
+                    {
+                        "n": "人教版",
+                        "v": "人教版4年级英语"
+                    },
+                    {
+                        "n": "北师大版",
+                        "v": "北师大版4年级英语"
+                    },
+                    {
+                        "n": "苏教版",
+                        "v": "苏教版4年级英语"
+                    }
+                ]
+            },
+            {
+                "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"
+                    }
+                ]
+            }
+        ],
+        "4年级数学": [
+            {
+                "key": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "n": "沪教版",
+                        "v": "沪教版4年级数学"
+                    },
+                    {
+                        "n": "人教版",
+                        "v": "人教版4年级数学"
+                    },
+                    {
+                        "n": "北师大版",
+                        "v": "北师大版4年级数学"
+                    },
+                    {
+                        "n": "苏教版",
+                        "v": "苏教版4年级数学"
+                    }
+                ]
+            },
+            {
+                "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"
+                    }
+                ]
+            }
+        ],
+        "5年级语文": [
+            {
+                "key": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "n": "沪教版",
+                        "v": "沪教版5年级语文"
+                    },
+                    {
+                        "n": "人教版",
+                        "v": "人教版5年级语文"
+                    },
+                    {
+                        "n": "北师大版",
+                        "v": "北师大版5年级语文"
+                    },
+                    {
+                        "n": "苏教版",
+                        "v": "苏教版5年级语文"
+                    }
+                ]
+            },
+            {
+                "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"
+                    }
+                ]
+            }
+        ],
+        "5年级英语": [
+            {
+                "key": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "n": "沪教版",
+                        "v": "沪教版5年级英语"
+                    },
+                    {
+                        "n": "人教版",
+                        "v": "人教版5年级英语"
+                    },
+                    {
+                        "n": "北师大版",
+                        "v": "北师大版5年级英语"
+                    },
+                    {
+                        "n": "苏教版",
+                        "v": "苏教版5年级英语"
+                    }
+                ]
+            },
+            {
+                "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"
+                    }
+                ]
+            }
+        ],
+        "5年级数学": [
+            {
+                "key": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "n": "沪教版",
+                        "v": "沪教版5年级数学"
+                    },
+                    {
+                        "n": "人教版",
+                        "v": "人教版5年级数学"
+                    },
+                    {
+                        "n": "北师大版",
+                        "v": "北师大版5年级数学"
+                    },
+                    {
+                        "n": "苏教版",
+                        "v": "苏教版5年级数学"
+                    }
+                ]
+            },
+            {
+                "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"
+                    }
+                ]
+            }
+        ],
+        "6年级语文": [
+            {
+                "key": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "n": "沪教版",
+                        "v": "沪教版6年级语文"
+                    },
+                    {
+                        "n": "人教版",
+                        "v": "人教版6年级语文"
+                    },
+                    {
+                        "n": "北师大版",
+                        "v": "北师大版6年级语文"
+                    },
+                    {
+                        "n": "苏教版",
+                        "v": "苏教版6年级语文"
+                    }
+                ]
+            },
+            {
+                "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"
+                    }
+                ]
+            }
+        ],
+        "6年级英语": [
+            {
+                "key": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "n": "沪教版",
+                        "v": "沪教版6年级英语"
+                    },
+                    {
+                        "n": "人教版",
+                        "v": "人教版6年级英语"
+                    },
+                    {
+                        "n": "北师大版",
+                        "v": "北师大版6年级英语"
+                    },
+                    {
+                        "n": "苏教版",
+                        "v": "苏教版6年级英语"
+                    }
+                ]
+            },
+            {
+                "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"
+                    }
+                ]
+            }
+        ],
+        "6年级数学": [
+            {
+                "key": "tid",
+                "name": "分类",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "n": "沪教版",
+                        "v": "沪教版6年级数学"
+                    },
+                    {
+                        "n": "人教版",
+                        "v": "人教版6年级数学"
+                    },
+                    {
+                        "n": "北师大版",
+                        "v": "北师大版6年级数学"
+                    },
+                    {
+                        "n": "苏教版",
+                        "v": "苏教版6年级数学"
+                    }
+                ]
+            },
+            {
+                "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"
+                    }
+                ]
+            }
+        ]
+    }
+}

+ 455 - 0
Local_qiqi/南风/json/少儿教育.json

@@ -0,0 +1,455 @@
+{
+    "cookie": "SESSDATA=7624af93%2C1696008331%2C862c8%2A42; bili_jct=141a474ef3ce8cf2fedf384e68f6625d; DedeUserID=3493271303096985; DedeUserID__ckMd5=212a836c164605b7",
+    "classes": [
+        {
+            "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": "学而思"
+        }
+    ],
+    "filter": {
+        "儿童早教": [
+            {
+                "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "duration",
+                "name": "时长",
+                "value": [
+                    {
+                        "n": "全部",
+                        "v": "0"
+                    },
+                    {
+                        "n": "60分钟以上",
+                        "v": "4"
+                    },
+                    {
+                        "n": "30~60分钟",
+                        "v": "3"
+                    },
+                    {
+                        "n": "10~30分钟",
+                        "v": "2"
+                    },
+                    {
+                        "n": "10分钟以下",
+                        "v": "1"
+                    }
+                ]
+            }
+        ]
+    }
+}

+ 107 - 0
Local_qiqi/南风/json/网盘集合.json

@@ -0,0 +1,107 @@
+[
+  {
+    "share_index": "115&uc&夸克",
+    "share_name": "115-电影大包,21t",
+    "share_id": "swz8hp033xj",
+    "share_pwd":"0000",
+    "share_type":"115"
+  },
+  {
+    "share_index": "115&uc&夸克",
+    "share_name": "115-豆瓣电影Top250_12.65TB",
+    "share_id": "swz8h1h33xj",
+    "share_pwd":"0000",
+    "share_type":"115"
+  },
+  {
+    "share_index": "115&uc&夸克",
+    "share_name": "115-整理好蓝光和4K_2.24PB",
+    "share_id": "swzew4m3nc6",
+    "share_pwd":"i0d7",
+    "share_type":"115"
+  },
+  {
+    "share_index": "夸克",
+    "share_name": "2024新电影",
+    "share_id": "ab5942710e4d"
+  },
+  {
+    "share_index": "115&uc&夸克",
+    "share_name": "微凉夸克国漫",
+    "share_id": "fb6d4c39c83f"
+  },
+  {
+    "share_index": "115&uc&夸克",
+    "share_name": "全球夸克短剧",
+    "share_id": "b9bb20e86c54"
+  },
+  {
+    "share_index": "夸克",
+    "share_name": "夸克热播剧",
+    "share_id": "657d8c2b550f"
+  },
+  {
+    "share_index": "夸克",
+    "share_name": "MTV精选1万首夸克",
+    "share_id": "3e458103b556"
+  },
+
+  {
+    "share_index": "阿里",
+    "share_name": "NBA阿里",
+    "share_id": "hVAgTmqUELD"
+  },
+  {
+    "share_index": "夸克",
+    "share_name": "夸克MV",
+    "share_id": "e10ef5a111e5"
+  },
+  {
+    "share_index": "夸克",
+    "share_name": "短剧夸克",
+    "share_id": "644658aac6df"
+  },
+  {
+    "share_index": "夸克",
+    "share_name": "短剧夸克2",
+    "share_id": "5173a250c8f7"
+  },
+  {
+    "share_index": "阿里",
+    "share_name": "电视剧",
+    "share_id": "tSaJ5yUVmV2"
+  },
+  {
+    "share_index": "阿里",
+    "share_name": "精选欧美热播剧集",
+    "share_id": "Ec27hNz2nRZ"
+  },
+  {
+    "share_index": "阿里",
+    "share_name": "老湿傅阿里",
+    "share_id": "5bsnAp5fbCW"
+  },
+  {
+    "share_index": "阿里",
+    "share_name": "优品阁",
+    "share_id": "uWa9gbM3RJ7"
+  },
+  {
+    "share_index": "阿里",
+    "share_name": "平凡中的",
+    "share_id": "4ydLxf7VgH7"
+  },
+  {
+    "share_index": "阿里",
+    "share_name": "短剧",
+    "share_id": "5Fzz7JFuQyg"
+  },
+  {
+    "share_name": "GRT易和谐电影",
+    "share_id": "6LvWZoQo3nS"
+  },
+  {
+    "share_name": "精选热播日韩剧集",
+    "share_id": "wAUx1kdV6NQ"
+  }
+]

+ 3687 - 0
Local_qiqi/南风/json/高中课堂.json

@@ -0,0 +1,3687 @@
+{
+  "cookie": "SESSDATA=7624af93%2C1696008331%2C862c8%2A42; bili_jct=141a474ef3ce8cf2fedf384e68f6625d; DedeUserID=3493271303096985; DedeUserID__ckMd5=212a836c164605b7",
+  "classes": [
+    {
+      "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": "高三语文",
+      "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": "高中信息技术"
+    }
+  ],
+  "filter": {
+    "1年级语文": [
+      {
+        "key": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "n": "沪教版",
+            "v": "沪教版1年级语文"
+          },
+          {
+            "n": "人教版",
+            "v": "人教版1年级语文"
+          },
+          {
+            "n": "北师大版",
+            "v": "北师大版1年级语文"
+          },
+          {
+            "n": "苏教版",
+            "v": "苏教版1年级语文"
+          }
+        ]
+      },
+      {
+        "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"
+          }
+        ]
+      }
+    ],
+    "1年级英语": [
+      {
+        "key": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "n": "沪教版",
+            "v": "沪教版1年级英语"
+          },
+          {
+            "n": "人教版",
+            "v": "人教版1年级英语"
+          },
+          {
+            "n": "北师大版",
+            "v": "北师大版1年级英语"
+          },
+          {
+            "n": "苏教版",
+            "v": "苏教版1年级英语"
+          }
+        ]
+      },
+      {
+        "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"
+          }
+        ]
+      }
+    ],
+    "1年级数学": [
+      {
+        "key": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "n": "沪教版",
+            "v": "沪教版1年级数学"
+          },
+          {
+            "n": "人教版",
+            "v": "人教版1年级数学"
+          },
+          {
+            "n": "北师大版",
+            "v": "北师大版1年级数学"
+          },
+          {
+            "n": "苏教版",
+            "v": "苏教版1年级数学"
+          }
+        ]
+      },
+      {
+        "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"
+          }
+        ]
+      }
+    ],
+    "2年级语文": [
+      {
+        "key": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "n": "沪教版",
+            "v": "沪教版2年级语文"
+          },
+          {
+            "n": "人教版",
+            "v": "人教版2年级语文"
+          },
+          {
+            "n": "北师大版",
+            "v": "北师大版2年级语文"
+          },
+          {
+            "n": "苏教版",
+            "v": "苏教版2年级语文"
+          }
+        ]
+      },
+      {
+        "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"
+          }
+        ]
+      }
+    ],
+    "2年级英语": [
+      {
+        "key": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "n": "沪教版",
+            "v": "沪教版2年级英语"
+          },
+          {
+            "n": "人教版",
+            "v": "人教版2年级英语"
+          },
+          {
+            "n": "北师大版",
+            "v": "北师大版2年级英语"
+          },
+          {
+            "n": "苏教版",
+            "v": "苏教版2年级英语"
+          }
+        ]
+      },
+      {
+        "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"
+          }
+        ]
+      }
+    ],
+    "2年级数学": [
+      {
+        "key": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "n": "沪教版",
+            "v": "沪教版2年级数学"
+          },
+          {
+            "n": "人教版",
+            "v": "人教版2年级数学"
+          },
+          {
+            "n": "北师大版",
+            "v": "北师大版2年级数学"
+          },
+          {
+            "n": "苏教版",
+            "v": "苏教版2年级数学"
+          }
+        ]
+      },
+      {
+        "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"
+          }
+        ]
+      }
+    ],
+    "3年级语文": [
+      {
+        "key": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "n": "沪教版",
+            "v": "沪教版3年级语文"
+          },
+          {
+            "n": "人教版",
+            "v": "人教版3年级语文"
+          },
+          {
+            "n": "北师大版",
+            "v": "北师大版3年级语文"
+          },
+          {
+            "n": "苏教版",
+            "v": "苏教版3年级语文"
+          }
+        ]
+      },
+      {
+        "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"
+          }
+        ]
+      }
+    ],
+    "3年级英语": [
+      {
+        "key": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "n": "沪教版",
+            "v": "沪教版3年级英语"
+          },
+          {
+            "n": "人教版",
+            "v": "人教版3年级英语"
+          },
+          {
+            "n": "北师大版",
+            "v": "北师大版3年级英语"
+          },
+          {
+            "n": "苏教版",
+            "v": "苏教版3年级英语"
+          }
+        ]
+      },
+      {
+        "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"
+          }
+        ]
+      }
+    ],
+    "3年级数学": [
+      {
+        "key": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "n": "沪教版",
+            "v": "沪教版3年级数学"
+          },
+          {
+            "n": "人教版",
+            "v": "人教版3年级数学"
+          },
+          {
+            "n": "北师大版",
+            "v": "北师大版3年级数学"
+          },
+          {
+            "n": "苏教版",
+            "v": "苏教版3年级数学"
+          }
+        ]
+      },
+      {
+        "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"
+          }
+        ]
+      }
+    ],
+    "4年级语文": [
+      {
+        "key": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "n": "沪教版",
+            "v": "沪教版4年级语文"
+          },
+          {
+            "n": "人教版",
+            "v": "人教版4年级语文"
+          },
+          {
+            "n": "北师大版",
+            "v": "北师大版4年级语文"
+          },
+          {
+            "n": "苏教版",
+            "v": "苏教版4年级语文"
+          }
+        ]
+      },
+      {
+        "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"
+          }
+        ]
+      }
+    ],
+    "4年级英语": [
+      {
+        "key": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "n": "沪教版",
+            "v": "沪教版4年级英语"
+          },
+          {
+            "n": "人教版",
+            "v": "人教版4年级英语"
+          },
+          {
+            "n": "北师大版",
+            "v": "北师大版4年级英语"
+          },
+          {
+            "n": "苏教版",
+            "v": "苏教版4年级英语"
+          }
+        ]
+      },
+      {
+        "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"
+          }
+        ]
+      }
+    ],
+    "4年级数学": [
+      {
+        "key": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "n": "沪教版",
+            "v": "沪教版4年级数学"
+          },
+          {
+            "n": "人教版",
+            "v": "人教版4年级数学"
+          },
+          {
+            "n": "北师大版",
+            "v": "北师大版4年级数学"
+          },
+          {
+            "n": "苏教版",
+            "v": "苏教版4年级数学"
+          }
+        ]
+      },
+      {
+        "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"
+          }
+        ]
+      }
+    ],
+    "5年级语文": [
+      {
+        "key": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "n": "沪教版",
+            "v": "沪教版5年级语文"
+          },
+          {
+            "n": "人教版",
+            "v": "人教版5年级语文"
+          },
+          {
+            "n": "北师大版",
+            "v": "北师大版5年级语文"
+          },
+          {
+            "n": "苏教版",
+            "v": "苏教版5年级语文"
+          }
+        ]
+      },
+      {
+        "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"
+          }
+        ]
+      }
+    ],
+    "5年级英语": [
+      {
+        "key": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "n": "沪教版",
+            "v": "沪教版5年级英语"
+          },
+          {
+            "n": "人教版",
+            "v": "人教版5年级英语"
+          },
+          {
+            "n": "北师大版",
+            "v": "北师大版5年级英语"
+          },
+          {
+            "n": "苏教版",
+            "v": "苏教版5年级英语"
+          }
+        ]
+      },
+      {
+        "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"
+          }
+        ]
+      }
+    ],
+    "5年级数学": [
+      {
+        "key": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "n": "沪教版",
+            "v": "沪教版5年级数学"
+          },
+          {
+            "n": "人教版",
+            "v": "人教版5年级数学"
+          },
+          {
+            "n": "北师大版",
+            "v": "北师大版5年级数学"
+          },
+          {
+            "n": "苏教版",
+            "v": "苏教版5年级数学"
+          }
+        ]
+      },
+      {
+        "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"
+          }
+        ]
+      }
+    ],
+    "6年级语文": [
+      {
+        "key": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "n": "沪教版",
+            "v": "沪教版6年级语文"
+          },
+          {
+            "n": "人教版",
+            "v": "人教版6年级语文"
+          },
+          {
+            "n": "北师大版",
+            "v": "北师大版6年级语文"
+          },
+          {
+            "n": "苏教版",
+            "v": "苏教版6年级语文"
+          }
+        ]
+      },
+      {
+        "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"
+          }
+        ]
+      }
+    ],
+    "6年级英语": [
+      {
+        "key": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "n": "沪教版",
+            "v": "沪教版6年级英语"
+          },
+          {
+            "n": "人教版",
+            "v": "人教版6年级英语"
+          },
+          {
+            "n": "北师大版",
+            "v": "北师大版6年级英语"
+          },
+          {
+            "n": "苏教版",
+            "v": "苏教版6年级英语"
+          }
+        ]
+      },
+      {
+        "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"
+          }
+        ]
+      }
+    ],
+    "6年级数学": [
+      {
+        "key": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "n": "沪教版",
+            "v": "沪教版6年级数学"
+          },
+          {
+            "n": "人教版",
+            "v": "人教版6年级数学"
+          },
+          {
+            "n": "北师大版",
+            "v": "北师大版6年级数学"
+          },
+          {
+            "n": "苏教版",
+            "v": "苏教版6年级数学"
+          }
+        ]
+      },
+      {
+        "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"
+          }
+        ]
+      }
+    ],
+    "7年级语文": [
+      {
+        "key": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "n": "沪教版",
+            "v": "沪教版7年级语文"
+          },
+          {
+            "n": "人教版",
+            "v": "人教版7年级语文"
+          },
+          {
+            "n": "北师大版",
+            "v": "北师大版7年级语文"
+          },
+          {
+            "n": "苏教版",
+            "v": "苏教版7年级语文"
+          }
+        ]
+      },
+      {
+        "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"
+          }
+        ]
+      }
+    ],
+    "7年级英语": [
+      {
+        "key": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "n": "沪教版",
+            "v": "沪教版7年级英语"
+          },
+          {
+            "n": "人教版",
+            "v": "人教版7年级英语"
+          },
+          {
+            "n": "北师大版",
+            "v": "北师大版7年级英语"
+          },
+          {
+            "n": "苏教版",
+            "v": "苏教版7年级英语"
+          }
+        ]
+      },
+      {
+        "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"
+          }
+        ]
+      }
+    ],
+    "7年级数学": [
+      {
+        "key": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "n": "沪教版",
+            "v": "沪教版7年级数学"
+          },
+          {
+            "n": "人教版",
+            "v": "人教版7年级数学"
+          },
+          {
+            "n": "北师大版",
+            "v": "北师大版7年级数学"
+          },
+          {
+            "n": "苏教版",
+            "v": "苏教版7年级数学"
+          }
+        ]
+      },
+      {
+        "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"
+          }
+        ]
+      }
+    ],
+    "7年级化学": [
+      {
+        "key": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "n": "沪教版",
+            "v": "沪教版7年级化学"
+          },
+          {
+            "n": "人教版",
+            "v": "人教版7年级化学"
+          },
+          {
+            "n": "北师大版",
+            "v": "北师大版7年级化学"
+          },
+          {
+            "n": "苏教版",
+            "v": "苏教版7年级化学"
+          }
+        ]
+      },
+      {
+        "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"
+          }
+        ]
+      }
+    ],
+    "7年级物理": [
+      {
+        "key": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "n": "沪教版",
+            "v": "沪教版7年级物理"
+          },
+          {
+            "n": "人教版",
+            "v": "人教版7年级物理"
+          },
+          {
+            "n": "北师大版",
+            "v": "北师大版7年级物理"
+          },
+          {
+            "n": "苏教版",
+            "v": "苏教版7年级物理"
+          }
+        ]
+      },
+      {
+        "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"
+          }
+        ]
+      }
+    ],
+    "7年级生物": [
+      {
+        "key": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "n": "沪教版",
+            "v": "沪教版7年级生物"
+          },
+          {
+            "n": "人教版",
+            "v": "人教版7年级生物"
+          },
+          {
+            "n": "北师大版",
+            "v": "北师大版7年级生物"
+          },
+          {
+            "n": "苏教版",
+            "v": "苏教版7年级生物"
+          }
+        ]
+      },
+      {
+        "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"
+          }
+        ]
+      }
+    ],
+    "7年级历史": [
+      {
+        "key": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "n": "沪教版",
+            "v": "沪教版7年级历史"
+          },
+          {
+            "n": "人教版",
+            "v": "人教版7年级历史"
+          },
+          {
+            "n": "北师大版",
+            "v": "北师大版7年级历史"
+          },
+          {
+            "n": "苏教版",
+            "v": "苏教版7年级历史"
+          }
+        ]
+      },
+      {
+        "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"
+          }
+        ]
+      }
+    ],
+    "8年级语文": [
+      {
+        "key": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "n": "沪教版",
+            "v": "沪教版8年级语文"
+          },
+          {
+            "n": "人教版",
+            "v": "人教版8年级语文"
+          },
+          {
+            "n": "北师大版",
+            "v": "北师大版8年级语文"
+          },
+          {
+            "n": "苏教版",
+            "v": "苏教版8年级语文"
+          }
+        ]
+      },
+      {
+        "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"
+          }
+        ]
+      }
+    ],
+    "8年级英语": [
+      {
+        "key": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "n": "沪教版",
+            "v": "沪教版8年级英语"
+          },
+          {
+            "n": "人教版",
+            "v": "人教版8年级英语"
+          },
+          {
+            "n": "北师大版",
+            "v": "北师大版8年级英语"
+          },
+          {
+            "n": "苏教版",
+            "v": "苏教版8年级英语"
+          }
+        ]
+      },
+      {
+        "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"
+          }
+        ]
+      }
+    ],
+    "8年级数学": [
+      {
+        "key": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "n": "沪教版",
+            "v": "沪教版8年级数学"
+          },
+          {
+            "n": "人教版",
+            "v": "人教版8年级数学"
+          },
+          {
+            "n": "北师大版",
+            "v": "北师大版8年级数学"
+          },
+          {
+            "n": "苏教版",
+            "v": "苏教版8年级数学"
+          }
+        ]
+      },
+      {
+        "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"
+          }
+        ]
+      }
+    ],
+    "8年级化学": [
+      {
+        "key": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "n": "沪教版",
+            "v": "沪教版8年级化学"
+          },
+          {
+            "n": "人教版",
+            "v": "人教版8年级化学"
+          },
+          {
+            "n": "北师大版",
+            "v": "北师大版8年级化学"
+          },
+          {
+            "n": "苏教版",
+            "v": "苏教版8年级化学"
+          }
+        ]
+      },
+      {
+        "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"
+          }
+        ]
+      }
+    ],
+    "8年级物理": [
+      {
+        "key": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "n": "沪教版",
+            "v": "沪教版8年级物理"
+          },
+          {
+            "n": "人教版",
+            "v": "人教版8年级物理"
+          },
+          {
+            "n": "北师大版",
+            "v": "北师大版8年级物理"
+          },
+          {
+            "n": "苏教版",
+            "v": "苏教版8年级物理"
+          }
+        ]
+      },
+      {
+        "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"
+          }
+        ]
+      }
+    ],
+    "8年级生物": [
+      {
+        "key": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "n": "沪教版",
+            "v": "沪教版8年级生物"
+          },
+          {
+            "n": "人教版",
+            "v": "人教版8年级生物"
+          },
+          {
+            "n": "北师大版",
+            "v": "北师大版8年级生物"
+          },
+          {
+            "n": "苏教版",
+            "v": "苏教版8年级生物"
+          }
+        ]
+      },
+      {
+        "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"
+          }
+        ]
+      }
+    ],
+    "8年级历史": [
+      {
+        "key": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "n": "沪教版",
+            "v": "沪教版8年级历史"
+          },
+          {
+            "n": "人教版",
+            "v": "人教版8年级历史"
+          },
+          {
+            "n": "北师大版",
+            "v": "北师大版8年级历史"
+          },
+          {
+            "n": "苏教版",
+            "v": "苏教版8年级历史"
+          }
+        ]
+      },
+      {
+        "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"
+          }
+        ]
+      }
+    ],
+    "9年级语文": [
+      {
+        "key": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "n": "沪教版",
+            "v": "沪教版9年级语文"
+          },
+          {
+            "n": "人教版",
+            "v": "人教版9年级语文"
+          },
+          {
+            "n": "北师大版",
+            "v": "北师大版9年级语文"
+          },
+          {
+            "n": "苏教版",
+            "v": "苏教版9年级语文"
+          }
+        ]
+      },
+      {
+        "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"
+          }
+        ]
+      }
+    ],
+    "9年级英语": [
+      {
+        "key": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "n": "沪教版",
+            "v": "沪教版9年级英语"
+          },
+          {
+            "n": "人教版",
+            "v": "人教版9年级英语"
+          },
+          {
+            "n": "北师大版",
+            "v": "北师大版9年级英语"
+          },
+          {
+            "n": "苏教版",
+            "v": "苏教版9年级英语"
+          }
+        ]
+      },
+      {
+        "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"
+          }
+        ]
+      }
+    ],
+    "9年级数学": [
+      {
+        "key": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "n": "沪教版",
+            "v": "沪教版9年级数学"
+          },
+          {
+            "n": "人教版",
+            "v": "人教版9年级数学"
+          },
+          {
+            "n": "北师大版",
+            "v": "北师大版9年级数学"
+          },
+          {
+            "n": "苏教版",
+            "v": "苏教版9年级数学"
+          }
+        ]
+      },
+      {
+        "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"
+          }
+        ]
+      }
+    ],
+    "9年级化学": [
+      {
+        "key": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "n": "沪教版",
+            "v": "沪教版9年级化学"
+          },
+          {
+            "n": "人教版",
+            "v": "人教版9年级化学"
+          },
+          {
+            "n": "北师大版",
+            "v": "北师大版9年级化学"
+          },
+          {
+            "n": "苏教版",
+            "v": "苏教版9年级化学"
+          }
+        ]
+      },
+      {
+        "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"
+          }
+        ]
+      }
+    ],
+    "9年级物理": [
+      {
+        "key": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "n": "沪教版",
+            "v": "沪教版9年级物理"
+          },
+          {
+            "n": "人教版",
+            "v": "人教版9年级物理"
+          },
+          {
+            "n": "北师大版",
+            "v": "北师大版9年级物理"
+          },
+          {
+            "n": "苏教版",
+            "v": "苏教版9年级物理"
+          }
+        ]
+      },
+      {
+        "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"
+          }
+        ]
+      }
+    ],
+    "9年级生物": [
+      {
+        "key": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "n": "沪教版",
+            "v": "沪教版9年级生物"
+          },
+          {
+            "n": "人教版",
+            "v": "人教版9年级生物"
+          },
+          {
+            "n": "北师大版",
+            "v": "北师大版9年级生物"
+          },
+          {
+            "n": "苏教版",
+            "v": "苏教版9年级生物"
+          }
+        ]
+      },
+      {
+        "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"
+          }
+        ]
+      }
+    ],
+    "9年级历史": [
+      {
+        "key": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "n": "沪教版",
+            "v": "沪教版9年级历史"
+          },
+          {
+            "n": "人教版",
+            "v": "人教版9年级历史"
+          },
+          {
+            "n": "北师大版",
+            "v": "北师大版9年级历史"
+          },
+          {
+            "n": "苏教版",
+            "v": "苏教版9年级历史"
+          }
+        ]
+      },
+      {
+        "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": "0"
+          },
+          {
+            "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": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "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": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "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": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "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": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "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": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "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": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "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": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "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": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "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": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "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": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "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": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "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": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "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": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "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": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "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": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "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": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "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": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "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": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "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": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "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": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "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": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "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": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "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": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "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": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "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": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "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": "tid",
+        "name": "分类",
+        "value": [
+          {
+            "n": "全部",
+            "v": "0"
+          },
+          {
+            "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"
+          }
+        ]
+      }
+    ]
+  }
+}

+ 1151 - 0
Local_qiqi/南风/lives/Yoursmile.txt

@@ -0,0 +1,1151 @@
+央视,#genre#
+CCTV-1,http://www.furymax.top:85/rtp/239.254.96.96:8550
+CCTV-1,http://60.7.56.33:4000/rtp/239.253.92.83:8012$1920x1080
+CCTV-2,http://sweetown.fun:4000/rtp/239.3.1.60:8084$1920x1080
+CCTV-2,http://60.7.56.33:4000/rtp/239.253.92.190:6065$1920x1080
+CCTV-3,http://223.166.234.215:7777/tsfile/live/0003_1.m3u8
+CCTV-3,http://124.230.56.27:55555/udp/239.76.246.153:1234
+CCTV-4,http://60.7.56.33:4000/rtp/239.253.93.192:6370$1920x1080
+CCTV-4,http://sweetown.fun:4000/rtp/239.3.1.105:8092$1920x1080
+CCTV-5,http://60.7.56.33:4000/rtp/239.253.92.181:6046$1920x1080
+CCTV-5,http://sweetown.fun:4000/rtp/239.3.1.173:8001$1920x1080
+CCTV-5+,http://60.7.56.33:4000/rtp/239.253.92.82:8013$1920x1080
+CCTV-6,http://60.7.56.33:4000/rtp/239.253.92.193:6058$1920x1080
+CCTV-7,http://183.66.13.82:60033/tsfile/live/0007_1.m3u8
+CCTV-7,http://111.160.17.2:59901/tsfile/live/0001_8.m3u8
+CCTV-8,http://223.105.252.57/PLTV/3/224/3221228165/index.m3u8?servicetype=1
+CCTV-9,http://z.b.bkpcp.top/m.php?id=cctv9\
+CCTV-9,http://sweetown.fun:4000/rtp/239.3.1.62:8112$1920x1080
+CCTV-10,http://z.b.bkpcp.top/m.php?id=cctv10\
+CCTV-11,http://sweetown.fun:4000/rtp/239.3.1.152:8120$1920x1080
+CCTV-12,http://60.7.56.33:4000/rtp/239.253.92.197:6062$1920x1080
+CCTV-13,http://sweetown.fun:4000/rtp/239.3.1.124:8128$1920x1080
+CCTV-14,http://z.b.bkpcp.top/m.php?id=cctv14\
+CCTV-15,http://sweetown.fun:4000/rtp/239.3.1.153:8136$1920x1080
+CCTV-16,http://z.b.bkpcp.top/m.php?id=cctv16\
+
+
+卫视,#genre#
+广东卫视,http://sweetown.fun:4000/rtp/239.3.1.142:8048$1920x1080
+浙江卫视,http://sweetown.fun:4000/rtp/239.3.1.137:8036$1920x1080
+湖北卫视,http://sweetown.fun:4000/rtp/239.3.1.138:8044$1920x1080
+东南卫视,http://60.7.56.33:4000/rtp/239.253.92.201:6146$1920x1080
+东南卫视,http://sweetown.fun:4000/rtp/239.3.1.156:8148$1920x1080
+甘肃卫视,http://sweetown.fun:4000/rtp/239.3.1.49:8188$720x576
+贵州卫视,http://sweetown.fun:4000/rtp/239.3.1.149:8076$1920x1080
+海南卫视,http://sweetown.fun:4000/rtp/239.3.1.45:8304$720x576
+吉林卫视,http://sweetown.fun:4000/rtp/239.3.1.240:8172$1920x1080
+江西卫视,http://sweetown.fun:4000/rtp/239.3.1.123:8164$1920x1080
+辽宁卫视,http://sweetown.fun:4000/rtp/239.3.1.210:8056$1920x1080
+山西卫视,http://sweetown.fun:4000/rtp/239.3.1.42:8172$720x576
+陕西卫视,http://sweetown.fun:4000/rtp/239.3.1.41:8140$720x576
+四川卫视,http://sweetown.fun:4000/rtp/239.3.1.29:8288$720x576
+三沙卫视,http://sweetown.fun:4000/rtp/239.3.1.155:4120$720x576
+天津卫视,http://60.7.56.33:4000/rtp/239.253.92.91:8021$1920x1080
+新疆卫视,http://sweetown.fun:4000/rtp/239.3.1.48:8160$720x576
+青海卫视,http://stream.qhbtv.com/qhws/sd/live.m3u8
+延边卫视,http://live.ybtvyun.com/video/s10006-44f040627ca1/index.m3u8
+延边卫视,http://live.ybtvyun.com/video/s10006-28bc40431485/index.m3u8
+三沙卫视,https://pullsstv90080111.ssws.tv/live/SSTV20220729.m3u8
+安多卫视,http://stream.qhbtv.com/adws/sd/live.m3u8
+三沙卫视,https://pullsstv90080111.ssws.tv/live/SSTV20220729.m3u8
+青海卫视,http://stream.qhbtv.com/qhws/sd/live.m3u8?_upt=f35a89681647856030
+青海卫视,http://stream.qhbtv.com/qhws/sd/live.m3u8?_upt=63cf437e1591689484
+康巴卫视,http://111.202.12.159:8080/kYGHWzA/1000/live.m3u8
+康巴卫视,http://111.202.12.159:8080/3zvkK28/1000/live.m3u8
+延边卫视,http://live.ybtvyun.com/video/s10016-7e5f23de35df/index.m3u8
+深圳卫视,http://api3.52tb.xyz/info?id=28&token=20230227aesvnb
+东南卫视,http://api3.52tb.xyz/info?id=29&token=20230227aesvnb
+河南卫视,http://api3.52tb.xyz/info?id=31&token=20230227aesvnb
+海南卫视,http://api3.52tb.xyz/info?id=38&token=20230227aesvnb
+吉林卫视,http://api3.52tb.xyz/info?id=40&token=20230227aesvnb
+青海卫视,http://stream.qhbtv.com/qhws/sd/live.m3u8?_upt=f35a89681647856030
+青海卫视,http://stream.qhbtv.com/qhws/sd/live.m3u8?_upt=1da074361609506578
+青海卫视,http://stream.qhbtv.com/qhws/sd/live.m3u8?_upt=63cf437e1591689484
+青海卫视,http://stream.qhbtv.com/qhws/sd/live.m3u8
+三沙卫视,https://pullsstv90080111.ssws.tv/live/SSTV20220729.m3u8
+延边卫视,http://live.ybtvyun.com/video/s10016-6f0dfd97912f/index.m3u8
+延边卫视,http://live.ybtvyun.com/video/s10006-44f040627ca1/index.m3u8
+延边卫视,http://live.ybtvyun.com/video/s10006-90fe76c52091/index.m3u8
+
+
+IPV6,#genre#
+CCTV-1 综合,http://[2409:8087:74d9:21::6]:80/270000001128/9900000001/index.m3u8
+CCTV-2 财经,http://[2409:8087:74d9:21::6]:80/270000001128/9900000502/index.m3u8
+CCTV-3 综艺,http://[2409:8087:74d9:21::6]:80/270000001128/9900000003/index.m3u8
+CCTV-4 中文国际,http://[2409:8087:74d9:21::6]:80/270000001128/9900000503/index.m3u8
+CCTV-5 体育,http://[2409:8087:74d9:21::6]:80/270000001128/9900000005/index.m3u8
+CCTV-5+ 体育赛事,http://[2409:8087:74d9:21::6]:80/270000001128/9900000507/index.m3u8
+CCTV-6 电影,http://[2409:8087:74d9:21::6]:80/270000001128/9900000006/index.m3u8
+CCTV-7 国防军事,http://[2409:8087:74d9:21::6]:80/270000001128/9900000504/index.m3u8
+CCTV-8 电视剧,http://[2409:8087:74d9:21::6]:80/270000001128/9900000008/index.m3u8
+CCTV-9 纪录,http://[2409:8087:74d9:21::6]:80/270000001128/9900000505/index.m3u8
+CCTV-10 科教,http://[2409:8087:74d9:21::6]:80/270000001128/9900000506/index.m3u8
+CCTV-11 戏曲,http://[2409:8087:74d9:21::6]:80/270000001128/9900000508/index.m3u8
+CCTV-12 社会与法,http://[2409:8087:74d9:21::6]:80/270000001128/9900000509/index.m3u8
+CCTV-13 新闻,http://[2409:8087:74d9:21::6]:80/270000001128/9900000510/index.m3u8
+CCTV-14 少儿,http://[2409:8087:74d9:21::6]:80/270000001128/9900000511/index.m3u8
+CCTV-15 音乐,http://[2409:8087:74d9:21::6]:80/270000001128/9900000512/index.m3u8
+CCTV-16 奥林匹克,http://[2409:8087:74d9:21::6]:80/270000001128/9900000016/index.m3u8
+CCTV-17 农业农村,http://[2409:8087:74d9:21::9]:80/270000001128/9900000513/index.m3u8
+CGTN英语,https://0472.org/hls/cgtn.m3u8
+CGTN记录,https://0472.org/hls/cgtnd.m3u8
+CGTN俄语,https://0472.org/hls/cgtne.m3u8
+CGTN法语,https://0472.org/hls/cgtnf.m3u8
+CGTN西语,https://0472.org/hls/cgtnx.m3u8
+CGTN阿语,https://0472.org/hls/cgtna.m3u8
+北京卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000516/index.m3u8
+湖南卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000523/index.m3u8
+东方卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000518/index.m3u8
+四川卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000025/index.m3u8
+天津卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000530/index.m3u8
+安徽卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000514/index.m3u8
+山东卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000527/index.m3u8
+深圳卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000529/index.m3u8
+广东卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000520/index.m3u8
+广西卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000034/index.m3u8
+江苏卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000524/index.m3u8
+江西卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000525/index.m3u8
+河北卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000057/index.m3u8
+河南卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000027/index.m3u8
+浙江卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000531/index.m3u8
+海南卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000037/index.m3u8
+湖北卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000522/index.m3u8
+山西卫视,http://[2409:8087:74d9:21::9]:80/270000001128/9900000053/index.m3u8
+东南卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000519/index.m3u8
+贵州卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000036/index.m3u8
+辽宁卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000526/index.m3u8
+重庆卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000517/index.m3u8
+黑龙江卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000521/index.m3u8
+内蒙古卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000044/index.m3u8
+宁夏卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000047/index.m3u8
+陕西卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000026/index.m3u8
+吉林卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000030/index.m3u8
+甘肃卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000023/index.m3u8
+云南卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000035/index.m3u8
+三沙卫视,http://[2409:8087:5e00:24::1e]:6060/000000001000/4600001000000000117/1.m3u8
+青海卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000042/index.m3u8
+新疆卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000045/index.m3u8
+西藏卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000043/index.m3u8
+农林卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000060/index.m3u8
+兵团卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000059/index.m3u8
+延边卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000073/index.m3u8
+安多卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000064/index.m3u8
+厦门卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000058/index.m3u8
+康巴卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000066/index.m3u8
+大湾区卫视,http://[2409:8087:5e00:24::1e]:6060/000000001000/1000000002000011619/index.m3u8
+CETV-1,http://[2409:8087:74d9:21::6]:80/270000001128/9900000046/index.m3u8
+CETV-2,http://[2409:8087:74d9:21::6]:80/270000001128/9900000071/index.m3u8
+CETV-4,http://[2409:8087:74d9:21::6]:80/270000001128/9900000072/index.m3u8
+山东教育,http://[2409:8087:74d9:21::6]:80/270000001128/9900000067/index.m3u8
+纪实科教,http://[2409:8087:74d9:21::6]:80/270000001128/9900000515/index.m3u8
+乐游频道,http://[2409:8087:5e00:24::1e]:6060/000000001000/5000000011000031112/1.m3u8
+欢笑剧场,http://[2409:8087:74d9:21::6]:80/000000001000PLTV/88888888/224/3221226203/index.m3u8
+都市剧场,http://[2409:8087:74d9:21::6]:80/000000001000PLTV/88888888/224/3221226176/index.m3u8
+卡酷少儿,http://[2409:8087:74d9:21::6]:80/270000001128/9900000040/index.m3u8
+金鹰卡通,http://[2409:8087:74d9:21::6]:80/270000001128/9900000039/index.m3u8
+金鹰纪实,http://[2409:8087:5e00:24::1e]:6060/000000001000/5000000011000031203/1.m3u8
+快乐垂钓,http://[2409:8087:5e08:24::11]:6610/000000001000/5000000011000031206/index.m3u8?channel-id=bestzb&Contentid=5000000011000031206&livemode=1&stbId=3
+茶友频道,http://[2409:8087:5e00:24::1e]:6060/000000001000/5000000011000031209/1.m3u8
+游戏风云,http://[2409:8087:5e00:24::1e]:6060/000000001000/5000000011000031114/1.m3u8
+动漫秀场,http://[2409:8087:5e00:24::1e]:6060/000000001000/5000000011000031113/1.m3u8
+嘉佳卡通,http://[2409:8087:5e00:24::1e]:6060/000000001000/1000000002000025964/1.m3u8
+哒啵赛事,http://[2409:8087:74d9:21::6]:80/270000001128/9900000097/index.m3u8
+哒啵电竞,http://[2409:8087:5e01:24::16]:6610/000000001000/2000000003000000066/index.m3u8?stbId=3&livemode=1&HlsProfileId=&channel-id=hnbblive&Contentid=2000000003000000066&IASHttpSessionId=OTT19019320240419154124000281
+优漫卡通,http://[2409:8087:74d9:21::6]:80/270000001128/9900000070/index.m3u8
+哈哈炫动,http://[2409:8087:74d9:21::6]:80/270000001128/9900000069/index.m3u8
+黑莓动画,http://[2409:8087:74d9:21::6]:80/270000001128/9900000096/index.m3u8
+黑莓电影,http://[2409:8087:74d9:21::6]:80/270000001128/9900000095/index.m3u8
+求索纪录,http://[2409:8087:5e01:24::16]:6610/000000001000/2000000004000000010/index.m3u8?stbId=3&livemode=1&HlsProfileId=&channel-id=hnbblive&Contentid=2000000004000000010&IASHttpSessionId=OTT19019320240419154124000281
+求索生活,http://[2409:8087:5e01:24::16]:6610/000000001000/2000000004000000008/index.m3u8?stbId=3&livemode=1&HlsProfileId=&channel-id=hnbblive&Contentid=2000000004000000008&IASHttpSessionId=OTT19019320240419154124000281
+求索动物,http://[2409:8087:5e01:24::16]:6610/000000001000/2000000004000000009/index.m3u8?stbId=3&livemode=1&HlsProfileId=&channel-id=hnbblive&Contentid=2000000004000000009&IASHttpSessionId=OTT19019320240419154124000281
+求索科学,http://[2409:8087:5e01:24::16]:6610/000000001000/2000000004000000011/index.m3u8?stbId=3&livemode=1&HlsProfileId=&channel-id=hnbblive&Contentid=2000000004000000011&IASHttpSessionId=OTT19019320240419154124000281
+睛彩竞技,http://[2409:8087:74d9:21::6]:80/270000001128/9900000119/index.m3u8
+睛彩篮球,http://[2409:8087:74d9:21::6]:80/270000001128/9900000118/index.m3u8
+睛彩青少,http://[2409:8087:74d9:21::6]:80/270000001128/9900000120/index.m3u8
+超级体育,http://[2409:8087:74d9:21::6]:80/270000001128/9900000020/index.m3u8
+超级电影,http://[2409:8087:74d9:21::6]:80/270000001128/9900000021/index.m3u8
+超级视剧,http://[2409:8087:74d9:21::6]:80/270000001128/9900000022/index.m3u8
+东北热剧,http://[2409:8087:74d9:21::6]:80/270000001128/9900000092/index.m3u8
+海外剧场,http://[2409:8087:74d9:21::6]:80/270000001128/9900000115/index.m3u8
+中国功夫,http://[2409:8087:74d9:21::6]:80/270000001128/9900000101/index.m3u8
+军旅剧场,http://[2409:8087:74d9:21::6]:80/270000001128/9900000107/index.m3u8
+惊悚悬疑,http://[2409:8087:74d9:21::6]:80/270000001128/9900000113/index.m3u8
+潮妈辣婆,http://[2409:8087:74d9:21::6]:80/270000001128/9900000099/index.m3u8
+精品体育,http://[2409:8087:74d9:21::6]:80/270000001128/9900000102/index.m3u8
+精品纪录,http://[2409:8087:74d9:21::6]:80/270000001128/9900000109/index.m3u8
+家庭剧场,http://[2409:8087:74d9:21::6]:80/270000001128/9900000108/index.m3u8
+精品大剧,http://[2409:8087:74d9:21::6]:80/270000001128/9900000100/index.m3u8
+军事评论,http://[2409:8087:74d9:21::6]:80/270000001128/9900000110/index.m3u8
+明星大片,http://[2409:8087:74d9:21::6]:80/270000001128/9900000116/index.m3u8
+欢乐剧场,http://[2409:8087:74d9:21::6]:80/270000001128/9900000091/index.m3u8
+精品萌宠,http://[2409:8087:74d9:21::6]:80/270000001128/9900000122/index.m3u8
+超级综艺,http://[2409:8087:74d9:21::6]:80/270000001128/9900000019/index.m3u8
+金牌综艺,http://[2409:8087:74d9:21::6]:80/270000001128/9900000112/index.m3u8
+炫舞未来,http://[2409:8087:74d9:21::6]:80/270000001128/9900000098/index.m3u8
+上海新闻,http://[2409:8087:5e01:24::16]:6610/000000001000/2000000002000000005/index.m3u8?stbId=3&livemode=1&HlsProfileId=&channel-id=hnbblive&Contentid=2000000002000000005&IASHttpSessionId=OTT19019320240419154124000281
+上海都市,http://[2409:8087:5e01:24::16]:6610/000000001000/2000000002000000012/index.m3u8?stbId=3&livemode=1&HlsProfileId=&channel-id=hnbblive&Contentid=2000000002000000012&IASHttpSessionId=OTT19019320240419154124000281
+上海外语,http://[2409:8087:5e01:24::16]:6610/000000001000/2000000002000000001/index.m3u8?stbId=3&livemode=1&HlsProfileId=&channel-id=hnbblive&Contentid=2000000002000000001&IASHttpSessionId=OTT19019320240419154124000281
+七彩戏剧,http://[2409:8087:5e01:24::16]:6610/000000001000/2000000002000000010/index.m3u8?stbId=3&livemode=1&HlsProfileId=&channel-id=hnbblive&Contentid=2000000002000000010&IASHttpSessionId=OTT19019320240419154124000281
+五星体育,http://[2409:8087:5e01:24::16]:6610/000000001000/2000000002000000007/index.m3u8?stbId=3&livemode=1&HlsProfileId=&channel-id=hnbblive&Contentid=2000000002000000007&IASHttpSessionId=OTT19019320240419154124000281
+东方影视,http://[2409:8087:5e01:24::16]:6610/000000001000/2000000002000000013/index.m3u8?stbId=3&livemode=1&HlsProfileId=&channel-id=hnbblive&Contentid=2000000002000000013&IASHttpSessionId=OTT19019320240419154124000281
+东方财经,http://[2409:8087:5e01:24::16]:6610/000000001000/2000000002000000090/index.m3u8?stbId=3&livemode=1&HlsProfileId=&channel-id=hnbblive&Contentid=2000000002000000090&IASHttpSessionId=OTT19019320240419154124000281
+法治天地,http://[2409:8087:5e01:24::16]:6610/000000001000/2000000002000000014/index.m3u8?stbId=3&livemode=1&HlsProfileId=&channel-id=hnbblive&Contentid=2000000002000000014&IASHttpSessionId=OTT19019320240419154124000281
+第一财经,http://[2409:8087:5e01:24::16]:6610/000000001000/2000000002000000004/index.m3u8?stbId=3&livemode=1&HlsProfileId=&channel-id=hnbblive&Contentid=2000000002000000004&IASHttpSessionId=OTT19019320240419154124000281
+浙江新闻,https://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8
+浙江国际,https://ali-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8
+浙江少儿,https://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8
+浙江教科,https://ali-m-l.cztv.com/channels/lantian/channel004/1080p.m3u8
+之江纪录,https://ali-m-l.cztv.com/channels/lantian/channel012/1080p.m3u8
+浙江民生,https://ali-m-l.cztv.com/channels/lantian/channel006/1080p.m3u8
+浙江经济,https://ali-m-l.cztv.com/channels/lantian/channel003/1080p.m3u8
+浙江钱江,https://ali-m-l.cztv.com/channels/lantian/channel002/1080p.m3u8
+内蒙新闻,https://livestream-bt.nmtv.cn/nmtv/2316general.m3u8?txSecret=b4373417a82ed64e52b0982a66da8df2&txTime=771E8800
+内蒙经济,https://livestream-bt.nmtv.cn/nmtv/2317general.m3u8?txSecret=112b2c4c872de52b0f37aff6ead63ef0&txTime=771E8800
+内蒙少儿,https://livestream-bt.nmtv.cn/nmtv/2318general.m3u8?txSecret=a2c948908728a0733cecbe1fadea23dc&txTime=771E8800
+内蒙文体,https://livestream-bt.nmtv.cn/nmtv/2319general.m3u8?txSecret=c7b5c515d2bb6df442492d54955329a3&txTime=771E8800
+内蒙农牧,https://livestream-bt.nmtv.cn/nmtv/2320general.m3u8?txSecret=4d368a175afa19737a9f5be10af24fe2&txTime=771E8800
+蒙语卫视,https://livestream-bt.nmtv.cn/nmtv/2315general.m3u8?txSecret=4971666599ef9411629213c9a300bf66&txTime=771EF880
+蒙语文化,https://livestream-bt.nmtv.cn/nmtv/2321general.m3u8?txSecret=d9d0fd7a252ef56b515c46a2e21830f4&txTime=771E8800
+呼市新闻综合,https://livestream-bt.nmtv.cn/nmtv/2331general.m3u8?txSecret=4d7342ca5cd74480526ab6d292247aff&txTime=771E8800
+包头新闻综合,https://livestream-bt.nmtv.cn/nmtv/2358general.m3u8?txSecret=98390a77c143a68f0fd64bfe6e181dcb&txTime=771E8800
+鄂尔多斯新闻,https://livestream-bt.nmtv.cn/nmtv/2349general.m3u8?txSecret=e44477052aba305cadeea45aaf1c674a&txTime=771E8800
+巴彦淖尔新闻,https://livestream-bt.nmtv.cn/nmtv/2348general.m3u8?txSecret=6a4ddce077e41b976fe33619fbef2b30&txTime=771E8800
+赤峰新闻综合,https://livestream-bt.nmtv.cn/nmtv/2351general.m3u8?txSecret=8857087aeec2cec44d178a18550fdb8a&txTime=771E8800
+乌兰察布新闻,https://livestream-bt.nmtv.cn/nmtv/2354general.m3u8?txSecret=cf5f71d0000862b18f5813607b3dfd5b&txTime=771E8800
+
+
+少儿频道,#genre#
+熊大熊二,https://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/1733da751de64e6e910abda889d87a26/1200.m3u8
+福州少儿,http://live.zohi.tv/video/s10001-fztv-4/index.m3u8
+武汉少儿,http://stream.appwuhan.com/7tzb/sd/live.m3u8
+霸州少儿频道,http://hbbz.chinashadt.com:2036/live/stream:bzse.stream/playlist.m3u8
+卡酷少儿,http://oa.hnjcwl.top:18888/udp/239.76.247.81:1234
+金鹰卡通,http://oa.hnjcwl.top:18888/udp/239.76.253.107:9000
+金鹰卡通,http://oa.hnjcwl.top:18888/udp/239.76.252.120:9000
+金鹰卡通,http://oa.hnjcwl.top:18888/udp/239.76.246.107:1234
+金鹰卡通,http://oa.hnjcwl.top:18888/udp/239.76.245.120:1234
+哈哈炫动,http://oa.hnjcwl.top:18888/udp/239.76.252.133:9000
+GOOD卡通,https://dqhxk7sbp7xog.cloudfront.net/osmflivech45.m3u8
+倒霉特熊,https://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/87f87ba569c147e3805f80e4844d2de9/1200.m3u8
+雲朵妈妈,https://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/d8ad434c6b08421a927557a4d98da65c/1200.m3u8
+反转星球,https://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/3ccdecc7d6e341c1920ad4eac5d82f38/1200.m3u8
+狮子王國,https://newcntv.qcloudcdn.com/asp/hls/850/0303000a/3/default/c2e7e767f3144bed959ef20b8b961fe5/850.m3u8
+key=0b292c335e5837e947f9409c59228f3e6
+
+
+影视,#genre#
+神乐剧场,https://tc-tc2-interact.douyucdn2.cn/dyliveflv1/85894rmovieChow_900p.m3u8
+神乐剧院,https://tc-tc2-interact.douyucdn2.cn/dyliveflv1a/122402rK7MO9bXSq_900.m3u8
+绍兴影院,http://live.shaoxing.com.cn/video/s10001-sxtv3/index.m3u8
+南宁影院,http://hls.nntv.cn/nnlive/NNTV_VOD_A.m3u8
+乌克兰影,http://serv25.vintera.tv:8081/test/aris/playlist.m3u8
+万州影视,http://wanzhoulive.cbg.cn:8017/d4ceB1a/1000/live.m3u8
+绍兴影视,http://live.shaoxing.com.cn/video/s10001-sxtv3/index.m3u8
+烟台影视,http://live.yantaitv.cn/live/e9f1d9045d474c31884d13fa4ffbbd16/a4a9b3704d854756907845107cc56129.m3u8
+菏泽影视,http://live.hznet.tv:1935/live/live3/500K/tzwj_video.m3u8
+北京影视,https://wstvcpudali.v.myalicdn.com/wstvcpud/udrmbtv4_1/index.m3u8?adapt=0&BR=audio
+新昌休闲影视,http://l.cztvcloud.com/channels/lantian/SXxinchang2/720p.m3u8
+石河子影视文体,http://124.88.144.73:1935/live/jjsh/HasBahCa.m3u8
+烟台影视,http://live.yantaitv.cn/live/e9f1d9045d474c31884d13fa4ffbbd16/a4a9b3704d854756907845107cc56129-1.m3u8
+影视频道,http://112.30.194.221:20080/live/d18ff95cb1fb4bbcb56215e189fc12be/hls.m3u8
+美丽中国说,http://newcntv.qcloudcdn.com/asp/hls/4000/0303000a/3/default/8cdd688b04e4495ba1635e218419d6f9/4000.m3u8
+
+
+大杂烩,#genre#
+碌曲综合,http://pili-live-hls.hfmt.net/gntv/lqtv.m3u8?zgand
+临潭综合,http://pili-live-hls.hfmt.net/gntv/lttv.m3u8?zgand
+夏河综合,http://pili-live-hls.hfmt.net/gntv/xhtv.m3u8?zgand
+舟曲新闻,http://pili-live-hls.hfmt.net/gntv/zqtv.m3u8?zgand
+西峰综合,http://pili-live-rtmp.luan2.hfmt.net/luan2/xifeng/123456.m3u8?zgand
+文山州新闻综合,http://tvdrs.wsrtv.com.cn:8100/channellive/ch1.flv?zyund
+文山州新闻综合,http://m3u8.channel.wsrtv.com.cn/cms/videos/nmip-media/channellive/channel7/playlist.m3u8?zyund
+文山州公共,http://m3u8.channel.wsrtv.com.cn/cms/videos/nmip-media/channellive/channel8/playlist.m3u8?zyund
+怒江新闻综合,http://livebroadcast.ccwb.cn/live/w1620805130988936.m3u8?zyund
+砚山电视台,http://m3u8.channel.wsrtv.com.cn/cms/videos/nmip-media/channellive/channel16/playlist.m3u8?zyund
+麻栗坡电视台,http://m3u8.channel.wsrtv.com.cn/cms/videos/nmip-media/channellive/channel18/playlist.m3u8?zyund
+运城新闻综合,http://live.0359tv.com/lsdream/ss4Lj11/1000/live.m3u8?zshanxd
+运城公共频道,http://live.0359tv.com/lsdream/t667aTY/1000/live.m3u8?zshanxd
+运城科技教育,http://live.0359tv.com/lsdream/p5eq48m/1000/live.m3u8?zshanxd
+潞城新闻综合,http://59.48.42.6:62204/lucheng.m3u8?zshanxd
+高平综合,http://live.gprmt.cn/gpnews/hd/live.m3u8?zshanxd
+江津新闻综合,http://222.179.155.21:1935/ch1.m3u8?zzhongqd
+哈尔滨新闻综合,http://stream.hrbtv.net/xwzh/sd/live.m3u8?zheild
+哈尔滨影,http://stream.hrbtv.net/yspd/sd/live.m3u8?zheild
+哈尔滨生活,http://stream.hrbtv.net/shpd/sd/live.m3u8?zheild
+哈尔滨娱乐,http://stream.hrbtv.net/ylpd/sd/live.m3u8?zheild
+达茂综合,http://pili-live-hls.nmgapp12019.sobeylive.com/nmgapp12019/live164301116493025.m3u8?zneimd
+库伦旗电视台,http://pili-live-hls.nmgapp12019.sobeylive.com/nmgapp12019/live161942247484390.m3u8?zneimd
+奈曼旗电视台,http://pili-live-hls.nmgapp12019.sobeylive.com/nmgapp12019/live161888593025926.m3u8?zneimd
+鄂托克旗电视台,http://110.19.181.138:10080/hls/F509Rh7GR/F509Rh7GR_live.m3u8?zneimd
+鄂温克电视台,http://pili-live-hls.nmgapp12019.sobeylive.com/nmgapp12019/live162700604855057.m3u8?zneimd
+兵团五师双河影,https://liveout.btzx.com.cn/62ds9e/6o77s4.m3u8?zxinjd
+东北戏曲频道,http://stream1.jlntv.cn/dbxq/playlist.m3u8?_upt=b234e6c41620650518?zjild
+延边-1,http://live.ybtvyun.com/video/s10016-af95004b6d1a/index.m3u8?zjild
+延边-2,http://live.ybtvyun.com/video/s10006-04819ee234a7/index.m3u8?zjild
+延边朝鲜语综合,http://live.ybtvyun.com/video/s10006-b571c289a478/index.m3u8?zjild
+延边朝鲜语综合,http://live.ybtvyun.com/video/s10016-19a16c47eb99/index.m3u8?zjild
+延边汉语综合,http://live.ybtvyun.com/video/s10016-7e5f23de35df/index.m3u8?zjild
+白山公共,http://stream8.jlntv.cn/baishan2/playlist.m3u8?zjild
+长白山电视台,http://stream8.jlntv.cn/cbstv/sd/live.m3u8?zjild
+九台综合,http://stream10.jlntv.cn/jiutaitv/sd/live.m3u8?zjild
+靖宇综合,http://stream8.jlntv.cn/jytv/sd/live.m3u8?zjild
+敦化一套,http://stream8.jlntv.cn/dhtv/playlist.m3u8?zjild
+珲春新闻综合,http://stream8.jlntv.cn/hctv/sd/live.m3u8?zjild
+龙井综合,http://stream8.jlntv.cn/ljtv/sd/live.m3u8?zjild
+桦甸综合,http://stream10.jlntv.cn/huadian/sd/live.m3u8?zjild
+磐石综合,http://stream5.jlntv.cn/ps/sd/live.m3u8?zjild
+舒兰新闻综合,http://stream8.jlntv.cn/shulan/sd/live.m3u8?zjild
+东丰综合,http://stream5.jlntv.cn/df/sd/live.m3u8?zjild
+双辽综合,http://stream5.jlntv.cn/sl/sd/live.m3u8?zjild
+辉南新闻综合,http://stream5.jlntv.cn/hn/sd/live.m3u8?zjild
+柳河综合,http://stream5.jlntv.cn/lh/sd/live.m3u8?zjild
+通化县综合,http://stream5.jlntv.cn/thx/sd/live.m3u8?zjild
+汪清综合,http://stream5.jlntv.cn/wq/sd/live.m3u8?zjild
+中国气象,http://hls.weathertv.cn/tslslive/qCFIfHB/hls/live_sd.m3u8
+
+
+浙江综合,#genre#
+绍兴新闻综合,http://live.shaoxing.com.cn/video/s10001-sxhb/index.m3u8?zzhed
+绍兴新闻综合,http://live.shaoxing.com.cn/video/s10001-sxtv1/index.m3u8?zzhed
+绍兴文化影院,http://live.shaoxing.com.cn/video/s10001-sxtv3/index.m3u8?zzhed
+武义新闻综合,http://l.cztvcloud.com/channels/lantian/SXwuyi1/720p.m3u8?zzhed
+平湖新闻综合,http://l.cztvcloud.com/channels/lantian/SXpinghu1/720p.m3u8?zzhed
+平湖民生休闲,http://l.cztvcloud.com/channels/lantian/SXpinghu2/720p.m3u8?zzhed
+萧山新闻综合,http://l.cztvcloud.com/channels/lantian/SXxiaoshan1/720p.m3u8?zzhed
+萧山生活频道,http://l.cztvcloud.com/channels/lantian/SXxiaoshan2/720p.m3u8?zzhed
+余杭综合频道,http://l.cztvcloud.com/channels/lantian/SXyuhang1/720p.m3u8?zzhed
+余杭未来E频道,http://l.cztvcloud.com/channels/lantian/SXyuhang3/720p.m3u8?zzhed
+余姚新闻综合,http://l.cztvcloud.com/channels/lantian/SXyuyao1/720p.m3u8?zzhed
+余姚姚江文化,http://l.cztvcloud.com/channels/lantian/SXyuyao3/720p.m3u8?zzhed
+嵊州新闻综合,http://l.cztvcloud.com/channels/lantian/SXshengzhou1/720p.m3u8?zzhed
+诸暨新闻综合,http://l.cztvcloud.com/channels/lantian/SXzhuji3/720p.m3u8?zzhed
+上虞新闻综合,http://l.cztvcloud.com/channels/lantian/SXshangyu1/720p.m3u8?zzhed
+上虞文化影院,http://l.cztvcloud.com/channels/lantian/SXshangyu2/720p.m3u8?zzhed
+上虞新商都,http://l.cztvcloud.com/channels/lantian/SXshangyu3/720p.m3u8?zzhed
+兰溪新闻综合,http://l.cztvcloud.com/channels/lantian/SXlanxi1/720p.m3u8?zzhed
+
+
+江苏综合,#genre#
+淮安公共频道,http://live1.habctv.com/ggpdsl/sd/live.m3u8?zjiangsd
+淮安影院娱乐,http://live1.habctv.com/ysylsl/sd/live.m3u8?zjiangsd
+张家港新闻综合,http://3gvod.zjgonline.com.cn:1935/live/xinwenzonghe2/playlist.m3u8?zjiangsd
+张家港民生频道,http://3gvod.zjgonline.com.cn:1935/live/shehuishenghuo2/playlist.m3u8?zjiangsd
+金湖新闻综合,http://jinhu-tv-hls.cm.jstv.com/jinhu-tv/jinhuzh.m3u8?zjiangsd
+金坛新闻频道,http://jintan-tv-ori-hls.jstv.com/jintan-tv-ori/jintan_xw.m3u8?zjiangsd
+沭阳综合频道,http://shuyang-tv-hls.cm.jstv.com/shuyang-tv/shuyangzh.m3u8?zjiangsd
+泗阳综合频道,http://siyang-tv-hls.cm.jstv.com/siyang-tv/siyangzh.m3u8?zjiangsd
+泗阳资讯频道,http://siyang-tv-hls.cm.jstv.com/siyang-tv/siyangzx.m3u8?zjiangsd
+
+
+山东综合,#genre#
+烟台新闻综合,http://live.yantaitv.cn/live/3e81a8879da44c5dadf3bd9c10468e1c/9b776d420ee4438199b7657c8eb88f07-1.m3u8?shandd
+烟台公共,http://live.yantaitv.cn/live/e50f104a4ffe4a41b2217cbda534146f/d86092e69df94668b33390278b061700-1.m3u8?shandd
+烟台经济科技,http://live.yantaitv.cn/live/27f84144e95a4652ae9e5c211b2a6b55/405f3e33ba384aa0a16014d0becd1261-1.m3u8?shandd
+烟台影,http://live.yantaitv.cn/live/e9f1d9045d474c31884d13fa4ffbbd16/a4a9b3704d854756907845107cc56129-1.m3u8
+菏泽新闻综合,http://live.hznet.tv:1935/live/live1/500K/tzwj_video.m3u8?shandd
+菏泽经济生活,http://live.hznet.tv:1935/live/live2/500K/tzwj_video.m3u8?shandd
+菏泽影,http://live.hznet.tv:1935/live/live3/500K/tzwj_video.m3u8?shandd
+枣庄新闻综合,http://stream.zztvzd.com/1/sd/live.m3u8?shandd
+枣庄教育,http://stream.zztvzd.com/2/sd/live.m3u8?shandd
+枣庄公共,http://stream.zztvzd.com/3/sd/live.m3u8?shandd
+东营综合,http://stream.hhek.cn/xwzh/sd/live.m3u8?shandd
+东营公共,http://stream.hhek.cn/ggpd/sd/live.m3u8?shandd
+东营科教,http://stream.hhek.cn/dyjy/sd/live.m3u8?shandd
+
+
+四川综合,#genre#
+德阳新闻综合,http://scdytv.cn:1935/live/m_xwpd_livevideo/playlist.m3u8?zsicd
+甘孜综合,http://tv.drs.ganzitv.com:8100/channellive/gztv.flv?zsicd
+叙州新闻综合,http://pili-live-hls.ybcxjd.com/jdh-live/2108111201035597.m3u8?zsicd
+汶川新闻综合,http://live.iwcmt.cn:90/live/zhxw.m3u8?zsicd
+利州综合,http://tvfile.lzgbdst.com/nmip-media/channellive/channel106876/playlist.m3u8?zsicd
+泸县新闻综合,http://lxfile.lxxcb.cn/nmip-media/channellive/channel103799/playlist.m3u8?zsicd
+
+
+纪录片频道,#genre#
+人与自然,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/1425e1d505654cb48ba82b807b221193/1200.m3u8
+自然传奇,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/81a1ad3a661748bfb8560c92d38204ca/1200.m3u8
+探索发现,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/25137bd7c4494128bf0cba271974928f/1200.m3u8
+地理中国,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/c6baf6f74bb944aeacee1065ea72c798/1200.m3u8
+大太平洋,http://newcntv.qcloudcdn.com/asp/hls/4000/0303000a/3/default/2d7f4eeaed2e4ad080bcf324eb21bc0d/4000.m3u8
+生命脉动,http://newcntv.qcloudcdn.com/asp/hls/850/0303000a/3/default/c481b5826ffc4e99a92e01704c862dbc/850.m3u8
+飞碟之谜,http://newcntv.qcloudcdn.com/asp/hls/2000/0303000a/3/default/f0a47e155d32450daa1d36a04fd7d262/2000.m3u8
+飞碟之谜2,https://hls.cntv.lxdns.com/asp/hls/2000/0303000a/3/default/f0a47e155d32450daa1d36a04fd7d262/2000.m3u8
+远方的家,http://newcntv.qcloudcdn.com/asp/hls/4000/0303000a/3/default/162d7e29c3da4aab82ad47b6e2d9e7b4/4000.m3u8
+美丽中国说,http://newcntv.qcloudcdn.com/asp/hls/4000/0303000a/3/default/8cdd688b04e4495ba1635e218419d6f9/4000.m3u8
+美丽中国自然,http://newcntv.qcloudcdn.com/asp/hls/4000/0303000a/3/default/51d937a0201f4c78a5878b4b37089f3b/4000.m3u8
+航拍中国第一季,http://newcntv.qcloudcdn.com/asp/hls/4000/0303000a/3/default/8edf3fb6a69148ea9a7dc0b5a9d99fdb/4000.m3u8
+航拍中国第二季,http://newcntv.qcloudcdn.com/asp/hls/4000/0303000a/3/default/2bdfdad540b342f592f9817cb7f3b79a/4000.m3u8
+航拍中国第三季,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/18a8a559464448dbaf60d33913e09aea/1200.m3u8
+中国村庄,http://newcntv.qcloudcdn.com/asp/hls/4000/0303000a/3/default/93fc12dbf14241c18c23da104fbade23/4000.m3u8
+梵净山,http://newcntv.qcloudcdn.com/asp/hls/4000/0303000a/3/default/b9571df1181c4422a83901e827519fe6/4000.m3u8
+地球脉动第一季,http://newcntv.qcloudcdn.com/asp/hls/850/0303000a/3/default/7a3423af02284c3db48b854ab646993f/850.m3u8
+乘着火车看中国,http://newcntv.qcloudcdn.com/asp/hls/4000/0303000a/3/default/2b0f397ed9d948eb9fac38d73cde241b/4000.m3u8
+动物世界,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/71d7dce230b74c1b9e35b41e837ffc5f/1200.m3u8
+一片住着熊的森林1,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/2ac6789acc644b55a4df03445561c56b/1200.m3u8
+一片住着熊的森林2,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/969d426187eb46e19fc6839a435fbf0f/1200.m3u8
+一片住着熊的森林3,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/fd1e9f94afe948efafaa28a882661620/1200.m3u8
+与野生动物为邻,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/d25931bed86a49d4afb8780771797c19/1200.m3u8
+丛林之王美洲豹,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/bbb1037a32ad44cf8bab822eda34bc86/1200.m3u8
+丛林勇士之战(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/2550722b92464a749fa7aceb52e22895/1200.m3u8
+丛林勇士之战(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/c02959d3f2b14d3abf05ec017179c964/1200.m3u8
+从幼狮到狮王(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/0eb0c51f46ed4171a9923dd6a9703c45/1200.m3u8
+从幼狮到狮王(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/a7510a06ef494458a0f23a8a6b6918d3/1200.m3u8
+传奇母狮,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/c550dc54139b4e619e7d4a1c1ab69e56/1200.m3u8
+兄弟情深(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/0700de47ebc74232bc9f5c5c178aa488/1200.m3u8
+兄弟情深(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/30a35b521af54f1a88d74f7215ece1d3/1200.m3u8
+兄弟捕猎联盟,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/0b85d990df5c4f7fae663dc595a084bd/1200.m3u8
+充满爱的象家族1,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/4bd5e30e25244ef1a622142a1053d8c0/1200.m3u8
+充满爱的象家族2,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/0acf5b4f7fc248f1bd0801b768375fd6/1200.m3u8
+兽语如歌,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/9d7bcf3e27d941cfac2e6c933ad9b543/1200.m3u8
+冬季传说雪鸮,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/e76b2116c4514daea844fbdd1b56ab5d/1200.m3u8
+冬日雪鸮,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/1a7b439474b6439c91dc5d5b2cb736d4/1200.m3u8
+冰天雪地北极熊(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/15dd2029621a498d9c4d3eb2982285e7/1200.m3u8
+冰天雪地北极熊(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/360e77812fc84a8198e85a60f087b049/1200.m3u8
+冰雪世界狼女王(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/640f926df6fb4f398d40c8b254248750/1200.m3u8
+冰雪世界狼女王(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/d85457ff45154ff8bdf74e73422e99a4/1200.m3u8
+冰雪王国里的童话,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/3b291326cf2648cd8119f5facf9e3b92/1200.m3u8
+冷静与柔情,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/554c1b879dc646d4ab188dfd58a0f02f/1200.m3u8
+凯门鳄的奇妙旅程,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/aba970eff8be48beb339a2ad027592cf/1200.m3u8
+动物与计谋,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/403122f54ee5492fa9e5d2b8f0087ad2/1200.m3u8
+动物冠军俱乐部,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/65227347336749ffa373661cac985952/1200.m3u8
+动物冠军竞技场(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/cf107046774d4db5a1ac622e880488e2/1200.m3u8
+动物冠军竞技场(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/9f1dc957013c4765a96b86c1890e4ae2/1200.m3u8
+动物宝宝闯天涯(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/e1f91fe01a9b4b24834a0a6e4b309bb2/1200.m3u8
+动物宝宝闯天涯(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/d5937591787941518b5a1390f7a1e792/1200.m3u8
+动物搏击赛,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/22ef116331af49a782d42488e396837e/1200.m3u8
+动物搏击运动会,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/0f74c44316a34ea482ecae43f5c12fa8/1200.m3u8
+动物父母有梦想(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/f069e600b3584765840f34e9d641919a/1200.m3u8
+动物父母有梦想(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/1c1df6f1bff5454a9570693475f920ef/1200.m3u8
+动物界捕食奇观,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/5215de3e2a7b41009ed1ded1f29fea40/1200.m3u8
+动物的海底宫殿,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/0929798fce744530b14a6add96afcdf3/1200.m3u8
+动物霓裳羽衣之妙,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/b4aea8cd185c4126a37aa6e92d179f82/1200.m3u8
+勇挑重担的矮獴(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/8ef930c154a446d0a831d2dd93698fd2/1200.m3u8
+勇挑重担的矮獴(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/d9ffce5e83824939ab9bb66502778bd9/1200.m3u8
+勇敢的王者之心,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/d37b12d09c4144f0a59560f18ff6508a/1200.m3u8
+勇敢的长颈鹿(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/8a9d50517baa443b82b3e4c9e0078351/1200.m3u8
+勇敢的长颈鹿(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/773b3e9df72f4834b85c46e0f5b038fb/1200.m3u8
+勇闯包围圈,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/3af15ad56d1640fab9a1a065402b3b76/1200.m3u8
+勇闯螃蟹岛,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/3bba8da0b6c54771aa02b579ba75f8e7/1200.m3u8
+勇闯都市丛林,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/221e94ad951d4001b106d3c5af785537/1200.m3u8
+勤奋的捕食者,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/4793c8276c184d03bc3ba5e9b6dc9610/1200.m3u8
+北极熊之光(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/9df8189c94b24b8b8bb6c69e448cc936/1200.m3u8
+北极熊之光(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/ca1fabcc21d64b1f8cc933844830fcc5/1200.m3u8
+北极熊的冒险之旅(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/e1b4b7a8beb3459bbd44f505a3fcc99c/1200.m3u8
+北极熊的冒险之旅(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/9ab29267ff5b4b2b99fdb74d1b9fec55/1200.m3u8
+北极熊路在何方,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/38321222144945faa76d79c7785346a6/1200.m3u8
+南美野生世界1,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/35eac4ae4e024654b845f5c7b2221d15/1200.m3u8
+南美野生世界2,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/9c743ea1e41f4bf585fb1470c9575c0d/1200.m3u8
+南美野生世界3,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/68caf99e50bc496fb478b0ed8f4b421a/1200.m3u8
+原野逐梦记,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/01fcf61e12c242bd81dc5aca38b6f183/1200.m3u8
+变形记,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/c88fd67847314d1ab20524c9fd94d555/1200.m3u8
+古老的活化石恒河鳄(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/f8c9f1b5ac454c9a9ec5fda21c62b926/1200.m3u8
+古老的活化石恒河鳄(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/966f8103448c4dcdabee095eeb340451/1200.m3u8
+可爱的海獭(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/340266a6b3ff421fa174208845f56fef/1200.m3u8
+可爱的海獭(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/ef9b2898e92146d29a2e926ce1107eac/1200.m3u8
+呵护,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/3e2d88a89cd9464e89f3b4b6353db194/1200.m3u8
+团结的水豚家族,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/51e9c38303624369a0ba257163a5528f/1200.m3u8
+大力士捕鱼记,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/1bcefb1f860746ebbbfe7f969c3a84ea/1200.m3u8
+大地骄子,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/b08d6ad2f22047bd93af89955db5ce46/1200.m3u8
+大水獭回归的故事,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/0e114c18fa084fe58238307c66506675/1200.m3u8
+大水獭桑丘的故事(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/ffea8bb4f0a04e53a82dab943e32bfb1/1200.m3u8
+大水獭桑丘的故事(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/9934a6c232264addaf109ac76f21e7da/1200.m3u8
+大猫们的世界,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/830375ed0f54449e8e369edc9635e329/1200.m3u8
+大猫传奇,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/6976a5d0ae0d4426bbd94bc1dd8f44a9/1200.m3u8
+大猫和邻居们(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/84359a09aab544b184a40865454e0b0a/1200.m3u8
+大猫和邻居们(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/2c4bc4b10e7d408a8de9c9e3012f64ca/1200.m3u8
+大猫归来,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/8c13b8463ee54e93a0a0ccc33dab33ef/1200.m3u8
+大猫榜中榜(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/e5c95f6d2f9447e2bbb0b2bba952e062/1200.m3u8
+大猫榜中榜(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/9f813ed35c264d4ea10e57516dafe5d6/1200.m3u8
+大猫猎手训练营,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/a08d9451f00a451682973c99b503dd6a/1200.m3u8
+大象与羊的快乐生活,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/b72e3a49fdd44f36915d6cc59aa0a113/1200.m3u8
+大象与羊的神奇友情(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/7689d02607d34fdb8ce22cc479e42e91/1200.m3u8
+大象与羊的神奇友情(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/8ab73d30adff4cfa8e5afda910387dfc/1200.m3u8
+大象的别样生活(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/f4e6615b73ce42aa805767845425078a/1200.m3u8
+大象的别样生活(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/f80446c8a43c4357af8680057ec1669f/1200.m3u8
+大象的秘密生活(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/81f43884b4064750af230205752dbb63/1200.m3u8
+大象的秘密生活(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/43e021f3a6dc4b6089c71afe80552fae/1200.m3u8
+天生野长生命延续(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/87be5f0e1fb14d139fe696081a787914/1200.m3u8
+天生野长生命延续(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/b95e26a16f664da498ef421f74ad3006/1200.m3u8
+天生野长生命课程(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/95839705cfdc471aa67a09b7cfd6f52d/1200.m3u8
+奇异世界的动物们2,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/ef3ee1bb8ff946a9adf07486709883eb/1200.m3u8
+奇异世界的动物们3,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/efa51c5e3af04df89e68606d75333080/1200.m3u8
+奇特动物的奇特遭遇(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/2b20f8ba9ae14d96b9907f59bb758595/1200.m3u8
+奇特动物的奇特遭遇(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/0ebab68eda084509b18c27982ecfb660/1200.m3u8
+奇迹发生的时刻,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/1dbbdbb87b8f410cbc0f3c742201cd7d/1200.m3u8
+如履薄冰的北极熊(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/f31953326cca4b5e9c5f7e285a5cddb7/1200.m3u8
+如履薄冰的北极熊(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/b6576aa2cd4e43a9a5ddc4af16695a28/1200.m3u8
+家有萌宝(五),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/496e4c0e2de74aaf968651d447eeb12a/1200.m3u8
+家有萌宝1,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/7c53f1554802430587ecc54b1cef1002/1200.m3u8
+家有萌宝2,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/81f9af4e6a6f41daa48c6c0091e4d66b/1200.m3u8
+家有萌宝3,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/fe463d857de5415daa72441ab0cdab7f/1200.m3u8
+家有萌宝4,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/15d2240bbfc34785bfc2ab8147244466/1200.m3u8
+家有萌狗,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/0fb39f83b1764305bd0216f15b8ab88a/1200.m3u8
+小动物大猎手(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/c46a26d74f5b4da98f5c9d69f8218de0/1200.m3u8
+小动物大猎手(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/ef8ad1d36d9c4515a9e04443687a7f33/1200.m3u8
+小动物大英雄,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/27818c0197e94415946b825b2b163e22/1200.m3u8
+小动物的森林童话,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/321727074edc4cf69b5b205111569205/1200.m3u8
+小勇士闯天下,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/8737418de24a461f9785193bcbda0026/1200.m3u8
+小熊的故事1,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/d3c750e3481a4ca696898875f6e6dbf1/1200.m3u8
+小熊的故事2,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/3499a172820f47da988e5aaeb187ec29/1200.m3u8
+小熊的故事3,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/3564b5460bea444b8712fb1cb0a59c00/1200.m3u8
+小熊的梦幻森林1,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/b0f2b241c39c42beb732a5e73b5a9782/1200.m3u8
+小熊的梦幻森林2,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/b2e817cee1a7417ba34f062aa919ca02/1200.m3u8
+小熊的梦幻森林3,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/8bbcff92f2ce423bb2d822e0fb67657f/1200.m3u8
+小角马历险记,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/b7594a5bc3d241e3a8b95eac39ebd7e9/1200.m3u8
+小象和绵羊朋友(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/c69ca1ce229648ce86e97c0b86e67c58/1200.m3u8
+小象和绵羊朋友(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/138e7ea321c94a86b4f939ccb00a75a9/1200.m3u8
+小鼠奇遇记,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/9417f7c1d9f2484c901d886245892130/1200.m3u8
+巨兽来了,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/1224d3b3e1ba410d8dc316f2f2ab1872/1200.m3u8
+巨藻林的守卫者,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/432e7e692dc841bfaefb5e662de89bdc/1200.m3u8
+彩蛇之舞,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/002334474c7c4b8b98bad237a7bdeb7b/1200.m3u8
+情满大草原1,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/222ec6157bf34d8c9abd0e62ddae6ee1/1200.m3u8
+情满大草原2,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/8200031edc9f434583d9b3f738ac4448/1200.m3u8
+情满大草原3,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/0ab9b80f79884e22b6390b2deefdc571/1200.m3u8
+打造一只超级猫,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/ba966901198844d09399a354e203e6cb/1200.m3u8
+抢滩勇士(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/0d4351715b27425d87a926b964b6cdaf/1200.m3u8
+捕猎刹那间1,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/6b222a92e2b9484f86121a558915ddb5/1200.m3u8
+捕猎刹那间2,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/eb2cf087eae64ff9a40258bbbc1a92ba/1200.m3u8
+捕猎刹那间3,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/799ea1ddb3db403484fe2421d4831287/1200.m3u8
+捕食一瞬间(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/426cfdd1924a452b863c0cd52af6436b/1200.m3u8
+捕食一瞬间(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/b66704d4d4aa4ea7bab6e6ef673568b3/1200.m3u8
+捕食奇谋(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/543fa61893394cc48d2802207c8a51e8/1200.m3u8
+捕食奇谋(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/05ba8dcc7a224442a58f6d6f86885d25/1200.m3u8
+捕食者大观,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/d19e46abe2754e2985715a147e653626/1200.m3u8
+捕食者身体构造,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/83901acd0fed408f904a9b554c8e16ef/1200.m3u8
+捕食者追猎现场(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/853b68324c2e4718ad08298aaed459b7/1200.m3u8
+捕食者追猎现场(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/6016b09920a7447eb798f3f891f52bad/1200.m3u8
+探秘冰上的北极熊(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/6a74d01391d849849c7391b2466f3752/1200.m3u8
+探秘冰上的北极熊(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/509e924ad47e422984af226b26236bf6/1200.m3u8
+探秘雨林利爪族(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/dc83b3fe7f874e33959bdbf034e6451c/1200.m3u8
+探秘雨林利爪族(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/5a8fd3e4e8ba4ca5b62f1b90ae9c3640/1200.m3u8
+新狮王诞生记,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/5e156f1734234e17ab0f6f87f2e7491b/1200.m3u8
+旱季冒险故事,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/ac505ca5d2d5469eb21448c300a8c16c/1200.m3u8
+旱季极限生存战,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/1b750e952abb452c9f77d44f8d8bae17/1200.m3u8
+旱季生存攻略,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/3f34548881664dd6afb01ccdcb677a5d/1200.m3u8
+有一只美丽的大水獭,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/f1ddaab95ca9475da4cd97907cef8e96/1200.m3u8
+来到这个美丽的世界(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/003d910853de498299eb47d7d8a2eedf/1200.m3u8
+来到这个美丽的世界(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/9323ea96cf6a47afaf798fca6d9411e6/1200.m3u8
+林间潜伏,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/922b142fef9443218be5eaf44df0b397/1200.m3u8
+棋逢对手,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/3d515f3011c64797ae15bf36c639cb49/1200.m3u8
+棕熊把守的水上要塞(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/50590d053a2245428391323902e07d0e/1200.m3u8
+棕熊把守的水上要塞(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/bb2341e42865439eaed4502fcc736ea5/1200.m3u8
+棕熊捕鱼季(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/1ef91cb6079d46ccb9a62f046739d5c8/1200.m3u8
+棕熊的捕鱼生活(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/388d46918ea34570a3fed5f5ceb393ee/1200.m3u8
+棕熊的捕鱼生活(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/09def25492254217aba438e7403741e2/1200.m3u8
+森林是我家1,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/c105c056c3f744baa49ce0b8b39c1f3b/1200.m3u8
+森林是我家2,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/63bb582977074c57a127eaca9d954154/1200.m3u8
+森林是我家3,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/14b683f0668f404a9bb8ea74d14c5c8e/1200.m3u8
+植物王国漫游记,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/508b9a0c8be74d89a431b24114c91faa/1200.m3u8
+植物王国漫游记,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/fa3ad43978014ff4b64b4bff8914116c/1200.m3u8
+母爱之路,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/115d481467e04333be047fcebf482b3e/1200.m3u8
+母爱的呵护,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/a6ec4d0475e1453e8ede023e346c2350/1200.m3u8
+水牛与狮子的争战,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/d1e0dc98b1374b43b157bf82eebc6d09/1200.m3u8
+水牛向前冲(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/2f05eb49b3a049c88a848a1104dc856f/1200.m3u8
+水牛向前冲(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/bda4b441c07e40cb8a418381d0506c80/1200.m3u8
+水獭奇缘,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/da2d147b25404552b118111dd52d7a25/1200.m3u8
+水豚爱湿地,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/c7488fc3bed341ad827c054d3ec7e62d/1200.m3u8
+沙滩上的盛宴,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/31e38a0232734780842a9031072c2073/1200.m3u8
+河里的捕食大师(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/bf70f8033ec049f5be4698c3497d3868/1200.m3u8
+河里的捕食大师(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/040c050908a340238dacd1ac86694543/1200.m3u8
+河龙王出海,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/f352ba97a41146279f5d250cc8c670bb/1200.m3u8
+海底生存战,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/20225ac33ef7408e8c7040cb39d6a595/1200.m3u8
+海洋宫殿的守护者,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/86c73156b8ad405180ed252940b2155c/1200.m3u8
+海洋猎手,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/f98ebc30517647839c09fb17e0dbea04/1200.m3u8
+海洋里的神奇家族(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/ef8e561920694e4a81cd1933314610cb/1200.m3u8
+海洋里的神奇家族(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/5775e1919dca48169eb22986804455b3/1200.m3u8
+海洋里的神奇家族(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/a68ae907dc7e4783af8d9547a1926435/1200.m3u8
+海的呼唤,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/ee6a46541b624388a01ba2fc14c34079/1200.m3u8
+海豚的奇妙生活(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/30385b1caa214c9a8c6c53ef69ce7e18/1200.m3u8
+海豚的奇妙生活(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/b61b0646586142aca08c2e8d333c385b/1200.m3u8
+海鬣蜥的幸福生活,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/a66f6344f9cc4ed3b42b06e678124d0f/1200.m3u8
+海鬣蜥的故事,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/d19635c3f57f4e538e078569ac796fd6/1200.m3u8
+深海潜伏的猎手,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/f1a00ae54f3b428bac1ed388ced1ce70/1200.m3u8
+湿地之争豹与鳄鱼,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/1fe1e5df7c9d4b38a0a855e092a7b6c1/1200.m3u8
+湿地小萌兽,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/00892961ec6546ae8c78e96d1dd0874a/1200.m3u8
+湿地有萌兽,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/e3c31d84ec7e4035a8501db9df1d140b/1200.m3u8
+潜水大师的岛上生活(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/cd88344f084b47c593388fdf6a8c443f/1200.m3u8
+潜水大师的岛上生活(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/76332b54d8074b0fada76d081570d621/1200.m3u8
+熊在旅途(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/b0b95c35bce84072b10ad0b82cf83951/1200.m3u8
+熊在旅途(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/9dc810bc8a3b426f88ac8c998f9e5332/1200.m3u8
+熊的王国,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/ade1b31d23694fba82c9c4f07dba3267/1200.m3u8
+爱与狗相伴,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/530a12d274184293802f51c38603f75a/1200.m3u8
+爱你我的宝宝(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/08f97ee21d884d0486c37ae6fb7c5683/1200.m3u8
+爱你我的宝宝(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/f16dbba3ddf84af2a0ff1521448ee4da/1200.m3u8
+爱吃鱼的棕熊,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/79c7bb4495f74ca698f3111a6f7ba567/1200.m3u8
+爱的奉献1,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/5b062ba2cd854ba993166d277af8a40d/1200.m3u8
+爱的奉献2,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/80cf935aef484e15aa31b8fbd565be39/1200.m3u8
+爱的奉献3,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/aee1f28cf3e94a5fa7468206d4f417ed/1200.m3u8
+狮口余生的小角马(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/7cfc0fe7981b4022b69c3e1cb7317b77/1200.m3u8
+狮子和鬣狗(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/6ca061c3b9184e7aa46cef1ead911099/1200.m3u8
+狮子和鬣狗(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/e5ea8f4b0cbd4d7aa779b9dfed5a9448/1200.m3u8
+狮子捕猎计划,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/6f2b58a05add4e2a9907ba370473332a/1200.m3u8
+狮子的荣耀回归之路1,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/bec9f485672345339c49bc345edf9fd5/1200.m3u8
+狮子的荣耀回归之路2,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/bdb438a81a20403db85b6e9d12707f2d/1200.m3u8
+狮子的荣耀回归之路3,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/50ef8c8037da4735a9cb9288f45878b0/1200.m3u8
+狮子的荣耀回归之路4,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/2fea6699d56f4274b5ab5260b016fda2/1200.m3u8
+狮族迷踪1,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/801151749824437aaa0afa87bfcf7abf/1200.m3u8
+狮族迷踪2,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/b4ff6041c00246af815b679a7ee6c4a6/1200.m3u8
+狮族迷踪3,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/5e01c3ff2a5844ab80643ce67ba29026/1200.m3u8
+狮群的家园生活,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/cad939a2eb714f4b9d37c4185674d50b/1200.m3u8
+狮群的荣耀,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/84b850056589475f80528cf28b9b840a/1200.m3u8
+狼女王的奋斗传奇,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/f2d629470e214acf9d08dc81f4773cbf/1200.m3u8
+猎手求生记,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/5bc79939a4804f199e606cc08b1bb416/1200.m3u8
+猎手生存攻略,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/703310100a944d78a5e6838f80920cd6/1200.m3u8
+猎豹妈妈奋斗记,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/6b10d45dafaa47f4a3c3444946c074c9/1200.m3u8
+猎豹妈妈育儿记(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/dba9097ef49e42acb2c6597e04551fbc/1200.m3u8
+猎豹妈妈育儿记(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/fca702ad83284ff0a3b883a735913060/1200.m3u8
+猎食计划1,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/cd732e06e7934a3daef6483c6be1afca/1200.m3u8
+猎食计划2,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/497afdb07e92409fb8cb5c0249dfe6d7/1200.m3u8
+猎食计划3,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/947b6c076a0c4a3ca72a1274731feb66/1200.m3u8
+猛虎柔情,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/dd3be5a89c1542d3bb4db0953a1430c6/1200.m3u8
+猫科动物谁为王者(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/17c3860b26c14110a740dfa49785a1bd/1200.m3u8
+猫科动物谁为王者(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/1cbb873dc7474315b86788e9f657534a/1200.m3u8
+猴子的智慧,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/ef01d6b79fe74daf9bd63ff0469713d2/1200.m3u8
+生存极限大挑战,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/9dc7b6dcacde4fad9467c4d2c61da3d1/1200.m3u8
+生存的望(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/fd00ce388b994d7195dbefc1beb5726b/1200.m3u8
+生存的望(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/d9765b81ca83444a9ba7b6a335b2466a/1200.m3u8
+疯狂的爱,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/35b481b5e27a4fa2b2c03f42596b68ba/1200.m3u8
+白狮归来1,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/199ab14f5ba44a208371a3eef0029a09/1200.m3u8
+白狮归来2,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/e3b36e52d0bc4a0a851a1bd3fa181365/1200.m3u8
+白狮归来4,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/ffda5e0584b64e0d9dc3cc43783900cf/1200.m3u8
+白狮的荒野故事(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/649a0df6bc394fde973b2e8ef12ef3d6/1200.m3u8
+白狮的荒野故事(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/1eee9eda1dec4c8da256c6b2ef70114a/1200.m3u8
+盛宴的旅程,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/fbcd61c318c34e08854c3911086a7406/1200.m3u8
+看得见的远方1,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/f532415139fb4dc3a0e9de757d535d6a/1200.m3u8
+看得见的远方3,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/255a802e924a44f381318db92a32431e/1200.m3u8
+神秘的眼睛王蛇,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/cb73d16a9e02484ab4708b0268b63bcf/1200.m3u8
+秘境之蛇,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/c4e45ac9dd2642b6ae9fb95b470224a9/1200.m3u8
+秘境里的动物王国,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/bb36368ba24f47ed88d4204fd3db5483/1200.m3u8
+秘境里的奇观,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/38ba9675721d4259b3dd327b7e212a39/1200.m3u8
+穿越森林的迷宫,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/52bf33932d1646529b95b044f187d4d3/1200.m3u8
+穿越狮子的领地,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/ea08ccce272f4b7984eb665a97bab536/1200.m3u8
+童话般的雨林(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/a1672972c0b742239237bb1686ba0745/1200.m3u8
+童话般的雨林(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/8e99e3c9f38340a98fb79b36ab1c863f/1200.m3u8
+绽放的生命(五),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/d2f3f0f3b4c242b4983ee62034f85608/1200.m3u8
+绽放的生命1,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/87145268893a47cd8fc9cda530eee111/1200.m3u8
+绽放的生命2,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/7b6ed77c03224d298a72a8311fcf10a7/1200.m3u8
+绽放的生命3,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/aea0ef5ea21c40dea948d723d823a5fb/1200.m3u8
+绽放的生命4,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/fbb3d1d6ae37458e84f574881778ac7c/1200.m3u8
+美食的,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/9debd40527e34471bdfbe1212aa198d7/1200.m3u8
+耀眼的白狮家族1,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/07c3395ee5da4f789937372657ab980a/1200.m3u8
+耀眼的白狮家族2,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/3989c3f3416745438c4bc20abeae51ae/1200.m3u8
+耀眼的白狮家族3,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/e0efcf1181234f2dabef87db65bcdec0/1200.m3u8
+聪明的建筑师,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/d04a550f19ac42869d7b4d3f5f9246b2/1200.m3u8
+自然界奥运冠军,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/7b968e9b50984d598d96c6fc5af40b4c/1200.m3u8
+花豹柔情,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/96712ee30d144f21a0566f3c1b2fbc56/1200.m3u8
+草原三巨头,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/2bdc779138bb4235b20a5155e40fa7c8/1200.m3u8
+草原上的大猫王国,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/e98eed67d3164ec0a2f5a9215693f7a8/1200.m3u8
+草原之王上战场,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/bfb6917b29ea413c89e8ed8fa6e2a6ab/1200.m3u8
+草原狮子的戏剧舞台(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/93fde1242f50415faa6da2dd5da9105b/1200.m3u8
+草原狮子的戏剧舞台(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/c5b600bcb2c44c44b56e9afdb5243a07/1200.m3u8
+荒野里的呼唤,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/de55f16b130042b19472ef89e184d719/1200.m3u8
+萌狗诞生记,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/0f68b16f162c493c8d82a57135f16da0/1200.m3u8
+虎妈妈爱(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/6855ee238c9c4e9893ff342b7dbe5a2b/1200.m3u8
+虎妈妈爱(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/9b07324b869c457e80531b72e979ee1a/1200.m3u8
+蛇类大观园,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/414f84230ced4696af656a112385b72c/1200.m3u8
+蜥蜴安身火山岛(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/0c3c388b10ad4cf78f312c6d6620f1e0/1200.m3u8
+蜥蜴安身火山岛(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/5043f9b708fe443fb9207e26da903218/1200.m3u8
+螃蟹岛海战(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/d0137f4e9adc44a7856c7288fe8ca3d2/1200.m3u8
+螃蟹岛海战(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/d784a777f3dd42b3b73be06858b71197/1200.m3u8
+被母狮拯救的小角马(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/ba95e1a983584925887c11306f83ccf8/1200.m3u8
+被母狮拯救的小角马(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/8e655ba0c751468b9d18f3020133571f/1200.m3u8
+角马幸运儿(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/40c883e3f4c441d08422ce49aec61644/1200.m3u8
+角马幸运儿(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/67b7d65e3b3e4b509e314e65937ef369/1200.m3u8
+豹妈当家(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/984cda8d35d544658fbd96b417bdea1f/1200.m3u8
+豹妈当家(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/33343249dabd4dcfaeb64da7ab7fe061/1200.m3u8
+走出包围圈,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/38fc4f8e379445aeab6098b9ece0aa2a/1200.m3u8
+走进狗的世界,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/25c049869a174f5fa5806e57a2c376bd/1200.m3u8
+超凡猎手,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/77d5ca903f0948ad8c5ec57e49b3cc95/1200.m3u8
+超凡猎手,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/8bd3d27314fd431a84d8443c2fdc8b02/1200.m3u8
+超级狮子家族,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/f689bc846e93479898d8dcbdffad9744/1200.m3u8
+超级狮子群的故事(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/1c0a25fcb5564e02a435ec33fbdc4888/1200.m3u8
+超级狮子群的故事(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/8986640e9a3f43be9ffe66f0feb41f72/1200.m3u8
+超级猫行动,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/8d952bbdd6cc4e6abf9df153bc18e927/1200.m3u8
+足球超级猎食者(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/4d0dc6b22b8e48efa4a984ec990a4faf/1200.m3u8
+足球超级猎食者(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/d7aec4db75da469d915a5dd7a0fb3d70/1200.m3u8
+辣妈带娃记,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/8fd303fc08454c3497673fa40ced6284/1200.m3u8
+进化中的北极熊,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/caf316bd282e4bfdbbd36bac2514c428/1200.m3u8
+追踪兽王,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/93dfcb01bd634370bc211fc7484854ec/1200.m3u8
+追逐的游戏,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/34459ad5d340461daab2f453d485833d/1200.m3u8
+速度与生存(五),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/9953caf767b04ae782540c8ac53eaaa4/1200.m3u8
+速度与生存1,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/1cc83ec8b9b44794b63e1a249b9fb2fb/1200.m3u8
+速度与生存2,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/31abc302978f45df9c4e8aaa3972d599/1200.m3u8
+速度与生存3,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/570d9ce8d39d4ede9a26ae6de4d28f54/1200.m3u8
+速度与生存4,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/f37b1966271f4527a581ed9275c34f7c/1200.m3u8
+速度大比拼(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/2746acf40172425180162fc3a316416b/1200.m3u8
+速度大比拼(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/d2e5439b8a9c4b53970e5c3b0eee9abd/1200.m3u8
+遨游海底两万里,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/31d0363fb3714ce4b916790aa7da22db/1200.m3u8
+都市里的丛林(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/2e2e0e875d624196af0488f6b07bb2e0/1200.m3u8
+都市里的丛林(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/9f79dac568844de8813e682b280efb4f/1200.m3u8
+都市里的野生家园(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/03770b0594d44f289ce91022fe37a7bf/1200.m3u8
+都市里的野生家园(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/06ca0e5a61624f11987ba99dc9a8ed64/1200.m3u8
+野性生存秘籍1,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/7c8a682e6c5749b19d375b0c562f4c87/1200.m3u8
+野性生存秘籍2,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/b95862f403d5404f87114f6a651119e6/1200.m3u8
+野性的召唤1,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/ce41c579b0c84ada982b79073028d116/1200.m3u8
+野性的召唤2,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/24514b1197ea46b9a443121f5e19f535/1200.m3u8
+野性的召唤3,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/9a6b5b4568574867933091059ff57680/1200.m3u8
+野性的魅力1,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/2f83cd6f217c48e8abb8064f430bc93a/1200.m3u8
+野性的魅力2,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/091f7f7dfce34c0d83bcd93c0b58dc07/1200.m3u8
+野性美洲(五),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/58a370a91cbf49858c18e6d72007d12e/1200.m3u8
+野性美洲1,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/d1a92d87e2c74de7a799141e5e89eb3b/1200.m3u8
+野性美洲2,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/2e902191f2524bc198a656db71791080/1200.m3u8
+野性美洲3,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/1156d95bcf554d0e9df1688e8a6fd55d/1200.m3u8
+野性美洲3,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/4cb2ce54e7e047a99c772d3874f4c916/1200.m3u8
+野性美洲4,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/5dcd2b749aae4e7e973271f124e83fb1/1200.m3u8
+野狗家族传世之爱,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/dc4007615a124e29827b16bec3885db5/1200.m3u8
+野生世界竞技场(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/11ac06bbb4f0426fbc4c7b3bfd864b3f/1200.m3u8
+野生世界竞技场(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/bf683b66c36343599bcad10516c58274/1200.m3u8
+野生白狮(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/a9a5e806d97d41f5827532f1cb3f9afa/1200.m3u8
+野生白狮(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/1e405a3890d3497d80df5351ad30f169/1200.m3u8
+野生白狮(中),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/aa5594a7d44b42768d0b4f2fa3e3651d/1200.m3u8
+金豺夫妇的故事,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/5b71afacb8eb442d9d4a5844d3ceca15/1200.m3u8
+镜头里的真相1,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/df70034b3a4243bd888d18b8b877787d/1200.m3u8
+险境求生,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/3f41478fa1f24606bc1bad4725df7b59/1200.m3u8
+险境求生的小河马(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/4b24374adc24487db8c9d5ac5d037079/1200.m3u8
+险境求生的小河马(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/5c22e195021d49b8bc5868147fdc3139/1200.m3u8
+隐秘王国里的奇迹1,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/e2094de08292490db17c29ec299b4bc2/1200.m3u8
+隐秘王国里的奇迹2,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/1cee8d6ac393418e887420a6e1d54b6e/1200.m3u8
+隐秘王国里的奇迹3,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/2fe654a3cadf4838bb34ea18441378e8/1200.m3u8
+隐秘王国里的奇迹4,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/953467196a854ed786f7e3521579f1f6/1200.m3u8
+隐秘的海鬣蜥王国,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/b7af80d20f06401989879c44eaf865e8/1200.m3u8
+雄风再起,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/b9176a8a35c94c37ade29708eed40190/1200.m3u8
+雨季狮踪,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/c1af227765174580bb3ad5c641f4dfd1/1200.m3u8
+雨林守护的秘密(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/18aecd7b1b064f3692f80ce6906895d5/1200.m3u8
+雨林守护的秘密(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/084be96dbd124ac499afc25eb1e4d63d/1200.m3u8
+雪鸮的生存之舞,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/722362cb57a74028804e0413141a1866/1200.m3u8
+雪鸮的风中芭蕾,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/4ee145f174a8464fb624c4ae62992b1c/1200.m3u8
+非凡虎女王(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/2e657776c024445b83a0554d71773c0b/1200.m3u8
+非凡虎女王(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/2c7ecbc0033049efa1946472214eeae3/1200.m3u8
+非同一般的友谊,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/fc5b68979baa47e6ab90db7e78b43364/1200.m3u8
+非洲水牛战狮群(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/945ab75be37f46c984dade1efb742b00/1200.m3u8
+非洲水牛战狮群(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/76d3b3c55eaf44b198ceb0f456f41416/1200.m3u8
+非洲野放计划2,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/21ff76c2151743f983d8f67d3cc7231d/1200.m3u8
+非洲野放计划3,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/234631821d1343b086ed272be364d861/1200.m3u8
+非洲野放计划4,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/28f6148101924fadb0f1cab6017801fe/1200.m3u8
+非洲野狗家族,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/2e64ec647a314b74b27ebc7f6bb985f2/1200.m3u8
+领养一只宠物狗,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/ec7ccf71d6544387afbfc956f4c29ceb/1200.m3u8
+高个子幸运儿,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/0ea3dbe589a34258b6109229223de234/1200.m3u8
+鬣蜥生存攻略,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/ae22dffaf28f496584fc581ab72fab9c/1200.m3u8
+鳄鱼出海,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/7bdf23a599b44a7c8308684cbb789da0/1200.m3u8
+鳄鱼王漂流记,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/8da4a365db75455cb0c15bd7681b57fc/1200.m3u8
+黑猩猩的丛林法则,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/05ff5278105445e1a9d5651372faf47e/1200.m3u8
+龙宫里的奇异动物,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/3528163c6b7d4a48b09b24027351ccf7/1200.m3u8
+
+
+直播中国,#genre#
+直播中国,https://gcalic.v.myalicdn.com/gc/wgw05_1/index.m3u8?contentid=2820180516001
+直播中国精编直播,https://gcalic.v.myalicdn.com/gc/wgw05_1/index.m3u8
+八里沟风景区桃花湾瀑布,https://gcalic.v.myalicdn.com/gc/blg05_1/index.m3u8
+八里沟风景区天界山玻璃栈道,https://gcalic.v.myalicdn.com/gc/blg03_1/index.m3u8
+普陀山,https://gcalic.v.myalicdn.com/gc/pts01_1/index.m3u8
+丽江古城大水车,https://gcalic.v.myalicdn.com/gc/ljgcdsc_1/index.m3u8
+丽江古城万古楼遥望玉龙雪山,https://gcalic.v.myalicdn.com/gc/ljgcwglytylxs_1/index.m3u8
+狮子山鸟瞰丽江古城,https://gcalic.v.myalicdn.com/gc/ljgcszsnkgc_1/index.m3u8
+乌镇西市河,https://gcalic.v.myalicdn.com/gc/zjwzbblh_1/index.m3u8
+黄花城水长城01,https://gcalic.v.myalicdn.com/gc/wgw01_1/index.m3u8
+黄花城水长城02,https://gcalic.v.myalicdn.com/gc/wgw02_1/index.m3u8
+黄花城水长城03,https://gcalic.v.myalicdn.com/gc/wgw03_1/index.m3u8
+月牙泉,https://gcalic.v.myalicdn.com/gc/dhyyqsm_1/index.m3u8
+黄龙,https://gcalic.v.myalicdn.com/gc/hlzycc_1/index.m3u8
+泰山主峰,https://gcalic.v.myalicdn.com/gc/taishan01_1/index.m3u8
+泰山十八盘,https://gcalic.v.myalicdn.com/gc/taishan05_1/index.m3u8
+泰山南天门,https://gcalic.v.myalicdn.com/gc/hkts07_1/index.m3u8
+泰山白云亭悬崖,https://gcalic.v.myalicdn.com/gc/hkts02_1/index.m3u8
+泰山太平岭,https://gcalic.v.myalicdn.com/gc/hkts09_1/index.m3u8
+泰山碧霞祠,https://gcalic.v.myalicdn.com/gc/hkts03_1/index.m3u8
+黄山始信新道,https://gcalic.v.myalicdn.com/gc/hsyg_1/index.m3u8
+黄山,https://gcalic.v.myalicdn.com/gc/ahhs01_1/index.m3u8
+中央电视塔东,https://gcalic.v.myalicdn.com/gc/ztd_1/index.m3u8
+中央电视塔南,https://gcalic.v.myalicdn.com/gc/ztn_1/index.m3u8
+天涯石,https://gcalic.v.myalicdn.com/gc/tyhjtys_1/index.m3u8
+六盘山红军长征景区,https://gcalic.v.myalicdn.com/gc/lpsgmjng01_1/index.m3u8
+青岛崂山双福,https://gcalic.v.myalicdn.com/gc/qdls03_1/index.m3u8
+青岛崂山八水河,https://gcalic.v.myalicdn.com/gc/qdls02_1/index.m3u8
+张掖七彩丹霞,https://gcalic.v.myalicdn.com/gc/zyqcdx01_1/index.m3u8
+都江堰鱼嘴,https://gcalic.v.myalicdn.com/gc/djyqyl1_1/index.m3u8
+乐山大佛全景,https://gcalic.v.myalicdn.com/gc/lsdfgfl_1/index.m3u8
+湖南张家界水绕四门,https://gcalic.v.myalicdn.com/gc/zjjsrsm_1/index.m3u8
+湖南张家界将军列队,https://gcalic.v.myalicdn.com/gc/zjjjjdl_1/index.m3u8
+湖南张家界迷魂台,https://gcalic.v.myalicdn.com/gc/zjjmht_1/index.m3u8
+湖南张家界宝峰湖,https://gcalic.v.myalicdn.com/gc/zjjbfh_1/index.m3u8
+湖南张家界御笔峰,https://gcalic.v.myalicdn.com/gc/zjjybf_1/index.m3u8
+湖南张家界天门山西线玻璃栈道,https://gcalic.v.myalicdn.com/gc/tms05_1/index.m3u8
+四川峨眉山云海日出,https://gcalic.v.myalicdn.com/gc/emsarm_1/index.m3u8
+四川峨眉山远眺贡嘎雪山,https://gcalic.v.myalicdn.com/gc/emsyh_1/index.m3u8
+四川峨眉山普贤菩萨铜像,https://gcalic.v.myalicdn.com/gc/emspxps_1/index.m3u8
+四川峨眉山远眺万佛顶,https://gcalic.v.myalicdn.com/gc/emswfs_1/index.m3u8
+四川四姑娘山隆珠措,https://gcalic.v.myalicdn.com/gc/sgns02_1/index.m3u8
+浙江舟山东极岛,https://gcalic.v.myalicdn.com/gc/djd01_1/index.m3u8
+安徽池州九华山风景区九华山,https://gcalic.v.myalicdn.com/gc/jhs05_1/index.m3u8
+安徽池州九华山风景区花台,https://gcalic.v.myalicdn.com/gc/jhs01_1/index.m3u8
+安徽黟县西递牌坊,https://gcalic.v.myalicdn.com/gc/yxxdpf_1/index.m3u8
+安徽黟县芦村远眺,https://gcalic.v.myalicdn.com/gc/yxlcyt_1/index.m3u8
+新疆天山(定海神针),https://gcalic.v.myalicdn.com/gc/xjtcdhsz_1/index.m3u8
+新疆天山(马牙山),https://gcalic.v.myalicdn.com/gc/xjtcmys_1/index.m3u8
+新疆天山(灯杆山),https://gcalic.v.myalicdn.com/gc/xjtcdgs_1/index.m3u8
+厦门鼓浪屿,https://gcalic.v.myalicdn.com/gc/gly01_1/index.m3u8
+广西玉林大容山莲花山顶,https://gcalic.v.myalicdn.com/gc/drs01_1/index.m3u8
+广西桂林漓江景区,https://gcalic.v.myalicdn.com/gc/gllj01_1/index.m3u8
+南京玄武湖公园,https://gcalic.v.myalicdn.com/gc/xwh01_1/index.m3u8
+福建漳州醉美沙滩翡翠湾,https://gcalic.v.myalicdn.com/gc/fcw03_1/index.m3u8
+丽江古城大研花巷观景,https://gcalic.v.myalicdn.com/gc/ljgcdyhxgjt_1/index.m3u8
+雪乡梦幻家园,https://gcalic.v.myalicdn.com/gc/mdjxxmhjyxj_1/index.m3u8
+雪乡大石碑,https://gcalic.v.myalicdn.com/gc/mdjxxdsb_1/index.m3u8
+乌镇蓝印花布,https://gcalic.v.myalicdn.com/gc/zjwzlyhb_1/index.m3u8
+乌镇龙形田,https://gcalic.v.myalicdn.com/gc/zjwzlxt_1/index.m3u8
+乌镇全景,https://gcalic.v.myalicdn.com/gc/zjwzblt_1/index.m3u8
+凤凰古城南华山,https://gcalic.v.myalicdn.com/gc/fhgcdnhs_1/index.m3u8
+凤凰古城东关门,https://gcalic.v.myalicdn.com/gc/fhgcdgm_1/index.m3u8
+鸣沙山,https://gcalic.v.myalicdn.com/gc/dhyyqst_1/index.m3u8
+五彩池,https://gcalic.v.myalicdn.com/gc/hlwcc_1/index.m3u8
+泰山大观峰,https://gcalic.v.myalicdn.com/gc/taishan03_1/index.m3u8
+泰山玉皇顶,https://gcalic.v.myalicdn.com/gc/taishan06_1/index.m3u8
+黄山排云亭,https://gcalic.v.myalicdn.com/gc/hspyt_1/index.m3u8
+黄山飞来石,https://gcalic.v.myalicdn.com/gc/hsptgy_1/index.m3u8
+恒山悬空寺全景,https://gcalic.v.myalicdn.com/gc/hsxksqj_1/index.m3u8
+黄果树六角亭瀑布,https://gcalic.v.myalicdn.com/gc/hgsspzxdpb_1/index.m3u8
+江苏徐州云龙湖风景区云龙山观景台西,https://gcalic.v.myalicdn.com/gc/ylh04_1/index.m3u8
+江苏南京牛首山,https://gcalic.v.myalicdn.com/gc/nss01_1/index.m3u8
+云南丽江蓝月谷,https://gcalic.v.myalicdn.com/gc/ylxs12_1/index.m3u8
+云南丽江玉龙雪山草甸,https://gcalic.v.myalicdn.com/gc/hkylxs06_1/index.m3u8
+云南丽江冰川,https://gcalic.v.myalicdn.com/gc/hkylxs05_1/index.m3u8
+云南丽江印象实景,https://gcalic.v.myalicdn.com/gc/hkylxs01_1/index.m3u8
+云南大理崇圣寺三塔中景,https://gcalic.v.myalicdn.com/gc/dlst03_1/index.m3u8
+云南大理崇圣寺三塔远景,https://gcalic.v.myalicdn.com/gc/dlst01_1/index.m3u8
+陕西洋县国宝朱鹮03,https://gcalic.v.myalicdn.com/gc/zh03_1/index.m3u8
+贵州省兴义市万峰林,https://gcalic.v.myalicdn.com/gc/xywfl_1/index.m3u8
+
+
+歌星金曲,#genre#
+歌MV,http://vd4.bdstatic.com/mda-ickhjq8gkcxz55i1/sc/mda-ickhjq8gkcxz55i1.mp4
+歌MV2,http://vd4.bdstatic.com/mda-ihkwerpgqm1v3ehy/sc/mda-ihkwerpgqm1v3ehy.mp4
+歌MV3,http://vd4.bdstatic.com/mda-jhid37v9u4vny09j/sc/mda-jhid37v9u4vny09j.mp4
+歌MV4,http://vd4.bdstatic.com/mda-icpieeuwfuwruijw/sc/mda-icpieeuwfuwruijw.mp4
+歌MV5,http://vd4.bdstatic.com/mda-jhtriuc2z5fddtre/sc/mda-jhtriuc2z5fddtre.mp4
+歌MV6,http://vd4.bdstatic.com/mda-jepbbqntd414qsem/sc/mda-jepbbqntd414qsem.mp4
+歌MV7,http://vd4.bdstatic.com/mda-ji3nh9t9qpewj26m/sc/mda-ji3nh9t9qpewj26m.mp4
+冷漠-古咖啡,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_3142984&response=res&format=mp4&type=convert_url
+冷漠-时光海灣,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_9867444&response=res&format=mp4&type=convert_url
+冷漠-真不是闹着玩,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_22836669&response=res&format=mp4&type=convert_url
+冷漠-谁都不要说分手,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_12975393&response=res&format=mp4&type=convert_url
+冷漠-再爱也没有用,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_5834217&response=res&format=mp4&type=convert_url
+冷漠-不要再说你还爱我,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_911272&response=res&format=mp4&type=convert_url
+冷漠-别把寂寞当缘分,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_6210858&response=res&format=mp4&type=convert_url
+冷漠-你把爱情给了谁,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_1210771&response=res&format=mp4&type=convert_url
+冷漠-我是否也在你心中,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_4378249&response=res&format=mp4&type=convert_url
+冷漠-多情的人不该相遇,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_1041689&response=res&format=mp4&type=convert_url
+凤凰传奇-華夏传说,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_40828850&response=res&format=mp4&type=convert_url
+凤凰传奇-奢香夫人,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_51674527&response=res&format=mp4&type=convert_url
+凤凰传奇-今生的缘,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_646024&response=res&format=mp4&type=convert_url
+凤凰传奇-荷塘月色,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_1565837&response=res&format=mp4&type=convert_url
+凤凰传奇-自由飞翔,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_18747906&response=res&format=mp4&type=convert_url
+凤凰传奇-策马奔腾,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_24042013&response=res&format=mp4&type=convert_url
+凤凰传奇-温柔姑娘,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_6401404&response=res&format=mp4&type=convert_url
+凤凰传奇-自由自在,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_24042025&response=res&format=mp4&type=convert_url
+凤凰传奇-奇迹世界,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_954805&response=res&format=mp4&type=convert_url
+凤凰传奇-歌唱二小放牛郎,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_8120530&response=res&format=mp4&type=convert_url
+凤凰传奇-中国味道,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_24042021&response=res&format=mp4&type=convert_url
+凤凰传奇-光芒,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_24042019&response=res&format=mp4&type=convert_url
+凤凰传奇-御龙归字谣,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_1164118&response=res&format=mp4&type=convert_url
+邓丽君 歌曲精选九首 經典歌曲,https://vdse.bdstatic.com//432792ba00998e73655101c9e706e1e2.mp4
+金典老歌,https://vdse.bdstatic.com//36ea0ffcf8156a44b9d524d999eb088a.mp4
+刀郎經典歌曲7首:《西海情歌》《敖包相会》《情人》冲动的惩罚,https://vdse.bdstatic.com//628ca08719cef5987ea2ae3c6f0d2386.mp4
+刀郎經典歌曲精选,https://vdse.bdstatic.com//4fcca19a19aa4974230c5ee70ab5fa55.mp4
+刀郎經典老歌合集《披着羊皮的狼》《西海情歌》《冲动的惩罚》,https://vdse.bdstatic.com//bfbb0871ed01eb3328497faae6a8531b.mp4
+云朵、刀郎、孙露、张雨生等經典怀旧歌曲6首,https://vdse.bdstatic.com//fa0ed7ad8657cc4d13972c3d9aa5ddbf.mp4
+怀旧金曲:刀郎《黄玫瑰》,https://vdse.bdstatic.com//893331fdfab5d04e5c93e2adbbf1e949.mp4
+飞鸟和蝉-任然,https://vd4.bdstatic.com/mda-kmagpap54qyv855r/v1-cae/1080p/mda-kmagpap54qyv855r.mp4
+海鸥飞-龙梅子,https://vd2.bdstatic.com/mda-kgrx6ftzptj5x4i9/v1-cae/1080p/mda-kgrx6ftzptj5x4i9.mp4
+不再痴情-黄静美,https://vd2.bdstatic.com/mda-mguiyws4cia6d0rf/1080p/cae_h264/1627568961141809995/mda-mguiyws4cia6d0rf.mp4
+天公不作美-黄静美,https://vd2.bdstatic.com/mda-mcibj6pxkwe3x1ji/1080p/cae_h264/1616117049/mda-mcibj6pxkwe3x1ji.mp4
+浪子闲话-笑纳-赤伶,https://vd3.bdstatic.com/mda-mi0jir5caqx8xtmh/1080p/cae_h264/1630505223203305128/mda-mi0jir5caqx8xtmh.mp4
+用力活着-张茜,https://vd4.bdstatic.com/mda-mfmcz8hk0qjieck2/1080p/cae_h264/1624355388377695977/mda-mfmcz8hk0qjieck2.mp4
+点歌的人-海来阿木,https://vd3.bdstatic.com/mda-maqxxg1hrznsdf1a/v1-cae/1080p/mda-maqxxg1hrznsdf1a.mp4
+你的万水千山-海来阿木,https://vd4.bdstatic.com/mda-ki4i7gfqw6cw6hq0/v1-cae/1080p/mda-ki4i7gfqw6cw6hq0.mp4
+当我孤独的时候还可以抱着你郑源,https://vd4.bdstatic.com/mda-kgaerksrx80jgdu0/v1-cae/1080p/mda-kgaerksrx80jgdu0.mp4
+寂寞的人伤心的歌-龙梅子、杨海彪,https://vd4.bdstatic.com/mda-kb5gc9c1vmtz93g8/v1-cae/sc/mda-kb5gc9c1vmtz93g8.mp4
+两个人-蔡妍-BerryGood,https://vd2.bdstatic.com/mda-iffus60ju99vp5kr/sc/mda-iffus60ju99vp5kr.mp4
+两个人-蔡妍-BerryGood,https://vd4.bdstatic.com/mda-ki9ze4v8sw9sj7cb/sc/mda-ki9ze4v8sw9sj7cb.mp4
+情歌皇后林翠萍《相见不如不见》F,https://vdse.bdstatic.com//1f65ad884619a069c68572f1ac9e2b0e.mp4
+林翠萍《负心的你》F,https://vdse.bdstatic.com//16425f9f93e382e23bcde71f8ed85a4c.mp4
+林翠萍經典老歌《相会在梦里》F,https://vdse.bdstatic.com//00fb72cd0b27bec6d9c0cd915874b50e.mp4
+林翠萍經典情歌《相思豆》F,https://vdse.bdstatic.com//986498bb0ccd2114ba1274df22fae332.mp4
+精选韓宝仪經典歌曲10首F,https://vdse.bdstatic.com//42d5ac65a9070eeab2513bf6bc65ea4d.mp4
+龙飘飘《我没醉》F,https://vdse.bdstatic.com//3d48e45e47836cd75c202ec957260837.mp4
+龙飘飘《往事》F,https://vdse.bdstatic.com//a28e362e15fa8c361219944bfb59b596.mp4
+美酒加咖啡 龙飘飘F,https://vdse.bdstatic.com//816c73543ede254586a625cacc67ea0f.mp4
+林翠萍《麦搁來这套》,https://vdse.bdstatic.com//5b388a47b1233105831e09b8cadc1edd.mp4
+龙飘飘經典老歌《后悔爱上你》,https://vdse.bdstatic.com//bde5b937e292c240a4322d9719deb98b.mp4
+屋顶着火宋茜,https://vd3.bdstatic.com/mda-ife08h4xpq85sg65/logo//mda-ife08h4xpq85sg65.mp4?pd=19&vt=1
+陈柯宇生僻字,http://vd2.bdstatic.com/mda-jb28qp6tauzkzpy9//mda-jb28qp6tauzkzpy9.mp4
+摩登兄弟探清水河,http://vd2.bdstatic.com/mda-jg6dffnbt92877h0/sc/mda-jg6dffnbt92877h0.mp4
+筷子兄弟小苹果,http://vd1.bdstatic.com/mda-hc2rwgemn6yrnvw2/mda-hc2rwgemn6yrnvw2.mp4
+李玲玉女儿情,http://vd4.bdstatic.com/mda-jiqh0kcd7kgpwnmb/sc/mda-jiqh0kcd7kgpwnmb.mp4
+你的酒馆对我打了烊陈雪凝,https://vd3.bdstatic.com/mda-ka59e4w0qxxsxnt0//mda-ka59e4w0qxxsxnt0.mp4?pd=19&vt=1
+醉千年李袁杰,http://vd3.bdstatic.com/mda-ihai9qt3yny3sx53//mda-ihai9qt3yny3sx53.mp4?pd=19&vt=1
+就算没有如果张杰,https://vdse.bdstatic.com//b362a1c2ecbc60b18d3dc06cdc97f142.mp4?authorization=bce-auth-v1%2F40f207e648424f47b2e3dfbb1014b1a5%2F2020-01-31T15%3A58%3A51Z%2F-
+浮诛张杰,https://vdse.bdstatic.com/1c2dc5580507bc1b0ef507c63b3fc461.mp4?authorization=bce-auth-v1%2Ffb297a5cc0fb434c971b8fa103e8dd7b%2F2017-05-11T09%3A02%3A31Z%2F-1%2F
+望赵丽颖张碧晨,https://vdse.bdstatic.com/25f5ae931f851bf09c48abaebe5d6f8d.mp4?authorization=bce-auth-v1%2F40f207e648424f47b2e3dfbb1014b1a5%2F2017-05-11T09%3A02%3A31Z%2F-1%2F
+杜德伟-情人,http://vdown.kuwo.cn:80/resource/t4/59/86/iXqIb2KOC3M.mp4
+男儿当自强 林子祥,http://vdown.kuwo.cn:80/resource/t4/35/8/byLO9W5m5Y8.mp4
+陈雷-随缘,http://vdown.kuwo.cn:80/resource//t1/34/c9596b26ffc64cb5ab2c3f82068d167a.mp4
+歡喜就好,http://vdown.kuwo.cn:80/resource//t4/33/65/I4Vpjif2dxY.mp4
+故乡,http://vdown.kuwo.cn:80/resource/t4/23/63/hQYKyFEiljU.mp4
+爱情鸟,http://vdown.kuwo.cn:80/resource//t4/69/75/bD9N0L_qjcM.mp4
+爱拼才会赢,http://vdown.kuwo.cn:80/resource//t4/20/1/y12_ecvVJgA.mp4
+浪子的心情,http://vdown.kuwo.cn:80/resource/t4/53/44/3Rve23J-sy8.mp4
+草蜢-半点心,http://vodcdn.video.taobao.com/oss/ali-video/68fc953ff930412784dada5eb79d0821/1461058499/video.m3u8.m3u8
+草蜢-宝贝对不起,http://bizcommon.alicdn.com/l2nDqpMmn6DGHnWzZQA/RQdMfitGKCINh4BPzc9%40%40sd.m3u8
+陈倩倩-婴儿,http://vodcdn.video.taobao.com/oss/ali-video/4fc8d043456c092c392483bd293d0ee3/video.m3u8
+王菲-容易受伤的女人(国语),http://vodcdn.video.taobao.com/oss/ali-video/84722d96b62883dafdcc154afbf0bb03/video.m3u8
+王菲-执迷不悔,http://vodcdn.video.taobao.com/oss/ali-video/15bf7da88b44048edaabe73d6b17c00b/video.m3u8
+陈慧娴-千千阙歌,http://vodcdn.video.taobao.com/oss/ali-video/8f45a35108ebe1b1951d2936007e3cd0/video.m3u8
+陈慧娴-归来吧,http://vodcdn.video.taobao.com/oss/ali-video/c89589fd5809cf6e2f1a4d7a52023733/video.m3u8
+叶倩文-潇洒走一回,http://vodcdn.video.taobao.com/oss/ali-video/371d75312720e701b5f3988d46cdf4ef/video.m3u8
+吕方-朋友别哭,http://bizcommon.alicdn.com/l2nDqpMmn6DGHnWzZQA/qgljCDKewD8vEgOMrrt%40%40sd.m3u8
+王麟-伤不起,http://vodcdn.video.taobao.com/oss/ali-video/1e3633ff1c3a525e148968b45c18f780/video.m3u8
+李圣杰-痴心绝对,http://vodcdn.video.taobao.com/oss/ali-video/f2b27944f9960f3dbb2c6dd6c4679747/video.m3u8
+陈瑞-有谁知道我在等你,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_1583218&response=res&format=mp4&type=convert_url
+陈瑞-鱼和水的故事,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_353501&response=res&format=mp4&type=convert_url
+陈瑞-三生三世,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_6449820&response=res&format=mp4&type=convert_url
+陈瑞-一生的等待,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_1583215&response=res&format=mp4&type=convert_url
+陈瑞-一辈子的真爱,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_28470656&response=res&format=mp4&type=convert_url
+陈瑞-红尘永相伴,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_506435&response=res&format=mp4&type=convert_url
+陈瑞-男人酒女人泪,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_40090112&response=res&format=mp4&type=convert_url
+陈瑞-爱的痕迹,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_1218815&response=res&format=mp4&type=convert_url
+陈瑞-分手了别来打扰我,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_5835684&response=res&format=mp4&type=convert_url
+陈瑞-曾經是我的最爱的女人,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_486357&response=res&format=mp4&type=convert_url
+陈瑞-烛光里的妈妈,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_1024266&response=res&format=mp4&type=convert_url
+陈瑞-爱得真伤的深,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_1218839&response=res&format=mp4&type=convert_url
+陈瑞-父亲,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_4247454&response=res&format=mp4&type=convert_url
+陈瑞-别思,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_3429064&response=res&format=mp4&type=convert_url
+陈瑞-天长地久,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_1583220&response=res&format=mp4&type=convert_url
+陈瑞-心中的牵挂,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_1583211&response=res&format=mp4&type=convert_url
+龙梅子-都说,https://vd3.bdstatic.com:443/mda-ma7cm59x1m4015ip/v2-hknm/1080p/mda-ma7cm59x1m4015ip.mp4
+谭维维《蓝莲花》,https://rescdn.yishihui.com/longvideo/transcode/video/vpc/20201112/5623330ySHJCzL4DxMMpOtgHo.mp4
+雨花石-云朵,http://newcntv.qcloudcdn.com/asp/hls/2000/0303000a/3/default/20a65dbb23e4448cbcb52a756ebdc74d/2000.m3u8
+一砖一瓦-杨哲,http://txmov2.a.yximgs.com/upic/2020/11/07/23/BMjAyMDExMDcyMzQxMzZfMTU0MDc1NjUwOF8zODg5OTUwODg5MF8yXzM=_b_B41249b6fddaf4b4ef4bb5aee7c4f431c.mp4
+雨中相思-龙千玉,http://txmov2.a.yximgs.com/upic/2020/11/25/16/BMjAyMDExMjUxNjAwNDRfMTU0MDc1NjUwOF8zOTc3MTI2OTA2MF8yXzM=_b_B0652e68c50f21d5cb6bdda5dbc7a3c13.mp4
+月光瞑-蔡秋凤,http://txmov2.a.yximgs.com/upic/2020/11/25/15/BMjAyMDExMjUxNTQxMjRfMTU0MDc1NjUwOF8zOTc3MDYxOTQzOF8yXzM=_b_B5ef50d6b7967ca637b709b0bbd215806.mp4
+梦中情人-林乔安,http://txmov2.a.yximgs.com/upic/2020/11/08/21/BMjAyMDExMDgyMTAwMTNfMTU0MDc1NjUwOF8zODk0OTg4ODcxN18yXzM=_b_B5faf49255e0be7fc042ea521c28a458e.mp4
+一句再会-陈思安,http://txmov2.a.yximgs.com/upic/2020/11/07/23/BMjAyMDExMDcyMzM3MTdfMTU0MDc1NjUwOF8zODg5OTQ0NTkxMl8yXzM=_b_B75778f52a4759d91ee9275fffb96812f.mp4
+王彩華爱情的骗子我问你,http://vd4.bdstatic.com/mda-jm4h7v1isxwc660u/sc/mda-jm4h7v1isxwc660u.mp4
+蔡丽津月圆情,http://vd3.bdstatic.com/mda-jm53zq7k0b0kbxch/sc/mda-jm53zq7k0b0kbxch.mp4
+陈小云爱人跟人走,http://vd4.bdstatic.com/mda-jgvqig36bu4rc0ej/sc/mda-jgvqig36bu4rc0ej.mp4
+江蕙梦中的情话,http://vd2.bdstatic.com/mda-ji4rwrwg7fijyqkh/mda-ji4rwrwg7fijyqkh.mp4
+小凤凤爱情一阵风,http://vd2.bdstatic.com/mda-jjm7vgq1iahz0zpg/mda-jjm7vgq1iahz0zpg.mp4
+张秀卿车站,http://vd2.bdstatic.com/mda-jjmnjgiabtvmy13u/sc/mda-jjmnjgiabtvmy13u.mp4
+龙飘飘 歌声恋情,https://vd3.bdstatic.com/mda-nbr8qai32badkdf1/sc/cae_h264_delogo/1645933170027877953/mda-nbr8qai32badkdf1.mp4
+陈百潭初恋[848*480],http://vd4.bdstatic.com/mda-jk22i7yt5vyjbgwt//mda-jk22i7yt5vyjbgwt.mp4
+陈淑苹黄昏之恋[848*480],http://vd4.bdstatic.com/mda-jk0m1rgje4eh01cw//mda-jk0m1rgje4eh01cw.mp4
+陈淑苹离家,http://vd2.bdstatic.com/mda-iftyuk6tjcxrm53p/sc/mda-iftyuk6tjcxrm53p.mp4
+陈淑苹我的伤心谁人知,http://vd3.bdstatic.com/mda-ijjfe3s5z1iyvzgq/sc/mda-ijjfe3s5z1iyvzgq.mp4
+姜玉阳-刻骨的温柔[688*464],http://cloud.video.taobao.com/play/u/1748679248/p/2/e/3/t/1/15883785.m3u8
+罗时丰爱那么痛,http://vd2.bdstatic.com/mda-jcrjbhmgprhs00c4/sc/mda-jcrjbhmgprhs00c4.mp4
+罗时丰爱情的路,http://vd4.bdstatic.com/mda-jcrjcp1wy5q2i00n/sc/mda-jcrjcp1wy5q2i00n.mp4
+罗时丰擦掉彼句我爱你[768*432],http://vd1.bdstatic.com/mda-hj3j9zhu12h99a79/vs-f5f50550f0b93f5020da43ab88266eda-watermark//mda-hj3j9zhu12h99a79.mp4
+罗时丰男人的汗[848*480],http://vd4.bdstatic.com/mda-jm491avwdp96qg02//mda-jm491avwdp96qg02.mp4
+罗时丰无情之梦,http://vd2.bdstatic.com/mda-je1jq1hvgmab08gd/sc/mda-je1jq1hvgmab08gd.mp4
+罗时丰心事,http://vd2.bdstatic.com/mda-jaadiz1rwrtrj7kw/sc/mda-jaadiz1rwrtrj7kw.mp4
+罗时丰一定要成功,http://vd1.bdstatic.com/mda-hgmk00ncqxvvix0v/mda-hgmk00ncqxvvix0v.mp4
+毛不易 Ⅰ 借,https://vd3.bdstatic.com/mda-ii2njckdbkmmcp81//mda-ii2njckdbkmmcp81.mp4?pd=20
+毛不易 Ⅰ 牧马城市,https://vdse.bdstatic.com//1d83dfc2411243e5b9f44462e1e55ab3.mp4?authorization=bce-auth-v1%2F40f207e648424f47b2e3dfbb1014b1a5%2F2019-12-14T02%3A12%3A40Z%2F-1%2Fhost%2F4739737cd8b21cbdb307a5d008abe88a61afce23616c55f2a8fae768fc2b6764
+毛不易 Ⅰ 给你给我,https://vdse.bdstatic.com//4d056936c317b35f886ced83147ad7e8.mp4?authorization=bce-auth-v1%2F40f207e648424f47b2e3dfbb1014b1a5%2F2020-01-31T14%3A42%3A28Z%2F-1%2Fhost%2F13c0f2dda852b6fdbcd7422de8ac3a48437304b4c38728deeedb6558c47a9eb9
+王七七 Ⅰ 我愿意平凡的陪在你身旁,https://vdse.bdstatic.com/570e05ef514db00b14c9c10d1aef7f1f.mp4?authorization=bce-auth-v1%2Ffb297a5cc0fb434c971b8fa103e8dd7b%2F2017-05-11T09%3A02%3A31Z%2F-1%2F%2Fd5332371b8e0882511e0b75041fcd24f0899fa4237f56edacb89b6734f95ca97
+于文文 Ⅰ 體面,https://vdse.bdstatic.com//f18bdf41f28b68a1b0177fa5e5cdf8fe.mp4?authorization=bce-auth-v1%2F40f207e648424f47b2e3dfbb1014b1a5%2F2020-01-31T14%3A25%3A29Z%2F-1%2Fhost%2F1a9107b1210343ed30aa27779a042aab3d016777226b471ee5f38c8fc1e23cf1
+魏新雨 Ⅰ 恋人心,https://vdse.bdstatic.com//e179fea2ba171a7268188a055702229d.mp4?authorization=bce-auth-v1%2F40f207e648424f47b2e3dfbb1014b1a5%2F2020-01-31T15%3A18%3A42Z%2F-1%2Fhost%2F84badc350a20f1dfe035e91408acfe7e4b1e69fe262f4faaa5ca3af837e1592b
+许艺娜 Ⅰ 如梦令,https://vdse.bdstatic.com/20e606730cb53b91bd4a4d2b0323e563.mp4?authorization=bce-auth-v1%2Ffb297a5cc0fb434c971b8fa103e8dd7b%2F2017-05-11T09%3A02%3A31Z%2F-1%2F%2F105e954b546582862111230676e2cdc84b0144bf00447793daa377381b7ddb0f
+张杰 Ⅰ 浮诛,https://vdse.bdstatic.com/1c2dc5580507bc1b0ef507c63b3fc461.mp4?authorization=bce-auth-v1%2Ffb297a5cc0fb434c971b8fa103e8dd7b%2F2017-05-11T09%3A02%3A31Z%2F-1%2F%2F592cfc9d5b5bc41242144504ccf1f9f9df9d15b863f6f33c610e552faf629cd9
+张杰 Ⅰ 就算没有如果,https://vdse.bdstatic.com//b362a1c2ecbc60b18d3dc06cdc97f142.mp4?authorization=bce-auth-v1%2F40f207e648424f47b2e3dfbb1014b1a5%2F2020-01-31T15%3A58%3A51Z%2F-1%2Fhost%2Ff5f960beaff319951e978ff3850b31434a5d64f13c03c9724e988c251426270d
+胡夏 Ⅰ 只问你肯不肯,https://vdse.bdstatic.com/d4463cd83c0c47fba7ce65c71ad94bbb.mp4?authorization=bce-auth-v1%2Ffb297a5cc0fb434c971b8fa103e8dd7b%2F2017-05-11T09%3A02%3A31Z%2F-1%2F%2F09b9a33c3ded7584f68a3b875a10ba6a021d74f32e4144c2c0327f05c57abfdc
+张碧晨/赵丽颖 Ⅰ 望,https://vdse.bdstatic.com/25f5ae931f851bf09c48abaebe5d6f8d.mp4?authorization=bce-auth-v1%2F40f207e648424f47b2e3dfbb1014b1a5%2F2017-05-11T09%3A02%3A31Z%2F-1%2F%2Fbeb15438a125af0e53bc38c98b3f304da2e2c0f1f61103ce81a9df486dc138a3
+
+
+DJ音乐,#genre#
+热火斯卡拉,https://vd4.bdstatic.com/mda-nk3qfbxhf5dqpywt/sc/cae_h264/1667582665910576925/mda-nk3qfbxhf5dqpywt.mp4
+怒击摇,https://vd2.bdstatic.com/mda-mkibx9zvknj8d2fu/sc/cae_h264_nowatermark/1637355659217322910/mda-mkibx9zvknj8d2fu.mp4
+新送情郎,https://vd4.bdstatic.com/mda-meq936zru7niwvd2/sc/cae_h264/1621924823247730000/mda-meq936zru7niwvd2.mp4
+震撼纯电音Drown,https://vd2.bdstatic.com/mda-mjshcpd847mhnjgj/sc/cae_h264/1635337200637124885/mda-mjshcpd847mhnjgj.mp4
+送给未来的你,https://vd2.bdstatic.com/mda-ma0st3ncw6i2yerr/v1-cae/sc/mda-ma0st3ncw6i2yerr.mp4
+模特DJ,http://gcw.bdcdn.shoujiduoduo.com/201805/0247-477.mp4
+21年DJ爆红网络洗脑神曲,https://vdse.bdstatic.com//bf4bb1d82b2eb17681c49e745dc2da21.mp4
+劲爆DJ串烧,https://vdse.bdstatic.com//01b1f78bb5b009d36ce3f5051e7383c1.mp4
+今日热歌DJ《如果爱还在》《A8回心转意》《爱到最后就是痛》,https://vd2.bdstatic.com/mda-mhhf5mr00yyhpfjs/1080p/cae_h264/1629284581057661229/mda-mhhf5mr00yyhpfjs.mp4
+推荐9首DJ舞曲_首首甜美醉人,https://vd2.bdstatic.com/mda-mhig1c3sw223mx8p/1080p/cae_h264/1629380139191731149/mda-mhig1c3sw223mx8p.mp4
+动感DJ《苦了累了听听歌》,https://vd4.bdstatic.com/mda-mhqekuf2r91v08dt/1080p/cae_h264/1629888246186602728/mda-mhqekuf2r91v08dt.mp4
+车载必备DJ《殇雪》《潮湿的心》《酒醉的蝴蝶》《多年以后》,https://vd3.bdstatic.com/mda-mhve4gb9hi8cstzk/1080p/cae_h264/1630319514896018158/mda-mhve4gb9hi8cstzk.mp4
+DJ《心在跳情在烧》,https://vd4.bdstatic.com/mda-mhwf07t27w3gi1y7/1080p/cae_h264/1630406994590156367/mda-mhwf07t27w3gi1y7.mp4
+孙艺琪《寂寞的人别听伤感情歌》,https://vd2.bdstatic.com/mda-mdscsws7443npwa8/1080p/cae_h264/1619516504/mda-mdscsws7443npwa8.mp4
+郭镐鸣《野摩托》,https://vd3.bdstatic.com/mda-mekfm7wu6f4rtt99/1080p/cae_h264/1621595318412084671/mda-mekfm7wu6f4rtt99.mp4
+赵蕾蕾《寂寞的城伤心的人》,https://vd2.bdstatic.com/mda-mesdm11tdp69a9ye/1080p/cae_h264/1622115758783335310/mda-mesdm11tdp69a9ye.mp4
+叶筱萱《爱到最后是孤独》,https://vd4.bdstatic.com/mda-mh9fjm2j86uyymfa/1080p/cae_h264/1628593607912074882/mda-mh9fjm2j86uyymfa.mp4
+海来阿木《浪子心》DJ沈念版,https://vd3.bdstatic.com/mda-mgr9s5pv0jeqbcm8/1080p/cae_h264/1627298307874491239/mda-mgr9s5pv0jeqbcm8.mp4
+《人间惊鸿客》,https://vd3.bdstatic.com/mda-mh2bbyjcqjxjhzkd/1080p/cae_h264/1627978577559447916/mda-mh2bbyjcqjxjhzkd.mp4
+DJ版《三月里的小雨》,https://vd2.bdstatic.com/mda-mgwegh0bzv4cy6cb/1080p/cae_h264/1627727251470197083/mda-mgwegh0bzv4cy6cb.mp4
+DJ版《望爱却步》,https://vd4.bdstatic.com/mda-mh3ei4sg2jypty79/1080p/cae_h264/1628072927342489970/mda-mh3ei4sg2jypty79.mp4
+《唱着情歌流着泪》,https://vd3.bdstatic.com/mda-mhwaejanf0ie6b8j/1080p/cae_h264/1630409563129833732/mda-mhwaejanf0ie6b8j.mp4
+DJ版《一个人挺好》,https://vd3.bdstatic.com/mda-mh6gqq4b59z26cjx/1080p/cae_h264/1628504623473300938/mda-mh6gqq4b59z26cjx.mp4
+《爱你到最后一刻》,https://vd3.bdstatic.com/mda-mhr9c7q9xzgy1812/1080p/cae_h264/1630062648077583523/mda-mhr9c7q9xzgy1812.mp4
+伤感DJ《等》,https://vd2.bdstatic.com/mda-mhq92a7nafrh8dma/1080p/cae_h264/1629977686796490849/mda-mhq92a7nafrh8dma.mp4
+DJ《我们不再是从前》,https://vd2.bdstatic.com/mda-mhne550wq5m66zvj/1080p/cae_h264/1629803514331462220/mda-mhne550wq5m66zvj.mp4
+DJ舞曲《让我做你的眼睛》,https://vd2.bdstatic.com/mda-mhaargrart2qrkdz/1080p/cae_h264/1629630942996744682/mda-mhaargrart2qrkdz.mp4
+DJ版《时间会知道你好不好》,https://vd3.bdstatic.com/mda-mhairve7gvye1192/1080p/cae_h264/1629457148988604256/mda-mhairve7gvye1192.mp4
+DJ版《爱不得忘不舍》,https://vd3.bdstatic.com/mda-mh8j8egnj8idbvd8/1080p/cae_h264/1629367979662473678/mda-mh8j8egnj8idbvd8.mp4
+DJ版《蜜雪冰城》,https://vd3.bdstatic.com/mda-mhbae2pwwxhyxjcz/1080p/cae_h264/1628767594518574030/mda-mhbae2pwwxhyxjcz.mp4
+《无味》DJ版,https://vd3.bdstatic.com/mda-mgqiagirsmmpuarm/1080p/cae_h264/1627218846577884242/mda-mgqiagirsmmpuarm.mp4
+DJ版《原谅你的谎》,https://vd4.bdstatic.com/mda-mhacxx5vhr2we882/1080p/cae_h264/1628673933350116053/mda-mhacxx5vhr2we882.mp4
+DJ《等爱》,https://vd2.bdstatic.com/mda-mfhh1e0hwq212rrt/sc/h264/1623988905898256147/mda-mfhh1e0hwq212rrt.mp4
+DJ《醉过多少回》,https://vd4.bdstatic.com/mda-megp46e98a4f2b9g/sc/h264/1621239560364992817/mda-megp46e98a4f2b9g.mp4
+DJ情歌《爱情迷了路》,https://vd4.bdstatic.com/mda-mdbrb7fns70avrmt/1080p/cae_h264/1618222287/mda-mdbrb7fns70avrmt.mp4
+DJ流浪兄弟,https://vd2.bdstatic.com/mda-mhrdtax1km0idkc5/1080p/cae_h264/1629972852606533219/mda-mhrdtax1km0idkc5.mp4
+车载DJ《多年以后》,https://vd3.bdstatic.com/mda-mhqekuegbh6112js/1080p/cae_h264/1629891559415737083/mda-mhqekuegbh6112js.mp4
+经典老歌DJ舞曲七首,https://vd2.bdstatic.com/mda-mhwbtsnrmm6v6x5r/sc/cae_h264/1630403250895754314/mda-mhwbtsnrmm6v6x5r.mp4
+精选五首DJ男声串烧,https://vd2.bdstatic.com/mda-maqfk730tsig88wr/v2-hknm/1080p/mda-maqfk730tsig88wr.mp4
+韩可可《错位时空》DJ版,https://vd3.bdstatic.com/mda-mgciytzb45z6z8yj/1080p/cae_h264/1626183756603775947/mda-mgciytzb45z6z8yj.mp4
+忘记你需要多久(DJ小鱼儿版),https://vd2.bdstatic.com/mda-mc1sm1r5s9azchjv/v1-cae/1080p/mda-mc1sm1r5s9azchjv.mp4
+车载DJ《今夜为你醉...》,https://vdse.bdstatic.com//b68123a666cce39e7413da912e3675a3.mp4
+抖音热歌《大风吹+夜夜夜漫长》,https://vdse.bdstatic.com//13da18e12728e9d7849f6589a3070b4c.mp4
+2021年最好听的DJ串烧,https://vdse.bdstatic.com//cd396057d1fbcb12f0600d38a16effbc.mp4
+2021年最火伤感音乐,https://vdse.bdstatic.com//6d39df48360bdb12f73800397c4a6c02.mp4
+2021年网络火爆伤感情歌6首,https://vdse.bdstatic.com//80e0473f97055cec1c9c76c1c7e5498a.mp4
+2021热门伤感DJ,https://vdse.bdstatic.com//06b4e9b185b843e694e4d20e9b0a0aac.mp4
+几首比较火的DJ情歌,https://vdse.bdstatic.com//4d7e8fe409b2ba9e08b179de8e146fa3.mp4
+《爱难求情难断…》,https://vdse.bdstatic.com//0c8ed110c5522e9bd31752ecb999b1ab.mp4
+花都开了你来不来DJ,https://vd3.bdstatic.com/mda-mdee523swbezmsin/480p/h264/1618480997/mda-mdee523swbezmsin.mp4
+5首劲爆dj,https://vd2.bdstatic.com/mda-mm69dxgtcqg28j9j/sc/cae_h264/1638860024910192032/mda-mm69dxgtcqg28j9j.mp4
+动感超人dj,https://vd3.bdstatic.com/mda-mm49pxqfvevcqbx4/sc/cae_h264/1638687905397245214/mda-mm49pxqfvevcqbx4.mp4
+野花香dj,https://vd3.bdstatic.com/mda-mm68k5z0h1qjm8n0/sc/cae_h264/1638980550463660240/mda-mm68k5z0h1qjm8n0.mp4
+精选dj,https://vd3.bdstatic.com/mda-mm68drt808w1nins/720p/h264/1638861890075163680/mda-mm68drt808w1nins.mp4
+伤感情歌DJ,https://vd3.bdstatic.com/mda-mkv7idcnxrgc3cnd/sc/cae_h264/1638257251905732477/mda-mkv7idcnxrgc3cnd.mp4
+DJ情歌,https://vd2.bdstatic.com/mda-mm67ychk60q5n0d1/sc/cae_h264/1638893384360470440/mda-mm67ychk60q5n0d1.mp4
+新情歌DJ,https://vd3.bdstatic.com/mda-mkm49f32vcaf16y0/sc/cae_h264/1637551531193286304/mda-mkm49f32vcaf16y0.mp4
+爱情情歌dj网,https://vd2.bdstatic.com/mda-mkq4iax6ed1yimay/sc/cae_h264/1637837116068761026/mda-mkq4iax6ed1yimay.mp4
+绝美情歌dj,https://vd2.bdstatic.com/mda-mkp952u577gbq8uc/sc/cae_h264/1637737197319948432/mda-mkp952u577gbq8uc.mp4
+酒吧舞女,https://vd2.bdstatic.com/mda-mkpe42g9za18xetn/sc/cae_h264/1637798968815645031/mda-mkpe42g9za18xetn.mp4
+劲爆舞曲DJ,https://vd2.bdstatic.com/mda-mkjdym3r2h7y5a58/sc/cae_h264/1637440648941328664/mda-mkjdym3r2h7y5a58.mp4
+慢摇dj舞曲,https://vd2.bdstatic.com/mda-mkpi5r0xe92ja446/sc/cae_h264/1637775035132431598/mda-mkpi5r0xe92ja446.mp4
+男神dj舞曲,https://vd4.bdstatic.com/mda-mkpbcp1thzqg8vju/sc/cae_h264/1637772142027994508/mda-mkpbcp1thzqg8vju.mp4
+韩国女团dj,https://vd3.bdstatic.com/mda-mknba5i60je0d2dn/sc/cae_h264/1637654844357830568/mda-mknba5i60je0d2dn.mp4
+七星酒吧舞曲,https://vd2.bdstatic.com/mda-mkq4p7459ade8936/sc/cae_h264/1637813773613914093/mda-mkq4p7459ade8936.mp4
+dj舞曲女人版,https://vd3.bdstatic.com/mda-mkp88kxv6r8y73k9/sc/cae_h264/1637733263867775329/mda-mkp88kxv6r8y73k9.mp4
+眉飞色舞dj舞曲,https://vd2.bdstatic.com/mda-mkqi8zsh8r874xii/sc/cae_h264/1637854401020299343/mda-mkqi8zsh8r874xii.mp4
+情歌DJ合集,https://vd4.bdstatic.com/mda-mkp3tpu9ghk2ufev/sc/cae_h264/1637733480141753790/mda-mkp3tpu9ghk2ufev.mp4
+四海舞曲dj,https://vd2.bdstatic.com/mda-mkp6w1tjw8mz9kpx/sc/cae_h264/1637731815454834601/mda-mkp6w1tjw8mz9kpx.mp4
+新世纪舞曲,https://vd4.bdstatic.com/mda-mkq704rtr59i9jtj/sc/cae_h264/1637823373696903055/mda-mkq704rtr59i9jtj.mp4
+dj舞曲交流,https://vd2.bdstatic.com/mda-majhhns1q3ggkdi6/v1-cae/sc/mda-majhhns1q3ggkdi6.mp4
+干就完了,https://vd3.bdstatic.com/mda-mkpd6xzxe91etw8c/sc/cae_h264/1637766099902911413/mda-mkpd6xzxe91etw8c.mp4
+金典老歌合集dj,https://vd3.bdstatic.com/mda-mkq6zqsvfa164i4i/sc/cae_h264/1637829051855604521/mda-mkq6zqsvfa164i4i.mp4
+学生dj舞曲,https://vd2.bdstatic.com/mda-mkncvdu8w51mdbqw/sc/cae_h264/1637659554429325643/mda-mkncvdu8w51mdbqw.mp4
+日韩舞曲DJ,https://vd4.bdstatic.com/mda-mknatf58h2evy18i/sc/cae_h264/1637653930525484478/mda-mknatf58h2evy18i.mp4
+国际舞曲,https://vd4.bdstatic.com/mda-mkpde77et4yvqx7e/sc/cae_h264/1637766610977026004/mda-mkpde77et4yvqx7e.mp4
+dj舞曲合集,https://vd2.bdstatic.com/mda-mkmeak5hsf7hmguz/sc/cae_h264/1637579072201459045/mda-mkmeak5hsf7hmguz.mp4
+dj舞曲金典,https://vd2.bdstatic.com/mda-mkk0g8x89nnx62tm/sc/cae_h264/1637456174213928981/mda-mkk0g8x89nnx62tm.mp4
+车载DJ舞曲《大风吹》《浪子闲话》《玛尼情歌》《沙漠骆驼》,https://vdse.bdstatic.com//7002925e04c4c451cfa8aafc9b4190c7.mp4
+《拈花一笑》《对面的小姐姐》《想你了小哥哥》《一朵情花开》,https://vdse.bdstatic.com//7cfaf27a4db89583e069a40fbc2ed84b.mp4
+网络金曲《拈花一笑》《陪你千山万水》《对面小姐姐》,https://vdse.bdstatic.com//c2deba4d320384736569e542ac531aff.mp4
+情歌DJ《拈花一笑》《对面的小姐姐》《酒醉的蝴蝶》,https://vdse.bdstatic.com//4eece717c6cc2fb9086a59a13ce30623.mp4
+情歌皇后林翠萍《相见不如不见》,https://vdse.bdstatic.com//1f65ad884619a069c68572f1ac9e2b0e.mp4
+林翠萍《负心的你》,https://vdse.bdstatic.com//16425f9f93e382e23bcde71f8ed85a4c.mp4
+林翠萍经典老歌《相会在梦里》,https://vdse.bdstatic.com//00fb72cd0b27bec6d9c0cd915874b50e.mp4
+林翠萍经典情歌《相思豆》,https://vdse.bdstatic.com//986498bb0ccd2114ba1274df22fae332.mp4
+精选韩宝仪经典歌曲10首,https://vdse.bdstatic.com//42d5ac65a9070eeab2513bf6bc65ea4d.mp4
+龙飘飘《我没醉》,https://vdse.bdstatic.com//3d48e45e47836cd75c202ec957260837.mp4
+龙飘飘《往事》,https://vdse.bdstatic.com//a28e362e15fa8c361219944bfb59b596.mp4
+美酒加咖啡龙飘飘,https://vdse.bdstatic.com//816c73543ede254586a625cacc67ea0f.mp4
+刀郎经典歌曲精选,https://vdse.bdstatic.com//4fcca19a19aa4974230c5ee70ab5fa55.mp4
+几首绝美情歌DJ精选,https://vdse.bdstatic.com//c5c64b60c9fdfbdfa3e959bb1d56c4b0.mp4
+《天路》《驼铃》《鸿雁》《九儿》《绒花》《小芳》,https://vdse.bdstatic.com//e4b7325ebf3010673a51a24f948a8a97.mp4
+《驼铃》《卓玛》《天边》《鸿雁》《天路》草原歌曲,https://vdse.bdstatic.com//f8f4740a4ca7ff31c3a2d8386fc14598.mp4
+毛宁《涛声依旧》《晚秋》《心雨》《春风吻上我的脸》《大中国》,https://vdse.bdstatic.com//21736d388636d7648510b2a36fc7cbfd.mp4
+山歌《阿里山的姑娘》《康定情歌》《山路十八弯》《敖包相会》,https://vdse.bdstatic.com//ae82f5b93166f47d85ff12124a021323.mp4
+《涛声依旧》《雾里看花》《窗外》《心雨》《听心》《晚秋》《母亲》,https://vdse.bdstatic.com//db8ba0fda2aad9cb15aa32887a160f06.mp4
+张也《望星空/为了谁/人间第一情/红梅赞/高天上流云》,https://vdse.bdstatic.com//038c6250208e42b9427a885e0370e1a2.mp4
+降央卓玛:这几首歌曲太动听,https://vdse.bdstatic.com//0ce1279c88ff9ab48f48d4e86860cd46.mp4
+【老歌DJ版】《精选8首》,https://vdse.bdstatic.com//525174705415c8773bd465ce4b88b18d.mp4
+2021一夜火爆几首DJ舞曲,https://vdse.bdstatic.com//1fc9fd16e02ca272bb81666b85bf4135.mp4
+2021《精选5首酒吧DJ舞曲》,https://vdse.bdstatic.com//0e59c29ddbc68ed60dce8a6f4631c1f1.mp4
+让人陶醉的几首DJ舞曲,https://vdse.bdstatic.com//0f464b2beaf5887f90ac36b68fcd342f.mp4
+粤语和华语经典歌曲【完整版】,https://vdse.bdstatic.com//2922763f303705ef65c46689578439ea.mp4
+最新dj,https://vd2.bdstatic.com/mda-mm4dszarfc74t9mx/sc/cae_h264/1638819159347843097/mda-mm4dszarfc74t9mx.mp4
+一点泪水dj,https://vd2.bdstatic.com/mda-mm52zzkus5fqm4xh/sc/cae_h264/1638783595083455661/mda-mm52zzkus5fqm4xh.mp4
+dj舞曲英雄泪,https://vd3.bdstatic.com/mda-mkt45tnypacz3smk/sc/cae_h264/1638069225501294830/mda-mkt45tnypacz3smk.mp4
+爱江山更爱美人金典,https://vd4.bdstatic.com/mda-mm2a18n5jdh6d8bs/sc/cae_h264/1638516147610932793/mda-mm2a18n5jdh6d8bs.mp4
+舞曲视频,https://vd2.bdstatic.com/mda-mm25g3080p08di8w/sc/cae_h264/1638529553032232968/mda-mm25g3080p08di8w.mp4
+今夜回望dj,https://vd2.bdstatic.com/mda-mkv7cbzq5xdtf9ms/sc/cae_h264/1638478442002383579/mda-mkv7cbzq5xdtf9ms.mp4
+小鱼授权,https://vd4.bdstatic.com/mda-mkn4iq79ihtufbc1/sc/cae_h264/1637639849265611965/mda-mkn4iq79ihtufbc1.mp4
+舞曲视频,https://vd4.bdstatic.com/mda-mkf4g5p5hpevqbx6/sc/cae_h264/1637033781127837401/mda-mkf4g5p5hpevqbx6.mp4
+舞曲视频2,https://vd2.bdstatic.com/mda-mkn56h2g8ux3dtxq/sc/cae_h264/1637642599802363137/mda-mkn56h2g8ux3dtxq.mp4
+车震一小时,http://gcw.bdcdn.shoujiduoduo.com/201805/0748-641.mp4
+车载DJ视频6,https://vdse.bdstatic.com//7e9d2da860d4ac39c0ea86502360d6fe.mp4
+好歌分享《精选6首伤感DJ舞曲》HD,https://vdse.bdstatic.com//0c87c8977d0a33498fe7362d3c60c22c.mp4
+2021爆红《6首女生版伤感DJ》HD,https://vdse.bdstatic.com//2e77709380ad7e6163e80c4d5c179689.mp4
+美人热舞洗脑DJ舞曲HD,https://vdse.bdstatic.com//3700f6b78ceaf0f4a5313f4d68c95b72.mp4
+2021五首女声伤感DJ情歌精品HD,https://vdse.bdstatic.com//c92e81328ef6d13ba7d44e6eb80f9f1e.mp4
+情歌DJ《怎么可以如此冷血》《为爱受尽相思罪》HD,https://vdse.bdstatic.com//61e318ea76e984f2bedb66f1ed1583be.mp4
+DJ劲爆舞曲《在我心里有个你》《东南西北风》《一万个对不起》等HD,https://vdse.bdstatic.com//8343b02f5e7465d4c5b07e54403438b8.mp4
+DJ情歌串烧《痴情恋歌》《红颜知己》《事与愿违》《缘分相遇》HD,https://vdse.bdstatic.com//904548e7bec804905906557ed2752017.mp4
+动听DJ情歌《红颜知己》《今夜为你醉》《别忘了我在等你》等HD,https://vdse.bdstatic.com//92d49c2aebc0bbbe08149b8e08e4a443.mp4
+DJ伤感好听《红颜知己》《事与愿违》《缘分相遇》《知情念歌》HD,https://vdse.bdstatic.com//1a7b05ab4eab2d68a679e442f4d80fab.mp4
+DJ情歌《昨夜的我又梦到了你》《心上的人儿你在哪》等HD,https://vdse.bdstatic.com//09b76fc9762763350288fb96047ec820.mp4
+《给我一把爱情火》《无情风雨无情的你》《昨夜的我又梦到了你》HD,https://vdse.bdstatic.com//63a770491e7bae0ebe661452c27eaf33.mp4
+林翠萍《麦搁來这套》HD,https://vdse.bdstatic.com//5b388a47b1233105831e09b8cadc1edd.mp4
+刀郎经典歌曲《敖包相会》《西海情歌》等专辑金典老歌HD,https://vdse.bdstatic.com//36ea0ffcf8156a44b9d524d999eb088a.mp4
+刀郎经典歌曲7首:《西海情歌》《敖包相会》《情人》冲动的惩罚HD,https://vdse.bdstatic.com//628ca08719cef5987ea2ae3c6f0d2386.mp4
+刀郎经典老歌合集《披着羊皮的狼》《西海情歌》《冲动的惩罚》HD,https://vdse.bdstatic.com//bfbb0871ed01eb3328497faae6a8531b.mp4
+云朵、刀郎、孙露、张雨生等经典怀旧歌曲6首HD,https://vdse.bdstatic.com//fa0ed7ad8657cc4d13972c3d9aa5ddbf.mp4
+《来生再去拥抱你》《梨花飞情人泪》《落雨的秋》《梦醉荷塘》HD,https://vdse.bdstatic.com//d5e3237c7ef186217ea1c9b24d58e2ae.mp4
+宇宁《千里江山(大型纪录片《紫禁城》主题歌HD,https://vdse.bdstatic.com//688046e42c39cf6585106f945e2798e7.mov
+2021最佳伤感情歌HD,https://vdse.bdstatic.com//59c5abc138bf1da5585bb765c530137e.mp4
+2021伤感洗脑神曲HD,https://vdse.bdstatic.com//8ad29ca92a901b9992431cf0c5266101.mp4
+经典粤语歌曲《上海滩》《铁血丹心》《神情神话》《沧海一声笑》HD,https://vdse.bdstatic.com//f9cda7e70273c267b61a3d0c969d2033.mp4
+苍天不负有情人,https://vd3.bdstatic.com/mda-jm5iqyuj8bapffdb/hd/mda-jm5iqyuj8bapffdb.mp4
+4k超清车载劲爆,https://vd2.bdstatic.com/mda-ncg1mhvhiy7fkgzs/sc/cae_h264_delogo/1647481028509277070/mda-ncg1mhvhiy7fkgzs.mp4
+经典dj《站台》,https://vd2.bdstatic.com/mda-mju7bud6vwuub0nq/hd/cae_h264_nowatermark/1635484907845663119/mda-mju7bud6vwuub0nq.mp4
+东南西北风DJ,https://vd2.bdstatic.com/mda-ncnfhdbt5mucyi3w/cae_h264_delogo/1648033513910900148/mda-ncnfhdbt5mucyi3w.mp4
+2022伤感DJ串烧dj,https://vd2.bdstatic.com/mda-ncm68fx91zybkka3/cae_h264_delogo/1647925011440022023/mda-ncm68fx91zybkka3.mp4
+还没有爱够DJ,https://vd3.bdstatic.com/mda-ncjgwmv1u85an74x/cae_h264_delogo/1647781725809492842/mda-ncjgwmv1u85an74x.mp4
+花儿笑了DJ,https://vd4.bdstatic.com/mda-ncj7vawq5rnk5v59/hd/cae_h264_delogo/1647759626623363912/mda-ncj7vawq5rnk5v59.mp4
+打工辛酸泪DJ2首,https://vd4.bdstatic.com/mda-na5fafrtbvvf5wib/hd/cae_h264_delogo/1641996387070390433/mda-na5fafrtbvvf5wib.mp4
+都是兄弟DJ,https://vd2.bdstatic.com/mda-nad5ctdnq3w1zssn/hd/cae_h264_delogo/1642142912024126404/mda-nad5ctdnq3w1zssn.mp4
+只能拼自己DJ人不可貌相,https://vd4.bdstatic.com/mda-mmw9fee0n7gtsu2k/480p/h264/1640932948187120706/mda-mmw9fee0n7gtsu2k.mp4
+dj新歌句句在理,https://vd4.bdstatic.com/mda-ncmb65kfdfysdq4g/sc/cae_h264_delogo/1647946141035592767/mda-ncmb65kfdfysdq4g.mp4
+新歌上线7首,https://vd2.bdstatic.com/mda-nc4fkdejg6k892tp/720p/h264_delogo/1646478313883739193/mda-nc4fkdejg6k892tp.mp4
+北方姑娘,https://vd3.bdstatic.com/mda-ncc6hbwdde59r16h/sc/cae_h264_delogo/1647146424330053026/mda-ncc6hbwdde59r16h.mp4
+一生输给了爱情,https://vd2.bdstatic.com/mda-mkn4yr0d9ypy9wns/sc/cae_h264_delogo/1643224005214992888/mda-mkn4yr0d9ypy9wns.mp4
+酒吧慢摇DJ舞曲,https://vd4.bdstatic.com/mda-ncm0qvdrfhujssxg/sc/cae_h264_delogo/1647910096911072273/mda-ncm0qvdrfhujssxg.mp4
+这首新歌_一听就上瘾,https://vd4.bdstatic.com/mda-nckaxf6j35t5e3j4/sc/cae_h264_delogo/1647849433211786752/mda-nckaxf6j35t5e3j4.mp4
+新歌上线_啥歌这么好听,https://vd4.bdstatic.com/mda-nce4pddwfdazhgrt/sc/cae_h264_delogo/1647315872347291980/mda-nce4pddwfdazhgrt.mp4
+《女人的心声》,https://vd3.bdstatic.com/mda-ncmgnz6479fenq1w/hd/cae_h264_delogo/1647950253700208169/mda-ncmgnz6479fenq1w.mp4
+负心的你,https://vd4.bdstatic.com:443/mda-mcbs0hpjpkpwethe/1080p/h264_cae/1620492489548087433/mda-mcbs0hpjpkpwethe.mp4
+初恋的人,https://vd2.bdstatic.com:443/mda-mhwdgysnspnb1nnr/1080p/cae_h264/1630404398162757730/mda-mhwdgysnspnb1nnr.mp4
+初恋情人,https://vd3.bdstatic.com:443/mda-me57bm308iu6stcz/1080p/cae_h264/1620279663855106642/mda-me57bm308iu6stcz.mp4
+爱情一阵风,https://vd4.bdstatic.com:443/mda-mdkd7yybv4y505qa/1080p/h264_cae/1620480120114753589/mda-mdkd7yybv4y505qa.mp4
+林翠萍-情网,https://vd4.bdstatic.com:443/mda-mipn4ccctdasgr2r/fhd/cae_h264_nowatermark/1632498915227563300/mda-mipn4ccctdasgr2r.mp4
+爱情的骗子我问你,https://vd4.bdstatic.com:443/mda-me7emge7ku6b7g9h/1080p/cae_h264/1620470361962860122/mda-me7emge7ku6b7g9h.mp4
+我用自己的方式爱你,http://vdown.kuwo.cn:80/resource/t1/46/26af4a23c9e04725bd1dc491b662f386.mp4
+无奈的思绪,https://vd4.bdstatic.com:443/mda-kkbxxmr5nn2swgu6/sc/cae_h264_nowatermark/1605192499/mda-kkbxxmr5nn2swgu6.mp4
+点燃一根烟,https://vd2.bdstatic.com:443/mda-mdapwdafpsiy63zu/1080p/h264_cae/1620614712517070219/mda-mdapwdafpsiy63zu.mp4
+今生最美的遇见,https://vd4.bdstatic.com/mda-ncjf6j5xqwx35wxc/sc/cae_h264_delogo/1647774687601159968/mda-ncjf6j5xqwx35wxc.mp4
+多彩的哈达,https://vd2.bdstatic.com/mda-nccdp2tcnwx6cpmn/sc/cae_h264_delogo/1647164915434344506/mda-nccdp2tcnwx6cpmn.mp4
+陕北民间,https://vd4.bdstatic.com/mda-ncfk4vpkpbuhnu0s/720p_frame30/h264_cae_delogo/1647440102957240321/mda-ncfk4vpkpbuhnu0s.mp4
+情歌DJ舞曲,https://vd2.bdstatic.com/mda-nag6y4ryfy5a0hjb/720p/h264_delogo/1642396108696963578/mda-nag6y4ryfy5a0hjb.mp4
+9首醉人的情歌,https://vd2.bdstatic.com/mda-nca3btr4bdxce5wj/sc/cae_h264_delogo/1647136483442128566/mda-nca3btr4bdxce5wj.mp4
+韩宝仪《情人桥》,https://vd4.bdstatic.com/mda-jehka6exkt6va8id/sc/mda-jehka6exkt6va8id.mp4
+韩宝仪无聊的游戏,https://vd2.bdstatic.com/mda-nb8j3b6sz77bdvk8/sc/cae_h264_delogo/1644413904258506067/mda-nb8j3b6sz77bdvk8.mp4
+高清舞曲,https://txmov2.a.kwimgs.com/upic/2022/03/25/20/BMjAyMjAzMjUyMDUyNTZfMjM0NDc1MTE5N183MDQ0NzkzMTQxOV8wXzM=_b_B383b34c7a7c97f97b5350f622d8da0a6.mp4?tag=1-1648554367-std-1-puqq96jiry-1167f7fd60758f88&clientCacheKey=3x3qtumzyu5rh6w_b.mp4&tt=b&di=79c43beb&bp=12681
+痴心是我犯的错,https://vd2.bdstatic.com/mda-ncpa1ziw0urtvsuy/720p/h264_delogo/1648105627756677310/mda-ncpa1ziw0urtvsuy.mp4
+新歌,https://vd4.bdstatic.com/mda-ncg9dxe96d9039u2/sc/cae_h264_delogo/1647648778266965968/mda-ncg9dxe96d9039u2.mp4
+《好听情歌8首》,https://vd4.bdstatic.com/mda-nca4dy51snpz9cnz/sc/cae_h264_delogo/1647144982589585207/mda-nca4dy51snpz9cnz.mp4
+DJ新歌上线,https://vd3.bdstatic.com/mda-nckdkm6sj1p9q7c9/sc/cae_h264_delogo/1647859589943780399/mda-nckdkm6sj1p9q7c9.mp4
+DJ酱爆鱿鱼舞曲版》,https://vd4.bdstatic.com/mda-ncidj3kqg98a7ent/360p/h264_delogo/1647683015061569002/mda-ncidj3kqg98a7ent.mp4
+DJ给我一把爱情火,https://vd2.bdstatic.com/mda-ncg42rnzxats8h83/cae_h264_delogo/1647486932330653636/mda-ncg42rnzxats8h83.mp4
+新歌上线,https://vd4.bdstatic.com/mda-nc005jwr87jrdssh/sc/cae_h264_delogo/1646179767551234681/mda-nc005jwr87jrdssh.mp4
+dj,https://txmov2.a.kwimgs.com/upic/2022/03/21/19/BMjAyMjAzMjExOTA2MjRfMjYyNzI4Mjc4MV83MDE2MTEwMjY1Ml8yXzM=_b_B977559109a6b2bec30b01e11d458d398.mp4
+刀郎的西海情歌,https://vd2.bdstatic.com/mda-nctex3rji1v42a0w/sc/cae_h264_delogo/1648464135631429287/mda-nctex3rji1v42a0w.mp4
+伤感DJ串烧为爱流泪,https://vd3.bdstatic.com/mda-nci8jqpzeyqkhdxe/720p/h264_delogo/1647670097763149460/mda-nci8jqpzeyqkhdxe.mp4
+林翠萍的《我太傻》,https://vd2.bdstatic.com/mda-mb5qq1ic4yvekk6r/v2-hknm/sc/mda-mb5qq1ic4yvekk6r.mp4
+伤心的眼泪,https://vd3.bdstatic.com/mda-ncn2c816zrf6u0im/sc/cae_h264_delogo/1648002300550722369/mda-ncn2c816zrf6u0im.mp4
+《英雄泪》,https://vd3.bdstatic.com/mda-ncnp6tm56ngrxbis/360p/h264_delogo/1648055585617071282/mda-ncnp6tm56ngrxbis.mp4
+2022几首DJ串烧,https://vd3.bdstatic.com/mda-nck3tqzgjvj076vc/sc/cae_h264_delogo/1647833645083560959/mda-nck3tqzgjvj076vc.mp4

BIN
Local_qiqi/南风/spider.jar


+ 2600 - 0
Local_qiqi/天天开心/api.json

@@ -0,0 +1,2600 @@
+//关注微信公众号:奇奇乐分享,发送“本地包”,获取本地包更新链接与图文教程。
+
+{
+    "spider": "./spider.jar",
+    "wallpaper": "https://tuapi.eees.cc/api.php?category=fengjing&type=302",
+    "logo": "http://php.540734621.xyz/logo/logo.php",
+    "lives": [
+        {
+            "name": "①live(EXO)",
+            "type": 0,
+            "url": "./lives/①live(EXO).txt",
+            "epg": "http://diyp2.112114.xyz/?ch={name}&date={date}"
+        },
+        {
+            "name": "②Live(IJK)",
+            "type": 0,
+            "url": "./lives/②Live(IJK).txt",
+            "epg": "https://epg.112114.eu.org/?ch={name}&date={date}"
+        },
+        {
+            "name": "③猫TV线路(EXO)",
+            "type": 0,
+            "url": "./lives/③猫TV线路(EXO).txt",
+            "epg": "https://epg.112114.eu.org/?ch={name}&date={date}"
+        },
+        {
+            "name": "④猫TV线路(IJK)",
+            "type": 0,
+            "url": "./lives/④猫TV线路(IJK).txt",
+            "epg": "https://epg.112114.eu.org/?ch={name}&date={date}"
+        },
+        {
+            "name": "新AKTV港台",
+            "type": 0,
+            "url": "./lives/新AKTV港台.txt",
+            "epg": "https://epg.112114.eu.org/?ch={name}&date={date}"
+        },
+        {
+            "name": "IPTV研究所",
+            "type": 0,
+            "url": "./lives/IPTV研究所.txt",
+            "epg": "http://epg.51zmt.top:8000/api/diyp/?ch={name}&date={date}"
+        },
+        {
+            "name": "抖音、斗鱼、B站、YY、Afreeca、Youtube",
+            "type": 0,
+            "url": "./lives/抖音、斗鱼、B站、YY、Afreeca、Youtube.txt",
+            "epg": "https://epg.112114.eu.org/?ch={name}&date={date}"
+        },
+        {
+            "name": "广东银河频道",
+            "type": 0,
+            "url": "./lives/广东银河频道.txt",
+            "epg": "https://epg.112114.eu.org/?ch={name}&date={date}"
+        },
+        {
+            "name": "⑪V6明线路",
+            "type": 0,
+            "url": "./lives/⑪V6明线路.txt",
+            "epg": "https://epg.112114.eu.org/?ch={name}&date={date}"
+        },
+        {
+            "name": "②⑥范明线路",
+            "type": 0,
+            "url": "./lives/②⑥范明线路.txt",
+            "epg": "https://epg.112114.eu.org/?ch={name}&date={date}"
+        },
+        {
+            "name": "③②备用虎牙",
+            "type": 0,
+            "url": "./lives/③②备用虎牙.txt",
+            "epg": ""
+        },
+        {
+            "name": "③③备用斗鱼",
+            "type": 0,
+            "url": "./lives/③③备用斗鱼.txt",
+            "epg": ""
+        },
+        {
+            "name": "③④16万MV",
+            "type": 0,
+            "url": "./lives/③④16万MV.txt",
+            "epg": "http://diyp2.112114.xyz/?ch={name}&date={date}"
+        }
+    ],
+    "sites": [
+        {
+            "key": "豆瓣",
+            "name": "豆瓣热播请关注公众号:“开心软件”不迷路",
+            "type": 3,
+            "api": "csp_Douban",
+            "searchable": 0,
+            "changeable": 1
+        },
+        {
+            "key": "csp_LocalFile",
+            "name": "💻本地磁盘",
+            "type": 3,
+            "api": "csp_LocalFile",
+            "searchable": 0,
+            "quickSearch": 0,
+            "filterable": 0,
+            "type_flag": 0
+        },
+        {
+            "key": "配置中心",
+            "name": "👨‍🍳‍配置┃中心",
+            "type": 3,
+            "api": "csp_Config",
+            "searchable": 0,
+            "changeable": 0,
+            "indexs": 0,
+            "style": {
+                "type": "rect",
+                "ratio": 1.43
+            }
+        },
+        {
+            "key": "lf_live10_min",
+            "name": "📺︎开心软件直播",
+            "type": 3,
+            "searchable": 0,
+            "quickSearch": 1,
+            "filterable": 1,
+            "changeable": 1,
+            "api": "./api/lf_live10_min-output.js",
+            "ext": "./json/lf_live.json"
+        },
+        {
+            "key": "alllive",
+            "name": "📽️一直播┃LIVE",
+            "type": 3,
+            "api": "csp_Alllive",
+            "playerType": 2,
+            "searchable": 0,
+            "quickSearch": 0,
+            "changeable": 0,
+            "ext": {
+                "danmu": true
+            },
+            "timeout": 10
+        },
+        {
+            "key": "好趣网",
+            "name": "🎦好趣网",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 87,
+            "ext": "./js/好趣网.js"
+        },
+        {
+            "key": "荐片",
+            "name": "🎦荐片┃P2P",
+            "type": 3,
+            "searchable": 1,
+            "quickSearch": 1,
+            "changeable": 1,
+            "playerType": "1",
+            "api": "./api/drpy2.min.js",
+            "ext": "./js/jp.js"
+        },
+        {
+            "key": "天天弹幕版",
+            "name": "⛅️天天┃弹幕",
+            "type": 3,
+            "api": "csp_TianTian",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "ext": {
+                "danmu": true
+            },
+            "timeout": 10
+        },
+        {
+            "key": "文才",
+            "name": "🌺文才┃弹幕",
+            "type": 3,
+            "api": "csp_Jpys",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "ext": {
+                "danmu": true
+            },
+            "timeout": 10
+        },
+        {
+            "key": "南瓜弹幕版",
+            "name": "🎃南瓜┃弹幕",
+            "type": 3,
+            "api": "csp_Nangua",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "ext": {
+                "danmu": true
+            },
+            "timeout": 10
+        },
+        {
+            "key": "小苹果弹幕版",
+            "name": "🍎苹果┃弹幕",
+            "type": 3,
+            "api": "csp_Xpg",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "ext": {
+                "danmu": true
+            },
+            "timeout": 10
+        },
+        {
+            "key": "木耳",
+            "name": "🪴木耳┃秒播",
+            "type": 1,
+            "api": "https://json02.heimuer.xyz/api.php/provide/vod",
+            "searchable": 1,
+            "filterable": 1,
+            "changeable": 1,
+            "timeout": 20,
+            "categories": [
+                "剧情片",
+                "动作片",
+                "冒险片",
+                "喜剧片",
+                "奇幻片",
+                "恐怖片",
+                "悬疑片",
+                "惊悚片",
+                "灾难片",
+                "爱情片",
+                "犯罪片",
+                "科幻片",
+                "歌舞片",
+                "战争片",
+                "经典片",
+                "动画电影",
+                "网络电影",
+                "其他片",
+                "国产剧",
+                "港剧",
+                "韩剧",
+                "日剧",
+                "泰剧",
+                "台剧",
+                "欧美剧",
+                "新马剧",
+                "其他剧",
+                "国产综艺",
+                "港台综艺",
+                "韩国综艺",
+                "日本综艺",
+                "欧美综艺",
+                "新马泰综艺",
+                "其他综艺",
+                "古装短剧",
+                "虐恋短剧",
+                "逆袭短剧",
+                "神豪短剧",
+                "重生短剧",
+                "复仇短剧",
+                "穿越短剧",
+                "甜宠短剧",
+                "强者短剧",
+                "欧美动漫",
+                "日本动漫",
+                "韩国动漫",
+                "国产动漫",
+                "港台动漫"
+            ],
+            "header": {
+                "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36"
+            }
+        },
+        {
+            "key": "韩圈",
+            "name": "🦄韩圈┃App",
+            "type": 3,
+            "api": "csp_HanXiaoQuan",
+            "playerType": 2,
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "timeout": 10
+        },
+        {
+            "key": "厂长弹幕版",
+            "name": "🌸厂长┃弹幕",
+            "type": 3,
+            "api": "csp_Czzy",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "ext": {
+                "danmu": true
+            },
+            "timeout": 10
+        },
+        {
+            "key": "荐片弹幕版",
+            "name": "⚔️荐片┃手机",
+            "type": 3,
+            "api": "csp_Jianpian",
+            "searchable": 1,
+            "changeable": 0,
+            "quickSearch": 1,
+            "filterable": 1,
+            "ext": {
+                "danmu": true
+            },
+            "timeout": 10
+        },
+        {
+            "key": "立播弹幕版",
+            "name": "🐰立播┃弹幕",
+            "type": 3,
+            "api": "csp_Libvio",
+            "searchable": 1,
+            "filterable": 1,
+            "changeable": 1,
+            "ext": {
+                "token": "./txt/tok.txt",
+                "cookie": "./txt/quark.txt",
+                "uc_cookie": "./txt/uc.txt",
+                "site": "https://libvio.link",
+                "danmu": true
+            },
+            "timeout": 25
+        },
+        {
+            "key": "无忧短剧",
+            "name": "🌈无忧┃短剧",
+            "type": 3,
+            "api": "csp_Duanj",
+            "searchable": 1,
+            "changeable": 0,
+            "style": {
+                "type": "rect",
+                "ratio": 1.433
+            },
+            "timeout": 10
+        },
+        {
+            "key": "在线短剧",
+            "name": "👌🏻在线┃短剧",
+            "type": 3,
+            "api": "csp_Duanju",
+            "searchable": 1,
+            "changeable": 0,
+            "style": {
+                "type": "rect",
+                "ratio": 1.433
+            },
+            "timeout": 10
+        },
+        {
+            "key": "csp_Nmys",
+            "name": "🕵农民┃APP",
+            "type": 3,
+            "playerType": "2",
+            "api": "csp_Nmys",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "ext": "https://vip.wwgz.cn/"
+        },
+        {
+            "key": "csp_AppRZ",
+            "name": "🕵忍者┃影视",
+            "type": 3,
+            "playerType": "2",
+            "api": "csp_AppRZ",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "ext": "http://rzys.xyz/"
+        },
+        {
+            "key": "ddys_js",
+            "name": "🍄低端┃在线",
+            "type": 3,
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "api": "./api/drpy2.min.txt?file=drpy2.min.js",
+            "ext": "./txt/ddys.txt",
+            "timeout": 15
+        },
+        {
+            "key": "果果4K解析_js",
+            "name": "🌞果果4K(解析)",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 0,
+            "ext": "./js/果果4K.js"
+        },
+        {
+            "key": "🌞腾腾4K解析_js",
+            "name": "🌞腾腾4K(解析)",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 0,
+            "ext": "./js/腾腾4K.js"
+        },
+        {
+            "key": "闪雷影视",
+            "name": "🚀闪雷┃JS",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "ext": "./js/闪雷影视.js"
+        },
+        {
+            "key": "金牌影视",
+            "name": "🎦金牌影视",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "ext": "./js/金牌影视.js"
+        },
+        {
+            "key": "hipy_js_采集之王",
+            "name": "🎦采集之王[合]",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 0,
+            "ext": "./js/采集之王[合].js?type=url&params=./json/采集静态.json$1"
+        },
+        {
+            "key": "️爱看Bot弹幕版",
+            "name": "⛅️爱看Bot|弹幕",
+            "type": 3,
+            "api": "csp_Ikanbot",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "ext": {
+                "danmu": true
+            },
+            "timeout": 10
+        },
+        {
+            "key": "csp_XYQHiker_爱你短剧",
+            "name": "🎦爱你短剧",
+            "type": 3,
+            "api": "csp_XYQHiker",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "ext": "./json/爱你短剧.json"
+        },
+        {
+            "key": "csp_XYQHiker_河马短剧",
+            "name": "🎦河马短剧",
+            "type": 3,
+            "api": "csp_XYQHiker",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "ext": "./json/河马短剧.json"
+        },
+        {
+            "key": "js_星芽短剧",
+            "name": "🎦星芽短剧",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "ext": "./js/星芽短剧.js"
+        },
+        {
+            "key": "js_蓝莓短剧",
+            "name": "🎦蓝莓短剧",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "ext": "./js/蓝莓短剧.js"
+        },
+        {
+            "key": "你好帅",
+            "name": "🎦好帅┃短剧",
+            "type": 3,
+            "api": "csp_XBPQ",
+            "ext": {
+                "分类url": "https://nhsyy.com/vodshwo/{cateId}--{by}------{catePg}---.html",
+                "分类": "穿越$fenle#战神$fenlei2#重生$fenlei3#爱情$fenlei4#萌娃$guda#神医$shenyi#古代$gudai#言情$yanqing#玄幻$xuanhuan",
+                "播放数组": "<div class=\"sort-item\"&&</div>"
+            }
+        },
+        {
+            "key": "宝片视频_js",
+            "name": "👨‍🍳‍宝片视频(drpy_t3)",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 0,
+            "ext": "./js/宝片视频.js"
+        },
+        {
+            "key": "影探4K",
+            "name": "👨‍🍳‍影探4K(drpy_t3)",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 0,
+            "ext": "./js/影探4K.js"
+        },
+        {
+            "key": "4K-AV_js",
+            "name": "👨‍🍳‍4K-AV(drpy_t3)",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 0,
+            "ext": "./js/4K-AV.js"
+        },
+        {
+            "key": "111tv[自动]_js",
+            "name": "👨‍🍳‍111tv[自动](drpy_t3)",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 0,
+            "ext": "./js/111tv[自动].js"
+        },
+        {
+            "key": "bilfun(自动)_js",
+            "name": "👨‍🍳‍bilfun(自动)(drpy_t3)",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 0,
+            "ext": "./js/bilfun(自动).js"
+        },
+        {
+            "key": "HBOTV[优]_js",
+            "name": "👨‍🍳‍HBOTV[优](drpy_t3)",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 0,
+            "ext": "./js/HBOTV[优].js"
+        },
+        {
+            "key": "TVB云播_js",
+            "name": "👨‍🍳‍TVB云播(drpy_t3)",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 0,
+            "ext": "./js/TVB云播.js"
+        },
+        {
+            "key": "爱优影视[自动]_js",
+            "name": "👨‍🍳‍爱优影视[自动](drpy_t3)",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 0,
+            "ext": "./js/爱优影视[自动].js"
+        },
+        {
+            "key": "白嫖者联盟_js",
+            "name": "👨‍🍳‍白嫖者联盟(drpy_t3)",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 0,
+            "ext": "./js/白嫖者联盟.js"
+        },
+        {
+            "key": "茶杯狐_js",
+            "name": "👨‍🍳‍茶杯狐(drpy_t3)",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 0,
+            "ext": "./js/茶杯狐.js"
+        },
+        {
+            "key": "厂长资源_js",
+            "name": "👨‍🍳‍厂长资源(drpy_t3)",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 0,
+            "ext": "./js/厂长资源.js"
+        },
+        {
+            "key": "臭蛋蛋_js",
+            "name": "👨‍🍳‍臭蛋蛋(drpy_t3)",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 0,
+            "ext": "./js/臭蛋蛋.js"
+        },
+        {
+            "key": "刺猬影视_js",
+            "name": "👨‍🍳‍刺猬影视(drpy_t3)",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 0,
+            "ext": "./js/刺猬影视.js"
+        },
+        {
+            "key": "低端_js",
+            "name": "👨‍🍳‍低端(drpy_t3)",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 0,
+            "ext": "./js/低端.js"
+        },
+        {
+            "key": "嘀哩嘀哩_js",
+            "name": "👨‍🍳‍嘀哩嘀哩(drpy_t3)",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 0,
+            "ext": "./js/嘀哩嘀哩.js"
+        },
+        {
+            "key": "电影猎手_js",
+            "name": "👨‍🍳‍电影猎手(drpy_t3)",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 0,
+            "ext": "./js/电影猎手.js"
+        },
+        {
+            "key": "电影天堂_js",
+            "name": "👨‍🍳‍电影天堂(drpy_t3)",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 0,
+            "ext": "./js/电影天堂.js"
+        },
+        {
+            "key": "电影兔_js",
+            "name": "👨‍🍳‍电影兔(drpy_t3)",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 0,
+            "ext": "./js/电影兔.js"
+        },
+        {
+            "key": "哈皮影视[优]_js",
+            "name": "👨‍🍳‍哈皮影视[优](drpy_t3)",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 0,
+            "ext": "./js/哈皮影视[优].js"
+        },
+        {
+            "key": "河狸影视[V2]_js",
+            "name": "👨‍🍳‍河狸影视[V2](drpy_t3)",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 0,
+            "ext": "./js/河狸影视[V2].js"
+        },
+        {
+            "key": "饺子影院_js",
+            "name": "👨‍🍳‍饺子影院(drpy_t3)",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 0,
+            "ext": "./js/饺子影院.js"
+        },
+        {
+            "key": "看了么_js",
+            "name": "👨‍🍳‍看了么(drpy_t3)",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 0,
+            "ext": "./js/看了么.js"
+        },
+        {
+            "key": "可可影视[优]_js",
+            "name": "👨‍🍳‍可可影视[优](drpy_t3)",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 0,
+            "ext": "./js/可可影视[优].js"
+        },
+        {
+            "key": "蓝光影视_js",
+            "name": "👨‍🍳‍蓝光影视(drpy_t3)",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 0,
+            "ext": "./js/蓝光影视.js"
+        },
+        {
+            "key": "老王电影[自动]_js",
+            "name": "👨‍🍳‍老王电影[自动](drpy_t3)",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 0,
+            "ext": "./js/老王电影[自动].js"
+        },
+        {
+            "key": "魔方影视_js",
+            "name": "👨‍🍳‍魔方影视(drpy_t3)",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 0,
+            "ext": "./js/魔方影视.js"
+        },
+        {
+            "key": "努努影院_js",
+            "name": "👨‍🍳‍努努影院(drpy_t3)",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 0,
+            "ext": "./js/努努影院.js"
+        },
+        {
+            "key": "牌牌影院_js",
+            "name": "👨‍🍳‍牌牌影院(drpy_t3)",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 0,
+            "ext": "./js/牌牌影院.js"
+        },
+        {
+            "key": "飘花影院_js",
+            "name": "👨‍🍳‍飘花影院(drpy_t3)",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 0,
+            "ext": "./js/飘花影院.js"
+        },
+        {
+            "key": "七新电影网_js",
+            "name": "👨‍🍳‍七新电影网(drpy_t3)",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 0,
+            "ext": "./js/七新电影网.js"
+        },
+        {
+            "key": "热播之家_js",
+            "name": "👨‍🍳‍热播之家(drpy_t3)",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 0,
+            "ext": "./js/热播之家.js"
+        },
+        {
+            "key": "人人影视_js",
+            "name": "👨‍🍳‍人人影视(drpy_t3)",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 0,
+            "ext": "./js/人人影视.js"
+        },
+        {
+            "key": "三集电影[自动]_js",
+            "name": "👨‍🍳‍三集电影[自动](drpy_t3)",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 0,
+            "ext": "./js/三集电影[自动].js"
+        },
+        {
+            "key": "思古影视[V2]_js",
+            "name": "👨‍🍳‍思古影视[V2](drpy_t3)",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 0,
+            "ext": "./js/思古影视[V2].js"
+        },
+        {
+            "key": "素白白[优]_js",
+            "name": "👨‍🍳‍素白白[优](drpy_t3)",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 0,
+            "ext": "./js/素白白[优].js"
+        },
+        {
+            "key": "歪片星球[资]_js",
+            "name": "👨‍🍳‍歪片星球[资](drpy_t3)",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 0,
+            "ext": "./js/歪片星球[资].js"
+        },
+        {
+            "key": "网飞啦[自动]_js",
+            "name": "👨‍🍳‍网飞啦[自动](drpy_t3)",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 0,
+            "ext": "./js/网飞啦[自动].js"
+        },
+        {
+            "key": "西瓜影院_js",
+            "name": "👨‍🍳‍西瓜影院(drpy_t3)",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 0,
+            "ext": "./js/西瓜影院.js"
+        },
+        {
+            "key": "西屋影视_js",
+            "name": "👨‍🍳‍西屋影视(drpy_t3)",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 0,
+            "ext": "./js/西屋影视.js"
+        },
+        {
+            "key": "蜥蜴影视[优]_js",
+            "name": "👨‍🍳‍蜥蜴影视[优](drpy_t3)",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 0,
+            "ext": "./js/蜥蜴影视[优].js"
+        },
+        {
+            "key": "小白菜电影_js",
+            "name": "👨‍🍳‍小白菜电影(drpy_t3)",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 0,
+            "ext": "./js/小白菜电影.js"
+        },
+        {
+            "key": "小猫电影院_js",
+            "name": "👨‍🍳‍小猫电影院(drpy_t3)",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 0,
+            "ext": "./js/小猫电影院.js"
+        },
+        {
+            "key": "星辰[优]_js",
+            "name": "👨‍🍳‍星辰[优](drpy_t3)",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 0,
+            "ext": "./js/星辰[优].js"
+        },
+        {
+            "key": "星空影院_js",
+            "name": "👨‍🍳‍星空影院(drpy_t3)",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 0,
+            "ext": "./js/星空影院.js"
+        },
+        {
+            "key": "熊猫TV_js",
+            "name": "👨‍🍳‍熊猫TV(drpy_t3)",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 0,
+            "ext": "./js/熊猫TV.js"
+        },
+        {
+            "key": "旋风视频_js",
+            "name": "👨‍🍳‍旋风视频(drpy_t3)",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 0,
+            "ext": "./js/旋风视频.js"
+        },
+        {
+            "key": "妖狐影视[自动]_js",
+            "name": "👨‍🍳‍妖狐影视[自动](drpy_t3)",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 0,
+            "ext": "./js/妖狐影视[自动].js"
+        },
+        {
+            "key": "宇航影视_js",
+            "name": "👨‍🍳‍宇航影视(drpy_t3)",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 0,
+            "ext": "./js/宇航影视.js"
+        },
+        {
+            "key": "csp_XYQHiker_可可影视",
+            "name": "🎦可可影视",
+            "type": 3,
+            "api": "csp_XYQHiker",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "ext": "./json/可可影视.json"
+        },
+        {
+            "key": "hipy_js_黑木耳资源[资]",
+            "name": "🎦木耳资源",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 0,
+            "ext": "./js/黑木耳资源[资].js"
+        },
+        {
+            "key": "hipy_js_多多追剧[优]",
+            "name": "🎦多多追剧",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 0,
+            "ext": "./js/多多追剧[优].js"
+        },
+        {
+            "key": "畅梦",
+            "name": "🎦畅梦",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "ext": "./js/畅梦.js"
+        },
+        {
+            "key": "瓜子",
+            "name": "🎦瓜子",
+            "type": 3,
+            "searchable": 1,
+            "quickSearch": 1,
+            "changeable": 1,
+            "playerType": "1",
+            "api": "./api/drpy2.min.js",
+            "ext": "./js/瓜子.js"
+        },
+        {
+            "key": "360zy",
+            "name": "🎦360采集",
+            "type": 1,
+            "api": "https://360zy.com/api.php/provide/vod?",
+            "searchable": 1,
+            "changeable": 1,
+            "categories": [
+                "动作片",
+                "喜剧片",
+                "爱情片",
+                "科幻片",
+                "恐怖片",
+                "剧情片",
+                "战争片",
+                "古装片",
+                "悬疑片",
+                "犯罪片",
+                "灾难片",
+                "国产剧",
+                "香港剧",
+                "韩国剧",
+                "欧美剧",
+                "台湾剧",
+                "日本剧",
+                "海外剧",
+                "泰国剧",
+                "大陆综艺",
+                "港台综艺",
+                "日韩综艺",
+                "欧美综艺",
+                "国产动漫",
+                "欧美动漫",
+                "日韩动漫",
+                "现代都市",
+                "脑洞悬疑",
+                "年代穿越",
+                "古装仙侠",
+                "女频恋爱",
+                "成长逆袭",
+                "反转爽剧"
+            ]
+        },
+        {
+            "key": "hipy_js_哔哩影视[官]",
+            "name": "🎦哔哩影视[官](drpy_t3)",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 73,
+            "ext": "./js/哔哩影视[官].js"
+        },
+        {
+            "key": "hipy_js_4k剧院",
+            "name": "🎦4k剧院(drpy_t3)",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 6,
+            "ext": "./js/4k剧院.js"
+        },
+        {
+            "key": "茶狐杯",
+            "name": "🎦茶狐杯",
+            "type": 3,
+            "api": "csp_XBPQ",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "ext": "./json/茶狐杯.json"
+        },
+        {
+            "key": "奈飞影视",
+            "name": "🎦鸭奈飞",
+            "type": 3,
+            "api": "csp_XYQHiker",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "ext": "./json/ynfys.json"
+        },
+        {
+            "key": "csp_星辰",
+            "name": "🎦星辰",
+            "type": 3,
+            "api": "csp_XBPQ",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "ext": "./json/xcys.json"
+        },
+        {
+            "key": "三米ys",
+            "name": "🎦三米影视",
+            "type": 3,
+            "api": "csp_XBPQ",
+            "ext": {
+                "分类url": "http://www.9-here.com/index.php/s/S-id-{cateId}-{catePg}/area/{area}/by/{by}/class/{class}/lang/{lang}/year/{year}.html[http://www.9-here.com/index.php/t/S-{cateId}-{catePg}.html]",
+                "分类": "电影$movie#连续剧$drama#动漫$comic#综艺$tvshow"
+            }
+        },
+        {
+            "key": "美柏",
+            "name": "🎦美柏",
+            "type": 3,
+            "api": "csp_XBPQ",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "ext": "./json/美柏.json"
+        },
+        {
+            "key": "大师兄",
+            "name": "🎦大师兄影视",
+            "type": 3,
+            "api": "csp_XBPQ",
+            "ext": {
+                "简介": "⚠️特别提醒您⚠️请勿相信影片中的广告,以免上当受骗❗️+剧情介绍:&&</p >",
+                "分类url": "https://www.dsxysproo.com/dqvodshow/{cateId}-{area}--{class}-----{catePg}---{year}.html",
+                "分类": "电视剧$2#电影$1#动漫$4#综艺$3"
+            }
+        },
+        {
+            "key": "白嫖者",
+            "name": "🎦白嫖者联盟",
+            "type": 3,
+            "api": "csp_XBPQ",
+            "ext": {
+                "分类url": "https://www.qyzf88.com/qyvodshow/{cateId}-{area}-{by}-{class}-----{catePg}---{year}.html",
+                "分类": "电影$1#电视剧$2#动漫$4#综艺$3",
+                "副标题": "class=\"pic-text text-right\"&&</span>",
+                "简介": "⚠️特别提醒您⚠️请勿相信影片中的广告,以免上当受骗❗️+剧情介绍:&&</p >"
+            }
+        },
+        {
+            "key": "凯奇追剧",
+            "name": "🎦凯奇┃追剧",
+            "type": 3,
+            "api": "csp_XBPQ",
+            "ext": {
+                "简介": "+hl-content-text\">&&</span>",
+                "分类url": "https://www.kqyy.tv/vodshow/area/{area}/class/{class}/id/{cateId}/page/{catePg}/year/{year}.html",
+                "分类": "电影$dianying#连续剧$lianxuju#动漫$dongman#综艺$zongyi#短剧$duanshipin"
+            }
+        },
+        {
+            "key": "csp_红狐狸影视",
+            "name": "🎦红狐狸影视",
+            "type": 3,
+            "api": "csp_XBPQ",
+            "ext": {
+                "分类url": "https://honghuli.com/leibiao/{cateId}-{area}-------{catePg}---{year}.html",
+                "分类": "电影$1#电视剧$2#综艺$3#动漫$4"
+            }
+        },
+        {
+            "key": "热播之家",
+            "name": "🎦热播之家",
+            "type": 3,
+            "api": "csp_XYQHiker",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "ext": "./json/rebozj.json"
+        },
+        {
+            "key": "hipy_js_TVB云播",
+            "name": "🎦TVB云播(drpy_t3)",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 0,
+            "ext": "./js/TVB云播.js"
+        },
+        {
+            "key": "csp_XYQBiu_骚火VIP",
+            "name": "🎦骚火",
+            "type": 3,
+            "api": "csp_XBPQ",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "ext": "./json/shyyVIP.json"
+        },
+        {
+            "key": "csp_vs",
+            "name": "🎦VS",
+            "type": 3,
+            "api": "csp_XBPQ",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "ext": "./json/vsys.json"
+        },
+        {
+            "key": "4K影视",
+            "name": "🎦4K影视",
+            "type": 3,
+            "api": "csp_XBPQ",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "ext": "./json/4K影视.json"
+        },
+        {
+            "key": "csp_xBPQ_奇优",
+            "name": "🎦奇优",
+            "type": 3,
+            "api": "csp_XBPQ",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "ext": "./json/qiyou.json"
+        },
+        {
+            "key": "子子影视",
+            "name": "🎦子子影视",
+            "type": 3,
+            "api": "csp_XBPQ",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "ext": "./json/子子.json"
+        },
+        {
+            "key": "圣城影视",
+            "name": "🎦圣城",
+            "type": 3,
+            "api": "csp_XBPQ",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "ext": "./json/sc1080.json"
+        },
+        {
+            "key": "米爱影视",
+            "name": "🎦米爱",
+            "type": 3,
+            "api": "csp_XBPQ",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "ext": "./json/miaiys.json"
+        },
+        {
+            "key": "HDmoli",
+            "name": "🎦魔力高清",
+            "type": 3,
+            "api": "csp_XBPQ",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "ext": "./json/HDmoli.json"
+        },
+        {
+            "key": "高清在线",
+            "name": "🎦高清在线",
+            "type": 3,
+            "api": "csp_XBPQ",
+            "ext": {
+                "简介": "剧情介绍: +stui-pannel_bd\">&&</div>",
+                "线路数组": "stui-pannel__head bottom-line active clearfix\">&&</div>",
+                "分类url": "https://www.gxfiber.com/vodshow/{cateId}-{area}--{class}-----{catePg}---{year}.html",
+                "分类": "短剧$duanju#电视剧$dsj#电影$dy#动漫$dm#综艺$zy"
+            }
+        },
+        {
+            "key": "lzi",
+            "name": "🎦量子资源",
+            "type": 3,
+            "api": "csp_XYQHiker",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "ext": "./json/liangzi.json"
+        },
+        {
+            "key": "csp_xBPQ睛天影视",
+            "name": "🎦睛天影视",
+            "type": 3,
+            "api": "csp_XBPQ",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "ext": "./json/睛天影视.json"
+        },
+        {
+            "key": "非凡资源",
+            "name": "🎦非凡资源",
+            "type": 3,
+            "api": "csp_XBPQ",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "ext": "./json/ffzy.json"
+        },
+        {
+            "key": "爱奇异",
+            "name": "🎦爱奇艺(官)",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "ext": "./js/爱奇艺.js"
+        },
+        {
+            "key": "优酷",
+            "name": "🎦优酷(官)",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "ext": "./js/优酷.js"
+        },
+        {
+            "key": "腾讯",
+            "name": "🎦腾讯VIP(官)",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "ext": "./js/腾讯VIP.js"
+        },
+        {
+            "key": "芒果",
+            "name": "🎦芒果(官)",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "ext": "./js/芒果.js"
+        },
+        {
+            "key": "搜狗",
+            "name": "🎦搜狗(官)",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "ext": "./js/搜狗.js"
+        },
+        {
+            "key": "木偶网盘",
+            "name": "📀木偶┃网盘",
+            "type": 3,
+            "api": "csp_Wobg",
+            "searchable": 1,
+            "filterable": 1,
+            "changeable": 1,
+            "ext": {
+                "token": "./txt/tok.txt",
+                "cookie": "./txt/quark.txt",
+                "uc_cookie": "./txt/uc.txt",
+                "site": "http://www.mogg.top/",
+                "danmu": true
+            },
+            "timeout": 25
+        },
+        {
+            "key": "玩偶哥哥",
+            "name": "📀玩偶┃网盘",
+            "type": 3,
+            "api": "csp_Wogg",
+            "searchable": 1,
+            "filterable": 1,
+            "changeable": 1,
+            "ext": {
+                "token": "./txt/tok.txt",
+                "cookie": "./txt/quark.txt",
+                "uc_cookie": "./txt/uc.txt",
+                "wogg": true,
+                "danmu": true
+            },
+            "timeout": 30
+        },
+        {
+            "key": "至臻网盘",
+            "name": "📀至臻┃网盘",
+            "type": 3,
+            "api": "csp_Wobg",
+            "searchable": 1,
+            "filterable": 1,
+            "changeable": 1,
+            "ext": {
+                "token": "./txt/tok.txt",
+                "cookie": "./txt/quark.txt",
+                "uc_cookie": "./txt/uc.txt",
+                "site": "https://mihdr.top",
+                "danmu": true
+            },
+            "timeout": 25
+        },
+        {
+            "key": "奥秘网盘",
+            "name": "📀奥秘┃网盘",
+            "type": 3,
+            "api": "csp_Wobg",
+            "searchable": 1,
+            "filterable": 1,
+            "changeable": 1,
+            "ext": {
+                "token": "./txt/tok.txt",
+                "cookie": "./txt/quark.txt",
+                "uc_cookie": "./txt/uc.txt",
+                "site": "https://vip.omii.top/",
+                "danmu": true
+            },
+            "timeout": 25
+        },
+        {
+            "key": "欧歌网盘",
+            "name": "📀欧歌┃网盘",
+            "type": 3,
+            "api": "csp_Wobg",
+            "searchable": 1,
+            "filterable": 1,
+            "changeable": 1,
+            "ext": {
+                "token": "./txt/tok.txt",
+                "cookie": "./txt/quark.txt",
+                "uc_cookie": "./txt/uc.txt",
+                "site": "https://woog.nxog.top/",
+                "danmu": true
+            },
+            "timeout": 25
+        },
+        {
+            "key": "蜡笔网盘",
+            "name": "📀蜡笔┃网盘",
+            "type": 3,
+            "api": "csp_Wobg",
+            "searchable": 1,
+            "filterable": 1,
+            "changeable": 1,
+            "ext": {
+                "token": "./txt/tok.txt",
+                "cookie": "./txt/quark.txt",
+                "uc_cookie": "./txt/uc.txt",
+                "site": "http://labipan.com/",
+                "danmu": true
+            },
+            "timeout": 25
+        },
+        {
+            "key": "土豆网盘",
+            "name": "📀土豆┃网盘",
+            "type": 3,
+            "api": "csp_Wobg",
+            "searchable": 1,
+            "filterable": 1,
+            "changeable": 1,
+            "ext": {
+                "token": "./txt/tok.txt",
+                "cookie": "./txt/quark.txt",
+                "uc_cookie": "./txt/uc.txt",
+                "site": "https://yunpan.yunpay.cc/",
+                "danmu": true
+            },
+            "timeout": 25
+        },
+        {
+            "key": "云星网盘",
+            "name": "📀云星┃网盘",
+            "type": 3,
+            "api": "csp_Wobg",
+            "searchable": 1,
+            "filterable": 1,
+            "changeable": 1,
+            "ext": {
+                "token": "./txt/tok.txt",
+                "cookie": "./txt/quark.txt",
+                "uc_cookie": "./txt/uc.txt",
+                "site": "https://4k.4u4.cn/",
+                "danmu": true
+            },
+            "timeout": 25
+        },
+        {
+            "key": "csp_Mp4Mov",
+            "name": "🧲Mp4电影",
+            "type": 3,
+            "api": "csp_Mp4Mov",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1
+        },
+        {
+            "key": "csp_New6v",
+            "name": "🧲新6V",
+            "type": 3,
+            "api": "csp_New6v",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "ext": "https://www.xb6v.com"
+        },
+        {
+            "key": "csp_SeedHub",
+            "name": "🧲SeedHub",
+            "type": 3,
+            "api": "csp_SeedHub",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1
+        },
+        {
+            "key": "csp_KubaCL",
+            "name": "🧲酷吧电影",
+            "type": 3,
+            "api": "csp_KubaCL",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1
+        },
+        {
+            "key": "csp_MeijuMi",
+            "name": "🧲美剧迷",
+            "type": 3,
+            "api": "csp_MeijuMi",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1
+        },
+        {
+            "key": "csp_Xunlei8",
+            "name": "🧲迅雷吧",
+            "type": 3,
+            "api": "csp_Xunlei8",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1
+        },
+        {
+            "key": "csp_AliShare",
+            "name": "🦋AList",
+            "type": 3,
+            "api": "csp_AliShare",
+            "searchable": 1,
+            "changeable": 0,
+            "filterable": 0,
+            "indexs": 0,
+            "ext": {
+                "token": "./txt/tok.txt",
+                "share": "./json/阿里集合.json"
+            },
+            "style": {
+                "type": "list"
+            },
+            "timeout": 30
+        },
+        {
+            "key": "纸条",
+            "name": "🗞纸条┃搜索",
+            "type": 3,
+            "api": "csp_XiaoZhiTiao",
+            "searchable": 1,
+            "filterable": 1,
+            "changeable": 0,
+            "ext": {
+                "token": "./txt/tok.txt",
+                "danmu": true
+            },
+            "timeout": 15
+        },
+        {
+            "key": "盘Se",
+            "name": "🙀盘Se┃搜索",
+            "type": 3,
+            "api": "csp_PanSearch",
+            "searchable": 1,
+            "filterable": 0,
+            "changeable": 0,
+            "ext": {
+                "token": "./txt/tok.txt",
+                "danmu": true
+            },
+            "timeout": 15
+        },
+        {
+            "key": "易搜",
+            "name": "😹易搜┃搜索",
+            "type": 3,
+            "api": "csp_YiSo",
+            "searchable": 1,
+            "filterable": 0,
+            "changeable": 0,
+            "ext": {
+                "token": "./txt/tok.txt",
+                "danmu": true
+            },
+            "timeout": 15
+        },
+        {
+            "key": "csp_QuPanSou",
+            "name": "🤓趣盘搜┃搜索",
+            "type": 3,
+            "api": "csp_QuPanSou",
+            "searchable": 1,
+            "filterable": 1,
+            "changeable": 0,
+            "ext": {
+                "cookie": "./txt/quark.txt",
+                "danmu": true
+            },
+            "timeout": 15
+        },
+        {
+            "key": "csp_Qkpanso",
+            "name": "🐚夸克盘搜┃搜索",
+            "type": 3,
+            "api": "csp_Qkpanso",
+            "searchable": 1,
+            "filterable": 1,
+            "changeable": 0,
+            "ext": {
+                "cookie": "./txt/quark.txt",
+                "danmu": true
+            },
+            "timeout": 15
+        },
+        {
+            "key": "米搜",
+            "name": "🌖米搜┃搜索",
+            "type": 3,
+            "api": "csp_Qkpanso",
+            "searchable": 1,
+            "filterable": 1,
+            "changeable": 0,
+            "ext": {
+                "cookie": "./txt/quark.txt",
+                "danmu": true,
+                "site": "https://www.misou.fun"
+            },
+            "timeout": 15
+        },
+        {
+            "key": "夸搜",
+            "name": "🚢夸搜┃搜索",
+            "type": 3,
+            "api": "csp_Qkso",
+            "searchable": 1,
+            "filterable": 1,
+            "changeable": 0,
+            "ext": {
+                "cookie": "./txt/quark.txt",
+                "danmu": true
+            },
+            "timeout": 15
+        },
+        {
+            "key": "云盘4K",
+            "name": "🤖云盘4K┃搜索",
+            "type": 3,
+            "api": "csp_Yunpan4k",
+            "searchable": 1,
+            "filterable": 0,
+            "changeable": 0,
+            "ext": {
+                "token": "./txt/tok.txt",
+                "cookie": "./txt/quark.txt",
+                "danmu": true
+            },
+            "timeout": 15
+        },
+        {
+            "key": "影搜",
+            "name": "🌸影搜┃搜索",
+            "type": 3,
+            "api": "csp_Yingso",
+            "searchable": 1,
+            "filterable": 0,
+            "changeable": 0,
+            "ext": {
+                "token": "./txt/tok.txt",
+                "cookie": "./txt/quark.txt",
+                "danmu": true
+            },
+            "timeout": 15
+        },
+        {
+            "key": "push_agent",
+            "name": "🛴手机┃推送",
+            "type": 3,
+            "api": "csp_Push",
+            "searchable": 0,
+            "filterable": 0,
+            "changeable": 0,
+            "ext": {
+                "token": "./txt/tok.txt",
+                "cookie": "./txt/quark.txt",
+                "uc_cookie": "./txt/uc.txt",
+                "danmu": true
+            },
+            "timeout": 5
+        },
+        {
+            "key": "我的阿里",
+            "name": "🐱我的┃阿里",
+            "type": 3,
+            "api": "csp_MyAli",
+            "searchable": 0,
+            "quickSearch": 0,
+            "filterable": 0,
+            "indexs": 0,
+            "ext": {
+                "token": "./txt/tok.txt"
+            },
+            "style": {
+                "type": "list"
+            },
+            "timeout": 30
+        },
+        {
+            "key": "我的夸克",
+            "name": "🗽我的┃夸克",
+            "type": 3,
+            "api": "csp_MyQuark",
+            "searchable": 0,
+            "quickSearch": 0,
+            "filterable": 0,
+            "indexs": 0,
+            "ext": {
+                "cookie": "./txt/quark.txt"
+            },
+            "style": {
+                "type": "list"
+            },
+            "timeout": 30
+        },
+        {
+            "key": "我的UC",
+            "name": "😼我的┃UC",
+            "type": 3,
+            "api": "csp_MyUc",
+            "searchable": 0,
+            "quickSearch": 0,
+            "filterable": 0,
+            "indexs": 0,
+            "ext": {
+                "uc_cookie": "./txt/uc.txt"
+            },
+            "style": {
+                "type": "list"
+            },
+            "timeout": 30
+        },
+        {
+            "key": "央视大全",
+            "name": "🌔央视大全",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 0,
+            "ext": "./js/央视大全.js"
+        },
+        {
+            "key": "bili_戏曲",
+            "name": "🅱️哔哩┃戏曲",
+            "type": 3,
+            "api": "csp_Bili",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "style": {
+                "type": "rect",
+                "ratio": 1.433
+            },
+            "ext": {
+                "cookie": "./txt/bili_cookie.txt",
+                "json": "./json/哔哩戏曲.json"
+            },
+            "timeout": 20
+        },
+        {
+            "key": "bili_相声",
+            "name": "🅱️哔哩┃相声",
+            "type": 3,
+            "api": "csp_Bili",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "style": {
+                "type": "rect",
+                "ratio": 1.433
+            },
+            "ext": {
+                "cookie": "./txt/bili_cookie.txt",
+                "json": "./json/哔哩相声.json"
+            },
+            "timeout": 20
+        },
+        {
+            "key": "bili_综合",
+            "name": "🅱️哔哩┃综合",
+            "type": 3,
+            "api": "csp_Bili",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "style": {
+                "type": "rect",
+                "ratio": 1.433
+            },
+            "ext": {
+                "cookie": "./txt/bili_cookie.txt",
+                "json": "./json/哔哩综合.json"
+            },
+            "timeout": 20
+        },
+        {
+            "key": "bili_演唱会",
+            "name": "🅱️哔哩┃演唱会",
+            "type": 3,
+            "api": "csp_Bili",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "style": {
+                "type": "rect",
+                "ratio": 1.433
+            },
+            "ext": {
+                "cookie": "./txt/bili_cookie.txt",
+                "json": "./json/演唱会.json"
+            },
+            "timeout": 20
+        },
+        {
+            "key": "bili_女团热舞",
+            "name": "🅱️哔哩┃女团热舞",
+            "type": 3,
+            "api": "csp_Bili",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "style": {
+                "type": "rect",
+                "ratio": 1.433
+            },
+            "ext": {
+                "cookie": "./txt/bili_cookie.txt",
+                "json": "./json/女团热舞.json"
+            },
+            "timeout": 20
+        },
+        {
+            "key": "bilimd",
+            "name": "🅱️哔哩┃影视",
+            "type": 3,
+            "api": "csp_Bilimd",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "style": {
+                "type": "rect",
+                "ratio": 1.433
+            },
+            "ext": {
+                "cookie": "./txt/bili_cookie.txt"
+            },
+            "timeout": 10
+        },
+        {
+            "key": "bili",
+            "name": "🅱️哔哩┃合集",
+            "type": 3,
+            "api": "csp_Bili",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "style": {
+                "type": "rect",
+                "ratio": 1.433
+            },
+            "ext": {
+                "cookie": "./txt/bili_cookie.txt",
+                "json": "./txt/哔哩合集.txt"
+            },
+            "timeout": 20
+        },
+        {
+            "key": "bili_学习园地",
+            "name": "🅱️哔哩┃学习园地",
+            "type": 3,
+            "api": "csp_Bili",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "style": {
+                "type": "rect",
+                "ratio": 1.433
+            },
+            "ext": {
+                "cookie": "./txt/bili_cookie.txt",
+                "json": "./json/学习园地.json"
+            },
+            "timeout": 20
+        },
+        {
+            "key": "bili_学外语",
+            "name": "🅱️哔哩┃学外语",
+            "type": 3,
+            "api": "csp_Bili",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "style": {
+                "type": "rect",
+                "ratio": 1.433
+            },
+            "ext": {
+                "cookie": "./txt/bili_cookie.txt",
+                "json": "./json/学外语.json"
+            },
+            "timeout": 20
+        },
+        {
+            "key": "哔哩直播",
+            "name": "🅱️哔哩┃直播",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 0,
+            "quickSearch": 0,
+            "filterable": 1,
+            "ext": "./js/blzb.js"
+        },
+        {
+            "key": "88看球",
+            "name": "⚽88┃看球",
+            "type": 3,
+            "api": "csp_Kanqiu",
+            "searchable": 1,
+            "changeable": 0,
+            "style": {
+                "type": "list"
+            },
+            "timeout": 10
+        },
+        {
+            "key": "jrsjs",
+            "name": "⚽Jrs┃球迷",
+            "type": 3,
+            "api": "./api/drpy2.min.txt?file=drpy2.min.js",
+            "ext": "./txt/jrs.txt",
+            "style": {
+                "type": "list"
+            },
+            "searchable": 0,
+            "quickSearch": 0,
+            "changeable": 0,
+            "timeout": 10,
+            "header": {
+                "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36"
+            }
+        },
+        {
+            "key": "hipy_js_360吧[球]",
+            "name": "⚽360吧[球]",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "playerType": "1",
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 0,
+            "ext": "./js/360吧[球].js"
+        },
+        {
+            "key": "926tv[球]_js",
+            "name": "⚽926tv[球](drpy_t3)",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 0,
+            "ext": "./js/926tv[球].js"
+        },
+        {
+            "key": "310js",
+            "name": "⚽310┃看球",
+            "type": 3,
+            "api": "./api/drpy2.min.txt?file=drpy2.min.js",
+            "ext": "./txt/310.txt",
+            "style": {
+                "type": "list"
+            },
+            "searchable": 0,
+            "quickSearch": 0,
+            "changeable": 0,
+            "timeout": 10
+        },
+        {
+            "key": "快手直播",
+            "name": "😎快手┃直播",
+            "type": 3,
+            "api": "csp_KsLive",
+            "searchable": 0,
+            "quickSearch": 0,
+            "filterable": 1,
+            "style": {
+                "type": "rect",
+                "ratio": 1.433
+            },
+            "timeout": 10
+        },
+        {
+            "key": "虎牙直播",
+            "name": "🐯虎牙直播",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 0,
+            "quickSearch": 0,
+            "filterable": 1,
+            "ext": "./js/huyazhibo.js"
+        },
+        {
+            "key": "斗鱼js",
+            "name": "🐟斗鱼┃直播",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "ext": "./js/斗鱼直播.js",
+            "style": {
+                "type": "rect",
+                "ratio": 1.755
+            },
+            "playerType": "2",
+            "searchable": 0,
+            "quickSearch": 0,
+            "changeable": 0
+        },
+        {
+            "key": "Dm84",
+            "name": "🚌巴士┃动漫",
+            "type": 3,
+            "api": "csp_Dm84",
+            "searchable": 1,
+            "quickSearch": 1,
+            "changeable": 1
+        },
+        {
+            "key": "爱动漫_js",
+            "name": "💝爱┃动漫",
+            "type": 3,
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "api": "./api/drpy2.min.js",
+            "ext": "./js/爱动漫.js",
+            "timeout": 15
+        },
+        {
+            "key": "hipy_js_贝乐虎[儿]",
+            "name": "🐯贝乐虎[儿](drpy_t3)",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 0,
+            "ext": "./js/贝乐虎[儿].js"
+        },
+        {
+            "key": "csp_XYQHiker_兔小贝",
+            "name": "🐰兔小贝",
+            "type": 3,
+            "api": "csp_XYQHiker",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "ext": "./json/兔小贝.json"
+        },
+        {
+            "key": "csp_XYQHiker_兔小贝2",
+            "name": "🐰兔小贝2",
+            "type": 3,
+            "api": "csp_XYQHiker",
+            "searchable": 0,
+            "quickSearch": 1,
+            "filterable": 1,
+            "ext": "./json/兔小贝2.json"
+        },
+        {
+            "key": "csp_XYQHiker_播视童趣",
+            "name": "🦋播视童趣",
+            "type": 3,
+            "api": "csp_XYQHiker",
+            "searchable": 0,
+            "quickSearch": 0,
+            "filterable": 1,
+            "ext": "./json/播视童趣.json"
+        },
+        {
+            "key": "博看听书",
+            "name": "📚️听书┃博看",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "changeable": 0,
+            "style": {
+                "type": "rect",
+                "ratio": 1
+            },
+            "ext": "./js/博看听书.js"
+        },
+        {
+            "key": "六月听书",
+            "name": "📚️听书┃六月",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "changeable": 0,
+            "style": {
+                "type": "rect",
+                "ratio": 1
+            },
+            "ext": "./js/六月听书.js"
+        },
+        {
+            "key": "csp_Kugou",
+            "name": "🐶┃酷狗",
+            "type": 3,
+            "api": "csp_Kugou",
+            "searchable": 1,
+            "changeable": 0
+        },
+        {
+            "key": "hipy_js_KTV歌厅[听]",
+            "name": "🎤KTV歌厅(drpy_t3)",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "order_num": 0,
+            "ext": "./js/KTV歌厅[听].js"
+        },
+        {
+            "key": "DJ呦呦音乐网",
+            "name": "🎧DJ呦呦音乐",
+            "type": 3,
+            "api": "csp_XYQHiker",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "ext": "./json/DJyyyyw.json"
+        },
+        {
+            "key": "酷奇",
+            "name": "🎤酷奇┃MV",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "ext": "./js/酷奇MV.js",
+            "style": {
+                "type": "rect",
+                "ratio": 1.597
+            },
+            "searchable": 0,
+            "quickSearch": 0,
+            "changeable": 0
+        },
+        {
+            "key": "js_a8音乐",
+            "name": "🎸A8音乐",
+            "type": 3,
+            "api": "./api/drpy2.min.js",
+            "searchable": 1,
+            "quickSearch": 1,
+            "filterable": 1,
+            "ext": "./js/a8yy.js"
+        }
+    ],
+    "parses": [
+        {
+            "name": "-8090g-",
+            "type": 0,
+            "url": "https://www.8090g.cn/jiexi/?url="
+        },
+        {
+            "name": "-冰豆-",
+            "type": 0,
+            "url": "https://bd.jx.cn/?url="
+        },
+        {
+            "name": "-m3u8TV-",
+            "type": 0,
+            "url": "https://jx.m3u8.tv/jiexi/?url="
+        }
+    ],
+    "doh": [
+        {
+            "name": "Google",
+            "url": "https://dns.google/dns-query",
+            "ips": [
+                "8.8.4.4",
+                "8.8.8.8"
+            ]
+        },
+        {
+            "name": "Cloudflare",
+            "url": "https://cloudflare-dns.com/dns-query",
+            "ips": [
+                "1.1.1.1",
+                "1.0.0.1",
+                "2606:4700:4700::1111",
+                "2606:4700:4700::1001"
+            ]
+        },
+        {
+            "name": "AdGuard",
+            "url": "https://dns.adguard.com/dns-query",
+            "ips": [
+                "94.140.14.140",
+                "94.140.14.141"
+            ]
+        },
+        {
+            "name": "DNSWatch",
+            "url": "https://resolver2.dns.watch/dns-query",
+            "ips": [
+                "84.200.69.80",
+                "84.200.70.40"
+            ]
+        },
+        {
+            "name": "Quad9",
+            "url": "https://dns.quad9.net/dns-quer",
+            "ips": [
+                "9.9.9.9",
+                "149.112.112.112"
+            ]
+        }
+    ],
+    "ads": [
+        "mozai.4gtv.tv"
+    ],
+    "ijk": [
+        {
+            "group": "软解码",
+            "options": [
+                {
+                    "category": 4,
+                    "name": "opensles",
+                    "value": "0"
+                },
+                {
+                    "category": 4,
+                    "name": "overlay-format",
+                    "value": "842225234"
+                },
+                {
+                    "category": 4,
+                    "name": "framedrop",
+                    "value": "1"
+                },
+                {
+                    "category": 4,
+                    "name": "soundtouch",
+                    "value": "1"
+                },
+                {
+                    "category": 4,
+                    "name": "start-on-prepared",
+                    "value": "1"
+                },
+                {
+                    "category": 1,
+                    "name": "http-detect-range-support",
+                    "value": "0"
+                },
+                {
+                    "category": 1,
+                    "name": "fflags",
+                    "value": "fastseek"
+                },
+                {
+                    "category": 2,
+                    "name": "skip_loop_filter",
+                    "value": "48"
+                },
+                {
+                    "category": 4,
+                    "name": "reconnect",
+                    "value": "1"
+                },
+                {
+                    "category": 4,
+                    "name": "enable-accurate-seek",
+                    "value": "0"
+                },
+                {
+                    "category": 4,
+                    "name": "mediacodec",
+                    "value": "0"
+                },
+                {
+                    "category": 4,
+                    "name": "mediacodec-auto-rotate",
+                    "value": "0"
+                },
+                {
+                    "category": 4,
+                    "name": "mediacodec-handle-resolution-change",
+                    "value": "0"
+                },
+                {
+                    "category": 4,
+                    "name": "mediacodec-hevc",
+                    "value": "0"
+                },
+                {
+                    "category": 1,
+                    "name": "dns_cache_timeout",
+                    "value": "600000000"
+                }
+            ]
+        },
+        {
+            "group": "硬解码",
+            "options": [
+                {
+                    "category": 4,
+                    "name": "opensles",
+                    "value": "0"
+                },
+                {
+                    "category": 4,
+                    "name": "overlay-format",
+                    "value": "842225234"
+                },
+                {
+                    "category": 4,
+                    "name": "framedrop",
+                    "value": "1"
+                },
+                {
+                    "category": 4,
+                    "name": "soundtouch",
+                    "value": "1"
+                },
+                {
+                    "category": 4,
+                    "name": "start-on-prepared",
+                    "value": "1"
+                },
+                {
+                    "category": 1,
+                    "name": "http-detect-range-support",
+                    "value": "0"
+                },
+                {
+                    "category": 1,
+                    "name": "fflags",
+                    "value": "fastseek"
+                },
+                {
+                    "category": 2,
+                    "name": "skip_loop_filter",
+                    "value": "48"
+                },
+                {
+                    "category": 4,
+                    "name": "reconnect",
+                    "value": "1"
+                },
+                {
+                    "category": 4,
+                    "name": "enable-accurate-seek",
+                    "value": "0"
+                },
+                {
+                    "category": 4,
+                    "name": "mediacodec",
+                    "value": "1"
+                },
+                {
+                    "category": 4,
+                    "name": "mediacodec-auto-rotate",
+                    "value": "1"
+                },
+                {
+                    "category": 4,
+                    "name": "mediacodec-handle-resolution-change",
+                    "value": "1"
+                },
+                {
+                    "category": 4,
+                    "name": "mediacodec-hevc",
+                    "value": "1"
+                },
+                {
+                    "category": 1,
+                    "name": "dns_cache_timeout",
+                    "value": "600000000"
+                }
+            ]
+        }
+    ],
+    "rules": [
+        {
+            "name": "proxy",
+            "hosts": [
+                "raw.githubusercontent.com",
+                "googlevideo.com",
+                "cdn.v82u1l.com",
+                "cdn.iz8qkg.com",
+                "cdn.kin6c1.com",
+                "c.biggggg.com",
+                "c.olddddd.com",
+                "haiwaikan.com",
+                "www.histar.tv",
+                "youtube.com",
+                "uhibo.com",
+                ".*boku.*",
+                ".*nivod.*",
+                ".*ulivetv.*"
+            ]
+        },
+        {
+            "name": "cl",
+            "hosts": [
+                "magnet"
+            ],
+            "regex": [
+                "最 新",
+                "直 播",
+                "更 新"
+            ]
+        },
+        {
+            "name": "火山嗅探",
+            "hosts": [
+                "huoshan.com"
+            ],
+            "regex": [
+                "item_id="
+            ]
+        },
+        {
+            "name": "抖音嗅探",
+            "hosts": [
+                "douyin.com"
+            ],
+            "regex": [
+                "is_play_url="
+            ]
+        },
+        {
+            "name": "农民嗅探",
+            "hosts": [
+                "toutiaovod.com"
+            ],
+            "regex": [
+                "video/tos/cn"
+            ]
+        },
+        {
+            "name": "七新嗅探",
+            "hosts": [
+                "api.52wyb.com"
+            ],
+            "regex": [
+                "m3u8?pt=m3u8"
+            ]
+        },
+        {
+            "name": "夜市",
+            "hosts": [
+                "yeslivetv.com"
+            ],
+            "script": [
+                "document.getElementsByClassName('vjs-big-play-button')[0].click()"
+            ]
+        },
+        {
+            "name": "毛驴",
+            "hosts": [
+                "www.maolvys.com"
+            ],
+            "script": [
+                "document.getElementsByClassName('swal-button swal-button--confirm')[0].click()"
+            ]
+        },
+        {
+            "name": "czzy",
+            "hosts": [
+                "10086.cn"
+            ],
+            "regex": [
+                "/storageWeb/servlet/downloadServlet"
+            ]
+        },
+        {
+            "name": "bdys",
+            "hosts": [
+                "bytetos.com",
+                "byteimg.com",
+                "bytednsdoc.com",
+                "pstatp.com"
+            ],
+            "regex": [
+                "/tos-cn"
+            ],
+            "exclude": [
+                ".m3u8"
+            ]
+        },
+        {
+            "name": "bdys10",
+            "hosts": [
+                "bdys10.com"
+            ],
+            "regex": [
+                "/obj/"
+            ],
+            "exclude": [
+                ".m3u8"
+            ]
+        }
+    ]
+}

+ 304 - 0
Local_qiqi/天天开心/api/a848d2173d12b963b98a2ffa9796abe7.js

@@ -0,0 +1,304 @@
+if (typeof Object.assign != 'function') {
+    Object.assign = function () {
+	var target = arguments[0];
+    for (var i = 1; i < arguments.length; i++) {
+        var source = arguments[i];
+        for (var key in source) {
+            if (Object.prototype.hasOwnProperty.call(source, key)) {
+                target[key] = source[key];
+            }
+        }
+    }
+    return target;
+};
+}
+function getMubans() {
+    var mubanDict = { // 模板字典
+        mxpro: {
+            title: '',
+            host: '',
+            // homeUrl:'/',
+            url: '/vodshow/fyclass--------fypage---.html',
+            searchUrl: '/vodsearch/**----------fypage---.html',
+            searchable: 2,//是否启用全局搜索,
+            quickSearch: 0,//是否启用快速搜索,
+            filterable: 0,//是否启用分类筛选,
+            headers: {//网站的请求头,完整支持所有的,常带ua和cookies
+                'User-Agent': 'MOBILE_UA',
+                // "Cookie": "searchneed=ok"
+            },
+            class_parse: '.navbar-items li:gt(2):lt(8);a&&Text;a&&href;/(\\d+).html',
+            play_parse: true,
+            lazy: '',
+            limit: 6,
+            推荐: '.tab-list.active;a.module-poster-item.module-item;.module-poster-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href',
+            double: true, // 推荐内容是否双层定位
+            一级: 'body a.module-poster-item.module-item;a&&title;.lazyload&&data-original;.module-item-note&&Text;a&&href',
+            二级: {
+                "title": "h1&&Text;.module-info-tag&&Text",
+                "img": ".lazyload&&data-original",
+                "desc": ".module-info-item:eq(1)&&Text;.module-info-item:eq(2)&&Text;.module-info-item:eq(3)&&Text",
+                "content": ".module-info-introduction&&Text",
+                "tabs": ".module-tab-item",
+                "lists": ".module-play-list:eq(#id) a"
+            },
+            搜索: 'body .module-item;.module-card-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href;.module-info-item-content&&Text',
+        },
+        mxone5: {
+            title: '',
+            host: '',
+            url: '/show/fyclass--------fypage---.html',
+            searchUrl: '/search/**----------fypage---.html',
+            searchable: 2,//是否启用全局搜索,
+            quickSearch: 0,//是否启用快速搜索,
+            filterable: 0,//是否启用分类筛选,
+            class_parse: '.nav-menu-items&&li;a&&Text;a&&href;.*/(.*?).html',
+            play_parse: true,
+            lazy: '',
+            limit: 6,
+            推荐: '.module-list;.module-items&&.module-item;a&&title;img&&data-src;.module-item-text&&Text;a&&href',
+            double: true, // 推荐内容是否双层定位
+            一级: '.module-items .module-item;a&&title;img&&data-src;.module-item-text&&Text;a&&href',
+            二级: {
+                "title": "h1&&Text;.tag-link&&Text",
+                "img": ".module-item-pic&&img&&data-src",
+                "desc": ".video-info-items:eq(0)&&Text;.video-info-items:eq(1)&&Text;.video-info-items:eq(2)&&Text;.video-info-items:eq(3)&&Text",
+                "content": ".vod_content&&Text",
+                "tabs": ".module-tab-item",
+                "lists": ".module-player-list:eq(#id)&&.scroll-content&&a"
+            },
+            搜索: '.module-items .module-search-item;a&&title;img&&data-src;.video-serial&&Text;a&&href',
+        },
+        首图: {
+            title: '',
+            host: '',
+            url: '/vodshow/fyclass--------fypage---/',
+            searchUrl: '/vodsearch/**----------fypage---.html',
+            searchable: 2,//是否启用全局搜索,
+            quickSearch: 0,//是否启用快速搜索,
+            filterable: 0,//是否启用分类筛选,
+            headers: {//网站的请求头,完整支持所有的,常带ua和cookies
+                'User-Agent': 'MOBILE_UA',
+                // "Cookie": "searchneed=ok"
+            },
+            class_parse: '.myui-header__menu li.hidden-sm:gt(0):lt(5);a&&Text;a&&href;/(\\d+).html',
+            play_parse: true,
+            lazy: '',
+            limit: 6,
+            推荐: 'ul.myui-vodlist.clearfix;li;a&&title;a&&data-original;.pic-text&&Text;a&&href',
+            double: true, // 推荐内容是否双层定位
+            一级: '.myui-vodlist li;a&&title;a&&data-original;.pic-text&&Text;a&&href',
+            二级: {
+                "title": ".myui-content__detail .title&&Text;.myui-content__detail p:eq(-2)&&Text",
+                "img": ".myui-content__thumb .lazyload&&data-original",
+                "desc": ".myui-content__detail p:eq(0)&&Text;.myui-content__detail p:eq(1)&&Text;.myui-content__detail p:eq(2)&&Text",
+                "content": ".content&&Text",
+                "tabs": ".nav-tabs:eq(0) li",
+                "lists": ".myui-content__list:eq(#id) li"
+            },
+            搜索: '#searchList li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text',
+        },
+        首图2: {
+            title: '',
+            host: '',
+            url: '/list/fyclass-fypage.html',
+            searchUrl: '/vodsearch/**----------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: '.stui-header__menu li:gt(0):lt(7);a&&Text;a&&href;.*/(.*?).html',
+            play_parse: true,
+            lazy: '',
+            limit: 6,
+            推荐: 'ul.stui-vodlist.clearfix;li;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href',
+            double: true, // 推荐内容是否双层定位
+            一级: '.stui-vodlist li;a&&title;a&&data-original;.pic-text&&Text;a&&href',
+            二级: {
+                "title": ".stui-content__detail .title&&Text;.stui-content__detail p:eq(-2)&&Text",
+                "img": ".stui-content__thumb .lazyload&&data-original",
+                "desc": ".stui-content__detail p:eq(0)&&Text;.stui-content__detail p:eq(1)&&Text;.stui-content__detail p:eq(2)&&Text",
+                "content": ".detail&&Text",
+                "tabs": ".stui-vodlist__head h3",
+                "lists": ".stui-content__playlist:eq(#id) li"
+            },
+            搜索: 'ul.stui-vodlist__media:eq(0) li,ul.stui-vodlist:eq(0) li,#searchList li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text',
+            搜索1: 'ul.stui-vodlist&&li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text',
+            搜索2: 'ul.stui-vodlist__media&&li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text',
+        },
+        默认: {
+            title: '',
+            host: '',
+            url: '/vodshow/fyclass--------fypage---.html',
+            searchUrl: '/vodsearch/-------------.html?wd=**',
+            searchable: 2,//是否启用全局搜索,
+            quickSearch: 0,//是否启用快速搜索,
+            filterable: 0,//是否启用分类筛选,
+            headers: {
+                'User-Agent': 'MOBILE_UA',
+            },
+            play_parse: true,
+            lazy: '',
+            limit: 6,
+            double: true, // 推荐内容是否双层定位
+        },
+        vfed: {
+            title: '',
+            host: '',
+            url: '/index.php/vod/show/id/fyclass/page/fypage.html',
+            searchUrl: '/index.php/vod/search/page/fypage/wd/**.html',
+            searchable: 2,//是否启用全局搜索,
+            quickSearch: 0,//是否启用快速搜索,
+            filterable: 0,//是否启用分类筛选,
+            headers: {
+                'User-Agent': 'UC_UA',
+            },
+            // class_parse:'.fed-pops-navbar&&ul.fed-part-rows&&a.fed-part-eone:gt(0):lt(5);a&&Text;a&&href;.*/(.*?).html',
+            class_parse: '.fed-pops-navbar&&ul.fed-part-rows&&a;a&&Text;a&&href;.*/(.*?).html',
+            play_parse: true,
+            lazy: '',
+            limit: 6,
+            推荐: 'ul.fed-list-info.fed-part-rows;li;a.fed-list-title&&Text;a&&data-original;.fed-list-remarks&&Text;a&&href',
+            double: true, // 推荐内容是否双层定位
+            一级: '.fed-list-info&&li;a.fed-list-title&&Text;a&&data-original;.fed-list-remarks&&Text;a&&href',
+            二级: {
+                "title": "h1.fed-part-eone&&Text;.fed-deta-content&&.fed-part-rows&&li&&Text",
+                "img": ".fed-list-info&&a&&data-original",
+                "desc": ".fed-deta-content&&.fed-part-rows&&li:eq(1)&&Text;.fed-deta-content&&.fed-part-rows&&li:eq(2)&&Text;.fed-deta-content&&.fed-part-rows&&li:eq(3)&&Text",
+                "content": ".fed-part-esan&&Text",
+                "tabs": ".fed-drop-boxs&&.fed-part-rows&&li",
+                "lists": ".fed-play-item:eq(#id)&&ul:eq(1)&&li"
+            },
+            搜索: '.fed-deta-info;h1&&Text;.lazyload&&data-original;.fed-list-remarks&&Text;a&&href;.fed-deta-content&&Text',
+        },
+        海螺3: {
+            title: '',
+            host: '',
+            searchUrl: '/v_search/**----------fypage---.html',
+            url: '/vod_____show/fyclass--------fypage---.html',
+            headers: {
+                'User-Agent': 'MOBILE_UA'
+            },
+            timeout: 5000,
+            class_parse: 'body&&.hl-nav li:gt(0);a&&Text;a&&href;.*/(.*?).html',
+            cate_exclude: '明星|专题|最新|排行',
+            limit: 40,
+            play_parse: true,
+            lazy: '',
+            推荐: '.hl-vod-list;li;a&&title;a&&data-original;.remarks&&Text;a&&href',
+            double: true,
+            一级: '.hl-vod-list&&.hl-list-item;a&&title;a&&data-original;.remarks&&Text;a&&href',
+            二级: {
+                "title": ".hl-infos-title&&Text;.hl-text-conch&&Text",
+                "img": ".hl-lazy&&data-original",
+                "desc": ".hl-infos-content&&.hl-text-conch&&Text",
+                "content": ".hl-content-text&&Text",
+                "tabs": ".hl-tabs&&a",
+                "lists": ".hl-plays-list:eq(#id)&&li"
+            },
+            搜索: '.hl-list-item;a&&title;a&&data-original;.remarks&&Text;a&&href',
+            searchable: 2,//是否启用全局搜索,
+            quickSearch: 0,//是否启用快速搜索,
+            filterable: 0,//是否启用分类筛选,
+        },
+        海螺2: {
+            title: '',
+            host: '',
+            searchUrl: '/index.php/vod/search/page/fypage/wd/**/',
+            url: '/index.php/vod/show/id/fyclass/page/fypage/',
+            headers: {
+                'User-Agent': 'MOBILE_UA'
+            },
+            timeout: 5000,
+            class_parse: '#nav-bar li;a&&Text;a&&href;id/(.*?)/',
+            limit: 40,
+            play_parse: true,
+            lazy: '',
+            推荐: '.list-a.size;li;a&&title;.lazy&&data-original;.bt&&Text;a&&href',
+            double: true,
+            一级: '.list-a&&li;a&&title;.lazy&&data-original;.list-remarks&&Text;a&&href',
+            二级: {
+                "title": "h2&&Text;.deployment&&Text",
+                "img": ".lazy&&data-original",
+                "desc": ".deployment&&Text",
+                "content": ".ec-show&&Text",
+                "tabs": "#tag&&a",
+                "lists": ".play_list_box:eq(#id)&&li"
+            },
+            搜索: '.search-list;a&&title;.lazy&&data-original;.deployment&&Text;a&&href',
+            searchable: 2,//是否启用全局搜索,
+            quickSearch: 0,//是否启用快速搜索,
+            filterable: 0,//是否启用分类筛选,
+        },
+        短视: {
+            title: '',
+            host: '',
+            // homeUrl:'/',
+            url: '/channel/fyclass-fypage.html',
+            searchUrl: '/search.html?wd=**',
+            searchable: 2,//是否启用全局搜索,
+            quickSearch: 0,//是否启用快速搜索,
+            filterable: 0,//是否启用分类筛选,
+            headers: {//网站的请求头,完整支持所有的,常带ua和cookies
+                'User-Agent': 'MOBILE_UA',
+                // "Cookie": "searchneed=ok"
+            },
+            class_parse: '.menu_bottom ul li;a&&Text;a&&href;.*/(.*?).html',
+            cate_exclude: '解析|动态',
+            play_parse: true,
+            lazy: '',
+            limit: 6,
+            推荐: '.indexShowBox;ul&&li;a&&title;img&&data-src;.s1&&Text;a&&href',
+            double: true, // 推荐内容是否双层定位
+            一级: '.pic-list&&li;a&&title;img&&data-src;.s1&&Text;a&&href',
+            二级: {
+                "title": "h1&&Text;.content-rt&&p:eq(0)&&Text",
+                "img": ".img&&img&&data-src",
+                "desc": ".content-rt&&p:eq(1)&&Text;.content-rt&&p:eq(2)&&Text;.content-rt&&p:eq(3)&&Text;.content-rt&&p:eq(4)&&Text;.content-rt&&p:eq(5)&&Text",
+                "content": ".zkjj_a&&Text",
+                "tabs": ".py-tabs&&option",
+                "lists": ".player:eq(#id) li"
+            },
+            搜索: '.sr_lists&&ul&&li;h3&&Text;img&&data-src;.int&&p:eq(0)&&Text;a&&href',
+        },
+        短视2:{
+            title: '',
+            host: '',
+            class_name:'电影&电视剧&综艺&动漫',
+            class_url:'1&2&3&4',
+            searchUrl: '/index.php/ajax/suggest?mid=1&wd=**&limit=50',
+            searchable: 2,
+            quickSearch: 0,
+            headers:{'User-Agent':'MOBILE_UA'},
+            url: '/index.php/api/vod#type=fyclass&page=fypage',
+            filterable:0,//是否启用分类筛选,
+            filter_url:'',
+            filter: {},
+            filter_def:{},
+            detailUrl:'/index.php/vod/detail/id/fyid.html',
+            play_parse: true,
+            lazy: '',
+            limit: 6,
+            推荐:'.list-vod.flex .public-list-box;a&&title;.lazy&&data-original;.public-list-prb&&Text;a&&href',
+            一级:'js:let body=input.split("#")[1];let t=Math.round(new Date/1e3).toString();let key=md5("DS"+t+"DCC147D11943AF75");let url=input.split("#")[0];body=body+"&time="+t+"&key="+key;print(body);fetch_params.body=body;let html=post(url,fetch_params);let data=JSON.parse(html);VODS=data.list.map(function(it){it.vod_pic=urljoin2(input.split("/i")[0],it.vod_pic);return it});',
+            二级:{
+                "title":".slide-info-title&&Text;.slide-info:eq(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',
+        }
+    };
+    return JSON.parse(JSON.stringify(mubanDict));
+}
+var mubanDict = getMubans();
+var muban = getMubans();
+export default {muban,getMubans};

File diff suppressed because it is too large
+ 22 - 0
Local_qiqi/天天开心/api/dffd4cc3bf2fdbddf56e179fb494a4fa.js


File diff suppressed because it is too large
+ 72 - 0
Local_qiqi/天天开心/api/drpy2.min.js


File diff suppressed because it is too large
+ 22 - 0
Local_qiqi/天天开心/api/gbk.js


+ 577 - 0
Local_qiqi/天天开心/api/jinja.js

@@ -0,0 +1,577 @@
+/*!
+ * 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('&amp;')
+                    .split('<').join('&lt;')
+                    .split('>').join('&gt;')
+                    .split('"').join('&quot;');
+            },
+            safe: function (val) {
+                return val;
+            },
+            toJson: function (val) {
+                if (typeof val === 'object') {
+                    return JSON.stringify(val);
+                }
+                return toString(val);
+            }
+        }, opts.filters || {});
+        var stack = [create(data || {})], output = [];
+        return {
+            get: 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;
+            }
+        }
+    }
+}));

File diff suppressed because it is too large
+ 30 - 0
Local_qiqi/天天开心/api/jsencrypt.js


File diff suppressed because it is too large
+ 303 - 0
Local_qiqi/天天开心/api/json5.js


File diff suppressed because it is too large
+ 0 - 0
Local_qiqi/天天开心/api/lf_live10_min-output.js


File diff suppressed because it is too large
+ 1 - 0
Local_qiqi/天天开心/api/node-rsa.js


File diff suppressed because it is too large
+ 1 - 0
Local_qiqi/天天开心/api/pako.min.js


File diff suppressed because it is too large
+ 1 - 0
Local_qiqi/天天开心/api/qyg4.js


File diff suppressed because it is too large
+ 1 - 0
Local_qiqi/天天开心/api/qyg5.js


+ 304 - 0
Local_qiqi/天天开心/api/qyg6.js

@@ -0,0 +1,304 @@
+if (typeof Object.assign != 'function') {
+    Object.assign = function () {
+	var target = arguments[0];
+    for (var i = 1; i < arguments.length; i++) {
+        var source = arguments[i];
+        for (var key in source) {
+            if (Object.prototype.hasOwnProperty.call(source, key)) {
+                target[key] = source[key];
+            }
+        }
+    }
+    return target;
+};
+}
+function getMubans() {
+    var mubanDict = { // 模板字典
+        mxpro: {
+            title: '',
+            host: '',
+            // homeUrl:'/',
+            url: '/vodshow/fyclass--------fypage---.html',
+            searchUrl: '/vodsearch/**----------fypage---.html',
+            searchable: 2,//是否启用全局搜索,
+            quickSearch: 0,//是否启用快速搜索,
+            filterable: 0,//是否启用分类筛选,
+            headers: {//网站的请求头,完整支持所有的,常带ua和cookies
+                'User-Agent': 'MOBILE_UA',
+                // "Cookie": "searchneed=ok"
+            },
+            class_parse: '.navbar-items li:gt(2):lt(8);a&&Text;a&&href;/(\\d+).html',
+            play_parse: true,
+            lazy: '',
+            limit: 6,
+            推荐: '.tab-list.active;a.module-poster-item.module-item;.module-poster-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href',
+            double: true, // 推荐内容是否双层定位
+            一级: 'body a.module-poster-item.module-item;a&&title;.lazyload&&data-original;.module-item-note&&Text;a&&href',
+            二级: {
+                "title": "h1&&Text;.module-info-tag&&Text",
+                "img": ".lazyload&&data-original",
+                "desc": ".module-info-item:eq(1)&&Text;.module-info-item:eq(2)&&Text;.module-info-item:eq(3)&&Text",
+                "content": ".module-info-introduction&&Text",
+                "tabs": ".module-tab-item",
+                "lists": ".module-play-list:eq(#id) a"
+            },
+            搜索: 'body .module-item;.module-card-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href;.module-info-item-content&&Text',
+        },
+        mxone5: {
+            title: '',
+            host: '',
+            url: '/show/fyclass--------fypage---.html',
+            searchUrl: '/search/**----------fypage---.html',
+            searchable: 2,//是否启用全局搜索,
+            quickSearch: 0,//是否启用快速搜索,
+            filterable: 0,//是否启用分类筛选,
+            class_parse: '.nav-menu-items&&li;a&&Text;a&&href;.*/(.*?).html',
+            play_parse: true,
+            lazy: '',
+            limit: 6,
+            推荐: '.module-list;.module-items&&.module-item;a&&title;img&&data-src;.module-item-text&&Text;a&&href',
+            double: true, // 推荐内容是否双层定位
+            一级: '.module-items .module-item;a&&title;img&&data-src;.module-item-text&&Text;a&&href',
+            二级: {
+                "title": "h1&&Text;.tag-link&&Text",
+                "img": ".module-item-pic&&img&&data-src",
+                "desc": ".video-info-items:eq(0)&&Text;.video-info-items:eq(1)&&Text;.video-info-items:eq(2)&&Text;.video-info-items:eq(3)&&Text",
+                "content": ".vod_content&&Text",
+                "tabs": ".module-tab-item",
+                "lists": ".module-player-list:eq(#id)&&.scroll-content&&a"
+            },
+            搜索: '.module-items .module-search-item;a&&title;img&&data-src;.video-serial&&Text;a&&href',
+        },
+        首图: {
+            title: '',
+            host: '',
+            url: '/vodshow/fyclass--------fypage---/',
+            searchUrl: '/vodsearch/**----------fypage---.html',
+            searchable: 2,//是否启用全局搜索,
+            quickSearch: 0,//是否启用快速搜索,
+            filterable: 0,//是否启用分类筛选,
+            headers: {//网站的请求头,完整支持所有的,常带ua和cookies
+                'User-Agent': 'MOBILE_UA',
+                // "Cookie": "searchneed=ok"
+            },
+            class_parse: '.myui-header__menu li.hidden-sm:gt(0):lt(5);a&&Text;a&&href;/(\\d+).html',
+            play_parse: true,
+            lazy: '',
+            limit: 6,
+            推荐: 'ul.myui-vodlist.clearfix;li;a&&title;a&&data-original;.pic-text&&Text;a&&href',
+            double: true, // 推荐内容是否双层定位
+            一级: '.myui-vodlist li;a&&title;a&&data-original;.pic-text&&Text;a&&href',
+            二级: {
+                "title": ".myui-content__detail .title&&Text;.myui-content__detail p:eq(-2)&&Text",
+                "img": ".myui-content__thumb .lazyload&&data-original",
+                "desc": ".myui-content__detail p:eq(0)&&Text;.myui-content__detail p:eq(1)&&Text;.myui-content__detail p:eq(2)&&Text",
+                "content": ".content&&Text",
+                "tabs": ".nav-tabs:eq(0) li",
+                "lists": ".myui-content__list:eq(#id) li"
+            },
+            搜索: '#searchList li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text',
+        },
+        首图2: {
+            title: '',
+            host: '',
+            url: '/list/fyclass-fypage.html',
+            searchUrl: '/vodsearch/**----------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: '.stui-header__menu li:gt(0):lt(7);a&&Text;a&&href;.*/(.*?).html',
+            play_parse: true,
+            lazy: '',
+            limit: 6,
+            推荐: 'ul.stui-vodlist.clearfix;li;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href',
+            double: true, // 推荐内容是否双层定位
+            一级: '.stui-vodlist li;a&&title;a&&data-original;.pic-text&&Text;a&&href',
+            二级: {
+                "title": ".stui-content__detail .title&&Text;.stui-content__detail p:eq(-2)&&Text",
+                "img": ".stui-content__thumb .lazyload&&data-original",
+                "desc": ".stui-content__detail p:eq(0)&&Text;.stui-content__detail p:eq(1)&&Text;.stui-content__detail p:eq(2)&&Text",
+                "content": ".detail&&Text",
+                "tabs": ".stui-vodlist__head h3",
+                "lists": ".stui-content__playlist:eq(#id) li"
+            },
+            搜索: 'ul.stui-vodlist__media:eq(0) li,ul.stui-vodlist:eq(0) li,#searchList li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text',
+            搜索1: 'ul.stui-vodlist&&li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text',
+            搜索2: 'ul.stui-vodlist__media&&li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text',
+        },
+        默认: {
+            title: '',
+            host: '',
+            url: '/vodshow/fyclass--------fypage---.html',
+            searchUrl: '/vodsearch/-------------.html?wd=**',
+            searchable: 2,//是否启用全局搜索,
+            quickSearch: 0,//是否启用快速搜索,
+            filterable: 0,//是否启用分类筛选,
+            headers: {
+                'User-Agent': 'MOBILE_UA',
+            },
+            play_parse: true,
+            lazy: '',
+            limit: 6,
+            double: true, // 推荐内容是否双层定位
+        },
+        vfed: {
+            title: '',
+            host: '',
+            url: '/index.php/vod/show/id/fyclass/page/fypage.html',
+            searchUrl: '/index.php/vod/search/page/fypage/wd/**.html',
+            searchable: 2,//是否启用全局搜索,
+            quickSearch: 0,//是否启用快速搜索,
+            filterable: 0,//是否启用分类筛选,
+            headers: {
+                'User-Agent': 'UC_UA',
+            },
+            // class_parse:'.fed-pops-navbar&&ul.fed-part-rows&&a.fed-part-eone:gt(0):lt(5);a&&Text;a&&href;.*/(.*?).html',
+            class_parse: '.fed-pops-navbar&&ul.fed-part-rows&&a;a&&Text;a&&href;.*/(.*?).html',
+            play_parse: true,
+            lazy: '',
+            limit: 6,
+            推荐: 'ul.fed-list-info.fed-part-rows;li;a.fed-list-title&&Text;a&&data-original;.fed-list-remarks&&Text;a&&href',
+            double: true, // 推荐内容是否双层定位
+            一级: '.fed-list-info&&li;a.fed-list-title&&Text;a&&data-original;.fed-list-remarks&&Text;a&&href',
+            二级: {
+                "title": "h1.fed-part-eone&&Text;.fed-deta-content&&.fed-part-rows&&li&&Text",
+                "img": ".fed-list-info&&a&&data-original",
+                "desc": ".fed-deta-content&&.fed-part-rows&&li:eq(1)&&Text;.fed-deta-content&&.fed-part-rows&&li:eq(2)&&Text;.fed-deta-content&&.fed-part-rows&&li:eq(3)&&Text",
+                "content": ".fed-part-esan&&Text",
+                "tabs": ".fed-drop-boxs&&.fed-part-rows&&li",
+                "lists": ".fed-play-item:eq(#id)&&ul:eq(1)&&li"
+            },
+            搜索: '.fed-deta-info;h1&&Text;.lazyload&&data-original;.fed-list-remarks&&Text;a&&href;.fed-deta-content&&Text',
+        },
+        海螺3: {
+            title: '',
+            host: '',
+            searchUrl: '/v_search/**----------fypage---.html',
+            url: '/vod_____show/fyclass--------fypage---.html',
+            headers: {
+                'User-Agent': 'MOBILE_UA'
+            },
+            timeout: 5000,
+            class_parse: 'body&&.hl-nav li:gt(0);a&&Text;a&&href;.*/(.*?).html',
+            cate_exclude: '明星|专题|最新|排行',
+            limit: 40,
+            play_parse: true,
+            lazy: '',
+            推荐: '.hl-vod-list;li;a&&title;a&&data-original;.remarks&&Text;a&&href',
+            double: true,
+            一级: '.hl-vod-list&&.hl-list-item;a&&title;a&&data-original;.remarks&&Text;a&&href',
+            二级: {
+                "title": ".hl-infos-title&&Text;.hl-text-conch&&Text",
+                "img": ".hl-lazy&&data-original",
+                "desc": ".hl-infos-content&&.hl-text-conch&&Text",
+                "content": ".hl-content-text&&Text",
+                "tabs": ".hl-tabs&&a",
+                "lists": ".hl-plays-list:eq(#id)&&li"
+            },
+            搜索: '.hl-list-item;a&&title;a&&data-original;.remarks&&Text;a&&href',
+            searchable: 2,//是否启用全局搜索,
+            quickSearch: 0,//是否启用快速搜索,
+            filterable: 0,//是否启用分类筛选,
+        },
+        海螺2: {
+            title: '',
+            host: '',
+            searchUrl: '/index.php/vod/search/page/fypage/wd/**/',
+            url: '/index.php/vod/show/id/fyclass/page/fypage/',
+            headers: {
+                'User-Agent': 'MOBILE_UA'
+            },
+            timeout: 5000,
+            class_parse: '#nav-bar li;a&&Text;a&&href;id/(.*?)/',
+            limit: 40,
+            play_parse: true,
+            lazy: '',
+            推荐: '.list-a.size;li;a&&title;.lazy&&data-original;.bt&&Text;a&&href',
+            double: true,
+            一级: '.list-a&&li;a&&title;.lazy&&data-original;.list-remarks&&Text;a&&href',
+            二级: {
+                "title": "h2&&Text;.deployment&&Text",
+                "img": ".lazy&&data-original",
+                "desc": ".deployment&&Text",
+                "content": ".ec-show&&Text",
+                "tabs": "#tag&&a",
+                "lists": ".play_list_box:eq(#id)&&li"
+            },
+            搜索: '.search-list;a&&title;.lazy&&data-original;.deployment&&Text;a&&href',
+            searchable: 2,//是否启用全局搜索,
+            quickSearch: 0,//是否启用快速搜索,
+            filterable: 0,//是否启用分类筛选,
+        },
+        短视: {
+            title: '',
+            host: '',
+            // homeUrl:'/',
+            url: '/channel/fyclass-fypage.html',
+            searchUrl: '/search.html?wd=**',
+            searchable: 2,//是否启用全局搜索,
+            quickSearch: 0,//是否启用快速搜索,
+            filterable: 0,//是否启用分类筛选,
+            headers: {//网站的请求头,完整支持所有的,常带ua和cookies
+                'User-Agent': 'MOBILE_UA',
+                // "Cookie": "searchneed=ok"
+            },
+            class_parse: '.menu_bottom ul li;a&&Text;a&&href;.*/(.*?).html',
+            cate_exclude: '解析|动态',
+            play_parse: true,
+            lazy: '',
+            limit: 6,
+            推荐: '.indexShowBox;ul&&li;a&&title;img&&data-src;.s1&&Text;a&&href',
+            double: true, // 推荐内容是否双层定位
+            一级: '.pic-list&&li;a&&title;img&&data-src;.s1&&Text;a&&href',
+            二级: {
+                "title": "h1&&Text;.content-rt&&p:eq(0)&&Text",
+                "img": ".img&&img&&data-src",
+                "desc": ".content-rt&&p:eq(1)&&Text;.content-rt&&p:eq(2)&&Text;.content-rt&&p:eq(3)&&Text;.content-rt&&p:eq(4)&&Text;.content-rt&&p:eq(5)&&Text",
+                "content": ".zkjj_a&&Text",
+                "tabs": ".py-tabs&&option",
+                "lists": ".player:eq(#id) li"
+            },
+            搜索: '.sr_lists&&ul&&li;h3&&Text;img&&data-src;.int&&p:eq(0)&&Text;a&&href',
+        },
+        短视2:{
+            title: '',
+            host: '',
+            class_name:'电影&电视剧&综艺&动漫',
+            class_url:'1&2&3&4',
+            searchUrl: '/index.php/ajax/suggest?mid=1&wd=**&limit=50',
+            searchable: 2,
+            quickSearch: 0,
+            headers:{'User-Agent':'MOBILE_UA'},
+            url: '/index.php/api/vod#type=fyclass&page=fypage',
+            filterable:0,//是否启用分类筛选,
+            filter_url:'',
+            filter: {},
+            filter_def:{},
+            detailUrl:'/index.php/vod/detail/id/fyid.html',
+            play_parse: true,
+            lazy: '',
+            limit: 6,
+            推荐:'.list-vod.flex .public-list-box;a&&title;.lazy&&data-original;.public-list-prb&&Text;a&&href',
+            一级:'js:let body=input.split("#")[1];let t=Math.round(new Date/1e3).toString();let key=md5("DS"+t+"DCC147D11943AF75");let url=input.split("#")[0];body=body+"&time="+t+"&key="+key;print(body);fetch_params.body=body;let html=post(url,fetch_params);let data=JSON.parse(html);VODS=data.list.map(function(it){it.vod_pic=urljoin2(input.split("/i")[0],it.vod_pic);return it});',
+            二级:{
+                "title":".slide-info-title&&Text;.slide-info:eq(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',
+        }
+    };
+    return JSON.parse(JSON.stringify(mubanDict));
+}
+var mubanDict = getMubans();
+var muban = getMubans();
+export default {muban,getMubans};

File diff suppressed because it is too large
+ 22 - 0
Local_qiqi/天天开心/api/qyg7.js


File diff suppressed because it is too large
+ 303 - 0
Local_qiqi/天天开心/api/qyg8.js


+ 577 - 0
Local_qiqi/天天开心/api/qyg9.js

@@ -0,0 +1,577 @@
+/*!
+ * 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('&amp;')
+                    .split('<').join('&lt;')
+                    .split('>').join('&gt;')
+                    .split('"').join('&quot;');
+            },
+            safe: function (val) {
+                return val;
+            },
+            toJson: function (val) {
+                if (typeof val === 'object') {
+                    return JSON.stringify(val);
+                }
+                return toString(val);
+            }
+        }, opts.filters || {});
+        var stack = [create(data || {})], output = [];
+        return {
+            get: 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;
+            }
+        }
+    }
+}));

+ 412 - 0
Local_qiqi/天天开心/api/模板.js

@@ -0,0 +1,412 @@
+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_.*?=(.*?)</)[1];
+  let json = JSON5.parse(hconf);
+  let url = json.url;
+  if (json.encrypt == '1') {
+    url = unescape(url);
+  } else if (json.encrypt == '2') {
+    url = unescape(base64Decode(url));
+  }
+  if (/\\.(m3u8|mp4|m4a|mp3)/.test(url)) {
+    input = {
+      parse: 0,
+      jx: 0,
+      url: url,
+    };
+  } else {
+    input;
+  }`;
+// 默认嗅探播放
+
+let def_lazy = `js:
+  input = { parse: 1, url: input, js: '' };`;
+// 采集站播放
+
+let cj_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);
+      let json = JSON.parse(html);
+      if (json.url) {
+        input = { parse: 0, url: json.url };
+      }
+    } else {
+      input = rule.parse_url + input;
+    }
+  }`;
+
+function getMubans() {
+    const mubanDict = { // 模板字典
+        mx: {
+            title: '',
+            host: '',
+            url: '/vodshow/fyclass--------fypage---/',
+            searchUrl: '/vodsearch/**----------fypage---/',
+            class_parse: '.top_nav li;a&&Text;a&&href;.*/(.*?)/',
+            searchable: 2,
+            quickSearch: 0,
+            filterable: 0,
+            headers: {
+                'User-Agent': 'MOBILE_UA',
+            },
+            play_parse: true,
+            lazy: common_lazy,
+            limit: 6,
+            double: true,
+            推荐: '.cbox_list;*;*;*;*;*',
+            一级: 'ul.vodlist li;a&&title;a&&data-original;.pic_text&&Text;a&&href',
+            二级: {
+                title: 'h2&&Text;.content_detail:eq(1)&&li&&a:eq(2)&&Text',
+                img: '.vodlist_thumb&&data-original',
+                desc: '.content_detail:eq(1)&&li:eq(1)&&Text;.content_detail:eq(1)&&li&&a&&Text;.content_detail:eq(1)&&li&&a:eq(1)&&Text;.content_detail:eq(1)&&li:eq(2)&&Text;.content_detail:eq(1)&&li:eq(3)&&Text',
+                content: '.content_desc&&span&&Text',
+                tabs: '.play_source_tab&&a',
+                lists: '.content_playlist:eq(#id) li',
+            },
+            搜索: '*',
+        },
+        mxpro: {
+            title: '',
+            host: '', // homeUrl:'/',
+            url: '/vodshow/fyclass--------fypage---.html',
+            searchUrl: '/vodsearch/**----------fypage---.html',
+            searchable: 2,//是否启用全局搜索,
+            quickSearch: 0,//是否启用快速搜索,
+            filterable: 0,//是否启用分类筛选,
+            headers: {//网站的请求头,完整支持所有的,常带ua和cookies
+                'User-Agent': 'MOBILE_UA', // "Cookie": "searchneed=ok"
+            },
+            class_parse: '.navbar-items li:gt(0):lt(10);a&&Text;a&&href;/(\\d+)',
+            play_parse: true,
+            lazy: common_lazy,
+            limit: 6,
+            double: true, // 推荐内容是否双层定位
+            推荐: '.tab-list.active;a.module-poster-item.module-item;.module-poster-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href',
+            一级: 'body a.module-poster-item.module-item;a&&title;.lazyload&&data-original;.module-item-note&&Text;a&&href',
+            二级: {
+                title: 'h1&&Text;.module-info-tag-link:eq(-1)&&Text',
+                img: '.lazyload&&data-original||data-src||src',
+                desc: '.module-info-item:eq(-2)&&Text;.module-info-tag-link&&Text;.module-info-tag-link:eq(1)&&Text;.module-info-item:eq(2)&&Text;.module-info-item:eq(1)&&Text',
+                content: '.module-info-introduction&&Text',
+                tabs: '.module-tab-item',
+                lists: '.module-play-list:eq(#id) a',
+                tab_text: 'div--small&&Text',
+            },
+            搜索: 'body .module-item;.module-card-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href;.module-info-item-content&&Text',
+        }, mxone5: {
+            title: '',
+            host: '',
+            url: '/show/fyclass--------fypage---.html',
+            searchUrl: '/search/**----------fypage---.html',
+            searchable: 2,//是否启用全局搜索,
+            quickSearch: 0,//是否启用快速搜索,
+            filterable: 0,//是否启用分类筛选,
+            class_parse: '.nav-menu-items&&li;a&&Text;a&&href;.*/(.*?)\.html',
+            play_parse: true,
+            lazy: common_lazy,
+            limit: 6,
+            double: true, // 推荐内容是否双层定位
+            推荐: '.module-list;.module-items&&.module-item;a&&title;img&&data-src;.module-item-text&&Text;a&&href',
+            一级: '.module-items .module-item;a&&title;img&&data-src;.module-item-text&&Text;a&&href',
+            二级: {
+                title: 'h1&&Text;.tag-link&&Text',
+                img: '.module-item-pic&&img&&data-src',
+                desc: '.video-info-items:eq(3)&&Text;.tag-link:eq(2)&&Text;.tag-link:eq(1)&&Text;.video-info-items:eq(1)&&Text;.video-info-items:eq(0)&&Text',
+                content: '.vod_content&&Text',
+                tabs: '.module-tab-item',
+                lists: '.module-player-list:eq(#id)&&.scroll-content&&a',
+                tab_text: 'div--small&&Text',
+            },
+            搜索: '.module-items .module-search-item;a&&title;img&&data-src;.video-serial&&Text;a&&href',
+        }, 首图: {
+            title: '',
+            host: '',
+            url: '/vodshow/fyclass--------fypage---/',
+            searchUrl: '/vodsearch/**----------fypage---.html',
+            searchable: 2,//是否启用全局搜索,
+            quickSearch: 0,//是否启用快速搜索,
+            filterable: 0,//是否启用分类筛选,
+            headers: {//网站的请求头,完整支持所有的,常带ua和cookies
+                'User-Agent': 'MOBILE_UA', // "Cookie": "searchneed=ok"
+            },
+            class_parse: '.myui-header__menu li.hidden-sm:gt(0):lt(7);a&&Text;a&&href;/(\\d+).html',
+            play_parse: true,
+            lazy: common_lazy,
+            limit: 6,
+            double: true, // 推荐内容是否双层定位
+            推荐: 'ul.myui-vodlist.clearfix;li;a&&title;a&&data-original;.pic-text&&Text;a&&href',
+            一级: '.myui-vodlist li;a&&title;a&&data-original;.pic-text&&Text;a&&href',
+            二级: {
+                title: '.myui-content__detail .title--span&&Text;.myui-content__detail p.data:eq(3)&&Text',
+                img: '.myui-content__thumb .lazyload&&data-original',
+                desc: '.myui-content__detail p.otherbox&&Text;.year&&Text;.myui-content__detail p.data:eq(4)&&Text;.myui-content__detail p.data:eq(2)&&Text;.myui-content__detail p.data:eq(0)&&Text',
+                content: '.content&&Text',
+                tabs: '.myui-panel__head&&li',
+                // tabs: '.nav-tabs&&li',
+                lists: '.myui-content__list:eq(#id) li',
+            },
+            搜索: '#searchList li;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href;.detail&&Text',
+        }, 首图2: {
+            title: '',
+            host: '',
+            url: '/list/fyclass-fypage.html',
+            searchUrl: '/vodsearch/**----------fypage---.html',
+            searchable: 2,//是否启用全局搜索,
+            quickSearch: 0,//是否启用快速搜索,
+            filterable: 0,//是否启用分类筛选,
+            headers: {
+                'User-Agent': 'UC_UA', // "Cookie": ""
+            },
+            class_parse: '.stui-header__menu li:gt(0):lt(7);a&&Text;a&&href;.*/(.*?).html',
+            play_parse: true,
+            lazy: common_lazy,
+            limit: 6,
+            double: true, // 推荐内容是否双层定位
+            推荐: 'ul.stui-vodlist.clearfix;li;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href',
+            一级: '.stui-vodlist li;a&&title;a&&data-original;.pic-text&&Text;a&&href',
+            二级: {
+                title: '.stui-content__detail .title&&Text;.stui-content__detail&&p:eq(-2)&&a&&Text',
+                title1: '.stui-content__detail .title&&Text;.stui-content__detail&&p&&Text',
+                img: '.stui-content__thumb .lazyload&&data-original',
+                desc: '.stui-content__detail p&&Text;.stui-content__detail&&p:eq(-2)&&a:eq(2)&&Text;.stui-content__detail&&p:eq(-2)&&a:eq(1)&&Text;.stui-content__detail p:eq(2)&&Text;.stui-content__detail p:eq(1)&&Text',
+                desc1: '.stui-content__detail p:eq(4)&&Text;;;.stui-content__detail p:eq(1)&&Text',
+                content: '.detail&&Text',
+                tabs: '.stui-pannel__head h3',
+                tabs1: '.stui-vodlist__head h3',
+                lists: '.stui-content__playlist:eq(#id) li',
+            },
+            搜索: 'ul.stui-vodlist__media,ul.stui-vodlist,#searchList li;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href;.detail&&Text',
+        }, 默认: {
+            title: '',
+            host: '',
+            url: '',
+            searchUrl: '',
+            searchable: 2,
+            quickSearch: 0,
+            filterable: 0,
+            filter: '',
+            filter_url: '',
+            filter_def: {},
+            headers: {
+                'User-Agent': 'MOBILE_UA',
+            },
+            timeout: 5000,
+            class_parse: '#side-menu li;a&&Text;a&&href;/(.*?)\.html',
+            cate_exclude: '',
+            play_parse: true,
+            lazy: def_lazy,
+            double: true,
+            推荐: '列表1;列表2;标题;图片;描述;链接;详情',
+            一级: '列表;标题;图片;描述;链接;详情',
+            二级: {
+                title: 'vod_name;vod_type',
+                img: '图片链接',
+                desc: '主要信息;年代;地区;演员;导演',
+                content: '简介',
+                tabs: '',
+                lists: 'xx:eq(#id)&&a',
+                tab_text: 'body&&Text',
+                list_text: 'body&&Text',
+                list_url: 'a&&href',
+            },
+            搜索: '列表;标题;图片;描述;链接;详情',
+        }, vfed: {
+            title: '',
+            host: '',
+            url: '/index.php/vod/show/id/fyclass/page/fypage.html',
+            searchUrl: '/index.php/vod/search/page/fypage/wd/**.html',
+            searchable: 2,//是否启用全局搜索,
+            quickSearch: 0,//是否启用快速搜索,
+            filterable: 0,//是否启用分类筛选,
+            headers: {
+                'User-Agent': 'UC_UA',
+            },
+            class_parse: '.fed-pops-navbar&&ul.fed-part-rows&&a;a&&Text;a&&href;.*/(.*?).html',
+            play_parse: true,
+            lazy: common_lazy,
+            limit: 6,
+            double: true, // 推荐内容是否双层定位
+            推荐: 'ul.fed-list-info.fed-part-rows;li;a.fed-list-title&&Text;a&&data-original;.fed-list-remarks&&Text;a&&href',
+            一级: '.fed-list-info&&li;a.fed-list-title&&Text;a&&data-original;.fed-list-remarks&&Text;a&&href',
+            二级: {
+                title: 'h1.fed-part-eone&&Text;.fed-deta-content&&.fed-part-rows&&li&&Text',
+                img: '.fed-list-info&&a&&data-original',
+                desc: '.fed-deta-content&&.fed-part-rows&&li:eq(1)&&Text;.fed-deta-content&&.fed-part-rows&&li:eq(2)&&Text;.fed-deta-content&&.fed-part-rows&&li:eq(3)&&Text',
+                content: '.fed-part-esan&&Text',
+                tabs: '.fed-drop-boxs&&.fed-part-rows&&li',
+                lists: '.fed-play-item:eq(#id)&&ul:eq(1)&&li',
+            },
+            搜索: '.fed-deta-info;h1&&Text;.lazyload&&data-original;.fed-list-remarks&&Text;a&&href;.fed-deta-content&&Text',
+        }, 海螺3: {
+            title: '',
+            host: '',
+            searchUrl: '/v_search/**----------fypage---.html',
+            url: '/vod_____show/fyclass--------fypage---.html',
+            headers: {
+                'User-Agent': 'MOBILE_UA',
+            },
+            timeout: 5000,
+            class_parse: 'body&&.hl-nav li:gt(0);a&&Text;a&&href;.*/(.*?).html',
+            cate_exclude: '明星|专题|最新|排行',
+            limit: 40,
+            play_parse: true,
+            lazy: common_lazy,
+            double: true,
+            推荐: '.hl-vod-list;li;a&&title;a&&data-original;.remarks&&Text;a&&href',
+            一级: '.hl-vod-list&&.hl-list-item;a&&title;a&&data-original;.remarks&&Text;a&&href',
+            二级: {
+                title: '.hl-dc-title&&Text;.hl-dc-content&&li:eq(6)&&Text',
+                img: '.hl-lazy&&data-original',
+                desc: '.hl-dc-content&&li:eq(10)&&Text;.hl-dc-content&&li:eq(4)&&Text;.hl-dc-content&&li:eq(5)&&Text;.hl-dc-content&&li:eq(2)&&Text;.hl-dc-content&&li:eq(3)&&Text',
+                content: '.hl-content-text&&Text',
+                tabs: '.hl-tabs&&a',
+                tab_text: 'a--span&&Text',
+                lists: '.hl-plays-list:eq(#id)&&li',
+            },
+            搜索: '.hl-list-item;a&&title;a&&data-original;.remarks&&Text;a&&href',
+            searchable: 2,//是否启用全局搜索,
+            quickSearch: 0,//是否启用快速搜索,
+            filterable: 0,//是否启用分类筛选,
+        }, 海螺2: {
+            title: '',
+            host: '',
+            searchUrl: '/index.php/vod/search/page/fypage/wd/**/',
+            url: '/index.php/vod/show/id/fyclass/page/fypage/',
+            headers: {
+                'User-Agent': 'MOBILE_UA',
+            },
+            timeout: 5000,
+            class_parse: '#nav-bar li;a&&Text;a&&href;id/(.*?)/',
+            limit: 40,
+            play_parse: true,
+            lazy: common_lazy,
+            double: true,
+            推荐: '.list-a.size;li;a&&title;.lazy&&data-original;.bt&&Text;a&&href',
+            一级: '.list-a&&li;a&&title;.lazy&&data-original;.list-remarks&&Text;a&&href',
+            二级: {
+                title: 'h2&&Text;.deployment&&Text',
+                img: '.lazy&&data-original',
+                desc: '.deployment&&Text',
+                content: '.ec-show&&Text',
+                tabs: '#tag&&a',
+                lists: '.play_list_box:eq(#id)&&li',
+            },
+            搜索: '.search-list;a&&title;.lazy&&data-original;.deployment&&Text;a&&href',
+            searchable: 2,//是否启用全局搜索,
+            quickSearch: 0,//是否启用快速搜索,
+            filterable: 0,//是否启用分类筛选,
+        }, 短视: {
+            title: '',
+            host: '', // homeUrl:'/',
+            url: '/channel/fyclass-fypage.html',
+            searchUrl: '/search.html?wd=**',
+            searchable: 2,//是否启用全局搜索,
+            quickSearch: 0,//是否启用快速搜索,
+            filterable: 0,//是否启用分类筛选,
+            headers: {//网站的请求头,完整支持所有的,常带ua和cookies
+                'User-Agent': 'MOBILE_UA', // "Cookie": "searchneed=ok"
+            },
+            class_parse: '.menu_bottom ul li;a&&Text;a&&href;.*/(.*?).html',
+            cate_exclude: '解析|动态',
+            play_parse: true,
+            lazy: common_lazy,
+            limit: 6,
+            double: true, // 推荐内容是否双层定位
+            推荐: '.indexShowBox;ul&&li;a&&title;img&&data-src;.s1&&Text;a&&href',
+            一级: '.pic-list&&li;a&&title;img&&data-src;.s1&&Text;a&&href',
+            二级: {
+                title: 'h1&&Text;.content-rt&&p:eq(0)&&Text',
+                img: '.img&&img&&data-src',
+                desc: '.content-rt&&p:eq(1)&&Text;.content-rt&&p:eq(2)&&Text;.content-rt&&p:eq(3)&&Text;.content-rt&&p:eq(4)&&Text;.content-rt&&p:eq(5)&&Text',
+                content: '.zkjj_a&&Text',
+                tabs: '.py-tabs&&option',
+                lists: '.player:eq(#id) li',
+            },
+            搜索: '.sr_lists&&ul&&li;h3&&Text;img&&data-src;.int&&p:eq(0)&&Text;a&&href',
+        }, 短视2: {
+            title: '',
+            host: '',
+            class_name: '电影&电视剧&综艺&动漫',
+            class_url: '1&2&3&4',
+            searchUrl: '/index.php/ajax/suggest?mid=1&wd=**&limit=50',
+            searchable: 2,
+            quickSearch: 0,
+            headers: {'User-Agent': 'MOBILE_UA'},
+            url: '/index.php/api/vod#type=fyclass&page=fypage',
+            filterable: 0,//是否启用分类筛选,
+            filter_url: '',
+            filter: {},
+            filter_def: {},
+            detailUrl: '/index.php/vod/detail/id/fyid.html',
+            play_parse: true,
+            lazy: common_lazy,
+            limit: 6,
+            推荐: '.list-vod.flex .public-list-box;a&&title;.lazy&&data-original;.public-list-prb&&Text;a&&href',
+            一级: 'js:let body=input.split("#")[1];let t=Math.round(new Date/1e3).toString();let key=md5("DS"+t+"DCC147D11943AF75");let url=input.split("#")[0];body=body+"&time="+t+"&key="+key;print(body);fetch_params.body=body;let html=post(url,fetch_params);let data=JSON.parse(html);VODS=data.list.map(function(it){it.vod_pic=urljoin2(input.split("/i")[0],it.vod_pic);return it});',
+            二级: {
+                title: '.slide-info-title&&Text;.slide-info:eq(2)--strong&&Text',
+                img: '.detail-pic&&data-original',
+                desc: '.slide-info-remarks&&Text;.slide-info-remarks:eq(1)&&Text;.slide-info-remarks:eq(2)&&Text;.slide-info:eq(1)--strong&&Text;.info-parameter&&ul&&li:eq(3)&&Text',
+                content: '#height_limit&&Text',
+                tabs: '.anthology.wow.fadeInUp.animated&&.swiper-wrapper&&a',
+                tab_text: 'a--span&&Text',
+                lists: '.anthology-list-box:eq(#id) li',
+            },
+            搜索: 'json:list;name;pic;;id',
+        }, 采集1: {
+            title: '',
+            host: '',
+            homeTid: '13',
+            homeUrl: '/api.php/provide/vod/?ac=detail&t={{rule.homeTid}}',
+            detailUrl: '/api.php/provide/vod/?ac=detail&ids=fyid',
+            searchUrl: '/api.php/provide/vod/?wd=**&pg=fypage',
+            url: '/api.php/provide/vod/?ac=detail&pg=fypage&t=fyclass',
+            headers: {'User-Agent': 'MOBILE_UA'},
+            timeout: 5000, // class_name: '电影&电视剧&综艺&动漫',
+            // class_url: '1&2&3&4',
+            // class_parse:'js:let html=request(input);input=JSON.parse(html).class;',
+            class_parse: 'json:class;',
+            limit: 20,
+            multi: 1,
+            searchable: 2,//是否启用全局搜索,
+            quickSearch: 1,//是否启用快速搜索,
+            filterable: 0,//是否启用分类筛选,
+            play_parse: true,
+            parse_url: '',
+            lazy: cj_lazy,
+            推荐: '*',
+            一级: 'json:list;vod_name;vod_pic;vod_remarks;vod_id;vod_play_from',
+            二级: `js:
+            let html=request(input);
+            html=JSON.parse(html);
+            let data=html.list;
+            VOD=data[0];`,
+            搜索: '*',
+        },
+    };
+    return JSON.parse(JSON.stringify(mubanDict));
+}
+
+var mubanDict = getMubans();
+var muban = getMubans();
+export default {muban, getMubans};

File diff suppressed because it is too large
+ 0 - 0
Local_qiqi/天天开心/js/111tv[自动].js


File diff suppressed because it is too large
+ 0 - 0
Local_qiqi/天天开心/js/360吧[球].js


+ 83 - 0
Local_qiqi/天天开心/js/4K-AV.js

@@ -0,0 +1,83 @@
+var rule = {
+author: '小可乐/240701/第二版',
+title: '4KAV',
+类型: '影视',
+host: 'https://4k-av.com',
+hostJs: '',
+headers: {'User-Agent': 'IOS_UA'},
+编码: 'utf-8',
+timeout: 5000,
+
+homeUrl: '/',
+url: '/fyclassfyfilter/page-fypage.html[/fyclassfyfilter]',
+filter_url: '{{fl.class}}',
+detailUrl: '',
+searchUrl: '/s?q=**',
+searchable: 1, 
+quickSearch: 1, 
+filterable: 1, 
+
+class_name: '电影&剧集',
+class_url: 'movie&tv',
+filter_def: {},
+
+play_parse: true,
+lazy: `js:
+if (/m3u8|mp4/.test(input)) {
+input = { jx: 0, parse: 0, url: input }
+} else {
+let kurl = request(input).match(/<source src="(.*?)"/)[1];
+input = { jx: 0, parse: 0, url: kurl }
+}
+`,
+
+limit: 9,
+double: false,
+推荐: '*',
+一级: '.NTMitem;a&&title;img&&src;.tags&&Text;a&&href',
+二级: `js:
+let khtml = request(input);
+VOD = {};
+VOD.vod_id = input;
+VOD.vod_name = pdfh(khtml, '#MainContent_titleh12&&div:eq(1)&&Text');
+VOD.type_name = pdfh(khtml, '.tags--span&&Text');
+VOD.vod_pic = pdfh(khtml, '#MainContent_poster&&img&&src');
+VOD.vod_remarks = pdfh(khtml, '.videodetail&&label:eq(0)&&Text');
+VOD.vod_year = pdfh(khtml, '.videodetail&&a&&Text');
+VOD.vod_area = pdfh(khtml, '.videodetail&&label:eq(1)&&Text');
+VOD.vod_director = '未知';
+VOD.vod_actor = '未知';
+VOD.vod_content = pdfh(khtml, '.videodesc&&Text');
+VOD.vod_play_from = '4KAV专线';
+
+let klists = [];
+let kcode = pdfa(khtml, 'ul#rtlist&&li');
+if ( kcode == 0) {
+    kcode = pdfa(khtml, '#MainContent_poster&&a');
+    kcode.forEach((kc) => {
+    let kname = pdfh(kc, 'a&&title').replace('电影海报','');
+    let khref = pdfh(kc, 'a&&href').replace('poster.jpg','');
+    let klist = kname + '$' + khref;
+    klists.push(klist);
+    });
+    VOD.vod_play_url = klists.join('#');
+} else {
+    kcode;
+    kcode.forEach((kc) => {
+    let kname = pdfh(kc, 'span&&Text');
+    let khref = pdfh(kc, 'img&&src').replace('screenshot.jpg','');
+    let klist = kname + '$' + khref;
+    klists.push(klist);
+    });
+    VOD.vod_play_url = klists.join('#');
+}
+`,
+搜索: '*',
+
+filter: {
+"tv":[
+{"key":"class","name":"剧情","value":[{"n":"全部","v":""},{"n":"动作","v":"/tag/动作"},{"n":"剧情","v":"/tag/剧情"},{"n":"冒险","v":"/tag/冒险"},{"n":"喜剧","v":"/tag/喜剧"},{"n":"国产剧","v":"/tag/国产剧"},{"n":"恐怖","v":"/tag/恐怖"},{"n":"战争","v":"/tag/战争"},{"n":"科幻","v":"/tag/科幻"},{"n":"动画","v":"/tag/动画"},{"n":"韩剧","v":"/tag/韩剧"},{"n":"犯罪","v":"/tag/犯罪"},{"n":"纪录片","v":"/tag/纪录片"}]},
+{"key":"class","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":"2019","v":"/2019"}]}
+]
+}
+}

File diff suppressed because it is too large
+ 0 - 0
Local_qiqi/天天开心/js/4k剧院.js


File diff suppressed because it is too large
+ 0 - 0
Local_qiqi/天天开心/js/926tv[球].js


+ 1 - 0
Local_qiqi/天天开心/js/HBOTV[优].js

@@ -0,0 +1 @@
+H4sIAIioBmcC/6VX227bRhB971cskkIkHfGiS3yRyqaOWzSoc2ljO0XhGMqKHIlr82buUhcnAvoBbZHHPvSpL+0H9KEI+jlB0s/o7JK6ULZSFPUDtRyeOTM7MzuzHtGMZHkIxCUvPyJEMBFCh2gP7j85fnb69q+fz7Q6ioOEC5QGQqS8Y9vj8dgK+okYNSwviWwFybMQEfZg6oWUc5vFPkx6g2lKh2AFIgpPq5+UrCDnQDMvOCn0R4lfvNtbW2ahbq+gaF+615SCy5x5F0dK2iGOlAxYKCArIEoQAPUh4x21NUK0Ew6ZuT+EWGho6+uD3sm+4p7Jh3Kul9KMywBYXOTMLAh6vQjinISsS2u1Y5gI+RtkMOhaW7Zubd0zChfTkE7nBCLLQcpCejXtkFvnvPM8xjcQRG4co53BZQ5c6CxOc2F0F1+9JB7gZ4myIiq8QLczxYx+oClX2fvENk4bZwulc57EqPPV0ZPHdy3lgK54lrSYHQRInIVLJWYDoisBxF42TQVxXaI1NIO8lF9JqZLHwD2ago6vBd2MQMjhZvXmRvU+5bDd/hy8xC+4SrK5J/bz55YetfLdV1HafhW1Kf62DNsSMkYKPydWAZPlWrxi2IuIO/W54Hyy+qYKEx+lYLa6iVXKQn5LJY1FDOt9W679JFcFNU/ou59+//vH11gheVjUCFZsyLiwvBBrccAm3aJO1EnqWjL/YUL9Ws2ngppJxoYspmHXSplnCqylakWpOnr75/fv3/z2ARPk/5t484MyURyM+akvrGHlCDwivZ4PgrKQWOpzSXIjpFZLO3Cpt4xarTwhyggGNhpepxVBHvXJJrdLTR/rRqqu7eFfzctF0/gv6MYH0SQ1TZ7S+MOYgmcVWW6jRMqdFFiTXwAe6gpI0D5fhAkZYgh7Pdl6SNAqITL9/HooZV+Qn6T928w3ELdsaO9e//L+j1875ONzbonkSGQsHuq6QdxPy7TLvxH2fx9P0+lZtyLrJ/4UxdoFTPsJzXxXI3fI4Rff4VOr8SAZu0VVCIhS5ruNmujHNAI3hjGvRUriJymODbdo3FqX2HaYDHVJbFRMlV0arb1Y+qX69QPUl526Om/KkCxQZTTMEOKhCCR+Z+8ahnoBqLhlSSghEZ2YOFtcZx2Zp8MM/TFZzMHLMzDLRs2lVmMdXVSttnE2bvJVTFOQWjRNQ+ZRwZLYnpioaw6SLDKxXWFbxVbpX3NPjjA6H2GPkisWhtS+azlEf8jifNIl+7GfJcwnjWaXNJtOs9FsNJ4ekPs5C3376PCbhoUCx9m2HKfRJeORQfbRCfgW+odM2HdbO1Zrm+iHD44fPaxjPV0A+RK8i8QgzzBJ0s82GjsIsiQCe2/Pcqz2brtt7e6SR0mf4UXiiA5oxkqidfep50GqXJeH2pZTrl6JgZTcmaxLo7B76TrWXp1F8kJAR2xQLsfQT+fSNB7Wt+wtBd2tEHA2jME3YYI3iHgI3ZHbbxWM6w5O5vlG+JgV5YR5tGBCI4ySFWBAshGD8boiVos5kEfb5Eyo3HI8D2Vb2wyOMMkSHOOehhQVNyJl5iXyXmMzBrumCq6feHkka2QNie0fsoJmw11uef9qOi1nxzEd++YcmiFGMse4S7KrwDx4XL8KyixBbJ4clWmAWC12tAXJ7EW11ZQXIrUDfZNfYJduFbfHNEi1Oqm2i8Vtr1xU3ZZ9p6OeVXkEIkh8eR18cnS84qQxb1jSvWXDqnguWy96nvoDqmD1eYMuB7a8OPoMRyK2ZWO5aTziRJf653jzUCTG2lZ8K815oFeFK5MaLQa6VDw9P5NGl7NUATSjfk2zGKjritXxepOeGuGpf7O16uQ25HD47GlRY652nav4H2FDp7yzeVPq2qLYb7Mokm1oBMcBRHBbq9iYrQR5tlhxEE+B56HQ/fL7DPc5+wcdk6b++gwAAA==

File diff suppressed because it is too large
+ 0 - 0
Local_qiqi/天天开心/js/KTV歌厅[听].js


File diff suppressed because it is too large
+ 0 - 0
Local_qiqi/天天开心/js/TVB云播.js


+ 20 - 0
Local_qiqi/天天开心/js/a8yy.js

@@ -0,0 +1,20 @@
+var rule = {
+    title:'A8音乐',
+    host:'http://v.a8.com',
+    url:'/category/fyclass?p=fypage',
+    searchUrl:'/search?t=**',
+    searchable:2,
+    quickSearch:0,
+    headers:{
+        'User-Agent':'MOBILE_UA',
+    },
+    class_parse: '.categorys-inner li:gt(1):lt(7);a&&Text;a&&href;.*/(\\d+)',
+    timeout:5000,
+    limit:6,
+    play_parse:true,
+    lazy:'js:let html=request(input);let purl=jsp.pdfh(html,".video-js&&source&&src");input={jx:0,url:purl,parse:0}',
+    推荐: '.v-list-body:eq(1)&&.v_item;*;*;*;*',
+    一级: '.list-div&&.v_item;img&&alt;img&&data-original;.v-time&&Text;a&&href',
+    二级:'*',
+    搜索:'.v-list-body&&.v_item;*;*;*;*',
+}

File diff suppressed because it is too large
+ 0 - 0
Local_qiqi/天天开心/js/bilfun(自动).js


File diff suppressed because it is too large
+ 44 - 0
Local_qiqi/天天开心/js/blzb.js


File diff suppressed because it is too large
+ 28 - 0
Local_qiqi/天天开心/js/huyazhibo.js


+ 150 - 0
Local_qiqi/天天开心/js/jp.js

@@ -0,0 +1,150 @@
+/**
+ * 影视TV 超連結跳轉支持
+ * https://t.me/fongmi_offical/
+ * https://github.com/FongMi/Release/tree/main/apk
+ */
+
+var rule = {
+	title: '荐片',
+	host: 'http://api2.rinhome.com',
+	homeUrl: '/api/tag/hand?code=unknown601193cf375db73d&channel=wandoujia',//网站的首页链接,用于分类获取和推荐获取
+	// url:'/api/crumb/list?area=0&category_id=fyclass&page=fypage&type=0&limit=24&fyfilter',
+	url: '/api/crumb/list?page=fypage&type=0&limit=24&fyfilter',
+	class_name: '全部&电影&电视剧&动漫&综艺',     // 筛选 /api/term/ad_fenlei?limit=10&page=1
+	class_url: '0&1&2&3&4',
+	detailUrl: '/api/node/detail?channel=wandoujia&token=&id=fyid',//二级详情拼接链接(json格式用)
+	searchUrl: '/api/video/search?key=**&page=fypage',
+	searchable: 2,
+	quickSearch: 0,
+	filterable: 1,
+	filter: {
+		"0":[{"key":"area","name":"地區","value":[{"n":"全部","v":"0"},{"n":"国产","v":"1"},{"n":"中国香港","v":"3"},{"n":"中国台湾","v":"6"},{"n":"美国","v":"5"},{"n":"韩国","v":"18"},{"n":"日本","v":"2"}]},{"key":"year","name":"年代","value":[{"n":"全部","v":"0"},{"n":"2023","v":"153"},{"n":"2022","v":"101"},{"n":"2021","v":"118"},{"n":"2020","v":"16"},{"n":"2019","v":"7"},{"n":"2018","v":"2"},{"n":"2017","v":"3"},{"n":"2016","v":"22"}]},{"key":"sort","name":"排序","value":[{"n":"热门","v":"hot"},{"n":"评分","v":"rating"},{"n":"更新","v":"update"}]}],
+		"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":"13"}]},{"key":"area","name":"地區","value":[{"n":"全部","v":"0"},{"n":"国产","v":"1"},{"n":"中国香港","v":"3"},{"n":"中国台湾","v":"6"},{"n":"美国","v":"5"},{"n":"韩国","v":"18"},{"n":"日本","v":"2"}]},{"key":"year","name":"年代","value":[{"n":"全部","v":"0"},{"n":"2023","v":"153"},{"n":"2022","v":"101"},{"n":"2021","v":"118"},{"n":"2020","v":"16"},{"n":"2019","v":"7"},{"n":"2018","v":"2"},{"n":"2017","v":"3"},{"n":"2016","v":"22"}]},{"key":"sort","name":"排序","value":[{"n":"热门","v":"hot"},{"n":"评分","v":"rating"},{"n":"更新","v":"update"}]}],
+		"2":[{"key":"cateId","name":"分类","value":[{"n":"全部","v":"2"},{"n":"首推","v":"14"},{"n":"国产","v":"15"},{"n":"港台","v":"16"},{"n":"日韩","v":"17"},{"n":"海外","v":"18"}]},{"key":"area","name":"地區","value":[{"n":"全部","v":"0"},{"n":"国产","v":"1"},{"n":"中国香港","v":"3"},{"n":"中国台湾","v":"6"},{"n":"美国","v":"5"},{"n":"韩国","v":"18"},{"n":"日本","v":"2"}]},{"key":"year","name":"年代","value":[{"n":"全部","v":"0"},{"n":"2023","v":"153"},{"n":"2022","v":"101"},{"n":"2021","v":"118"},{"n":"2020","v":"16"},{"n":"2019","v":"7"},{"n":"2018","v":"2"},{"n":"2017","v":"3"},{"n":"2016","v":"22"}]},{"key":"sort","name":"排序","value":[{"n":"热门","v":"hot"},{"n":"评分","v":"rating"},{"n":"更新","v":"update"}]}],
+		"3":[{"key":"cateId","name":"分类","value":[{"n":"全部","v":"3"},{"n":"首推","v":"19"},{"n":"海外","v":"20"},{"n":"日本","v":"21"},{"n":"国产","v":"22"}]},{"key":"area","name":"地區","value":[{"n":"全部","v":"0"},{"n":"国产","v":"1"},{"n":"中国香港","v":"3"},{"n":"中国台湾","v":"6"},{"n":"美国","v":"5"},{"n":"韩国","v":"18"},{"n":"日本","v":"2"}]},{"key":"year","name":"年代","value":[{"n":"全部","v":"0"},{"n":"2023","v":"153"},{"n":"2022","v":"101"},{"n":"2021","v":"118"},{"n":"2020","v":"16"},{"n":"2019","v":"7"},{"n":"2018","v":"2"},{"n":"2017","v":"3"},{"n":"2016","v":"22"}]},{"key":"sort","name":"排序","value":[{"n":"热门","v":"hot"},{"n":"评分","v":"rating"},{"n":"更新","v":"update"}]}],
+		"4":[{"key":"cateId","name":"分类","value":[{"n":"全部","v":"4"},{"n":"首推","v":"23"},{"n":"国产","v":"24"},{"n":"海外","v":"25"},{"n":"港台","v":"26"}]},{"key":"area","name":"地區","value":[{"n":"全部","v":"0"},{"n":"国产","v":"1"},{"n":"中国香港","v":"3"},{"n":"中国台湾","v":"6"},{"n":"美国","v":"5"},{"n":"韩国","v":"18"},{"n":"日本","v":"2"}]},{"key":"year","name":"年代","value":[{"n":"全部","v":"0"},{"n":"2023","v":"153"},{"n":"2022","v":"101"},{"n":"2021","v":"118"},{"n":"2020","v":"16"},{"n":"2019","v":"7"},{"n":"2018","v":"2"},{"n":"2017","v":"3"},{"n":"2016","v":"22"}]},{"key":"sort","name":"排序","value":[{"n":"热门","v":"hot"},{"n":"评分","v":"rating"},{"n":"更新","v":"update"}]}]
+	},
+	filter_url: 'area={{fl.area or "0"}}&sort={{fl.sort or "update"}}&year={{fl.year or "0"}}&category_id={{fl.cateId}}',
+	filter_def: {
+		0:{cateId:'0'},
+		1:{cateId:'1'},
+		2:{cateId:'2'},
+		3:{cateId:'3'},
+		4:{cateId:'4'}
+	},
+	headers: {
+		'User-Agent': 'jianpian-android/350',
+		'JPAUTH': 'y261ow7kF2dtzlxh1GS9EB8nbTxNmaK/QQIAjctlKiEv'
+	},
+	timeout: 5000,
+	limit: 8,
+	play_parse: true,
+	play_json: [{
+		re: '*',
+		json: {
+			parse: 0,
+			jx: 0
+		}
+	}],
+	lazy: '',
+	图片来源: '@Referer=www.jianpianapp.com@User-Agent=jianpian-version353',
+	// 推荐:'json:.video;*;*;*;*',
+	推荐: `js:
+        var d = [];
+        let html = request(input);
+        html = JSON.parse(html).data[0].video;
+        html.forEach(it => {
+            d.push({
+                title: it.title,
+                img: it.path,
+                desc: it.playlist.title + ' ⭐' + it.score,
+                url: it.id
+            })
+        });
+        setResult(d);
+    `,
+	// 一级:'json:data;title;path;playlist.title;id',
+	一级: `js:
+		cateObj.tid = cateObj.tid+'';
+        if (cateObj.tid.endsWith('_clicklink')) {
+            cateObj.tid = cateObj.tid.split('_')[0];
+            input = HOST + '/api/video/search?key=' + cateObj.tid + '&page=' + + MY_PAGE;
+        }
+        var d = [];
+        let html = request(input);
+        html = JSON.parse(html).data;
+        html.forEach(it => {
+            d.push({
+                title: it.title,
+                img: it.thumbnail||it.path,
+                desc: (it.mask || it.playlist.title) + ' ⭐' + it.score,
+                url: it.id
+            })
+        });
+        setResult(d);
+    `,
+	二级: `js:
+        function getLink(data) {
+            let link = data.map(it => {
+                return '[a=cr:' + JSON.stringify({'id':it.name+'_clicklink','name':it.name}) + '/]' + it.name + '[/a]'
+            }).join(', ');
+            return link
+        }
+		try {
+            let html = request(input);
+            html = JSON.parse(html);
+            let node = html.data;
+            VOD = {
+                vod_id: node.id,
+                vod_name: node.title,
+                vod_pic: node.thumbnail,
+                type_name: node.types[0].name,
+                vod_year: node.year.title,
+                vod_area: node.area.title,
+                vod_remarks: node.score,
+                vod_actor: getLink(node.actors),
+                vod_director: getLink(node.directors),
+                vod_content: node.description.strip()
+            };
+            if (typeof play_url === 'undefined') {
+                var play_url = ''
+            }
+            let playMap = {};
+			if (node.have_ftp_ur == 1) {
+				playMap["边下边播,勤去清缓存"] = node.new_ftp_list.map(it => {
+					return it.title + "$" + (/m3u8/.test(it.url) ? play_url + it.url : "tvbox-xg:" + it.url)
+				}).join('#');
+			}
+			if (node.have_m3u8_ur == 1) {
+				playMap["在线点播普清版"] = node.new_m3u8_list.map(it => {
+					return it.title + "$" + (/m3u8/.test(it.url) ? play_url + it.url : "tvbox-xg:" + it.url)
+				}).join('#');
+			}
+            let playFrom = [];
+            let playList = [];
+            Object.keys(playMap).forEach(key => {
+                playFrom.append(key);
+                playList.append(playMap[key])
+            });
+            VOD.vod_play_from = playFrom.join('$$$');
+            VOD.vod_play_url = playList.join('$$$');
+        } catch (e) {
+            log("获取二级详情页发生错误:" + e.message);
+        }
+	`,
+	// 搜索:'json:data;*;thumbnail;mask;*',
+	搜索: `js:
+        var d = [];
+        let html = request(input);
+        html = JSON.parse(html).data;
+        html.forEach(it => {
+            d.push({
+                title: it.title,
+                img: it.thumbnail,
+                desc: it.mask + ' ⭐' + it.score,
+                url: it.id
+            })
+        });
+        setResult(d);
+    `,
+}

File diff suppressed because it is too large
+ 0 - 0
Local_qiqi/天天开心/js/七新电影网.js


+ 1 - 0
Local_qiqi/天天开心/js/三集电影[自动].js

@@ -0,0 +1 @@
+H4sIAIioBmcC/4VTy24TMRTd8xVWhTIzJbEF3aCJAit+gMeqrSJn7GRcPGPXvpOHSLYgEAsW3UEXZUPFAgkJJKiE+jNpAn+B5xF1kgjqxYx9fc655869M6QGmUxy1EEvbiG3Fudni9PLEHm/X32+enPuNWvR+eWXxcnPEN0+shjUEzAiHfh+gDoPKnK+kqxHU1yy8fzi7fLiEwbasy6DhxPFXLKWO7cE8ASvNl77Jn4X+BhyDSaGrZZNqJSNxlMXq6izoHQKAiR39uc/Xv95/3J58v3q19f9Uu2wKiZWFhwiBtA2JGQ0GuG9IzbBkUoqRGakAxCRMj7GOtZkqBiBieZEMNKfRJJai2NIZIUvAl1Njc1T45QOe9QUhVkkRTgA/24QSvDvB21aus7fseH9NvEPDtidoK5mOTVR/GzTg7G2Oo0T+XDEOru7q+68+7D89vGGvkgOKE/ivqHhxxm34ItUZxC01yCl6Q7SrE/9HN9EnsvcaBRtqoEJQVIN/AK/ocEcf//wOlZgcF+ZRzSKHWPdWIlwFAHYcC1pxH1StHEqRfp8SjOIlZnqrMco8CnjNjJCg1ApGThzum5q5cA1sKwhT5eDQn7selBNzAaBYZ3Z2F93VJulmsxKoLmFLUbGPbZvcsPhppe94N9SkUqBp7DFufcfjhZRt7Cws7N+OasVW99bDo+5zdxQsuD6D5r9BWlL0cwQBAAA

+ 1 - 0
Local_qiqi/天天开心/js/人人影视.js

@@ -0,0 +1 @@
+T2JqZWN0LmFzc2lnbihtdWJhbi7pppblm74yLuS6jOe6pywgewogICAgdGFiczogJ2Rpdi5ib3R0b20tbGluZSBoMycsCn0pOwp2YXIgcnVsZSA9IHsKICAgIOaooeadvzogJ+mmluWbvjInLAogICAgdGl0bGU6ICfkurrkurrlvbHop4YnLAogICAgaG9zdDogJ2h0dHBzOi8vd3d3LnJ0dGtzLmNvbScsCiAgICB1cmw6ICcvcnJ0b3AvZnljbGFzc2Z5ZmlsdGVyLmh0bWwnLAogICAgZmlsdGVyX3VybDogJ3t7ZmwuYXJlYX19e3tmbC5ieX19L3BhZ2UvZnlwYWdle3tmbC55ZWFyfX0nLAogICAgZmlsdGVyOiAnSDRzSUFBQUFBQUFBQSsyV3kyN2FRQlNHMzhWckpNYWt1VFJ2MEdlb3NqQmdnVW5pcEZ6YW1paFNxMXdFb1ExdDFVQnBTQzlTQ0NBbHdpaTlFRWZBeXpCMmVJdU9ZWmc1bnE1WWRGTm1oLy92Y0dibTkvQWY5cFM0b1ptV1lTYVU5YWQ3eXFadUtldEtUTXZxVCtKS1NERzFiWjA4ZTkxNy9LVkVuZzNUeUpKbjh1bTV0cFhUSjE4eGlZQ1BXdU9EbGkvN2REOUUxV0xUUFRpaWF1clpMZ2VWT21FVXZFd0JjTklhOWVzVXhQTWNlSVV1YjZXQlZsN3pQYjY3cDJBenlZSDcrcDM3cWpJRFVRQUtuMFpPa1lLOHY4YUdqNlluMTlLNnhzK042elorNDh4OTdsSHZCcC8zOFdWelhEdW1MT3czRGxNcFdEZStxcm05VHFDT1NrSy9zdTNlRFlMOXBoTHpZbkJLNmdJVlZKcFZqTCsyeFFvcU1YZXFEYmQrSGFpZ0VxdTR0Y1VlVkdJVkZSdWZmTU1YMzRORlRHVzdhVis3RjQySHhuRGtmQTd1Q1FKMk45N2EyTGtLbm44cXpTb2VTbDF4WjFUaWV6LzdlKzluc0lKczBTME55WXNLTHNSVXRsWmo2SlZ2dkdJdHVCeFQyYnNiSG5yOXFsc0p2bUN1c3AwTmJrbDdYR2lMWGdRQXZLcVdycVg1VlhXcnY4YlZIM05mMVFpS1BKb3Q1emNNVHdSQWwwUzZCR2xFcEJGSVZaR3FrQ0tSSWtEVnh3SWxBcUJySWwyRGRGV2txNUN1aUhRRjBtV1JMa01xZXFWQ3IxVFJLeFY2cFlwZXFkQXJWZlJLaFY2cG9sY3E5QXFKWGlIb0ZSSzlRdEFySkhxRm9GZEk5QXBCcjVEb0ZSSGdCWTFhNEhxZWZzQk9lZTdyeVc3MVpKbW9GYzRhcEIzN2JUbU9hMzhFTkdsa00vd1gyam5FaFdOQU03R2R0Tzd2Y0NNMEdYcVpwSkhLL1lPcGQ5NGZPVTArM3hLeEZEOVByME15RzdBc1lOV0duOFdNcFpPQS9meU5MeXVjSlYrazVOaVNZMHVPTFRtMjVOaGFwTEcxWXlhMk5STU1MWm44TXZsbDhzdmtsOG4vZnlkL25pUy9aY2pnbDhFdmcxOEd2d3oraFFuK2xMR1YyelhrZjM0Wi9UTDZaZlRMNkYrWTZOLy9BNU9aeHVxYkh3QUEnLAogICAgc2VhcmNoVXJsOiAnL3JyY3oqKi9wYWdlL2Z5cGFnZS5odG1sJywKfQ==

File diff suppressed because it is too large
+ 17 - 0
Local_qiqi/天天开心/js/优酷.js


File diff suppressed because it is too large
+ 0 - 0
Local_qiqi/天天开心/js/低端.js


+ 27 - 0
Local_qiqi/天天开心/js/六月听书.js

@@ -0,0 +1,27 @@
+var rule = {
+    title: '六月听书',
+    host: 'http://m.6yueting.com',
+    url: '/ys/fyclass/o2/pfypage',
+    searchUrl: '/search/index/search?content=**&type=1&pageNum=fypage&pageSize=40',
+    searchable: 2,
+    quickSearch: 0,
+    filterable:0,//是否启用分类筛选,
+    headers:{'User-Agent':'MOBILE_UA'},
+    class_name:'全部分类&玄幻奇幻&修真武侠&恐怖灵异&古今言情&都市言情&穿越重生&粤语古仔&网游小说&通俗文学&历史纪实&军事&悬疑推理&ebc5系列&官场商战&儿童读物&广播剧&外文原版&评书大全&相声小品&百家讲坛&健康养生&教材&期刊头条&戏曲&脱口秀',
+    class_url:'t0&t1&t2&t3&t4&t28&t5&t6&t7&t11&t12&t13&t14&t18&t15&t16&t17&t22&t8&t9&t10&t20&t21&t23&t24&t27',
+    play_parse:true,
+    lazy:'',
+    limit:6,
+    图片来源:'@Referer=http://m.6yueting.com/@User-Agent=MOBILE_UA',
+    推荐:'*',
+    一级: '.list-wrapper&&.item-link;h2--span&&Text;img&&src;.status&&Text;a&&href',
+    二级:{
+        "title":".book-title&&Text;.text:eq(0)&&Text",
+        "img":".img&&src",
+        "desc":".text:eq(3)&&Text;;;.text:eq(1)&&Text;.text:eq(2)&&Text",
+        "content":".book-intro&&Text",
+        "tabs":".operate-bar&&.total-num",
+        "lists":".book-list:eq(#id)&&.list-item"
+    },
+    搜索:'js:let d=[];let MY_HOME="http://m.6yueting.com";let html=request(input);html=JSON.parse(html);let list=html.data.content;list.forEach(function(it){d.push({title:it.name.replace(/<.*?>/g,""),img:"http://img.6yueting.com:20001/"+it.coverUrlLocal,url:MY_HOME+"/list/"+it.code,desc:it.cdate,content:it.descXx.replace(/&nbsp;/g,"")})});setResult(d);',
+}

+ 1 - 0
Local_qiqi/天天开心/js/刺猬影视.js

@@ -0,0 +1 @@
+H4sIAIioBmcC/22Qv07DMBCHZ/IUntqkND5GlIhnYIGtUuXEbm3kJJbt/AN1RQx9BQamMrCwRkK8DG15DJwQpA54Ofnu9306+zq5Y6nFxBixzv2sTEiOs0bpAn9122O3m6MHD7ljSbK0rLERmlJRhaHJiJSTyY1rTefeJoi9imikS8nQ1YgcXl8Oz58OGHwuNXiElcz19k/dcfu2/3j/3j2OI16YXs+tVSYCaA1Oa2Nw097DmCi1dAEQOWUNVlxBVVAwvKhBUFi1qXTPAEXWzF36grnN5MgaRnTKb/81DKNTEGoKs9kpPriXimjTb49zUiVEh8KyzCAporX1L4JIWv8yiMnvt/SVa7aKwV8s6HnwZzvzNj9JKAuRdQEAAA==

File diff suppressed because it is too large
+ 0 - 0
Local_qiqi/天天开心/js/努努影院.js


+ 51 - 0
Local_qiqi/天天开心/js/博看听书.js

@@ -0,0 +1,51 @@
+var rule = {
+    title: '博看听书',
+    host: 'https://api.bookan.com.cn',
+    homeUrl: '/voice/book/list?instance_id=25304&page=1&category_id=1305&num=24',
+    url: '/voice/book/list?instance_id=25304&page=fypage&category_id=fyclass&num=24',
+    detailUrl: '/voice/album/units?album_id=fyid&page=1&num=200&order=1',
+    searchUrl: 'https://es.bookan.com.cn/api/v3/voice/book?instanceId=25304&keyword=**&pageNum=fypage&limitNum=20',
+    searchable: 2,
+    quickSearch: 0,
+    class_name: '少年读物&儿童文学&国学经典&文艺少年&育儿心经&心理哲学&青春励志&历史小说&故事会&音乐戏剧&相声评书',
+    class_url: '1305&1304&1320&1306&1309&1310&1307&1312&1303&1317&1319',
+    headers: {'User-Agent': 'MOBILE_UA'},
+    推荐: '*',
+    一级: 'json:data.list;name;cover;extra.author;id',
+    二级: `js:
+        let d = [];
+        VOD = {
+            vod_url: input,
+            vod_name: "",
+            vod_actor: "",
+            vod_year: "",
+            vod_director: ""
+        };
+        let playlists = [];
+        let data = JSON.parse(request(input)).data;
+        VOD.vod_name = data.list[0].id;
+        VOD.vod_actor = "▶️创建于" + data.list[0].created_at;
+        VOD.vod_year = data.list[0].created_at.split("-")[0];
+        VOD.vod_director = "▶️更新于" + data.list[0].updated_at;
+        let total = data.total;
+        playlists = data.list;
+        if (total > 200) {
+            for (let i = 2; i < total / 200 + 1; i++) {
+                let listUrl = input.split("&")[0] + "&page=" + i + "&num=200&order=1";
+                let data = JSON.parse(request(listUrl)).data;
+                playlists = playlists.concat(data.list)
+            }
+        }
+        playlists.forEach(function(it) {
+            d.push({
+                title: it.title,
+                url: it.file
+            })
+        });
+        VOD.vod_play_from = "bookan";
+        VOD.vod_play_url = d.map(function(it) {
+            return it.title + "$" + it.url
+        }).join("#");
+    `,
+    搜索: '*',
+}

File diff suppressed because it is too large
+ 0 - 0
Local_qiqi/天天开心/js/厂长资源.js


File diff suppressed because it is too large
+ 0 - 0
Local_qiqi/天天开心/js/可可影视[优].js


File diff suppressed because it is too large
+ 0 - 0
Local_qiqi/天天开心/js/哈皮影视[优].js


File diff suppressed because it is too large
+ 0 - 0
Local_qiqi/天天开心/js/哔哩影视[官].js


+ 1 - 0
Local_qiqi/天天开心/js/嘀哩嘀哩.js

@@ -0,0 +1 @@
+qz2VfkB3O9fqiff5MjJa/ASdotKRYPNu8cLtwdABO3MDeyNp8SITwKEVrcmMRsD6s0DQiKXK91uXHy81Bhzh8xPZzDl/A9cOXQrBxH+Qn2Zl2eNL3Ogzx+kAqZMq7TDGW7Ndfho+4VAcQyAx6N07mJYHA4x94WwszBgxbsp7GcesErxMHMjHWXdbImOCfpVcqeg26DzBb3cpa28wYefQF2s+fbNlwlWJeQnLBSLuK1wKAMahZyys0ERilTj+fvCQ8zuZJVbNUihk76uwf3UQavFn1W7Yibs4uOA38Dj51sLDEiJ1PqwXYzqROsYmoyDpdY1sJaRwR7x0BaXYmWdOEh7L0Vhceq2evj8POwVz8IDWoWtid/DbhgheQm7605g96VV+C4FGYtYWcJ65Nj1XPiFWIRVgDVkkHHRXheO41qBtS/avLHDaCR7MTTGqg2cB0iYCKDum7FHVREC0obqjy/6p98w16Q87B0LE3ZT1VcAKVqaq9eN4bDH3Q0SPWx2h0MdMQM40iWh+BPIBGL91D1e2cQTz6fNAJRhN4k4t2rHv+6JIhzke1ABiy2JPzZvlcNJmpcZZASG/0iFtBscSaXEmplHb+7F1uwhM+Dof6ygZ857d7WdlpBEMF+MkiZfZ8jUfHr4xbdK/fjHBvAbLntFiaVQuoTWtwFOJvK2Z9EImQQKcrcGsgvK6ciouPOndiWdWXB/uhkekWBgSSqFRkmgPfjl8D55qxTHrK10Y6/Ba5c7JXte02gYYYmN8dC2wiqN63S3ss4Q7BBQHpIIz7vnBFgu1SW+ArR4YOpm4KVU/h3CaghPa1hj7k/VSyVy5eWrzH/r5F+VZgIxyhhOyOQjv+QuvRwJUsWDo8/v31c9qQMKFpREllODOPa8O8fBqVS/zaeYjSqLbIssLQyk9VdgIvvWZwroiussZfvYYcrzQy0dzR3/YhSQZEsIzFYNr0A5+E2xypU1JJ6L7H8fvoM7aLM5XlSIiRhB5NVfBrVtUZV7TC61pn4zVet55VnPbGzGMJ+AZxlaqj6BKiFCEmSkELk1OUY/g2oEGmDHNvBJbNzBYfHhUopYtfjGwWRavramw1nau28VDNn3eDjZQzFFFspx/TFeZJEj0mUfIsQlVlFHPct0q0o9aDe0E+mbVFLervzMiL6lCqp5LNQuDmABtzgPUKI+tnJDsawN1ooRxJVXGtdbse96sfMv2uHkd6S4lYx7m7QoS8Sj5BnW/iZyIKegaBS9pGTTLxfJ1BTF3A45/r7P9kDKhlx4/hoNkz/WSNlYP+KWuM0ljZ5pRnvrTMEIrOrfd6ngQMr0+uhqVdWJtkriSCGCttddxdAtl8V/K69rFaI27RYKSrW73H4sEz9sbQ+Fj9k8NvutV75ojXdxncNqLyAbf9uTd1T0sKK/s9+8/MPRR/EUH7GA8VsGux9poJKPuxhNDuFVCdZdWEfs5Qx7ZNc+1YYbIe5qUofNHW6g8Y7vVZj6DaFzx+2pdvmrABXQZyILxs+oiCd2bAKXR/pkBWFbe2jiSTJviSyq7/6y0qBR0Rc9moINlCbs0Znmab2GMtiaUYKWaT0LZJdws29r54AA9NHvpQZJua83Tei7Xu683zalMzXNhX7iFlbYDHU1iNJIVVnUqYO042/8UObnpGNa8uWW8e4ejJ/rM6jNDy+ELyV3b25p42IOiWyFm0/kS7HOM9DLPmk3qb/tUJsgzLnTuNGl1QcyZ

+ 1 - 0
Local_qiqi/天天开心/js/多多追剧[优].js

@@ -0,0 +1 @@
+dmFyIHJ1bGUgPSB7CiAgICB0aXRsZTogJ+WkmuWkmui/veWJp1vkvJhdJywKICAgIOaooeadvzogJ+mmluWbvicsCiAgICBob3N0OiAnaHR0cHM6Ly93d3cuZGRray50dicsCiAgICB1cmw6ICcvY2hhbm5lbC9meWNsYXNzLWZ5cGFnZS5odG1sJywKICAgIC8vc2VhcmNoVXJsOiAnL3NlYXJjaC8tLS0tLS0tLS0tLS0tLmh0bWw/d2Q9KionLAogICAgZGV0YWlsVXJsOiAnL2RldGFpbC9meWlkLmh0bWwnLAogICAgc2VhcmNoVXJsOiAnL2luZGV4LnBocC9hamF4L3N1Z2dlc3Q/bWlkPTEmd2Q9KionLAogICAg5pCc57SiOiAnanNvbjpsaXN0O25hbWU7cGljO2VuO2lkJywKICAgIHNlYXJjaGFibGU6IDEsCiAgICBoZWFkZXJzOiB7CiAgICAgICAgJ1VzZXItQWdlbnQnOiAnUENfVUEnLAogICAgfSwKICAgIGNsYXNzX3BhcnNlOiAnLm15dWktaGVhZGVyX19tZW51IGxpO2EmJlRleHQ7YSYmaHJlZjsvKFxcZCspLmh0bWwnLAogICAgbGF6eTogJGpzLnRvU3RyaW5nKCgpID0+IHsKICAgICAgICBpbnB1dCA9IHsKICAgICAgICAgICAgcGFyc2U6IDEsCiAgICAgICAgICAgIHVybDogaW5wdXQsCiAgICAgICAgICAgIGhlYWRlcjogewogICAgICAgICAgICAgICAgJ1VzZXItQWdlbnQnOiBQQ19VQQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfSksCn0=

+ 234 - 0
Local_qiqi/天天开心/js/央视大全.js

@@ -0,0 +1,234 @@
+var rule = {
+    title:'央视频',
+    host:'https://api.cntv.cn',
+    homeUrl: '/lanmu/columnSearch?&fl=&fc=&cid=&p=1&n=500&serviceId=tvcctv&t=json',
+             //lanmu/columnSearch?&fl=&fc=&cid=&p=1&n=20&serviceId=tvcctv&t=jsonp&cb=Callback
+    url:'/list/getVideoAlbumList?fyfilter&area=&letter=&n=24&serviceId=tvcctv&t=json',
+  //  searchUrl:'https://search.cctv.com/search.php?qtext=**&type=video',
+//    https://search.cctv.com/m/if3g_search.php?page=fypage&qtext=**&type=video&sort=SCORE&pageSize=20&channel=
+   searchUrl:'https://search.cctv.com/m/if3g_search.php?page=fypage&qtext=**&type=video&sort=SCORE&pageSize=20&channel=',
+    searchable:1,
+    quickSearch:1,
+    class_name: '4K专区&栏目大全&特别节目&纪录片&电视剧&动画片',
+    class_url: '4K专区&栏目大全&特别节目&纪录片&电视剧&动画片',
+    filterable: 1,
+    filter_url: 'channel={{fl.channel}}&sc={{fl.sc}}&year={{fl.year}}',
+    filter: {
+
+		"纪录片":[
+            {"key":"channel","name":"频道","value":[{"n":"全部","v":""},{"n":"CCTV-1综合","v":"CCTV-1综合,CCTV-1高清,CCTV-1综合高清"},{"n":"CCTV-2财经","v":"CCTV-2财经,CCTV-2高清,CCTV-2财经高清"},{"n":"CCTV-3综艺","v":"CCTV-3综艺,CCTV-3高清,CCTV-3综艺高清"},{"n":"CCTV-4中文国际","v":"CCTV-4中文国际,CCTV-4高清,CCTV-4中文国际(亚)高清"},{"n":"CCTV-5体育","v":"CCTV-5体育,CCTV-5高清,CCTV-5体育高清"},{"n":"CCTV-6电影","v":"CCTV-6电影,CCTV-6高清,CCTV-6电影高清"},{"n":"CCTV-7国防军事","v":"CCTV-7国防军事,CCTV-7高清,CCTV-7国防军事高清"},{"n":"CCTV-8电视剧","v":"CCTV-8电视剧,CCTV-8高清,CCTV-8电视剧高清"},{"n":"CCTV-9纪录","v":"CCTV-9纪录,CCTV-9高清,CCTV-9纪录高清"},{"n":"CCTV-10科教","v":"CCTV-10科教,CCTV-10高清,CCTV-10科教高清"},{"n":"CCTV-11戏曲","v":"CCTV-11戏曲,CCTV-11高清,CCTV-11戏曲高清"},{"n":"CCTV-12社会与法","v":"CCTV-12社会与法,CCTV-12高清,CCTV-12社会与法高清"},{"n":"CCTV-13新闻","v":"CCTV-13新闻,CCTV-13高清,CCTV-13新闻高清"},{"n":"CCTV-14少儿","v":"CCTV-14少儿,CCTV-14高清,CCTV-14少儿高清"},{"n":"CCTV-15音乐","v":"CCTV-15音乐,CCTV-15高清,CCTV-15音乐高清"},{"n":"CCTV-17农业农村","v":"CCTV-17农业农村,高清,高清"}]},
+            {"key":"sc","name":"类型","value":[{"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":"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"}]},
+        ],
+		"特别节目":[
+            {"key":"channel","name":"频道","value":[{"n":"全部","v":""},{"n":"CCTV-1综合","v":"CCTV-1综合,CCTV-1高清,CCTV-1综合高清"},{"n":"CCTV-2财经","v":"CCTV-2财经,CCTV-2高清,CCTV-2财经高清"},{"n":"CCTV-3综艺","v":"CCTV-3综艺,CCTV-3高清,CCTV-3综艺高清"},{"n":"CCTV-4中文国际","v":"CCTV-4中文国际,CCTV-4高清,CCTV-4中文国际(亚)高清"},{"n":"CCTV-5体育","v":"CCTV-5体育,CCTV-5高清,CCTV-5体育高清"},{"n":"CCTV-6电影","v":"CCTV-6电影,CCTV-6高清,CCTV-6电影高清"},{"n":"CCTV-7国防军事","v":"CCTV-7国防军事,CCTV-7高清,CCTV-7国防军事高清"},{"n":"CCTV-8电视剧","v":"CCTV-8电视剧,CCTV-8高清,CCTV-8电视剧高清"},{"n":"CCTV-9纪录","v":"CCTV-9纪录,CCTV-9高清,CCTV-9纪录高清"},{"n":"CCTV-10科教","v":"CCTV-10科教,CCTV-10高清,CCTV-10科教高清"},{"n":"CCTV-11戏曲","v":"CCTV-11戏曲,CCTV-11高清,CCTV-11戏曲高清"},{"n":"CCTV-12社会与法","v":"CCTV-12社会与法,CCTV-12高清,CCTV-12社会与法高清"},{"n":"CCTV-13新闻","v":"CCTV-13新闻,CCTV-13高清,CCTV-13新闻高清"},{"n":"CCTV-14少儿","v":"CCTV-14少儿,CCTV-14高清,CCTV-14少儿高清"},{"n":"CCTV-15音乐","v":"CCTV-15音乐,CCTV-15高清,CCTV-15音乐高清"},{"n":"CCTV-17农业农村","v":"CCTV-17农业农村,高清,高清"}]},
+            
+            {"key":"sc","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":"sc","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":"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"}]},
+        ],
+    },
+    headers:{
+        'User-Agent':'PC_UA'
+    },
+    timeout:10000,
+    play_parse:true,
+
+  
+  
+lazy: $js.toString(() => {
+    let id = input.split("|")[0];
+    let k4 = input.split("|")[1];
+    let fc = input.split("|")[2];
+if (k4 === '7' && fc!== '体育'){
+        input = 'https://hls.cntv.myhwcdn.cn/asp/hls/4000/0303000a/3/default/' + id + '/4000.m3u8';
+    } else {
+        input = 'https://cntv.playdreamer.cn/proxy/asp/hls/2000/0303000a/3/default/' + id + '/2000.m3u8';
+        
+    }
+    
+    
+    
+    
+
+
+}),
+
+    limit:6,
+    double:false,
+/*
+    推荐: $js.toString(() => {
+        var d = [];
+        var list = JSON.parse(request(input)).response.docs;
+
+        list.forEach(it => {
+            // 一级标题
+            let title1 = it.column_name;
+            // 一级描述
+            let desc1 = it.channel_name;
+            // 一级图片URL
+            let picUrl1 = it.column_logo;
+            // 一级URL(id 地区 类型 标题 演员 年份 频道 简介 图片 更新至)
+            let url1 = it.lastVIDE.videoSharedCode + '|' + '' + '|' + it.column_firstclass + '|' + it.column_name + '|' + '' + '|' + it.column_playdate + '|' + it.channel_name + '|' + it.column_brief + '|' + it.column_logo + '|' + '' + '|' + it.lastVIDE.videoTitle;
+
+            d.push({
+                desc : desc1,
+                title : title1,
+                pic_url : picUrl1,
+                url : url1
+            })
+        })
+        setResult(d);
+    }),
+
+    */
+    一级: $js.toString(() => {
+        var d = [];
+        if(MY_CATE==='栏目大全') {
+            var list = JSON.parse(request(HOST+'/lanmu/columnSearch?&fl=&fc=&cid=&p='+MY_PAGE+'&n=500&serviceId=tvcctv&t=json')).response.docs;
+            list.forEach(it => {
+                // 一级标题
+                let title1 = it.column_name;
+                // 一级描述
+                let desc1 = it.channel_name;
+                // 一级图片URL
+                let picUrl1 = it.column_logo;
+                // 一级URL(id 地区 类型 标题 演员 年份 频道 简介 图片 更新至)
+                let url1 = it.lastVIDE.videoSharedCode + '|' + '' + '|' + it.column_firstclass + '|' + it.column_name + '|' + '' + '|' + it.column_playdate + '|' + it.channel_name + '|' + it.column_brief + '|' + it.column_logo + '|' + '' + '|' + it.lastVIDE.videoTitle;
+                d.push({
+                    desc : desc1,
+                    title : title1,
+                    pic_url : picUrl1,
+                    url : url1
+                })
+            })
+        }
+     else   if(MY_CATE==='4K专区') {
+     var list = JSON.parse(request(HOST+'/NewVideo/getLastVideoList4K?serviceId=cctv4k&cid=&p='+MY_PAGE+'&n=500&serviceId=tvcctv&t=json')).data.list;
+            list.forEach(it => {
+                // 一级标题
+                let title1 = it.title;
+                // 一级描述
+                let desc1 = it.sc + ((typeof it.year==='undefined' || it.year==='')?'':('•'+it.year)) + ((typeof it.count==='undefined' || it.count==='')?'':('•共' + it.count + '集'));
+                // 一级图片URL
+                let picUrl1 = it.image;
+                // 一级URL(id 地区 类型 标题 演员 年份 频道 简介 图片 集数)
+                let url1 = it.id + '|' + it.area + '|' + it.sc + '|' + it.title + '|' + it.actors + '|' + it.year + '|' + it.channel + '|' + it.brief + '|' + it.image + '|' + it.count + '|' + '' + '|' + MY_CATE;
+                d.push({
+                    desc : desc1,
+                    title : title1,
+                    pic_url : picUrl1,
+                    url : url1
+                })
+            })
+     
+     }
+    
+        else {
+            var channelMap = {
+                "特别节目": "CHAL1460955953877151",
+                "纪录片": "CHAL1460955924871139",
+                "电视剧": "CHAL1460955853485115",
+                "动画片": "CHAL1460955899450127",
+            };
+            var list = JSON.parse(request(input+'&channelid='+channelMap[MY_CATE]+'&fc='+MY_CATE+'&p='+MY_PAGE)).data.list;
+            list.forEach(it => {
+                // 一级标题
+                let title1 = it.title;
+                // 一级描述
+                let desc1 = it.sc + ((typeof it.year==='undefined' || it.year==='')?'':('•'+it.year)) + ((typeof it.count==='undefined' || it.count==='')?'':('•共' + it.count + '集'));
+                // 一级图片URL
+                let picUrl1 = it.image;
+                // 一级URL(id 地区 类型 标题 演员 年份 频道 简介 图片 集数)
+                let url1 = it.id + '|' + it.area + '|' + it.sc + '|' + it.title + '|' + it.actors + '|' + it.year + '|' + it.channel + '|' + it.brief + '|' + it.image + '|' + it.count + '|' + '' + '|' + MY_CATE;
+                d.push({
+                    desc : desc1,
+                    title : title1,
+                    pic_url : picUrl1,
+                    url : url1
+                })
+            })
+        }
+        setResult(d);
+    }),
+    
+    二级: $js.toString(() => {
+        let info = input.split("|");
+        
+        VOD = {
+            vod_id: info[0],
+            vod_name: info[3],
+            vod_pic: info[8],
+            type_name: info[2]==='undefined'?'':info[2],
+            vod_year: info[5]==='undefined'?'':info[5],
+            vod_area: info[1]==='undefined'?'':info[1],
+            vod_remarks: info[9]===''?('更新至'+info[10]):('共'+info[9]+'集'),
+            vod_director: info[6]==='undefined'?'':info[6],
+            vod_actor: info[4]==='undefined'?'':info[4],
+          vod_content: info[7]==='undefined'?'':info[7],
+
+        };
+        var modeMap = {
+            "4K专区": "0",
+            "特别节目": "0",
+            "纪录片": "0",
+            "电视剧": "0",
+            "动画片": "1",
+            
+        };
+        var ctid = info[0].replace('https://api.cntv.cn/lanmu/','');
+        var link = 'https://api.cntv.cn/NewVideo/getVideoListByAlbumIdNew?id='+ctid+'&serviceId=tvcctv&p=1&n=100&mode='+modeMap[info[11]]+'&pub=1';
+        var html = JSON.parse(request(link));
+        var playUrls;     
+        if(html.errcode==='1001'){
+            var guid = info[0].replace('https://api.cntv.cn/lanmu/','');
+            var link1 = 'https://api.cntv.cn/video/videoinfoByGuid?guid='+guid+'&serviceId=tvcctv';
+            ctid = JSON.parse(request(link1)).ctid.replace('https://api.cntv.cn/lanmu/','');
+            var link2 = 'https://api.cntv.cn/NewVideo/getVideoListByColumn?id='+ctid+'&d=&p=1&n=100&sort=desc&mode=0&serviceId=tvcctv&t=json';
+            playUrls = JSON.parse(request(link2)).data.list;
+
+        } else {
+            playUrls = html.data.list;
+            // 获取更多数据,暂不需要
+            var flag = '';
+            if(playUrls===''){
+                flag = 'true';
+            }
+            var page = 1;
+            while(flag===''){
+                page = page+1;
+                var burl = 'https://api.cntv.cn/NewVideo/getVideoListByAlbumIdNew?id='+ctid+'&serviceId=tvcctv&p='+page+'&n=100&mode='+modeMap[info[11]]+'&pub=1';
+                var list = JSON.parse(request(burl)).data.list;
+                if (list.length!==0){
+                    list.forEach(it => {
+                        playUrls.push(it);
+                    })
+                    continue;
+                }else{
+                    flag='true';
+                    break;
+                }
+            }
+        }
+        
+        let playFrom = [];
+        let playList = [];
+        playFrom.append('央视频');
+        playUrls.forEach(it => {
+            playList.append(playUrls.map(function(it) {
+                return it.title + "$" + it.guid + "|" + it.type + "|" + it.fc
+            }).join("#"))
+        });
+
+        // 最后封装所有线路
+    //    let  vod_content = playUrls;
+        let vod_play_from = playFrom.join('$$$');
+        let vod_play_url = playList.join('$$$');
+        VOD['vod_play_from'] = vod_play_from;
+        VOD['vod_play_url'] = vod_play_url;
+    }),
+
+    搜索:'',
+}

File diff suppressed because it is too large
+ 0 - 0
Local_qiqi/天天开心/js/好趣网.js


File diff suppressed because it is too large
+ 0 - 0
Local_qiqi/天天开心/js/妖狐影视[自动].js


+ 1 - 0
Local_qiqi/天天开心/js/宇航影视.js

@@ -0,0 +1 @@
+h36A5I5KdeB29zb3iwNWV1rUilFeFskkfZs2YVNfJLTgPjeCtnlxlbyLQaZtTrOqKRHRUo2GvTn/aQJZ2Fzfb+wiwYm7gEQQxLnYklTn4NPF3T5SEUxcKxkud2bI4swgKRBDpe9cDtVuim23WDBTEy2woNw+MHN6PR9CdmzQZk1eNVH/CM56sg3wNbmL8wXhR+fNAJRCrfU0EFRmEBRZMwcn0fnURUPefKNmh2x9GWTOlOoFKXHXc/pooWghACRhRnmGmbTRkggTAZf9hRbxhzDBqcHFv9X/VOs3WppcFqZWG9ciyg/uR8Gz4YGYr6xt6PmuvlPr+rW2S7RHjHVzWLEoaEGkjR+wbckBPTNowitD8qVvvGlw3SyikFheHles5T4qVUmEXZpgYiP3bNuw0M65ckrrAFWcdq0SC72grUineGy9tPciY3a/eyOMYlCAFIiv8nsB0o0vLICyJYV+5rruIcx6FJ43atNfigQnSfE9yq7qSrCGpi+pJDC+l7l7+BrGTAg4RE0cZBMGRo9VvD8cP7dplrNdQvGXhDVZbdo24YeBK5l6yovR/gBLQL/4aGfwISPIaFs2yIUcKgeaqhIgdq5xhD+4IvdrQuY9ImJeAkopDsDXi6PHgfqx4/N+vntg8FVo7IXNOmcqMqfI1YL8E1XavryH8rFg41ti57t1AWSKwii1iy/X3ZlJ8T9a3CvLMsw1bgUUtxLIOSIs92cKF2A63yNAHNCWEeH2iW04DwVplS2C4Q7BJXGXoWBJNVac7V+F/VeVfDZDoQZcE9ECWp4qsjxtNA2wMJq2tkqucmk4mOTFpO8sBbUmPMKD9M/Eur/WtGZHOhYgFSM6KZb3aAOYP4P0Ng2Jd8lqhrj8omzDdatqoYxUoB4G2ly6IjEuQVbca97wQJP9Oy1/umk10gMGXdwAXFt0n6eTyc085N7MZlzxvw6ZRPK1pYrX7bmTJqub8x3MyTjR1FA0OJKmbSovRhK9t9Qu35XshGck/eL3PZBSlTVqRSVd9gPQN7xMOY8HJYyMmORptj+LuwaBoD9IGaFVj5GDzLaFDddSfJBC26tzSlMOw8Dxb2+t6JgezLJsSRAiaDwuUueFK+n1XAsUvcnJFGJysI46yqzrXZs/goy+ocARIFAjWbkkGYbht0l913Erlpl1ca5yKmZScZlFyUggNRT/ycxxnpl3vmokKP+JxM4XuljFs5c7o463kjiqynuXXydyCaphNi7unndvLbYlyAIVkWbScS8lEUQqhOnqLMKhBQOpzOjUHXe+juGh1yTklxW79K7+pLUFb4pr1QYinGwwDmxdeKuqWTlfsRww96aaep+unMJ5RwEKR/ht2afFFM4iVSxIYxsPysi6pGeoi+G4AIzUgJ8SNR6jZm9T2ecGATbSUV4inE3kgIvB8S/FW7JZTC+3bESg4IDIMq99G0sInvGHtwVX/39ohyaWLTqK7q/EotkCj4Yy0K2FJ22Bu4tNPKgqCxGQOjp/LDNC+WPD1NgNNc3eI/qw0pkPyUN7QLql0Xnm

File diff suppressed because it is too large
+ 0 - 0
Local_qiqi/天天开心/js/宝片视频.js


File diff suppressed because it is too large
+ 0 - 0
Local_qiqi/天天开心/js/小猫电影院.js


File diff suppressed because it is too large
+ 0 - 0
Local_qiqi/天天开心/js/小白菜电影.js


+ 78 - 0
Local_qiqi/天天开心/js/影探4K.js

@@ -0,0 +1,78 @@
+//初版v2模板,自动分类筛选
+//填上这里host即可,其他不用改动
+
+globalThis.gethost = 'http://cmsyttv.lyyytv.cn/'
+
+let data=JSON.parse(fetch(gethost+'/api.php/app/nav?token',{headers:{'User-Agent':'Dart/2.14 (dart:io)'}}));let dy={"class":"类型","area":"地区","lang":"语言","year":"年份","letter":"字母","by":"排序"};let fyurl='';let result={};let getn=[];let getu=[];let jsonData=data.list;for(let k=0;k<jsonData.length;k++){let hasNonEmptyField=false;getn.push(jsonData[k].type_name);getu.push(jsonData[k].type_id);for(let key in dy){if(key in jsonData[k].type_extend&&jsonData[k].type_extend[key].trim()!==""){hasNonEmptyField=true;break}};if(hasNonEmptyField){result[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){fyurl+=`&${dkey}={{fl.${dkey}}}`}let values=jsonData[k].type_extend[dkey].split(',');let valueArray=values.map(value=>({"n":value.trim(),"v":value.trim()}));result[String(jsonData[k].type_id)].push({"key":dkey,"name":dy[dkey],"value":valueArray})}}}};globalThis.getname=getn.join("&");globalThis.geturl=getu.join("&");globalThis.getfilter=result;globalThis.getfyurl=fyurl;
+var rule = {
+    author: '嗷呜',
+    title: '[V2]模板',
+    host: gethost,
+    url: '/api.php/app/video?tid=fyclassfyfilter&limit=20&pg=fypage',
+    filter_url: getfyurl,
+    homeUrl: '/api.php/app/index_video',
+    detailUrl: '/api.php/app/video_detail?id=fyid',   
+    searchUrl: '/api.php/app/search?text=**&pg=fypage',
+    searchable: 2,
+    quickSearch: 1,
+    filterable: 1,
+    headers: {
+        'User-Agent': 'okhttp/4.9.1'
+    },   
+    class_name: getname,
+    class_url: geturl,
+    filter: getfilter,
+    limit: 20,
+    play_parse: true,
+     lazy: $js.toString(() => {
+  let d = [];
+
+  try {
+    // 发起请求并获取响应,添加请求头
+    let headers = {
+      'User-Agent': 'okhttp/4.12.0'
+    };
+    let responseText = request("http://qn6z7b.yun.42jx.com/jx/jx.php?url=" + input, { headers: headers });
+ 
+    console.log("响应文本:", responseText); // 查看原始响应内容
+//备用http://llyh.xn--yi7aa.top/api/?key=5b317c16d457b31a3150d87c0a362a9e&url=
+    // 解析 JSON 数据
+    let response = JSON.parse(responseText);
+
+    // 查找以 'url' 开头的字段
+    let urlField = Object.keys(response).find(key => key.startsWith('url'));
+
+    // 提取找到的字段值
+    let urlValue = urlField ? response[urlField] : null;
+
+    console.log("提取的随机字段值:", urlValue); // 查看提取的值
+
+    if (urlValue) {
+      // 处理 urlValue,或将其用于 input
+      input = {
+        url: urlValue,
+        parse: 0,
+        header: rule.headers
+      };
+    } else {
+      // 处理没有找到字段的情况
+      console.error("没有找到以 'url' 开头的字段");
+    }
+  } catch (error) {
+    console.error("处理请求或数据时发生错误:", error);
+  }
+
+  setResult(d);
+}),
+    推荐: $js.toString(() => {
+        let data=JSON.parse(fetch(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(fetch(input)).list
+    }),
+    二级: $js.toString(() => {
+        VOD = JSON.parse(fetch(input)).data
+    }),
+    搜索: '*',
+}

File diff suppressed because it is too large
+ 0 - 0
Local_qiqi/天天开心/js/思古影视[V2].js


File diff suppressed because it is too large
+ 18 - 0
Local_qiqi/天天开心/js/搜狗.js


File diff suppressed because it is too large
+ 0 - 0
Local_qiqi/天天开心/js/斗鱼直播.js


+ 1 - 0
Local_qiqi/天天开心/js/旋风视频.js

@@ -0,0 +1 @@
+H4sIAIioBmcC/5VU62/bVBT/zl8Riclulia28+xDBeXRtGnjJc1zKaDq2rl+JI7t+l4nTrZKCKShMRhFTEKIiQ8D0UkgwWAg6Nb/pq/9F7t+lCbrpA1/sn+Pc+49PucMgRWybA2GVkK33gmR5+zJs5Mf7i2F6JOjJ+cHd+h5hvHfbp/s/3r878+3T5//cvbg2e2T3786/+2pZ8Eq1iBxnH5778WP94n0xaOv6XmPUgyECaNgbKIlhhmowOBYLiYaAyZQ2JZGBAwGMiONJVXD0AoYBIElKk2f9z/e3125fn2GBoKbOu5Du7Yq9usevhRifcwP6cu4aYhEXU+iUvbiScUbYzaT38rV1xLplqUbuZt83emgYnkbtDf41WRrBJr91WGxVjMUeyTz9Xxuo5WH27vx5mImz/UzTEWE3XJ5YZJgJ4wY305bhi5sw8INLE1y9s3tTgVXxwNTHcoR2NZwddOBfD3VrapsUzdb48l6SsyKkVZKWitxfUVYg/2k0CqMxsJapcCv8lyqvcmaW5NV3nZsxKGtbHI8LOR6fHOUVqRMwux1jOyklJkgJQfbvNIo7G6YSmp7tdPJqa1dIZ92svlecZGvJYwGm+1v10WnZiewwm+I/EgodBxH7NWkaq4rR7aypaSYyQujTF+uoCJTy5f1fq3filcbi5les+GkhgOkt+PNBbEqOIk2GjLroGnUemvjSQ/W5NGobU5AR7e1At/sNBOobVmdfs5R9ESWKTBmXcx2gDMor4qq3e5w5rAkVmGHFQtwEZpjnHTW6+OakihYk3ZWg9VyJt5bt1lnU1qrtsxNm92VEjeSCT2SGmipSBsWrQGqlYe6brOLFRHzpUg7mY8zsrFe9PQMXByke+MFibGNhUgxXWxodq08sif6EPTZPGeN7HYT5dQ6q4t4LHPIUmWzgiIyU1HV4k1bbpIGWVmhp/tnx+/cW7ckLeYPzd4eaWETyHBW14XSUjBc3oA9+IsMFEEuJ+3zx8dHD8/ufkbvzU/LyCSd3D2YUX5/dHx4QMAZ5bPn53cPZ2Q/Hbz47o6PTytJIjK9rwno4dPK46Nvzj/5Y1p5/vefZ/uf0nueJFAqEHShhaZvRzcRtKJZGeqYJi6+kiuVV3ea2aAkgRGrA2jYZDOkWDaYU1EDCO3oYOBuEr9G1H81oPy7UP5BKf909LTR/xn/ywcw3IGOqNldN2WAmhoY75jAQgTDlg19VAOT8VLoWg/FsFHHlqrLc3Ph0Mp7UxdXddPG7hYNzNy8v9o8fD7UQ26OvWW/CmE/bNewvb0kAQ0FmU7vPz7/cp9oL9bc8T8fnx2SJqBjcjROUV11SLanFk0vx0RgdaPe7o1GkQl0impABy+rA5mikCUux5AtBBigKMWC0kXIwy+8kJeHv9jgSjowxCxjFBsI0cQS3J3jwhQVE0BXhj5LX/YJSUZsFymniC5EonvoK3EuD+VxpmLoJGxM0qATlQkS5SjKdNWJ8Nvpkm+p495SFw9fuaVo6Jg0tHsfTJioYEHQv6LCQECXjeS1jYowekPfeDqIQ6R863igkQ4yu5Iyp5D3+RD9rpsaqDq0SIFFSzUxRbkyOrw8E4FhNEOeC2K8wrnRuwADtzn3Zik4BNqFKxQJ0R/qrnBlaCxfTRByM7j0a8K7F+VIfJeOiZpqotgAmHOqe1U11jNUfY6+RodfcZZL9UaduD7w7B9dkhfzEVR1xy06qaxgdMdXqu563yzw18PsGEyTOybBVefy9wWL6nT/4dnTR8E47r0EQ6Iuny0JAAA=

+ 1 - 0
Local_qiqi/天天开心/js/星空影院.js

@@ -0,0 +1 @@
+H4sIAIioBmcC/32PPQrCQBCFe0+xlf/J1ireQjtBxmTjBjdu2J3EBPEKClZaiGilpa0gnsaIt3ANAa2cZmbex3vMxKCIigQjXTIvEVPZ6ZDt7m1SCZJQyUozF9FHwYyWbfbP8/Vxu7y2xwJxqdEQjhjqNqXJJE1btiODAkdKGEpj6WouZ9RLHQFaW0V5aQhjZgabYyAKi2agHN7/GvOd1uuW9deXJw9DUPpzqj2FeATK8pEFmgi/A+VyjyX46Vwxr0Org4HbqP0mIIyGLHFE5ObPLteP68qgxRt4sUvsJQEAAA==

+ 120 - 0
Local_qiqi/天天开心/js/星芽短剧.js

@@ -0,0 +1,120 @@
+var rule = {
+    类型: '影视',
+    title: '星芽短剧app',
+    host: 'https://app.whjzjx.cn',
+    url: '/cloud/v2/theaterfyfilter',
+    filter_url: '/home_page?theater_class_id=fyclass&type=1&{{fl.type or "class2_ids=0"}}&page_num=fypage&page_size=24',
+    searchUrl: '/v3/search',
+    searchable: 2,
+    quickSearch: 1,
+    filterable: 1,
+    filter: 'H4sIAAAAAAAAA6vmUgACJUMlK4VoMBMEquEssGR2aiVQWqmksiBVSQdVKi8xNxUk93zj7qfzutFlyxJzSlNRTMZuA8I4kFlPW1e8bF6BZhbCTJCS5JzE4mKj+MyUYlsDJQx1tZha8dn3snnv0x1NxNpnQrF9T/uXvFjcSqx9phTb97xvw5Pdi1+saHjWTLSthpRb+6xjxvOl84i10IjycH3Z0PZi0VpiLTSnPFxX7n+xrYvoEKXcwqd9bU/7NxGdUCnPGS+2zni6cj/RUWhGeZAunfe0ZzfRFlKeSF+29z6fMp9YC6ngwSlznq5bQKx9xsbUKGxIzvzGVMgbfS1PdxIdkcaUR+SLCT1P180l1kJLyu1rmfhsC9Glm7ERxRY+2bWJhCg0MaTchzMnPGtEr9JxWmiBxT4UkVguVPFYrloA8HqNcnwIAAA=',
+    headers: {
+        "X-App-Id": "7",
+        "platform": "1",
+        "manufacturer": "Xiaomi",
+        "version_name": "3.2.0.1",
+        "user_agent": "Mozilla/5.0 (Linux; Android 11; M2012K10C Build/RP1A.200720.011; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/87.0.4280.141 Mobile Safari/537.36",
+        "dev_token": "BY1wFZd4K0vDqzVMbtHXNmlQ29ovO5peS5MsZ7VX1rQUXDwAqskxkJtiPMZCEj6MaW-40xNnbvn12F68nLEAMkRoD7tpoieO4nkUE-GLOYxqCs0xmxWgXAh0-7NmmGCHi95SlyZlpHeit94JfJPkpo-hl4JFru2wUI-4P0AwDc5Y*",
+        "app_version": "3.2.0.1",
+        "device_platform": "android",
+        "personalized_recommend_status": "1",
+        "device_type": "M2012K10C",
+        "device_brand": "Redmi",
+        "os_version": "11",
+        "channel": "default",
+        "raw_channel": "default",
+        "oaid": "9494817a02a93435",
+        "msa_oaid": "9494817a02a93435",
+        "uuid": "randomUUID_f87c01c7-3d61-4feb-ade0-3d6d45d24dfd",
+        "device_id": "23b07cf840c8b3eeca8c01fc56f0f0a09",
+        "support_h265": "1",
+        "Host": "app.whjzjx.cn",
+        "Connection": "Keep-Alive",
+        "User-Agent": "okhttp/4.10.0"
+    },
+    timeout: 5000,
+    class_name: '剧场&热播剧&会员专享&星选好剧&新剧&阳光剧场',
+    class_url: '1&2&8&7&3&5',
+    预处理:$js.toString(()=>{
+        let html = post('https://u.shytkjgs.com/user/v1/account/login', {
+        headers: {
+            'User-Agent': 'okhttp/4.10.0',
+            'Accept-Encoding': 'gzip',
+            'Content-Type': 'application/x-www-form-urlencoded',
+            'x-app-id': '7',
+            'platform': '1',
+            'manufacturer': 'realme',
+            'version_name': '3.3.1',
+            'user_agent': 'Mozilla/5.0 (Linux; Android 9; RMX1931 Build/PQ3A.190605.05081124; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/91.0.4472.114 Mobile Safari/537.36',
+            'app_version': '3.3.1',
+            'device_platform': 'android',
+            'personalized_recommend_status': '1',
+            'device_type': 'RMX1931',
+            'device_brand': 'realme',
+            'os_version': '9',
+            'channel': 'default',
+            'raw_channel': 'default',
+            'oaid': '',
+            'msa_oaid': '',
+            'uuid': 'randomUUID_914e7a9b-deac-4f80-9247-db56669187df',
+            'device_id': '24250683a3bdb3f118dff25ba4b1cba1a',
+            'ab_id': '',
+            'support_h265': '1'
+        },
+        body: "device=24250683a3bdb3f118dff25ba4b1cba1a&install_first_open=false&first_install_time=1723214205125&last_update_time=1723214205125&report_link_url="
+    });
+    rule.headers['authorization'] = JSON.parse(html).data.token
+    }),
+    play_parse: true,
+    lazy: $js.toString(() => {
+        input = {
+            url: input,
+            parse: 0
+        }
+    }),
+    double: true,
+    一级: $js.toString(()=>{
+        let d = [];
+        let html = request(input,{headers:rule.headers});
+        let data = JSON.parse(html).data.list;
+        data.forEach(it => {
+            let id = 'https://app.whjzjx.cn/v2/theater_parent/detail?theater_parent_id='+it.theater.id;
+            d.push({
+            url:id,
+            title:it.theater.title,
+            img:it.theater.cover_url,
+            desc:it.theater.theme,
+        })
+        })
+       setResult(d);
+    }),
+    二级: $js.toString(()=>{
+        let urls = [];
+        let html = request(input,{headers:rule.headers});
+        let data = JSON.parse(html).data;
+        data.theaters.forEach(it => {
+            urls.push(it.num+'$'+it.son_video_url);
+        })
+    VOD = {
+            vod_name: data.title,
+            vod_pic: data.cover_url,
+            vod_play_from: '影视车App',
+            vod_play_url: urls.join('#')
+        };
+    }),
+  搜索: $js.toString(()=>{
+      let html = post(input,{headers:rule.headers,body:{"text":KEY}})
+      let list = JSON.parse(html).data.theater.search_data;
+      list.forEach(it =>{
+        let id = 'https://app.whjzjx.cn/v2/theater_parent/detail?theater_parent_id='+it.id;
+        d.push({
+            url:id,
+            title:it.title,
+            img:it.cover_url,
+            content:it.introduction,
+        })
+      })
+      setResult(d);
+  }),
+}

+ 1 - 0
Local_qiqi/天天开心/js/星辰[优].js

@@ -0,0 +1 @@
+H4sIAIioBmcC/3VVbW8aRxD+nl9xTSPf4ZA7wI5DQCQCYsyrwQbspFFElrs9bvG9sbeHARcpaqU2kSrFkaLEVVL1RVXqSk0TS5UiuW3yZwzY/6J7xxGD4+4XuGeemdmd3ZmnWG9CkfDAslBD5zS7DnT+5NWzwYv3If7o8LvR4W9+ZucCQ5cELTHCsLwECIjAFhfwzc1VYIdEo1EXu3LFMoHuWEITyxk86OGs3w1IQN1yAlrERlcoRYdqraZAIDHKAqX0fdELbYAZbKuQiXmbIIiokDoN9348fv/27tE/e/e8aMP9n4c/fKAmb/cerBgWoaBCiBkRhO3tbb6D9IaoQH3b5kVD82iCwNhYjbCC3BVVWgwB6RLsyF0TNCCvEE29O2txsUlqx5NxXGWkEojP9Z02zTiPDaDuHCvoF4Th3pvB7qvB7pvR0/3Bw29GB3+PXr84efBoml0bZ9zZkVVeBARmpH7/tKg12BFVW3LL9PKPwZP90devT57vfzl8+eD4w5Phi7+Gz97OJKfE9KKViU/WEtksW2qhl2sXesvktmW07A3LLOKNcre6ZRbzy3qwkkqXq6KZ7y0HUmHzeojcWpDtRDuTD7QLuWoglQtv30rWoQ1XtXAcrRWuFpKrLWkz0dXpdvPZhV67VJRMlBTyvUCL5MPxVnzJzmI9vW7Lq3URBZPrWqqRW11LbXblYr6i1631Ms5WCgGjEg4mq6UVWwznOsqKmSkby8GsWVZy+tZSPXxtvVesZrPrm3c2NSNfvFpu2N2ymbKT5dCqeid9LS+gW7l4KGesVTqJ7mKwXlooES2YLjbirQwOBNq9rWZhLZxN3C5JrY4QwuGEATJbhfLl69lE+ovmioTVpiAHF6W1rY3LQFs0UGlhwewKW3hZzqa0jXi9kV7CibWEUQxUQSLulDUWm6l3TYJyxHvQbmchoHfpq6TY+DbphUwwtu+f4VkKatpniS44zewZeqOLpmljZCYaRTTamNOxxhDbd0keVwW9boS51LR4YpQJpnviOB8TuzF1ANo9g4PHx0//pY03evStoUOMDTx8/tPJ97vHb94ND746ef7nyS970w4qJAzSEak1Ldrd96dNTtcjrVFBGsTUZkGS0WnZ2kDlZFsXCTJ0zjeT3VlI5kjXhIbMXfJ9FmNt2mky0qHEfkp1j0Xzi5aT+xLH8s4hVQNId4FKYheHD3ePDg+H7w4Gv74cvXo8ePj7xXssHUfnhKFZaRRehXqDKMwNJnB+Nmc5PEAI5livQKyfJQqyeO8zptuq+j9pXH8VAvyxEpMCnc/vnwVngL4/FAjMOt4//TpzM8WxQoyrWcKGCTFB0OJ00EYNQAxMBcJUAZENrNHH1IB03o4fCItKCj0b26ejfCo+0k2bfJzok2UCbLkjcAZ1B53rMIs3HeVg/Z9GoMOPYECNc+4RLBEjk8RY5jIDddGQYHU9kzQ0k25LJ1wdWHBpcdk1cN6Rfb7TqF4f+D5qhEVvQFSqrlKM//OmYt50Jn1sPPDnxvC2gaXY/Lz35bzLyQg4DcFMx/h8xi9qUtnyHFzVqXnl8dTSUUk6R2oa1G1GRZEGoXIcUQl3zRcFnvjSXwVDOcrPCxw/f9Mn8POO7jjK+h/zbyy/9QcAAA==

File diff suppressed because it is too large
+ 0 - 0
Local_qiqi/天天开心/js/果果4K.js


File diff suppressed because it is too large
+ 0 - 0
Local_qiqi/天天开心/js/歪片星球[资].js


File diff suppressed because it is too large
+ 0 - 0
Local_qiqi/天天开心/js/河狸影视[V2].js


File diff suppressed because it is too large
+ 0 - 0
Local_qiqi/天天开心/js/热播之家.js


File diff suppressed because it is too large
+ 0 - 0
Local_qiqi/天天开心/js/熊猫TV.js


File diff suppressed because it is too large
+ 0 - 0
Local_qiqi/天天开心/js/爱优影视[自动].js


+ 59 - 0
Local_qiqi/天天开心/js/爱动漫.js

@@ -0,0 +1,59 @@
+muban.短视2.二级.img = '.detail-pic&&img&&data-src';
+var rule = {
+    title: '爱弹幕',
+    模板:'短视2',
+    host: 'https://anime.girigirilove.com',
+    homeUrl:'/map/',
+    // url:'/show/fyclass--------fypage---/'
+    url: '/show/fyclassfyfilter/',
+    filterable:1,//是否启用分类筛选,
+    filter_url:'-{{fl.area}}-{{fl.by}}-{{fl.class}}-{{fl.lang}}-{{fl.letter}}---fypage---{{fl.year}}',
+    filter: {
+        "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":"百合"},{"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":"十月"}]},{"key":"year","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":"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":"lang","name":"语言","value":[{"n":"全部","v":""},{"n":"日语","v":"日语"},{"n":"国语","v":"国语"}]},{"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":"恐怖"},{"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":"欧美"}]},{"key":"year","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":"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"}]},{"key":"lang","name":"语言","value":[{"n":"全部","v":""},{"n":"国语","v":"国语"},{"n":"英语","v":"英语"}]},{"key":"by","name":"排序","value":[{"n":"最新","v":"time"},{"n":"最热","v":"hits"},{"n":"评分","v":"score"}]}],
+        "21":[{"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":"爱抖露"}]},{"key":"year","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":"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"}]},{"key":"lang","name":"语言","value":[{"n":"全部","v":""},{"n":"日语","v":"日语"},{"n":"中文","v":"中文"},{"n":"英语","v":"英语"}]},{"key":"by","name":"排序","value":[{"n":"最新","v":"time"},{"n":"最热","v":"hits"},{"n":"评分","v":"score"}]}],
+        "20":[{"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":"烧脑"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"日本","v":"日本"},{"n":"欧美","v":"欧美"},{"n":"泰国","v":"泰国"}]},{"key":"year","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":"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.2003","v":"2004.2003"}]},{"key":"lang","name":"语言","value":[{"n":"全部","v":""},{"n":"日语","v":"日语"},{"n":"英语","v":"英语"},{"n":"泰语","v":"泰语"}]},{"key":"by","name":"排序","value":[{"n":"最新","v":"time"},{"n":"最热","v":"hits"},{"n":"评分","v":"score"}]}],
+        "24":[{"key":"by","name":"排序","value":[{"n":"最新","v":"time"},{"n":"最热","v":"hits"},{"n":"评分","v":"score"}]}],
+        "26":[{"key":"by","name":"排序","value":[{"n":"最新","v":"time"},{"n":"最热","v":"hits"},{"n":"评分","v":"score"}]}]
+    },
+    searchUrl: '/search/**----------fypage---/',
+    class_name:'日番&美番&劇場版&真人番劇&BD副音軌&其他',
+    class_url:'2&3&21&20&24&26',
+    play_parse:true,
+    lazy:`js:
+        var html = JSON.parse(request(input).match(/r player_.*?=(.*?)</)[1]);
+        var url = html.url;
+        var from = html.from;
+        var next = html.link_next;
+        if (html.encrypt == '1') {
+            url = unescape(url)
+        } else if (html.encrypt == '2') {
+            url = unescape(base64Decode(url))
+        } else if (html.encrypt == '3') {
+            url = url.substring(8, url.length);
+            url = base64Decode(url);
+            url = url.substring(8, (url.length) - 8)
+        }
+        if (/\\.m3u8|\\.mp4/.test(url)) {
+            input = {
+                jx: 0,
+                url: url,
+                parse: 0
+            }
+        } else {
+            var paurl = request(HOST + '/static/player/' + from + '.js').match(/ src="(.*?)'/)[1];
+            if (/https/.test(paurl)) {
+                var purl = paurl + url + '&next=' + next + '&title=';
+                input = {
+                    jx: 0,
+                    url: purl,
+                    parse: 1
+                }
+            }
+        }
+    `,
+    推荐:'.border-box&&.public-list-box;a&&title;.lazy&&data-src;.public-list-prb&&Text;a&&href',
+    double: false, // 推荐内容是否双层定位
+    一级:'.border-box .public-list-box;a&&title;.lazy&&data-src;.public-list-prb&&Text;a&&href',
+    搜索:'.row-right&&.search-box;.thumb-txt&&Text;.lazy&&data-src;.public-list-prb&&Text;a&&href',
+}

File diff suppressed because it is too large
+ 9 - 0
Local_qiqi/天天开心/js/爱奇艺.js


Some files were not shown because too many files changed in this diff