From 29dbf3ce617c119c5285ac6d1de403e7658b68f8 Mon Sep 17 00:00:00 2001 From: tianya Date: Thu, 29 Oct 2020 19:50:55 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=9A=E5=91=98=E4=B8=AD=E5=BF=83=E8=B0=83?= =?UTF-8?q?=E6=95=B4=EF=BC=8C=E7=A7=BB=E9=99=A4=E4=B8=8D=E5=BF=85=E8=A6=81?= =?UTF-8?q?=E7=9A=84=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/install/sql-dfdata.txt | 1 - src/member/archives_sg_add.php | 10 - src/member/config.php | 11 +- src/member/inc/archives_check.php | 9 - src/member/reg_new.php | 70 +- src/member/templets/album_add.htm | 13 - src/member/templets/album_edit.htm | 13 - src/member/templets/archives_add.htm | 13 - src/member/templets/archives_edit.htm | 13 - src/member/templets/archives_sg_add.htm | 13 - src/member/templets/archives_sg_edit.htm | 13 - src/member/templets/article_add.htm | 13 - src/member/templets/article_edit.htm | 13 - src/member/templets/images/530x56.gif | Bin 13677 -> 0 bytes src/member/templets/images/allbtbg2.gif | Bin 200 -> 0 bytes src/member/templets/images/bg_button.gif | Bin 7512 -> 0 bytes src/member/templets/images/bg_button.png | Bin 15630 -> 0 bytes src/member/templets/images/bg_icon.gif | Bin 10783 -> 0 bytes src/member/templets/images/bt.png | Bin 3857 -> 0 bytes src/member/templets/images/bt2.png | Bin 295 -> 0 bytes src/member/templets/images/bt3.png | Bin 294 -> 0 bytes src/member/templets/images/btn1_bg.gif | Bin 220 -> 0 bytes src/member/templets/images/cai.gif | Bin 108 -> 0 bytes src/member/templets/images/comment.gif | Bin 160 -> 0 bytes src/member/templets/images/correct.jpg | Bin 2021 -> 0 bytes src/member/templets/images/dede_banner.gif | Bin 17894 -> 0 bytes src/member/templets/images/dfboy.png | Bin 5002 -> 0 bytes src/member/templets/images/dfgirl.png | Bin 5650 -> 0 bytes src/member/templets/images/dfpic.gif | Bin 8533 -> 0 bytes src/member/templets/images/dig.gif | Bin 94 -> 0 bytes src/member/templets/images/doIterm_ico.gif | Bin 264 -> 0 bytes src/member/templets/images/doing.gif | Bin 122 -> 0 bytes src/member/templets/images/dot.gif | Bin 190 -> 0 bytes src/member/templets/images/feed_6.gif | Bin 324 -> 0 bytes src/member/templets/images/greenbtn.gif | Bin 1918 -> 0 bytes src/member/templets/images/hidden.gif | Bin 60 -> 0 bytes src/member/templets/images/hpd.gif | Bin 371 -> 0 bytes src/member/templets/images/icon1.gif | Bin 160 -> 0 bytes src/member/templets/images/icon2.png | Bin 3533 -> 0 bytes src/member/templets/images/icon3.png | Bin 577 -> 0 bytes src/member/templets/images/icon4.gif | Bin 122 -> 0 bytes src/member/templets/images/icon5.png | Bin 275 -> 0 bytes src/member/templets/images/icon_16x16.png | Bin 3620 -> 0 bytes src/member/templets/images/input.gif | Bin 2618 -> 0 bytes src/member/templets/images/input_bg.gif | Bin 1002 -> 0 bytes .../templets/images/leftMenu_buttom.gif | Bin 109 -> 0 bytes src/member/templets/images/leftMenu_top.gif | Bin 108 -> 0 bytes src/member/templets/images/login_logo.gif | Bin 4259 -> 0 bytes src/member/templets/images/m_logo.gif | Bin 4336 -> 0 bytes src/member/templets/images/mylogo.jpg | Bin 3083 -> 0 bytes src/member/templets/images/nopic.gif | Bin 5002 -> 0 bytes src/member/templets/images/pay/alipay.jpg | Bin 2665 -> 0 bytes src/member/templets/images/pay/cbpayment.gif | Bin 2398 -> 0 bytes src/member/templets/images/pay/nps.gif | Bin 1226 -> 0 bytes src/member/templets/images/pay/tenpay.jpg | Bin 1853 -> 0 bytes src/member/templets/images/pay/yeepay.gif | Bin 2973 -> 0 bytes src/member/templets/images/pe_bg.jpg | Bin 7184 -> 0 bytes src/member/templets/images/pl.gif | Bin 375 -> 0 bytes src/member/templets/images/rank.gif | Bin 1666 -> 0 bytes src/member/templets/images/show.gif | Bin 64 -> 0 bytes src/member/templets/images/sidebar_title.gif | Bin 154 -> 0 bytes src/member/templets/images/site_bg.gif | Bin 2594 -> 0 bytes src/member/templets/images/smiley/1.gif | Bin 1810 -> 0 bytes src/member/templets/images/smiley/10.gif | Bin 1864 -> 0 bytes src/member/templets/images/smiley/11.gif | Bin 1950 -> 0 bytes src/member/templets/images/smiley/12.gif | Bin 4014 -> 0 bytes src/member/templets/images/smiley/13.gif | Bin 3716 -> 0 bytes src/member/templets/images/smiley/14.gif | Bin 8135 -> 0 bytes src/member/templets/images/smiley/15.gif | Bin 3262 -> 0 bytes src/member/templets/images/smiley/16.gif | Bin 1804 -> 0 bytes src/member/templets/images/smiley/17.gif | Bin 2446 -> 0 bytes src/member/templets/images/smiley/18.gif | Bin 5174 -> 0 bytes src/member/templets/images/smiley/19.gif | Bin 2257 -> 0 bytes src/member/templets/images/smiley/2.gif | Bin 1582 -> 0 bytes src/member/templets/images/smiley/20.gif | Bin 4317 -> 0 bytes src/member/templets/images/smiley/21.gif | Bin 3010 -> 0 bytes src/member/templets/images/smiley/22.gif | Bin 13392 -> 0 bytes src/member/templets/images/smiley/23.gif | Bin 1417 -> 0 bytes src/member/templets/images/smiley/24.gif | Bin 8033 -> 0 bytes src/member/templets/images/smiley/25.gif | Bin 1195 -> 0 bytes src/member/templets/images/smiley/26.gif | Bin 1674 -> 0 bytes src/member/templets/images/smiley/27.gif | Bin 1798 -> 0 bytes src/member/templets/images/smiley/28.gif | Bin 1977 -> 0 bytes src/member/templets/images/smiley/29.gif | Bin 10092 -> 0 bytes src/member/templets/images/smiley/3.gif | Bin 8137 -> 0 bytes src/member/templets/images/smiley/30.gif | Bin 3368 -> 0 bytes src/member/templets/images/smiley/31.gif | Bin 13367 -> 0 bytes src/member/templets/images/smiley/32.gif | Bin 4327 -> 0 bytes src/member/templets/images/smiley/33.gif | Bin 1571 -> 0 bytes src/member/templets/images/smiley/34.gif | Bin 4692 -> 0 bytes src/member/templets/images/smiley/35.gif | Bin 2247 -> 0 bytes src/member/templets/images/smiley/36.gif | Bin 5162 -> 0 bytes src/member/templets/images/smiley/37.gif | Bin 3685 -> 0 bytes src/member/templets/images/smiley/38.gif | Bin 1755 -> 0 bytes src/member/templets/images/smiley/39.gif | Bin 6361 -> 0 bytes src/member/templets/images/smiley/4.gif | Bin 2893 -> 0 bytes src/member/templets/images/smiley/40.gif | Bin 1866 -> 0 bytes src/member/templets/images/smiley/41.gif | Bin 3073 -> 0 bytes src/member/templets/images/smiley/42.gif | Bin 3731 -> 0 bytes src/member/templets/images/smiley/43.gif | Bin 1532 -> 0 bytes src/member/templets/images/smiley/44.gif | Bin 2362 -> 0 bytes src/member/templets/images/smiley/45.gif | Bin 3556 -> 0 bytes src/member/templets/images/smiley/46.gif | Bin 1736 -> 0 bytes src/member/templets/images/smiley/47.gif | Bin 3929 -> 0 bytes src/member/templets/images/smiley/48.gif | Bin 1518 -> 0 bytes src/member/templets/images/smiley/49.gif | Bin 4679 -> 0 bytes src/member/templets/images/smiley/5.gif | Bin 5861 -> 0 bytes src/member/templets/images/smiley/50.gif | Bin 1537 -> 0 bytes src/member/templets/images/smiley/51.gif | Bin 1591 -> 0 bytes src/member/templets/images/smiley/52.gif | Bin 1547 -> 0 bytes src/member/templets/images/smiley/53.gif | Bin 1591 -> 0 bytes src/member/templets/images/smiley/54.gif | Bin 3424 -> 0 bytes src/member/templets/images/smiley/55.gif | Bin 1581 -> 0 bytes src/member/templets/images/smiley/56.gif | Bin 1519 -> 0 bytes src/member/templets/images/smiley/57.gif | Bin 4006 -> 0 bytes src/member/templets/images/smiley/58.gif | Bin 1558 -> 0 bytes src/member/templets/images/smiley/59.gif | Bin 2134 -> 0 bytes src/member/templets/images/smiley/6.gif | Bin 1780 -> 0 bytes src/member/templets/images/smiley/60.gif | Bin 1219 -> 0 bytes src/member/templets/images/smiley/61.gif | Bin 3298 -> 0 bytes src/member/templets/images/smiley/62.gif | Bin 1562 -> 0 bytes src/member/templets/images/smiley/63.gif | Bin 1413 -> 0 bytes src/member/templets/images/smiley/64.gif | Bin 3366 -> 0 bytes src/member/templets/images/smiley/7.gif | Bin 7189 -> 0 bytes src/member/templets/images/smiley/8.gif | Bin 2140 -> 0 bytes src/member/templets/images/smiley/9.gif | Bin 1808 -> 0 bytes src/member/templets/images/sns_box.gif | Bin 279 -> 0 bytes src/member/templets/images/tag.jpg | Bin 13314 -> 0 bytes src/member/templets/images/tipsico.gif | Bin 154 -> 0 bytes src/member/templets/images/topbar_bg.gif | Bin 144 -> 0 bytes src/member/templets/images/view.gif | Bin 373 -> 0 bytes src/member/templets/js/CheckPassStrength.js | 141 - src/member/templets/js/Dialog.js | 6 - src/member/templets/js/base.js | 23 - src/member/templets/js/changeAuthCode.js | 42 - src/member/templets/js/checkSubmit.js | 27 - src/member/templets/js/face.js | 35 - src/member/templets/js/feed.js | 92 - src/member/templets/js/inputAutoClear.js | 10 - src/member/templets/js/j.js | 11 - src/member/templets/js/jquery.boxy.js | 570 - src/member/templets/js/jquery.js | 10872 ---------------- src/member/templets/js/jquery.min.js | 2 - src/member/templets/js/leftmenu.js | 14 - src/member/templets/js/load.js | 28 - src/member/templets/js/load_index.js | 27 - src/member/templets/js/main.js | 130 - src/member/templets/js/reg_new.js | 126 - src/member/templets/js/table_function.js | 83 - src/member/templets/js/webcalendar.js | 527 - src/member/templets/mail.htm | 91 +- src/member/templets/mail_drop.htm | 102 +- src/member/templets/reg-new2.htm | 122 - src/member/templets/reg-new3.htm | 61 - src/member/templets/resetpassword.htm | 235 +- src/member/templets/resetpassword2.htm | 193 +- src/member/templets/resetpassword3.htm | 184 +- src/member/templets/shops_action_payment.htm | 50 +- src/member/templets/soft_add.htm | 14 - src/member/templets/soft_edit.htm | 14 - src/member/templets/style/base.css | 1156 -- src/member/templets/style/boxy.css | 43 - src/member/templets/style/caicai.css | 190 - src/member/templets/style/index.css | 350 - src/member/templets/style/login.css | 351 - 165 files changed, 358 insertions(+), 15769 deletions(-) delete mode 100755 src/member/templets/images/530x56.gif delete mode 100755 src/member/templets/images/allbtbg2.gif delete mode 100755 src/member/templets/images/bg_button.gif delete mode 100755 src/member/templets/images/bg_button.png delete mode 100755 src/member/templets/images/bg_icon.gif delete mode 100755 src/member/templets/images/bt.png delete mode 100755 src/member/templets/images/bt2.png delete mode 100755 src/member/templets/images/bt3.png delete mode 100755 src/member/templets/images/btn1_bg.gif delete mode 100755 src/member/templets/images/cai.gif delete mode 100755 src/member/templets/images/comment.gif delete mode 100755 src/member/templets/images/correct.jpg delete mode 100755 src/member/templets/images/dede_banner.gif delete mode 100755 src/member/templets/images/dfboy.png delete mode 100755 src/member/templets/images/dfgirl.png delete mode 100755 src/member/templets/images/dfpic.gif delete mode 100755 src/member/templets/images/dig.gif delete mode 100755 src/member/templets/images/doIterm_ico.gif delete mode 100755 src/member/templets/images/doing.gif delete mode 100755 src/member/templets/images/dot.gif delete mode 100755 src/member/templets/images/feed_6.gif delete mode 100755 src/member/templets/images/greenbtn.gif delete mode 100755 src/member/templets/images/hidden.gif delete mode 100755 src/member/templets/images/hpd.gif delete mode 100755 src/member/templets/images/icon1.gif delete mode 100755 src/member/templets/images/icon2.png delete mode 100755 src/member/templets/images/icon3.png delete mode 100755 src/member/templets/images/icon4.gif delete mode 100755 src/member/templets/images/icon5.png delete mode 100755 src/member/templets/images/icon_16x16.png delete mode 100755 src/member/templets/images/input.gif delete mode 100755 src/member/templets/images/input_bg.gif delete mode 100755 src/member/templets/images/leftMenu_buttom.gif delete mode 100755 src/member/templets/images/leftMenu_top.gif delete mode 100755 src/member/templets/images/login_logo.gif delete mode 100755 src/member/templets/images/m_logo.gif delete mode 100755 src/member/templets/images/mylogo.jpg delete mode 100755 src/member/templets/images/nopic.gif delete mode 100755 src/member/templets/images/pay/alipay.jpg delete mode 100755 src/member/templets/images/pay/cbpayment.gif delete mode 100755 src/member/templets/images/pay/nps.gif delete mode 100755 src/member/templets/images/pay/tenpay.jpg delete mode 100755 src/member/templets/images/pay/yeepay.gif delete mode 100755 src/member/templets/images/pe_bg.jpg delete mode 100755 src/member/templets/images/pl.gif delete mode 100755 src/member/templets/images/rank.gif delete mode 100755 src/member/templets/images/show.gif delete mode 100755 src/member/templets/images/sidebar_title.gif delete mode 100755 src/member/templets/images/site_bg.gif delete mode 100755 src/member/templets/images/smiley/1.gif delete mode 100755 src/member/templets/images/smiley/10.gif delete mode 100755 src/member/templets/images/smiley/11.gif delete mode 100755 src/member/templets/images/smiley/12.gif delete mode 100755 src/member/templets/images/smiley/13.gif delete mode 100755 src/member/templets/images/smiley/14.gif delete mode 100755 src/member/templets/images/smiley/15.gif delete mode 100755 src/member/templets/images/smiley/16.gif delete mode 100755 src/member/templets/images/smiley/17.gif delete mode 100755 src/member/templets/images/smiley/18.gif delete mode 100755 src/member/templets/images/smiley/19.gif delete mode 100755 src/member/templets/images/smiley/2.gif delete mode 100755 src/member/templets/images/smiley/20.gif delete mode 100755 src/member/templets/images/smiley/21.gif delete mode 100755 src/member/templets/images/smiley/22.gif delete mode 100755 src/member/templets/images/smiley/23.gif delete mode 100755 src/member/templets/images/smiley/24.gif delete mode 100755 src/member/templets/images/smiley/25.gif delete mode 100755 src/member/templets/images/smiley/26.gif delete mode 100755 src/member/templets/images/smiley/27.gif delete mode 100755 src/member/templets/images/smiley/28.gif delete mode 100755 src/member/templets/images/smiley/29.gif delete mode 100755 src/member/templets/images/smiley/3.gif delete mode 100755 src/member/templets/images/smiley/30.gif delete mode 100755 src/member/templets/images/smiley/31.gif delete mode 100755 src/member/templets/images/smiley/32.gif delete mode 100755 src/member/templets/images/smiley/33.gif delete mode 100755 src/member/templets/images/smiley/34.gif delete mode 100755 src/member/templets/images/smiley/35.gif delete mode 100755 src/member/templets/images/smiley/36.gif delete mode 100755 src/member/templets/images/smiley/37.gif delete mode 100755 src/member/templets/images/smiley/38.gif delete mode 100755 src/member/templets/images/smiley/39.gif delete mode 100755 src/member/templets/images/smiley/4.gif delete mode 100755 src/member/templets/images/smiley/40.gif delete mode 100755 src/member/templets/images/smiley/41.gif delete mode 100755 src/member/templets/images/smiley/42.gif delete mode 100755 src/member/templets/images/smiley/43.gif delete mode 100755 src/member/templets/images/smiley/44.gif delete mode 100755 src/member/templets/images/smiley/45.gif delete mode 100755 src/member/templets/images/smiley/46.gif delete mode 100755 src/member/templets/images/smiley/47.gif delete mode 100755 src/member/templets/images/smiley/48.gif delete mode 100755 src/member/templets/images/smiley/49.gif delete mode 100755 src/member/templets/images/smiley/5.gif delete mode 100755 src/member/templets/images/smiley/50.gif delete mode 100755 src/member/templets/images/smiley/51.gif delete mode 100755 src/member/templets/images/smiley/52.gif delete mode 100755 src/member/templets/images/smiley/53.gif delete mode 100755 src/member/templets/images/smiley/54.gif delete mode 100755 src/member/templets/images/smiley/55.gif delete mode 100755 src/member/templets/images/smiley/56.gif delete mode 100755 src/member/templets/images/smiley/57.gif delete mode 100755 src/member/templets/images/smiley/58.gif delete mode 100755 src/member/templets/images/smiley/59.gif delete mode 100755 src/member/templets/images/smiley/6.gif delete mode 100755 src/member/templets/images/smiley/60.gif delete mode 100755 src/member/templets/images/smiley/61.gif delete mode 100755 src/member/templets/images/smiley/62.gif delete mode 100755 src/member/templets/images/smiley/63.gif delete mode 100755 src/member/templets/images/smiley/64.gif delete mode 100755 src/member/templets/images/smiley/7.gif delete mode 100755 src/member/templets/images/smiley/8.gif delete mode 100755 src/member/templets/images/smiley/9.gif delete mode 100755 src/member/templets/images/sns_box.gif delete mode 100755 src/member/templets/images/tag.jpg delete mode 100755 src/member/templets/images/tipsico.gif delete mode 100755 src/member/templets/images/topbar_bg.gif delete mode 100755 src/member/templets/images/view.gif delete mode 100755 src/member/templets/js/CheckPassStrength.js delete mode 100755 src/member/templets/js/Dialog.js delete mode 100755 src/member/templets/js/base.js delete mode 100755 src/member/templets/js/changeAuthCode.js delete mode 100755 src/member/templets/js/checkSubmit.js delete mode 100755 src/member/templets/js/face.js delete mode 100755 src/member/templets/js/feed.js delete mode 100755 src/member/templets/js/inputAutoClear.js delete mode 100755 src/member/templets/js/j.js delete mode 100755 src/member/templets/js/jquery.boxy.js delete mode 100644 src/member/templets/js/jquery.js delete mode 100644 src/member/templets/js/jquery.min.js delete mode 100755 src/member/templets/js/leftmenu.js delete mode 100755 src/member/templets/js/load.js delete mode 100755 src/member/templets/js/load_index.js delete mode 100755 src/member/templets/js/main.js delete mode 100755 src/member/templets/js/reg_new.js delete mode 100755 src/member/templets/js/table_function.js delete mode 100755 src/member/templets/js/webcalendar.js delete mode 100755 src/member/templets/reg-new2.htm delete mode 100755 src/member/templets/reg-new3.htm delete mode 100755 src/member/templets/style/base.css delete mode 100755 src/member/templets/style/boxy.css delete mode 100755 src/member/templets/style/caicai.css delete mode 100755 src/member/templets/style/index.css delete mode 100755 src/member/templets/style/login.css diff --git a/src/install/sql-dfdata.txt b/src/install/sql-dfdata.txt index c2e0528e..80c1c0eb 100755 --- a/src/install/sql-dfdata.txt +++ b/src/install/sql-dfdata.txt @@ -4082,7 +4082,6 @@ INSERT INTO `#@__sysconfig` VALUES('1','cfg_basehost','站点根网址','1','str ('746','cfg_album_mark','图集是否使用水印(小图也会受影响)','3','bool','N'), ('747','cfg_mb_feedcheck','会员动态是否需要审核','4','bool','N'), ('748','cfg_mb_msgischeck','会员状态是否需要审核','4','bool','N'), -('749','cfg_mb_reginfo','注册是否需要完成详细资料的填写','4','bool','Y'), ('750','cfg_remote_site','是否启用远程站点','2','bool','N'), ('751','cfg_title_site','是否发布和编辑文档时远程发布(启用远程站点的前提下)','2','bool','N'), ('752','cfg_mysql_type','数据库类型(支持mysql和mysqli)','2','string','mysql'), diff --git a/src/member/archives_sg_add.php b/src/member/archives_sg_add.php index 9e5792e8..76d2fec0 100755 --- a/src/member/archives_sg_add.php +++ b/src/member/archives_sg_add.php @@ -69,16 +69,6 @@ else if($dopost=='save') } } - - $faqkey = isset($faqkey) && is_numeric($faqkey) ? $faqkey : 0; - if($safe_faq_send == '1') - { - if($safefaqs[$faqkey]['answer'] != $safeanswer || $safeanswer=='') - { - ShowMsg('验证问题答案错误', '-1'); - exit(); - } - } // 校验CSRF CheckCSRF(); diff --git a/src/member/config.php b/src/member/config.php index f92caa67..eeb76a5a 100755 --- a/src/member/config.php +++ b/src/member/config.php @@ -159,7 +159,7 @@ $pms = $dsql->GetOne("SELECT COUNT(*) AS nums FROM #@__member_pms WHERE toid='{$ */ function CheckRank($rank=0, $money=0, $needinfo=TRUE) { - global $cfg_ml,$cfg_memberurl,$cfg_mb_reginfo,$cfg_mb_spacesta; + global $cfg_ml,$cfg_memberurl,$cfg_mb_spacesta; if(!$cfg_ml->IsLogin()) { header("Location:{$cfg_memberurl}/login.php?gourl=".urlencode(GetCurUrl())); @@ -167,15 +167,6 @@ function CheckRank($rank=0, $money=0, $needinfo=TRUE) } else { - if($cfg_mb_reginfo == 'Y' && $needinfo) - { - //如果启用注册详细信息 - if($cfg_ml->fields['spacesta'] == 0 || $cfg_ml->fields['spacesta'] == 1) - { - ShowMsg("尚未完成详细资料,请完善...","{$cfg_memberurl}/index_do.php?fmdo=user&dopost=regnew&step=2",0,1000); - exit; - } - } if($cfg_mb_spacesta == '-10') { //如果启用注册邮件验证 diff --git a/src/member/inc/archives_check.php b/src/member/inc/archives_check.php index d95c82a8..184976fa 100755 --- a/src/member/inc/archives_check.php +++ b/src/member/inc/archives_check.php @@ -24,15 +24,6 @@ if (strtolower($vdcode) != $svali || $svali == '') { // 校验CSRF CheckCSRF(); -$faqkey = isset($faqkey) && is_numeric($faqkey) ? $faqkey : 0; -$safe_faq_send = isset($safe_faq_send) && is_numeric($safe_faq_send) ? $safe_faq_send : 0; -if ($safe_faq_send == '1') { - if ($safefaqs[$faqkey]['answer'] != $safeanswer || $safeanswer == '') { - ShowMsg('验证问题答案错误', '-1'); - exit(); - } -} - $flag = ''; $autokey = $remote = $dellink = $autolitpic = 0; $userip = GetIP(); diff --git a/src/member/reg_new.php b/src/member/reg_new.php index 0ecd55eb..72d2bcac 100755 --- a/src/member/reg_new.php +++ b/src/member/reg_new.php @@ -19,13 +19,6 @@ $step = empty($step) ? 1 : intval($step); if ($step == 1) { if ($cfg_ml->IsLogin()) { - if ($cfg_mb_reginfo == 'Y') { - //如果启用注册详细信息 - if ($cfg_ml->fields['spacesta'] == 0 || $cfg_ml->fields['spacesta'] == 1) { - ShowMsg("尚未完成详细资料,请完善...", "index_do.php?fmdo=user&dopost=regnew&step=2", 0, 1000); - exit; - } - } ShowMsg('你已经登录系统,无需重新注册!', 'index.php'); exit(); } @@ -198,14 +191,8 @@ if ($step == 1) { // @mail($email, $mailtitle, $mailbody, $headers); // } // }//End 邮件验证 - - if ($cfg_mb_reginfo == 'Y' && $spaceSta >= 0) { - ShowMsg("完成基本信息的注册,接下来完善详细资料...", "index_do.php?fmdo=user&dopost=regnew&step=2", 0, 1000); - exit(); - } else { - require_once(DEDEMEMBER . "/templets/reg-new3.htm"); - exit; - } + ShowMsg('你已经登录系统,无需重新注册!', 'index.php'); + exit; } else { ShowMsg("注册失败,请检查资料是否有误或与管理员联系!", "-1"); exit(); @@ -217,56 +204,7 @@ if ($step == 1) { ShowMsg("尚未完成基本信息的注册,请返回重新填写!", "index_do.php?fmdo=user&dopost=regnew"); exit; } else { - if ($cfg_ml->fields['spacesta'] == 2) { - ShowMsg('你已经登录系统,无需重新注册!', 'index.php'); - exit; - } - } - - if ($dopost == 'reginfo') { - //这里完成详细内容填写 - $dede_fields = empty($dede_fields) ? '' : trim($dede_fields); - $dede_fieldshash = empty($dede_fieldshash) ? '' : trim($dede_fieldshash); - $modid = empty($modid) ? 0 : intval($modid); - - if (!empty($dede_fields)) { - if ($dede_fieldshash != md5($dede_fields . $cfg_cookie_encode)) { - showMsg('数据校验不对,程序返回', '-1'); - exit(); - } - } - $modelform = $dsql->GetOne("SELECT * FROM `#@__member_model` WHERE id='$modid' "); - if (!is_array($modelform)) { - showmsg('模型表单不存在', '-1'); - exit(); - } - $inadd_f = ''; - if (!empty($dede_fields)) { - $fieldarr = explode(';', $dede_fields); - if (is_array($fieldarr)) { - foreach ($fieldarr as $field) { - if ($field == '') continue; - $fieldinfo = explode(',', $field); - if ($fieldinfo[1] == 'textdata') { - ${$fieldinfo[0]} = FilterSearch(stripslashes(${$fieldinfo[0]})); - ${$fieldinfo[0]} = addslashes(${$fieldinfo[0]}); - } else { - if (empty(${$fieldinfo[0]})) ${$fieldinfo[0]} = ''; - ${$fieldinfo[0]} = GetFieldValue(${$fieldinfo[0]}, $fieldinfo[1], 0, 'add', '', 'diy', $fieldinfo[0]); - } - if ($fieldinfo[0] == "birthday") ${$fieldinfo[0]} = GetDateMk(${$fieldinfo[0]}); - $inadd_f .= ',' . $fieldinfo[0] . " ='" . ${$fieldinfo[0]} . "' "; - } - } - } - - if ($dsql->executenonequery($query)) { - $dsql->ExecuteNoneQuery("UPDATE `#@__member` SET `spacesta`='2' WHERE `mid`='{$cfg_ml->M_ID}'"); - // 清除缓存 - $cfg_ml->DelCache($cfg_ml->M_ID); - require_once(DEDEMEMBER . "/templets/reg-new3.htm"); - exit; - } + ShowMsg('你已经登录系统,无需重新注册!', 'index.php'); + exit; } - require_once(DEDEMEMBER . "/templets/reg-new2.htm"); } diff --git a/src/member/templets/album_add.htm b/src/member/templets/album_add.htm index 56768561..cabebb4e 100755 --- a/src/member/templets/album_add.htm +++ b/src/member/templets/album_add.htm @@ -111,20 +111,7 @@

- -
- -
- (答案:) - -
-
diff --git a/src/member/templets/album_edit.htm b/src/member/templets/album_edit.htm index 4a78c5e4..69ae4e0d 100755 --- a/src/member/templets/album_edit.htm +++ b/src/member/templets/album_edit.htm @@ -159,20 +159,7 @@ - -
- -
- (答案:) - -
-
diff --git a/src/member/templets/archives_add.htm b/src/member/templets/archives_add.htm index 39c05109..e4a43fbc 100755 --- a/src/member/templets/archives_add.htm +++ b/src/member/templets/archives_add.htm @@ -80,20 +80,7 @@ ?>
- -
- -
- (答案:) - -
-
diff --git a/src/member/templets/archives_edit.htm b/src/member/templets/archives_edit.htm index 585c9531..15fb50f0 100755 --- a/src/member/templets/archives_edit.htm +++ b/src/member/templets/archives_edit.htm @@ -80,20 +80,7 @@ ?>
- -
- -
- (答案:) - -
-
diff --git a/src/member/templets/archives_sg_add.htm b/src/member/templets/archives_sg_add.htm index af9d4bf8..fc3f778f 100755 --- a/src/member/templets/archives_sg_add.htm +++ b/src/member/templets/archives_sg_add.htm @@ -80,20 +80,7 @@ ?>
- -
- -
- (答案:) - -
-
diff --git a/src/member/templets/archives_sg_edit.htm b/src/member/templets/archives_sg_edit.htm index ed5ade6c..f2a27d63 100755 --- a/src/member/templets/archives_sg_edit.htm +++ b/src/member/templets/archives_sg_edit.htm @@ -68,20 +68,7 @@ ?>
- -
- -
- (答案:) - -
-
diff --git a/src/member/templets/article_add.htm b/src/member/templets/article_add.htm index 210942db..d07d339d 100755 --- a/src/member/templets/article_add.htm +++ b/src/member/templets/article_add.htm @@ -84,20 +84,7 @@

- -
- -
- (答案:) - -
-
diff --git a/src/member/templets/article_edit.htm b/src/member/templets/article_edit.htm index 16f16c56..f99df921 100755 --- a/src/member/templets/article_edit.htm +++ b/src/member/templets/article_edit.htm @@ -88,20 +88,7 @@

- -
- -
- (答案:) - -
-
diff --git a/src/member/templets/images/530x56.gif b/src/member/templets/images/530x56.gif deleted file mode 100755 index ca49b4a297b8eea2b0a22412ad1d182bbd0be055..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13677 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 G(*F;qo58;T diff --git a/src/member/templets/images/bg_button.png b/src/member/templets/images/bg_button.png deleted file mode 100755 index 1e7d9225ad836304147668817d2a1879df21ef64..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15630 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 X2r!eQ0UrJL5kNs!Ri;eJ?8E;Dw>@MH diff --git a/src/member/templets/images/bg_icon.gif b/src/member/templets/images/bg_icon.gif deleted file mode 100755 index 8c15b2d53ec1629813d73dca04a11e8914fa0142..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10783 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�m`^89|9G-JdB^hw7^|7+q~osr(5>F}{!YlP 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 diff --git a/src/member/templets/images/bt.png b/src/member/templets/images/bt.png deleted file mode 100755 index 8e7e4e875d46ddaeff96d352e18d96a1c103cd51..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3857 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 diff --git a/src/member/templets/images/bt2.png b/src/member/templets/images/bt2.png deleted file mode 100755 index 84000df2f1f648e74775e0311f0acee8dcc7e264..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 295 zcmV+?0oeYDP)X0{{R3Ubb!c0000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBUyS5Qn;MeXkJ=I86^>h0s@>E-6?`}_R* z`uq3z`TYF+_xJeu`uqF*{QCR*(%0MR>+aUt-__aO?CtRG@A2p8?9g?~?-Qn-> z^4Hwp{QUj)_xPQiozd3Xc#i=M0001HNkl{y|GV!jWU tdNpE|^?Su`^$zp>#s1#|SP$|EFaTXnZR;N-wp#!I002ovPDHLkV1f=&pTqzF diff --git a/src/member/templets/images/bt3.png b/src/member/templets/images/bt3.png deleted file mode 100755 index 6e9809b4b6d579571d879a4a106ae7039b0a7b71..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 294 zcmV+>0oneEP)X0{{R3o5c5N0000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBUyS5Qn;Mds)0<>u<+<>~0^?d|UH`}_R& z`1$(!`~3X;`uqF){QUX)`}g+aUt-__aO?CtRG@A2p8?9g?~?-Qn-> z^4Hwp{QUj)_xPQiozd3XH%a6J0001GNkl@000DuFswtBy*TU5J3UKaAXH+W zXsWJkn~onL&vb3ycs`pXrT@SnEh8)%YpA2rm|Qx4&8O6snp$_!tF)?}s=8Y)cxeKd z2V-Z#d`>IN>;c+cgrDX3ynfH``}1sp0Dpvqh693uhl`7X30-B_yrl+W>s;B}15db?)H(Y`M diff --git a/src/member/templets/images/cai.gif b/src/member/templets/images/cai.gif deleted file mode 100755 index a411f0b0dcb8e0ec91c342bc1e89820d079a447e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 108 zcmZ?wbhEHb6krfwSj57xz0!E8mHGew|2tI_fg}SADE?$&WME)n&;bd6)G{y|dI(x;2yZT1g*`uvY46M>uZB>6*YM$Ep?A8{(59dBg_kH;d5@SFD zia%Kx85p=3bU2j-s^qifVFt58LLaC(1XN|B}{wrcX_EW9&goR*;0F& zi6!6hmugAJ!3`Y3DnbVvH+>g&VZ40r!M90#?m;i#dVg#=Im1CLIBmDOAcHjk=D|Z# diff --git a/src/member/templets/images/correct.jpg b/src/member/templets/images/correct.jpg deleted file mode 100755 index 0d81b3f9d1a66749b8a2ee902651cb60a0ca6cb0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2021 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

#r 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 diff --git a/src/member/templets/images/dfboy.png b/src/member/templets/images/dfboy.png deleted file mode 100755 index 66161914a6e02c8b2d132d0ee8b30e8c6c31ef2c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5002 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

__c^q zT=qV3Vd;0zOoxahJ@(F)LVNr4T!hHwk@3DMFdUKO6XCxl3=m;kmhs$(k|&hpkK1{V zg)|_fnP`HVu<8>E_s;$8t8zvl#?ej;Nef$ zQv_rvP{3g;b5Rc@a~&+k(b08aJD+Oi>k*Xn6knuJ2uGn1FB%nqly4Ow1V1PeAx*%Bg^fM2?W*&&7&#@M zZAC>}Z}`Pi$ng;=$l#>3w+};hI&K06+rodZzO~*|}jt5kIGBo0j4J zh=YVuh^MFhRS5mPd+Cs3?N)zAHw*S6#ae{+G|k9BJ0oFc5pr zVaN!LzdB`qVd0bu7v3*iV}Eb1eXcbq;b|#~8tlPEO8mT94dG{mFil#e5Sy-gK-WyH zrWOtk4hmD+J>x?|sSxzn)eDnn`et63S!jQ?@PfS;O=4^&)|zT-6+E3{P)BQC1Q4Zg z0Hla}>0C^Px2T3jEo82So^oh3AJj@D1Cp=S0>zgiLTTVVGd=y@Kazg0orZ)~BjoR_ zfvWt*#wtlIO)-LJ3L+6t25T_8S0!|P@4}TtfI(+C*J`U8D=QlZW?chHyf1594ts9I zN@=&2NqG3Vs!EeND#|R&*Ws}RjXro>AhYf!$jBD;A}Ce!@!XVAYOBnBC4FX7oG>|BUfI{1j1r>C{zSB}JER-;*}qUZPhhLTF1RtwQrsxbuw)L#`Gq&omY62*gY zEJlqW-y~HTjrH}$21B2$GDN;|BNRs_EfK5{>y(0dD0KXaYTkh!uE*Oy}fwiu9BK+ zmGnG`Kr1YT24W0^2e}8iu7wQ89?5C;&y1Kg9t{ysW;j<4W3VpuI(i6V3sE6NPc+-8d^~)ohumyiFBA$tJMm*$ zczARS7*s||%A5ZL{;wSzlvJ7x{q=akffRb4(Ws+AVYE_PB{aLFz=wb+qUg+qcVk`F z^NCvFzs`2O?&`Yw#EBn&od4tek3JIrOHsWsutD{gIfGTQK3t-PDX@Yo7_4X!X4gne zuul37jWxt=+d!0oo{Dx>u&4D6u-lW&`Q1yf>HYj>GJwAL;@jD?v3@aRaex2#t8Wh= z1#cdZLfdo`Ol59*!4w9Qi=-MYW^N3!g!~E&(;)?MV+|k$fD_~(02~|eAI$If0l?Nt!c-+Yv zYGpAT2ua@pscXsQ=PzIW?Fu&OFiex4wJc5yRoG=s6P5wCFNr&?p^AV+IWK*<nzXgSn?0=aZ;u(o;*4g8+U^R(EU;6C&P@HGpDS|<`|zRIdQn8nM;5I4txIj1xQ)J9;adS z1Mm`>-VDEDv$>-;)!ZdG8xYfhqaG|{=FFLE*34ubmVNW)%?OSXwqu8_l&L?Nxml0B zQ-^19x6fqwJ{<4dsc{`w{$whIW9(ZKyz0}|)`(=V>o1vb0~PE>?+O+O%UA=9eZlbO!{1y-bG?2&`Qvqv*hf9AQZ7>|i|OGr zJ><0h`oZ{fVM=0q?UGp@!$JVDFBojiDx4*${U&7!)(=S8VFQ`^wzcnNf4$+A`(ACZ z2k9mMw!>qD5ln4gaLV;BsJX7b19{CthW!PQ1uG`J-5~e7(el`FbSxxzU)YH^knzSF zt03h7a+HG{kL%gY}jz11Rg>_!jJq->;c6lZAM&LBXkIDoXiF z;G;m;F54HXo+mZ|4U?#(|U($g7-^shb~B3HDsS+cA<`BMfxdFSCF7B@FUy s<`ga{OO|kvN5<5}V-B~e{f7Vp0BmtB!oSHW$N&HU07*qoM6N<$g0J$F?f?J) diff --git a/src/member/templets/images/dfpic.gif b/src/member/templets/images/dfpic.gif deleted file mode 100755 index 148c9ee64372304d4a9795083d20e77474ec4c55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8533 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 diff --git a/src/member/templets/images/dig.gif b/src/member/templets/images/dig.gif deleted file mode 100755 index 9ed77c53679af3854a2a5e487658bf187995b8a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 94 zcmZ?wbhEHb6krfwn8?hq^mNt#|NkpjCjm*tpDc_F49pBV3_t*qXJFEoX<5m!Z9d-| v?iPiW938LkrcRg|bEDYy$)ss&uQXR*D$}n%wJ~qjBXwpY9{Z~c7#OSpIglfA diff --git a/src/member/templets/images/doIterm_ico.gif b/src/member/templets/images/doIterm_ico.gif deleted file mode 100755 index adbe22322b52e538afe43a2a97db07d49d6797da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 264 zcmV+j0r&n#Nk%w1VGsZi0K@Uam^_`qi4ud0GEHciFM5-uMmO^5~@gNwi6@-%Wd^$W34Pdk3h?m4OgfiGv zP-3xDPEXwNZZmur5(s}B34sd-85D$WhZ6~66#xeV5(^QAECGoe889h+Es_bRs0kB? ODFGF)u&<&VApkq2+;nXK diff --git a/src/member/templets/images/doing.gif b/src/member/templets/images/doing.gif deleted file mode 100755 index ffd2bee220e7dff2c620fd54f4690059eb341b65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 122 zcmZ?wbhEHb6krfwSj5Wk_Q(IwHP8P4|Nr9K|1ZCR^nV60Q2fcl$iTqLpabH8)G{#J zN9?*IYv2^#wBtvcI>!$Mg`6(cmW5&SGQ6S~bhr}Ie9oC9D U8L4=yFEyHDxAw*x6GjGW0Lerz{{R30 diff --git a/src/member/templets/images/dot.gif b/src/member/templets/images/dot.gif deleted file mode 100755 index 314b8b0ce4617d4c01e72b1e06f08e723953269b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 190 zcmZ?wbhEHbzkdDx{rka#2d`hhe)a0rix)56y?gib=g%KMemr~j z?CaOBPoF-0|Ni~``}dzbdGhJgr^k;U-@SYH+qZAuzkh%9=+XcG{~2%t#h)x-NgWUg zvXg<;dVy-+5)F~iRF=gb1cXZ&IwJ(ULmYXP!=`k(JX+vVCvspz#TE&^35|;xD?6B` U9!n9L+au6*;_*Y>na&K>0I|4R_5c6? diff --git a/src/member/templets/images/feed_6.gif b/src/member/templets/images/feed_6.gif deleted file mode 100755 index 0455ec1a4dcf6b2fc1a1abac979f1c79c8ee8def..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 324 zcmZ?wbhEHb6k-ryxXQrr@WG?cpFcl(`1sSOPai*ieEjIi^XD&KymW) z`0(-NicJ^g pmB{YrED+otCF9H(*%!qdt03JwMP5QduwizllnCF#L>@;5YXCa*fxQ3# diff --git a/src/member/templets/images/greenbtn.gif b/src/member/templets/images/greenbtn.gif deleted file mode 100755 index 6f27accefabf47ffbb2f4b2c13e31e1133ba4948..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1918 zcmZvZeK^w#AI7H?$vo1?I)#2H^m4p~u?`ZIr{pz6Z>W@VraD(Uj%vox!i<^O?AQqp45=@4;>874`aO{mk^Gygx|>%Q*mbASH*9y}c413Q}zDg{k}KsudH+=~%* zXEjN)?sZ+~KfBC(np)R+t>$Su=gGP1$0>qmXzt@Qc6$o_K_dSVk}8QKi({CQa};qL z{eE(lIDzv3K^G^}+LDN(a9V2;wKa*^mZoog7_F)LlnM`5G{;ayNd)0Bswf372&ob! z5rt9ZO;P$u5JXa%&+4NGT;rkQhG0Fcq%pFnKA6}TSKb&`))1rTvW7@(Eu7F0eYeiP z^j<_!U9i5fwf=W&g9~ee@pTcU^-=jezdW7~mVW?Sa{$Xbki+rJ=lT`b9?^S!>kXC{ zjN$m^RD0?D%VFjEZeWO@zXtt-GQA}6;M6*0^GhERu7={f;F+H-G z9{QQXgke~46k~qM<>;`S9d(6AdSEqq1(2Pj>*Rr6BE#l zV57H#l}J-d2UobScH!&d((cEeqyUXz>8dOc4-4*OZ zWiBVX2_G$NcV?}!Ea9cAP;gig^-{cpuw zx!oQw(!L&JT%PqoAqf^F7Ra9!Y~1ncszY90dzPjAqn$!ZbkA^4`yjjDe4#I)SUL@Y zxwBq+l%OK)d7@8)g5(||c4YlW_r^B3eI`6` zwX%5O(@=BT=%cN@Wj6L?KigboC(ilu%usyaqxSEMDtU9|ydrl=4N?(?3@|bZ47Ap1 z3}t8)X9o?R4S#x5Ay)^2!&31fKS7SC$}!gGNldG-ew9JaEBV>L_1>-#m`zUHnsMx| z)*)b{cgq=rg8Onc$Y}RaK&LtU>$CzFuohYk-i=U!in#KoC%V;ED8{Pw;UUhGgy`e( zj>cAS0jLyzZ+x=i%=nHeQVQ|nRAnlcKSjRW`f-Ya=yFz8UC6$uq#}!#Lw7aLjw|V? zZ|{13PDJl7bdv_Kr&)zAF5tZw2@CA~fsp)>Ln2-a^TlV5o5AO&?PqGLvE4X-s##D; zpz*$mnL5EQkUtObucGlGTkzGN8XnGEvIrF=DJ+h-Po~T^NvB$(j&)oDAQ2&Z9Y449 zdo4sq_qIk2#KdP$er_8>J6grRODcVP;>rMLPBL5jN9?Id6K(979Ov_2+Lv6qNXcsK z{>pQto7+`S3~yTvr~WwAA9$&*cS`ll+%IwD%DO0Fg6`MHTY2iPEooJMU$tz8yuUt> zabf3K*U8)*r6MpY&!ql!cx6_;m#Fpol}fxQJ1{ zN7DBzKV&U_UK~Xk?O7Vj-ITs0FBqXNju-NTZ)n2T7Sj`i*jqh}C-74;x0jwX%Swia zCUr0F*zi$q4X;7sL#fp)`Ke`5GqWv&>3w`1{LxHc)7QE0Urc*L|5QM)^hY#GcQnEe zJ?3hc1a6Kye`xzhTI!>%_9aA%{=V_0J#sL~)?8;Zl4LozJk1*&5TD!EV3m+A+Nt|T z`(mNt6s~V)+@pUMzv#|>&y*?t{jCxWRiTV0WF3gIb__pn?}ob!!yQZHJ8p=qhiWjw zx2wY}6X9c<{7MlLLM2qHa-C$ax}R#q6&&7q*FvW0`)eNG;prFtT}L*%A$?{5z7mN0 zBRqF|e+#f#U0{_toNwdJvYiCYGukiA8D=!NgFx)>>A+bAZwe)+b+vK1XXvFo68|7LdsQqNna&n8KT z?>v5kH5E7-%O8lJFRi#t1u2806Wbns*p)AA|FS$^@x+u4^bGD^fNDrDQs}^FMZ-6krt*|?6 z#!$1(W-Y_$2NS@MJRN+sO!F8PK#3DMpU|?b@3DX;>()J)TDI*E7Vvz?%ag3Fc8XyG pI%%Z;oSNfW#6NN&^e^(Tmh02Y54+L*7wwyt7XWqvRvCc&{s*Bo&&mJ* diff --git a/src/member/templets/images/hidden.gif b/src/member/templets/images/hidden.gif deleted file mode 100755 index 363bae8f32b7018a1891535fdf1aaa5125131be1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60 zcmZ?wbh9u||9?FF{qf9~cY8j)+4BF_tG{2L{Qv)-fjFS}lLf3$2SkGW#K1PeVP=7c zj#R&gWP(aSh!*ofri3#*Qic)?4Bf44hL4;lw$4n{5qq;hfoJKOh#I-c!7R?9+v_rR z#!2bxb81!AaMm};HR;Jahx6zOi0Mt8B&Js3#G)ml%f`mKkX2SyJkMEJTuXQD+7>}! tHwH!?#_f!PO8g!|LNcDt+A10fe0&@ywYA-~CDb)fYfB%z>g32^4FGwSva$dG diff --git a/src/member/templets/images/icon1.gif b/src/member/templets/images/icon1.gif deleted file mode 100755 index 1391126d2f10ec4a9a355e240d850427ad6cb5cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160 zcmZ?wbhEHb6krfw*v!rF_Q(GXk3N+;$iMjZ9|Sh2{I8JwKgs*Tt6%>g_kH;d5@SFD zia%Kx85p=3bU2j-s^qifVFt58LLaC(1XN|B}{wrcX_EW9&goR*;0F& zi6!6hmugAJ!3`Y3DnbVvH+>g&VZ40r!M90#?m;i#dVg#=Im1CLIBmDOAcHjk=D|Z# diff --git a/src/member/templets/images/icon2.png b/src/member/templets/images/icon2.png deleted file mode 100755 index fe59cf23ae2159a30de5b443897f2ac877c0eb82..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3533 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 Hu0mjfpu?eQ diff --git a/src/member/templets/images/icon3.png b/src/member/templets/images/icon3.png deleted file mode 100755 index 6c2a38532f70f7bc88ef9b0ef79f283a9174b1ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 577 zcmV-H0>1r;P)aeF z1yLtk7O&(nXR>3Q;DvWCkXEbJ0N9EhE=R!C0&pYIxS1GSD{5@V8l_Exol6Fq#RMS@wK211n1PdL2jKPjEDy z;+Q>qZE&h`@FZ3=*cq4`X7c!Mf?BPH;czG&v_l7j!64n;dw^$eK4Z3+V>WYK7hx_E z#M37O7_0DTcMq>$9yHvO1`FUw|n7#q19@&R|4zAZvh4X$&XP$8Ux%% P00000NkvXXu0mjfO}+X{ diff --git a/src/member/templets/images/icon4.gif b/src/member/templets/images/icon4.gif deleted file mode 100755 index ffd2bee220e7dff2c620fd54f4690059eb341b65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 122 zcmZ?wbhEHb6krfwSj5Wk_Q(IwHP8P4|Nr9K|1ZCR^nV60Q2fcl$iTqLpabH8)G{#J zN9?*IYv2^#wBtvcI>!$Mg`6(cmW5&SGQ6S~bhr}Ie9oC9D U8L4=yFEyHDxAw*x6GjGW0Lerz{{R30 diff --git a/src/member/templets/images/icon5.png b/src/member/templets/images/icon5.png deleted file mode 100755 index 4bb8a63204865a638ea1c390f029eab223484f45..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 275 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|Y)RhkE)4%caKYZ?lYt_f1s;*b z3=DinK$vl=HlH+5aI>e2V@SoVwOG}+P5dVAs^bC$gjMW-% z=cxXE{o2-~<(Wqbuf1KIoAVD7hc7kNPZEyGSr$z5&g=KiJO6Y2|A!n( zO|Hx?Ne5^Dj}V+?#y0)Vye9YmoJu?7T6p`+|0lb?FkA4GQF!4`MutmL5w(I-FIobf O&*16m=d#Wzp$P!z!)bB= diff --git a/src/member/templets/images/icon_16x16.png b/src/member/templets/images/icon_16x16.png deleted file mode 100755 index 9bc8bf67bcdc9386002ff30faa17be00da604834..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3620 zcmd^C_ct4k*N&n#DMe#zY3au(+R`?PP_=7ss&=(eBxsG=JNAlFRK%*$#@;Jt6$xsu z5~83UE2KGm_9w38xx)IMyQehicH!vw$w`s8PfC zaf{SR=e+p>?E1IiotWlbx02;3%v2<*y?$cPse0>U$3bAtJfiQQXZg_L+m=<~)Z0eV zyIP`4$uFPQzYK6pVK1($yIV3l@>(>+-p3`Z%p$DFq5_**H$P14ECcRDRjVa7>!!Dv zh8F5zM#D2p0`m(#gUy&#Y}jK;O%UbgDc@dZ*0@&oM8)Mmlk(v;t!VsoZ%DSmmuAoR zv8E$)_2WxzaRt_uJs+D#l4e$W|73auTiix_QoQAD%1murQT)XjdCiNV$X9nY|8;pzVoQ1c ztUZv@7)=>Kt%g6}OSRZcv!#^6DOCZxg+9CGp_Goy(bD7zGq!P$M;mcQho2lr!pzT6 zP(p_5MlNjha|p4uXtV3dP*jf4-O7UB+~Bg z?&jtukw_#E2+PaM3kwT#b92+v(-RXD!^6Y<{rzoiZ4C_#7!0PYtPG7t=jG+)-a=Qcjs9$uPDoOAru2f!o4Gk%IZV3IC=|@ND{-lZReG8?X{l@mx zob0pR75|Zwygmw_l61mxxW8bPw7dNJC-)%I)SKSO@Nfj@r?VEDqks+jpFWt>)Xxtt zsv9p%q0sFLvhxK;lZW&|5gKR-WS@b~zO?1$bP2S_AHZs(B&>`u{I__toG`YN-< z22T{ZDd7lEIzaHwDg^hh4x|bOYy6X@*3ISN;D8~Tf0bUyjN;KhG9<^e14VK3!FZAu z-eGgu%d*qJz@T$*YRX)c4X>+WdqI`dmi<)`gd>YuRExnFbGH71UHma_!UeL&jiWiU-zIk)w zNt)!xe@)=q6$vi3{u*j(*rf4G`xt*V{kkFq7nHdb9TKS_!zfFw%sj6>(V9lG^)hvK zcGmOK8Vx6{^gXA+p|veO4;H39V-}&$VbvNK9@e8`brg1QZH#9ZV>ri4{WBKRPXW1Q zGNObRRv-Nrk|C1F62=3W=Bm;jaK<@7DgDAKS3rP^i-!vwimA};*K$d5lVoCGVPeyHS?gxfR9Tr2alkVpQ8UAQ zum*p@uSPW-j76Ih2Y5=6uJc=uK zSgA=jT=M|23#!v|yhS=$dp24K)jtIyBXouXs)R2qSF7tL%_~S=zz?p$j4g>;W-oWc z%q>8!8dapI@_Pb~P<1~;!xSy4OuDP!(?3*rLF=WwWF!*l8O63-=qyx${9elmA2uBp zPFo1DNzX;fxLbEDy-EZ{&|Mxfwn$NH*wOIkX6Ep%{g}eH3ASu^qL!$%KNgXbDRQc< zlrLv3i=k@$LDZdj;C3ZFQ6Aj^4k4&p97lH!m-j43uJ_j9gX^t6gsCuuqQ3%TSEla` zY6Bqst9r|AHSRC@Qm21_=tQ#8CZi=<(a+c_!gk#kQq82XKRW8f%<}!QWf7(+^0#M*={I6sZuEzGS3XwT`;<7 zgGB3;`}BiL09S4t+*ssIVgEV%PH9LS)vFU-ApDU14n1~aOcSW^8YN`q!_`$2VF-ft zxn$O)ryq&1YdWD1@h$=H&h#2JQPVXk3?fYyAM!vlqIF>*6h@Js7!sauj>o^Fg*sm>01M zK)kESwdciYJW+|eift&Mz7#-xIbmfeFweIA{n`*HhQ^V*DroTPMj7`va!`u`25?+DNPh=$d$Ydq1P?FLN6n ztGFY=Gc<<7bxN-dy)Y~_J!afHou94W6+7pcT!{~iPQ_N3=D>XpYaz1(1uIXEcIKIY zLW={C9Tf2?l|ZtwagZ1PgRyJtSTQY*Fm4yemSLD5DR;4@IWVzTzFcgs@GGydrrO5M z^^_cm$Bp$Re;_!M%Y@XEHRBmZ5#8)G-G;vqS#-WBfN#pmUf~l7jr_OVHotq}H@RcK zFeSPT-GVh+@3g72wZa?p;TZajyXnwM zTqTM#Jl~qxJnCPxF&Q@!Jvr}=t(|TikNC6o2_KleN;comN;yG zgq@k1!sAEnI4#jgT(ss1*OM5bw)CfIkTSa~98!---LxD^N1t9k0L-_Xpn-UY+Sv+4 zu&PzDK}D~|#~3vGU#@7i&`}WWI-d7EzS^IOg@yRz2gPf@2#Ak+!WV0MVP&Q3Ts^Rr zc12u(CE4CNx1p)wwL=0Rdo(v;(sy<0ty{>g+L_rA%N4Y?7NJmaVAY%|$rT4pSuNS>O>bG}|tI#bD| z+90((hTl3NO#tk*YWKPk`1>uD7x|(Y3M*Z2UGkZS`Y?q`#^4-RweYaTr-o93uZx}5 zS}YAMZEeYR$T9rQzsdaWihzm92_iu}qT+0K{PHE> zr-*Enbrm9>Zki9BUwtZDR4eLY=;r1&IHbd+tkVz^_P%_SJ3LHi38y8gOY9-864nT- zVz7PKZ=#GG>(*8a;x*Kxla)ruZdocA`D6%8k92aa3KP8UH~?|F{Z)d{B?@P$o!#DU zLC8LQY`iai4k|pkONE7)E6_7QBrzk@9A{K3l@W3H_m(wDhn{qrK7VDKDw08(G54rM zMVlN{(L94MQGIK8M6lKpm=2A!?beF$6A$)f-8I6&58 zNqIV$irVqg^s?9X;Kz>mLQRZCwex`UNUkJ@@Qa8S*b}wzXyCP*5VdIfYr;4G4+(gZ d6vT87Kn*EVBZZ-EUVd@_&1ZUQl@Pno{{g2@v?Blj diff --git a/src/member/templets/images/input.gif b/src/member/templets/images/input.gif deleted file mode 100755 index bbe5c5bf52b1f3727c38ea5aebc40914f2d0f6aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2618 zcmV-A3dQwDNk%w1VfF;{0ipl^=H}-2_xIi1-Q?ut@bK{9;NbuN{{R30A^8LV00000 zEC2ui0QLm*0YC%)D7xJKFv>}*y*TU5yZ>M)j$~<`XsWJk>%MR-&vb3ycwPg6;s3y( za7Zi~kI1BQ$!t2G(5Q4uty-_xtai)odcWYXcuX#v&*-#z&2FE0?zntTuiNkVynfH` z`~QG}f`f!aaD|A8ii?bmj*pO$l9QB`mPdz|nwy-Ro}ZwhqNAjxcbTTCs;jK6uCK7M zva+bNwzs&sy1Tr+zOl8x!o$SH#>dFX%7#75&d<=%($mz{a>3Tw+S}aS-ru;`;N#@w z=I7|?ZQ|Rf1Zr_Y~2gQn{# zw5ZXeNRtsw%CxD|r>mAiol3Q;)kadUYTe4UYn-fJ!-^eCwhGv?Xw#}ydv>kcw{WMn zjZ3$#U7d69>fOtCWZu4j0}E#Ocd+5Zi0>6n%($^*aEl*Ho=kaJ&<$YUE%&b)c( z<<6r^pA3Dv_3MMHW8cobuJ-QW!LpEN!D_waYRk59jT&D!?!>+d>$ zzyJUL6!iz-fCM5WV1WoGsLz24Ht3)`3_d8~gplD!;e{AV6k&!OcBqtv9)>7lJ{yi` z;)%3?h~kPYR@mZ;FnUvBj5O9L$&5DUs3Rgc?&#x>eDnz9kVIaiVv$HD`H7H9HtA#+ zOg<^)lv6}W<&{__VP%$FcKO4WUWR!km|~XcB$;NWStOcjw&^3AZpK+7oO0ILBAs^T zX(FC__Sqqyeg;Y*pn?|KAfbjPN+6<&Ho709jz&r!q>@&;9;KFMDjueqcDfy>o`xzN zsG^pd9I2+JDjce+wwfEOuEr`Gtg_a+8m+eGN*b=Z_PQCbz6MJfu)-GG7_r7CYZ$Ws z$~M~b7eXyY9yO6TI@) zixa)}<{J~f`u3|5zy1d77rFu${2ajsC#)I33OB4F!VX7#EW{F5ye!2QXZ$S28h1P` z#~z1#EyyC5ye-KlrySM*1O(vn%P_|*^UO5YZ1c@H=dAP2JooJL&p-z)^w2~XZS>Jd zC$03-OgHWH(@;k(_0&{XZS~byXRY3P@MY-?pJ2kccE<6~) z4{!Vy#UHP{70EB}d=$+;FFg~{Pj5XYyvt!==YPcB_wm%oZR6S*<}5 zGFpZ_WU~^f$Ye3Hk;Qr>B!eZ%N%pFemdq6_o%$=l002PGdfM}z z_{^t1_sP$G`tzRv4X8i|O3;ED^q>e$s6rRY(1tqnp%9IzL?=rB(TZC1q8QDnMmNgQ zj(YT?APuQVN9xgc!jpdNJSmb=s!}4cw533LDNNsF(wT}+rZ&wHPIEe^n)1|qKK*I> zf+|$@5w)oAJ1SD;r_`m^uc=POA5^2dzo}Bye^$L}0JEx90&=yh2mC5n6)4uRHn6N_ zg&EKF)q-w)YX;*gR}Rv(t{=QBUPY+ay_T@AenlZ*1G~b(64r%=J!}jUt5_N` zwy`&SEM#>k*~#{>vX%uRW-~j)&2rX=p8aeRLn~S)lD4!@JS}RasM^(5v9+$nB5Y&3 z#o5x!XZ$U2)hOKIwz0Uzg(Gs4JICe!GS`mIeQqA3D_uTPx4M74 zE_MZ}-R%~#yWT}4c*DEM@sih(<~?sD)2m)evbVjLd@p=8Dc|{avcC2OC4Tce%Kh@! zl>Ys1Dg!KFRuZ_tuRJh%U*U2n8VDNF_RfFWT{LaU8Fv>Q&O#Jrm(uzNO?7^-{t994@lOw4hpVw zJ+E5x`cc0Ab$)g&?3@t0*f%*gvS*^~W$!E4&VEm`qs@|OQ~O`gzV>;nt?iO+>FaMy18@ib!VjA?yd;D<2{ji)0=YYzW1o|t?za5yWh;QH^3e8?|~mj z;07-U!V^A_g)=-L4uAMRA};ZLP`u(KDmcbprSXm5=Heco2gpMnkCBu79VS0{J5sLl zp>(|EtYJCK%^~xdlcVM~KU>ZXh4YHtbkGMVVu|oUZue$fXcQx>X zAM4>0pVr5Rk?xaEh~+aMb;f^wucf~t=TqM`(Z9a2v#rc cKl-t~{z$98{oZ~*{KGx}LCL@VAV~lKJK8OVGXMYp diff --git a/src/member/templets/images/input_bg.gif b/src/member/templets/images/input_bg.gif deleted file mode 100755 index 9d9dab82cb1b145bee69484887af31c47eae097f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1002 zcmVPmZyo2$E9 zXUqEw94tKSJ8XQ6oE%!L-0b`e9mpI_U2T0`HjTZ_-My{t9WFjD3{HNIp1x|X-tPWx z$qqkHUoS0SpRd0UD9`^7FrXKI0t*^6NbsP-h4vCMdEQvCusFNyNx{QbKrOcVBSkkC>oGjZUqKwdd8WTxo9Y3by6fuw+S&EsJ*J*|cmau5Al<;oG=$1C~)i0c{Q2+v?b~E6uKr+tKaZyc6y24V=*L;Kch3FOD3~@#M_oEN>2-&GYEg&rGk5 zUDNCA+?Q?d4xZEX@Z_tEFOOc%_w?)+oo^rhJ^b$S=Vz~PzdHW>(f9NJZ|>iJ$pt82 zaRe3^+<^%8rr?6PHRxb%5Jni=gcP=B;f1MXs9|Xwb{N`+Aa*9=h?$jWVr3|%7}<&} zHs<1siNz>mVKmkl*o`>$rQ?oy_2^?=Kn5AtkVLj+8CRhVcxc;=cxwdtl-YQ`xboOI%3=bc{7si%E;_W9DE zfQrTEpzH~1C`yPXYF43)lDFuiA4MvuT8>uA9i^CBr0J$^UFs=yore0*sHDmT>Z#0` zswzUMwrb$3uqG($tPIv_>w~!FD&elYR_N=m7zQishQt=@;jzfOhN$eaBsS~piO@!? z;=x?~?S^>*T%oMyc<< zRQBudl>i5<<-i1YY4E{dDvTPd3{&Iq!_Y)5u`?7`%u&J^3w80v$8_v5F&c-=6UZb3 zWAe!%jjZyXEkl;_%ecfWGc7dNEX&O}o5b?YDe3IFjmU*Erf4`efdf#OdVMs@~P1|1L&q?Uo% z&_embKZ8@AtM^*GKD#@B*?}b`b6&=(bvdv173iEdVboDx`@ZJ=e+MRJ4;`s~4>1Ks G25SKK1S_8a diff --git a/src/member/templets/images/login_logo.gif b/src/member/templets/images/login_logo.gif deleted file mode 100755 index adfaf42221c7bad6062c9fad74760e3c6a5bbcaf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4259 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 F06P;#Ap8IT diff --git a/src/member/templets/images/m_logo.gif b/src/member/templets/images/m_logo.gif deleted file mode 100755 index 51f136af3335bf7ee3d03324cd66f32e6cbc3e0f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4336 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 JgTrAa{|AW!J=y>O diff --git a/src/member/templets/images/mylogo.jpg b/src/member/templets/images/mylogo.jpg deleted file mode 100755 index 154b0eed114e67d4b54a3624fd9c58a87c480f6e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3083 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 JH-Kpq{{rJ~Z?6CV diff --git a/src/member/templets/images/nopic.gif b/src/member/templets/images/nopic.gif deleted file mode 100755 index 66161914a6e02c8b2d132d0ee8b30e8c6c31ef2c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5002 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 diff --git a/src/member/templets/images/pay/cbpayment.gif b/src/member/templets/images/pay/cbpayment.gif deleted file mode 100755 index dc2d7fdabe33478801651bcb5d82b740dd20b115..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2398 zcmWmCi(gZP0>JTe_BeY2hnI{o7p#t3;MaWd;R?j-(O5zbZA)CLBI!i1ibFY z#ntNSYL=`DNz{&vj06P*b$53c6co6-yN4Y(`|9skIaTMUrltl52Xk|CH)o$MGYrQa zZjXwJN=r*S_sz6SCR=^6e&WQ5g@pwehW-8ho0^&&y(T!fB|y=BbK!AuadCft|Bf9yUfOJ2E?2MDKYH{? zqtUFct~OsBPx`3cBefnaXb#G45@hS2uRY@?RrOu}IY<4aqUJ()p8lgIW7o*6&1M^$ zd&E!ItGllY6)m?HmLIIVc<)qeLG`72<8-R_^7^a4ywmjC6!rHW{UJWmrthB^oVp)Y z(5~(L*EU60>(}PEl1}M~Zmvv!Zsd-CR=aWRc7Cn#sr5h4*8W1$n^HCBkGGCQ9cs8b z{qT#cKkP5>yJdOeCoB8;{*zyppX)D7W>y*f3-s z(t#U>e~d3~{zp;Q;KaSPwY4qT9o&~BkOD}6H(pD;HUTI$Orlbilt_dX!m=v0q^w3) zTlbm1{%k`dciF((k6tby}gqX&i>>^zeH(VzL5nJusIPZ;DKei`%^NbzKhpm9L1uKOb7kS*`hpO(dHHZSeeW5=TMD!OY#T@QRoYwq<< z0Q1bqezlea1t7GHI(5ZG2835fSRUlFWXFNjP zLUlkvExVz=x%AM3-wEtmMT!9J9G`dN3>>TD30p0uj1$=XDW}ZFM94Mi@xXQGl;>Fz z=Kx(1iG7(c$q;~% z1HL$jK|%tqxAETRV>OgbQ;B1o6lsUbfhbnmkrKrwBAn28aTE~o@5Gi=1^N-0bwx;5 zsijGWCbMvXi2jE1*fbKn2YW#D1H!0;Do~Ds9y~fgrikm`_ED?@N>4{B;f8ydyjbI& zbh4J@5YcBX*XH+_)a-Y}vNq6KD^X?JwemCRglfqsvtm@f2(mT7vBbJmgi7W=Z89Z& z?OHU=1PY~#Oufiymvh)dseSrUf0D0e9T9o zkVQWs>WaXiQ;F^t;!gIRdO6y%>Z>q8JdS1deKa>_>EKpG@e8y^$N-Wnx8^>cqCAFZ zo>80*v18i0l^hcAu;_>*9~KW1j+(hq4!V=EeKY~gz@fa#eHi1ysFXQfBP52YtP`hr{UHe_-jj}bFf-mI z+3hSS>;ZCoB4o}6+I_#H;=qP`JCx)gom>U#x&VCP>gJ!Q zF2Q|mdE%fcg$Q!S-sS0a<%b>R#mYDpr3c1D83r10UJ2Lf)PXRC;W@F3w^fIcRw^NT z>ot?yB@j%KKwGfH%QqgVes$%N{SXj>F{M1q0&X``lW%G<;&6V+YRf-)XLVX(1#a(S zz7c#0#e%lM^bf5-ND5NE)7U}%SZV@h21H@sNMXC4GtlvaQObHlf`SRC{?4Q~y%Ab_J4WRzMP1ek#uEyWtDEfvx87?Cr7 z8!=#jQ_c|^?Azn{D_@`%xgeN2RtaX{bvK7*V%DT=yXcv3?Fuoc=sW_c(Msg;arJEJkiF%lu=WFqY5I~u=n=M8&}2b@ZV@D1OJ$u9i+c5h43!>8qxjfXmD znea8exR4Zew}W2KDUS%us_=jjMxs^ZTrDW~HRAM-*HK3M_gCl^+-u!M<>6-nN%MT7 ztmuHl#E-zdD?n@-=8a@pD3pljfTM^B39za36QQDB&ju)7Iq`IvRk_5g9d(buNcJ$Q$SCZg8B5$! z3XsRrHi$R?6w;?;hT@UzeB8mM5hucMJiI&!*v@GjOJVW{)i`U}qL#ZFRGbwagRUC| zSOTp*ZIt}pMJ0J=iQskz0bK@ATKlJ+FG|LNAhVC+&E2YK4o2YUHq+*ERZhb|pR)nq z>nR{QSIk0pdo|n&V9$s0#m2O#09n&eSsDERT%YVuM$&)sNC2QOw*i!{-&Mp2U^{tY z1dN4RE7}wlwFlV4i_RkXSV7P#g^nt-oBtG(n}r<}`^+ZBhg4959Ch=NzQI@A z4B|&}`x!@T?2(~jDQEL^Oij%6`8-kwrK2jAb=Pdbo+BH572@<)GoMjOK=}Uv1>DZ} diff --git a/src/member/templets/images/pay/nps.gif b/src/member/templets/images/pay/nps.gif deleted file mode 100755 index 61902b8dcb06f7f2ff6285a3b0226accd689cb95..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1226 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 KZaO(KSOWm^ZMwt& diff --git a/src/member/templets/images/rank.gif b/src/member/templets/images/rank.gif deleted file mode 100755 index b5e81bd5f88d5b0338f224e3f3bb2c209d9bb269..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1666 zcmV-|27UQQNk%w1VUYl)0J94KFRUWwSpe%{0I1d}_qYJ0008iO0P~mtfx{o2waWkh z|NsC0000000000000000A^8LW000XBEC2ui0FeNu000F4aLGxly*TU5yZ>M)j$~<` zXsWJk>%MR-&vb3yc%CJE@Ar$JkQW^Oibi14hg>$3I!i)9ty&d{;B}jwZmr!fSSzN6 z%UE(b8>M*HYVjHVmdC$ydmZ0)qtkm_cY=Xed3=RqiB)WUgNBcae}{yVk&KsSjuMNS zoq(2~l#rsCX`4$*sa>m2My^A!Lb6Ajwzs&sy1Tr+zQ4f1!o$SH#>dFX%FE2n&d<=% z(zXHB0T1!X>Jr=l{##JM zfWdH=y@IgkR!j2}go zlu3sq9DNs2e$$z;!pnUzZR!z+r0}CEZxUk{Fh!ZPb%($`R z$B;RweA+SY2C-oYVs>Ybh*^ASov6*3j_-$pQ4uago!a2ks}5^gEqTtv5@YBhU$66lyb?Z*^tKSTdKfKRQ00>3@J{FN?onMiSP|ks3VOz?s#Ko z^aL0h6e7q7ql_X5K){krHc5a0IXWpNluAn3B$QN%7at@=zGx(pASmhOi%&*5=89#C zdFBCSW+~s6V{`!KmnoW{=9y^{uqK;S>bYi{utgN8CKT++qM>z$aOaqL?%C*{SPlwG zbbNFfSqu*4Q??6Jrut1Mx^HfyN=u!v>~L;FkI+`z}X7cN%yLNzUtFQIK8?L7M_KUB=jPASe zzp({uu&(pwdS;UMHq5Y>k1o6@$L!7*v8mt^T=9`9{^~)M>2}&O%j>!vGsJ?{=c}#) zU#uv$)?WMSwmy0rYb-e%Y{8rd1AB6~NEfX1w3t4-?9^0OZS~byXRYIf z^p0ceSoW&e&Pw#r@v6K6%vP!!x6E_HJtf_D(@ZGaIJ@vMnGS3GH=2QiyfNS*Wi@fd zG7OGl$AV{UxZ`{tPI%(=sq8lY3zS1Xx#WmEKyZ}Y7C&ti+M_AGqsTy@h~H@*3>(R!`?^2|5y{PWO9pDY5@BX9xr3t*4E1l4!n z{fOUJ;Qja%gugun0Hm+}`sy#h{`={>4?p|z&)>fN>(`Hex8;xTefH<;U;oHg0RRl( zfCxtRbYc_(2*Msd@q5}c;{`FOK{l?jf^CH38zmS=I(86; zWaME8&$!14;O~BagkT``XFo#D&yeurA0Mg6!zr5ae0luP2L&iaACfSV8=7Pp%jiNi zO7D}P45cVXNy<{1(v(pAAtrB?#zsEzl_UtHApeNS_tlbqvb<&faydXWsEJwh_?s>6`VEm#MwOP&TUDKM`#3m;J_`goBG6UU2 zVK~9LO>w64h3oWYJk{Awc8)QJuC(MiH}KAH%CnyT?B_h;2~c_p^q%Cjq&_|Q0cKjz zp$K$lGnF|}h-Q#4q7U652YX3QeCn}}4IN}IM=H{i(vp`5Rp>&E<;wseZ{~&!7ML_3Qih?@yjQdH3$!>({S8efsqN{ri_MUp{;G z?DOZ(A3l6|`}Xa}j~`#Wc=7e?*DqhbJbn7~&6_t2L;%H~EMQeSAQEIJ1FQG~1BU<+ Z-S)=@9v6KkGpd{y)|lkt5zN704FGY5L)icT diff --git a/src/member/templets/images/site_bg.gif b/src/member/templets/images/site_bg.gif deleted file mode 100755 index f1a3bcf937d59456320630a4b7df69625c4819f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2594 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 diff --git a/src/member/templets/images/smiley/1.gif b/src/member/templets/images/smiley/1.gif deleted file mode 100755 index 5be27cb0ecf9a21240e151962f59f94a2ce361ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1810 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 Ml_pW68Hlg`1F!UCz5oCK diff --git a/src/member/templets/images/smiley/12.gif b/src/member/templets/images/smiley/12.gif deleted file mode 100755 index a7cded731266f64589777db82e8072d73cb51c35..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4014 zcmds)c~nzp8pgky+$1*}xgjBh$dW|B6p(^a1!XV^VOJJKW!hi^E>(wG=xFPL?G1z& zmI4-}IQ5(f5nEga19d8Hov?}p9dM~2h#_uO(1J?=Su!D5i>+tQoHO%>XLA3|_ulvU zp5Oa?-wlfh^$$qm0xmGCf!S>SE|s1>8|Y*Nb1Ci%34Y=ozB$F|YJ00W7d%~Hr;DMR z%URzf!Mo;K{*N2mWDieG&uC>^2_fh+?mb$v0(Ru!?|}?@Qjrk+LVhQZc7*}K_Bc0 zXjtX=pa>nm(AatTpMy&1Oc4IsvE4(9?8oxoyP*B(r_&@y#MqmOP)Bu5*8XXe9ELaj7GRNBo4_V}TO-h~|6M&dO8rd;iudU5Q zSRVa?!+Z8hx2uoY&W#dO@?4k7BGT@lJij#;%DF`uGP=s=yUU<$e`~HVWL5D!NZVx3 zB|+&4WbG_3Z%Fa9zw>6j#5Z1z^ATbcJ1DgHlZxfB(FbfQ*Z++2jkbcyw-Y;)O=_dl z5=KorcR;|I&2w-~i}N)`aPj*t18$9GF%Cy_*BZs#MwkfOVra6lWIq!>5*6LyaGN2L-Py#I^V;jUzS7MVToSa{&->|J*D zn+k$rpB+VrZAr5VA9Rvn*BZhcr7PS}0F3pyhdyPQr1{~UX+5(GO-1{Cei z(H;DHW>~YL-Vs?}m>q(H21pDZAC(pRWgNUCh9K~Zqh5G`1Ga!=v9A!M^&aXKim`|k z_%9oh+p_GGH2?@8V8~}LNewAm@7qXLLJFWkj1AO4VOR;xr@A&=12&(o!1*TQ7uE1C zv$3d1AP*GG>u_yTMJnT)koXNcd;=rTgSS_Qzp%$k4NA9WK*_raHjZ8fS3NzUDltu2 zaqio{bsbOb4bns%ue^S0>*M>^bC1iqu*oLL6bp9K80&q(*jsWKG1gIPon1K@k3K{J zY70PrxMZWEc#gy0QC)%$$jigU7#FDeTJ4nrJU0dVP@6A=SH(M&R@E*Bcmh(G90}W( z1@7d~)(R^y0(;(=*duj0DN`3j^P6*fsha$Gg+;Zi>dt5Mj*p5=xg zZfswtqDUODXF=(}8`$@yW%f%pD@??zmN^RYIk|pKj*b7yYA#M;A`_!G0xw~awi!pV z;V4X)?tE7bmnKT}%ZSN>VQy@*I1^82v)@L;fyp{Y-4z2ErlGUuXq$bKG7%iZ!x1Ut z6EkK+tpl5?lyxv=276X%RYQFa^{WpYwX_5{^G0>>!k;0CjB_tkVZ%xK6OX|MQn>~t zOTHF6t7v-cQh65S#aHA<=p=3X1)MLp@S9T&5O-`o z=EUSnd!m4td6w^~QW#W%BgT3HD$}ay$Sr#&dyA_M!+GUtl3=$Z?FepzMwQD7PmqS$ z9F<|gicRNymSn@L2pI*8#M$wprVX3uK~CYo%oN>tJ;V5SdD2Q%Q` zg6Yq1n*y`v{Hgi*J%&u`EUs1Z>rEv?GmT2FmC7EjWK;ZBvA97^c8Fb5s+Yh@lAWWc zMrmyN+yQ$hMeC!iQ*(0P^BUBfaQ9}A-0_@ROhWA-i~l1k3;ruAGjT6b2|T?-S_8qM zL?1d6DHqs!PsO?neG%&eI`Izwq)b|vqac(1XTDbAzNqfWWUOO3#K5hhIPt5nyzv@h zX~|1{B1g@d@rkx3O+w5kO%(odGB00XseUOhPyQw^tytQg$)vgj`S7g=*=wDa|06E7 z^ZQ|~(P`zt@JO9UaltFL>daX_j z+1+bbZSHBmJLC`q@>xFO6*~{-jGSOp#&2#!oNBJTbgEC+xE9sDKt(x!SU1Tdm%i9=bm1nP|GqV zok*B;0=762@QV}K)Ua&T)CH7m_2Sp>hpA%EzaK1Kl-2J-XGZP|uhKPUdU-G1R~Dyb ZAe=XE=`EVhT6UAy5GOqlm1`-s@L$#RTl)Y2 diff --git a/src/member/templets/images/smiley/13.gif b/src/member/templets/images/smiley/13.gif deleted file mode 100755 index 905c15be3cee3fca3e8f0e48f0ffcfeb911def34..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3716 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 R>#ZWQrxckyZhN#X{wJwfMcn`Z diff --git a/src/member/templets/images/smiley/14.gif b/src/member/templets/images/smiley/14.gif deleted file mode 100755 index e045ff2af252ee7a3abbc468442ef7bd98ab16f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8135 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 Rn>5}2?ku!H@QL_0{{v#zS@-|| diff --git a/src/member/templets/images/smiley/15.gif b/src/member/templets/images/smiley/15.gif deleted file mode 100755 index f59dd58257545068f230bb6515c053a38f47d5ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3262 zcmds(YgiL!8iv1_B$Lw+LI@B!nP7y7fC0ec03H(5HtV5HKwYY+v7(EpbtVZ1 zQEE_YEm94LUe;4_wcx3m5KdC6fS_n81dxJ4Yj9OS(QK%Dt?llw{kz}%|E}wu`+e@` zn;SPr5~=0^960o<-v=1$PbNjuF z5OA-t-mU^~x)#{q%(P$iw2v;Z_bBX_J?yVzUtaWh-5zhR64`G@)M)7K_gi`!rEktV zy=*JA-wY|+;Z^Ur>bJl2-kkeb3ErGzwCr-T-Rodz+a^EAqO}}+f8cg}kI}c*kl1}XxW9l=mcf61oN;3f+J9wcf!x(jXh?pW4P zo?VTwszK*ruijg8N3IHgyOL-h9U88f+j)Rv{hZlcUEbZ%_Po8c<-G3Iy_oxI(0*}E zpJjLBxvasTDtCQ6=UG?7EKBH4Eqg!*=C>KE0KNe4gJ+v@16I}e-l2ux}mQ`(BIuQ&|2TR z*YnMAzwJsw&DL=*ewzQxB&pdWGp*;mxHRd^nnf;ZdiMFujkOs_n!PHZO!x8K0nlUL;1^L?k`;(c3XP4`9w|LD*LO% zhbKj^A7B46hSE}o4SX}cLci?pv7mvrnYM5JhE6$mnAhGuI^S-e{-k+I`Nr8JHM54l z^8)|BM=(OBpr9NG?92tRix)|wCES*BB)V-nP@SA-;zVMY+^i(Bs1_zF_X4X zJTA5CQ=0{XBi(tlP%}<=!?Y5G$y#?9LWQ_41+uQdWvCfUz8 z`WZilyb(zW>9g+Nz9$g5ESQ=1X}B$}Y&c2@5{m`eMmj>K@io>D2z|7ZQtWB2&{GmN_@!n{!0&ylBDEmYi0Tl)4su8dCwT^I66_-P6}kHr+s-n$+b+ql`&9WxrD7TbM(AkMB(;XleTZY{M(&uZ9XsbW zO(E^N1<|PTi|XW(xawtd6EPek@C4Y`SxieR5x}#9=mrfLSxNI>=MK!3VVvvp*bhquLCQFNZBmVkQl^J6}6Pmo`a#JFg zyxH(HTqV$U(p`^mT9;X)#|6zSV<@p!js8mR&}xIYms)t1H=XVGFy-K}#u!QLbW3>! zof^TCi@3(JUw?vpLq&4I9ul^Y4+hn%DBA9ta`~eR1XRHM$h%afF;ek0Va?}i$zNQVs)Z@EFD0MQlE{8q?g82!p1|l&9OiLxLuHSH442lt zycEL}Fqb8&)%4_H)6@BEcDTwkk)+(Uc*!OZb|^WA_O~LFX75F>Qs)q&;)P9reyM3UvC&*;bJ|zBzd1O_;_$r>Tf? zGKPPYBl_^V!!u44;UR0c3U#IwfRv7N zJMb5-lo0&0#tL<&0AX-IZDJSkiW7(kbIwWY_qmssG&dMNB6EkFX@ZLFob*yN)0?kh z!c);Ai1hU(gGnDERA3ZGw`Y@vBg3Vf{ak}Nhr%87ddtM;KbV|p&Br#*gQVz;0V{$| zk(h{a&Tl>NyS#&7@JA%v^p%P+B>bDtIvY&c@M+mfibK%wPT>ci!1*c$ZRgB9HrBK# zkg-t9BXUd&V_~63tuPL+AY{vZKTC(9UtkjA4_5GTpeKFUPAk#%(lcFVJ30P)lt>Xz z6`oga>L-!Vu|PEhYVS`=j$_kG%u5^@;o?46u?1XkK`siyRA;sDs#2R=gFAABL|dKI z7{)s0$*3QJ=1SF&B4D0R#vsta0p86jqcI@P812N4$kh^hF$=hr&co5wUroKKT4IRO zdQgLManZU0;e41X$3?cxy}Hl{2A6?-f8{yIWXRqogMy#g;@KnpeCt1E$r>N&D#DBnEDR9)04)j3cui5`Q|?O09@nSZjM zeW9c(cv6JO2r=GwM4Jdf&0w?dSohP~v?f%VV!{zmk>hc}O#G`B-72wmL`@Zj#zEss yWM7j#tj6EFKi_qW$Xx5;w%o>Gg^hK8QDItw_aYP9!kTdjvM^a16(WToFyo(6p0-;6 diff --git a/src/member/templets/images/smiley/16.gif b/src/member/templets/images/smiley/16.gif deleted file mode 100755 index 40cfda436f3087c561bbf0dfe60d2591f8f11e71..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1804 zcmZvbcTm%L8pgkn0}}yB0t+GFLJ$#!aUtL$AP8Zpp$eW@DdK?z6~$3cT?oYxFQ)`GXd)(nQ%QF9i_n*Lx_l=G!?DD ze_+|cu>-MY04-H62qwU#6L5BPu(t!sI$@(O{HP1jYB=o**O_ac0FGG0wFq>=z0C~3 zl{xrY^?QLb>@|Z@4t%2qhpiS}0qiiIqJhbb?NE56F_H|I1Es!zdwmzI*J@_dA(xCw z#SnH(KH9ogw-e5K$wuwqsO`{wB?-?AqI_h~ZrL3`Bopbd5ViaaCAa3EX^44y##6MX zv+-~_2u}FJVOL>o4D2vjDmuDRYP9ssa^V@dzpEAc0~iGQyW60wX>xpIdAL!!u`&HV zQ#?O5I?y}P-?Qogp!mjI01#Hw%P*19c=xGihQhjlwHouq8q3wOlJTLws$10WE6aj< zHiZ4$M`1`&0xFrG`}Xx+^xkh{ou6*1wBEqMJ_~7&E!uBY{1?^bB4Sa*&M#$$y3@?3 zi}#8foYorXYgM~v`AId2egmmLEG;gy{!Rb=ZFP~a{Km>RsURO&>O-bpm0mS2IEmvw zw9B#q8?8T0*a0#BxTHC7u;jvc^`&>$)!SpXetZ(qmFh1V$msr9Ep85*n;a2vC{3{% zEiAIM#dI*8!he-E+g4n^`S{|Ik;7o7zjeA$7d|@Lco8QPxU83}jSYSlyiFFw=m;L1 zL|dJP@&Y$1sYtmE+C-Cf-bA{YuWRI8^p*0! z^DFS}52L|gfcu;mxrKKX*Lod0kxGz?S0KU}tGw582m5<%3Y2D}rAkb5P#*%|AE7`c zFDHLLM+YA#>RwZf8~}i_{wD=>0D;Noy*UyR09XhhPRF%`(-4PM+oMi#Kb%j$ZPK=a zcNf_EV95;7Aa`$viJwSvG`*QuLLxqKO>AJ?RXuUXNY8`AI7Yst!oBTlX5c|qQz`UJ ziR#4c_f8-q*qnSXl|1*jT25mj=P7oG{WW8GvVlpURhH+ zI}nM4a9>(s&N~qng5u?V_8>mE%%R1e*2G+Rsb$15dSAU+n@3M1*wb=8UuBT0J1b|lGLPigKH|oOJ6oV38f?{e3LrtqzFI3UBI>k|KcWA7$HjWVEB6rH3 z3UJmIj1H?eB|Z$N3OwK%<>ldVV1(oAp{IfS2iGuy&rnpl>d!s>IEtu_|Bp%xPyj@L z-&9!$V1zks*RjWnt+Ji;(`RCn6#Hau9vGGP53WV|p!6NvX#3g91~PMbM*9Or2U@ZP zYsJ};)#8)$S1uSm7)Cwog7Y_!@ z5aC>iBpV-HLZ-)Gix0E^Z+rqEY~p7Ec$SmKJB~4RlC5n`;r$YKu1AJqzWwGCr|VFG zyzpHPd8kQzt@X)#vMEj#hO)B=iw=qBVTi@~r3s!T2`=pB+{{(Rv!H+I{1V$!iM8Xd zexkg8PMWc4I+C*CO;6foXh4l%a1&qHFL$=bt*AdLuqXTC z=RH=d9pi*58q&}#RsA!OBPaL2yu?l3tp8UxO8?(7-W`SS`4ZR@O}74pw5uz={Y5~z zD4FjVcI2NHW%stzD~krp18xQFEZd`N#Ttkb*)#e~4zXOL41be$1mY@a$Vnrn#;Lcr JtTFPy=3jH@t1|!q diff --git a/src/member/templets/images/smiley/17.gif b/src/member/templets/images/smiley/17.gif deleted file mode 100755 index 97f8b1afabd2f68e61cad14aca71204148f2b1e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2446 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

    WnIIQGm1g>+S$^r%K51EpgOZ}bv2#_;u(KG+ zev4FS?_z7oPXoGn!?mU6(FOS82U?H_S2GO&9I&3 z*R?{ag^`i0Qdqn5NKy zZ3aCAJzFpW7=G0xaOjDu&tv2HK98BZ^32*=ZJ)Kc6lf^`APh6BYqKyoYAFE3?k`UO zd2S&&0Do4H2KpTs?|0S;{Bt(9L=LBFG?7_(b-8w!$&AT!;cl}53y=YZ*lh-M6c)-= zR&pYn#}y~x({J0!r`{%mUPJ=KA%W|0{puWFKf`nj5#FyzTWFaGvE3)d` zQ2jGiG6CjeitDR#JP3JWB^E%%l2%Dd4mWzt+Rc)Jtp%ZVYKzv?PpM2OPTd+Cni0g& zApnHM(vum)$lKI&nwVd6G}!XD_T;{$a_RI%(h*Wlxk;Y_Gy#k}KoBILL$IQ+*QXdf zZNw^_8}ygQWc5wc(*SJrPt%hC^qW`^o)@3T!#vfIqXbdyl8?pu;qy?wR;Xpr46n*c zR>>S}8pA47lX{>`6~Eq7!GZ58vq&^R({SyNwb1Cs|#h{sz#fQ0g%{3sojI=U*L=yhRCi#;@Osz@|+MlRvU!~ZfEz+iyy?~isq zLpr&NNHNqcXh=Ot6(b(hV@W3)VS%x`3@I~5M2-%_g%>HZF(5&t6oHcTiZV#55-!kY z2Zp^V9(P%ZWd}}Rk78`%xi<-KRlg@$pG4S9~*)WD{2#j!{f zM7Mb|ih22Gz{b#38dEuFFHQ-G|~ZFM+d}5JWt*W^!lod6X%06fZM^S=n4hZ0mL#B_h-ElY-S!xiV%V zcN8U^JxO~D9o*8K?QhxhFmC@l7>n`ftV-1ZkZuSZwva{2jFuSt5PTn6oRkSyu@!$cjP z!ofiU95cH+K6cI2n~!kFLd(Qp{TmSnL(O7iP!w__p){!7{BiMMZu@!FlZg1W@In~` zMfry7HnG}Pz^RVhEXWsz6;L4~U>0A+n;@=Dz!<17MbAdC=o4z(WA??h%u2n4oFGVA z)MsiE=pmYrfirxWcO={UbZeXNNu8ML@VNfb{L)Ig6IfF ziHFf&eOCjIAw0U390 zz3+U$0VdYs1S8EQSHXi<+;m1J)=xV=2@-vkCVES%PR)d8Uv~;^Vk*uOV_Ey{iivHw(v?fi#yWql`?11E+_8bT$tH1>diiTkvMl&=Fr)F0_= z2Xrnv5LXk+JTN&GgbS8;GYN4v5DKpLF!#1i#YN?RS({yr*0YdUlj?|$Dh{bqV*J=0l0la%A3s_nVuYWn=7q-ECq8HOjf-fxKg&+f@6J6#ax q3u#Jh935TLptU&QRR5mz2iW+3=bk*P=--q5Vf)(|_TO@bjr}V#m8a?e diff --git a/src/member/templets/images/smiley/19.gif b/src/member/templets/images/smiley/19.gif deleted file mode 100755 index 5f925c7bc15698964c943551584ed856aafada3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2257 zcmd6nk3ZA<9>>3Cvmb`984aV^q=myo;v6|^rA^cos#QD=yN=v@j)tSssdJ9a{7eg- zYMm7Mm42KO(yDb1V}?3SD+eWQepPZ@Rw2gcjN5&j^C#TTAMk$tc)s5scJL-Y|5y@4 zf~Hl_^vV6xZBhF7ujlFr`e!V)m^%7$2s~e>JZw4h^rwY7vyRK6cQW6>a_9GVRsyvL zSWvcSk@|bP#_DNT_8`HlE#SV(R1+tE4b&iH>$^Vde)M2OepavYQ6IB^UQ7m~VQ)oo zPsKQu5D%tO!7X_Bnmd@U9oF{${0V&LE3;^4qnmsZ80G*i3w+3#C^rRjKY=c{<6V6Hb^PR2!kbE)krEh;b9H5(%(ODP#Fnq+ zYr$m9>t_FkRELu7mcZ~{MHhxbzw)5h%Hz$4@N=`XgD?8}x*ykOB!C!b{I>5O(vbPV zEnq?aLdsX1Pn>RbecNAiJ10Uvd|mr%zC17RYT}A(N$wAhI=yf8p1SY5pk?<;oZ7CR zn%CNx?^twE6y z8`g&ft@dCT8yU>&aGy~~b<_WH--6Tj|W@8=RkR)h9lh&2OQ`p9fD2%sXk%o>aQyAIW5Vn0PNrzxJ zN0?Zh?5sRpvB{;6p}klNnV@-xByZ!l3LHIgN$39A!n$I60^<_)q%0?IZPNDQ1fB1= zmt7pI%T}7rL6KeWXm*t%$&#A?vX6TguqqzF6umigz^Puvh~!Xj^?R;vdP8wmu@Z(E=c zDi*VBw|mSs#)=Phw&?}+^)VY(Dhs2woM=G^E0R4|otCLStQdq)Yl2b+7?0mxoFY*5 zPEAY%1(AhMmZTFLl6^>MRBERNi9eT5=w*tIOf4@zR=oUzCX;10ksLeo&ZK5DR%d#U=L&jk2F1RouoK~)AJ$6Ril<}}0?6t% zn9hytK-i8k1!h@sly(zB0hMbM z2sd+KDyP=DC_@o;VfN9WLe32pt~(?bb=ze=Y^cCYHgoeROt=G|W%R_4TLuUlMuJ4}kA(b%}ICM~GO z?CLIp=`52o5OkbG=U&yV>Ile*aMWH=7@>cTQo@6^wU8lXB$pgy1|a@zF(}VmKf^HrH~GZ{o2= zU4e;N*5CVH^kTW>MYQB4f6FbV@dyGBls_yGslI-d+?#U zs~CAUjCIW6Y}4R`%TSJPGgTp*jz;$f;Cm|@nMKAcaaV`q(M|5IRTx=v%|P=S;!XH# zBc74aJJTyz;p~7jDZ1;uKNqCHd^=S(}gbf<9r9` zSfjhg(KUz6DgvR=4H{fvzIggN`B~+1{m=I5i>$FSlC?huE%1I+;L>^A38XHjh85;o z*O3x?=|1G{F%rCZ=VUMf)B6l#D)obV6ZI?@-3HCn%m74>tUq=>kt|`vg zwr9Lgg;_0Db!hw5Z>7g$;ZIjX%Wh+1h)$7!HcPD*3t$%G-9uwT{dx)Yxik(v?E|1T zJ-GlDWB=pso`;<`4zJZcJcyp6%=Agxs*8KhzSeLo=&z!Kmiy}$1}pTsDYQ6v@K&Ds z61z2LdCd|3*_YFk!!RnaiB-vVbF$#ciP5KRMRlKgj0|Ws6&ze_mvdV zwN%%7!M28+nC46AW=-kL)nzhqqN#;xZeiYd-&v9A*4uTzQ$U=lc^!<$#;#G}K_J%7 zn7!fv15uz@39U3!D+}~{VJ;o4wboikm`(;`CZ^qNt#JUu5m5P?>)d9qIGUs$&`QVJ zeL%Mhp7LgDD7yA==nWmaMuW+>LE(u>T`?IMley|{2SXPVUWpD4+hcYnMn~~uf&!U% z8w5eZ-sjrhL z!#~CUAk5*q^$b?)ootB26@S;J6T{xBTXN%1+zBSdJB(;2$#c&aGR)#w_o~Ua&N3s! zN&7`faUc30Qt{or#}bN!4FwGL^wpAzq>N~J+kjm&%OUpTo%kS9m(XrcW>un`a2@BU z_=CrOQXyI~h7%RZzN2l)J^h(;XXpvPEt6r(wC`${PsHtU59H*HXnGUH=X|*ArYO74 z6qf3Zb}>ib6h*j<7dZtTZ3;Qis3%fyl6K|>aP@kcv)3f@lT&P3q0@#c&zI`RjM5>o zJ1t>9BIXK)30{)DN4B}__FV0-Y^H>Hha8>x@PxhRh=jL3l2^nJywydDc6cuXQ7$>W z8WnF4B>j@RQkhbFD(FWh-j4L!f%l3cvv@(a%Oh#tw#@Jw9~_FZvH6cC9>F8zMI*!$ z|I&Pev<06-Txu}ws)#%*j3?VqefFYECfq|P7M_%xBvWy9;U-^R`>oWSL_@i64I}y- zLCp~6syfbOv(tRKPHr8KShwDv>siMsFUqEn=h=R$TzM*iew31yQ11R3?#I0@>_|;S zHBM$ZBanD0&lB1ecZL&vH|7LysAmiZ(f)5);j3k;6-^=np6IzzvXmo4|7LIUJ}i%* zhhI1xmL#W(mg2MaW^nmS+J$SETpAo#U6h}3w)LtLtgBRJPhl*}_=`$;7L1rJtp}g* zkH>!Os11_D$+BIrEIRS~av{Uxaj*aIXn*lhw>3^{MI$tuvQ($y-$S?J6%1UNV`EBX Shl-B7SjC>-k*5?OVgCTyq&`gm diff --git a/src/member/templets/images/smiley/20.gif b/src/member/templets/images/smiley/20.gif deleted file mode 100755 index 217c1c581013f2e88905ad0451c0f12b8186ef91..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4317 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 E4n1?-W&i*H diff --git a/src/member/templets/images/smiley/21.gif b/src/member/templets/images/smiley/21.gif deleted file mode 100755 index 96b04df8652f771d110da55677ef188701433a42..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3010 zcmeH|Yg7|w8pq$6OeT{MAt3>R1egHENFxMA#Y%M&5h7X}#GYD<-QZ=7R@>m^$XaYC zk-LCk5uLNx(M6?*SmONj2Agle_75cYT^s|z#ySE2wr27+)h71wi z{@&rg^E(bnduzk*-fI7~oT~tU9;~K^>K)$)(L?qV#<-iiLk5ltn+|2PWNg zJiA`lSGS;LOK{UhR&Ue9i@70}44l5}JA19_>t)kBwsU^3f2a4<1k-f1E?;(T_o~(% zlG{~totD6R?e>G8x?L(3_q2Rmxki4y!0pV|rB^FId)jX4ZYb)o*WjEh{65`Ppf<$?DK9Z8UO2( z$JJ@$PUR%_oSgOhlY76Nl$|w%JvyprtSq7XzI;^9KdhJ2j}}<-HT~!1bz6w~!l|u$ zVwx+~-nrT4?0HB(@9W$z?XI3n57lLj2mN&s_C4{>5204mvKxB?JNNKfwuD|jy{B?H z@7ZBD$AMV;k@R2A&Zo97bN(1{?@(Y56@K>Xu%~;O;Q!BC_ydvwgt-J10153jXU4q5 z=}OIvabXGu$P(cAacw8RQ%M#G4)$*}N28_H zJ|ey1cHVj^9&7ZUM#@(Ig30iKlw_^1uOH@6B7E{gV1RWe+Ob7y?KR^4dC3$U@(-4#@n#%EAp*D;dBXeq%!5b=X0I^;{GK5`DtB7Og7fGfbQ^5HX zdy{Sa-+mh49shEeE26Fm>@K%-f~OD^B2w2 zOYAR_S5(+>0{Ft4*K(c4TU-EOD$0=!#cy+mM8zj9r0rYR@of!9N2^NY8#(^*$I6?( zQ)i&aiw}t&o&*C3cmeNM9Ig$K5P;2KkBl)XBy71Hb|`ENR!*Q1j+`B})FYn-tESF( zcG|b*7XZsm_H)jQ&wS;LCT9H0(;|ndvX&SLQrwN!iwbDc z&kCorM|CZzR^dkSOtn{eDz%RCa`VO0w=JYn+r1RRj;j(}wSvp4S-iuwJjYhCf-lLm zrPvY}K47SsG=zsUL#AaGA9#!|NjF6d-cxSGDilVMr_P}k;35m5hRIH)4sDCIvZk$s zi1?I9-M?Xmp0WZ=_yR$*gV2{dX5>f;x&ZTCUPLAww6fOdF&0#v&kOESF#MJ~vbP3* zU@5HO2c|hr6`Vr5dJ|)X0kY_!lWUF(_+8C?k{Uhd4r3+(+x;~=Sqi+s?BwW zwBqvS(%LNrL8N$QRR_h8CLT;`sM^=GU9q^4i~WT$3}9FKUazM=De8igveuc?4Ls&n zXF>=`ZidxDg8(ljrbHYpw7jg zH8(LtnchpC4#dl_&@RL&b9n;heK2f-MN-F$o1~k)tr-xTMhfu437;g_WroLtLcT^z z^2bi-AR;1^@g*EWB_}L!UZ#NA9q_tyDB}osQBo9N^2#~ZNwy9IMyGU{3FZw*BqvOo zpdXlA2B&NyVNgC`@v*eyg^&t$+b@V#5TZ<@Sb`u~8_n;24xb92BC@I>fyATBGmrPx znl#wM&6G$yxue=K(l0DlrWq*fxr-g&Tx7N;2zaO*Ct2{W^$8mW5}bxWAK<`13P}>A z8<&Du48=XboLFWizGkF6&hil~s8{;=bq^aS+rf96dIr>w^eZsixGT$=OXJ}8tSU}i zn$sW{<1!92*%`$H>+C58I4&0i#k>;18-aiPXW(ztM0)My1bM75Dx;18A?wq#E0^3+ z!czW3y^wS?mW=U-wD-GmsU3>N!y?%KlL7nc4-tG5y0EcW_X4k%R(qQ`eDnqm&D^(x z!$;$mLYw^8YRtx-mlag>GmOG)B$^-$&>uL!KQ~kdig509WdRR1{%b1XZv!w><2T$u zuv8TglRFxJE*(Guil4^5!a*9QIa$?nx9yzT?kHzt47a2XXoJsKGLRXFuZCPI<*_gf zR8zxcLm6BofR`jRCAdg%*O+ar#WEr*PTub{x_?$2Wpp2J;b*`>sUdcOyi8xq3XCdJ zd2*6?nFS0;lZE-n%#?SK9!vPI+duz*hhe5(dcpLv754vRdgrU2X#7PhxL{ZjiGwNs E0ebcLc>n+a diff --git a/src/member/templets/images/smiley/22.gif b/src/member/templets/images/smiley/22.gif deleted file mode 100755 index d6da2c33ab4139ac5ec7becbb7221008e0805034..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13392 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 diff --git a/src/member/templets/images/smiley/24.gif b/src/member/templets/images/smiley/24.gif deleted file mode 100755 index b512dd5da196b15a6fa31115da13cb24730c14ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8033 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 JL>v}y{2v!$l}-Qv diff --git a/src/member/templets/images/smiley/25.gif b/src/member/templets/images/smiley/25.gif deleted file mode 100755 index 92efec6ae180c7e685512017cfd06f75c36afa39..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1195 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 x2->BLyW(_(N6e(g7IB0|H;fd~Kq diff --git a/src/member/templets/images/smiley/28.gif b/src/member/templets/images/smiley/28.gif deleted file mode 100755 index 6ccdaa2c9cf1cb656c0306f6a396f1f765d01786..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1977 zcmZ9Mdpy+X9>;&0!7$U#3?oA{Gm>LVE~(r)G1C|n#Yhn`E~jXTI=gAD#f)1cDQ%nF zHj|BMvo+Fb2gMk-iI#|R3*)kekh@`+XGdpy?dzO>p4anw{`q`ApZDkcIJwZQZ36KS z9$E&FzP9qawpVH27)wTnEKIgMV>!vC6YI~gi}kyfDvX;SCNEX)YhfYf>ucccUNCle zcBBK$3B?ce!AGA_aX*lXW(tw=0m|y!*xF1dJNXD$Tb$t$z|=|5z8j3YjdwN4h5BIW zGH5meLlhs+-SZ{bh56Z)>C(cVxqz<$mcHf&Vufi3!Kl-3v6e0A27P%1Ao~&Y9{{r4 zbsnm_qZLfJkCf~HE2-c=Xn$8NX@dpmvmMD&2i-Pcf)09Y!1@y~a~jA8L5BsX)C3L0 zu&}W8wmm?gJHBfwOZxY2H+nF(eCK&}1)7u8hfFI#xH)awG)3g-G^dNR~O z>&~hB7%)%n-+JHGF+9-M_wEf~ zKs|XzMP5o1-Vm7doSB}?$+`QYs`mSMmLTh_=*GdRD)0Gz9*sup@9tcwH+vCp`XU-9 z6YW}R@aei^5bcL6y6z{gPG4?1dnqRFQIv^?jp}&G?%6JyuQ%EEbcpEj?Y{fecMtsX z@;RviTZf*|C;0R-Uua^u&xdaLo(x!mHVuOjXk@}w^LIQ&; zGymm(Y+HLhe_WKw@U`cjR-1lvZJ_7v>ifL;p3p|tmS(nYNyH9TVq*CfPtIXz?TryF2bNHHRrFUP&u(Wp@ZbCW^aaN$?Pa z01!~qbLJJ)BqB6-_Cd`je}yB%y-wXGiv=f<_zPcI4m;g+Qp4;xB}r>bMq8baz5IHb za>FZ|Mhb`6sy7_;Q>Z%a;uNHYeaQvPH?Qy7Z%W(G;m~PRO{=Jk>^W6IKnY7_Eg$j{ z5sEc*LqfSfG~VeDdBhVrER&K!eQA6NN7jxL|t?pFwp!6u|oJG)Q#GEn$C zA6z=if4G^wf+VJ^osCr)%Hg;`rRTyc9LOYUdV;fo*&0a?8Oq z=CU;<;&9oa!4mVGta`LKp?kU2QUZo1BxTgSL{Bbwe{nwV;^&CXo580f&go;|``&FijrY?-Ho3IDIFq0sf*sFCy|tcD2Jyd>35Cb9{ib=gCv z8m^oRgEnlmkp^4hpcr7u*8f%U$6TvOc(r2`D>9oF4vu>tFPEJ&advQfc z>2Do41XK9KDRjaWIymcyqt}@T%`cuaXHtbs&21{*{?{LY(ro>ja3BNJJ@=Hbf-*KE ze)L{=V;1-u(+~G7Rx+fr&F+%Q(ub2FNgDcyT@IpWWuYE09f#v4J9!O`VV0IhC8~Re zaVX+lGPLqB>3@yFAdOE0#B3N9{rbB=u`m73qL~2I6novj0@hp)#2FI<(J54T5mtn9 zM6l=fuT{>s<})u}{8}&l;*7g}gm`tf_s%1d+JQ@~o;IT>7lhUpf9H~AwBC!j$O^YU z)q8zO@sTKAt~a^P{@kX31fC>#xO&r>6+;x_?>u0NJTQtxAjH{?ajYX+6yu=d@OVRx zK<$gIwx4+iq2`Dj409N6Al>6Z%ZSIwGrRT=5wjAbr$cJr)E=V2hVxtvRSj|-!s+S6 zNedpjz{xsOBry50TFu!B1bPtLsjnFB_?FW zYr_4VKX=IghKmRL0;qvjb0oShX!lqa|yEO_DAiF;S DKt8j- diff --git a/src/member/templets/images/smiley/29.gif b/src/member/templets/images/smiley/29.gif deleted file mode 100755 index 24a8eb69149cc1b139e24d3ada04246c42e05c71..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10092 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 diff --git a/src/member/templets/images/smiley/3.gif b/src/member/templets/images/smiley/3.gif deleted file mode 100755 index b6af2189c8c6e5edaee66142a76d2ca56b45e8bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8137 zcmeI1d03K(zQRB%Pxu&l9k3N=eB%e2fol^|}pV_MociEHL$ zxlP$j3o0(DO=xDet65rB?ujcGtY(@sGo5qpx%WQzxzGKNKY8Bo`}uvB*TvPDV(p_2 zr~{K?K>Xp5c)n5m()C&_qqjbA{+VO3H(Wftt@@~OOQin8v&50d0>R%@2d~l}wBHdA ztQFU4J?-ikyK3;}#gp;-dq+!E$65nlG)2Da9Fo9-y;^cHASlz`(heT z7|v8Fy}I{v-2vpx9n0*Mz{Jm1qJf67nkC{^(wqLimgDl`Hw^Jpn{Iwmui$V;qUuPK z=hIs|#r629k$&-e&qsxhPqT62sW|c6wf6dI@l0-C(W2L$KwsVWHxH>kuR8dkX!ms2 z*3Nvx)-%0;sYT5SgC##WP9O_S7_4Cl;*$?Br!lC+|r9t{PcEZa- zjNc2>r=Ns~=gP%xro;C#J_wdf);Jagn0F;B&P-4Dl{t$Vmd~iL@jK6#EtTRYE4mAx-Hk$vMStrS zc+JmE3*(oz6#DblLf`&?8!RS_ces=vz*R6|qN|$EtF7O)m$zp)KjasRnSfXt}hIlYQS#zW@Hi zfN=U<`{ZEQz>FlIshOfoXFznWxN^=LfHtJ zesVogcG2c7LZV9#f5{>`mc%P^GF3|RUF9WmZRea?3@s*PupM;`5ndS{wRsKf@2orv zc5`bqv6-+5vM;9fc_Fbnxj>_`L08?$f`=i|WjAZ7!k0{qP3Fn5OZRkixS6%aERQ_G zSXIo0H7ahK?|!zLXryB3guZluWm#4e1BWLcn}{{yL(5QGsS56{^;8{GokX*~A^X@C z>x+G(YHLQ2L>)b3l&W=bh9hVNgzoXOi7jBzR;q_{(gF9N!}`tK0C=*c)!W|t0_GJe zRHLJe-+nmoD$ur|Qw?$Ugt~Z_!v=ZioGSK;*}dyIS$gu*hN5G;ehFLFWj?ND zKys~^nLLHiypNj6Uz{hapJF?mC~Vn`Sk%>mn7+tjDJILNv$Wm14#e2e$62j0Hu#>q z2<)TW^^jw-mXS(UBs2R^@2W1}(8Wa*`=~{#JV($jL0Tn(`>PMg(zhqErkF(Mn%{Z33L4kww@hG3xCIM78sLG%Xd1c zibek?qzuUaij?*peAk`8o+2ePlNw?^H2bI8HW>^iwiV2QX^y@Xn7 zKoSafA&o?h1x}XWYAzmu?Sg~%rz+u%)@Gj2-KPJD?U$5w!U0Po*8(4sf|N=ZJm$!V3b(Y2$ENfn$>SCwAEm4s_@?^AlM`okY(`8{V`9A|Dz5f6 z7-y|P83^u6q#US>_63_UW0k_Pdr(R+y->W;d?Gnl8#!zxM7VYE1c_wW13?OM27Ge+W^kCioRmDhx9eN800i9wrWo-RTMG8ZZ5iQ~| zELzhsY_Osu0~V!PAIPBoyE1}RQ5)nK4o2XUwj0n_j4nhuC4nh>%INp?>eNVP3U7P_ zdYQLYy98^yhBA}v$niU=L`JI8MHv%C@6rAtClwj*2gMgA{6EXc`QfqSzH4b4AU&FJ zI#_FOcyKrUH^|_oc`?NWzW5Z?V+Xd}Zp#f(G_F=$e9lMU5XBba{a!y90&CQq+>uGJ z(cirw;|AgWnn*nuebRy<2(yEtEzMY_3|h#weZO*2D%z9@iHHt} zwZ(KBe3Go-KyGeKfqOs?0<_MPC6NrXTF#;X0fIOOnAgS`s4hr0>_EN>Y+z#uPjYMI zGKHQWCF9zzp~7uq)Q3TY@l5+hZnTK${;OopajMZ<{(Z^*@`(1x|Ne+tmwjlKu&AG=f8&lMe V_d|8L= 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 diff --git a/src/member/templets/images/smiley/32.gif b/src/member/templets/images/smiley/32.gif deleted file mode 100755 index 43504910020ead31098a489ea1e2b6fa51e8314a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4327 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 diff --git a/src/member/templets/images/smiley/33.gif b/src/member/templets/images/smiley/33.gif deleted file mode 100755 index 650d3dd84026c33b31712f94d1c189db2b3e7295..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1571 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 diff --git a/src/member/templets/images/smiley/35.gif b/src/member/templets/images/smiley/35.gif deleted file mode 100755 index 547529cab6ec7ccc19719487e644b132b40f9d9c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2247 zcmZ9Lc~sKr9>#ydF9icZL{rBF+_Ky=9V|x?H(Z)rI!&34W=__$XtnE zBme@_0kc((U?pApOdUuriXUtq7Yu`OI#@gn)@}mv;qI(&xM7fNhz5G?K0I^>ADpT+ zU^!P~#tV8JL8xGQtqk4+(k0NKKaocOq91^q51!+|T-ZBr74V8wpGW|MyF}fGz?e4} zb{^7M0VnCxIki>%* zM6eVm9dMP6_;z2?Dhx#fd1qd*Dj1;w(E%_U47#o5LoR@)yH<<=ZDwG|S=4_Aw3{tA z*>+zwd!McN=q{N2e&(STXf*|M;VZvuNZ;&SZMW%QsmWVRMIH3sZ1u$&6CiK{!!BUR zN7Q@vwS$VN)fIGDw*3PIstC(mT~VdUa;0uXoIa2w07+~<76R3p(~k_nr2mVP*uJjz zzV6pk&Dn>IA<$*Dwz?|(I5^n%c6wrLsJ{nvTY;%PVDfND2(<9pwL6`rrSZ)pD-HMXb zdA46Rs!6hz%cQ@b)g2z_U2L+Kir)>~CXbc}O>=`LhC7Ro;iiRyg4!!fZH{HJ7WJ20 zilZ%G=KM6p&*{IZxh8lh9WUXtU8*vIfAfJ?``u@257xvJB~9D=%T9jeo?U7>DB&OK zV4xP}=l5_b9c{#|pjmaNZd?d^Ayzp zCii@LLK@1|7Cf>P@oWTnCZbv!@wHPq>d<_BITs6yeIao{29VyHKH~^zk*a=#XUdpLUL1}ES zW~*K+@T$IGSI+hkQ1|gN9FB{R@=Le*hK`5O{ZyVKPtBJ)LB=qAREa`PbbLCX1nCmv z0ys)MC4yQ}`1`m{+EZkh7HZnKUOCyqH=ex`P2cb4UGqrk0Mu-lYl?;!rc|TSbL?=t z)O$3i8EKC4(F(hKMDd`e_Wj1Y_Tv3&j;ik)(PJf97_DSQyRNr?6!c1`3Qu(K}5n@2WxJTw5Be;psTSkjGPvVH{F{9Xlw0;>V~cC&Qk04(kx- z@p(1+V7pH0R))Gah4-6_zej8{^{PKD6-kEby?rg7H#Qq+X9V(gbd1pO=CdfWw*!MQ zqJqXRcfB_FFi1_=ngciVQEwKWQ`Pp$I&p*>&TR7)P{#rm9elJsc@|&zQ>!zv(SiV zyK$jxSBf9JG>207vjgeyY_7RHi+9sXy&_YCA9fFGdFm6MqE+K8uGW|k_J~2!pB^?r2vUQM8OwEE|B2+ zEPaJ&(R)eR>!Q&k@JvRGSx9LB8Dgd(QCI>!oaTkoF(dQ`us_p1n5hLmUjk861}B{F z>OQNBb;mK$DD!Z4T1O*O_=lRub@nXP*n>z|juM95AR%hx7LqrU?v=`>mmCUzGJ2Ur z!x*5;B!+GE8BW^&o9reCRsgRfUsfbbEIbpQ!9*#LIRPUXHk;u^b+XvEQ9lxI%@E=` z2+Ut7^#eyDukak@K@}_Csy*~&ogRhf`;Il#-nRciZPwkqgLD#cYeDasJLh(iQ8BY2 zZ7eTyeRZ*Y0i?@MkTE7btGG039HMI5Y$uyVO^YnspQ@Cfug5ZZAK?(Rm=?lXB`CxH zFY9{q=^L_&RTRyGaUB$yTyG8-6yn7Z5;IfV{^uUP(UDs6H|_+Mq@;{>zES?| ztPp~-T_in}wNw3Ew+UDDF^8%CsU;!MhW0YaOFp$5C1g+%PW;HykXX0W#Yx3n#)zpw z&EEypMRm3@sVa$!X8vNfV7w7$(0=C&Be|iDvBBo`*O1n;i~TyJ&FgGVEn96pXe@pC ziHr2Puym3NjsKW}_r~lW36)wjbZJ^(RY=h{jwIjo+rK97WuIe3T({RploHIDMwi!z uq?0^>q-i1!UeQ3YIDcF^4%d(H%LZKu{)V)bX6ANJ@{hP;`ltg5+Wj9mJt^G) diff --git a/src/member/templets/images/smiley/36.gif b/src/member/templets/images/smiley/36.gif deleted file mode 100755 index f3cb0742d7f2c12475b1fdfca98a46ce3d1dffbc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5162 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 MvAwGZTHVF}1D`W;)c^nh diff --git a/src/member/templets/images/smiley/37.gif b/src/member/templets/images/smiley/37.gif deleted file mode 100755 index 5b3057ab7eceb885238c9308a9591b118213703a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3685 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 diff --git a/src/member/templets/images/smiley/4.gif b/src/member/templets/images/smiley/4.gif deleted file mode 100755 index bb468901e4a9412da4f5fc0c4edeaa73b3acf570..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2893 zcmdtjX;f2Z9tQCDE?EgAgaDDHULs&b#RObHC?^S9Si}^y!&q!1iVL8o7L``!n1n4L z+F$`u(E^I%N}^c6Wlk2L;8+co8F2vvir_jdvM-q+J*Uoe=F@zbp1JqjkMF(jd;Y)Y zxuIbpKECUjfC)?hn5HJOyus9~RTIt2?>FBz4R4=p4>|4!M$2udI>Jp8`^UBOhGby; z&+fx{gy9oZ)7aiAWAJbRdH5#VGKBjHutzJM z#wwjA3`@ICyHDQpF-_eat#lkZfE%oy`?R6TG*v%T%YL^Dyvcyan>ZIG^BXtdO#NSs zd`}zv26P)@rn;i8%0eDyQcXh%gV(%AA0K(y z58R(Fr2Sl9`=~syyPp5D``OE$t{2;ofhxDx$80r4oBO^cpW9&5Up~vI4S6AlYW{#e ztS)~25mPTdxttntJD1g{ z3^={gA}7**}PXs?qSqsuc}Vm#n`Gz%jWvh;E_XdA?YZ* z^8~6k>Jc}tWhcklMGmZRhj!9vP*56`ep-1g*g!ohN`OzvO0YDT7-1RH3(^YN>rhh> zlk+r83jEot8^Kbo6i*G9rz?-gimmWyt4K3P>cp^RFlaPa;2xC|eZYYkr^P`yFA=kY zjLV>SwP&`%e{9((D_BImB#lEm?VuB}F`~q~b3>x>V_P_w)`EDnYpuLjw;e&vyLaJ8 zatIb{l5bdwyU)L?P8a8k^0I4rtSCF_bp;3yiFRDSAMNWXLFv)$d-8k(<75h=cc+xD zJVV}3a`YDoD0>^_T3+hyJ|5Xdg~_4dSWLIiQD_8+Fv+XV8jb%%kJz|!`Liq*7!Iwp zKc{J=GXakVl3Oq>p6H{7NJI?dlPDENohvHYVsQAZRbGtDzo6Mb@mpL1Cv886Pl^e8|AH zD6UioS3>vSU+OO^ioYM79*Xk}WAjVN*+eD%b=g&{@RHaKkG|jg`%SQHR3Bg$?;(*0KjSS%9Od+yMq@loQOruMNxwZCNl|E9BG|iF^NX2!s})-WQv64xz7T93uld+qzZ!#lmftt7O1!{efb9;Z^ASf> zELI#spppz%CQVe14@sHP_OEQjAF_#URF&$pXmi4ggBgObgW+5UfuicE$zr0^xLoOrv+$})3AC&O1T z-xHtt=nNCP-vtwiw1@WZn9!Mvf5XJf2%qiS;7Il;VOrM&OIcqo`O3w35>lXxu%OQq zNji&~oz8V2P#o@RE~pYqaVUg#Y$0jcr7RnW6%~sVa9i+%i^1{{u?{rZ!W-`-U5>$6 zx?CUcf#f*udW6!pw@_^K?&jx^76iqbnV{pAR3Af|?Qfar_EIVgC>99*nTfgIGCajB zoGo>l$ydIho=nN7nVA?Q01#sPm9!n`J@c;wsB~7IRbssD$H0Khr_Iz;hj6Bz{OrCq zCuU12gh!Lk%B-&^H=PVkvI=S-sdcedJT;8C)u{q)j?zkGp@JLMLVFPa8uI(JFaHl|$N!pkzkdL5 C&j>*P diff --git a/src/member/templets/images/smiley/40.gif b/src/member/templets/images/smiley/40.gif deleted file mode 100755 index ab0b81ba4dd535bbfe38ddd6bc5b35ed85d22a0f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1866 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 Khets$pML`I4Xz0Q diff --git a/src/member/templets/images/smiley/42.gif b/src/member/templets/images/smiley/42.gif deleted file mode 100755 index 69f183f043a276acaf62658536b0c4561492578a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3731 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 WTLS2#EB0uYB#v;55Kcmo4gUh0RX4N% diff --git a/src/member/templets/images/smiley/44.gif b/src/member/templets/images/smiley/44.gif deleted file mode 100755 index b28d8481ea3077ae4d04ab9817273ca46ecc6619..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2362 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 bLsE#_O3>i{wNn!EA3LMRFhuj(&iDTfDU)yz diff --git a/src/member/templets/images/smiley/45.gif b/src/member/templets/images/smiley/45.gif deleted file mode 100755 index ceab12242b28bf9746b67d7babfca3d5909985f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3556 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 b%wXQ%bA}&iOq(CqqD1myE4p=^k{ diff --git a/src/member/templets/images/smiley/47.gif b/src/member/templets/images/smiley/47.gif deleted file mode 100755 index 2f4539998426e7cbc4114eb8809b680566a70129..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3929 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 diff --git a/src/member/templets/images/smiley/49.gif b/src/member/templets/images/smiley/49.gif deleted file mode 100755 index f6c883447ca373fecdb60210e27c858844add470..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4679 zcmdUy`Ck+FzK6fFWM7y-3<07{SR^7#5VVL?Ct(W;Hnm-1pphc@ktZ0LEq3CTx-B8io31F+eecj)0{)2pp1x^&ax-r(-=FaUK;qk9jzMO?P%_uU>3%cBVLA9&$d- zb6$yXJ~KMMV(dspoiDaJA1^$&0(0I{JD)Cf_Le_8>`@d6oTuf^m$lAUt}8I(wg7-yQeFs(JWrP<=W1;!4bKM@Kwvn(^O_lY6hnZPs|5 zTrRFNPI10EvvY>h*%oEpKJTtsbbCAZQbTRm&+XmUXYX4OxMRBao*C>W)4Mk+hJ3eT zMEA`lZ5ss5>-@VfCOoZ^J*b_~accde24!=x_q8&4(}At+N5@11YD&&9mFJNe1!>1_uWJo>%+`47a4j@^eBc|ZS}|8ftj*YTgP=eaqZ zS08rWIaa*j)_Ua89^Ubixpxl*KD`*dCwo-OR{6u5mbzV~hd=+|*XEeVhduA^8+>J} zWXB}8+HB_j#i^U)SQk%PdQK}(m91_sK&~GvzOoXb79syG{-l2U#1|Jv)hr$NvVGn8 zLbts+NhR~OPa8vjJs^3!kN?#s!`)jy?fraqR~e(b9R0?S-fiD<<(zHr%E@g9^vce(Vx;hUIM_RT|(nlo8G7Y?yD~708(Tg z*;|kr8mrLVN#q&gyaLR?8ixqI$EwUG``)!++3%P%Z!Qag{D(#n zm5|0`s1Q|>-ZHC9X%-Px*iCej8B5Jx4 z;{xP^fX*kjN`29cx2DsyslvN*d zj{-Pu-l28HQ{n~Fs$x8%r$(BIpNGwv$Ipl>T(SH>=*cW!xHi6|!4u7d5}*Vz{emCH zrpJE{;kg8!*kZX#pt16^Or#(h1cs+uRE4XmEjHNX6~GENwS8yhdH0e8Q)9s!V7~w~ z&bLaocpYP0k3OCok!#(hKBa)_xe?J;*kict5W)LQIShj`jjc8~r~-!#Gqz3F5`ad@ z5z{FDo*SnNhvW0t6mU|3cQta0dUv^dc9f$k-c1n0RE1QMHU>)=#@6cW+nE#MgNKBa z*x>?>bSReW3ipd1Y{^;%ETj+tK>AdV0UlKu2Uo8!P@Me>dg=dg<-*%(nY|q z3Yu?=2l=y*kQmJPu_m7*Va>ol6wgQ8Fhz9Xi{bfJKgp`I>3(p4X3F`b?T_zDefJ_>J}HQd*zYi*nlBz$FCsy%HNYin|mGB1Gs{nS7; z&r~|mF8kpdvKFnbz8h*2%`X;{%L+PJC0Vg-yB|Rcd=69?mg%0bjFW}wiNu$W97 zE%`;845*`2lMBI2zDHS9a+Q^S;&H6<=qhs!{lwmRt&RZK6KnEB(M3fNbeR6NU(7VF ziAqgZ0wvYBL2@c3D-GA7OyOX7DWz0X?GV&?Tb?_YmH%HKUK7q&TJ@QA&(3$2Yu7KE&opjHBJn6zBq%0d8Sm{OF#j zHsUmYfwn{i`Lw-58Bp|K;fkAuSc3bkUIWA33$?2Ol!Flg^bed|?rYICaL`^g_l0cS~0-o|M4$z7HIG-3YhaI&h_SaRO5XI*PT+*mG@{8;sq*>wroAZ*VSOQ8YXpm%_MF~1 zhNJfGNwaM(S<|nfjqTD<6M2@y%kS6FhVnh|hAFxZmC%=wS~0M6-gzXU>etY#PeWm! zhV-2IqXQbksacu*8loTDNvnRwNCa*@8)v_|b?~zKjiJ{;T+2~?qy_3;hXN#JhkEPy zk=Ch$pb^=l(~cSYH3VX~>$Qf4Sz0C_{43v)vV@9dzl2tvXQHfI?Kdact#cV%RP!Do zrt+_`{Lo{c*NRKquF~( zmX=~NYLv8(Iex{wSA9OR3tT>$Gl5TzYx$&`Z?N>zh`7vCn4>|=s?7zok7_C)s-Gg^ z^@opE9vWTAdDBO1`t7jN2C5O>7u`ou=iyPQ7@a>v$cZPUen%`69Avc2`OBt4Z*8gx zmnT&l#j@ZAKLLbFeVD)G5Q7ELhBUB|8&=q_C5h|twsmE7SMdBfT^HcfL=$y1kBpni?_BHhw#z$6fK}x zC{wPF{?{n5BNqMof$_e5LEFK(&xCA~Uch#zFVWmC@xCehrg_oc?HWKwX2NLe)CW@( zm>pCw`q7P&ZWq^G-qtz~F(8X2Il~FitPH$Ld_H~1>?^%_+}3Z)f00NMV_U!KF zcnLErBDWK-L0J5SKMC82AUFN+F=Ermb<;xElpByN9b%xh)9#*hbnVpP@1LD9(WIDN zX;>dPDHto%)vevZWxz7>FgOQ5c0ecdX9_9|s|!4GjkFULjDK)rYY*Uh@*d|SI1d}R zerbKj&n`&cT{h%+9y^lPAmeCt)Dqy>A!!A&8gT>RzY+N2mm}GMcNXplD3IT%Z;t7PO4#90|<)ac< z5RMU~a7W)zs{0hf10bT-m4ZZoD+O^F+EBWrc1hntq=#iG+2pQz6VpS+)&U*4&L?!$7fm)igzgsCV5&l|Lq2`oQe?2q zY2Mk0KU_rea|jdAnSc4AX7c`-=bxuHbKDa`rkD=Kk1sT1iSHkrTuI-?TnXU?z=neB zI$5;2_0G2iqkJ%#@vv@!o>e+10Hb1|RN$83Ys9jwg5hVNbR}gz4)Iz);F;Yr=jqG* zAugW~n%{i{-P&{9D{_utE1xl{#+RCv@Cw)xus=>5M)IJjPIK-mdISG3t`Yi1ZqH=0 zQi3x7+9_YH#0ENL;JVSnsu#ODrM=eVt~`L{d!SLGb8_AhGb>5DMh>&lj7u6`(4^$n zO=#Aoxv!!1WjqXEdLai5RHyijVQi&}kp9L@a5bh5Ezxaq=PEL!9d-j?Fh6lPpc1gt zofAfsxi)GGHzc;ny2M-@$x#rFRx-}j;Q>lOFgW4xJ%qgIq*KMRX8#r%ga(P;|jki`N0MjACsgwN|@*ng!I>>Gs)mf7#vcGs!=2&UruI z_wvsCDCwMJ4!{BIM1Y;fX0BoaFyOX@J;w)iOmcYk!!!HU09rQHesc~($)K;J2j>KT zakYmWK(=2Cq=r*j2`u_TI`=)UcbfO@f&O=jqMSFQ_6G~?cS7x5?kT%dqP9laA17&= zH7kl&jNbp!bDihRjG$TRvpyf`57N)DU-A}inyyQgG`&ahU*~`6ur9kMYxr-s*6mp* z`h#fNW{;bDT@JYgrnQ>xbq!v}>a3KB>!T{a~JMo_c}cj*+{vbY*7cy3GxF z$M^czEk-)7blAVoYpO(d?$~zbkK!M{D10*Z_~GM+KC69nr?h9wSEU_Luc%n@?b&HN z+IHB_IFB?>HEm{{J{8=W<#(-m+Q+ANw484#3Ie`uqTRPvbry%Yt#)&Xb9wswsZtZ! zw#|jPiE$;L&Uv4+X6G8|=C@Z>rRK!@X>xt#33B`0aQk!p<;rROZTj|AgzVxu_J7;y zr4!UwOE289oOqvW|9W})mh`j@0hfj@&iv!dAIARvy~X!dqkMGuR#esuN*t-}*t$<{ z{B>$JyY9k1?FQHS3jg|2?;EAGu9~&tRs0|SR=>LZy`fJHpO-QR?hV+#+i>rjdsokQ zv~2Ji*@u2{N@6&+y=BLi8=useGDsJTz1oa{%XTm2FXDTAl#)Ip&ufIC+N%gss2yOzmUdw4~ zoD2M}e*EVM!2_@Wd^>GXq;gq=Oc5CvAcn#5mk>?7$i$fdWIIqoaf@y>n)BgL$(fHe zU=c%<5fUDc(u%lZ6}^L37)y={7jlCX7KrbZy_4<>knsh~P_!aM=DD;Il+vQ(Q67K? zNF44;%ZuccS}D^e8gvE-3__(i-cv}rS`tH(;=RtMeFEf|F1@15QgC86%Io#TWGjF$ zvKDN`j@&*&YxgzMj0ZenC{mYxMx{Z>gv1{bTL1_rGm%3IHzSrx+P3BCdJ%@D5Fj6Y zKwNRB?z02@h~-91i(E4j#*EN`&$dsQ79~dO!n<{gQ0=g1V51rHW6aJ;@(?;sa8$JRd5EDYDJ^niz$Z(772>k(=3FIi&FsOdnmbLQ zd)#`Hh=D4Vk-koCGlAUd)j9zW?I$xxY7pv2{dNWB_x@>lj^yZn2FSND(!2=Gc$5duJfGr%0zZ~dfxz13tk!P&b%)xu%H zRF~1_CC4?28`ypV()-$xKT30Z_cyU(@Tvs ziY2P0K^)sjORXnD57ro1%e3$8bu{>X&WSs?(Gb_XmaaRFPdor+f~nU4D*YKCva_!| zedI!C0b3+CjiGhU?iNvAb9(PKj3JV;MPr%y(b~w(oDbSGUGp{bW^-?<#u_~sE0Akj zpM%9$cENR+*kV-CH8Y~b@oRf&FyRQE4vk`i2NcUR)Y`x3mlKXyup^yFzs?lthjl<_ zR}q{_Nsi0KDxd{Bv+3K>+grrEU%n9tfB<{^|B~@%k^1cnx^$~bGu&q?VjRzC24M?M zOR?%y0^}|RuM(l2ven&22nU*3eO>jMpy|=_wSmSokV1o+zq&fcFXiS%S2ZU%n<0Pz z2^$BKRZheO$d|m$ed!ieI*gJaw_Z*l zvXtaI;I3=lw*S1<=D*ZKEv`yiRP_BOwNkD1=PI2P)1DCFz;j;kg_!fnl)YFwZ%F1vu9FIc#KPkcoDeIpJ{T-4vE0ke zsfRX4qmcKk=r%toE7p0=RM`kk4_ z))48K$b3*Y{%rm-icdwI!<;!zTC=cK=f+?oLUGe@k>eit8`ctjZ$YIqM%X)mNBsGC z;C$L2I#OEndzuk*yjEoZmus92nPlR%GxG*5PhS7A!i7 z3I0@4@Z^$T>rfX2L%)2wH{#yuKXC8-f_p#?uU=H9?^ojsy`0$12u7sJ-DZuI36no- z;&1>e5`VF?%Os%hBwt*TZ6YAGR4H!E>e?rOe)jg4S^!`zVB@27oIoBMIe!)_VNhfI z;{l@;*Q36$D4qv~gFE&7n(_d^6T6`H55Gum!a;8w7Q!bQZ z!CK@kCsyJcP{){osA?5f81#kiEB)(F*sDKnyCVpKsxR%Jr`e?04ZMYHqhd^Al2C=$u@??~mL*n@b|T7K?9${G_&6tvH#rV8ZsN`1p!kb!-MFZ+$vX; z)=#NqcfjU@1@q=3Nt8Z8Q3)-50}oS}%70*KIn;q=3Sx(>@Gfd0TgWJm&=R7L}zJ z{wf3#7nj+fPNC;AF6YD;Kpve$Khu5ILD#;L?@kX@f_j()rN2b~{sj8+{~CQ^GSM|8 z11BzVOCE1I3JWu(-CaGv z#ummtq~@x+Nunkg>BjlxiczkX)g&YKT91q*-w7#=)x223h@|kkxRi-78gb=Q$k43uWetXv z$;QKI@RFYoig(iYkM}STay1bcq-s=!Q%?5r$0v721dP7iB=tlJ@|b8C*AJt4xSp7p z+*u1)K?2n!&RMiI-?xdi#_$g!Vz^Ih{2Bu|nMld)is6@u^y>^b`P=;`WpGF~eXb#4 zOx0&})_BBci{g=ch2_ZhC*lz`OsaxD%9zH diff --git a/src/member/templets/images/smiley/50.gif b/src/member/templets/images/smiley/50.gif deleted file mode 100755 index 9a779364b3381afe3c1faf86bf94a29825a43db0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1537 zcmdUu`8(8k0LMSfflxz|tk&_>LDFoqa%CA;2&*wNLJ?|2ZqbHj*n|#8a!frn({Apb z2H9+m<}etNVTq8{poAo>FwAG`57<9o-#@>8dA*+JeZ<+(%sfy7Xn-#q&_@Sws1Od^ zfMexwl+}C&!13zkau3*-3Pp*X7XX~?h<~ylzHcU{YY8I2mueqri@zudB=Qh`*jKm) zj#a?Pr*q|w1>+V^e1KHoU+WE)%iQ2FBc>jStw*5vF`EoBN0G)LaI??iSpa~e5AMA? z@)r#x@R8(BWb&^0Y(IB`VFo|6bfptu$CKHHEOoPlhjJHrk>-Fs#S#m~RZ1 zt#T4!XM~7BU3(s0?FC}kMqwp;h4HxQk8_h#)9~H1iE{Vk7YLkgle9#SmAEWd9-FUm z6<3niyE3~H0epQ+{QS<^(wy+pcc1@$A&63$xNW+&CV^9&;p_XBLrZp2V52p3rY>08 zdQ#eR8BWx}-jt6Ion}}^M{}(@uMni2=YMHK;%fIt)*zo=KZpI-B>br5{(F(N2y74N zO#zZd%IgAxRB%edi(IJiHds%lDyHCTx+M7eJ424^nxAbB)o!tngAaF}b0^ z4IR5>Z+Xs4C02~4*HRU<)=UC1zw4l!4T>st)Eqv=`5HLRh_I2WaMKvs31 z`$%ce?JbWNM4Dxah1%NbegYz=ICjrL=ULhiipr~^XMbOo!ge924k)<12?)Zz%5e^f znACJ4c9okSGIo|7PnX+%xMa$s$QIoqhik&}*fGps{@K+)5ojzvRK9;~GtbgD!(rZ? zzBuI*Y)BSf!DV46rX{p zP<1fB%0|=p>er)aESo@`UZR|J(q0cmy$n%WCJu}K)*JJmy*c@S(jFC9xVr|o*)?!t zOCF(4o$AL7ajZ~NvOQ>H=aEyPXc6vD?PrFdj1J(5D_*h=SSz%(^PuyTn>@-!nVjPp ze5Omu2Kzv4qGOLig&8Rox%Bf~-4Mqp%@zHgo0{$|cg={*Dj(UaDQ*-QgLWIzCb6Ns zg8}VL!-bjkJeIiq0X?fXaUKY+(fAo#zJ$h2@+%KN!A|og+pg+*N8_lkMlxMhEt$)J zfe#z|O|DG4O7%7~K9yuTSVT7oCKdbsi6wc&p1XPDXdb8jEf%$#s?X5n0UIdxSvtlrMJdAqCVI-OK` OtDG`%76yX`mj42tdy*3X diff --git a/src/member/templets/images/smiley/51.gif b/src/member/templets/images/smiley/51.gif deleted file mode 100755 index 2329101a71efc84d76fcdc0e0acab11fa4b832fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1591 zcmaiz`CHR<0DwP}L&lIuF*#H&O|Aezlbj_?5G=)s#*<+N0zN*8c|ifW$T?*MMCdV={!Xi5#LG40e4#>0i)q@ALlpK5xW<{lTBaI{*i;3;}$} zo2&VJ?ru0bb{CFO;ar!l`5Sby0ghKma=hOt`_WMkPIQLXrf3z(gKut4Lv*C23L3|6&JQ*MX zbb<*roc1Ijyb9n=;j92^T1=v>f03ktRQuT~ z!a(*`lPFW)U9jAE(!f90bsoTHm9k6#ry32yV)(3TIM+jzr1oB2-*eq*vFSUwC=#Vv_T3;3rn%|c;?#vKVA_qQ5Eo}x7aX1H4K&+_?L8l#2dP@f#e< zg^Oa-XqBpx0B73ZGz%48LHn<-h>P`Ixy!9rjDwWL`_bA5F=$^3R6hm)xItW0__3q= zLW$vlegS5fcS>iDwFeORzU8-*H~?Vv_7m*JNTi0BW3|rvL=Qsi%(o6A;m>9tv*n);d&Gsf8@<-chbWwt5gg<#MUjXc8KAc(0k)( zO)d6)Qr7A$U;h-(9G0lO!Fkt?ix@Vq`U^lbAK^|N78ZYpzh+ezBIwy}gI6PxX_3o1 zms7oc2#-}<>beItmJkx7HsTH~s7(2%JDY<7@4Z22Ns-F-J-wdRN2h>Gwywx+-}LlB zrR=IpTuhzijrF@$ZFLQeCOdmOaW2aWa`}A922Ke{xP{p5d1N0r#|Ho^})r`0x6f!&nrKuefeESr>H6W;o@;$Sugb3eS`&?dI) zkJyjw*<@hHMEK_G5=*&OOJ%H8n>@s{$xtu4ozU4aDlWv@(w9K64zNO^2-XO971o3R zGaJ7cn##wtON!9qc?%A3|fKf8MozIWHuB(tmRpWu-7~ zzZolM?=PPg1PtVD->{Doe0;6i;{E+OWgPkMVUw86fMM_Hx+Nlen8k}Z0B3`65CIb|6Tc~Tad44 zKhCo6S)1Ek?GjzkUzk9{e%k?SPq4ZM^E);YFWF#{r!DLP*Yb}Ab0b_`Q@?3NF72p$ zJn#5kV*lkPq1^{QDds9e;MT)ieVV_wa#^$u4~X7dlJ34OGLGz@`h?+~I9ssfu}r;) z(Dyy35qDqFq&h|Vc6pm`7ysoRkkm)sY3oo{=*H(6$shS;Fr@C_V?t~e5{`3A7l-0b zRf-9rJ|xVIZRSkw;a%9Fc#*RYE%C$*;<$b{C^QfUv~fi diff --git a/src/member/templets/images/smiley/52.gif b/src/member/templets/images/smiley/52.gif deleted file mode 100755 index 644748a96ca06c8518ed8618b9df99265748558b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1547 zcmV+m2K4zyNk%w1VHf}y0Qdg@^Sy1*hbF{v7S)Oz(t{iAty=oLV&}GV>Zw-$>cr}z zLI3E%|Jjk&ls?LREU{Gp^s!d^%8LHYb?2c<|Jj!E!h6}4GymhV|KO+p)`_ll;@0_ST~O(V5nfGwsi#=d)|?uVUqw zHs6yv_Nr62T>!yq0J&cPy<`BpVgS>C0KaDd#B2c6fdIB!0L*p(v{?Y}(xcLT0RQB* z|L48Uc>vLU0LpX##%}=o(3bJ9Sk{jw|K+#;)Pcxy0J2vA|LDK{$7}!OwEx|o|K+ym z!H)Q{S?R=%+?PWC*o^qmnE&Cd|KhCAdjR;-n*Zm#`Mz)K#g6>KXaCT2_0N+0(wYC^ ztN+e%`M6*9t5o{Oh|Yr^@3?B}rAq(l!snkz>&&CoiYEWxquq)s`_7d9)Q-}NG~=#i z*OW8*$&9^W0{Ogf{L+&D;HdiZ>FmFK|JRV)n@9P#UdwkI(T_~-z8EW&PNq)}CDc(1QKep!Cm`^SENxi5BpnMc;@c-KuEtwO#$ncHgso`@m`7uzu{e zXU&2k>a%Onf++vjjPbg1{m5?kym;uLNYtNb>Y_}^b|B7v82{q0<(D|+m^t>fSJ;pz z{LhQtrd{gFqwAnO|JH}=%%#+cBKN~>{@}0Ws#NpNnCqrf%5DnSj2rE(R`bS$*o!an z%#r@ieCxPy?!R{a)Qs-1UjNsR(~dLOi80iTH2>9#`oM7W!+!k4Y5m1&*?SZ7tx(&e zSlgpq>6|+J&4d5vzWm2<_`Y}l<+%IEec`EI=crl!;jr$|qwK3w^wFF4)t48pl>h($A^!_bMO0HmK~P09E-(WD0000X`2-0R0RI3i000007yuXm00{p8{|OvO zu%N+%0-GdB(xjk5h6o25Nr1yhK_lr{Sd94336=y-3OZT9B_u~Fm$-ClGq6oDDB+}V z{CA~-8D;|pUNL0`&Xt*C27G`MWnh$QxgaAd(3JFso!WIbWQRoJ$ zI6@)|;dtc8882Rr%mWwUNHQpT5*$HD86T5LGr93^^Di--Zk*f{1Asf1-dZ6dRNU zIjBSl1PI(dDZyrFMVT_ZM0_*m;2@J-Oa#aTEwP-Ffe0qN!HOl2lycAv9{d8&2`j8X z!UiS0F-I2${IEqt4`gFa7uVQwLJ9^Lpn@12JTTJ(o&X`^j5E3j*Np)I03rDV1rz}P z04x9i000;O7ytkW{{a6997wRB!Gj3@HA#{LN5X*%lQbb{1Q-`14+R=YzyjkyCsm#} z$@ovojWrg`4U`g63P}r+o+$cMgO#Ds-eZ{KPnTz4B7_j6c#L0%<4iC0!jlUi@dBs;#7#= z9`P*E;|J z&>>HjAP1EwR}m0Ofe$5r9sy9bA&UqJq?8=w7mb7fCQLk};*_O?2@R9bLCFjVZBd6C x`_$qCGH+<0!5m%C!NC>}JphCwZlo}Q0UW9zMja23WFZhFmPlfVW~CSq06TQmCO`lH diff --git a/src/member/templets/images/smiley/53.gif b/src/member/templets/images/smiley/53.gif deleted file mode 100755 index fbf275ba500778d06fb2709e0e5556ae8afddc16..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1591 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 K=l^qQlJ>@a;;dZdr&ZaN zGSi1F_Sd7YYjT%ZvZywA76? z@484A^aR9bq1GZfO|LxBI>c+xt0p6ZS?66+{*_{5@n$mq2{?wQE zv0(q}$o#~0{KIqJnl;;_T=%eE;gdbFS_J>>%m3=d|LDH|$Yj$jVIfQBI2Y*xn2PO->d!Bp7zzB^2dYlzIX1wb?&}$ z!g({#eh~JmSFv0K%5MVcnnlu#ILv<;vRwoAsaF5tt<-@4|IdT}&Vc{ovD1J6|Ivr~ zx@!N}nD)ea__uG&cL4wB!O3#~_P}xf->LuLtpDP$z-R!@c>wmmZMtOwuUZ88w`Kp{ zsN|bDykh|WB9EHcImx@`PQ5J)|>g!l>5||`_7Z^uvq`*y7Iqv z@wjQSR{-IYFYc;Y{@tne$Aj3BJ-%oG!)pNl<+}gdp#RK$|K6$p&4Ko;S?{r1^vQ_d zoJHflm*bW-?5a@uzjf1zGyKJQ>9u9ec^vAhQS7W$^2UJq!h_wKMf1ac_QQDRuv*@Z zI@*UG@w{*OxM%Uni0Pz9(1a_#Zx#REr~lfX!FD3tlseFRAmhTL=(1h>&5-}$u+NZ6 z|KF_CgCgw7m;K0l|I2;eqDs(o1<8Rk;+aD9%Zb~pegD;w;G8-6)}Z*eXxWoG#&sCn zmp#&%T==qJ`OuI5(~SAloBGt4`onzt#ee(9i2TQW_tBO3(U$tsl#}fSoW@5^2LDo&yd-ZF!|G%z>%A^!_bMO0HmK~P09E-(WD0000X`2-0R0RI3i000007yuXm00{p8{|OvO zu%N+%2oow?$grWqe_JB%iMXX9f-e|d*kJI51PP896Ix(ELV*n&OepBXaiNqM7fTu( zMBwBO1r98G4OzqI$P*2M?r=b0u#J*B4Gi!rcEx~(9u0gD(BQO98mPoIwEaVZrQeQJoG18L>#D29lW@UK~u>AfVEe1>MdaTf>MTn|y4>h}k_x zgaZg3Y9PY`C)oitYzX4XL=TTB6ez4XFk-}x^?D%mB$0!M;4K=)E^&RMLubGWR-PtJ zLc_k9D^$MDl22naz? z#WFBF^2!5>bm3taDgZ$PItf9c%?vQ`l0pI%wD<@M>=d%lEQLrCM>L0op(8Zm$k<_#wjDpLTDU{h1J=PKbgX(j|f<$IJ~c9t0f7 zHbwJ^MQb_~{DJMq7%`~Fc-SDsUyTJQTJccxqhOG7pQ!Lap~uPy2p(!6n*t{mDO^Dc zb^I zLOSg0cVth8u!9iD2SW-EbfHKW2zD`!3NJvAP$5;!FyI3TRAAvFEW}|71`0uefh2L% fa!42?rXo!ig)me=7Fm$NB8y~%QUF8^1q1*)ck41~ diff --git a/src/member/templets/images/smiley/56.gif b/src/member/templets/images/smiley/56.gif deleted file mode 100755 index 8f09d336a30070add12af16be11397ac97436234..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1519 zcmZ|OdpOg390%~PWrc;3Sn0@8opid;dgSt`7!HnvbR?0>=91i&lw86_Q_(tEDVJi! z2^HOp7RE3kw+@Sy%_WyOq#c*v=J!21|DXRp&-;1*@qS*<^ZC`@*2L5o5Aa|ff^W~f z<&EKRunbB{p`--;RD^yihM(?B?pVN&x7v~oVDB|vsD`W|W}z||sq&e7;@%z$+G4;| z$Fhkm%FYjW>yKchnc-R#SJEBEb4Und^ zo>YUjR3g%FMpjLcz73t?#z>w9O%=QMJUZVHiW|+f9L+g6nr%LE$E@cju_2!L!X3cj z*R9c@B^uNQfj54DcLr4X066*<;rhX`+Si`Tg;)Hu0FH3#LqJ0q;QE8NWbiHuG@k>F z;mdhNg%{{b05ySNvLdp~4SYxf(_L&h`K~$ubSHwP-h!q`0NbgH9B*lDe0K)1{5YsQ z4Fpusl}_Y%gU`23JLADnCJ~NQ$~tbtp%-wnRa$*P+Lbr=A$P9yIGk)*60&D2LqyDd zlNAx;59~YQz*65MR8kHHpTMD)@Cz4yW>51Iq%|?py2~#;z;yY^MSeIG-Gc)~vmC#< zH$Ku=rzZ+*;rqz<@!O}L9q-R^fZfTkJ!-zpYq-=K?a73qtm(27vu{G@YJz)jTMlMh zBfJPym@DH`Wlagv3g3YYlc{3YcKXigr>?LkeV~*qZ%cs_eEIuyc{}qvCs0~RMg-@P zx+pQr431ULmwUj$r^vfFwD+#8@dErngZ+1r<`{V!18u+5ebrFT4}p?rvsFQG;2|96 z&AjlNc}YfEljJRl9jUt!{-p&@Kvm%S%7BgB;Pq8O8_`y(v?g{u-%(x{D694#DDqlr zrizzm@Pp^x`Y$zw!0}os_q>!FJ(@>C``Pue#-e++P?Q7zN?mw$s*OS9#~F|2TJ_(v zlhucP%Cp&dJ8@ z7|GJvX5Sve6$(G1MMY&z0Ku;1d-+N504PBKl{eXyJ>b!l*6nmNvALRQfLnLcgWcp{ zO?L`gh@gHG=lpWuOVob60-1gjyRD;=U`a^dbe}396OI)o>6mKlbRpR^tL(S1c)6DS zP;K2dB_3Y^vr=Wv<|Ft0c&@2RT6Ei1j?wdx)HV8XVTMMSRqAW?m9Aw9+_(1KHMhB* zyVg~ar^;D%bWB*HulfoTziM>{ArL71v~uyE-zW+vS@wE|-3Z%?kF&J!vu;Kg`7U|q zqJJ+pFZkOI3wkof%)nO$Pgm7v=S{;kUEY*d z307E#FD0~l7U>CTOon^VExluefF(y|YMFXAl{vv<5bAZSEO*#ymaqtTD;?C8F*ak@ zpopC&`wEE7ZbMd9UJLc9T2BR50>UBr%wgm2N-vx>QF2!P_KnCotb;aI@dq&W|ABE% zH@8q6>aM`j(oTP@pViL?;!MgJ5v?p8e-qv7Ge*gFG>tJ4bB4K6Ex^R@Ib%b2t?DM_ zTYu*NLB?*()9qu}yI!%^pr0B95)781Ug%U4XFwXp)olw9?fOV12{aBK$l8@eyCTq_ zlN`o$wj2?p6FljL8&(zLr|L7Jj?}Bsyq#FHgFg3Z z{{b6KsqR(7aq*>*lNtrvh1pDJ=b%%MPdw{MIT1oNRH9Q7egF^Y?hce%GjWH5@pT7L zaf%o$13T@wUS?-%aCRBkc!BLeyt-8{ZLbH}S8bo>niVeEXjy)P`XO?yWW~uSo{J`$ P8RVDdk`v{67?}SHC9xom diff --git a/src/member/templets/images/smiley/57.gif b/src/member/templets/images/smiley/57.gif deleted file mode 100755 index 6a788f8be067976a32bf37c13482a2d41d367ba6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4006 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 diff --git a/src/member/templets/images/smiley/58.gif b/src/member/templets/images/smiley/58.gif deleted file mode 100755 index df70756f0c74d0aa64c84efe026966e941f40aab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1558 zcmV+x2I=`nNk%w1VHf}y0Qdg@{LPC0&vfLWPTihLp?a$?-P~o0N z@Y=oq+nUvdE$+mL`N4Vdzje=n9P7Go&Uqitdm+PZ3G1Fl*^@fhkvX|v0Mm*nvR45A zB7Wp0K;nlyJ7&kU;w{o0KR4bz-R!$Y5@P` zxc}07|Il{Kb^yyvBGyT?@{o1Ad+NSo_p!v97|LVm5;;{eJg#Xor|K_^?-JkK_%>UPo@ywX?)1dv< zm-f+@?7D6I#A)=^rsuI~`nq8K*rME(I?;?X|JjoN=)eEuwg23j{n(@b*pUC%jOVgz z|KqXuv047oiS*E#*N`^iz@GZLV*0*l|K6kj*p( z(R%;nvg@!{|K+v+=ez&sy#L&u|I>v3)Pw%nq3oke{>^j$&T;(6c>KzJ{?B;Wlt8y# z0RQK{1<|KYFx-mKx7LH^Es@VjyI#eDn9iQ>PW z^U#|8)}H&%mH*Ox+L%M#nnBBa9Ob7>?73_G$8GGlX#d}*{mOLz;H%u2KJTnk__}ZY z)QBG>3 zEB@T1|Ln~F)`#@GWA(mg`MF^DyK(={bN}6-*polgjx+4CTK?Uu|LVrljWh7PbMe1( z|KhRvxn%s#j{oGe@xgc1kTdwQS^ddx&3qiqeICqy9ov;a`o@C#$AtdNZ~3}s)Q>vw z-pux@Qvd(}A^!_bMO0HmK~P09E-(WD0000X`2-0R0RI3i000007yuXm00{p8{|OvO zu%N+%2ooy&S0qZ5A`24^p<`x9M1(L}B!OXY2@DuZ6f$|yf{8&USw@&lD1@XCgF-aE zOn8Lk5rZ{b+)Sth5E~^1m5^xxG+~S~HDV|YqcmEKIWuA?yppHE3OIJI#92@w-5noS z26A}vM9jb^UuF!dfd-ctFf~4i@bP5ejZ+IU+z@y}*EwGATKKtf!O@HxjrI=Y;Ym|A z9{+fZiR25K0|z_`Y{Og(GQl1AEcMy3;{h!bAQZ^ip#i{ZMmr1=QD9{Tf(Idp5J0AZ zh=5hooOK{#&7Qijd=A2?L@yNeHxV0J#)fwrpKM^@fXzgZ)Uf zqqJ+%8bQlc2@@nijhb!~5GFXlV4gT20A6AYfB}HwjWr3e;Ez0YU?IbUh{zDiHF$V% zi$YHL?bSMiA;K*}=6A>BV&xt3VfT9r>wfIj!03rDV1rz}P04x9i000;O7ytkW z{{a6997wRB!Gi>gM2S)ap~Hbg=$IMu@F9#ANnjXU0t3d9hfQ9zXkxHQmJuW!QV~hT zAQg-)9U>8l#Nf;pH5~>4#3qQrAY@wjbm*c?4HrnmAdTl@&I}h1tK@000*;+3aTZi4 zcgIJSfgGSf*)tHzml=ai@XDS zkm-Z2$G;xABH4qGhFy;fuF~{?<(Qz3e3)wJ&|yWL30Aho=+NL!^)MXT`If~}>3UtA7u!Mn8$|7`uH=q&JICun-~a#s diff --git a/src/member/templets/images/smiley/59.gif b/src/member/templets/images/smiley/59.gif deleted file mode 100755 index 4d8b15e7e625ddb98838f58ca001f3163c5fad45..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2134 zcmeIx*;f;08prWB5RxDfSu%0He1Jb%FN;&Z-_?>-+_ zw_pok0hZ=K-3id}C8!Mq;&AZzBzWH#(wjnQ3I+F%gNGrYB?8DYC>rT^16L{1R7xj{ z(tjCraVYIqD8i$l>KIsjS^-}c4KM+mt{-Fp*mrK`HVrD9;pDxJa{#J4;8Y!)Zh-wP zMXnc=XXxbFaO(bQ54R_g(i;oli=sE}iRw~cD2alyIK{*3us;sUVwc1x;Q)K(@p+Ae z|1y=JF7c9bw~z4Lmc_wK;!_&&Uw)|w)V7~qtfH&SKZWv4@!3sqC~b8x?Oo-u)y_++ zPfn@wUA2;A<-RRes3?OYg4U=_vIL;*h|oQ~ z230L^{D+>)HWLDG*caWMK!PK=P}Qoe30I`s!P!T{-%{qEHR&V?>hk^L0&k@-r0)_K z;eQNY)x2+Is~Y0r&k~*DC-|a7ReurAKGuzv!O8o-$eUD+T=;YESjmw$-C1z@!BD#G z@b$d|9HaN$SKH14Rqbg_4-d|Y`r-|jAH~a(i1X4S8Os<>)%S6U?`lu4_UEk*<#$B` z84Eiq@O)L5FkkuAo0lzfy+zA&W7=nhLp;h`S>78_oc3w{!f?~dlPg;Joz=mc8rgN# zLnc(Vs_HIi$Eug^oq1W4u=F5C-58^l3lu*Djplx=s*BNdXFkoM%>NiV%(qike?40n z2CMuOSE-xg22$;09D?peg;riP zRdE8&G-`)S-rYR{{)Zz%qeI?Dk9gAjy`6WE^$~xcBCa3}abONOtWQl%+TplGjvOm8%mS9{W_!dxdHu+9kJ*J6y1 z1sJpt(TxHW9KtmPAgnzDrU}AD?*jryFTeU_)2RYr^H*fb-m}(R1B+cd8A$hl=~kM1 zW+=$5o=qZb-QrTaaG2Vi&BX=L+AJ?E@VpV2<|=PfoRf>#-NeUX9EmbO{zDY}j;PDO zL=__CnyAAGcI0A#18VE9(Jrp(EPG#)Q7Pzjw58b-4maS-(`a`74L%<&NSU{`)9u2B zRP~^@_@L3o4CiBxN4?O-I3~~2kFR(9r+{trFluKqA~Br74i$-*HF;)t2t1TNN{?iH z%$lJzN&W=+9X=z{&V%&HH>-Gy^UQD4c3o6)U3nc0Hf^IB*?FM#Q?}W@uszIk&CO|O zleTCTWGLEUi@0rH4N>9~ETT$iL64H`(^N zabrv`9%Ju}?h1IOvi$Md`aQ^@uS4)|d?P8HbiW{|o?d*}J6b_SU?R%$w}E7A9w!l% z6K~;Po<#ljyXo05Gf4_q75d zM1-gsA;NkCV{0n2gO}rmiHJ8fFI#77w&Svwn*&I-L?~`z+=CH52eB5ct2wbzJPBzt zwbbbW(JvXb{)2d&^tBB!aeHWE6?#J;j`45KR|<~Fp~!!78vI_EPQT^+f0+Lv%r(i~ Fe*@T%#YO-C diff --git a/src/member/templets/images/smiley/6.gif b/src/member/templets/images/smiley/6.gif deleted file mode 100755 index e24a1801c48d9d149c96ea5bf449697c1ceac93c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1780 zcmZ|Od05kj9mnzCFBb`riv$SaN*Gs(LoVe|XduCGbwaT%N}V7u?X$A#bdOjZmk3xL zMWvPr&rGWVMHCRqF)bz>$|Xkx1CnqWKm_sF_!G;)K#=!I4 zFue6zksudd$WJ&4+DiNfo!&H!5_6TM|U_Nqw_Sy8fLLq;g?j=t0sa0a-D$+3e7d?LU}@l_MjAYM|GZinu6-H;+Em^0 zlcjox1_n{N*J+wUuxsJc8;VLM&nuGhX;e!1{Vy6gP3VyW5n z-Y3Sl|3s}h##>*R9j^KF{G3Yi{h`(2f9h+DyR%L%wfo*rjF}X3Ri%zgoq{(jue4nU z#zuz5pFVk0X8gS4LSuI5oNB6?iGj_2(42TwdHNBXuB)SO>UFTG+bAs5bRD{3hQG}= z9B=$;q=-8+HLg?alC?Lg8$M_wVt+Zo+^i#y6L6c8f|hRr6gPww35<=$-VIs7ug9vj zqgU1xC7{!QPJQ=65)>7|s2_|6z^el=8=)WC`MR9^>ZXZ0_2kS|dgqR9EA3vO6OWa- zz)aX$Eo1Et6Yep`E>ah82&lqgZ09`R6E=#W-v!2n@FH^TGV=izyDV{&Wi#R3xM1{$ z;62fTz{p?^S2rw*AP9F2M`9v?Y1iT$op`Z2)+zSelBTnX zUs~SC4Dhf~c;$?sEXUGC?xB$A?U@0q?)DuYMfiK+giOZK9LW`5DTRBfwwhBDF55y} z3@mhZ+eSv@^GHWBm}1KSwvVDd1pK ze=MYyq!{mc!VjSz-F+Pi>7F>-Xcxpzl<{fgE5|d35<`$Fq2ly`OKDBCSzI0twV6<{ z+hfJIcN2t&kZ$hAr7+C*ph6tsyyy)1sF!=B%l^+3GH^k(%s>*0Hp$2DSfJspwjCbm zalr**f($WUNHA{lJoX@}6(hO4vg)kxcr5u+hnY(v5@`5(0l^r!aFAS!6AK>Mbc3kY z5Zh1ZYOw~+96oBwi18#+MfSJ|3-9t;gxgZ+DYeT;@sN0sNWw6)VX-WS6MtlqOl=r6 zndP6%`>T+#(>McX8@c(Da}bLD%8dVQW(FZ}_|~OcqF#m2qy8TzQcgg##s4s~{_f2A zf9BuyiTtwKTtjR5b-7X3itfdH96cA4aSZ=+D2CCUZzoLG?Q9j4%6ZXW@*Q}ril`6M z5C2V9ZNTrMS|8S{i|OSQ>8D@xuD4zg-pXkRJtAH_aVDq20qgm^Gt(?L&f0RqZ&&fP z(|5h^5qka5bME^b^rzI(Cf*_kYIZZn!kLF5?DJjkOskPzSV;2?BhB&idJ8gRB)*Ny z8B#wpo>yhUL>7+jO#AWFL|cOR4k2j8A*BW3=hg3S`$SHcaj;p3`zwqp9R(Pg)0BpsDUH1x)r5y+|Imb k{n_ye)X-{yMt$E}oY2c`*&^xt4eO8Jx86gUe`mepKi~&fM*si- diff --git a/src/member/templets/images/smiley/60.gif b/src/member/templets/images/smiley/60.gif deleted file mode 100755 index 05726dc4abb26afda444aa8b059006bff0af1bec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1219 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 diff --git a/src/member/templets/images/smiley/63.gif b/src/member/templets/images/smiley/63.gif deleted file mode 100755 index ed5d29f428799b04d07715ccec87fd504d5325b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1413 zcmV;01$z2NNk%w1VHf}y0Qdg@)uKApq*VU24*&f2|J*wG#xVc66aUvW|MhL<#A^TW zUD?#n|J5QMjYNWGVJ>gVL+-`w2S)Bpef z`}+Fb*wl_?LI2`H|H~%-=uH3VP5(JBq9vBgh~AH*2{?+r(h7wiz4pAQhRSB&VUI2`t1z?Wz6?(Fu)SzcC=TGS6;@zAd{oh2%sfO;kHtok#^|>?j zrwj0~AI^jhy?-wM_H<@oCbMrE*s*Km;N9lp-~ayn{NF+U>QRk%9slc5^U*fhq(a=K zM5<#G(v~x~f_8G0;5OaKv7&)tw=$LMI%-PY9U$(r$DePSFBi3LWlqZRmS`v zoTjP3xFlK>WKp0ciI5BobSXP_&`_HTiB2F8@!=hUEJx0{`{5bYT(E$HTDS zG2Da=OeM(h5-DD8aVU|-pOhtr$?S15(9S%|PaOMw0@~jk1HX(69EPp0;|CaQss4cj z%PSxQIpL$G!&whYEdq4_fvOWPAJ$x*5wHfhKy5Mz2sx4kL5OuCo*uRlLI8;b2+5eq z78pq#gA78h<=olxCj%-Pu;h>xWuTlsp-@1;6iQTK#T7~f;Zi9T7;wWOUBp6A81+zb z06r9qphgiz1c3w<6+l1(DVXFU*g&7e@rVSFynsYMMNATe1R59s3?O+J!Nfsm%)$-~ zBy12w5NAMu#RS__0z?xDmGR6nrqp1-43bQ+#TSk&AdN+06w}QqgYdydA(sGw3ndl_ z?aW2REs12d6;^kND-;_ T1`??H&;{Fp8wOrI7!UwEF@MpF diff --git a/src/member/templets/images/smiley/64.gif b/src/member/templets/images/smiley/64.gif deleted file mode 100755 index 85886fef9d4aab3f4b73d2d24866c444319c69f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3366 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 diff --git a/src/member/templets/images/smiley/7.gif b/src/member/templets/images/smiley/7.gif deleted file mode 100755 index 772eff23e345569189e0dd16516733f20d7b4442..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7189 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 Xuxw23Rfpg9B+Sr_#wQz+kd6NVg=R#0 diff --git a/src/member/templets/images/smiley/9.gif b/src/member/templets/images/smiley/9.gif deleted file mode 100755 index efd650f5598c031ec3a205351c95d9d83bada14b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1808 zcmb8uSyWSZ0)X)ggph=U1c+&Xa7ZG^QUqj^MKEFCr9el}Dod@@gH^ORwWHWTB4QaW z3`oJT0xAqr2E$Saij@??8X-`WWdKPa?AnNIN$$;m@XVPxorigtx9|OTzTnUx56@&O zM1{5hv^?_p!Y>C_8Z5;eoRV*$>Tr;inmj&-ho_>!OP9^DQpJ6J^+?bV&rl_D9L{H~ zRPI7%V_w{#Xb@N~omL5~Ww-RF?wEtch{d1mL7x>o#$K&qs-D<_3D192`fHjDK&vs> zy0|cqAo`l{FvSR&@>Bh63+6+bvx3yaKFVe*<>X&mF1vJO8iV1z0Nw;^e_HJi1nOc< z7XxgZQTOcw%_M*{s9*SkX&>n=^6HOf&1txXlNfk1u>Yzl{K98^WKdqB504*&XQJTA zPWDrJakbi)lA9TJZY zKL;X<$2pQe6<-{^8tjrq&!oHzU3 zTXSP&4KdqYzOR3d-|9<+<&Uu?)Rci~#_R9L&+wHzYmDq84QQrQ2s_5<)wO?4(rQ2_` zy1aYlfh?vWvyswrM*kIz^x2;^OQ}x^KARqY@oM7bmM{>WIr65}eNir3?eU(kp~GFy zK$*Kb6a^0**cO<*so6DOW(dIOVyml07P-)5z0m5gHhA#eW5(NBL-00ny&B)~N8EZN zwfSr2LKl0!#sX}9xh7%#T5Qvt$y%E#>%B%rCJ$<+e35#6q#ln<$IB{c%d?Z>Z%CSz zPnC_v%0@CW6M;w%4dj^t02n|&DljhApB)|O?BJxM1wjx)iNfL_0NL;K&LmU_!T<E~Nv7hGSrv16dS*k% z8F%PQCFH$1#kmP7A$diPSl5fD7xG2cw$9rMt>~ZtLO_`CX?cNdjPRI9c1r4^4Ouw2 z+*YuQZXS}HwxAitk#JWTZjp}#ySewn^GtIlF2;ADw5|PgP8kaM0iAf-(T3B)eg2(B zc(3E|_~GygR+tyA;KPoq5tK6tccZm->om-fZb5{ADlT7&zBDbpWX!!)m|g&Q?ef$a zUE-NE*Yv_`VR(-}Ff+I<-}e$e$V5kll|NwXcwbzPug~5SX@1%V1?eo^em(V4v$u!}5_GXh6 zaCaw5ggB$PeP|RT!{zS`oNJ#K6qK8>E1Q`wl-_%h&ZUes--z^az}IeF*P}HRN|_fr$1Vde%AvMJI=x8miRO zMZIU&{eRg5rvEqln5*yQx`LzUt;`3`njW~})gvn;`{o8IY(hAk=lfDUk_$Aos9E$yPY9qqk}(4bE_*?@N=-JC?0y4nVoz+*Tkdw#P}Ky zM>V0gwQb*jRNRzR)JA3=&I#xG{C2nPy08!H?N#U>r|n8Az3CVJ%MP+$;=hosm4`5& zTtOdKaPIvZIVaKFW(PUxd`DneR-utiufoz|$5@5TjzLyC$S12fAsNSJ^x_g9L?=+B z!9Nh#27$@5%NT;a+{Wk*tEIY-g?>*=Qi@_C_4H^JLh^n~!w9<0()sI-zb8J&^N8T_ zS^6cgU%vD2iIa)Mh$Qx)UAu?z7>m^uOEl6=r?ZJZ0w**vmM7_jinkddY>m?lOAk%s zd`COqSwW!e$A6SF6O=S)_>bmu&!FWxv1f5 QBu;etXZK4eWD?~4PyES!QUCw| diff --git a/src/member/templets/images/sns_box.gif b/src/member/templets/images/sns_box.gif deleted file mode 100755 index c004e57157fbc53885988dcbfe88eec74dd8c1b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 279 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 qf&dQ7aSOWkew@F9< diff --git a/src/member/templets/images/view.gif b/src/member/templets/images/view.gif deleted file mode 100755 index 0d053ed950f899061473c1eceb4e4cd254e86106..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 373 zcmZ?wbhEHb6l4%!xXQrLbf%~0)3nB;oz?rAXI@@BbLPywd-g0oz3j`^UrU!P`TOhh zq{)3VuFN}o_WXto8|p9gR_&={`DVkr?#HiRb$^=q`qig<_Z}WTeB{~F z*LUvTdHne4=PzI0ym|Bg|9=J&f#OdVunrv%3Gx#I+oS{23p{j$qSq}c>eSd3<)--Q zg_c&w`G=dYo+{YcogaF_X_wHcpr)xQyy0o=+*_SO!?e%8>P?XhXwa_L(5ZIP*3;2Z z*XrtK;pb`7*VfURuBE9tT}WPPvYvF$bXHcNeKLv+;?BIv>KkP_nA8{*7#SIy^dx5O h*Ax?AR$*om4DvYT?0 ) - result += 5; - else if (strPassword.length>10) - result += 25; - else - result += 10; - - //check letter - var bHave = false; - var bAll = false; - var capital = strPassword.match(/[A-Z]{1}/);//找大写字母 - var small = strPassword.match(/[a-z]{1}/);//找小写字母 - if ( capital == null && small == null ) - { - result += 0; //没有字母 - bHave = false; - } - else if ( capital != null && small != null ) - { - result += 20; - bAll = true; - } - else - { - result += 10; - bAll = true; - } - //alert("检查字母:"+result); - - //检查数字 - var bDigi = false; - var digitalLen = 0; - for ( var i=0; i= '0' ) - { - bDigi = true; - digitalLen += 1; - //alert(strPassword[i]); - } - - } - if ( digitalLen==0 )//没有数字 - { - result += 0; - bDigi = false; - } - else if (digitalLen>2)//2个数字以上 - { - result += 20 ; - bDigi = true; - } - else - { - result += 10; - bDigi = true; - } - //alert("数字个数:" + digitalLen); - //alert("检查数字:"+result); - - //检查非单词字符 - var bOther = false; - var otherLen = 0; - for (var i=0; i='0' && strPassword.charAt(i)<='9') || - (strPassword.charAt(i)>='A' && strPassword.charAt(i)<='Z') || - (strPassword.charAt(i)>='a' && strPassword.charAt(i)<='z')) - continue; - otherLen += 1; - bOther = true; - } - if ( otherLen == 0 )//没有非单词字符 - { - result += 0; - bOther = false; - } - else if ( otherLen >1)//1个以上非单词字符 - { - result +=25 ; - bOther = true; - } - else - { - result +=10; - bOther = true; - } - //alert("检查非单词:"+result); - - //检查额外奖励 - if ( bAll && bDigi && bOther) - result += 5; - else if (bHave && bDigi && bOther) - result += 3; - else if (bHave && bDigi ) - result += 2; - //alert("检查额外奖励:"+result); - - var level = ""; - //根据分数来算密码强度的等级 - if ( result >=80 ) - level = "rank r7"; - else if ( result>=70) - level = "rank r6"; - else if ( result>=60) - level = "rank r5"; - else if ( result>=50) - level = "rank r4"; - else if ( result>=40) - level = "rank r3"; - else if ( result>20) - level = "rank r2"; - else if ( result>0) - level = "rank r1"; - else - level = "rank r0"; - -// alert("return:"+level); - return level.toString(); -} - - -/****************************************************************************************** - * 设置密码强度样式 - ******************************************************************************************/ -setPasswordLevel = function(passwordObj, levelObj) -{ -var level = "rank r0"; -level = checkPasswordLevel(passwordObj.value); -levelObj.className = level; -//alert("level"+level); -} \ No newline at end of file diff --git a/src/member/templets/js/Dialog.js b/src/member/templets/js/Dialog.js deleted file mode 100755 index 707f491b..00000000 --- a/src/member/templets/js/Dialog.js +++ /dev/null @@ -1,6 +0,0 @@ -//创建多组对话框 - function createDialog(options) { - options = $.extend({title: "对话框"}, options || {}); - var dialog = new Boxy("

    ", options); - return false; - } \ No newline at end of file diff --git a/src/member/templets/js/base.js b/src/member/templets/js/base.js deleted file mode 100755 index c02a1cea..00000000 --- a/src/member/templets/js/base.js +++ /dev/null @@ -1,23 +0,0 @@ -$(function(){ - //文本框Style - $(".text").mouseover(function(){ - $(this).addClass("text_o"); - }).mouseout(function(){ - $(this).removeClass("text_o"); - }).focus(function(){ - $(this).addClass("text_s"); - }).blur(function(){ - $(this).removeClass("text_s"); - }); - $(".intxt").mouseover(function(){ - $(this).addClass("text_o"); - }).mouseout(function(){ - $(this).removeClass("text_o"); - }).focus(function(){ - $(this).addClass("text_s"); - }).blur(function(){ - $(this).removeClass("text_s"); - }); - - }) - \ No newline at end of file diff --git a/src/member/templets/js/changeAuthCode.js b/src/member/templets/js/changeAuthCode.js deleted file mode 100755 index 038bf7f6..00000000 --- a/src/member/templets/js/changeAuthCode.js +++ /dev/null @@ -1,42 +0,0 @@ - \ No newline at end of file diff --git a/src/member/templets/js/checkSubmit.js b/src/member/templets/js/checkSubmit.js deleted file mode 100755 index 7c05966e..00000000 --- a/src/member/templets/js/checkSubmit.js +++ /dev/null @@ -1,27 +0,0 @@ -function checkSubmit() -{ - - if(document.addcontent.title.value==""){ - alert("名称不能为空!"); - document.addcontent.title.focus(); - return false; - } - - if(document.addcontent.typeid.value==0){ - alert("隶属栏目必须选择!"); - return false; - } - - if(document.addcontent.typeid.options && document.addcontent.typeid.options[document.addcontent.typeid.selectedIndex].className!='option3') - { - alert("隶属栏目必须选择白色背景的项目!"); - return false; - } - - if(document.addcontent.vdcode.value==""){ - document.addcontent.vdcode.focus(); - alert("验证码不能为空!"); - return false; - } - -} \ No newline at end of file diff --git a/src/member/templets/js/face.js b/src/member/templets/js/face.js deleted file mode 100755 index 0ab33c1a..00000000 --- a/src/member/templets/js/face.js +++ /dev/null @@ -1,35 +0,0 @@ - //显示表情 - function showFace() { - if($('#share_textarea').val() == '来,说点啥吧...'){ - $('#share_textarea').val(''); - } - //采用普通样式 - //$('#mood_msg_menu').css('display', 'block'); - var leftpos = $(".share02").position().left; - //获取位置并且决定表情框弹出位置 - $('#mood_msg_menu').css('left', leftpos+'px'); - $('#mood_msg_menu').show('normal'); - //$('#mood_add'). - if($('#mood_face_bg')) {$('#mood_face_bg').remove();} - var modDiv = '
    ' - $('#baseParent').append(modDiv); - } - - //隐藏表情 - function hideFace() { - //alert($('#share_textarea').val()); - if($('#share_textarea').val() == ''){ - $('#share_textarea').val('来,说点啥吧...'); - } - $('#mood_msg_menu').css('display', 'none'); - if($('#mood_face_bg')) {$('#mood_face_bg').remove();} - } - - //增加表情 - function addFace(faceid) { - //通过faceid解析为表情代码添加到编辑框 - var facecode; - facecode = '[face:' + faceid + ']'; - $('#share_textarea').val($('#share_textarea').val() + facecode); - hideFace(); - } \ No newline at end of file diff --git a/src/member/templets/js/feed.js b/src/member/templets/js/feed.js deleted file mode 100755 index 5f3d93dd..00000000 --- a/src/member/templets/js/feed.js +++ /dev/null @@ -1,92 +0,0 @@ - function FeedDel() - { - if(confirm("你确定删除该动态信息?")) - return true; - else - return false; - } - $(function(){ - $('#arcticle').click(function() { - $.ajax({ - type: "GET", - url: "feed.php", - dataType: "json", - success : function(data){ - $('#FeedText').empty(); - var html = '
    "; - $('#FeedText').html(html); - $("#arcticle").addClass("thisTab"); - $("#myfeed").removeClass("thisTab"); - $("#allfeed").removeClass("thisTab"); - $("#score").removeClass("thisTab"); - $("#mood").removeClass("thisTab"); - } - }); - }); - }) - $(function(){ - $('#allfeed').click(function() { - $.ajax({ - type: "GET", - url: "feed.php?type=allfeed", - dataType: "json", - success : function(data){ - $('#FeedText').empty(); - var html = ''; - $.each( data , function(commentIndex, comment) { - html += '
    '+ comment['uname'] +'' + comment['title'] + ' ' + comment['dtime'] + '

    ' + comment['note'] + '

    '; - }) - $('#FeedText').html(html); - $("#allfeed").addClass("thisTab"); - $("#myfeed").removeClass("thisTab"); - $("#arcticle").removeClass("thisTab"); - $("#score").removeClass("thisTab"); - $("#mood").removeClass("thisTab"); - } - }); - }); - }) - // - $(function(){ - $('#myfeed').click(function() { - $.ajax({ - type: "GET", - url: "feed.php?type=myfeed", - dataType: "json", - success : function(data){ - $('#FeedText').empty(); - var html = ''; - $.each( data , function(commentIndex, comment) { - html += '
    删除'+ comment['uname'] +'' + comment['title'] + ' ' + comment['dtime'] + '

    ' + comment['note'] + '

    '; - }) - $('#FeedText').html(html); - $("#myfeed").addClass("thisTab"); - $("#allfeed").removeClass("thisTab"); - $("#arcticle").removeClass("thisTab"); - $("#score").removeClass("thisTab"); - $("#mood").removeClass("thisTab"); - } - }); - }); - }) - //我的动态 - $(function(){ - $.ajax({ - type: "GET", - url: "feed.php?type=myfeed", - dataType: "json", - success : function(data){ - $('#FeedText').empty(); - var html = ''; - $.each( data , function(commentIndex, comment) { - html += '
    删除'+ comment['uname'] +'' + comment['title'] + ' ' + comment['dtime'] + '

    ' + comment['note'] + '

    '; - }) - $('#FeedText').html(html); - } - }); - }) - \ No newline at end of file diff --git a/src/member/templets/js/inputAutoClear.js b/src/member/templets/js/inputAutoClear.js deleted file mode 100755 index c6ee8756..00000000 --- a/src/member/templets/js/inputAutoClear.js +++ /dev/null @@ -1,10 +0,0 @@ - \ No newline at end of file diff --git a/src/member/templets/js/j.js b/src/member/templets/js/j.js deleted file mode 100755 index 4fdf9f50..00000000 --- a/src/member/templets/js/j.js +++ /dev/null @@ -1,11 +0,0 @@ -/* - * jQuery 1.2.6 - New Wave Javascript - * - * Copyright (c) 2008 John Resig (jquery.com) - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * $Date: 2008/12/11 02:10:48 $ - * $Rev: 5685 $ - */ -eval(function(p,a,c,k,e,r){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(H(){J w=1b.4M,3m$=1b.$;J D=1b.4M=1b.$=H(a,b){I 2B D.17.5j(a,b)};J u=/^[^<]*(<(.|\\s)+>)[^>]*$|^#(\\w+)$/,62=/^.[^:#\\[\\.]*$/,12;D.17=D.44={5j:H(d,b){d=d||S;G(d.16){7[0]=d;7.K=1;I 7}G(1j d=="23"){J c=u.2D(d);G(c&&(c[1]||!b)){G(c[1])d=D.4h([c[1]],b);N{J a=S.61(c[3]);G(a){G(a.2v!=c[3])I D().2q(d);I D(a)}d=[]}}N I D(b).2q(d)}N G(D.1D(d))I D(S)[D.17.27?"27":"43"](d);I 7.6Y(D.2d(d))},5w:"1.2.6",8G:H(){I 7.K},K:0,3p:H(a){I a==12?D.2d(7):7[a]},2I:H(b){J a=D(b);a.5n=7;I a},6Y:H(a){7.K=0;2p.44.1p.1w(7,a);I 7},P:H(a,b){I D.P(7,a,b)},5i:H(b){J a=-1;I D.2L(b&&b.5w?b[0]:b,7)},1K:H(c,a,b){J d=c;G(c.1q==56)G(a===12)I 7[0]&&D[b||"1K"](7[0],c);N{d={};d[c]=a}I 7.P(H(i){R(c 1n d)D.1K(b?7.V:7,c,D.1i(7,d[c],b,i,c))})},1g:H(b,a){G((b==\'2h\'||b==\'1Z\')&&3d(a)<0)a=12;I 7.1K(b,a,"2a")},1r:H(b){G(1j b!="49"&&b!=U)I 7.4E().3v((7[0]&&7[0].2z||S).5F(b));J a="";D.P(b||7,H(){D.P(7.3t,H(){G(7.16!=8)a+=7.16!=1?7.76:D.17.1r([7])})});I a},5z:H(b){G(7[0])D(b,7[0].2z).5y().39(7[0]).2l(H(){J a=7;1B(a.1x)a=a.1x;I a}).3v(7);I 7},8Y:H(a){I 7.P(H(){D(7).6Q().5z(a)})},8R:H(a){I 7.P(H(){D(7).5z(a)})},3v:H(){I 7.3W(19,M,Q,H(a){G(7.16==1)7.3U(a)})},6F:H(){I 7.3W(19,M,M,H(a){G(7.16==1)7.39(a,7.1x)})},6E:H(){I 7.3W(19,Q,Q,H(a){7.1d.39(a,7)})},5q:H(){I 7.3W(19,Q,M,H(a){7.1d.39(a,7.2H)})},3l:H(){I 7.5n||D([])},2q:H(b){J c=D.2l(7,H(a){I D.2q(b,a)});I 7.2I(/[^+>] [^+>]/.11(b)||b.1h("..")>-1?D.4r(c):c)},5y:H(e){J f=7.2l(H(){G(D.14.1f&&!D.4n(7)){J a=7.6o(M),5h=S.3h("1v");5h.3U(a);I D.4h([5h.4H])[0]}N I 7.6o(M)});J d=f.2q("*").5c().P(H(){G(7[E]!=12)7[E]=U});G(e===M)7.2q("*").5c().P(H(i){G(7.16==3)I;J c=D.L(7,"3w");R(J a 1n c)R(J b 1n c[a])D.W.1e(d[i],a,c[a][b],c[a][b].L)});I f},1E:H(b){I 7.2I(D.1D(b)&&D.3C(7,H(a,i){I b.1k(a,i)})||D.3g(b,7))},4Y:H(b){G(b.1q==56)G(62.11(b))I 7.2I(D.3g(b,7,M));N b=D.3g(b,7);J a=b.K&&b[b.K-1]!==12&&!b.16;I 7.1E(H(){I a?D.2L(7,b)<0:7!=b})},1e:H(a){I 7.2I(D.4r(D.2R(7.3p(),1j a==\'23\'?D(a):D.2d(a))))},3F:H(a){I!!a&&D.3g(a,7).K>0},7T:H(a){I 7.3F("."+a)},6e:H(b){G(b==12){G(7.K){J c=7[0];G(D.Y(c,"2A")){J e=c.64,63=[],15=c.15,2V=c.O=="2A-2V";G(e<0)I U;R(J i=2V?e:0,2f=2V?e+1:15.K;i<2f;i++){J d=15[i];G(d.2W){b=D.14.1f&&!d.at.2x.an?d.1r:d.2x;G(2V)I b;63.1p(b)}}I 63}N I(7[0].2x||"").1o(/\\r/g,"")}I 12}G(b.1q==4L)b+=\'\';I 7.P(H(){G(7.16!=1)I;G(b.1q==2p&&/5O|5L/.11(7.O))7.4J=(D.2L(7.2x,b)>=0||D.2L(7.34,b)>=0);N G(D.Y(7,"2A")){J a=D.2d(b);D("9R",7).P(H(){7.2W=(D.2L(7.2x,a)>=0||D.2L(7.1r,a)>=0)});G(!a.K)7.64=-1}N 7.2x=b})},2K:H(a){I a==12?(7[0]?7[0].4H:U):7.4E().3v(a)},7b:H(a){I 7.5q(a).21()},79:H(i){I 7.3s(i,i+1)},3s:H(){I 7.2I(2p.44.3s.1w(7,19))},2l:H(b){I 7.2I(D.2l(7,H(a,i){I b.1k(a,i,a)}))},5c:H(){I 7.1e(7.5n)},L:H(d,b){J a=d.1R(".");a[1]=a[1]?"."+a[1]:"";G(b===12){J c=7.5C("9z"+a[1]+"!",[a[0]]);G(c===12&&7.K)c=D.L(7[0],d);I c===12&&a[1]?7.L(a[0]):c}N I 7.1P("9u"+a[1]+"!",[a[0],b]).P(H(){D.L(7,d,b)})},3b:H(a){I 7.P(H(){D.3b(7,a)})},3W:H(g,f,h,d){J e=7.K>1,3x;I 7.P(H(){G(!3x){3x=D.4h(g,7.2z);G(h)3x.9o()}J b=7;G(f&&D.Y(7,"1T")&&D.Y(3x[0],"4F"))b=7.3H("22")[0]||7.3U(7.2z.3h("22"));J c=D([]);D.P(3x,H(){J a=e?D(7).5y(M)[0]:7;G(D.Y(a,"1m"))c=c.1e(a);N{G(a.16==1)c=c.1e(D("1m",a).21());d.1k(b,a)}});c.P(6T)})}};D.17.5j.44=D.17;H 6T(i,a){G(a.4d)D.3Y({1a:a.4d,31:Q,1O:"1m"});N D.5u(a.1r||a.6O||a.4H||"");G(a.1d)a.1d.37(a)}H 1z(){I+2B 8J}D.1l=D.17.1l=H(){J b=19[0]||{},i=1,K=19.K,4x=Q,15;G(b.1q==8I){4x=b;b=19[1]||{};i=2}G(1j b!="49"&&1j b!="H")b={};G(K==i){b=7;--i}R(;i-1}},6q:H(b,c,a){J e={};R(J d 1n c){e[d]=b.V[d];b.V[d]=c[d]}a.1k(b);R(J d 1n c)b.V[d]=e[d]},1g:H(d,e,c){G(e=="2h"||e=="1Z"){J b,3X={30:"5x",5g:"1G",18:"3I"},35=e=="2h"?["5e","6k"]:["5G","6i"];H 5b(){b=e=="2h"?d.8f:d.8c;J a=0,2C=0;D.P(35,H(){a+=3d(D.2a(d,"57"+7,M))||0;2C+=3d(D.2a(d,"2C"+7+"4b",M))||0});b-=29.83(a+2C)}G(D(d).3F(":4j"))5b();N D.6q(d,3X,5b);I 29.2f(0,b)}I D.2a(d,e,c)},2a:H(f,l,k){J e,V=f.V;H 3E(b){G(!D.14.2k)I Q;J a=3P.54(b,U);I!a||a.52("3E")==""}G(l=="1y"&&D.14.1f){e=D.1K(V,"1y");I e==""?"1":e}G(D.14.2G&&l=="18"){J d=V.50;V.50="0 7Y 7W";V.50=d}G(l.1I(/4i/i))l=y;G(!k&&V&&V[l])e=V[l];N G(3P.54){G(l.1I(/4i/i))l="4i";l=l.1o(/([A-Z])/g,"-$1").3y();J c=3P.54(f,U);G(c&&!3E(f))e=c.52(l);N{J g=[],2E=[],a=f,i=0;R(;a&&3E(a);a=a.1d)2E.6h(a);R(;i<2E.K;i++)G(3E(2E[i])){g[i]=2E[i].V.18;2E[i].V.18="3I"}e=l=="18"&&g[2E.K-1]!=U?"2F":(c&&c.52(l))||"";R(i=0;i]*?)\\/>/g,H(b,a,c){I c.1I(/^(aK|4f|7E|aG|4T|7A|aB|3n|az|ay|av)$/i)?b:a+">"});J f=D.3k(d).3y(),1v=h.3h("1v");J e=!f.1h("",""]||!f.1h("",""]||f.1I(/^<(aq|22|am|ak|ai)/)&&[1,"<1T>",""]||!f.1h("<4F")&&[2,"<1T><22>",""]||(!f.1h("<22><4F>",""]||!f.1h("<7E")&&[2,"<1T><22><7q>",""]||D.14.1f&&[1,"1v<1v>",""]||[0,"",""];1v.4H=e[1]+d+e[2];1B(e[0]--)1v=1v.5T;G(D.14.1f){J g=!f.1h("<1T")&&f.1h("<22")<0?1v.1x&&1v.1x.3t:e[1]=="<1T>"&&f.1h("<22")<0?1v.3t:[];R(J j=g.K-1;j>=0;--j)G(D.Y(g[j],"22")&&!g[j].3t.K)g[j].1d.37(g[j]);G(/^\\s/.11(d))1v.39(h.5F(d.1I(/^\\s*/)[0]),1v.1x)}d=D.2d(1v.3t)}G(d.K===0&&(!D.Y(d,"3V")&&!D.Y(d,"2A")))I;G(d[0]==12||D.Y(d,"3V")||d.15)k.1p(d);N k=D.2R(k,d)});I k},1K:H(d,f,c){G(!d||d.16==3||d.16==8)I 12;J e=!D.4n(d),40=c!==12,1f=D.14.1f;f=e&&D.3X[f]||f;G(d.2j){J g=/5Q|4d|V/.11(f);G(f=="2W"&&D.14.2k)d.1d.64;G(f 1n d&&e&&!g){G(40){G(f=="O"&&D.Y(d,"4T")&&d.1d)7p"O a3 a1\'t 9V 9U";d[f]=c}G(D.Y(d,"3V")&&d.7i(f))I d.7i(f).76;I d[f]}G(1f&&e&&f=="V")I D.1K(d.V,"9T",c);G(40)d.9Q(f,""+c);J h=1f&&e&&g?d.4G(f,2):d.4G(f);I h===U?12:h}G(1f&&f=="1y"){G(40){d.6B=1;d.1E=(d.1E||"").1o(/7f\\([^)]*\\)/,"")+(3r(c)+\'\'=="9L"?"":"7f(1y="+c*7a+")")}I d.1E&&d.1E.1h("1y=")>=0?(3d(d.1E.1I(/1y=([^)]*)/)[1])/7a)+\'\':""}f=f.1o(/-([a-z])/9H,H(a,b){I b.2r()});G(40)d[f]=c;I d[f]},3k:H(a){I(a||"").1o(/^\\s+|\\s+$/g,"")},2d:H(b){J a=[];G(b!=U){J i=b.K;G(i==U||b.1R||b.4I||b.1k)a[0]=b;N 1B(i)a[--i]=b[i]}I a},2L:H(b,a){R(J i=0,K=a.K;i*",7).21();1B(7.1x)7.37(7.1x)}},H(a,b){D.17[a]=H(){I 7.P(b,19)}});D.P(["6N","4b"],H(i,c){J b=c.3y();D.17[b]=H(a){I 7[0]==1b?D.14.2G&&S.1c["5t"+c]||D.14.2k&&1b["5s"+c]||S.70=="6Z"&&S.1C["5t"+c]||S.1c["5t"+c]:7[0]==S?29.2f(29.2f(S.1c["4y"+c],S.1C["4y"+c]),29.2f(S.1c["2i"+c],S.1C["2i"+c])):a==12?(7.K?D.1g(7[0],b):U):7.1g(b,a.1q==56?a:a+"2X")}});H 25(a,b){I a[0]&&3r(D.2a(a[0],b,M),10)||0}J C=D.14.2k&&3r(D.14.5B)<8H?"(?:[\\\\w*3m-]|\\\\\\\\.)":"(?:[\\\\w\\8F-\\8E*3m-]|\\\\\\\\.)",6L=2B 4v("^>\\\\s*("+C+"+)"),6J=2B 4v("^("+C+"+)(#)("+C+"+)"),6I=2B 4v("^([#.]?)("+C+"*)");D.1l({6H:{"":H(a,i,m){I m[2]=="*"||D.Y(a,m[2])},"#":H(a,i,m){I a.4G("2v")==m[2]},":":{8D:H(a,i,m){I im[3]-0},3a:H(a,i,m){I m[3]-0==i},79:H(a,i,m){I m[3]-0==i},3o:H(a,i){I i==0},3S:H(a,i,m,r){I i==r.K-1},6D:H(a,i){I i%2==0},6C:H(a,i){I i%2},"3o-4u":H(a){I a.1d.3H("*")[0]==a},"3S-4u":H(a){I D.3a(a.1d.5T,1,"4l")==a},"8z-4u":H(a){I!D.3a(a.1d.5T,2,"4l")},6W:H(a){I a.1x},4E:H(a){I!a.1x},8y:H(a,i,m){I(a.6O||a.8x||D(a).1r()||"").1h(m[3])>=0},4j:H(a){I"1G"!=a.O&&D.1g(a,"18")!="2F"&&D.1g(a,"5g")!="1G"},1G:H(a){I"1G"==a.O||D.1g(a,"18")=="2F"||D.1g(a,"5g")=="1G"},8w:H(a){I!a.3R},3R:H(a){I a.3R},4J:H(a){I a.4J},2W:H(a){I a.2W||D.1K(a,"2W")},1r:H(a){I"1r"==a.O},5O:H(a){I"5O"==a.O},5L:H(a){I"5L"==a.O},5p:H(a){I"5p"==a.O},3Q:H(a){I"3Q"==a.O},5o:H(a){I"5o"==a.O},6A:H(a){I"6A"==a.O},6z:H(a){I"6z"==a.O},2s:H(a){I"2s"==a.O||D.Y(a,"2s")},4T:H(a){I/4T|2A|6y|2s/i.11(a.Y)},3T:H(a,i,m){I D.2q(m[3],a).K},8t:H(a){I/h\\d/i.11(a.Y)},8s:H(a){I D.3C(D.3O,H(b){I a==b.T}).K}}},6x:[/^(\\[) *@?([\\w-]+) *([!*$^~=]*) *(\'?"?)(.*?)\\4 *\\]/,/^(:)([\\w-]+)\\("?\'?(.*?(\\(.*?\\))?[^(]*?)"?\'?\\)/,2B 4v("^([:.#]*)("+C+"+)")],3g:H(a,c,b){J d,1t=[];1B(a&&a!=d){d=a;J f=D.1E(a,c,b);a=f.t.1o(/^\\s*,\\s*/,"");1t=b?c=f.r:D.2R(1t,f.r)}I 1t},2q:H(t,o){G(1j t!="23")I[t];G(o&&o.16!=1&&o.16!=9)I[];o=o||S;J d=[o],2o=[],3S,Y;1B(t&&3S!=t){J r=[];3S=t;t=D.3k(t);J l=Q,3j=6L,m=3j.2D(t);G(m){Y=m[1].2r();R(J i=0;d[i];i++)R(J c=d[i].1x;c;c=c.2H)G(c.16==1&&(Y=="*"||c.Y.2r()==Y))r.1p(c);d=r;t=t.1o(3j,"");G(t.1h(" ")==0)6M;l=M}N{3j=/^([>+~])\\s*(\\w*)/i;G((m=3j.2D(t))!=U){r=[];J k={};Y=m[2].2r();m=m[1];R(J j=0,3i=d.K;j<3i;j++){J n=m=="~"||m=="+"?d[j].2H:d[j].1x;R(;n;n=n.2H)G(n.16==1){J g=D.L(n);G(m=="~"&&k[g])1X;G(!Y||n.Y.2r()==Y){G(m=="~")k[g]=M;r.1p(n)}G(m=="+")1X}}d=r;t=D.3k(t.1o(3j,""));l=M}}G(t&&!l){G(!t.1h(",")){G(o==d[0])d.4s();2o=D.2R(2o,d);r=d=[o];t=" "+t.6v(1,t.K)}N{J h=6J;J m=h.2D(t);G(m){m=[0,m[2],m[3],m[1]]}N{h=6I;m=h.2D(t)}m[2]=m[2].1o(/\\\\/g,"");J f=d[d.K-1];G(m[1]=="#"&&f&&f.61&&!D.4n(f)){J p=f.61(m[2]);G((D.14.1f||D.14.2G)&&p&&1j p.2v=="23"&&p.2v!=m[2])p=D(\'[@2v="\'+m[2]+\'"]\',f)[0];d=r=p&&(!m[3]||D.Y(p,m[3]))?[p]:[]}N{R(J i=0;d[i];i++){J a=m[1]=="#"&&m[3]?m[3]:m[1]!=""||m[0]==""?"*":m[2];G(a=="*"&&d[i].Y.3y()=="49")a="3n";r=D.2R(r,d[i].3H(a))}G(m[1]==".")r=D.5m(r,m[2]);G(m[1]=="#"){J e=[];R(J i=0;r[i];i++)G(r[i].4G("2v")==m[2]){e=[r[i]];1X}r=e}d=r}t=t.1o(h,"")}}G(t){J b=D.1E(t,r);d=r=b.r;t=D.3k(b.t)}}G(t)d=[];G(d&&o==d[0])d.4s();2o=D.2R(2o,d);I 2o},5m:H(r,m,a){m=" "+m+" ";J c=[];R(J i=0;r[i];i++){J b=(" "+r[i].1F+" ").1h(m)>=0;G(!a&&b||a&&!b)c.1p(r[i])}I c},1E:H(t,r,h){J d;1B(t&&t!=d){d=t;J p=D.6x,m;R(J i=0;p[i];i++){m=p[i].2D(t);G(m){t=t.8r(m[0].K);m[2]=m[2].1o(/\\\\/g,"");1X}}G(!m)1X;G(m[1]==":"&&m[2]=="4Y")r=62.11(m[3])?D.1E(m[3],r,M).r:D(r).4Y(m[3]);N G(m[1]==".")r=D.5m(r,m[2],h);N G(m[1]=="["){J g=[],O=m[3];R(J i=0,3i=r.K;i<3i;i++){J a=r[i],z=a[D.3X[m[2]]||m[2]];G(z==U||/5Q|4d|2W/.11(m[2]))z=D.1K(a,m[2])||\'\';G((O==""&&!!z||O=="="&&z==m[5]||O=="!="&&z!=m[5]||O=="^="&&z&&!z.1h(m[5])||O=="$="&&z.6v(z.K-m[5].K)==m[5]||(O=="*="||O=="~=")&&z.1h(m[5])>=0)^h)g.1p(a)}r=g}N G(m[1]==":"&&m[2]=="3a-4u"){J e={},g=[],11=/(-?)(\\d*)n((?:\\+|-)?\\d*)/.2D(m[3]=="6D"&&"2n"||m[3]=="6C"&&"2n+1"||!/\\D/.11(m[3])&&"8q+"+m[3]||m[3]),3o=(11[1]+(11[2]||1))-0,d=11[3]-0;R(J i=0,3i=r.K;i<3i;i++){J j=r[i],1d=j.1d,2v=D.L(1d);G(!e[2v]){J c=1;R(J n=1d.1x;n;n=n.2H)G(n.16==1)n.4q=c++;e[2v]=M}J b=Q;G(3o==0){G(j.4q==d)b=M}N G((j.4q-d)%3o==0&&(j.4q-d)/3o>=0)b=M;G(b^h)g.1p(j)}r=g}N{J f=D.6H[m[1]];G(1j f=="49")f=f[m[2]];G(1j f=="23")f=6u("Q||H(a,i){I "+f+";}");r=D.3C(r,H(a,i){I f(a,i,m,r)},h)}}I{r:r,t:t}},4S:H(b,c){J a=[],1t=b[c];1B(1t&&1t!=S){G(1t.16==1)a.1p(1t);1t=1t[c]}I a},3a:H(a,e,c,b){e=e||1;J d=0;R(;a;a=a[c])G(a.16==1&&++d==e)1X;I a},5v:H(n,a){J r=[];R(;n;n=n.2H){G(n.16==1&&n!=a)r.1p(n)}I r}});D.W={1e:H(f,i,g,e){G(f.16==3||f.16==8)I;G(D.14.1f&&f.4I)f=1b;G(!g.24)g.24=7.24++;G(e!=12){J h=g;g=7.3M(h,H(){I h.1w(7,19)});g.L=e}J j=D.L(f,"3w")||D.L(f,"3w",{}),1H=D.L(f,"1H")||D.L(f,"1H",H(){G(1j D!="12"&&!D.W.5k)I D.W.1H.1w(19.3L.T,19)});1H.T=f;D.P(i.1R(/\\s+/),H(c,b){J a=b.1R(".");b=a[0];g.O=a[1];J d=j[b];G(!d){d=j[b]={};G(!D.W.2t[b]||D.W.2t[b].4p.1k(f)===Q){G(f.3K)f.3K(b,1H,Q);N G(f.6t)f.6t("4o"+b,1H)}}d[g.24]=g;D.W.26[b]=M});f=U},24:1,26:{},21:H(e,h,f){G(e.16==3||e.16==8)I;J i=D.L(e,"3w"),1L,5i;G(i){G(h==12||(1j h=="23"&&h.8p(0)=="."))R(J g 1n i)7.21(e,g+(h||""));N{G(h.O){f=h.2y;h=h.O}D.P(h.1R(/\\s+/),H(b,a){J c=a.1R(".");a=c[0];G(i[a]){G(f)2U i[a][f.24];N R(f 1n i[a])G(!c[1]||i[a][f].O==c[1])2U i[a][f];R(1L 1n i[a])1X;G(!1L){G(!D.W.2t[a]||D.W.2t[a].4A.1k(e)===Q){G(e.6p)e.6p(a,D.L(e,"1H"),Q);N G(e.6n)e.6n("4o"+a,D.L(e,"1H"))}1L=U;2U i[a]}}})}R(1L 1n i)1X;G(!1L){J d=D.L(e,"1H");G(d)d.T=U;D.3b(e,"3w");D.3b(e,"1H")}}},1P:H(h,c,f,g,i){c=D.2d(c);G(h.1h("!")>=0){h=h.3s(0,-1);J a=M}G(!f){G(7.26[h])D("*").1e([1b,S]).1P(h,c)}N{G(f.16==3||f.16==8)I 12;J b,1L,17=D.1D(f[h]||U),W=!c[0]||!c[0].32;G(W){c.6h({O:h,2J:f,32:H(){},3J:H(){},4C:1z()});c[0][E]=M}c[0].O=h;G(a)c[0].6m=M;J d=D.L(f,"1H");G(d)b=d.1w(f,c);G((!17||(D.Y(f,\'a\')&&h=="4V"))&&f["4o"+h]&&f["4o"+h].1w(f,c)===Q)b=Q;G(W)c.4s();G(i&&D.1D(i)){1L=i.1w(f,b==U?c:c.7d(b));G(1L!==12)b=1L}G(17&&g!==Q&&b!==Q&&!(D.Y(f,\'a\')&&h=="4V")){7.5k=M;1U{f[h]()}1V(e){}}7.5k=Q}I b},1H:H(b){J a,1L,38,5f,4m;b=19[0]=D.W.6l(b||1b.W);38=b.O.1R(".");b.O=38[0];38=38[1];5f=!38&&!b.6m;4m=(D.L(7,"3w")||{})[b.O];R(J j 1n 4m){J c=4m[j];G(5f||c.O==38){b.2y=c;b.L=c.L;1L=c.1w(7,19);G(a!==Q)a=1L;G(1L===Q){b.32();b.3J()}}}I a},6l:H(b){G(b[E]==M)I b;J d=b;b={8o:d};J c="8n 8m 8l 8k 2s 8j 47 5d 6j 5E 8i L 8h 8g 4K 2y 5a 59 8e 8b 58 6f 8a 88 4k 87 86 84 6d 2J 4C 6c O 82 81 35".1R(" ");R(J i=c.K;i;i--)b[c[i]]=d[c[i]];b[E]=M;b.32=H(){G(d.32)d.32();d.80=Q};b.3J=H(){G(d.3J)d.3J();d.7Z=M};b.4C=b.4C||1z();G(!b.2J)b.2J=b.6d||S;G(b.2J.16==3)b.2J=b.2J.1d;G(!b.4k&&b.4K)b.4k=b.4K==b.2J?b.6c:b.4K;G(b.58==U&&b.5d!=U){J a=S.1C,1c=S.1c;b.58=b.5d+(a&&a.2e||1c&&1c.2e||0)-(a.6b||0);b.6f=b.6j+(a&&a.2c||1c&&1c.2c||0)-(a.6a||0)}G(!b.35&&((b.47||b.47===0)?b.47:b.5a))b.35=b.47||b.5a;G(!b.59&&b.5E)b.59=b.5E;G(!b.35&&b.2s)b.35=(b.2s&1?1:(b.2s&2?3:(b.2s&4?2:0)));I b},3M:H(a,b){b.24=a.24=a.24||b.24||7.24++;I b},2t:{27:{4p:H(){55();I},4A:H(){I}},3D:{4p:H(){G(D.14.1f)I Q;D(7).2O("53",D.W.2t.3D.2y);I M},4A:H(){G(D.14.1f)I Q;D(7).4e("53",D.W.2t.3D.2y);I M},2y:H(a){G(F(a,7))I M;a.O="3D";I D.W.1H.1w(7,19)}},3N:{4p:H(){G(D.14.1f)I Q;D(7).2O("51",D.W.2t.3N.2y);I M},4A:H(){G(D.14.1f)I Q;D(7).4e("51",D.W.2t.3N.2y);I M},2y:H(a){G(F(a,7))I M;a.O="3N";I D.W.1H.1w(7,19)}}}};D.17.1l({2O:H(c,a,b){I c=="4X"?7.2V(c,a,b):7.P(H(){D.W.1e(7,c,b||a,b&&a)})},2V:H(d,b,c){J e=D.W.3M(c||b,H(a){D(7).4e(a,e);I(c||b).1w(7,19)});I 7.P(H(){D.W.1e(7,d,e,c&&b)})},4e:H(a,b){I 7.P(H(){D.W.21(7,a,b)})},1P:H(c,a,b){I 7.P(H(){D.W.1P(c,a,7,M,b)})},5C:H(c,a,b){I 7[0]&&D.W.1P(c,a,7[0],Q,b)},2m:H(b){J c=19,i=1;1B(i=0){J i=g.3s(e,g.K);g=g.3s(0,e)}c=c||H(){};J f="2P";G(d)G(D.1D(d)){c=d;d=U}N{d=D.3n(d);f="6g"}J h=7;D.3Y({1a:g,O:f,1O:"2K",L:d,1J:H(a,b){G(b=="1W"||b=="7J")h.2K(i?D("<1v/>").3v(a.4U.1o(/<1m(.|\\s)*?\\/1m>/g,"")).2q(i):a.4U);h.P(c,[a.4U,b,a])}});I 7},aL:H(){I D.3n(7.7I())},7I:H(){I 7.2l(H(){I D.Y(7,"3V")?D.2d(7.aH):7}).1E(H(){I 7.34&&!7.3R&&(7.4J||/2A|6y/i.11(7.Y)||/1r|1G|3Q/i.11(7.O))}).2l(H(i,c){J b=D(7).6e();I b==U?U:b.1q==2p?D.2l(b,H(a,i){I{34:c.34,2x:a}}):{34:c.34,2x:b}}).3p()}});D.P("7H,7G,7F,7D,7C,7B".1R(","),H(i,o){D.17[o]=H(f){I 7.2O(o,f)}});J B=1z();D.1l({3p:H(d,b,a,c){G(D.1D(b)){a=b;b=U}I D.3Y({O:"2P",1a:d,L:b,1W:a,1O:c})},aE:H(b,a){I D.3p(b,U,a,"1m")},aD:H(c,b,a){I D.3p(c,b,a,"3z")},aC:H(d,b,a,c){G(D.1D(b)){a=b;b={}}I D.3Y({O:"6g",1a:d,L:b,1W:a,1O:c})},aA:H(a){D.1l(D.60,a)},60:{1a:5Z.5Q,26:M,O:"2P",2T:0,7z:"4R/x-ax-3V-aw",7x:M,31:M,L:U,5Y:U,3Q:U,4Q:{2N:"4R/2N, 1r/2N",2K:"1r/2K",1m:"1r/4t, 4R/4t",3z:"4R/3z, 1r/4t",1r:"1r/as",4w:"*/*"}},4z:{},3Y:H(s){s=D.1l(M,s,D.1l(M,{},D.60,s));J g,2Z=/=\\?(&|$)/g,1u,L,O=s.O.2r();G(s.L&&s.7x&&1j s.L!="23")s.L=D.3n(s.L);G(s.1O=="4P"){G(O=="2P"){G(!s.1a.1I(2Z))s.1a+=(s.1a.1I(/\\?/)?"&":"?")+(s.4P||"7u")+"=?"}N G(!s.L||!s.L.1I(2Z))s.L=(s.L?s.L+"&":"")+(s.4P||"7u")+"=?";s.1O="3z"}G(s.1O=="3z"&&(s.L&&s.L.1I(2Z)||s.1a.1I(2Z))){g="4P"+B++;G(s.L)s.L=(s.L+"").1o(2Z,"="+g+"$1");s.1a=s.1a.1o(2Z,"="+g+"$1");s.1O="1m";1b[g]=H(a){L=a;1W();1J();1b[g]=12;1U{2U 1b[g]}1V(e){}G(i)i.37(h)}}G(s.1O=="1m"&&s.1Y==U)s.1Y=Q;G(s.1Y===Q&&O=="2P"){J j=1z();J k=s.1a.1o(/(\\?|&)3m=.*?(&|$)/,"$ap="+j+"$2");s.1a=k+((k==s.1a)?(s.1a.1I(/\\?/)?"&":"?")+"3m="+j:"")}G(s.L&&O=="2P"){s.1a+=(s.1a.1I(/\\?/)?"&":"?")+s.L;s.L=U}G(s.26&&!D.4O++)D.W.1P("7H");J n=/^(?:\\w+:)?\\/\\/([^\\/?#]+)/;G(s.1O=="1m"&&O=="2P"&&n.11(s.1a)&&n.2D(s.1a)[1]!=5Z.al){J i=S.3H("6w")[0];J h=S.3h("1m");h.4d=s.1a;G(s.7t)h.aj=s.7t;G(!g){J l=Q;h.ah=h.ag=H(){G(!l&&(!7.3f||7.3f=="68"||7.3f=="1J")){l=M;1W();1J();i.37(h)}}}i.3U(h);I 12}J m=Q;J c=1b.7s?2B 7s("ae.ac"):2B 7r();G(s.5Y)c.6R(O,s.1a,s.31,s.5Y,s.3Q);N c.6R(O,s.1a,s.31);1U{G(s.L)c.4B("ab-aa",s.7z);G(s.5S)c.4B("a9-5R-a8",D.4z[s.1a]||"a7, a6 a5 a4 5N:5N:5N a2");c.4B("X-9Z-9Y","7r");c.4B("9W",s.1O&&s.4Q[s.1O]?s.4Q[s.1O]+", */*":s.4Q.4w)}1V(e){}G(s.7m&&s.7m(c,s)===Q){s.26&&D.4O--;c.7l();I Q}G(s.26)D.W.1P("7B",[c,s]);J d=H(a){G(!m&&c&&(c.3f==4||a=="2T")){m=M;G(f){7k(f);f=U}1u=a=="2T"&&"2T"||!D.7j(c)&&"3e"||s.5S&&D.7h(c,s.1a)&&"7J"||"1W";G(1u=="1W"){1U{L=D.6X(c,s.1O,s.9S)}1V(e){1u="5J"}}G(1u=="1W"){J b;1U{b=c.5I("7g-5R")}1V(e){}G(s.5S&&b)D.4z[s.1a]=b;G(!g)1W()}N D.5H(s,c,1u);1J();G(s.31)c=U}};G(s.31){J f=4I(d,13);G(s.2T>0)3B(H(){G(c){c.7l();G(!m)d("2T")}},s.2T)}1U{c.9P(s.L)}1V(e){D.5H(s,c,U,e)}G(!s.31)d();H 1W(){G(s.1W)s.1W(L,1u);G(s.26)D.W.1P("7C",[c,s])}H 1J(){G(s.1J)s.1J(c,1u);G(s.26)D.W.1P("7F",[c,s]);G(s.26&&!--D.4O)D.W.1P("7G")}I c},5H:H(s,a,b,e){G(s.3e)s.3e(a,b,e);G(s.26)D.W.1P("7D",[a,s,e])},4O:0,7j:H(a){1U{I!a.1u&&5Z.9O=="5p:"||(a.1u>=7e&&a.1u<9N)||a.1u==7c||a.1u==9K||D.14.2k&&a.1u==12}1V(e){}I Q},7h:H(a,c){1U{J b=a.5I("7g-5R");I a.1u==7c||b==D.4z[c]||D.14.2k&&a.1u==12}1V(e){}I Q},6X:H(a,c,b){J d=a.5I("9J-O"),2N=c=="2N"||!c&&d&&d.1h("2N")>=0,L=2N?a.9I:a.4U;G(2N&&L.1C.2j=="5J")7p"5J";G(b)L=b(L,c);G(c=="1m")D.5u(L);G(c=="3z")L=6u("("+L+")");I L},3n:H(a){J s=[];G(a.1q==2p||a.5w)D.P(a,H(){s.1p(3u(7.34)+"="+3u(7.2x))});N R(J j 1n a)G(a[j]&&a[j].1q==2p)D.P(a[j],H(){s.1p(3u(j)+"="+3u(7))});N s.1p(3u(j)+"="+3u(D.1D(a[j])?a[j]():a[j]));I s.6s("&").1o(/%20/g,"+")}});D.17.1l({1N:H(c,b){I c?7.2g({1Z:"1N",2h:"1N",1y:"1N"},c,b):7.1E(":1G").P(H(){7.V.18=7.5D||"";G(D.1g(7,"18")=="2F"){J a=D("<"+7.2j+" />").6P("1c");7.V.18=a.1g("18");G(7.V.18=="2F")7.V.18="3I";a.21()}}).3l()},1M:H(b,a){I b?7.2g({1Z:"1M",2h:"1M",1y:"1M"},b,a):7.1E(":4j").P(H(){7.5D=7.5D||D.1g(7,"18");7.V.18="2F"}).3l()},78:D.17.2m,2m:H(a,b){I D.1D(a)&&D.1D(b)?7.78.1w(7,19):a?7.2g({1Z:"2m",2h:"2m",1y:"2m"},a,b):7.P(H(){D(7)[D(7).3F(":1G")?"1N":"1M"]()})},9G:H(b,a){I 7.2g({1Z:"1N"},b,a)},9F:H(b,a){I 7.2g({1Z:"1M"},b,a)},9E:H(b,a){I 7.2g({1Z:"2m"},b,a)},9D:H(b,a){I 7.2g({1y:"1N"},b,a)},9M:H(b,a){I 7.2g({1y:"1M"},b,a)},9C:H(c,a,b){I 7.2g({1y:a},c,b)},2g:H(k,j,i,g){J h=D.77(j,i,g);I 7[h.36===Q?"P":"36"](H(){G(7.16!=1)I Q;J f=D.1l({},h),p,1G=D(7).3F(":1G"),46=7;R(p 1n k){G(k[p]=="1M"&&1G||k[p]=="1N"&&!1G)I f.1J.1k(7);G(p=="1Z"||p=="2h"){f.18=D.1g(7,"18");f.33=7.V.33}}G(f.33!=U)7.V.33="1G";f.45=D.1l({},k);D.P(k,H(c,a){J e=2B D.28(46,f,c);G(/2m|1N|1M/.11(a))e[a=="2m"?1G?"1N":"1M":a](k);N{J b=a.6r().1I(/^([+-]=)?([\\d+-.]+)(.*)$/),2b=e.1t(M)||0;G(b){J d=3d(b[2]),2M=b[3]||"2X";G(2M!="2X"){46.V[c]=(d||1)+2M;2b=((d||1)/e.1t(M))*2b;46.V[c]=2b+2M}G(b[1])d=((b[1]=="-="?-1:1)*d)+2b;e.3G(2b,d,2M)}N e.3G(2b,a,"")}});I M})},36:H(a,b){G(D.1D(a)||(a&&a.1q==2p)){b=a;a="28"}G(!a||(1j a=="23"&&!b))I A(7[0],a);I 7.P(H(){G(b.1q==2p)A(7,a,b);N{A(7,a).1p(b);G(A(7,a).K==1)b.1k(7)}})},9X:H(b,c){J a=D.3O;G(b)7.36([]);7.P(H(){R(J i=a.K-1;i>=0;i--)G(a[i].T==7){G(c)a[i](M);a.7n(i,1)}});G(!c)7.5A();I 7}});J A=H(b,c,a){G(b){c=c||"28";J q=D.L(b,c+"36");G(!q||a)q=D.L(b,c+"36",D.2d(a))}I q};D.17.5A=H(a){a=a||"28";I 7.P(H(){J q=A(7,a);q.4s();G(q.K)q[0].1k(7)})};D.1l({77:H(b,a,c){J d=b&&b.1q==a0?b:{1J:c||!c&&a||D.1D(b)&&b,2u:b,41:c&&a||a&&a.1q!=9t&&a};d.2u=(d.2u&&d.2u.1q==4L?d.2u:D.28.5K[d.2u])||D.28.5K.74;d.5M=d.1J;d.1J=H(){G(d.36!==Q)D(7).5A();G(D.1D(d.5M))d.5M.1k(7)};I d},41:{73:H(p,n,b,a){I b+a*p},5P:H(p,n,b,a){I((-29.9r(p*29.9q)/2)+0.5)*a+b}},3O:[],48:U,28:H(b,c,a){7.15=c;7.T=b;7.1i=a;G(!c.3Z)c.3Z={}}});D.28.44={4D:H(){G(7.15.2Y)7.15.2Y.1k(7.T,7.1z,7);(D.28.2Y[7.1i]||D.28.2Y.4w)(7);G(7.1i=="1Z"||7.1i=="2h")7.T.V.18="3I"},1t:H(a){G(7.T[7.1i]!=U&&7.T.V[7.1i]==U)I 7.T[7.1i];J r=3d(D.1g(7.T,7.1i,a));I r&&r>-9p?r:3d(D.2a(7.T,7.1i))||0},3G:H(c,b,d){7.5V=1z();7.2b=c;7.3l=b;7.2M=d||7.2M||"2X";7.1z=7.2b;7.2S=7.4N=0;7.4D();J e=7;H t(a){I e.2Y(a)}t.T=7.T;D.3O.1p(t);G(D.48==U){D.48=4I(H(){J a=D.3O;R(J i=0;i7.15.2u+7.5V){7.1z=7.3l;7.2S=7.4N=1;7.4D();7.15.45[7.1i]=M;J b=M;R(J i 1n 7.15.45)G(7.15.45[i]!==M)b=Q;G(b){G(7.15.18!=U){7.T.V.33=7.15.33;7.T.V.18=7.15.18;G(D.1g(7.T,"18")=="2F")7.T.V.18="3I"}G(7.15.1M)7.T.V.18="2F";G(7.15.1M||7.15.1N)R(J p 1n 7.15.45)D.1K(7.T.V,p,7.15.3Z[p])}G(b)7.15.1J.1k(7.T);I Q}N{J n=t-7.5V;7.4N=n/7.15.2u;7.2S=D.41[7.15.41||(D.41.5P?"5P":"73")](7.4N,n,0,1,7.15.2u);7.1z=7.2b+((7.3l-7.2b)*7.2S);7.4D()}I M}};D.1l(D.28,{5K:{9l:9j,9i:7e,74:9g},2Y:{2e:H(a){a.T.2e=a.1z},2c:H(a){a.T.2c=a.1z},1y:H(a){D.1K(a.T.V,"1y",a.1z)},4w:H(a){a.T.V[a.1i]=a.1z+a.2M}}});D.17.2i=H(){J b=0,1S=0,T=7[0],3q;G(T)ao(D.14){J d=T.1d,4a=T,1s=T.1s,1Q=T.2z,5U=2k&&3r(5B)<9c&&!/9a/i.11(v),1g=D.2a,3c=1g(T,"30")=="3c";G(T.7y){J c=T.7y();1e(c.1A+29.2f(1Q.1C.2e,1Q.1c.2e),c.1S+29.2f(1Q.1C.2c,1Q.1c.2c));1e(-1Q.1C.6b,-1Q.1C.6a)}N{1e(T.5X,T.5W);1B(1s){1e(1s.5X,1s.5W);G(42&&!/^t(98|d|h)$/i.11(1s.2j)||2k&&!5U)2C(1s);G(!3c&&1g(1s,"30")=="3c")3c=M;4a=/^1c$/i.11(1s.2j)?4a:1s;1s=1s.1s}1B(d&&d.2j&&!/^1c|2K$/i.11(d.2j)){G(!/^96|1T.*$/i.11(1g(d,"18")))1e(-d.2e,-d.2c);G(42&&1g(d,"33")!="4j")2C(d);d=d.1d}G((5U&&(3c||1g(4a,"30")=="5x"))||(42&&1g(4a,"30")!="5x"))1e(-1Q.1c.5X,-1Q.1c.5W);G(3c)1e(29.2f(1Q.1C.2e,1Q.1c.2e),29.2f(1Q.1C.2c,1Q.1c.2c))}3q={1S:1S,1A:b}}H 2C(a){1e(D.2a(a,"6V",M),D.2a(a,"6U",M))}H 1e(l,t){b+=3r(l,10)||0;1S+=3r(t,10)||0}I 3q};D.17.1l({30:H(){J a=0,1S=0,3q;G(7[0]){J b=7.1s(),2i=7.2i(),4c=/^1c|2K$/i.11(b[0].2j)?{1S:0,1A:0}:b.2i();2i.1S-=25(7,\'94\');2i.1A-=25(7,\'aF\');4c.1S+=25(b,\'6U\');4c.1A+=25(b,\'6V\');3q={1S:2i.1S-4c.1S,1A:2i.1A-4c.1A}}I 3q},1s:H(){J a=7[0].1s;1B(a&&(!/^1c|2K$/i.11(a.2j)&&D.1g(a,\'30\')==\'93\'))a=a.1s;I D(a)}});D.P([\'5e\',\'5G\'],H(i,b){J c=\'4y\'+b;D.17[c]=H(a){G(!7[0])I;I a!=12?7.P(H(){7==1b||7==S?1b.92(!i?a:D(1b).2e(),i?a:D(1b).2c()):7[c]=a}):7[0]==1b||7[0]==S?46[i?\'aI\':\'aJ\']||D.71&&S.1C[c]||S.1c[c]:7[0][c]}});D.P(["6N","4b"],H(i,b){J c=i?"5e":"5G",4f=i?"6k":"6i";D.17["5s"+b]=H(){I 7[b.3y()]()+25(7,"57"+c)+25(7,"57"+4f)};D.17["90"+b]=H(a){I 7["5s"+b]()+25(7,"2C"+c+"4b")+25(7,"2C"+4f+"4b")+(a?25(7,"6S"+c)+25(7,"6S"+4f):0)}})})();',62,669,'|||||||this|||||||||||||||||||||||||||||||||||if|function|return|var|length|data|true|else|type|each|false|for|document|elem|null|style|event||nodeName|||test|undefined||browser|options|nodeType|fn|display|arguments|url|window|body|parentNode|add|msie|css|indexOf|prop|typeof|call|extend|script|in|replace|push|constructor|text|offsetParent|cur|status|div|apply|firstChild|opacity|now|left|while|documentElement|isFunction|filter|className|hidden|handle|match|complete|attr|ret|hide|show|dataType|trigger|doc|split|top|table|try|catch|success|break|cache|height||remove|tbody|string|guid|num|global|ready|fx|Math|curCSS|start|scrollTop|makeArray|scrollLeft|max|animate|width|offset|tagName|safari|map|toggle||done|Array|find|toUpperCase|button|special|duration|id|copy|value|handler|ownerDocument|select|new|border|exec|stack|none|opera|nextSibling|pushStack|target|html|inArray|unit|xml|bind|GET|isReady|merge|pos|timeout|delete|one|selected|px|step|jsre|position|async|preventDefault|overflow|name|which|queue|removeChild|namespace|insertBefore|nth|removeData|fixed|parseFloat|error|readyState|multiFilter|createElement|rl|re|trim|end|_|param|first|get|results|parseInt|slice|childNodes|encodeURIComponent|append|events|elems|toLowerCase|json|readyList|setTimeout|grep|mouseenter|color|is|custom|getElementsByTagName|block|stopPropagation|addEventListener|callee|proxy|mouseleave|timers|defaultView|password|disabled|last|has|appendChild|form|domManip|props|ajax|orig|set|easing|mozilla|load|prototype|curAnim|self|charCode|timerId|object|offsetChild|Width|parentOffset|src|unbind|br|currentStyle|clean|float|visible|relatedTarget|previousSibling|handlers|isXMLDoc|on|setup|nodeIndex|unique|shift|javascript|child|RegExp|_default|deep|scroll|lastModified|teardown|setRequestHeader|timeStamp|update|empty|tr|getAttribute|innerHTML|setInterval|checked|fromElement|Number|jQuery|state|active|jsonp|accepts|application|dir|input|responseText|click|styleSheets|unload|not|lastToggle|outline|mouseout|getPropertyValue|mouseover|getComputedStyle|bindReady|String|padding|pageX|metaKey|keyCode|getWH|andSelf|clientX|Left|all|visibility|container|index|init|triggered|removeAttribute|classFilter|prevObject|submit|file|after|windowData|inner|client|globalEval|sibling|jquery|absolute|clone|wrapAll|dequeue|version|triggerHandler|oldblock|ctrlKey|createTextNode|Top|handleError|getResponseHeader|parsererror|speeds|checkbox|old|00|radio|swing|href|Modified|ifModified|lastChild|safari2|startTime|offsetTop|offsetLeft|username|location|ajaxSettings|getElementById|isSimple|values|selectedIndex|runtimeStyle|rsLeft|_load|loaded|DOMContentLoaded|clientTop|clientLeft|toElement|srcElement|val|pageY|POST|unshift|Bottom|clientY|Right|fix|exclusive|detachEvent|cloneNode|removeEventListener|swap|toString|join|attachEvent|eval|substr|head|parse|textarea|reset|image|zoom|odd|even|before|prepend|exclude|expr|quickClass|quickID|uuid|quickChild|continue|Height|textContent|appendTo|contents|open|margin|evalScript|borderTopWidth|borderLeftWidth|parent|httpData|setArray|CSS1Compat|compatMode|boxModel|cssFloat|linear|def|webkit|nodeValue|speed|_toggle|eq|100|replaceWith|304|concat|200|alpha|Last|httpNotModified|getAttributeNode|httpSuccess|clearInterval|abort|beforeSend|splice|styleFloat|throw|colgroup|XMLHttpRequest|ActiveXObject|scriptCharset|callback|fieldset|multiple|processData|getBoundingClientRect|contentType|link|ajaxSend|ajaxSuccess|ajaxError|col|ajaxComplete|ajaxStop|ajaxStart|serializeArray|notmodified|keypress|keydown|change|mouseup|mousedown|dblclick|focus|blur|stylesheet|hasClass|rel|doScroll|black|hover|solid|cancelBubble|returnValue|wheelDelta|view|round|shiftKey|resize|screenY|screenX|relatedNode|mousemove|prevValue|originalTarget|offsetHeight|keyup|newValue|offsetWidth|eventPhase|detail|currentTarget|cancelable|bubbles|attrName|attrChange|altKey|originalEvent|charAt|0n|substring|animated|header|noConflict|line|enabled|innerText|contains|only|weight|font|gt|lt|uFFFF|u0128|size|417|Boolean|Date|toggleClass|removeClass|addClass|removeAttr|replaceAll|insertAfter|prependTo|wrap|contentWindow|contentDocument|iframe|children|siblings|prevAll|wrapInner|nextAll|outer|prev|scrollTo|static|marginTop|next|inline|parents|able|cellSpacing|adobeair|cellspacing|522|maxLength|maxlength|readOnly|400|readonly|fast|600|class|slow|1px|htmlFor|reverse|10000|PI|cos|compatible|Function|setData|ie|ra|it|rv|getData|userAgent|navigator|fadeTo|fadeIn|slideToggle|slideUp|slideDown|ig|responseXML|content|1223|NaN|fadeOut|300|protocol|send|setAttribute|option|dataFilter|cssText|changed|be|Accept|stop|With|Requested|Object|can|GMT|property|1970|Jan|01|Thu|Since|If|Type|Content|XMLHTTP|th|Microsoft|td|onreadystatechange|onload|cap|charset|colg|host|tfoot|specified|with|1_|thead|leg|plain|attributes|opt|embed|urlencoded|www|area|hr|ajaxSetup|meta|post|getJSON|getScript|marginLeft|img|elements|pageYOffset|pageXOffset|abbr|serialize|pixelLeft'.split('|'),0,{})) \ No newline at end of file diff --git a/src/member/templets/js/jquery.boxy.js b/src/member/templets/js/jquery.boxy.js deleted file mode 100755 index 22bc0fe7..00000000 --- a/src/member/templets/js/jquery.boxy.js +++ /dev/null @@ -1,570 +0,0 @@ -/** - * Boxy 0.1.4 - Facebook-style dialog, with frills - * - * (c) 2008 Jason Frame - * Licensed under the MIT License (LICENSE) - */ - -/* - * jQuery plugin - * - * Options: - * message: confirmation message for form submit hook (default: "Please confirm:") - * - * Any other options - e.g. 'clone' - will be passed onto the boxy constructor (or - * Boxy.load for AJAX operations) - */ -jQuery.fn.boxy = function(options) { - options = options || {}; - return this.each(function() { - var node = this.nodeName.toLowerCase(), self = this; - if (node == 'a') { - jQuery(this).click(function() { - var active = Boxy.linkedTo(this), - href = this.getAttribute('href'), - localOptions = jQuery.extend({actuator: this, title: this.title}, options); - - if (active) { - active.show(); - } else if (href.indexOf('#') >= 0) { - var content = jQuery(href.substr(href.indexOf('#'))), - newContent = content.clone(true); - content.remove(); - localOptions.unloadOnHide = false; - new Boxy(newContent, localOptions); - } else { // fall back to AJAX; could do with a same-origin check - if (!localOptions.cache) localOptions.unloadOnHide = true; - Boxy.load(this.href, localOptions); - } - - return false; - }); - } else if (node == 'form') { - jQuery(this).bind('submit.boxy', function() { - Boxy.confirm(options.message || '请确认:', function() { - jQuery(self).unbind('submit.boxy').submit(); - }); - return false; - }); - } - }); -}; - -// -// Boxy Class - -function Boxy(element, options) { - - this.boxy = jQuery(Boxy.WRAPPER); - jQuery.data(this.boxy[0], 'boxy', this); - - this.visible = false; - this.options = jQuery.extend({}, Boxy.DEFAULTS, options || {}); - - if (this.options.modal) { - this.options = jQuery.extend(this.options, {center: true, draggable: false}); - } - - // options.actuator == DOM element that opened this boxy - // association will be automatically deleted when this boxy is remove()d - if (this.options.actuator) { - jQuery.data(this.options.actuator, 'active.boxy', this); - } - - this.setContent(element || "
    "); - this._setupTitleBar(); - - this.boxy.css('display', 'none').appendTo(document.body); - this.toTop(); - - if (this.options.fixed) { - if (jQuery.browser.msie && jQuery.browser.version < 7) { - this.options.fixed = false; // IE6 doesn't support fixed positioning - } else { - this.boxy.addClass('fixed'); - } - } - - if (this.options.center && Boxy._u(this.options.x, this.options.y)) { - this.center(); - } else { - this.moveTo( - Boxy._u(this.options.x) ? this.options.x : Boxy.DEFAULT_X, - Boxy._u(this.options.y) ? this.options.y : Boxy.DEFAULT_Y - ); - } - - if (this.options.show) this.show(); - -}; - -Boxy.EF = function() {}; - -jQuery.extend(Boxy, { - - WRAPPER: "" + - "" + - "" + - "" + - "
    ", - - DEFAULTS: { - title: null, // titlebar text. titlebar will not be visible if not set. - closeable: true, // display close link in titlebar? - draggable: true, // can this dialog be dragged? - clone: false, // clone content prior to insertion into dialog? - actuator: null, // element which opened this dialog - center: true, // center dialog in viewport? - show: true, // show dialog immediately? - modal: false, // make dialog modal? - fixed: true, // use fixed positioning, if supported? absolute positioning used otherwise - closeText: '[关闭]', // text to use for default close link - unloadOnHide: false, // should this dialog be removed from the DOM after being hidden? - clickToFront: false, // bring dialog to foreground on any click (not just titlebar)? - behaviours: Boxy.EF, // function used to apply behaviours to all content embedded in dialog. - afterDrop: Boxy.EF, // callback fired after dialog is dropped. executes in context of Boxy instance. - afterShow: Boxy.EF, // callback fired after dialog becomes visible. executes in context of Boxy instance. - afterHide: Boxy.EF, // callback fired after dialog is hidden. executed in context of Boxy instance. - beforeUnload: Boxy.EF // callback fired after dialog is unloaded. executed in context of Boxy instance. - }, - - DEFAULT_X: 50, - DEFAULT_Y: 50, - zIndex: 1337, - dragConfigured: false, // only set up one drag handler for all boxys - resizeConfigured: false, - dragging: null, - - // load a URL and display in boxy - // url - url to load - // options keys (any not listed below are passed to boxy constructor) - // type: HTTP method, default: GET - // cache: cache retrieved content? default: false - // filter: jQuery selector used to filter remote content - load: function(url, options) { - - options = options || {}; - - var ajax = { - url: url, type: 'GET', dataType: 'html', cache: false, success: function(html) { - html = jQuery(html); - if (options.filter) html = jQuery(options.filter, html); - new Boxy(html, options); - } - }; - - jQuery.each(['type', 'cache'], function() { - if (this in options) { - ajax[this] = options[this]; - delete options[this]; - } - }); - - jQuery.ajax(ajax); - - }, - - // allows you to get a handle to the containing boxy instance of any element - // e.g. inspect!. - // this returns the actual instance of the boxy 'class', not just a DOM element. - // Boxy.get(this).hide() would be valid, for instance. - get: function(ele) { - var p = jQuery(ele).parents('.boxy-wrapper'); - return p.length ? jQuery.data(p[0], 'boxy') : null; - }, - - // returns the boxy instance which has been linked to a given element via the - // 'actuator' constructor option. - linkedTo: function(ele) { - return jQuery.data(ele, 'active.boxy'); - }, - - // displays an alert box with a given message, calling optional callback - // after dismissal. - alert: function(message, callback, options) { - return Boxy.ask(message, ['OK'], callback, options); - }, - - // displays an alert box with a given message, calling after callback iff - // user selects OK. - confirm: function(message, after, options) { - return Boxy.ask(message, ['OK', 'Cancel'], function(response) { - if (response == 'OK') after(); - }, options); - }, - - // asks a question with multiple responses presented as buttons - // selected item is returned to a callback method. - // answers may be either an array or a hash. if it's an array, the - // the callback will received the selected value. if it's a hash, - // you'll get the corresponding key. - ask: function(question, answers, callback, options) { - - options = jQuery.extend({modal: true, closeable: false}, - options || {}, - {show: true, unloadOnHide: true}); - - var body = jQuery('
    ').append(jQuery('
    ').html(question)); - - // ick - var map = {}, answerStrings = []; - if (answers instanceof Array) { - for (var i = 0; i < answers.length; i++) { - map[answers[i]] = answers[i]; - answerStrings.push(answers[i]); - } - } else { - for (var k in answers) { - map[answers[k]] = k; - answerStrings.push(answers[k]); - } - } - - var buttons = jQuery('
    '); - buttons.html(jQuery.map(answerStrings, function(v) { - return ""; - }).join(' ')); - - jQuery('input[type=button]', buttons).click(function() { - var clicked = this; - Boxy.get(this).hide(function() { - if (callback) callback(map[clicked.value]); - }); - }); - - body.append(buttons); - - new Boxy(body, options); - - }, - - // returns true if a modal boxy is visible, false otherwise - isModalVisible: function() { - return jQuery('.boxy-modal-blackout').length > 0; - }, - - _u: function() { - for (var i = 0; i < arguments.length; i++) - if (typeof arguments[i] != 'undefined') return false; - return true; - }, - - _handleResize: function(evt) { - var d = jQuery(document); - jQuery('.boxy-modal-blackout').css('display', 'none').css({ - width: d.width(), height: d.height() - }).css('display', 'block'); - }, - - _handleDrag: function(evt) { - var d; - if (d = Boxy.dragging) { - d[0].boxy.css({left: evt.pageX - d[1], top: evt.pageY - d[2]}); - } - }, - - _nextZ: function() { - return Boxy.zIndex++; - }, - - _viewport: function() { - var d = document.documentElement, b = document.body, w = window; - return jQuery.extend( - jQuery.browser.msie ? - { left: b.scrollLeft || d.scrollLeft, top: b.scrollTop || d.scrollTop } : - { left: w.pageXOffset, top: w.pageYOffset }, - !Boxy._u(w.innerWidth) ? - { width: w.innerWidth, height: w.innerHeight } : - (!Boxy._u(d) && !Boxy._u(d.clientWidth) && d.clientWidth != 0 ? - { width: d.clientWidth, height: d.clientHeight } : - { width: b.clientWidth, height: b.clientHeight }) ); - } - -}); - -Boxy.prototype = { - - // Returns the size of this boxy instance without displaying it. - // Do not use this method if boxy is already visible, use getSize() instead. - estimateSize: function() { - this.boxy.css({visibility: 'hidden', display: 'block'}); - var dims = this.getSize(); - this.boxy.css('display', 'none').css('visibility', 'visible'); - return dims; - }, - - // Returns the dimensions of the entire boxy dialog as [width,height] - getSize: function() { - return [this.boxy.width(), this.boxy.height()]; - }, - - // Returns the dimensions of the content region as [width,height] - getContentSize: function() { - var c = this.getContent(); - return [c.width(), c.height()]; - }, - - // Returns the position of this dialog as [x,y] - getPosition: function() { - var b = this.boxy[0]; - return [b.offsetLeft, b.offsetTop]; - }, - - // Returns the center point of this dialog as [x,y] - getCenter: function() { - var p = this.getPosition(); - var s = this.getSize(); - return [Math.floor(p[0] + s[0] / 2), Math.floor(p[1] + s[1] / 2)]; - }, - - // Returns a jQuery object wrapping the inner boxy region. - // Not much reason to use this, you're probably more interested in getContent() - getInner: function() { - return jQuery('.boxy-inner', this.boxy); - }, - - // Returns a jQuery object wrapping the boxy content region. - // This is the user-editable content area (i.e. excludes titlebar) - getContent: function() { - return jQuery('.boxy-content', this.boxy); - }, - - // Replace dialog content - setContent: function(newContent) { - newContent = jQuery(newContent).css({display: 'block'}).addClass('boxy-content'); - if (this.options.clone) newContent = newContent.clone(true); - this.getContent().remove(); - this.getInner().append(newContent); - this._setupDefaultBehaviours(newContent); - this.options.behaviours.call(this, newContent); - return this; - }, - - // Move this dialog to some position, funnily enough - moveTo: function(x, y) { - this.moveToX(x).moveToY(y); - return this; - }, - - // Move this dialog (x-coord only) - moveToX: function(x) { - if (typeof x == 'number') this.boxy.css({left: x}); - else this.centerX(); - return this; - }, - - // Move this dialog (y-coord only) - moveToY: function(y) { - if (typeof y == 'number') this.boxy.css({top: y}); - else this.centerY(); - return this; - }, - - // Move this dialog so that it is centered at (x,y) - centerAt: function(x, y) { - var s = this[this.visible ? 'getSize' : 'estimateSize'](); - if (typeof x == 'number') this.moveToX(x - s[0] / 2); - if (typeof y == 'number') this.moveToY(y - s[1] / 2); - return this; - }, - - centerAtX: function(x) { - return this.centerAt(x, null); - }, - - centerAtY: function(y) { - return this.centerAt(null, y); - }, - - // Center this dialog in the viewport - // axis is optional, can be 'x', 'y'. - center: function(axis) { - var v = Boxy._viewport(); - var o = this.options.fixed ? [0, 0] : [v.left, v.top]; - if (!axis || axis == 'x') this.centerAt(o[0] + v.width / 2, null); - if (!axis || axis == 'y') this.centerAt(null, o[1] + v.height / 2); - return this; - }, - - // Center this dialog in the viewport (x-coord only) - centerX: function() { - return this.center('x'); - }, - - // Center this dialog in the viewport (y-coord only) - centerY: function() { - return this.center('y'); - }, - - // Resize the content region to a specific size - resize: function(width, height, after) { - if (!this.visible) return; - var bounds = this._getBoundsForResize(width, height); - this.boxy.css({left: bounds[0], top: bounds[1]}); - this.getContent().css({width: bounds[2], height: bounds[3]}); - if (after) after(this); - return this; - }, - - // Tween the content region to a specific size - tween: function(width, height, after) { - if (!this.visible) return; - var bounds = this._getBoundsForResize(width, height); - var self = this; - this.boxy.stop().animate({left: bounds[0], top: bounds[1]}); - this.getContent().stop().animate({width: bounds[2], height: bounds[3]}, function() { - if (after) after(self); - }); - return this; - }, - - // Returns true if this dialog is visible, false otherwise - isVisible: function() { - return this.visible; - }, - - // Make this boxy instance visible - show: function() { - if (this.visible) return; - if (this.options.modal) { - var self = this; - if (!Boxy.resizeConfigured) { - Boxy.resizeConfigured = true; - jQuery(window).resize(function() { Boxy._handleResize(); }); - } - this.modalBlackout = jQuery('
    ') - .css({zIndex: Boxy._nextZ(), - opacity: 0.7, - width: jQuery(document).width(), - height: jQuery(document).height()}) - .appendTo(document.body); - this.toTop(); - if (this.options.closeable) { - jQuery(document.body).bind('keypress.boxy', function(evt) { - var key = evt.which || evt.keyCode; - if (key == 27) { - self.hide(); - jQuery(document.body).unbind('keypress.boxy'); - } - }); - } - } - this.boxy.stop().css({opacity: 1}).show(); - this.visible = true; - this._fire('afterShow'); - return this; - }, - - // Hide this boxy instance - hide: function(after) { - if (!this.visible) return; - var self = this; - if (this.options.modal) { - jQuery(document.body).unbind('keypress.boxy'); - this.modalBlackout.animate({opacity: 0}, function() { - jQuery(this).remove(); - }); - } - this.boxy.stop().animate({opacity: 0}, 300, function() { - self.boxy.css({display: 'none'}); - self.visible = false; - self._fire('afterHide'); - if (after) after(self); - if (self.options.unloadOnHide) self.unload(); - }); - return this; - }, - - toggle: function() { - this[this.visible ? 'hide' : 'show'](); - return this; - }, - - hideAndUnload: function(after) { - this.options.unloadOnHide = true; - this.hide(after); - return this; - }, - - unload: function() { - this._fire('beforeUnload'); - this.boxy.remove(); - if (this.options.actuator) { - jQuery.data(this.options.actuator, 'active.boxy', false); - } - }, - - // Move this dialog box above all other boxy instances - toTop: function() { - this.boxy.css({zIndex: Boxy._nextZ()}); - return this; - }, - - // Returns the title of this dialog - getTitle: function() { - return jQuery('> .title-bar h2', this.getInner()).html(); - }, - - // Sets the title of this dialog - setTitle: function(t) { - jQuery('> .title-bar h2', this.getInner()).html(t); - return this; - }, - - // - // Don't touch these privates - - _getBoundsForResize: function(width, height) { - var csize = this.getContentSize(); - var delta = [width - csize[0], height - csize[1]]; - var p = this.getPosition(); - return [Math.max(p[0] - delta[0] / 2, 0), - Math.max(p[1] - delta[1] / 2, 0), width, height]; - }, - - _setupTitleBar: function() { - if (this.options.title) { - var self = this; - var tb = jQuery("
    ").html("

    " + this.options.title + "

    "); - if (this.options.closeable) { - tb.append(jQuery("").html(this.options.closeText)); - } - if (this.options.draggable) { - tb[0].onselectstart = function() { return false; } - tb[0].unselectable = 'on'; - tb[0].style.MozUserSelect = 'none'; - if (!Boxy.dragConfigured) { - jQuery(document).mousemove(Boxy._handleDrag); - Boxy.dragConfigured = true; - } - tb.mousedown(function(evt) { - self.toTop(); - Boxy.dragging = [self, evt.pageX - self.boxy[0].offsetLeft, evt.pageY - self.boxy[0].offsetTop]; - jQuery(this).addClass('dragging'); - }).mouseup(function() { - jQuery(this).removeClass('dragging'); - Boxy.dragging = null; - self._fire('afterDrop'); - }); - } - this.getInner().prepend(tb); - this._setupDefaultBehaviours(tb); - } - }, - - _setupDefaultBehaviours: function(root) { - var self = this; - if (this.options.clickToFront) { - root.click(function() { self.toTop(); }); - } - jQuery('.close', root).click(function() { - self.hide(); - return false; - }).mousedown(function(evt) { evt.stopPropagation(); }); - }, - - _fire: function(event) { - this.options[event].call(this); - } - -}; diff --git a/src/member/templets/js/jquery.js b/src/member/templets/js/jquery.js deleted file mode 100644 index 21707563..00000000 --- a/src/member/templets/js/jquery.js +++ /dev/null @@ -1,10872 +0,0 @@ -/*! - * jQuery JavaScript Library v3.5.0 - * https://jquery.com/ - * - * Includes Sizzle.js - * https://sizzlejs.com/ - * - * Copyright JS Foundation and other contributors - * Released under the MIT license - * https://jquery.org/license - * - * Date: 2020-04-10T15:07Z - */ -( function( global, factory ) { - - "use strict"; - - if ( typeof module === "object" && typeof module.exports === "object" ) { - - // For CommonJS and CommonJS-like environments where a proper `window` - // is present, execute the factory and get jQuery. - // For environments that do not have a `window` with a `document` - // (such as Node.js), expose a factory as module.exports. - // This accentuates the need for the creation of a real `window`. - // e.g. var jQuery = require("jquery")(window); - // See ticket #14549 for more info. - module.exports = global.document ? - factory( global, true ) : - function( w ) { - if ( !w.document ) { - throw new Error( "jQuery requires a window with a document" ); - } - return factory( w ); - }; - } else { - factory( global ); - } - -// Pass this if window is not defined yet -} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) { - -// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 -// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode -// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common -// enough that all such attempts are guarded in a try block. -"use strict"; - -var arr = []; - -var getProto = Object.getPrototypeOf; - -var slice = arr.slice; - -var flat = arr.flat ? function( array ) { - return arr.flat.call( array ); -} : function( array ) { - return arr.concat.apply( [], array ); -}; - - -var push = arr.push; - -var indexOf = arr.indexOf; - -var class2type = {}; - -var toString = class2type.toString; - -var hasOwn = class2type.hasOwnProperty; - -var fnToString = hasOwn.toString; - -var ObjectFunctionString = fnToString.call( Object ); - -var support = {}; - -var isFunction = function isFunction( obj ) { - - // Support: Chrome <=57, Firefox <=52 - // In some browsers, typeof returns "function" for HTML elements - // (i.e., `typeof document.createElement( "object" ) === "function"`). - // We don't want to classify *any* DOM node as a function. - return typeof obj === "function" && typeof obj.nodeType !== "number"; - }; - - -var isWindow = function isWindow( obj ) { - return obj != null && obj === obj.window; - }; - - -var document = window.document; - - - - var preservedScriptAttributes = { - type: true, - src: true, - nonce: true, - noModule: true - }; - - function DOMEval( code, node, doc ) { - doc = doc || document; - - var i, val, - script = doc.createElement( "script" ); - - script.text = code; - if ( node ) { - for ( i in preservedScriptAttributes ) { - - // Support: Firefox 64+, Edge 18+ - // Some browsers don't support the "nonce" property on scripts. - // On the other hand, just using `getAttribute` is not enough as - // the `nonce` attribute is reset to an empty string whenever it - // becomes browsing-context connected. - // See https://github.com/whatwg/html/issues/2369 - // See https://html.spec.whatwg.org/#nonce-attributes - // The `node.getAttribute` check was added for the sake of - // `jQuery.globalEval` so that it can fake a nonce-containing node - // via an object. - val = node[ i ] || node.getAttribute && node.getAttribute( i ); - if ( val ) { - script.setAttribute( i, val ); - } - } - } - doc.head.appendChild( script ).parentNode.removeChild( script ); - } - - -function toType( obj ) { - if ( obj == null ) { - return obj + ""; - } - - // Support: Android <=2.3 only (functionish RegExp) - return typeof obj === "object" || typeof obj === "function" ? - class2type[ toString.call( obj ) ] || "object" : - typeof obj; -} -/* global Symbol */ -// Defining this global in .eslintrc.json would create a danger of using the global -// unguarded in another place, it seems safer to define global only for this module - - - -var - version = "3.5.0", - - // Define a local copy of jQuery - jQuery = function( selector, context ) { - - // The jQuery object is actually just the init constructor 'enhanced' - // Need init if jQuery is called (just allow error to be thrown if not included) - return new jQuery.fn.init( selector, context ); - }; - -jQuery.fn = jQuery.prototype = { - - // The current version of jQuery being used - jquery: version, - - constructor: jQuery, - - // The default length of a jQuery object is 0 - length: 0, - - toArray: function() { - return slice.call( this ); - }, - - // Get the Nth element in the matched element set OR - // Get the whole matched element set as a clean array - get: function( num ) { - - // Return all the elements in a clean array - if ( num == null ) { - return slice.call( this ); - } - - // Return just the one element from the set - return num < 0 ? this[ num + this.length ] : this[ num ]; - }, - - // Take an array of elements and push it onto the stack - // (returning the new matched element set) - pushStack: function( elems ) { - - // Build a new jQuery matched element set - var ret = jQuery.merge( this.constructor(), elems ); - - // Add the old object onto the stack (as a reference) - ret.prevObject = this; - - // Return the newly-formed element set - return ret; - }, - - // Execute a callback for every element in the matched set. - each: function( callback ) { - return jQuery.each( this, callback ); - }, - - map: function( callback ) { - return this.pushStack( jQuery.map( this, function( elem, i ) { - return callback.call( elem, i, elem ); - } ) ); - }, - - slice: function() { - return this.pushStack( slice.apply( this, arguments ) ); - }, - - first: function() { - return this.eq( 0 ); - }, - - last: function() { - return this.eq( -1 ); - }, - - even: function() { - return this.pushStack( jQuery.grep( this, function( _elem, i ) { - return ( i + 1 ) % 2; - } ) ); - }, - - odd: function() { - return this.pushStack( jQuery.grep( this, function( _elem, i ) { - return i % 2; - } ) ); - }, - - eq: function( i ) { - var len = this.length, - j = +i + ( i < 0 ? len : 0 ); - return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); - }, - - end: function() { - return this.prevObject || this.constructor(); - }, - - // For internal use only. - // Behaves like an Array's method, not like a jQuery method. - push: push, - sort: arr.sort, - splice: arr.splice -}; - -jQuery.extend = jQuery.fn.extend = function() { - var options, name, src, copy, copyIsArray, clone, - target = arguments[ 0 ] || {}, - i = 1, - length = arguments.length, - deep = false; - - // Handle a deep copy situation - if ( typeof target === "boolean" ) { - deep = target; - - // Skip the boolean and the target - target = arguments[ i ] || {}; - i++; - } - - // Handle case when target is a string or something (possible in deep copy) - if ( typeof target !== "object" && !isFunction( target ) ) { - target = {}; - } - - // Extend jQuery itself if only one argument is passed - if ( i === length ) { - target = this; - i--; - } - - for ( ; i < length; i++ ) { - - // Only deal with non-null/undefined values - if ( ( options = arguments[ i ] ) != null ) { - - // Extend the base object - for ( name in options ) { - copy = options[ name ]; - - // Prevent Object.prototype pollution - // Prevent never-ending loop - if ( name === "__proto__" || target === copy ) { - continue; - } - - // Recurse if we're merging plain objects or arrays - if ( deep && copy && ( jQuery.isPlainObject( copy ) || - ( copyIsArray = Array.isArray( copy ) ) ) ) { - src = target[ name ]; - - // Ensure proper type for the source value - if ( copyIsArray && !Array.isArray( src ) ) { - clone = []; - } else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) { - clone = {}; - } else { - clone = src; - } - copyIsArray = false; - - // Never move original objects, clone them - target[ name ] = jQuery.extend( deep, clone, copy ); - - // Don't bring in undefined values - } else if ( copy !== undefined ) { - target[ name ] = copy; - } - } - } - } - - // Return the modified object - return target; -}; - -jQuery.extend( { - - // Unique for each copy of jQuery on the page - expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), - - // Assume jQuery is ready without the ready module - isReady: true, - - error: function( msg ) { - throw new Error( msg ); - }, - - noop: function() {}, - - isPlainObject: function( obj ) { - var proto, Ctor; - - // Detect obvious negatives - // Use toString instead of jQuery.type to catch host objects - if ( !obj || toString.call( obj ) !== "[object Object]" ) { - return false; - } - - proto = getProto( obj ); - - // Objects with no prototype (e.g., `Object.create( null )`) are plain - if ( !proto ) { - return true; - } - - // Objects with prototype are plain iff they were constructed by a global Object function - Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; - return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; - }, - - isEmptyObject: function( obj ) { - var name; - - for ( name in obj ) { - return false; - } - return true; - }, - - // Evaluates a script in a provided context; falls back to the global one - // if not specified. - globalEval: function( code, options, doc ) { - DOMEval( code, { nonce: options && options.nonce }, doc ); - }, - - each: function( obj, callback ) { - var length, i = 0; - - if ( isArrayLike( obj ) ) { - length = obj.length; - for ( ; i < length; i++ ) { - if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { - break; - } - } - } else { - for ( i in obj ) { - if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { - break; - } - } - } - - return obj; - }, - - // results is for internal usage only - makeArray: function( arr, results ) { - var ret = results || []; - - if ( arr != null ) { - if ( isArrayLike( Object( arr ) ) ) { - jQuery.merge( ret, - typeof arr === "string" ? - [ arr ] : arr - ); - } else { - push.call( ret, arr ); - } - } - - return ret; - }, - - inArray: function( elem, arr, i ) { - return arr == null ? -1 : indexOf.call( arr, elem, i ); - }, - - // Support: Android <=4.0 only, PhantomJS 1 only - // push.apply(_, arraylike) throws on ancient WebKit - merge: function( first, second ) { - var len = +second.length, - j = 0, - i = first.length; - - for ( ; j < len; j++ ) { - first[ i++ ] = second[ j ]; - } - - first.length = i; - - return first; - }, - - grep: function( elems, callback, invert ) { - var callbackInverse, - matches = [], - i = 0, - length = elems.length, - callbackExpect = !invert; - - // Go through the array, only saving the items - // that pass the validator function - for ( ; i < length; i++ ) { - callbackInverse = !callback( elems[ i ], i ); - if ( callbackInverse !== callbackExpect ) { - matches.push( elems[ i ] ); - } - } - - return matches; - }, - - // arg is for internal usage only - map: function( elems, callback, arg ) { - var length, value, - i = 0, - ret = []; - - // Go through the array, translating each of the items to their new values - if ( isArrayLike( elems ) ) { - length = elems.length; - for ( ; i < length; i++ ) { - value = callback( elems[ i ], i, arg ); - - if ( value != null ) { - ret.push( value ); - } - } - - // Go through every key on the object, - } else { - for ( i in elems ) { - value = callback( elems[ i ], i, arg ); - - if ( value != null ) { - ret.push( value ); - } - } - } - - // Flatten any nested arrays - return flat( ret ); - }, - - // A global GUID counter for objects - guid: 1, - - // jQuery.support is not used in Core but other projects attach their - // properties to it so it needs to exist. - support: support -} ); - -if ( typeof Symbol === "function" ) { - jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; -} - -// Populate the class2type map -jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), -function( _i, name ) { - class2type[ "[object " + name + "]" ] = name.toLowerCase(); -} ); - -function isArrayLike( obj ) { - - // Support: real iOS 8.2 only (not reproducible in simulator) - // `in` check used to prevent JIT error (gh-2145) - // hasOwn isn't used here due to false negatives - // regarding Nodelist length in IE - var length = !!obj && "length" in obj && obj.length, - type = toType( obj ); - - if ( isFunction( obj ) || isWindow( obj ) ) { - return false; - } - - return type === "array" || length === 0 || - typeof length === "number" && length > 0 && ( length - 1 ) in obj; -} -var Sizzle = -/*! - * Sizzle CSS Selector Engine v2.3.5 - * https://sizzlejs.com/ - * - * Copyright JS Foundation and other contributors - * Released under the MIT license - * https://js.foundation/ - * - * Date: 2020-03-14 - */ -( function( window ) { -var i, - support, - Expr, - getText, - isXML, - tokenize, - compile, - select, - outermostContext, - sortInput, - hasDuplicate, - - // Local document vars - setDocument, - document, - docElem, - documentIsHTML, - rbuggyQSA, - rbuggyMatches, - matches, - contains, - - // Instance-specific data - expando = "sizzle" + 1 * new Date(), - preferredDoc = window.document, - dirruns = 0, - done = 0, - classCache = createCache(), - tokenCache = createCache(), - compilerCache = createCache(), - nonnativeSelectorCache = createCache(), - sortOrder = function( a, b ) { - if ( a === b ) { - hasDuplicate = true; - } - return 0; - }, - - // Instance methods - hasOwn = ( {} ).hasOwnProperty, - arr = [], - pop = arr.pop, - pushNative = arr.push, - push = arr.push, - slice = arr.slice, - - // Use a stripped-down indexOf as it's faster than native - // https://jsperf.com/thor-indexof-vs-for/5 - indexOf = function( list, elem ) { - var i = 0, - len = list.length; - for ( ; i < len; i++ ) { - if ( list[ i ] === elem ) { - return i; - } - } - return -1; - }, - - booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|" + - "ismap|loop|multiple|open|readonly|required|scoped", - - // Regular expressions - - // http://www.w3.org/TR/css3-selectors/#whitespace - whitespace = "[\\x20\\t\\r\\n\\f]", - - // https://www.w3.org/TR/css-syntax-3/#ident-token-diagram - identifier = "(?:\\\\[\\da-fA-F]{1,6}" + whitespace + - "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+", - - // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors - attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + - - // Operator (capture 2) - "*([*^$|!~]?=)" + whitespace + - - // "Attribute values must be CSS identifiers [capture 5] - // or strings [capture 3 or capture 4]" - "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + - whitespace + "*\\]", - - pseudos = ":(" + identifier + ")(?:\\((" + - - // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: - // 1. quoted (capture 3; capture 4 or capture 5) - "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + - - // 2. simple (capture 6) - "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + - - // 3. anything else (capture 2) - ".*" + - ")\\)|)", - - // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter - rwhitespace = new RegExp( whitespace + "+", "g" ), - rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + - whitespace + "+$", "g" ), - - rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), - rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + - "*" ), - rdescend = new RegExp( whitespace + "|>" ), - - rpseudo = new RegExp( pseudos ), - ridentifier = new RegExp( "^" + identifier + "$" ), - - matchExpr = { - "ID": new RegExp( "^#(" + identifier + ")" ), - "CLASS": new RegExp( "^\\.(" + identifier + ")" ), - "TAG": new RegExp( "^(" + identifier + "|[*])" ), - "ATTR": new RegExp( "^" + attributes ), - "PSEUDO": new RegExp( "^" + pseudos ), - "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + - whitespace + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + - whitespace + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), - "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), - - // For use in libraries implementing .is() - // We use this for POS matching in `select` - "needsContext": new RegExp( "^" + whitespace + - "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace + - "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) - }, - - rhtml = /HTML$/i, - rinputs = /^(?:input|select|textarea|button)$/i, - rheader = /^h\d$/i, - - rnative = /^[^{]+\{\s*\[native \w/, - - // Easily-parseable/retrievable ID or TAG or CLASS selectors - rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, - - rsibling = /[+~]/, - - // CSS escapes - // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters - runescape = new RegExp( "\\\\[\\da-fA-F]{1,6}" + whitespace + "?|\\\\([^\\r\\n\\f])", "g" ), - funescape = function( escape, nonHex ) { - var high = "0x" + escape.slice( 1 ) - 0x10000; - - return nonHex ? - - // Strip the backslash prefix from a non-hex escape sequence - nonHex : - - // Replace a hexadecimal escape sequence with the encoded Unicode code point - // Support: IE <=11+ - // For values outside the Basic Multilingual Plane (BMP), manually construct a - // surrogate pair - high < 0 ? - String.fromCharCode( high + 0x10000 ) : - String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); - }, - - // CSS string/identifier serialization - // https://drafts.csswg.org/cssom/#common-serializing-idioms - rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, - fcssescape = function( ch, asCodePoint ) { - if ( asCodePoint ) { - - // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER - if ( ch === "\0" ) { - return "\uFFFD"; - } - - // Control characters and (dependent upon position) numbers get escaped as code points - return ch.slice( 0, -1 ) + "\\" + - ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; - } - - // Other potentially-special ASCII characters get backslash-escaped - return "\\" + ch; - }, - - // Used for iframes - // See setDocument() - // Removing the function wrapper causes a "Permission Denied" - // error in IE - unloadHandler = function() { - setDocument(); - }, - - inDisabledFieldset = addCombinator( - function( elem ) { - return elem.disabled === true && elem.nodeName.toLowerCase() === "fieldset"; - }, - { dir: "parentNode", next: "legend" } - ); - -// Optimize for push.apply( _, NodeList ) -try { - push.apply( - ( arr = slice.call( preferredDoc.childNodes ) ), - preferredDoc.childNodes - ); - - // Support: Android<4.0 - // Detect silently failing push.apply - // eslint-disable-next-line no-unused-expressions - arr[ preferredDoc.childNodes.length ].nodeType; -} catch ( e ) { - push = { apply: arr.length ? - - // Leverage slice if possible - function( target, els ) { - pushNative.apply( target, slice.call( els ) ); - } : - - // Support: IE<9 - // Otherwise append directly - function( target, els ) { - var j = target.length, - i = 0; - - // Can't trust NodeList.length - while ( ( target[ j++ ] = els[ i++ ] ) ) {} - target.length = j - 1; - } - }; -} - -function Sizzle( selector, context, results, seed ) { - var m, i, elem, nid, match, groups, newSelector, - newContext = context && context.ownerDocument, - - // nodeType defaults to 9, since context defaults to document - nodeType = context ? context.nodeType : 9; - - results = results || []; - - // Return early from calls with invalid selector or context - if ( typeof selector !== "string" || !selector || - nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { - - return results; - } - - // Try to shortcut find operations (as opposed to filters) in HTML documents - if ( !seed ) { - setDocument( context ); - context = context || document; - - if ( documentIsHTML ) { - - // If the selector is sufficiently simple, try using a "get*By*" DOM method - // (excepting DocumentFragment context, where the methods don't exist) - if ( nodeType !== 11 && ( match = rquickExpr.exec( selector ) ) ) { - - // ID selector - if ( ( m = match[ 1 ] ) ) { - - // Document context - if ( nodeType === 9 ) { - if ( ( elem = context.getElementById( m ) ) ) { - - // Support: IE, Opera, Webkit - // TODO: identify versions - // getElementById can match elements by name instead of ID - if ( elem.id === m ) { - results.push( elem ); - return results; - } - } else { - return results; - } - - // Element context - } else { - - // Support: IE, Opera, Webkit - // TODO: identify versions - // getElementById can match elements by name instead of ID - if ( newContext && ( elem = newContext.getElementById( m ) ) && - contains( context, elem ) && - elem.id === m ) { - - results.push( elem ); - return results; - } - } - - // Type selector - } else if ( match[ 2 ] ) { - push.apply( results, context.getElementsByTagName( selector ) ); - return results; - - // Class selector - } else if ( ( m = match[ 3 ] ) && support.getElementsByClassName && - context.getElementsByClassName ) { - - push.apply( results, context.getElementsByClassName( m ) ); - return results; - } - } - - // Take advantage of querySelectorAll - if ( support.qsa && - !nonnativeSelectorCache[ selector + " " ] && - ( !rbuggyQSA || !rbuggyQSA.test( selector ) ) && - - // Support: IE 8 only - // Exclude object elements - ( nodeType !== 1 || context.nodeName.toLowerCase() !== "object" ) ) { - - newSelector = selector; - newContext = context; - - // qSA considers elements outside a scoping root when evaluating child or - // descendant combinators, which is not what we want. - // In such cases, we work around the behavior by prefixing every selector in the - // list with an ID selector referencing the scope context. - // The technique has to be used as well when a leading combinator is used - // as such selectors are not recognized by querySelectorAll. - // Thanks to Andrew Dupont for this technique. - if ( nodeType === 1 && - ( rdescend.test( selector ) || rcombinators.test( selector ) ) ) { - - // Expand context for sibling selectors - newContext = rsibling.test( selector ) && testContext( context.parentNode ) || - context; - - // We can use :scope instead of the ID hack if the browser - // supports it & if we're not changing the context. - if ( newContext !== context || !support.scope ) { - - // Capture the context ID, setting it first if necessary - if ( ( nid = context.getAttribute( "id" ) ) ) { - nid = nid.replace( rcssescape, fcssescape ); - } else { - context.setAttribute( "id", ( nid = expando ) ); - } - } - - // Prefix every selector in the list - groups = tokenize( selector ); - i = groups.length; - while ( i-- ) { - groups[ i ] = ( nid ? "#" + nid : ":scope" ) + " " + - toSelector( groups[ i ] ); - } - newSelector = groups.join( "," ); - } - - try { - push.apply( results, - newContext.querySelectorAll( newSelector ) - ); - return results; - } catch ( qsaError ) { - nonnativeSelectorCache( selector, true ); - } finally { - if ( nid === expando ) { - context.removeAttribute( "id" ); - } - } - } - } - } - - // All others - return select( selector.replace( rtrim, "$1" ), context, results, seed ); -} - -/** - * Create key-value caches of limited size - * @returns {function(string, object)} Returns the Object data after storing it on itself with - * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) - * deleting the oldest entry - */ -function createCache() { - var keys = []; - - function cache( key, value ) { - - // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) - if ( keys.push( key + " " ) > Expr.cacheLength ) { - - // Only keep the most recent entries - delete cache[ keys.shift() ]; - } - return ( cache[ key + " " ] = value ); - } - return cache; -} - -/** - * Mark a function for special use by Sizzle - * @param {Function} fn The function to mark - */ -function markFunction( fn ) { - fn[ expando ] = true; - return fn; -} - -/** - * Support testing using an element - * @param {Function} fn Passed the created element and returns a boolean result - */ -function assert( fn ) { - var el = document.createElement( "fieldset" ); - - try { - return !!fn( el ); - } catch ( e ) { - return false; - } finally { - - // Remove from its parent by default - if ( el.parentNode ) { - el.parentNode.removeChild( el ); - } - - // release memory in IE - el = null; - } -} - -/** - * Adds the same handler for all of the specified attrs - * @param {String} attrs Pipe-separated list of attributes - * @param {Function} handler The method that will be applied - */ -function addHandle( attrs, handler ) { - var arr = attrs.split( "|" ), - i = arr.length; - - while ( i-- ) { - Expr.attrHandle[ arr[ i ] ] = handler; - } -} - -/** - * Checks document order of two siblings - * @param {Element} a - * @param {Element} b - * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b - */ -function siblingCheck( a, b ) { - var cur = b && a, - diff = cur && a.nodeType === 1 && b.nodeType === 1 && - a.sourceIndex - b.sourceIndex; - - // Use IE sourceIndex if available on both nodes - if ( diff ) { - return diff; - } - - // Check if b follows a - if ( cur ) { - while ( ( cur = cur.nextSibling ) ) { - if ( cur === b ) { - return -1; - } - } - } - - return a ? 1 : -1; -} - -/** - * Returns a function to use in pseudos for input types - * @param {String} type - */ -function createInputPseudo( type ) { - return function( elem ) { - var name = elem.nodeName.toLowerCase(); - return name === "input" && elem.type === type; - }; -} - -/** - * Returns a function to use in pseudos for buttons - * @param {String} type - */ -function createButtonPseudo( type ) { - return function( elem ) { - var name = elem.nodeName.toLowerCase(); - return ( name === "input" || name === "button" ) && elem.type === type; - }; -} - -/** - * Returns a function to use in pseudos for :enabled/:disabled - * @param {Boolean} disabled true for :disabled; false for :enabled - */ -function createDisabledPseudo( disabled ) { - - // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable - return function( elem ) { - - // Only certain elements can match :enabled or :disabled - // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled - // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled - if ( "form" in elem ) { - - // Check for inherited disabledness on relevant non-disabled elements: - // * listed form-associated elements in a disabled fieldset - // https://html.spec.whatwg.org/multipage/forms.html#category-listed - // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled - // * option elements in a disabled optgroup - // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled - // All such elements have a "form" property. - if ( elem.parentNode && elem.disabled === false ) { - - // Option elements defer to a parent optgroup if present - if ( "label" in elem ) { - if ( "label" in elem.parentNode ) { - return elem.parentNode.disabled === disabled; - } else { - return elem.disabled === disabled; - } - } - - // Support: IE 6 - 11 - // Use the isDisabled shortcut property to check for disabled fieldset ancestors - return elem.isDisabled === disabled || - - // Where there is no isDisabled, check manually - /* jshint -W018 */ - elem.isDisabled !== !disabled && - inDisabledFieldset( elem ) === disabled; - } - - return elem.disabled === disabled; - - // Try to winnow out elements that can't be disabled before trusting the disabled property. - // Some victims get caught in our net (label, legend, menu, track), but it shouldn't - // even exist on them, let alone have a boolean value. - } else if ( "label" in elem ) { - return elem.disabled === disabled; - } - - // Remaining elements are neither :enabled nor :disabled - return false; - }; -} - -/** - * Returns a function to use in pseudos for positionals - * @param {Function} fn - */ -function createPositionalPseudo( fn ) { - return markFunction( function( argument ) { - argument = +argument; - return markFunction( function( seed, matches ) { - var j, - matchIndexes = fn( [], seed.length, argument ), - i = matchIndexes.length; - - // Match elements found at the specified indexes - while ( i-- ) { - if ( seed[ ( j = matchIndexes[ i ] ) ] ) { - seed[ j ] = !( matches[ j ] = seed[ j ] ); - } - } - } ); - } ); -} - -/** - * Checks a node for validity as a Sizzle context - * @param {Element|Object=} context - * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value - */ -function testContext( context ) { - return context && typeof context.getElementsByTagName !== "undefined" && context; -} - -// Expose support vars for convenience -support = Sizzle.support = {}; - -/** - * Detects XML nodes - * @param {Element|Object} elem An element or a document - * @returns {Boolean} True iff elem is a non-HTML XML node - */ -isXML = Sizzle.isXML = function( elem ) { - var namespace = elem.namespaceURI, - docElem = ( elem.ownerDocument || elem ).documentElement; - - // Support: IE <=8 - // Assume HTML when documentElement doesn't yet exist, such as inside loading iframes - // https://bugs.jquery.com/ticket/4833 - return !rhtml.test( namespace || docElem && docElem.nodeName || "HTML" ); -}; - -/** - * Sets document-related variables once based on the current document - * @param {Element|Object} [doc] An element or document object to use to set the document - * @returns {Object} Returns the current document - */ -setDocument = Sizzle.setDocument = function( node ) { - var hasCompare, subWindow, - doc = node ? node.ownerDocument || node : preferredDoc; - - // Return early if doc is invalid or already selected - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - if ( doc == document || doc.nodeType !== 9 || !doc.documentElement ) { - return document; - } - - // Update global variables - document = doc; - docElem = document.documentElement; - documentIsHTML = !isXML( document ); - - // Support: IE 9 - 11+, Edge 12 - 18+ - // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - if ( preferredDoc != document && - ( subWindow = document.defaultView ) && subWindow.top !== subWindow ) { - - // Support: IE 11, Edge - if ( subWindow.addEventListener ) { - subWindow.addEventListener( "unload", unloadHandler, false ); - - // Support: IE 9 - 10 only - } else if ( subWindow.attachEvent ) { - subWindow.attachEvent( "onunload", unloadHandler ); - } - } - - // Support: IE 8 - 11+, Edge 12 - 18+, Chrome <=16 - 25 only, Firefox <=3.6 - 31 only, - // Safari 4 - 5 only, Opera <=11.6 - 12.x only - // IE/Edge & older browsers don't support the :scope pseudo-class. - // Support: Safari 6.0 only - // Safari 6.0 supports :scope but it's an alias of :root there. - support.scope = assert( function( el ) { - docElem.appendChild( el ).appendChild( document.createElement( "div" ) ); - return typeof el.querySelectorAll !== "undefined" && - !el.querySelectorAll( ":scope fieldset div" ).length; - } ); - - /* Attributes - ---------------------------------------------------------------------- */ - - // Support: IE<8 - // Verify that getAttribute really returns attributes and not properties - // (excepting IE8 booleans) - support.attributes = assert( function( el ) { - el.className = "i"; - return !el.getAttribute( "className" ); - } ); - - /* getElement(s)By* - ---------------------------------------------------------------------- */ - - // Check if getElementsByTagName("*") returns only elements - support.getElementsByTagName = assert( function( el ) { - el.appendChild( document.createComment( "" ) ); - return !el.getElementsByTagName( "*" ).length; - } ); - - // Support: IE<9 - support.getElementsByClassName = rnative.test( document.getElementsByClassName ); - - // Support: IE<10 - // Check if getElementById returns elements by name - // The broken getElementById methods don't pick up programmatically-set names, - // so use a roundabout getElementsByName test - support.getById = assert( function( el ) { - docElem.appendChild( el ).id = expando; - return !document.getElementsByName || !document.getElementsByName( expando ).length; - } ); - - // ID filter and find - if ( support.getById ) { - Expr.filter[ "ID" ] = function( id ) { - var attrId = id.replace( runescape, funescape ); - return function( elem ) { - return elem.getAttribute( "id" ) === attrId; - }; - }; - Expr.find[ "ID" ] = function( id, context ) { - if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { - var elem = context.getElementById( id ); - return elem ? [ elem ] : []; - } - }; - } else { - Expr.filter[ "ID" ] = function( id ) { - var attrId = id.replace( runescape, funescape ); - return function( elem ) { - var node = typeof elem.getAttributeNode !== "undefined" && - elem.getAttributeNode( "id" ); - return node && node.value === attrId; - }; - }; - - // Support: IE 6 - 7 only - // getElementById is not reliable as a find shortcut - Expr.find[ "ID" ] = function( id, context ) { - if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { - var node, i, elems, - elem = context.getElementById( id ); - - if ( elem ) { - - // Verify the id attribute - node = elem.getAttributeNode( "id" ); - if ( node && node.value === id ) { - return [ elem ]; - } - - // Fall back on getElementsByName - elems = context.getElementsByName( id ); - i = 0; - while ( ( elem = elems[ i++ ] ) ) { - node = elem.getAttributeNode( "id" ); - if ( node && node.value === id ) { - return [ elem ]; - } - } - } - - return []; - } - }; - } - - // Tag - Expr.find[ "TAG" ] = support.getElementsByTagName ? - function( tag, context ) { - if ( typeof context.getElementsByTagName !== "undefined" ) { - return context.getElementsByTagName( tag ); - - // DocumentFragment nodes don't have gEBTN - } else if ( support.qsa ) { - return context.querySelectorAll( tag ); - } - } : - - function( tag, context ) { - var elem, - tmp = [], - i = 0, - - // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too - results = context.getElementsByTagName( tag ); - - // Filter out possible comments - if ( tag === "*" ) { - while ( ( elem = results[ i++ ] ) ) { - if ( elem.nodeType === 1 ) { - tmp.push( elem ); - } - } - - return tmp; - } - return results; - }; - - // Class - Expr.find[ "CLASS" ] = support.getElementsByClassName && function( className, context ) { - if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { - return context.getElementsByClassName( className ); - } - }; - - /* QSA/matchesSelector - ---------------------------------------------------------------------- */ - - // QSA and matchesSelector support - - // matchesSelector(:active) reports false when true (IE9/Opera 11.5) - rbuggyMatches = []; - - // qSa(:focus) reports false when true (Chrome 21) - // We allow this because of a bug in IE8/9 that throws an error - // whenever `document.activeElement` is accessed on an iframe - // So, we allow :focus to pass through QSA all the time to avoid the IE error - // See https://bugs.jquery.com/ticket/13378 - rbuggyQSA = []; - - if ( ( support.qsa = rnative.test( document.querySelectorAll ) ) ) { - - // Build QSA regex - // Regex strategy adopted from Diego Perini - assert( function( el ) { - - var input; - - // Select is set to empty string on purpose - // This is to test IE's treatment of not explicitly - // setting a boolean content attribute, - // since its presence should be enough - // https://bugs.jquery.com/ticket/12359 - docElem.appendChild( el ).innerHTML = "" + - ""; - - // Support: IE8, Opera 11-12.16 - // Nothing should be selected when empty strings follow ^= or $= or *= - // The test attribute must be unknown in Opera but "safe" for WinRT - // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section - if ( el.querySelectorAll( "[msallowcapture^='']" ).length ) { - rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); - } - - // Support: IE8 - // Boolean attributes and "value" are not treated correctly - if ( !el.querySelectorAll( "[selected]" ).length ) { - rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); - } - - // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ - if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { - rbuggyQSA.push( "~=" ); - } - - // Support: IE 11+, Edge 15 - 18+ - // IE 11/Edge don't find elements on a `[name='']` query in some cases. - // Adding a temporary attribute to the document before the selection works - // around the issue. - // Interestingly, IE 10 & older don't seem to have the issue. - input = document.createElement( "input" ); - input.setAttribute( "name", "" ); - el.appendChild( input ); - if ( !el.querySelectorAll( "[name='']" ).length ) { - rbuggyQSA.push( "\\[" + whitespace + "*name" + whitespace + "*=" + - whitespace + "*(?:''|\"\")" ); - } - - // Webkit/Opera - :checked should return selected option elements - // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked - // IE8 throws error here and will not see later tests - if ( !el.querySelectorAll( ":checked" ).length ) { - rbuggyQSA.push( ":checked" ); - } - - // Support: Safari 8+, iOS 8+ - // https://bugs.webkit.org/show_bug.cgi?id=136851 - // In-page `selector#id sibling-combinator selector` fails - if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { - rbuggyQSA.push( ".#.+[+~]" ); - } - - // Support: Firefox <=3.6 - 5 only - // Old Firefox doesn't throw on a badly-escaped identifier. - el.querySelectorAll( "\\\f" ); - rbuggyQSA.push( "[\\r\\n\\f]" ); - } ); - - assert( function( el ) { - el.innerHTML = "" + - ""; - - // Support: Windows 8 Native Apps - // The type and name attributes are restricted during .innerHTML assignment - var input = document.createElement( "input" ); - input.setAttribute( "type", "hidden" ); - el.appendChild( input ).setAttribute( "name", "D" ); - - // Support: IE8 - // Enforce case-sensitivity of name attribute - if ( el.querySelectorAll( "[name=d]" ).length ) { - rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); - } - - // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) - // IE8 throws error here and will not see later tests - if ( el.querySelectorAll( ":enabled" ).length !== 2 ) { - rbuggyQSA.push( ":enabled", ":disabled" ); - } - - // Support: IE9-11+ - // IE's :disabled selector does not pick up the children of disabled fieldsets - docElem.appendChild( el ).disabled = true; - if ( el.querySelectorAll( ":disabled" ).length !== 2 ) { - rbuggyQSA.push( ":enabled", ":disabled" ); - } - - // Support: Opera 10 - 11 only - // Opera 10-11 does not throw on post-comma invalid pseudos - el.querySelectorAll( "*,:x" ); - rbuggyQSA.push( ",.*:" ); - } ); - } - - if ( ( support.matchesSelector = rnative.test( ( matches = docElem.matches || - docElem.webkitMatchesSelector || - docElem.mozMatchesSelector || - docElem.oMatchesSelector || - docElem.msMatchesSelector ) ) ) ) { - - assert( function( el ) { - - // Check to see if it's possible to do matchesSelector - // on a disconnected node (IE 9) - support.disconnectedMatch = matches.call( el, "*" ); - - // This should fail with an exception - // Gecko does not error, returns false instead - matches.call( el, "[s!='']:x" ); - rbuggyMatches.push( "!=", pseudos ); - } ); - } - - rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( "|" ) ); - rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join( "|" ) ); - - /* Contains - ---------------------------------------------------------------------- */ - hasCompare = rnative.test( docElem.compareDocumentPosition ); - - // Element contains another - // Purposefully self-exclusive - // As in, an element does not contain itself - contains = hasCompare || rnative.test( docElem.contains ) ? - function( a, b ) { - var adown = a.nodeType === 9 ? a.documentElement : a, - bup = b && b.parentNode; - return a === bup || !!( bup && bup.nodeType === 1 && ( - adown.contains ? - adown.contains( bup ) : - a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 - ) ); - } : - function( a, b ) { - if ( b ) { - while ( ( b = b.parentNode ) ) { - if ( b === a ) { - return true; - } - } - } - return false; - }; - - /* Sorting - ---------------------------------------------------------------------- */ - - // Document order sorting - sortOrder = hasCompare ? - function( a, b ) { - - // Flag for duplicate removal - if ( a === b ) { - hasDuplicate = true; - return 0; - } - - // Sort on method existence if only one input has compareDocumentPosition - var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; - if ( compare ) { - return compare; - } - - // Calculate position if both inputs belong to the same document - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - compare = ( a.ownerDocument || a ) == ( b.ownerDocument || b ) ? - a.compareDocumentPosition( b ) : - - // Otherwise we know they are disconnected - 1; - - // Disconnected nodes - if ( compare & 1 || - ( !support.sortDetached && b.compareDocumentPosition( a ) === compare ) ) { - - // Choose the first element that is related to our preferred document - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - if ( a == document || a.ownerDocument == preferredDoc && - contains( preferredDoc, a ) ) { - return -1; - } - - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - if ( b == document || b.ownerDocument == preferredDoc && - contains( preferredDoc, b ) ) { - return 1; - } - - // Maintain original order - return sortInput ? - ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : - 0; - } - - return compare & 4 ? -1 : 1; - } : - function( a, b ) { - - // Exit early if the nodes are identical - if ( a === b ) { - hasDuplicate = true; - return 0; - } - - var cur, - i = 0, - aup = a.parentNode, - bup = b.parentNode, - ap = [ a ], - bp = [ b ]; - - // Parentless nodes are either documents or disconnected - if ( !aup || !bup ) { - - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - /* eslint-disable eqeqeq */ - return a == document ? -1 : - b == document ? 1 : - /* eslint-enable eqeqeq */ - aup ? -1 : - bup ? 1 : - sortInput ? - ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : - 0; - - // If the nodes are siblings, we can do a quick check - } else if ( aup === bup ) { - return siblingCheck( a, b ); - } - - // Otherwise we need full lists of their ancestors for comparison - cur = a; - while ( ( cur = cur.parentNode ) ) { - ap.unshift( cur ); - } - cur = b; - while ( ( cur = cur.parentNode ) ) { - bp.unshift( cur ); - } - - // Walk down the tree looking for a discrepancy - while ( ap[ i ] === bp[ i ] ) { - i++; - } - - return i ? - - // Do a sibling check if the nodes have a common ancestor - siblingCheck( ap[ i ], bp[ i ] ) : - - // Otherwise nodes in our document sort first - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - /* eslint-disable eqeqeq */ - ap[ i ] == preferredDoc ? -1 : - bp[ i ] == preferredDoc ? 1 : - /* eslint-enable eqeqeq */ - 0; - }; - - return document; -}; - -Sizzle.matches = function( expr, elements ) { - return Sizzle( expr, null, null, elements ); -}; - -Sizzle.matchesSelector = function( elem, expr ) { - setDocument( elem ); - - if ( support.matchesSelector && documentIsHTML && - !nonnativeSelectorCache[ expr + " " ] && - ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && - ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { - - try { - var ret = matches.call( elem, expr ); - - // IE 9's matchesSelector returns false on disconnected nodes - if ( ret || support.disconnectedMatch || - - // As well, disconnected nodes are said to be in a document - // fragment in IE 9 - elem.document && elem.document.nodeType !== 11 ) { - return ret; - } - } catch ( e ) { - nonnativeSelectorCache( expr, true ); - } - } - - return Sizzle( expr, document, null, [ elem ] ).length > 0; -}; - -Sizzle.contains = function( context, elem ) { - - // Set document vars if needed - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - if ( ( context.ownerDocument || context ) != document ) { - setDocument( context ); - } - return contains( context, elem ); -}; - -Sizzle.attr = function( elem, name ) { - - // Set document vars if needed - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - if ( ( elem.ownerDocument || elem ) != document ) { - setDocument( elem ); - } - - var fn = Expr.attrHandle[ name.toLowerCase() ], - - // Don't get fooled by Object.prototype properties (jQuery #13807) - val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? - fn( elem, name, !documentIsHTML ) : - undefined; - - return val !== undefined ? - val : - support.attributes || !documentIsHTML ? - elem.getAttribute( name ) : - ( val = elem.getAttributeNode( name ) ) && val.specified ? - val.value : - null; -}; - -Sizzle.escape = function( sel ) { - return ( sel + "" ).replace( rcssescape, fcssescape ); -}; - -Sizzle.error = function( msg ) { - throw new Error( "Syntax error, unrecognized expression: " + msg ); -}; - -/** - * Document sorting and removing duplicates - * @param {ArrayLike} results - */ -Sizzle.uniqueSort = function( results ) { - var elem, - duplicates = [], - j = 0, - i = 0; - - // Unless we *know* we can detect duplicates, assume their presence - hasDuplicate = !support.detectDuplicates; - sortInput = !support.sortStable && results.slice( 0 ); - results.sort( sortOrder ); - - if ( hasDuplicate ) { - while ( ( elem = results[ i++ ] ) ) { - if ( elem === results[ i ] ) { - j = duplicates.push( i ); - } - } - while ( j-- ) { - results.splice( duplicates[ j ], 1 ); - } - } - - // Clear input after sorting to release objects - // See https://github.com/jquery/sizzle/pull/225 - sortInput = null; - - return results; -}; - -/** - * Utility function for retrieving the text value of an array of DOM nodes - * @param {Array|Element} elem - */ -getText = Sizzle.getText = function( elem ) { - var node, - ret = "", - i = 0, - nodeType = elem.nodeType; - - if ( !nodeType ) { - - // If no nodeType, this is expected to be an array - while ( ( node = elem[ i++ ] ) ) { - - // Do not traverse comment nodes - ret += getText( node ); - } - } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { - - // Use textContent for elements - // innerText usage removed for consistency of new lines (jQuery #11153) - if ( typeof elem.textContent === "string" ) { - return elem.textContent; - } else { - - // Traverse its children - for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { - ret += getText( elem ); - } - } - } else if ( nodeType === 3 || nodeType === 4 ) { - return elem.nodeValue; - } - - // Do not include comment or processing instruction nodes - - return ret; -}; - -Expr = Sizzle.selectors = { - - // Can be adjusted by the user - cacheLength: 50, - - createPseudo: markFunction, - - match: matchExpr, - - attrHandle: {}, - - find: {}, - - relative: { - ">": { dir: "parentNode", first: true }, - " ": { dir: "parentNode" }, - "+": { dir: "previousSibling", first: true }, - "~": { dir: "previousSibling" } - }, - - preFilter: { - "ATTR": function( match ) { - match[ 1 ] = match[ 1 ].replace( runescape, funescape ); - - // Move the given value to match[3] whether quoted or unquoted - match[ 3 ] = ( match[ 3 ] || match[ 4 ] || - match[ 5 ] || "" ).replace( runescape, funescape ); - - if ( match[ 2 ] === "~=" ) { - match[ 3 ] = " " + match[ 3 ] + " "; - } - - return match.slice( 0, 4 ); - }, - - "CHILD": function( match ) { - - /* matches from matchExpr["CHILD"] - 1 type (only|nth|...) - 2 what (child|of-type) - 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) - 4 xn-component of xn+y argument ([+-]?\d*n|) - 5 sign of xn-component - 6 x of xn-component - 7 sign of y-component - 8 y of y-component - */ - match[ 1 ] = match[ 1 ].toLowerCase(); - - if ( match[ 1 ].slice( 0, 3 ) === "nth" ) { - - // nth-* requires argument - if ( !match[ 3 ] ) { - Sizzle.error( match[ 0 ] ); - } - - // numeric x and y parameters for Expr.filter.CHILD - // remember that false/true cast respectively to 0/1 - match[ 4 ] = +( match[ 4 ] ? - match[ 5 ] + ( match[ 6 ] || 1 ) : - 2 * ( match[ 3 ] === "even" || match[ 3 ] === "odd" ) ); - match[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === "odd" ); - - // other types prohibit arguments - } else if ( match[ 3 ] ) { - Sizzle.error( match[ 0 ] ); - } - - return match; - }, - - "PSEUDO": function( match ) { - var excess, - unquoted = !match[ 6 ] && match[ 2 ]; - - if ( matchExpr[ "CHILD" ].test( match[ 0 ] ) ) { - return null; - } - - // Accept quoted arguments as-is - if ( match[ 3 ] ) { - match[ 2 ] = match[ 4 ] || match[ 5 ] || ""; - - // Strip excess characters from unquoted arguments - } else if ( unquoted && rpseudo.test( unquoted ) && - - // Get excess from tokenize (recursively) - ( excess = tokenize( unquoted, true ) ) && - - // advance to the next closing parenthesis - ( excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length ) ) { - - // excess is a negative index - match[ 0 ] = match[ 0 ].slice( 0, excess ); - match[ 2 ] = unquoted.slice( 0, excess ); - } - - // Return only captures needed by the pseudo filter method (type and argument) - return match.slice( 0, 3 ); - } - }, - - filter: { - - "TAG": function( nodeNameSelector ) { - var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); - return nodeNameSelector === "*" ? - function() { - return true; - } : - function( elem ) { - return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; - }; - }, - - "CLASS": function( className ) { - var pattern = classCache[ className + " " ]; - - return pattern || - ( pattern = new RegExp( "(^|" + whitespace + - ")" + className + "(" + whitespace + "|$)" ) ) && classCache( - className, function( elem ) { - return pattern.test( - typeof elem.className === "string" && elem.className || - typeof elem.getAttribute !== "undefined" && - elem.getAttribute( "class" ) || - "" - ); - } ); - }, - - "ATTR": function( name, operator, check ) { - return function( elem ) { - var result = Sizzle.attr( elem, name ); - - if ( result == null ) { - return operator === "!="; - } - if ( !operator ) { - return true; - } - - result += ""; - - /* eslint-disable max-len */ - - return operator === "=" ? result === check : - operator === "!=" ? result !== check : - operator === "^=" ? check && result.indexOf( check ) === 0 : - operator === "*=" ? check && result.indexOf( check ) > -1 : - operator === "$=" ? check && result.slice( -check.length ) === check : - operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : - operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : - false; - /* eslint-enable max-len */ - - }; - }, - - "CHILD": function( type, what, _argument, first, last ) { - var simple = type.slice( 0, 3 ) !== "nth", - forward = type.slice( -4 ) !== "last", - ofType = what === "of-type"; - - return first === 1 && last === 0 ? - - // Shortcut for :nth-*(n) - function( elem ) { - return !!elem.parentNode; - } : - - function( elem, _context, xml ) { - var cache, uniqueCache, outerCache, node, nodeIndex, start, - dir = simple !== forward ? "nextSibling" : "previousSibling", - parent = elem.parentNode, - name = ofType && elem.nodeName.toLowerCase(), - useCache = !xml && !ofType, - diff = false; - - if ( parent ) { - - // :(first|last|only)-(child|of-type) - if ( simple ) { - while ( dir ) { - node = elem; - while ( ( node = node[ dir ] ) ) { - if ( ofType ? - node.nodeName.toLowerCase() === name : - node.nodeType === 1 ) { - - return false; - } - } - - // Reverse direction for :only-* (if we haven't yet done so) - start = dir = type === "only" && !start && "nextSibling"; - } - return true; - } - - start = [ forward ? parent.firstChild : parent.lastChild ]; - - // non-xml :nth-child(...) stores cache data on `parent` - if ( forward && useCache ) { - - // Seek `elem` from a previously-cached index - - // ...in a gzip-friendly way - node = parent; - outerCache = node[ expando ] || ( node[ expando ] = {} ); - - // Support: IE <9 only - // Defend against cloned attroperties (jQuery gh-1709) - uniqueCache = outerCache[ node.uniqueID ] || - ( outerCache[ node.uniqueID ] = {} ); - - cache = uniqueCache[ type ] || []; - nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; - diff = nodeIndex && cache[ 2 ]; - node = nodeIndex && parent.childNodes[ nodeIndex ]; - - while ( ( node = ++nodeIndex && node && node[ dir ] || - - // Fallback to seeking `elem` from the start - ( diff = nodeIndex = 0 ) || start.pop() ) ) { - - // When found, cache indexes on `parent` and break - if ( node.nodeType === 1 && ++diff && node === elem ) { - uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; - break; - } - } - - } else { - - // Use previously-cached element index if available - if ( useCache ) { - - // ...in a gzip-friendly way - node = elem; - outerCache = node[ expando ] || ( node[ expando ] = {} ); - - // Support: IE <9 only - // Defend against cloned attroperties (jQuery gh-1709) - uniqueCache = outerCache[ node.uniqueID ] || - ( outerCache[ node.uniqueID ] = {} ); - - cache = uniqueCache[ type ] || []; - nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; - diff = nodeIndex; - } - - // xml :nth-child(...) - // or :nth-last-child(...) or :nth(-last)?-of-type(...) - if ( diff === false ) { - - // Use the same loop as above to seek `elem` from the start - while ( ( node = ++nodeIndex && node && node[ dir ] || - ( diff = nodeIndex = 0 ) || start.pop() ) ) { - - if ( ( ofType ? - node.nodeName.toLowerCase() === name : - node.nodeType === 1 ) && - ++diff ) { - - // Cache the index of each encountered element - if ( useCache ) { - outerCache = node[ expando ] || - ( node[ expando ] = {} ); - - // Support: IE <9 only - // Defend against cloned attroperties (jQuery gh-1709) - uniqueCache = outerCache[ node.uniqueID ] || - ( outerCache[ node.uniqueID ] = {} ); - - uniqueCache[ type ] = [ dirruns, diff ]; - } - - if ( node === elem ) { - break; - } - } - } - } - } - - // Incorporate the offset, then check against cycle size - diff -= last; - return diff === first || ( diff % first === 0 && diff / first >= 0 ); - } - }; - }, - - "PSEUDO": function( pseudo, argument ) { - - // pseudo-class names are case-insensitive - // http://www.w3.org/TR/selectors/#pseudo-classes - // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters - // Remember that setFilters inherits from pseudos - var args, - fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || - Sizzle.error( "unsupported pseudo: " + pseudo ); - - // The user may use createPseudo to indicate that - // arguments are needed to create the filter function - // just as Sizzle does - if ( fn[ expando ] ) { - return fn( argument ); - } - - // But maintain support for old signatures - if ( fn.length > 1 ) { - args = [ pseudo, pseudo, "", argument ]; - return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? - markFunction( function( seed, matches ) { - var idx, - matched = fn( seed, argument ), - i = matched.length; - while ( i-- ) { - idx = indexOf( seed, matched[ i ] ); - seed[ idx ] = !( matches[ idx ] = matched[ i ] ); - } - } ) : - function( elem ) { - return fn( elem, 0, args ); - }; - } - - return fn; - } - }, - - pseudos: { - - // Potentially complex pseudos - "not": markFunction( function( selector ) { - - // Trim the selector passed to compile - // to avoid treating leading and trailing - // spaces as combinators - var input = [], - results = [], - matcher = compile( selector.replace( rtrim, "$1" ) ); - - return matcher[ expando ] ? - markFunction( function( seed, matches, _context, xml ) { - var elem, - unmatched = matcher( seed, null, xml, [] ), - i = seed.length; - - // Match elements unmatched by `matcher` - while ( i-- ) { - if ( ( elem = unmatched[ i ] ) ) { - seed[ i ] = !( matches[ i ] = elem ); - } - } - } ) : - function( elem, _context, xml ) { - input[ 0 ] = elem; - matcher( input, null, xml, results ); - - // Don't keep the element (issue #299) - input[ 0 ] = null; - return !results.pop(); - }; - } ), - - "has": markFunction( function( selector ) { - return function( elem ) { - return Sizzle( selector, elem ).length > 0; - }; - } ), - - "contains": markFunction( function( text ) { - text = text.replace( runescape, funescape ); - return function( elem ) { - return ( elem.textContent || getText( elem ) ).indexOf( text ) > -1; - }; - } ), - - // "Whether an element is represented by a :lang() selector - // is based solely on the element's language value - // being equal to the identifier C, - // or beginning with the identifier C immediately followed by "-". - // The matching of C against the element's language value is performed case-insensitively. - // The identifier C does not have to be a valid language name." - // http://www.w3.org/TR/selectors/#lang-pseudo - "lang": markFunction( function( lang ) { - - // lang value must be a valid identifier - if ( !ridentifier.test( lang || "" ) ) { - Sizzle.error( "unsupported lang: " + lang ); - } - lang = lang.replace( runescape, funescape ).toLowerCase(); - return function( elem ) { - var elemLang; - do { - if ( ( elemLang = documentIsHTML ? - elem.lang : - elem.getAttribute( "xml:lang" ) || elem.getAttribute( "lang" ) ) ) { - - elemLang = elemLang.toLowerCase(); - return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; - } - } while ( ( elem = elem.parentNode ) && elem.nodeType === 1 ); - return false; - }; - } ), - - // Miscellaneous - "target": function( elem ) { - var hash = window.location && window.location.hash; - return hash && hash.slice( 1 ) === elem.id; - }, - - "root": function( elem ) { - return elem === docElem; - }, - - "focus": function( elem ) { - return elem === document.activeElement && - ( !document.hasFocus || document.hasFocus() ) && - !!( elem.type || elem.href || ~elem.tabIndex ); - }, - - // Boolean properties - "enabled": createDisabledPseudo( false ), - "disabled": createDisabledPseudo( true ), - - "checked": function( elem ) { - - // In CSS3, :checked should return both checked and selected elements - // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked - var nodeName = elem.nodeName.toLowerCase(); - return ( nodeName === "input" && !!elem.checked ) || - ( nodeName === "option" && !!elem.selected ); - }, - - "selected": function( elem ) { - - // Accessing this property makes selected-by-default - // options in Safari work properly - if ( elem.parentNode ) { - // eslint-disable-next-line no-unused-expressions - elem.parentNode.selectedIndex; - } - - return elem.selected === true; - }, - - // Contents - "empty": function( elem ) { - - // http://www.w3.org/TR/selectors/#empty-pseudo - // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), - // but not by others (comment: 8; processing instruction: 7; etc.) - // nodeType < 6 works because attributes (2) do not appear as children - for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { - if ( elem.nodeType < 6 ) { - return false; - } - } - return true; - }, - - "parent": function( elem ) { - return !Expr.pseudos[ "empty" ]( elem ); - }, - - // Element/input types - "header": function( elem ) { - return rheader.test( elem.nodeName ); - }, - - "input": function( elem ) { - return rinputs.test( elem.nodeName ); - }, - - "button": function( elem ) { - var name = elem.nodeName.toLowerCase(); - return name === "input" && elem.type === "button" || name === "button"; - }, - - "text": function( elem ) { - var attr; - return elem.nodeName.toLowerCase() === "input" && - elem.type === "text" && - - // Support: IE<8 - // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" - ( ( attr = elem.getAttribute( "type" ) ) == null || - attr.toLowerCase() === "text" ); - }, - - // Position-in-collection - "first": createPositionalPseudo( function() { - return [ 0 ]; - } ), - - "last": createPositionalPseudo( function( _matchIndexes, length ) { - return [ length - 1 ]; - } ), - - "eq": createPositionalPseudo( function( _matchIndexes, length, argument ) { - return [ argument < 0 ? argument + length : argument ]; - } ), - - "even": createPositionalPseudo( function( matchIndexes, length ) { - var i = 0; - for ( ; i < length; i += 2 ) { - matchIndexes.push( i ); - } - return matchIndexes; - } ), - - "odd": createPositionalPseudo( function( matchIndexes, length ) { - var i = 1; - for ( ; i < length; i += 2 ) { - matchIndexes.push( i ); - } - return matchIndexes; - } ), - - "lt": createPositionalPseudo( function( matchIndexes, length, argument ) { - var i = argument < 0 ? - argument + length : - argument > length ? - length : - argument; - for ( ; --i >= 0; ) { - matchIndexes.push( i ); - } - return matchIndexes; - } ), - - "gt": createPositionalPseudo( function( matchIndexes, length, argument ) { - var i = argument < 0 ? argument + length : argument; - for ( ; ++i < length; ) { - matchIndexes.push( i ); - } - return matchIndexes; - } ) - } -}; - -Expr.pseudos[ "nth" ] = Expr.pseudos[ "eq" ]; - -// Add button/input type pseudos -for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { - Expr.pseudos[ i ] = createInputPseudo( i ); -} -for ( i in { submit: true, reset: true } ) { - Expr.pseudos[ i ] = createButtonPseudo( i ); -} - -// Easy API for creating new setFilters -function setFilters() {} -setFilters.prototype = Expr.filters = Expr.pseudos; -Expr.setFilters = new setFilters(); - -tokenize = Sizzle.tokenize = function( selector, parseOnly ) { - var matched, match, tokens, type, - soFar, groups, preFilters, - cached = tokenCache[ selector + " " ]; - - if ( cached ) { - return parseOnly ? 0 : cached.slice( 0 ); - } - - soFar = selector; - groups = []; - preFilters = Expr.preFilter; - - while ( soFar ) { - - // Comma and first run - if ( !matched || ( match = rcomma.exec( soFar ) ) ) { - if ( match ) { - - // Don't consume trailing commas as valid - soFar = soFar.slice( match[ 0 ].length ) || soFar; - } - groups.push( ( tokens = [] ) ); - } - - matched = false; - - // Combinators - if ( ( match = rcombinators.exec( soFar ) ) ) { - matched = match.shift(); - tokens.push( { - value: matched, - - // Cast descendant combinators to space - type: match[ 0 ].replace( rtrim, " " ) - } ); - soFar = soFar.slice( matched.length ); - } - - // Filters - for ( type in Expr.filter ) { - if ( ( match = matchExpr[ type ].exec( soFar ) ) && ( !preFilters[ type ] || - ( match = preFilters[ type ]( match ) ) ) ) { - matched = match.shift(); - tokens.push( { - value: matched, - type: type, - matches: match - } ); - soFar = soFar.slice( matched.length ); - } - } - - if ( !matched ) { - break; - } - } - - // Return the length of the invalid excess - // if we're just parsing - // Otherwise, throw an error or return tokens - return parseOnly ? - soFar.length : - soFar ? - Sizzle.error( selector ) : - - // Cache the tokens - tokenCache( selector, groups ).slice( 0 ); -}; - -function toSelector( tokens ) { - var i = 0, - len = tokens.length, - selector = ""; - for ( ; i < len; i++ ) { - selector += tokens[ i ].value; - } - return selector; -} - -function addCombinator( matcher, combinator, base ) { - var dir = combinator.dir, - skip = combinator.next, - key = skip || dir, - checkNonElements = base && key === "parentNode", - doneName = done++; - - return combinator.first ? - - // Check against closest ancestor/preceding element - function( elem, context, xml ) { - while ( ( elem = elem[ dir ] ) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - return matcher( elem, context, xml ); - } - } - return false; - } : - - // Check against all ancestor/preceding elements - function( elem, context, xml ) { - var oldCache, uniqueCache, outerCache, - newCache = [ dirruns, doneName ]; - - // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching - if ( xml ) { - while ( ( elem = elem[ dir ] ) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - if ( matcher( elem, context, xml ) ) { - return true; - } - } - } - } else { - while ( ( elem = elem[ dir ] ) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - outerCache = elem[ expando ] || ( elem[ expando ] = {} ); - - // Support: IE <9 only - // Defend against cloned attroperties (jQuery gh-1709) - uniqueCache = outerCache[ elem.uniqueID ] || - ( outerCache[ elem.uniqueID ] = {} ); - - if ( skip && skip === elem.nodeName.toLowerCase() ) { - elem = elem[ dir ] || elem; - } else if ( ( oldCache = uniqueCache[ key ] ) && - oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { - - // Assign to newCache so results back-propagate to previous elements - return ( newCache[ 2 ] = oldCache[ 2 ] ); - } else { - - // Reuse newcache so results back-propagate to previous elements - uniqueCache[ key ] = newCache; - - // A match means we're done; a fail means we have to keep checking - if ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) { - return true; - } - } - } - } - } - return false; - }; -} - -function elementMatcher( matchers ) { - return matchers.length > 1 ? - function( elem, context, xml ) { - var i = matchers.length; - while ( i-- ) { - if ( !matchers[ i ]( elem, context, xml ) ) { - return false; - } - } - return true; - } : - matchers[ 0 ]; -} - -function multipleContexts( selector, contexts, results ) { - var i = 0, - len = contexts.length; - for ( ; i < len; i++ ) { - Sizzle( selector, contexts[ i ], results ); - } - return results; -} - -function condense( unmatched, map, filter, context, xml ) { - var elem, - newUnmatched = [], - i = 0, - len = unmatched.length, - mapped = map != null; - - for ( ; i < len; i++ ) { - if ( ( elem = unmatched[ i ] ) ) { - if ( !filter || filter( elem, context, xml ) ) { - newUnmatched.push( elem ); - if ( mapped ) { - map.push( i ); - } - } - } - } - - return newUnmatched; -} - -function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { - if ( postFilter && !postFilter[ expando ] ) { - postFilter = setMatcher( postFilter ); - } - if ( postFinder && !postFinder[ expando ] ) { - postFinder = setMatcher( postFinder, postSelector ); - } - return markFunction( function( seed, results, context, xml ) { - var temp, i, elem, - preMap = [], - postMap = [], - preexisting = results.length, - - // Get initial elements from seed or context - elems = seed || multipleContexts( - selector || "*", - context.nodeType ? [ context ] : context, - [] - ), - - // Prefilter to get matcher input, preserving a map for seed-results synchronization - matcherIn = preFilter && ( seed || !selector ) ? - condense( elems, preMap, preFilter, context, xml ) : - elems, - - matcherOut = matcher ? - - // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, - postFinder || ( seed ? preFilter : preexisting || postFilter ) ? - - // ...intermediate processing is necessary - [] : - - // ...otherwise use results directly - results : - matcherIn; - - // Find primary matches - if ( matcher ) { - matcher( matcherIn, matcherOut, context, xml ); - } - - // Apply postFilter - if ( postFilter ) { - temp = condense( matcherOut, postMap ); - postFilter( temp, [], context, xml ); - - // Un-match failing elements by moving them back to matcherIn - i = temp.length; - while ( i-- ) { - if ( ( elem = temp[ i ] ) ) { - matcherOut[ postMap[ i ] ] = !( matcherIn[ postMap[ i ] ] = elem ); - } - } - } - - if ( seed ) { - if ( postFinder || preFilter ) { - if ( postFinder ) { - - // Get the final matcherOut by condensing this intermediate into postFinder contexts - temp = []; - i = matcherOut.length; - while ( i-- ) { - if ( ( elem = matcherOut[ i ] ) ) { - - // Restore matcherIn since elem is not yet a final match - temp.push( ( matcherIn[ i ] = elem ) ); - } - } - postFinder( null, ( matcherOut = [] ), temp, xml ); - } - - // Move matched elements from seed to results to keep them synchronized - i = matcherOut.length; - while ( i-- ) { - if ( ( elem = matcherOut[ i ] ) && - ( temp = postFinder ? indexOf( seed, elem ) : preMap[ i ] ) > -1 ) { - - seed[ temp ] = !( results[ temp ] = elem ); - } - } - } - - // Add elements to results, through postFinder if defined - } else { - matcherOut = condense( - matcherOut === results ? - matcherOut.splice( preexisting, matcherOut.length ) : - matcherOut - ); - if ( postFinder ) { - postFinder( null, results, matcherOut, xml ); - } else { - push.apply( results, matcherOut ); - } - } - } ); -} - -function matcherFromTokens( tokens ) { - var checkContext, matcher, j, - len = tokens.length, - leadingRelative = Expr.relative[ tokens[ 0 ].type ], - implicitRelative = leadingRelative || Expr.relative[ " " ], - i = leadingRelative ? 1 : 0, - - // The foundational matcher ensures that elements are reachable from top-level context(s) - matchContext = addCombinator( function( elem ) { - return elem === checkContext; - }, implicitRelative, true ), - matchAnyContext = addCombinator( function( elem ) { - return indexOf( checkContext, elem ) > -1; - }, implicitRelative, true ), - matchers = [ function( elem, context, xml ) { - var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( - ( checkContext = context ).nodeType ? - matchContext( elem, context, xml ) : - matchAnyContext( elem, context, xml ) ); - - // Avoid hanging onto element (issue #299) - checkContext = null; - return ret; - } ]; - - for ( ; i < len; i++ ) { - if ( ( matcher = Expr.relative[ tokens[ i ].type ] ) ) { - matchers = [ addCombinator( elementMatcher( matchers ), matcher ) ]; - } else { - matcher = Expr.filter[ tokens[ i ].type ].apply( null, tokens[ i ].matches ); - - // Return special upon seeing a positional matcher - if ( matcher[ expando ] ) { - - // Find the next relative operator (if any) for proper handling - j = ++i; - for ( ; j < len; j++ ) { - if ( Expr.relative[ tokens[ j ].type ] ) { - break; - } - } - return setMatcher( - i > 1 && elementMatcher( matchers ), - i > 1 && toSelector( - - // If the preceding token was a descendant combinator, insert an implicit any-element `*` - tokens - .slice( 0, i - 1 ) - .concat( { value: tokens[ i - 2 ].type === " " ? "*" : "" } ) - ).replace( rtrim, "$1" ), - matcher, - i < j && matcherFromTokens( tokens.slice( i, j ) ), - j < len && matcherFromTokens( ( tokens = tokens.slice( j ) ) ), - j < len && toSelector( tokens ) - ); - } - matchers.push( matcher ); - } - } - - return elementMatcher( matchers ); -} - -function matcherFromGroupMatchers( elementMatchers, setMatchers ) { - var bySet = setMatchers.length > 0, - byElement = elementMatchers.length > 0, - superMatcher = function( seed, context, xml, results, outermost ) { - var elem, j, matcher, - matchedCount = 0, - i = "0", - unmatched = seed && [], - setMatched = [], - contextBackup = outermostContext, - - // We must always have either seed elements or outermost context - elems = seed || byElement && Expr.find[ "TAG" ]( "*", outermost ), - - // Use integer dirruns iff this is the outermost matcher - dirrunsUnique = ( dirruns += contextBackup == null ? 1 : Math.random() || 0.1 ), - len = elems.length; - - if ( outermost ) { - - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - outermostContext = context == document || context || outermost; - } - - // Add elements passing elementMatchers directly to results - // Support: IE<9, Safari - // Tolerate NodeList properties (IE: "length"; Safari: ) matching elements by id - for ( ; i !== len && ( elem = elems[ i ] ) != null; i++ ) { - if ( byElement && elem ) { - j = 0; - - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - if ( !context && elem.ownerDocument != document ) { - setDocument( elem ); - xml = !documentIsHTML; - } - while ( ( matcher = elementMatchers[ j++ ] ) ) { - if ( matcher( elem, context || document, xml ) ) { - results.push( elem ); - break; - } - } - if ( outermost ) { - dirruns = dirrunsUnique; - } - } - - // Track unmatched elements for set filters - if ( bySet ) { - - // They will have gone through all possible matchers - if ( ( elem = !matcher && elem ) ) { - matchedCount--; - } - - // Lengthen the array for every element, matched or not - if ( seed ) { - unmatched.push( elem ); - } - } - } - - // `i` is now the count of elements visited above, and adding it to `matchedCount` - // makes the latter nonnegative. - matchedCount += i; - - // Apply set filters to unmatched elements - // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` - // equals `i`), unless we didn't visit _any_ elements in the above loop because we have - // no element matchers and no seed. - // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that - // case, which will result in a "00" `matchedCount` that differs from `i` but is also - // numerically zero. - if ( bySet && i !== matchedCount ) { - j = 0; - while ( ( matcher = setMatchers[ j++ ] ) ) { - matcher( unmatched, setMatched, context, xml ); - } - - if ( seed ) { - - // Reintegrate element matches to eliminate the need for sorting - if ( matchedCount > 0 ) { - while ( i-- ) { - if ( !( unmatched[ i ] || setMatched[ i ] ) ) { - setMatched[ i ] = pop.call( results ); - } - } - } - - // Discard index placeholder values to get only actual matches - setMatched = condense( setMatched ); - } - - // Add matches to results - push.apply( results, setMatched ); - - // Seedless set matches succeeding multiple successful matchers stipulate sorting - if ( outermost && !seed && setMatched.length > 0 && - ( matchedCount + setMatchers.length ) > 1 ) { - - Sizzle.uniqueSort( results ); - } - } - - // Override manipulation of globals by nested matchers - if ( outermost ) { - dirruns = dirrunsUnique; - outermostContext = contextBackup; - } - - return unmatched; - }; - - return bySet ? - markFunction( superMatcher ) : - superMatcher; -} - -compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { - var i, - setMatchers = [], - elementMatchers = [], - cached = compilerCache[ selector + " " ]; - - if ( !cached ) { - - // Generate a function of recursive functions that can be used to check each element - if ( !match ) { - match = tokenize( selector ); - } - i = match.length; - while ( i-- ) { - cached = matcherFromTokens( match[ i ] ); - if ( cached[ expando ] ) { - setMatchers.push( cached ); - } else { - elementMatchers.push( cached ); - } - } - - // Cache the compiled function - cached = compilerCache( - selector, - matcherFromGroupMatchers( elementMatchers, setMatchers ) - ); - - // Save selector and tokenization - cached.selector = selector; - } - return cached; -}; - -/** - * A low-level selection function that works with Sizzle's compiled - * selector functions - * @param {String|Function} selector A selector or a pre-compiled - * selector function built with Sizzle.compile - * @param {Element} context - * @param {Array} [results] - * @param {Array} [seed] A set of elements to match against - */ -select = Sizzle.select = function( selector, context, results, seed ) { - var i, tokens, token, type, find, - compiled = typeof selector === "function" && selector, - match = !seed && tokenize( ( selector = compiled.selector || selector ) ); - - results = results || []; - - // Try to minimize operations if there is only one selector in the list and no seed - // (the latter of which guarantees us context) - if ( match.length === 1 ) { - - // Reduce context if the leading compound selector is an ID - tokens = match[ 0 ] = match[ 0 ].slice( 0 ); - if ( tokens.length > 2 && ( token = tokens[ 0 ] ).type === "ID" && - context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) { - - context = ( Expr.find[ "ID" ]( token.matches[ 0 ] - .replace( runescape, funescape ), context ) || [] )[ 0 ]; - if ( !context ) { - return results; - - // Precompiled matchers will still verify ancestry, so step up a level - } else if ( compiled ) { - context = context.parentNode; - } - - selector = selector.slice( tokens.shift().value.length ); - } - - // Fetch a seed set for right-to-left matching - i = matchExpr[ "needsContext" ].test( selector ) ? 0 : tokens.length; - while ( i-- ) { - token = tokens[ i ]; - - // Abort if we hit a combinator - if ( Expr.relative[ ( type = token.type ) ] ) { - break; - } - if ( ( find = Expr.find[ type ] ) ) { - - // Search, expanding context for leading sibling combinators - if ( ( seed = find( - token.matches[ 0 ].replace( runescape, funescape ), - rsibling.test( tokens[ 0 ].type ) && testContext( context.parentNode ) || - context - ) ) ) { - - // If seed is empty or no tokens remain, we can return early - tokens.splice( i, 1 ); - selector = seed.length && toSelector( tokens ); - if ( !selector ) { - push.apply( results, seed ); - return results; - } - - break; - } - } - } - } - - // Compile and execute a filtering function if one is not provided - // Provide `match` to avoid retokenization if we modified the selector above - ( compiled || compile( selector, match ) )( - seed, - context, - !documentIsHTML, - results, - !context || rsibling.test( selector ) && testContext( context.parentNode ) || context - ); - return results; -}; - -// One-time assignments - -// Sort stability -support.sortStable = expando.split( "" ).sort( sortOrder ).join( "" ) === expando; - -// Support: Chrome 14-35+ -// Always assume duplicates if they aren't passed to the comparison function -support.detectDuplicates = !!hasDuplicate; - -// Initialize against the default document -setDocument(); - -// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) -// Detached nodes confoundingly follow *each other* -support.sortDetached = assert( function( el ) { - - // Should return 1, but returns 4 (following) - return el.compareDocumentPosition( document.createElement( "fieldset" ) ) & 1; -} ); - -// Support: IE<8 -// Prevent attribute/property "interpolation" -// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx -if ( !assert( function( el ) { - el.innerHTML = ""; - return el.firstChild.getAttribute( "href" ) === "#"; -} ) ) { - addHandle( "type|href|height|width", function( elem, name, isXML ) { - if ( !isXML ) { - return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); - } - } ); -} - -// Support: IE<9 -// Use defaultValue in place of getAttribute("value") -if ( !support.attributes || !assert( function( el ) { - el.innerHTML = ""; - el.firstChild.setAttribute( "value", "" ); - return el.firstChild.getAttribute( "value" ) === ""; -} ) ) { - addHandle( "value", function( elem, _name, isXML ) { - if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { - return elem.defaultValue; - } - } ); -} - -// Support: IE<9 -// Use getAttributeNode to fetch booleans when getAttribute lies -if ( !assert( function( el ) { - return el.getAttribute( "disabled" ) == null; -} ) ) { - addHandle( booleans, function( elem, name, isXML ) { - var val; - if ( !isXML ) { - return elem[ name ] === true ? name.toLowerCase() : - ( val = elem.getAttributeNode( name ) ) && val.specified ? - val.value : - null; - } - } ); -} - -return Sizzle; - -} )( window ); - - - -jQuery.find = Sizzle; -jQuery.expr = Sizzle.selectors; - -// Deprecated -jQuery.expr[ ":" ] = jQuery.expr.pseudos; -jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; -jQuery.text = Sizzle.getText; -jQuery.isXMLDoc = Sizzle.isXML; -jQuery.contains = Sizzle.contains; -jQuery.escapeSelector = Sizzle.escape; - - - - -var dir = function( elem, dir, until ) { - var matched = [], - truncate = until !== undefined; - - while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { - if ( elem.nodeType === 1 ) { - if ( truncate && jQuery( elem ).is( until ) ) { - break; - } - matched.push( elem ); - } - } - return matched; -}; - - -var siblings = function( n, elem ) { - var matched = []; - - for ( ; n; n = n.nextSibling ) { - if ( n.nodeType === 1 && n !== elem ) { - matched.push( n ); - } - } - - return matched; -}; - - -var rneedsContext = jQuery.expr.match.needsContext; - - - -function nodeName( elem, name ) { - - return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); - -}; -var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); - - - -// Implement the identical functionality for filter and not -function winnow( elements, qualifier, not ) { - if ( isFunction( qualifier ) ) { - return jQuery.grep( elements, function( elem, i ) { - return !!qualifier.call( elem, i, elem ) !== not; - } ); - } - - // Single element - if ( qualifier.nodeType ) { - return jQuery.grep( elements, function( elem ) { - return ( elem === qualifier ) !== not; - } ); - } - - // Arraylike of elements (jQuery, arguments, Array) - if ( typeof qualifier !== "string" ) { - return jQuery.grep( elements, function( elem ) { - return ( indexOf.call( qualifier, elem ) > -1 ) !== not; - } ); - } - - // Filtered directly for both simple and complex selectors - return jQuery.filter( qualifier, elements, not ); -} - -jQuery.filter = function( expr, elems, not ) { - var elem = elems[ 0 ]; - - if ( not ) { - expr = ":not(" + expr + ")"; - } - - if ( elems.length === 1 && elem.nodeType === 1 ) { - return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : []; - } - - return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { - return elem.nodeType === 1; - } ) ); -}; - -jQuery.fn.extend( { - find: function( selector ) { - var i, ret, - len = this.length, - self = this; - - if ( typeof selector !== "string" ) { - return this.pushStack( jQuery( selector ).filter( function() { - for ( i = 0; i < len; i++ ) { - if ( jQuery.contains( self[ i ], this ) ) { - return true; - } - } - } ) ); - } - - ret = this.pushStack( [] ); - - for ( i = 0; i < len; i++ ) { - jQuery.find( selector, self[ i ], ret ); - } - - return len > 1 ? jQuery.uniqueSort( ret ) : ret; - }, - filter: function( selector ) { - return this.pushStack( winnow( this, selector || [], false ) ); - }, - not: function( selector ) { - return this.pushStack( winnow( this, selector || [], true ) ); - }, - is: function( selector ) { - return !!winnow( - this, - - // If this is a positional/relative selector, check membership in the returned set - // so $("p:first").is("p:last") won't return true for a doc with two "p". - typeof selector === "string" && rneedsContext.test( selector ) ? - jQuery( selector ) : - selector || [], - false - ).length; - } -} ); - - -// Initialize a jQuery object - - -// A central reference to the root jQuery(document) -var rootjQuery, - - // A simple way to check for HTML strings - // Prioritize #id over to avoid XSS via location.hash (#9521) - // Strict HTML recognition (#11290: must start with <) - // Shortcut simple #id case for speed - rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, - - init = jQuery.fn.init = function( selector, context, root ) { - var match, elem; - - // HANDLE: $(""), $(null), $(undefined), $(false) - if ( !selector ) { - return this; - } - - // Method init() accepts an alternate rootjQuery - // so migrate can support jQuery.sub (gh-2101) - root = root || rootjQuery; - - // Handle HTML strings - if ( typeof selector === "string" ) { - if ( selector[ 0 ] === "<" && - selector[ selector.length - 1 ] === ">" && - selector.length >= 3 ) { - - // Assume that strings that start and end with <> are HTML and skip the regex check - match = [ null, selector, null ]; - - } else { - match = rquickExpr.exec( selector ); - } - - // Match html or make sure no context is specified for #id - if ( match && ( match[ 1 ] || !context ) ) { - - // HANDLE: $(html) -> $(array) - if ( match[ 1 ] ) { - context = context instanceof jQuery ? context[ 0 ] : context; - - // Option to run scripts is true for back-compat - // Intentionally let the error be thrown if parseHTML is not present - jQuery.merge( this, jQuery.parseHTML( - match[ 1 ], - context && context.nodeType ? context.ownerDocument || context : document, - true - ) ); - - // HANDLE: $(html, props) - if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { - for ( match in context ) { - - // Properties of context are called as methods if possible - if ( isFunction( this[ match ] ) ) { - this[ match ]( context[ match ] ); - - // ...and otherwise set as attributes - } else { - this.attr( match, context[ match ] ); - } - } - } - - return this; - - // HANDLE: $(#id) - } else { - elem = document.getElementById( match[ 2 ] ); - - if ( elem ) { - - // Inject the element directly into the jQuery object - this[ 0 ] = elem; - this.length = 1; - } - return this; - } - - // HANDLE: $(expr, $(...)) - } else if ( !context || context.jquery ) { - return ( context || root ).find( selector ); - - // HANDLE: $(expr, context) - // (which is just equivalent to: $(context).find(expr) - } else { - return this.constructor( context ).find( selector ); - } - - // HANDLE: $(DOMElement) - } else if ( selector.nodeType ) { - this[ 0 ] = selector; - this.length = 1; - return this; - - // HANDLE: $(function) - // Shortcut for document ready - } else if ( isFunction( selector ) ) { - return root.ready !== undefined ? - root.ready( selector ) : - - // Execute immediately if ready is not present - selector( jQuery ); - } - - return jQuery.makeArray( selector, this ); - }; - -// Give the init function the jQuery prototype for later instantiation -init.prototype = jQuery.fn; - -// Initialize central reference -rootjQuery = jQuery( document ); - - -var rparentsprev = /^(?:parents|prev(?:Until|All))/, - - // Methods guaranteed to produce a unique set when starting from a unique set - guaranteedUnique = { - children: true, - contents: true, - next: true, - prev: true - }; - -jQuery.fn.extend( { - has: function( target ) { - var targets = jQuery( target, this ), - l = targets.length; - - return this.filter( function() { - var i = 0; - for ( ; i < l; i++ ) { - if ( jQuery.contains( this, targets[ i ] ) ) { - return true; - } - } - } ); - }, - - closest: function( selectors, context ) { - var cur, - i = 0, - l = this.length, - matched = [], - targets = typeof selectors !== "string" && jQuery( selectors ); - - // Positional selectors never match, since there's no _selection_ context - if ( !rneedsContext.test( selectors ) ) { - for ( ; i < l; i++ ) { - for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { - - // Always skip document fragments - if ( cur.nodeType < 11 && ( targets ? - targets.index( cur ) > -1 : - - // Don't pass non-elements to Sizzle - cur.nodeType === 1 && - jQuery.find.matchesSelector( cur, selectors ) ) ) { - - matched.push( cur ); - break; - } - } - } - } - - return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); - }, - - // Determine the position of an element within the set - index: function( elem ) { - - // No argument, return index in parent - if ( !elem ) { - return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; - } - - // Index in selector - if ( typeof elem === "string" ) { - return indexOf.call( jQuery( elem ), this[ 0 ] ); - } - - // Locate the position of the desired element - return indexOf.call( this, - - // If it receives a jQuery object, the first element is used - elem.jquery ? elem[ 0 ] : elem - ); - }, - - add: function( selector, context ) { - return this.pushStack( - jQuery.uniqueSort( - jQuery.merge( this.get(), jQuery( selector, context ) ) - ) - ); - }, - - addBack: function( selector ) { - return this.add( selector == null ? - this.prevObject : this.prevObject.filter( selector ) - ); - } -} ); - -function sibling( cur, dir ) { - while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} - return cur; -} - -jQuery.each( { - parent: function( elem ) { - var parent = elem.parentNode; - return parent && parent.nodeType !== 11 ? parent : null; - }, - parents: function( elem ) { - return dir( elem, "parentNode" ); - }, - parentsUntil: function( elem, _i, until ) { - return dir( elem, "parentNode", until ); - }, - next: function( elem ) { - return sibling( elem, "nextSibling" ); - }, - prev: function( elem ) { - return sibling( elem, "previousSibling" ); - }, - nextAll: function( elem ) { - return dir( elem, "nextSibling" ); - }, - prevAll: function( elem ) { - return dir( elem, "previousSibling" ); - }, - nextUntil: function( elem, _i, until ) { - return dir( elem, "nextSibling", until ); - }, - prevUntil: function( elem, _i, until ) { - return dir( elem, "previousSibling", until ); - }, - siblings: function( elem ) { - return siblings( ( elem.parentNode || {} ).firstChild, elem ); - }, - children: function( elem ) { - return siblings( elem.firstChild ); - }, - contents: function( elem ) { - if ( elem.contentDocument != null && - - // Support: IE 11+ - // elements with no `data` attribute has an object - // `contentDocument` with a `null` prototype. - getProto( elem.contentDocument ) ) { - - return elem.contentDocument; - } - - // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only - // Treat the template element as a regular one in browsers that - // don't support it. - if ( nodeName( elem, "template" ) ) { - elem = elem.content || elem; - } - - return jQuery.merge( [], elem.childNodes ); - } -}, function( name, fn ) { - jQuery.fn[ name ] = function( until, selector ) { - var matched = jQuery.map( this, fn, until ); - - if ( name.slice( -5 ) !== "Until" ) { - selector = until; - } - - if ( selector && typeof selector === "string" ) { - matched = jQuery.filter( selector, matched ); - } - - if ( this.length > 1 ) { - - // Remove duplicates - if ( !guaranteedUnique[ name ] ) { - jQuery.uniqueSort( matched ); - } - - // Reverse order for parents* and prev-derivatives - if ( rparentsprev.test( name ) ) { - matched.reverse(); - } - } - - return this.pushStack( matched ); - }; -} ); -var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g ); - - - -// Convert String-formatted options into Object-formatted ones -function createOptions( options ) { - var object = {}; - jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) { - object[ flag ] = true; - } ); - return object; -} - -/* - * Create a callback list using the following parameters: - * - * options: an optional list of space-separated options that will change how - * the callback list behaves or a more traditional option object - * - * By default a callback list will act like an event callback list and can be - * "fired" multiple times. - * - * Possible options: - * - * once: will ensure the callback list can only be fired once (like a Deferred) - * - * memory: will keep track of previous values and will call any callback added - * after the list has been fired right away with the latest "memorized" - * values (like a Deferred) - * - * unique: will ensure a callback can only be added once (no duplicate in the list) - * - * stopOnFalse: interrupt callings when a callback returns false - * - */ -jQuery.Callbacks = function( options ) { - - // Convert options from String-formatted to Object-formatted if needed - // (we check in cache first) - options = typeof options === "string" ? - createOptions( options ) : - jQuery.extend( {}, options ); - - var // Flag to know if list is currently firing - firing, - - // Last fire value for non-forgettable lists - memory, - - // Flag to know if list was already fired - fired, - - // Flag to prevent firing - locked, - - // Actual callback list - list = [], - - // Queue of execution data for repeatable lists - queue = [], - - // Index of currently firing callback (modified by add/remove as needed) - firingIndex = -1, - - // Fire callbacks - fire = function() { - - // Enforce single-firing - locked = locked || options.once; - - // Execute callbacks for all pending executions, - // respecting firingIndex overrides and runtime changes - fired = firing = true; - for ( ; queue.length; firingIndex = -1 ) { - memory = queue.shift(); - while ( ++firingIndex < list.length ) { - - // Run callback and check for early termination - if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && - options.stopOnFalse ) { - - // Jump to end and forget the data so .add doesn't re-fire - firingIndex = list.length; - memory = false; - } - } - } - - // Forget the data if we're done with it - if ( !options.memory ) { - memory = false; - } - - firing = false; - - // Clean up if we're done firing for good - if ( locked ) { - - // Keep an empty list if we have data for future add calls - if ( memory ) { - list = []; - - // Otherwise, this object is spent - } else { - list = ""; - } - } - }, - - // Actual Callbacks object - self = { - - // Add a callback or a collection of callbacks to the list - add: function() { - if ( list ) { - - // If we have memory from a past run, we should fire after adding - if ( memory && !firing ) { - firingIndex = list.length - 1; - queue.push( memory ); - } - - ( function add( args ) { - jQuery.each( args, function( _, arg ) { - if ( isFunction( arg ) ) { - if ( !options.unique || !self.has( arg ) ) { - list.push( arg ); - } - } else if ( arg && arg.length && toType( arg ) !== "string" ) { - - // Inspect recursively - add( arg ); - } - } ); - } )( arguments ); - - if ( memory && !firing ) { - fire(); - } - } - return this; - }, - - // Remove a callback from the list - remove: function() { - jQuery.each( arguments, function( _, arg ) { - var index; - while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { - list.splice( index, 1 ); - - // Handle firing indexes - if ( index <= firingIndex ) { - firingIndex--; - } - } - } ); - return this; - }, - - // Check if a given callback is in the list. - // If no argument is given, return whether or not list has callbacks attached. - has: function( fn ) { - return fn ? - jQuery.inArray( fn, list ) > -1 : - list.length > 0; - }, - - // Remove all callbacks from the list - empty: function() { - if ( list ) { - list = []; - } - return this; - }, - - // Disable .fire and .add - // Abort any current/pending executions - // Clear all callbacks and values - disable: function() { - locked = queue = []; - list = memory = ""; - return this; - }, - disabled: function() { - return !list; - }, - - // Disable .fire - // Also disable .add unless we have memory (since it would have no effect) - // Abort any pending executions - lock: function() { - locked = queue = []; - if ( !memory && !firing ) { - list = memory = ""; - } - return this; - }, - locked: function() { - return !!locked; - }, - - // Call all callbacks with the given context and arguments - fireWith: function( context, args ) { - if ( !locked ) { - args = args || []; - args = [ context, args.slice ? args.slice() : args ]; - queue.push( args ); - if ( !firing ) { - fire(); - } - } - return this; - }, - - // Call all the callbacks with the given arguments - fire: function() { - self.fireWith( this, arguments ); - return this; - }, - - // To know if the callbacks have already been called at least once - fired: function() { - return !!fired; - } - }; - - return self; -}; - - -function Identity( v ) { - return v; -} -function Thrower( ex ) { - throw ex; -} - -function adoptValue( value, resolve, reject, noValue ) { - var method; - - try { - - // Check for promise aspect first to privilege synchronous behavior - if ( value && isFunction( ( method = value.promise ) ) ) { - method.call( value ).done( resolve ).fail( reject ); - - // Other thenables - } else if ( value && isFunction( ( method = value.then ) ) ) { - method.call( value, resolve, reject ); - - // Other non-thenables - } else { - - // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer: - // * false: [ value ].slice( 0 ) => resolve( value ) - // * true: [ value ].slice( 1 ) => resolve() - resolve.apply( undefined, [ value ].slice( noValue ) ); - } - - // For Promises/A+, convert exceptions into rejections - // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in - // Deferred#then to conditionally suppress rejection. - } catch ( value ) { - - // Support: Android 4.0 only - // Strict mode functions invoked without .call/.apply get global-object context - reject.apply( undefined, [ value ] ); - } -} - -jQuery.extend( { - - Deferred: function( func ) { - var tuples = [ - - // action, add listener, callbacks, - // ... .then handlers, argument index, [final state] - [ "notify", "progress", jQuery.Callbacks( "memory" ), - jQuery.Callbacks( "memory" ), 2 ], - [ "resolve", "done", jQuery.Callbacks( "once memory" ), - jQuery.Callbacks( "once memory" ), 0, "resolved" ], - [ "reject", "fail", jQuery.Callbacks( "once memory" ), - jQuery.Callbacks( "once memory" ), 1, "rejected" ] - ], - state = "pending", - promise = { - state: function() { - return state; - }, - always: function() { - deferred.done( arguments ).fail( arguments ); - return this; - }, - "catch": function( fn ) { - return promise.then( null, fn ); - }, - - // Keep pipe for back-compat - pipe: function( /* fnDone, fnFail, fnProgress */ ) { - var fns = arguments; - - return jQuery.Deferred( function( newDefer ) { - jQuery.each( tuples, function( _i, tuple ) { - - // Map tuples (progress, done, fail) to arguments (done, fail, progress) - var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ]; - - // deferred.progress(function() { bind to newDefer or newDefer.notify }) - // deferred.done(function() { bind to newDefer or newDefer.resolve }) - // deferred.fail(function() { bind to newDefer or newDefer.reject }) - deferred[ tuple[ 1 ] ]( function() { - var returned = fn && fn.apply( this, arguments ); - if ( returned && isFunction( returned.promise ) ) { - returned.promise() - .progress( newDefer.notify ) - .done( newDefer.resolve ) - .fail( newDefer.reject ); - } else { - newDefer[ tuple[ 0 ] + "With" ]( - this, - fn ? [ returned ] : arguments - ); - } - } ); - } ); - fns = null; - } ).promise(); - }, - then: function( onFulfilled, onRejected, onProgress ) { - var maxDepth = 0; - function resolve( depth, deferred, handler, special ) { - return function() { - var that = this, - args = arguments, - mightThrow = function() { - var returned, then; - - // Support: Promises/A+ section 2.3.3.3.3 - // https://promisesaplus.com/#point-59 - // Ignore double-resolution attempts - if ( depth < maxDepth ) { - return; - } - - returned = handler.apply( that, args ); - - // Support: Promises/A+ section 2.3.1 - // https://promisesaplus.com/#point-48 - if ( returned === deferred.promise() ) { - throw new TypeError( "Thenable self-resolution" ); - } - - // Support: Promises/A+ sections 2.3.3.1, 3.5 - // https://promisesaplus.com/#point-54 - // https://promisesaplus.com/#point-75 - // Retrieve `then` only once - then = returned && - - // Support: Promises/A+ section 2.3.4 - // https://promisesaplus.com/#point-64 - // Only check objects and functions for thenability - ( typeof returned === "object" || - typeof returned === "function" ) && - returned.then; - - // Handle a returned thenable - if ( isFunction( then ) ) { - - // Special processors (notify) just wait for resolution - if ( special ) { - then.call( - returned, - resolve( maxDepth, deferred, Identity, special ), - resolve( maxDepth, deferred, Thrower, special ) - ); - - // Normal processors (resolve) also hook into progress - } else { - - // ...and disregard older resolution values - maxDepth++; - - then.call( - returned, - resolve( maxDepth, deferred, Identity, special ), - resolve( maxDepth, deferred, Thrower, special ), - resolve( maxDepth, deferred, Identity, - deferred.notifyWith ) - ); - } - - // Handle all other returned values - } else { - - // Only substitute handlers pass on context - // and multiple values (non-spec behavior) - if ( handler !== Identity ) { - that = undefined; - args = [ returned ]; - } - - // Process the value(s) - // Default process is resolve - ( special || deferred.resolveWith )( that, args ); - } - }, - - // Only normal processors (resolve) catch and reject exceptions - process = special ? - mightThrow : - function() { - try { - mightThrow(); - } catch ( e ) { - - if ( jQuery.Deferred.exceptionHook ) { - jQuery.Deferred.exceptionHook( e, - process.stackTrace ); - } - - // Support: Promises/A+ section 2.3.3.3.4.1 - // https://promisesaplus.com/#point-61 - // Ignore post-resolution exceptions - if ( depth + 1 >= maxDepth ) { - - // Only substitute handlers pass on context - // and multiple values (non-spec behavior) - if ( handler !== Thrower ) { - that = undefined; - args = [ e ]; - } - - deferred.rejectWith( that, args ); - } - } - }; - - // Support: Promises/A+ section 2.3.3.3.1 - // https://promisesaplus.com/#point-57 - // Re-resolve promises immediately to dodge false rejection from - // subsequent errors - if ( depth ) { - process(); - } else { - - // Call an optional hook to record the stack, in case of exception - // since it's otherwise lost when execution goes async - if ( jQuery.Deferred.getStackHook ) { - process.stackTrace = jQuery.Deferred.getStackHook(); - } - window.setTimeout( process ); - } - }; - } - - return jQuery.Deferred( function( newDefer ) { - - // progress_handlers.add( ... ) - tuples[ 0 ][ 3 ].add( - resolve( - 0, - newDefer, - isFunction( onProgress ) ? - onProgress : - Identity, - newDefer.notifyWith - ) - ); - - // fulfilled_handlers.add( ... ) - tuples[ 1 ][ 3 ].add( - resolve( - 0, - newDefer, - isFunction( onFulfilled ) ? - onFulfilled : - Identity - ) - ); - - // rejected_handlers.add( ... ) - tuples[ 2 ][ 3 ].add( - resolve( - 0, - newDefer, - isFunction( onRejected ) ? - onRejected : - Thrower - ) - ); - } ).promise(); - }, - - // Get a promise for this deferred - // If obj is provided, the promise aspect is added to the object - promise: function( obj ) { - return obj != null ? jQuery.extend( obj, promise ) : promise; - } - }, - deferred = {}; - - // Add list-specific methods - jQuery.each( tuples, function( i, tuple ) { - var list = tuple[ 2 ], - stateString = tuple[ 5 ]; - - // promise.progress = list.add - // promise.done = list.add - // promise.fail = list.add - promise[ tuple[ 1 ] ] = list.add; - - // Handle state - if ( stateString ) { - list.add( - function() { - - // state = "resolved" (i.e., fulfilled) - // state = "rejected" - state = stateString; - }, - - // rejected_callbacks.disable - // fulfilled_callbacks.disable - tuples[ 3 - i ][ 2 ].disable, - - // rejected_handlers.disable - // fulfilled_handlers.disable - tuples[ 3 - i ][ 3 ].disable, - - // progress_callbacks.lock - tuples[ 0 ][ 2 ].lock, - - // progress_handlers.lock - tuples[ 0 ][ 3 ].lock - ); - } - - // progress_handlers.fire - // fulfilled_handlers.fire - // rejected_handlers.fire - list.add( tuple[ 3 ].fire ); - - // deferred.notify = function() { deferred.notifyWith(...) } - // deferred.resolve = function() { deferred.resolveWith(...) } - // deferred.reject = function() { deferred.rejectWith(...) } - deferred[ tuple[ 0 ] ] = function() { - deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments ); - return this; - }; - - // deferred.notifyWith = list.fireWith - // deferred.resolveWith = list.fireWith - // deferred.rejectWith = list.fireWith - deferred[ tuple[ 0 ] + "With" ] = list.fireWith; - } ); - - // Make the deferred a promise - promise.promise( deferred ); - - // Call given func if any - if ( func ) { - func.call( deferred, deferred ); - } - - // All done! - return deferred; - }, - - // Deferred helper - when: function( singleValue ) { - var - - // count of uncompleted subordinates - remaining = arguments.length, - - // count of unprocessed arguments - i = remaining, - - // subordinate fulfillment data - resolveContexts = Array( i ), - resolveValues = slice.call( arguments ), - - // the master Deferred - master = jQuery.Deferred(), - - // subordinate callback factory - updateFunc = function( i ) { - return function( value ) { - resolveContexts[ i ] = this; - resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; - if ( !( --remaining ) ) { - master.resolveWith( resolveContexts, resolveValues ); - } - }; - }; - - // Single- and empty arguments are adopted like Promise.resolve - if ( remaining <= 1 ) { - adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject, - !remaining ); - - // Use .then() to unwrap secondary thenables (cf. gh-3000) - if ( master.state() === "pending" || - isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { - - return master.then(); - } - } - - // Multiple arguments are aggregated like Promise.all array elements - while ( i-- ) { - adoptValue( resolveValues[ i ], updateFunc( i ), master.reject ); - } - - return master.promise(); - } -} ); - - -// These usually indicate a programmer mistake during development, -// warn about them ASAP rather than swallowing them by default. -var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; - -jQuery.Deferred.exceptionHook = function( error, stack ) { - - // Support: IE 8 - 9 only - // Console exists when dev tools are open, which can happen at any time - if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { - window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack ); - } -}; - - - - -jQuery.readyException = function( error ) { - window.setTimeout( function() { - throw error; - } ); -}; - - - - -// The deferred used on DOM ready -var readyList = jQuery.Deferred(); - -jQuery.fn.ready = function( fn ) { - - readyList - .then( fn ) - - // Wrap jQuery.readyException in a function so that the lookup - // happens at the time of error handling instead of callback - // registration. - .catch( function( error ) { - jQuery.readyException( error ); - } ); - - return this; -}; - -jQuery.extend( { - - // Is the DOM ready to be used? Set to true once it occurs. - isReady: false, - - // A counter to track how many items to wait for before - // the ready event fires. See #6781 - readyWait: 1, - - // Handle when the DOM is ready - ready: function( wait ) { - - // Abort if there are pending holds or we're already ready - if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { - return; - } - - // Remember that the DOM is ready - jQuery.isReady = true; - - // If a normal DOM Ready event fired, decrement, and wait if need be - if ( wait !== true && --jQuery.readyWait > 0 ) { - return; - } - - // If there are functions bound, to execute - readyList.resolveWith( document, [ jQuery ] ); - } -} ); - -jQuery.ready.then = readyList.then; - -// The ready event handler and self cleanup method -function completed() { - document.removeEventListener( "DOMContentLoaded", completed ); - window.removeEventListener( "load", completed ); - jQuery.ready(); -} - -// Catch cases where $(document).ready() is called -// after the browser event has already occurred. -// Support: IE <=9 - 10 only -// Older IE sometimes signals "interactive" too soon -if ( document.readyState === "complete" || - ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { - - // Handle it asynchronously to allow scripts the opportunity to delay ready - window.setTimeout( jQuery.ready ); - -} else { - - // Use the handy event callback - document.addEventListener( "DOMContentLoaded", completed ); - - // A fallback to window.onload, that will always work - window.addEventListener( "load", completed ); -} - - - - -// Multifunctional method to get and set values of a collection -// The value/s can optionally be executed if it's a function -var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { - var i = 0, - len = elems.length, - bulk = key == null; - - // Sets many values - if ( toType( key ) === "object" ) { - chainable = true; - for ( i in key ) { - access( elems, fn, i, key[ i ], true, emptyGet, raw ); - } - - // Sets one value - } else if ( value !== undefined ) { - chainable = true; - - if ( !isFunction( value ) ) { - raw = true; - } - - if ( bulk ) { - - // Bulk operations run against the entire set - if ( raw ) { - fn.call( elems, value ); - fn = null; - - // ...except when executing function values - } else { - bulk = fn; - fn = function( elem, _key, value ) { - return bulk.call( jQuery( elem ), value ); - }; - } - } - - if ( fn ) { - for ( ; i < len; i++ ) { - fn( - elems[ i ], key, raw ? - value : - value.call( elems[ i ], i, fn( elems[ i ], key ) ) - ); - } - } - } - - if ( chainable ) { - return elems; - } - - // Gets - if ( bulk ) { - return fn.call( elems ); - } - - return len ? fn( elems[ 0 ], key ) : emptyGet; -}; - - -// Matches dashed string for camelizing -var rmsPrefix = /^-ms-/, - rdashAlpha = /-([a-z])/g; - -// Used by camelCase as callback to replace() -function fcamelCase( _all, letter ) { - return letter.toUpperCase(); -} - -// Convert dashed to camelCase; used by the css and data modules -// Support: IE <=9 - 11, Edge 12 - 15 -// Microsoft forgot to hump their vendor prefix (#9572) -function camelCase( string ) { - return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); -} -var acceptData = function( owner ) { - - // Accepts only: - // - Node - // - Node.ELEMENT_NODE - // - Node.DOCUMENT_NODE - // - Object - // - Any - return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); -}; - - - - -function Data() { - this.expando = jQuery.expando + Data.uid++; -} - -Data.uid = 1; - -Data.prototype = { - - cache: function( owner ) { - - // Check if the owner object already has a cache - var value = owner[ this.expando ]; - - // If not, create one - if ( !value ) { - value = Object.create( null ); - - // We can accept data for non-element nodes in modern browsers, - // but we should not, see #8335. - // Always return an empty object. - if ( acceptData( owner ) ) { - - // If it is a node unlikely to be stringify-ed or looped over - // use plain assignment - if ( owner.nodeType ) { - owner[ this.expando ] = value; - - // Otherwise secure it in a non-enumerable property - // configurable must be true to allow the property to be - // deleted when data is removed - } else { - Object.defineProperty( owner, this.expando, { - value: value, - configurable: true - } ); - } - } - } - - return value; - }, - set: function( owner, data, value ) { - var prop, - cache = this.cache( owner ); - - // Handle: [ owner, key, value ] args - // Always use camelCase key (gh-2257) - if ( typeof data === "string" ) { - cache[ camelCase( data ) ] = value; - - // Handle: [ owner, { properties } ] args - } else { - - // Copy the properties one-by-one to the cache object - for ( prop in data ) { - cache[ camelCase( prop ) ] = data[ prop ]; - } - } - return cache; - }, - get: function( owner, key ) { - return key === undefined ? - this.cache( owner ) : - - // Always use camelCase key (gh-2257) - owner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ]; - }, - access: function( owner, key, value ) { - - // In cases where either: - // - // 1. No key was specified - // 2. A string key was specified, but no value provided - // - // Take the "read" path and allow the get method to determine - // which value to return, respectively either: - // - // 1. The entire cache object - // 2. The data stored at the key - // - if ( key === undefined || - ( ( key && typeof key === "string" ) && value === undefined ) ) { - - return this.get( owner, key ); - } - - // When the key is not a string, or both a key and value - // are specified, set or extend (existing objects) with either: - // - // 1. An object of properties - // 2. A key and value - // - this.set( owner, key, value ); - - // Since the "set" path can have two possible entry points - // return the expected data based on which path was taken[*] - return value !== undefined ? value : key; - }, - remove: function( owner, key ) { - var i, - cache = owner[ this.expando ]; - - if ( cache === undefined ) { - return; - } - - if ( key !== undefined ) { - - // Support array or space separated string of keys - if ( Array.isArray( key ) ) { - - // If key is an array of keys... - // We always set camelCase keys, so remove that. - key = key.map( camelCase ); - } else { - key = camelCase( key ); - - // If a key with the spaces exists, use it. - // Otherwise, create an array by matching non-whitespace - key = key in cache ? - [ key ] : - ( key.match( rnothtmlwhite ) || [] ); - } - - i = key.length; - - while ( i-- ) { - delete cache[ key[ i ] ]; - } - } - - // Remove the expando if there's no more data - if ( key === undefined || jQuery.isEmptyObject( cache ) ) { - - // Support: Chrome <=35 - 45 - // Webkit & Blink performance suffers when deleting properties - // from DOM nodes, so set to undefined instead - // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted) - if ( owner.nodeType ) { - owner[ this.expando ] = undefined; - } else { - delete owner[ this.expando ]; - } - } - }, - hasData: function( owner ) { - var cache = owner[ this.expando ]; - return cache !== undefined && !jQuery.isEmptyObject( cache ); - } -}; -var dataPriv = new Data(); - -var dataUser = new Data(); - - - -// Implementation Summary -// -// 1. Enforce API surface and semantic compatibility with 1.9.x branch -// 2. Improve the module's maintainability by reducing the storage -// paths to a single mechanism. -// 3. Use the same single mechanism to support "private" and "user" data. -// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) -// 5. Avoid exposing implementation details on user objects (eg. expando properties) -// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 - -var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, - rmultiDash = /[A-Z]/g; - -function getData( data ) { - if ( data === "true" ) { - return true; - } - - if ( data === "false" ) { - return false; - } - - if ( data === "null" ) { - return null; - } - - // Only convert to a number if it doesn't change the string - if ( data === +data + "" ) { - return +data; - } - - if ( rbrace.test( data ) ) { - return JSON.parse( data ); - } - - return data; -} - -function dataAttr( elem, key, data ) { - var name; - - // If nothing was found internally, try to fetch any - // data from the HTML5 data-* attribute - if ( data === undefined && elem.nodeType === 1 ) { - name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); - data = elem.getAttribute( name ); - - if ( typeof data === "string" ) { - try { - data = getData( data ); - } catch ( e ) {} - - // Make sure we set the data so it isn't changed later - dataUser.set( elem, key, data ); - } else { - data = undefined; - } - } - return data; -} - -jQuery.extend( { - hasData: function( elem ) { - return dataUser.hasData( elem ) || dataPriv.hasData( elem ); - }, - - data: function( elem, name, data ) { - return dataUser.access( elem, name, data ); - }, - - removeData: function( elem, name ) { - dataUser.remove( elem, name ); - }, - - // TODO: Now that all calls to _data and _removeData have been replaced - // with direct calls to dataPriv methods, these can be deprecated. - _data: function( elem, name, data ) { - return dataPriv.access( elem, name, data ); - }, - - _removeData: function( elem, name ) { - dataPriv.remove( elem, name ); - } -} ); - -jQuery.fn.extend( { - data: function( key, value ) { - var i, name, data, - elem = this[ 0 ], - attrs = elem && elem.attributes; - - // Gets all values - if ( key === undefined ) { - if ( this.length ) { - data = dataUser.get( elem ); - - if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { - i = attrs.length; - while ( i-- ) { - - // Support: IE 11 only - // The attrs elements can be null (#14894) - if ( attrs[ i ] ) { - name = attrs[ i ].name; - if ( name.indexOf( "data-" ) === 0 ) { - name = camelCase( name.slice( 5 ) ); - dataAttr( elem, name, data[ name ] ); - } - } - } - dataPriv.set( elem, "hasDataAttrs", true ); - } - } - - return data; - } - - // Sets multiple values - if ( typeof key === "object" ) { - return this.each( function() { - dataUser.set( this, key ); - } ); - } - - return access( this, function( value ) { - var data; - - // The calling jQuery object (element matches) is not empty - // (and therefore has an element appears at this[ 0 ]) and the - // `value` parameter was not undefined. An empty jQuery object - // will result in `undefined` for elem = this[ 0 ] which will - // throw an exception if an attempt to read a data cache is made. - if ( elem && value === undefined ) { - - // Attempt to get data from the cache - // The key will always be camelCased in Data - data = dataUser.get( elem, key ); - if ( data !== undefined ) { - return data; - } - - // Attempt to "discover" the data in - // HTML5 custom data-* attrs - data = dataAttr( elem, key ); - if ( data !== undefined ) { - return data; - } - - // We tried really hard, but the data doesn't exist. - return; - } - - // Set the data... - this.each( function() { - - // We always store the camelCased key - dataUser.set( this, key, value ); - } ); - }, null, value, arguments.length > 1, null, true ); - }, - - removeData: function( key ) { - return this.each( function() { - dataUser.remove( this, key ); - } ); - } -} ); - - -jQuery.extend( { - queue: function( elem, type, data ) { - var queue; - - if ( elem ) { - type = ( type || "fx" ) + "queue"; - queue = dataPriv.get( elem, type ); - - // Speed up dequeue by getting out quickly if this is just a lookup - if ( data ) { - if ( !queue || Array.isArray( data ) ) { - queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); - } else { - queue.push( data ); - } - } - return queue || []; - } - }, - - dequeue: function( elem, type ) { - type = type || "fx"; - - var queue = jQuery.queue( elem, type ), - startLength = queue.length, - fn = queue.shift(), - hooks = jQuery._queueHooks( elem, type ), - next = function() { - jQuery.dequeue( elem, type ); - }; - - // If the fx queue is dequeued, always remove the progress sentinel - if ( fn === "inprogress" ) { - fn = queue.shift(); - startLength--; - } - - if ( fn ) { - - // Add a progress sentinel to prevent the fx queue from being - // automatically dequeued - if ( type === "fx" ) { - queue.unshift( "inprogress" ); - } - - // Clear up the last queue stop function - delete hooks.stop; - fn.call( elem, next, hooks ); - } - - if ( !startLength && hooks ) { - hooks.empty.fire(); - } - }, - - // Not public - generate a queueHooks object, or return the current one - _queueHooks: function( elem, type ) { - var key = type + "queueHooks"; - return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { - empty: jQuery.Callbacks( "once memory" ).add( function() { - dataPriv.remove( elem, [ type + "queue", key ] ); - } ) - } ); - } -} ); - -jQuery.fn.extend( { - queue: function( type, data ) { - var setter = 2; - - if ( typeof type !== "string" ) { - data = type; - type = "fx"; - setter--; - } - - if ( arguments.length < setter ) { - return jQuery.queue( this[ 0 ], type ); - } - - return data === undefined ? - this : - this.each( function() { - var queue = jQuery.queue( this, type, data ); - - // Ensure a hooks for this queue - jQuery._queueHooks( this, type ); - - if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { - jQuery.dequeue( this, type ); - } - } ); - }, - dequeue: function( type ) { - return this.each( function() { - jQuery.dequeue( this, type ); - } ); - }, - clearQueue: function( type ) { - return this.queue( type || "fx", [] ); - }, - - // Get a promise resolved when queues of a certain type - // are emptied (fx is the type by default) - promise: function( type, obj ) { - var tmp, - count = 1, - defer = jQuery.Deferred(), - elements = this, - i = this.length, - resolve = function() { - if ( !( --count ) ) { - defer.resolveWith( elements, [ elements ] ); - } - }; - - if ( typeof type !== "string" ) { - obj = type; - type = undefined; - } - type = type || "fx"; - - while ( i-- ) { - tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); - if ( tmp && tmp.empty ) { - count++; - tmp.empty.add( resolve ); - } - } - resolve(); - return defer.promise( obj ); - } -} ); -var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; - -var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); - - -var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; - -var documentElement = document.documentElement; - - - - var isAttached = function( elem ) { - return jQuery.contains( elem.ownerDocument, elem ); - }, - composed = { composed: true }; - - // Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only - // Check attachment across shadow DOM boundaries when possible (gh-3504) - // Support: iOS 10.0-10.2 only - // Early iOS 10 versions support `attachShadow` but not `getRootNode`, - // leading to errors. We need to check for `getRootNode`. - if ( documentElement.getRootNode ) { - isAttached = function( elem ) { - return jQuery.contains( elem.ownerDocument, elem ) || - elem.getRootNode( composed ) === elem.ownerDocument; - }; - } -var isHiddenWithinTree = function( elem, el ) { - - // isHiddenWithinTree might be called from jQuery#filter function; - // in that case, element will be second argument - elem = el || elem; - - // Inline style trumps all - return elem.style.display === "none" || - elem.style.display === "" && - - // Otherwise, check computed style - // Support: Firefox <=43 - 45 - // Disconnected elements can have computed display: none, so first confirm that elem is - // in the document. - isAttached( elem ) && - - jQuery.css( elem, "display" ) === "none"; - }; - - - -function adjustCSS( elem, prop, valueParts, tween ) { - var adjusted, scale, - maxIterations = 20, - currentValue = tween ? - function() { - return tween.cur(); - } : - function() { - return jQuery.css( elem, prop, "" ); - }, - initial = currentValue(), - unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), - - // Starting value computation is required for potential unit mismatches - initialInUnit = elem.nodeType && - ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && - rcssNum.exec( jQuery.css( elem, prop ) ); - - if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { - - // Support: Firefox <=54 - // Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144) - initial = initial / 2; - - // Trust units reported by jQuery.css - unit = unit || initialInUnit[ 3 ]; - - // Iteratively approximate from a nonzero starting point - initialInUnit = +initial || 1; - - while ( maxIterations-- ) { - - // Evaluate and update our best guess (doubling guesses that zero out). - // Finish if the scale equals or crosses 1 (making the old*new product non-positive). - jQuery.style( elem, prop, initialInUnit + unit ); - if ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) { - maxIterations = 0; - } - initialInUnit = initialInUnit / scale; - - } - - initialInUnit = initialInUnit * 2; - jQuery.style( elem, prop, initialInUnit + unit ); - - // Make sure we update the tween properties later on - valueParts = valueParts || []; - } - - if ( valueParts ) { - initialInUnit = +initialInUnit || +initial || 0; - - // Apply relative offset (+=/-=) if specified - adjusted = valueParts[ 1 ] ? - initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : - +valueParts[ 2 ]; - if ( tween ) { - tween.unit = unit; - tween.start = initialInUnit; - tween.end = adjusted; - } - } - return adjusted; -} - - -var defaultDisplayMap = {}; - -function getDefaultDisplay( elem ) { - var temp, - doc = elem.ownerDocument, - nodeName = elem.nodeName, - display = defaultDisplayMap[ nodeName ]; - - if ( display ) { - return display; - } - - temp = doc.body.appendChild( doc.createElement( nodeName ) ); - display = jQuery.css( temp, "display" ); - - temp.parentNode.removeChild( temp ); - - if ( display === "none" ) { - display = "block"; - } - defaultDisplayMap[ nodeName ] = display; - - return display; -} - -function showHide( elements, show ) { - var display, elem, - values = [], - index = 0, - length = elements.length; - - // Determine new display value for elements that need to change - for ( ; index < length; index++ ) { - elem = elements[ index ]; - if ( !elem.style ) { - continue; - } - - display = elem.style.display; - if ( show ) { - - // Since we force visibility upon cascade-hidden elements, an immediate (and slow) - // check is required in this first loop unless we have a nonempty display value (either - // inline or about-to-be-restored) - if ( display === "none" ) { - values[ index ] = dataPriv.get( elem, "display" ) || null; - if ( !values[ index ] ) { - elem.style.display = ""; - } - } - if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) { - values[ index ] = getDefaultDisplay( elem ); - } - } else { - if ( display !== "none" ) { - values[ index ] = "none"; - - // Remember what we're overwriting - dataPriv.set( elem, "display", display ); - } - } - } - - // Set the display of the elements in a second loop to avoid constant reflow - for ( index = 0; index < length; index++ ) { - if ( values[ index ] != null ) { - elements[ index ].style.display = values[ index ]; - } - } - - return elements; -} - -jQuery.fn.extend( { - show: function() { - return showHide( this, true ); - }, - hide: function() { - return showHide( this ); - }, - toggle: function( state ) { - if ( typeof state === "boolean" ) { - return state ? this.show() : this.hide(); - } - - return this.each( function() { - if ( isHiddenWithinTree( this ) ) { - jQuery( this ).show(); - } else { - jQuery( this ).hide(); - } - } ); - } -} ); -var rcheckableType = ( /^(?:checkbox|radio)$/i ); - -var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]*)/i ); - -var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i ); - - - -( function() { - var fragment = document.createDocumentFragment(), - div = fragment.appendChild( document.createElement( "div" ) ), - input = document.createElement( "input" ); - - // Support: Android 4.0 - 4.3 only - // Check state lost if the name is set (#11217) - // Support: Windows Web Apps (WWA) - // `name` and `type` must use .setAttribute for WWA (#14901) - input.setAttribute( "type", "radio" ); - input.setAttribute( "checked", "checked" ); - input.setAttribute( "name", "t" ); - - div.appendChild( input ); - - // Support: Android <=4.1 only - // Older WebKit doesn't clone checked state correctly in fragments - support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; - - // Support: IE <=11 only - // Make sure textarea (and checkbox) defaultValue is properly cloned - div.innerHTML = ""; - support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; - - // Support: IE <=9 only - // IE <=9 replaces "; - support.option = !!div.lastChild; -} )(); - - -// We have to close these tags to support XHTML (#13200) -var wrapMap = { - - // XHTML parsers do not magically insert elements in the - // same way that tag soup parsers do. So we cannot shorten - // this by omitting or other required elements. - thead: [ 1, "", "
    " ], - col: [ 2, "", "
    " ], - tr: [ 2, "", "
    " ], - td: [ 3, "", "
    " ], - - _default: [ 0, "", "" ] -}; - -wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; -wrapMap.th = wrapMap.td; - -// Support: IE <=9 only -if ( !support.option ) { - wrapMap.optgroup = wrapMap.option = [ 1, "" ]; -} - - -function getAll( context, tag ) { - - // Support: IE <=9 - 11 only - // Use typeof to avoid zero-argument method invocation on host objects (#15151) - var ret; - - if ( typeof context.getElementsByTagName !== "undefined" ) { - ret = context.getElementsByTagName( tag || "*" ); - - } else if ( typeof context.querySelectorAll !== "undefined" ) { - ret = context.querySelectorAll( tag || "*" ); - - } else { - ret = []; - } - - if ( tag === undefined || tag && nodeName( context, tag ) ) { - return jQuery.merge( [ context ], ret ); - } - - return ret; -} - - -// Mark scripts as having already been evaluated -function setGlobalEval( elems, refElements ) { - var i = 0, - l = elems.length; - - for ( ; i < l; i++ ) { - dataPriv.set( - elems[ i ], - "globalEval", - !refElements || dataPriv.get( refElements[ i ], "globalEval" ) - ); - } -} - - -var rhtml = /<|&#?\w+;/; - -function buildFragment( elems, context, scripts, selection, ignored ) { - var elem, tmp, tag, wrap, attached, j, - fragment = context.createDocumentFragment(), - nodes = [], - i = 0, - l = elems.length; - - for ( ; i < l; i++ ) { - elem = elems[ i ]; - - if ( elem || elem === 0 ) { - - // Add nodes directly - if ( toType( elem ) === "object" ) { - - // Support: Android <=4.0 only, PhantomJS 1 only - // push.apply(_, arraylike) throws on ancient WebKit - jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); - - // Convert non-html into a text node - } else if ( !rhtml.test( elem ) ) { - nodes.push( context.createTextNode( elem ) ); - - // Convert html into DOM nodes - } else { - tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); - - // Deserialize a standard representation - tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); - wrap = wrapMap[ tag ] || wrapMap._default; - tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; - - // Descend through wrappers to the right content - j = wrap[ 0 ]; - while ( j-- ) { - tmp = tmp.lastChild; - } - - // Support: Android <=4.0 only, PhantomJS 1 only - // push.apply(_, arraylike) throws on ancient WebKit - jQuery.merge( nodes, tmp.childNodes ); - - // Remember the top-level container - tmp = fragment.firstChild; - - // Ensure the created nodes are orphaned (#12392) - tmp.textContent = ""; - } - } - } - - // Remove wrapper from fragment - fragment.textContent = ""; - - i = 0; - while ( ( elem = nodes[ i++ ] ) ) { - - // Skip elements already in the context collection (trac-4087) - if ( selection && jQuery.inArray( elem, selection ) > -1 ) { - if ( ignored ) { - ignored.push( elem ); - } - continue; - } - - attached = isAttached( elem ); - - // Append to fragment - tmp = getAll( fragment.appendChild( elem ), "script" ); - - // Preserve script evaluation history - if ( attached ) { - setGlobalEval( tmp ); - } - - // Capture executables - if ( scripts ) { - j = 0; - while ( ( elem = tmp[ j++ ] ) ) { - if ( rscriptType.test( elem.type || "" ) ) { - scripts.push( elem ); - } - } - } - } - - return fragment; -} - - -var - rkeyEvent = /^key/, - rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, - rtypenamespace = /^([^.]*)(?:\.(.+)|)/; - -function returnTrue() { - return true; -} - -function returnFalse() { - return false; -} - -// Support: IE <=9 - 11+ -// focus() and blur() are asynchronous, except when they are no-op. -// So expect focus to be synchronous when the element is already active, -// and blur to be synchronous when the element is not already active. -// (focus and blur are always synchronous in other supported browsers, -// this just defines when we can count on it). -function expectSync( elem, type ) { - return ( elem === safeActiveElement() ) === ( type === "focus" ); -} - -// Support: IE <=9 only -// Accessing document.activeElement can throw unexpectedly -// https://bugs.jquery.com/ticket/13393 -function safeActiveElement() { - try { - return document.activeElement; - } catch ( err ) { } -} - -function on( elem, types, selector, data, fn, one ) { - var origFn, type; - - // Types can be a map of types/handlers - if ( typeof types === "object" ) { - - // ( types-Object, selector, data ) - if ( typeof selector !== "string" ) { - - // ( types-Object, data ) - data = data || selector; - selector = undefined; - } - for ( type in types ) { - on( elem, type, selector, data, types[ type ], one ); - } - return elem; - } - - if ( data == null && fn == null ) { - - // ( types, fn ) - fn = selector; - data = selector = undefined; - } else if ( fn == null ) { - if ( typeof selector === "string" ) { - - // ( types, selector, fn ) - fn = data; - data = undefined; - } else { - - // ( types, data, fn ) - fn = data; - data = selector; - selector = undefined; - } - } - if ( fn === false ) { - fn = returnFalse; - } else if ( !fn ) { - return elem; - } - - if ( one === 1 ) { - origFn = fn; - fn = function( event ) { - - // Can use an empty set, since event contains the info - jQuery().off( event ); - return origFn.apply( this, arguments ); - }; - - // Use same guid so caller can remove using origFn - fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); - } - return elem.each( function() { - jQuery.event.add( this, types, fn, data, selector ); - } ); -} - -/* - * Helper functions for managing events -- not part of the public interface. - * Props to Dean Edwards' addEvent library for many of the ideas. - */ -jQuery.event = { - - global: {}, - - add: function( elem, types, handler, data, selector ) { - - var handleObjIn, eventHandle, tmp, - events, t, handleObj, - special, handlers, type, namespaces, origType, - elemData = dataPriv.get( elem ); - - // Only attach events to objects that accept data - if ( !acceptData( elem ) ) { - return; - } - - // Caller can pass in an object of custom data in lieu of the handler - if ( handler.handler ) { - handleObjIn = handler; - handler = handleObjIn.handler; - selector = handleObjIn.selector; - } - - // Ensure that invalid selectors throw exceptions at attach time - // Evaluate against documentElement in case elem is a non-element node (e.g., document) - if ( selector ) { - jQuery.find.matchesSelector( documentElement, selector ); - } - - // Make sure that the handler has a unique ID, used to find/remove it later - if ( !handler.guid ) { - handler.guid = jQuery.guid++; - } - - // Init the element's event structure and main handler, if this is the first - if ( !( events = elemData.events ) ) { - events = elemData.events = Object.create( null ); - } - if ( !( eventHandle = elemData.handle ) ) { - eventHandle = elemData.handle = function( e ) { - - // Discard the second event of a jQuery.event.trigger() and - // when an event is called after a page has unloaded - return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? - jQuery.event.dispatch.apply( elem, arguments ) : undefined; - }; - } - - // Handle multiple events separated by a space - types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; - t = types.length; - while ( t-- ) { - tmp = rtypenamespace.exec( types[ t ] ) || []; - type = origType = tmp[ 1 ]; - namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); - - // There *must* be a type, no attaching namespace-only handlers - if ( !type ) { - continue; - } - - // If event changes its type, use the special event handlers for the changed type - special = jQuery.event.special[ type ] || {}; - - // If selector defined, determine special event api type, otherwise given type - type = ( selector ? special.delegateType : special.bindType ) || type; - - // Update special based on newly reset type - special = jQuery.event.special[ type ] || {}; - - // handleObj is passed to all event handlers - handleObj = jQuery.extend( { - type: type, - origType: origType, - data: data, - handler: handler, - guid: handler.guid, - selector: selector, - needsContext: selector && jQuery.expr.match.needsContext.test( selector ), - namespace: namespaces.join( "." ) - }, handleObjIn ); - - // Init the event handler queue if we're the first - if ( !( handlers = events[ type ] ) ) { - handlers = events[ type ] = []; - handlers.delegateCount = 0; - - // Only use addEventListener if the special events handler returns false - if ( !special.setup || - special.setup.call( elem, data, namespaces, eventHandle ) === false ) { - - if ( elem.addEventListener ) { - elem.addEventListener( type, eventHandle ); - } - } - } - - if ( special.add ) { - special.add.call( elem, handleObj ); - - if ( !handleObj.handler.guid ) { - handleObj.handler.guid = handler.guid; - } - } - - // Add to the element's handler list, delegates in front - if ( selector ) { - handlers.splice( handlers.delegateCount++, 0, handleObj ); - } else { - handlers.push( handleObj ); - } - - // Keep track of which events have ever been used, for event optimization - jQuery.event.global[ type ] = true; - } - - }, - - // Detach an event or set of events from an element - remove: function( elem, types, handler, selector, mappedTypes ) { - - var j, origCount, tmp, - events, t, handleObj, - special, handlers, type, namespaces, origType, - elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); - - if ( !elemData || !( events = elemData.events ) ) { - return; - } - - // Once for each type.namespace in types; type may be omitted - types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; - t = types.length; - while ( t-- ) { - tmp = rtypenamespace.exec( types[ t ] ) || []; - type = origType = tmp[ 1 ]; - namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); - - // Unbind all events (on this namespace, if provided) for the element - if ( !type ) { - for ( type in events ) { - jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); - } - continue; - } - - special = jQuery.event.special[ type ] || {}; - type = ( selector ? special.delegateType : special.bindType ) || type; - handlers = events[ type ] || []; - tmp = tmp[ 2 ] && - new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); - - // Remove matching events - origCount = j = handlers.length; - while ( j-- ) { - handleObj = handlers[ j ]; - - if ( ( mappedTypes || origType === handleObj.origType ) && - ( !handler || handler.guid === handleObj.guid ) && - ( !tmp || tmp.test( handleObj.namespace ) ) && - ( !selector || selector === handleObj.selector || - selector === "**" && handleObj.selector ) ) { - handlers.splice( j, 1 ); - - if ( handleObj.selector ) { - handlers.delegateCount--; - } - if ( special.remove ) { - special.remove.call( elem, handleObj ); - } - } - } - - // Remove generic event handler if we removed something and no more handlers exist - // (avoids potential for endless recursion during removal of special event handlers) - if ( origCount && !handlers.length ) { - if ( !special.teardown || - special.teardown.call( elem, namespaces, elemData.handle ) === false ) { - - jQuery.removeEvent( elem, type, elemData.handle ); - } - - delete events[ type ]; - } - } - - // Remove data and the expando if it's no longer used - if ( jQuery.isEmptyObject( events ) ) { - dataPriv.remove( elem, "handle events" ); - } - }, - - dispatch: function( nativeEvent ) { - - var i, j, ret, matched, handleObj, handlerQueue, - args = new Array( arguments.length ), - - // Make a writable jQuery.Event from the native event object - event = jQuery.event.fix( nativeEvent ), - - handlers = ( - dataPriv.get( this, "events" ) || Object.create( null ) - )[ event.type ] || [], - special = jQuery.event.special[ event.type ] || {}; - - // Use the fix-ed jQuery.Event rather than the (read-only) native event - args[ 0 ] = event; - - for ( i = 1; i < arguments.length; i++ ) { - args[ i ] = arguments[ i ]; - } - - event.delegateTarget = this; - - // Call the preDispatch hook for the mapped type, and let it bail if desired - if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { - return; - } - - // Determine handlers - handlerQueue = jQuery.event.handlers.call( this, event, handlers ); - - // Run delegates first; they may want to stop propagation beneath us - i = 0; - while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { - event.currentTarget = matched.elem; - - j = 0; - while ( ( handleObj = matched.handlers[ j++ ] ) && - !event.isImmediatePropagationStopped() ) { - - // If the event is namespaced, then each handler is only invoked if it is - // specially universal or its namespaces are a superset of the event's. - if ( !event.rnamespace || handleObj.namespace === false || - event.rnamespace.test( handleObj.namespace ) ) { - - event.handleObj = handleObj; - event.data = handleObj.data; - - ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || - handleObj.handler ).apply( matched.elem, args ); - - if ( ret !== undefined ) { - if ( ( event.result = ret ) === false ) { - event.preventDefault(); - event.stopPropagation(); - } - } - } - } - } - - // Call the postDispatch hook for the mapped type - if ( special.postDispatch ) { - special.postDispatch.call( this, event ); - } - - return event.result; - }, - - handlers: function( event, handlers ) { - var i, handleObj, sel, matchedHandlers, matchedSelectors, - handlerQueue = [], - delegateCount = handlers.delegateCount, - cur = event.target; - - // Find delegate handlers - if ( delegateCount && - - // Support: IE <=9 - // Black-hole SVG instance trees (trac-13180) - cur.nodeType && - - // Support: Firefox <=42 - // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861) - // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click - // Support: IE 11 only - // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343) - !( event.type === "click" && event.button >= 1 ) ) { - - for ( ; cur !== this; cur = cur.parentNode || this ) { - - // Don't check non-elements (#13208) - // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) - if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) { - matchedHandlers = []; - matchedSelectors = {}; - for ( i = 0; i < delegateCount; i++ ) { - handleObj = handlers[ i ]; - - // Don't conflict with Object.prototype properties (#13203) - sel = handleObj.selector + " "; - - if ( matchedSelectors[ sel ] === undefined ) { - matchedSelectors[ sel ] = handleObj.needsContext ? - jQuery( sel, this ).index( cur ) > -1 : - jQuery.find( sel, this, null, [ cur ] ).length; - } - if ( matchedSelectors[ sel ] ) { - matchedHandlers.push( handleObj ); - } - } - if ( matchedHandlers.length ) { - handlerQueue.push( { elem: cur, handlers: matchedHandlers } ); - } - } - } - } - - // Add the remaining (directly-bound) handlers - cur = this; - if ( delegateCount < handlers.length ) { - handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } ); - } - - return handlerQueue; - }, - - addProp: function( name, hook ) { - Object.defineProperty( jQuery.Event.prototype, name, { - enumerable: true, - configurable: true, - - get: isFunction( hook ) ? - function() { - if ( this.originalEvent ) { - return hook( this.originalEvent ); - } - } : - function() { - if ( this.originalEvent ) { - return this.originalEvent[ name ]; - } - }, - - set: function( value ) { - Object.defineProperty( this, name, { - enumerable: true, - configurable: true, - writable: true, - value: value - } ); - } - } ); - }, - - fix: function( originalEvent ) { - return originalEvent[ jQuery.expando ] ? - originalEvent : - new jQuery.Event( originalEvent ); - }, - - special: { - load: { - - // Prevent triggered image.load events from bubbling to window.load - noBubble: true - }, - click: { - - // Utilize native event to ensure correct state for checkable inputs - setup: function( data ) { - - // For mutual compressibility with _default, replace `this` access with a local var. - // `|| data` is dead code meant only to preserve the variable through minification. - var el = this || data; - - // Claim the first handler - if ( rcheckableType.test( el.type ) && - el.click && nodeName( el, "input" ) ) { - - // dataPriv.set( el, "click", ... ) - leverageNative( el, "click", returnTrue ); - } - - // Return false to allow normal processing in the caller - return false; - }, - trigger: function( data ) { - - // For mutual compressibility with _default, replace `this` access with a local var. - // `|| data` is dead code meant only to preserve the variable through minification. - var el = this || data; - - // Force setup before triggering a click - if ( rcheckableType.test( el.type ) && - el.click && nodeName( el, "input" ) ) { - - leverageNative( el, "click" ); - } - - // Return non-false to allow normal event-path propagation - return true; - }, - - // For cross-browser consistency, suppress native .click() on links - // Also prevent it if we're currently inside a leveraged native-event stack - _default: function( event ) { - var target = event.target; - return rcheckableType.test( target.type ) && - target.click && nodeName( target, "input" ) && - dataPriv.get( target, "click" ) || - nodeName( target, "a" ); - } - }, - - beforeunload: { - postDispatch: function( event ) { - - // Support: Firefox 20+ - // Firefox doesn't alert if the returnValue field is not set. - if ( event.result !== undefined && event.originalEvent ) { - event.originalEvent.returnValue = event.result; - } - } - } - } -}; - -// Ensure the presence of an event listener that handles manually-triggered -// synthetic events by interrupting progress until reinvoked in response to -// *native* events that it fires directly, ensuring that state changes have -// already occurred before other listeners are invoked. -function leverageNative( el, type, expectSync ) { - - // Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add - if ( !expectSync ) { - if ( dataPriv.get( el, type ) === undefined ) { - jQuery.event.add( el, type, returnTrue ); - } - return; - } - - // Register the controller as a special universal handler for all event namespaces - dataPriv.set( el, type, false ); - jQuery.event.add( el, type, { - namespace: false, - handler: function( event ) { - var notAsync, result, - saved = dataPriv.get( this, type ); - - if ( ( event.isTrigger & 1 ) && this[ type ] ) { - - // Interrupt processing of the outer synthetic .trigger()ed event - // Saved data should be false in such cases, but might be a leftover capture object - // from an async native handler (gh-4350) - if ( !saved.length ) { - - // Store arguments for use when handling the inner native event - // There will always be at least one argument (an event object), so this array - // will not be confused with a leftover capture object. - saved = slice.call( arguments ); - dataPriv.set( this, type, saved ); - - // Trigger the native event and capture its result - // Support: IE <=9 - 11+ - // focus() and blur() are asynchronous - notAsync = expectSync( this, type ); - this[ type ](); - result = dataPriv.get( this, type ); - if ( saved !== result || notAsync ) { - dataPriv.set( this, type, false ); - } else { - result = {}; - } - if ( saved !== result ) { - - // Cancel the outer synthetic event - event.stopImmediatePropagation(); - event.preventDefault(); - return result.value; - } - - // If this is an inner synthetic event for an event with a bubbling surrogate - // (focus or blur), assume that the surrogate already propagated from triggering the - // native event and prevent that from happening again here. - // This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the - // bubbling surrogate propagates *after* the non-bubbling base), but that seems - // less bad than duplication. - } else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) { - event.stopPropagation(); - } - - // If this is a native event triggered above, everything is now in order - // Fire an inner synthetic event with the original arguments - } else if ( saved.length ) { - - // ...and capture the result - dataPriv.set( this, type, { - value: jQuery.event.trigger( - - // Support: IE <=9 - 11+ - // Extend with the prototype to reset the above stopImmediatePropagation() - jQuery.extend( saved[ 0 ], jQuery.Event.prototype ), - saved.slice( 1 ), - this - ) - } ); - - // Abort handling of the native event - event.stopImmediatePropagation(); - } - } - } ); -} - -jQuery.removeEvent = function( elem, type, handle ) { - - // This "if" is needed for plain objects - if ( elem.removeEventListener ) { - elem.removeEventListener( type, handle ); - } -}; - -jQuery.Event = function( src, props ) { - - // Allow instantiation without the 'new' keyword - if ( !( this instanceof jQuery.Event ) ) { - return new jQuery.Event( src, props ); - } - - // Event object - if ( src && src.type ) { - this.originalEvent = src; - this.type = src.type; - - // Events bubbling up the document may have been marked as prevented - // by a handler lower down the tree; reflect the correct value. - this.isDefaultPrevented = src.defaultPrevented || - src.defaultPrevented === undefined && - - // Support: Android <=2.3 only - src.returnValue === false ? - returnTrue : - returnFalse; - - // Create target properties - // Support: Safari <=6 - 7 only - // Target should not be a text node (#504, #13143) - this.target = ( src.target && src.target.nodeType === 3 ) ? - src.target.parentNode : - src.target; - - this.currentTarget = src.currentTarget; - this.relatedTarget = src.relatedTarget; - - // Event type - } else { - this.type = src; - } - - // Put explicitly provided properties onto the event object - if ( props ) { - jQuery.extend( this, props ); - } - - // Create a timestamp if incoming event doesn't have one - this.timeStamp = src && src.timeStamp || Date.now(); - - // Mark it as fixed - this[ jQuery.expando ] = true; -}; - -// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding -// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html -jQuery.Event.prototype = { - constructor: jQuery.Event, - isDefaultPrevented: returnFalse, - isPropagationStopped: returnFalse, - isImmediatePropagationStopped: returnFalse, - isSimulated: false, - - preventDefault: function() { - var e = this.originalEvent; - - this.isDefaultPrevented = returnTrue; - - if ( e && !this.isSimulated ) { - e.preventDefault(); - } - }, - stopPropagation: function() { - var e = this.originalEvent; - - this.isPropagationStopped = returnTrue; - - if ( e && !this.isSimulated ) { - e.stopPropagation(); - } - }, - stopImmediatePropagation: function() { - var e = this.originalEvent; - - this.isImmediatePropagationStopped = returnTrue; - - if ( e && !this.isSimulated ) { - e.stopImmediatePropagation(); - } - - this.stopPropagation(); - } -}; - -// Includes all common event props including KeyEvent and MouseEvent specific props -jQuery.each( { - altKey: true, - bubbles: true, - cancelable: true, - changedTouches: true, - ctrlKey: true, - detail: true, - eventPhase: true, - metaKey: true, - pageX: true, - pageY: true, - shiftKey: true, - view: true, - "char": true, - code: true, - charCode: true, - key: true, - keyCode: true, - button: true, - buttons: true, - clientX: true, - clientY: true, - offsetX: true, - offsetY: true, - pointerId: true, - pointerType: true, - screenX: true, - screenY: true, - targetTouches: true, - toElement: true, - touches: true, - - which: function( event ) { - var button = event.button; - - // Add which for key events - if ( event.which == null && rkeyEvent.test( event.type ) ) { - return event.charCode != null ? event.charCode : event.keyCode; - } - - // Add which for click: 1 === left; 2 === middle; 3 === right - if ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) { - if ( button & 1 ) { - return 1; - } - - if ( button & 2 ) { - return 3; - } - - if ( button & 4 ) { - return 2; - } - - return 0; - } - - return event.which; - } -}, jQuery.event.addProp ); - -jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) { - jQuery.event.special[ type ] = { - - // Utilize native event if possible so blur/focus sequence is correct - setup: function() { - - // Claim the first handler - // dataPriv.set( this, "focus", ... ) - // dataPriv.set( this, "blur", ... ) - leverageNative( this, type, expectSync ); - - // Return false to allow normal processing in the caller - return false; - }, - trigger: function() { - - // Force setup before trigger - leverageNative( this, type ); - - // Return non-false to allow normal event-path propagation - return true; - }, - - delegateType: delegateType - }; -} ); - -// Create mouseenter/leave events using mouseover/out and event-time checks -// so that event delegation works in jQuery. -// Do the same for pointerenter/pointerleave and pointerover/pointerout -// -// Support: Safari 7 only -// Safari sends mouseenter too often; see: -// https://bugs.chromium.org/p/chromium/issues/detail?id=470258 -// for the description of the bug (it existed in older Chrome versions as well). -jQuery.each( { - mouseenter: "mouseover", - mouseleave: "mouseout", - pointerenter: "pointerover", - pointerleave: "pointerout" -}, function( orig, fix ) { - jQuery.event.special[ orig ] = { - delegateType: fix, - bindType: fix, - - handle: function( event ) { - var ret, - target = this, - related = event.relatedTarget, - handleObj = event.handleObj; - - // For mouseenter/leave call the handler if related is outside the target. - // NB: No relatedTarget if the mouse left/entered the browser window - if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { - event.type = handleObj.origType; - ret = handleObj.handler.apply( this, arguments ); - event.type = fix; - } - return ret; - } - }; -} ); - -jQuery.fn.extend( { - - on: function( types, selector, data, fn ) { - return on( this, types, selector, data, fn ); - }, - one: function( types, selector, data, fn ) { - return on( this, types, selector, data, fn, 1 ); - }, - off: function( types, selector, fn ) { - var handleObj, type; - if ( types && types.preventDefault && types.handleObj ) { - - // ( event ) dispatched jQuery.Event - handleObj = types.handleObj; - jQuery( types.delegateTarget ).off( - handleObj.namespace ? - handleObj.origType + "." + handleObj.namespace : - handleObj.origType, - handleObj.selector, - handleObj.handler - ); - return this; - } - if ( typeof types === "object" ) { - - // ( types-object [, selector] ) - for ( type in types ) { - this.off( type, selector, types[ type ] ); - } - return this; - } - if ( selector === false || typeof selector === "function" ) { - - // ( types [, fn] ) - fn = selector; - selector = undefined; - } - if ( fn === false ) { - fn = returnFalse; - } - return this.each( function() { - jQuery.event.remove( this, types, fn, selector ); - } ); - } -} ); - - -var - - // Support: IE <=10 - 11, Edge 12 - 13 only - // In IE/Edge using regex groups here causes severe slowdowns. - // See https://connect.microsoft.com/IE/feedback/details/1736512/ - rnoInnerhtml = /\s*$/g; - -// Prefer a tbody over its parent table for containing new rows -function manipulationTarget( elem, content ) { - if ( nodeName( elem, "table" ) && - nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { - - return jQuery( elem ).children( "tbody" )[ 0 ] || elem; - } - - return elem; -} - -// Replace/restore the type attribute of script elements for safe DOM manipulation -function disableScript( elem ) { - elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; - return elem; -} -function restoreScript( elem ) { - if ( ( elem.type || "" ).slice( 0, 5 ) === "true/" ) { - elem.type = elem.type.slice( 5 ); - } else { - elem.removeAttribute( "type" ); - } - - return elem; -} - -function cloneCopyEvent( src, dest ) { - var i, l, type, pdataOld, udataOld, udataCur, events; - - if ( dest.nodeType !== 1 ) { - return; - } - - // 1. Copy private data: events, handlers, etc. - if ( dataPriv.hasData( src ) ) { - pdataOld = dataPriv.get( src ); - events = pdataOld.events; - - if ( events ) { - dataPriv.remove( dest, "handle events" ); - - for ( type in events ) { - for ( i = 0, l = events[ type ].length; i < l; i++ ) { - jQuery.event.add( dest, type, events[ type ][ i ] ); - } - } - } - } - - // 2. Copy user data - if ( dataUser.hasData( src ) ) { - udataOld = dataUser.access( src ); - udataCur = jQuery.extend( {}, udataOld ); - - dataUser.set( dest, udataCur ); - } -} - -// Fix IE bugs, see support tests -function fixInput( src, dest ) { - var nodeName = dest.nodeName.toLowerCase(); - - // Fails to persist the checked state of a cloned checkbox or radio button. - if ( nodeName === "input" && rcheckableType.test( src.type ) ) { - dest.checked = src.checked; - - // Fails to return the selected option to the default selected state when cloning options - } else if ( nodeName === "input" || nodeName === "textarea" ) { - dest.defaultValue = src.defaultValue; - } -} - -function domManip( collection, args, callback, ignored ) { - - // Flatten any nested arrays - args = flat( args ); - - var fragment, first, scripts, hasScripts, node, doc, - i = 0, - l = collection.length, - iNoClone = l - 1, - value = args[ 0 ], - valueIsFunction = isFunction( value ); - - // We can't cloneNode fragments that contain checked, in WebKit - if ( valueIsFunction || - ( l > 1 && typeof value === "string" && - !support.checkClone && rchecked.test( value ) ) ) { - return collection.each( function( index ) { - var self = collection.eq( index ); - if ( valueIsFunction ) { - args[ 0 ] = value.call( this, index, self.html() ); - } - domManip( self, args, callback, ignored ); - } ); - } - - if ( l ) { - fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); - first = fragment.firstChild; - - if ( fragment.childNodes.length === 1 ) { - fragment = first; - } - - // Require either new content or an interest in ignored elements to invoke the callback - if ( first || ignored ) { - scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); - hasScripts = scripts.length; - - // Use the original fragment for the last item - // instead of the first because it can end up - // being emptied incorrectly in certain situations (#8070). - for ( ; i < l; i++ ) { - node = fragment; - - if ( i !== iNoClone ) { - node = jQuery.clone( node, true, true ); - - // Keep references to cloned scripts for later restoration - if ( hasScripts ) { - - // Support: Android <=4.0 only, PhantomJS 1 only - // push.apply(_, arraylike) throws on ancient WebKit - jQuery.merge( scripts, getAll( node, "script" ) ); - } - } - - callback.call( collection[ i ], node, i ); - } - - if ( hasScripts ) { - doc = scripts[ scripts.length - 1 ].ownerDocument; - - // Reenable scripts - jQuery.map( scripts, restoreScript ); - - // Evaluate executable scripts on first document insertion - for ( i = 0; i < hasScripts; i++ ) { - node = scripts[ i ]; - if ( rscriptType.test( node.type || "" ) && - !dataPriv.access( node, "globalEval" ) && - jQuery.contains( doc, node ) ) { - - if ( node.src && ( node.type || "" ).toLowerCase() !== "module" ) { - - // Optional AJAX dependency, but won't run scripts if not present - if ( jQuery._evalUrl && !node.noModule ) { - jQuery._evalUrl( node.src, { - nonce: node.nonce || node.getAttribute( "nonce" ) - }, doc ); - } - } else { - DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc ); - } - } - } - } - } - } - - return collection; -} - -function remove( elem, selector, keepData ) { - var node, - nodes = selector ? jQuery.filter( selector, elem ) : elem, - i = 0; - - for ( ; ( node = nodes[ i ] ) != null; i++ ) { - if ( !keepData && node.nodeType === 1 ) { - jQuery.cleanData( getAll( node ) ); - } - - if ( node.parentNode ) { - if ( keepData && isAttached( node ) ) { - setGlobalEval( getAll( node, "script" ) ); - } - node.parentNode.removeChild( node ); - } - } - - return elem; -} - -jQuery.extend( { - htmlPrefilter: function( html ) { - return html; - }, - - clone: function( elem, dataAndEvents, deepDataAndEvents ) { - var i, l, srcElements, destElements, - clone = elem.cloneNode( true ), - inPage = isAttached( elem ); - - // Fix IE cloning issues - if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && - !jQuery.isXMLDoc( elem ) ) { - - // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2 - destElements = getAll( clone ); - srcElements = getAll( elem ); - - for ( i = 0, l = srcElements.length; i < l; i++ ) { - fixInput( srcElements[ i ], destElements[ i ] ); - } - } - - // Copy the events from the original to the clone - if ( dataAndEvents ) { - if ( deepDataAndEvents ) { - srcElements = srcElements || getAll( elem ); - destElements = destElements || getAll( clone ); - - for ( i = 0, l = srcElements.length; i < l; i++ ) { - cloneCopyEvent( srcElements[ i ], destElements[ i ] ); - } - } else { - cloneCopyEvent( elem, clone ); - } - } - - // Preserve script evaluation history - destElements = getAll( clone, "script" ); - if ( destElements.length > 0 ) { - setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); - } - - // Return the cloned set - return clone; - }, - - cleanData: function( elems ) { - var data, elem, type, - special = jQuery.event.special, - i = 0; - - for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { - if ( acceptData( elem ) ) { - if ( ( data = elem[ dataPriv.expando ] ) ) { - if ( data.events ) { - for ( type in data.events ) { - if ( special[ type ] ) { - jQuery.event.remove( elem, type ); - - // This is a shortcut to avoid jQuery.event.remove's overhead - } else { - jQuery.removeEvent( elem, type, data.handle ); - } - } - } - - // Support: Chrome <=35 - 45+ - // Assign undefined instead of using delete, see Data#remove - elem[ dataPriv.expando ] = undefined; - } - if ( elem[ dataUser.expando ] ) { - - // Support: Chrome <=35 - 45+ - // Assign undefined instead of using delete, see Data#remove - elem[ dataUser.expando ] = undefined; - } - } - } - } -} ); - -jQuery.fn.extend( { - detach: function( selector ) { - return remove( this, selector, true ); - }, - - remove: function( selector ) { - return remove( this, selector ); - }, - - text: function( value ) { - return access( this, function( value ) { - return value === undefined ? - jQuery.text( this ) : - this.empty().each( function() { - if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { - this.textContent = value; - } - } ); - }, null, value, arguments.length ); - }, - - append: function() { - return domManip( this, arguments, function( elem ) { - if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { - var target = manipulationTarget( this, elem ); - target.appendChild( elem ); - } - } ); - }, - - prepend: function() { - return domManip( this, arguments, function( elem ) { - if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { - var target = manipulationTarget( this, elem ); - target.insertBefore( elem, target.firstChild ); - } - } ); - }, - - before: function() { - return domManip( this, arguments, function( elem ) { - if ( this.parentNode ) { - this.parentNode.insertBefore( elem, this ); - } - } ); - }, - - after: function() { - return domManip( this, arguments, function( elem ) { - if ( this.parentNode ) { - this.parentNode.insertBefore( elem, this.nextSibling ); - } - } ); - }, - - empty: function() { - var elem, - i = 0; - - for ( ; ( elem = this[ i ] ) != null; i++ ) { - if ( elem.nodeType === 1 ) { - - // Prevent memory leaks - jQuery.cleanData( getAll( elem, false ) ); - - // Remove any remaining nodes - elem.textContent = ""; - } - } - - return this; - }, - - clone: function( dataAndEvents, deepDataAndEvents ) { - dataAndEvents = dataAndEvents == null ? false : dataAndEvents; - deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; - - return this.map( function() { - return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); - } ); - }, - - html: function( value ) { - return access( this, function( value ) { - var elem = this[ 0 ] || {}, - i = 0, - l = this.length; - - if ( value === undefined && elem.nodeType === 1 ) { - return elem.innerHTML; - } - - // See if we can take a shortcut and just use innerHTML - if ( typeof value === "string" && !rnoInnerhtml.test( value ) && - !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { - - value = jQuery.htmlPrefilter( value ); - - try { - for ( ; i < l; i++ ) { - elem = this[ i ] || {}; - - // Remove element nodes and prevent memory leaks - if ( elem.nodeType === 1 ) { - jQuery.cleanData( getAll( elem, false ) ); - elem.innerHTML = value; - } - } - - elem = 0; - - // If using innerHTML throws an exception, use the fallback method - } catch ( e ) {} - } - - if ( elem ) { - this.empty().append( value ); - } - }, null, value, arguments.length ); - }, - - replaceWith: function() { - var ignored = []; - - // Make the changes, replacing each non-ignored context element with the new content - return domManip( this, arguments, function( elem ) { - var parent = this.parentNode; - - if ( jQuery.inArray( this, ignored ) < 0 ) { - jQuery.cleanData( getAll( this ) ); - if ( parent ) { - parent.replaceChild( elem, this ); - } - } - - // Force callback invocation - }, ignored ); - } -} ); - -jQuery.each( { - appendTo: "append", - prependTo: "prepend", - insertBefore: "before", - insertAfter: "after", - replaceAll: "replaceWith" -}, function( name, original ) { - jQuery.fn[ name ] = function( selector ) { - var elems, - ret = [], - insert = jQuery( selector ), - last = insert.length - 1, - i = 0; - - for ( ; i <= last; i++ ) { - elems = i === last ? this : this.clone( true ); - jQuery( insert[ i ] )[ original ]( elems ); - - // Support: Android <=4.0 only, PhantomJS 1 only - // .get() because push.apply(_, arraylike) throws on ancient WebKit - push.apply( ret, elems.get() ); - } - - return this.pushStack( ret ); - }; -} ); -var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); - -var getStyles = function( elem ) { - - // Support: IE <=11 only, Firefox <=30 (#15098, #14150) - // IE throws on elements created in popups - // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" - var view = elem.ownerDocument.defaultView; - - if ( !view || !view.opener ) { - view = window; - } - - return view.getComputedStyle( elem ); - }; - -var swap = function( elem, options, callback ) { - var ret, name, - old = {}; - - // Remember the old values, and insert the new ones - for ( name in options ) { - old[ name ] = elem.style[ name ]; - elem.style[ name ] = options[ name ]; - } - - ret = callback.call( elem ); - - // Revert the old values - for ( name in options ) { - elem.style[ name ] = old[ name ]; - } - - return ret; -}; - - -var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); - - - -( function() { - - // Executing both pixelPosition & boxSizingReliable tests require only one layout - // so they're executed at the same time to save the second computation. - function computeStyleTests() { - - // This is a singleton, we need to execute it only once - if ( !div ) { - return; - } - - container.style.cssText = "position:absolute;left:-11111px;width:60px;" + - "margin-top:1px;padding:0;border:0"; - div.style.cssText = - "position:relative;display:block;box-sizing:border-box;overflow:scroll;" + - "margin:auto;border:1px;padding:1px;" + - "width:60%;top:1%"; - documentElement.appendChild( container ).appendChild( div ); - - var divStyle = window.getComputedStyle( div ); - pixelPositionVal = divStyle.top !== "1%"; - - // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44 - reliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12; - - // Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3 - // Some styles come back with percentage values, even though they shouldn't - div.style.right = "60%"; - pixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36; - - // Support: IE 9 - 11 only - // Detect misreporting of content dimensions for box-sizing:border-box elements - boxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36; - - // Support: IE 9 only - // Detect overflow:scroll screwiness (gh-3699) - // Support: Chrome <=64 - // Don't get tricked when zoom affects offsetWidth (gh-4029) - div.style.position = "absolute"; - scrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12; - - documentElement.removeChild( container ); - - // Nullify the div so it wouldn't be stored in the memory and - // it will also be a sign that checks already performed - div = null; - } - - function roundPixelMeasures( measure ) { - return Math.round( parseFloat( measure ) ); - } - - var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal, - reliableTrDimensionsVal, reliableMarginLeftVal, - container = document.createElement( "div" ), - div = document.createElement( "div" ); - - // Finish early in limited (non-browser) environments - if ( !div.style ) { - return; - } - - // Support: IE <=9 - 11 only - // Style of cloned element affects source element cloned (#8908) - div.style.backgroundClip = "content-box"; - div.cloneNode( true ).style.backgroundClip = ""; - support.clearCloneStyle = div.style.backgroundClip === "content-box"; - - jQuery.extend( support, { - boxSizingReliable: function() { - computeStyleTests(); - return boxSizingReliableVal; - }, - pixelBoxStyles: function() { - computeStyleTests(); - return pixelBoxStylesVal; - }, - pixelPosition: function() { - computeStyleTests(); - return pixelPositionVal; - }, - reliableMarginLeft: function() { - computeStyleTests(); - return reliableMarginLeftVal; - }, - scrollboxSize: function() { - computeStyleTests(); - return scrollboxSizeVal; - }, - - // Support: IE 9 - 11+, Edge 15 - 18+ - // IE/Edge misreport `getComputedStyle` of table rows with width/height - // set in CSS while `offset*` properties report correct values. - // Behavior in IE 9 is more subtle than in newer versions & it passes - // some versions of this test; make sure not to make it pass there! - reliableTrDimensions: function() { - var table, tr, trChild, trStyle; - if ( reliableTrDimensionsVal == null ) { - table = document.createElement( "table" ); - tr = document.createElement( "tr" ); - trChild = document.createElement( "div" ); - - table.style.cssText = "position:absolute;left:-11111px"; - tr.style.height = "1px"; - trChild.style.height = "9px"; - - documentElement - .appendChild( table ) - .appendChild( tr ) - .appendChild( trChild ); - - trStyle = window.getComputedStyle( tr ); - reliableTrDimensionsVal = parseInt( trStyle.height ) > 3; - - documentElement.removeChild( table ); - } - return reliableTrDimensionsVal; - } - } ); -} )(); - - -function curCSS( elem, name, computed ) { - var width, minWidth, maxWidth, ret, - - // Support: Firefox 51+ - // Retrieving style before computed somehow - // fixes an issue with getting wrong values - // on detached elements - style = elem.style; - - computed = computed || getStyles( elem ); - - // getPropertyValue is needed for: - // .css('filter') (IE 9 only, #12537) - // .css('--customProperty) (#3144) - if ( computed ) { - ret = computed.getPropertyValue( name ) || computed[ name ]; - - if ( ret === "" && !isAttached( elem ) ) { - ret = jQuery.style( elem, name ); - } - - // A tribute to the "awesome hack by Dean Edwards" - // Android Browser returns percentage for some values, - // but width seems to be reliably pixels. - // This is against the CSSOM draft spec: - // https://drafts.csswg.org/cssom/#resolved-values - if ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) { - - // Remember the original values - width = style.width; - minWidth = style.minWidth; - maxWidth = style.maxWidth; - - // Put in the new values to get a computed value out - style.minWidth = style.maxWidth = style.width = ret; - ret = computed.width; - - // Revert the changed values - style.width = width; - style.minWidth = minWidth; - style.maxWidth = maxWidth; - } - } - - return ret !== undefined ? - - // Support: IE <=9 - 11 only - // IE returns zIndex value as an integer. - ret + "" : - ret; -} - - -function addGetHookIf( conditionFn, hookFn ) { - - // Define the hook, we'll check on the first run if it's really needed. - return { - get: function() { - if ( conditionFn() ) { - - // Hook not needed (or it's not possible to use it due - // to missing dependency), remove it. - delete this.get; - return; - } - - // Hook needed; redefine it so that the support test is not executed again. - return ( this.get = hookFn ).apply( this, arguments ); - } - }; -} - - -var cssPrefixes = [ "Webkit", "Moz", "ms" ], - emptyStyle = document.createElement( "div" ).style, - vendorProps = {}; - -// Return a vendor-prefixed property or undefined -function vendorPropName( name ) { - - // Check for vendor prefixed names - var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), - i = cssPrefixes.length; - - while ( i-- ) { - name = cssPrefixes[ i ] + capName; - if ( name in emptyStyle ) { - return name; - } - } -} - -// Return a potentially-mapped jQuery.cssProps or vendor prefixed property -function finalPropName( name ) { - var final = jQuery.cssProps[ name ] || vendorProps[ name ]; - - if ( final ) { - return final; - } - if ( name in emptyStyle ) { - return name; - } - return vendorProps[ name ] = vendorPropName( name ) || name; -} - - -var - - // Swappable if display is none or starts with table - // except "table", "table-cell", or "table-caption" - // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display - rdisplayswap = /^(none|table(?!-c[ea]).+)/, - rcustomProp = /^--/, - cssShow = { position: "absolute", visibility: "hidden", display: "block" }, - cssNormalTransform = { - letterSpacing: "0", - fontWeight: "400" - }; - -function setPositiveNumber( _elem, value, subtract ) { - - // Any relative (+/-) values have already been - // normalized at this point - var matches = rcssNum.exec( value ); - return matches ? - - // Guard against undefined "subtract", e.g., when used as in cssHooks - Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) : - value; -} - -function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) { - var i = dimension === "width" ? 1 : 0, - extra = 0, - delta = 0; - - // Adjustment may not be necessary - if ( box === ( isBorderBox ? "border" : "content" ) ) { - return 0; - } - - for ( ; i < 4; i += 2 ) { - - // Both box models exclude margin - if ( box === "margin" ) { - delta += jQuery.css( elem, box + cssExpand[ i ], true, styles ); - } - - // If we get here with a content-box, we're seeking "padding" or "border" or "margin" - if ( !isBorderBox ) { - - // Add padding - delta += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); - - // For "border" or "margin", add border - if ( box !== "padding" ) { - delta += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); - - // But still keep track of it otherwise - } else { - extra += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); - } - - // If we get here with a border-box (content + padding + border), we're seeking "content" or - // "padding" or "margin" - } else { - - // For "content", subtract padding - if ( box === "content" ) { - delta -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); - } - - // For "content" or "padding", subtract border - if ( box !== "margin" ) { - delta -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); - } - } - } - - // Account for positive content-box scroll gutter when requested by providing computedVal - if ( !isBorderBox && computedVal >= 0 ) { - - // offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border - // Assuming integer scroll gutter, subtract the rest and round down - delta += Math.max( 0, Math.ceil( - elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - - computedVal - - delta - - extra - - 0.5 - - // If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter - // Use an explicit zero to avoid NaN (gh-3964) - ) ) || 0; - } - - return delta; -} - -function getWidthOrHeight( elem, dimension, extra ) { - - // Start with computed style - var styles = getStyles( elem ), - - // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322). - // Fake content-box until we know it's needed to know the true value. - boxSizingNeeded = !support.boxSizingReliable() || extra, - isBorderBox = boxSizingNeeded && - jQuery.css( elem, "boxSizing", false, styles ) === "border-box", - valueIsBorderBox = isBorderBox, - - val = curCSS( elem, dimension, styles ), - offsetProp = "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ); - - // Support: Firefox <=54 - // Return a confounding non-pixel value or feign ignorance, as appropriate. - if ( rnumnonpx.test( val ) ) { - if ( !extra ) { - return val; - } - val = "auto"; - } - - - // Support: IE 9 - 11 only - // Use offsetWidth/offsetHeight for when box sizing is unreliable. - // In those cases, the computed value can be trusted to be border-box. - if ( ( !support.boxSizingReliable() && isBorderBox || - - // Support: IE 10 - 11+, Edge 15 - 18+ - // IE/Edge misreport `getComputedStyle` of table rows with width/height - // set in CSS while `offset*` properties report correct values. - // Interestingly, in some cases IE 9 doesn't suffer from this issue. - !support.reliableTrDimensions() && nodeName( elem, "tr" ) || - - // Fall back to offsetWidth/offsetHeight when value is "auto" - // This happens for inline elements with no explicit setting (gh-3571) - val === "auto" || - - // Support: Android <=4.1 - 4.3 only - // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602) - !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) && - - // Make sure the element is visible & connected - elem.getClientRects().length ) { - - isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; - - // Where available, offsetWidth/offsetHeight approximate border box dimensions. - // Where not available (e.g., SVG), assume unreliable box-sizing and interpret the - // retrieved value as a content box dimension. - valueIsBorderBox = offsetProp in elem; - if ( valueIsBorderBox ) { - val = elem[ offsetProp ]; - } - } - - // Normalize "" and auto - val = parseFloat( val ) || 0; - - // Adjust for the element's box model - return ( val + - boxModelAdjustment( - elem, - dimension, - extra || ( isBorderBox ? "border" : "content" ), - valueIsBorderBox, - styles, - - // Provide the current computed size to request scroll gutter calculation (gh-3589) - val - ) - ) + "px"; -} - -jQuery.extend( { - - // Add in style property hooks for overriding the default - // behavior of getting and setting a style property - cssHooks: { - opacity: { - get: function( elem, computed ) { - if ( computed ) { - - // We should always get a number back from opacity - var ret = curCSS( elem, "opacity" ); - return ret === "" ? "1" : ret; - } - } - } - }, - - // Don't automatically add "px" to these possibly-unitless properties - cssNumber: { - "animationIterationCount": true, - "columnCount": true, - "fillOpacity": true, - "flexGrow": true, - "flexShrink": true, - "fontWeight": true, - "gridArea": true, - "gridColumn": true, - "gridColumnEnd": true, - "gridColumnStart": true, - "gridRow": true, - "gridRowEnd": true, - "gridRowStart": true, - "lineHeight": true, - "opacity": true, - "order": true, - "orphans": true, - "widows": true, - "zIndex": true, - "zoom": true - }, - - // Add in properties whose names you wish to fix before - // setting or getting the value - cssProps: {}, - - // Get and set the style property on a DOM Node - style: function( elem, name, value, extra ) { - - // Don't set styles on text and comment nodes - if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { - return; - } - - // Make sure that we're working with the right name - var ret, type, hooks, - origName = camelCase( name ), - isCustomProp = rcustomProp.test( name ), - style = elem.style; - - // Make sure that we're working with the right name. We don't - // want to query the value if it is a CSS custom property - // since they are user-defined. - if ( !isCustomProp ) { - name = finalPropName( origName ); - } - - // Gets hook for the prefixed version, then unprefixed version - hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; - - // Check if we're setting a value - if ( value !== undefined ) { - type = typeof value; - - // Convert "+=" or "-=" to relative numbers (#7345) - if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) { - value = adjustCSS( elem, name, ret ); - - // Fixes bug #9237 - type = "number"; - } - - // Make sure that null and NaN values aren't set (#7116) - if ( value == null || value !== value ) { - return; - } - - // If a number was passed in, add the unit (except for certain CSS properties) - // The isCustomProp check can be removed in jQuery 4.0 when we only auto-append - // "px" to a few hardcoded values. - if ( type === "number" && !isCustomProp ) { - value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); - } - - // background-* props affect original clone's values - if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) { - style[ name ] = "inherit"; - } - - // If a hook was provided, use that value, otherwise just set the specified value - if ( !hooks || !( "set" in hooks ) || - ( value = hooks.set( elem, value, extra ) ) !== undefined ) { - - if ( isCustomProp ) { - style.setProperty( name, value ); - } else { - style[ name ] = value; - } - } - - } else { - - // If a hook was provided get the non-computed value from there - if ( hooks && "get" in hooks && - ( ret = hooks.get( elem, false, extra ) ) !== undefined ) { - - return ret; - } - - // Otherwise just get the value from the style object - return style[ name ]; - } - }, - - css: function( elem, name, extra, styles ) { - var val, num, hooks, - origName = camelCase( name ), - isCustomProp = rcustomProp.test( name ); - - // Make sure that we're working with the right name. We don't - // want to modify the value if it is a CSS custom property - // since they are user-defined. - if ( !isCustomProp ) { - name = finalPropName( origName ); - } - - // Try prefixed name followed by the unprefixed name - hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; - - // If a hook was provided get the computed value from there - if ( hooks && "get" in hooks ) { - val = hooks.get( elem, true, extra ); - } - - // Otherwise, if a way to get the computed value exists, use that - if ( val === undefined ) { - val = curCSS( elem, name, styles ); - } - - // Convert "normal" to computed value - if ( val === "normal" && name in cssNormalTransform ) { - val = cssNormalTransform[ name ]; - } - - // Make numeric if forced or a qualifier was provided and val looks numeric - if ( extra === "" || extra ) { - num = parseFloat( val ); - return extra === true || isFinite( num ) ? num || 0 : val; - } - - return val; - } -} ); - -jQuery.each( [ "height", "width" ], function( _i, dimension ) { - jQuery.cssHooks[ dimension ] = { - get: function( elem, computed, extra ) { - if ( computed ) { - - // Certain elements can have dimension info if we invisibly show them - // but it must have a current display style that would benefit - return rdisplayswap.test( jQuery.css( elem, "display" ) ) && - - // Support: Safari 8+ - // Table columns in Safari have non-zero offsetWidth & zero - // getBoundingClientRect().width unless display is changed. - // Support: IE <=11 only - // Running getBoundingClientRect on a disconnected node - // in IE throws an error. - ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ? - swap( elem, cssShow, function() { - return getWidthOrHeight( elem, dimension, extra ); - } ) : - getWidthOrHeight( elem, dimension, extra ); - } - }, - - set: function( elem, value, extra ) { - var matches, - styles = getStyles( elem ), - - // Only read styles.position if the test has a chance to fail - // to avoid forcing a reflow. - scrollboxSizeBuggy = !support.scrollboxSize() && - styles.position === "absolute", - - // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991) - boxSizingNeeded = scrollboxSizeBuggy || extra, - isBorderBox = boxSizingNeeded && - jQuery.css( elem, "boxSizing", false, styles ) === "border-box", - subtract = extra ? - boxModelAdjustment( - elem, - dimension, - extra, - isBorderBox, - styles - ) : - 0; - - // Account for unreliable border-box dimensions by comparing offset* to computed and - // faking a content-box to get border and padding (gh-3699) - if ( isBorderBox && scrollboxSizeBuggy ) { - subtract -= Math.ceil( - elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - - parseFloat( styles[ dimension ] ) - - boxModelAdjustment( elem, dimension, "border", false, styles ) - - 0.5 - ); - } - - // Convert to pixels if value adjustment is needed - if ( subtract && ( matches = rcssNum.exec( value ) ) && - ( matches[ 3 ] || "px" ) !== "px" ) { - - elem.style[ dimension ] = value; - value = jQuery.css( elem, dimension ); - } - - return setPositiveNumber( elem, value, subtract ); - } - }; -} ); - -jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, - function( elem, computed ) { - if ( computed ) { - return ( parseFloat( curCSS( elem, "marginLeft" ) ) || - elem.getBoundingClientRect().left - - swap( elem, { marginLeft: 0 }, function() { - return elem.getBoundingClientRect().left; - } ) - ) + "px"; - } - } -); - -// These hooks are used by animate to expand properties -jQuery.each( { - margin: "", - padding: "", - border: "Width" -}, function( prefix, suffix ) { - jQuery.cssHooks[ prefix + suffix ] = { - expand: function( value ) { - var i = 0, - expanded = {}, - - // Assumes a single number if not a string - parts = typeof value === "string" ? value.split( " " ) : [ value ]; - - for ( ; i < 4; i++ ) { - expanded[ prefix + cssExpand[ i ] + suffix ] = - parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; - } - - return expanded; - } - }; - - if ( prefix !== "margin" ) { - jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; - } -} ); - -jQuery.fn.extend( { - css: function( name, value ) { - return access( this, function( elem, name, value ) { - var styles, len, - map = {}, - i = 0; - - if ( Array.isArray( name ) ) { - styles = getStyles( elem ); - len = name.length; - - for ( ; i < len; i++ ) { - map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); - } - - return map; - } - - return value !== undefined ? - jQuery.style( elem, name, value ) : - jQuery.css( elem, name ); - }, name, value, arguments.length > 1 ); - } -} ); - - -function Tween( elem, options, prop, end, easing ) { - return new Tween.prototype.init( elem, options, prop, end, easing ); -} -jQuery.Tween = Tween; - -Tween.prototype = { - constructor: Tween, - init: function( elem, options, prop, end, easing, unit ) { - this.elem = elem; - this.prop = prop; - this.easing = easing || jQuery.easing._default; - this.options = options; - this.start = this.now = this.cur(); - this.end = end; - this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); - }, - cur: function() { - var hooks = Tween.propHooks[ this.prop ]; - - return hooks && hooks.get ? - hooks.get( this ) : - Tween.propHooks._default.get( this ); - }, - run: function( percent ) { - var eased, - hooks = Tween.propHooks[ this.prop ]; - - if ( this.options.duration ) { - this.pos = eased = jQuery.easing[ this.easing ]( - percent, this.options.duration * percent, 0, 1, this.options.duration - ); - } else { - this.pos = eased = percent; - } - this.now = ( this.end - this.start ) * eased + this.start; - - if ( this.options.step ) { - this.options.step.call( this.elem, this.now, this ); - } - - if ( hooks && hooks.set ) { - hooks.set( this ); - } else { - Tween.propHooks._default.set( this ); - } - return this; - } -}; - -Tween.prototype.init.prototype = Tween.prototype; - -Tween.propHooks = { - _default: { - get: function( tween ) { - var result; - - // Use a property on the element directly when it is not a DOM element, - // or when there is no matching style property that exists. - if ( tween.elem.nodeType !== 1 || - tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) { - return tween.elem[ tween.prop ]; - } - - // Passing an empty string as a 3rd parameter to .css will automatically - // attempt a parseFloat and fallback to a string if the parse fails. - // Simple values such as "10px" are parsed to Float; - // complex values such as "rotate(1rad)" are returned as-is. - result = jQuery.css( tween.elem, tween.prop, "" ); - - // Empty strings, null, undefined and "auto" are converted to 0. - return !result || result === "auto" ? 0 : result; - }, - set: function( tween ) { - - // Use step hook for back compat. - // Use cssHook if its there. - // Use .style if available and use plain properties where available. - if ( jQuery.fx.step[ tween.prop ] ) { - jQuery.fx.step[ tween.prop ]( tween ); - } else if ( tween.elem.nodeType === 1 && ( - jQuery.cssHooks[ tween.prop ] || - tween.elem.style[ finalPropName( tween.prop ) ] != null ) ) { - jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); - } else { - tween.elem[ tween.prop ] = tween.now; - } - } - } -}; - -// Support: IE <=9 only -// Panic based approach to setting things on disconnected nodes -Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { - set: function( tween ) { - if ( tween.elem.nodeType && tween.elem.parentNode ) { - tween.elem[ tween.prop ] = tween.now; - } - } -}; - -jQuery.easing = { - linear: function( p ) { - return p; - }, - swing: function( p ) { - return 0.5 - Math.cos( p * Math.PI ) / 2; - }, - _default: "swing" -}; - -jQuery.fx = Tween.prototype.init; - -// Back compat <1.8 extension point -jQuery.fx.step = {}; - - - - -var - fxNow, inProgress, - rfxtypes = /^(?:toggle|show|hide)$/, - rrun = /queueHooks$/; - -function schedule() { - if ( inProgress ) { - if ( document.hidden === false && window.requestAnimationFrame ) { - window.requestAnimationFrame( schedule ); - } else { - window.setTimeout( schedule, jQuery.fx.interval ); - } - - jQuery.fx.tick(); - } -} - -// Animations created synchronously will run synchronously -function createFxNow() { - window.setTimeout( function() { - fxNow = undefined; - } ); - return ( fxNow = Date.now() ); -} - -// Generate parameters to create a standard animation -function genFx( type, includeWidth ) { - var which, - i = 0, - attrs = { height: type }; - - // If we include width, step value is 1 to do all cssExpand values, - // otherwise step value is 2 to skip over Left and Right - includeWidth = includeWidth ? 1 : 0; - for ( ; i < 4; i += 2 - includeWidth ) { - which = cssExpand[ i ]; - attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; - } - - if ( includeWidth ) { - attrs.opacity = attrs.width = type; - } - - return attrs; -} - -function createTween( value, prop, animation ) { - var tween, - collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ), - index = 0, - length = collection.length; - for ( ; index < length; index++ ) { - if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) { - - // We're done with this property - return tween; - } - } -} - -function defaultPrefilter( elem, props, opts ) { - var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display, - isBox = "width" in props || "height" in props, - anim = this, - orig = {}, - style = elem.style, - hidden = elem.nodeType && isHiddenWithinTree( elem ), - dataShow = dataPriv.get( elem, "fxshow" ); - - // Queue-skipping animations hijack the fx hooks - if ( !opts.queue ) { - hooks = jQuery._queueHooks( elem, "fx" ); - if ( hooks.unqueued == null ) { - hooks.unqueued = 0; - oldfire = hooks.empty.fire; - hooks.empty.fire = function() { - if ( !hooks.unqueued ) { - oldfire(); - } - }; - } - hooks.unqueued++; - - anim.always( function() { - - // Ensure the complete handler is called before this completes - anim.always( function() { - hooks.unqueued--; - if ( !jQuery.queue( elem, "fx" ).length ) { - hooks.empty.fire(); - } - } ); - } ); - } - - // Detect show/hide animations - for ( prop in props ) { - value = props[ prop ]; - if ( rfxtypes.test( value ) ) { - delete props[ prop ]; - toggle = toggle || value === "toggle"; - if ( value === ( hidden ? "hide" : "show" ) ) { - - // Pretend to be hidden if this is a "show" and - // there is still data from a stopped show/hide - if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { - hidden = true; - - // Ignore all other no-op show/hide data - } else { - continue; - } - } - orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); - } - } - - // Bail out if this is a no-op like .hide().hide() - propTween = !jQuery.isEmptyObject( props ); - if ( !propTween && jQuery.isEmptyObject( orig ) ) { - return; - } - - // Restrict "overflow" and "display" styles during box animations - if ( isBox && elem.nodeType === 1 ) { - - // Support: IE <=9 - 11, Edge 12 - 15 - // Record all 3 overflow attributes because IE does not infer the shorthand - // from identically-valued overflowX and overflowY and Edge just mirrors - // the overflowX value there. - opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; - - // Identify a display type, preferring old show/hide data over the CSS cascade - restoreDisplay = dataShow && dataShow.display; - if ( restoreDisplay == null ) { - restoreDisplay = dataPriv.get( elem, "display" ); - } - display = jQuery.css( elem, "display" ); - if ( display === "none" ) { - if ( restoreDisplay ) { - display = restoreDisplay; - } else { - - // Get nonempty value(s) by temporarily forcing visibility - showHide( [ elem ], true ); - restoreDisplay = elem.style.display || restoreDisplay; - display = jQuery.css( elem, "display" ); - showHide( [ elem ] ); - } - } - - // Animate inline elements as inline-block - if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) { - if ( jQuery.css( elem, "float" ) === "none" ) { - - // Restore the original display value at the end of pure show/hide animations - if ( !propTween ) { - anim.done( function() { - style.display = restoreDisplay; - } ); - if ( restoreDisplay == null ) { - display = style.display; - restoreDisplay = display === "none" ? "" : display; - } - } - style.display = "inline-block"; - } - } - } - - if ( opts.overflow ) { - style.overflow = "hidden"; - anim.always( function() { - style.overflow = opts.overflow[ 0 ]; - style.overflowX = opts.overflow[ 1 ]; - style.overflowY = opts.overflow[ 2 ]; - } ); - } - - // Implement show/hide animations - propTween = false; - for ( prop in orig ) { - - // General show/hide setup for this element animation - if ( !propTween ) { - if ( dataShow ) { - if ( "hidden" in dataShow ) { - hidden = dataShow.hidden; - } - } else { - dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } ); - } - - // Store hidden/visible for toggle so `.stop().toggle()` "reverses" - if ( toggle ) { - dataShow.hidden = !hidden; - } - - // Show elements before animating them - if ( hidden ) { - showHide( [ elem ], true ); - } - - /* eslint-disable no-loop-func */ - - anim.done( function() { - - /* eslint-enable no-loop-func */ - - // The final step of a "hide" animation is actually hiding the element - if ( !hidden ) { - showHide( [ elem ] ); - } - dataPriv.remove( elem, "fxshow" ); - for ( prop in orig ) { - jQuery.style( elem, prop, orig[ prop ] ); - } - } ); - } - - // Per-property setup - propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); - if ( !( prop in dataShow ) ) { - dataShow[ prop ] = propTween.start; - if ( hidden ) { - propTween.end = propTween.start; - propTween.start = 0; - } - } - } -} - -function propFilter( props, specialEasing ) { - var index, name, easing, value, hooks; - - // camelCase, specialEasing and expand cssHook pass - for ( index in props ) { - name = camelCase( index ); - easing = specialEasing[ name ]; - value = props[ index ]; - if ( Array.isArray( value ) ) { - easing = value[ 1 ]; - value = props[ index ] = value[ 0 ]; - } - - if ( index !== name ) { - props[ name ] = value; - delete props[ index ]; - } - - hooks = jQuery.cssHooks[ name ]; - if ( hooks && "expand" in hooks ) { - value = hooks.expand( value ); - delete props[ name ]; - - // Not quite $.extend, this won't overwrite existing keys. - // Reusing 'index' because we have the correct "name" - for ( index in value ) { - if ( !( index in props ) ) { - props[ index ] = value[ index ]; - specialEasing[ index ] = easing; - } - } - } else { - specialEasing[ name ] = easing; - } - } -} - -function Animation( elem, properties, options ) { - var result, - stopped, - index = 0, - length = Animation.prefilters.length, - deferred = jQuery.Deferred().always( function() { - - // Don't match elem in the :animated selector - delete tick.elem; - } ), - tick = function() { - if ( stopped ) { - return false; - } - var currentTime = fxNow || createFxNow(), - remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), - - // Support: Android 2.3 only - // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497) - temp = remaining / animation.duration || 0, - percent = 1 - temp, - index = 0, - length = animation.tweens.length; - - for ( ; index < length; index++ ) { - animation.tweens[ index ].run( percent ); - } - - deferred.notifyWith( elem, [ animation, percent, remaining ] ); - - // If there's more to do, yield - if ( percent < 1 && length ) { - return remaining; - } - - // If this was an empty animation, synthesize a final progress notification - if ( !length ) { - deferred.notifyWith( elem, [ animation, 1, 0 ] ); - } - - // Resolve the animation and report its conclusion - deferred.resolveWith( elem, [ animation ] ); - return false; - }, - animation = deferred.promise( { - elem: elem, - props: jQuery.extend( {}, properties ), - opts: jQuery.extend( true, { - specialEasing: {}, - easing: jQuery.easing._default - }, options ), - originalProperties: properties, - originalOptions: options, - startTime: fxNow || createFxNow(), - duration: options.duration, - tweens: [], - createTween: function( prop, end ) { - var tween = jQuery.Tween( elem, animation.opts, prop, end, - animation.opts.specialEasing[ prop ] || animation.opts.easing ); - animation.tweens.push( tween ); - return tween; - }, - stop: function( gotoEnd ) { - var index = 0, - - // If we are going to the end, we want to run all the tweens - // otherwise we skip this part - length = gotoEnd ? animation.tweens.length : 0; - if ( stopped ) { - return this; - } - stopped = true; - for ( ; index < length; index++ ) { - animation.tweens[ index ].run( 1 ); - } - - // Resolve when we played the last frame; otherwise, reject - if ( gotoEnd ) { - deferred.notifyWith( elem, [ animation, 1, 0 ] ); - deferred.resolveWith( elem, [ animation, gotoEnd ] ); - } else { - deferred.rejectWith( elem, [ animation, gotoEnd ] ); - } - return this; - } - } ), - props = animation.props; - - propFilter( props, animation.opts.specialEasing ); - - for ( ; index < length; index++ ) { - result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts ); - if ( result ) { - if ( isFunction( result.stop ) ) { - jQuery._queueHooks( animation.elem, animation.opts.queue ).stop = - result.stop.bind( result ); - } - return result; - } - } - - jQuery.map( props, createTween, animation ); - - if ( isFunction( animation.opts.start ) ) { - animation.opts.start.call( elem, animation ); - } - - // Attach callbacks from options - animation - .progress( animation.opts.progress ) - .done( animation.opts.done, animation.opts.complete ) - .fail( animation.opts.fail ) - .always( animation.opts.always ); - - jQuery.fx.timer( - jQuery.extend( tick, { - elem: elem, - anim: animation, - queue: animation.opts.queue - } ) - ); - - return animation; -} - -jQuery.Animation = jQuery.extend( Animation, { - - tweeners: { - "*": [ function( prop, value ) { - var tween = this.createTween( prop, value ); - adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween ); - return tween; - } ] - }, - - tweener: function( props, callback ) { - if ( isFunction( props ) ) { - callback = props; - props = [ "*" ]; - } else { - props = props.match( rnothtmlwhite ); - } - - var prop, - index = 0, - length = props.length; - - for ( ; index < length; index++ ) { - prop = props[ index ]; - Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || []; - Animation.tweeners[ prop ].unshift( callback ); - } - }, - - prefilters: [ defaultPrefilter ], - - prefilter: function( callback, prepend ) { - if ( prepend ) { - Animation.prefilters.unshift( callback ); - } else { - Animation.prefilters.push( callback ); - } - } -} ); - -jQuery.speed = function( speed, easing, fn ) { - var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { - complete: fn || !fn && easing || - isFunction( speed ) && speed, - duration: speed, - easing: fn && easing || easing && !isFunction( easing ) && easing - }; - - // Go to the end state if fx are off - if ( jQuery.fx.off ) { - opt.duration = 0; - - } else { - if ( typeof opt.duration !== "number" ) { - if ( opt.duration in jQuery.fx.speeds ) { - opt.duration = jQuery.fx.speeds[ opt.duration ]; - - } else { - opt.duration = jQuery.fx.speeds._default; - } - } - } - - // Normalize opt.queue - true/undefined/null -> "fx" - if ( opt.queue == null || opt.queue === true ) { - opt.queue = "fx"; - } - - // Queueing - opt.old = opt.complete; - - opt.complete = function() { - if ( isFunction( opt.old ) ) { - opt.old.call( this ); - } - - if ( opt.queue ) { - jQuery.dequeue( this, opt.queue ); - } - }; - - return opt; -}; - -jQuery.fn.extend( { - fadeTo: function( speed, to, easing, callback ) { - - // Show any hidden elements after setting opacity to 0 - return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show() - - // Animate to the value specified - .end().animate( { opacity: to }, speed, easing, callback ); - }, - animate: function( prop, speed, easing, callback ) { - var empty = jQuery.isEmptyObject( prop ), - optall = jQuery.speed( speed, easing, callback ), - doAnimation = function() { - - // Operate on a copy of prop so per-property easing won't be lost - var anim = Animation( this, jQuery.extend( {}, prop ), optall ); - - // Empty animations, or finishing resolves immediately - if ( empty || dataPriv.get( this, "finish" ) ) { - anim.stop( true ); - } - }; - doAnimation.finish = doAnimation; - - return empty || optall.queue === false ? - this.each( doAnimation ) : - this.queue( optall.queue, doAnimation ); - }, - stop: function( type, clearQueue, gotoEnd ) { - var stopQueue = function( hooks ) { - var stop = hooks.stop; - delete hooks.stop; - stop( gotoEnd ); - }; - - if ( typeof type !== "string" ) { - gotoEnd = clearQueue; - clearQueue = type; - type = undefined; - } - if ( clearQueue ) { - this.queue( type || "fx", [] ); - } - - return this.each( function() { - var dequeue = true, - index = type != null && type + "queueHooks", - timers = jQuery.timers, - data = dataPriv.get( this ); - - if ( index ) { - if ( data[ index ] && data[ index ].stop ) { - stopQueue( data[ index ] ); - } - } else { - for ( index in data ) { - if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { - stopQueue( data[ index ] ); - } - } - } - - for ( index = timers.length; index--; ) { - if ( timers[ index ].elem === this && - ( type == null || timers[ index ].queue === type ) ) { - - timers[ index ].anim.stop( gotoEnd ); - dequeue = false; - timers.splice( index, 1 ); - } - } - - // Start the next in the queue if the last step wasn't forced. - // Timers currently will call their complete callbacks, which - // will dequeue but only if they were gotoEnd. - if ( dequeue || !gotoEnd ) { - jQuery.dequeue( this, type ); - } - } ); - }, - finish: function( type ) { - if ( type !== false ) { - type = type || "fx"; - } - return this.each( function() { - var index, - data = dataPriv.get( this ), - queue = data[ type + "queue" ], - hooks = data[ type + "queueHooks" ], - timers = jQuery.timers, - length = queue ? queue.length : 0; - - // Enable finishing flag on private data - data.finish = true; - - // Empty the queue first - jQuery.queue( this, type, [] ); - - if ( hooks && hooks.stop ) { - hooks.stop.call( this, true ); - } - - // Look for any active animations, and finish them - for ( index = timers.length; index--; ) { - if ( timers[ index ].elem === this && timers[ index ].queue === type ) { - timers[ index ].anim.stop( true ); - timers.splice( index, 1 ); - } - } - - // Look for any animations in the old queue and finish them - for ( index = 0; index < length; index++ ) { - if ( queue[ index ] && queue[ index ].finish ) { - queue[ index ].finish.call( this ); - } - } - - // Turn off finishing flag - delete data.finish; - } ); - } -} ); - -jQuery.each( [ "toggle", "show", "hide" ], function( _i, name ) { - var cssFn = jQuery.fn[ name ]; - jQuery.fn[ name ] = function( speed, easing, callback ) { - return speed == null || typeof speed === "boolean" ? - cssFn.apply( this, arguments ) : - this.animate( genFx( name, true ), speed, easing, callback ); - }; -} ); - -// Generate shortcuts for custom animations -jQuery.each( { - slideDown: genFx( "show" ), - slideUp: genFx( "hide" ), - slideToggle: genFx( "toggle" ), - fadeIn: { opacity: "show" }, - fadeOut: { opacity: "hide" }, - fadeToggle: { opacity: "toggle" } -}, function( name, props ) { - jQuery.fn[ name ] = function( speed, easing, callback ) { - return this.animate( props, speed, easing, callback ); - }; -} ); - -jQuery.timers = []; -jQuery.fx.tick = function() { - var timer, - i = 0, - timers = jQuery.timers; - - fxNow = Date.now(); - - for ( ; i < timers.length; i++ ) { - timer = timers[ i ]; - - // Run the timer and safely remove it when done (allowing for external removal) - if ( !timer() && timers[ i ] === timer ) { - timers.splice( i--, 1 ); - } - } - - if ( !timers.length ) { - jQuery.fx.stop(); - } - fxNow = undefined; -}; - -jQuery.fx.timer = function( timer ) { - jQuery.timers.push( timer ); - jQuery.fx.start(); -}; - -jQuery.fx.interval = 13; -jQuery.fx.start = function() { - if ( inProgress ) { - return; - } - - inProgress = true; - schedule(); -}; - -jQuery.fx.stop = function() { - inProgress = null; -}; - -jQuery.fx.speeds = { - slow: 600, - fast: 200, - - // Default speed - _default: 400 -}; - - -// Based off of the plugin by Clint Helfers, with permission. -// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/ -jQuery.fn.delay = function( time, type ) { - time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; - type = type || "fx"; - - return this.queue( type, function( next, hooks ) { - var timeout = window.setTimeout( next, time ); - hooks.stop = function() { - window.clearTimeout( timeout ); - }; - } ); -}; - - -( function() { - var input = document.createElement( "input" ), - select = document.createElement( "select" ), - opt = select.appendChild( document.createElement( "option" ) ); - - input.type = "checkbox"; - - // Support: Android <=4.3 only - // Default value for a checkbox should be "on" - support.checkOn = input.value !== ""; - - // Support: IE <=11 only - // Must access selectedIndex to make default options select - support.optSelected = opt.selected; - - // Support: IE <=11 only - // An input loses its value after becoming a radio - input = document.createElement( "input" ); - input.value = "t"; - input.type = "radio"; - support.radioValue = input.value === "t"; -} )(); - - -var boolHook, - attrHandle = jQuery.expr.attrHandle; - -jQuery.fn.extend( { - attr: function( name, value ) { - return access( this, jQuery.attr, name, value, arguments.length > 1 ); - }, - - removeAttr: function( name ) { - return this.each( function() { - jQuery.removeAttr( this, name ); - } ); - } -} ); - -jQuery.extend( { - attr: function( elem, name, value ) { - var ret, hooks, - nType = elem.nodeType; - - // Don't get/set attributes on text, comment and attribute nodes - if ( nType === 3 || nType === 8 || nType === 2 ) { - return; - } - - // Fallback to prop when attributes are not supported - if ( typeof elem.getAttribute === "undefined" ) { - return jQuery.prop( elem, name, value ); - } - - // Attribute hooks are determined by the lowercase version - // Grab necessary hook if one is defined - if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { - hooks = jQuery.attrHooks[ name.toLowerCase() ] || - ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined ); - } - - if ( value !== undefined ) { - if ( value === null ) { - jQuery.removeAttr( elem, name ); - return; - } - - if ( hooks && "set" in hooks && - ( ret = hooks.set( elem, value, name ) ) !== undefined ) { - return ret; - } - - elem.setAttribute( name, value + "" ); - return value; - } - - if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { - return ret; - } - - ret = jQuery.find.attr( elem, name ); - - // Non-existent attributes return null, we normalize to undefined - return ret == null ? undefined : ret; - }, - - attrHooks: { - type: { - set: function( elem, value ) { - if ( !support.radioValue && value === "radio" && - nodeName( elem, "input" ) ) { - var val = elem.value; - elem.setAttribute( "type", value ); - if ( val ) { - elem.value = val; - } - return value; - } - } - } - }, - - removeAttr: function( elem, value ) { - var name, - i = 0, - - // Attribute names can contain non-HTML whitespace characters - // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 - attrNames = value && value.match( rnothtmlwhite ); - - if ( attrNames && elem.nodeType === 1 ) { - while ( ( name = attrNames[ i++ ] ) ) { - elem.removeAttribute( name ); - } - } - } -} ); - -// Hooks for boolean attributes -boolHook = { - set: function( elem, value, name ) { - if ( value === false ) { - - // Remove boolean attributes when set to false - jQuery.removeAttr( elem, name ); - } else { - elem.setAttribute( name, name ); - } - return name; - } -}; - -jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( _i, name ) { - var getter = attrHandle[ name ] || jQuery.find.attr; - - attrHandle[ name ] = function( elem, name, isXML ) { - var ret, handle, - lowercaseName = name.toLowerCase(); - - if ( !isXML ) { - - // Avoid an infinite loop by temporarily removing this function from the getter - handle = attrHandle[ lowercaseName ]; - attrHandle[ lowercaseName ] = ret; - ret = getter( elem, name, isXML ) != null ? - lowercaseName : - null; - attrHandle[ lowercaseName ] = handle; - } - return ret; - }; -} ); - - - - -var rfocusable = /^(?:input|select|textarea|button)$/i, - rclickable = /^(?:a|area)$/i; - -jQuery.fn.extend( { - prop: function( name, value ) { - return access( this, jQuery.prop, name, value, arguments.length > 1 ); - }, - - removeProp: function( name ) { - return this.each( function() { - delete this[ jQuery.propFix[ name ] || name ]; - } ); - } -} ); - -jQuery.extend( { - prop: function( elem, name, value ) { - var ret, hooks, - nType = elem.nodeType; - - // Don't get/set properties on text, comment and attribute nodes - if ( nType === 3 || nType === 8 || nType === 2 ) { - return; - } - - if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { - - // Fix name and attach hooks - name = jQuery.propFix[ name ] || name; - hooks = jQuery.propHooks[ name ]; - } - - if ( value !== undefined ) { - if ( hooks && "set" in hooks && - ( ret = hooks.set( elem, value, name ) ) !== undefined ) { - return ret; - } - - return ( elem[ name ] = value ); - } - - if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { - return ret; - } - - return elem[ name ]; - }, - - propHooks: { - tabIndex: { - get: function( elem ) { - - // Support: IE <=9 - 11 only - // elem.tabIndex doesn't always return the - // correct value when it hasn't been explicitly set - // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ - // Use proper attribute retrieval(#12072) - var tabindex = jQuery.find.attr( elem, "tabindex" ); - - if ( tabindex ) { - return parseInt( tabindex, 10 ); - } - - if ( - rfocusable.test( elem.nodeName ) || - rclickable.test( elem.nodeName ) && - elem.href - ) { - return 0; - } - - return -1; - } - } - }, - - propFix: { - "for": "htmlFor", - "class": "className" - } -} ); - -// Support: IE <=11 only -// Accessing the selectedIndex property -// forces the browser to respect setting selected -// on the option -// The getter ensures a default option is selected -// when in an optgroup -// eslint rule "no-unused-expressions" is disabled for this code -// since it considers such accessions noop -if ( !support.optSelected ) { - jQuery.propHooks.selected = { - get: function( elem ) { - - /* eslint no-unused-expressions: "off" */ - - var parent = elem.parentNode; - if ( parent && parent.parentNode ) { - parent.parentNode.selectedIndex; - } - return null; - }, - set: function( elem ) { - - /* eslint no-unused-expressions: "off" */ - - var parent = elem.parentNode; - if ( parent ) { - parent.selectedIndex; - - if ( parent.parentNode ) { - parent.parentNode.selectedIndex; - } - } - } - }; -} - -jQuery.each( [ - "tabIndex", - "readOnly", - "maxLength", - "cellSpacing", - "cellPadding", - "rowSpan", - "colSpan", - "useMap", - "frameBorder", - "contentEditable" -], function() { - jQuery.propFix[ this.toLowerCase() ] = this; -} ); - - - - - // Strip and collapse whitespace according to HTML spec - // https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace - function stripAndCollapse( value ) { - var tokens = value.match( rnothtmlwhite ) || []; - return tokens.join( " " ); - } - - -function getClass( elem ) { - return elem.getAttribute && elem.getAttribute( "class" ) || ""; -} - -function classesToArray( value ) { - if ( Array.isArray( value ) ) { - return value; - } - if ( typeof value === "string" ) { - return value.match( rnothtmlwhite ) || []; - } - return []; -} - -jQuery.fn.extend( { - addClass: function( value ) { - var classes, elem, cur, curValue, clazz, j, finalValue, - i = 0; - - if ( isFunction( value ) ) { - return this.each( function( j ) { - jQuery( this ).addClass( value.call( this, j, getClass( this ) ) ); - } ); - } - - classes = classesToArray( value ); - - if ( classes.length ) { - while ( ( elem = this[ i++ ] ) ) { - curValue = getClass( elem ); - cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); - - if ( cur ) { - j = 0; - while ( ( clazz = classes[ j++ ] ) ) { - if ( cur.indexOf( " " + clazz + " " ) < 0 ) { - cur += clazz + " "; - } - } - - // Only assign if different to avoid unneeded rendering. - finalValue = stripAndCollapse( cur ); - if ( curValue !== finalValue ) { - elem.setAttribute( "class", finalValue ); - } - } - } - } - - return this; - }, - - removeClass: function( value ) { - var classes, elem, cur, curValue, clazz, j, finalValue, - i = 0; - - if ( isFunction( value ) ) { - return this.each( function( j ) { - jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) ); - } ); - } - - if ( !arguments.length ) { - return this.attr( "class", "" ); - } - - classes = classesToArray( value ); - - if ( classes.length ) { - while ( ( elem = this[ i++ ] ) ) { - curValue = getClass( elem ); - - // This expression is here for better compressibility (see addClass) - cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); - - if ( cur ) { - j = 0; - while ( ( clazz = classes[ j++ ] ) ) { - - // Remove *all* instances - while ( cur.indexOf( " " + clazz + " " ) > -1 ) { - cur = cur.replace( " " + clazz + " ", " " ); - } - } - - // Only assign if different to avoid unneeded rendering. - finalValue = stripAndCollapse( cur ); - if ( curValue !== finalValue ) { - elem.setAttribute( "class", finalValue ); - } - } - } - } - - return this; - }, - - toggleClass: function( value, stateVal ) { - var type = typeof value, - isValidValue = type === "string" || Array.isArray( value ); - - if ( typeof stateVal === "boolean" && isValidValue ) { - return stateVal ? this.addClass( value ) : this.removeClass( value ); - } - - if ( isFunction( value ) ) { - return this.each( function( i ) { - jQuery( this ).toggleClass( - value.call( this, i, getClass( this ), stateVal ), - stateVal - ); - } ); - } - - return this.each( function() { - var className, i, self, classNames; - - if ( isValidValue ) { - - // Toggle individual class names - i = 0; - self = jQuery( this ); - classNames = classesToArray( value ); - - while ( ( className = classNames[ i++ ] ) ) { - - // Check each className given, space separated list - if ( self.hasClass( className ) ) { - self.removeClass( className ); - } else { - self.addClass( className ); - } - } - - // Toggle whole class name - } else if ( value === undefined || type === "boolean" ) { - className = getClass( this ); - if ( className ) { - - // Store className if set - dataPriv.set( this, "__className__", className ); - } - - // If the element has a class name or if we're passed `false`, - // then remove the whole classname (if there was one, the above saved it). - // Otherwise bring back whatever was previously saved (if anything), - // falling back to the empty string if nothing was stored. - if ( this.setAttribute ) { - this.setAttribute( "class", - className || value === false ? - "" : - dataPriv.get( this, "__className__" ) || "" - ); - } - } - } ); - }, - - hasClass: function( selector ) { - var className, elem, - i = 0; - - className = " " + selector + " "; - while ( ( elem = this[ i++ ] ) ) { - if ( elem.nodeType === 1 && - ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) { - return true; - } - } - - return false; - } -} ); - - - - -var rreturn = /\r/g; - -jQuery.fn.extend( { - val: function( value ) { - var hooks, ret, valueIsFunction, - elem = this[ 0 ]; - - if ( !arguments.length ) { - if ( elem ) { - hooks = jQuery.valHooks[ elem.type ] || - jQuery.valHooks[ elem.nodeName.toLowerCase() ]; - - if ( hooks && - "get" in hooks && - ( ret = hooks.get( elem, "value" ) ) !== undefined - ) { - return ret; - } - - ret = elem.value; - - // Handle most common string cases - if ( typeof ret === "string" ) { - return ret.replace( rreturn, "" ); - } - - // Handle cases where value is null/undef or number - return ret == null ? "" : ret; - } - - return; - } - - valueIsFunction = isFunction( value ); - - return this.each( function( i ) { - var val; - - if ( this.nodeType !== 1 ) { - return; - } - - if ( valueIsFunction ) { - val = value.call( this, i, jQuery( this ).val() ); - } else { - val = value; - } - - // Treat null/undefined as ""; convert numbers to string - if ( val == null ) { - val = ""; - - } else if ( typeof val === "number" ) { - val += ""; - - } else if ( Array.isArray( val ) ) { - val = jQuery.map( val, function( value ) { - return value == null ? "" : value + ""; - } ); - } - - hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; - - // If set returns undefined, fall back to normal setting - if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) { - this.value = val; - } - } ); - } -} ); - -jQuery.extend( { - valHooks: { - option: { - get: function( elem ) { - - var val = jQuery.find.attr( elem, "value" ); - return val != null ? - val : - - // Support: IE <=10 - 11 only - // option.text throws exceptions (#14686, #14858) - // Strip and collapse whitespace - // https://html.spec.whatwg.org/#strip-and-collapse-whitespace - stripAndCollapse( jQuery.text( elem ) ); - } - }, - select: { - get: function( elem ) { - var value, option, i, - options = elem.options, - index = elem.selectedIndex, - one = elem.type === "select-one", - values = one ? null : [], - max = one ? index + 1 : options.length; - - if ( index < 0 ) { - i = max; - - } else { - i = one ? index : 0; - } - - // Loop through all the selected options - for ( ; i < max; i++ ) { - option = options[ i ]; - - // Support: IE <=9 only - // IE8-9 doesn't update selected after form reset (#2551) - if ( ( option.selected || i === index ) && - - // Don't return options that are disabled or in a disabled optgroup - !option.disabled && - ( !option.parentNode.disabled || - !nodeName( option.parentNode, "optgroup" ) ) ) { - - // Get the specific value for the option - value = jQuery( option ).val(); - - // We don't need an array for one selects - if ( one ) { - return value; - } - - // Multi-Selects return an array - values.push( value ); - } - } - - return values; - }, - - set: function( elem, value ) { - var optionSet, option, - options = elem.options, - values = jQuery.makeArray( value ), - i = options.length; - - while ( i-- ) { - option = options[ i ]; - - /* eslint-disable no-cond-assign */ - - if ( option.selected = - jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 - ) { - optionSet = true; - } - - /* eslint-enable no-cond-assign */ - } - - // Force browsers to behave consistently when non-matching value is set - if ( !optionSet ) { - elem.selectedIndex = -1; - } - return values; - } - } - } -} ); - -// Radios and checkboxes getter/setter -jQuery.each( [ "radio", "checkbox" ], function() { - jQuery.valHooks[ this ] = { - set: function( elem, value ) { - if ( Array.isArray( value ) ) { - return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 ); - } - } - }; - if ( !support.checkOn ) { - jQuery.valHooks[ this ].get = function( elem ) { - return elem.getAttribute( "value" ) === null ? "on" : elem.value; - }; - } -} ); - - - - -// Return jQuery for attributes-only inclusion - - -support.focusin = "onfocusin" in window; - - -var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, - stopPropagationCallback = function( e ) { - e.stopPropagation(); - }; - -jQuery.extend( jQuery.event, { - - trigger: function( event, data, elem, onlyHandlers ) { - - var i, cur, tmp, bubbleType, ontype, handle, special, lastElement, - eventPath = [ elem || document ], - type = hasOwn.call( event, "type" ) ? event.type : event, - namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : []; - - cur = lastElement = tmp = elem = elem || document; - - // Don't do events on text and comment nodes - if ( elem.nodeType === 3 || elem.nodeType === 8 ) { - return; - } - - // focus/blur morphs to focusin/out; ensure we're not firing them right now - if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { - return; - } - - if ( type.indexOf( "." ) > -1 ) { - - // Namespaced trigger; create a regexp to match event type in handle() - namespaces = type.split( "." ); - type = namespaces.shift(); - namespaces.sort(); - } - ontype = type.indexOf( ":" ) < 0 && "on" + type; - - // Caller can pass in a jQuery.Event object, Object, or just an event type string - event = event[ jQuery.expando ] ? - event : - new jQuery.Event( type, typeof event === "object" && event ); - - // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) - event.isTrigger = onlyHandlers ? 2 : 3; - event.namespace = namespaces.join( "." ); - event.rnamespace = event.namespace ? - new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : - null; - - // Clean up the event in case it is being reused - event.result = undefined; - if ( !event.target ) { - event.target = elem; - } - - // Clone any incoming data and prepend the event, creating the handler arg list - data = data == null ? - [ event ] : - jQuery.makeArray( data, [ event ] ); - - // Allow special events to draw outside the lines - special = jQuery.event.special[ type ] || {}; - if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { - return; - } - - // Determine event propagation path in advance, per W3C events spec (#9951) - // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) - if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) { - - bubbleType = special.delegateType || type; - if ( !rfocusMorph.test( bubbleType + type ) ) { - cur = cur.parentNode; - } - for ( ; cur; cur = cur.parentNode ) { - eventPath.push( cur ); - tmp = cur; - } - - // Only add window if we got to document (e.g., not plain obj or detached DOM) - if ( tmp === ( elem.ownerDocument || document ) ) { - eventPath.push( tmp.defaultView || tmp.parentWindow || window ); - } - } - - // Fire handlers on the event path - i = 0; - while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) { - lastElement = cur; - event.type = i > 1 ? - bubbleType : - special.bindType || type; - - // jQuery handler - handle = ( - dataPriv.get( cur, "events" ) || Object.create( null ) - )[ event.type ] && - dataPriv.get( cur, "handle" ); - if ( handle ) { - handle.apply( cur, data ); - } - - // Native handler - handle = ontype && cur[ ontype ]; - if ( handle && handle.apply && acceptData( cur ) ) { - event.result = handle.apply( cur, data ); - if ( event.result === false ) { - event.preventDefault(); - } - } - } - event.type = type; - - // If nobody prevented the default action, do it now - if ( !onlyHandlers && !event.isDefaultPrevented() ) { - - if ( ( !special._default || - special._default.apply( eventPath.pop(), data ) === false ) && - acceptData( elem ) ) { - - // Call a native DOM method on the target with the same name as the event. - // Don't do default actions on window, that's where global variables be (#6170) - if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) { - - // Don't re-trigger an onFOO event when we call its FOO() method - tmp = elem[ ontype ]; - - if ( tmp ) { - elem[ ontype ] = null; - } - - // Prevent re-triggering of the same event, since we already bubbled it above - jQuery.event.triggered = type; - - if ( event.isPropagationStopped() ) { - lastElement.addEventListener( type, stopPropagationCallback ); - } - - elem[ type ](); - - if ( event.isPropagationStopped() ) { - lastElement.removeEventListener( type, stopPropagationCallback ); - } - - jQuery.event.triggered = undefined; - - if ( tmp ) { - elem[ ontype ] = tmp; - } - } - } - } - - return event.result; - }, - - // Piggyback on a donor event to simulate a different one - // Used only for `focus(in | out)` events - simulate: function( type, elem, event ) { - var e = jQuery.extend( - new jQuery.Event(), - event, - { - type: type, - isSimulated: true - } - ); - - jQuery.event.trigger( e, null, elem ); - } - -} ); - -jQuery.fn.extend( { - - trigger: function( type, data ) { - return this.each( function() { - jQuery.event.trigger( type, data, this ); - } ); - }, - triggerHandler: function( type, data ) { - var elem = this[ 0 ]; - if ( elem ) { - return jQuery.event.trigger( type, data, elem, true ); - } - } -} ); - - -// Support: Firefox <=44 -// Firefox doesn't have focus(in | out) events -// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 -// -// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 -// focus(in | out) events fire after focus & blur events, -// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order -// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 -if ( !support.focusin ) { - jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) { - - // Attach a single capturing handler on the document while someone wants focusin/focusout - var handler = function( event ) { - jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) ); - }; - - jQuery.event.special[ fix ] = { - setup: function() { - - // Handle: regular nodes (via `this.ownerDocument`), window - // (via `this.document`) & document (via `this`). - var doc = this.ownerDocument || this.document || this, - attaches = dataPriv.access( doc, fix ); - - if ( !attaches ) { - doc.addEventListener( orig, handler, true ); - } - dataPriv.access( doc, fix, ( attaches || 0 ) + 1 ); - }, - teardown: function() { - var doc = this.ownerDocument || this.document || this, - attaches = dataPriv.access( doc, fix ) - 1; - - if ( !attaches ) { - doc.removeEventListener( orig, handler, true ); - dataPriv.remove( doc, fix ); - - } else { - dataPriv.access( doc, fix, attaches ); - } - } - }; - } ); -} -var location = window.location; - -var nonce = { guid: Date.now() }; - -var rquery = ( /\?/ ); - - - -// Cross-browser xml parsing -jQuery.parseXML = function( data ) { - var xml; - if ( !data || typeof data !== "string" ) { - return null; - } - - // Support: IE 9 - 11 only - // IE throws on parseFromString with invalid input. - try { - xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); - } catch ( e ) { - xml = undefined; - } - - if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) { - jQuery.error( "Invalid XML: " + data ); - } - return xml; -}; - - -var - rbracket = /\[\]$/, - rCRLF = /\r?\n/g, - rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, - rsubmittable = /^(?:input|select|textarea|keygen)/i; - -function buildParams( prefix, obj, traditional, add ) { - var name; - - if ( Array.isArray( obj ) ) { - - // Serialize array item. - jQuery.each( obj, function( i, v ) { - if ( traditional || rbracket.test( prefix ) ) { - - // Treat each array item as a scalar. - add( prefix, v ); - - } else { - - // Item is non-scalar (array or object), encode its numeric index. - buildParams( - prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]", - v, - traditional, - add - ); - } - } ); - - } else if ( !traditional && toType( obj ) === "object" ) { - - // Serialize object item. - for ( name in obj ) { - buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); - } - - } else { - - // Serialize scalar item. - add( prefix, obj ); - } -} - -// Serialize an array of form elements or a set of -// key/values into a query string -jQuery.param = function( a, traditional ) { - var prefix, - s = [], - add = function( key, valueOrFunction ) { - - // If value is a function, invoke it and use its return value - var value = isFunction( valueOrFunction ) ? - valueOrFunction() : - valueOrFunction; - - s[ s.length ] = encodeURIComponent( key ) + "=" + - encodeURIComponent( value == null ? "" : value ); - }; - - if ( a == null ) { - return ""; - } - - // If an array was passed in, assume that it is an array of form elements. - if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { - - // Serialize the form elements - jQuery.each( a, function() { - add( this.name, this.value ); - } ); - - } else { - - // If traditional, encode the "old" way (the way 1.3.2 or older - // did it), otherwise encode params recursively. - for ( prefix in a ) { - buildParams( prefix, a[ prefix ], traditional, add ); - } - } - - // Return the resulting serialization - return s.join( "&" ); -}; - -jQuery.fn.extend( { - serialize: function() { - return jQuery.param( this.serializeArray() ); - }, - serializeArray: function() { - return this.map( function() { - - // Can add propHook for "elements" to filter or add form elements - var elements = jQuery.prop( this, "elements" ); - return elements ? jQuery.makeArray( elements ) : this; - } ) - .filter( function() { - var type = this.type; - - // Use .is( ":disabled" ) so that fieldset[disabled] works - return this.name && !jQuery( this ).is( ":disabled" ) && - rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && - ( this.checked || !rcheckableType.test( type ) ); - } ) - .map( function( _i, elem ) { - var val = jQuery( this ).val(); - - if ( val == null ) { - return null; - } - - if ( Array.isArray( val ) ) { - return jQuery.map( val, function( val ) { - return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; - } ); - } - - return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; - } ).get(); - } -} ); - - -var - r20 = /%20/g, - rhash = /#.*$/, - rantiCache = /([?&])_=[^&]*/, - rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg, - - // #7653, #8125, #8152: local protocol detection - rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, - rnoContent = /^(?:GET|HEAD)$/, - rprotocol = /^\/\//, - - /* Prefilters - * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) - * 2) These are called: - * - BEFORE asking for a transport - * - AFTER param serialization (s.data is a string if s.processData is true) - * 3) key is the dataType - * 4) the catchall symbol "*" can be used - * 5) execution will start with transport dataType and THEN continue down to "*" if needed - */ - prefilters = {}, - - /* Transports bindings - * 1) key is the dataType - * 2) the catchall symbol "*" can be used - * 3) selection will start with transport dataType and THEN go to "*" if needed - */ - transports = {}, - - // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression - allTypes = "*/".concat( "*" ), - - // Anchor tag for parsing the document origin - originAnchor = document.createElement( "a" ); - originAnchor.href = location.href; - -// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport -function addToPrefiltersOrTransports( structure ) { - - // dataTypeExpression is optional and defaults to "*" - return function( dataTypeExpression, func ) { - - if ( typeof dataTypeExpression !== "string" ) { - func = dataTypeExpression; - dataTypeExpression = "*"; - } - - var dataType, - i = 0, - dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || []; - - if ( isFunction( func ) ) { - - // For each dataType in the dataTypeExpression - while ( ( dataType = dataTypes[ i++ ] ) ) { - - // Prepend if requested - if ( dataType[ 0 ] === "+" ) { - dataType = dataType.slice( 1 ) || "*"; - ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func ); - - // Otherwise append - } else { - ( structure[ dataType ] = structure[ dataType ] || [] ).push( func ); - } - } - } - }; -} - -// Base inspection function for prefilters and transports -function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { - - var inspected = {}, - seekingTransport = ( structure === transports ); - - function inspect( dataType ) { - var selected; - inspected[ dataType ] = true; - jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { - var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); - if ( typeof dataTypeOrTransport === "string" && - !seekingTransport && !inspected[ dataTypeOrTransport ] ) { - - options.dataTypes.unshift( dataTypeOrTransport ); - inspect( dataTypeOrTransport ); - return false; - } else if ( seekingTransport ) { - return !( selected = dataTypeOrTransport ); - } - } ); - return selected; - } - - return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); -} - -// A special extend for ajax options -// that takes "flat" options (not to be deep extended) -// Fixes #9887 -function ajaxExtend( target, src ) { - var key, deep, - flatOptions = jQuery.ajaxSettings.flatOptions || {}; - - for ( key in src ) { - if ( src[ key ] !== undefined ) { - ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ]; - } - } - if ( deep ) { - jQuery.extend( true, target, deep ); - } - - return target; -} - -/* Handles responses to an ajax request: - * - finds the right dataType (mediates between content-type and expected dataType) - * - returns the corresponding response - */ -function ajaxHandleResponses( s, jqXHR, responses ) { - - var ct, type, finalDataType, firstDataType, - contents = s.contents, - dataTypes = s.dataTypes; - - // Remove auto dataType and get content-type in the process - while ( dataTypes[ 0 ] === "*" ) { - dataTypes.shift(); - if ( ct === undefined ) { - ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" ); - } - } - - // Check if we're dealing with a known content-type - if ( ct ) { - for ( type in contents ) { - if ( contents[ type ] && contents[ type ].test( ct ) ) { - dataTypes.unshift( type ); - break; - } - } - } - - // Check to see if we have a response for the expected dataType - if ( dataTypes[ 0 ] in responses ) { - finalDataType = dataTypes[ 0 ]; - } else { - - // Try convertible dataTypes - for ( type in responses ) { - if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) { - finalDataType = type; - break; - } - if ( !firstDataType ) { - firstDataType = type; - } - } - - // Or just use first one - finalDataType = finalDataType || firstDataType; - } - - // If we found a dataType - // We add the dataType to the list if needed - // and return the corresponding response - if ( finalDataType ) { - if ( finalDataType !== dataTypes[ 0 ] ) { - dataTypes.unshift( finalDataType ); - } - return responses[ finalDataType ]; - } -} - -/* Chain conversions given the request and the original response - * Also sets the responseXXX fields on the jqXHR instance - */ -function ajaxConvert( s, response, jqXHR, isSuccess ) { - var conv2, current, conv, tmp, prev, - converters = {}, - - // Work with a copy of dataTypes in case we need to modify it for conversion - dataTypes = s.dataTypes.slice(); - - // Create converters map with lowercased keys - if ( dataTypes[ 1 ] ) { - for ( conv in s.converters ) { - converters[ conv.toLowerCase() ] = s.converters[ conv ]; - } - } - - current = dataTypes.shift(); - - // Convert to each sequential dataType - while ( current ) { - - if ( s.responseFields[ current ] ) { - jqXHR[ s.responseFields[ current ] ] = response; - } - - // Apply the dataFilter if provided - if ( !prev && isSuccess && s.dataFilter ) { - response = s.dataFilter( response, s.dataType ); - } - - prev = current; - current = dataTypes.shift(); - - if ( current ) { - - // There's only work to do if current dataType is non-auto - if ( current === "*" ) { - - current = prev; - - // Convert response if prev dataType is non-auto and differs from current - } else if ( prev !== "*" && prev !== current ) { - - // Seek a direct converter - conv = converters[ prev + " " + current ] || converters[ "* " + current ]; - - // If none found, seek a pair - if ( !conv ) { - for ( conv2 in converters ) { - - // If conv2 outputs current - tmp = conv2.split( " " ); - if ( tmp[ 1 ] === current ) { - - // If prev can be converted to accepted input - conv = converters[ prev + " " + tmp[ 0 ] ] || - converters[ "* " + tmp[ 0 ] ]; - if ( conv ) { - - // Condense equivalence converters - if ( conv === true ) { - conv = converters[ conv2 ]; - - // Otherwise, insert the intermediate dataType - } else if ( converters[ conv2 ] !== true ) { - current = tmp[ 0 ]; - dataTypes.unshift( tmp[ 1 ] ); - } - break; - } - } - } - } - - // Apply converter (if not an equivalence) - if ( conv !== true ) { - - // Unless errors are allowed to bubble, catch and return them - if ( conv && s.throws ) { - response = conv( response ); - } else { - try { - response = conv( response ); - } catch ( e ) { - return { - state: "parsererror", - error: conv ? e : "No conversion from " + prev + " to " + current - }; - } - } - } - } - } - } - - return { state: "success", data: response }; -} - -jQuery.extend( { - - // Counter for holding the number of active queries - active: 0, - - // Last-Modified header cache for next request - lastModified: {}, - etag: {}, - - ajaxSettings: { - url: location.href, - type: "GET", - isLocal: rlocalProtocol.test( location.protocol ), - global: true, - processData: true, - async: true, - contentType: "application/x-www-form-urlencoded; charset=UTF-8", - - /* - timeout: 0, - data: null, - dataType: null, - username: null, - password: null, - cache: null, - throws: false, - traditional: false, - headers: {}, - */ - - accepts: { - "*": allTypes, - text: "text/plain", - html: "text/html", - xml: "application/xml, text/xml", - json: "application/json, text/javascript" - }, - - contents: { - xml: /\bxml\b/, - html: /\bhtml/, - json: /\bjson\b/ - }, - - responseFields: { - xml: "responseXML", - text: "responseText", - json: "responseJSON" - }, - - // Data converters - // Keys separate source (or catchall "*") and destination types with a single space - converters: { - - // Convert anything to text - "* text": String, - - // Text to html (true = no transformation) - "text html": true, - - // Evaluate text as a json expression - "text json": JSON.parse, - - // Parse text as xml - "text xml": jQuery.parseXML - }, - - // For options that shouldn't be deep extended: - // you can add your own custom options here if - // and when you create one that shouldn't be - // deep extended (see ajaxExtend) - flatOptions: { - url: true, - context: true - } - }, - - // Creates a full fledged settings object into target - // with both ajaxSettings and settings fields. - // If target is omitted, writes into ajaxSettings. - ajaxSetup: function( target, settings ) { - return settings ? - - // Building a settings object - ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : - - // Extending ajaxSettings - ajaxExtend( jQuery.ajaxSettings, target ); - }, - - ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), - ajaxTransport: addToPrefiltersOrTransports( transports ), - - // Main method - ajax: function( url, options ) { - - // If url is an object, simulate pre-1.5 signature - if ( typeof url === "object" ) { - options = url; - url = undefined; - } - - // Force options to be an object - options = options || {}; - - var transport, - - // URL without anti-cache param - cacheURL, - - // Response headers - responseHeadersString, - responseHeaders, - - // timeout handle - timeoutTimer, - - // Url cleanup var - urlAnchor, - - // Request state (becomes false upon send and true upon completion) - completed, - - // To know if global events are to be dispatched - fireGlobals, - - // Loop variable - i, - - // uncached part of the url - uncached, - - // Create the final options object - s = jQuery.ajaxSetup( {}, options ), - - // Callbacks context - callbackContext = s.context || s, - - // Context for global events is callbackContext if it is a DOM node or jQuery collection - globalEventContext = s.context && - ( callbackContext.nodeType || callbackContext.jquery ) ? - jQuery( callbackContext ) : - jQuery.event, - - // Deferreds - deferred = jQuery.Deferred(), - completeDeferred = jQuery.Callbacks( "once memory" ), - - // Status-dependent callbacks - statusCode = s.statusCode || {}, - - // Headers (they are sent all at once) - requestHeaders = {}, - requestHeadersNames = {}, - - // Default abort message - strAbort = "canceled", - - // Fake xhr - jqXHR = { - readyState: 0, - - // Builds headers hashtable if needed - getResponseHeader: function( key ) { - var match; - if ( completed ) { - if ( !responseHeaders ) { - responseHeaders = {}; - while ( ( match = rheaders.exec( responseHeadersString ) ) ) { - responseHeaders[ match[ 1 ].toLowerCase() + " " ] = - ( responseHeaders[ match[ 1 ].toLowerCase() + " " ] || [] ) - .concat( match[ 2 ] ); - } - } - match = responseHeaders[ key.toLowerCase() + " " ]; - } - return match == null ? null : match.join( ", " ); - }, - - // Raw string - getAllResponseHeaders: function() { - return completed ? responseHeadersString : null; - }, - - // Caches the header - setRequestHeader: function( name, value ) { - if ( completed == null ) { - name = requestHeadersNames[ name.toLowerCase() ] = - requestHeadersNames[ name.toLowerCase() ] || name; - requestHeaders[ name ] = value; - } - return this; - }, - - // Overrides response content-type header - overrideMimeType: function( type ) { - if ( completed == null ) { - s.mimeType = type; - } - return this; - }, - - // Status-dependent callbacks - statusCode: function( map ) { - var code; - if ( map ) { - if ( completed ) { - - // Execute the appropriate callbacks - jqXHR.always( map[ jqXHR.status ] ); - } else { - - // Lazy-add the new callbacks in a way that preserves old ones - for ( code in map ) { - statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; - } - } - } - return this; - }, - - // Cancel the request - abort: function( statusText ) { - var finalText = statusText || strAbort; - if ( transport ) { - transport.abort( finalText ); - } - done( 0, finalText ); - return this; - } - }; - - // Attach deferreds - deferred.promise( jqXHR ); - - // Add protocol if not provided (prefilters might expect it) - // Handle falsy url in the settings object (#10093: consistency with old signature) - // We also use the url parameter if available - s.url = ( ( url || s.url || location.href ) + "" ) - .replace( rprotocol, location.protocol + "//" ); - - // Alias method option to type as per ticket #12004 - s.type = options.method || options.type || s.method || s.type; - - // Extract dataTypes list - s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ]; - - // A cross-domain request is in order when the origin doesn't match the current origin. - if ( s.crossDomain == null ) { - urlAnchor = document.createElement( "a" ); - - // Support: IE <=8 - 11, Edge 12 - 15 - // IE throws exception on accessing the href property if url is malformed, - // e.g. http://example.com:80x/ - try { - urlAnchor.href = s.url; - - // Support: IE <=8 - 11 only - // Anchor's host property isn't correctly set when s.url is relative - urlAnchor.href = urlAnchor.href; - s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !== - urlAnchor.protocol + "//" + urlAnchor.host; - } catch ( e ) { - - // If there is an error parsing the URL, assume it is crossDomain, - // it can be rejected by the transport if it is invalid - s.crossDomain = true; - } - } - - // Convert data if not already a string - if ( s.data && s.processData && typeof s.data !== "string" ) { - s.data = jQuery.param( s.data, s.traditional ); - } - - // Apply prefilters - inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); - - // If request was aborted inside a prefilter, stop there - if ( completed ) { - return jqXHR; - } - - // We can fire global events as of now if asked to - // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118) - fireGlobals = jQuery.event && s.global; - - // Watch for a new set of requests - if ( fireGlobals && jQuery.active++ === 0 ) { - jQuery.event.trigger( "ajaxStart" ); - } - - // Uppercase the type - s.type = s.type.toUpperCase(); - - // Determine if request has content - s.hasContent = !rnoContent.test( s.type ); - - // Save the URL in case we're toying with the If-Modified-Since - // and/or If-None-Match header later on - // Remove hash to simplify url manipulation - cacheURL = s.url.replace( rhash, "" ); - - // More options handling for requests with no content - if ( !s.hasContent ) { - - // Remember the hash so we can put it back - uncached = s.url.slice( cacheURL.length ); - - // If data is available and should be processed, append data to url - if ( s.data && ( s.processData || typeof s.data === "string" ) ) { - cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data; - - // #9682: remove data so that it's not used in an eventual retry - delete s.data; - } - - // Add or update anti-cache param if needed - if ( s.cache === false ) { - cacheURL = cacheURL.replace( rantiCache, "$1" ); - uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce.guid++ ) + - uncached; - } - - // Put hash and anti-cache on the URL that will be requested (gh-1732) - s.url = cacheURL + uncached; - - // Change '%20' to '+' if this is encoded form body content (gh-2658) - } else if ( s.data && s.processData && - ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) { - s.data = s.data.replace( r20, "+" ); - } - - // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. - if ( s.ifModified ) { - if ( jQuery.lastModified[ cacheURL ] ) { - jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); - } - if ( jQuery.etag[ cacheURL ] ) { - jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); - } - } - - // Set the correct header, if data is being sent - if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { - jqXHR.setRequestHeader( "Content-Type", s.contentType ); - } - - // Set the Accepts header for the server, depending on the dataType - jqXHR.setRequestHeader( - "Accept", - s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ? - s.accepts[ s.dataTypes[ 0 ] ] + - ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : - s.accepts[ "*" ] - ); - - // Check for headers option - for ( i in s.headers ) { - jqXHR.setRequestHeader( i, s.headers[ i ] ); - } - - // Allow custom headers/mimetypes and early abort - if ( s.beforeSend && - ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) { - - // Abort if not done already and return - return jqXHR.abort(); - } - - // Aborting is no longer a cancellation - strAbort = "abort"; - - // Install callbacks on deferreds - completeDeferred.add( s.complete ); - jqXHR.done( s.success ); - jqXHR.fail( s.error ); - - // Get transport - transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); - - // If no transport, we auto-abort - if ( !transport ) { - done( -1, "No Transport" ); - } else { - jqXHR.readyState = 1; - - // Send global event - if ( fireGlobals ) { - globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); - } - - // If request was aborted inside ajaxSend, stop there - if ( completed ) { - return jqXHR; - } - - // Timeout - if ( s.async && s.timeout > 0 ) { - timeoutTimer = window.setTimeout( function() { - jqXHR.abort( "timeout" ); - }, s.timeout ); - } - - try { - completed = false; - transport.send( requestHeaders, done ); - } catch ( e ) { - - // Rethrow post-completion exceptions - if ( completed ) { - throw e; - } - - // Propagate others as results - done( -1, e ); - } - } - - // Callback for when everything is done - function done( status, nativeStatusText, responses, headers ) { - var isSuccess, success, error, response, modified, - statusText = nativeStatusText; - - // Ignore repeat invocations - if ( completed ) { - return; - } - - completed = true; - - // Clear timeout if it exists - if ( timeoutTimer ) { - window.clearTimeout( timeoutTimer ); - } - - // Dereference transport for early garbage collection - // (no matter how long the jqXHR object will be used) - transport = undefined; - - // Cache response headers - responseHeadersString = headers || ""; - - // Set readyState - jqXHR.readyState = status > 0 ? 4 : 0; - - // Determine if successful - isSuccess = status >= 200 && status < 300 || status === 304; - - // Get response data - if ( responses ) { - response = ajaxHandleResponses( s, jqXHR, responses ); - } - - // Use a noop converter for missing script - if ( !isSuccess && jQuery.inArray( "script", s.dataTypes ) > -1 ) { - s.converters[ "text script" ] = function() {}; - } - - // Convert no matter what (that way responseXXX fields are always set) - response = ajaxConvert( s, response, jqXHR, isSuccess ); - - // If successful, handle type chaining - if ( isSuccess ) { - - // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. - if ( s.ifModified ) { - modified = jqXHR.getResponseHeader( "Last-Modified" ); - if ( modified ) { - jQuery.lastModified[ cacheURL ] = modified; - } - modified = jqXHR.getResponseHeader( "etag" ); - if ( modified ) { - jQuery.etag[ cacheURL ] = modified; - } - } - - // if no content - if ( status === 204 || s.type === "HEAD" ) { - statusText = "nocontent"; - - // if not modified - } else if ( status === 304 ) { - statusText = "notmodified"; - - // If we have data, let's convert it - } else { - statusText = response.state; - success = response.data; - error = response.error; - isSuccess = !error; - } - } else { - - // Extract error from statusText and normalize for non-aborts - error = statusText; - if ( status || !statusText ) { - statusText = "error"; - if ( status < 0 ) { - status = 0; - } - } - } - - // Set data for the fake xhr object - jqXHR.status = status; - jqXHR.statusText = ( nativeStatusText || statusText ) + ""; - - // Success/Error - if ( isSuccess ) { - deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); - } else { - deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); - } - - // Status-dependent callbacks - jqXHR.statusCode( statusCode ); - statusCode = undefined; - - if ( fireGlobals ) { - globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", - [ jqXHR, s, isSuccess ? success : error ] ); - } - - // Complete - completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); - - if ( fireGlobals ) { - globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); - - // Handle the global AJAX counter - if ( !( --jQuery.active ) ) { - jQuery.event.trigger( "ajaxStop" ); - } - } - } - - return jqXHR; - }, - - getJSON: function( url, data, callback ) { - return jQuery.get( url, data, callback, "json" ); - }, - - getScript: function( url, callback ) { - return jQuery.get( url, undefined, callback, "script" ); - } -} ); - -jQuery.each( [ "get", "post" ], function( _i, method ) { - jQuery[ method ] = function( url, data, callback, type ) { - - // Shift arguments if data argument was omitted - if ( isFunction( data ) ) { - type = type || callback; - callback = data; - data = undefined; - } - - // The url can be an options object (which then must have .url) - return jQuery.ajax( jQuery.extend( { - url: url, - type: method, - dataType: type, - data: data, - success: callback - }, jQuery.isPlainObject( url ) && url ) ); - }; -} ); - -jQuery.ajaxPrefilter( function( s ) { - var i; - for ( i in s.headers ) { - if ( i.toLowerCase() === "content-type" ) { - s.contentType = s.headers[ i ] || ""; - } - } -} ); - - -jQuery._evalUrl = function( url, options, doc ) { - return jQuery.ajax( { - url: url, - - // Make this explicit, since user can override this through ajaxSetup (#11264) - type: "GET", - dataType: "script", - cache: true, - async: false, - global: false, - - // Only evaluate the response if it is successful (gh-4126) - // dataFilter is not invoked for failure responses, so using it instead - // of the default converter is kludgy but it works. - converters: { - "text script": function() {} - }, - dataFilter: function( response ) { - jQuery.globalEval( response, options, doc ); - } - } ); -}; - - -jQuery.fn.extend( { - wrapAll: function( html ) { - var wrap; - - if ( this[ 0 ] ) { - if ( isFunction( html ) ) { - html = html.call( this[ 0 ] ); - } - - // The elements to wrap the target around - wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); - - if ( this[ 0 ].parentNode ) { - wrap.insertBefore( this[ 0 ] ); - } - - wrap.map( function() { - var elem = this; - - while ( elem.firstElementChild ) { - elem = elem.firstElementChild; - } - - return elem; - } ).append( this ); - } - - return this; - }, - - wrapInner: function( html ) { - if ( isFunction( html ) ) { - return this.each( function( i ) { - jQuery( this ).wrapInner( html.call( this, i ) ); - } ); - } - - return this.each( function() { - var self = jQuery( this ), - contents = self.contents(); - - if ( contents.length ) { - contents.wrapAll( html ); - - } else { - self.append( html ); - } - } ); - }, - - wrap: function( html ) { - var htmlIsFunction = isFunction( html ); - - return this.each( function( i ) { - jQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html ); - } ); - }, - - unwrap: function( selector ) { - this.parent( selector ).not( "body" ).each( function() { - jQuery( this ).replaceWith( this.childNodes ); - } ); - return this; - } -} ); - - -jQuery.expr.pseudos.hidden = function( elem ) { - return !jQuery.expr.pseudos.visible( elem ); -}; -jQuery.expr.pseudos.visible = function( elem ) { - return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); -}; - - - - -jQuery.ajaxSettings.xhr = function() { - try { - return new window.XMLHttpRequest(); - } catch ( e ) {} -}; - -var xhrSuccessStatus = { - - // File protocol always yields status code 0, assume 200 - 0: 200, - - // Support: IE <=9 only - // #1450: sometimes IE returns 1223 when it should be 204 - 1223: 204 - }, - xhrSupported = jQuery.ajaxSettings.xhr(); - -support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); -support.ajax = xhrSupported = !!xhrSupported; - -jQuery.ajaxTransport( function( options ) { - var callback, errorCallback; - - // Cross domain only allowed if supported through XMLHttpRequest - if ( support.cors || xhrSupported && !options.crossDomain ) { - return { - send: function( headers, complete ) { - var i, - xhr = options.xhr(); - - xhr.open( - options.type, - options.url, - options.async, - options.username, - options.password - ); - - // Apply custom fields if provided - if ( options.xhrFields ) { - for ( i in options.xhrFields ) { - xhr[ i ] = options.xhrFields[ i ]; - } - } - - // Override mime type if needed - if ( options.mimeType && xhr.overrideMimeType ) { - xhr.overrideMimeType( options.mimeType ); - } - - // X-Requested-With header - // For cross-domain requests, seeing as conditions for a preflight are - // akin to a jigsaw puzzle, we simply never set it to be sure. - // (it can always be set on a per-request basis or even using ajaxSetup) - // For same-domain requests, won't change header if already provided. - if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) { - headers[ "X-Requested-With" ] = "XMLHttpRequest"; - } - - // Set headers - for ( i in headers ) { - xhr.setRequestHeader( i, headers[ i ] ); - } - - // Callback - callback = function( type ) { - return function() { - if ( callback ) { - callback = errorCallback = xhr.onload = - xhr.onerror = xhr.onabort = xhr.ontimeout = - xhr.onreadystatechange = null; - - if ( type === "abort" ) { - xhr.abort(); - } else if ( type === "error" ) { - - // Support: IE <=9 only - // On a manual native abort, IE9 throws - // errors on any property access that is not readyState - if ( typeof xhr.status !== "number" ) { - complete( 0, "error" ); - } else { - complete( - - // File: protocol always yields status 0; see #8605, #14207 - xhr.status, - xhr.statusText - ); - } - } else { - complete( - xhrSuccessStatus[ xhr.status ] || xhr.status, - xhr.statusText, - - // Support: IE <=9 only - // IE9 has no XHR2 but throws on binary (trac-11426) - // For XHR2 non-text, let the caller handle it (gh-2498) - ( xhr.responseType || "text" ) !== "text" || - typeof xhr.responseText !== "string" ? - { binary: xhr.response } : - { text: xhr.responseText }, - xhr.getAllResponseHeaders() - ); - } - } - }; - }; - - // Listen to events - xhr.onload = callback(); - errorCallback = xhr.onerror = xhr.ontimeout = callback( "error" ); - - // Support: IE 9 only - // Use onreadystatechange to replace onabort - // to handle uncaught aborts - if ( xhr.onabort !== undefined ) { - xhr.onabort = errorCallback; - } else { - xhr.onreadystatechange = function() { - - // Check readyState before timeout as it changes - if ( xhr.readyState === 4 ) { - - // Allow onerror to be called first, - // but that will not handle a native abort - // Also, save errorCallback to a variable - // as xhr.onerror cannot be accessed - window.setTimeout( function() { - if ( callback ) { - errorCallback(); - } - } ); - } - }; - } - - // Create the abort callback - callback = callback( "abort" ); - - try { - - // Do send the request (this may raise an exception) - xhr.send( options.hasContent && options.data || null ); - } catch ( e ) { - - // #14683: Only rethrow if this hasn't been notified as an error yet - if ( callback ) { - throw e; - } - } - }, - - abort: function() { - if ( callback ) { - callback(); - } - } - }; - } -} ); - - - - -// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432) -jQuery.ajaxPrefilter( function( s ) { - if ( s.crossDomain ) { - s.contents.script = false; - } -} ); - -// Install script dataType -jQuery.ajaxSetup( { - accepts: { - script: "text/javascript, application/javascript, " + - "application/ecmascript, application/x-ecmascript" - }, - contents: { - script: /\b(?:java|ecma)script\b/ - }, - converters: { - "text script": function( text ) { - jQuery.globalEval( text ); - return text; - } - } -} ); - -// Handle cache's special case and crossDomain -jQuery.ajaxPrefilter( "script", function( s ) { - if ( s.cache === undefined ) { - s.cache = false; - } - if ( s.crossDomain ) { - s.type = "GET"; - } -} ); - -// Bind script tag hack transport -jQuery.ajaxTransport( "script", function( s ) { - - // This transport only deals with cross domain or forced-by-attrs requests - if ( s.crossDomain || s.scriptAttrs ) { - var script, callback; - return { - send: function( _, complete ) { - script = jQuery( " - - - - + + + + + + + + 邮件订阅 - 会员中心 - <?php echo $cfg_webname; ?> -
    - -
    - -
    - -
    - -
    -
    -

    -

    -
      - -
    -

    - -

    -
    + +
    +
    + +
    + + + + + +
    +
    +

    +

    +
      + +
    +

    + +

    +
    +
    +
    -
    +
    - -
    - + + \ No newline at end of file diff --git a/src/member/templets/mail_drop.htm b/src/member/templets/mail_drop.htm index da197000..8df9da31 100755 --- a/src/member/templets/mail_drop.htm +++ b/src/member/templets/mail_drop.htm @@ -1,51 +1,67 @@ - - + + + + - -邮件订阅 - 会员中心 - <?php echo $cfg_webname; ?> - - - - - - + + + + + + + + 邮件订阅 - 会员中心 - <?php echo $cfg_webname; ?> -
    - -
    - -
    - -
    - -
    -
    -

    -

    -
      - \r\n"; - } + +
      +
      + +
      + + + + + +
      +
      +

      +

      +
        + \r\n"; } - ?> -
      -

      - -

      -
      + } + ?> +
    +

    + +

    +
    +
    +
    -
    +
    - -
    - + + \ No newline at end of file diff --git a/src/member/templets/reg-new2.htm b/src/member/templets/reg-new2.htm deleted file mode 100755 index be351a04..00000000 --- a/src/member/templets/reg-new2.htm +++ /dev/null @@ -1,122 +0,0 @@ - - - - -<?php echo $cfg_webname; ?>- 完善详细资料 - - - - - - - - -
    -
    - - - - 游客 你可以选择到
    -
    -
    - - -
    -
    -
    -
    -
    - - -

    - '; - echo '

  1. '.$cfg_ml->M_UserName.'
    用户名:
  2. '; - echo '
  3. '.$cfg_ml->M_MbType.'
    会员类型:
  4. '; - echo $postform; - echo ''; - ?> -
      -
    •   - -
    • -
    -
    -
    -
    -
    - - - - \ No newline at end of file diff --git a/src/member/templets/reg-new3.htm b/src/member/templets/reg-new3.htm deleted file mode 100755 index abb42dc0..00000000 --- a/src/member/templets/reg-new3.htm +++ /dev/null @@ -1,61 +0,0 @@ - - - - - -<?php echo $cfg_webname; ?>- 注册成功 - - - - -
    -
    - - - - 游客 你可以选择到
    -
    -
    - - -
    -
    -

    注册成功!'.$uname.',';?>您已成为本站的正式会员!
    由于系统开启了邮件审核机制,因此你的帐号需要审核后才能发信息!
    ';?> - 10秒钟后自动转到会员中心!
    -马上进入会员中心  返回网站首页

    - - - - \ No newline at end of file diff --git a/src/member/templets/resetpassword.htm b/src/member/templets/resetpassword.htm index 0544144e..5e826f65 100755 --- a/src/member/templets/resetpassword.htm +++ b/src/member/templets/resetpassword.htm @@ -1,136 +1,113 @@ - - + + + -密码帮手——找回密码第一步 - - - - + + + + + 密码帮手——找回密码第一步 + + -function hideVc() -{ - $('#ver_code').css('visibility','hidden'); -} + + -$(document).ready(function(){ - $("#vdcode").focus(function(){ - var leftpos = $("#vdcode").position().left; - $('#ver_code').css('left', leftpos+'px'); - $('#ver_code').css('visibility','visible'); - }); - $("input[type='password']").click(function(){ - hideVc() - }); - $("#txtUsername").click(function(){ - hideVc() - }); - $("input[type='radio']").focus(function(){ - hideVc() - }); - /* - $("#vdcode").blur(function(){ - $('#ver_code').css('visibility','hidden'); - }); - */ -}) + - - - - -
    -
    - - - - 游客 你可以选择到
    -
    -
    - - -
    - - - +
    +
    +
    +

    找回密码第一步还没注册 点击这里

    +
    + + + +
    +
    + +
    +
    + +
    +
    + +
    +
    + +
    +
    + + 点击我更换图片 +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    + +
    + + + + + + \ No newline at end of file diff --git a/src/member/templets/resetpassword2.htm b/src/member/templets/resetpassword2.htm index 3759a94b..1a8eeddf 100755 --- a/src/member/templets/resetpassword2.htm +++ b/src/member/templets/resetpassword2.htm @@ -1,137 +1,70 @@ - - + + + + -密码帮手——找回密码第二步 - - - - + + + + + 密码帮手——找回密码第二步 + -function hideVc() -{ - $('#ver_code').css('visibility','hidden'); -} + + -$(document).ready(function(){ - $("#vdcode").focus(function(){ - var leftpos = $("#vdcode").position().left; - $('#ver_code').css('left', leftpos+'px'); - $('#ver_code').css('visibility','visible'); - }); - $("input[type='password']").click(function(){ - hideVc() - }); - $("#txtUsername").click(function(){ - hideVc() - }); - $("input[type='radio']").focus(function(){ - hideVc() - }); - /* - $("#vdcode").blur(function(){ - $('#ver_code').css('visibility','hidden'); - }); - */ -}) + - - - - -
    -
    - - - - 游客 你可以选择到
    -
    -
    - - -
    - - - +
    +
    +
    +

    找回密码第二步还没注册 点击这里

    +
    + + + +
    +
    + +
    +
    + + +
    +
    + +
    +
    + + + + +
    +
    + +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    + +
    + + + + + + \ No newline at end of file diff --git a/src/member/templets/resetpassword3.htm b/src/member/templets/resetpassword3.htm index 74bfd4db..bba2ed44 100755 --- a/src/member/templets/resetpassword3.htm +++ b/src/member/templets/resetpassword3.htm @@ -1,134 +1,64 @@ - - + + + -密码帮手——找回密码第三步 - - - - + + + + + 密码帮手——找回密码第三步 + + + -function hideVc() -{ - $('#ver_code').css('visibility','hidden'); -} + + -$(document).ready(function(){ - $("#vdcode").focus(function(){ - var leftpos = $("#vdcode").position().left; - $('#ver_code').css('left', leftpos+'px'); - $('#ver_code').css('visibility','visible'); - }); - $("input[type='password']").click(function(){ - hideVc() - }); - $("#txtUsername").click(function(){ - hideVc() - }); - $("input[type='radio']").focus(function(){ - hideVc() - }); - /* - $("#vdcode").blur(function(){ - $('#ver_code').css('visibility','hidden'); - }); - */ -}) +
    +
    +
    +

    找回密码第三步还没注册 点击这里

    +
    + + + +
    + +
    - - - - -
    -
    - - - - 游客 你可以选择到
    -
    -
    - - -
    -
    - - +
    +
    + +
    +
    + +
    +
    + + 点击我更换图片 +
    +
    + + +
    +
    + +
    + + + + + + \ No newline at end of file diff --git a/src/member/templets/shops_action_payment.htm b/src/member/templets/shops_action_payment.htm index da701ae7..dcd824a7 100755 --- a/src/member/templets/shops_action_payment.htm +++ b/src/member/templets/shops_action_payment.htm @@ -1,44 +1,24 @@ - - + + + -下单购买 - {dede:var.carts.orders_id/} - - - - - + + + + + + + + 密码帮手——找回密码第三步 -
    -
    -
    -

    {dede:global.cfg_webname/}

    -
    -
    - IsLogin()){ - ?> - 您好,欢迎来到本网站, 请 登录注册 - - M_UserName; ?>,欢迎您的登录。 会员中心 | - 我的资料 | - 我的空间 | - 退出登录 - -
    -
    -
    - + -
    -

    商品购买

    +
    +
    商品购买
    - +
    diff --git a/src/member/templets/soft_add.htm b/src/member/templets/soft_add.htm index 1e9535b4..78ca0e81 100755 --- a/src/member/templets/soft_add.htm +++ b/src/member/templets/soft_add.htm @@ -210,20 +210,6 @@

    "; ?>

    -
    - -
    - - (答案:) - -
    -
    - diff --git a/src/member/templets/soft_edit.htm b/src/member/templets/soft_edit.htm index 06468ab4..37135e18 100755 --- a/src/member/templets/soft_edit.htm +++ b/src/member/templets/soft_edit.htm @@ -227,20 +227,6 @@ ?> -
    - -
    - - (答案:) - -
    -
    - diff --git a/src/member/templets/style/base.css b/src/member/templets/style/base.css deleted file mode 100755 index 43d2a0d9..00000000 --- a/src/member/templets/style/base.css +++ /dev/null @@ -1,1156 +0,0 @@ -/************************************** - 通用样式部分(BaseStyle) - Update:09-11-11 - Author:tianya From:DesDev INC. -**************************************/ -body, html { - min-height:101%; - background-color:#fff; -} -body, h1, h2, h3, h4, h5, h6, hr, p, blockquote, dl, dt, dd, ul, ol, li, pre, form, fieldset, lengend, button, input, textarea, th, td { - margin:0; - padding:0; -} -body, button, input, select, textarea { - font:12px/1 Tahoma, Helvetica, Arial, "\5b8b\4f53", sans-serif; -} -h1 { - font-size:18px; -} -h2 { - font-size:16px; -} -h3 { - font-size:14px; -} -h4, h5, h6 { - font-size:100%; -} -address, cite, dfn, em, var { - font-style:normal; -} -code, kbd, pre, samp, tt { - font-family:"Courier New", Courier, monospace; -} -small { - font-size:12px; -} -ul, ol { - list-style:none; -} -td { line-height: 1.5; } -a { - text-decoration:none; -} -a:hover { - text-decoration:underline; -} -abbr[title], acronym[title] { - border-bottom:1px dotted; - cursor:help; -} -q:before, q:after { - content:''; -} -legend { - color:#000; -} -fieldset, img { - border:none; -} -button, input, select, textarea { - font-size:100%; -} -table { - border-collapse:collapse; - border-spacing:0; -} -hr { - border:none; - height:1px; - color:#fff; -} -/************************************** - 全局样式部分(GenericStyle) - Update:09-11-05 -**************************************/ -.w960 { - width:960px; -} -.hidden { - display:none; -} -.fLeft { - float:left!important; -} -.fRight { - float:right!important; -} -.clearfix { - *zoom:1; -} -.mt5{ - margin-top:5px; - } -.mt10{ - margin-top:10px; - } -.ml5{ - margin-left:5px; - } -.ml10{ - margin-left:10px; - } -.clearfix:after { - content:'\0020'; - display:block; - height:0; - clear:both; -} -.btn1 { - background: url(../images/btn1_bg.gif) no-repeat scroll 0px 0px; - border-style: none; - height: 22px; - width: 55px; - font-size: 12px; - color: #FFF; -} -.greenBtn1, .greenBtn2, .greenBtn3, .greenBtn4 { - background: url(../images/greenbtn.gif) no-repeat scroll; - height: 23px; - border-style: none; - padding-right: 6px; - padding-left: 6px; - color: #FFF; - margin-right: 2px; - margin-left: 2px; -} -.greenBtn1 { - background-position: 0px -5px; - width: 46px; -} -.greenBtn2 { - background-position: 0px -38px; - width: 58px; -} -.greenBtn3 { - background-position: 0px -71px; - width: 70px; -} -.greenBtn4 { - background-position: 0px -104px; - width: 82px; -} -.appMsg { - padding:10px 0; - width:100%; - display:block; - margin-bottom:5px; - min-height:30px; -} -.appMsg .tips { - float:left; - _height:30px; - min-height:30px; - line-height:30px; - padding:0 10px 0 32px; - font-weight:700; - border:1px solid #6B9919; - color:#5F9304; - background: #FFFBDE url(../images/tipsico.gif) no-repeat scroll 10px 10px; - width: 688px; -} -.meTitle { - border-bottom:1px solid #DEDEDE; - color:#717171; - line-height:16px; - padding:0 0 5px 5px; - font-size: 12px; - margin-bottom:10px; -} -.meTitle small, .postForm small { - font-weight: normal; - font-size: 12px; - color: #B8B8B8; -} -.picList { - line-height:21px; - overflow:hidden; -} -.picList li { - float:left; - padding-top:17px; - width:16.6%; - text-align:center; -} -.picList li img { - border:1px solid #A4A4A4; - padding:1px; -} -.doPost a { - color: #5F9304; -} -.searchForm { - text-align: center; -} -.listDo { - height: 34px; - margin-bottom: 5px; - padding-bottom: 5px; -} -.listDo .control { - margin-top: 10px; -} -.list { - margin-top: 10px; - font-size:12px; -} -.list thead tr th { - background: #EAEAEA; - font-weight: normal; - height: 28px; - line-height: 28px; -} -.list tbody tr td { - height: 28px; - line-height: 28px; - border-bottom: 1px solid #EAEAEA; -} -.list tbody tr a { - color: #29A5C9; -} -.list tbody tr .tabTitle { - padding-left: 15px; -} -.listStyle2 { - margin-top: 10px; -} -.listStyle2 tbody tr td { - height: 28px; - line-height: 28px; -} -.listStyle2 tbody tr a { - color: #29A5C9; -} -.listStyle2 tbody tr .tabTitle { - padding-left: 15px; -} -.listStyle2 .tbBtm { - border-bottom: 1px solid #EAEAEA; -} -.listStyle3 li table tr td { - height: 22px; -} -.listStyle3 .userTitle a { - color: #29A5C9; -} -.listStyle3 li { - border-bottom:1px dotted #E0E0E0; - padding: 8px 0 5px 5px; -} -.listStyle3 li:hover { - background: #F7F7F7; -} -.listStyle3 li .frdInfo { - float: right; - width: 660px; -} -.listStyle3 .userHead img { - display:block; - height:60px; - width:60px; -} -table.list tbody tr.hover td, table.list tbody tr.row0:hover td, table.list tbody tr.row1:hover td { - background-color: #ffd; -} -table.list tbody .row1, .row1 { - background: #f9f9f9; - border-top: 1px solid #fff; -} -table.list tbody .row1 td { - background: #f9f9f9; - border-top: 1px solid #FFF; -} -.template tbody a { - color: #29A5C9; -} -.template { - width: 100%; -} - -.template tbody tr { - text-align: left; -} -.template tbody tr td { - line-height: 20px; - padding-top: 5px; - padding-bottom: 5px; -} -#pagelist{ - text-align:right; - margin-top:10px; - } -#pagelist a{ - color:#29A5C9; - margin-left:5px; - } -.pageList { - float: right; - margin-top: 10px; - text-align:right; -} -.postForm, .contentShow { - padding: 10px 40px; - min-height:25px; - _height:25px; - line-height:25px; - margin-bottom:10px; -} -.postForm .cellBg { - background: #F7F7F7; -} -.postForm .cellBg a{ - color:#5F9304; - } -.postForm p, contentShow p { - line-height:28px; - min-height:25px; - zoom:1; - margin-top: 10px; - padding-top: 2px; - padding-bottom: 2px; - overflow:hidden; -} -.postForm label, contentShow label { - display:inline-block; - width:7.5em; - text-align:right; - color:#727272; - vertical-align:top; - padding-left: 5px; -} -.postForm select { - font-size:13px; - color:#666; - _margin:2px 0 0 0; -} -.postForm .intxt, textarea { - padding:4px 5px; - border:1px solid #9e9e9e; - width:320px; - background:url(../images/input_bg.gif) no-repeat 0 0; - color: #666; -} -.postForm textarea { - height:5em; -} -.postForm p .colLeft { - width: 45%; - float: left; -} -.postForm p .colRight { - width: 45%; - float: left; - margin-left: 15px; -} -.postForm input{ - margin:0 0px; - *margin:0 -1px; - _margin:0; -} -.postForm .fleft{ - float:left; - } -.postForm span.inputinfo{ - width:553px; - float:left; - } -.intxt{ - padding:4px 5px; - border:1px solid #9e9e9e; - width:320px; - background:url(../images/input_bg.gif) no-repeat 0 0; - color: #666; - } -/************************************** - 布局样式部分(LayoutStyle) - Update:09-11-05 -**************************************/ -#main { - padding:0 10px; -} -#header { -} -#header #siteNav { - background: transparent url(../images/site_bg.gif) repeat-x scroll 0px 0px; - height: 25px; -} -#siteNav #loginInfo { - float: left; - height: 16px; - margin-top: 5px; -} -#siteNav #quickMenu { - float: right; -} -#quickMenu li { - float:left; - height:25px; - line-height:24px; - margin-right:8px; - margin:0; - padding:0 8px; - background: transparent url(../images/site_bg.gif) repeat-x scroll -10px -75px; -} -#header #topPic { - height: 82px; - width: 960px; - margin-bottom: -25px; - background: #FFF; -} -#topPic .topLogo { - margin-top: 10px; - margin-left: 10px; -} -#header #topNav { - position:relative; - z-index:10; -} -#topNav #appIterm { - margin:0 0 -2px; - padding-left:10px; - height: 27px; -} -#topNav #appIterm li { - float:left; - height:25px; - margin:0 3px 0 0; - background: transparent url(../images/site_bg.gif) repeat-x scroll -10px -115px; -} -#topNav #appIterm li a { - background: transparent url(../images/site_bg.gif) repeat-x scroll right -150px; - color:#999999; - display:block; - font-weight:bold; - line-height:25px; - margin:0 0 0 3px; - padding:0 1em; -} -#topNav #appIterm li a:hover { - text-decoration:none; -} -#topNav #appIterm .thisApp { - background: transparent url(../images/site_bg.gif) repeat-x scroll -10px -185px; -} -#topNav #appIterm .thisApp a { - background: transparent url(../images/site_bg.gif) repeat-x scroll -11px -225px; - color: #EDF2E4; -} -#topNav #channel { - background: transparent url(../images/site_bg.gif) repeat-x scroll 0px -265px; - height: 28px; - padding:6px 0 0 15px; -} -#topNav #channel ul { - height: 21px; - overflow: hidden; -} -#topNav #channel ul li { - float:left; - background: transparent url(../images/site_bg.gif) no-repeat scroll -10px -318px; - height: 21px; - margin-right: 10px; - margin-left: -3px; - padding-left: 10px; -} -#topNav #channel ul li a { - color: #FFF; - height: 21px; - text-decoration:none; - display: inline-block; - position: relative; -} -#topNav #channel ul li span { - cursor:pointer; - display:inline-block; - height:21px; - line-height:18px; - margin:0 0 0 5px; - padding:0 5px 0 0; - text-align:center; - vertical-align:middle; -} -#topNav #channel .thisApp { - padding-top:0; -} -#topNav #channel .thisApp a { - background: transparent url(../images/site_bg.gif) no-repeat scroll -10px -345px; - text-decoration: none; - display: inline-block; - position: relative; -} -#topNav #channel .thisApp span { - background: transparent url(../images/site_bg.gif) no-repeat scroll right -380px; - cursor:pointer; - display:inline-block; - height:21px; - line-height:18px; - margin:0 0 0 5px; - padding:0 5px 0 0; - text-align:center; - vertical-align:middle; -} -#topNav #channel ul li a.hover, #topNav #channel ul li a:hover { - background: transparent url(../images/site_bg.gif) no-repeat scroll -10px -415px; - text-decoration:none; - display: inline-block; - position: relative; -} -#topNav #channel ul li a.hover span, #topNav #channel ul li a:hover span { - background: transparent url(../images/site_bg.gif) no-repeat scroll right -450px; - cursor:pointer; - display:inline-block; - height:21px; - line-height:18px; - margin:0 0 0 5px; - padding:0 5px 0 0; - text-align:center; - vertical-align:middle; -} -#topNav #channel ul, #topNav #appIterm { - *zoom:1; -} -#header, #content, #footer { - margin-left:auto; - margin-right:auto; -} -#header, #footer { - margin:0 -10px 10px -10px; -} -/**********LayoutStyle.header**********/ -/*--------------头部样式--------------*/ - -#siteNav .innerWrap { - width:960px; - margin:0 auto; -} -#siteNav a { - color: #000000; -} -#siteNav a:hover { - color: #FF5500; -} -#siteNav .userName { - color: #3365CB; -} -/*LayoutStyle.header.quickMenu*/ -/*----------顶部菜单----------*/ - -#quickMenu .home { - background:transparent none repeat scroll 0 0; -} -#quickMenu .help a { - background: transparent url(../images/site_bg.gif) no-repeat scroll -10px -50px; - padding-left: 15px; -} -#quickMenu .help a { -*background-position:-10px -50px; - _background-position:-10px -48px; -} -/**********LayoutStyle.content**********/ - -#content { - margin:0 auto; - padding-top:10px; -} -#content.w960 { - padding:10px; - width:940px; - background:#F5F5F5; -} -* html #content { - padding:10px; - width:960px; - background:#f5f5f5; -} -/*LayoutStyle.content.mcpsub*/ -/*----------左侧菜单----------*/ -#content #mcpsub { - position:relative; - float:left; - width:175px; - *zoom:1; -} -#mcpsub .topGr { - background: url(../images/leftMenu_top.gif) no-repeat scroll 0px 0px; - height: 4px; - width: 177px; - line-height: 0px; - font-size: 0px; -} -#mcpsub #menuBody { - background: #FFFFFF; - border-right: 1px solid #DCDCDC; - border-left: 1px solid #DCDCDC; - width: 175px; - padding-top: 1px; -} -#mcpsub #menuBody .menuTitle { - background: #75B439; - font-size: 12px; - font-weight: normal; - color: #FFF; - height: 26px; - line-height: 26px; - margin-top: 10px; - margin-bottom: 8px; - padding-left: 15px; - display: block; - cursor:pointer; -} -#mcpsub #menuBody .menuTitle b { - background: url(../images/hidden.GIF) no-repeat scroll 0px 0px; - height: 9px; - width: 9px; - display: inline-block; - vertical-align: middle; - margin-top: 0px!important; - margin-top: 8px; - margin-right: 5px; -} -#mcpsub #menuBody .menuTitle .showMenu { - background: url(../images/show.GIF) no-repeat scroll 0px 0px; - display: inline-block; - height: 9px; - width: 9px; -} -#mcpsub #menuBody .menuTitle .hideMenu { - background: url(../images/hidden.GIF) no-repeat scroll 0px 0px; - display: inline-block; - height: 9px; - width: 9px; -} -#mcpsub #menuBody ul li { - list-style-image:none; - list-style-position:outside; - list-style-type:none; - position: relative; - line-height: 22px; - height: 22px; -} -#mcpsub #menuBody ul li a { - color:#525252; - display:block; - height:22px; - line-height:22px; - overflow:hidden; - padding:0 0 0 20px; - text-decoration:none; - margin-top: 2px; - margin-bottom: 2px; -} -#menuBody li b { - background: url(../images/icon_16x16.png) no-repeat scroll 100% 0 transparent; - vertical-align: middle; - display: inline-block; - width: 19px; - height: 18px; -} -#menuBody .articles b{ - background-position:0px 0px; -} -#menuBody .photo b{ - background-position:-19px 0px; -} -#menuBody .soft b{ - background-position:-41px 0px; -} -#menuBody .goods b{ - background-position:-41px 0px; -} -#menuBody .shop b{ - background-position:-60px 0px; -} -#menuBody .infos b{ - background-position:-81px 0px; -} -#menuBody .attachment b{ - background-position:0px -20px; -} -#menuBody .mystow b{ - background-position:-19px -20px; -} -#menuBody .ask b{ - background-position:-41px -20px; -} -#menuBody .group b{ - background-position:-60px -20px; -} -#menuBody .baseinfo b{ - background-position:-80px -20px; -} -#menuBody .myinfo b{ - background-position:0px -40px; -} -#menuBody .face b{ - background-position:-19px -40px; -} -#menuBody .mtypes b{ - background-position:-40px -40px; -} -#menuBody .flink b{ - background-position:-60px -40px; -} -#menuBody .info b{ - background-position:-80px -40px; -} -#menuBody .spaceskin b{ - background-position:0px -58px; -} -#mcpsub #menuBody ul li .act { - visibility:hidden; - position:absolute; - right:11px; - top:0; - color:#2ca9cc; - height:18px; - line-height:18px; - z-index: 999; -} -#mcpsub #menuBody ul li:hover, #mcpsub #menuBody ul li.hover { - background:#f3f3f3; -} -#mcpsub #menuBody ul li a:hover { - background: #F3F3F3; -} -#mcpsub #menuBody ul li a.act:hover{ - background:none; -} -#mcpsub #menuBody ul li:hover .act, #mcpsub #menuBody ul li.hover .act, #mcpsub #menuBody ul li.hover .act:visited { - visibility:visible; -} -#mcpsub #menuBody ul li:hover .act:hover, #mcpsub #menuBody ul li.hover .act:hover { - text-decoration:underline; -} -#mcpsub .buttomGr { - background: url(../images/leftMenu_buttom.gif) no-repeat scroll 0px 0px; - height: 4px; - width: 177px; - line-height: 0px; - font-size: 0px; - margin-top: -2px; -} -/*LayoutStyle.content.mcpmain*/ -/*---------操作主界面---------*/ -#content #mcpmain { - float:left; - min-height:1px; - width:754px; - margin-left: 10px; -} -#mcpmain #appTab { - position:relative; - z-index:1; -} -#mcpmain #appTab ul { - border-bottom:1px solid #DCDCDC; - margin-bottom:-1px; - padding-left:10px; - height: 25px; -} -#mcpmain #appTab ul li { - float:left; - margin:0 3px; - position:relative; - z-index:10; - margin-bottom:-1px; -} -#mcpmain #appTab ul li a { - color:#313131; - font-weight:700; - height:25px; - line-height:25px; - float:left; - padding:0 10px; - text-decoration:none; -} -#mcpmain #appTab ul li a:hover { - border:1px solid #dcdcdc; - border-bottom:none; - height:23px; - line-height:23px; - padding:0 9px; - background-color:#fff; - margin-bottom:1px; - text-decoration:none; -} -#mcpmain #appTab .thisTab { - border:1px solid #DCDCDC; - border-bottom:none; - background-color:#fff; - border-style:solid solid none; - border-width:1px 1px medium; -} -#mcpmain #appTab .thisTab a { - color: #5F9304; -} -#mcpmain #appTab .thisTab a:hover { - border:none; - height:25px; - line-height:24px; - _line-height:25px; - margin:0; - padding:0 10px; -} -#mcpmain #appTab .tabOther { - position:absolute; - right:5px; - top:-2px; - z-index:10; -} -#mcpmain #appTab .tabOther input { - border:1px solid #c9c9c9; - color:#999; - width:143px; - padding:5px 30px 0 5px; - display:inline-block; - height:18px; - zoom:1; - overflow:hidden; - padding-top:7px\9; - height:16px\9; -} -#mcpmain .tabSub { - height: 25px; - background-color:#FFFFFF; - padding:5px 10px 4px; - border-top:1px solid #DCDCDC; - z-index:1; - border-left:1px solid #DCDCDC; - border-right:1px solid #DCDCDC; -} -#mcpmain .tabSub li { - border:none; - background:none; - float:left; - margin:0 3px; - position:relative; - z-index:10; -} -#mcpmain .tabSub li a { - float:left; - padding:0 10px; - text-decoration:none; - color:#313131; - font-weight:100; - height:25px; - line-height:25px; -} -#mcpmain .tabSub li a:hover { - border:1px solid #dcdcdc; - height:23px; - line-height:23px; - padding:0 9px; - margin:0; -} -#mcpmain .tabSub .thisTab a { - font-weight: bold; -} -#mcpmain .tabSub .thisTab a:hover { - border:none; - height:25px; - line-height:25px; - padding:0 10px; -} -#mcpmain #mainCp { - border:1px solid #dcdcdc; - padding:10px; - background-color:#fff; - position:relative; -} -#footer { - padding-top: 10px; - padding-bottom: 20px; -} -/**********LayoutStyle.footer**********/ -#footer, #header #topPic, #header #topNav { - width:960px; - margin:0 auto; -} -#header #topNav { - margin-top:-25px; -} -/*相关按钮 -----------------------------------------------------------*/ -.button, -button { - margin:0; - height:21px; - line-height:21px; - font-size:12px; - cursor:pointer; - border:none; - text-align: center; -} -.bt2{ - margin-left:5px; - color:#000; - width:62px; - height:25px; - background:url("../images/bt2.png") no-repeat; - } -.bt3{ - margin-left:5px; - color:#000; - width:41px; - height:25px; - background:url("../images/bt3.png") no-repeat; - } -.button1 { - color:#fff; - width:29px; - background:url("../images/bg_button.gif") no-repeat -151px 0; -} -.button2 { - width:48px; - color:#fff; - background:url("../images/bt.png") no-repeat; -} -.button5 { - width:84px; - color:#fff; - background:url("../images/bg_button.gif") no-repeat -96px -43px; -} -.button6 { - width:150px; - height:32px; - line-height:32px; - font-size:14px; - color:#fff; - background:url("../images/bg_button.gif") no-repeat 0 0; - font-weight: bold; -} -.buttonGreen142 { - height:27px; - line-height:27px; - font-size:14px; - width:68px; - color:#fff; - background:url("../images/bg_button.gif") no-repeat 0 -127px; -} -/*灰色*/ -a.buttonGary2, -.buttonGary2 { - width:46px; - color:#000; - background:url("../images/bg_button.gif") no-repeat -46px -85px; -} -/*灰色*/ -.buttonGary4 { - width:69px; - color:#000; - background:url("../images/bg_button.gif") no-repeat -114px -106px; -} -/*灰色*/ -.buttonGary5 { - width:80px; - color:#000; - background:url("../images/bg_button.gif") no-repeat -100px -85px; -} -/* 分页 --------------------------------------------------------------------*/ -.pagelistbox { - font-size: 12px; - clear: both; - line-height: 15px; -} -.pagelistbox a, -.pagelistbox span { - display: block; - background: #fff; - float: left; - color: #29A5C9; - margin-right:0.2em; - padding:0.2em 0.5em; - text-decoration: none; -} -.pagelistbox span{ - color: #B7B7B7; - } -.pagelistbox a:link, .pagelistbox a:visited { - color: #29A5C9; - text-decoration:none; -} -.pagelistbox a:hover, .pagelistbox a:active { - color: #555; - text-decoration:none; -} -.pagelistbox strong { - padding-right: 0.5em; - padding-left: 0.5em; - font-weight: bold; - float: left; - padding-bottom: 0.2em; - color: #555; - padding-top: 0.2em; - margin-right: 0.2em; -} -/*验证码样式 ---------------------*/ -.vermenu{ - background:#FFFFFF none repeat scroll 0 0; - border:1px solid #EEEEEE; - position:absolute; -} -a.changecode{ - color:#333; - } - -/* 好友列表 ------------------------*/ -.dedeRight { - width: 155px; - height:260px; - float:right; -} -.dedeRight dl{ - height:230px; - overflow: auto; -} -.titleBar { - height:20px; - line-height:32px; - overflow: hidden; -} -.titleBar .fLeft { - margin-left: 8px; - color: #000; - display: inline; - line-height: 20px; -} -.titleBar .fRight a{ - margin-right: 5px; - height: 26px; - line-height: 22px; - color:#5F9304; -} -.buddy { - line-height: 24px; -} -.buddy dt { - cursor:pointer; - background-position: 0 -3754px; - background-repeat: no-repeat; - padding-left: 15px; -} -.buddy dt.close { - background-position: 0 -3694px; - background-repeat: no-repeat; - padding-left: 15px; -} -.buddy li { - cursor:default; - border: 1px solid #FFFFFF; -} -.buddy li.hover { - background-color: #F9FCF3; - border: 1px solid #E7F5D3; -} -.buddy span { - margin-top: 5px; - margin-left: 3px; -} -.icon17 { - background-image: url("../images/bg_icon.gif"); -} -.icon16 { - background-image: url("../images/bg_icon.gif"); - background-position: 0 -1400px; - background-repeat: no-repeat; - padding-bottom: 1px; - height: 15px; - width: 16px; - display: block; -} -.button1 { - color:#fff; - width:29px; - border:0px; - height: 21px; - margin-left: 5px; - background:url("../images/bg_button.gif") no-repeat -151px 0; -} - -/* 表格-提交 --------------------------------------------------------------------*/ -table.submit { - border-spacing: 1px; - background-color: #fff; - color: #000; - width: 100%; -} -table.submit td, table.submit th { - padding: 4px; -} -table.submit thead th { - text-align: left; - font-weight: bold; - line-height: 25px; - height: 25px; - background-color: #F0FBDD; -} -table.submit thead a:hover { - text-decoration: none; -} -table.submit thead th img { - vertical-align: middle; -} -table.submit tbody th { - font-weight: bold; -} -table.submit tbody tr { - background-color: #fff; - text-align: left; -} -table.submit tbody tr td { - /*height: 25px;*/ - line-height: 25px; -} -table.submit tbody tr.click td { - background-color: #ffc; -} -table.submit tfoot tr { - color: #333; -} -table.submit tfoot td, table.submit tfoot th { - border-top-width: 1px; - border-top-style: solid; - border-top-color: #F6F6F6; -} -/*/*密码强度*/ -.rank { border:none; background:url("../images/rank.gif") no-repeat; width:145px; height:22px; vertical-align:middle; cursor:default; margin:0 0 0 5px;} -.r0 { background-position:0 2; } -.r1 { background-position:0 -19px; } -.r2 { background-position:0 -40px; } -.r3 { background-position:0 -61px; } -.r4 { background-position:0 -82px; } -.r5 { background-position:0 -103px; } -.r6 { background-position:0 -124px; } -.r7 { background-position:0 -145px; } - -td,th,div { - word-break:break-all; - word-wrap:break-word; - -} -#ContainerPanel td,#ContainerPanel th{ - line-height:25px; - } - -b,strong { - color:#4d6c2f; -} - -li,dd { - list-style-type:none; margin:0px; padding:0px; -} \ No newline at end of file diff --git a/src/member/templets/style/boxy.css b/src/member/templets/style/boxy.css deleted file mode 100755 index 9c0fb5ab..00000000 --- a/src/member/templets/style/boxy.css +++ /dev/null @@ -1,43 +0,0 @@ -.boxy-wrapper { position: absolute; } -.boxy-wrapper.fixed { position: fixed; } - - /* Modal */ - - .boxy-modal-blackout { position: absolute; background-color: black; left: 0; top: 0; } - - /* Border */ - - .boxy-wrapper { empty-cells: show; } - .boxy-wrapper .top-left, - .boxy-wrapper .top-right, - .boxy-wrapper .bottom-right, - .boxy-wrapper .bottom-left { width: 10px; height: 10px; padding: 0 } - - .boxy-wrapper .top-left { background: url('../images/boxy/boxy-nw.gif'); } - .boxy-wrapper .top-right { background: url('../images/boxy/boxy-ne.gif'); } - .boxy-wrapper .bottom-right { background: url('../images/boxy/boxy-se.gif'); } - .boxy-wrapper .bottom-left { background: url('../images/boxy/boxy-sw.gif'); } - - - .boxy-wrapper .top, - .boxy-wrapper .bottom { height: 10px; background-color: black; opacity: 0.6; filter: alpha(opacity=60); padding: 0 } - - .boxy-wrapper .left, - .boxy-wrapper .right { width: 10px; background-color: black; opacity: 0.6; filter: alpha(opacity=60); padding: 0 } - - /* Title bar */ - - .boxy-wrapper .title-bar { background-color: black; padding: 6px; position: relative; } - .boxy-wrapper .title-bar.dragging { cursor: move; } - .boxy-wrapper .title-bar h2 { font-size: 12px; color: white; line-height: 1; margin: 0; padding: 0; font-weight: normal; } - .boxy-wrapper .title-bar .close { color: white; position: absolute; top: 6px; right: 6px; font-size: 90%; line-height: 1; } - - /* Content Region */ - - .boxy-inner { background-color: white; padding: 0 } - .boxy-content { padding: 15px; } - - /* Question Boxes */ - - .boxy-wrapper .question { width: 350px; min-height: 80px; } - .boxy-wrapper .answers { text-align: right; } diff --git a/src/member/templets/style/caicai.css b/src/member/templets/style/caicai.css deleted file mode 100755 index 625c9421..00000000 --- a/src/member/templets/style/caicai.css +++ /dev/null @@ -1,190 +0,0 @@ -/************************************** - 踩踩样式部分(CaicaiStyle) - Update:09-11-19 - Author: From:DesDev INC. -**************************************/ - -@import url("base.css"); - - - -/*----------公用----------*/ -.mt10{ - margin-top:10px; - } -/*----------左侧内容----------*/ -#content #listbox{ - float:left; - width:660px; - overflow:hidden; - padding:5px 10px 43px 10px; - *padding:5px 10px 44px 10px; - _padding:5px 10px 28px 10px; - border:1px solid #dcdcdc; - background-color:#fff; -} -#content #listbox ul li{ - width:100%; - padding:15px 0 1px 0; - *padding:15px 0 6px 0; - _padding:15px 0 8px 0; - color:#999; - border-bottom:1px dotted #000; - overflow:hidden; - clear:both; -} -#content #listbox ul li a.preview{ - float:left; - width:84px; - margin:0 7px 10px 0; - display:inline; -} -#content #listbox ul li a.preview img{ - width:80px; - display:block; - padding:1px; - border:1px solid #EEE; -} -#content #listbox ul li a.preview:hover img{ - border:1px solid #AAA; -} -#content #listbox ul li a.title{ - overflow:hidden; - color:#29a5c9; - font-size:14px; - font-weight:bold; - line-height:20px; -} -#content #listbox ul li span.endpl{ - padding-left:20px; - line-height:20px; - background:url(../images/tag.jpg) 1px no-repeat; - overflow:hidden; - display:block; -} -#content #listbox ul li span.endpl small a{ - color:#5f9304; -} -#content #listbox ul li p.intro{ - line-height:20px; - margin-left:5px; - padding:0 10px; - overflow:hidden; - display:block; -} -#content #listbox ul li span.info{ - color:#e17d32; - display:block; - overflow:hidden; - line-height:20px; -} -#content #listbox ul li span.info small{ - color:#999; - font-size:12px; - margin-left:3px; - } -#content #listbox ul li span.info small.view{ - background:url(../images/view.gif) no-repeat; - padding-left:16px; -} -#content #listbox ul li span.info small.hpd{ - background:url(../images/hpd.gif) no-repeat; - padding-left:16px; -} -#content #listbox ul li span.info small.pl{ - background:url(../images/pl.gif) no-repeat; - padding-left:16px; -} -#content #listbox ul li span.info small.pl a{ - color:#338815; -} -#content #listbox ul li .cbody{ - float:left; width:430px; -} -#content #listbox .pageList{ - color:#999; - margin-top:20px; -} -#content .caicai{ - float:right; -} -#content .caicai div { - cursor:pointer; - float:left; - line-height:32px; - padding-left:20px; - width:45px; -} -#content .caicai .good { - background:transparent url(../images/dig.gif) no-repeat scroll 0 7px; -} -#content .caicai .bad { - background:transparent url(../images/cai.gif) no-repeat scroll 0 7px; -} -/*----------右侧相关内容----------*/ -#content #sidebar{ - float:left; - margin-left:10px; -} -#content #sidebar .s_border{ - width:245px; - border:1px solid #dcdcdc; - background-color:#fff; -} -#content #sidebar .s_title{ - height:28px; - line-height:28px; - padding-left:10px; - color:#999; - font-weight:bold; - background:url(../images/sidebar_title.gif) repeat-x; -} -#content #sidebar .s_border ul{ - padding:15px 7px; -} -#content #sidebar .s_border ul li{ - line-height:23px; - height:23px; - padding-left:15px; - overflow:hidden; - background:url(../images/dot.gif) left no-repeat; -} -#content #sidebar .s_border ul li a{ - color:#29a5c9; -} -#content #sidebar .s_member{ - width:245px; - border:1px solid #dcdcdc; - background-color:#fff; - overflow:hidden; - _padding-bottom:15px; - clear:both; -} -#content #sidebar .s_member ul{ - padding:12px 0px 10px 10px; - overflow:hidden; - clear:both; -} -#content #sidebar .s_member li{ - float:left; - width:50px; - text-align:center; - overflow:hidden; - margin:0 3px 5px 3px; - _margin:0 3px -8px 3px; -} -#content #sidebar .s_member li a{ - color:#29a5c9; - width:48px; - display:inline; -} -#content #sidebar .s_member li a img{ - margin-bottom:5px; - width:44px; - padding:1px; - border:1px solid #EEE; -} -#content #sidebar .s_member li a:hover img{ - border:1px solid #AAA; -} - diff --git a/src/member/templets/style/index.css b/src/member/templets/style/index.css deleted file mode 100755 index 846395b7..00000000 --- a/src/member/templets/style/index.css +++ /dev/null @@ -1,350 +0,0 @@ -/************************************** - 首页样式部分(CaicaiStyle) - Update:09-11-19 - Author: From:DesDev INC. -**************************************/ -@import url("base.css"); -input { - margin:0; - padding:0; -} -.clr{ - clear:both; - } -.f_r{ - float:right; - } -.755 { - width: 755px; - float: right; -} -.main-wrap { - margin-left:10px; - width: 550px; - float: left; -} -.sns-avatar { - height:100px; - overflow:visible; - z-index:10; - min-height:100px; - margin: 10px 0 10px 10px; -} -.sns-avatar dt { - float:left; - height:100px; - margin-right:10px; - width:100px; -} -.s120, .s120 a, .s120 span { - height:100px; - width:100px; -} -.sns-avatar .av-index { - line-height:20px; - color: #525252; -} -.sns-avatar .av-index .name { - font-size:16px; - font-weight:700; - line-height: 20px; - color: #000; -} -ul .name span { - font-size: 12px; - font-weight: normal; - margin-left: 5px; -} -.av-index ul .sign a { - color: #F00; -} -.av-index ul .other { - color: #999; -} -.msg { - width: 430px; - margin-top: 8px; - height: 30px; - line-height: 27px; - overflow: hidden; - float: left; -} -.msg p { - border:1px solid #ffcfa4; - background: #fffef1; - padding-right: 10px; - padding-left: 10px; -} -.msg p em a { - color: #999; -} -.share .share01 { - background: url(../images/feed_6.gif) no-repeat 20px; - height: 16px; -} -.share .share02 { - height: 24px; - background: #e0dfe1; - padding: 11px; -} -#share_textarea { - background: #FFF; - height: 25px; - width: 427px; - line-height: 25px; - font-size: 12px; - border-style: none; - color: #999; - padding-right: 5px; - padding-left: 5px; - float: left; -} -#form1 { - height: 25px; -} -#btn_submit { - background: url(../images/btn1_bg.gif) no-repeat; - height: 22px; - width: 55px; - border-style: none; - color: #FFF; - float: right; - margin-right: 22px; - margin-top: 1.5px; -} -.indexTab { - height: 26px; - margin-top: 14px; - margin-left:10px; -} -.indexTab ul li { - background: #FFF; - margin-left:4px; - float: left; - font-size: 12px; - font-weight: bolder; - margin-bottom:-1px; - position:relative; - z-index:10; - border: 1px solid #dedede; -} -.indexTab ul li a{ - color:#313131; - outline:none; - blr:expression(this.onFocus=this.blur()); - } -.indexTab ul .thisTab { - border-bottom:none; - height: 26px; -} -.indexTab ul .thisTab a { - color:#5f9304; -} -.indexTab ul .thisTab a:hover { - text-decoration:none; -} -.indexTab ul li a { - line-height: 25px; - height: 25px; - float: left; - padding-right: 10px; - padding-left: 10px; -} -#sns-feeds .sns-box { - background: #FFF; - border: 1px solid #ddd; - padding-right: 10px; - padding-left: 10px; - padding-bottom: 20px; -} -#sns-feeds .sns-box .newarticlelist{ - padding-top:10px; - } -#sns-feeds .sns-box .newarticlelist ul li{ - line-height:28px; - background:url(../images/lineDot.gif) left bottom repeat-x; - } -#sns-feeds .sns-box .newarticlelist ul li a{ - color: #2ca9cc; - } -#sns-feeds .sns-box .newarticlelist ul li span{ - float:right; - margin-left:5px; - } -#sns-feeds { - color: #525252; -} -.feeds_title { - line-height: 20px; - padding-left: 24px; - margin-top: 12px; -} -.feeds_title span .act{ - visibility:hidden; - position:absolute; - float:right; - right:0px; - *right:0px; - _right:10px; - z-index: 999; - } -.feeds_title span:hover .act,.feeds_title span.hover .act,.feeds_title span.hover .act:visited { - visibility:visible; -} -.icostow{ - background: url(../images/icon2.png) no-repeat left 3px; -} -.icoaddfriends{ - background: url(../images/icon5.png) no-repeat left 3px; -} -.icofeedback{ - background: url(../images/icon4.gif) no-repeat left 3px; -} -.icoaddsoft{ - background: url(../images/icon1.gif) no-repeat left 3px; -} -.icoadd{ - background: url(../images/icon1.gif) no-repeat left 3px; -} -.feeds_title span { - display: block; - position: relative; -} -.feeds_title span a { - color: #2ca9cc; -} -.feeds_title.icostow span em,.feeds_title.icoaddfriends span em,.feeds_title.icofeedback span em,.feeds_title.icoaddsoft span em,.feeds_title.icoadd span em{ - color: #999; -} -.feeds_title1 { - line-height: 20px; - margin-top: 12px; -} -.feeds_title1 img{ - vertical-align:middle; - } -.feeds_title1 span .act{ - visibility:hidden; - position:absolute; - float:right; - right:0px; - *right:0px; - _right:10px; - z-index: 999; - } -.feeds_title1 span:hover .act,.feeds_title1 span.hover .act,.feeds_title1 span.hover .act:visited { - visibility:visible; -} -.feeds_title1 span { - display: block; - position: relative; -} -.feeds_title1 span a { - color: #2ca9cc; -} -.feeds_title1 span em{ - color:#999; - } - -/* -right -*/ -.col-extra { - width:195px; - float: right; - color: #525252; - margin-right:0!important;; - margin-right:-5px; -} - -.sns-box .hd { - background: url(../images/sns_box.gif); -} -.hd h3 { - line-height: 27px; - font-size: 12px; - color: #FFF; - padding-left: 10px; -} -.statistics { -line-height:22px; -overflow:hidden; -} -.statistics dt { - color:#525252; - float:left; - text-indent:5px; - width:90px; -} -.statistics dd { -clear:right; -color:#5f9304; -} -.sns-avatar-m { - padding-top: 10px; - padding-bottom: 10px; - padding-left: 12px; - overflow:hidden; -} -.sns-avatar-m ul{ - - } -.sns-avatar-m li { - float:left; - margin-right:12px; - padding: 0px; - width: 48px; - text-align: center; -} -.sns-avatar-m ul .pic a img { - margin-bottom: 6px; -} -#mt10 { - margin: 5px 0px 0px; - width: 100%; -} -.sns-avatar-m .pic a { - color:#2ca9cc; -} -.bd{ - height: 55px; - width: 175px; - background: #e0dfe1; - padding-top: 11px; - padding-right: 10px; - padding-left: 10px; -} -.text1{ - width: 132px; - height:23px; - line-height:23px; - background:#FFF; - border:none; - float:left; - color:#525252; - font-size: 12px; - -} -.button1 { - background: #76b63a; - height: 23px; - width: 38px; - border-style: none; - float: right; - color: #FFF; - line-height: 23px; -} -.faceBox { - padding: 8px; - width: 250px; - border: 1px solid #CCC; - background: #FFF; - z-index: 100000; - } -.faceBox ul li { - float: left; - width: 25px; - height: 25px; - overflow: hidden; - } - diff --git a/src/member/templets/style/login.css b/src/member/templets/style/login.css deleted file mode 100755 index c7519d08..00000000 --- a/src/member/templets/style/login.css +++ /dev/null @@ -1,351 +0,0 @@ -@charset "gb2312"; -/* CSS Document */ -@import url("base.css"); -body { - background-color:#f5f5f5; - color:#333; - padding-bottom:10px; -} -button{ -border-style: none; -} -.wrapper { - width: 960px; - margin-right: auto; - margin-left: auto; - padding-top: 6px; - padding-bottom: 6px; - overflow: hidden; -} -.header { - background: url(../images/topbar_bg.gif) repeat; - height: 30px; -} -.header span { - float: right; - line-height:30px; -} -.header .userMenu.fRight li { - float: right; - line-height:30px; - padding-left:5px; - padding-right:5px; -} -.header .userMenu { - width: 180px; -} -.auto960 { - width: 960px; - margin-right: auto; - margin-left: auto; -} -.userMenu li a { - color: #679c0a; -} -.login { - height:300px; -} -.bor { - width: 960px; - margin-right: auto; - margin-left: auto; - background: #FFF; - border: 1px solid #dfdddd; -} -.login .main h3 { - color: #FFF; - background: url(../images/bg_button.png) no-repeat 0px -265px; - height: 44px; - width: 404px; - line-height: 30px; - padding-left: 45px; - margin-top: 20px; - margin-left: 35px; -} -.login .main h3 span { -} -.login .main h3 em { - margin-left: 95px; -} -.login .main h3 em a { - color:#FFF; -} -.login .main h3 em a:hover { - text-decoration:none; -} -.login .main li { - height:25px; - line-height:25px; - margin-bottom:16px; -} -.login .main span { - display:block; - float:left; - text-align:right; - width:85px; -} - -.text{ - background:url(../images/bg_button.png) repeat-x 0 0; - width:224px; - height:19px!important; - height:22px; - line-height: 22px; - float: left; - font-size: 12px; - margin-right: 5px; - padding-right: 3px; - padding-left: 3px; - border: 1px solid #d5d8d1; - padding-top: 3px!important; - padding-top: 0px; -} -.text_s { - border-color: #9bcd81; - background:#f3ffe6; -} -.login_from{ - width:210px; - background: url(../images/bg_button.png) no-repeat 0px -446px; - padding-left:25px; -} -.login_from2{ - width:210px; - background: url(../images/bg_button.png) no-repeat 0px -473px; - padding-left:25px; -} -.login_from3{ - width:210px; -} -.main { - width: 440px; -} -.login.bor .main.fLeft form ul { - margin-top: 5px; -} -.button2 { - background:url(../images/bg_button.png) no-repeat 0px -359px; - color:#FFFFFF; - width:171px; - height: 38px; - margin-left: 37px; - font-weight: bold; - font-size: 14px; - cursor:pointer; -} -.login_sidebar { - height: 146px; - width: 300px; - margin-right: 98px; - margin-top: 60px; - background: url(../images/pe_bg.jpg) no-repeat left; - display: inline; -} -.login_sidebar p { - margin-left: 108px; - margin-top: 15px; - line-height: 20px; -} -.login_sidebar p span { - font-weight: bold; - color: #000; - float: left; -} -.login_sidebar a:hover{ - text-decoration:none; -} -.signUp { - background: url(../images/bg_button.png) no-repeat 0 -321px; - height: 24px; - width: 52px; - display:block; - line-height:24px; - font-weight: bold; - color: #FFF; - font-size: 12px; - margin-left: 110px; - margin-top: 16px; - cursor:pointer; -} -.footer { - height:36px; - line-height:36px; - margin-top: 7px; -} -.footer.bor span { - float: right; -} -.footer.bor span a { - float: left; -} -.mL10 { - margin-left:10px; - display: inline; -} -.mR10 { - margin-right:10px; - display: inline; -} -.tip2 { - margin-left: 68px; - margin-top: 29px; - margin-bottom: 20px; - background: url(../images/bg_button.png) no-repeat 0px -115px; - height: 54px; - width: 537px; -} -.tip3 { - margin-left: 68px; - margin-top: 29px; - margin-bottom: 20px; - background: url(../images/bg_button.png) no-repeat 0px -188px; - height: 54px; - width: 537px; -} -.success { - margin-left: 77px; - background: url(../images/correct.jpg) no-repeat; - padding-left: 70px; - line-height: 20px; - margin-bottom: 32px; -} -.success a { - color: #7eb61a; -} -.login .main form ul li a { - color: #679c0a; -} - - -/* 登录box --------------------------------------------------------------------*/ -.red, .red a:link, .red a:visited, a.red:link, a.red:visited { -color:#FF0000; -text-decoration:none; -} -#login { - background:#fff; - padding-bottom: 25px; -} -.tip1 { - margin-left: 68px; - margin-top: 29px; - margin-bottom: 20px; - background: url(../images/bg_button.png) no-repeat 0px -42px; - height: 54px; - width: 537px; -} -.stip1 { - margin-left: 68px; - margin-top: 29px; - margin-bottom: 20px; - background: url(../images/bg_button.png) no-repeat -185px -312px; - height: 54px; - width: 537px; -} -.stip2 { - margin-left: 68px; - margin-top: 29px; - margin-bottom: 20px; - background: url(../images/bg_button.png) no-repeat -185px -378px; - height: 54px; - width: 537px; -} -#login .ocation { - border-bottom-width: 1px; - border-bottom-style: solid; - border-bottom-color: #ccc; - margin-bottom: 10px; -} -#login .theme { - width: 856px; - clear: both; - padding: 10px; -} - -#login .theme li { - margin-bottom: 20px; - line-height: 20px; - overflow:hidden; - clear:both; -} -#login .theme span{ - color: #000; - width: 130px; - display: block; - float: left; - text-align: right; - overflow:hidden; -} -#login .theme .lform{ - float:right; - width:720px; - } -#login .theme .lform label{ - float:left; - width:80px; - margin-bottom:5px; - } -#login .theme .lform .np{ - margin:0 4px; - } -#login .theme .lform1{ - float:left; - width:570px; - } -#login .theme .lform1 label{ - float:left; - width:80px; - margin-bottom:5px; - } -#login .theme .lform1 .np{ - margin:0 4px; - *margin:0 0 0 -1px; - _margin:0; - } -#login .useNew .signUp { - text-align: right; - font-weight: bold; - margin-top: 30px; -} -.contract { - height: 90px; - text-align: left; - overflow-x: auto; - overflow-y: auto; - border: 1px solid #cccccc; - color: #000000; - font-size: 12px; - line-height: 20px; - background: #fafafa; - padding: 5px; -} -.buttonGreen142 { - background:url(../images/bg_button.png) no-repeat scroll 0px -405px; - color:#FFFFFF; - font-size:14px; - height:38px; - line-height:38px; - width:116px; - font-weight: bold; -} -.clear { - clear: both; -} -.mL68 { - margin-left: 68px; -} -.green { - color: #679c0a; -} -.w200{ - width:200px; -} -/* -date:02-02 -*/ -.vermenu{ - background:#FFFFFF none repeat scroll 0 0; - border:1px solid #EEEEEE; - position:absolute; -} \ No newline at end of file
    下单购买 买家付款