From 4032d98ce1d121a8ba152f43246a1a88ecfe046a Mon Sep 17 00:00:00 2001 From: kongyuebin Date: Fri, 12 Nov 2021 23:05:58 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4=E4=B8=8D=E5=B1=9E=E4=BA=8E?= =?UTF-8?q?=E8=81=9A=E5=90=88=E6=94=AF=E4=BB=98=E7=9A=84=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=90=8E=E5=8F=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- legend/common/const.go | 4 - legend/conf/app.conf | 12 - legend/controllers/areaController.go | 75 --- legend/controllers/base/baseController.go | 28 - legend/controllers/default.go | 15 - legend/controllers/expection/expection.go | 19 - legend/controllers/groupController.go | 53 -- legend/controllers/indexController.go | 16 - legend/controllers/loginController.go | 62 -- legend/controllers/logoutController.go | 29 - legend/controllers/showPageController.go | 164 ----- legend/controllers/templeteController.go | 86 --- legend/filter/loginFilter.go | 28 - legend/go.mod | 11 - legend/go.sum | 285 --------- legend/main.go | 48 -- legend/models/fast/accountInfoDao.go | 38 -- legend/models/fast/bankCardInfoDao.go | 39 -- legend/models/fast/merchantDeployInfo.go | 32 - legend/models/fast/merchantInfoDao.go | 67 -- legend/models/fast/orderInfoDao.go | 63 -- legend/models/init.go | 62 -- legend/models/legend/legendAnyMoneyDao.go | 61 -- legend/models/legend/legendAreaDao.go | 92 --- legend/models/legend/legendBaseDao.go | 6 - legend/models/legend/legendFixMoneyDao.go | 83 --- legend/models/legend/legendFixPresentDao.go | 81 --- legend/models/legend/legendGroupDao.go | 90 --- legend/models/legend/legendScalePresentDao.go | 81 --- .../models/legend/legendScaleTempleteDao.go | 100 --- legend/request/areaReq.go | 9 - legend/request/templateReq.go | 23 - legend/response/areaResp.go | 16 - legend/response/baseResp.go | 6 - legend/response/groupResp.go | 10 - legend/response/templateResp.go | 24 - legend/routers/router.go | 64 -- legend/service/accountService.go | 31 - legend/service/areaService.go | 98 --- legend/service/baseService.go | 4 - legend/service/groupService.go | 87 --- legend/service/loginService.go | 78 --- legend/service/logoutService.go | 5 - legend/service/merchantService.go | 54 -- legend/service/templeteService.go | 516 ---------------- legend/static/data/area-list.json | 68 -- legend/static/data/area.json | 97 --- legend/static/data/everyday.json | 82 --- legend/static/data/group-list.json | 74 --- legend/static/data/group.json | 92 --- legend/static/data/imitate.json | 108 ---- legend/static/data/json.json | 1 - legend/static/data/order.json | 118 ---- legend/static/data/settle.json | 108 ---- legend/static/js/html5.min.js | 1 - legend/static/js/jquery-3.5.1.min.js | 2 - legend/static/js/reload.min.js | 1 - legend/static/js/respond.min.js | 5 - legend/static/x-admin/css/font.css | 16 - legend/static/x-admin/css/login.css | 105 ---- legend/static/x-admin/css/theme1.css | 21 - legend/static/x-admin/css/theme2.css | 21 - legend/static/x-admin/css/theme3.css | 22 - legend/static/x-admin/css/theme4.css | 21 - legend/static/x-admin/css/theme5.css | 27 - legend/static/x-admin/css/xadmin.css | 534 ---------------- legend/static/x-admin/fonts/iconfont.eot | Bin 49600 -> 0 bytes legend/static/x-admin/fonts/iconfont.svg | 477 -------------- legend/static/x-admin/fonts/iconfont.ttf | Bin 49432 -> 0 bytes legend/static/x-admin/fonts/iconfont.woff | Bin 30200 -> 0 bytes legend/static/x-admin/images/aiwrap.png | Bin 3032 -> 0 bytes legend/static/x-admin/images/bg.png | Bin 28211 -> 0 bytes legend/static/x-admin/js/jquery.min.js | 4 - legend/static/x-admin/js/xadmin.js | 584 ------------------ legend/static/x-admin/js/xcity.js | 506 --------------- legend/static/x-admin/lib/layui/css/layui.css | 2 - .../x-admin/lib/layui/css/layui.mobile.css | 2 - .../x-admin/lib/layui/css/modules/code.css | 2 - .../css/modules/laydate/default/laydate.css | 2 - .../css/modules/layer/default/icon-ext.png | Bin 5911 -> 0 bytes .../layui/css/modules/layer/default/icon.png | Bin 11493 -> 0 bytes .../layui/css/modules/layer/default/layer.css | 2 - .../css/modules/layer/default/loading-0.gif | Bin 5793 -> 0 bytes .../css/modules/layer/default/loading-1.gif | Bin 701 -> 0 bytes .../css/modules/layer/default/loading-2.gif | Bin 1787 -> 0 bytes .../x-admin/lib/layui/font/iconfont.eot | Bin 40844 -> 0 bytes .../x-admin/lib/layui/font/iconfont.svg | 473 -------------- .../x-admin/lib/layui/font/iconfont.ttf | Bin 40668 -> 0 bytes .../x-admin/lib/layui/font/iconfont.woff | Bin 26744 -> 0 bytes .../x-admin/lib/layui/images/face/0.gif | Bin 2689 -> 0 bytes .../x-admin/lib/layui/images/face/1.gif | Bin 5514 -> 0 bytes .../x-admin/lib/layui/images/face/10.gif | Bin 2797 -> 0 bytes .../x-admin/lib/layui/images/face/11.gif | Bin 4121 -> 0 bytes .../x-admin/lib/layui/images/face/12.gif | Bin 3361 -> 0 bytes .../x-admin/lib/layui/images/face/13.gif | Bin 7425 -> 0 bytes .../x-admin/lib/layui/images/face/14.gif | Bin 2375 -> 0 bytes .../x-admin/lib/layui/images/face/15.gif | Bin 1793 -> 0 bytes .../x-admin/lib/layui/images/face/16.gif | Bin 6721 -> 0 bytes .../x-admin/lib/layui/images/face/17.gif | Bin 4439 -> 0 bytes .../x-admin/lib/layui/images/face/18.gif | Bin 3017 -> 0 bytes .../x-admin/lib/layui/images/face/19.gif | Bin 3040 -> 0 bytes .../x-admin/lib/layui/images/face/2.gif | Bin 3222 -> 0 bytes .../x-admin/lib/layui/images/face/20.gif | Bin 5144 -> 0 bytes .../x-admin/lib/layui/images/face/21.gif | Bin 5191 -> 0 bytes .../x-admin/lib/layui/images/face/22.gif | Bin 9823 -> 0 bytes .../x-admin/lib/layui/images/face/23.gif | Bin 3792 -> 0 bytes .../x-admin/lib/layui/images/face/24.gif | Bin 8096 -> 0 bytes .../x-admin/lib/layui/images/face/25.gif | Bin 3127 -> 0 bytes .../x-admin/lib/layui/images/face/26.gif | Bin 3291 -> 0 bytes .../x-admin/lib/layui/images/face/27.gif | Bin 4377 -> 0 bytes .../x-admin/lib/layui/images/face/28.gif | Bin 2793 -> 0 bytes .../x-admin/lib/layui/images/face/29.gif | Bin 4854 -> 0 bytes .../x-admin/lib/layui/images/face/3.gif | Bin 4017 -> 0 bytes .../x-admin/lib/layui/images/face/30.gif | Bin 2555 -> 0 bytes .../x-admin/lib/layui/images/face/31.gif | Bin 2002 -> 0 bytes .../x-admin/lib/layui/images/face/32.gif | Bin 3481 -> 0 bytes .../x-admin/lib/layui/images/face/33.gif | Bin 2454 -> 0 bytes .../x-admin/lib/layui/images/face/34.gif | Bin 3700 -> 0 bytes .../x-admin/lib/layui/images/face/35.gif | Bin 1800 -> 0 bytes .../x-admin/lib/layui/images/face/36.gif | Bin 2331 -> 0 bytes .../x-admin/lib/layui/images/face/37.gif | Bin 1513 -> 0 bytes .../x-admin/lib/layui/images/face/38.gif | Bin 3615 -> 0 bytes .../x-admin/lib/layui/images/face/39.gif | Bin 6495 -> 0 bytes .../x-admin/lib/layui/images/face/4.gif | Bin 5689 -> 0 bytes .../x-admin/lib/layui/images/face/40.gif | Bin 3154 -> 0 bytes .../x-admin/lib/layui/images/face/41.gif | Bin 3644 -> 0 bytes .../x-admin/lib/layui/images/face/42.gif | Bin 5305 -> 0 bytes .../x-admin/lib/layui/images/face/43.gif | Bin 2674 -> 0 bytes .../x-admin/lib/layui/images/face/44.gif | Bin 4126 -> 0 bytes .../x-admin/lib/layui/images/face/45.gif | Bin 3417 -> 0 bytes .../x-admin/lib/layui/images/face/46.gif | Bin 3007 -> 0 bytes .../x-admin/lib/layui/images/face/47.gif | Bin 2333 -> 0 bytes .../x-admin/lib/layui/images/face/48.gif | Bin 2689 -> 0 bytes .../x-admin/lib/layui/images/face/49.gif | Bin 2315 -> 0 bytes .../x-admin/lib/layui/images/face/5.gif | Bin 4567 -> 0 bytes .../x-admin/lib/layui/images/face/50.gif | Bin 5866 -> 0 bytes .../x-admin/lib/layui/images/face/51.gif | Bin 2785 -> 0 bytes .../x-admin/lib/layui/images/face/52.gif | Bin 777 -> 0 bytes .../x-admin/lib/layui/images/face/53.gif | Bin 2127 -> 0 bytes .../x-admin/lib/layui/images/face/54.gif | Bin 2196 -> 0 bytes .../x-admin/lib/layui/images/face/55.gif | Bin 1971 -> 0 bytes .../x-admin/lib/layui/images/face/56.gif | Bin 2034 -> 0 bytes .../x-admin/lib/layui/images/face/57.gif | Bin 2705 -> 0 bytes .../x-admin/lib/layui/images/face/58.gif | Bin 2258 -> 0 bytes .../x-admin/lib/layui/images/face/59.gif | Bin 10311 -> 0 bytes .../x-admin/lib/layui/images/face/6.gif | Bin 2213 -> 0 bytes .../x-admin/lib/layui/images/face/60.gif | Bin 3245 -> 0 bytes .../x-admin/lib/layui/images/face/61.gif | Bin 2495 -> 0 bytes .../x-admin/lib/layui/images/face/62.gif | Bin 2017 -> 0 bytes .../x-admin/lib/layui/images/face/63.gif | Bin 5871 -> 0 bytes .../x-admin/lib/layui/images/face/64.gif | Bin 6448 -> 0 bytes .../x-admin/lib/layui/images/face/65.gif | Bin 3576 -> 0 bytes .../x-admin/lib/layui/images/face/66.gif | Bin 3029 -> 0 bytes .../x-admin/lib/layui/images/face/67.gif | Bin 2701 -> 0 bytes .../x-admin/lib/layui/images/face/68.gif | Bin 1424 -> 0 bytes .../x-admin/lib/layui/images/face/69.gif | Bin 2431 -> 0 bytes .../x-admin/lib/layui/images/face/7.gif | Bin 3398 -> 0 bytes .../x-admin/lib/layui/images/face/70.gif | Bin 4590 -> 0 bytes .../x-admin/lib/layui/images/face/71.gif | Bin 5304 -> 0 bytes .../x-admin/lib/layui/images/face/8.gif | Bin 4050 -> 0 bytes .../x-admin/lib/layui/images/face/9.gif | Bin 4221 -> 0 bytes .../x-admin/lib/layui/lay/modules/carousel.js | 2 - .../x-admin/lib/layui/lay/modules/code.js | 2 - .../lib/layui/lay/modules/colorpicker.js | 2 - .../x-admin/lib/layui/lay/modules/element.js | 2 - .../x-admin/lib/layui/lay/modules/flow.js | 2 - .../x-admin/lib/layui/lay/modules/form.js | 2 - .../x-admin/lib/layui/lay/modules/jquery.js | 5 - .../x-admin/lib/layui/lay/modules/laydate.js | 2 - .../x-admin/lib/layui/lay/modules/layedit.js | 2 - .../x-admin/lib/layui/lay/modules/layer.js | 2 - .../x-admin/lib/layui/lay/modules/laypage.js | 2 - .../x-admin/lib/layui/lay/modules/laytpl.js | 2 - .../x-admin/lib/layui/lay/modules/mobile.js | 2 - .../x-admin/lib/layui/lay/modules/rate.js | 2 - .../x-admin/lib/layui/lay/modules/slider.js | 2 - .../x-admin/lib/layui/lay/modules/table.js | 2 - .../x-admin/lib/layui/lay/modules/tree.js | 2 - .../x-admin/lib/layui/lay/modules/upload.js | 2 - .../x-admin/lib/layui/lay/modules/util.js | 2 - legend/static/x-admin/lib/layui/layui.all.js | 5 - legend/static/x-admin/lib/layui/layui.js | 2 - legend/tests/default_test.go | 39 -- legend/utils/dateTime.go | 13 - legend/utils/encryption.go | 68 -- legend/utils/strongToFloat.go | 47 -- legend/utils/tableTool.go | 12 - legend/views/area-add.html | 149 ----- legend/views/area-charge-count.html | 100 --- legend/views/area-edit.html | 166 ----- legend/views/area-list.html | 137 ---- legend/views/error/404.html | 24 - legend/views/error/503.html | 24 - legend/views/everyday-charge-count.html | 100 --- legend/views/favicon.png | Bin 7928 -> 0 bytes legend/views/group-charge-count.html | 99 --- legend/views/group-list.html | 185 ------ legend/views/imitate-order.html | 117 ---- legend/views/index.html | 188 ------ legend/views/login.html | 69 --- legend/views/merchant-key.html | 92 --- legend/views/order-list.html | 185 ------ legend/views/person.html | 103 --- legend/views/scale-template.html | 124 ---- legend/views/settle-list.html | 118 ---- legend/views/template-add.html | 343 ---------- legend/views/template-edit.html | 484 --------------- legend/views/welcome.html | 186 ------ 208 files changed, 9653 deletions(-) delete mode 100644 legend/common/const.go delete mode 100644 legend/conf/app.conf delete mode 100644 legend/controllers/areaController.go delete mode 100644 legend/controllers/base/baseController.go delete mode 100644 legend/controllers/default.go delete mode 100644 legend/controllers/expection/expection.go delete mode 100644 legend/controllers/groupController.go delete mode 100644 legend/controllers/indexController.go delete mode 100644 legend/controllers/loginController.go delete mode 100644 legend/controllers/logoutController.go delete mode 100644 legend/controllers/showPageController.go delete mode 100644 legend/controllers/templeteController.go delete mode 100644 legend/filter/loginFilter.go delete mode 100644 legend/go.mod delete mode 100644 legend/go.sum delete mode 100644 legend/main.go delete mode 100644 legend/models/fast/accountInfoDao.go delete mode 100644 legend/models/fast/bankCardInfoDao.go delete mode 100644 legend/models/fast/merchantDeployInfo.go delete mode 100644 legend/models/fast/merchantInfoDao.go delete mode 100644 legend/models/fast/orderInfoDao.go delete mode 100644 legend/models/init.go delete mode 100644 legend/models/legend/legendAnyMoneyDao.go delete mode 100644 legend/models/legend/legendAreaDao.go delete mode 100644 legend/models/legend/legendBaseDao.go delete mode 100644 legend/models/legend/legendFixMoneyDao.go delete mode 100644 legend/models/legend/legendFixPresentDao.go delete mode 100644 legend/models/legend/legendGroupDao.go delete mode 100644 legend/models/legend/legendScalePresentDao.go delete mode 100644 legend/models/legend/legendScaleTempleteDao.go delete mode 100644 legend/request/areaReq.go delete mode 100644 legend/request/templateReq.go delete mode 100644 legend/response/areaResp.go delete mode 100644 legend/response/baseResp.go delete mode 100644 legend/response/groupResp.go delete mode 100644 legend/response/templateResp.go delete mode 100644 legend/routers/router.go delete mode 100644 legend/service/accountService.go delete mode 100644 legend/service/areaService.go delete mode 100644 legend/service/baseService.go delete mode 100644 legend/service/groupService.go delete mode 100644 legend/service/loginService.go delete mode 100644 legend/service/logoutService.go delete mode 100644 legend/service/merchantService.go delete mode 100644 legend/service/templeteService.go delete mode 100644 legend/static/data/area-list.json delete mode 100644 legend/static/data/area.json delete mode 100644 legend/static/data/everyday.json delete mode 100644 legend/static/data/group-list.json delete mode 100644 legend/static/data/group.json delete mode 100644 legend/static/data/imitate.json delete mode 100644 legend/static/data/json.json delete mode 100644 legend/static/data/order.json delete mode 100644 legend/static/data/settle.json delete mode 100644 legend/static/js/html5.min.js delete mode 100644 legend/static/js/jquery-3.5.1.min.js delete mode 100644 legend/static/js/reload.min.js delete mode 100644 legend/static/js/respond.min.js delete mode 100644 legend/static/x-admin/css/font.css delete mode 100644 legend/static/x-admin/css/login.css delete mode 100644 legend/static/x-admin/css/theme1.css delete mode 100644 legend/static/x-admin/css/theme2.css delete mode 100644 legend/static/x-admin/css/theme3.css delete mode 100644 legend/static/x-admin/css/theme4.css delete mode 100644 legend/static/x-admin/css/theme5.css delete mode 100644 legend/static/x-admin/css/xadmin.css delete mode 100644 legend/static/x-admin/fonts/iconfont.eot delete mode 100644 legend/static/x-admin/fonts/iconfont.svg delete mode 100644 legend/static/x-admin/fonts/iconfont.ttf delete mode 100644 legend/static/x-admin/fonts/iconfont.woff delete mode 100644 legend/static/x-admin/images/aiwrap.png delete mode 100644 legend/static/x-admin/images/bg.png delete mode 100644 legend/static/x-admin/js/jquery.min.js delete mode 100644 legend/static/x-admin/js/xadmin.js delete mode 100644 legend/static/x-admin/js/xcity.js delete mode 100644 legend/static/x-admin/lib/layui/css/layui.css delete mode 100644 legend/static/x-admin/lib/layui/css/layui.mobile.css delete mode 100644 legend/static/x-admin/lib/layui/css/modules/code.css delete mode 100644 legend/static/x-admin/lib/layui/css/modules/laydate/default/laydate.css delete mode 100644 legend/static/x-admin/lib/layui/css/modules/layer/default/icon-ext.png delete mode 100644 legend/static/x-admin/lib/layui/css/modules/layer/default/icon.png delete mode 100644 legend/static/x-admin/lib/layui/css/modules/layer/default/layer.css delete mode 100644 legend/static/x-admin/lib/layui/css/modules/layer/default/loading-0.gif delete mode 100644 legend/static/x-admin/lib/layui/css/modules/layer/default/loading-1.gif delete mode 100644 legend/static/x-admin/lib/layui/css/modules/layer/default/loading-2.gif delete mode 100644 legend/static/x-admin/lib/layui/font/iconfont.eot delete mode 100644 legend/static/x-admin/lib/layui/font/iconfont.svg delete mode 100644 legend/static/x-admin/lib/layui/font/iconfont.ttf delete mode 100644 legend/static/x-admin/lib/layui/font/iconfont.woff delete mode 100644 legend/static/x-admin/lib/layui/images/face/0.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/1.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/10.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/11.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/12.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/13.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/14.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/15.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/16.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/17.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/18.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/19.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/2.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/20.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/21.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/22.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/23.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/24.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/25.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/26.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/27.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/28.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/29.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/3.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/30.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/31.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/32.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/33.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/34.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/35.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/36.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/37.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/38.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/39.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/4.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/40.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/41.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/42.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/43.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/44.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/45.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/46.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/47.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/48.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/49.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/5.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/50.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/51.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/52.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/53.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/54.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/55.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/56.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/57.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/58.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/59.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/6.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/60.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/61.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/62.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/63.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/64.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/65.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/66.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/67.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/68.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/69.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/7.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/70.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/71.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/8.gif delete mode 100644 legend/static/x-admin/lib/layui/images/face/9.gif delete mode 100644 legend/static/x-admin/lib/layui/lay/modules/carousel.js delete mode 100644 legend/static/x-admin/lib/layui/lay/modules/code.js delete mode 100644 legend/static/x-admin/lib/layui/lay/modules/colorpicker.js delete mode 100644 legend/static/x-admin/lib/layui/lay/modules/element.js delete mode 100644 legend/static/x-admin/lib/layui/lay/modules/flow.js delete mode 100644 legend/static/x-admin/lib/layui/lay/modules/form.js delete mode 100644 legend/static/x-admin/lib/layui/lay/modules/jquery.js delete mode 100644 legend/static/x-admin/lib/layui/lay/modules/laydate.js delete mode 100644 legend/static/x-admin/lib/layui/lay/modules/layedit.js delete mode 100644 legend/static/x-admin/lib/layui/lay/modules/layer.js delete mode 100644 legend/static/x-admin/lib/layui/lay/modules/laypage.js delete mode 100644 legend/static/x-admin/lib/layui/lay/modules/laytpl.js delete mode 100644 legend/static/x-admin/lib/layui/lay/modules/mobile.js delete mode 100644 legend/static/x-admin/lib/layui/lay/modules/rate.js delete mode 100644 legend/static/x-admin/lib/layui/lay/modules/slider.js delete mode 100644 legend/static/x-admin/lib/layui/lay/modules/table.js delete mode 100644 legend/static/x-admin/lib/layui/lay/modules/tree.js delete mode 100644 legend/static/x-admin/lib/layui/lay/modules/upload.js delete mode 100644 legend/static/x-admin/lib/layui/lay/modules/util.js delete mode 100644 legend/static/x-admin/lib/layui/layui.all.js delete mode 100644 legend/static/x-admin/lib/layui/layui.js delete mode 100644 legend/tests/default_test.go delete mode 100644 legend/utils/dateTime.go delete mode 100644 legend/utils/encryption.go delete mode 100644 legend/utils/strongToFloat.go delete mode 100644 legend/utils/tableTool.go delete mode 100644 legend/views/area-add.html delete mode 100644 legend/views/area-charge-count.html delete mode 100644 legend/views/area-edit.html delete mode 100644 legend/views/area-list.html delete mode 100644 legend/views/error/404.html delete mode 100644 legend/views/error/503.html delete mode 100644 legend/views/everyday-charge-count.html delete mode 100644 legend/views/favicon.png delete mode 100644 legend/views/group-charge-count.html delete mode 100644 legend/views/group-list.html delete mode 100644 legend/views/imitate-order.html delete mode 100644 legend/views/index.html delete mode 100644 legend/views/login.html delete mode 100644 legend/views/merchant-key.html delete mode 100644 legend/views/order-list.html delete mode 100644 legend/views/person.html delete mode 100644 legend/views/scale-template.html delete mode 100644 legend/views/settle-list.html delete mode 100644 legend/views/template-add.html delete mode 100644 legend/views/template-edit.html delete mode 100644 legend/views/welcome.html diff --git a/legend/common/const.go b/legend/common/const.go deleted file mode 100644 index ff779ea..0000000 --- a/legend/common/const.go +++ /dev/null @@ -1,4 +0,0 @@ -package common - -const ACTIVE = "active" -const UNACTIVE = "unactive" diff --git a/legend/conf/app.conf b/legend/conf/app.conf deleted file mode 100644 index 7a807af..0000000 --- a/legend/conf/app.conf +++ /dev/null @@ -1,12 +0,0 @@ -appname = merchant -httpport = 8080 -runmode = dev - -dbtype = mysql - -[legend] -host = localhost -port = 3306 -username = root -password = Kyb^15273031604 -dbname = juhe_pay \ No newline at end of file diff --git a/legend/controllers/areaController.go b/legend/controllers/areaController.go deleted file mode 100644 index 44d77b1..0000000 --- a/legend/controllers/areaController.go +++ /dev/null @@ -1,75 +0,0 @@ -package controllers - -import ( - "legend/controllers/base" - "legend/request" - "legend/service" -) - -type AreaController struct { - base.BasicController -} - -func (c *AreaController) getRequestPrams() *request.AreaReq { - req := new(request.AreaReq) - req.AreaName = c.GetString("areaName") - req.GroupName = c.GetString("groupName") - req.TemplateName = c.GetString("templateName") - req.NotifyUrl = c.GetString("notifyUrl") - req.AttachParams = c.GetString("attachParams") - return req -} - -func (c *AreaController) AreaAdd() { - - req := c.getRequestPrams() - - se := new(service.AreaService) - area := se.AddArea(req) - - c.Data["json"] = area - _ = c.ServeJSON() -} - -func (c *AreaController) AreaEdit() { - req := c.getRequestPrams() - uid := c.GetString("uid") - - se := new(service.AreaService) - resp := se.EditArea(req, uid) - - c.Data["json"] = resp - - _ = c.ServeJSON() -} - -func (c *AreaController) AreaList() { - page, _ := c.GetInt("page") - limit, _ := c.GetInt("limit") - - se := new(service.AreaService) - list := se.AreaList(page, limit) - - c.Data["json"] = list - _ = c.ServeJSON() -} - -func (c *AreaController) AreaDelete() { - uid := c.GetString("uid") - - se := new(service.AreaService) - resp := se.DeleteArea(uid) - c.Data["json"] = resp - - _ = c.ServeJSON() -} - -func (c *AreaController) AreaGet() { - uid := c.GetString("uid") - - se := new(service.AreaService) - resp := se.GetArea(uid) - - c.Data["json"] = resp - _ = c.ServeJSON() -} diff --git a/legend/controllers/base/baseController.go b/legend/controllers/base/baseController.go deleted file mode 100644 index 90bfcd7..0000000 --- a/legend/controllers/base/baseController.go +++ /dev/null @@ -1,28 +0,0 @@ -package base - -import ( - "github.com/beego/beego/v2/core/logs" - "github.com/beego/beego/v2/server/web" - "legend/models/fast" -) - -/** -** 基础controller插件,重写一些公共的方法 - */ -type BasicController struct { - web.Controller -} - -func (c *BasicController) Prepare() { - - userName, ok := c.GetSession("userName").(string) - if ok { - logs.Info("该用户已经登录, userName:", userName) - userInfo := fast.GetMerchantInfoByUserName(userName) - if userInfo.LoginAccount != "" { - c.Data["nickName"] = userInfo.MerchantName - c.Data["merchantUid"] = userInfo.MerchantUid - } - } else { - } -} diff --git a/legend/controllers/default.go b/legend/controllers/default.go deleted file mode 100644 index c02a230..0000000 --- a/legend/controllers/default.go +++ /dev/null @@ -1,15 +0,0 @@ -package controllers - -import ( - beego "github.com/beego/beego/v2/server/web" -) - -type MainController struct { - beego.Controller -} - -func (c *MainController) Get() { - c.Data["Website"] = "beego.me" - c.Data["Email"] = "astaxie@gmail.com" - c.TplName = "index.tpl" -} diff --git a/legend/controllers/expection/expection.go b/legend/controllers/expection/expection.go deleted file mode 100644 index 426f549..0000000 --- a/legend/controllers/expection/expection.go +++ /dev/null @@ -1,19 +0,0 @@ -package expection - -import ( - "github.com/beego/beego/v2/server/web" - "html/template" - "net/http" -) - -func PageNotFind(rw http.ResponseWriter, r *http.Request) { - t, _ := template.New("404.html").ParseFiles(web.BConfig.WebConfig.ViewsPath + "/error/404.html") - data := make(map[string]interface{}) - t.Execute(rw, data) -} - -func SystemExpection(rw http.ResponseWriter, r *http.Request) { - t, _ := template.New("503.html").ParseFiles(web.BConfig.WebConfig.ViewsPath + "/error/503.html") - data := make(map[string]interface{}) - t.Execute(rw, data) -} diff --git a/legend/controllers/groupController.go b/legend/controllers/groupController.go deleted file mode 100644 index 4cbc871..0000000 --- a/legend/controllers/groupController.go +++ /dev/null @@ -1,53 +0,0 @@ -package controllers - -import ( - "legend/controllers/base" - "legend/service" -) - -type GroupController struct { - base.BasicController -} - -func (c *GroupController) AddGroup() { - groupName := c.GetString("groupName") - - se := new(service.GroupService) - resp := se.GroupAdd(groupName) - - c.Data["json"] = resp - _ = c.ServeJSON() -} - -func (c *GroupController) ListGroup() { - page, _ := c.GetInt("page") - limit, _ := c.GetInt("limit") - - se := new(service.GroupService) - list := se.GroupList(page, limit) - - c.Data["json"] = list - _ = c.ServeJSON() -} - -func (c *GroupController) DeleteGroup() { - uid := c.GetString("uid") - - se := new(service.GroupService) - resp := se.GroupDelete(uid) - - c.Data["json"] = resp - _ = c.ServeJSON() -} - -func (c *GroupController) EditGroup() { - - uid := c.GetString("uid") - groupName := c.GetString("groupName") - - se := new(service.GroupService) - resp := se.GroupEdit(uid, groupName) - - c.Data["json"] = resp - _ = c.ServeJSON() -} diff --git a/legend/controllers/indexController.go b/legend/controllers/indexController.go deleted file mode 100644 index 719576f..0000000 --- a/legend/controllers/indexController.go +++ /dev/null @@ -1,16 +0,0 @@ -package controllers - -import ( - "legend/controllers/base" -) - -type IndexController struct { - base.BasicController -} - -/** -** 用户登录后跳转的页面,也是后台的整个主题框架 - */ -func (c *IndexController) Index() { - c.TplName = "index.html" -} diff --git a/legend/controllers/loginController.go b/legend/controllers/loginController.go deleted file mode 100644 index 0f6c463..0000000 --- a/legend/controllers/loginController.go +++ /dev/null @@ -1,62 +0,0 @@ -package controllers - -import ( - "github.com/beego/beego/v2/core/logs" - "github.com/beego/beego/v2/server/web" - "legend/service" -) - -type LoginController struct { - web.Controller -} - -/** -**展示登录页面 - */ -func (c *LoginController) LoginPage() { - c.TplName = "login.html" -} - -/** -** 处理登录逻辑 - */ -func (c *LoginController) Login() { - - userName := c.GetString("username") - password := c.GetString("password") - - logs.Info("username:"+userName, ";password: "+password) - - loginService := new(service.LoginService) - - loginJsonData := loginService.Login(userName, password) - if loginJsonData.Code == 200 { - _ = c.SetSession("userName", userName) - } - - c.Data["json"] = loginJsonData - - err := c.ServeJSON() - if err != nil { - logs.Error("错误:", err) - } -} - -/** -** 更新登录密码 - */ -func (c *LoginController) PersonPassword() { - oldPassword := c.GetString("oldpass") - newPassword := c.GetString("newpass") - repeatPassword := c.GetString("repass") - - logs.Debug("用户跟换密码,旧密码:%s, 新密码:%s,确认密码:%s", oldPassword, newPassword, repeatPassword) - - userNname := c.GetSession("userName").(string) - - loginService := new(service.LoginService) - loginJsonData := loginService.PersonPassword(newPassword, oldPassword, repeatPassword, userNname) - - c.Data["json"] = loginJsonData - _ = c.ServeJSON() -} diff --git a/legend/controllers/logoutController.go b/legend/controllers/logoutController.go deleted file mode 100644 index 147dd6c..0000000 --- a/legend/controllers/logoutController.go +++ /dev/null @@ -1,29 +0,0 @@ -package controllers - -import ( - "github.com/beego/beego/v2/core/logs" - "github.com/beego/beego/v2/server/web" -) - -type LogoutController struct { - web.Controller -} - -func (c *LogoutController) Logout() { - if err := c.DelSession("username"); err != nil { - logs.Error("用户退出登录出错,错误信息:", err) - } - c.Redirect("/login.html", 302) -} - -/** -** 切换用户登录 - */ -func (c *LogoutController) SwitchLogin() { - err := c.DelSession("username") - if err != nil { - logs.Error("切换账号失败,错误信息:", err) - } - - c.Redirect("/login.html", 302) -} diff --git a/legend/controllers/showPageController.go b/legend/controllers/showPageController.go deleted file mode 100644 index 6a7c3d3..0000000 --- a/legend/controllers/showPageController.go +++ /dev/null @@ -1,164 +0,0 @@ -package controllers - -import ( - "fmt" - "github.com/beego/beego/v2/core/logs" - "legend/controllers/base" - "legend/service" - "legend/utils" -) - -type ShowPageController struct { - base.BasicController -} - -func (c *ShowPageController) FaviconPage() { - c.TplName = "favicon.png" -} - -/** -** 展示后台第一个页面 - */ -func (c *ShowPageController) WelcomePage() { - - userName := c.GetSession("userName").(string) - - fmt.Println(userName) - - accountService := new(service.AccountService) - accountInfo := accountService.GetAccountInfo(userName) - - logs.Debug("account信息:", accountInfo) - - c.Data["balance"] = accountInfo.Balance - c.Data["unBalance"] = accountInfo.FreezeAmount - c.Data["settleAmount"] = accountInfo.SettleAmount - // 获取今天充值金额 - todayIncome := accountService.GetTodayIncome() - logs.Debug("获取到当天充值金额:", todayIncome) - c.Data["todayAmount"] = todayIncome - - c.TplName = "welcome.html" -} - -/** -** 展示商户密钥 - */ -func (c *ShowPageController) MerchantKeyPage() { - userName := c.GetSession("userName").(string) - - merchantService := new(service.MerchantService) - userInfo, bankInfo := merchantService.GetMerchantBankInfo(userName) - - c.Data["currentTime"] = utils.GetNowTime() - c.Data["userName"] = userName - c.Data["userInfo"] = userInfo - c.Data["bankInfo"] = bankInfo - c.TplName = "merchant-key.html" -} - -/** -** 比例模板 - */ -func (c *ShowPageController) ScaleTemplatePage() { - c.TplName = "scale-template.html" -} - -/** -** 增加模板 - */ -func (c *ShowPageController) TemplateAdd() { - c.TplName = "template-add.html" -} - -func (c *ShowPageController) TemplateEdit() { - templateName := c.GetString("templateName") - fmt.Println(templateName) - c.Data["scaleTemplateName"] = templateName - c.TplName = "template-edit.html" -} - -/** -** 分组列表 - */ -func (c *ShowPageController) GroupListPage() { - c.TplName = "group-list.html" -} - -/** -** 分区列表 - */ -func (c *ShowPageController) AreaListPage() { - c.TplName = "area-list.html" -} - -func (c *ShowPageController) AreaEdit() { - uid := c.GetString("uid") - c.Data["uid"] = uid - c.TplName = "area-edit.html" -} - -/** -** 充值订单 - */ -func (c *ShowPageController) OrderListPage() { - c.TplName = "order-list.html" -} - -/** -** 模拟充值 - */ -func (c *ShowPageController) ImitateChargePage() { - c.TplName = "imitate-order.html" -} - -/** -** 结算管理 - */ -func (c *ShowPageController) SettleListPage() { - c.TplName = "settle-list.html" -} - -/** -**每日充值统计 - */ -func (c *ShowPageController) EverydayChargeCountPage() { - c.TplName = "everyday-charge-count.html" -} - -/** -** 分组充值统计 - */ -func (c *ShowPageController) GroupChargeCountPage() { - c.TplName = "group-charge-count.html" -} - -/** -** 分区充值统计 - */ -func (c *ShowPageController) AreaChargePage() { - c.TplName = "area-charge-count.html" -} - -/** -** 创建分区和编辑分区 - */ -func (c *ShowPageController) AreaAddOrEdit() { - c.TplName = "area-add.html" -} - -/** -** 个人页面 - */ -func (c *ShowPageController) PersonPage() { - userName, ok := c.GetSession("userName").(string) - if !ok { - c.Abort("404") - } else { - merchantService := new(service.MerchantService) - userInfo := merchantService.MerchantInfo(userName) - c.Data["userName"] = userInfo.MerchantName - } - - c.TplName = "person.html" -} diff --git a/legend/controllers/templeteController.go b/legend/controllers/templeteController.go deleted file mode 100644 index 19d0cec..0000000 --- a/legend/controllers/templeteController.go +++ /dev/null @@ -1,86 +0,0 @@ -package controllers - -import ( - "fmt" - "github.com/beego/beego/v2/core/logs" - "legend/controllers/base" - "legend/request" - "legend/service" - "legend/utils" - "strings" -) - -type TemplateController struct { - base.BasicController -} - -func (c *TemplateController) TemplateAdd() { - - addTemplate := new(request.AddTemplateReq) - if err := c.ParseForm(addTemplate); err != nil { - logs.Error("错误:", err) - } - - addTemplate.FixPrices = utils.StringToFloats(c.GetString("fixPrices")) - addTemplate.PresentFixMoneys = utils.StringToFloats(c.GetString("presentFixMoneys")) - addTemplate.PresentFixPresentMoneys = utils.StringToFloats(c.GetString("presentFixPresentMoneys")) - addTemplate.PresentScaleMoneys = utils.StringToFloats(c.GetString("presentScaleMoneys")) - addTemplate.PresentScales = utils.StringToFloats(c.GetString("presentScales")) - - addTemplate.FixUids = strings.Split(c.GetString("fixUids"), ",") - addTemplate.GoodsNames = strings.Split(c.GetString("goodsNames"), ",") - addTemplate.GoodsNos = strings.Split(c.GetString("goodsNos"), ",") - - addTemplate.PresentFixUids = strings.Split(c.GetString("presentFixUids"), ",") - addTemplate.PresentScaleUids = strings.Split(c.GetString("presentScaleUids"), ",") - addTemplate.Limits = utils.StringToInt(c.GetString("limits")) - - se := new(service.TemplateService) - merchantUid := c.Data["merchantUid"].(string) - t := c.GetString("type") - if t == "edit" { - c.Data["json"] = se.UpdateTemplate(addTemplate, merchantUid) - } else { - c.Data["json"] = se.AddTemplate(addTemplate, merchantUid) - } - - _ = c.ServeJSON() -} - -func (c *TemplateController) TemplateList() { - - page, _ := c.GetInt("page") - limit, _ := c.GetInt("limit") - - se := new(service.TemplateService) - list := se.GetTemplateList(page, limit) - - c.Data["json"] = list - _ = c.ServeJSON() -} - -func (c *TemplateController) TemplateDelete() { - templateName := c.GetString("TemplateName") - - logs.Debug("template TemplateName :", templateName) - - se := new(service.TemplateService) - baseResp := se.DeleteTemplate(templateName) - - c.Data["json"] = baseResp - _ = c.ServeJSON() -} - -func (c *TemplateController) TemplateAllInfo() { - templateName := c.GetString("scaleTemplateName") - logs.Debug("获取到的scaleTemplateName:", templateName) - - se := new(service.TemplateService) - allInfo := se.AllTemplateInfo(templateName) - - logs.Debug("scale template all info:", fmt.Sprintf("%+v", allInfo)) - - c.Data["json"] = allInfo - - _ = c.ServeJSON() -} diff --git a/legend/filter/loginFilter.go b/legend/filter/loginFilter.go deleted file mode 100644 index 8a31a0c..0000000 --- a/legend/filter/loginFilter.go +++ /dev/null @@ -1,28 +0,0 @@ -package filter - -import ( - "github.com/beego/beego/v2/adapter/logs" - "github.com/beego/beego/v2/server/web/context" - "strings" -) - -/** -** 对所有的用户请求进行登录判断,如果未登录跳转到登录页面 -** 但是对登录请求不进行过滤 - */ -var LoginFilter = func(ctx *context.Context) { - - _, ok := ctx.Input.Session("userName").(string) - if !ok { - if ctx.Request.RequestURI == "/login.html" { - return - } - - if !strings.Contains(ctx.Request.RequestURI, "/login") { - ctx.Redirect(302, "/login.html") - } else { - logs.Error("该用户没有登录.......") - } - } - -} diff --git a/legend/go.mod b/legend/go.mod deleted file mode 100644 index 1d2f570..0000000 --- a/legend/go.mod +++ /dev/null @@ -1,11 +0,0 @@ -module legend - -go 1.13 - -require github.com/beego/beego/v2 v2.0.1 - -require ( - github.com/go-sql-driver/mysql v1.5.0 - github.com/rs/xid v1.3.0 - github.com/smartystreets/goconvey v1.6.4 -) diff --git a/legend/go.sum b/legend/go.sum deleted file mode 100644 index 5830c7b..0000000 --- a/legend/go.sum +++ /dev/null @@ -1,285 +0,0 @@ -cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/Knetic/govaluate v3.0.0+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= -github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alicebob/gopher-json v0.0.0-20180125190556-5a6b3ba71ee6/go.mod h1:SGnFV6hVsYE877CKEZ6tDNTjaSXYUk6QqoIK6PrAtcc= -github.com/alicebob/miniredis v2.5.0+incompatible/go.mod h1:8HZjEj4yU0dwhYHky+DxYx+6BMjkBbe5ONFIF1MXffk= -github.com/astaxie/beego v1.12.3 h1:SAQkdD2ePye+v8Gn1r4X6IKZM1wd28EyUOVQ3PDSOOQ= -github.com/astaxie/beego v1.12.3/go.mod h1:p3qIm0Ryx7zeBHLljmd7omloyca1s4yu1a8kM1FkpIA= -github.com/beego/beego/v2 v2.0.1 h1:07a7Z0Ok5vbqyqh+q53sDPl9LdhKh0ZDy3gbyGrhFnE= -github.com/beego/beego/v2 v2.0.1/go.mod h1:8zyHi1FnWO1mZLwTn62aKRIZF/aIKvkCBB2JYs+eqQI= -github.com/beego/goyaml2 v0.0.0-20130207012346-5545475820dd/go.mod h1:1b+Y/CofkYwXMUU0OhQqGvsY2Bvgr4j6jfT699wyZKQ= -github.com/beego/x2j v0.0.0-20131220205130-a0352aadc542/go.mod h1:kSeGC/p1AbBiEp5kat81+DSQrZenVBZXklMLaELspWU= -github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= -github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/bradfitz/gomemcache v0.0.0-20180710155616-bc664df96737/go.mod h1:PmM6Mmwb0LSuEubjR8N7PtNe1KxZLtOUHtbeikc5h60= -github.com/casbin/casbin v1.7.0/go.mod h1:c67qKN6Oum3UF5Q1+BByfFxkwKvhwW57ITjqwtzR1KE= -github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY= -github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudflare/golz4 v0.0.0-20150217214814-ef862a3cdc58/go.mod h1:EOBUe0h4xcZ5GoxqC5SDxFQ8gwyZPKQoEzownBlhI80= -github.com/coreos/etcd v3.3.25+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= -github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= -github.com/coreos/go-systemd v0.0.0-20191104093116-d3cd4ed1dbcf/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= -github.com/couchbase/go-couchbase v0.0.0-20200519150804-63f3cdb75e0d/go.mod h1:TWI8EKQMs5u5jLKW/tsb9VwauIrMIxQG1r5fMsswK5U= -github.com/couchbase/gomemcached v0.0.0-20200526233749-ec430f949808/go.mod h1:srVSlQLB8iXBVXHgnqemxUXqN6FCvClgCMPCsjBDR7c= -github.com/couchbase/goutils v0.0.0-20180530154633-e865a1461c8a/go.mod h1:BQwMFlJzDjFDG3DJUdU0KORxn88UlsOULuxLExMh3Hs= -github.com/cupcake/rdb v0.0.0-20161107195141-43ba34106c76/go.mod h1:vYwsqCOLxGiisLwp9rITslkFNpZD5rz43tf41QFkTWY= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/edsrzf/mmap-go v0.0.0-20170320065105-0bce6a688712/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= -github.com/elastic/go-elasticsearch/v6 v6.8.5/go.mod h1:UwaDJsD3rWLM5rKNFzv9hgox93HoX8utj1kxD9aFUcI= -github.com/elazarl/go-bindata-assetfs v1.0.0 h1:G/bYguwHIzWq9ZoyUQqrjTmJbbYn3j3CKKpKinvZLFk= -github.com/elazarl/go-bindata-assetfs v1.0.0/go.mod h1:v+YaWX3bdea5J/mo8dSETolEo7R71Vk1u8bnjau5yw4= -github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= -github.com/glendc/gopher-json v0.0.0-20170414221815-dc4743023d0c/go.mod h1:Gja1A+xZ9BoviGJNA2E9vFkPjjsl+CoJxSXiQM1UXtw= -github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= -github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= -github.com/go-redis/redis v6.14.2+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA= -github.com/go-redis/redis/v7 v7.4.0/go.mod h1:JDNMw23GTyLNC4GZu9njt15ctBQVn7xjRfnwdHj/Dcg= -github.com/go-sql-driver/mysql v1.5.0 h1:ozyZYNQW3x3HtqT1jira07DN2PArx2v7/mN66gGcHOs= -github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= -github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= -github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= -github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= -github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= -github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= -github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= -github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= -github.com/golang/protobuf v1.4.2 h1:+Z5KGCizgyZCbGh1KZqA0fcLLkwbsjIzS4aV2v7wJX0= -github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/snappy v0.0.0-20170215233205-553a64147049/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/gomodule/redigo v2.0.0+incompatible/go.mod h1:B4C85qUVwatsJoIUNIfCRsp7qO0iAmpGFZ4EELWSbC4= -github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= -github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.0 h1:/QaMHBdZ26BB3SSst0Iwl10Epc+xhTquomWX0oZEB6w= -github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8= -github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= -github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= -github.com/hashicorp/golang-lru v0.5.4 h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc= -github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= -github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= -github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= -github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= -github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= -github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= -github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= -github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/ledisdb/ledisdb v0.0.0-20200510135210-d35789ec47e6/go.mod h1:n931TsDuKuq+uX4v1fulaMbA/7ZLLhjc85h7chZGBCQ= -github.com/lib/pq v1.0.0 h1:X5PMW56eZitiTeO7tKzZxFCSpbFZJtkMMooicw2us9A= -github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/mattn/go-sqlite3 v2.0.3+incompatible h1:gXHsfypPkaMZrKbD5209QV9jbUTJKjyR5WD3HYQSd+U= -github.com/mattn/go-sqlite3 v2.0.3+incompatible/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= -github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU= -github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/mitchellh/mapstructure v1.3.3 h1:SzB1nHZ2Xi+17FP0zVQBHIZqvwRN9408fJO8h+eeNA8= -github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= -github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.10.1/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.12.0/go.mod h1:oUhWkIvk5aDxtKvDDuw8gItl8pKl42LzjC9KZE0HfGg= -github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= -github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= -github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= -github.com/pelletier/go-toml v1.0.1/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= -github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= -github.com/pelletier/go-toml v1.8.1/go.mod h1:T2/BmBdy8dvIRq1a/8aqjN41wvWlN4lrapLU/GW4pbc= -github.com/peterh/liner v1.0.1-0.20171122030339-3681c2a91233/go.mod h1:xIteQHvHuaLYG9IFj6mSxM0fCKrs34IrEQUhOYuGPHc= -github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= -github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= -github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= -github.com/prometheus/client_golang v1.7.0 h1:wCi7urQOGBsYcQROHqpUUX4ct84xp40t9R9JX0FuA/U= -github.com/prometheus/client_golang v1.7.0/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= -github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= -github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.2.0 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M= -github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.10.0 h1:RyRA7RzGXQZiW+tGMr7sxa85G1z0yOpM1qq5c8lNawc= -github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= -github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.1.3 h1:F0+tqvhOksq22sc6iCHF5WGlWjdwj92p0udFh1VFBS8= -github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= -github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rs/xid v1.3.0 h1:6NjYksEUlhurdVehpc7S7dk6DAmcKv8V9gG0FsVN2U4= -github.com/rs/xid v1.3.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= -github.com/shiena/ansicolor v0.0.0-20151119151921-a422bbe96644 h1:X+yvsM2yrEktyI+b2qND5gpH8YhURn0k8OCaeRnkINo= -github.com/shiena/ansicolor v0.0.0-20151119151921-a422bbe96644/go.mod h1:nkxAfR/5quYxwPZhyDxgasBMnRtBZd0FCEpawpjMUFg= -github.com/siddontang/go v0.0.0-20170517070808-cb568a3e5cc0/go.mod h1:3yhqj7WBBfRhbBlzyOC3gUxftwsU0u8gqevxwIHQpMw= -github.com/siddontang/goredis v0.0.0-20150324035039-760763f78400/go.mod h1:DDcKzU3qCuvj/tPnimWSsZZzvk9qvkvrIL5naVBPh5s= -github.com/siddontang/rdb v0.0.0-20150307021120-fc89ed2e418d/go.mod h1:AMEsy7v5z92TR1JKMkLLoaOQk++LVnOKL3ScbJ8GNGA= -github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= -github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM= -github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= -github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s= -github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= -github.com/ssdb/gossdb v0.0.0-20180723034631-88f6b59b84ec/go.mod h1:QBvMkMya+gXctz3kmljlUCu/yB3GZ6oee+dUozsezQE= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk= -github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/syndtr/goleveldb v0.0.0-20160425020131-cfa635847112/go.mod h1:Z4AUp2Km+PwemOoO/VB5AOx9XSsIItzFjoJlOSiYmn0= -github.com/syndtr/goleveldb v0.0.0-20181127023241-353a9fca669c/go.mod h1:Z4AUp2Km+PwemOoO/VB5AOx9XSsIItzFjoJlOSiYmn0= -github.com/ugorji/go v0.0.0-20171122102828-84cb69a8af83/go.mod h1:hnLbHMwcvSihnDhEfx2/BzKp2xb0Y+ErdfYcrs9tkJQ= -github.com/wendal/errors v0.0.0-20130201093226-f66c77a7882b/go.mod h1:Q12BUT7DqIlHRmgv3RskH+UCM/4eqVMgI0EMmlSpAXc= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/gopher-lua v0.0.0-20171031051903-609c9cd26973/go.mod h1:aEV29XrmTYFr3CiRxZeGHpkvbwq+prZduBqMaascyCU= -go.etcd.io/etcd v3.3.25+incompatible/go.mod h1:yaeTdrJi5lOmYerz05bd8+V7KubZs8YSFZfzsF9A6aI= -go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= -go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU= -go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= -go.uber.org/zap v1.15.0/go.mod h1:Mb2vm2krFEG5DV0W9qcHBYFtp/Wku1cvYaqPsS/WYfc= -golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9 h1:psW17arqaxU48Z5kZ0CQnkZWQJsqcURM6tKiBApRjXI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= -golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= -golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.3.0 h1:RM4zey1++hCTbCVQfnWeKs9/IEsaBLA8vTkd0WVtmH4= -golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20201021035429-f5854403a974 h1:IX6qOQeG5uLjB/hjjwjedwfjND0hgjPMMyO1RoIXQNI= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191010194322-b09406accb47/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f h1:+Nyd8tzPX9R7BWHguqsrbFdRx3WQ/1ib8I44HXV5yTA= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= -golang.org/x/text v0.3.3 h1:cokOdA+Jmi5PJGXLlLllQSgYigAEfHXJAERHVMaCc2k= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= -golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20201211185031-d93e913c1a58 h1:1Bs6RVeBFtLZ8Yi1Hk07DiOqzvwLD/4hln4iahvFlag= -golang.org/x/tools v0.0.0-20201211185031-d93e913c1a58/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= -google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= -google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= -google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= -google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= -google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= -google.golang.org/protobuf v1.23.0 h1:4MY060fB1DLGMB/7MBTLnwQUY6+F09GEiz6SsrNqyzM= -google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU= -gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= -gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= -gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA= -gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= -gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= -honnef.co/go/tools v0.0.1-2020.1.5/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= diff --git a/legend/main.go b/legend/main.go deleted file mode 100644 index aeb5a50..0000000 --- a/legend/main.go +++ /dev/null @@ -1,48 +0,0 @@ -package main - -import ( - "github.com/beego/beego/v2/core/logs" - beego "github.com/beego/beego/v2/server/web" - "legend/controllers/expection" - _ "legend/models" - _ "legend/routers" -) - -func main() { - beego.BConfig.WebConfig.Session.SessionOn = true - RegisterLogs() - RegisterErrorHandler() - beego.Run() -} - -/** -**注册错误页面 - */ -func RegisterErrorHandler() { - beego.ErrorHandler("404", expection.PageNotFind) - beego.ErrorHandler("503", expection.SystemExpection) -} - -/** -** 注册日志信息 - */ -func RegisterLogs() { - logs.SetLogger(logs.AdapterFile, - `{ - "filename":"../../logs/legend.log", - "level":4, - "maxlines":0, - "maxsize":0, - "daily":true, - "maxdays":10, - "color":true - }`) - - f := &logs.PatternLogFormatter{ - Pattern: "%F:%n|%w%t>> %m", - WhenFormat: "2006-01-02", - } - - logs.RegisterFormatter("pattern", f) - _ = logs.SetGlobalFormatter("pattern") -} diff --git a/legend/models/fast/accountInfoDao.go b/legend/models/fast/accountInfoDao.go deleted file mode 100644 index 5046512..0000000 --- a/legend/models/fast/accountInfoDao.go +++ /dev/null @@ -1,38 +0,0 @@ -package fast - -import ( - "github.com/beego/beego/v2/client/orm" - "github.com/beego/beego/v2/core/logs" -) - -type AccountInfo struct { - Id string `orm:"pk;column(id)"` - Status string - AccountUid string - AccountName string - Balance float64 - SettleAmount float64 - LoanAmount float64 - WaitAmount float64 - FreezeAmount float64 - PayforAmount float64 - UpdateTime string - CreateTime string -} - -const ACCOUNTINFO = "account_info" - -func (c *AccountInfo) TableName() string { - return "account_info" -} - -func GetAccountInfo(accountUid string) *AccountInfo { - o := orm.NewOrm() - - account := new(AccountInfo) - if _, err := o.QueryTable(ACCOUNTINFO).Filter("account_uid", accountUid).All(account); err != nil { - logs.Error("获取account信息失败:", err) - } - - return account -} diff --git a/legend/models/fast/bankCardInfoDao.go b/legend/models/fast/bankCardInfoDao.go deleted file mode 100644 index 7d6d6b8..0000000 --- a/legend/models/fast/bankCardInfoDao.go +++ /dev/null @@ -1,39 +0,0 @@ -package fast - -import ( - "github.com/beego/beego/v2/client/orm" - "github.com/beego/beego/v2/core/logs" -) - -type BankCardInfo struct { - Id string `orm:"pk;column(id)"` - Uid string - UserName string - BankName string - BankCode string - BankAccountType string - AccountName string - BankNo string - IdentifyCard string - CertificateNo string - PhoneNo string - BankAddress string - CreateTime string - UpdateTime string -} - -const BANKCARDINFO = "bank_card_info" - -func (c *BankCardInfo) TableName() string { - return BANKCARDINFO -} - -func GetBankCardInfoByUserNo(merchantNo string) *BankCardInfo { - o := orm.NewOrm() - bankCardInfo := new(BankCardInfo) - if _, err := o.QueryTable(BANKCARDINFO).Filter("user_name", merchantNo).Limit(1).All(bankCardInfo); err != nil { - - logs.Error("获取用户银行卡信息失败:", err) - } - return bankCardInfo -} diff --git a/legend/models/fast/merchantDeployInfo.go b/legend/models/fast/merchantDeployInfo.go deleted file mode 100644 index 9894e0f..0000000 --- a/legend/models/fast/merchantDeployInfo.go +++ /dev/null @@ -1,32 +0,0 @@ -package fast - -import ( - "github.com/beego/beego/v2/client/orm" - "github.com/beego/beego/v2/core/logs" -) - -type MerchantDeployInfo struct { - Id string `orm:"pk;column(id)"` - Status string - MerchantUid string - PayType string - SingleRoadUid string - SingleRoadName string -} - -const MERCHANTDEPLOYINFO = "merchant_deploy_info" - -func (c *MerchantDeployInfo) TableName() string { - return MERCHANTDEPLOYINFO -} - -func GetUserPayConfigByUserNo(userNo string) *MerchantDeployInfo { - o := orm.NewOrm() - userPayConfig := new(MerchantDeployInfo) - _, err := o.QueryTable(MERCHANTDEPLOYINFO).Filter("user_no", userNo).All(userPayConfig) - if err != nil { - logs.Error("获取用户支付配置错误:", err) - } - - return userPayConfig -} diff --git a/legend/models/fast/merchantInfoDao.go b/legend/models/fast/merchantInfoDao.go deleted file mode 100644 index 005100f..0000000 --- a/legend/models/fast/merchantInfoDao.go +++ /dev/null @@ -1,67 +0,0 @@ -package fast - -import ( - "github.com/beego/beego/v2/client/orm" - "github.com/beego/beego/v2/core/logs" -) - -type MerchantInfo struct { - Id string `orm:"pk;column(id)"` - Status string - BelongAgentUid string - BelongAgentName string - MerchantName string - MerchantUid string - MerchantKey string - MerchantSecret string - LoginAccount string - LoginPassword string - AutoSettle string - AutoPayFor string - WhiteIps string - Remark string - SinglePayForRoadUid string - SinglePayForRoadName string - RollPayForRoadCode string - RollPayForRoadName string - PayforFee string - CreateTime string - UpdateTime string -} - -func (c *MerchantInfo) TableName() string { - return "merchant_info" - -} - -func tableName() string { - return "merchant_info" -} - -func GetMerchantInfoByUserName(userName string) *MerchantInfo { - - o := orm.NewOrm() - userInfo := new(MerchantInfo) - - _, err := o.QueryTable(tableName()).Filter("login_account", userName).All(userInfo) - - if err != nil { - logs.Error("根据用户名从数据获取用户信息失败:", err) - } - - return userInfo -} - -/** -** 更新用户信息 - */ -func UpdateMerchantInfo(merchantInfo *MerchantInfo) bool { - o := orm.NewOrm() - - if _, err := o.Update(merchantInfo); err != nil { - logs.Error("更新用户信息失败,错误:%s", err) - return false - } - - return true -} diff --git a/legend/models/fast/orderInfoDao.go b/legend/models/fast/orderInfoDao.go deleted file mode 100644 index 925ba8c..0000000 --- a/legend/models/fast/orderInfoDao.go +++ /dev/null @@ -1,63 +0,0 @@ -package fast - -import ( - "github.com/beego/beego/v2/adapter/orm" - "github.com/beego/beego/v2/core/logs" -) - -type OrderInfo struct { - Id string `orm:"pk;column(id)"` - MerchantOrderId string - ShopName string - OrderPeriod string - BankOrderId string - BankTransId string - OrderAmount float64 - ShowAmount float64 - FactAmount float64 - RollPoolCode string - RollPoolName string - RoadUid string - RoadName string - PayProductCode string - PayProductName string - PayTypeCode string - PayTypeName string - OsType string - Status string - Refund string - RefundTime string - Freeze string - FreezeTime string - Unfreeze string - UnfreezeTime string - ReturnUrl string - NotifyUrl string - MerchantUid string - MerchantName string - AgentUid string - AgentName string - Response string - UpdateTime string - CreateTime string -} - -const ORDERINFO = "order_info" - -func (c *OrderInfo) TableName() string { - return ORDERINFO -} - -/** -** 获取短时间内的充值金额 - */ -func GetRangeDateIncome(startTime, endTime string) float64 { - o := orm.NewOrm() - sum := 0.00 - err := o.Raw("select sum(order_amount) from order_info where status = ? and create_time >= ? and create_time <= ?", "success", startTime, endTime).QueryRow(&sum) - if err != nil { - logs.Error("获取短时间内金额失败,err:", err) - } - - return sum -} diff --git a/legend/models/init.go b/legend/models/init.go deleted file mode 100644 index c966edf..0000000 --- a/legend/models/init.go +++ /dev/null @@ -1,62 +0,0 @@ -package models - -import ( - "fmt" - "github.com/beego/beego/v2/client/orm" - "github.com/beego/beego/v2/core/logs" - "github.com/beego/beego/v2/server/web" - _ "github.com/go-sql-driver/mysql" - "legend/models/fast" - "legend/models/legend" - "os" -) - -/** -** 链接数据库,注册已经存在的数据表,进行orm映射操作 - */ -func init() { - initLegend() -} - -/** -** 初始化传奇支付系统的mysql数据库 - */ -func initLegend() { - dbType, _ := web.AppConfig.String("dbtype") - mysqlHost, _ := web.AppConfig.String("legend::host") - mysqlPort, _ := web.AppConfig.String("legend::port") - mysqlUserName, _ := web.AppConfig.String("legend::username") - mysqlPassword, _ := web.AppConfig.String("legend::password") - mysqlDbName, _ := web.AppConfig.String("legend::dbname") - - logs.Info("host:%s, port:%s, usreName:%s, password:%s, dbname:%s", mysqlHost, mysqlPort, - mysqlUserName, mysqlPassword, mysqlDbName) - - pStr := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8&loc=Local", - mysqlUserName, mysqlPassword, mysqlHost, mysqlPort, mysqlDbName) - - if err := orm.RegisterDataBase("default", dbType, pStr); err != nil { - logs.Error("init legend fail:%s", err) - os.Exit(1) - } - - orm.SetMaxIdleConns("default", 30) - orm.SetMaxIdleConns("default", 30) - - orm.RegisterModel(new(fast.MerchantInfo)) - orm.RegisterModel(new(fast.MerchantDeployInfo)) - orm.RegisterModel(new(fast.BankCardInfo)) - orm.RegisterModel(new(fast.AccountInfo)) - orm.RegisterModel(new(fast.OrderInfo)) - - orm.RegisterModel(new(legend.AnyMoney)) - orm.RegisterModel(new(legend.FixMoney)) - orm.RegisterModel(new(legend.FixPresent)) - orm.RegisterModel(new(legend.ScalePresent)) - orm.RegisterModel(new(legend.ScaleTemplate)) - orm.RegisterModel(new(legend.Group)) - orm.RegisterModel(new(legend.Area)) - - logs.Info("init legend success ......") - -} diff --git a/legend/models/legend/legendAnyMoneyDao.go b/legend/models/legend/legendAnyMoneyDao.go deleted file mode 100644 index 06e1943..0000000 --- a/legend/models/legend/legendAnyMoneyDao.go +++ /dev/null @@ -1,61 +0,0 @@ -package legend - -import ( - "github.com/beego/beego/v2/client/orm" - "github.com/beego/beego/v2/core/logs" -) - -type AnyMoney struct { - Id int `orm:"pk;column(id)"` - TemplateName string - GameMoneyName string - GameMoneyScale int - LimitLow float64 - BaseDao -} - -const ANYMONEY = "legend_any_money" - -func (c *AnyMoney) TableName() string { - return ANYMONEY -} - -func InsertAnyMoney(anyMoney *AnyMoney) bool { - o := orm.NewOrm() - if _, err := o.Insert(anyMoney); err != nil { - logs.Error("insert any money info err: ", err) - return false - } - - return true -} - -func GetAnyMoneyByName(name string) *AnyMoney { - o := orm.NewOrm() - anyMoney := new(AnyMoney) - if _, err := o.QueryTable(ANYMONEY).Filter("template_name", name).Limit(1).All(anyMoney); err != nil { - logs.Error("get any money err:", err) - } - return anyMoney -} - -func DeleteAnyMoney(templateName string) bool { - o := orm.NewOrm() - _, err := o.QueryTable(ANYMONEY).Filter("template_name", templateName).Delete() - if err != nil { - logs.Error("delete any money err:", err) - return false - } - - return true -} - -func UpdateAnyMoney(anyMoney *AnyMoney) bool { - o := orm.NewOrm() - if _, err := o.Update(anyMoney); err != nil { - logs.Error("update any money err: ", err) - return false - } - - return true -} diff --git a/legend/models/legend/legendAreaDao.go b/legend/models/legend/legendAreaDao.go deleted file mode 100644 index 8c684fa..0000000 --- a/legend/models/legend/legendAreaDao.go +++ /dev/null @@ -1,92 +0,0 @@ -package legend - -import ( - "github.com/beego/beego/v2/client/orm" - "github.com/beego/beego/v2/core/logs" -) - -type Area struct { - Id int `orm:"pk;column(id)"` - AreaName string - Uid string - GroupName string - TemplateName string - NotifyUrl string - AttachParams string - BaseDao -} - -const AREA = "legend_area" - -func (c *Area) TableName() string { - return AREA -} - -func InsertArea(area *Area) bool { - o := orm.NewOrm() - if _, err := o.Insert(area); err != nil { - logs.Error("insert area err: ", err) - return false - } - return true -} - -func GetAreaByName(name string) *Area { - o := orm.NewOrm() - area := new(Area) - if _, err := o.QueryTable(AREA).Filter("area_name", name).Limit(1).All(area); err != nil { - logs.Error("get area by name err:", err) - } - - return area -} - -func GetAreaAllCount() int { - o := orm.NewOrm() - count, err := o.QueryTable(AREA).Count() - if err != nil { - logs.Error("get area all count err:", err) - } - - return int(count) -} - -func GetAreaList(offset, limit int) []Area { - o := orm.NewOrm() - var areas []Area - if _, err := o.QueryTable(AREA).Limit(limit, offset).OrderBy("-create_time").All(&areas); err != nil { - logs.Error(" get area list err:", err) - } - - return areas -} - -func GetAreaByUid(uid string) *Area { - o := orm.NewOrm() - area := new(Area) - if _, err := o.QueryTable(AREA).Filter("uid", uid).Limit(1).All(area); err != nil { - logs.Error(" get area by uid err : ", err) - } - - return area -} - -func UpdateArea(area *Area) bool { - o := orm.NewOrm() - if _, err := o.Update(area); err != nil { - logs.Error("update area err:", err) - return false - } - - return true -} - -func DeleteAreaByUid(uid string) bool { - o := orm.NewOrm() - if _, err := o.QueryTable(AREA).Filter("uid", uid).Delete(); err != nil { - logs.Error(" delete area by uid err:", err) - return false - } - - return true -} diff --git a/legend/models/legend/legendBaseDao.go b/legend/models/legend/legendBaseDao.go deleted file mode 100644 index 7a72f65..0000000 --- a/legend/models/legend/legendBaseDao.go +++ /dev/null @@ -1,6 +0,0 @@ -package legend - -type BaseDao struct { - UpdateTime string - CreateTime string -} diff --git a/legend/models/legend/legendFixMoneyDao.go b/legend/models/legend/legendFixMoneyDao.go deleted file mode 100644 index 2e7d313..0000000 --- a/legend/models/legend/legendFixMoneyDao.go +++ /dev/null @@ -1,83 +0,0 @@ -package legend - -import ( - "github.com/beego/beego/v2/client/orm" - "github.com/beego/beego/v2/core/logs" -) - -type FixMoney struct { - Id int `orm:"pk;column(id)"` - Uid string - TemplateName string - Price float64 - GoodsName string - GoodsNo string - BuyTimes int - BaseDao -} - -const FIXMONEY = "legend_fix_money" - -func (c *FixMoney) TableName() string { - return FIXMONEY -} - -func InsertFixMoney(fixMoney *FixMoney) bool { - o := orm.NewOrm() - if _, err := o.Insert(fixMoney); err != nil { - logs.Error("insert fix money err: ", err) - return false - } - - return true -} - -func GetFixMoneyByName(name string) []FixMoney { - o := orm.NewOrm() - var fixMoneys []FixMoney - if _, err := o.QueryTable(FIXMONEY).Filter("template_name", name).Limit(-1).All(&fixMoneys); err != nil { - logs.Error("get fix money err:", err) - } - - return fixMoneys -} - -func GetFixMoneyByUid(uid string) *FixMoney { - o := orm.NewOrm() - fixMoney := new(FixMoney) - if _, err := o.QueryTable(FIXMONEY).Filter("uid", uid).Limit(1).All(fixMoney); err != nil { - logs.Error("get fix Money by uid err:", err) - } - - return fixMoney -} - -func DeleteFixMoney(templateName string) bool { - o := orm.NewOrm() - if _, err := o.QueryTable(FIXMONEY).Filter("template_name", templateName).Delete(); err != nil { - logs.Error("delete fix money err:", err) - return false - } - - return true -} - -func DeleteFixMoneyByUid(uid string) bool { - o := orm.NewOrm() - if _, err := o.QueryTable(FIXMONEY).Filter("uid", uid).Delete(); err != nil { - logs.Error("delete fix money err:", err) - return false - } - - return true -} - -func UpdateFixMoney(fixMoney *FixMoney) bool { - o := orm.NewOrm() - if _, err := o.Update(fixMoney); err != nil { - logs.Error("update fix money err: ", err) - return false - } - - return true -} diff --git a/legend/models/legend/legendFixPresentDao.go b/legend/models/legend/legendFixPresentDao.go deleted file mode 100644 index dbfa4ce..0000000 --- a/legend/models/legend/legendFixPresentDao.go +++ /dev/null @@ -1,81 +0,0 @@ -package legend - -import ( - "github.com/beego/beego/v2/client/orm" - "github.com/beego/beego/v2/core/logs" -) - -type FixPresent struct { - Id int `orm:"pk;column(id)"` - Uid string - TemplateName string - Money float64 - PresentMoney float64 - BaseDao -} - -const FIXPRESENT = "legend_fix_present" - -func (c *FixPresent) TableName() string { - return FIXPRESENT -} - -func InsertFixPresent(fixPresnet *FixPresent) bool { - o := orm.NewOrm() - if _, err := o.Insert(fixPresnet); err != nil { - logs.Error("insert fix present err:", err) - return false - } - - return true -} - -func GetFixPresentsByName(name string) []FixPresent { - o := orm.NewOrm() - var fixPresents []FixPresent - if _, err := o.QueryTable(FIXPRESENT).Filter("template_name", name).Limit(-1).All(&fixPresents); err != nil { - logs.Error("get fix presents err:", err) - } - - return fixPresents -} - -func GetFixPresentByUid(uid string) *FixPresent { - o := orm.NewOrm() - fixPresent := new(FixPresent) - if _, err := o.QueryTable(FIXPRESENT).Filter("uid", uid).Limit(1).All(fixPresent); err != nil { - logs.Error("get fix present err:", err) - } - - return fixPresent -} - -func DeleteFixPresent(templateName string) bool { - o := orm.NewOrm() - if _, err := o.QueryTable(FIXPRESENT).Filter("template_name", templateName).Delete(); err != nil { - logs.Error("delete fix present err: ", err) - return false - } - - return true -} - -func DeleteFixPresentByUid(uid string) bool { - o := orm.NewOrm() - if _, err := o.QueryTable(FIXPRESENT).Filter("uid", uid).Delete(); err != nil { - logs.Error("delete fix present by uid err:", err) - return false - } - - return true -} - -func UpdatePresentFixMoney(present *FixPresent) bool { - o := orm.NewOrm() - if _, err := o.Update(present); err != nil { - logs.Error("update fix present err: ", err) - return false - } - - return true -} diff --git a/legend/models/legend/legendGroupDao.go b/legend/models/legend/legendGroupDao.go deleted file mode 100644 index 0dd69bd..0000000 --- a/legend/models/legend/legendGroupDao.go +++ /dev/null @@ -1,90 +0,0 @@ -package legend - -import ( - "github.com/beego/beego/v2/client/orm" - "github.com/beego/beego/v2/core/logs" -) - -type Group struct { - Id int `orm:"pk;column(id)"` - GroupName string - Uid string - BaseDao -} - -const GROUP = "legend_group" - -func (c *Group) TableName() string { - return GROUP -} - -func InsertGroup(group *Group) bool { - o := orm.NewOrm() - if _, err := o.Insert(group); err != nil { - logs.Error("insert group err:", err) - return false - } - - return true -} - -func GetGroupAllCont() int { - o := orm.NewOrm() - count, err := o.QueryTable(GROUP).Limit(-1).Count() - if err != nil { - logs.Error(" get group all count err: ", err) - } - - return int(count) -} - -func GetGroupList(offset, limit int) []Group { - o := orm.NewOrm() - - var groups []Group - if _, err := o.QueryTable(GROUP).Limit(limit, offset).OrderBy("-create_time").All(&groups); err != nil { - logs.Error("get scale template list err : ", err) - } - - return groups -} - -func GetGroupByName(name string) *Group { - o := orm.NewOrm() - group := new(Group) - if _, err := o.QueryTable(GROUP).Filter("group_name", name).Limit(1).All(group); err != nil { - logs.Error(" get group by name err:", err) - } - - return group -} - -func GetGroupByUid(uid string) *Group { - o := orm.NewOrm() - group := new(Group) - if _, err := o.QueryTable(GROUP).Filter("uid", uid).Limit(1).All(group); err != nil { - logs.Error("get group by uid err: ", err) - } - - return group -} - -func DeleteGroupByUid(uid string) bool { - o := orm.NewOrm() - if _, err := o.QueryTable(GROUP).Filter("uid", uid).Delete(); err != nil { - logs.Error("delete group by uid err: ", err) - return false - } - - return true -} - -func UpdateGroup(group *Group) bool { - o := orm.NewOrm() - if _, err := o.Update(group); err != nil { - logs.Error("update group err:", err) - return false - } - - return true -} diff --git a/legend/models/legend/legendScalePresentDao.go b/legend/models/legend/legendScalePresentDao.go deleted file mode 100644 index f4c79a7..0000000 --- a/legend/models/legend/legendScalePresentDao.go +++ /dev/null @@ -1,81 +0,0 @@ -package legend - -import ( - "github.com/beego/beego/v2/client/orm" - "github.com/beego/beego/v2/core/logs" -) - -type ScalePresent struct { - Id int `orm:"pk;column(id)"` - Uid string - TemplateName string - Money float64 - PresentScale float64 - BaseDao -} - -const SCALEPRESENT = "legend_scale_present" - -func (c *ScalePresent) TableName() string { - return SCALEPRESENT -} - -func InsertScalePresent(scalePresent *ScalePresent) bool { - o := orm.NewOrm() - if _, err := o.Insert(scalePresent); err != nil { - logs.Error("insert scale present err:", err) - return false - } - - return true -} - -func GetScalePresentsByName(name string) []ScalePresent { - o := orm.NewOrm() - var scalePresents []ScalePresent - if _, err := o.QueryTable(SCALEPRESENT).Filter("template_name", name).Limit(-1).All(&scalePresents); err != nil { - logs.Error("get scale present err:", err) - } - - return scalePresents -} - -func GetScalePresentByUid(uid string) *ScalePresent { - o := orm.NewOrm() - scalePresent := new(ScalePresent) - if _, err := o.QueryTable(SCALEPRESENT).Filter("uid", uid).Limit(1).All(scalePresent); err != nil { - logs.Error("get scale present err:", err) - } - - return scalePresent -} - -func DeleteScalePresent(templateName string) bool { - o := orm.NewOrm() - if _, err := o.QueryTable(SCALEPRESENT).Filter("template_name", templateName).Delete(); err != nil { - logs.Error("delete scale present err:", err) - return false - } - - return true -} - -func DeleteScalePresentByUid(uid string) bool { - o := orm.NewOrm() - if _, err := o.QueryTable(SCALEPRESENT).Filter("uid", uid).Delete(); err != nil { - logs.Error("delete scale present by uid err:", err) - return false - } - - return true -} - -func UpdateScalePresent(present *ScalePresent) bool { - o := orm.NewOrm() - if _, err := o.Update(present); err != nil { - logs.Error("update scale present err: ", err) - return false - } - - return true -} diff --git a/legend/models/legend/legendScaleTempleteDao.go b/legend/models/legend/legendScaleTempleteDao.go deleted file mode 100644 index 2b944e3..0000000 --- a/legend/models/legend/legendScaleTempleteDao.go +++ /dev/null @@ -1,100 +0,0 @@ -package legend - -import ( - "github.com/beego/beego/v2/client/orm" - "github.com/beego/beego/v2/core/logs" -) - -type ScaleTemplate struct { - Id int `orm:"pk;column(id)"` - MerchantUid string - TemplateName string - UserUid string - UserWarn string - MoneyType string - PresentType string - BaseDao -} - -const SCALETMPLETE = "legend_scale_template" - -func (c *ScaleTemplate) TableName() string { - return SCALETMPLETE -} - -func InsertScaleTemplate(scaleTemplate *ScaleTemplate) bool { - o := orm.NewOrm() - - if _, err := o.Insert(scaleTemplate); err != nil { - logs.Error("insert scale template err: ", err) - return false - } - - return true -} - -func IsExistsScaleTemplateByName(name string) bool { - o := orm.NewOrm() - return o.QueryTable(SCALETMPLETE).Filter("template_name", name).Exist() -} - -func GetScaleTemplateList(offset, limit int) []ScaleTemplate { - o := orm.NewOrm() - - var scaleTemplates []ScaleTemplate - if _, err := o.QueryTable(SCALETMPLETE).Limit(limit, offset).OrderBy("-create_time").All(&scaleTemplates); err != nil { - logs.Error("get scale template list err : ", err) - } - - return scaleTemplates -} - -func GetScaleTemplateAll() int { - o := orm.NewOrm() - count, err := o.QueryTable(SCALETMPLETE).Count() - if err != nil { - logs.Error("get scale template all err:", err) - } - return int(count) -} - -func GetScaleTemplateByName(name string) *ScaleTemplate { - o := orm.NewOrm() - scaleTemplate := new(ScaleTemplate) - if _, err := o.QueryTable(SCALETMPLETE).Filter("template_name", name).Limit(1).All(scaleTemplate); err != nil { - logs.Error("get scale template by name err:", err) - } - - return scaleTemplate -} - -func GetScaleTemplateByNameAndMerchantUid(name, merchantUid string) *ScaleTemplate { - o := orm.NewOrm() - scaleTemplate := new(ScaleTemplate) - if _, err := o.QueryTable(SCALETMPLETE).Filter("template_name", name). - Filter("merchant_uid", merchantUid).Limit(1).All(scaleTemplate); err != nil { - logs.Error("get scale template by name and merchantUid err:", err) - } - - return scaleTemplate -} - -func DeleteScaleTemplate(templateName string) bool { - o := orm.NewOrm() - if _, err := o.QueryTable(SCALETMPLETE).Filter("template_name", templateName).Delete(); err != nil { - logs.Error("delete template err:", err) - return false - } - - return true -} - -func UpdateScaleTemplate(template *ScaleTemplate) bool { - o := orm.NewOrm() - if _, err := o.Update(template); err != nil { - logs.Error("update scale template err: ", err) - return false - } - - return true -} diff --git a/legend/request/areaReq.go b/legend/request/areaReq.go deleted file mode 100644 index 32f038a..0000000 --- a/legend/request/areaReq.go +++ /dev/null @@ -1,9 +0,0 @@ -package request - -type AreaReq struct { - AreaName string - GroupName string - TemplateName string - NotifyUrl string - AttachParams string -} diff --git a/legend/request/templateReq.go b/legend/request/templateReq.go deleted file mode 100644 index 5a9b162..0000000 --- a/legend/request/templateReq.go +++ /dev/null @@ -1,23 +0,0 @@ -package request - -type AddTemplateReq struct { - ScaleTemplateName string `form:"scaleTemplateName"` - ScaleUserName string `form:"scaleUserName"` - ScaleUserNamePoint string `form:"scaleUserNamePoint"` - MoneyType string `form:"moneyType"` - GameMoneyName string `form:"gameMoneyName"` - GameMoneyScale int `form:"gameMoneyScale"` - LimitLowMoney float64 `form:"limitLowMoney"` - PresentType string `form:"presentType"` - FixPrices []float64 `form:"fixPrices"` - GoodsNames []string `form:"goodsNames"` - GoodsNos []string `form:"goodsNos"` - Limits []int `form:"limits"` - PresentFixMoneys []float64 `form:"presentFixMoneys"` - PresentFixPresentMoneys []float64 `form:"presentFixPresentMoneys"` - PresentScaleMoneys []float64 `form:"presentScaleMoneys"` - PresentScales []float64 `form:"presentScales"` - FixUids []string `form:"fixUids"` - PresentScaleUids []string `form:"presentScaleUids"` - PresentFixUids []string `form:"presentFixUids"` -} diff --git a/legend/response/areaResp.go b/legend/response/areaResp.go deleted file mode 100644 index aefa301..0000000 --- a/legend/response/areaResp.go +++ /dev/null @@ -1,16 +0,0 @@ -package response - -import "legend/models/legend" - -type AreaListResp struct { - Code int `json:"code"` - Msg string `json:"msg"` - Count int `json:"count"` - Data []legend.Area `json:"data"` -} - -type AreaInfoResp struct { - Code int - Msg string - Area *legend.Area -} diff --git a/legend/response/baseResp.go b/legend/response/baseResp.go deleted file mode 100644 index dc29124..0000000 --- a/legend/response/baseResp.go +++ /dev/null @@ -1,6 +0,0 @@ -package response - -type BaseResp struct { - Code int - Msg string -} diff --git a/legend/response/groupResp.go b/legend/response/groupResp.go deleted file mode 100644 index e820c19..0000000 --- a/legend/response/groupResp.go +++ /dev/null @@ -1,10 +0,0 @@ -package response - -import "legend/models/legend" - -type GroupListResp struct { - Code int `json:"code"` - Msg string `json:"msg"` - Count int `json:"count"` - Data []legend.Group `json:"data"` -} diff --git a/legend/response/templateResp.go b/legend/response/templateResp.go deleted file mode 100644 index 3eabe18..0000000 --- a/legend/response/templateResp.go +++ /dev/null @@ -1,24 +0,0 @@ -package response - -import "legend/models/legend" - -type AddTemplateResp struct { - Code int - Msg string -} - -type TemplateListResp struct { - Code int `json:"code"` - Msg string `json:"msg"` - Count int `json:"count"` - Data []legend.ScaleTemplate `json:"data"` -} - -type TemplateAllInfoResp struct { - AddTemplateResp - TemplateInfo *legend.ScaleTemplate - AnyMoneyInfo *legend.AnyMoney - FixMoneyInfos []legend.FixMoney - PresentFixMoneyInfos []legend.FixPresent - PresentScaleMoneyInfos []legend.ScalePresent -} diff --git a/legend/routers/router.go b/legend/routers/router.go deleted file mode 100644 index 29632fe..0000000 --- a/legend/routers/router.go +++ /dev/null @@ -1,64 +0,0 @@ -package routers - -import ( - "github.com/beego/beego/v2/server/web" - "legend/controllers" - "legend/filter" -) - -func init() { - pageInit() - logicInit() -} - -/** -** 初始化展示页面路由器 - */ -func pageInit() { - - //web.Router("/favicon.ico", &controllers.ShowPageController{}, "*:FaviconPage") - web.Router("/", &controllers.IndexController{}, "*:Index") - web.Router("/index.html", &controllers.IndexController{}, "*:Index") - web.Router("/login.html", &controllers.LoginController{}, "*:LoginPage") - web.Router("/welcome.html", &controllers.ShowPageController{}, "*:WelcomePage") - web.Router("/merchantKey.html", &controllers.ShowPageController{}, "*:MerchantKeyPage") - web.Router("/orderList.html", &controllers.ShowPageController{}, "*:OrderListPage") - web.Router("/scaleTemplate.html", &controllers.ShowPageController{}, "*:ScaleTemplatePage") - web.Router("/templateAdd.html", &controllers.ShowPageController{}, "*:TemplateAdd") - web.Router("/templateEdit.html", &controllers.ShowPageController{}, "*:TemplateEdit") - web.Router("/groupList.html", &controllers.ShowPageController{}, "*:GroupListPage") - web.Router("/areaList.html", &controllers.ShowPageController{}, "*:AreaListPage") - web.Router("/imitateOrder.html", &controllers.ShowPageController{}, "*:ImitateChargePage") - web.Router("/settleList.html", &controllers.ShowPageController{}, "*:SettleListPage") - web.Router("/everydayChargeCount.html", &controllers.ShowPageController{}, "*:EverydayChargeCountPage") - web.Router("/groupChargeCount.html", &controllers.ShowPageController{}, "*:GroupChargeCountPage") - web.Router("/areaChargeCount.html", &controllers.ShowPageController{}, "*:AreaChargePage") - web.Router("/person.html", &controllers.ShowPageController{}, "*:PersonPage") - web.Router("areaAddOrEdit.html", &controllers.ShowPageController{}, "*:AreaAddOrEdit") - web.Router("/areaEdit.html", &controllers.ShowPageController{}, "*:AreaEdit") -} - -/** -** 业务逻辑路由 - */ -func logicInit() { - web.Router("/login", &controllers.LoginController{}, "*:Login") - web.Router("/logout.html", &controllers.LogoutController{}, "*:Logout") - web.Router("/switch/login", &controllers.LogoutController{}, "*:SwitchLogin") - web.Router("/person/password", &controllers.LoginController{}, "*:PersonPassword") - web.Router("/add/template", &controllers.TemplateController{}, "*:TemplateAdd") - web.Router("/template/list", &controllers.TemplateController{}, "*:TemplateList") - web.Router("/delete/template", &controllers.TemplateController{}, "*:TemplateDelete") - web.Router("/template/info", &controllers.TemplateController{}, "*:TemplateAllInfo") - web.Router("/group/list", &controllers.GroupController{}, "*:ListGroup") - web.Router("/add/group", &controllers.GroupController{}, "*:AddGroup") - web.Router("/delete/group", &controllers.GroupController{}, "*:DeleteGroup") - web.Router("/edit/group", &controllers.GroupController{}, "*:EditGroup") - web.Router("/add/area", &controllers.AreaController{}, "*:AreaAdd") - web.Router("/area/list", &controllers.AreaController{}, "*:AreaList") - web.Router("/delete/area", &controllers.AreaController{}, "*:AreaDelete") - web.Router("/get/area", &controllers.AreaController{}, "*:AreaGet") - web.Router("/edit/area", &controllers.AreaController{}, "*:AreaEdit") - - web.InsertFilter("/*", web.BeforeRouter, filter.LoginFilter) -} diff --git a/legend/service/accountService.go b/legend/service/accountService.go deleted file mode 100644 index fd6a876..0000000 --- a/legend/service/accountService.go +++ /dev/null @@ -1,31 +0,0 @@ -package service - -import ( - "legend/models/fast" - "legend/utils" -) - -type AccountService struct { - BaseService -} - -func (c *AccountService) GetAccountInfo(userName string) *fast.AccountInfo { - - merchantInfo := fast.GetMerchantInfoByUserName(userName) - - accountInfo := fast.GetAccountInfo(merchantInfo.MerchantUid) - - return accountInfo -} - -/** -** 获取当天的充值金额 - */ -func (c *AccountService) GetTodayIncome() float64 { - startTime := utils.GetNowDate() + " 00:00:00" - endTime := utils.GetNowDate() + " 23:59:59" - - todayIncome := fast.GetRangeDateIncome(startTime, endTime) - - return todayIncome -} diff --git a/legend/service/areaService.go b/legend/service/areaService.go deleted file mode 100644 index 3e5d015..0000000 --- a/legend/service/areaService.go +++ /dev/null @@ -1,98 +0,0 @@ -package service - -import ( - "github.com/rs/xid" - "legend/models/legend" - "legend/request" - "legend/response" - "legend/utils" -) - -type AreaService struct { - BaseService -} - -func (c *AreaService) AddArea(req *request.AreaReq) *response.BaseResp { - resp := new(response.BaseResp) - - area := new(legend.Area) - area.AreaName = req.AreaName - area.GroupName = req.GroupName - area.TemplateName = req.TemplateName - area.NotifyUrl = req.NotifyUrl - area.AttachParams = req.AttachParams - area.UpdateTime = utils.GetNowTime() - area.CreateTime = utils.GetNowTime() - area.Uid = xid.New().String() - - if legend.InsertArea(area) { - resp.Code = 0 - } else { - resp.Code = -1 - resp.Msg = "添加分区失败" - } - - return resp -} - -func (c *AreaService) AreaList(page, limit int) *response.AreaListResp { - offset := utils.CountOffset(page, limit) - count := legend.GetAreaAllCount() - areas := legend.GetAreaList(offset, limit) - - for i, _ := range areas { - areas[i].Id = offset + i + 1 - } - - areaResp := new(response.AreaListResp) - areaResp.Code = 0 - areaResp.Count = count - areaResp.Data = areas - - return areaResp -} - -func (c *AreaService) DeleteArea(uid string) *response.BaseResp { - resp := new(response.BaseResp) - - if legend.DeleteAreaByUid(uid) { - resp.Code = 0 - } else { - resp.Code = -1 - resp.Msg = "删除分区失败" - } - return resp -} - -func (c *AreaService) GetArea(uid string) *response.AreaInfoResp { - resp := new(response.AreaInfoResp) - resp.Code = 0 - resp.Msg = "请求成功" - - area := legend.GetAreaByUid(uid) - resp.Area = area - - return resp -} - -func (c *AreaService) EditArea(req *request.AreaReq, uid string) *response.BaseResp { - resp := new(response.BaseResp) - resp.Code = -1 - - area := legend.GetAreaByUid(uid) - if area == nil || area.AreaName == "" { - resp.Msg = "更新失败" - } else { - area.UpdateTime = utils.GetNowTime() - area.GroupName = req.GroupName - area.TemplateName = req.TemplateName - area.NotifyUrl = req.NotifyUrl - area.AttachParams = req.AttachParams - - if legend.UpdateArea(area) { - resp.Msg = "更新失败" - } - } - - return resp -} diff --git a/legend/service/baseService.go b/legend/service/baseService.go deleted file mode 100644 index 36a3e13..0000000 --- a/legend/service/baseService.go +++ /dev/null @@ -1,4 +0,0 @@ -package service - -type BaseService struct { -} diff --git a/legend/service/groupService.go b/legend/service/groupService.go deleted file mode 100644 index 6ab1b46..0000000 --- a/legend/service/groupService.go +++ /dev/null @@ -1,87 +0,0 @@ -package service - -import ( - "github.com/rs/xid" - "legend/models/legend" - "legend/response" - "legend/utils" -) - -type GroupService struct { - BaseService -} - -func (c *GroupService) GroupAdd(groupName string) *response.BaseResp { - - resp := new(response.BaseResp) - resp.Code = -1 - - group := new(legend.Group) - - uid := xid.New().String() - group.GroupName = groupName - group.Uid = uid - group.CreateTime = utils.GetNowTime() - group.UpdateTime = utils.GetNowTime() - - if legend.InsertGroup(group) { - resp.Code = 0 - resp.Msg = "添加分组成功" - } else { - resp.Msg = "添加分组失败" - } - - return resp -} - -func (c *GroupService) GroupList(page, limit int) *response.GroupListResp { - - offset := utils.CountOffset(page, limit) - count := legend.GetGroupAllCont() - groups := legend.GetGroupList(offset, limit) - - for i, _ := range groups { - groups[i].Id = offset + i + 1 - } - - groupListResp := new(response.GroupListResp) - groupListResp.Count = count - groupListResp.Code = 0 - groupListResp.Data = groups - - return groupListResp -} - -func (c *GroupService) GroupDelete(uid string) *response.BaseResp { - resp := new(response.BaseResp) - resp.Code = 0 - if legend.DeleteGroupByUid(uid) { - resp.Msg = "删除成功" - } else { - resp.Msg = "删除分组信息失败" - resp.Code = -1 - } - - return resp -} - -func (c *GroupService) GroupEdit(uid, groupName string) *response.BaseResp { - resp := new(response.BaseResp) - resp.Code = -1 - - group := legend.GetGroupByUid(uid) - if group == nil || group.Uid == "" { - resp.Msg = "不存在这样的分组信息" - } else { - group.UpdateTime = utils.GetNowTime() - group.GroupName = groupName - if legend.UpdateGroup(group) { - resp.Code = 0 - resp.Msg = "更新成功" - } else { - resp.Msg = "更新失败" - } - } - - return resp -} diff --git a/legend/service/loginService.go b/legend/service/loginService.go deleted file mode 100644 index cd52189..0000000 --- a/legend/service/loginService.go +++ /dev/null @@ -1,78 +0,0 @@ -package service - -import ( - "fmt" - "github.com/beego/beego/v2/adapter/logs" - "legend/common" - "legend/models/fast" - "legend/utils" - "strings" -) - -type LoginService struct { - BaseService -} - -type LoginJsonData struct { - Code int - Msg string -} - -func (c *LoginService) Login(userName, password string) *LoginJsonData { - - loginJsonData := new(LoginJsonData) - loginJsonData.Code = 200 - - userInfo := fast.GetMerchantInfoByUserName(userName) - logs.Info("登录账户信息:", fmt.Sprintf("%+v", userInfo)) - if nil == userInfo || userInfo.LoginAccount == "" { - logs.Error("用户不存在,账户:", userName) - loginJsonData.Code = 404 - loginJsonData.Msg = "用户不存在" - } else { - if strings.ToLower(userInfo.Status) == strings.ToLower(common.UNACTIVE) { - logs.Warn("账号异常,请联系管理员,账号:", userName) - loginJsonData.Code = 503 - loginJsonData.Msg = "账户已经被冻结" - } else { - md5Password := utils.EncodeMd5(password) - logs.Info("账户密码md5后:", md5Password, ";数据库保存的为:", userInfo.LoginPassword) - if strings.ToLower(utils.EncodeMd5(password)) != strings.ToLower(userInfo.LoginPassword) { - logs.Error("密码错误,账户:", userName) - loginJsonData.Code = -1 - loginJsonData.Msg = "密码错误" - } else { - logs.Info("登录成功") - } - } - } - - return loginJsonData -} - -/** -** 更新用户的登录密码 - */ -func (c *LoginService) PersonPassword(newPassword, oldPassword, repeatPassword, userName string) *LoginJsonData { - - logoutJsonData := new(LoginJsonData) - logoutJsonData.Code = -1 - - userInfo := fast.GetMerchantInfoByUserName(userName) - if userInfo.LoginPassword != utils.EncodeMd5(oldPassword) { - logoutJsonData.Msg = "旧密码输入不正确" - } else if newPassword != repeatPassword { - logoutJsonData.Msg = "2次密码不一致" - } else { - passwordMd5 := utils.EncodeMd5(newPassword) - userInfo.LoginPassword = passwordMd5 - if !fast.UpdateMerchantInfo(userInfo) { - logoutJsonData.Msg = "密码更新失败" - } else { - - logoutJsonData.Code = 200 - } - } - - return logoutJsonData -} diff --git a/legend/service/logoutService.go b/legend/service/logoutService.go deleted file mode 100644 index 213bdae..0000000 --- a/legend/service/logoutService.go +++ /dev/null @@ -1,5 +0,0 @@ -package service - -type LogoutService struct { - BaseService -} diff --git a/legend/service/merchantService.go b/legend/service/merchantService.go deleted file mode 100644 index cc12b3c..0000000 --- a/legend/service/merchantService.go +++ /dev/null @@ -1,54 +0,0 @@ -package service - -import ( - "github.com/beego/beego/v2/core/logs" - "legend/models/fast" -) - -type MerchantService struct { - BaseService -} - -func (c *MerchantService) GetMerchantBankInfo(mobile string) (*fast.MerchantInfo, *fast.BankCardInfo) { - - merchantInfo := fast.GetMerchantInfoByUserName(mobile) - bankInfo := fast.GetBankCardInfoByUserNo(merchantInfo.MerchantUid) - - return merchantInfo, bankInfo -} - -/** -** 获取商户的密钥等信息 - */ -/*func (c *MerchantService) UserPayConfig(userName string) map[string]string { - - merchantMapData := make(map[string]string) - - userInfo := fast.GetMerchantInfoByUserName(userName) - - if userInfo == nil || userInfo.LoginAccount == "" { - return merchantMapData - } - - userNo := userInfo.LoginAccount - - userPayConfig := fast.GetUserPayConfigByUserNo(userNo) - if nil == userPayConfig || userPayConfig.UserNo == "" { - return merchantMapData - } - - return merchantMapData -}*/ - -/** -** 获取商户信息 - */ -func (c *MerchantService) MerchantInfo(mobile string) *fast.MerchantInfo { - userInfo := fast.GetMerchantInfoByUserName(mobile) - if nil == userInfo || userInfo.LoginAccount == "" { - logs.Error("获取用户信息失败") - } - - //logs.Debug("用户信息:", userInfo) - return userInfo -} diff --git a/legend/service/templeteService.go b/legend/service/templeteService.go deleted file mode 100644 index ca9deab..0000000 --- a/legend/service/templeteService.go +++ /dev/null @@ -1,516 +0,0 @@ -package service - -import ( - "fmt" - "github.com/beego/beego/v2/core/logs" - "legend/models/legend" - "legend/request" - "legend/response" - "legend/utils" -) - -type TemplateService struct { - BaseService -} - -/** -** 添加比例模板 - */ -func (c *TemplateService) AddTemplate(req *request.AddTemplateReq, merchantUid string) *response.AddTemplateResp { - - template := new(legend.ScaleTemplate) - template.MerchantUid = merchantUid - template.TemplateName = req.ScaleTemplateName - template.UserUid = req.ScaleUserName - template.UserWarn = req.ScaleUserNamePoint - template.MoneyType = req.MoneyType - template.PresentType = req.PresentType - template.UpdateTime = utils.GetNowTime() - template.CreateTime = utils.GetNowTime() - - addTemplateResp := new(response.AddTemplateResp) - addTemplateResp.Code = -1 - - if template.TemplateName == "" { - addTemplateResp.Msg = "模板名称不能为空" - return addTemplateResp - } - - if legend.IsExistsScaleTemplateByName(template.TemplateName) { - addTemplateResp.Msg = "模板名称重复,请换一个名称!" - return addTemplateResp - } - - if legend.InsertScaleTemplate(template) { - addTemplateResp.Code = 0 - addTemplateResp.Msg = "添加比例模板成功" - if !c.AddRandMoney(req) { - addTemplateResp.Code = -1 - addTemplateResp.Msg = "随机金额添加失败,请检查参数是否合理" - } - if !c.AddFixMoney(req) { - addTemplateResp.Code = -1 - addTemplateResp.Msg = "添加固定金额失败,请检查参数是否合理" - } - if !c.AddPresentFixMoney(req) { - addTemplateResp.Code = -1 - addTemplateResp.Msg = "添加固定金额赠送失败,请检查参数是否合理" - } - if !c.AddPresentScaleMoney(req) { - addTemplateResp.Code = -1 - addTemplateResp.Msg = "添加金额比例赠送失败,请检查参数是否合理" - } - - // 只要有一个添加失败,全部删除 - if addTemplateResp.Code == -1 { - legend.DeleteScaleTemplate(template.TemplateName) - legend.DeleteAnyMoney(template.TemplateName) - legend.DeleteFixMoney(template.TemplateName) - legend.DeleteFixPresent(template.TemplateName) - legend.DeleteScalePresent(template.TemplateName) - } - } else { - addTemplateResp.Msg = "添加比例模板失败" - } - - return addTemplateResp -} - -/** -** 编辑比例模板逻辑 - */ -func (c *TemplateService) UpdateTemplate(req *request.AddTemplateReq, merchantUid string) *response.BaseResp { - resp := new(response.BaseResp) - resp.Code = -1 - resp.Msg = "更新失败" - - template := legend.GetScaleTemplateByNameAndMerchantUid(req.ScaleTemplateName, merchantUid) - template.UserUid = req.ScaleUserName - template.UserWarn = req.ScaleUserNamePoint - template.MoneyType = req.MoneyType - template.PresentType = req.PresentType - template.UpdateTime = utils.GetNowTime() - - if !legend.UpdateScaleTemplate(template) { - logs.Error("更新比例模板基础数据失败") - return resp - } - - if !c.updateAnyMoney(req) { - logs.Error("更新任意金额数据失败") - return resp - } - - if !c.updateFixMoney(req) { - logs.Error("更新固定金额数据失败") - return resp - } - - if !c.updateFixPresent(req) { - logs.Error("更新赠送固定金额失败") - return resp - } - - if !c.updateScalePresent(req) { - logs.Error("更新赠送比例数据失败") - return resp - } - - resp.Code = 0 - resp.Msg = "更新成功" - - return resp - -} - -/** -** 更新任意金额 - */ -func (c *TemplateService) updateAnyMoney(req *request.AddTemplateReq) bool { - if req.GameMoneyScale <= 0 && req.LimitLowMoney <= 0 { - logs.Debug("任意金额的2个关键参数均小于等于0") - anyMoney := legend.GetAnyMoneyByName(req.ScaleTemplateName) - if anyMoney != nil && anyMoney.TemplateName != "" { - return legend.DeleteAnyMoney(req.ScaleTemplateName) - } else { - logs.Error("不存在这样的任意金额") - return false - } - } else { - anyMoney := legend.GetAnyMoneyByName(req.ScaleTemplateName) - anyMoney.GameMoneyScale = req.GameMoneyScale - anyMoney.GameMoneyName = req.GameMoneyName - anyMoney.LimitLow = req.LimitLowMoney - anyMoney.UpdateTime = utils.GetNowTime() - anyMoney.CreateTime = utils.GetNowTime() - - return legend.UpdateAnyMoney(anyMoney) - } - -} - -/** -** 更新固定金额 - */ -func (c *TemplateService) updateFixMoney(req *request.AddTemplateReq) bool { - - for _, fixMoney := range legend.GetFixMoneyByName(req.ScaleTemplateName) { - if !c.isExist(fixMoney.Uid, req.FixUids) { - // 假如不存在了,那么需要删除这条记录 - legend.DeleteFixMoneyByUid(fixMoney.Uid) - } - } - - for i, _ := range req.FixUids { - if req.FixUids[i] == "" { - continue - } - - fixMoney := legend.GetFixMoneyByUid(req.FixUids[i]) - - fixMoney.UpdateTime = utils.GetNowTime() - fixMoney.Uid = req.FixUids[i] - fixMoney.Price = req.FixPrices[i] - fixMoney.GoodsName = req.GoodsNames[i] - fixMoney.GoodsNo = req.GoodsNos[i] - fixMoney.BuyTimes = req.Limits[i] - - if fixMoney.TemplateName == "" { - fixMoney.CreateTime = utils.GetNowTime() - fixMoney.TemplateName = req.ScaleTemplateName - legend.InsertFixMoney(fixMoney) - } else { - legend.UpdateFixMoney(fixMoney) - } - - } - - return true -} - -/** -** 更新固定金额赠送参数 - */ -func (c *TemplateService) updateFixPresent(req *request.AddTemplateReq) bool { - - for _, fixPresentMoney := range legend.GetFixPresentsByName(req.ScaleTemplateName) { - if !c.isExist(fixPresentMoney.Uid, req.PresentFixUids) { - legend.DeleteFixPresentByUid(fixPresentMoney.Uid) - } - } - - for i, _ := range req.PresentFixUids { - if req.PresentFixUids[i] == "" { - continue - } - - fixPresent := legend.GetFixPresentByUid(req.PresentFixUids[i]) - - fixPresent.UpdateTime = utils.GetNowTime() - fixPresent.Uid = req.PresentFixUids[i] - fixPresent.Money = req.PresentFixMoneys[i] - fixPresent.PresentMoney = req.PresentFixPresentMoneys[i] - - if fixPresent.TemplateName == "" { - fixPresent.CreateTime = utils.GetNowTime() - fixPresent.TemplateName = req.ScaleTemplateName - legend.InsertFixPresent(fixPresent) - } else { - legend.UpdatePresentFixMoney(fixPresent) - } - } - - return true -} - -/** -** 更新比例赠送参数 - */ -func (c *TemplateService) updateScalePresent(req *request.AddTemplateReq) bool { - - for _, scalePresent := range legend.GetScalePresentsByName(req.ScaleTemplateName) { - if !c.isExist(scalePresent.Uid, req.PresentScaleUids) { - legend.DeleteScalePresentByUid(scalePresent.Uid) - } - } - - for i, _ := range req.PresentScaleUids { - if req.PresentScaleUids[i] == "" { - continue - } - - scalePresent := legend.GetScalePresentByUid(req.PresentScaleUids[i]) - - scalePresent.UpdateTime = utils.GetNowTime() - scalePresent.Uid = req.PresentScaleUids[i] - scalePresent.Money = req.PresentScaleMoneys[i] - scalePresent.PresentScale = req.PresentScales[i] - - if scalePresent.TemplateName == "" { - scalePresent.TemplateName = req.ScaleTemplateName - scalePresent.CreateTime = utils.GetNowTime() - legend.InsertScalePresent(scalePresent) - } else { - legend.UpdateScalePresent(scalePresent) - } - } - return true -} - -func (c *TemplateService) isExist(j string, ss []string) bool { - for _, s := range ss { - if s == j { - return true - } - } - - return false -} - -/** -** 添加随机金额 - */ -func (c *TemplateService) AddRandMoney(req *request.AddTemplateReq) bool { - - if req.LimitLowMoney < 0 { - logs.Error("随机金额中的最低充值金额不能小于0") - return false - } - if req.GameMoneyName == "" && req.GameMoneyScale <= 0 { - logs.Info("不需要添加随机金额选项") - return true - } - - anyMoney := new(legend.AnyMoney) - anyMoney.TemplateName = req.ScaleTemplateName - anyMoney.GameMoneyName = req.GameMoneyName - anyMoney.GameMoneyScale = req.GameMoneyScale - anyMoney.LimitLow = req.LimitLowMoney - anyMoney.UpdateTime = utils.GetNowTime() - anyMoney.CreateTime = utils.GetNowTime() - - if legend.InsertAnyMoney(anyMoney) { - logs.Info("添加随机金额成功!") - } else { - return false - } - return true -} - -/** -**添加固定金额 - */ -func (c *TemplateService) AddFixMoney(req *request.AddTemplateReq) bool { - - l := len(req.FixUids) - - if l == 0 || (l == 1 && req.FixUids[0] == "") { - logs.Error("该模板没有添加固定金额选项") - return true - } - - if l != len(req.GoodsNames) || l != len(req.FixPrices) || l != len(req.GoodsNos) || l != len(req.Limits) { - logs.Error("固定金额参数有误,长度不一致") - return false - } - - for i := 0; i < l; i++ { - fixUid := req.FixUids[i] - fixPrice := req.FixPrices[i] - goodName := req.GoodsNames[i] - goodNo := req.GoodsNos[i] - limit := req.Limits[i] - - if fixUid == "0" && fixPrice <= 0 && goodName == "0" && goodNo == "0" && limit <= 0 { - logs.Error("固定金额4个参数都为空!") - continue - } - - if fixUid == "0" || fixPrice <= 0 || goodName == "0" || goodNo == "0" || limit <= 0 { - logs.Error("固定金额参数中有一个缺失: ", fmt.Sprintf("fixUid = %s, fixPrice = %f, goodName = %s, goodNo = %s, limit = %d", - fixUid, fixPrice, goodName, goodNo, limit)) - return false - } - - fixMoney := new(legend.FixMoney) - fixMoney.Uid = fixUid - fixMoney.TemplateName = req.ScaleTemplateName - fixMoney.Price = fixPrice - fixMoney.GoodsName = goodName - fixMoney.GoodsNo = goodNo - fixMoney.BuyTimes = limit - fixMoney.UpdateTime = utils.GetNowTime() - fixMoney.CreateTime = utils.GetNowTime() - - if !legend.InsertFixMoney(fixMoney) { - logs.Error("该次固定金额插入数据库失败") - } - - } - return true -} - -/** -** 添加赠送固定金额赠送 - */ -func (c *TemplateService) AddPresentFixMoney(req *request.AddTemplateReq) bool { - - l := len(req.PresentFixUids) - if l == 0 || (l == 1 && req.PresentScaleUids[0] == "") { - logs.Error("该模板没有添加固定金额赠送选项") - return true - } - - if l != len(req.PresentFixMoneys) || l != len(req.PresentFixPresentMoneys) { - logs.Error("固定金额赠送选项参数个数不一致") - return false - } - - for i := 0; i < l; i++ { - uid := req.PresentFixUids[i] - fixMoney := req.PresentFixMoneys[i] - presentMoney := req.PresentFixPresentMoneys[i] - - if uid == "0" && fixMoney <= 0 && presentMoney <= 0 { - continue - - } - - if uid == "0" || fixMoney <= 0 || presentMoney <= 0 { - logs.Error("固定金额参数中有一个缺失: ", fmt.Sprintf("fixUid = %s, fixPrice = %f, presentMoney = %f", - uid, fixMoney, presentMoney)) - return false - - } - - fixPresent := new(legend.FixPresent) - fixPresent.Uid = uid - fixPresent.TemplateName = req.ScaleTemplateName - fixPresent.Money = fixMoney - fixPresent.PresentMoney = presentMoney - fixPresent.UpdateTime = utils.GetNowTime() - fixPresent.CreateTime = utils.GetNowTime() - - if !legend.InsertFixPresent(fixPresent) { - logs.Error("该次固定金额赠送插入数据库失败") - } - } - return true -} - -/** -** 添加赠送金额比例 - */ -func (c *TemplateService) AddPresentScaleMoney(req *request.AddTemplateReq) bool { - l := len(req.PresentScaleUids) - if l == 0 || (l == 1 && req.PresentScaleUids[0] == "") { - logs.Error("该模板没有添加按百分比赠送") - return true - } - - if l != len(req.PresentScaleMoneys) || l != len(req.PresentScales) { - logs.Error("按百分比赠送选项参数个数不一致") - return false - } - - for i := 0; i < l; i++ { - uid := req.PresentScaleUids[i] - money := req.PresentScaleMoneys[i] - scale := req.PresentScales[i] - - if money <= 0 { - logs.Error("金额不能等于0") - return false - } - - if uid == "0" && money <= 0 && scale <= 0 { - continue - } - - if uid == "0" || money <= 0 || scale <= 0 { - logs.Error("百分比赠送缺失参数: ", fmt.Sprintf("uid = %s, money = %f, scale = %f", - uid, money, scale)) - - return false - - } - - scalePresent := new(legend.ScalePresent) - scalePresent.Uid = uid - scalePresent.TemplateName = req.ScaleTemplateName - scalePresent.Money = money - scalePresent.PresentScale = scale - scalePresent.UpdateTime = utils.GetNowTime() - scalePresent.CreateTime = utils.GetNowTime() - - if !legend.InsertScalePresent(scalePresent) { - logs.Error("该次固定金额赠送插入数据库失败") - } - } - return true -} - -func (c *TemplateService) GetTemplateList(page, limit int) *response.TemplateListResp { - - offset := utils.CountOffset(page, limit) - count := legend.GetScaleTemplateAll() - scaleTemplates := legend.GetScaleTemplateList(offset, limit) - - for i, _ := range scaleTemplates { - scaleTemplates[i].Id = offset + i + 1 - } - - templateListResp := new(response.TemplateListResp) - templateListResp.Count = count - templateListResp.Code = 0 - templateListResp.Data = scaleTemplates - - return templateListResp -} - -/** -** 删除比例模板的所有内容 - */ -func (c *TemplateService) DeleteTemplate(templateName string) *response.BaseResp { - - baseResp := new(response.BaseResp) - baseResp.Code = -1 - - b := true - if !legend.DeleteScaleTemplate(templateName) { - b = false - } - if !legend.DeleteAnyMoney(templateName) { - b = false - } - if !legend.DeleteFixMoney(templateName) { - b = false - } - if !legend.DeleteFixPresent(templateName) { - b = false - } - if !legend.DeleteFixPresent(templateName) { - b = false - } - - if b { - baseResp.Msg = "删除成功" - baseResp.Code = 0 - } else { - baseResp.Msg = "删除失败" - } - - return baseResp -} - -func (c *TemplateService) AllTemplateInfo(templateName string) *response.TemplateAllInfoResp { - - templateAllInfo := new(response.TemplateAllInfoResp) - templateAllInfo.TemplateInfo = legend.GetScaleTemplateByName(templateName) - templateAllInfo.AnyMoneyInfo = legend.GetAnyMoneyByName(templateName) - templateAllInfo.FixMoneyInfos = legend.GetFixMoneyByName(templateName) - templateAllInfo.PresentFixMoneyInfos = legend.GetFixPresentsByName(templateName) - templateAllInfo.PresentScaleMoneyInfos = legend.GetScalePresentsByName(templateName) - - return templateAllInfo -} diff --git a/legend/static/data/area-list.json b/legend/static/data/area-list.json deleted file mode 100644 index 0a81af3..0000000 --- a/legend/static/data/area-list.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "code": 0, - "msg": "", - "count": 10, - "data": [ - { - "id": 11, - "areaname": "星沙二区", - "rechargecount": 123, - "rechargemoney": "100", - "scale": "20%" - },{ - "id": 11, - "areaname": "星沙二区", - "rechargecount": 123, - "rechargemoney": "100", - "scale": "20%" - },{ - "id": 12, - "areaname": "星沙二区", - "rechargecount": 123, - "rechargemoney": "100", - "scale": "20%" - },{ - "id": 1, - "areaname": "星沙二区", - "rechargecount": 123, - "rechargemoney": "100", - "scale": "20%" - },{ - "id": 123, - "areaname": "星沙二区", - "rechargecount": 123, - "rechargemoney": "100", - "scale": "20%" - },{ - "id": 12222, - "areaname": "星沙二区", - "rechargecount": 123, - "rechargemoney": "100", - "scale": "20%" - },{ - "id": 134, - "areaname": "星沙二区", - "rechargecount": 123, - "rechargemoney": "100", - "scale": "20%" - },{ - "id": 156, - "areaname": "星沙二区", - "rechargecount": 123, - "rechargemoney": "100", - "scale": "20%" - },{ - "id": 134, - "areaname": "星沙二区", - "rechargecount": 123, - "rechargemoney": "100", - "scale": "20%" - },{ - "id": 156, - "areaname": "星沙二区", - "rechargecount": 123, - "rechargemoney": "100", - "scale": "20%" - } - ] -} \ No newline at end of file diff --git a/legend/static/data/area.json b/legend/static/data/area.json deleted file mode 100644 index c7d378f..0000000 --- a/legend/static/data/area.json +++ /dev/null @@ -1,97 +0,0 @@ -{ - "code":0, - "msg":"", - "count":10, - "data":[ - { - "id": 1, - "areaname": "狗日的1-2区", - "usetemplate": "狗日", - "currencyname": "元宝", - "rechargescale": 10, - "areastatus": "开放", - "createtime": "2021-4-6" - }, - { - "id": 2, - "areaname": "猪日1-2区", - "usetemplate": "猪日", - "currencyname": "元宝", - "rechargescale": 10, - "areastatus": "开放", - "createtime": "2021-4-6" - }, - { - "id": 3, - "areaname": "牛日1-2区", - "usetemplate": "牛日", - "currencyname": "元宝", - "rechargescale": 10, - "areastatus": "开放", - "createtime": "2021-4-6" - }, - { - "id": 4, - "areaname": "鸡日1-2区", - "usetemplate": "鸡日", - "currencyname": "元宝", - "rechargescale": 10, - "areastatus": "开放", - "createtime": "2021-4-6" - }, - { - "id": 5, - "areaname": "鸭日1-2区", - "usetemplate": "鸭日", - "currencyname": "元宝", - "rechargescale": 10, - "areastatus": "开放", - "createtime": "2021-4-6" - }, - { - "id": 6, - "areaname": "蚯蚓1-2区", - "usetemplate": "蚯蚓日", - "currencyname": "元宝", - "rechargescale": 10, - "areastatus": "开放", - "createtime": "2021-4-6" - }, - { - "id": 7, - "areaname": "蛇日1-2区", - "usetemplate": "蛇日", - "currencyname": "元宝", - "rechargescale": 10, - "areastatus": "开放", - "createtime": "2021-4-6" - }, - { - "id": 8, - "areaname": "人日1-2区", - "usetemplate": "人日", - "currencyname": "元宝", - "rechargescale": 10, - "areastatus": "开放", - "createtime": "2021-4-6" - }, - { - "id": 9, - "areaname": "苍蝇1-2区", - "usetemplate": "苍蝇日", - "currencyname": "元宝", - "rechargescale": 10, - "areastatus": "开放", - "createtime": "2021-4-6" - }, - { - "id": 10, - "areaname": "蚊子1-2区", - "usetemplate": "蚊子日", - "currencyname": "元宝", - "rechargescale": 10, - "areastatus": "开放", - "createtime": "2021-4-6" - } - ] -} \ No newline at end of file diff --git a/legend/static/data/everyday.json b/legend/static/data/everyday.json deleted file mode 100644 index 530926a..0000000 --- a/legend/static/data/everyday.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "code": 0, - "msg": "", - "count": 10, - "data": [ - { - "id": 1, - "rechargecount": 123, - "rechargemoney": "100", - "income": 100000, - "date": "2021-4-6" - },{ - "id": 1, - "rechargecount": 123, - "rechargemoney": "100", - "income": 100000, - "date": "2021-4-6" - },{ - "id": 1, - "rechargecount": 123, - "rechargemoney": "100", - "income": 100000, - "date": "2021-4-6" - },{ - "id": 1, - "rechargecount": 123, - "rechargemoney": "100", - "currencyname": "元宝", - "income": 100000, - "date": "2021-4-6" - },{ - "id": 1, - "rechargecount": 123, - "rechargemoney": "100", - "currencyname": "元宝", - "income": 100000, - "date": "2021-4-6" - },{ - "id": 1, - "rechargecount": 123, - "rechargemoney": "100", - "currencyname": "元宝", - "income": 100000, - "date": "2021-4-6" - },{ - "id": 1, - "rechargecount": 123, - "rechargemoney": "100", - "currencyname": "元宝", - "income": 100000, - "date": "2021-4-6" - },{ - "id": 1, - "rechargecount": 123, - "rechargemoney": "100", - "currencyname": "元宝", - "income": 100000, - "date": "2021-4-6" - },{ - "id": 1, - "rechargecount": 123, - "rechargemoney": "100", - "currencyname": "元宝", - "income": 100000, - "date": "2021-4-6" - },{ - "id": 1, - "rechargecount": 123, - "rechargemoney": "100", - "currencyname": "元宝", - "income": 100000, - "date": "2021-4-6" - },{ - "id": 1, - "rechargecount": 123, - "rechargemoney": "100", - "currencyname": "元宝", - "income": 100000, - "date": "2021-4-6" - } - ] -} \ No newline at end of file diff --git a/legend/static/data/group-list.json b/legend/static/data/group-list.json deleted file mode 100644 index 8900fa0..0000000 --- a/legend/static/data/group-list.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "code": 0, - "msg": "", - "count": 10, - "data": [ - { - "id": 1, - "groupname": "星沙组", - "rechargecount": 123, - "rechargemoney": "100", - "income": 100000 - },{ - "id": 1, - "groupname": "星沙组", - "rechargecount": 123, - "rechargemoney": "100", - "income": 100000 - },{ - "id": 1, - "groupname": "星沙组", - "rechargecount": 123, - "rechargemoney": "100", - "income": 100000 - },{ - "id": 1, - "groupname": "星沙组", - "rechargecount": 123, - "rechargemoney": "100", - "income": 100000 - },{ - "id": 1, - "groupname": "星沙组", - "rechargecount": 123, - "rechargemoney": "100", - "income": 100000 - },{ - "id": 1, - "groupname": "星沙组", - "rechargecount": 123, - "rechargemoney": "100", - "income": 100000 - },{ - "id": 1, - "groupname": "星沙组", - "rechargecount": 123, - "rechargemoney": "100", - "income": 100000 - },{ - "id": 1, - "groupname": "星沙组", - "rechargecount": 123, - "rechargemoney": "100", - "income": 100000 - },{ - "id": 1, - "groupname": "星沙组", - "rechargecount": 123, - "rechargemoney": "100", - "income": 100000 - },{ - "id": 1, - "groupname": "星沙组", - "rechargecount": 123, - "rechargemoney": "100", - "income": 100000 - },{ - "id": 1, - "groupname": "星沙组", - "rechargecount": 123, - "rechargemoney": "100", - "income": 100000 - } - ] -} \ No newline at end of file diff --git a/legend/static/data/group.json b/legend/static/data/group.json deleted file mode 100644 index db8b0bc..0000000 --- a/legend/static/data/group.json +++ /dev/null @@ -1,92 +0,0 @@ -{ - "code":0,"msg":"", - "count":20, - "data":[ - { - "id": 1, - "groupname": "狗日的传奇", - "createtime": "2021-4-6", - "updatetime": "2021-4-6" - }, - { - "id": 1, - "groupname": "猪日的传奇", - "createtime": "2021-4-6", - "updatetime": "2021-4-6" - }, - { - "id": 1, - "groupname": "牛日的传奇", - "createtime": "2021-4-6", - "updatetime": "2021-4-6" - }, - { - "id": 1, - "groupname": "鸡日的传奇", - "createtime": "2021-4-6", - "updatetime": "2021-4-6" - }, - { - "id": 1, - "groupname": "鸭日的传奇", - "createtime": "2021-4-6", - "updatetime": "2021-4-6" - }, - { - "id": 1, - "groupname": "蚯蚓日的传奇", - "createtime": "2021-4-6", - "updatetime": "2021-4-6" - }, - { - "id": 1, - "groupname": "蛇日的传奇", - "createtime": "2021-4-6", - "updatetime": "2021-4-6" - }, - { - "id": 1, - "groupname": "人日的传奇", - "createtime": "2021-4-6", - "updatetime": "2021-4-6" - }, - { - "id": 1, - "groupname": "苍蝇日的传奇", - "createtime": "2021-4-6", - "updatetime": "2021-4-6" - }, - { - "id": 1, - "groupname": "蚊子的传奇", - "createtime": "2021-4-6", - "updatetime": "2021-4-6" - }, - { - "id": 1, - "groupname": "熊日的传奇", - "createtime": "2021-4-6", - "updatetime": "2021-4-6" - },{ - "id": 1, - "groupname": "星沙日的传奇", - "createtime": "2021-4-6", - "updatetime": "2021-4-6" - },{ - "id": 1, - "groupname": "长沙日的传奇", - "createtime": "2021-4-6", - "updatetime": "2021-4-6" - },{ - "id": 1, - "groupname": "岳麓区日的传奇", - "createtime": "2021-4-6", - "updatetime": "2021-4-6" - },{ - "id": 1, - "groupname": "开福区日的传奇", - "createtime": "2021-4-6", - "updatetime": "2021-4-6" - } - ] -} \ No newline at end of file diff --git a/legend/static/data/imitate.json b/legend/static/data/imitate.json deleted file mode 100644 index ad9bdfd..0000000 --- a/legend/static/data/imitate.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "code":0, - "msg":"", - "count":10, - "data":[ - { - "id": 1, - "orderno": "8360127282183213", - "area": "星沙二区", - "rechargeaccount": "枫林晚月", - "money": "100", - "googs": "钻石", - "ip": "127.32.12.1", - "paytype": "微信扫码", - "createtime": "2021-04-06 21:30:00" - },{ - "id": 2, - "orderno": "8360127282183213", - "area": "星沙二区", - "rechargeaccount": "枫林晚月", - "money": "100", - "googs": "钻石", - "ip": "127.32.12.1", - "paytype": "微信扫码", - "createtime": "2021-04-06 21:30:00" - },{ - "id": 3, - "orderno": "8360127282183213", - "area": "星沙二区", - "rechargeaccount": "枫林晚月", - "money": "100", - "googs": "钻石", - "ip": "127.32.12.1", - "paytype": "微信扫码", - "createtime": "2021-04-06 21:30:00" - },{ - "id": 4, - "orderno": "8360127282183213", - "area": "星沙二区", - "rechargeaccount": "枫林晚月", - "money": "100", - "googs": "钻石", - "ip": "127.32.12.1", - "paytype": "微信扫码", - "createtime": "2021-04-06 21:30:00" - },{ - "id": 5, - "orderno": "8360127282183213", - "area": "星沙二区", - "rechargeaccount": "枫林晚月", - "money": "100", - "googs": "钻石", - "ip": "127.32.12.1", - "paytype": "微信扫码", - "createtime": "2021-04-06 21:30:00" - },{ - "id": 6, - "orderno": "8360127282183213", - "area": "星沙二区", - "rechargeaccount": "枫林晚月", - "money": "100", - "googs": "钻石", - "ip": "127.32.12.1", - "paytype": "微信扫码", - "createtime": "2021-04-06 21:30:00" - },{ - "id": 7, - "orderno": "8360127282183213", - "area": "星沙二区", - "rechargeaccount": "枫林晚月", - "money": "100", - "googs": "钻石", - "ip": "127.32.12.1", - "paytype": "微信扫码", - "createtime": "2021-04-06 21:30:00" - },{ - "id": 8, - "orderno": "8360127282183213", - "area": "星沙二区", - "rechargeaccount": "枫林晚月", - "money": "100", - "googs": "钻石", - "ip": "127.32.12.1", - "paytype": "微信扫码", - "createtime": "2021-04-06 21:30:00" - },{ - "id": 9, - "orderno": "8360127282183213", - "area": "星沙二区", - "rechargeaccount": "枫林晚月", - "money": "100", - "googs": "钻石", - "ip": "127.32.12.1", - "paytype": "微信扫码", - "createtime": "2021-04-06 21:30:00" - },{ - "id": 10, - "orderno": "8360127282183213", - "area": "星沙二区", - "rechargeaccount": "枫林晚月", - "money": "100", - "googs": "钻石", - "ip": "127.32.12.1", - "paytype": "微信扫码", - "createtime": "2021-04-06 21:30:00" - } - ] -} diff --git a/legend/static/data/json.json b/legend/static/data/json.json deleted file mode 100644 index 080bb8c..0000000 --- a/legend/static/data/json.json +++ /dev/null @@ -1 +0,0 @@ -{"code":0,"msg":"","count":100,"data":[{"id":10000,"username":"user-0","sex":"女","city":"城市-0","sign":"签名-0","experience":255,"logins":24,"wealth":82830700,"classify":"作家","score":57},{"id":10001,"username":"user-1","sex":"男","city":"城市-1","sign":"签名-1","experience":884,"logins":58,"wealth":64928690,"classify":"词人","score":27},{"id":10002,"username":"user-2","sex":"女","city":"城市-2","sign":"签名-2","experience":650,"logins":77,"wealth":6298078,"classify":"酱油","score":31},{"id":10003,"username":"user-3","sex":"女","city":"城市-3","sign":"签名-3","experience":362,"logins":157,"wealth":37117017,"classify":"诗人","score":68},{"id":10004,"username":"user-4","sex":"男","city":"城市-4","sign":"签名-4","experience":807,"logins":51,"wealth":76263262,"classify":"作家","score":6},{"id":10005,"username":"user-5","sex":"女","city":"城市-5","sign":"签名-5","experience":173,"logins":68,"wealth":60344147,"classify":"作家","score":87},{"id":10006,"username":"user-6","sex":"女","city":"城市-6","sign":"签名-6","experience":982,"logins":37,"wealth":57768166,"classify":"作家","score":34},{"id":10007,"username":"user-7","sex":"男","city":"城市-7","sign":"签名-7","experience":727,"logins":150,"wealth":82030578,"classify":"作家","score":28},{"id":10008,"username":"user-8","sex":"男","city":"城市-8","sign":"签名-8","experience":951,"logins":133,"wealth":16503371,"classify":"词人","score":14},{"id":10009,"username":"user-9","sex":"女","city":"城市-9","sign":"签名-9","experience":484,"logins":25,"wealth":86801934,"classify":"词人","score":75},{"id":10010,"username":"user-10","sex":"女","city":"城市-10","sign":"签名-10","experience":1016,"logins":182,"wealth":71294671,"classify":"诗人","score":34},{"id":10011,"username":"user-11","sex":"女","city":"城市-11","sign":"签名-11","experience":492,"logins":107,"wealth":8062783,"classify":"诗人","score":6},{"id":10012,"username":"user-12","sex":"女","city":"城市-12","sign":"签名-12","experience":106,"logins":176,"wealth":42622704,"classify":"词人","score":54},{"id":10013,"username":"user-13","sex":"男","city":"城市-13","sign":"签名-13","experience":1047,"logins":94,"wealth":59508583,"classify":"诗人","score":63},{"id":10014,"username":"user-14","sex":"男","city":"城市-14","sign":"签名-14","experience":873,"logins":116,"wealth":72549912,"classify":"词人","score":8},{"id":10015,"username":"user-15","sex":"女","city":"城市-15","sign":"签名-15","experience":1068,"logins":27,"wealth":52737025,"classify":"作家","score":28},{"id":10016,"username":"user-16","sex":"女","city":"城市-16","sign":"签名-16","experience":862,"logins":168,"wealth":37069775,"classify":"酱油","score":86},{"id":10017,"username":"user-17","sex":"女","city":"城市-17","sign":"签名-17","experience":1060,"logins":187,"wealth":66099525,"classify":"作家","score":69},{"id":10018,"username":"user-18","sex":"女","city":"城市-18","sign":"签名-18","experience":866,"logins":88,"wealth":81722326,"classify":"词人","score":74},{"id":10019,"username":"user-19","sex":"女","city":"城市-19","sign":"签名-19","experience":682,"logins":106,"wealth":68647362,"classify":"词人","score":51},{"id":10020,"username":"user-20","sex":"男","city":"城市-20","sign":"签名-20","experience":770,"logins":24,"wealth":92420248,"classify":"诗人","score":87},{"id":10021,"username":"user-21","sex":"男","city":"城市-21","sign":"签名-21","experience":184,"logins":131,"wealth":71566045,"classify":"词人","score":99},{"id":10022,"username":"user-22","sex":"男","city":"城市-22","sign":"签名-22","experience":739,"logins":152,"wealth":60907929,"classify":"作家","score":18},{"id":10023,"username":"user-23","sex":"女","city":"城市-23","sign":"签名-23","experience":127,"logins":82,"wealth":14765943,"classify":"作家","score":30},{"id":10024,"username":"user-24","sex":"女","city":"城市-24","sign":"签名-24","experience":212,"logins":133,"wealth":59011052,"classify":"词人","score":76},{"id":10025,"username":"user-25","sex":"女","city":"城市-25","sign":"签名-25","experience":938,"logins":182,"wealth":91183097,"classify":"作家","score":69},{"id":10026,"username":"user-26","sex":"男","city":"城市-26","sign":"签名-26","experience":978,"logins":7,"wealth":48008413,"classify":"作家","score":65},{"id":10027,"username":"user-27","sex":"女","city":"城市-27","sign":"签名-27","experience":371,"logins":44,"wealth":64419691,"classify":"诗人","score":60},{"id":10028,"username":"user-28","sex":"女","city":"城市-28","sign":"签名-28","experience":977,"logins":21,"wealth":75935022,"classify":"作家","score":37},{"id":10029,"username":"user-29","sex":"男","city":"城市-29","sign":"签名-29","experience":647,"logins":107,"wealth":97450636,"classify":"酱油","score":27},{"id":10030,"username":"user-30","sex":"女","city":"城市-30","sign":"签名-30","experience":1059,"logins":133,"wealth":51997920,"classify":"酱油","score":32},{"id":10031,"username":"user-31","sex":"男","city":"城市-31","sign":"签名-31","experience":781,"logins":118,"wealth":78891524,"classify":"诗人","score":71},{"id":10032,"username":"user-32","sex":"男","city":"城市-32","sign":"签名-32","experience":268,"logins":106,"wealth":69795269,"classify":"酱油","score":69},{"id":10033,"username":"user-33","sex":"女","city":"城市-33","sign":"签名-33","experience":870,"logins":112,"wealth":9068282,"classify":"作家","score":28},{"id":10034,"username":"user-34","sex":"男","city":"城市-34","sign":"签名-34","experience":809,"logins":45,"wealth":71737208,"classify":"酱油","score":87},{"id":10035,"username":"user-35","sex":"女","city":"城市-35","sign":"签名-35","experience":1074,"logins":191,"wealth":65277624,"classify":"酱油","score":18},{"id":10036,"username":"user-36","sex":"女","city":"城市-36","sign":"签名-36","experience":868,"logins":118,"wealth":72021170,"classify":"酱油","score":43},{"id":10037,"username":"user-37","sex":"男","city":"城市-37","sign":"签名-37","experience":695,"logins":73,"wealth":40285551,"classify":"酱油","score":10},{"id":10038,"username":"user-38","sex":"女","city":"城市-38","sign":"签名-38","experience":221,"logins":11,"wealth":99070607,"classify":"作家","score":90},{"id":10039,"username":"user-39","sex":"男","city":"城市-39","sign":"签名-39","experience":1020,"logins":48,"wealth":69258898,"classify":"酱油","score":52},{"id":10040,"username":"user-40","sex":"女","city":"城市-40","sign":"签名-40","experience":335,"logins":73,"wealth":62101952,"classify":"酱油","score":38},{"id":10041,"username":"user-41","sex":"女","city":"城市-41","sign":"签名-41","experience":448,"logins":129,"wealth":63383512,"classify":"词人","score":78},{"id":10042,"username":"user-42","sex":"男","city":"城市-42","sign":"签名-42","experience":460,"logins":74,"wealth":7339859,"classify":"诗人","score":10},{"id":10043,"username":"user-43","sex":"女","city":"城市-43","sign":"签名-43","experience":430,"logins":159,"wealth":54420618,"classify":"诗人","score":54},{"id":10044,"username":"user-44","sex":"男","city":"城市-44","sign":"签名-44","experience":559,"logins":82,"wealth":826431,"classify":"酱油","score":80},{"id":10045,"username":"user-45","sex":"男","city":"城市-45","sign":"签名-45","experience":239,"logins":45,"wealth":14367095,"classify":"酱油","score":19},{"id":10046,"username":"user-46","sex":"女","city":"城市-46","sign":"签名-46","experience":933,"logins":121,"wealth":654550,"classify":"诗人","score":53},{"id":10047,"username":"user-47","sex":"女","city":"城市-47","sign":"签名-47","experience":426,"logins":68,"wealth":96294496,"classify":"作家","score":9},{"id":10048,"username":"user-48","sex":"男","city":"城市-48","sign":"签名-48","experience":208,"logins":100,"wealth":19384992,"classify":"诗人","score":61},{"id":10049,"username":"user-49","sex":"女","city":"城市-49","sign":"签名-49","experience":615,"logins":142,"wealth":57287276,"classify":"词人","score":69},{"id":10050,"username":"user-50","sex":"男","city":"城市-50","sign":"签名-50","experience":1018,"logins":172,"wealth":46800355,"classify":"词人","score":80},{"id":10051,"username":"user-51","sex":"女","city":"城市-51","sign":"签名-51","experience":803,"logins":36,"wealth":27838200,"classify":"词人","score":64},{"id":10052,"username":"user-52","sex":"女","city":"城市-52","sign":"签名-52","experience":1057,"logins":150,"wealth":72591768,"classify":"酱油","score":50},{"id":10053,"username":"user-53","sex":"男","city":"城市-53","sign":"签名-53","experience":917,"logins":117,"wealth":6647761,"classify":"作家","score":64},{"id":10054,"username":"user-54","sex":"男","city":"城市-54","sign":"签名-54","experience":411,"logins":160,"wealth":10879712,"classify":"酱油","score":5},{"id":10055,"username":"user-55","sex":"男","city":"城市-55","sign":"签名-55","experience":226,"logins":87,"wealth":65794302,"classify":"词人","score":42},{"id":10056,"username":"user-56","sex":"男","city":"城市-56","sign":"签名-56","experience":872,"logins":119,"wealth":96925956,"classify":"词人","score":46},{"id":10057,"username":"user-57","sex":"男","city":"城市-57","sign":"签名-57","experience":328,"logins":10,"wealth":84821519,"classify":"诗人","score":59},{"id":10058,"username":"user-58","sex":"女","city":"城市-58","sign":"签名-58","experience":293,"logins":119,"wealth":58668875,"classify":"诗人","score":49},{"id":10059,"username":"user-59","sex":"男","city":"城市-59","sign":"签名-59","experience":824,"logins":189,"wealth":99894924,"classify":"词人","score":6},{"id":10060,"username":"user-60","sex":"男","city":"城市-60","sign":"签名-60","experience":259,"logins":135,"wealth":93176845,"classify":"作家","score":21},{"id":10061,"username":"user-61","sex":"男","city":"城市-61","sign":"签名-61","experience":632,"logins":21,"wealth":20696842,"classify":"酱油","score":51},{"id":10062,"username":"user-62","sex":"男","city":"城市-62","sign":"签名-62","experience":748,"logins":61,"wealth":25171658,"classify":"作家","score":66},{"id":10063,"username":"user-63","sex":"男","city":"城市-63","sign":"签名-63","experience":303,"logins":21,"wealth":95246194,"classify":"酱油","score":94},{"id":10064,"username":"user-64","sex":"男","city":"城市-64","sign":"签名-64","experience":336,"logins":56,"wealth":42545726,"classify":"酱油","score":68},{"id":10065,"username":"user-65","sex":"男","city":"城市-65","sign":"签名-65","experience":623,"logins":183,"wealth":62547311,"classify":"酱油","score":5},{"id":10066,"username":"user-66","sex":"男","city":"城市-66","sign":"签名-66","experience":493,"logins":148,"wealth":29140549,"classify":"作家","score":89},{"id":10067,"username":"user-67","sex":"男","city":"城市-67","sign":"签名-67","experience":1057,"logins":171,"wealth":18015695,"classify":"作家","score":45},{"id":10068,"username":"user-68","sex":"男","city":"城市-68","sign":"签名-68","experience":605,"logins":132,"wealth":85332856,"classify":"诗人","score":56},{"id":10069,"username":"user-69","sex":"女","city":"城市-69","sign":"签名-69","experience":805,"logins":116,"wealth":5561207,"classify":"作家","score":81},{"id":10070,"username":"user-70","sex":"女","city":"城市-70","sign":"签名-70","experience":842,"logins":17,"wealth":19467936,"classify":"酱油","score":53},{"id":10071,"username":"user-71","sex":"女","city":"城市-71","sign":"签名-71","experience":461,"logins":163,"wealth":39700624,"classify":"诗人","score":88},{"id":10072,"username":"user-72","sex":"女","city":"城市-72","sign":"签名-72","experience":556,"logins":25,"wealth":95312752,"classify":"词人","score":42},{"id":10073,"username":"user-73","sex":"男","city":"城市-73","sign":"签名-73","experience":329,"logins":112,"wealth":27679369,"classify":"词人","score":21},{"id":10074,"username":"user-74","sex":"女","city":"城市-74","sign":"签名-74","experience":958,"logins":148,"wealth":37494604,"classify":"词人","score":22},{"id":10075,"username":"user-75","sex":"男","city":"城市-75","sign":"签名-75","experience":730,"logins":31,"wealth":12860757,"classify":"词人","score":5},{"id":10076,"username":"user-76","sex":"男","city":"城市-76","sign":"签名-76","experience":756,"logins":177,"wealth":21938870,"classify":"诗人","score":88},{"id":10077,"username":"user-77","sex":"男","city":"城市-77","sign":"签名-77","experience":291,"logins":72,"wealth":39597349,"classify":"作家","score":52},{"id":10078,"username":"user-78","sex":"女","city":"城市-78","sign":"签名-78","experience":899,"logins":38,"wealth":41681274,"classify":"酱油","score":85},{"id":10079,"username":"user-79","sex":"女","city":"城市-79","sign":"签名-79","experience":833,"logins":161,"wealth":27133036,"classify":"酱油","score":88},{"id":10080,"username":"user-80","sex":"男","city":"城市-80","sign":"签名-80","experience":281,"logins":23,"wealth":73048386,"classify":"词人","score":77},{"id":10081,"username":"user-81","sex":"男","city":"城市-81","sign":"签名-81","experience":1070,"logins":69,"wealth":7800097,"classify":"作家","score":51},{"id":10082,"username":"user-82","sex":"女","city":"城市-82","sign":"签名-82","experience":799,"logins":6,"wealth":19675120,"classify":"酱油","score":32},{"id":10083,"username":"user-83","sex":"女","city":"城市-83","sign":"签名-83","experience":360,"logins":95,"wealth":71020536,"classify":"词人","score":75},{"id":10084,"username":"user-84","sex":"女","city":"城市-84","sign":"签名-84","experience":468,"logins":78,"wealth":62217169,"classify":"词人","score":84},{"id":10085,"username":"user-85","sex":"男","city":"城市-85","sign":"签名-85","experience":230,"logins":137,"wealth":23270792,"classify":"诗人","score":96},{"id":10086,"username":"user-86","sex":"女","city":"城市-86","sign":"签名-86","experience":540,"logins":105,"wealth":83534754,"classify":"诗人","score":45},{"id":10087,"username":"user-87","sex":"男","city":"城市-87","sign":"签名-87","experience":110,"logins":14,"wealth":13882502,"classify":"作家","score":67},{"id":10088,"username":"user-88","sex":"男","city":"城市-88","sign":"签名-88","experience":587,"logins":159,"wealth":97498052,"classify":"诗人","score":82},{"id":10089,"username":"user-89","sex":"女","city":"城市-89","sign":"签名-89","experience":924,"logins":194,"wealth":14829539,"classify":"酱油","score":45},{"id":10090,"username":"user-90","sex":"女","city":"城市-90","sign":"签名-90","experience":1075,"logins":108,"wealth":46182525,"classify":"词人","score":79},{"id":10091,"username":"user-91","sex":"男","city":"城市-91","sign":"签名-91","experience":763,"logins":70,"wealth":34136545,"classify":"酱油","score":53},{"id":10092,"username":"user-92","sex":"男","city":"城市-92","sign":"签名-92","experience":584,"logins":60,"wealth":70978432,"classify":"作家","score":61},{"id":10093,"username":"user-93","sex":"男","city":"城市-93","sign":"签名-93","experience":808,"logins":131,"wealth":10485113,"classify":"作家","score":29},{"id":10094,"username":"user-94","sex":"男","city":"城市-94","sign":"签名-94","experience":930,"logins":162,"wealth":8996441,"classify":"诗人","score":99},{"id":10095,"username":"user-95","sex":"女","city":"城市-95","sign":"签名-95","experience":690,"logins":165,"wealth":94442356,"classify":"词人","score":74},{"id":10096,"username":"user-96","sex":"女","city":"城市-96","sign":"签名-96","experience":591,"logins":126,"wealth":32909109,"classify":"酱油","score":13},{"id":10097,"username":"user-97","sex":"女","city":"城市-97","sign":"签名-97","experience":685,"logins":101,"wealth":19039650,"classify":"作家","score":47},{"id":10098,"username":"user-98","sex":"女","city":"城市-98","sign":"签名-98","experience":547,"logins":24,"wealth":85588442,"classify":"诗人","score":16},{"id":10099,"username":"user-99","sex":"男","city":"城市-99","sign":"签名-99","experience":173,"logins":133,"wealth":69548830,"classify":"酱油","score":71}]} \ No newline at end of file diff --git a/legend/static/data/order.json b/legend/static/data/order.json deleted file mode 100644 index d3eae24..0000000 --- a/legend/static/data/order.json +++ /dev/null @@ -1,118 +0,0 @@ -{ - "code":0, - "msg":"", - "count":10, - "data":[ - { - "id": 1, - "notify":"已通知", - "orderno": "8360127282183213", - "area": "星沙二区", - "rechargeaccount": "枫林晚月", - "playerqq": "1090789947", - "money": "100", - "googs": "钻石", - "paytype": "微信扫码", - "createtime": "2021-04-06 21:30:00" - },{ - "id": 1, - "notify":"已通知", - "orderno": "8360127282183213", - "area": "星沙二区", - "rechargeaccount": "枫林晚月", - "playerqq": "1090789947", - "money": "100", - "googs": "钻石", - "paytype": "微信扫码", - "createtime": "2021-04-06 21:30:00" - },{ - "id": 1, - "notify":"已通知", - "orderno": "8360127282183213", - "area": "星沙二区", - "rechargeaccount": "枫林晚月", - "playerqq": "1090789947", - "money": "100", - "googs": "钻石", - "paytype": "微信扫码", - "createtime": "2021-04-06 21:30:00" - },{ - "id": 1, - "notify":"已通知", - "orderno": "8360127282183213", - "area": "星沙二区", - "rechargeaccount": "枫林晚月", - "playerqq": "1090789947", - "money": "100", - "googs": "钻石", - "paytype": "微信扫码", - "createtime": "2021-04-06 21:30:00" - },{ - "id": 1, - "notify":"已通知", - "orderno": "8360127282183213", - "area": "星沙二区", - "rechargeaccount": "枫林晚月", - "playerqq": "1090789947", - "money": "100", - "googs": "钻石", - "paytype": "微信扫码", - "createtime": "2021-04-06 21:30:00" - },{ - "id": 1, - "notify":"已通知", - "orderno": "8360127282183213", - "area": "星沙二区", - "rechargeaccount": "枫林晚月", - "playerqq": "1090789947", - "money": "100", - "googs": "钻石", - "paytype": "微信扫码", - "createtime": "2021-04-06 21:30:00" - },{ - "id": 1, - "notify":"已通知", - "orderno": "8360127282183213", - "area": "星沙二区", - "rechargeaccount": "枫林晚月", - "playerqq": "1090789947", - "money": "100", - "googs": "钻石", - "paytype": "微信扫码", - "createtime": "2021-04-06 21:30:00" - },{ - "id": 1, - "notify":"已通知", - "orderno": "8360127282183213", - "area": "星沙二区", - "rechargeaccount": "枫林晚月", - "playerqq": "1090789947", - "money": "100", - "googs": "钻石", - "paytype": "微信扫码", - "createtime": "2021-04-06 21:30:00" - },{ - "id": 1, - "notify":"已通知", - "orderno": "8360127282183213", - "area": "星沙二区", - "rechargeaccount": "枫林晚月", - "playerqq": "1090789947", - "money": "100", - "googs": "钻石", - "paytype": "微信扫码", - "createtime": "2021-04-06 21:30:00" - }, { - "id": 1, - "notify": "已通知", - "orderno": "8360127282183213", - "area": "星沙二区", - "rechargeaccount": "枫林晚月", - "playerqq": "1090789947", - "money": "100", - "googs": "钻石", - "paytype": "微信扫码", - "createtime": "2021-04-06 21:30:00" - } - ] -} diff --git a/legend/static/data/settle.json b/legend/static/data/settle.json deleted file mode 100644 index 5a4832d..0000000 --- a/legend/static/data/settle.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "code": 0, - "msg": "", - "count": 10, - "data": [ - { - "id": 12323, - "settleno": "JS21030523595541164", - "bankname": "中国工商银行", - "accountname": "汤鸡巴剑", - "money": 10, - "googs": "元宝", - "ip": "123.9.233.1", - "paytype": "支付宝扫码", - "createtime": "2021-4-6" - },{ - "id": 112323, - "settleno": "JS21030523595541164", - "bankname": "中国工商银行", - "accountname": "汤鸡巴剑", - "money": 10, - "googs": "元宝", - "ip": "123.9.233.1", - "paytype": "支付宝扫码", - "createtime": "2021-4-6" - },{ - "id": 112323, - "settleno": "JS21030523595541164", - "bankname": "中国工商银行", - "accountname": "汤鸡巴剑", - "money": 10, - "googs": "元宝", - "ip": "123.9.233.1", - "paytype": "支付宝扫码", - "createtime": "2021-4-6" - },{ - "id": 123231, - "settleno": "JS21030523595541164", - "bankname": "中国工商银行", - "accountname": "汤鸡巴剑", - "money": 10, - "googs": "元宝", - "ip": "123.9.233.1", - "paytype": "支付宝扫码", - "createtime": "2021-4-6" - },{ - "id": 123231, - "settleno": "JS21030523595541164", - "bankname": "中国工商银行", - "accountname": "汤鸡巴剑", - "money": 10, - "googs": "元宝", - "ip": "123.9.233.1", - "paytype": "支付宝扫码", - "createtime": "2021-4-6" - },{ - "id": 112323, - "settleno": "JS21030523595541164", - "bankname": "中国工商银行", - "accountname": "汤鸡巴剑", - "money": 10, - "googs": "元宝", - "ip": "123.9.233.1", - "paytype": "支付宝扫码", - "createtime": "2021-4-6" - },{ - "id": 112323, - "settleno": "JS21030523595541164", - "bankname": "中国工商银行", - "accountname": "汤鸡巴剑", - "money": 10, - "googs": "元宝", - "ip": "123.9.233.1", - "paytype": "支付宝扫码", - "createtime": "2021-4-6" - },{ - "id": 112323, - "settleno": "JS21030523595541164", - "bankname": "中国工商银行", - "accountname": "汤鸡巴剑", - "money": 10, - "googs": "元宝", - "ip": "123.9.233.1", - "paytype": "支付宝扫码", - "createtime": "2021-4-6" - },{ - "id": 112323, - "settleno": "JS21030523595541164", - "bankname": "中国工商银行", - "accountname": "汤鸡巴剑", - "money": 10, - "googs": "元宝", - "ip": "123.9.233.1", - "paytype": "支付宝扫码", - "createtime": "2021-4-6" - },{ - "id": 123231, - "settleno": "JS21030523595541164", - "bankname": "中国工商银行", - "accountname": "汤鸡巴剑", - "money": 10, - "googs": "元宝", - "ip": "123.9.233.1", - "paytype": "支付宝扫码", - "createtime": "2021-4-6" - } - ] -} diff --git a/legend/static/js/html5.min.js b/legend/static/js/html5.min.js deleted file mode 100644 index 1bb7e80..0000000 --- a/legend/static/js/html5.min.js +++ /dev/null @@ -1 +0,0 @@ -(function(e,t){function n(e,t){var n=e.createElement("p"),i=e.getElementsByTagName("head")[0]||e.documentElement;return n.innerHTML="x",i.insertBefore(n.lastChild,i.firstChild)}function i(){var e=m.elements;return"string"==typeof e?e.split(" "):e}function r(e){var t={},n=e.createElement,r=e.createDocumentFragment,o=r();e.createElement=function(e){m.shivMethods||n(e);var i;return i=t[e]?t[e].cloneNode():g.test(e)?(t[e]=n(e)).cloneNode():n(e),i.canHaveChildren&&!f.test(e)?o.appendChild(i):i},e.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+i().join().replace(/\w+/g,function(e){return t[e]=n(e),o.createElement(e),'c("'+e+'")'})+");return n}")(m,o)}function o(e){var t;return e.documentShived?e:(m.shivCSS&&!d&&(t=!!n(e,"article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio{display:none}canvas,video{display:inline-block;*display:inline;*zoom:1}[hidden]{display:none}audio[controls]{display:inline-block;*display:inline;*zoom:1}mark{background:#FF0;color:#000}")),h||(t=!r(e)),t&&(e.documentShived=t),e)}function a(e){for(var t,n=e.getElementsByTagName("*"),r=n.length,o=RegExp("^(?:"+i().join("|")+")$","i"),a=[];r--;)t=n[r],o.test(t.nodeName)&&a.push(t.applyElement(s(t)));return a}function s(e){for(var t,n=e.attributes,i=n.length,r=e.ownerDocument.createElement(b+":"+e.nodeName);i--;)t=n[i],t.specified&&r.setAttribute(t.nodeName,t.nodeValue);return r.style.cssText=e.style.cssText,r}function l(e){for(var t,n=e.split("{"),r=n.length,o=RegExp("(^|[\\s,>+~])("+i().join("|")+")(?=[[\\s,>+~#.:]|$)","gi"),a="$1"+b+"\\:$2";r--;)t=n[r]=n[r].split("}"),t[t.length-1]=t[t.length-1].replace(o,a),n[r]=t.join("}");return n.join("{")}function c(e){for(var t=e.length;t--;)e[t].removeNode()}function u(e){var t,i,r=e.namespaces,o=e.parentWindow;return!y||e.printShived?e:(r[b]===void 0&&r.add(b),o.attachEvent("onbeforeprint",function(){for(var r,o,s,c=e.styleSheets,u=[],d=c.length,h=Array(d);d--;)h[d]=c[d];for(;s=h.pop();)if(!s.disabled&&v.test(s.media)){for(r=s.imports,d=0,o=r.length;o>d;d++)h.push(r[d]);try{u.push(s.cssText)}catch(p){}}u=l(u.reverse().join("")),i=a(e),t=n(e,u)}),o.attachEvent("onafterprint",function(){c(i),t.removeNode(!0)}),e.printShived=!0,e)}var d,h,p=e.html5||{},f=/^<|^(?:button|form|map|select|textarea|object|iframe)$/i,g=/^<|^(?:a|b|button|code|div|fieldset|form|h1|h2|h3|h4|h5|h6|i|iframe|img|input|label|li|link|ol|option|p|param|q|script|select|span|strong|style|table|tbody|td|textarea|tfoot|th|thead|tr|ul)$/i;(function(){var n=t.createElement("a");n.innerHTML="",d="hidden"in n,d&&"function"==typeof injectElementWithStyles&&injectElementWithStyles("#modernizr{}",function(t){t.hidden=!0,d="none"==(e.getComputedStyle?getComputedStyle(t,null):t.currentStyle).display}),h=1==n.childNodes.length||function(){try{t.createElement("a")}catch(e){return!0}var n=t.createDocumentFragment();return n.cloneNode===void 0||n.createDocumentFragment===void 0||n.createElement===void 0}()})();var m={elements:p.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",shivCSS:p.shivCSS!==!1,shivMethods:p.shivMethods!==!1,type:"default",shivDocument:o};e.html5=m,o(t);var v=/^$|\b(?:all|print)\b/,b="html5shiv",y=!h&&function(){var n=t.documentElement;return t.namespaces!==void 0&&t.parentWindow!==void 0&&n.applyElement!==void 0&&n.removeNode!==void 0&&e.attachEvent!==void 0}();m.type+=" print",m.shivPrint=u,u(t)})(this,document); \ No newline at end of file diff --git a/legend/static/js/jquery-3.5.1.min.js b/legend/static/js/jquery-3.5.1.min.js deleted file mode 100644 index 015256d..0000000 --- a/legend/static/js/jquery-3.5.1.min.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! jQuery v3.5.1 | (c) JS Foundation and other contributors | jquery.org/license */ -!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.5.1",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function D(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||j,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,j=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function qe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function Le(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function He(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Oe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):("number"==typeof f.top&&(f.top+="px"),"number"==typeof f.left&&(f.left+="px"),c.css(f))}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=$e(y.pixelPosition,function(e,t){if(t)return t=Be(e,n),Me.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0 #mq-test-1 { width: 42px; }',c.insertBefore(e,d),b=42===f.offsetWidth,c.removeChild(e),{matches:b,media:a}}}(a.document)}(this),function(a){"use strict";function b(){u(!0)}var c={};a.respond=c,c.update=function(){};var d=[],e=function(){var b=!1;try{b=new a.XMLHttpRequest}catch(c){b=new a.ActiveXObject("Microsoft.XMLHTTP")}return function(){return b}}(),f=function(a,b){var c=e();c&&(c.open("GET",a,!0),c.onreadystatechange=function(){4!==c.readyState||200!==c.status&&304!==c.status||b(c.responseText)},4!==c.readyState&&c.send(null))};if(c.ajax=f,c.queue=d,c.regex={media:/@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi,keyframes:/@(?:\-(?:o|moz|webkit)\-)?keyframes[^\{]+\{(?:[^\{\}]*\{[^\}\{]*\})+[^\}]*\}/gi,urls:/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,findStyles:/@media *([^\{]+)\{([\S\s]+?)$/,only:/(only\s+)?([a-zA-Z]+)\s?/,minw:/\([\s]*min\-width\s*:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/,maxw:/\([\s]*max\-width\s*:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/},c.mediaQueriesSupported=a.matchMedia&&null!==a.matchMedia("only all")&&a.matchMedia("only all").matches,!c.mediaQueriesSupported){var g,h,i,j=a.document,k=j.documentElement,l=[],m=[],n=[],o={},p=30,q=j.getElementsByTagName("head")[0]||k,r=j.getElementsByTagName("base")[0],s=q.getElementsByTagName("link"),t=function(){var a,b=j.createElement("div"),c=j.body,d=k.style.fontSize,e=c&&c.style.fontSize,f=!1;return b.style.cssText="position:absolute;font-size:1em;width:1em",c||(c=f=j.createElement("body"),c.style.background="none"),k.style.fontSize="100%",c.style.fontSize="100%",c.appendChild(b),f&&k.insertBefore(c,k.firstChild),a=b.offsetWidth,f?k.removeChild(c):c.removeChild(b),k.style.fontSize=d,e&&(c.style.fontSize=e),a=i=parseFloat(a)},u=function(b){var c="clientWidth",d=k[c],e="CSS1Compat"===j.compatMode&&d||j.body[c]||d,f={},o=s[s.length-1],r=(new Date).getTime();if(b&&g&&p>r-g)return a.clearTimeout(h),h=a.setTimeout(u,p),void 0;g=r;for(var v in l)if(l.hasOwnProperty(v)){var w=l[v],x=w.minw,y=w.maxw,z=null===x,A=null===y,B="em";x&&(x=parseFloat(x)*(x.indexOf(B)>-1?i||t():1)),y&&(y=parseFloat(y)*(y.indexOf(B)>-1?i||t():1)),w.hasquery&&(z&&A||!(z||e>=x)||!(A||y>=e))||(f[w.media]||(f[w.media]=[]),f[w.media].push(m[w.rules]))}for(var C in n)n.hasOwnProperty(C)&&n[C]&&n[C].parentNode===q&&q.removeChild(n[C]);n.length=0;for(var D in f)if(f.hasOwnProperty(D)){var E=j.createElement("style"),F=f[D].join("\n");E.type="text/css",E.media=D,q.insertBefore(E,o.nextSibling),E.styleSheet?E.styleSheet.cssText=F:E.appendChild(j.createTextNode(F)),n.push(E)}},v=function(a,b,d){var e=a.replace(c.regex.keyframes,"").match(c.regex.media),f=e&&e.length||0;b=b.substring(0,b.lastIndexOf("/"));var g=function(a){return a.replace(c.regex.urls,"$1"+b+"$2$3")},h=!f&&d;b.length&&(b+="/"),h&&(f=1);for(var i=0;f>i;i++){var j,k,n,o;h?(j=d,m.push(g(a))):(j=e[i].match(c.regex.findStyles)&&RegExp.$1,m.push(RegExp.$2&&g(RegExp.$2))),n=j.split(","),o=n.length;for(var p=0;o>p;p++)k=n[p],l.push({media:k.split("(")[0].match(c.regex.only)&&RegExp.$2||"all",rules:m.length-1,hasquery:k.indexOf("(")>-1,minw:k.match(c.regex.minw)&&parseFloat(RegExp.$1)+(RegExp.$2||""),maxw:k.match(c.regex.maxw)&&parseFloat(RegExp.$1)+(RegExp.$2||"")})}u()},w=function(){if(d.length){var b=d.shift();f(b.href,function(c){v(c,b.href,b.media),o[b.href]=!0,a.setTimeout(function(){w()},0)})}},x=function(){for(var b=0;b a{ - /*color: blue;*/ -} -.left-nav #nav .current{ - background-color: rgba(0, 0, 0, 0.3); -} -.left-nav #nav li a{ - font-size: 14px; - padding: 10px 15px 10px 15px; - display: block; - cursor: pointer; - border-left: 4px solid transparent; - transition: all 0.3s; -} -.left-nav a:hover{ - background: #009688 !important; - color: #fff; - border-color: #04564e !important; -} -.left-nav a.active{ - background: #009688 !important; - color: #fff; - border-color: #04564e !important; -} -.left-nav #nav li a cite{ - font-size: 14px; -} - -.left-nav #nav li .sub-menu{ - display: none; -} -.left-nav #nav li .opened{ - display: block; -} -.left-nav #nav li .opened:hover{ - /*background: #fff ;*/ -} -.left-nav #nav li .opened .current{ - -} -.left-nav #nav li .sub-menu li:hover{ - /*color: blue;*/ - /*background: #fff ;*/ -} -.left-nav #nav li .sub-menu li a{ - padding: 12px 15px 12px 30px; - font-size: 14px; - cursor: pointer; -} -.left-nav #nav li .sub-menu li .sub-menu li a{ - padding-left: 45px; -} -/*.left-nav #nav li .sub-menu li a:hover{ - color: #148cf1; -}*/ -.left-nav #nav li .sub-menu li a i{ - font-size: 12px; -} -.left-nav #nav li a i{ - padding-right: 10px; - line-height: 14px; -} -.left-nav #nav li .nav_right{ - float: right; - font-size: 16px; -} -.x-slide_left { - width: 17px; - height: 61px; - background: url(../images/icon.png) 0 0 no-repeat; - position: absolute; - top: 200px; - left: 220px; - cursor: pointer; - z-index: 3; -} -.page-content{ - position: absolute; - top: 45px; - right: 0; - /*bottom: 42px;*/ - bottom: 0px; - left: 220px; - overflow: hidden; - z-index: 1; -} -.page-content-bg{ - position: absolute; - top: 45px; - right: 0; - /*bottom: 42px;*/ - bottom: 0px; - left: 220px; - background: rgba(0,0,0,0.5); - overflow: hidden; - z-index: 100; - display: none; -} - -.page-content .tab{ - height: 100%; - width: 100%; - /*background: #EFEEF0;*/ - margin: 0px; -} -.page-content .layui-tab-title{ - /*padding-top: 5px;*/ - height: 35px; - background: #EFEEF0 ; - position: relative; - z-index: 100; -} -.page-content .layui-tab-title li.home i{ - padding-right: 5px; -} -.page-content .layui-tab-title li.home .layui-tab-close{ - display: none; -} -.page-content .layui-tab-title li{ - line-height: 35px; -} -.page-content .layui-tab-title .layui-this:after{ - height: 36px; -} -.page-content .layui-tab-title li .layui-tab-close{ - border-radius: 50%; -} -.page-content .layui-tab-title .layui-this{ - background: #fff ; -} -.page-content .layui-tab-bar{ - height:34px; - line-height: 35px; -} -.page-content .layui-tab-content{ - position: absolute; - top: 36px; - bottom: 0px; - width: 100%; - padding: 0px; - overflow: hidden; -} -.page-content .layui-tab-content .layui-tab-item{ - width: 100%; - height: 100%; - -} -.page-content .layui-tab-content .layui-tab-item iframe{ - width: 100%; - height: 100%; - -} -.x-admin-carousel,.layui-carousel,.x-admin-carousel>[carousel-item]>* { - background-color:#fff -} - -.x-admin-backlog .x-admin-backlog-body { - display:block; - padding:10px 15px; - background-color:#f8f8f8; - color:#999; - border-radius:2px; - transition:all .3s; - -webkit-transition:all .3s -} -.x-admin-backlog-body h3 { - padding-bottom:10px; - font-size:12px -} -.x-admin-backlog-body p cite { - font-style:normal; - font-size:30px; - font-weight:300; - color:#009688 -} -.x-admin-backlog-body:hover { - background-color:#CFCFCF; - color:#888 -} - -.layui-table td, .layui-table th{ - min-width: 80px; -} - -table th, table td { - word-break: break-all; -} - -/*404页面样式*/ -.fly-panel { - margin-bottom: 15px; - border-radius: 2px; - /*background-color: #fff;*/ - box-shadow: 0 1px 2px 0 rgba(0,0,0,.05); -} -.fly-none { - min-height: 600px; - text-align: center; - padding-top: 50px; - color: #999; -} -.fly-none .layui-icon { - line-height: 300px; - font-size: 300px; - color: #393D49; -} -.fly-none p { - margin-top: 50px; - padding: 0 15px; - font-size: 20px; - color: #999; - font-weight: 300; -} -#tab_right{ - display: none; - width: 80px; - position: absolute; - top: 35px; - left: 0px; -} -#tab_right dl{ - top: 0px; -} -#tab_show{ - position: absolute; - top: 36px; - bottom: 0px; - width: 100%; - background:rgb(255, 255, 255,0); - padding: 0px; - overflow: hidden; - display: none; -} - - -@media screen and (max-width: 768px){ - .fast-add{ - display: none; - } - .layui-nav .to-index{ - display: none; - } - .container .logo a{ - width: 140px; - } - .container .left_open { - /*float: right;*/ - } - .left-nav{ - width: 60px; - } - .left-nav #nav li a i{ - font-size: 18px; - } - .left-nav cite,.left-nav .nav_right{ - display: none; - } - .page-content{ - left: 60px; - } - .page-content .layui-tab-content .layui-tab-item{ - -webkit-overflow-scrolling: touch; - overflow-y: scroll; - } - .x-so input.layui-input{ - width: 100%; - margin: 10px; - } -} - -/*精细版样式*/ - -.x-admin-sm{ - font-size: 12px; -} -.x-admin-sm body{ - font-size: 12px; -} -/*登录页面样式*/ -.x-admin-sm .login input[type=submit],.x-admin-sm .login input[type=button]{ - font-size: 14px; -} -.x-admin-sm .login input[type=text], -.x-admin-sm .login input[type=file], -.x-admin-sm .login input[type=password], -.x-admin-sm .login input[type=email], .x-admin-sm select { - font-size: 12px; -} -.x-admin-sm .login .message{ - font-size: 14px; -} - -.x-admin-sm .layui-table td, .x-admin-sm .layui-table th{ - font-size: 12px; -} -.x-admin-sm .layui-elem-field legend{ - font-size: 18px; -} - -.x-admin-sm .x-admin-backlog-body p cite{ - font-size: 24px; -} -.x-admin-sm .left-nav #nav li a cite{ - font-size: 12px; -} -.x-admin-sm .iconfont{ - font-size: 14px; -} -.x-admin-sm .layui-tab-title li{ - font-size: 12px; -} -.x-admin-sm .layui-icon{ - font-size: 14px; -} -.x-admin-sm .layui-nav *{ - font-size: 12px; -} -.x-admin-sm .layui-breadcrumb>*{ - font-size: 12px; -} -.x-admin-sm .layui-btn,.x-admin-sm .layui-btn-xs,.x-admin-sm .layui-btn-sm{ - font-size: 12px; -} - -.x-admin-sm .layui-laydate{ - font-size: 12px; -} -.x-admin-sm .layui-btn{ - height: 30px; - line-height: 30px; - padding: 0 10px; -} - -.x-admin-sm .layui-btn-lg{ - height: 38px; - line-height: 38px; - padding: 0 18px; - font-size: 14px; -} -.x-admin-sm .layui-layer-title,.x-admin-sm .layui-layer-dialog .layui-layer-content{ - font-size: 12px; -} -.x-admin-sm .layui-input,.x-admin-sm .layui-select,.x-admin-sm .layui-textarea{ - height: 30px; -} - -.x-admin-sm .layui-form-pane .layui-form-label{ - height: 30px; - line-height: 14px; -} -.x-admin-sm .layui-form-checkbox span{ - font-size: 12px; -} -.x-admin-sm .fly-none .layui-icon { - line-height: 300px; - font-size: 300px; - color: #393D49; -} - diff --git a/legend/static/x-admin/fonts/iconfont.eot b/legend/static/x-admin/fonts/iconfont.eot deleted file mode 100644 index df5334af5f88dbaafc510fc0b94ecd79baab2ee6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 49600 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 CY%vA^ diff --git a/legend/static/x-admin/fonts/iconfont.svg b/legend/static/x-admin/fonts/iconfont.svg deleted file mode 100644 index f6f082e..0000000 --- a/legend/static/x-admin/fonts/iconfont.svg +++ /dev/null @@ -1,477 +0,0 @@ - - - - - -Created by iconfont - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/legend/static/x-admin/fonts/iconfont.ttf b/legend/static/x-admin/fonts/iconfont.ttf deleted file mode 100644 index ccf533ec5e6b778fe8ffe17753dbafde5ad3ab90..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 49432 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 Wq_gOFI@Jmyj-<^eJwU6rJp6x-RUf?o diff --git a/legend/static/x-admin/fonts/iconfont.woff b/legend/static/x-admin/fonts/iconfont.woff deleted file mode 100644 index d06756cabafdf52e80d4b9e3119ba1ee45a2ebe7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30200 zcmY&*Q*b3*6Ky88IkC+X+qN^o#I~JGY$p>tC$??dPA0a^bHD%Ir`uJly4R{+)&119 zw}+CXB-jtI|HADR4B>ydANT+9|JDD0NU3Rvf`R>j{Z9q_2hqCk#w#T?X14z{{{Oi6 zf6&yzkkvP_GjjY-3j_m$oB#tuprKyQ;j*yxG6w^LmIni~R09JmeKe`7`>-@KG6e&( z&;QTI`X4w^iGR&m{wMyYE&azy{sRS^I8?l)ovY`6+T(v*4-5=kTelblv~@7~ug^jG zzd20*14j5sg`JV-e{&rJ|LY_E4==jNSZIpATO z_nrAjG3|1n`_WSauJDJdAzuBw6M=GqdHH-<_25Fma{krZZ20Bfk2Czt;n_%$AwuHL zs47BffAN(;bL3nb!{*@Om272n8`n+mfbDhJ-LVv}g_c9N{SvhV@ zg@3nx`VV;*>_`N$ZCg|yjvvBJa3j6Jfi-7{!+;kp_2%IiO8 zr@Qa5ty#XAdC}6c{w36kG_|*$zd3T+a@S#}dSJKcqM=f-`Rk&k!`P9v;jSg;Nn>F# zdm3r#L?P|cG3}h;fLw4zXOK6C*{x?`eWE2mDN@y}T(&er5g|u2wp72oWl5$qTJc5I z@4yc0oq_)8OhZKhka^)^Cxg^E7p1=*yV6v^cx9=?NO(GS?OF)XKb;`Dl;L_VK~O;|Vb$m~d2>hLv3Cqd`7_m2{yn z!JSlzIj|f7{4wE9J4he9%kHC~0)%2@OvuO|m;wR88B_b1ibw2mVjW{P9hj?9BkqlB3nd8i&oeaXJEa;x=XVf zj3@!>lkafa5!O#N1q|^46)1K%t|;zut@t8e6ntcT4L7v+#TKv8Clz$%t5~i8cac_& zkxB}DioWI>?#3mlA7q+Y=z-cM6X3?xv{(_d3U9(y07|I4P+CC56Y!CQGu=64%~BR~ z-$tzkbvIo#>~$rDOFTU(Tv`npEtEDk;zqt*{L@gD#yFX_GGZFIMAnjiAN@L?VmhP* zlqdJ+EWy8vrag(M1`d(?bC?m|Wzj-K?kadme;Ub3?klNDq6cIwB(0fGC^QVDXelVZ?c?Rl#J^GDeb0mYVS!LKmsb=4D<|Jn+fxV9NLocXJ8kVjl#HsJBu0j z`h3dq;Wbc?nlA%A_tJL4yCItPX}kvbN!^*18F*=Q4%tvzPB>-&%q8*3`WajWaD< zutsahD_0u(2AY$?r1ORmSX$#dCzN}P?E#_5PylXdJOfLzrorWTV=6!(nN${UG=YgV zvvXDX=$I2wl6*9)BR1R6n#Z{?)rE&TBQrkR_FULGsvK#&9B4pMn(;F!+x}eEIjo#x zJOlVmVUdxUqGxul?%Z6iPfI5+AU8j>)P|V~ye=tYYi5zKQ6pAsV&woxaH&bDEoE$E z7RHyi(w-|IDbBAh9bpD5R4cL$E!|*>DJUp8MU+3#hGlHz85f^{z@nf{u6GB?i+sTT zyN6TVFxmLSZ$e$OQ_uRZ3p|vA%-z zIni)bS@42k3Q{;YQY7iX5M@82v^aH+kIY&rI8kS+laX@FV@@=8Ixb8~4zTJX^rGG7 z1>JP$W1hPAqwd(|r$Bv>OB(BO=^krq#Q=0#X`D zZjhi-Z%sMcSU6drkDeGjnz7p#;~(1sh(X7$Kv-gG!Nw;y;h-9;87ZsSR?Vpjdh4i-u!sLV+jF2-zp? zl=ItiZ%R#pwpTpcQ4n7(=GMdaxcT>IPs#WFdv{XO!9=01gUL-A6*=97H}(g*c6icF z@(uYmNp~C3&}hE$&`S+?fX{0LelY1Ur^p>~sz_KAIIz0UPI3KiH>JP93|1};Qf9qH z*nFDxS69+^@-=xAJXC=aF19%W_{B+#8Z9OuX1_~br(jvWMY*_J+LdUBmSkw(u!O+l z$d*({hYea}9N(KqqC*IH)X?0DILQ`aC09yiU8@auMs2*bOp^_}sD*@5o9S;R=Yim# zAbtlHT@#X4v$9f?7XEAF$Mx)^2<{o_er=4TLW9m~N}1rD^vmN}WvS9loKg46${JtX z8s8mG5r?x>&hdK)no$7>x9vG*V%pX#*sRAxDUstye&S2u>i8`$f8K#U3s{w6!i)Q9 zT1l;iL-V(v^P_#*ilojDuaJ`F41N$qF7Z)!{dPE811R6QDr3NoatOF!@rxOc>7*$D7-bxOxRJ^R^dU1FGv$-B!8fHqY{)6` zjWY;$ac!PsdPG=s@@K+%#^E%+=w>mc&%hkIw3ambG$%-jiB)4TA&*3?Q>5ihUi3ty z8Wj?1c7)I9YCYD;$Tjak!w~w4qROoKHpcx1_d!(3hLWo|!P~2=kBpJO!25xFmci*v z*z{biDo}l^!;c8>BUvM-Ah!o&AC?gt1*omn+Cmi2Y3RmV+;~2|I7}y>(2_gcIFrkF zKYgTx9JpiY`|bw(Fn@loYZ@J#R4soE(4c_brwE|G@6nA0G?HMNi9{k8w4*yxA~r49e#P_H8hT}blA%>NJr3Zf7>&iJy= zEKN$NjMHyf4gT(}llHz9NhsD+Oe&1iqgl~pKXDejx^lEq^Z8I_ItggDdpcgWvscA7 z8%-2uEmS~w)}6!Tz)T>3kxQ=o!W)y0&62OBsZmJz?w4Fl0@cEtWdB;$6I(FPZH3pq z5aTHWeV3ItH`6Auxk)9vRY+E8lc6<|jZvCS&rhqfaCzh?{4TIb^j8!8tBiIGTUkH* zsy7Ma0!VAs2_Tu5A)2L?_BxuF^Laov;S~`KGu4#n*`0tw$eKwniU)vaYL73_kJ)jr zDKtlCzNHI|hUFf8hWFhM7-2GSK~iQ7LK|>G3S^7|1cDD08OW+8hVnA8?g1<6c1Dd0 z;zVqWlT`vE@c(qu-rrtkZ`c^YCaW|X1q9Z=1I@4VL4}Q>R0T*M`8Zx`aSCPf2i*W} zHOKus#R4PK8;N21LjK1Jc+cg+B!wg>G1tB*-SNoX7B`V3MAjbXWC}lsn(yo${YN2d zy=*kI*N|;*SNe9KyOkNKaP0D(ZqnSgq$c&9F-Z2!$3@!N$4#sg<=k+8g5}b?%;jb# zaQ3o;_^d;B4Au-2BUZ}TIMeN&hP_SrtDwY_V>VL%{vHZppU97&=dN6yi{h*xJC4u~SP^X#UlCY(M;s(naHH}p8U%x=dA*xwUt>3-qN=BR3&v2-TXa1!}Z_{@5&{e(P@N^HYp%bNf|9KL{I)j(^r`#V6polMBBh4+> z3`;l*;3m2m9f-qd(WCZ-z>O=Kk7uA#wQ3=1eyZ15@LCO^3G=7mHkx(@BalNlP=YiL z%sVi3b24{)HjEShQAojRcP#yOfbQp!hX{K>T&M)ByDkVUy8R4Kadco+we%HS>fGsr zCLGc3$e`S2fMem*m-XfusYwy|rx)@N2xjx<44cRfGxwdB({RyC2hh_`HUpt$u(atr zksb?0vB;rOZR$>MOuAH!a3kE~txyf#_Bu}@w~Y3+gDh+}1E4n3sCRJ2xm*J~&v}Kn zG`OWqVC%;4Qlw^vV7%D-zQkBp141~+2HRmjRGC4UTc4tSwlhFiEe^b4BSW?` zwW@C}B8xZ0p9Z{=NjFj7LNpH9P?PYs1TERhlbCF@oGCSl(kkT|mJ20%Le==_KGbSFz7Se_P5gQ^Lb_i%xr%hGPARf zm)XLS*cXBKQ~{oXJ~4l}ao^VQ!0z3~DEy{)@~}kULx%&!iIa`9!GU-N2W+)|nzOYG z%~BY`V5gwRLi~nZoAMrU#=X$l{U;=D=shSdBzG1Q(u+}9tC*7XU2=Q3v3`lmKzLtu zsB@Td>$Ct#IvC*Y(ag$#Y<=Bx&!hNBT9fn{QSuF7@N;DQ;}b+nxm4fhettkOOTH^M zovd^t>x0#7BRPebL)VWvx^wsd_4I0;FJVU2{}b(JHo_uJdZ()W8lWF@}tcsPg%bO=k`we%D&BRogKNnm^X#*2SyWX`*`Xmheq@{&i46kHX zx38>Amm5d*-UAmLr6QIziUEg(mdlPZO9(^@o1rimhI{gR-*qI*q5M4JgW8cgUBK_h z{UJLz*!C5*$l0$uGbrlxeP$_drGyWbD{3G4S~p`+V_!_0-UTtzoWl#R=OnGZo2c(v zfg4SCSLPbMWv01r$Q1Z*x;B#$w)8fbWWfdd_84Wo3*)H}@VAgIqgA{| zkJnruGGltgC#R)_@bi$W{I-mxo{0lx`+qoi1$dAv*yaEuu?!&MadClmnL3XP9>hCu zqN{*=UL`$d1V5*i@7LsSZ~Y_#P*MeUm3(|nkwLDU)sl2*jh`MSaqsg6aU{7$C@Ps% z*ksLM)kGgE6-;#gPxH?|=>@V$)-zp3y`A4AG68KDl>rHX=cMB9yd3JHBEI`!7kQ|| z)HS;gpQLK3!y_7O2E$&R<#0%yu#8C=LEHc8<%z?r6J5k#Bcp7cGtu2OKqu|B<@UHs z7Fbwes9Ln&6I&H>(uQGx-@zWTcLKWeba6F=_KX1J>mp$U|n-kU8H8&{e6W4 zhF)gbG!POycFTp~mIAp{!`d8(&dZg^MmgYV8tXWKWn<*5#0w|}HFaapQqS%{GfW3C z{E8(6ZS$8~1y;A^@M`<>LO{y$K2-GyJ}DqYkw0ZDE6gZ2wL@5sQZC7}Yt0(qD$y(g!}V9Jgu7j@dmIp8#jsrV}#cw(_L2pefjDo2ZxSO2TJ4og^4)=yF}Js410F zy4D1_^3X)7^1a@)7T}Pm|9Z_U*eK7Z?JqoO$z2kfRNC`Wo2DO^^fwy+#43s-3k#yA z{FrXE69^*V`R=W}aN)q7W!I+3@>&mDaA4(p2RZ2Pf&g02i&WOnQIgG$+{a$^j<}8R z=OFVACN9r_^)=la0H6fa@Ur6ooeX+o>3-OGLnhwePUIp9SaXB(>#2Du4hdpWD1$`^ zQJ8W^lez`FS@H`EjxfAOCbfysD5x1lS$=xu2dvy^!b3-0^QD5qOLP!#+--f5r>XLE~{0Iqrk{rY>p0?;9i!`0FJaO%3sC5mq>#fED{o z>)c(vD14?w^+tY<9F5RCMs~9{pPu*ER}NZ0H25&47vucNa@W0W;A~%i36F9oz4N0gv7hQ4@Em8*a=w|kqMGWzsr770ZmDdSKI`13)qSOi2CrJF%VKojvtAS!-W+}_>} zfPw;=@Z(nXo$3W@D3sv^iUIW*n-hT=&Vs{r%;S;lLYyj9MGvZu$ABnU@E=BqqRP+g za`+>@)X9A48>`Q}N(Ay<(wBHEuDt zfj}7PkO{9J*1A(@OKxK=h-*!JN=?4hxeBdq^{7!wKUoKIV8$u-X>>8u>@~7s6TK=( z;?8Uze3H@!W|bwLe4uf_x>(tXsb*9N<-Py_@Urh4jmdugd;&_Gim-wj<4Dj2Sk*S_ zXO)!>z?s}95dY(NWUxYGy(qL^uVh2Gb9WZ-#RlRb=yS3}3eD-$Sa ze~zt!ftZfB0V9=yE0IRwv#6K$2Q~Y&br8{dGv)ej>$l^j)ve5!T%-B2eNOA2fgP8{ zOw+bsx}*ro*AyQf?(c+|mb{rWh`(8)J+zQ{l33+VD&|0cx{o3F6^PMG7$it*`gl3^ z>7wvezOoYH>4@PYF2`%RLl7R4y==m1Rw(>;XRg4exHS7cvi2P(lse*7xMI!1;ID?O zf=smHe4OUR^aBuo)+%KU=?cBi>(ZK8T|M>HPWp}cD`1*})~S=>nnTYU{DlT?4~GoV z6?wD0!k#eP6WU96>7rV5iHgJXl*Zn|ADY~Mt1aqdu>FbHLq8j~Ngf~U(cY`s$=J<% zys)Ekfb{S7(8d6&&e0*&yW4Td8EI}awzXeVcjcufOsYR_b}56*C7XcQGqD&> z%~?^s>+KJeGTv4vDldi>JW=cq)F3%dDYK}h0BWS#4x>0pd956;yM}P^pZ=$$#RD_Q zksEOf+q#um5oQ$Pg;vhX~__}%p_gW-3U+tPn{w<|}NFiLR0G7WnzxVs+yh={I30bjZ9_@0m5Mmw>&6WiCp6>0m+d zNyhYHZ-&KmXfTXG-T3VUD#c=3Y&hIhU}0423=gMbs9>UcC3y(Lf$%|f#;AM*<8ym4 zo#_QXpMAUDwb`vr_%gtG)hzXI>pu5?SL*m_r9Y>f0BooAL2Szr*Yt!_6~y4(GTqTa zal1?JVjP>QfpR9LK|23j5VAnK6!{Bs0+U$(bdbj5evP`(*=F!+76it@Pj)@yj4km{w>tH_3E*lScSh?U$dLpiH z*NF7`mXwEui169!M9Q9ol_;<{({W_2UA;}!6Zt*-awUGo9^LEG zlFp2%X~eaz3DI!WCJN8+LE{wN&ww0)2i{InEL!mKK1v}e0Lr_={oDu}E^Bejy6X}F zU4-qo9)Xpb7@7Pa2FIJ4@8-T3_5RS_SWTHkGH+Ctz_ctrV=)L@k0QbwOdGzP6HtwIXlb_4bVndMv)*=QD?7W> z^ddE8`iT80{v7afkoVe~+)*6q(+eP7?szC!ASzMak)c8uFBa1rm-JQq{WI`!%k5BO z7w3pc=W~A@W@}DnK!Fh0%u5y(l^EFmm@US6mG3$V6q_m7Hl3X4Zbff!yGhlJAoc^l z%f0OV7ANWZ_k-pD>6u2%qal4LUa{<4AhqsC@t~08P}^x1RHka@gny))iSi1}?5D+c0jcqMA69*j5)2LgA0f ztwO@!DP`bK^}%QiSNbH$`+L)B0UhIZ$SGpIY!W^U6vN{N@vCL=f1WJT1F!_B%@#&W z0e$ibc9Gv3*3M+Ez%Pl&p%yzhVBt>k?T3oUb{N#HT5)P5SMvC8z{Gk^-^9WZ3I#d} z|I5}jccaCbPEcq^0JAEH%~uGUz0da!NoPI5+Vz1VHHUfb5>(p7b6?iWxy8 zXNcQB@595{MqhYG-{8z4;X!xY5IJX-?`v8u3k+gq20t)0FX`SFIwBm$nG<#*f341! zhFa8cw$3gEdv3MW;xhl;s@ai)q+p-)rlFe*;tq)qV`jvVV7w9z#Aa>` zo}4`0X!;FyDJ0!mR%B|$3wxqGOsH8wo5mKcg>_Sm2oL^%dzhd?xeqA|LX2T|j5fm>ii1uv zyo*chTpsp3yFelwyONiax7Z&Gj85VRPG<1-xg)v4Xrkt=SZCcFVAWLejGVEBve z48)%yKfoKHa9?5iX7ow~;z4983WG1SIvlWd)!cV5 z%UcPmlAID9x^UjlS@gbXUu1Ii=$J?5$_B_Emjux(HSS~k6XmkQP;gP+xh!kkUJi~Q z4l?)P7DEYZjGj$hCt6;(ALI;I>0Mu*MvcC2WIZz=9w!l%7_f0^uQir;Gh^SJpE4Ak z-o$in+eHdAzi5#xxF%!bvbDjs~Q3_w9|2{=q04rIadq$RPUZ*&a@F zAj}UN6YgMeJXDWwc4t2tkQ*JCUA|R4t4r{sepvRG^%N%Uk41?( zb`%cq`4}tB0qc^z;fF`^cGgE}l^xG2>UKsaF*iibtYIQ6IAE7iw=|%ras*y0^DG5OJ^}jj{ktRubee9bbOhS4bp`%Y-W|Mu6v^GVvnggq`MA^jK7@lFN|t%Uwz6Hr+R;YvXS_sfuUk zLUM^;T^k2SJi^c{<#z2ltr`*t3#n3NL#|6C0)DN`8FztFr;6Sz=Y=9${!l90l6$_s zE_nW;cghnm(Q!oyDf*Lnl{$sqX)1$*eW;DRm3D?A$9_=qk@to466L*6VU+iq&;-G~#9NFIwjK|u6@QKAwh4i z_07~6qwS1VySev|IANww{Ul$WP=>Hw?fhF0W@}Dzy?g-WjF`M62Ge(tPL9M~b?8p% zymA@WR)DIb(HQ#7qd+yVT}gx;t8AvjHABX@*E{ebwOj9o3sBwD9(*zkgjICwsY?LZC851LGbtGhL3{7JRAGTNr#A+ zTnfGX>b`y(AGF#UFiig_B=0k1(}bunpn!Jhkao#>B;mQcgEMdPb~WBdJ80DJ59^Xq zqTiOa@|5Qj?!px2!`pZ79OA1f4LaOgcxUgNGGK11^j6AG_Mz~+LMhrk-C$Nx$=3Fb zodccK8;+o_a(7Dgex#@(C#EdEVm{;?Cr|S#QvNk0se<7pxGqIl_HoeUMZ-_ zdC3|*ua~T($K!2}URt28nR#hg3jvR*j@z!MgK1Y$2Mk3w+^*cfzV&F8w1e;NUP-tp z6OumWgY(Fktf*$(l(x)-DZ(OZMoU|0A5>qijTPR+Wq-rneP`U) z4Kfkeb54NFLT^v-*{SPrGa7})Fphoi7Zlp!L_v3^O~lVj+h0q~kILZWW?Z{arcN9j zr`*Bi=f>drUakD#hjS(R(V3t41>8kNCX#3ql0$t;eY3v{91?4t#s6Y>ha3(3T3U!l zg}f27g4v24`tbun!l*ch5fhDxMD94yNIFyYHpOU%&h%86XnjaG_yIP9i+k+w$grc* zrm7L3Ap7SP5q^`GZ?yh)G(BgnT=#Ww2yapQ%-Vjd&U$n(mw-JWqXfaEuHWBn2-F#H zJ%h(mIrO+O{`~%jgL6h@;3FljCrT>qn?NoR#_-***o4;I^ke;y;q)-IgQr!QU%BN_R~^L_U4UtLo9TJR!Q{ znM8NIp`A%Mzwpi=o3QauOC*+P(mzpBjIux14cJnW)rO);(S?6bIl+xW{WM3ID#LNv z&&6ccdVuA?eSi&4Db=7FZ^LLh9|jLNwG;@+pTO=&Yy&WEsb;8HTGh17{Bb19xr)WE zqUgJo_Oa33xF@jV)IPI^=?O?Yt3mipCi6FBRU$T8oiRSx8(5~y4Um_P2t9h!deu5c zMm#$?L*w3qbbO4z80nzkTSm!3*#`4X7cepFGG0y8EzU)hq5eFcngSB#RThR9}+@Wx%T;XTH6)}H*si?F)F ztW?U3;tbRBN_ffMRhXfk-%0h_(e@h_pj>34@*$Cw2qj_u>SDygoO26W-@sa4{bo_+tEv50ab_q++O9Y%Mu zz&O0zP2J^+C}B(%|8>Sn^6aahQ-|$uAWnB%zOTRAV`hQyAnw!6$#-oIC)4~qRU^M{W$Gi zr|4@sbU?X&ZOG{z>9Mnkj3VLQ9HG={x`mBB0*ugL{)y6G9#uu!V1)^nLxRMdQ!1~99L0Cma zD$TjQgrfj|I3bnT6;T3d8j%w&itVzSx_%#($`$? z3rR`^1dC@WW}-gmVzi213r<4f?NdSVuR>-rc8IGiQp) z>~|SD-HO4Veu11Rk)xWq0eSz89RbNMmd>@t7xqC0?EBom@ayHivgnJcD=lfT&;BLL zv4ZCx!k?Y}PXVL7KEeu^a9;z=BQP>cwh!?i+AUBFJXPUfXa%-MF`u{#3Oz?-T;YYJ zaM9I-2^UF4#&(eugzr;rD%ad!4ZKRPbaB%p*7%c->Iu-)XNaY@t`Uua3C33F40UrR zrcm%G84tK^eR=Q(iOCJa2C8sNq3mp71l>^BGumC~#T(r(E5#)Un9D4wIuEF!J9iDR zHfih}grCBcXy_&G7MERDsZjLBaF=BXz3#_#cm-t%Oy|?Jr?$B*PRihnZ2l)kFK_5A zZgVFVlR)}-z0RLm{Ue;)g4=bn)*k%CQC#$#m>U?RoOohaD%P1sl$Svmjp#B=$x4_| z-U;~#tOdckKQ7#{X|B=+I~#o&74lQL5dSFp=3fs^cMpc^*5IS+fJ`su-H9#ZOY67) zz(r|g|3txpi?QoOTkm>o69?1FeBb!TH2y+rH{ZK`laGn1 zo<4=xbNCX&1l=)GSLjj{e|(dkpgUiahO^kblhSiyGYOK4=&XafB1I6f+>|s zAmb-C5QrgG{|lkS+D9CI!?$C2brJ4wFB~I@Wwj4Q*8TR>31SGcmP|1P*i1y1=ZJqE z#c~Ny-ji6-EE0x8w+gtzT#fQ6?hr=h8G6Gh)#y*y8Oo^~8K$ui-N@XO=%NbniT-3w z{>Kirqb_Mkl-JOmfTPl)<-(o8m@i$6)?Z1-rV`HjTq9_IS2~K5``+sENLdrGg2Im5_QyZF?>+1#^_rA??lylmXq2qp*}AhJx{VDG zxY>1l{VAQOwu?BO^%~Q5&(?tbL5AYk%QEUR$4fe3v!ic`+CM*IZrS~qwFbDDaQ>mWv{a7k$I14zD|=dVl&*b;mx22EDWgWT=tiVWm0-Ry9MAo{A2H){1pd9wnjrS)#}%XmyhG@fL$ zs7Fsn+~ka~DR~Ep>j2ZBBs@Vi)T$*$jWt_SXe0)55!N-^NJJMofO;vU{h4R}8|GDC z%`>NapiIkcbKpg8BB55=cS)Z{RKsrvzL{F-ElAefTt16{$3C5-6`JHZdv*6?{A-fRi zp@idoM$vks$+S$inw>5SC6Fjv=d;qadRmsVokDZYI6<@nMEbIn=F2RFDZh3j>X5T* zLnS2dgYKS>i^$Gv^6*<8Zp z5D#U)Cf?%T6t>R3sCo_}0Nt?4+1KwVv|$0P%tDyZE+s!8;U8|%+}}E9Q2*po5)6~U zJEB%9CNg&)KdVqFN){;ZjZ(IJM|qVr`mRF`IkjbM!S*74W5OB%0V@ACmE|J zn;AzZLRV|5^8a+}iw!BeJG29qP3XpJZ~)qy=5{2SOwBdo$eK+vN6`(8%i7nVjBRVB zDe&LnAAGjV5T(R<*K+ju850>o3ROTHr6?r~_p{CpMuY77{W`5TJC7IeW6WPFE@J8* zMa=@XM=E&j(^HaUKBU@^tXVR%vfh#P$DH+{ueD~YX30PQw5(izWi3eAC9=PJeMn7bgHth56;Llt~k(Y8lLZ*6sRp?RTohH9%6o)x|e8ddj#wm#!ZF zx)LvmV2B#fAbgNWnH33)n3U;zk&Ff&!v0n`RuI@TtLGYROZ=H(EAo$i##l|n((eyH z!fRqE&#$`Bptt=C+nwH;P|6z2ce;~qLww;*q}9#o#hd;jyQIx#&?DDl-Wr>G zyT%$-?4n!TU&0zAX1W<0_RNL(7biB@F$K#zVzH@Qk19{k6|<)4-j)ZvPHBc16*lQd z)lEtNd)dYK6bRY<*F}j|sdmows)crxn6q19)s=g*ZV6y|xgyn+;2Z?*8|Dzp>JmV? zjK#;pPg5k0@)3==_}f$!?BMLCDZ}Utod~8~CEVpx;+yj|Cg5i_l0|>}$As!q>T@#7 z(;r!~#L^ULVzwK#$Rv0=zzhC4En5-95vB$R5}}#@V{MJ*0Xk+R{wvcc(MLif#&UN2 z-sM-)yFTetl?h>F&0+Ma1xel8@x$x~!fxPfz|s1RU+wkB$;G1fCGjT4UVb0S7MNud z+E7Fj@_HblQ!ZMWS&rTpJOyhOhgd&}%P|knSdp~ildNyT-YB(!(%BO=^jSYK`JoBS zL(?;ktXuF=Jjhk(XOSyYM1m5cVpo4Z5#;P(}j6LBxCI>Uj zk19*x&ihrjNMD}1Mk;5P`!+LbO7rF=uU8ci#9cZ#`0f|x-9T{ZOJ-7gzg7&0?>D$2 zh$Z~c5QuT1`uyW^Y`N!|&4q*T7eNbQ_4{TvyCSFddy_}x0t1}qji!^IOZl)RLX#8B zz6&KxIim_Ff>-ffJDb6sy?Ez9J$!l%H-8ra9VY%yM8juJxk;+(m9e#rYv(m%h_Ur^ zH=X_=aV{C;PS>YJeIjDFNZW8nuU3pN?i7rhmdkmVEK*_Hb@o(Fl1menX_zy&Gx^(@~una~4Jkyg`H`o{G;EOdLoHXm7Q|8f0Up^c+)z2A#*;CLdBAu#&nr-z* z-*d8$_pguEr@SSiI2AgZT&g7O)|;5SEGwUnSBufvQU>3c)xk4nZfB#BFOtY z?-!0czt(^tC&ie7{&zxYi_N8y=xA#rajiehmCQoDDU3EF$6P;+XF!aV1B#sfHt{f6 zL717q+`(D2Dzt|sZyWx>V{J=krNDB(F4*~v{sHej`91KxDDRN>kD)#~V$_!kUtztg zJ{ZWAxWMF$23kdWN5)8)p*s%IGReDP(co?pA9+4Qcsd?WkERQWCmn5!@0QWJ1AW^mKm$lqL?0N7_X5*v`+?S&hN)jVwrV1^N*wT2D*`+$!G zH!+Gkd@n6O51Vb z_$;0O?&WCtzTSV4`%JJc*im~DQh|xasknMClU510lVs{ivT9Jx zmO?Pv4J(*ggt!riS4%NeNwcS3I zOUd-L(nxy0RD-XEFqGhkhS9z<56J%3Q*ukKLa|?pcd>gOkm1rJ(8^YRXC+E?xP4-% z#3b6Y#qIG9lUE4({6}R2dPSXW@p1Sw?TGb|ucV*)5SPmRgvI@|)_-uO>dn8uuuK=qZ_rxZNv z8|K)mJd^i4Yi34f8COdaHGIq@pH!cYEZ_<7Xp=yki?ExKR_^Z)Z1iawWQquV}>D6Fo2wBCo8)Jd?C4TZg^!(IjW0&P5^<s#oSvQG#OU9MBjytSXM_|I4njXwMf-b&57G3WpUzCM{*?`$lA#g?D3~V2?bV$= znjRim{l-5S4{oDx$o^~wZgr5m4w#95_G@T;2~(^FxZYgv8MSaJbd{8JHgh~{HPUMc z`p=BLtCr&1+a2o$V!^kp&Nn)k9q$R)8Au;aLKt4Xo1&{KD17|QT6zEdD=%bLWVMRv zQ4@()<}i+j!R?}Gz;Uix&8uL^ZtuRyuJto>d2MNsv)_$;#81XV)9ArM zX^n{&9W)iQ2=S|8oXAr$z|a1u#^mv@r155%`}K$9M+_W_*_xZ2_KVd*VQW#MqtVC# z>QJB1U6_yZJGeM5bvQv`V3N|HP2)g#k(xLJujO zkeg#>oAa+a8!Xed;4j^eS;=fF>23@l6_=zEuX)d7F#6`Co7U5RxfKq z#c-S|Nhq#!jrfbjW>H8Rq3}_0vcU=h!bD3sx=Mq(BR}OLXxdsaes7sKLY9WJl-SrX zeaOAZw!voc?qb7ax}li2Mmi;7v!ls(tk6`wltS~6%Llhho2CkV{Wrw~nH%|@rCcKh zhpnh-MxOwwN_0pm5-^jTR_)%RmF+9=C+lnqT>TYxn-siRAtUYXOXKTYnQzG8Vm^t)*E}xxCAQHLGp7szk_drve#O#(8<^dz|LAOGO|KpiVy<#WBwmNH$&GZ)H@x zl+YU?09_wjwz!3kB&8Rn1otu~judW8^f@*g1z!?p*Q7muthZs+>MEt?I`4Q1#7@UX zE^@~j9{to1uwOBDdTt8c)G!v6JUvc)hPl%)u^@@+R&7&xB|Bjn4w6XEz|N30iWxG) zPJ7H{n;^&XvdUQh@+u%;C>8svOCl>HBBQR*)Ry+#a{1Y5jOCK8Lb_tq)AF(+-#fc} zCM>_ol}YCDH*?dOcs+3Z*xAS5zp~X*B>FGDNl6yhHIqJnFXc`yV-v>&k3)UX{;{U{ z^6F=8vrqK{ju#`s#-<$ccr%B?R*cM9^4!XN81W(LV7K4kpkMdkT)#Ebh(k|zmsf-N z$48prc0_y_^`w-!YI!UJt=T4q!UN6$7s&Jt)?gz|F%{5m`p`A}%J_;R0f@zrT~n#f zZ=;^;Yq<7Jn|eWEp0ZK=Zy1xB zV#%iGGWo=A!0y7u*okMt<j37VS++t9%1nK0#J~pfmskNZ`+D~!y;~eYx#)qcN zB8VR;W-5GfWLS2!(!uGa9&MVXBV*maS?8>`Nw7jdyyU`Izm9y6ynN$Ptqf_TKy(9% zDxma|$YguZ6oH$o9cuJa2DyQ-Av6_M%vNiMr)lG!l)mUe_ki)E%>2rL?1Z~-!L$Ym z1MRiTo6gENM{-f5ucG{jOnj_7klKK+S3b`U)<;X}s78(0t;d{*Ft5Jgh?3y#grZdU4TM(TB5w4wc_GUtEM}Q` zu_2OgVqPG~T;xevgyc7ARvME)NP<`z)Apf|eA-NU52E4vBc5EZq+;pst%9~FQ;ZC{ zQGMCLZ@F(9w2lgj0^EqPqVR#+#cu>QUGbeYZo|j>@mPqp{X0EPWKQISPaJ96byBc! z1_XOf6Fkz%TZ8oX)$l=G2MiI?2sH(g&DBs+wjNf>UrFE;{+#U?wf^sC?P4myR9Qw~~p3T&erM`v!NbmPp?jkO!e$?Hm;ctKnVwS-1DQMzf=YGyGv zmeN^Tck+^Vp9+!2DZ(#pted)k{*|79l6M$6s1R&Ehm)4uXREZ7^SC&hBty1mb17KG zR^stx4M6`M;(JdBaX@@|Nx5)8Dgqc8&xBMcP@*@SNXW&<9DO0}$P-yK9hr3Z(=VL) zvCk9wg$tha{|9@w`N=gm%w;P+w3!z#zkin`?YbY+Tt*V3j+94o`yaSnq-!paC1Q9P z1Hk>HZiS8Y;d2i?`V#~$K6?7W*f!I+N!QV{&%A?*to?7}bx*Pz3=i?;EPVq(yO_>8 zrNS)s>dYMrpM>W68neG6&r4!oZD4Wx>>YW?L9jb4k2AntD&_gAo}uCpk2YW$qLM4f zic46`Q!4~c>Y>2bJjND>1|HN_7^u|ewi07VB}bY?I-??j9<>OhdVAZ571fDUt@R>99T}Yu){o+vuEbR>?ETn+#iJulGNE#~ z{S0|Qt7cJMlZO>Ds%RPwYpI3whb)4Jh~1R-PFo1tDf?9@t?c&^|4++$dqwCRa5YCs zn{%d*y?y+N^J!AibtOsXpLp!w$A{;JS`|l&)#JgA7X{R(!zh~tiG{9|0zX!)Y2Rpf^ zp<1^9Ooptvfeyly&!SV=jSwmyw6PyN7@HmoM`JUO?N|!p3%B3)f(T1Hj-45chI67G zb!Q$`%(l}9FTdgeu{~QnYNi{tl!*Lt2SL*;&1Lac*mj}7A9Rgi_<2t@R|icJqh&G850iqj*4NiPX@A6ry4RmR5X&jVD-`?>D3uS<&+L?;U;uDu4Yffx0Uv=en6dn@+o2H`O5(PP<+U`CE=h7(>O zzYBo?;(du!mMw6e%J?hqaD^?~;+sS9PUhF}(Cav3%Hx5lgb^oGjAgcBh%MO<`g8>B z9C^hLwuqfsuIj){pEeOugAIpt1I$PzGd5T?L$ry|s@qZk-OC+ODu(nOK_@>L-@6ZK zXuQcvBnRrV??d=1SsP`|tR=4-PMQyfr4}wjOS{W8%)}v~PcX5eF=4V;A1V^KwK`vOB zIt(QiYR;Gs{fptBsJFWR4yHC=t|iaj6l zYbZqNLk|I!+B34G>W)+>Q2&K+^PwlGPQ)@rjl5|`$Y^xUri1s1TZr!E0EEfI71@na zxm<2EAo;b2=A2s59T6LvdHxXLm-Mj4yU8pinVkNT(W9uEM&jq zeTUipA^-jR@;za8?@UbHTqcVdJdS<1ckT9Xwrtyi12E01{&T7d?dpeo&!5@W?pFL8 zc@wHI_3w%>3_8fDQJQ=qS)lbjn1yOVV1Z;+lq2~{oT*JLVoeG{$`na!_-{)rSg9W7LYtGui4o ziH(^Z{Fwk`V9Z+|#DaBmEsqO}`X8RD+8}2ev35{FK_Lr7R3G$x$<#K_**cPpWnRj{8_WcW}UxqmH5V&)i3={^fxOJjA1>BFgm(k*U_P4Eqtt?r{ zqB79%ay2$0;u{kMUax#LS6_x*Uk+T~0w&lY?i*Jl`}At1)`IsU6E-huAyo9qkMU<# z-_>ljssGs@W`8J0Es&pnMuxDhd^Y5moMS!>`Bq=>3N1v4vobJI==6;vA0qfez;r?v z{`xruLbm#cKP%A?D38}>>87cZ`&q;Mo$jOe(%C|W$D|2?gbf4Eo&HkeMFwm>LX{z8 z9{q}2W`Da2>$#(li}k-N&jOQj^-!ct3c!vBYyZlXM&j`$#esj2F;Y8|9mp2&A;x-Z zqN0j~j`hP)j`0P2i_fW{ZbG26pbxrfd44~1VcJK!NqJ!(`E7Gy;;Hshwi>mo^QzHk zbuLS?gSqX7{-kdD*HLKcBv1Cv#3>?*HMxHlgjCq>pQ(pTjrfF+9obHNU7(LVLbAo( zxnlOQ$FjxF>?2UD&4cfu1Zqkqn;Kt$*4p12VSyb%T-UkuCAy8z;k|{=2=}oVh28E| z>`)e%pDD9AqhN23!NxLuZqlB*1j=m~%$d!jmlSg@TL$G68>^oxxnfSKuY8uEUA+gDc14ll%Xiv63Y{ye)hejsJW1{`Kvw0jDE+Kf@?hx*EZ|*z zPkR~2*DU3N{q=hb>yTtV zAnGqLA9JSRIa4U8I=MmpyN0a4#0L%MrNW79fD;*Q-RCGmj@oDCQG_0~_ng&)te!J_ z4basI%?jyv>Q=}Ym@>o{!txolCf3t8A-~i71E%!!WmATqgpR^S_t}a~uiWP-SWDK- zp1p?f^h*#5Hmb+ue}bWTbYvN+_l+C$O&319e1np`Kx+=0ZFVdj&d)aOegb{X*|meQ%CXbiyJX1>Yie6@Xv;vXyk>T` zr3q)dr1oZ-qoxd6Tiiiz6VAE)iR4J@V4s|HWicXA17fju$La54?P8O|x9q=|;=wJL3Cw>xfkxG`6pW5@O{^&ZhZ zd|V|qxHjv#6vCz&rr|`}nsRJ#%i*h<6LYeum;2J9pF3c z=c-d}=L2z(QFsH|DcpJqQ+M=yb93>`)OBOk_=0;DtOW7a(}Mjw&AWj{Cl1$6I9Qhr zM?3Kx5C!q)wO`Wn4rhCMo`2Zk=gr*o{I6mo({I{ZJa_f!w^MrC8E4!^r5|6p{xbt? zpLA*D`zJRwUG)m|9(F$aQ;j@j>jeI}YlrwFqE{Fr)iIc~CXCg6rsZ72cEB5S8=F@~*;Xp3K4~rO zLw#h!61!NLzNEu(_xnkyBUOpCCyGm2ibgvX=fTz^dwUYe#At6AnXu`IR!EVQXnbTr zI%TPe=Jo!q(`7^LnUnR>)=;`@#&hdjw`<9aOi0y{2D=uLj^0Arpq2@eNTSII>?@kx zOXiQRiAi>$du(m#sISSSW9hPk`{MC+H%3FMC54Pgxw*JJO^FAdF@4L7mU&TT7YZjG z!uD}UEYB?%?Z~irP`#zMJB(b^(n9XeO>wV(!}1xQ|DmX4WW z5)BFePitQS=SFem-LI-owWOBREw%1rG#br}G?z3Z&3G<*Y;2D`w(&7OvEu_w@R$TU z*myaDIm2Zz0UL7!5-?d72iSb(__8rq4gwn>CJ+*5vk4?DkdI`)C4_Kf)ZVIUX=Y5~ z>}Ip`)0Dbft?t&Vs#ot-z4!mu;-<%ljZ9IJr*rctR+BJ6RpXxs9jdBG7QI2!n`p8+ zvAENW)3T~P%eA~5-L{uW7w_uE9e7FQ$0~u{M^?*nTh3IlOX(~Ji{Vn6?kOJ?u zlA7DPS>auN2dr~kd=Tv^w)8{AOA2&_^`Wc)PiYaQkHu3~67e0c9KRO-5swk+s+^aM zO?BixI;B(VVgzbklrjxTlq1cgd2ku2oYEy&c8RaWdnv@4+=-t|lk4k0gpV@y$_#in z;cA9B#xT03f^raUfClR=NQk+}&#?7YQ`o;3_8O5U2*az9oERm>+2fDZe&;^?4qndr zK7l0YCcm~7&}W7g0p7oT+kOm-Wd}$q@U6(F^Xz`0fivzmO@vx8ugQYB3G3 z;NRj_GR|hXX0C;6Cmt0?bQr1eb_zO!AWpknEo)ydmRW3fR!U_hGc6T$6Q>5jOyf77 zqo&c%5+gFLqiLWDSZsR)=rEYp+#T^PUf#A@rnzMJ%Ql@Hf{6T=Uzf3aLgAZWb} zFWrwgP^=Gf)*|?N4szCyDnG?wLCJbQSFsfMsFs^!$5r=mGq?rZDwcyViNeE3awd3_ zs@Mc}%S)SGG&4V2R}G|~i{p^?ro5?+w3+r7{b?`x_ZJ7DNQ9Y{(&cPXU`O%Q4(Hr_ z#6uiUS#`e|4p%lO^I>>_0qBL$+!A{Dt*~1aF<@d?<~A#IIeYw-%{(`LTjvMoUH9bU z*PM5EfA7lGy@P|jYgYAwcKKsP^n&6XYBXJ zNN}3jb&|&~S^sV=fWxn>ZiIBxsh+d;-ZVCL)80Rly(#>~wp`{{;|D(Xzakqd0y~ze zwyx}@+2t`HW>Grpr_-F&mKV}B3I0v;+EVyzM^AULuRjuvh6i3=p6yGeh~iB(HbYY* ztlLri#+5t%r?UHaE2N9d+M7b{(T|BdrZ;L$gLNPOu+ZjdD_nd55$p0=Kb$JdMWmH& z_}`GEPNdUSPIndkI+4_$%JpxO+rxJp+rRJSGYW-mCkXI=Dk|$+jj3ZzNvi_s$0nu5 z^xeJi20o3Uf0x@?CgB8*u~y}t3;iRObqwCH7xL!U6<N99O!zTppwcUm)wqd&FLsTK&*n|s1^YV6dO8qo!L7L)$ zoNODta~KJW>P=!{$dcl`zw+BiJ-}JaW82ypP5~;Bq7k}tmAgsN34N`o|9*dL)}XbS za$3M`vePM_WcwMo6$x`wx+?IzOL?;L0Mtj&<4)aKSp}&eIz$SdZz@Bjl@#HYK0x=$ z@?g#z8Ms{as^qo9e!I$kI{_Ep$>q5bdu+8)RY^C*q)|>JLO0YfrK!=7wkf2i@Z(Kl zPfr>h=r%i5l@{T{A;>4K1r!0A?9MI2;nG~h+Tsh9;t7PQbIXh{)&39_?Q>X2RXAi( zZdKCcU^9bxzO6J2;ZCD57ee}E zKfz|;z*F&P%2P4wfMLEdbj*NF;L*=~Q97M$XNpJ}GcW};jFEC({p*GTF{@t76q#AI zu(u+ig}uL~zwSGzm*ppam$7%&b{Odc3Rz24H|c8+l9GHcm$atklJE@UZn)!im+M7^ zrY^r2xm_`wSXl_2jd*2^k)UTM z63t-kA;mALski(yvb2qO1cI;)J|kkEE=}mPDYBeRMu;<~TA_cwLBPqSc~X>ytZ64B z(HQRbjw;~mE7tRWPL9yYblbZpl_cujvIn6(TgI-#_`0#tZ3t}}9X$u3b4G8Nqcv(b zQeuT0=TOL>zfOkZuj4&iw(P-nSzuSi_?%I4hezkQ-8agHChwgsGr~36=kDYY-bi%Q zsm$K6r#sT6ET;OYnrB43J?5cfqN_S4&md}xO@~xxK8Q6Tni8EqsY)|KoTN|eq7mn= zqi`0>BneJ;kSk^>`BD}H5%bm^A~BL{pUxWpf0GIU2dpFH z!y90FCsha$>$(1gFmN1N}>)(Yipj-XQ)*(1e)%A-^PpAe<|HtH+r0- zBvXOU_x)x>rwFRd3;GrFTc&K|#l(HF9<#O)C+1jNu;M8U0UU%)g_%&fe3h~3;?slm z(=vW?u{)FGVl(@G?Oh1}pD1whIsi@|O|yoYUHS_C4Y7e^#B!g>UB=zPab+xJvO=~7 zp*aB{Z8JXW-YE>>LYE|D{gX;*g0BP$KhHSofaaQs=uw2+YvoYn=LjFKF*p=#8Uue-~ zKGWoOIwY@(B9oA~6+if^Y4c9fx?f@KJE3~Q)N2=Icg*8fe5%ty+!?14;ll#2dBhZ-@T$DxaH@vl z)$3vo@XN9&BDYsWM;7}1EL&of<=`s|8AA!vogBvlrs#wQS0FmzG?p4vFv)8>?%BY298nD)3?8h##fLpk!=26v+KmOK0| za5#94pRp2I{~U`cyy{o7IZVb}yfB$({g&8`;}=sta}OP38*LIE{QG1^l2ZD|fvZt9wY zm|ll_>^4I)O&E^B1mEW!L?;|#Qlo8Is&NULe#1|ia;qHd@Z2qbZO7`;WMBElW zKjm^^?CW^qdVbJ$>1<8lW+65 z9C2ceii*}6_XdbkmsCCJ4hNJVlCkElkE#tK^6FBn8`htCWv43lhI!F#HqU9C-{u#w zpkUBE-ItGizTnr?c1(TMPrUm8<&*v-4^C0^ zYFKRTsC`$kKKkC!`DNMXpn-5((G##h@)4zFeV2dyN!jbNc`~N*Y%V7{VdH=QH$gz8 z>x(Q`sub|E6riroGM(_JjG)bbk?tEH<<`E(<( zd~Nw=hs*8Ukpa=I8G(fd=dbE$>R8>;UOw}$5{Weqng$EppM{Vjc+oQH8-cmGb3;R< zhmzNjx(?|AcEAkb{`h&t6*9bp^Qj^42dE=GtWA-dm!VaC&W?&8T~cChnH?=qjSjMx zJ1>J<20v}vB< zQ%k$CBExyrA8##kio75_EPE7E3I$andyhyoLFr+EG=P#IIEgDQ!2=FS+^KkF$yzFT zWnO+nCL_d7N%AUqnc&fQ{?mvDw;>4k19m#`a{|%QDvu8!;9b1U620Tuxf^&gK9Oo9 zcduLlWMt$&&68nD_%z<&kjWd_A&2n&)(41w_@Nk7pLYZQAunhiev70aG>a(zFOvIv zrAK%KE*{V(K%^b)K*&K1N75v8jb}D2ZLsJ)VxOeA48@LWIAPWF1iL?rQ(Y;6{O_g% z33UN!xGHn==9aNW^?sn@M!&1fL|0XI^^yT$8U?$u38Q{X#)8VtWK>||!8uP}GiuLI zvHSml+@JIZViUG;CCZ8Qm!Bg;(KKnioRl^Kj5??KKJmfHpU}EjGmN;dpH@fz=CTq_ z*K{Lh7z2Odkq>|o)Ag8<)(s=8>xTX2sUGDfW0)>tcHRS&ZJ@59i;gY{6d>aa%bO(4 zl$l{!7UtT})j5C)ab${8k$Rt{I5ymv*kxkIF9yn~0A1iFRw3?e#iWIIl^SwHF?4md zqB=Lt#!S#D5YtbwA>znzBTC0JMboh9;1e{Bu>y3O;Ose=IWy!Pc+kHphrdPwVxcbUL)-=d2Ge)GenmzO}l2nRI0sB z1Wt!0hT~)P;bFf+^N{wckY@}U9%7y;0&+Wy8R3lA2$2UP&ll2tnQ*fN-ehxobJ7b^ zCR~5?rwLQN=-G-+H3;^cfwuAA=<6 z?5`c8k67*yb(fTDo66$1b0c6(myNr2R`vX)_&Cv5l;3MH_eB~VQHyFKl>mRC`YGMn zWcB-vPgK9e>fc5;pIZN&cKx^FlU08M9JfFu(miJDE&5Z?=d2%2RCLgAcofCsFoJ#} zO^+hi>N%e?Ai{xmSsOD%;X>ib52Gxkf!iH0k;y18r_BCfB z9#16GY>03PxvMzkDJ(q`9yV0XgGn_Ae^Qw~{e;StkzJWSAP=YeXl?#UT_!G-9SwTO z6E;-U2zy)sN5&xy@>nKM!0Hm&SQ{6!`k@?xVJ^+(xh`&in?reFftt`Xra-FYHD%Zl zIt^Gm0b(L%L-Q6pDs=H~#0o_~CbB6t~_3{ZHUplyST_mkVp*z26 z>;^1Y??3yT^#@_F7b#>Aa=41qYE^*my=X%u?TG-n)9g!nkbuhU$}79?rWY!u?>TW7 zLiUYxIPv3qs{57mqIKy=&>L;c_W;^E_VwS8A?5vN*M51rN=6}B8~XBUyXLKLUHDZD zb&-%K+LY^o`Xmn9^+MOi#<&0(=Nq{WZW_^;BityRP1geq(A$=0FVy5|)>bvmn&8V5 zY0@V@GWjjy2X`{k2I8%V;6K`2f`|sG@VZ@hVbOZ$=uzvP@0#&=Ydmf?l}bxWrLAPI zB_0nnmdlGvrQZhF9{p@_xqNo@%y2$TUgQ|;Cf^sK+?)-2%y1pPYu7)0Adt)c8$GQx zo&$QtC8gs)FVYgv1HIYOw-j2!^gFhXbR)kD?;>-k00jyZaDs zX@s}nt)?74gm*zMD?2?-HJJf=;;OXO58tj|RUj82m3RwHz~0xC$A@+gj5S#ycq=#7 zxBE~nmhfq|zUyZU*&KK$f_nTywu;kW0_l03_JdL{40Tp(X1kRmlUsme894lpig;i9~7g7av=(R z`If$3Py<1~6GGV#or|IVI{J_+a+`>!zMZ0W6P=u7zN43kFj<@D6_a${grbNN?V3zL z%{ix*2#b#_l)FyIbSN_Vi8@j0N_(?3rkX}cdW&5}v*;}n`-IL3q`N4vEp!#L=^FV2 z{tExRweI^uu1GGM6TT03e_v1(K~se9T4y~YMAPZ0@C@vKMu^o>w;76+ch7dMo$exk z`97e(u@~?hgf`8q>kYoWERuquj;m(3ExYl$urziM!p4jlMi|hvGp5fU5#6dVf}VtO z8C)~-*7^CFF1n40UxtCSVx=VpSH@aoR4O64C1#z^z#*>8&$RCE9|1H6LvKsI7oa!q zcDda1Hlm=v#rozJtuuu?hQPY#+;hRK%Z14OHbr#n^)qIS2&yKG%(v&kn4R}K&SY84 zE9puO1#zuOmj*P{q)w~DmZDAiY)i3&lqZwBQ00uyL59j&m=LeoRfK#-_#r&_Lm`s~ zwrwq;+vwNnzTi8fL||yBaLt_dW$QaX<6bv|3bus`wuO}ZFu>`RONWd|#2A9$p0KnP zo*r2sYO1hc#+i@6{_HdrdU`;embJD_Y{NYe^tW1%j%lS7E({^-&Ye52?OyHa*r}JwTP*E)ynX%dKL)YP7;O*Q(ZZ)@=#^-dku~o)4pi$8iu6D>C_It!t* z7A>UZQVg={G@kG~WKbk$@2x8yd|MFSe(<5Ud16;#pP^ufj4<%e-*)TsJpcTyBVXur z$^tJFi;aFs5GAK%c#!0jVPxV48!yYFvliBF!?1*Q<5yYixxodw8QfeV$z|LcZasG< zcQ)zw=W!Pj3;k;DI$NjKq7~MH*{Y(VtD1%0+*foLJWBnf_vxJ%qdy8<8Bs0SUc4 zeK{ysD2~e=X!&%~_q*$%zCdiwBi4!5n_4|Arii#_s`to{i72z#DFhvRFz zb1##v!?CqJi^a$3DY+iLa0I6hXW8B&Y6uDYb3hlF$9e>_v;tUo?C6w)xvr!R;5T+g9Y#^BVU( zwP^Ofr&fGcwPr1vom;U@Ra4vNFWdeuIe9j80dU$x{n(Ez@~1N7UnoujIHjg+Pe!)aj@#Q(aT4T7n6iDc<1po#=9KH0g1q#hSLFb1T=Odn?W8)ym9+)c>RfI3_m#@V6bD zvN>6#q|V-*?GQ0`8pJweZ+LNItb*B!NQJ2N@g0RB_P|XseAIxdgx7H0BTuv>bLZE;)#6kd)^-(AUqV=)EWwztWnZyrrH-^zgY_aFEfTr+w zI0K=86T;ar`i7E{U%k)T@DDe;HO)QnAR4{z0%uH%yP$Fx*294ai}?+^-0(G5z(rof z3gP(UKRdpL*gSW0z1(!-U5wKCzIsVSCXJSyWVsX@vgK^Lp)|;|RT>R2Mb$KkqVcoI zXqpU2*#L^VhG;MsUHTeCbViz-`o^%e@96W74GhE9A1uAJjTb!zZa#P3&No(@t57dMZG%I%0)=fu8Z=b=4@}^z4;K)aU@X--c)+I&3s|)oFg7wZiuzuw>-A*^1)JOIT zC&X0EjsA~xyX4n^mYyk_cMHsY_>BmqPLU=}w-)GCKj!(5j|}eYq=c+;@1?VecD9O; zV8ITrQ&LhuG$EVvNK-leg0!DB!|S-7%_B%=waL`zQJKwC&SJVqNR&)1qT37*`;=v* zHgshrI)BL`Z=@=PrM)FGl z0~w5X-JwTmq_)=Rb|pl`Co~@T;J^_%syTI+V7T(lCh{4rfz$6-uR4+yo^AVg6fO1SH;qcM%V}|ZkyFpF`EEI-44Dxa$x+5`A6r&5lMYSb+u%J zs;ObQZH-q88Q!R{_xgD+&Bt{k!+@}gkjx{GD(i?edWBy&V);j4r|9GX6tTWBRPu+w z(Rs5RR5Tt!bsVk~A-^^)LlDoA-yK$=&4zzc4NCjsD7JrO}@54tp$ zCsP{nHNc$>))u$pOR^9&+!94l&(9Yyv6(!)^-H**!P?j`5s!%PA!C?EeB5s0-L9m} zgOh1{ELNAs^42&F=z=#j2dJaOGU#m&f<}v%yJ{a4yC#mAQ^-ZHcB|+xBVb>kx;vpI zfexo~(2}eyNao=Mv~JF-IqML(G)=+huU)nF0#vLXE7ta3w1JG_a20F*OfAeXYj z>EOjKzXj%kU|D*R3gWEBzx;4kJ!@VJ%YfcQuo15doKX>r=Tk7ACrLCMaJS|MH9#h#rK_ES`~2zCy;U%4_s{aBhFUJzs411scbl zqj(VJf87gGwGKo6cmKtXP}$ts37q}!`Y$>|tl%tg3*#v7eB z;?i*sy#4)Kp2cLps-K0cNxPu)5zC2ZI58hl zpA^j6d<37&WGQC7D0QX&n)wL*gb9eE-5aZu6EIMepbjmCI_go-J?rO{2dtlyJzi>G znzH_BXG1HX(@uGE}Zy4pwn2A3eTWN=_95>ChXn$K_9Ldh()tiJw_kDNvc zTu+0`zEkhme z|IYsptep%%5fm^D0JMV#+<2U0VPIfje#yYV!aywk|DSlZM49)IWIZg%?EfDKtNZ^4 zuX&9B|3T^haGDXDKmY&5X$BKW4;91Z?Ehax*^AXbIM_Jd4yDTp#?>91a%T{1)(!>+ z06fbdiU0rr004FY905iFumT=;rRCK=QkIvYA0+#G}*JRQIujvoXc)F3J#$RUOy&LVsx0wf3|oF$$nP9~lwP$()X zFe%n4?kbEcPAs%7$S#O4EHBV7Y%u~cmNDWobTb|^&NM1CqBRmVhBfFmQa1EB0yva8 zggN3mq&prvPCJr2xI7d*N<7v*d_D?3G(O5dKtJX{gh3iXmO_L>Bt$4gkVPy-=0+w) zj7Nk>R7oI7wn`34TuT~DuuM=*FitQ|h))zxs8Eto7ExSLv{F`5oKomhVpIA60C=2Z zU}Rumn8xsqL689in1GlI2pJgugZT^qFyR8M0C=2bk4;X)Fc5`b`Uj*Es;FRxcT$eURSt{M=$orRxg}hspUb%p~)hXIlqFLUhk5Htd*xn=kign7l|H(CgoUT{hfjwUv zQgw7IZp)sOG?8A-NfNR`Ue>l$Lh1oFWmk?7dR)TA@E4T1_2rXB{SW7?>7B+dz7qv`Jwzif`
|q2hSViV%dX`aB1@ z^7Dwylbb3@N#hj9PwZaSI6H?iA<>3zb&k_1J|wPeO{2x!8YO*Fsv`JQtFq#cZ>$SG z4z}|#N7`(gW~5!W&WYr-DLm&TjHGnp?95ZbWbD?Xer$yaDs&km7c+6<1|XnPgiPWQMjOH&;rwD9P5ElGfyQX0#P~REs9!;JCClkNu8n#{F_( zO=z^}4zDd|oOH9G!+RExY*~_B;wxq+=?S4xEet1QT~2Q7XnU@(`7CJ|5v@&H?-{iB zypaPf`B7~rEWX9^T8Qzz=#*+Q z&&pt5EN#=pUQB6SncY^oE>O)W23lVlITeBlPPCdhku5r5EA|z0at1s1Zyr@P#JLC} znX7Ba=o`-b$kCx!rI}dXvf-j%n75S52tC)*K--dqrR3@{p;;<|%aTl0PB!7b57l}QerI!0roIsw we(S@aujq^ml`?>~HkoL8$@lkF>C^s7A(t(dw&MOqSvw2B*2>C%`%d}-0Li%S{{R30 diff --git a/legend/static/x-admin/images/aiwrap.png b/legend/static/x-admin/images/aiwrap.png deleted file mode 100644 index 36fd481b048959bb4d6fbbbc932384e0a4b424e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3032 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ρFwWt@M8jm) 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 q&bo%=7kYzbZ4C|@B=0&&c0&&b-1 in a)}var x=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=function(a,b){for(var c=0,d=a.length;c+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(N),U=new RegExp("^"+L+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+N),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),aa=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:d<0?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ba=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ca=function(a,b){return b?"\0"===a?"\ufffd":a.slice(0,-1)+"\\"+a.charCodeAt(a.length-1).toString(16)+" ":"\\"+a},da=function(){m()},ea=ta(function(a){return a.disabled===!0&&("form"in a||"label"in a)},{dir:"parentNode",next:"legend"});try{G.apply(D=H.call(v.childNodes),v.childNodes),D[v.childNodes.length].nodeType}catch(fa){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s=b&&b.ownerDocument,w=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==w&&9!==w&&11!==w)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==w&&(l=Z.exec(a)))if(f=l[1]){if(9===w){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(s&&(j=s.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(l[2])return G.apply(d,b.getElementsByTagName(a)),d;if((f=l[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==w)s=b,r=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(ba,ca):b.setAttribute("id",k=u),o=g(a),h=o.length;while(h--)o[h]="#"+k+" "+sa(o[h]);r=o.join(","),s=$.test(a)&&qa(b.parentNode)||b}if(r)try{return G.apply(d,s.querySelectorAll(r)),d}catch(x){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(P,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("fieldset");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&a.sourceIndex-b.sourceIndex;if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return function(b){return"form"in b?b.parentNode&&b.disabled===!1?"label"in b?"label"in b.parentNode?b.parentNode.disabled===a:b.disabled===a:b.isDisabled===a||b.isDisabled!==!a&&ea(b)===a:b.disabled===a:"label"in b&&b.disabled===a}}function pa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function qa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return!!b&&"HTML"!==b.nodeName},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),v!==n&&(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(n.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){return a.getAttribute("id")===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}}):(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c,d,e,f=b.getElementById(a);if(f){if(c=f.getAttributeNode("id"),c&&c.value===a)return[f];e=b.getElementsByName(a),d=0;while(f=e[d++])if(c=f.getAttributeNode("id"),c&&c.value===a)return[f]}return[]}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){if("undefined"!=typeof b.getElementsByClassName&&p)return b.getElementsByClassName(a)},r=[],q=[],(c.qsa=Y.test(n.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="
",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){a.innerHTML="";var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+K+"*[*^$|!~]?="),2!==a.querySelectorAll(":enabled").length&&q.push(":enabled",":disabled"),o.appendChild(a).disabled=!0,2!==a.querySelectorAll(":disabled").length&&q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Y.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"*"),s.call(a,"[s!='']:x"),r.push("!=",N)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Y.test(o.compareDocumentPosition),t=b||Y.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?I(k,a)-I(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?I(k,a)-I(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?la(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(S,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.escape=function(a){return(a+"").replace(ba,ca)},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(_,aa),a[3]=(a[3]||a[4]||a[5]||"").replace(_,aa),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return V.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&T.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(_,aa).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:!b||(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(O," ")+" ").indexOf(c)>-1:"|="===b&&(e===c||e.slice(0,c.length+1)===c+"-"))}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(P,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(_,aa),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return U.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(_,aa).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:oa(!1),disabled:oa(!0),checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:pa(function(){return[0]}),last:pa(function(a,b){return[b-1]}),eq:pa(function(a,b,c){return[c<0?c+b:c]}),even:pa(function(a,b){for(var c=0;c=0;)a.push(d);return a}),gt:pa(function(a,b,c){for(var d=c<0?c+b:c;++d1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function va(a,b,c){for(var d=0,e=b.length;d-1&&(f[j]=!(g[j]=l))}}else r=wa(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ya(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ta(function(a){return a===b},h,!0),l=ta(function(a){return I(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];i1&&ua(m),i>1&&sa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(P,"$1"),c,i0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=E.call(i));u=wa(u)}G.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&ga.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=ya(b[c]),f[u]?d.push(f):e.push(f);f=A(a,za(e,d)),f.selector=a}return f},i=ga.select=function(a,b,c,e){var f,i,j,k,l,m="function"==typeof a&&a,n=!e&&g(a=m.selector||a);if(c=c||[],1===n.length){if(i=n[0]=n[0].slice(0),i.length>2&&"ID"===(j=i[0]).type&&9===b.nodeType&&p&&d.relative[i[1].type]){if(b=(d.find.ID(j.matches[0].replace(_,aa),b)||[])[0],!b)return c;m&&(b=b.parentNode),a=a.slice(i.shift().value.length)}f=V.needsContext.test(a)?0:i.length;while(f--){if(j=i[f],d.relative[k=j.type])break;if((l=d.find[k])&&(e=l(j.matches[0].replace(_,aa),$.test(i[0].type)&&qa(b.parentNode)||b))){if(i.splice(f,1),a=e.length&&sa(i),!a)return G.apply(c,e),c;break}}}return(m||h(a,n))(e,b,!p,c,!b||$.test(a)&&qa(b.parentNode)||b),c},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("fieldset"))}),ja(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){if(!c)return a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){if(!c&&"input"===a.nodeName.toLowerCase())return a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(J,function(a,b,c){var d;if(!c)return a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);r.find=x,r.expr=x.selectors,r.expr[":"]=r.expr.pseudos,r.uniqueSort=r.unique=x.uniqueSort,r.text=x.getText,r.isXMLDoc=x.isXML,r.contains=x.contains,r.escapeSelector=x.escape;var y=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&r(a).is(c))break;d.push(a)}return d},z=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},A=r.expr.match.needsContext;function B(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()}var C=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,D=/^.[^:#\[\.,]*$/;function E(a,b,c){return r.isFunction(b)?r.grep(a,function(a,d){return!!b.call(a,d,a)!==c}):b.nodeType?r.grep(a,function(a){return a===b!==c}):"string"!=typeof b?r.grep(a,function(a){return i.call(b,a)>-1!==c}):D.test(b)?r.filter(b,a,c):(b=r.filter(b,a),r.grep(a,function(a){return i.call(b,a)>-1!==c&&1===a.nodeType}))}r.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?r.find.matchesSelector(d,a)?[d]:[]:r.find.matches(a,r.grep(b,function(a){return 1===a.nodeType}))},r.fn.extend({find:function(a){var b,c,d=this.length,e=this;if("string"!=typeof a)return this.pushStack(r(a).filter(function(){for(b=0;b1?r.uniqueSort(c):c},filter:function(a){return this.pushStack(E(this,a||[],!1))},not:function(a){return this.pushStack(E(this,a||[],!0))},is:function(a){return!!E(this,"string"==typeof a&&A.test(a)?r(a):a||[],!1).length}});var F,G=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,H=r.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||F,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:G.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof r?b[0]:b,r.merge(this,r.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),C.test(e[1])&&r.isPlainObject(b))for(e in b)r.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&(this[0]=f,this.length=1),this}return a.nodeType?(this[0]=a,this.length=1,this):r.isFunction(a)?void 0!==c.ready?c.ready(a):a(r):r.makeArray(a,this)};H.prototype=r.fn,F=r(d);var I=/^(?:parents|prev(?:Until|All))/,J={children:!0,contents:!0,next:!0,prev:!0};r.fn.extend({has:function(a){var b=r(a,this),c=b.length;return this.filter(function(){for(var a=0;a-1:1===c.nodeType&&r.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?r.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?i.call(r(a),this[0]):i.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(r.uniqueSort(r.merge(this.get(),r(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function K(a,b){while((a=a[b])&&1!==a.nodeType);return a}r.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return y(a,"parentNode")},parentsUntil:function(a,b,c){return y(a,"parentNode",c)},next:function(a){return K(a,"nextSibling")},prev:function(a){return K(a,"previousSibling")},nextAll:function(a){return y(a,"nextSibling")},prevAll:function(a){return y(a,"previousSibling")},nextUntil:function(a,b,c){return y(a,"nextSibling",c)},prevUntil:function(a,b,c){return y(a,"previousSibling",c)},siblings:function(a){return z((a.parentNode||{}).firstChild,a)},children:function(a){return z(a.firstChild)},contents:function(a){return B(a,"iframe")?a.contentDocument:(B(a,"template")&&(a=a.content||a),r.merge([],a.childNodes))}},function(a,b){r.fn[a]=function(c,d){var e=r.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=r.filter(d,e)),this.length>1&&(J[a]||r.uniqueSort(e),I.test(a)&&e.reverse()),this.pushStack(e)}});var L=/[^\x20\t\r\n\f]+/g;function M(a){var b={};return r.each(a.match(L)||[],function(a,c){b[c]=!0}),b}r.Callbacks=function(a){a="string"==typeof a?M(a):r.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=e||a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h-1)f.splice(c,1),c<=h&&h--}),this},has:function(a){return a?r.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=g=[],c||b||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j};function N(a){return a}function O(a){throw a}function P(a,b,c,d){var e;try{a&&r.isFunction(e=a.promise)?e.call(a).done(b).fail(c):a&&r.isFunction(e=a.then)?e.call(a,b,c):b.apply(void 0,[a].slice(d))}catch(a){c.apply(void 0,[a])}}r.extend({Deferred:function(b){var c=[["notify","progress",r.Callbacks("memory"),r.Callbacks("memory"),2],["resolve","done",r.Callbacks("once memory"),r.Callbacks("once memory"),0,"resolved"],["reject","fail",r.Callbacks("once memory"),r.Callbacks("once memory"),1,"rejected"]],d="pending",e={state:function(){return d},always:function(){return f.done(arguments).fail(arguments),this},"catch":function(a){return e.then(null,a)},pipe:function(){var a=arguments;return r.Deferred(function(b){r.each(c,function(c,d){var e=r.isFunction(a[d[4]])&&a[d[4]];f[d[1]](function(){var a=e&&e.apply(this,arguments);a&&r.isFunction(a.promise)?a.promise().progress(b.notify).done(b.resolve).fail(b.reject):b[d[0]+"With"](this,e?[a]:arguments)})}),a=null}).promise()},then:function(b,d,e){var f=0;function g(b,c,d,e){return function(){var h=this,i=arguments,j=function(){var a,j;if(!(b=f&&(d!==O&&(h=void 0,i=[a]),c.rejectWith(h,i))}};b?k():(r.Deferred.getStackHook&&(k.stackTrace=r.Deferred.getStackHook()),a.setTimeout(k))}}return r.Deferred(function(a){c[0][3].add(g(0,a,r.isFunction(e)?e:N,a.notifyWith)),c[1][3].add(g(0,a,r.isFunction(b)?b:N)),c[2][3].add(g(0,a,r.isFunction(d)?d:O))}).promise()},promise:function(a){return null!=a?r.extend(a,e):e}},f={};return r.each(c,function(a,b){var g=b[2],h=b[5];e[b[1]]=g.add,h&&g.add(function(){d=h},c[3-a][2].disable,c[0][2].lock),g.add(b[3].fire),f[b[0]]=function(){return f[b[0]+"With"](this===f?void 0:this,arguments),this},f[b[0]+"With"]=g.fireWith}),e.promise(f),b&&b.call(f,f),f},when:function(a){var b=arguments.length,c=b,d=Array(c),e=f.call(arguments),g=r.Deferred(),h=function(a){return function(c){d[a]=this,e[a]=arguments.length>1?f.call(arguments):c,--b||g.resolveWith(d,e)}};if(b<=1&&(P(a,g.done(h(c)).resolve,g.reject,!b),"pending"===g.state()||r.isFunction(e[c]&&e[c].then)))return g.then();while(c--)P(e[c],h(c),g.reject);return g.promise()}});var Q=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;r.Deferred.exceptionHook=function(b,c){a.console&&a.console.warn&&b&&Q.test(b.name)&&a.console.warn("jQuery.Deferred exception: "+b.message,b.stack,c)},r.readyException=function(b){a.setTimeout(function(){throw b})};var R=r.Deferred();r.fn.ready=function(a){return R.then(a)["catch"](function(a){r.readyException(a)}),this},r.extend({isReady:!1,readyWait:1,ready:function(a){(a===!0?--r.readyWait:r.isReady)||(r.isReady=!0,a!==!0&&--r.readyWait>0||R.resolveWith(d,[r]))}}),r.ready.then=R.then;function S(){d.removeEventListener("DOMContentLoaded",S), -a.removeEventListener("load",S),r.ready()}"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(r.ready):(d.addEventListener("DOMContentLoaded",S),a.addEventListener("load",S));var T=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===r.type(c)){e=!0;for(h in c)T(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,r.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(r(a),c)})),b))for(;h1,null,!0)},removeData:function(a){return this.each(function(){X.remove(this,a)})}}),r.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=W.get(a,b),c&&(!d||Array.isArray(c)?d=W.access(a,b,r.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=r.queue(a,b),d=c.length,e=c.shift(),f=r._queueHooks(a,b),g=function(){r.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return W.get(a,c)||W.access(a,c,{empty:r.Callbacks("once memory").add(function(){W.remove(a,[b+"queue",c])})})}}),r.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length\x20\t\r\n\f]+)/i,la=/^$|\/(?:java|ecma)script/i,ma={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};ma.optgroup=ma.option,ma.tbody=ma.tfoot=ma.colgroup=ma.caption=ma.thead,ma.th=ma.td;function na(a,b){var c;return c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[],void 0===b||b&&B(a,b)?r.merge([a],c):c}function oa(a,b){for(var c=0,d=a.length;c-1)e&&e.push(f);else if(j=r.contains(f.ownerDocument,f),g=na(l.appendChild(f),"script"),j&&oa(g),c){k=0;while(f=g[k++])la.test(f.type||"")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement("div")),c=d.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),o.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="",o.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var ra=d.documentElement,sa=/^key/,ta=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,ua=/^([^.]*)(?:\.(.+)|)/;function va(){return!0}function wa(){return!1}function xa(){try{return d.activeElement}catch(a){}}function ya(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)ya(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=wa;else if(!e)return a;return 1===f&&(g=e,e=function(a){return r().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=r.guid++)),a.each(function(){r.event.add(this,b,e,d,c)})}r.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=W.get(a);if(q){c.handler&&(f=c,c=f.handler,e=f.selector),e&&r.find.matchesSelector(ra,e),c.guid||(c.guid=r.guid++),(i=q.events)||(i=q.events={}),(g=q.handle)||(g=q.handle=function(b){return"undefined"!=typeof r&&r.event.triggered!==b.type?r.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(L)||[""],j=b.length;while(j--)h=ua.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n&&(l=r.event.special[n]||{},n=(e?l.delegateType:l.bindType)||n,l=r.event.special[n]||{},k=r.extend({type:n,origType:p,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&r.expr.match.needsContext.test(e),namespace:o.join(".")},f),(m=i[n])||(m=i[n]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,o,g)!==!1||a.addEventListener&&a.addEventListener(n,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),r.event.global[n]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=W.hasData(a)&&W.get(a);if(q&&(i=q.events)){b=(b||"").match(L)||[""],j=b.length;while(j--)if(h=ua.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n){l=r.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=i[n]||[],h=h[2]&&new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&p!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,o,q.handle)!==!1||r.removeEvent(a,n,q.handle),delete i[n])}else for(n in i)r.event.remove(a,n+b[j],c,d,!0);r.isEmptyObject(i)&&W.remove(a,"handle events")}},dispatch:function(a){var b=r.event.fix(a),c,d,e,f,g,h,i=new Array(arguments.length),j=(W.get(this,"events")||{})[b.type]||[],k=r.event.special[b.type]||{};for(i[0]=b,c=1;c=1))for(;j!==this;j=j.parentNode||this)if(1===j.nodeType&&("click"!==a.type||j.disabled!==!0)){for(f=[],g={},c=0;c-1:r.find(e,this,null,[j]).length),g[e]&&f.push(d);f.length&&h.push({elem:j,handlers:f})}return j=this,i\x20\t\r\n\f]*)[^>]*)\/>/gi,Aa=/\s*$/g;function Ea(a,b){return B(a,"table")&&B(11!==b.nodeType?b:b.firstChild,"tr")?r(">tbody",a)[0]||a:a}function Fa(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function Ga(a){var b=Ca.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Ha(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(W.hasData(a)&&(f=W.access(a),g=W.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;c1&&"string"==typeof q&&!o.checkClone&&Ba.test(q))return a.each(function(e){var f=a.eq(e);s&&(b[0]=q.call(this,e,f.html())),Ja(f,b,c,d)});if(m&&(e=qa(b,a[0].ownerDocument,!1,a,d),f=e.firstChild,1===e.childNodes.length&&(e=f),f||d)){for(h=r.map(na(e,"script"),Fa),i=h.length;l")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=r.contains(a.ownerDocument,a);if(!(o.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||r.isXMLDoc(a)))for(g=na(h),f=na(a),d=0,e=f.length;d0&&oa(g,!i&&na(a,"script")),h},cleanData:function(a){for(var b,c,d,e=r.event.special,f=0;void 0!==(c=a[f]);f++)if(U(c)){if(b=c[W.expando]){if(b.events)for(d in b.events)e[d]?r.event.remove(c,d):r.removeEvent(c,d,b.handle);c[W.expando]=void 0}c[X.expando]&&(c[X.expando]=void 0)}}}),r.fn.extend({detach:function(a){return Ka(this,a,!0)},remove:function(a){return Ka(this,a)},text:function(a){return T(this,function(a){return void 0===a?r.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return Ja(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ea(this,a);b.appendChild(a)}})},prepend:function(){return Ja(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ea(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ja(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ja(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(r.cleanData(na(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null!=a&&a,b=null==b?a:b,this.map(function(){return r.clone(this,a,b)})},html:function(a){return T(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!Aa.test(a)&&!ma[(ka.exec(a)||["",""])[1].toLowerCase()]){a=r.htmlPrefilter(a);try{for(;c1)}});function _a(a,b,c,d,e){return new _a.prototype.init(a,b,c,d,e)}r.Tween=_a,_a.prototype={constructor:_a,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||r.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(r.cssNumber[c]?"":"px")},cur:function(){var a=_a.propHooks[this.prop];return a&&a.get?a.get(this):_a.propHooks._default.get(this)},run:function(a){var b,c=_a.propHooks[this.prop];return this.options.duration?this.pos=b=r.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):_a.propHooks._default.set(this),this}},_a.prototype.init.prototype=_a.prototype,_a.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=r.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){r.fx.step[a.prop]?r.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[r.cssProps[a.prop]]&&!r.cssHooks[a.prop]?a.elem[a.prop]=a.now:r.style(a.elem,a.prop,a.now+a.unit)}}},_a.propHooks.scrollTop=_a.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},r.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},r.fx=_a.prototype.init,r.fx.step={};var ab,bb,cb=/^(?:toggle|show|hide)$/,db=/queueHooks$/;function eb(){bb&&(d.hidden===!1&&a.requestAnimationFrame?a.requestAnimationFrame(eb):a.setTimeout(eb,r.fx.interval),r.fx.tick())}function fb(){return a.setTimeout(function(){ab=void 0}),ab=r.now()}function gb(a,b){var c,d=0,e={height:a};for(b=b?1:0;d<4;d+=2-b)c=ca[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function hb(a,b,c){for(var d,e=(kb.tweeners[b]||[]).concat(kb.tweeners["*"]),f=0,g=e.length;f1)},removeAttr:function(a){return this.each(function(){r.removeAttr(this,a)})}}),r.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?r.prop(a,b,c):(1===f&&r.isXMLDoc(a)||(e=r.attrHooks[b.toLowerCase()]||(r.expr.match.bool.test(b)?lb:void 0)),void 0!==c?null===c?void r.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=r.find.attr(a,b), -null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!o.radioValue&&"radio"===b&&B(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d=0,e=b&&b.match(L);if(e&&1===a.nodeType)while(c=e[d++])a.removeAttribute(c)}}),lb={set:function(a,b,c){return b===!1?r.removeAttr(a,c):a.setAttribute(c,c),c}},r.each(r.expr.match.bool.source.match(/\w+/g),function(a,b){var c=mb[b]||r.find.attr;mb[b]=function(a,b,d){var e,f,g=b.toLowerCase();return d||(f=mb[g],mb[g]=e,e=null!=c(a,b,d)?g:null,mb[g]=f),e}});var nb=/^(?:input|select|textarea|button)$/i,ob=/^(?:a|area)$/i;r.fn.extend({prop:function(a,b){return T(this,r.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[r.propFix[a]||a]})}}),r.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&r.isXMLDoc(a)||(b=r.propFix[b]||b,e=r.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=r.find.attr(a,"tabindex");return b?parseInt(b,10):nb.test(a.nodeName)||ob.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),o.optSelected||(r.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),r.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){r.propFix[this.toLowerCase()]=this});function pb(a){var b=a.match(L)||[];return b.join(" ")}function qb(a){return a.getAttribute&&a.getAttribute("class")||""}r.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).addClass(a.call(this,b,qb(this)))});if("string"==typeof a&&a){b=a.match(L)||[];while(c=this[i++])if(e=qb(c),d=1===c.nodeType&&" "+pb(e)+" "){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=pb(d),e!==h&&c.setAttribute("class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).removeClass(a.call(this,b,qb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(L)||[];while(c=this[i++])if(e=qb(c),d=1===c.nodeType&&" "+pb(e)+" "){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=pb(d),e!==h&&c.setAttribute("class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):r.isFunction(a)?this.each(function(c){r(this).toggleClass(a.call(this,c,qb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=r(this),f=a.match(L)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=qb(this),b&&W.set(this,"__className__",b),this.setAttribute&&this.setAttribute("class",b||a===!1?"":W.get(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+pb(qb(c))+" ").indexOf(b)>-1)return!0;return!1}});var rb=/\r/g;r.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=r.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,r(this).val()):a,null==e?e="":"number"==typeof e?e+="":Array.isArray(e)&&(e=r.map(e,function(a){return null==a?"":a+""})),b=r.valHooks[this.type]||r.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=r.valHooks[e.type]||r.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(rb,""):null==c?"":c)}}}),r.extend({valHooks:{option:{get:function(a){var b=r.find.attr(a,"value");return null!=b?b:pb(r.text(a))}},select:{get:function(a){var b,c,d,e=a.options,f=a.selectedIndex,g="select-one"===a.type,h=g?null:[],i=g?f+1:e.length;for(d=f<0?i:g?f:0;d-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),r.each(["radio","checkbox"],function(){r.valHooks[this]={set:function(a,b){if(Array.isArray(b))return a.checked=r.inArray(r(a).val(),b)>-1}},o.checkOn||(r.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var sb=/^(?:focusinfocus|focusoutblur)$/;r.extend(r.event,{trigger:function(b,c,e,f){var g,h,i,j,k,m,n,o=[e||d],p=l.call(b,"type")?b.type:b,q=l.call(b,"namespace")?b.namespace.split("."):[];if(h=i=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!sb.test(p+r.event.triggered)&&(p.indexOf(".")>-1&&(q=p.split("."),p=q.shift(),q.sort()),k=p.indexOf(":")<0&&"on"+p,b=b[r.expando]?b:new r.Event(p,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=q.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:r.makeArray(c,[b]),n=r.event.special[p]||{},f||!n.trigger||n.trigger.apply(e,c)!==!1)){if(!f&&!n.noBubble&&!r.isWindow(e)){for(j=n.delegateType||p,sb.test(j+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),i=h;i===(e.ownerDocument||d)&&o.push(i.defaultView||i.parentWindow||a)}g=0;while((h=o[g++])&&!b.isPropagationStopped())b.type=g>1?j:n.bindType||p,m=(W.get(h,"events")||{})[b.type]&&W.get(h,"handle"),m&&m.apply(h,c),m=k&&h[k],m&&m.apply&&U(h)&&(b.result=m.apply(h,c),b.result===!1&&b.preventDefault());return b.type=p,f||b.isDefaultPrevented()||n._default&&n._default.apply(o.pop(),c)!==!1||!U(e)||k&&r.isFunction(e[p])&&!r.isWindow(e)&&(i=e[k],i&&(e[k]=null),r.event.triggered=p,e[p](),r.event.triggered=void 0,i&&(e[k]=i)),b.result}},simulate:function(a,b,c){var d=r.extend(new r.Event,c,{type:a,isSimulated:!0});r.event.trigger(d,null,b)}}),r.fn.extend({trigger:function(a,b){return this.each(function(){r.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];if(c)return r.event.trigger(a,b,c,!0)}}),r.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(a,b){r.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),r.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),o.focusin="onfocusin"in a,o.focusin||r.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){r.event.simulate(b,a.target,r.event.fix(a))};r.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=W.access(d,b);e||d.addEventListener(a,c,!0),W.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=W.access(d,b)-1;e?W.access(d,b,e):(d.removeEventListener(a,c,!0),W.remove(d,b))}}});var tb=a.location,ub=r.now(),vb=/\?/;r.parseXML=function(b){var c;if(!b||"string"!=typeof b)return null;try{c=(new a.DOMParser).parseFromString(b,"text/xml")}catch(d){c=void 0}return c&&!c.getElementsByTagName("parsererror").length||r.error("Invalid XML: "+b),c};var wb=/\[\]$/,xb=/\r?\n/g,yb=/^(?:submit|button|image|reset|file)$/i,zb=/^(?:input|select|textarea|keygen)/i;function Ab(a,b,c,d){var e;if(Array.isArray(b))r.each(b,function(b,e){c||wb.test(a)?d(a,e):Ab(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==r.type(b))d(a,b);else for(e in b)Ab(a+"["+e+"]",b[e],c,d)}r.param=function(a,b){var c,d=[],e=function(a,b){var c=r.isFunction(b)?b():b;d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(null==c?"":c)};if(Array.isArray(a)||a.jquery&&!r.isPlainObject(a))r.each(a,function(){e(this.name,this.value)});else for(c in a)Ab(c,a[c],b,e);return d.join("&")},r.fn.extend({serialize:function(){return r.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=r.prop(this,"elements");return a?r.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!r(this).is(":disabled")&&zb.test(this.nodeName)&&!yb.test(a)&&(this.checked||!ja.test(a))}).map(function(a,b){var c=r(this).val();return null==c?null:Array.isArray(c)?r.map(c,function(a){return{name:b.name,value:a.replace(xb,"\r\n")}}):{name:b.name,value:c.replace(xb,"\r\n")}}).get()}});var Bb=/%20/g,Cb=/#.*$/,Db=/([?&])_=[^&]*/,Eb=/^(.*?):[ \t]*([^\r\n]*)$/gm,Fb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Gb=/^(?:GET|HEAD)$/,Hb=/^\/\//,Ib={},Jb={},Kb="*/".concat("*"),Lb=d.createElement("a");Lb.href=tb.href;function Mb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(L)||[];if(r.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Nb(a,b,c,d){var e={},f=a===Jb;function g(h){var i;return e[h]=!0,r.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Ob(a,b){var c,d,e=r.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&r.extend(!0,a,d),a}function Pb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}if(f)return f!==i[0]&&i.unshift(f),c[f]}function Qb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}r.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:tb.href,type:"GET",isLocal:Fb.test(tb.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Kb,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"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":r.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Ob(Ob(a,r.ajaxSettings),b):Ob(r.ajaxSettings,a)},ajaxPrefilter:Mb(Ib),ajaxTransport:Mb(Jb),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var e,f,g,h,i,j,k,l,m,n,o=r.ajaxSetup({},c),p=o.context||o,q=o.context&&(p.nodeType||p.jquery)?r(p):r.event,s=r.Deferred(),t=r.Callbacks("once memory"),u=o.statusCode||{},v={},w={},x="canceled",y={readyState:0,getResponseHeader:function(a){var b;if(k){if(!h){h={};while(b=Eb.exec(g))h[b[1].toLowerCase()]=b[2]}b=h[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return k?g:null},setRequestHeader:function(a,b){return null==k&&(a=w[a.toLowerCase()]=w[a.toLowerCase()]||a,v[a]=b),this},overrideMimeType:function(a){return null==k&&(o.mimeType=a),this},statusCode:function(a){var b;if(a)if(k)y.always(a[y.status]);else for(b in a)u[b]=[u[b],a[b]];return this},abort:function(a){var b=a||x;return e&&e.abort(b),A(0,b),this}};if(s.promise(y),o.url=((b||o.url||tb.href)+"").replace(Hb,tb.protocol+"//"),o.type=c.method||c.type||o.method||o.type,o.dataTypes=(o.dataType||"*").toLowerCase().match(L)||[""],null==o.crossDomain){j=d.createElement("a");try{j.href=o.url,j.href=j.href,o.crossDomain=Lb.protocol+"//"+Lb.host!=j.protocol+"//"+j.host}catch(z){o.crossDomain=!0}}if(o.data&&o.processData&&"string"!=typeof o.data&&(o.data=r.param(o.data,o.traditional)),Nb(Ib,o,c,y),k)return y;l=r.event&&o.global,l&&0===r.active++&&r.event.trigger("ajaxStart"),o.type=o.type.toUpperCase(),o.hasContent=!Gb.test(o.type),f=o.url.replace(Cb,""),o.hasContent?o.data&&o.processData&&0===(o.contentType||"").indexOf("application/x-www-form-urlencoded")&&(o.data=o.data.replace(Bb,"+")):(n=o.url.slice(f.length),o.data&&(f+=(vb.test(f)?"&":"?")+o.data,delete o.data),o.cache===!1&&(f=f.replace(Db,"$1"),n=(vb.test(f)?"&":"?")+"_="+ub++ +n),o.url=f+n),o.ifModified&&(r.lastModified[f]&&y.setRequestHeader("If-Modified-Since",r.lastModified[f]),r.etag[f]&&y.setRequestHeader("If-None-Match",r.etag[f])),(o.data&&o.hasContent&&o.contentType!==!1||c.contentType)&&y.setRequestHeader("Content-Type",o.contentType),y.setRequestHeader("Accept",o.dataTypes[0]&&o.accepts[o.dataTypes[0]]?o.accepts[o.dataTypes[0]]+("*"!==o.dataTypes[0]?", "+Kb+"; q=0.01":""):o.accepts["*"]);for(m in o.headers)y.setRequestHeader(m,o.headers[m]);if(o.beforeSend&&(o.beforeSend.call(p,y,o)===!1||k))return y.abort();if(x="abort",t.add(o.complete),y.done(o.success),y.fail(o.error),e=Nb(Jb,o,c,y)){if(y.readyState=1,l&&q.trigger("ajaxSend",[y,o]),k)return y;o.async&&o.timeout>0&&(i=a.setTimeout(function(){y.abort("timeout")},o.timeout));try{k=!1,e.send(v,A)}catch(z){if(k)throw z;A(-1,z)}}else A(-1,"No Transport");function A(b,c,d,h){var j,m,n,v,w,x=c;k||(k=!0,i&&a.clearTimeout(i),e=void 0,g=h||"",y.readyState=b>0?4:0,j=b>=200&&b<300||304===b,d&&(v=Pb(o,y,d)),v=Qb(o,v,y,j),j?(o.ifModified&&(w=y.getResponseHeader("Last-Modified"),w&&(r.lastModified[f]=w),w=y.getResponseHeader("etag"),w&&(r.etag[f]=w)),204===b||"HEAD"===o.type?x="nocontent":304===b?x="notmodified":(x=v.state,m=v.data,n=v.error,j=!n)):(n=x,!b&&x||(x="error",b<0&&(b=0))),y.status=b,y.statusText=(c||x)+"",j?s.resolveWith(p,[m,x,y]):s.rejectWith(p,[y,x,n]),y.statusCode(u),u=void 0,l&&q.trigger(j?"ajaxSuccess":"ajaxError",[y,o,j?m:n]),t.fireWith(p,[y,x]),l&&(q.trigger("ajaxComplete",[y,o]),--r.active||r.event.trigger("ajaxStop")))}return y},getJSON:function(a,b,c){return r.get(a,b,c,"json")},getScript:function(a,b){return r.get(a,void 0,b,"script")}}),r.each(["get","post"],function(a,b){r[b]=function(a,c,d,e){return r.isFunction(c)&&(e=e||d,d=c,c=void 0),r.ajax(r.extend({url:a,type:b,dataType:e,data:c,success:d},r.isPlainObject(a)&&a))}}),r._evalUrl=function(a){return r.ajax({url:a,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},r.fn.extend({wrapAll:function(a){var b;return this[0]&&(r.isFunction(a)&&(a=a.call(this[0])),b=r(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this},wrapInner:function(a){return r.isFunction(a)?this.each(function(b){r(this).wrapInner(a.call(this,b))}):this.each(function(){var b=r(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=r.isFunction(a);return this.each(function(c){r(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(a){return this.parent(a).not("body").each(function(){r(this).replaceWith(this.childNodes)}),this}}),r.expr.pseudos.hidden=function(a){return!r.expr.pseudos.visible(a)},r.expr.pseudos.visible=function(a){return!!(a.offsetWidth||a.offsetHeight||a.getClientRects().length)},r.ajaxSettings.xhr=function(){try{return new a.XMLHttpRequest}catch(b){}};var Rb={0:200,1223:204},Sb=r.ajaxSettings.xhr();o.cors=!!Sb&&"withCredentials"in Sb,o.ajax=Sb=!!Sb,r.ajaxTransport(function(b){var c,d;if(o.cors||Sb&&!b.crossDomain)return{send:function(e,f){var g,h=b.xhr();if(h.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(g in b.xhrFields)h[g]=b.xhrFields[g];b.mimeType&&h.overrideMimeType&&h.overrideMimeType(b.mimeType),b.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest");for(g in e)h.setRequestHeader(g,e[g]);c=function(a){return function(){c&&(c=d=h.onload=h.onerror=h.onabort=h.onreadystatechange=null,"abort"===a?h.abort():"error"===a?"number"!=typeof h.status?f(0,"error"):f(h.status,h.statusText):f(Rb[h.status]||h.status,h.statusText,"text"!==(h.responseType||"text")||"string"!=typeof h.responseText?{binary:h.response}:{text:h.responseText},h.getAllResponseHeaders()))}},h.onload=c(),d=h.onerror=c("error"),void 0!==h.onabort?h.onabort=d:h.onreadystatechange=function(){4===h.readyState&&a.setTimeout(function(){c&&d()})},c=c("abort");try{h.send(b.hasContent&&b.data||null)}catch(i){if(c)throw i}},abort:function(){c&&c()}}}),r.ajaxPrefilter(function(a){a.crossDomain&&(a.contents.script=!1)}),r.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return r.globalEval(a),a}}}),r.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),r.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(e,f){b=r(" - - - - - - - - - - -
-
-
-
添加分区
-
-
-
- -
- -
-
-
- -
- -
-
- -
- -
- -
-
- -
- -
- -
-
- -
- -
- -
-
-
-
- - -
-
-
-
-
-
-
- - - - - \ No newline at end of file diff --git a/legend/views/area-charge-count.html b/legend/views/area-charge-count.html deleted file mode 100644 index 114c329..0000000 --- a/legend/views/area-charge-count.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - 充值商户后台 - - -{{/* */}} - - - - - - - - - - - - - -
-
-{{/*
首页 / 分组充值统计
*/}} -
-
-
- -
- -
- - -
- -
- -
-
- -
-
-
-
- - - - - \ No newline at end of file diff --git a/legend/views/area-edit.html b/legend/views/area-edit.html deleted file mode 100644 index a1fac5c..0000000 --- a/legend/views/area-edit.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - - - 充值商户后台 - - - {{/* */}} - - - - - - - - - - - - - - - -
-
-
-
编辑分区
-
-
- -
- -
- -
-
-
- -
- -
-
- -
- -
- -
-
- -
- -
- -
-
- -
- -
- -
-
-
-
- - -
-
-
-
-
-
-
- - - - - \ No newline at end of file diff --git a/legend/views/area-list.html b/legend/views/area-list.html deleted file mode 100644 index 645cf18..0000000 --- a/legend/views/area-list.html +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - 充值商户后台 - - -{{/* */}} - - - - - - - - - - - - - -
-
-
-
-
-
- - - - - - - - -
- - - \ No newline at end of file diff --git a/legend/views/error/404.html b/legend/views/error/404.html deleted file mode 100644 index 80b1568..0000000 --- a/legend/views/error/404.html +++ /dev/null @@ -1,24 +0,0 @@ - - - - - 充值商户后台 - - - - - - - - - -
-
-
-

-

页面或者数据被 纸飞机 运到火星了,啥都看不到了…

-
-
-
- - \ No newline at end of file diff --git a/legend/views/error/503.html b/legend/views/error/503.html deleted file mode 100644 index 4b8c2c7..0000000 --- a/legend/views/error/503.html +++ /dev/null @@ -1,24 +0,0 @@ - - - - - 充值商户后台 - - - - - - - - - -
-
-
-

-

您可能需要重新登录.....,或者刷新下网页!!!!!!

-
-
-
- - \ No newline at end of file diff --git a/legend/views/everyday-charge-count.html b/legend/views/everyday-charge-count.html deleted file mode 100644 index 6551424..0000000 --- a/legend/views/everyday-charge-count.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - 充值商户后台 - - -{{/* */}} - - - - - - - - - - - - - -
-
-{{/*
首页 / 每日充值统计
*/}} -
-
-
- -
- -
- - -
- -
- -
-
- -
-
-
-
- - - - - \ No newline at end of file diff --git a/legend/views/favicon.png b/legend/views/favicon.png deleted file mode 100644 index 6450c4e18524bc0135f8ff2708d920142c9ca3dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7928 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 - - - - - 充值商户后台 - - -{{/* */}} - - - - - - - - - - - - - -
-
-{{/*
首页 / 分组充值统计
*/}} -
-
-
- -
- -
- - -
- -
- -
-
- -
-
-
-
- - - - - \ No newline at end of file diff --git a/legend/views/group-list.html b/legend/views/group-list.html deleted file mode 100644 index 690b907..0000000 --- a/legend/views/group-list.html +++ /dev/null @@ -1,185 +0,0 @@ - - - - - - 充值商户后台 - - -{{/* */}} - - - - - - - - - - - - - -
-{{/*
*/}} -
-
- - - - - - - - -
-
- - - - - - \ No newline at end of file diff --git a/legend/views/imitate-order.html b/legend/views/imitate-order.html deleted file mode 100644 index e912560..0000000 --- a/legend/views/imitate-order.html +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - 充值商户后台 - - -{{/* */}} - - - - - - - - - - - - - -
-
-
-{{/*

首页 / 模拟充值

*/}} -
-
-
- - -
- -
- - -
- -
- - -
- -
- -
-
-
-
-
-
-
- - - - - \ No newline at end of file diff --git a/legend/views/index.html b/legend/views/index.html deleted file mode 100644 index e31aa6b..0000000 --- a/legend/views/index.html +++ /dev/null @@ -1,188 +0,0 @@ - - - - - 充值商户后台 - - -{{/* */}} - - - - - - - - - - - - -
- -
- -
- - -
- - - - - - - -
-
- -
  • - 控制台 -
  • -
    -
    -
    -
    关闭当前
    -
    关闭其它
    -
    关闭全部
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    - - - - - - - - \ No newline at end of file diff --git a/legend/views/login.html b/legend/views/login.html deleted file mode 100644 index fe312b6..0000000 --- a/legend/views/login.html +++ /dev/null @@ -1,69 +0,0 @@ - - - - - 游戏充值商户后台 - - -{{/* */}} - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/legend/views/merchant-key.html b/legend/views/merchant-key.html deleted file mode 100644 index 5e5ebb1..0000000 --- a/legend/views/merchant-key.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - 充值商户后台 - - -{{/* */}} - - - - - - - - - - - -
    -{{/*
    */}} - -
    -
    基本信息
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    登录帐号:

    {{.userName}}

    商户账户号:

    {{.userInfo.MerchantUid}}

    商户密钥:

    {{.userInfo.MerchantSecret}}

    - -

    商户KEY:

    {{.userInfo.MerchantKey}}

    -

    银行开户名:

    {{.bankInfo.AccountName}}

    开户银行:

    {{.bankInfo.BankName}}

    银行卡号:

    {{.bankInfo.BankNo}}

    银行编码:

    {{.bankInfo.BankCode}}

    手机号码:

    {{.bankInfo.PhoneNo}}

    -
    -{{/*
    */}} -
    - - - -
    - - - - - \ No newline at end of file diff --git a/legend/views/order-list.html b/legend/views/order-list.html deleted file mode 100644 index 8a97e61..0000000 --- a/legend/views/order-list.html +++ /dev/null @@ -1,185 +0,0 @@ - - - - - - 充值商户后台 - - -{{/* */}} - - - - - - - - - - - - - -
    -
    -
    -

    首页 / 充值订单

    -
    -
    -
    - -
    - -
    - - -
    - -
    - - -
    - -
    -
    -
    - -
    - -
    - - -
    - -
    - - -
    - -
    - -
    - -
    - -
    - -
    - - -
    - -
    - - -
    - -
    - -
    - -
    -
    -
    -
    -
    -
    - - - - - - - - - \ No newline at end of file diff --git a/legend/views/person.html b/legend/views/person.html deleted file mode 100644 index 4987e62..0000000 --- a/legend/views/person.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - 游戏充值商户后台 - - -{{/* */}} - - - - - - - - - -
    -
    -
    -
    - -
    -
    -
    -
    - -
    -
    -
    -
    - -
    -
    -
    6到16个字符
    -
    - -
    -
    -
    -
    - -
    -
    - -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/legend/views/scale-template.html b/legend/views/scale-template.html deleted file mode 100644 index 8b20abc..0000000 --- a/legend/views/scale-template.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - 充值商户后台 - - -{{/* */}} - - - - - - - - - - - - -
    -
    -
    -
    - - - - - - - - -
    -
    -
    - - - - - \ No newline at end of file diff --git a/legend/views/settle-list.html b/legend/views/settle-list.html deleted file mode 100644 index 227af40..0000000 --- a/legend/views/settle-list.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - 充值商户后台 - - -{{/* */}} - - - - - - - - - - - - - -
    -
    -
    -{{/*

    首页 / 结算管理

    */}} -
    -
    -
    - - -
    - -
    - - -
    - -
    - - -
    - -
    - -
    -
    -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/legend/views/template-add.html b/legend/views/template-add.html deleted file mode 100644 index 9edc4ed..0000000 --- a/legend/views/template-add.html +++ /dev/null @@ -1,343 +0,0 @@ - - - - - - 充值商户后台 - - -{{/* */}} - - - - - - - - - - - - -
    -
    -
    配置模板
    -
    -
    -
    -
    -
    -

    基础配置

    -
    - -
    - -
    - -
    -
    取名保证唯一性
    -
    - -
    - -
    - -
    -
    可填写角色名、或者角色ID;不可为空
    -
    -
    - -
    - -
    -
    此提示会在充值页面显示,提示玩家如何查看用户标识
    -
    - -
    - -
    - - -
    -
    - - - -
    -
    - -
    - -
    -
    默认是元宝,也可以是钻石、点券
    -
    - -
    - -
    - -
    -
    默认是100,既充值1元人命币转为100游戏币
    -
    - -
    - -
    - -
    -
    默认最低为10元
    -
    -
    - - -
    -
    - -
    添加商品
    -

    说明:请根据游戏内设置的商品道具进行设置,切勿乱填

    可购次数填0代表不限,填1代表一个帐号仅可购买一次,依此类推

    -
    - -
    -
    - - -
    -

    激励赠送

    -
    -
    - -
    - - - -
    -
    - - -
    -
    -
    添加
    -
    - - -
    -
    -
    添加
    -
    -
    -
    -
    -
    -
    - -
    返回当前页
    -
    -
    -
    - -
    -
    -
    -{{/* */}} - - - - - \ No newline at end of file diff --git a/legend/views/template-edit.html b/legend/views/template-edit.html deleted file mode 100644 index 30333a2..0000000 --- a/legend/views/template-edit.html +++ /dev/null @@ -1,484 +0,0 @@ - - - - - - 充值商户后台 - - -{{/* */}} - - - - - - - - - - - - -
    -
    -
    编辑模板
    -
    -
    -
    -
    -
    -

    基础配置

    -
    - -
    - -
    - -
    -
    - -
    - -
    - -
    -
    可填写角色名、或者角色ID;不可为空
    -
    -
    - -
    - -
    -
    此提示会在充值页面显示,提示玩家如何查看用户标识
    -
    - -
    - -
    - - -
    -
    - - - -
    -
    - -
    - -
    -
    默认是元宝,也可以是钻石、点券
    -
    - -
    - -
    - -
    -
    默认是100,既充值1元人命币转为100游戏币
    -
    - -
    - -
    - -
    -
    默认最低为10元
    -
    -
    - - -
    -
    - -
    添加
    -

    说明:请根据游戏内设置的商品道具进行设置,切勿乱填

    可购次数填0代表不限,填1代表一个帐号仅可购买一次,依此类推

    -
    - -
    -
    - - -
    -

    激励赠送

    -
    -
    - -
    - - - -
    -
    - - -
    -
    -
    添加
    -
    - - -
    -
    -
    添加
    -
    -
    -
    -
    -
    -
    - -
    返回当前页
    -
    -
    -
    - -
    -
    -
    - - - - - \ No newline at end of file diff --git a/legend/views/welcome.html b/legend/views/welcome.html deleted file mode 100644 index 4e60a40..0000000 --- a/legend/views/welcome.html +++ /dev/null @@ -1,186 +0,0 @@ - - - - - 充值商户后台 - - -{{/* */}} - - - - - - - - - - - -
    -
    - {{/*
    -
    -
    -
    欢迎 {{.nickName}}: - 充值后台!当前时间:{{.currentTime}} -
    -
    -
    -
    */}} -
    -
    -
    账户总余额 - {{/**/}}
    -
    -

    {{.balance}}

    -

    单位: - 元 - {{/**/}} -

    -
    -
    -
    -
    -
    -
    可结算金额 - {{/**/}}
    -
    -

    {{.settleAmount}}

    -

    单位: - 元 - {{/**/}} -

    -
    -
    -
    -
    -
    -
    冻结金额 - {{/**/}}
    -
    -

    {{.unBalance}}

    -

    单位: - 元 - {{/**/}} -

    -
    -
    -
    -
    -
    -
    今日充值金额 - {{/**/}}
    -
    -

    {{.todayAmount}}

    -

    单位: - -

    -
    -
    -
    - - -
    -
    -
    游戏接口下载
    -
    - - - - - - - - - - - - - -
    游戏名称接口下载
    演示例子x.xuebingsi.com
    战神引擎WINNT
    -
    -
    -
    -
    -
    -
    名词解释
    -
    - - - - - - - - - - - - - -
    账户总金额 - 商户还剩下的金额,总金额 = 可结算金额 + 冻结金额
    可结算金额用户此时可以提现的金额,可结算金额 = 总金额 - 冻结金额
    冻结金额用户暂时不可以动用的金额
    -
    -
    -
    - - -
    -
    - - - \ No newline at end of file