From e5c5c3bf61011f485cc7abd19c95c9212e4d5e1b Mon Sep 17 00:00:00 2001
From: liaoxuwei <5789413@qq.com>
Date: Wed, 20 Nov 2024 14:57:49 +0800
Subject: [PATCH] =?UTF-8?q?=E5=91=98=E5=B7=A5=E5=90=8D=E7=89=87=E8=AE=BF?=
 =?UTF-8?q?=E9=97=AE=E8=AE=B0=E5=BD=95=E8=A1=A8=EF=BC=9B=E5=90=8D=E7=89=87?=
 =?UTF-8?q?=E8=AE=BF=E9=97=AE=E6=AC=A1=E6=95=B0=E7=B4=AF=E5=8A=A0=EF=BC=9B?=
 =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=90=8D=E7=89=87=E5=85=AC=E5=8F=B8=E5=9C=B0?=
 =?UTF-8?q?=E5=9D=80=E5=B1=9E=E6=80=A7?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 db/add.sql                                    |   27 +
 ...345\212\241\345\271\263\345\217\260 .docx" |  Bin 122007 -> 125003 bytes
 .../dao/BussinesscardRecordDao.java           |   17 +
 .../ibatis/BussinesscardRecordDaoImpl.java    |   21 +
 .../model/BussinesscardEntity.java            |    9 +-
 .../model/BussinesscardQuery.java             |  174 ++-
 .../model/BussinesscardRecordEntity.java      |   71 +
 .../model/BussinesscardRecordQuery.java       | 1182 +++++++++++++++++
 .../model/vo/BussinesscardRecordVo.java       |   23 +
 .../service/BussinesscardRecordService.java   |   25 +
 .../impl/BussinesscardRecordServiceImpl.java  |   54 +
 .../impl/BussinesscardServiceImpl.java        |   30 +-
 .../web/BussinesscardController.java          |   39 +
 .../web/BussinesscardRecordController.java    |   50 +
 .../service/impl/CompanyServiceImpl.java      |    4 +-
 .../module/news/model/NewsRecordEntity.java   |   15 +-
 .../module/news/model/NewsRecordQuery.java    |  992 ++++++++------
 .../module/staff/model/StaffRecordEntity.java |   17 +-
 .../module/staff/model/StaffRecordQuery.java  | 1052 ++++++++-------
 .../module/staff/service/StaffService.java    |    5 +
 .../staff/service/impl/StaffServiceImpl.java  |   14 +
 .../bussinesscard/BussinesscardMapper.xml     |   88 +-
 .../BussinesscardRecordMapper.xml             |  771 +++++++++++
 .../sqlmap/module/news/NewsRecordMapper.xml   |  872 +++++++-----
 .../sqlmap/module/staff/StaffMapper.xml       |    3 +-
 .../sqlmap/module/staff/StaffRecordMapper.xml |  944 +++++++------
 26 files changed, 4822 insertions(+), 1677 deletions(-)
 create mode 100644 enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/dao/BussinesscardRecordDao.java
 create mode 100644 enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/dao/ibatis/BussinesscardRecordDaoImpl.java
 create mode 100644 enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/model/BussinesscardRecordEntity.java
 create mode 100644 enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/model/BussinesscardRecordQuery.java
 create mode 100644 enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/model/vo/BussinesscardRecordVo.java
 create mode 100644 enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/service/BussinesscardRecordService.java
 create mode 100644 enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/service/impl/BussinesscardRecordServiceImpl.java
 create mode 100644 enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/web/BussinesscardRecordController.java
 create mode 100644 enterprise-manager/src/main/resources/sqlmap/module/bussinesscard/BussinesscardRecordMapper.xml

diff --git a/db/add.sql b/db/add.sql
index fe87b51..2cc540d 100644
--- a/db/add.sql
+++ b/db/add.sql
@@ -51,3 +51,30 @@ INSERT INTO `mortals_xhx_menu` VALUES (null, '鍛樺伐绂昏亴淇℃伅', '/staff/leave
 INSERT INTO `mortals_xhx_resource` VALUES (null, '鍛樺伐绂昏亴淇℃伅-鑿滃崟绠$悊-鏌ョ湅', '/staff/leave/list,/staff/leave/view,/staff/leave/info,/staff/leave/export,/staff/leave/exportExcel,/staff/leave/downloadTemplate,/staff/leave/download', 3, 0, NULL, NULL, NULL, 0);
 INSERT INTO `mortals_xhx_resource` VALUES (null, '鍛樺伐绂昏亴淇℃伅-鑿滃崟绠$悊-缁存姢', '/staff/leave/add,/staff/leave/edit,/staff/leave/delete,/staff/leave/logicDelete,/staff/leave/save,/staff/leave/importData', 3, 0, NULL, NULL, NULL, 0);
 
+-- ----------------------------
+-- 2024-11-20
+-- ----------------------------
+ALTER TABLE `mortals_xhx_bussinesscard` MODIFY COLUMN `companyId` bigint(20) DEFAULT NULL COMMENT '璁板綍鍚嶇墖鎸佹湁鑰呮墍鍦ㄥ叕鍙告垨缁勭粐鐨勫悕绉癐D';
+ALTER TABLE `mortals_xhx_bussinesscard` ADD COLUMN `companyAdress` varchar(256)   COMMENT '鍚嶇墖灞曠ず璁剧疆';
+ALTER TABLE `mortals_xhx_news_record` ADD COLUMN `viewId` bigint(20)      COMMENT '鏌ョ湅浜篿d';
+ALTER TABLE `mortals_xhx_staff_record` ADD COLUMN `viewId` bigint(20)      COMMENT '鏌ョ湅浜篿d';
+
+-- ----------------------------
+-- 鍚嶇墖璁块棶璁板綍淇℃伅琛�
+-- ----------------------------
+DROP TABLE IF EXISTS `mortals_xhx_bussinesscard_record`;
+CREATE TABLE mortals_xhx_bussinesscard_record(
+    `id` bigint(20)   AUTO_INCREMENT   COMMENT '搴忓彿锛屼富閿紝鑷闀�',
+    `bussinesscardId` bigint(20)   NOT NULL     COMMENT '鍚嶇墖ID',
+    `viewId` bigint(20)      COMMENT '鏌ョ湅浜篿d',
+    `viewName` varchar(64)     COMMENT '鏌ョ湅浜哄悕绉�',
+    `sumViews` int(4)    DEFAULT '0'  COMMENT '绱鏌ョ湅娆℃暟',
+    `remark` varchar(255)      COMMENT '澶囨敞',
+    `viewTime` datetime    COMMENT '鏈€鍚庢祻瑙堟椂闂�',
+    `createUserId` bigint(20)      COMMENT '鍒涘缓鐢ㄦ埛',
+    `createTime` datetime   COMMENT '鍒涘缓鏃堕棿',
+    `updateUserId` bigint(20)      COMMENT '鏇存柊鐢ㄦ埛',
+    `updateTime` datetime      COMMENT '鏇存柊鏃堕棿',
+PRIMARY KEY  (`id`)
+,KEY `viewId` (`viewId`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='鍚嶇墖璁块棶璁板綍淇℃伅';
\ No newline at end of file
diff --git "a/doc/\344\274\201\344\270\232\346\234\215\345\212\241\345\271\263\345\217\260 .docx" "b/doc/\344\274\201\344\270\232\346\234\215\345\212\241\345\271\263\345\217\260 .docx"
index 7f7672c9e62ac20ec1552410a236a39ded991a4f..0d9537c5f398d3c19c11206f589b94d265a59ebf 100644
GIT binary patch
delta 75300
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

delta 72275
zcmaI7Rajh6v#yJ~y9bvBg1b93+PDRGhv3#Yjk~)$A-EGfcyM<Q5E9(k{A=y?oORB{
zxt{Z4jxnlgeBWC&Cw?JjbRagMBBD+)uk&yQLqjcJk~I+^!bO1FZhyKO+P>kN=D#%P
zj=o;8!wxOtP!dJ(EY*N$6*Z-%K0A5L(@dqHNf98XE0Hosg@mWE)-@COQyr48E<p^>
zW-4<IQr-rR%BlsKtE-v0YB;m<h&gvGthKDP^Dl>@zV`CFPD3G>>uC6va!@KIglQtx
zy3Mc_H)5n&`3Qn7!f3hAaP-9C%j~JRPXb9nw$8QklZ^erLjB@qD?~yG%+vtIN^bH&
z8cEt>(=L7%R=i)Imj|OOo7?vy(W&(07O4RWr7A7*a%$3tOtJX#SbIZ=l~Ax*2;NZF
zKn7wK%3KfsGEnm&l7J{2;raBpg6_BZdE=g*^7GXf<#n)W`Q503sR{NDr3?PkxB@n8
zW<wc@_l<g}4|&s^@FN}6fN4z6ZjhUYAVpp**j+eZ)T<6bl(n=~FFmuVA0wL?aap4t
zC0HeWfp6TGW;|8ugpS|(a{H1Rpl(p_lI8G=NV8d18yY23n%aYd8jwfKtVF3g)cQw#
zHiWfg&K(RjO=l8j{l}Y(`QwoSTKXh2RX7pIr_&r>$`m?VZYe`(zQ`3r0kBKv6}q^y
z{wY`V;rFaiLEh%uvz3+#<|F)k3l5V?0fF02M6xCv(%{y9zaVOH#G`%g59sWj18^w$
zyg+aYJ;|bY#iKCIXc=_vdXq-ziJ@YHKvksjKKM^=o05i}m2n_ifW8#GJyaQjZ)K%>
z^PQlMCMuUM*V3%-oW6i&eWSc|*{~8#1no}>9MI{c?k-#f&p(>7rK<0eXxPAcr*EPe
zxLW%M=t{97>}9PDw;G{bS4Zc6w(~b$&6)rekuM>q`cZhwA)!C@`-au-!@DIUIf{1E
z4Z$UE)d{txZzK%Pg+GvRIah3sm!?uFPn_=1(|+hGAxwCC3O+}WK!i&}r+QCq`cdsE
zXLs*1AmhB6*>o<IR?}Yvb)}Z3zDweOV~NSDLV%UrMt@|0juurEaM)=}BPe(qx?ig0
zJf+K8zQcqOGO^CuYK})$yTU|zi_@lrwt$(fKl!`fZ5{hf_CgbUJ=-J*zAG=q{0^+#
zt=Ac(%hL-~Tl8C8+g*LoX2EP=D9g6L!`aD2`)x;$SsJAQ88ZpE#jw6|8Rd5WjL?=R
z87{Dk<mF1LEu%?Ne-W2;z*$p@4?3OJg-(T{?CQbT641<c?k#IioDK1Cs5OaT3<Wpo
zvKP<AeV5E_2>WY<m+L5;GK!>v=P9+glZ#ZHHMY-^<j~sLP8kwZnD5N|Yb!@k@E2~i
zL&E@&LpJ@W#9vF7`FGQcLb+&@M$PXgzP|>)ScmM0Mn|g1$K^xN(eP5S<r#}64kNly
zS6>(owOUaU>P;=xA@QRO42W{e_B-H3{?$QYlYGdJQE@zjF$ID`bZ^M31$WQWmCaKg
z-42OAMR;YMoCn8L6zUnBEA(YS`n{LZ7lQR!JQMQGOerFEZo^E;X(@+Qx4ID|J-wgV
zhr{g|3)nq-DWoNiM|LtlJNd@>%P4CC^n=i_s+c0PP${U+NJ=8gf?1SS%VNQ<s%qop
z(mw^|+BlHHQRIl5eyGc7d?ltjBO_!;8B<EDo^Sm0^D_tGDEZFDtceI3u6dOB#3o5Z
z<(6&B#e84)^GV7#itXpol6NoXrq+)@+Zan5<Po&Z9KlN+Gm=F6>LyBzchLQ!KyMwT
zwwA@=m$egRC{HilP>#@oJADeaWFW(?_7*hME@;0|xEornf@$P4=J&a95hkRW22ak`
zkv>)+Mv4jKf+GkDMB3DLYT<Xh2njVKJdhjK#lSZii1y<8Ais$g4Q59Ls;da=Mal^z
zIf)-lA^G;<8pp?d|0?E%jMD>=<?B3XbHZAGYodp7Ra%Ybl39sejqieU!(bR`Ad>6N
z@!Zq(^C_n-|8Dr7?cKh<mF<U?oJH>6h>pJJGdkWS<doFxYjWi4wc4%5VT`h|LVi~-
z8)fC@Dmg9m`05}0tTFO;NtO3{Id{tF)4jafpvNBuAO3xuwNEiPT|YSKasT`KVGXA0
zm?1^yC;>*=^4|Z{#Md8uHK>5%|8%@-bGQ5$Y31g9HUiqcevCS2mP@g|Jvmw1`$l-(
zxATZ;$hdM}j<`GrHd2ir6UiT2P?k@A?=5S>f~@Kf&)G6rr(2z}$em52a5m{GS`!=G
z^S9o~X$nj%zcmg)uD?o5Zi9VxtvS?UP{ootdU%|vjUOb!nESz;^W4Tis@i&+Y<DW0
zZw97jXJ7K!2U|m$_L3HPb0&DZm}U9n253zVYHvGDw(T;z!(Gxh)0p9LzYOj(8U>0<
z1U&z(8~qfJ?oGHY`ZATAXWaYM`(NDHjfK1S%l_ZwJp-XJ{0YBHr}l{&wm$vcEN0A_
z=OZ0ChW)dYQ+s>xQ488dIHH#9B{8*rOzf+p>ZJy1bM@`>f>Q_`ZG+}%?yIfWzLD2$
z<YalqKM<#B+_zT~_kh}p{aNN!Er$22lU=_Gug@zIuED!FLh$)?SVOU>G{7?68?yeP
zrPs$lt37??91E9hHiXUCb?z9>1T4{bT#0GB$iA3Mt6c@)f}Q}jtQ-}w7a8;h_2p{4
z2BKoJQ1wNOC$Yxf!2O#Nv85oUTaTP@CS*BcQ%^;}9J|TW(FCIER)-F3IroDN0sTRP
z^h&yd&bf$E!uHGH>FB4W;40V1M2V9Y9_(@!_s$$R<-9Ot;6)VYsX4XM{ipoif3{EW
z&Vh>x4VCKP6)p{{Zwl`{z1x9L4{xJ9CP3TT2-B+-*z8B<(8$xV(ECr@&j&ZRkvxgx
zmBUs=Fh+{Xx>+OQuU_<jz^-?1Y<&Bv6j$F=mdDE&wU5H-+$RqDk`C6sYQM*yFE54L
znDnS&wPJ18eaV{CrV33{;5N?HHRQkreLZ{aQrBDub0rdC<6Pe{j>NN`ep;w%>Y%}I
z5kZ#1kt?#93Gzfs%^P?4BQN4OL(j>X1vMxfy&I&#Hfk?dZrepJ1qTe)I6;g8_Wa=y
z!cn9{BPKL_gaCOoNj&QcL)9|X%V103?a}eWkRtNi+6u8jOt=wPm8m!vAfFy_OF2Os
zApi!Lh}t6yNUMsO=2pCxmazJnxj!n@LD5Mmf#;z{sKV>*?P9R)>adM_8DOyEbM<FA
zhet@{U|Dq;#m1JGZs@mT+0e7(g!n-fblGo98U6C!%#H?KSoRg$V;jwyMzi@LG_FKi
z>?xC|ET1Y^+0LJn>=Hde#2B+W%yGc^Ni<n-zHQ-Lq_ifmWR9CFG;R=SK>c}!8sI3C
zL*`P|Ou~ZrOSu<~y)GA^b<Y`}wxmY2MjanHk+De1tjxuQ#yo&@a_3;Iq8Z1<l__7d
z6Xf&YaJ}A&PIXGvXVR%nE#n5maD3W2RMM-)fyV@8Ihkmi8EyL0M|h|5>bJXLAG!i~
zJ`Alv+ARU`Ec@bDc&ROKgj+boj^mqPBS)EbXrZ=kcqRl0ubFLSj`ei`nu2E1u9Ex0
z#1=8hHS|l^DLv_6nEali$j0rtlNFmSGGzAxU+@GTpxnfvsh^9~ur8`A0OFY*5g!Y_
zqJ_68beKe}!0fGF4YwdC9V9cgCCmlKz^~=J0>@BwM-5zRBlC!)GI>SM1UO81kK{)8
zPrrWI=orde7EC%++daLRrb7^>Zyx@Qos`5B8qK%ijcxw^ap6z>RGTSkV3*BWRI~L@
zK)ZvP&um#>(riziX5wBEIoOmAhb}54auHrvkVPOyrDI(r^!yu(cE7-cIPMPS{lh_X
zeUdjb?PRRB#Vc|^sI&~Uh$?ZB$Ku42MUeUpT~c*VL7auaN`enz7Sla?Uz*}ZE-88B
zP_sknAZGcpbofG~R7dx@K2uAw>|^`N(UY39m2<Jv+&(^RL>z%~@;P2sbG&5k1_SLp
z87pYGy-%Z3O`hG1-_0UV5+00lk}1K;f_aaeHsZxhMav(tnXmI7fx;Vs6_Yj}`ep6)
z=*-Xh@<nItCG)1C{(|AaNY|ER<ti<2+=xaAdN6{$<^FJZDo!>lF;x$b5#?8|Pj(r9
zhEMSx)-mfJLe<<n0OR;nnQVz3P0x6A1KdBIKC#yVu`jTH#+iX~(BNs3Py!=t;!338
z)4Qf?oz%qRx=0-(*T)pY%Ezj>Zx7slRYwC%o3W`jsl4f|C8r+J&9ay63iIS`JYpLc
zQQu!r_kORuakq*EL|>>9!nW{t39_*_8vM+mXb}r1aARrmY5Y5oNr%fme9St?oYNgA
zx|%jnsy28GFrt`d5(4u|hy-3djPg~a*tgZ^8@hOu8Q<@(i2#?G7#POw!+txdT-qh5
z$D(<*;~_VT;X4TPSH2}`N_B2T;rX&b5m+KYw)PhuRZ7Jf%}uJR2YV1}p7Z3h<acl^
zaq2#5Xy<wq9`+vDm8JK;t-*y|l~O4BnO}jI-TjtfRfBo*QQ%z!l6J4gLv@m#Kc3WO
zLHwWfvhc>=1{ZEsN+*Hmrd4U{Z+-z^{zwDxp&KWoftRMgy&2SN(-dSiv&g#Mgm7;K
zlj=(vD>>%;x@2m5Y<+^6v<c2PS!Pu5Q*D0v9Q>d~2+q7SOp8AxbZ^9Eg8KzXsdGld
zNmaQ#u1JSP;{u}-(ejgDcu6Fxmue!%8Wqn?sg$A#pt{5ayNIdT`o`pI!U(Qx?U}N%
z=<dIME<A``hX5<oBtpL08pK-q1q1i<<a_YN*Y5bcj;OmwxPE5cs_d%cGd)%H`<+Vz
zpy;oGM#okB3%*WmSSdZLTQjWmvFQpndPw#%Iq70!&0t&4>O$qva?6I%>4#s$g^4s)
zE`XPwC?Dt0*5B>9W$2=9+(@L&uz4&SKU)&#;Mr*^TaLI%f98ey@JnM}<+~k)EPz-9
zT!qix=fApiD%{XQpy&tgpi*^DJeG8ujw{_$PJ&UeD+Wm9)BuNuqFU+V@UTeN0Ti&r
z%yG`(a<HzSr6apGB|g^5q_-^Uk|;n|vR1rZ4wJd4@ZV~FIt2J!nK)EoJ&8aEQ$@JI
zP7Lw^N@MCQP!CP8PzsCuN6Y&ZBl=#Fp+zA@L)h)0NV=^)`Gl$pweLvyp()Qxz15xS
zL&cObR?O-4(nWT$N#jv#Glh?<{SdNyZV&>4O)kiwf>DvPyr2$|yrwHP$pfxm%R{Y-
z+d;7|gh~{N27oHy?B(OZtSvnXH5?r$v*Mt(L9SNIsQ~|`MR6kh01gpLIF^dQJ*A&}
zALx`GS0=MHJrN2&x-dMobmGBMElO#jw}OzBXn_~9k2Er!Mb*$s?x-D1rjd;>#<~FZ
z8*rq;q%58T0K%}Nu#wcL5;Y_nvGG89p}>76IV@^<(;t|!^mci*iHj<a4W@W%cu2`<
zd#7Cp-_p<Q|JrVv7iZD|)%)m(``DE5N+iY0#%cfjsk|6ei3%ZOE{81%ndgm{c26m)
z6nwH`0&P1_xWx*tiolbiLQOSSouq;F$I2REGerV9vyB3LxL+}7@(zmGBUfs%1`zaN
zOeUGUfrfZGYACQ)LL-DxVK_cz{*zjM`i6L6Dtjz`g%Fh4_|RH2H)%_9fb!@v0Zf#9
z5DEbWl@&t6!t9iC)DKb#B-A5(2Q&uZn9hA&ACyY*ovI_#9QTl(+h`1v!z%EWu5EVA
zfHuD^XfhfwC}Vn%<yrNtb)%EjBy0VqKEva!eeS2YxOtOk%>IQrDMY-A9sxxtk(<UW
zlUurMUm#gXd72BzSqw9RB|eOwu}M~@g}5g?b@HrO($Jr@t?U`8+mDU(+8saj1-*FA
z(KFI4!4U@q9Y4>hQ7G!9-5ktcto~7YV@SUbq0iCpY)}IX)NF+-WHf?aCvC|o0Gk$G
zjFv+}+U2n-WXu=eg;c~(hfP>@`BurTSd$qQI}^^Qd1sJjrK3(wN}`14D?fKhVOvmj
z?Z@>KpoMMri_<83Gu>vP+G_=*i;gWah-s-6NHhuI5nJS8^6Lh%(t^X_&!?Ttw$>Tz
z1hFa<OTP7E_f4Lj-<3GWmVa|-B_X{n`**cG;8W3bSXSK0Uki8NpFbF1sYru2OOa$%
z%KCavT_eLkz@0S@%Qe$ZBU<6~RHsJHx{A&sArH?%Wlln>6e8RQ0UFd2l)>Q=$^KST
zFJi>t9HRzY9GaS(9D;#kPNtcMru2H!WjysDTBkZgTfv<u%}Mwyix2;N^^Bx!CWzl`
z&0wewtJSc~T|7rnGpyYC*Wh!~UR9C$hw^CBPdpuBgX#DEbV!7nIyD)vyra4${5*rI
z?^hoAQZwJu$OysVN9v%1t(rzpx%Y}_VgHFRWsNOImrfbW0PeD!AR#Nz`Owp255}0C
zStbX0AhHZw%S}a>db(e^3!&w%6cM^sRiD#FaYUM0y@{Y$8VMX%>&QWRvSqdu2n^GZ
ze}cMPQI!r7Wv7q=S8H4b{||t{)rDj`Nd;*8L?55ls<sRCW46q_U@n^D#tda)&)&g%
z`Z?%efI6!LhKBEAt)b_6xciSX5$t+yWAN%*sU80x0abyZJ59IE8E|KHnR&m3T$iKs
zaef>S#h^q|hnM6g4lzLr)q*oKOWWUcZCLI(56)QmPJB&Xx)RNG*5Ws_=^)$gY)n^(
zx_Wi7p>!FmEP}!@8X&`-0%YshQotOW1ZG@Br2W`bfTo_+k5<cN2(YWtg_Xzp@NP>^
zbIr_xGL*!3%Q3$;w=(<N5e;21942q(PvR`OOMg$#=gS-|f&W%4r8YQ;oJMoO2cv30
zo_o`*EcylOm9lK?R`zded_O_HXI9x^AI^%%YOdGErlHg`^4dHzjKqMT2YmD&0X3qA
z(k;2Vl>q_TYLaYMgvD`<$Q(720F<38?~`rIOW@D&09Zma(yjM&#dE}({8YLyU#g!}
zJ{H6q;Va+%W0QjUP<m0Abf0Nh7c)KX@qbAcmqQmVh?4rA-q?s+Z1lB;4Atj=WMmNi
zU#`49StL@hSIDlLOv>Gr^q&Tu2t*DBPX+PAsjG-qIG>zZ5VNY`8?E2oxuyijsn_Ld
zZPy!v_`{Uzb0V;c3Ne^-h8%UppaN=sCHwg8t5$gRPEI&~1I4RJi_=%OtG_vrW7k2$
zyF`hMSaMF<i@BEn8#AR(XO2Y0L5Zr(vNXwC!j1&5diZko@a9ukgO#18``rCq++SUC
zw~imS-yaJak)I!qPJZ(bUu9W#rEi|Nyv&8v*7{zgjg5^R$ZpnD$mBQw9!8Xlavz=f
z<M|kK`*{Xk2lS$YQShmUw<E1rIetqK@mu^i)<oYxP9MuRM)51raW-<L1l2%(g<#cp
zVX`Uko8bE|B@E|Het^HISW>{D%~dT0d6|CB`>omAa;`8d;QwX2vjn~hzXvE<Qw2Lr
z+4ftFn4UU}ztui|&LYk_9HpDR%x-d9ZmPO(^5xArAq>gvd*^)YBdU~XibbaW<&@>i
zoBV#u|E3Hp7EnUy6d!+d9|k6F#oxeBsBK-nX<F?FjR!DKO!_Y>ZFRV$lczI>D-=aY
zsdo#1<!@X)SdVlTc{^$PV5hGagWD`qEE8TBY`q*=`LP%YVE=x)w7|*#a@ePSe&@9c
zd)nZdNvIzSG<B2dWy>O%K?`_w)$gK<x!#d+#g;@9uT?(#TRyko$WoI3>!Ed-HytYG
zI*Rmi`5Vx<G$UBgL{uuky?&mT-_`+HPSVVIjXCf!*bKDeCd9(J)|Y{ScXvI_SLcy^
zmC#G^XEv5Bg|xzt>dir?KcAlB<`dp@t(7iX8?^0|h{qhOrfhm5PjlEl3Huxyp=Wv;
z+A>4q!lX-ryVZ{!64^xpuQ4k=fprnfH`8&)f6y|~lBKTl{sNbHJv-shc;M0_=H2V*
zG$GBuMpiicXTQDY7<=HbOe3-9o)@I|#2Rfoiv{?<?~|}!v|H)eDN!LOMw<hIkN&rN
zUh^1hSb!9VaN>NqUdU>HA6|X#+lU2g`2Oq@{KA}3%&ZJu1a!`NSqB~%jk-E6Ak~Uk
z4rJ)bZh>fk)|T_Dm`)r_e&n0YAPerS)Ldl06+V85VCz+&nsvpqV7$$BEDRbHzhdgA
z(y;qp$AFSj=+dw%^;=S3rqfqT5obIO_hb^dyS@dmg0x|i!zziHWeG%pS{$sXUp{Dx
z_b(iJLl)Z{8o5ziPHHw2(h>GUQiJ}PBf32wlCnBY{Tb0d=04-D3p6C{cTQ`^HdWHm
zVB#p=`)`<-0WU>;oz1t(z<x=M#DDE;YaPRXkj%^C+(Ll^^xjyPu``9tM>%!tB)Hnk
zwIj!!bBgK_QXo~cf#?*6gF#!QYfwbywTxQ78Z+)p(}nI{L3I~>ix03&c&+{o`I@lG
zEZ8;^TfEagCew_ZWp+`+Hs2|ZgGB~q(U%F=wp%aasE;7nioo0cDC&AbR%%EkVMEXD
z@$M{8nsM0X$VV2NkJbzpZlMe%TNZnHUpNz1AGmmNTEF3^vo8z*hsr<hUfDk87Ye(+
zeMI=-JAc6O8=rA+uio*TRN$+7T~M@tnHkf+UQ5%G95iT3B*1ov-Ax2l5D|=s3D|rD
zD|4)6gcv3$B@vWS&AezI0R>v}?pCfvBpdG^?~EgZl}c8#G;q#f+_S{iiEjH|IwZiQ
z%hwt1P09!$F6IEM+o}v9NmSTYA@qP^?Cris&iNRWmwGSk`TpaL#PWlQAateyRF?TR
zlsZ#5i}^lmm2B75oN?oN`u=3gB%p)g!MTnGqi$<LPxQCKm~2jNcxl3nO*nMvbw5Ub
zW&tOk4t!KkLSI~yuco!h^tvID5mbeZtXO`ydVG;HomXJiiG&*8Q9=xcWjQ&X^MDqc
zJa4O9w54k*6P2u3vNHiE^x9)CxBjWm%f6z&(2!203YM^@^|Zr_V?Av$hJIybc%3$v
zgx~rjm8l7CB*G#mMO(<A`H4aq><}jYO?D$%;ip$Kd-!EkacvaUu5N)4HadrxMBHrT
zwo7Q<*GCO@3N{W>gDv_(Y4!uJdD?1`u7u!{(ab>@J|1D7Ty5I!&)lm3C}tVbj?)(e
zH6mWZX`i90I&`?zwMT&f5!o?SH2aBvOi`wxA?I%Yw(!X!*k|{TGUG-z=bYnv*gmVN
z_D6noK73J>$75|C7X0`6JAKnXI~Gxu3;;7YM#l-JAdH&CmF7Y22L9lWpe20GM|9WD
zvUtl!D1Fz`dAx0sS8m;Z9J?LElx1LB&g8Ck6#ScQMh$yWN}yo=Ij54w@8byf&*95R
z<V!=!{Or<NKHKAhWE~TC`I+VCXj*K8mv(+}p*GSJ4QH+cXuh*CKZ|0l@;+b`<1RAv
zAIX6os0LAZC75mv@3bW4?b<n6&fwG*{8VBIR`>SQEVp5#23Xu>|B2tF;?Skqn6c9Q
ze(l&|Q291*I_2dMCdsAqE$qDI;~lhxL`&l+jo>x!SobWE4)TR(H<&8fRu`+Xa8pc1
zYPf$8%vGF8Pc8qy2~FEQ9eS+uQh^drDyU$PZQRC2j**2A)^28wbA7vJE+X)ze?r|O
zgTT4huJJ>)rdoVhMB1KRVRoKLSkm)LD_N-NUsvsGAPb@HhpWF;3XTu6i>}NI5y3<q
z4SRGFW0j5YO$&5UvIypHr6a^>(`1bRC7{xaVR5^De6e2@xg!?-1~JoMn2s4g9$1>y
zyWlOl9bPnqaf-*azc#o`XQT7*Ac%1<`;kx@+gysZT%9!ig%Ew1LRyJZ3okreCvgeu
zYp0HvYlFTLCADsmOPrx3<T~Q2Ou8FLePb}Rc*Ry}iIKvIpM6&{oOg`UpeoGL+GwYm
z^xYqc;vp92;iW?LZP^Vs6)ZF}1ZIq_8F7CP1q(kVyt?2(nGE?8BpC6kz<8S#-SsD1
z9?*WqBIeF?RSF?Orjx+YG7<P*9ZKNnW3o)kY$V*y>qLhg>VwHXIZ$lYP%6V&)qa>Z
zJU!8Q#*Gku64LeMGesz|C9zzv9t~wyrD?j8kY<l<Q4svFrq3tODf&#se6aTt=uVmQ
zQ!I>h8j8PSVPOg&=X>!v^H{IC2!d=KET=_Y5aL>N<$c_EKJ%aCOn|Pwxh|;kJn=P*
zz+wh3B&q|G56{=OVa8D>H2{89$4rO4RXkXoyiADkKM~M=5e{H<A&N2Y=T_S2gSIzU
z=@Nc>ohk5tIiqWF_?z_(uB$`L3%ts4?tPJZb5k|y^YcBvtY`xVK7D%kx_(f^d>m%-
zt`P)TMDer?v`?(y;3=Gu>ts+J9x&;qM=Oif?n;N<wqh+4kh+Y$bY*v|8Vo)nBI>Yt
zYaVvBh-;ccX#2AS@k5Pb5{o%o$fWW-sX-n^TjEDOK}B6K?L#nNOJuZJpL%Yq8Z0fe
z3c75W&I9dSGW<kC3+2n=^O~Q%`qA-63;eiP&;0-9vgD*%GaL{8h!-^w_8Y=uX<{5<
zfKmfA8s&`4rv^HCh@c`1yDefOGnDUsAwi`f-%#Mh3siva;&8MKQJlY$2;*pV@cN>K
z&sgX-!x2%!-zH{&QLP>&?%(eDFu`r~3Kjhf_o4ML{IgQ&S|^<j?)Zf1>a^-P6sOhX
zr-0H}0$s#Ax{h#IUE@Z}ERk8QYr@<`pO94M>>l~4QDHClWU&(yw`QLcr=cdCe(5+Y
zta<h`B_<jO|2OolFZ>zdGgNRyf2dzb_w5neoJvC~sh;e>W763`SksfHiaKj(;EZhF
z_vAI5JsTDo66-)M(498SZYT~a=x+TZxl4j2nZ6AIbSDL&<gFn89V3#cI4eKcwdv5P
zM?#YYL3e)XBK_lbmmyaKv~?Ho5(miHi+*)*9?S-O@I^ykT4k0dMrMPgM@WKy9HC{E
z^b7w3t3zYvXi-+cPmoNZX_0=7KgvPu^S;@+n6k^FxI&%t(#O}DJ#w=`nvC8z=A8@C
zKj;Qo>Th0D(!MgVW~OYZky~A2Pr!FMtordNpbCi+lannq+@_tt1@Xg7!@I)_A>fXF
z9$dSBIX09O?6;ARL!QGx(g;gwS1s&Z(<#OUa|e$dkRSaO_z6Km5t3VV&Iq6r3<jvC
zQU&`(dH+_j976)#rCAs=)$YNNsKNpeC9~2?V|=$+@+f=CSgzqv8xf=3EIgv+Qv=K!
zBPW^c8}s&tJC;yNm42yy9uMp~XP!l-t@{E1CGPQA2nORu<D(&am{8t{Dk76s^G@G^
z={MiSti}AyoAf{2YRFBVwu}~<GhXS>q=`&eiM&zuNYtJrm7g+taVnJZfCH^W)d94-
z@oUAAZLM-#r!NA+{6<?3b30gX%b}$EBwWB2WnL(%UF97GP~zm@4lVNP*KS@x;(`U(
zLL86aa5<D(%>WBs#iTTEQUDa|LL41<nx@o8oQuYs&Pv#+$vL(2hoCFA|H@7T5fIA0
z)XEuc_XCnTWhI+Z&@7|T(op{nC}|vJ|NbC~Rv>{hM3h8@W4WDqE-;r)MdGkop-CL>
zQ~H^t>@(3m5$=-YY8btRu?i*rL^aVN3-Wrs+G$yqjD^(Vh)|#C>y@>&*ZUp#;16NW
zBIk#TEWK<7R2P@hrLN6R=qW96K>np~2`6<j(kb?%>u&b;=lvz)`!3NL5V3ctkk@ht
zjD^Mnd_SZ<M2NORtr%;GD`jtE8%_x=S;i5%BVX~ZLkX!Rv~v1Jutk}Ouu^+tbRXuk
zdWB0Vqf14IAf%03+-Q-<xW@ygu5Yb@rlGMZzn5Vp0CK7n6I{}`E1ZV~GoFFeu{cVm
zX{nv49nRrNby+!eG}X*Pkl+<VkQ`}?%!7tf7Umf7oql=2=qY5cAaHi`le(RTV+vq6
zuyCbg3gF``B>J}m<@**_1^3I6+LbE4bkN%@{#iYd?*H_9KBM|4u$2~kj!@7sL+!oO
z*LGVYCG=~j<TKz0=+>yA?$ag-R*}K?9RJTqg#W>a3)=N-!DaX`zsXumf4C8^0O-s5
zHxM?&8CI+76V>GhXx(90A+<RvBMvdsm>IaNo}`g{vhzB;n8R^Dw2J$&!hZx$mXOdo
zT~jwh8jqMe&HmsjE)Re`e>jbI!l$Eo59cB?<udNY$QZ`ag$hQw4c_)L?y*wWOYcHq
zrUo0d3d><%QkvO7aiPdc&E`U)2!7%ar^-X9xAs7q)p<bdtMrz(r1B1z5^A|JA}G%D
zHv!7cr-P}ccSEa+^r77U?$H$!LGKJ<g*Xm2=ZH824JfUHC)DtonOy}5CL0zl5Bkw^
zYv%u*SiF?%|GVk1=c)bLqRfN^sGT%n`0+95GJk^$N0Ly>M1zr3yLUuMw>dzMyAx}m
z{6G;8Szl2cXrNaaZupiBsR<7VGaD%`vQZg=U?aG<<FecRqmY?|3sDI%2^Y2dN03mg
zZZRc-yXLVDR!jA}v`gZ_M#If^q#-%_+w<Cg8v2c*=X!PZqR&~o@&AIq;(h7xAkV-%
z_2FeT^;4}SDaw&$I%~1Khp}<T)sp%9ht9NQ%yEP12+}WYTC32=p%OVl6p@4m8Z;~f
zf$d+NP`~rAQ;cO2sey(T0lztH4_p-5c|G6E!Q(AaXrNGPgbh95Aju?X$Urz6@SW!f
zih9L$rtZTd#MV*iAffZEawgQ>>ta*Y4M8_-aq4#IO=1fo^w<Oso+&$^BbDJr_h%m&
z@Xcp_%WJU*V1=$>XfIvVeZfU;AJ9WhIdMtVIRe7tFcrpzKYNrw*a%$99<uGvvA<M-
zhY4l6`+kN&jTIh-mZckDairyALzO^C@i-92?zv25u`>u<TOLU0l2o?F0(AfJgs5>5
z-no#(JLLuZ9bWY-xOBb9)*Zp$=B@E++AG{4ar?AfKM@nF5sge8SUJd$@NHeUD+0}w
zb<>2QzjdizAl>M1Ev<$-?|6+{*@`|LcpS|ERoT|}kW(kBF6vejfTeL+^C8q_StTLA
zYLAWZT)C*rHvnTNCMoIb@|ZgjxMCZr?Yw68lCik3v31b+8_&GHt6myyS1X+dYaYJs
zZtVbRo6?V&F19vh2oh%wzMdZT-W5X@mUTtrGLk={M4beE=1L*{+_l5h=}QziLaKIV
zf{ZY~{pG)>FC6}7`hxNU^sKEAeSn^XxF+w%|9~FYP78#shxyYyw(IGn3gf`XhkLOA
zxBIP>gl%Kk_3^)V;y}oFyS^U`W7Fzds!wrbkY)VcIBtg6SU$f{nuu$8%m)A}W{&(C
z0!5kRQKioba|TAvJ{J_pG9pz?XzHWqJ2n;+<?jsSSGoN9av3#k`Q9$jDX8KaV5Mzv
zTkvk{erA!p{a+Xeulj#uAkpgo4+c^O{{LbiP0yJOjPg+iv0QNJj|wnFycIYPY(pQ}
z=0t`sT2Sz_*NxjpJ0X5<mGb>;_=U~;4VDn)uIIGB<)&ac#oR5y`syd=KdZ*=Hg^IT
zj(zwH6-5CqJVopI2k@-}Nn?G!a!D<Z_3|48V6Bm0dh5Vj@EMK+{BD`-@iBk#9T6_t
zrfZmEOTKYwUmeVc{&Ev%)Gi>Hy^U+NLZAJ3HK1uMLY7co6k+xBHPioh(xUbZc*yq?
ziv5t5HmL9K02=l%x9YIk`~iMg(>c(PNePR`FnsUu6fJp%MX_n@YI6XUS4C3j1>*dv
z_x7P=Mg@F(*M<q!*sa*eR8p0V92LW0V?z0&L7O{u&<@`H{H^!JF5LRhLxY~}6ae$(
zQ`^WW17b=E4_9D$S`&71fZy2z+#0jQiGyuv*}p9P@x|GW8PHGmhRgv@jMq0=(|xCa
z+y6z8IM<Ohcs+PxaM|^J$nU-q(f<!bikkJid7iN^O!LK?3K>S%l78y(y9Q@q*EV^H
ziTOQmmGlYozy2lU`JvzTtI4<_v1tXUK~Hk|{y#Jcw%j8|<~bZ02H5czyL{pH<*Gl$
z>(644?Pkb)evdCa%Rk~We(y|*zQ@S<1hHCJjeVz2b8|qbiG$&r?UT*koFTQmuqaMT
zeCD*6d2r?*G2wvydGO8q_Dgk+i9k${nQH{_{~5#3Z$oRlBp%1cv?bF(=2oTXet+0v
zsQ4yU8@#X<KKLp*jLweo%(<@cbg8uQzIXm=>@>n8a$uZSpQbpgwn{6GUrzJbE#zi6
zoR)N3k1?z3Z9q@%F9uxrPIq=FYJE6zS0A>dtwssf`C+h0ak0XohVk2Bb2F)Z4FhEm
z;=`w_cGtV^_01~Q?;?+_3BN02=bSCdr=SvQtcas5+08EsI0YQ&npHCZnQ9XcL<ni$
z>1_LaGY_YR-E=vAc`bYUgO6XtUi8r~_-Mqd!(=&JMOUWETFPD7bYUWJBLXv+(Ei@2
zF)@IvzpUn5G$tdFq9Txb9^1Ry25PsW+#GCv<70OJKpZ(A>yfA(!lGu}Y`iXH+dwyo
z6=Yg3Sr96hu8hET$nAnw5rPum`C=Z_5q?7!93zoM_tF9f)ar1S=QX^xQ>HSmX*HOK
z!&Xm}w^`rcr;*U4$US%)|3{GV$q)O6R~d}udcbp4X2&BZ*UJ-vq<~O3-6|^mpMHHq
z+bBQ#0J_&}QB9@pBpq{;xmfWW2_REI)+Hv(G>H-r8a?+zkx2S@h5op3j90@G>SKh&
zE|+ou0u!Q4S!1ECy;a!w{N6n9X1K{lDADZrz7vRx@!9)hp70A+_J`Osm~Vk10RN5T
zMW&<sBu{{|JO)NVUux^;srA@bBACYjMuxBl=}Cs)ZE{OwB#b@1RceR#m3OdEcYLqa
zwESg+@v|VdT*sI~xeqqQctb`oMtu)`-m+R(2C+><keRh|!nL#sP&CJ%2OmD$su{Tj
z0oqduUfJS{3a%_BJ6RP`p%p=fzzWM(d4>BB8uC#fzGilL6Qos%a`8fV?LTXo-plu8
zuq^CXLsI^t&DP}i-2&BpDSO%JH=;ugV#<f2sDIX)SSVeV?sR;{@RL%e3yg+wY6wKB
zGW8*?C{O&35aj3+_zG|7chMTR!aYR>jmb!3*U&qjD^QH(k<8CYVGjaV*8tuB8qmZC
z!6#?c3VpN`xB<$zaw{m`#(BCSmCXcbxR%7YgH!FN^saE^kwNR3c}q;1{Irumc3n+D
zAQ=Z#QL}4_VU_?9Za51?t#$Kv=25h)n?$fjr#8WGp&l$f?b_bcz17!T21eI)#GD}&
zd!pVWzEMz)lFuM35+_(t@U87%GXiHEA>V+Jw-bWB)p0F4jI?`lYjBv`=e8Ri$e&wI
zK-}@Ocp{n-MN`Aaj&eJ~3KXsUkY9fR-}Tn<#qTRUe><2XlxUrf%)zYO9}&kQIvZ;1
z|4E_{#-vW9p5CG}_qn@~Z)sfi;HUBVN)2svTpX(a#N3jO_zlcOlH7S^yz+-4IorvV
zUqpGSVMR+ek-)lK_3~QO!~1vL{TH;fANw5RSU<>Ug(zaUw?_F{!^b9|K}7?M@Y)lx
z<C2wO>5iE&c$r7(wLjHtt*dt$(LEv*5lJ}Obp7I45-e+s<uOG|vo~)h`gB(>yg%*l
ztG4xZisUFBnqGnD*EGmWDO@AaX0;G<;1*~O3h6TGh4gpH*S2?lV~<o5)&I57;WGM!
zj+irOTr1sSj%E{sWHAQ7vqrVy?UKON7Y;!%g|GQN;={j6lJ;v4yLk(*;b4*qwFpOF
zcrS?G!eNW0l?YHoc#XAySDy2UQax(`CR)oQB^JnC=~4n_jG+H>l6<0u{Fwq-C6&gt
z&E!G}-$?js2$pG%{9Et!zlVP%bwb;sUDs0%I-fC9aAgtoOL;4kjC?t*E6j|WNo^Ph
zHfV)#@yWCM{?bj+%BJpGNMzaY^=%Nv7f*hP;{jxQ<T<>k9t=-GWRwmCPCvG5$(gZ5
z95<QJmQWH**BmI72&4UAfm$<^eJ<xCD}4mitaK@d9;V;)(Jt*5lhhAw3T(mx6y4^S
zAw?9)y3QD{WdYg)2cwDky?8gDu+svY0-j^)yeOtU53kq-Ox+7*$|JMUXe^Gjmd;`V
zL$j{1KzY^AKQX3^U0x$J5Q65%;_*Kl17L;C;(EZrNbI)B_(;_8Jw>|gB`)z-x=3j|
zq-~6eXdM<^nfxuJ;#l8dju;b$)sTB~W#JmfkCo#;j-KaW0Yc`7iw}^-1_n)};Sx&H
zHG4|c9WErb`#pP>qZnrzVMmoIwXwh6-?urvJ5Q|ST)9}?QbvBw4%x@NTYIhajk98;
zzX9u}@D_hhA6iXDW!w1vrtC4gnSjwrGeCqi4<QO#1D*S?LbZ03>|yC-|GpOb6UcqY
zm|?Wp-6^;cigrQWnn@!Z>D}^hV;o^`9a*xws)KMG>B~*l4eBwT^$++v`>@*sYXXKg
zk!|2CRTff3$Fq3HuQ2X?Q@*|G`ZVS5BMg=>ySN%2Yh$i)uKyFzc1Aet#dgVuuxS0x
z9WbE(xcU3<hLyl=UH935$;Hd~+T+-^T+>B9d_f@C>+DHlee?cNoy=2JpsAD1w5a;P
zrO8o9zO;6F{;ULMIPUkiTSY&yHO4JV4_zbced8F6j;GPG{<Fb3BC+bW=*4iLfjd~_
ze)8$)=xMm#I-#6rRYuiFkJ;bqVZJ2qO}}lPVQQ=Sai;do!Nud%?U5JvX1cDMN4P6t
zVP<K0d&NsZ-BB9wR05J1y2W|8nu$(7G@j|>KC8)Kt5*)_yO+34X}K-<-M_Z_+GmvW
z0$(7u(;NDFZFA`GICDMxy?rDB-~}$JwNoG|poTm^f06=v(Os{N!p*{qTGoLlB%Zs-
zUko&F_GVbWTL(P>2LqqEHmeouklMZ;RA(`xZxY~HarF6@=&+$L-PI#AyATpxcw5|-
z-e(JJ?GoU|=^s9PsiZ3q*b?AcH1i~yQ7U-r?k5M|*_@@YF--lzRNY$dcm@wYyyl1r
zKYpo0uHP>6DT+BOnd<*N@@=d0@6xyIii@5rX8b=u4Fu&|JFfbc?*jZ@PJd3S(!^j)
zkwd=d^maa)uX1;v#EqVM$a6TP*>H`Eihe^CT{3#1FN<^#d%Sp9qB<+(GOb?w-M|lW
zz?!`V=9LD|e~eZd+`o%{i=PCa%l4j2!j>H7nbd1lrEitA-0m(L@Lf8;-~M};H}(>*
zA+ryIkD*D3-E*wAzAez-?i1;K&R{e(%jKW(&xx)3=<1z{QHXT~^x-NkPDDC9annRY
z&@`Z@rsLj;-*@L3SHncGAm0zCdCeSewmLK>H3WZXPJ6=+4snkTw1B`GG(onPTPdr=
zdvG*bn>3W3nEA2Wy*h92adIFWbb*~ZkmG>UlNjF1`POu(*pLD@W6@q=>fhwZ)7AY1
z&p+?B{uc^}rGO4LcFi@YBjp^Py0-*&3je0tS@6_Im9SD^=QjWHR^VD~n7Ww^ZPBKj
zX7ACr&s+zU7LG7l38UaBYJ)EkU)lqtv+M)C!(<02yM$M1In}f~9e#>c=kkc9LP)IQ
zY;Zl76*c3VY2G2QlaI4rI4%*VP6qiD{F{5-k|iPBIuUDgZwke8bwfX}hpQedp~Oo;
z#A%i71I;>y|15-F<CCi8a<FG);7wREgNW1GpYVUPCcFDoJ05|7IUJc10}2aPh(lvV
zbJLn~Y0gKg^kIcqIftyRBS-xSPI1m6FS}!YDRkYO($)I3zIVI#O(I>wO4FanZ3=Di
zBhv*+jvvj8HOU6T;d|GLvr74jFzQTQ@Db&Aqp+Xwf*UJ0m+d?;k^UCWYhUdoW2G5V
zb`R+;{`79sDZK?_@#)?q$FfXR6sLZtgwkzYlg_R<Qj~&+EhC;A?d_<%O!?8kNsyk8
zjFC>*m{)P+7*VXoA%A#9?cqBc5}uze#R{KX_dCO?p5>eIE{sXfkTOFSv!g!yM8}Pl
zPm*1Q?g$JPGYXDTbEd=H^9$epz4QMn)95H*+JR=yFEE|>w39X@9Vlzbc14G@wD6G@
zQR`m?)g3SEQ+BK|qpdv`7ljO4X%`*=JkpVY)a_59<jEvO?LyH(aob1ZYl{GCMp?S>
z;KmaYWrAFJx$X$lGPTC0LH;znaX4(4-14+&ymm=q&xK12tn2dzazK%FWGY^YRAnQW
zfDB)UXt?-9mjsBS4%8J;s9uD@|CtF&yQd8S+SHpwku^VYx0u9`^v=H}{i;Sw&t!`5
zZxk7AnHjxYXySwGURU(^#GftpYN4mv6VR2v%dk@yXoxu@K!-rG{k-1j<ni;R<0A}t
z1QT25=cstPGq0vi1B^?h#0$BLwPeA|2W3)LSY>8WwwduVf))`gzS><fJ|0$<%|5&5
zJHH)#r-o?Ty?=K9TZ33UpU`MRkVUefjKmL*>iQ3uw%kCw1pEe*vz&mKA{=eOp$JK4
zz0PMM>P;`yTv+<AmQ<P{mkEGTt~I(GaZ2@iZz`6mYAOrO;$4(0O<Uc#epT@6&F2Rr
zNg%ccGMmS?cXPmVQ=QO#tLURcD|1HV7;*_LE2pEHH1-uB2~SO$c<`bd1y)a?Dw__D
zQKK%JgU3N@o?9gXd@GlfPl`}o<JImk)~HCh#J6lr>|k{A3mi7HB+UYA7Zrs@V~+>x
zFeQ~r;nuQsIb{xEG<9vPx&l*wd5lz(PpjyRDaO$zfZ5=xx4B`)uyuu3zldsyBZy^Z
zi*u<1B?bMihFPhSqML?rjueG#96=gCk_eM3r1?8i*mw9$ohWVJ=`?vd&4h4<qzZF;
z>*~LaSl1z-<a5rWyY&L+K0otT+>iCB%FVaBB+vJ-c0A7qju%!qfmH&_w$8_;;1sRa
z_@{fn8@c2@@ulsb2R3UahZBS$-69Z>dv9vvDW1Z!!4GA%R#&kj5@FfE*$8N&TKo{a
zCZN+1aoQjM>RR<Lmz)jk+R(UG^o(2&a77blUs~R!7Z+z$c(g@ZKw2qBP)no4i8QRc
zuf`de1bo2`SSx9E1IO1q@i%2q;M)_BMh7>dYax5HB@N%c(h{eYRRQJoKYl-QZ#^U;
zG-&Q~WhiMhtT!ocwyxyhM@YBDH0h{bLBKx?ws<z5&<F>X>Ny~}Oh(B<!Q&2*{xeMe
zX{h&Er~OwZXyxRBsg1~&Y+?Z*s2O4{SE6f*uwMIHPHY#w4h(RO4!3S)3g@??t7?3^
z-3TpsU4N}e=pzST-9FqeTXnhlWahF9{-T~o=Q%P23Rpuov8~~hY(dT2DY~$2B6``p
zg~aG$p->vuC>=7OjBkBmm?I8?r&9B{#mHa<wY!@JT)<PEAuT^Y9>!SjDQUqsrzB3C
zVCQ#AF4f&RgYiq8;Ng~JtY;zLV5f0*EIrN$DCmg3y4jL=!8P^n)GXzi!fG`NCup?o
z;mEVPNVSbu=DMKD<{s+uF1Zm&FZgJhEh41BQVV}%8f{#Li-ILripJ6Sm|M6YMuWIx
z>!X!sdW8Yi5P3a)q+VOLHM1&KV&l~33M1dY)3@vEV6b0z!1JXLW}w)5+Qi^N*laLC
z6}nxaTDSg=f_PhTJf4Ql9BLH*1HFJe)NnONgPnOzcEeZBmm0D0S-!ElT%OR`Rg65j
zhnvGSx1Sz4tV?>hc3xvcJXDfA9!Tz#ffQYc3t_cx@}(2k{5(`<RWiRUlo<i_P`gAS
z-BT3X;Mj2-uUGjB5l4+J!IDPldhv?98CG3Q!(bK3bN>zC7a<K+Dpwr!LYG}l5%1$!
z<9yLKr{n(He|3@T?*Rd=d>=tAPy!prxv5R6jlqA6MAtKx2N!og)LOMnF0vkCT@*oK
zvPL)Vwx!*nq14ZOR>Bt;_-GaxPungkEr5^>4zZBBZ4`Cipny+oo_lIkn5G%AQQKXC
za@Id=o~UF2eNsom&C=>>Z#QcIEsgf<QIG@r&te5CY6&`wqoSGde9nUt{G3wBboi}|
z?1<a!mZvp$%_Ev4hT-HH&iXMg<D3^Kh87c<FjETRF`9?n%_#-?os1L)w(uA<B&q7b
z`$n>M3XQ)Su_BR>%Sl3bWUzcoCamnr>!=|FzrDkg)xLc*?&j95S*Gurixs<q_yv}V
zII%68C&b@Pk~Xb}WMSYLRZu5$Zk*2+-fd9liPxvsYLNR~#}!@?@kkm_rB2sW7uoHD
zEMZdZfNoF1faxB`1^lCB-b)Exth66sfvjejtyAHNm>A}0H{%Zr(1--+Ki)!+SM|@y
z{!bRV!sBcBQyFOOO;xhQF$d}WF~7W6|1cmb;h7}_-1bGd+S)ZRGwAaMm|MR0YY*QF
z;<w-2{Lel$efcQ+Dn#TqNvH7eVP%7X@qzO>J&wb|;p?^9E#L78ehJR8z<}YutEq)Z
zRYd63*}3KvU<zu5Vb*hS*wYR%t_DEsnG4>@X84*gPJRupR15xrHL917$^rrE#zhey
zBP;RY@XU2@s|nI8$9L*|*p|l>Mvh@k_OtIG*Kk-sdyrm2Tr~3!m|Bwq^M(&kQqKWW
z%{(YC;*bbtED;SB<e4X#2Y<-V^#ZWSdeKMlH_rxpR@t)6(HPUIsEXU}{jycbR&f_Z
zCKUdR!XGMfZc>v?^mUKLFx4hwiBFqXXKC5)rgJVeJJ#ga&hKEMtqN?SMU30O3RzgK
z>RM^ADP)YfdIH9Vhjehov8XT$jKm#k6j-_Pqf1M!th$Y<Q5sE5;A{?MmzwG$;<UpS
z6G`^MWBi=4$^{T|ev^z_eBRQ3MATmDAkI-B9iSe|yl5HVr1|0g{0$T5u}G56N%p62
z@ACt_nvRB`FYg-jlryf_A6HMrYgCyfR{(OyTJmR8Dgt{+dr6pE26F=5Fm$lB;Yk@)
z-EJ?yDHfR%qzrH@@3g$+FltQMn%Oab$^IQ9OCl8T0OauDL1Rm;Xh(@zA;6s;2Z)KP
zq3!#JXEv08bA#mYpc5Ys5DpflR~`sDj>e;C!C86Gey%qG1eq`97sLXE4ZjB=VLcW*
z32B5c*9J+*?^?9{jk5BH#g=VAWBlPVU0BZNo2-+q3&!@Uf~0Gr_GT!PDC9*OQEYXc
zNvoPg=-T|(WvWmaH`U+qwU4oOt*8d69?CVQ=a_a?pCO0YUZ)1BkZ2f>v4=<0c`X_h
z-%tq-`K!Q!g@h)I^V(iAihT-eJ1K)s=5Y{Fjsuc;t{I9%DN(!j>{=G{tV_70Vl2*>
zip)Ov0A*fDDpYlTZmc*Wl6;cFFcX^WpSrYaYuwXL$-hCrb#Q?2+s(3=uula7=*Rj}
zz^+Z;ZHlGH&BFzoXMJB=ZPzPNo(idmUU}T#s^-~O)q=N6Fx#0^BqPQL-lze&zQv$#
zHp>Rp4h2o>g`CE0p@_&#Hntyc@i1Cv+aZHH1{<u(^$baXAuP4(ig|BIigb0oYqaNE
z_GB4BT>>lJWYz%RGRG`I;YAMhg+11RHG8$V<ZD_X63rk_%eOI>t<N9%@Q(m5K#=xy
zgh~z|uXh$CJ2qk{LxNmU$+vX)pU5%k$GbaSDubjjFG!VDiYl|}vJDy7Fk15Of=Li@
z|J{l8ZFYM0M5zAo>vac|t=D~f;}3MR*Ygs}o4c3}#cXp1f9EF61D<+5&m?3pI)6%V
zS4<j={Vl*F_e8yEh7@Q0#cB(e9Md((hj{C2X?(HoT@T+C1>QUB9~inFztMmlYZBh>
zUuQ*2<<%mqV~x2qmnzk$qJKexM&Q<igOR7h*)veY8g&E~8_~96CJxFt9Udc`U|4e*
zf_bT55i*T_(R7pwSK#$u)EfMG7;#JS$erO>W3(5V^whMtug?O6ee$r>bbOQUV}Fw#
z31#F(%hHP``{u{Rilg5%|1`YK53U;J7ENr)JKL0m5B)MLRp#LzN6Y!aHwzwX3j{l#
z%|7$cX1r3eMIVn|REY`9-upcrJk5h&oL)XTi#^{Hh8>iN{)|EK??V%Ln|DUV6$`kj
zbh*F{NZe1V<gk(~wyHX|vYyZJ<rttu_uuf7w^y6y)_OQEgd$SxTB#;T_k%(34~|kZ
zH%mz6bmtcCYXr6b+l|fW%>)YsmuwuT^&f?=cITg>?OsFN>XFL3;^chKUZJlb)IiLR
zwZ_iqtk3wucWN%<S>r9v#gg!Pz&wPGwd0UVIPD?S74*>mlnF^V&XK3wuU=G||A(%(
zimI#Y);00q!QI{6-QC^YHMlc@;BE_dcL?t88ayPyB@i@NfFQN<{j%%qQ+2VpfJS4=
zV2u7gZx@MLTO$D$<py0Md|f(^zbk;H0ZkqzSw}WOK~NKRJuq8mz9*crV7tG=19<5>
ze|z)&@wzVPb4p-|QUWGOww^`m6%*Vt(A*vO8m6PP7AS0C<LBbc8#ujsV5Voe?1#ch
z@e9Fsw5h6LYqyzt29cD+xE`H_Y~kFDb9zT%2OCytd{Y;8^w24E=18HEL2{Q?!h{lD
z0quH+g+L2WdY%*1kpf<}X7o{jLox0C(?9!4EQPaYbCnbUd_*xP*=yi6I0n{3qQYh<
z#lX}hgVvg6F&xE6ckeBYj7B9yexf>b+I+m<$anpJMQEF}>LEpb)f)kt7;tupz6bgq
z1{%z*iO@`z1k>{YVFBg)@sU4R8&OT7$#c3bFceUax`9FaMwBUqd8jWiq~H8X$=UTe
zqY<%P^2CJR5irFn=ut;W#?l{UGpf76qAOSHPPtQq@hcAcu9eGB$sVE?lv!gcar79$
zAYApxT-`;=Uj;h^BAP}quba7TCMD^;*~~OFefh-)B0@?Z^Pgu3aOKD_N3L(tpR%W9
zb397`(DGY;-YQJdD?Qo-y^<s!eEP{}<f|D^lDavB`6&?^Wt3>h3bRKxM}i2dmTq?c
z99A8nZr?1FPN{>zwrtTcHQ>Oy`4ef1%z-Z=R`^Ln-ozBPQY?G@{7(ZdBXI)+Rip1O
z;FlhuT2-E)_NoQ?#i#SWfT}}OhByjm+>-$Ww2Gi{(nG}b7&^$eeHK8CP!hLU-E04f
zt!lQ*j-5w4IPg^JJ1Q*ukN&jUu=90e^DmYBfiAL}cxT|7Ti2P2c|p`8%U&AY&Tm4_
zpw-Fs^}!R<ajY6a+?u(VYr&&*53$04BJ=k=bELvmJ}sPE=H2pSrvw=t0bAzssWdQ#
z{S$9zc+42CC%-z(Q6dWxC0e1w_;ER*et=lDfLJC%#%b$la7*fr?!ZXARV10o*IInK
zji-+NMQj>=FK|_Iu6b1|Y%$#fu!7cE=>IJvTfd=Kc~DaKtuydf8)z4l0FF+5m81PC
z{5Uz%@pjTVtsVN7QP)1T7miVzPyp<R?C=8e^sX@V5|vFKHSbh8<FVsYXvD9e#FPo4
z`OV^oaXQo%IU}9fkQuMhis;(r1QfyOUXD9|4o_x5GCUM5i-!h5Nzef8)6WFX$WN-V
z#cE~X5?o2WcqI_WA)SaNp748o&1lLkcyS3itmnG02ad?a8#Hho(qV!hCvY%tR(qXQ
z5lVg>V)kJ!UJWw3?2sqd{$#|ENguR%p(UXQ$TYI4w|6_k8+8o$HF>;Utl9o<7k#{2
z%k=3GdG_b|d}!|e^_6qYiCdY)l3nt~z3g5(OtOv*Vwj(-cJ4~nu`<DRRK&upv-sy@
zWY_YyGnVN=Ud0z>)3%TP^T4V1hluUFBm9Ua{57OJ%lJRv6?vNCb;2#PHY`4W4M%s2
z#$)NqGS3TRU;09i8lGB0KTNKsL|A)bHGYK$ekQ}@QV9@htL$Y<838w(k(FUlSPTi+
zE-alG6;;hadQwVe*GZw2lRULA7A{PfEUXIoh$I%4c8lpezR?jk5`Z?n@!#i>jPD3G
zyI`Ym_K7N`T@(rNWax+0X&{C>)lZY{X+aczkzdMoeFiqVJsKnTLDY)D6Rh`;wh6Us
zq?%}d!Ve^Vno!jt_5aa;M=|oqg3ZSyYJmweICb;7BV_ik-~Fl|<Y#H^-1*5IuC!%9
zuZu69(@B-!5W%SqNPtqp)+);}{!Mt}3;hd=>`T{p4zkQNy)3Hs*3CR98LFpcP1|s`
zvIldNjQilTzS7sK@YNGMo2?z22rj##v`ElTW0^ykPKjcgyhRy0_BLcp1dL+?3KYAM
zN%+<8_Nvj9@k5dyi#c?m?(gS0LhUT``-oo9^<npIwNyeF0qIlekf;Q1A-z^Jok<vj
zCOT{;cxD|EF3SD#eJd5KK-DVu(~q|64N2PrT`w021R}Z_^-9ErG}0)`B)qu;TMioG
z=rzmAbQ3*Xj6=M+3NUzRDCR=MYX5djT##j13(rGTKNKU<Yt3FCQKOu(irDJRXBuEb
zsmE$Z0+Ln7c?7jDu$6`q2Rnbnu$$yk$6<tswf3-T+3rRex4y%rsPn5gh=pTYlwl!x
zAgvLAcIabTS7SqFL7klvY@_qmTHu`!a%>bYq;ujQ^F-1DCjfCtS?u@x#QsE5J2-f_
zn;+R|Fe0I$jYn;ryj9brjMHl4rG|ujmkB_js&+J&9)Es@#r+V1HYk?U8KMbC;3Y=e
z87P@oM5LwvEmewk&p(g|Ey1|k-7{|wC7i&|$a;R};~A_PLSBHeg>1P(24f0MFJ=)Q
zd$*CW1(^BBs`4RaRj10>{3ShHYy8lu^~U(Ly2(*uA6f)!=lAA{+cC26kTG#xfy7TF
zq^$(_4nL5&|4?kHRbuNfY`DmK|5f$8avUch=8@m2Fo)OW8f4MDPm$u3*_u;{O{Izb
zkVfoIZizS1NZ71dV*x?VGUdz+p*J;@HdvZ&xcmx<jAJ{P{)UHzlU1!U)V@-XnTZ~`
zWAjy=VRUIySw=#v3=L|?*7S9N^xrc%0{265vW_mkbn5L+ebT_j)A{-YUeHJMwc)v3
z;os7O=7|Jme$A46dN<im2{?T^mBa-@H)!}S^yyRW?=jiww&X|-g(LY>ZQY#0*0t{k
zHF8QZDI~`fEX_Pd{AH|37(yxiib{y2OwI-P8^jL6E7@F`{|ctD4uI$?QM+aMZ^S+{
z$dTNIfv?NPA+yxk_4go)AfsUmrP<Uzj6qxBNUapg(+^sV9;-Fjsmc3(6EBB?r73S*
z8L#(N!LfHCyXweAK$1X(dro18Mxl9#Uuj+&#Q7sp&v2i{`k?Y6y6v-u*69}UW#^y8
z^im^#ubZDgKfLDvg#5DFW^ie@8|wPIx_@uFj9>5dWd43s3%XZbrmX{Q*P||As}8Dz
zOfLWHz@!zj9@#Dk+x>s}KEkU<Z{J>T_VZ6Kg<oDT*6u#G^PUN6x_$AQ;H(Y6fD%h{
zdPUhIrFy6H<K#~L7cxM&YI>S^AKa?md-$`dcYb^Tr_cN@N%7-)RCzXmvW!>pl7jJq
za7%wzSMaCPjZ*tNkHs|IHAGi}*IT>Ffwl8n`CK;VSI$~dLL=h=qy9OVJ`YA$l!Xh*
zyOz5<-urxz)+%4@xW88CqCZ05qwS&A|LM^H|1oI{Htv*P{hhCI17Ab_px!T(f?5tm
z7jP%`2t>cG$JPD-H?XOWXAL%*G6a7~Z2Jmye;aRoaOOAQ`|4V&;<=3x0B2|S6u`Xf
zxlPB+l}3JGq-=_XsZU#L<D{B<Nwc|N5&S6AXhKkTZj7n3!@`DjHR(|Mn*^{J@2-GE
zOdjvH`DO9N&^w$bc$)8SXfV6Fy;agyG{}FWH&OJ#?)hrVv*pi7+HdcRVD{j*qxY)8
zx{hI|KK3TZdrx*AP2In0J6L+}YLDy#8inMqD!Hu39^R52ot;qU^9^^l1{l-=Z_w;L
ze3+KTL)pDCT55!ruZbR_9aRD6?<<<LK|NeZ6Gs(8vJG+DWw*)av;)N30#*nfG)l6@
z5)Pr7i#hN^Utt?>i7S8U`m|rX^(o;$J(52P*p_&$P?zJ_p+}|f_k%JPeOlYWC*tYR
z%lUu^3Gj4^YDcW@?I6kgJ|&$)v$kyQw`<bnE44xvUM8I6y2CraZF9i?DQRNCW&09l
zIVGd`>)-)fbEIt+qMf(P^TNaXLYXNVWOy>TLy{V&zvhjSlfa;-)UUp|tM3j+UZ8ic
zSc9!Tms6goZeb}k7wBj`?^MTKw;A8w#!Km9Wcs*eI(huP-=e|_H^2E^MbX7XA~3zJ
zGm!dhoBQ8Cl;-~d2msT7CCKVhmgY8mb1`P(i39>5Ch`CFZ~A#Ye8d~Ubr|BF70}!f
zuvTAB=G%ufD7e7hFmM+B*-hOcDXYL~mc?P`m+--=2<(&V7eI`ZA2Dcam25GoMpM8d
z&g8nt!l{&bX~*ms9qXis1xb}VqD})%>`Q}W6J@!a!&6mEnT$$|X6bS`Ai2{T3h_3$
zDetEgmyF->7RQ;qcXLMep@`Uegrj=}itU`*S9tb=<;!a2r~ju#Q}KUUG$%M=@+f45
zmfQVRd_)>%c0C8=LANw3#oWjZduV`FNQj-EqmJx5YxSPS)iV;b9r3)}qijhi1Fsx1
z5golPqIi=5HoQL1XhJ4`d6|quP4;QMWC&Dl1@CV3la=p`_QEr1gW#x`(UScj9$N^B
z1{|teGIe&;Ur!$3IN5V#V2wXeN6y(cv}Tjj?ZnvWzT@?<);A*0vn$oB)c_c(XY^nc
z8dK!gKGOC;PZYk{JipHU&tcV?TFRatxE0^b+Kqi<!cmfei$##^Fmy=8h_8Eoov`Z6
zjUZ_g`Gui&R{pB-m2SyHv$c_!)v)<&DdKMKP8Tj0SKyX(NShpnDI<|a5C*jfksK`P
z3@)w7QM0`cX~F=Zz$AF=WA4v3F@!WNOe;{>HSlayn^`S#Ge=@0Liw3I6slgQRWOA=
z5e>%|sd|F3tHTxY$0KP4gX6g{K7UB)jmu>OXDk@u43E>xEjgceY`+Hn*(7Yq?*yAJ
z;AUMo%fywD>1G+xWZ@B1c{80IZmm@McH;1q&TN&$6{G++_R(l|2VGYr?mNa>Vu9$L
z?)RBBSSNcXeDGg>!hR0=7qahuPo8CVp0){3aB=~CP{-huqppt(`V11~Td&Dh5-4?V
zHX2Grqo&x##6Sb-jfD1&*lm?jcvyECk@qr9LK&>GO#h{a?IB|&CQ9-nmkylMdo`Yt
zsU*Pj+4hBK(DV62TI0mP0MCCRbhZly9rbi7|1a$zbs(Ax3a!uyI$Dqm7_z3J<Cpm^
z^ZqYs-@^%kAk#AL8?jczVlmb;t#uWsr5rfE10&wO?A<Ep;ax9AJLDaK4Zg@aL*fou
zbLHX=rj3_LHy6v&EXzo##CSj-4fJ^<i|Sp)42McVTolnA9t^R(j$e|OBPxu<wbdUG
zU)L~%?euP);n)~96y6Ze1Y;Y1qrZ%>Jn!zsKLq`M1N2tu<gz~qWxp%aA@q_q^Jt2B
zyFoheUvvyx?i239{;UjCf4BWzS`JpGdEv=`wwMlYcC)tr%{qrMwoJbDU%CzjS9jy8
z9^2O+{A<bV+#$hOH>U<9`~8NpT8DLA)0Xr+o7biTmXnz7`9grMeqTF^O_`@MqLmM)
zdG)+twdTc88s8c=VWlj4AKOj^zHV(Y;6mN4Mw<xIvdGmFE5u*6IH*6VtD{OP#}k-x
zgO%q@QR1h6x1<{}%E>VE1Ce{I)0|@^PXbn5CUk8<vX_&ATT5bL5IvlTY#XoIY>?QU
zt<+t@2yz;+R{kR+k>iO`+YgpfcPOKwNbDBUO&WK)Cwfo2wpjiWVk#6v^B?u4G@&BC
zr<;!Z1Hl5pe`bEw1GE20RRN?c^53f|V-;ZTt>d;KqRSFFgE9sDYa(=NJBPy9w`m?)
z%xl5CxN~lSa_$rbB#lwSa~j|0WZp9Fc}7y6qEVq;ks$QbsNnjC8)R&JzzRM&L#WR+
ze_fS*+k2YQ=H4uoODYO0pW{4r`zVEDKTZ#LH|wub@4>DJ-kTHAH~<>YRF8>dB!aKj
zu05AtR1F+)RLW3aWzgx(BoV4-Pxu>lKd!eBcY|RzA+cSi{W&beU|#Mr+pUZ}$Lxn%
zcOxw%Lv@6NNQ$T3Rq&F;NJd8{F#2anN*Eh#>unh6o7OJYs+{##DSXkBfOXJhD$aCv
z&;ccGmQw8^1GV77FGTE+Sd)bwp0*%P21QL!^oRHW^+aC|1~8}8o8t?0_BOfoC_q0H
z5v-v8+=)1`U<AHkIgCRtXH8~$@GVYKN1(S0Tm+ZrR}WvdQ0CzrDYP4JbiHmZU%HS~
z7KFpMW6bIgp3R8}!a;J<oyt3py1XafKjTuCz_A9F$B%Ztcj-C`buVF6dDm_c@3Q26
zoSRX12`|-9bUgyap1E3fcQt#rb<Qf%O$%F-_=ixKIwHcW<WbrsqF}XZSH#9oFQwy0
zqLF1B($!UULLr+&ELmyK@`3PG(ko4@t!Y>q*i^|IZAAZqS6H)MWY>1HQQs-4vTO<*
zZXggWkBYTPCShr2K{zTc|DmpLkLPP`r`&;1TQ}6clleG(UsN;hR=_C5?fGD>`QqNv
zlfb$4W@qI5n<>+r%pJ~Q`WHJeob>sJ$P$<ErbkUR%8Wg-@^~!wrAdY1r^q<~)A*mc
z+z$uf4wW<`SkL6hZcDOxfs%xJhnyb>cvsU%_7B1qdRn@dUm~$80&kkQo+qZA1i!>{
zx}(91!zy_PyR{Emdz5Qx*?y2$XJGm8?AB9U6vL$@!CnbDCvh286^`xCZ)2jD3QY-y
z9_hnSB#$-zVqhWFNLOMck=uoVtqXzvg+I;7BAHL}iq0JFG1!U=KxCfRP{3}X*ce-j
z(Q5Vj@y*t!Kl^+dtm%i3#p0BB5vKL)SMwZpf)?GfT80%Dk!oNY^W^e|Z3=8>*W6UN
z{PbSb6AOMia`p1z^(_|Pz?;6RQNTgSdpF>j8Pb&8Cf716#uuJw>|#y}PQ%Wfh=TE<
zgG6?$(3n#=Sjht6bm2Mpx$0mmE1E3d{mQfq;V={$E88kFl!CdRj7dkwra@{9yQEEx
z?mFS{??HpfK!DBq6(o9A`R?sxd~N$DxemA0^vFSFDYP@Y@FYyMdNn3}pd52?v}{3j
z8}*b#tvHPDQTVx7a|}!={SQs-3;}|s{{muQKKmnm7u_iji)o;<wJ-I2A1KFH{)(k5
z0RBISM%~8PwgCU<pP4Q!D?+GhiuRE*TFWmaBZK&x%+N9;s1&N>Y&awo3T;r@1G((T
z;pSKJ?6O%OmdHP9jk6Ju_@idS5I0ZSAY1N|b7T;%Q1h$C;)S8YN2(^fM!N&yslnp^
zLM&<DA_u+x<h~R9ed!Y9?fNIp)HTS@=X7L$Dkd^vd9s<`<M-CV7u``dp~jLy@!+f?
zm><|=HF5Ksng|zj8o;vdd6CJ<Ct{;rX+EX0i7Jn0Bb?n5ye17)G#~6X&Ug>=c&+f#
z8l#>`Jh(Bo4>{b!pghk{0RD*Pw4_C`ZBc;m&-mRy<dL`!8JfDARF=L9e$mJ*zH~RA
zZ?SIBIA{{Q@kez2Vi7l|5H=Ra-E+H#P1p8|@3p(W)>En5pW=ePiyfpFr1ci@T9A&#
zT9W*>iOF!5{P1ak{bQCAk6u5CuI|8M$vQzp{%R(#&RQfPp$(e=@FxxwH$pdZkM>dQ
z*l!5{*pqait-gp^i#PMzP-x%59N>8&)GHE#1|t}li_*KmqThgRhizKgm@;<+x*~<0
zE>kML)|7nIVQzU-6^B-ru65iC;q~ktgIi>Z`32j%sd>He4iR7PbANsGn@vLQzy>D6
zYylBvL^0?5oJ=a9i8Tj{^~v-bJsKF7&VnIE@fa&ZHJZVxmbhOK7m*Vx(8W&F7uXIh
zvWwY`smdR1G>H<ukPW&i*NG5IKk3QB95bWW|Ike>g_;=q@jF?H=H*{Q<Wmja5TCL=
zPA!;Cu+sRWR`#G`*b7VSb)k1kwn`i+3>M?DrA|BK0EK^d|16KFrZZ`q;vIE09JfY{
zhQgQsKXifVpxBqy!tymY{bCKB*{->Eutf3(*JyB80b-~74DB-Qzw`pS-X^Eg5RL}S
zE<zk)@sxOSfxqyg<a=u2>94=08gXbA(iA|kkU~h#Fyzr_X|;syx|f%H-8`N}_7^xu
zWIjgapEN}=dQh9WHZtFYjR_06fU|4&P{NAr^t;Qn&(eH7;_n{Vw2>hNWUVjbe4(j}
zbdXa2mFoF03=Ep>82hDBiFXB7W5Mqw^oz%<jeKa1wOv`{T``EJlLu!C=>qa?S6^a;
z=#9Z%@FH)r|Ap_?D|n-V$Bmxp-SA@93Pa+{l4p{W0h>r<6%gfAvR*P{*hj*<M87E(
z<m@2dLG6--PRZOk2R+ZNxekbo9}|kfX5`UmNF<3Vp{e>bK{$$N{#|uHTSqus@nFJJ
zpmMEBZ)hyk>QaQV40b*Pz0c+^(zJVWB)7m>kfAHlMB9Za`+OQHs`t;}jrZ@W9GwOQ
z;rECK2q^8T&@1>xlbg$g#t0|co17<5+nw>JLR$_kDP{81c=o<i9UU*&$^D!Hc5fpj
z=ecb8xP_PJY<%z|bCx+bSB<v~YITAfR~hK5cZIqm6C@&N;V^fA<0jTPg*GWPoMb*3
zaEBcEZm1Y)a79J*G)I+I|09m21cxLAL&6gFbbLAkOQK_X14Q~QN%<U!?r?XFJ4Lkn
zTvKVjadQf$cxblJ$?o*ghKdv_hb0L0SSkuly|R)<!0jow4zoHmtm&B>5w+eH5gHFe
z5*k$@S>$UrPUQeFWgsNN4f*Z9w&yp`pMBKP#}TK^eh|>}>GA03p=bYTcglygP|nu-
zLN*Q8seIe{zVWic#IGCj`@q(j^X8W?-6_C4&`<O;&6lL_?zII7{?PgR>Z;VoX2-9B
zv_56>8eI6KBswpKD*q1FhTL!)+hCSaL0=w5PE$5BDBcp7QbwH!^0M}r)usBHL$2P$
z(b72qu1LZ&IeqWbtorf%SCTgd8t<QzAn)K5<h~8kZ+*2dT8JiD?W!9I8su~V=b)jB
ziyfVf+Nd<G(`H;(C+fa$fPLGHDWi{{O9)NR+w>7*U%<z2e|x|hZ+Cth@D5vH{5V9o
zUjd=MA>0VKBKvp)JaVC`qAvG|qWQu0aJe0>&dPzJA}KFcj#sG{&gJ_~uP1HKm_k8=
zn2>*deb_g6`jK#u^?g4A(_J8-zq$p#-0$9VygXkxU%-3UHc8oT&{cEYs%@Kw^4>Q&
z`#9tTVmPKkr8`wg0(J#zoclc)*)Yf~8$|LBYI+PnII<6Zl4*4L-9G+19KZ7<f>`He
z7B|cH&5U-IviAHFc7HbA+rV9<Yy2he3@v4jB8uB0?Xny+eKUe`m$<!zQ$<iS<KuGr
zT^9|jDDlTa;UM3uwNldiZE&xQyW`UL!C&6yR(yqm-u9SXP$GN!=JMAsw|f6P-J983
z`dBsrZJ&ja)Hy>SprI<}9fBNq1c`7#)u`4MU-7c}e*A#$x3M;GA<@t{%y6Vy%^!JD
zl_f2}yewcG^w>*K4?9gZ3kMBT(6JBPVF*1ffBe`tPzLe=0F{kzUG74(9E69RsQeY-
z8l^b(Za*W5NCU6Whu#H5Z42WEy_z8K7tA>Vvg{3#@m&;X5!yq}1N^~H_s6@u>LIL|
zqPwtBE-&AIS!3<k0>Jh2exC-E5F;-I;s<6;0Y>UY?;)aoLa4yo3sM==KoaJw!{$L8
zh~bT|r7D?A5uI;4$Ghv)FuvY6;#fNdfo7G$+z(lX=baFuUrGC3w4W|}l1hpDwJeYU
zBJr%W$-46R(aU}T|6A$SkxYe<V(J1roJ#kY&mzF}#^P3Hsp&;#@-CAdX~aWV9UF9x
zAV@?tZ(jK6b*II2E_3HL`OTBB#k2xrj*DZI<!bRrrrS|Jg#g=W??uuRmJl_c{EmMM
zyMkvT>)JpnY^GJg>+`rPE-l7#q=!CG+xclc%t^gJBb~LZx;;Ls4z089T3g({i_T^y
zhg~t`bCn2d6SiV?3AoE|JybORf+lWT+OV$oTLK=m@y9FbWz*7xP9<n3%5YYLer|Zu
zAr1LnI#LnTp5<X&{>wIaQZ6z1B*}L4=wV#uZU2ZQf#Tjq_9RY&eir!cKucMGKT3x8
z+m{FgapX+q)Ud%{NeVSuBOA|%%4!8cxh&{&&3J{twP(My!uv<-k?a=^`;B5MoKLX!
z#O&9ro^kS6HazMnGPSZrWAQ@`%^D#w9K*2K>s@M;{4U(A%V9!r5H>!nZr@hmxA0J1
zTvazl5Sf1obO^;t^yyVqyCaqWMPX(2M30uE=Mtldkd{r*chtQy!{y7@aQL)gaI2{a
z*EstQj5CB+Ssqn_gcAw(^)|fo5|hzMkn!aQ%<hxchY0~SU2XaKJW_vjT6)bF+8|k`
z4O?BkCJ93d7Mqx#E#m9?m|*wdBu%$##w+ym|6CG@JZ@`7Rt~St8yckmB-e!~w)am|
zcBm4_t-_?Oc%F{W>5&@6A<pgBusJ(;o{WsJ;bIeXEV~cN5d$n@To*>ya^F?`PrrL`
zO#7q7>?1dP>USCWp1>P0QVagzE~H#pyCS4iDVkb9d|E>wAWIB&vcW_MrE^{VW@C@C
zDsI>%?H30*x{9D$gLMT|^%EQ}_Inv@6@lxy<5@4tdO?PN@Dc8p?i2W}uo7Rv_i{H$
zcqpZr)lIqBFa1a7#g~EpzJ&P93z;kf1SQcWUD2aM`<{&DD>WmyiXGYZeo`vR!Z`)X
zLY%}E`GVV+9S!|E1i{CE{0ykUJgr1*L{#($tG#;b0@)BOv{*oiC#h;oh{X}o_5wfP
z2NxILFBi=Ex>fkxp*Fn9TAwc+8HjsH6AgHiguHEGBx7PGie9i5HT-V*s~|a;RYun=
zdibiC(f!nG9B9A8g9L{0@~H}V^{tYiT9d6Nua)ch#LAT8h7Eu+heAQXkc;nYM-D&b
zaCB5>%f3DM)_`fk>oB*^S4)HD5@^tV<>et3#X;9VX?c-Et;g-!pM}@Qq21TYsJEB3
zz#DMM6;dQ;fE5R+q$ATHMF%<DHNoX8y$n@(`(iA*9f>7bV=I>LN93poC+o9#?_sOo
zD9K@KFxTUi*VX_Q#-86jDs^rm<1dFoD?W#qNC$(09)R=v1cb>7NX=OO<{MM-r&f#f
z4ub;}GDo^(mg#Tq;Jfmru6)JNo7YoPi@vYN@!OX|qx7>4T9Es&em0;U-=v!l>ag2(
zIErlwO>UWga$W3S6)KRhrh;o<yvCt{VGq$YK!iw%*4xsrO?!8>)`g*pQF~AlJIfxj
z{t##<1`t{IZ(Nub`Nc!_HfxB%EDv8}Ac1bk);-S}Y;yT;)D^aP+TyF9(?2X)^wzgN
zu*2uK)3xoMV-B<>?)MNH{^nUiIkiZxU6Y5QQQ*wkB1g0<(<GqEPDX<-V@N3^pyq^|
zX8<X^L-|FceMXnPXu~7N@kw?Zb9;V6g{qdd1+Zc`hbO1j;g!zCceW`{MTj2J7{&iA
zF%{3#VsnuSQPky1>(^R$HH1-uI}%%NokVXR0a{EmqRWzfdnAo|`;|0uSr9J*xGKn;
z1}EcIYL`I~KW8EZ4Q%A{tUbZMwfrQJ!TmPo$MzyYx=ZvVDts^?;8#Zfk;A;7t_2FA
z87RWjK?b*`z*CU^Veq!?Kf*h1I!BPkSCQksc?Qd`i6N*<VIc(wQ$V6aVwKFa_RKWH
zxqTS`c@78G^68FSd<hojkb$wqTAFFKTy5syF~P~L(m)<C{r+%N1R48Hk;*RR(P>Uj
zA--b8$Gfl<PijDHx70}gN6D4+j1T0nERa<ZTVe@E4lWqF8f%*O4}Xss6|d-u8v));
z{UhG9IpF=6+p1$Q=%1kp^f*KjXDy~U*<=w8C6t_TWEY?PFxh+Ik`l?fE&On^ep9dJ
zKM4rrZQyFI88NB^32=;O=^EZb8}2qaJv4}f(r}LVu8ppsGxyrv(+N0pWVXfX0#Pqp
zE^phs7JgsixP(9J&9h+Bchuz>E0#HR<fV_%ANz+RtDnU5D2+2+lh%`OLr^VcW5j7#
z%rYWw#|}@Z6P$Ns($`ZN^sgcJ3@gA|2}mam<1z)NJQ~McL0%S<Q$-S&9M+mXM8n7x
zE6x7BYhAxtB(>vmthp^SRwa1AV%9MQD?FQwicVwP)5kLV&j7KoU*OeF;{s`*=r&F{
zxGBi)EJ^mQ4Z^Bc6ILPKqr)7QH2Qg!5ya0!wmkOhwt|?Ci*j;)*~qqClj{pUPa~O)
zpsQtzGe_anNLXr&A&kTKED2@C8=WbuhOlm9>k%>dw|Nx%l<$Zl8iRKM%M3gH8a=c4
zVCh}MRnYzty@ZBzBKWK_-ISj|qf4-Wu%O?KBf2sOPvU?Sj*D|CIqZSomDC}#*el3d
zysp=LIGQF*5kq@td0UI5fo2z$mzwdAC_8{E`ueo<x_$HwOdw3z@-`^bjHs>j{CmVE
zSa_b=JZ`>D&GG!{Ggk*PQj^wsd3cdhxfKJGD-j7(c$Su$K0iGnS|X7xR^zNM>uy*k
zl9E`xF*j0iAMc!>dmc`7mol9~Cqm7U4^~el3@StEihs5UsuDkmf#qg#9bl@e_n7XG
zp}t9^?p*2UuRs4VM=`$6cjXaEw|Iy0tlpy&8mG6AFUd08hSLeyXreiKVsmHeH9t`-
zf`1kkCs%5eP;OD`T@QtuxrT3CTB|OI(mviljEBdPWBjX30zu^A{P(-U;2xP^cwZLS
zrU_e1@7rESR@^v+KA3Rs0DR3N>6nd0M|1>>6pl5Mia~e&EtWOdZZ-aWRQ3q7paZKH
zcbrow<JM&I1UX>O-g^xxUY`S(J`hp8-f1>fU*o~T=9VD*J=#S`BKB_SVGqRaz8nLS
z+t*C>hp-6NqjwFqUm`FVBKI9S?H+&Pid103mFynEfnSW%Ft6!WI9uHblR_5S=<Kny
z23j|hGDA|fbE}+|U08werr^T^X{cA|(g<j-C0~v$A_M@DCtjbQgMP?WvdGCTkQ7dD
zIX|(J?T63Yxe^EsNYi{mE6ECihmU~!q9m$npoE-MMBn39F?QnGjFY6QEVuA4;bKYT
z_R411;d;33;?&>8|9ZhEOZIqin0EEyKf<NlpkQ8<!@7IpTX#y8;Vb{!qx&!~cQbGv
zq>fxp^QLtFZkOoKGj?Xr-Qw2rkN5Yn9V{M&uCi~>2OG;#?_7m*$RBA-3WyR}yPEkE
z9YSCV@Yj5FJb8K=Mr8OwZ7?^linYeC23<2Aaoig(x;&;Qn}pw0wrON9pT;*|+c3*a
z@R7IhcwwWbFZ_ZmJ6ry=h=a#YxU~R2&nLHvoL_o_93A)m{E9iFHT;<A>B`8B{8+hu
zt$K9}sS0y8F_PeTQplSM?tFl&GW>hvMmc{@qSIE@7QLgTav5LoK_BP&+X}w%c}EOw
zT6Rk>?Km-8zJ;3w1+5b+&Agk%G|LcuraZgq%`&gQS5F6bKke*bA7(+xe#$DqLuh%_
z&7h}87Q@)fW^Lk^>3oFE@r5XNbKiB|N4r5uZx*9r^5C%2a@grccz<_>htqx?_yW9v
z<LlBSkq7fP-WhKF-qZS_4;>v{H&2_nKBn6n=f(rCPfY+fJ0nt11)6#!6eGEFPMKyQ
zU1O&mlav|vV8KSRc9f!@><<9Z>5%09I-v~1z4Ptlc*Mhf=4iO}XIL9V9-73U0gjtO
z!b%|t(b)_2C%mYEw{{qV+6E0Iu{d!?Vr=r3ytPuVtErB6q-VszzpZW`1E@b6uv-d2
zFkQqzX!OAAlo+UPlL$Xoq_9C&r@IS;584SUExf)SJWd3Zn;F=%8$<&<=B}`)22or7
zS&3UOBgb(Igw@I`j3{?})cyN1m#-hK;548rurnuM2Bpw4lsc1PIZ#6EzkAQ)QL3;R
zxFqU9^~nAy?HEva3;OLwiH-7DR*BL>1+Rm&HuNt+0sfvH4L+iRvlIAF7Y2H_{ysd;
z{6n2Qoi*%GY=H%cx!O%)6y68mCH0Fwoax@Ufdg$-)%cs0Z>k*POY*hm3Q3vdoh<rY
zR9RoF%nrgjj7!nDnJSQHj=fjCvLTwrp>Q?)dO$@^T+PQAGU50kNRYP|MN7wD6;?3C
z(`#JWobdSOm?VeTDH8{u9=0Qk-LE$4JQK#Mv<&GHAa;SiPvm~!PRCz8Vfkh0uJ4qS
z4b6vY8fKwjekB&qqduV!>mu_k?Nu>?5rk6~nh;&(-JTl4X^r+t?%0hBe0?gJcAAUA
z)&6@~(%18-m)|#NCOOaPurURHMS~T19L>}2ENTui9vU@v3sTsIv$<Op&I-AfY11c(
zx!T_2Hh=;RFDTn4c7{PW<CeEv#wS*sKB@BuUBK7W1g;hi9!?B~C1a76MJf~xWJ|gp
z!DH?govOXhBTS0|CCxAltEpTtYL?6~nt3uOh{cGIKGk_qs7gZo5jj;COS9mMPyP|o
z^`voE+7PbCW{-I}u>0w-si7vXjC@USMwwg<3W(uVu>#L>G4;#x^y@~uxR$?K#N8%(
zzNj5}<LoopomWuY$yh5f1$dsm>Eb>>uzq_q0QV9qobxX^5rgtZL~18X{){7m=$OcF
zprzT{*G>v*dIoWtrbELLI|<+1rIoZ*As%iCoGLYXNF<SSY;c^aFl^`c?XH49aX+Gg
zq2>;&GL~!y3fFh7O^9hv8F}1FMLF4Q5}(?qhvqAOad{F7*fQ<Ya7cmQ03G?YjyF$f
zcOGo5NSA^;JbHZh5|y!dJkrM=K_ADe2C>Vm>FI6hEtixwTs{9v#1l3>-`L`*9Mt35
z$#3<c9fU8h12UvRY^M3(-kw7%E&B7om(Jm_7$`LPI!L6*t9CTI?}85KC<q04o@@B%
z1+O%iyZf4_=(}QGjXCQIMlNM}jB2&v5W_<9m9ommwf0`7IZI!Tw;$!zb7?QuVGZI8
zotreI4Q9}+w2n4--yg|2CKx(U)JIScL*<5*#!*SCbkFv77#0z9qaq?Wq0m<W{L%!P
zbpl04b7gI8y7HIR65_fNWo|j1V!8z2ehq`n5wL|>6phJ~YZ9_ZJkX$;%AZ(><JO-f
zNIw?1C8+$!QP*`?#XjgYyNZY1Uo$M(w*%B$Gq}RwF(e$hg9{9~>&KeVh*HAZqQWhA
zX?Wo68)0no)><Z#a6v-g>0#W!NVSUi&L~6Sk;0@Effz26yggE_R4Zs@KRNlAylp<H
zsM^&XVOn*y##y^XVU~g=hOU9kTFRUfvGgJ0Znd?YxmHcE!?mw{aiB%h!l)|mTs)f5
z)`+~4Q~?5(PKA$P>BW)Tdy3hFO4&*ouW9Spf?SmbJFKE9NsBSmzQPAUivAqm9Oeqa
zl@S)pHAteK9iz}zhafu@;%GF~GdOG(xqAy07OfD3GfRuw!Ul^J3F2Af9Y=B?VpwI}
zqs)WUy;TO46Ff#w!=50zt*A@I(Hr0eSZfiTv&!j`;ZXcaK-z$u#bb5G4P;Y;N}E2x
z58-1A!EH|D^Ui}8%J%|1i;Ln7g;`)q+0=P@0<h(XgWrzrF3sn^6FvXh9ilxgb}o|s
zYSv*EqZnXE7#f0L&=TO5id_}4%IZE6Gg1_XNluravSaj>X8qksm-)s~C9WfDrgkfr
z<Rn#WZnQJPz8-(RBwATwQS#iF0l$TIaxZiW-w&7ig{|T#C*@F}2*tX@)`0YVc@Y;?
zRjiv-IS&b<!dO$WeLQ$B7@l!xD!UTyDqTXAQmMv^1fdmu7&-O;CBxk>H95*5w^lRo
zKZQachg2jJIALbA^;+6KgyzQA=$Mg-YNEe0us8uDu=V%t<Hx>5LD!`FS9a5MaNp0N
z4>n0ko^<ZX0a3U>Sz=ox^d1}(7Jm_0OL*B8OO=Uyaicpb{GgPDiiZ+QdVz75%I_wi
zmN&3;bVr?^Rto)2<w-)u#b^8$k&j&Jgx|+em{uwpYC3gZK}+(6nXN<uN4Hu^3#VA)
zS8PMsZwM5IaZ>f_Bus^OfywnE2~{wq8jnJ{>So#p;RHND16?WkG(k)imyB)*4%MLm
zL4tywuJ%Al+y`X)Pf+4fR1Y&g?_Zzq0?EP4RW*w9kHym6#5_U-Zs)7B`Nyn-0*SS=
z2qUnnXElGQsmzBTLEN2Bl-2!5R{RirG3Wdp37tV<uZLjJMEt<z@5+~Fm!w(OGQB)&
zA@p7D5U_I7*Y{Dgr}2`k$6bp}ercd!XgdK{r;-f`o~CiP48l_;i=%u*w3jiic5eNx
zrchG?3x?2YOufZr8=g{nx~omRc`!MD=2d89eglI3*AG|wjqfksocrni4!!#;9k^B`
z9I0^U3JhDs2}WbnE@BsMmq23q4ZX>&8pyztlkEg5Cf{5C;_TA`3}lh==iuggsUHSm
zb1wW&3_d@|R^elliGS>^RQ4M|g`iE)$<${`mG8CbNx7*S8IiBk8AHa}PwRhuLkF2@
z)f6T}Ss*9k)Twt5V{74*+6@tuGZK;4b=kMS$63<`rSWp%hk$tV%YS-YAMFg87K#E7
z!T)omXKE+em}ZcL-*V0flfpB|oXgVoC>65?rl$zWqAdx+ooK!)sJXaS!iamcxWe0f
zg;>@fZ&}>nO(tYTIIEL(JhniagbZa9_^Mc<!5&)L37tOr#jDga!q1+#m|fGEUW<WM
zYbHjU#!!(|-9ElS%wE$6V8tnL07HFSqLi^YD1ykpFW*#2){g=GqOMK!-+})88DRw9
zuehH)?KVDMA>?W`8!;}}vG4Ozvri&3`gE%e&Oo-;Xo;WT@|j^$)5MkM4tDkQX{2mN
z{88o)idB4v^p!GQu^3=5?S+!kM^dY_6k#B%$~@a!!2RDVbaICikw{ugKS-4~Ofh>b
zVP>!LCsc9C>h@Zb6zQ=xs&|JqrF<T=NxC;T*5*earAJru%Di8QDH>ENxcy*#<3tM;
z{V9qe{5=mcf`50yk`%29kmj}btNM%^5ecq$@N*p6m#R>TZ#S<>am(9Q%p`?5ixfl1
z0@=S5;taw8qGhN36HaCopruF}9@N2Nx17M;7L6S-Z%YWF(mIJ@uT#}zd;g4s9mVI9
zr)uCCuD(kPGXJx>8Ib$(Nw37R+DPR~<><q*YoVwwhh)e?Gy^O_tVK3$e3vxekMwD;
zpTDZR8l!Jsx4MHE-@Gkv=H{x`7y1JpN9#iOd4>7`GnD+B=QvYQ;B-Ld_cs4COIazI
z_S#TUNv*YjLq;S$EHVm1zhU>7<qe1^QSis~QC2HdOuc*~BQkdj{PF*CDtOvmobH$Z
zoIO+cm7gV@Z><K$9wRM()bcK!d%eS43fORLME3T1*D-A(oOkdov(MKOU_9CUk94?E
zw`=~>=+wW|!`qqvw|V|uLeGmMty~`mUN5@~A{uD(=4t$c?Qh$USP!@RHkaT|aG5qu
zet*{1Mt|>PZm71yv7T({IH+B#HXau4oIn@Ae@TiWTwfA(rJ6V(VYS+$p_(dm{mBHg
z$9KW*WiV}t$?gSYl<M2U^7C+O+T!P~66HRk&Ey?&79x`mstQ^>zb=cHVM^!c_*0%t
zUrwsA=y0k2`X3F^WIX))7M#U7@t$1}S-w>frg=w8>>Wbuo+sv1x$>6O52b)YU7E;9
zjIG0i!xq_$|7A+hac(O70%SViMmD#O=1+ZGw}OId0oxyWikbd{>y7u`e|X_W0+52f
zp*>Pb*uBSHRW@h|tjO4_^K8&Wtk%#QDhe81qm2M9glD)?fs+62O<;&l#7Bc{?#TJ5
zBNb|ko|5Y)>~AaIy$b;3&t`Wo7dFuSSqx614Vd+2F{k;W0R<2$W?^8!)sP8?0GMMn
z!su0(YJRdo--R_e@b#2xDd-pWe^5rq(pYFQ$U;MlhQz>NbNsK0pf*#egjyYziXKnz
zfl63W{*Q>58Pw|f79|83Zlge$u=Vn8s<k|Y4ZX3>I{2LHsyzH;@%8w;aS7NC0=~;N
zRYhhTJN+a9_dW~qx;>7=U@I@vXk&vs#gi64$*+$(c}!bKyzeJ^aUX!uz+cq;B;z*0
zg=%pBE!cK%5ex!e97I%3$lp#r*bFE+K**-keJV0MonALh**CyDoG_q8ByBx#mnP4_
z-<b*Xi+~^{h(c6p;JYaKnM$uy4piZIb4tPJ&7E@Aq9|5;q0{6umu7Gvr(3a*gRfZt
zobc!vSC#cr{0-ny&C#G7By~7iG4k9IJQ+EZ<IeFurXrzhY*mA*(ivsDDL%ELVOOwO
z5Jh3p#Z}cg&i9~Um!-dBsFHJPHESz|f~C-b1yLqctwbVX>u6%Mipoe?1IC`8CA9cP
zb$%6fBj84Xx4-)72_}+{^j-z9=R|8N2*J<0$0GwTO>e;@!HO;U%@7MWss;0zXJD)&
znztdI=KT#pobC*sS+dppzU(~(vnD8X1fIbm4sIUOQlG|weA5YU>;WdN2IQ^Z_dRE+
z|DX_`mD}x4+t+ZD>WBwzU|D3g(@IbB?vRvwR%2j;(4=pJuzykx(~s1J?IUs-m&`59
zNA>EQ-{hY?BG(3>$`4yAV*N-<V8&Ox*MB%27~!zbLDaJ^lQ+AOSNXaoB=)Mds13!_
zs)#uAjC|%Z2LGmbs)9>Pn`z2#eXiVOJPJyrps}iVvB#c?=u5gpfLcUL^+kEwPGHQp
zbhPbiuhcHPa>c(G@wB?)a0^3PU8kfGiAeJr4(rQGx>RDdgk@}(&FD%8S7~sfy`I)v
zOhCQ%dgV#kD#??M>%(|pExWEsjZI~A$LLH^_eH%;<ytfsrPq`#CIUATp5>O$+L#Mn
zu?>-D`uNGQMwJ$zTqPb2LqV~WH&d+9R_YKUTd>mcnY;u8qv}(tgH>q*7ZUaXN)r=}
z26KeMYB+(qhGSGtJ`XYYFvWDhGOXu1b$YP6J?wc0h}aH!{Re;2eARHmsV}xeDum@P
z-ddWp)z0UH{REzhxhenBD{%H(!4*RDF_p))oEq3P1~=AzWd*U?Nk-D63iNo^WD6l{
zL)=I?QZUREX>h-nES82j#d?ZX;A6lR)D!z<<r0&WKbuvzh^$2y8vd<LB47nHUKB<y
zg%@o%lp#@mJxXH-<}Di@nSX^|6l6@#PxM|TKcrL8&OdCEsPj$n=@J~59MHz^DgjnK
z_nsjMyApQxA5f$`JCKn0Rr$s86A})cX8(bixq24S@Q!@%zvh9lCRfjBvYXUV0HHJ~
zGajf0AAdgo<Mc!`y<)KjHzjm58%fA~2A;#Q2Inc6CP&E<omLZ1mj3z%yuPF&vbh5u
zq3SdRgL#$K+@#nc-5rz7ILs}8%_$*2({qY%9Y4D}VM_X4)Rwg7-^fyPg!UGPsYYN8
z2Rt?>1a^)fCSEC`fI}8aP*ajXgR|}S-WxpC=JPY2RbR1~_ZqjOdoZ%j__Q9BJHHmg
zLQ;yFZ*j?bFBXG#3;QIbdDEp!q9^ADo?LMWx634kI>IM2DsgFGC|aRKZLz?zRDclA
zk%lmBF++>n@So%Y9ykmbGCeJ(iaw0zvy-i%i8uJ!B>DHcJPY0wDT#<-8l>L!`QRdq
z@WV!Ryt0JV=UFajybGAgpUL^{e8yjVn#b^|0WhN*Y=8NA(Kq+n2@Pg+oYm-_*PHa*
zsf*O20$pbIfEaDDz{BmgAMXp4LOpG}WzsmQ@TpoVO)u6;JKp%7?tuBhxA<;4*xn;@
zYdXZ2*X4L%8DrQ9(i$G`W>+=1hMJe09S8}*sKoB2G01zRas2h5wYK-Ej5ccDq`TQq
zLZrB^#$b_Qjsm&m^w!L`UiABv2uk~e=+})e-Jdp8fy<VgIH{;+(e?n{Kh-O}Y|abK
zgy1BH!sPTBlK|_c9>GrS`=7g1qTOd>gog5$_ofEt*Xz^91%!1|7X!_Y3YS|u-cLOI
z{_DIK_l@~vchhE9<DK+k;0~v!gd_Qzg(w<3%SpL?;PE`BIYUS1hK88iNvc+&8w9;&
z0fyCnz_e&z20)Njkp^|YzdPP`yFfU_-Zg>Lg_#L&cps=~OP)Fb7yQ#xp)X%Jw^_t?
zp`vbNqvfQ|XI#JQ=f=t@e*h2Rj;g@lqq^)ZrbI;_!c6!h5`~I~{G0ptSD`W0?c>$+
zt+fa6Oj&OPUTU*KHRPsL3@jNTc+5+}PNimGI=i<kaT*lEUJ_2p;rDoQ4056Sb#=NZ
zOZwdOmb)jXb3gx|6Z*&ZM&Btg;9FmP;+S)}yF8o4v*Mgp&8tH@d527=GzoQNH@8&y
zwYa5uKn1^2!_D3op1fTIzwtY@X@82A1nO^5;vip@5YPS;g?Et-ZcwQ5dtLzi)V6<~
z4B-Ev>362|q2iB{Hj64I2qrjU`B~}cnJxb&RFTK~osWJ0vYEigGb7vr)L>XLjfWl<
zvssP)zW^VM5~IvAl$k`h|CyhhQ2ia-p<o0k#D46`075BGBEC4`Yr0t4<-QJF#i|87
zIa|3Smi9`;?C~Z5Br7EoAYfjrvEgVvmA$YD|2IE?5CO+}&=9BfqT|J6`(G>%Axj5&
zC89|{0^`_A?s0By<o0>WRyM#iF}TYVs#<$Loct(Bp-k^{q}sU;4M`Aiwb6L=cRFk#
zs_p&E!7UbJ6`4V@gqrUCeJs)XUN{07n+m`cyeTot<({m9xae}JK=SL@7+*AiKun?W
zE6G_|#O(N|sb8!~0Ttb5uQjt;VyS2oE8Ug|wc^r*IJ4V!dwYH~M3q8zbM}nl_P2X}
zI}mVRBB?&KVdU9VI8v5mw>7nR*IC81*K~l)Mj4Xt04ZuB&~&D~q+JudymvfKod}@S
zv?EsfbQ~3}5DlCmFAd8W>m!1PPPb*NRty?Nm64eeF@WQKziu9hX{db2C3%Dbbf?;;
zwoGSZ=D&yXtAl-*9!|CY>(ugNcMi!lV^mtQX5^$Viw6aJtU|&G)Ob1bGlrWSzJg>8
z^k1m-lJ!cXIySGWd@M`*NPPmBSp*^8aE#`8M(24S68QT#ui5HL_kR6$zKw@`xoTsP
zBd1U8K8g(i%WMJRZ`p$U{b=_)@pP<3G+!kwElxmD$V8>0q5+Z$Cq3g}ClxYwzTPE2
z?b8ZUT$K`dQ?>?GAy7+Tb^632q(Rv#%WByaY24x1o_M>IWF4vCrxXB9vmaxsR+134
z!v$55=7~M<#LHE6>twWku40#Dr*xtfh2bH=Hs>s$gYdx#S(pqJpXmrC^o{>{D*V<F
zpYGspD69|r$Wg7F#Ac`;UInAJ^Yz<Jv>ktxi<Lz^+m2-SiSR=osHj2Ulu>m=a6{!0
z%yS4w*DXE;;8GOZ0gIn@2oM?NY$^$DA#&ykUdq-dyVD0XOVgR9gkyHqitBb<XOv(5
z2N;5Rp^|4MOR)nuW0yQ!XL#jVHPtwg)<n^zz2r{-4rqGD9s{~B95xfxqdNKXavL64
z&!-sUeLzxU{{aI%$$hPFpAkKcti@0;h-t%T3yfvqW9i9(&P&$awQ{n#Czw2uaTFIY
zXu&H8DQ(H-C!!VvzB*YC9b`P_SIFktyap{370&F+jV1@$f5J6w6>m4>R_f-#TsGDE
z%#Ee4_HUs0GXpIYntx{_SVdtRFf(}D8OG2}Hm$}-Fa_$V2M+V{PSvcvRILGX$_xvZ
z7{h8#4#!6}4ks7m7dDuWlvTddf`1zJIF6F&q!NsnWQ&KZjtjir6}VsMqXgtayc4rk
zx3@b&w<S^7($`#@MWEru6Hl{lkwRL-)57pc;+U40{vm5z4SthX$f3#ptYAt=X$hfb
z!bj5Fbo&p${^^qg5^?JXVrTFKsD|ENE^b&wa#=_J6-b*Zd6%2n|Eh$==Ws4IPfnSI
z(ux+)CFjepFlYPx^{3O4z~UU+FBphXV)%=~a`Os8!~5VyWEbS%uiyIgExy#`Yz%!a
z870C!dndjo_&FjzG?G)0$m}AI>A@e~p`K4scR|Y36^;RvDGqQ%3ML_OaUY?vXN|${
z_1eKPXmbh<S{!S+T{2HE-{!K!8=xo?Ux~?u#|Gw7h|R?7N8_A9sfErGyq7bFi-af>
z`|Kna*R3JSkmU=D&#Y6{Dx$oVIHig^diEg()|!Dskld2ZDn!B1EPfeR*-B7Z%b}-D
zbmmO!%hw}*6lNfx(JEHJ^!JkFYtOC{JS|lSqGgH?F?m^*lK!@UMQ=V$S%^m%=k`W#
zQSDS8Ms;Chkw<ZLAb6&W28aF#;+zeIM=jvIe_wywrx>Ei9WYuX7I|tDz=9pNJS%NL
zWKoxnR4oX`UkSn%$k20YvtD|rpc)V2Ds-5b`JW1s;JlE^Ith+M#smpiwlF+VO(tk{
z$g&fN<*!Qj@PzZl=+dt}`rR1dXtPBY2EK5Xx?2!#;O5@$lJq8mPxwHTc>XMIDs<U*
zkm_RcnkkkGrxTB+QR0Ju@(7x<=aQT)r>f7pZ`3kbHS~BCRFIuLEzg??^#O$T+Q&9)
zQ^kq;xBxB>6F9KNLUvOStdh9TjcIUq#zL0a!mFoXZzp2VW`)}O4B0-J2Hq=8wBWry
z_snj`buZy*h1?G2Sa|8cw2^U8K2tJqs#Obx%9@P_el7s&rC`$s%iJ5H9AcXgz8W=v
ziilo4E+0n*RLC`r9a+EkwLLZpg3}lgGQN$x0xH0R%^UFCh->oyQ1+HlaWrAmFfNO`
z1a}Ya5Zv9}g1b8m?hxGF-Ccr9aCZn2AUFgM1m3-$@0H)*-#uq{dZ(wmYwD`23g$y?
z3A!|WA6!K_w*^~T8cALk4wcVl?Sj3MwTER#o1zfCa}WK@kfUi>2oh%3dRCe6737@`
z4&>Uiw2n(#W_7Yoo!A-O{2A<6ojR6A$gF04wYNQkt!p7zN>lK<Un;T+%hGsXPBG&x
zUcqRr#fr2)33wuVaq>~jVg1KZ;IeaB#<0`h-XwrOt9{)yp!NMHQTcQb@*tuCc`$@H
zXJ2W#WM{rz+Zx>8-t1p(vc!~A+=j~IoUTq^VB)!I(MKgQITS#Q9K{r^ArxaFB1#<J
zO&0HcWO1JAh!@X9d$aC2L?u}5K&gZa8rHFM4>*(uH~_hkN0Uo|f>W~WEayR#YD1ZD
zI1hyp)NQ#ICkF|l;j+s_qw@Q=s1D`v;PORwo!XV4+(jSqqA2efej~0OG{}<#7)`t$
zrl?2{`v;FL^l_DLDB_@a^lh<E9yU0J{D0p+g#G^fa{gE<`FJ{ikxK(hh?GeDs$Xen
zS!F1*GXRv|5DQaaXQz-vZ*Ngf%7vad*c*IyErV<1PII`nH9(K_q+_A~E@i93Q!XxB
zQ@t;h24d3efyzFvP<RVNc=K_w@f(Lmg-L_@6~)pg$9)mKXd-NJT?n<Rk$cMkRW!Z9
zd)F!KyY|LvNLP9C)uoj;ii0{6U%m<vIu(&z3?RKS5ce=TYAxP-Md33Kp=r{rDs5di
zl)`h|r<kZU`xV9pqJg5dFl>1^L<?ErZs`&I^20<`kb{e~SZTEDgw$MJxWZ@6Ww~T(
z3dJ*CSDLy~0t{o=TT7bwuViJ9;haPl5F@PB&oK<|8ED@Efseg!XlTN^fsyMeS2<LL
zS%CQN=S|LLE|}KTTo7UNL@8NzQjk$`PLnvy0ml|9(pl#;CZC=S<ZAgZ0kFC)P@KS;
zj9lV7FXOmWslZ$XM~C&c{2>X!?~QLO6Ui8v=#0&_8!2quBE6byXif3RoMT~7ke~}}
zg%)NJVVi`gj<{egY}p2+G8P>@D$?vIZvbh7{s38h6|eVG5J9?vq;PXMGUu@fqZksR
z&b%xOd1n1M0ftj}f_gEsTH#)oX?^0##_lo3ZMH|REnK#ZJc>5#T)e(KO#C^b-h>FW
z0*<9*i4sKX;>PdJI?Ltj{=17?9y{~GB(4N#?FlUhM(Fq?O7z6UKR&Pvame?WJHYh9
zht>6z?=RkZ_m3D>WnaSa@6UrGwdoLptW5gKc<3<~6e}v9B|Owq->7~DOA+a?b9ENe
z>5%wTG8!Tp$q<$^qsfW`5i3*$_jryhD>IW9XZ5wz%_SU%;Xh_4rzZrBbFohRT@GNv
zH;HSa_wr8Q+_}@t9pnO!&cf?v`hYX7^#z^60w+i9r+<#CCn4I;)Vo;5#tRbY9hl|0
z%PZiPw+pnVj8Gv?4CJD{%oV&+4ynfQX!hR}7|5JWFxZ)j<Vs1mG8u8^V!iqjtj&`?
zCFeEwL6A^esYA=6$q2eIT@C7RQ3&5O7?_qMN4g|7F?C8{F)Z`-vaJVM&H&zDBX;@)
zL$qP44p;}oR3R<TKXr|;QS=i1qj7I7Lr`WrDNL)vYiBzkP|3n<O#j%f-i-kXAGc2M
z9q;cKtN&8c7`~+P5cPRV`Y(wS4@$7Fr<@IKtDp(ytDAk*T2qKShcdHVc4hFG`3jeb
zZ>{FB-zE2*tv4CbKAMe#vkpKk(g0QJvGAlOh^yLXW-+}k78<Yj=AOJ#pj$*R2Fu+3
zokR!Wcu-k%=1YoT=dNqWeLA$Iq^87&D$IAfOhR`;x!ohE--Miybhyf6{e}!1eSAiC
z3QjJ{IyXjI&ODIHk#O_CaA6YqlfA~S6jd_em+9V{62%xnT)$v|ECvL*G-YUu^;(RG
zW91MW;3oOJO6D<+<REhMHp!yT9OV5aB#T4DoG-iaLK!)30bY+c>YS9cs^3(0o$ohs
zZZ#`~4_R^ArsL`{b2Pk_qv~*=6-SP{M-|vnR3A_pni_K%b~bvyw_)adA&|&wie_Hg
z#PM)roUlbhk<GuAYXk~j#%$1|CAY4exS(nHRtDD2ZbZvlZ>f|MWwPg8N6@p+E%42}
z>`^m8_N-s&_4`5%J~vKd89kRS@#pg;K~!rPwuK6!2PJaE*g`@jl8_zdQ)Z!GBOe&Z
ziDXVoU)a<*3Y~~m*uoJ@5b>eme0_K*UF465f$~SZO~*i+c>thTuvLn2+i2>&JbtLz
z7AAJ5-wv^6<d?~f)|@U50=)w7Qzz7G0`I?vX^k5yydhLk?NqUEe?uO|k}ro;Zmx-?
zOFC%fZi>#qAL_e@TN1l1yg&7)H~t!|vPeAnX=0qyFfb%zjWonZ01i`EYV&psUDMN_
zdJX-z?`g@E{u^)^O!4Vk48k=(aF?K?bDyZloxPj!rj)~T=;@E+@gk84w>9F#*w&#}
zPf)-ka4L9t%3ZCP3a0^;_i^-0cw?C|-Fi5Np@$<3M&Djh9L{8!ma<ZT?QVjCV40ds
zi6sQZx1b|wS_d!=mJtV4v%9Xy4#M=ub(8$~W)?AiGy;c+x2Wv9>j(@Ob*J8Dy=x{y
zTnkVu1WqPY5EM9*hN>Cw*L|VNfLk;FQRJV+61-XCHBqStDjA>r5YXMhs1SXUyePM?
zz>+!Ja8hH!L;u-l$&Z}e>@(ostevGAg2vCms6+n`3N<qS<jj-PK*|mH#eW`O_}6y(
zc4|suRRJ2-uhJ-@ZI{UOtzs@dj^w#73F?>B{5%U?9*RLC<Uxi)^h1o+d5qag+4Ic&
zc$D=m2>m43=A;azm1;tWw~q5&BLrd~LZ|H6G%W_C>eE`pTO}2tOlTYHrU^%o%SBvA
zh$ihR=D`lxO?+g+GNVI^zq&Brs4&%tKq#*z0nm!M=2}=dmQ10RS1KRn6*{{TM7U&)
zRC*WU%`q5J;Rd@lQ1jOuUt+sOFYxzEsk`2!=KHUIw7}bS=*Qo)y+LW(bLBufC*H-!
zn9_1-t`M9g$<sWNn+^!8f*Q>kJNdWE>`?`R<%B7{dT42;*r<Un&Bv_k&Z|e)G!m2!
zc%XzQ1D`}Zr8@}8iLJH@4O_`ox>}PrMLbnz2Q{S|pK*`1MzgF?M9)dF__<r=j2}vo
zyLts3Z=OwctDS><7f~%kp9#G|-5&u|mZywu439{9Ot)5^-}ED~2?1M{6!A8JJRvI$
zM513Bo2d=49_IaoUV&^a9wSvw>nOOA4-|7IcqJ}}ONl_8f3l=e1Fr%KTQXRRNGD&p
zIK3*D(*#;WJ-v+Y{vUe{v1=s4nA@BRGFX-|#7Vvbw-oT`H@&O$SmQm8Y|s<Y)!$0U
zM|wkQL2WkWov~*pqYKWBU*1M{ow1L0t#xF~Fsc`D{sq&X{hLA{o0S)~T9EJ>1auvd
zcK47;Sx34;`Yx#%l2#);MD#+^Wq$nTVkoi`V6Y~yY?zhDy|7mugaTb`>Ex%om+>(q
zs@Y2>JtexAu`v|slABSjlJHb%`g&G!Vrf2~l@KyOsyNmCd;V*67>Sne|28xD;G}#t
z`BKzt%BfDV1mzL&sqUmRJ8$E77qFS6avE&90@Ihl(|@tA`6%!1X6Sg_&9=QiZ)2vQ
z??6~lhFSuA)*&aZkfyK&+Le4SR+<`OEo?9dlC8@2)8IG(%dccf^QQC0%B-_YxDF6l
z4`!bb(^@3MeaE`mWVONlo{)0LEOPTy8iXa7+3}{czG&9lB>^0&;d9-PK%%$8>sBZd
z_wnB9&w`z9z*Tz|?FgkL3o{FoPGyLq;o%hOa#o3X^%JG7ytbHofl&(^k!^x3FrHPT
z{U`Cu<{Q3sW|+~kt-w8ee&yX)2(N7MP5ox3MMDN6ti`Ob|I#5W%^THy!UwVEm?GqU
z%iZ96lf^7LA*NZY49a{3q$MZ6MI+&imfdh(Da3(u7-lCD{psz0;nrqVhH$VO5HzR&
zZW?I9J;2S6KCa_&h(R{3ac+qk#8$>Q<dSJ?C$|8lIE8^kV~F|y)u68NIEB&|wrzCi
zB-`M$IIP^LyRSh<8oqqv__QCjF>==25m+pR=F#zB_nRAgWZF2OdpEmDM%#pJmW{8S
zTwLr(K@}1~*G3aOC=gC5<Q)X9un*W!s6mTD=h#lFSgI_ma;Sw3my*iD>999B-X@bY
zg_Om9=C`wf*pmGMg@_2wDb;wG&c8DBgI^lA1P=%*-U#-6*7vozeHJ9b4LpJ?W)B%Y
z%w~w0sfy*$tIGgIgp!#@+^Oj*Mng4hDxR&2t8KNNk&nkmUfsSa?cmWAXE_k#_9gSX
zDeZ@Yowv=GZ#-_*?~zW(o-9sR1}q;epN(s+wEtevKIQNDKHtxJ%{lJ)_@3-O7x0h*
zUax!FEx0s99_tsZUH^tw$s=Lr73v*vueG-;yre%3FBk#0YgcK*v5(Eyn}o-68?P4S
zpi!V6nFZBtuvdjkel*mzi^=ageCOZ4olA>r62+z5*xlZ)l!t<S`I?>gP1lYLPb<AQ
zymljk-WETuk8I37`5Y%So`ghS3$Le{k}Fw_+iCfnlD>Zhm&XGqfFlYGAoQ_t;b^$C
zoAvkKjRfHGWA;kkw=t!s_{g{+4H!K6?7ch~D7d*j@!`iOU^(Yq^xH8NhtuZL{(IGE
z+*0BqB9bAWBD&!olbt^^{EU8105e5%<EJtzR9F@2>u>g|qZ6_bS@~Zl<o_5!#h@@D
zuaP766G;Qf$0x@3XK918`y8f_S5Q|G(pvff&zJxQF={nzab<ppsJAET5YAW<{k{fq
z0+RZw8)Br{-^Zo6>!)wR-oCFnx6-6wX-)@@xPe2>d*|iO!n=vx^+U%`@7IUC{kFa}
z>EYO{{5cQF?0e?ajQ#Sva=F#*4p*)(yDh65p_z;6Wb>tD%YS`UoX0(GrD(YQJ5%C8
z!|^}?Dht|!HLrII5p>}FuLat}PZbKR`3NSaNy8KqWf~DY43TRtFfHhR=Q>cY-k4iH
zDS!Xo0i!o6LV(K*MQjDfP0q*vZFO+Q51w?_=TAoD;T+Hhqt_*kfy*?OD8>-1S-I*3
zHX;6ClgsQ(PG?AFGJ%^p1iOwr-sY8=FbD&}WC{>+Ujs@uQ}Vz`2Co1<aO+dL8Ae|*
z%1!y>w_$(UD7pMV>Uf)}soAdGmi>1gs7%x?7RDT~{8CNw6J%4*tM%Ki_DlcumngM`
zM4CyCZS(fR*ZRHdeqZ0GSUQ||b@`+d#YIDYw568F0^z>9qvsuIc{0sJU(+HeC2OFh
zQ(47=WNhaZzTo}XJok^d&uNlNz5hSXI=S!+&wRLCnSeSzT3<;e`#@I&k!7Fd{12=R
zDi#ANuzP>ku@yO;94Gc=xOY-;bJw)oqvmPt3xNPCeI%hK;cqGiMrI4+g~41TR8N?%
z$Hxjf?s&OJi&Y^dA!Qa}ob;KivKl}-<4Y$69~UVOWZO}(kZm<3xG5gzH^vk8$sc9h
zS~dnosS!8TqDeQh7%5DKh2Nm?U6C~k;!O84L<R^uOF|rPVF8WoXj{#{mfzc?vt=az
z+G&$)<Nthqe3d3mRrmG*X|T!OUmSbUK3#w@>z8c$!c!AP*E55r#V&Xz)KEZ8Za6#j
zG0Nyp3~bISw)gFFJ(JIf#Jc{|WDKv`)%aG-F>|$n54VYAY`suHO7^Yc5vS%=psPmj
zNAe7dW)Lf{!!VIq_9oGW#FoU#1Yczrmtyr#D(QM5joxw{&dnl@qD4XnaeUY@+&{{d
z5+#gLya|ail}urBH!9fVVm1JwHpM6H%r(LxiE_y@Ms)nMDC5_VJ;z1vStt!A?wn*C
z@~r31spy91knsnlJZ$-OhP>y^>2>yHq+WaF)xtLwBkuEf241L|(&W3x$KS|8VFVq!
zqr^}=%Qy4)=tDuG4V&^o_5~!qc5dF6v>wFyzPoxjo{buHeS5X&+(v*ey>Cv|&8ms}
zZT#TxQT6V@;&0}qb;3B*DHcR&GWY40aU4}4d~pvi&BsC}&2$v$5V<PRa@w6LanDj^
z!6~qIpZT98>~st26}ny9yF>U?v<`OJbzROtmg{6ucP9L7x_9Pf%oKWKdF+_Y@E`9r
zwEeFShwx~}E6P96j)Z`cEU~O()J$i!lph=QEpjkAzp0dEr4`MOghuhl9I~o6+bhK`
z4R-<^TJpV@72XCnNK81xyGOf?lL&eQA)`hnvPCR#<|2x|Lt#~T$(M3tmXErFt^Cuu
zOcAU+F{xLn7z_t>=;zem=gca@5?~OWrz_3u3d7_$yN80+M{a=BG@P`0R+gyLe|6lD
z=>t@}Lc??-8n3@a`RqNKBP2|V?QieVWrVtbr_;PGYB#r=iY<7aHSsMIar*hYiS7D%
z?s=bb-fw={6-Bra<qqDKgjG-S=FzEtA;=((>XWP*vKc>L6M~T*80fL4?=#-v!%+|Q
zJupI1-I2*D`v7_;Ek3Nn_$?D|#n5J$R&N89x2SD8x$L)Uig2=V!AUH2xN%b<gG|1S
z(Zk>*sJ#tA0;ZTHnyr7-8hT4OBe`C?RH!@*hDEEqO6PWU6yo3mGGs|ImDS4d+vQ}&
zHR;<!Y8}#ltJ+!*SDNvbfre1@^0=(cJsf2y*Ka}-z@n~U(a*i&<-p}sQfjL<AIyjl
zt!t|3(U{lIM<E-P%BB5LEjE}N3{jKa!P?iz*Q=#k7Zme$H^aLYOFj!@{xH)N6qE%?
z_eAwgL>cO!nQfi)>T{&xvn>~bzP|F+(7cFc*|jjIOMUObs_EVt$4#7!(xgQOu{5<(
zJsjOA5L_p~qrz90C0Ci7RF7WGwf_(wU&XVi>s<YH!3uov)3C)@UKu%n@*#hu{uxy|
zMofG3fTb^|O6F?kyQ>Q~Crb}1^Xe9>+WVF1=Px`wF>inptOkx#n#u64ApdM~*4h8J
z$7`JQ-|?OkPkvy)zyAZXBEc}rp(G1%&AJL1!YDdnrv43b3a#WE8K9v@%e#>9N2J6T
zHk2WQK+bfZeh+qa0W(QxKobwqs4j>Qf~Cy16}dL$dBhNuEizW;kesnTW6GvQ7%9JL
zowD%Du|w+6L{w<8RhB|StZcMYbgzoOGT3|&3;_8#VdHd10#d4OOBpX0cmePeCP}DW
zyofVG{gr5pSd$w|)0=SI&#vv%p^@kN`^NKrC@m@A=KOCfrN<TgqJck?I?-B#h)tF_
z_oM3?6fB+;9+k5@R&0g{PNN<e9P?SS=lG@+qK3)abiAhm%0zGOV8C)gMYST-E%X(@
zACuihKS(=@kIAK_?cw?p0kD-K!1ht|Q`RXSqy|B8(|0DS*f5iYt3Xo+q_l;D@AeqZ
zMAd_&qk|YVp`j@Pl#S;0f6#D9`^&7D(+_JW@#y4U-LH=*i3TbhP8i-+a-;$cZ8Uvc
zL9XBd1^T2@XjS{-dH^C_zSOh`2Q%OIQGLx!oM`JxX21U+x?}>NLTu7G88qlJq!^a;
zQ*dd6Lu=KM8S+%3Cqqn8%1ojM{zHme+NKbNvgTGA-B7)v164FfmzWHf7C*_D6CGP2
ze{K{lDrgKM67BJt3_WpY@;+a@gLAxBGXtQTOhu-*&}umZiscbuY5Npc!qbG+9jq6u
zm^Hr$aT37fdI3<+yO_Py1lSHVXsXD!?@DBnxj&%U?Q0w9<6=NKVOh7h=V6m(l`u3R
zysJZh-e)Psx{#6RD|||JATSx~U^}v^onimx=n>mU2G9_2QN=T=o`NElW9>V?5vExd
zg9?6>6qd2LE;5;*u|yX}WC_0P53Rb8Qz)~xn_cSrC<9731*)O(Ut@%7ZoNkMl~MHU
zT-q2LuKHWJ1hL6jj4e;jJYUX_SM~KH`-4k<8VR4}jdqbL{A^75Xy@up?SuUM^FDrX
z_Gl(=>geauQEZXX;9ZK}oTCtt@yF9R+B+DL_T7GQ5`MpW9Bi;;{>%%-A)w&c-{^rq
z1Wjd$LJYM0?mQ6g6WGL0c#P@yY#=gf%?MaqWd&w;KXZ7;d>9ZI5FLk9RoUMb8n8_5
z`k8{e+r9iYdZd>w4vTr5uFU^gJuljJ^tW$cmMJO4ehjTLhI)B692=__d)eGw?vG)p
zHC$YM_gNN-X2|!kack}PXxSlpewzcw$26RL$p&`nYPJN_`$_ZZST;5SWYIji6W)F6
z-jIZW!4lNRLvS<s`_HKjHoq|>X@7^?z_b?FDX%wo(a*$R@?QC8=9FsXLhbGreB10|
zMK5G9BcZGti*fiufA`X#V(~p3Ro<m=e)%ZY2Fngn3lNdO5m_-p&6{V#8JR*`NO6(#
zt3a-QL}P)yQe&y+7ne^V|KZN)LC^m`xbyr;2?>T_TE^mf`tRZ6E`FR+5i;#p|C9t-
z{E_sTn(vLr30()dN}*TdFvD>*ZA+6Cp8b0y`v>vAgns=f0hGshl(Gl~G0HV7ED84{
z!WxtJ+g>kDFe+{foQSty^ey%B{R1W)+iCS*aVl&H3&DAwm?3S-Z3WV;sE)e=&o{Fv
z{encm`#HGvCu!CO0ykt#R(36)&6h><yyt1G;{%^sVL&ey!N{-s!6)qW_6v#d>+`G{
zYaM6b(#X9F5K2w=cyTJEp#1Y=_&Ij&kkeN}ruxU`3GQs!LQfzgl4g34jig#n^p<od
z-h2U8$93bS>ov;=qExjtI4sMHH2&u+!^hJ<cvS{Mbvc6LRbe(47Q?}xz{C9&9{4kw
zMIDBd)S+v5g*lSIzxT5lhhC)2!OPVt+KPh64P1>t;N=g{$>MOQ-^bq4&)himK)TOD
z?6YYN1&;_}BFh_mrYhRaS&$)wWSd5`G4`mf*)!WJ9pYAG98p!SCYSWbC$OnAba+J^
zx%(k&#+aAAg_sW%?qQIv$Q>sg5@5eYB)f1j^oIW0e?FoX8=DEHZr_R?w0xKJ#c{1h
zXQod9bL4?Xx&$Si#=Y2ijEM-`mPdvV8v|W>N&_)VY-=Y}s#7^E4eW3!Jz_3~83`Q0
zCwxBUc=x`CxG^-xI4A$te<f&>^u2=e)tOYjo_9Sdex8AJ*Q7Jp^PCO)t%H`k=AKsV
z_ng~0H3yb1gtkW3uHibMDAN-g31f|}KVgGF46b3#oUG4?&}X-u413C1vEYqoXih`G
zBYR|_cKC}4yK&iq5x35tvYd7C;I`E24ttT(Eq5`<aQDk2N?JpkAW(QR`=WJ|zF1jX
zXNrwI{c;KdSrKMrJ=rK?YIUFcK`Eo6lpk`~Jij9tCo{bLbv}(Ei<}liJCTi{c1Q!1
zh`?fo%O7XSq?1!p9A&}|p6K_pQ+ygSRxudt5lxvHwW(1BA(+3!$Smz<KP`mWgt+oo
zM%R+<jSw+Q$HzbOeV@M5^C<iMYgo(rfHqbru#UzI-AY!>1W~hIrNbxz%LzpauO;E>
zfSz&`3@v}9M%FzXeWjX2m_f$u=u-qNV>m^JeXGE!%|E_Nq}ECN(19h8sT=`AVQ2;$
zprRwA#iS?{V4ypWt1vI`bPxBIBbO@)(C7|9KbFX9!)v*sQax@~E^g=6g(cfZZx-_@
zj;&p@)2=_!EC3^Ay_(?L|G;KiFc@sEv>4THK4hgX@(1{?U4z2YJ&cq9<|u*d?xJFN
z<4num<uRqdQyAe9I3i=%kG$PQwx*!Vvqzg4!6r3E&YLr)1jjTyVciqu3%Wsiwvc!(
z?|<RTb5l`?w5CaPRn(5`b3dk=F6m*c@o<<phC#Yc1iyHzsLMsU8*xzW|2sbSL3EdD
z?f(H$)Qn&%8S;Wku>RCNoG_uPUfG9MV^&KW9Q#;|%g8GgF{#!g3}>83iy%I<N`Xs5
z7F;hgoB)$LtVMh7jZIUn_TpFfe?TctXStE7r{Fe4%W4cV>bv{v-f?#n*RXT>YXxJV
zmFp5XBlWyfd?sR*ma}P$9v5PeS}a}-o?Qrr4l|_{__H{);Oxih>lQ6a;a`q7KN9_(
zuno!HhhA18Sa(-tl=-!$D8?_Fjf^H~OmPJB(nGJRn~cHqg%=_Y!|~s%JguRwjTEFT
z1fn9MH#qZCFkqB*Ur5p4z~B%RkzB}G51vVpl3ssn+Uk=qV=Vf%_U3*~Q2&2)V#P&L
z5-Bh#FTK>fm(4H4HYWWR)tDdj9h>k(%x);jao!~%%%k>D1EA-h{iRVOhubTGqlJ9u
zTV|7rLM(G;@Sv2c86Lt14XMTDq<WOy<?nLlW4H3Fz-g>2JCVTxy)N`yaPTJX3bvU_
zYEY*=@?+%dlqr^=x-msPU)2$xI1@ch>pDQ(wKXr%&4OkJL07i`wG3$%bq&dogxe@4
zMPYK5_6$RYpLp_BU93#g&~%8A`rL*e+fH0Ym4mW~9Xf3<JjI23S3ko}Qc_#Pa@G2Z
z4Lpe=+Ta=lg$AWv<9)7pmI@!E*%C;k$XZN9f>b)<GrJ>Q#={XmJ_wnUIs2-!9{{7%
zg21N&3)F?dy8bUc9v{C@^GGMRq&SYiDj7mWR&}?|hkA6Lc{wNoYqjXsl)R|VrZAx#
z5~*S*$gx`>IGCdYYu<IzcQYs6m{!!Tujo1p=5j?T&k}}_MEIauEXCx@ZayX{*+Y>@
zdbUPc;y?cbPSLNMLQN7HQd9sNZS6{^bpCnsKI>+ay72N5JtTsQx(cGxP21{B)?V2_
zJ+U$_!=gkNDI`MX1>U<i&GMojQv17)d*=o5q{7~RZh7F>`h~g}Pa^+BEGR@P+?j=J
zTtxEaH88@U;($~c{k8%|Fpod`Q&V3dN7i?+S<CK?WQPt%Yj!FWolyh)7$<wq_Ca^$
z9ajdqzfczRIL3UZyrlF7Ce(*~01xWbUZ~(Ybi}l96-1Im+li>*zC6`fb!`aFEZFmg
z9HP^RSWKj8kCd1rt4O*3DAhr>O?nOGlWSEpmWdoL%byU+MCO*W;QR@uoa8Z8HKxC(
z7Eejwo|c;x-`3KENnls$-k>iT3+C4HCpuXct>D#<@Stajyntbx=7eq<yS)_oHIm@3
zb!zRZP3>WFb}*=EVV`WU7{Dk`D$x!SOS2K30SrBV3AILtB*<%{2W_k8jjto7MY+Su
zhkK{+r~mI^eaBFN{^chCN9ynSv6td!H~pP_;_C(49N?KZKt8XN@b{c)K(3&QyY+WV
zIs*}DHZqioZ~Wi$k_>Z|+AP61+1RoxW=%X78Z_KZ%$XEBd>jUBD6t}0j(Q~UyDoy*
zs>tvshlW%Yn{ShzSzjwmQ$m&z(^f<DXAw*%$BDNem9!f<hqio~lfx!A&OmOP<i!WG
zlJ+#!H-JQ9#=zt|3l-D<MW@K*AoyHyMYVC<YEmISP5-ebbCemP*#e;kNvEvHa7t~b
zroZz4QLTtPEs{SlM&mtGjn!l0R3v0n7j3FXFXA$0we{U2MAE*+kL%UGtF`j-ajkGQ
z^mc#DuHH1JU_%*qo@-7Y#G@7b>purLx|i6{*1cmz`mXSTb}<-T(Jo$SDdKI4%EyJl
z*SU>OQKt>0U^(h@^XPf=a67N7n>@km@AEe|ANYkt%Tp`L`>nqx;HE}5Ryg57pr|uA
zp4;$*T|L@gfBq1z`j5O#;iNjpUt)_%gkVCxfvI+0Hp&fCigYCX$X^&Dk{Ccn_m2We
z7`&&`orN*yR_(VozoVOCuuIgG{_q>0U;lJ!`SV=b;HYWB5z@+FvG@Gy%_7E2@9#c5
z&!;D^j*LD(&KbYYzIVq;G&}#7k}Vl*eg16U$L?+QWc$uV?VG{<lf;pT{9*FyDkoAA
zvN*=dXp`vj^2447EF1rDvtxZZfB9zVb$<3ZyL=r<8zb-OX}lPkw{4vY^l81r7WD6_
z!oS{HyHS2zA6;Y$9flY8G}X4?Tx;_oCFREDr!A=|#fcv=Nw>^`*xA@uj`6cRwCa7+
z=lnUsAOM!A;p+y)V<LvLdv8a&#L9Kw8*C&MrDL!O7oFlIuwOdu>c&k=ANVfWU_@|1
zB#ec-&awyXYu>gJ`I${1VQ`kw#+K$Af>a{L3)Mg}jguU&=I5KC<-*3W44weL0EL(L
z1$bpAfCF41y(azF&i=jj=I#Hmv+DWU{YRHPyGGjQ4aS71JS@m8`OSXj3w_xhj?)PD
zZ#pQzd1Iac565`VBYzL83WRRhr=)1R^P$1vtkF+dapc2!_8NqaZ|=@MmD0n5IirTJ
zUwr@kPPvU&x9nAJS9*y;#}%bQd|KrKN%q8>SkAxupYP57WT$-mb*}DdBaBh!Ux<o?
zo0K4;n~2p1f4+Cz7m9W*_%bzod(v+NRl5xUAmsF=Wxx5T@{3-}fT!JOPmj9?OV%S)
z2c1k-_>te1qZB=;OaGg&r8b$Qj2qZA&x3c&hh9O;%>Vuod5c%@89D_S1?w=8e7RQ7
z<s^RhL0?w^n_40DYdxP+t84Wg>rMb?;C0R0&nHp|MBJMY=mq=s$~&;A7EI9sPqE-%
z?W%5M#gIfXZB-34Sp$2M-z-&leJARFwMHxjy|XfD_*iDE2#Tf&V0m4W`v1*IahXIr
zDl5ry&BA2V7}GC2>0G2uHn39~H%|JOEf9^?rrJJ@jllMmYbDxp7GLSOm4PF|{?Cv!
zj{+4oi>8@ogl&ClH0|P$<!KCHr@AtsM$Mf;AKOTQ#f67`7KB~Dk<VrbV^LO(z{sxb
zHYjRDAEe<&u0y+cs6~~1TtdOBs?s3Tzu#NfY|ylT<5Tt$?Tt(jrxzF66Fg~4er=$U
znW&a&$&~^o2T^dUYloXv+5N@Jm^CWlRL~c9?<HwfbdylB!RLeBz8>%^WJuDxW|0lW
zw=sNdb*T{SqGqMg4QqdCv85&d^UL4Dw^l)(+RUc^0oNYjJY25?OEKX(Lmic)OQOp&
z(A-EHD`>0jwUY5h!Q$!^jbD;eb&Bt?zQgqH{rG*A-R@P~O%X<ynQaQ=H#N(DVDu+`
zoKY$I=mfV*NfHfUZ&suZvjg_hwpag-uik^Z#M+Hf18bRst{z06;vGM#f=DFl7KiMh
zgHEa2*scO8==P`R%s~UcqJCgH#0Ki%n5%dR{ADax8FajtPB0O{+^C3*(fMxucl&<t
zBk*GbuONRr`tCmhuAHenPXR3v!+thQ#A-1h6?X%^0m!pf=2YO?9!KTX*U0`|7HBk`
zpZ4&VS}JQ^0{I}(m(kCTuOsqPj&{f0wGmYAJSTG4Bo>A5dFE)=J#=dcZhNO7{{pL`
zimDodvBqCnaNi=eyEQ$^S0(Oh+#Io~)#SjqMhNNriFpCT{UPUKQAO<_5rhn+*_=W#
z6jzJsWdKV<Y>5?J<_vLF^&EVF!d95#&-$`T|7&CXc;9`V{mA`)gQv8Fz@Rcw>Np3X
zh=<=Q;E|XWn~Je$7aF`+>f3p$e&KmC3i$f8i5aSJ<DS`T5M3suq`v7>q2q`1l^xkV
zOjhdP5dta%%ZeSj6oOTmX4o>uG#e<w%nm1)LOKmd`LhFNn+^i3>#R7bhb6*6%P?XU
zn~Z^J?q$*6>=9t%9z9PrbAPa=%7tcLI5>oqdA1`fJ&^^w&UKDgCvP;~`T>Mrd^<vv
zJGqU${rt`&Q^fviOAYt!|E}BbfBPMdH`w2P57o8u4&JXE+TiqG>$`W5)`4YuQO7{K
z2ErMQg45HG-o@Tfw~5?YDqF}OD8~IrIru}>Pn0MfVXM`c>{hLiqh`A_X61?G-khd5
zo28$t10n?=-b(AQID{Rmv)c562Gu@YMOc#aiKz)J>90LGtCCQ%EhdH`Uct)h{sqHh
zf5m*NRm_}_XE2;m6t_$&29l3-vQ%sm<g5vkq023@Wx%!Afxe2~?=EJGX&kFKHo1lM
z9ZUKyi;4I?=H#(kAzWCR&YtLq3``Bzu2bwh8;KO;yx&z^`#j6GWv)d%UW4uG#<C6@
zKIWcF(3G`G!Sw+>AI5KulvsLC6J)w2=;%W9&`S6en{%(5)r|=rz%E#@agqlXZ1nb(
z=L9wDh#AS_1<f-`#h!84Vcl)oj}$X_yLi1$nw;bnEY}SzQ@)BYi$Zqpb9qHr9~IGQ
z{TzdL|5iy&!?qZ5?CGF~!q={bYv4S-5S^k|yvUAZ=r9Q_j+{uh(zaD8p?8Id86;S>
zA{}HTM&Z9ej>*6QfY%qx*Re$H2agDZ8YYBW7k<ou!gQiBlIm<fcx0@}YC%?TWdW|z
z*(Q~#B-6&wRLgGU&jQUUSi&8GhsT2;r;ipcCXvfn2wr;oSaU%`QOi?8`_rMY^<=r-
zj@rV#FV6*}vs;UTV3k&!rJT85A;`P>3{ph<2XPEGUNtbQK;vpPV+I$5_{$`oi53Kc
zx6eJCKKL~|`@VPZJ|&RhnSrk+mco*0H)T+w@u-yjqf-`-rOAVY=ZC6{qmEx`ECdPv
z&d~aNRU$R(sTkif_R5kP7K0o3e}U<!q~&;9ds?JblG7ooJJfMv888yd)X+iSqH+Th
z3wEVQK=1_J&q~3a|KTwAW$`4#gUf|)A>)c`*Ezcng`Q6vgaiMqMZy<=<1iND{~raM
zDned@UE(7-)g#u;3R_B3D_i^)vs1BFiWH_{T6*kWePw%k96=Dr4erMZ$?#@R<qONP
zZ{3nLIiUI4IH*!xj70SWuC5INKk(ri#VR}au}%*dhJsHVXU$c`%D_4S=Hd8Zm_lq5
zsc=v!f*h)^04x^0i)^Zz-fFrUG%Tx1Dg4HSi`J&446B`H3hdSYz}z;GG4E-al7Jfi
zjnD$&=flIu4}ae$?ZZz$^S9H$Ti~#DxkNe4B*zzZ5$;H?YX!JC9AFG-E#&LYH8Ork
zl@}}@KegpC>v8Jw&^KjyJk1eN$yX@bx3Mwn&W?_eMjU^5t}!CKN?0=vC3Pa7bQE|U
z_8on93Tn^Z^j2Mu&|g6vG8bebL~>csu|=5tIu^(rs>aUgOzRuPL%9@id#Opd8TBH^
zOb=}~L=0>lAn?mt6tG?dLqSe>>FD-9;t_ANNXSW-lFQ@njZnbL>CJe>b`!_^f66D|
z-P;gAfEh4JIRA+w2VbQy&gvxk!&mW?RT;+P0b~;A8-jf?D0XM-l4UC%D{SZ2*wr@T
zj3cNXsTvPc-Q<anbzXTX%9T37;ej3^5wlqgeZUJ}2I!SLgEj9(h{Pd56?$ux&=k#V
zI{O-@`?Uyp3cktvdcFc<AYD2&UUw-`2J=Kr^{3?^vawIwp%<aNh{VO{G-Y;d@iF^4
z>>Hsj)LMU*=)@EQS~KEYE7i(pbusvdFoHq)X$W~f%^}EcC$?Xmj|niQVye;;p7yLh
zUT0GT06>?rP8|I>yOM9(&+4%cQ%YWmmR+V*iH^A}YX+t_-|sgLdNF>$!P256j*G^^
z_aMSAz0D7^n4wxXg2cZdI{2^JzC)UB{M`1T^_z~RlhT5h3yE&(WA4GEuMy8n40+J9
zI578skS3JRki!ON(ESb=hSVI$-aV7ctwl{A1AH9R<n%QvRVavIs_<vQMEmE6!`@#J
z_wBiOI#4M$_ZXs42+Jpgc3CK&fXA2TsWV}%{Z0S<%gZ{_D?<W<Y4kpJ!YdSMCzOvP
z>Ce3g?`>sx6LpVZ&46_c*ZQW{%B9gjxe}r)_~~1*)(gOnz}-@tOQ2C{f|;G2`f~{a
z)+S&R(No@fjyJL?O^I8$R*XUV9DJIbI_+E6n!zOMjtb15F_3J-a+`nJp}XbM1h~hM
z)pEE0z6<0BL-?!Q+G|=0;%t{N1ar&5HJ-BDY}<AC!b2r0@l=6Y_nDSS``VJ_2Z%gg
zdg)ngh}E_7bjT_9=pd3pOxmLf`avz=FMqrlD{F!#UNf!6rhLNwfT-3*ir(#7rq;+K
z1ULuAiPDjcZjq6(k}gO!DJIMP2w5fAzz**Gm0zWvjjFlZkrKR*q*AJYKm*yS{`~(H
z!x?z7CW0~2Cwyc2D%g?es_7qhS{Y&CpPvUqQ(j%bhaJfb_W1n>dTA=T0AST!&oSCT
ztdST>Q?sIdA<$>(*?Euf;`<%O4Aa^G8{w=oraotbZKKCRuXSVqCwsGqP|W_5X3I6z
zVp0Rf{j?71A1U8xrP2*^Es;`-l&WcL{5Gje*14p+$Sd$pLe5as@`D!^HOqXkSS);j
zNe{MAHo<r??NNn1g5g{r0dVXtWgM&`uIPoSmOVcD|4KPk#1K(s2yKbp7*&RR`Ma8;
zG+$CP63Q(Gss4U|O{!B2M$@j0U2<u^@cRD=<U>oCsM&|vKV;=@kU+vI4%O-?ULM+`
z^&i83!DpgCj)MGz27?dvjT--}302<yT&3QQ@>}>uM)g@=OHDW6Y3QlxdFjr(epbEN
z@le;semCX8CfW7AIe<v*={-i}rteK$EV!b<qng{)I7_GWFGtKJf>aZ`VyPGPRzeKD
z-XL*hteAq+&BDxRR#@8WpH0zjgxi>;%fr4!YzL{~=&L;ghlI0HXy0~EdbCNfYQ@8*
zBD(j4PGk1quB#$o9dO5NTRQ8}z!-YFc$KyzNQo|?+oi7?8iblIf=zLbOz)UiXy9qP
z%Y8IlI%8m^^O7R_HS6Tz03LBz29aVqC@lnbijl0zEM|>|3p1ig3Pf&GStP1K9D?4|
zXlpUVs)h`Sn^4jyj-hG5sCwTagFp7Ih<)3YVEIo4wh1(#(-a|#&k}38HG=ymM)y41
zKGPm`*s|C*Z(YoYFgz92+@dcjYb{3l=UV-ybibd^&FCxFWy08n()-a;%2t6=NAH`;
zyZhS!S7x;xFI;Yfw^Ttv-H(E==st|Adj#EvHAr%2rt5ua&>=~MO}u+>tG#O6SF{4!
z=Vco?!7JPVX@)G0I#ejJdNnw23$>cG9C41f+IH8))B+7`8|tPIlU&%kh*>AL(+=8f
zZnIsy1ckU@rY5poMj<bXp~Ld$92PjX&>&|FG&+PNqyIucED=J)q|>)s!=l8DNW!FC
z_q~Wi^3q`|ohbA#&tQ!s5eGZ)UMY-xqm=T~+~x;N@dYA?zEUgb=qHQ9^#<E~|Bi{Q
zPfG{ePLUG^=b4ExDJv{55Zr|DKx`c%^uuPV^cpANv+h(fDN*n3-x6ivg8KKDB0-0@
z8!lZ<TIXf_(HLrVJRPy|K8$+Vv-M<#wMz#5T)Oy}k>4?ykkS&qgsRiKA=(o&R~tsx
zf6DRztNafinqk<nqE$DluH?9&f!eGo#y9LOt6TEM#meJOq${N3H0A@iY9j=@k*sLz
z!4+IymvR}XIriH_6FX=~Q6hMZ(bLv&xl-7tI=K63Dh$<APNu~KOokK{8-a2Z1emEd
zjkG}8c|E*kaaj`k0IEbz5>o>6QjsJc%&K1iGqt`hBg2M5oEf%OzZj}2ox8-cfkFGC
z?_hwb#IA8g0;p&LLjJHd%?B0@58dyz6s>T86`x4~0TZ>6Ld#(*V7YEh`Q7(!0q+U^
z`r~_qvfop#mikBT*5?Xa=9ufq^X`Sc_r5~`uT_r@(pq$+Ru7%r?eA`X_66`Tkb1cR
z0%G9ibm96vz|bqFe|UJ^LfcA;NPN&j`V4|1NAX!^fmgs~jyXnG{q!x%7gfu};U(R9
zuE(#hpmu8cFwS8V2FX$3yMHxHHE(NJI;eeTX~JfqTHYFm@?5Qo4qA@jmrvF|ks_)A
z&_WdZ+vX6}Vgj~=sj^SvFe>LsViGEl>64o)7(T#@XF2RjmB)nCMx{Yhw8%Y2hYlwO
zOA?3h8@rr%y+0-;WiFi;T@KHiwK@}0?wCoZIZd%Jq>x()-i|FOk&^p&Rf>wP@l9z*
zDsOtr0CPiPh6q@Ru{n2DK0%ISIRqVrqSgz&`~J%qxVw4RwjlfEg=X{#?A{FwI|&Q;
zfIECw*FtmpiQlfil%IQnx9G(Jy7HJ*$Vd_ho)YQFc2<obMo9=X+?D7ey|z=iSwuue
zLbE9*I8nPv9R)9ph_ecT$T?=#iB=MV)9?=NTD7R4&|G(N_GZ{)Yq4WjePvP$4)xgF
ziQ~IL6@@6Pc~7!jj>SKbV^{!_X5-C47`<(%RuE!Zo2oRCirFl-vzQSpvuSYxcPr8C
zFRNU7%M8urA(vnSpYuy8>cs>+Ek-yG)_QX#W@Y%xfpm$|9aD7C?Z~nuU2a4O)H2Rs
z6jkYIGJ3<w9tR4>D9vMW=fc4#yG#^l;+seDv){@EU_&QYzh#Uh9WmgW8+#Y@GR6T6
z|40bglLT>{-n0hD)AHLlzS`h43=8r2E4}h*al}U0(Ur&y=G{Q|G>hhg*!qe<HNoXt
zY2LN6+KZQixO}q-EJ|@Z3pthFFR*GQ4<_ri>?W~tf!yqjsDmRiV{8`?;=I$r(22Yl
zPFUHB<oH(0c(bcIW063fe2}EdtE*!!tAVHJs;{X?G#kG<ej<4p`pAOTR=){;d)^Uq
zpM(}{tZiI86@NL|IWKD*=X;!bxNIht5^~8{i}ltCwLq<zOd1qX6l<BJjzVpGRAbi!
ze!HTI8f0nF`NX>()PFl_KXrq<Q4xi1O*gSc)k-g&dd_`cHE=Bn{qtdDnC&9|D7@z!
zq6(4THM<P8pE)IaolH!2T|EEAK4$0*mT*@~*>;RjjJ8&EW3vzy-*rg!8Z!XDu*>DI
zv*p*M5mGIGVJiG*=b2dEAgOVUI(k%?L*#!Y68Zz01458TEnFH3E2k{%5q0n&ikjA2
zt7ZaNkL7Z%0l=2kKIaQ3rmJo%OJ)6`GaMrnM)>A<uxaj_DGkzR*>%ZO8&Q<f1@1B#
zPaS;|)5#(>QSZ-%scxBL!z(81fsVCv3)!lScEk8!;mY|NxhS0cw0MA348Gb018qRV
znP1u$15*|A_5@5zUU*VJilHz|gS>`OYG8smr7-nT61e0R<1L4Q9a)vgAx1inBU$aI
zzjuCCl|<_qAhrCW<=3PAC~alP&nqa{>B|BU<QAlvbg7va#ID=~is6TaNToR?pO-`!
zHmgLI?7@`JJL8U+>pXis8Z){{{PJ_h9N`eE(5hUL3kA9%2^xl6Re4^fumJYopIOsu
zXSQkm24I1vrAa)D_%cg7BD{~R9btoo!$*P4P7r|t5^?NhsBD&uYNR9Ni89Dy6*+|X
z*d7)sm+hg=R?MGq9g&VHx!PJyzs-e;+O6`tp8Vm1t_tOhp%fIBn)_{S5QuGPESpoq
zsfd8Xq>qhLB-fXon0b*6^T4kC7DqL?-@s%?5lCHQVA|RWdydk=%Z~QfTt0?kw~`PW
zl5O08Giew6)1CjEdf`MK(+X}y%6ITM23~7Ywv3gYAYO{zPM@=EJ2g8nkSQ{;|FY%;
z&EOhUQk8zDgN&6msx6U;Q-ZmW%1wsKw;-uRg}_P_At$W;$z`UI$KL>(w<za7ccY5i
z3)nk$ul<FeyRSC}-u^&+eL4QEQJ#0mkNh$=;C&ur@mDg!xy(b7<<e+lMqeou|B#Rk
zetXjSGe{39_x{1VI$;=}7E6v*Yy>9{jQ0uDa9z~D4a+_=2N`em(wIkCI+6V1ba6!a
zLt)HG`<6c3aM|pHOdn&Cpb?)jhB-+i0APF?ZO~W2Ad4@RbT-3b2(H>w<PJ)ya=`7M
zo@Q5Pgu(**oyuHF4mwf2r4Ko|^^#en>o!mL`Y%mzr(D3DeksJBil}rBw5Crdp)RQ+
zoRRMLxgT>P-R;rl$n*Fzde!Sy@C0|#hz!18E6?>@g*CPo*k$u`bo!0V{^Y;p0J%^x
zN;&_1F*BoqST+-I?!5|6Oc3^ZzTB&sZxigxP=S4G#4ieQjANrc3ilFFu~e$9H=*56
z6m;p0pK&7-AWXZvdLGCx%B(}V(QuI90!V;xV4W4eRk|fLVvBi_i9!s~O4v`e=e8M;
zWrJcFy)B_;6^OpoOw^(w>?g%D(59rRQYo>{hNfSXH;)&fZDAC35GNs_f;4F|Kw~<C
zY%0ob!rp{%JG_mbATmIJVb3<+E=pxH<TQru_VpZwscEj3!#O`1#UR)k@nKBl6PyWQ
zEib%{kq%cj#wVS0rCdi5Fg~$*3*z!wwx$|MTH&xRt+V-O##zc*+gTt3v}nfaf+pwg
zTS`^*m=vYOPxA%0`FdRff<+rHLD3L0`{byr9*K6!7;D7P=gwXqWrD1zV-rD;W1OCn
zT-6{o1j0+5q=7`KN%FWPb`yTIi#_tdI5m46JrbsP<5w3K1>Txj4ZE93-t-WU^zjA{
zxHw8EP<>Yj>DP@v(9f}eFtaXwVAARnB?5sG)JJq3jU3)<BVvE$<u?_vFeI!x`p9K=
zZ;;lIQ;Te?`t2ctS(yz!UOh^&l!5!(aX11Cgv$8}44?MAT$=LN8j@r(ay~_pW+>wy
zWkP=eW8%KIbHe13k5=b74vPov@<3+cd$cu=l9De0S|QD1^#34$y31R5<B##_apO~z
zIa9hn;x9E#sw?)L-Q`Khgf*6|#p3VUU!y;}r^#QG9(!w*+{wPP-S%6JzD>b~(8NQ9
zO_5o%f5M|KJh~_oSC1m+ut%*onz1(z-3AAkFXp-}OST4juw0j_cTNbNV<x)5E15y{
zva#5!P7?)JBUC5=DMRE5NsD8+Sg@*%_Q%_7@TQ<%eZv0LDGApJW=Jc!LAB~up;796
zJbH&wSoZV@R_83bbKQAD%h$+m8F^j?X%sa`31s{jcMO+&1twc8=xlmf7j#}k-sQN{
z*zZig-S?;@Sng728mF;&yJD#EGsNr&m<BuBKzwcs879m?VxM$>m&coI-bI~hF6kuJ
zn6fsOlx7VvXLb+=j%#}gS7<Ip;bj)AjM>bp`6-MXqlk_Ql5-V30%4!y2eSJ_wqd8y
zXY7SuFYkd?^-9FU_u`X=StPTOJbiX2=29|KK_(ap`Sjyr9CXS$;YzkS8qxiPbZRm2
zoa!m?1F{9U6R4rOT|>WRHf|E;UpV=^ZI(|(!R>aLw99aaLLg%q;!2Z|z~zFpBM~^1
zs(w`sINsBY32IFCm>enRT5T{eOLOgar2cbAVEMXgOA~8yFOgA~8C|*!`5UTYoXBKj
zJ+--_TFJ?bXscE_bBj}ZjXsRds)&Q5`L2UHnm`XQMO+z#VO(%w#O1iv)4}req8jjp
zoog`bmtEV#c<Sx_8{)ZfZMbv#rGKDu!?&1yTI(SZ7B!duAam$s)^`<2<_N^-F;zm>
zGSBuon5+0cx2BHKz^7WOP4S_~elS!Oe*==tWm7ZaZ{12IFQQ-}O#7Qck;uUvg${A!
z9j^_*cSV#@%sR1ozk$d&_gQ$}Mq|@aMggVBAWZYDYKd^djVBG0fjNOOgx}GHRorS-
zv_e}zTp7&shg;7T4T-u^-JpxBpVDNjR240Hs<DM;^WtyHeX7}@276joKQ8&PMZ76Q
zLYHGuRwnMX+ucYvko-GbI+X)Yb-^R;WHE479RHXQG(cd_Xc5-bo?4DjpH5E+L48~{
z9JiLyW?e9M?<Wx1XKZl&z_Y>Y$smZn*z3Op)ikjMsl2Rc+;s;f*B!BZ!8@pHU(xKr
zGUh`Uf5pV$;>s2$D&^Aj{l9^hT~g7|nHmMq`ZQ*$3=+v+oD#|j)9TwKfXJsAf$=|@
z%FStGm8~<Q5X|Uml0REUMyK@@tYyPklGS@owH?3nbOP54IRzv;Z@%3OV3k4GyF|1G
zEtiC!nPSOf9$rCGk=U8N5TR$EwP*l8$;cu7u?dP<!jhc4lx0ho>r&(=c_u1Tq5G>K
zEEi0o(8QW%I;ZRcE~zpH?g-OjK#)?Dy6CD9(<Xq{u8K?2I44ZbO=B}*5F*5x^mv+9
zgF6;vo~Zi^lR>ozDr(XZ1NTm$aym1#O-QJGNEQzB(~>!|);xPm_qjHR+cKP9b6v)~
z@?1_XEo2(97Y=^ihC6~$GSw|_r=!<}+4#@+C(;roN=^mFYg9qi@o_R)APP>hTr#_a
zOUeReG$L_djaK7WwCurvIszh8Qps8j-0SAhVLY;q)S5u{>%XBPU~OV>l%(2-S@cyp
zJK4ZZI;*Cu*hI)}#Uazo(wh$3Pj&v!%o7lp_m;HCQ8_ihk@h_uEo>DuunNP8(}T0T
zOwI9El%758MZB_;fFe1QQx&VaR&#T+_;04E0;c@(8InY#!&QkBgCk?p;c{E{$ZC2R
z2KUQyV2{?ahi80CDs0oVvM?|KznSoD0gkOHL8}un?YL4Ulun8@0{{!1Gz#zYdm5<%
z#4N^$YL8CYGO}H?@B3x#r)!T|B@AQ<dE8ct;WF$MhMzNmH)osw#nwMYN7j8|zi_OM
zt&Tdj?T&5RwpFp6RL4ojM#r|<v2Ckkox1<ec*k?zG0w-@RUg*gd)8Xly4IY(d0mD2
zXAnVV$&74(!j(H=Uhv1@D_0n51Tj`E8q5(7m64WP?Gzs?JgF1EmaEAwQVUk~C=(gH
zICnxTuj|Mw*U<L}kRfxpmJ-2q`5=)P*9v^W+{N7Mx|q*<cw~Bd?V1qUY@3_^*qXi{
zdNbeYd0D)@)Wt9oVtYkT0P(*?`~*0V(P<U7-LBGFVx{Ryd-xfX(nrOxg5lH4Alklo
z1dZYUeE&Q-2m$22zYIid2RQvZm!?56RUJhhP-VP~TcHW0tPf1V9opmf|2qTLZt(8z
zWdE=5yyH#t(dWgz=8IOB0rRW1`Cg6*Fmt{5-M~4&YpcN&+jYxz0>FD4le<}qUUr|`
z*^yWN^ZL)B0>I|ayljF7)>m;Cm4^XuYf_JV)K)_W(<5U-lF#1G&dZ->kePG8x*1?$
z3d?izk{32~2mp2NLVk46+pP5iotZw5efF99SPDJa92zQuin``u3F%f6-a69m0S067
zs~p{$Wd!Cwb<6yt0VI1Eg5jyiFPCd0P_sOO=5c@tk^2t$Pf%5t6J#;D1VowRw^)7I
zMN6JSOiebE@8RnZ=-MOSgxCw7a7@2SwF5pS6b;t#TFe8XTV3VM`0Kq3$98|p8MOLL
z*5e?TaalkQlbk&8r=`@ul?npe)Na$i$*EVAMj$_Rz}9{TfHwa-amzivHx5%TOSQxX
zduJkFPL|iN^Gt$Id-J>2i%+$&e5y5W3<R{6(-E0vAON^Gr>(8qkWIR8XoF0vjCqKG
zSGjbG_x)LF^~37@JJ%S;!E8tiY|HfOL^guzZo&Fcl(8te?clqEfI>*mwqX1H%w#$L
z>%l$rUs{Q2fX8e>vJHZE%H*$V$@7!ynFNEL`;(ZrkS9P7n9d7kp?=+Os->fp6sV;H
znC))X=N(7oeyCPRjRMMpK@b4zChLvLaZ4Mn#IMM4@xhr13ZVnR9iwDlQ;5LtIUsdu
z@XvURF^BPc%l7GJXAXl3b|8)6Ni!k_*Qy)@$Le4#0IX!TYeGRk5+hr{dtznNpV{kh
z|GlSnD`x(0dS9+j4kAMq!sp@seh0CHwN)w}3A1f7e(M8s&IaK4d0H|gjhH@At?#bs
z8<xa|@y|IG?mXj-kGqo`A-NG6p;V#oe8+3+nu9WRf5T@oTjeQQH3$Q`$nQCP9R)N=
z2f|sk03qn&&4!3Le=aGkYgV(Kqj4qmQ#N<1q0Bv#ieAi5t5$>Dyx*v+mnG38K}m_)
z_p%Dimcfu^X$Je0&TG2x(<Vu}_J#dQ&Ce`xHVyU^v@z;wddb<DQ3#ka^%fkf7__zx
zSd*PB8r6<LomfP6V_3I#y0dcHg?zSjN%3?V0FiTVOR7=lH3Z8*k^U?-(^W!Hnr#!k
z|Gbff7`+>{gLYGS-;)E9ga5~7$nrQtC%<6D3OTR$`TA)lC{OPG4Fg(jQG7B9)@FFp
z)mAH;pHiW>HLV1Rq1N6d459EhiY<o8cqAnGwo&xV-4RC(|H?HL2b;}ovM2WVx<gJi
zARn7;vV9`It8N}})Ry!4G@~5i%``UJ?nWyU4$lWNu=Ul;xHYHbl>5z+S`sxNTz}6o
z4u~-q_F`s0f@)~(pjl57HO^z)*AP&a9xF0%9cc{rIRol}Fl8jLMGVJfV;XyZu*6eG
zKZ*a#A711g2yKP#O=N!R=P7Vku671YaJ0(xWC6dYfV9^u289ZRHW)f~2wuF8E;U72
zSfD`-|DMP5td4xOy9~S$oSD`@GP6mO=S#Q&V!h4mLe1huWk6xuX%Sslo+UQ}^K+vD
z4R~;Q;g1&Pa6BV0_-XH;XQN!r*NBccrX0v4o5IdV6wNV(e0KrQ*aJ*a88ASFhJu1V
zCJN>$83a!Zq8<-V(`8wstb(&6n9UL-eSW>5k3MzeY8BFYsLXd@GtP#Tt^C4SgH}p4
zy?BUKB#Q>!_LX9Dy&72QT%r_l>I&=}+OStXDv}Z!A_2Prs{yqdwoI{g7W6<oWRab)
zsqhK#_fW9^gnY4CAEnxN>svr>rQYHquwp3UbGO~W?QXe+O-X~gfcQ7t42U5nOESYR
zqg#7_vqcpGYH0I(Wti}J2t*PbMmg$u>P#ES!n~bbuN8b<?~%uL)_vlSI2c7atfhp{
zzw+n#;q97oPer>fn(@P|yrfDxAqV8&$8tP4M*k@(Fwp&(;mS~L!3)s3Qa0ibe{@6L
zs;WAB<fw%|R8H?Xxt8ZDDxY)A8M6rgX5lX^2Y&J!LwwZCZ%(l<2}$o>EzU*&5ydj|
zr-+sk0nK$CV+E9Bi|7y@VN_%Y?wOG=nJ`~Ov<$y)yiE2xn=AJ=4zedSuGwlqJ!CUF
zRjEY2<)_>|Z3X-vA}m0m^PLe0=9Q%i@+xh`aBs|+$FsErB578~@kg+vgHUuo$&kU4
z4)N($$6@TkSdYC6mxN}Sgw{*Kg2K|3u%5Ak1x(1{;x}ZFi01kMFK=VSU*{(%#EQ#D
z?@GDzwFpD1iSn1Sr#Us?h;D4UiuT`DA+0zgC^>t^=xqtUodaTF7JF#etw14GUH#x=
zG0i$L0OO!0Y8F;L<Hbc)+1@l|s{|V{^YGg2+1fxrvHP?BfyXSYp@O70QFQ#}^@0-{
zYDx52%`h8JZc?QK3Jw)*E5Dj6Ith9&RH>?;@;;pgGEUH5yQN77+j=dpLCpt8=@LwL
zytSr5800tp0SE^&?`dnH5a2P9rosb}RuNzjZKe8iO%aqsqmPu}f$(LG23j%`lNw^E
ze`2a2er1~Erz@@YwwfTiD4=Kt?K=+{%V>+5n>L$7sjqNZqhNltH$Gr$Q&JqV8qwdi
z(Ymx6AlMY*^S9fsDi*msXe_)gZALr^3Hlsg4LBME0G_8TLzY3+)3+^sbcO<*c_Y<v
zd^&<YPh1?AhEJxS*Hm9Kikz=tAst`d??bSXT-!vQpG$??U%r$H^~BpC7nkp~<%{3v
zV>;1vLJ)9x9`W^+Kn3u5If?o5{db&@aQ(h~n}br)5f7?9HGLQ55U6Z7+NJ*OA_3^K
z&)-M~42FtyV%1dJk0Z$hsUK|}rKwx<gIVCawgVfK0TEsXXYPFyM;c52+kyyf?v?Z}
z1d#kn#%In`T-Z}TP4czxi)u!V45Jn}w$YvGQ|?Pw7l$*a;-H;wLg$Ldu;H~mPWn}T
zKMA*8wr?+L?%xT)I@}kWq41xUvo{Dr062y^$)AB!s4d}mR_B|q4R?{BWmhwsft8Ru
zJIO!xB_`#DM+twQ+et7Gcpc%9PrLv5GXE*2t#&F$fpzOO+}p;n>VavJJ%!QSH@b$>
zJ6<x!UiB^;N(q(h3dv@JISB>M8n{TKh^ec#)WF9?_|FsNeDOes{V4Bxcoh*G6%brh
zB0t`0SDez->AJ$FhnTf=PDEo87Al_{-h!UV&30V&OG$N2Tg{|;<ES-|p9NBR72$rt
zl<r<ySQJEmsMaj(mjJi5Ox=<yt6J443e*W4Tpl#13-qN{+8`8TQ*N4G7PjCQ=N~nY
zG@vPuwkxBo*SW56Zn|IO>f!D72UL~}_Ea4wscjVjVOu{I$1a&lb(I6C0lcT>XZJKg
z42R-G?yzt_9I6U4-8{q&zIkmuo(oIEuqXc<x*($dzq=#io=z~qOEyW3pV1w%ih65Z
z$@+(HaAMl-QFyRW*LLrs*&Aqyk(Qhd!YAf?@jBW2wi4B)JpTayts!CDa>d6vn;&rv
z$%vZis7$<kG%*VrbsW<(I@O>zV@ub|`>n}Q#ogNVKfuNL1{w!DLFj;>H|VuwT_as>
z`~EvBmE`KltpOn}`16I7$rh!N_BX8gOu_3oUJOG?XT&Yj_#W0+k?h;;AtH<};TX?;
zd8GG7aoj`zRLN<~b2u_0Apwz#8fZ(a)xF$f1Xtz33Z+KjJj&J?owsUI*}-^Z_eM~7
zSNI$`@?}*?o#42;1yvRxrLSw8>T9i%2s$w8ZyeY7OG#nFkpv_qqGLBBX_wimVt$2z
z?`5%IdxUQZ>+DnFjnTg{=PMU<0e@QN^$wvK{uK)FHr@n39B#@ciR5~P0Y}b($a!c}
zmfS{-i9OtuuZVF|wu!`|w0q80$_SI`fKuS>2qeV*OQlxu2dkpX6sGu9(lvkXu^<&x
zk#TZ0EZk^Dg%wJvR#1<11R^#L$$NlY>9@t2u;0m^T#PR#T}%mEpMGJpTwr)0n%*vY
zb2y-PchJmnef8$2)_lfm+))>{RxhwQFS?kTMaRu!zl=P@B<?^24uZO!fQHza9K~JK
zNStqCZivTN5+5V5oqz$K3Jr=nEWOf<4iuON*!VybiKCyz4?_%vFzr{I5s{6lLJ<=9
zS<U{SF`YD-QQoP1f@FXo+8{J+`v3(M;2T+)F}Y$uYon(|q?`q<eGH>B7Act-X;RVF
z{01xKrFF_>G-^~qnN))S*51ts7O8>n-A!@V)``2*OZXdC&9CjNtFAh(SLC=JU%x6k
zqvyu~j3aDEc_%hoVzmBN)S>wq&(nJCH7NGsy&2>IV#758hW3V+4{}SPC}Fy3z&z~7
zMAzrTUTuhNA+i4UW>5X{M6K(G=IXQZ`~KQATbG_!P!bl-+PMH9<>isU(_G)~Zr`H#
z%$4R#zqjJn=8V#rK=a0_B7=vIwYd7N;hL|>ad8O2%X;dGK*yWO^&M_G6*6)zaV4|z
z5J%qTrJ>OKstB^*=keC`P3=4rV5)B`uJR3dElG?iv?}B!cYSdjlXzEKI^F{!_{U>i
zjC^cPya?5rja=Yw6R=ec-7g9<c(pYU<AnZQO}Jl`zE{-V-#*$ucj;jW&-wG;ex+f@
zR8iwF3`;b8YHclVJeWzsL$TrgJubJixk0F%lD;>`^yWWoza$Ea_cH)$&`JSvW+ru?
z^1_!d?YI`SOYt+PcpiriA2~Z^@Vaf_O5d3XAy9*96L+`)NzizqXSbW-^KAhy&+he5
z&32!^LK~|cpZ{WJx}M!a=;8!vEB9u)-^)NPOJ0h;8yub5@@WR!riPg27w(tK{IC@t
z7G|r2+lsDsAFD2h;RK8^W2*I0`ex1B*MCmgW!d?g@O{a<AbJ1Wx$LWU_24e;Z@fTO
zh0LxaNxhSJaBLwet=D%t8Y1$)dx5ZG=-6KXV;E0b2<OV@Z6>NNY!MU!Ek%V)S14Ow
zAE58YWH`WLTn~!(<yZPIxvCuv@%(ODxQ)@5v^S`W0O!U&p!M$~h3lFgYF?#74aq1t
z+hj^Q<?<0k-G5%3fg$cDF6IC)Ys4OEq~PhwYH3iPg<xhFo8roNH2#VEuxHZC-tO5p
z{xjRCDB8C%a&r?lL{o73>+P(I8VL!4v?xXX5wRIS`<w<^2Nm`zxE!rwjcBBtv!(~!
zT)uMl`G}DK1_5<oDic?I9C+<^TLI1*ubz??xSl=yKF28Y|D`!Aj!d^bJ}z=p&c&nV
z&)}RlLz$~il_kez{;rXTB3mD?hBfDEyj<$2W|b;8J=f(EgBf>7ZTq*N)t|3VEQF3n
zt9(4C`mIaV&Hr2IXm1pI=o&LD-ZvkAcUYjftXeaGKokkD366`lBTY#=s~RjK_PDzt
zB%tc04_7&kk54F`eY2O_4CtUzNReO9sY|+`4N2gRvHssCWzh$YV@$$G&e^l;qf0kL
z*AVcu)8z7v31yU)GfH9W)uY`4<W{{0s0;5awN`8|;i8XPUL-pp#Xy!B;d9<bJhb-V
zp#j1M5|(Vdt5fLkMNj4HRG<jqq09uQM@TB$52tMPxNImF3a}(~pHO*=uo!l#0uk|;
zN6Y+BXay5H1{T4l;-0AMdi}%})^PG4){zvl&lNMjX0X1m(3KfQMwtw8w;z@bW?U(7
z_wUJpKoJ{!gV8c{AeFU(pz+rWA%xlt1^~~oK!MVn|3KB7>y!YgONxpP<4)hOGrfvX
z3}clq3KQou=&q~>x_NNj{9m#*W+^*KCz`SLt{kWx7evNmcwj{)70+%H9A2VB1BOd%
zf1yah7DNe;yGHgOVdtyKg;IO6+?Lx7Y^j+^*dBvgsC*=8f}EHw^Q?wUjdNxv0U)Qx
zLgQuwe+$+X0T|kM5oi;RIM>!a2zmfmGqz&hzbvgvfD_dVG=pPrN@n2d+$(G0)95OX
z)6pmgS2u!xNu`odM0*=LeBk_Yyf<Z>OzgEXXP}Ig+L2Vnpeog_R&~_&4*b(OkeM+r
zPK?O0(8SqAMa?mY5D64HknNxWByfnRJOruyD^O}WOq&wfqH{35r%<G!4AqX0<ht71
zt^L$25-@-ARuKc8tIsFhMa}J-g9)(_+9<<x3JqDBi3?5XLyTjQorr9i_;xNW(~OgU
z{hb_Od`5V2|G8y(gf#6vFz(*-w71yx#X(QyS-st{b>8#$jacZ_AVfC~AV}-#dEEX5
zA-D$w5PrQ*^-US8ChemL`ae%?6L-C3t>oT26RcwZu{w$T-5hU5KxMS|+B7}&%&P;w
zJp!MPh7BmCzd{Lpet|N5YaV%1k|Cl*rASd7Ozdc?;nLX%LrGOIV53eTdDcs@fTg$$
ziE_$o@PQe63K``O5}r!{;-Mc`JQbN2of`kg=Ki0?1RZ&G+3iVNnm;&b6-!PxK?7d;
z6}~c#Jzlp_KAzEye#p$Ut;ysGN^oM>N|w`Vu;wg)Hpw}1T6<mJ9&Ipa8<ebhqNiBo
z!DQO(LCa#Vs7|%(2?lMPvb6xKq%{?dRK^A9GKU<=6ktiSn|4(OgA+rwgwPKCE14Bp
z08%FOLxQ)ckGRX{UxI4|!BNCr=|@z3Sv0zJA6$CUNjrlbYW+CdJoPC3ACV<iMmJ$L
zBMD^-zlZA4D7(Lj!5JjNFn5A@=k=Z5akdMkzby<H@Lj9qJ@7muInHC7fC`*@lpWbd
z7aRDtvj9mL`66{k?%Soc!GftMnF*|dsus*p<3@Pk)EYvnfpj*l*i?kfx~-C3P!Rbf
zw0xP}iUu<q%+2)GleiA)c)nd!VK8C#=zpH;(hELJ&;eBV))w_n9iKi~E)(64-vdK>
zyL(fbmL7P7-5$0mf2(>NKewZd)Mzjv@OC_g0SXh%s1oTspmqp8cE0{hhQ0UA({kY8
zkw(VzvsZz4ay>1sD{tbBSe495qmWChVNMGfG1<I7L_D7q$PVNA3%6F-NAfU$9&JCy
zF@w1`Af(IemNb;M6yZ`1`i?}4AI|n-m8OMFdJ5~Y;NqOYC?EM~b$4}iPpm5#w+7dL
z0*0IJe_|Je;QQTo^?mqaoM|lHfJ$ZIKcdjf5mGT|va``Nx*4F5xzgGE!$GN3uaVFj
zhUZYorHLktd<50{Aj|~JCn_}RLq)^=IY>m71r94Ot)~74iOAt%74Ez0UTo#4l+HdW
z)DbH(N00_OfPRoD?agabvKB}OH_ifh*Zog9g{@hI@UFYC&lO3K6wOmYf3mL$i^#1b
zJO0Kzm_jIYg!9zv6?OYg;u!geYBQ_-sKdDPxklyK_={dQ+yg6>VA&;@Wb1?gE(anT
z@w;SncgDAzrBXKp7Kky#ubdLMb8%?6uza=`qhCrHkU$T3LWL^L^x`v8Wxy(eNWT`C
zih2cTL|s0S5pq^(aM`WHSSX2L<U?ZO=5&)j$5HZ73K-hbfnl_-B5o=n30rS>Czr<3
z=cg6_otXXS+I$xTvgrllWnVR;awn=%Ij@)%@tr~1@~ZaCb}mDFYn@vfBMF5&SaJ8@
zt0fO9h&vz^7FGS{c|s1Vf0Vo<`O!4XjV7X;-`{zQjiWw+P789GT;PchI_oXCQ)J2p
zjp=&%iX)|C*8dx1D9Um!>egy7G{`i2#J8E>Y~7TSRwc<$i-NNuqcdro$8~SUw~~h9
zh&>oXNqeNECQQ+C-5BJNg=NU3{=d#TH&H>@Z5)8iicq5Y<iqVK{=v~=BgvQ&5wUW@
zRE}P(@uogz(;1YBp<E;2{XA#j2!+Q;Z1FX`c(=aUh4Uz}oqy|@kZ=i(h(?sl+=7rp
zJ7Vy7I^*+}=KHaAn0KXjdK%z({IVBbIIf6t?a%tWUrSXsrKMOupfvxVXAT}XSfp%?
z4w%=>E=74=Wz%E&<Zb1AoqgE+p!4l|=UoN>Gn{V|>NAX{MV2~6{*Ptu;k@O_^qr81
zNKgOYMF4Om`{`iwLr&Qzfx+`tH73U((^vgH?J;-7`*cU*las<{=Bj(8gJ0q-DkS81
z#79cadCJoBEd&4i0SJYLEd%^=e+3lttaLcL_uPG)gzQnh!6uyMeE1m{d_JhX;PCtR
z{t5nQ?eXRLItE^(>+k!T(zbeaua!avc|Gn2xADF?3&z=e(%8PQ`;pacIL6#M(?=zN
zow<FioT>>l|63sIpw{ofr4yREyXW$`Tbuqo$*cqOj91<|2D1G-AuUk~#|G@#!7Brd
zCCITVtZEy6zvc2y8&*8eK@Z=ao#qcP5ZEGbd3|)iUN2=ke!T8d)DZnc@qDZi`q*=2
z68xUa>9blt_~9hzI^85ObWl6v{8d`}fWo-#b>wu!UKj;o8br_5aF?f9)hp{j$DyP;
zj!8jsk<$I%d8Ef-@2|r9B@g(&Qj_XGsd=RYnf-e<R%^j*x8s2u=`-N%WLk*L^WRCz
z434nv>Sh6@6?`?vjr`qR%m0_$qz1`NQ}9-D_^OS@Zh!NezU_igcv6OP`vrgzNNxUK
zvB@WgWYiBMy9B5rA6pu5dq1-bLD^22%LF6W<67t34k-1!_h|0a1}mZPexO_${N7Zc
z44(mKgumILw?GO)pA8A<3|?J@^wAL?fB8QcWQPxPaOiQYZf<^-?-&XScE1^?h7Z?a
z<Bn2-)9Iqjk9~N?U;D9pz4SpyF?0YxM@?3Vea*^rL4eEuFT)&OHW4q7C`{YYSC}J6
zg%x(WR4mDUU<tB<V9nz^M+FZ;X5b+X2x6WQSQ2&q$mQ8A@|o5sKzAqN$H*uZtB{sD
z)(FP1cBnm)&|cM6!)9Pwb$E778Xz5gJ$lv+mYIMjM3>qpc;J&F0@&G;=IANKFG=s0
zI2Vt#29u}gal#XUcG*nt8EA;D2E@`GaQ_pV&umovB=cowV;(j)|8KdOQ1$;OH$TO|
z)sMLYm8T|S<rb^0Wp>jG=7ug&2y_hA4-mq3dR9Ar5%ENmziZMf5ON>90s6pc8dzQb
z3|gb<DX+6Ln-FPCt=K*`N@+DWPWVu4k^F(cW4J>Y7_VBYXLy-uwH&7U>|ZMEIJNQY
zXz-!*om2PD$h@i<uNY_g!MZmw3YXuyOmw70UR&*??+~dZOcT#(NlJkVD(aTCm6%!t
zQ*e`zckGL5G@*9twK0E<2FMhNQ<X6<F`?*+n!D;DDFw3B`uIwR*iU|ui;-;XdsEC6
zU_`o1rNG3<Y6SM{S*5n(=XJYa!z1rsRR;d>5^3%~+FaxG+Uji7BOm|iZ_r(5X&Lu}
z6q>|GygRHWkzb8WtySKc3DrB=?uI=W(Td?%nn(r>CxafEM=;5r4j>l8=?<d?;e5w0
zl`#pnxn6ux=1rtf=dSV3<C1-j8?uy#C8-t*N{m7w7nVgXp9CIQW)_AI``v{mpc;#I
zcOMaKSn6%TS-QTy4Nk90KEGF`NKLK2KWsr%ZA)X%TjQ4hKe`u>Jqlv;uYbl+Orx~R
zo$J!xMAw#i)(0DlfSk*;k+wO;!+{Uu0Q2X5y5pnu91>;6wkfE_baeqDv4z@AfzO-y
z**J?OVBC*}Sx*qkXJq6lfcN#akj+2({z%TzkP3{i-Tmu%Rx`|={q^8+-?zn=9S-67
z+|Memlv;gW%|9*T_2RUUV_}cp{~T&ptM<mbU3A;zkbK?%FtqHexDD}xknOxmVbKK4
zXqE{p+mcy;i+G6iiaQfH+ANxe;tBKeHbLP)Bez?4fx3t=a7>eWr?$8Y6bZQP68YR?
zvj}XKCzIjg$QzWx`#~ZnVeR;|GJLw`YR#=qnUuny3@?kPnyHLryiwzSZ3b--Y1`RH
z9~}jA&)Q827}}_0l?1)|2|D}}(GUu?f@G``GvlEA)&Z-JcG`DNg%EHNgF~4Po?u6P
zq0YD1)TG0FK@P(eoCb_iW$ZIr?n+oY)I&8~2;M)87}-b#87|?qe>B@g`m);&ny_l5
zt0Tg_pfQiMDv?#E8->N5)W;<B+|$Y8aXq^ZZOJwP<K=;5hfwJkXBuUphqiDNzuC0`
z_Cws2$d(xxOC^oE)k^S}As~qA05`~b979MA);2-kCj?e88*ocWxslb8up16A_agW%
zreBwI>4;x@X?zDkK`)ZDArLVnLJfAaJSoE^*=Q-wtEtA9l>mLGq`^%`F6y}2o+54O
zD6jz70j`3nA!y8BOG#U=0?x<s%X6ZHFC}+@J7VpUsw{DBv{VgdRxQF5^g*i6p!AST
z5PeUBJ3oExlegIUYIZQZoV8VGOh&Fgm~^T0W*ME9Weg!KomHn=i3-9J$VLjaP&M*^
z>)^-c;{*_qsDTkY%<m>KT=~(E&G=`9^$$Q)*)y!yI9db*v1(PV%Kz+7>uA7)lk)9|
zE2DHWiR<o5<THKK9iZC-iL0;@^rt1#xTeH3Aiu12<T?mF(77AVBI2~BjSG4rMp%1{
zm%nVnWNuCfpc;SDi*FB7(8aGIa;GRoNo$~nYKUO8-0v-`_l*%8Fwe^T^8_y@12`(M
zyoQtJCQa7dOtp({fx*PIjQa5T9pIla@q7RL_OZOLeR@}%{GUA-ZW@V*RgP{DJIj?W
zWs`BvaF1s#20qoeGxlK}BclZYYf;DSIk^G>5=^9YN)SaWyuJ-7s`#i_6~)Cg@XBWO
zDo4r_TA7!H$yhs$7MMeqz0d9dbuS3mAJHV2mxO-LQ?(I!UoO$JTyRbY)YsAo2mQ<L
zv1eP@Dxq;K^PM2zaxZ=bJ2#%#_qvU;EeO37kv|f5sHa{Q=8jFCgGu~Qr;`?~P^1~*
zv%mWzn<Xr1l1nLQjiX3Nz}3?Kd1A3B951c0T8V+`e14<z^Y)1pNdbNU#7w736Y{ah
z53{3XGy+vNXlA2c&-(69q*P*eMq}`x3HvzE4)DfQi5TsKHlwo9h0*vQ6bJ$8UBesX
zaT9P=7YhQy*7+i)XVzEW!_YM5RXy!~ZKE02BxTeh$AJA<s&L6Ud*TCm@O!MvQ-&3M
z@jaP%nP~<>&qlu7c;u~sfb`7?zK2@fb<Jj~p8QkC<5G0EVN)AFk#muC+<14L(iwpF
z-B1YhfHUuB^uTlSw{?sqaFRb(&ANjm8q23$@0Z5ihW=|E>^#;0+o#P-<JIZUycqb#
z*HXqcE#&L)U*-5~MBQxW4C@BI#@9PWj+UF1_uBo9mqWT8Lr%DWZlC&zZN2L|ow!Ml
zudvHy7~%_k#_bY`>zwM!ftFIKuI84fPq#)i^`@6;jc&lrNEiC^-TtG|`{@&LL)Ya5
zUk6){Vt1Ls>ZY$cipRui{pUZ65BSf|z<Kb;2*2~oyKT=H)7jxRnjt*_!~ON>bidd0
zXf)r~^Ev+euV3DPJY9TTD!!IX&r$)F)4(IvUbUvlyAn9I^m458CfPLbCDXSw>3|mr
z5WnC;VJ#G^m7xk&v&^uN3gu7w^<FZq@Nqv(WTJ3y#ob`0j8FN8ld*(pjWO}0fncrE
zdBN{OfZzN2KrO*|%j%~e2A}UspONoZb>+3bzwKxJ*u)ax<s8X$ZuG49S0l$5X3zHC
zr{g8^*8)Ev>2i<Fr>(FcU2i!~R4}E9Hh~2puu#E@SYrR*u$7Z+%ZL0pn#;eN``IZ=
zdT++C(;`^~B5r2|=aQhA0@Y(@{EvS_yE$Lj?I$OOQ+o>mRyl6)<B$vzm}2br@WH42
zIuUsvF3-1soWd`DT>rOaj=#L5@`vEqMd_*jIlZ)E=d(?-o?r2pl$mJbevzTm1OJ}4
zLa6e#w7->LFzCMEVoqzF{FY|^-s$4^@p$s)SeQyV{>^%Cj!IhR3Ah!<gs^Ral&&DP
z^d^<kpN_`!C~gvA?Q*?V_@7r;;R`i*bsSM>E0hWV)NUuJ{N+|!picZ}Y>n`FAF-d;
z1G<8$j!#>g>I;J6j)gEKTyNli9PZ*v<+v$NL(=M5VOKZJpj$jK#O476-tVp_oM}-W
z%2f|Hyxz3m@P#8-+ZhGkvc;`kt)Vg=`(R*{&1^fSsO=S3k-uwC6$b}KO?mHu)Em~}
z5x@r#ng&Dv2@6=pwX7P*u3}KkzzeUC{l^jR=P+=YGE||U-eG#Yj%5*-S^AG=kuPYe
z!beO)TV%Gb1FaafEmrV@f2l}aKqrv(!GAarvZkto$hB{Up>czmceD26mqdnYD}zVW
zOf6Z|GZeoMIK=O~aY=H0J*^M)EXsPB1GLner2ZW=NKQz4c$d}A;CTF{k4aIkyr@`1
z(KmJ`aTPOna&^WAr(p7fR<5z%r4^J+Ue;)3<PxL)jX9zlj(OV8e^cQPY|WI{bqvLT
zj(w2+@#}qN>QdD$Pz5geYZV>X`?if0s8X@z!jW`!sy=DnPmZ*N0BQ!gjg%Ju1i%4G
zwc*EU4fn1H$^JKQsv#iPG3G1kP0@B0U_pjIc_14kLj3V=X-3NBVq(CFx>L$aW4c&f
z6^TtvCD%oxn$1x9uJBF1y>E(rhGi@SoR;_7WCp~fcD1y|l;>=eoi3@5jijY85-Qag
zBpV{|mbN%YDmO06zu)OnQ<Jm}AeB|PmENDNhM~?1B3YoPAM9pYU8pxx<=68dl~7wE
zkJvkkm-dPB)r6{6g$CsQy7nQVn{@uky#x<TH-p9qh2k{-qDr=;7z+ulH*$c&pe8rf
z=J@c`TNlbvtnqG1N#@_05u6`wtK?f}N@yt3ACGt&cptwB)101a;S(tUY&mAZTd`F7
z@JE&zcKE*UmKG9BrP2{dS`=RUy>Ehi>kqeo50aLzn8#BYTipsD?r!Iww}rI`>sJ59
zE=Qgmo~%$YZ<aIu;wvgwl$5`MVA8AelD1_-+I;b32#GqoQ66C(6dD9LeCmsVF4mgR
z#|{|_z4h*_r3?QPTL4Rr|D(0MawI(BEM#dWBKShyKMv7bFiUQrEl_bX3cKQrx>-k=
zy17OT{e}_$HcN}0mK>$v(wH8&X)9K=gvwUk5)2xpQtvmHK`|y)QK%sP<Lu>8!AIl^
zs+PvD!lLb?F{KsB?>{Qb2_46qkTEXfOT_LnNx@Q3TLl23SPkrJ5g;PdXKc3%(frO|
zcQ-8$V(3ACr<eZj^ivr|P(x%bV>1sBFLr~h(0fDIo<EG9odAj^QLJholao4~Ev>V;
zpQHTlFKTUIKcVe+Qz+&T=JU(u#>jJARhd7F%wf;sVF*r>F4n#=GDUv!65PF<|C3Vl
zlQsw`0F*TZ;9o)N&`4}-m+>~Nv?^waV%ZMc{ba0g4i~482fAF-?r_q|C<^Ces&CxE
zBkqVFXSitqoX1gm+kteI^w^$DUR%hzfr^orycdvYc$ZL=VTFIQrPG^?2npFGn5En+
zNR^Iiy`mFzrrN8IWF_5Olf4Ikfq{K}UFhoq90^9SKIy`9RelE^2cXeHx~@ti76m5h
z5<|-9jM-5uYt_*6DboDyWz1XvKO3}0ERsrW6p3D8+@lP#Cjn5V9+tj`U4<1%M`5O=
zY7n_<qUc<iTX@WH9ZybjSx#qf>&7#R;{<pHIC@hFP?oOtY&kA(f%<4a{$k>4*#{N_
z>Sm+VOINjc^R_NJvo>1itg7inW_wKLA|h&Xh|RDJSHAuk_z)dy-jg+a-Re9FUjwdh
zn}o=DF01L$#L|)tZ<}(Q%&k9cdM+l;KZ2KZjDN@wYumQ0&5o;>aygWi5=?1Sdj9H>
z5<1Uu^-ZL|W-k~XdH_-wB{D~sgpq3k_HS&m4Gz0{*bB?%^#BassLX*_q9L-J8&((1
zdxf5i#c7FRoIA4GK?24{5!!<uFlBB+ugiL6bt=k1+(zJTbrM5V`azj&VfN<k=7Qgb
zgXpoa5P47_v~`(l-NHmjiZGl1`-R9~XK}Y34%#8Hu*ku~HLT<nEIT)I+Z#X}-=-u=
z-o`7)SxQK$bnzL*5HqD<)qA10l&iyRGKG4TaFdd9{)#Km>_0j>Z2cO>op@*aY~>W@
z--sV5ORy2ze183@4I^v47?Gj|2VQ3LfaaPm1f@)wad$z?p`fL$onsKwFG1KnyMb^l
z46CB!az5DFi}*Mx@$gq$u?`S*JW%rQDti_gZO?NgU(D*A+_4ooa98`MhG)H{aIxN9
zxU5M?Z*kZ{nO7m*ijE8q2?uS%Zxvo|)7HS1rS?4#Jesz8QQNUrVu(P0cLfbHbvq=@
zq<}W36I=nJU<b3tcy=u7V_k^9>%+)JT>-^A*s4k_97+cA=XdBcuOI*;f_F%glUmBS
zN7W(WQLWouIGA}OOF_l&i>o52zN{SP_Etey!Qy!?X%vE=^0ez|y7mr~ZJnXLjz_|!
z{}{isAt>u;LyXMCb5aRAfjZ|@aL`65)1>u+uUJRf>fcTVD<hyKa;P(7&=#Y}z;h(t
zk9&;2FJS%7k;i{i`{V%7Zk-@N{UV!uFIkL^s&Ipdu(7Y}1zzG^ZhO~#jeV&8>ju|r
z08`8Y>R>`dSdV*!S^Dls<=`<`Ep_%1mNdGtM)E+>=L4Hic<>G?sZf9$@N#bIv$rcL
zuvWH+;=r)s8Du_}U~2u%Vv1aJk?BCNo6OvM8BOlPK+4Tkd>}wui6#dQVwhP%FD_cK
zy&th9yxfPhT(dnG{8v0|KnvZFnEEFxJr<m_wK)#@k(iQ*V(!1XHC|e=-c|%=>Uvz7
zB#eI3Fm4|zi~_{p;sRtRN>SKKlsDykM)HhF%C^B^-(MvlAmdx*)a|DoFZA&%sQGF~
zmUWDYS+jd4AFlu!0WGWTb7$K>Lws>yU%`Cfp3o=t!X#)%s)>;uwl4zy?WXkT5v%gR
zG?DWBORj2uB?J>T(OYMWpP86D^=KrL$hoNMng^84Z*19xSqtWPVpv-WdEna`zve`^
z2~Lz@IUsTmYR}g+@3(ewIG$OhcV}}ryYiJI@6u7pel7w0#$1buu)l217l)f39bP$j
zd<dp0cVEHEHP<gaVVdH~=x5?A7NQJoOM6R8t0k^4R^{g%E*<PqHm?mwiB=tY3JBKA
zO^z)c4=rz2zai7EOenhwe6(c{rtnWA!EIlBNYq%c@6Jx(3Az7sS<|Ks0AdAj+FvO?
z+ASd<lg|QhdZ}rIm_f9UtVD?cYq~AU<hy(4YY;W}qhQ$+fBl2s80HGmzU`-m?j|7W
z_CvV_iY$VPGDU<Fd$<T0#})rHs`}+DaVWd6iAW(}We1d`7ZSqMEgkUn`rLrF&zJeN
zOW(YvykX_O)$Q|gwjPo4AoQpb-fAwVli|M*+6myq*IZL(L*`>k75ekHQR;_L;HtBD
z%@ySm-G$o{{w#|@WY?z@+IJ&FR^tOqlwj4RAdG1ttnyQlxd-7eQHE>-d8V!>USHC#
zX37l(om!_46;rka<rOa~Su8`ZyXTavDN{;rDhRJR_!0;>m)~%n9Kkf4o7WE4+aHED
zPoDsP0CJ-O@2(mYgH_qz_k{><CNiBj;_dCPo2!&B!LxwRWgd_+rcno@51v~UQ60pv
zxK%$te(ErMA5l#I?FzL*#=qD<@NYsfA$O~t4@ZtFvxwH@6>2{dJ38yn4fA)sujaSI
zV*?wEW)%uAOk-A@?UT*coY<VBz|+tLza&6>2V(l{0d!Egp@*P}7)Tt~v&sx!ZS7yZ
z8J2$43jI@=r4ES{HW<t>*~PN|$^&)Cew&jO4@qSSv`Q+5{Dv|=FPTTQ@lo-%wa=5t
zdy1(CUIun3#%u7jJWn*-1^brwY0s)~N(yi@%9iX7(1HZxWb9S7IK~;GBA~W{G6IP6
ziz$?%dvm7nou%k2wM;w~DzqbRV1K)4PW;W@r6;3^i8*Pbuddc<Ad`S=!4D>mUBF1r
zoeOh3($7jyYdd-rr=(p2%OQcweF*yW9!r3Ll#1Kea6Zix3Qf08hp82YWejXG3TUQN
zgRxHEY{-HvcQ2MAmUA8ivKkbs0OZsTM?}dr$laeWEQb9n`%oM`96z7W_fhU>Iv4Ee
zvdDd2Z)Z|$J$y#zB~78(`L#kc@D59=I1F*Ishk37S5x|8s=duq=+f~eXTL2L%v9)g
z{Ge4U!1g70Ow=wnVjVB9@P5dwBpt61s}o=9VIb!Yh!;x2lEN*ijE*j?1Z={G!TctZ
zZMIRHo(|>_ZDec|akTH7wtI&M4ndsjXm-wFU2q4YKMQc)A_ME)!>ApYnJ^L0Uh-As
z)QVj>l>Qw2bT`j<VF5>xl+EG*b#iG*Q702Pm=QOn;6p@IhBILqYNSUTg9O$w-}tVm
zDVfV|{|bf^Vc|C0A}NKr1=#VnM^+IYaqD)tQPT3=qXJskjAxIxPVQ#6V3D!hE0+4^
z{h8!?*%QT0;uwpj9y7uA(1Uw>#}xv+&H_pPgwdAimsyAv>p?^!*m2Nf=5<OOUJ#=G
zo((c7f4BXnfeW02C&5k^BmN*-&`{6>`#ZcN8uS3VSvgJISuv=209oe(loBPDE#YiL
zi#5qKx*Qw)D_17}A-*5^ug$GSmLqAN{Bmf*`>>xcxgG6`I#)x^>rwp*xccyEjM;oO
zWd^OqpT&M?*R!~CrF6SbJwng()mL$|+>A3=bH}9Npt<1Xu=G0D@6mGG;G*E+GVV^;
zQnA~|>*ii4c}wdFaJ~I`H{Zfj5%qqTX!YZo-$Zu)XYMRF1A)0p=uWykK@}6im<&TQ
z_(H(UMZ7SNvRZLUl@wk9bWTX(GzV0#7~@Q33)d?xvh#@ILV)<L#t$FM`eFId@^^p3
zR`=%qk88R(t4o(3KBsliLf|WrbEYnQi!D!cK`2^fWi|9|fU9y<bdI2)mFq(sq5>60
zKuqf)I9WhK16?T{^{Fp)>MRTgZJ08R|2O2QVu%Wd|KcH@J_&v4y;`$9Id(LK<=cZV
zo+^tnuty)M1^es_hW{kM-T&*&6oL=bw{+I3iawk`;i67XB4s4TMR|o}k{OZYex0J=
zcQUZM2Au|Ar0x_+Rm4jYeax^xt{tbuYzoCKQ~P=pvAlg{EY<}gLPF21e~-vXAwvZ|
zB;R<C7~54VNQkJ14J+dCm(1G-ddcrjM#_vadX1BRAN?H<egLdNB{3J4HYdPQj3^%0
zE|zv&P%7L50ij89epuozb}RwOeo#(U?KzQRy8!{+Fc@XM*3OZ2RFfv<4HVAeX70_9
zWAm4_MD8c6eDf?8eN*xCU#5MyM82p~P?^3VQ#ezFaIn&_Ky^+HsJwx@UkVz|MZb;p
zG_g{fsO<)KLCpxR$<pC;cCmtUN3LbeV#LiuD!tqNQV^)9%jszYTqIX`PmP*mJmR9c
z+JgaM$jqL=!}xc-?lJh%@WQoV?_#=GR)x@-0SK>Rx=`hb#^bk5ObqpxKTG0saIR|l
zkN3klSA`L#1zvGGDMWWrvszJzSx_+);eOG=I3O!i6u!8EZ<hRs8E{xDkfNfZy;(=i
z6SQBskFp#{084A@Ea36Js|FK$KmNM%CJoq9+O3o3rBN3jQoMt~KVom-pfxx}APEO&
ztn6@4&YMPr!N>3-QfhZ;4~7;Essn=XkZy&Yfz<eBVG9RSji0oTG>hu`ws}chr67h~
zY*r4b>bo*_SSKl>wd$^b$ie?K9gNE{xiaul^BSb-f=0HuMp@vk%r*UdFZ}_KP|OJD
z?Xt&Mw6T1>h}987Yy~QJSKhy5tIfajZ_?=p!NJTe^m$tREOvvCWE*QN```zK;JB0#
zVdYOU(6f?qLM}gztFnbS=GJy*z?57pK7YFAU->%tr19An7GdviCEMbP`o$Ag*^z`p
zSk6`mJ(Y=*K9HI#f@vKVr49go=Q%V>Y$5ft>ZS1n#!2n{p+eb<#4tc{5cnz1O-@}2
z+X5O9BibNv035_|LIjC=*)sUb@{3g^8h@t=ZVxe#GA^bQb8$$m`Z)j^5Gq|k-EsUC
zNVoB#g+lBwgM-B6;r~mwfkma*=)51UhEYRWDJKBn&O&W(i>>4|PNyb}O$A~NzH#+a
zZy0>bQ%~oAD|VfAVe>9L+2fsYUAJo4H-Yz2*;w@x0D@-CFjn2&RzIGXDJUZTn>UG9
zA7@{xHU+8fa+7iEViVZaQyaecb=?_<mj1Z>ju*))`ok>E2Loqw>2W#gtPW=nguA`u
zwOsCkwRN$?!mY!H$F&J%Hud;-U!AGTx)dznd+S2%a&p=*>Vu64<NU?3jqiuf<Bu_8
zPr8kGrg!4Bz9n$XmVYVW9uUxP*HOHMX^y|ZNdOLo%&6hlnroiI-HJ$|gwdI5>IM1_
z9v%K*%iMjmf}@<I-fvCtr3|YGCrAB>EcY)@v6ef#x09^bVyPv;j>1mIkO@xo=;H|l
zH?MCac1Zm8sESII+^d1#W_O(5KGuJt5r;DC;T8x??C>&@Zv`&k;{7ahmcgC#j5VQX
z<OZbk(c@x9Kn_7+i&8NEgY4-{kufT0(szn@hPPJQz469nP%f*RM#dG%CNm#xGlwc9
z{pN+T?61TPZsv&#<G<j?ZUdiFK}4MiRbSy#G{im^H^oqz)Guhw5yyU=vNSK%wLka@
zt0&cec_2a^9{W)lpGf+UJCOk`Yj#2~RR(C&D(R_WiM)G)kFL`EX>@PKZVa6vCB>;|
z6TK3sciVcG$MLD)<M&X@7zaBR&S0C?5piJ0YHwr6LGGdX)YZ%LV<S~LB-)HKKKML!
zyo9f=oSiRYDRJHsocm8zKuuy_ugaUI?YiOoUx<j&T9=Xf%Db7UAR&@0<XJDoq#M9f
zW)r%FqEp9B(O<V<0z^AO4w4J-U+IW`+6%GnLxHW;4kP)H6BS2#4SU>;NOsJ1umPC!
z;N&mVV%)Xvtue0Gb#5lfZiF?{Xl~u3zcEistO%20*LMo~^tGtA?w*?pUdzQ8b@4y&
zFWc;E!`|lb`YNIu)|vk;4|Wzwt<?Y~oZkHoMDtrFY3qxRR&8#_5nE@8cs*$x$J!b@
z^g6Q0pY)a?)<KnQnuAAV3{n_Tn5?4Uwl0zZ*r_No=XgU7SF89TrQ(>-v&g9$Z}{xf
z?G*vjivb*zJ)FHyAEhs}2n6%Fgi5&?)3JqgT<o#~myq=K9;t^~6P+}8-yDdkXC`p^
zCL~`zksc-<9J;)8Hoi0;xYYfcQ>KZ#J|O=WwE&A9l*vK}Ffhw+U|?t<C&bgy#f-_^
z!OX$Y&D@pI%igZ)*SgEve}T+5?|E}VbN~sy2X8hf%-3eW2CHNi#PJ9D#~AKbck*q}
zaO$5N7t$Eu(|j$^<1k|6$3!QjawbAIMBf4|(XJMG>b2(1Q|)yM#Z99KzevW88MJ~J
zAY|lWnF&Q)&Z|F+bgcodW?ys<ODZmjB^19jlvKbRlP-T~TJDdL(uD^mh87&K_b<wO
zJr%H5%$9GPZ4b6cBy3<LpiwNppO<e3aSxN`XFS6XT*S7JC#O~Duph!6Va9*O#Y2=`
zPt@Fn8<a^ZD}J^UNVeCvzHqCoP%sQ90SXwcdEys%6smlC!^k&~uR={mS9)wv@Kmnb
zvbE~O!n<c<GgHi8@9{&Z0mS*EJ{(Zk6d~~6M#V(ysmp0hpk0Rc#{qNCe5bdoJwEJ2
z<mX(~Iafr<g=3B7{_1%vIh$M%$FWYT5=gYktK0}Rs<c^Wy~A@CMmj%{TOgc_0NNi0
zq#?QGkF|5nJdQuVUHs@-<NK8Z+@^#HNZ53X94<@<?K!RjGW!OvM@fbqk+q7<?5RTb
zBOAp_&rB3p(9^*T+I#RJUuI}<9Cy;i|6K2d5wP8nWWfm}Ck}-x)QRxre){%HK`t42
zV9^&Uhl!P1yj>b!l6(N$Yk5cE0zkIq^3_)Kn*YB@CcG?W07dd&yxxlB`+B33nJ91h
zq(=3$-DmTeFj2=0bu-nehSfbF-;R#&$wuKtvZ=MF?<KGFRa*u0(xvBrflSUI`Tq-K
zssQxVYw2_Dn9Y?Kj_~z1Vu##Z5$mRw-_A?o53V(jSu8JYKOwrWg~VgDSJFAnBJL*j
zV!7L0<k>j%gnH*JbhVp-<F>(ncEayEJE0APqMvH568yf_?b<d!H7_;QH?$<zm(PX3
z{?GJ_oDJTAh_Db@-#mg22DYi1HeUuV4<Hk!yLNQF92#<`dis2I>|wxR+M42AfAMj5
zChI|`VzQ__e{k#eadp1CKleCOG_dnbS#+z{s<ptOLTR`h+wOjO0=&I`ym&OP-`cO^
z$eA<=7#bL6Z(MnJ9$Q+jpRcdF)PLCcbLp~pHEhvS@qN19AKCG&c6Rmfbr~>S11LLQ
z7X4VZ1+r;KPY#kMU-u3I8h8QZ&h6QTj!WwgQ#B|&hT9vHwU!BAeDN#qNykLtsSghy
zF3oF~d0x#K4CxUMHokm4>qO-YU-TR>jtOF09}Uu-x{UEpU1@tLa!(&VZ2tJSk}Kzs
zSDfePs~!{I8ubYAvTJjR?E)lE0H>>lw++OltyDt;#VcR0>8@|)Pz%>^e;+Pdm<o4^
zt+Q`O6HX^f4J9ISPbTxA=}u=@?$LryKX8(iUPmRr42eI{sxRHRx;|K4MmTuSO{qG@
zF3sMGl5+MgCMd1)Mg{2e4!iW<(UACsg{EscQ>Oa5i5DHc{Xajl7Jb;-06NTkRpCrp
zDFzp9=U<1=r(f$|*&oe4TZexEb#C3pwfDwd2HjqO0IqethEx4)ZfBRJT0@rFi{bIt
zMITS^p4F;r&G~B!jBd`*b)PQZ(9(viu@93c9~bvF-EEc+PmJ7B<%GdnN2;tbj%`10
zt~QI5@$*H81_Q$DERTu|fc{!I!xi(MM|)dm&c@Vu(9L63?eg(@!0xT|I?na9We>|&
z!>Qj0<D-M1zQPJ&YTcV<E-Cu;jAQyCmg`4eR>GHwU^{&F_&|eDhhNdt>B_3jYlo0v
z;r;32j|@c^qIa(^_nw@l*Zl)y{~o?by97NV6Q~p|`CpwodCwndfO8r?XQK9uFXyQX
z$Vbt%M`!z;kR`%-&im5~cg@C$%>k1ouPMf3Vhd-EkKKTdEViMpr!O4tXG_FMjgK**
zKh~WAtyxX0W}Y)^w>ScJwSo35pd2*I#Vx;{%zFEGbCfJl^l-ihzL;_Oj%D&}S8ZP(
z`qj1coV8UM_uNbYE;9bvHV?O0cdb{aZ3}E{)>nNs0r}4!8+a9$m%rFnFYK>w?oF`_
zYBV={1d;Lt-s?Ue)`!-wzy9QYy}nj|Jfso-0({-rfb5#r-9sj!iM($Aas&To_s=_b
zb|L>a&zFkM#-7i8pMZNq9GnEj&lB(L82P+_cP@fUj5IPpifa4!(1lq`F}SR*ph&lB
zuSjY%|Dni9GUGwo7#^i19$2*MtO-<>_C+`}SvBItUAEAw;y|=x$daQ}XRp{aM$@fe
zJLnnqlQp6r1ILl7NUAYpnDpn=;sf>ZYj|O3maHP=&QN`oIY3wZA0@o}^LFlpN<Ywu
z1a2&)W+{vSH8IlpMxp6p;K}?Y8s@ksR>gb2t0*e{!WW8u>ybLD)K%qcNYg}z>B(B_
zht4G>n+4;O6{jH7lrJ!P#cGYXhQZ;{)geZP4icgs!c~j$0udKbPaCV#Gk>JzL(4v5
zAlm@{F{0&KqgEK(h@3!FE5rPPkSJg!S__U{GwUn?D5vz*$8%au>NYByY(~{UPl~7n
z{3g|INAT~QjIRbK6UXYmr%{9WrI5n7`@)_By#Ps3+?;4j;U48wBBNsu16K@l8IctH
zk+nx%xGM)V-i~SG<lGxALIj47)aj%B;~Te$t5!zyb)mKu$Ar@35og5XSEcgnC*=O_
zY^D+q2<@A>rIns+qFTRs^*a8OQ(+X=zYy%c5>sBr(F~1cKY;dAyp-*qBW+YP8z!*P
zJw2pI;F0v=iQRas{tm5HlygnEQghWh<e@z>+?7S$tHw)kC_Ip(DDm%K)v^km{u%3v
zUAVH$8ZRt%$!fU65^VtFf$%pvq=P^-3|P}hKpn~~A=@9fMim2O)HFH?_QP1TpE^cc
zE2=w-OT$Peh0UC5=@C}4c<VIh4t>rdDGOLOK+0kmmmilL2C8#$H<`Q^|4&ob9o2-=
z><QJ-do#2o5Q<U-A<{tvln5dvNbjgf0!Wuo6oJqJY6OB*rG*xx6BOyvkq%O&NQ;P+
zD*})2-tWEp=C9qI*)!+t?wK>^_uJW}?xZtNOj6W{7D6q&l(nYc;;6bks>7mqO{iY-
zqv8cuh7k70oh`;U@YL_Uv-BSht@@{`GeZoFiPw6JF<Tw}D)gbgb_uOKSlMsMcDTV5
ziAw{^k6mb@9^9W46f&4x2i|YSy)#;OGD+U&H_N+T#9+XbT>UuT`;$!9T;tM4o2OM}
z-4z2)dpei94@|id6~=YRDlxsLe?X-qVNuzo#$nVzTs1;(6ea8onlK1T_%fO!K`Ldu
zuigJW24gjIIHe2ijxDw0>Jv3rZY|NH>>XZ^V|(=&Wu}*S75Bi3$S^Do@-kT(;qXgo
z7d`ZVE`Y|N@hlI*cAiP<$NN+Jnci(nuakl=Gfr`PpvaCT0h3KXs1$O>Uq2v<_3Oup
zPpis1ij076z@J(#O78%X#n%NzCAf<$EK^fa7)?v`)YD?Aa?s-advARs6)SDruxdk%
zj%B1RDf&^O;Uq-i4tmE~;OCKA!L7&)&*HR;qGpcYRdu2j5OB7#VK@)!z%{E@xOW=4
z?WDc}wRa@fZs9JyD)QiIb)ja9gn#Djj!riq)k{|*Uqni{e@D~4M~+3##xtvyR=E{n
ze72-eS#DS$jR_G1sPfMk0o*J^FJYAn&?Hula^t+H@ovLT5X$#r<p+tLGkIlkp&eK%
zN%)4+$epD(>;j0D+@w@ooTENWuSff=bIP+dD}-dZn8b|pSJe_N6dafKB>;84ipf#$
zAnq(o^OUQg1F)rf#wAO{G;vWh8DoMRjml1|=^2U==%LjRag#n@yvL`{IbK#Cz*(8<
zC%%V-#gr~g!o($M4Dw<EHlTbJrWILR>;?&KO<+X24#QWeH8f)9J#)}ntCu*v?E^gc
z)p-rv#DFceVDp2O1QVJDbV+<^ZPIzPFt7R$fUuY?bt+(i3MPCM(&j6|-1jUbB!+;h
zZ8x@A61sITqvCor8iut?_7OM#ux&n8F>(=bwL(+IdEC$*NjUYP6lwMH6agTs4Mc06
zsVG1EgGV&Sb?dx0Umpu6h+!wXWbD->uNnyMSOvSu?3f3+&<?y&rIQ5ueJm~!5JStG
zBP`Groqj5k3mGAIoJAjCMr?GnJ{xw9<-(E_Q8nZ=n#98`dlaST@DA5t*I|}YEG-V*
zxk57)xuY+(n?wa+nIR;PENZxlSlqIHgriT-N=7W%#BfBH;cyY&10Ia3&-bTTd^H^=
z51m*`z=S=8rE`B)9_SaqC&@G$hz0q=95=dR$PPg<6=fl$ifQd?I@2LJbdJ90<1sfU
zIc~EU$F+vN7^r{1|Gt3s#B)eu!C21oC(s7SAd#iu<Nm%&BtdA>RzB&%eV_F*ks_bS
zQjupIsT^ySk#}3uX)=oi`d*X{C9LU{FA5bcylm$Yhp>7aiT(P*!LMM8)Ps_MPEW9%
zH`loYq*UjDMwsif!^}nugtnNLO>Dy|k&jaFG>>b}!4bL~5{Z+@)w<AOy;Z843xDnP
z(k<uOSYuSfqr9ag<ihV4IVY7^5r4saZq~#4yeo`;LT`DF{J9{!fw24yS_Lput$}Rv
z%g*Mii#0(B!grJuB`(qQF47K;`dU!c;BoQ$a2p8vE2i79hlaI#kx|VChKd<9g!U;*
z2~`TG2)m}>=;A}YKm=t?ELWCLS@Hyj)$`$|n7}gU6uQ7<m&$;TI+el{rR$a*kp~9G
z9D`TVTY<5!r$iMdY{|=EFn6OPqSGbN)~+<SG{+{wjl$M|h)RR4ho+74dej+lI>kwd
zU;i|SF|%|`ydAH{_2Th}qSqggH`so=Ab4>>8oJHA^XHezbz3qlpRU}C%ZgKV<XwxD
zqIO@-=9|e|Lhqloi!*8FrmC+np6EE+Oi~JR1Z%gsZ*>U$;x2NcWaq8=yF>)drn?lJ
zcT!6@DpV>YH48J&GivKVQg1!}6{82>b#xwPIl@LPQmOo|ZM)i?62)Z=^4*th`%(~L
z53l0;$)T*pz{G3&#ZsA-mdckoUp=m7&3@@zu;7=1^bG=u!Z!g+j0a>SGWpmCITLdY
zIrU5F3%?m-1vP|@BD+Td5_hLi3&JSJ%bHE8Wkqxwh}Az-R^92UL!XrU3z|Cy#a?32
zZ@UaTvQlqZF4TXF?ew4$5FnKH=nEf)3dE^yg0kBN32Kgm_$)}+hH@wp-QL}YY~2Ie
z#_2JwLN%FxiGGd>wDcQ&EE-LO&fOR!#;eM@mh(b?F*GzJlpca_Nue}tW7vM@Ur%YX
zBY?#hFXb4P&*kc4-;e2N*>LkYp)f1)Oa3%|Io->%*|<m|cJ&wM24Z-6+4_^=M}<;;
zOSM~xY5S4-CR*P$wCR<-tKf@|%&KG;j?4{_Va{d0-ZTE5)4ejeEQc^8sBsUBqt6;u
z^I9`V%J55O74!mDyR{2xA3BnMbBo8eHVkkQJ2jd(CwCpU6A9{0<q(0e5=^#UdPnHe
zGn1Q64Lrjrk0x$6be}XaKIlWs-3JWglOb3J2%+4C#p|78w)Irg!l7FU6q|o*g+0OL
z$(V0tzGaPceYAc5dYH4aE4t=hgMBM!SrVE5*XJ>rPZ~|1g=r~Q#}|mtdHW38k7tzQ
zT7h{P#4h+W$1GhLQtBa-GUj5O4B5sY)Vt<&#I=kX<7Z?h2=4@c&2($HWf>H`Z<Yye
zP96?PWwR>pX|dDL<{Z$o(K@7E8UN<#QzDhLZwfcLiM`FBvi)oK`sN@z0>1l~v;lYk
zm!W{v*6{4~vNcgI-+<VP7&u=Piw*>5Zd0TjpUQj&Fjy`N=^D^eFjq;Nw^iA`U(hrk
zAt=}18*Lt?`^_G3LhTXIZ{DuiLbtp-cbBOh!3!B!40py(JI>F5SwiM6t0m9JIJ%++
zn$T*`0@d$HBp>G|nm4Iyd!p<cEWA*wUrRnip3+<%2`bLO{n%E1Sy1}p{i`xF_SsCv
zY1J?lIod8WE-&X74>5bFI&iQIRNczF{@vxuu8zk7$3Y)6N8hc*Ij+<f)bhH|rRr8z
zW~3%zrQ(*Nm|KjJ16<sk*(k&5j_I~O<`7oW_;_xDwL9OGIhBZ<l85e4lpBvFKECtH
z*QdJs$q#Y+b~LQ215A9wNU68YPGnt|dYcr}z!!_NBe{FdpD|YgDvPSi3@^x->01rl
z;2TC1FqZ7+hhNymaoULRXvpbNO_w^)BQJZtYk<{BCR;Vodk+hw&sjL)z;U&w<Cj9@
z3TG<JCEF%+E#oEYMimdf_-jA1B?+XPvX&}$dB-(6O#cW|g!`3vdpE1cUR`2jU(JWN
zOE7QjY))eJ?qbe7?M1+@GjJ6-&_?&VZn|K+H~|EGU^X%2X;~bP15e7(%rT$;`U_ul
zBPdSi5M%t>PkA9JnLwTWZMz8l);$jGz+0(M?w|P*$TBBOm)9O{W(V!quM-Tr<NnTB
zGzV>ITi$NJ2)v1(4fTji@Y1|=oBZNzU4~fm4mY|>nBGR$1Z_c|=x-q43R%VafWedR
zJRv6q0u*`;WY-l*BB=y@nQx&+e6<dvhp_xS=Jm@WB<cHDs4*eBK4Kt*y-6Cd{UYl2
z$%$8lzFX|jaRzrjFCa@R=k;$6W>KMlKcHx{!l$a$D|8H-dNpn?L#Ln`8xvim_HE@K
zQ!X$}DmSZzNcrJk%q395w*~Xz(_$s~h1YGqqS$Yy_{1-1t>s`yVwz5l&wypX&-E>6
zq1Y5B$-7G@5){v$^uTd*xJPv$I4g2K0!0)Z7c=n(^@4~;c7{{%yH)iB60k@X{dV<q
z<w69C@P%c+$8PV*M4(o7HO>2z)y<XQvki>h8TaU-)mi5VcEw5m&7}&Jy&f$7q$$Yb
zB&oE2=8A*RZs}Bih|)2CL-PlCRAC{5V-w*LueVZzCUxi-^3CnFnI^@isWba#!oxZB
zFHf3XXetmMSGClKH$>Poy<5H#DHPWA<NovV+wFqo%OfEB8HYE6R!t&nz03RCCu5iu
z^yqz3@X>`v2NO(4-Bj;)q&j6Vu&#RL^x|DD#KHWP>G^B-vQERMv>;b99|oeYW!n<M
z>NWZ+Sbu)7e<*tlOK_Ki1qMEs6SE`Z_+Z$-GH0^3+5-Me_>+R0&XzaMOOi*0%^4n^
zb$x5R{fZL)XE)45sN#u#wx<1;!HGW1Zbop6d-BBAo-*7%KYaUO@lh?Z&&o#*@h1FW
z^Xg`Y^GUeM$&SF;*SFE^2O=iN)edH%&7oCim!@Ec0mS*RL#bz{NSJVo1Nk;RrRG%0
z{<p_+`5G}7&(>SIR?+(8vEw<qvm@&fnAY!Fcm5>Nw98plSHbuB(BE$ou^0_`HMN0i
zHYdGl*rf2nnYdk|>0I{jrTt<Boh*8}UN7+XRLT?4duNnkmE`%AKdWbezp*Ufa?9)y
z6i7woTesN+xC~@0Y2=vzZ~Z<}`UmU6cdr82>+W;_T6pQu{=(qAI-Xg81OU^IxTwJW
z?C|ApRtN=F%cb4#>0D6jY*AobKwagxo!KtGT=lRGN^GJe$p%x0L)-K2i#*R!r+;Il
z=)~^47CP9FU7nn^gV?(SXV|=(%McrIAzmA+E3F}%Bhp4b;)*A%+5999$!ja2Jn>Kd
zq%fw%e)<%6kH6AB5=(8=q>p(G$O!V`OvrkzJzxh@^=H5FtiOTnt&mGwhm;7-4kszv
z?}x4LAet`0L{DF)fSYB6Fh!&{j1-Foy$^gHAUPMLF*!?CGnJ7eH2hSe@v)h3UVZ}~
z<L@PHy&z8u9uyvVp3Uey8MFQ_Edz*sdk1R&7xU!O;>6Nw!0BQ5=`lvO!=y>EzB(Hw
zs$M!{!ZGlP`tX?>-xrP|8@s@g+1pN*yq1mf6D3h5QCyY+BKCep-pWzemIo-$*My`}
zvOTuG5AH9Ym3p31Nbcl2r2wY2lHVZW2a9_daJ%bdTNYPtu<@(N@|SIM_=+}-_Qrx4
ztdZ6`f5U)O?+kWdTW_I>jCrcPF?tGD9kuMc6R}()pC%Jqnpc3D4^pA@fA1{a(|tp;
zm^#WF00zL!%CnQLHnj8`st4%319YklJk7@Ryl^TXr%154XD;_@b++b}B*ba=#|iFp
zd+Hy86>P~#?}A#{YpRcZ$t9nu%lwUJ!X4)7v<3p)IMOPO`907MZ{%ND{W-o`&otm-
zDCnZYsj|~6CXVT`enFE2E|0Bk_m@oon_Uc9ZA4&hHlu$A>t|ZqS+KNCJhjY)?^Qdh
zN!hm)obgy7+%dbk8o?vWLrd$4hTWJoqv|`di67m$ZSYUM_G6ppl-Jt(G-l(3Ar6!X
z6CU-(9B@UZH_gM6Mfq4!*F65eLd<<)twmAW<l#He_}BCI1#JE8q)(fVWl7YPD;zm?
zNs^fCXavk2aIf~q&6%xtbJUr}Kl$`Uo{E6A=3UeLm~Kch3rk*@19EXp!l)RohBz7F
z`gwqw9ij7$nS`EsT*ZR(mm66z`Fx5qQ#-P?y;*!95b*l-n|%`QRN*5Opv1g(b?uFP
z^r{26@JOC)-tx$j=Lx0iiR1gf{zM#Iq@u!q8V7LI<u3x}shRp^W|S2p0aOzd5I*tS
z`E5P>Sp3&-0NMZ2dF(3y9_rC}JZuF3rTd#P!JGbPs4x-lu>#Pb4o<<pTLGxE)T9Ca
zAyC|XeEjiMD*!%xdLDqC`J7kzuh8Q0;8g$&^e;~R5AE{5dMc_bS$MZq07U5jVt^?X
z)j6R3|3tbHfZuHbaN+A$0n*gr4ft=XfNRtoy?C)TfHuveegIx)>RcPR24DyM9UcHw
zRD0(X&wuEhf92K?K7S1Wk^cKco?A?uTd@DDK5vPC0Z_U6xS0C-p#0>VP$>NFDu5eL
WyABYfUL3=Vt^>sB^(W6~QvDB0AwKv3

diff --git a/enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/dao/BussinesscardRecordDao.java b/enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/dao/BussinesscardRecordDao.java
new file mode 100644
index 0000000..ecd750f
--- /dev/null
+++ b/enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/dao/BussinesscardRecordDao.java
@@ -0,0 +1,17 @@
+package com.mortals.xhx.module.bussinesscard.dao;
+
+import com.mortals.framework.dao.ICRUDDao;
+import com.mortals.xhx.module.bussinesscard.model.BussinesscardRecordEntity;
+import java.util.List;
+/**
+* 鍚嶇墖璁块棶璁板綍淇℃伅Dao
+* 鍚嶇墖璁块棶璁板綍淇℃伅 DAO鎺ュ彛
+*
+* @author zxfei
+* @date 2024-11-20
+*/
+
+public interface  BussinesscardRecordDao extends ICRUDDao<BussinesscardRecordEntity,Long>{
+
+
+}
diff --git a/enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/dao/ibatis/BussinesscardRecordDaoImpl.java b/enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/dao/ibatis/BussinesscardRecordDaoImpl.java
new file mode 100644
index 0000000..0fcf2f4
--- /dev/null
+++ b/enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/dao/ibatis/BussinesscardRecordDaoImpl.java
@@ -0,0 +1,21 @@
+package com.mortals.xhx.module.bussinesscard.dao.ibatis;
+
+
+import org.springframework.stereotype.Repository;
+import com.mortals.xhx.module.bussinesscard.dao.BussinesscardRecordDao;
+import com.mortals.xhx.module.bussinesscard.model.BussinesscardRecordEntity;
+import java.util.Date;
+import com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis;
+import java.util.List;
+/**
+* 鍚嶇墖璁块棶璁板綍淇℃伅DaoImpl DAO鎺ュ彛
+*
+* @author zxfei
+* @date 2024-11-20
+*/
+@Repository("bussinesscardRecordDao")
+public class BussinesscardRecordDaoImpl extends BaseCRUDDaoMybatis<BussinesscardRecordEntity,Long> implements BussinesscardRecordDao {
+
+
+
+}
diff --git a/enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/model/BussinesscardEntity.java b/enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/model/BussinesscardEntity.java
index 9f300ee..7f69777 100644
--- a/enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/model/BussinesscardEntity.java
+++ b/enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/model/BussinesscardEntity.java
@@ -59,7 +59,7 @@ public class BussinesscardEntity extends BussinesscardVo {
     /**
      * 璁板綍鍚嶇墖鎸佹湁鑰呮墍鍦ㄥ叕鍙告垨缁勭粐鐨勫悕绉癐D
      */
-    private String companyId;
+    private Long companyId;
     /**
      * 璁板綍鍚嶇墖鎸佹湁鑰呮墍鍦ㄥ叕鍙告垨缁勭粐鐨勫悕绉�
      */
@@ -104,6 +104,10 @@ public class BussinesscardEntity extends BussinesscardVo {
      * 鍚嶇墖灞曠ず璁剧疆
      */
     private String setting;
+    /**
+     * 鍏徃鍦板潃
+     */
+    private String companyAdress;
     @Override
     public int hashCode() {
         return this.getId().hashCode();
@@ -130,7 +134,7 @@ public class BussinesscardEntity extends BussinesscardVo {
         this.email = "";
         this.phoneNumber = "";
         this.idCard = "";
-        this.companyId = "";
+        this.companyId = null;
         this.companyName = "";
         this.positionId = null;
         this.positionName = "";
@@ -142,5 +146,6 @@ public class BussinesscardEntity extends BussinesscardVo {
         this.viewsByDay = 0;
         this.sendBusinessCardTimes = 0;
         this.setting = "";
+        this.companyAdress = "";
     }
 }
\ No newline at end of file
diff --git a/enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/model/BussinesscardQuery.java b/enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/model/BussinesscardQuery.java
index 2a75596..ce6a147 100644
--- a/enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/model/BussinesscardQuery.java
+++ b/enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/model/BussinesscardQuery.java
@@ -7,7 +7,7 @@ import com.mortals.xhx.module.bussinesscard.model.BussinesscardEntity;
  * 鍚嶇墖鍩烘湰淇℃伅鏌ヨ瀵硅薄
  *
  * @author zxfei
- * @date 2024-11-19
+ * @date 2024-11-20
  */
 public class BussinesscardQuery extends BussinesscardEntity {
     /** 寮€濮� 搴忓彿锛屼富閿紝鑷闀� */
@@ -91,11 +91,21 @@ public class BussinesscardQuery extends BussinesscardEntity {
 
     /** 韬唤璇佸彿鐮佹帓闄ゅ垪琛� */
     private List <String> idCardNotList;
-    /** 璁板綍鍚嶇墖鎸佹湁鑰呮墍鍦ㄥ叕鍙告垨缁勭粐鐨勫悕绉癐D */
-    private List<String> companyIdList;
+    /** 寮€濮� 璁板綍鍚嶇墖鎸佹湁鑰呮墍鍦ㄥ叕鍙告垨缁勭粐鐨勫悕绉癐D */
+    private Long companyIdStart;
+
+    /** 缁撴潫 璁板綍鍚嶇墖鎸佹湁鑰呮墍鍦ㄥ叕鍙告垨缁勭粐鐨勫悕绉癐D */
+    private Long companyIdEnd;
+
+    /** 澧炲姞 璁板綍鍚嶇墖鎸佹湁鑰呮墍鍦ㄥ叕鍙告垨缁勭粐鐨勫悕绉癐D */
+    private Long companyIdIncrement;
+
+    /** 璁板綍鍚嶇墖鎸佹湁鑰呮墍鍦ㄥ叕鍙告垨缁勭粐鐨勫悕绉癐D鍒楄〃 */
+    private List <Long> companyIdList;
 
     /** 璁板綍鍚嶇墖鎸佹湁鑰呮墍鍦ㄥ叕鍙告垨缁勭粐鐨勫悕绉癐D鎺掗櫎鍒楄〃 */
-    private List <String> companyIdNotList;
+    private List <Long> companyIdNotList;
+
     /** 璁板綍鍚嶇墖鎸佹湁鑰呮墍鍦ㄥ叕鍙告垨缁勭粐鐨勫悕绉� */
     private List<String> companyNameList;
 
@@ -233,6 +243,11 @@ public class BussinesscardQuery extends BussinesscardEntity {
 
     /** 鍚嶇墖灞曠ず璁剧疆鎺掗櫎鍒楄〃 */
     private List <String> settingNotList;
+    /** 鍏徃鍦板潃 */
+    private List<String> companyAdressList;
+
+    /** 鍏徃鍦板潃鎺掗櫎鍒楄〃 */
+    private List <String> companyAdressNotList;
     /** OR鏉′欢闆嗗悎锛屽垪琛ㄩ」涔嬮棿鏄疧R锛岄」鍐呭涔嬮棿鏄疉ND锛屽锛�(list[0].1 and list[0].2) or (list[1].3 and list[1].4) */
     private List<BussinesscardQuery> orConditionList;
 
@@ -708,11 +723,59 @@ public class BussinesscardQuery extends BussinesscardEntity {
         this.idCardNotList = idCardNotList;
     }
 
+    /**
+     * 鑾峰彇 寮€濮� 璁板綍鍚嶇墖鎸佹湁鑰呮墍鍦ㄥ叕鍙告垨缁勭粐鐨勫悕绉癐D
+     * @return companyIdStart
+     */
+    public Long getCompanyIdStart(){
+        return this.companyIdStart;
+    }
+
+    /**
+     * 璁剧疆 寮€濮� 璁板綍鍚嶇墖鎸佹湁鑰呮墍鍦ㄥ叕鍙告垨缁勭粐鐨勫悕绉癐D
+     * @param companyIdStart
+     */
+    public void setCompanyIdStart(Long companyIdStart){
+        this.companyIdStart = companyIdStart;
+    }
+
+    /**
+     * 鑾峰彇 缁撴潫 璁板綍鍚嶇墖鎸佹湁鑰呮墍鍦ㄥ叕鍙告垨缁勭粐鐨勫悕绉癐D
+     * @return $companyIdEnd
+     */
+    public Long getCompanyIdEnd(){
+        return this.companyIdEnd;
+    }
+
+    /**
+     * 璁剧疆 缁撴潫 璁板綍鍚嶇墖鎸佹湁鑰呮墍鍦ㄥ叕鍙告垨缁勭粐鐨勫悕绉癐D
+     * @param companyIdEnd
+     */
+    public void setCompanyIdEnd(Long companyIdEnd){
+        this.companyIdEnd = companyIdEnd;
+    }
+
+    /**
+     * 鑾峰彇 澧炲姞 璁板綍鍚嶇墖鎸佹湁鑰呮墍鍦ㄥ叕鍙告垨缁勭粐鐨勫悕绉癐D
+     * @return companyIdIncrement
+     */
+    public Long getCompanyIdIncrement(){
+        return this.companyIdIncrement;
+    }
+
+    /**
+     * 璁剧疆 澧炲姞 璁板綍鍚嶇墖鎸佹湁鑰呮墍鍦ㄥ叕鍙告垨缁勭粐鐨勫悕绉癐D
+     * @param companyIdIncrement
+     */
+    public void setCompanyIdIncrement(Long companyIdIncrement){
+        this.companyIdIncrement = companyIdIncrement;
+    }
+
     /**
      * 鑾峰彇 璁板綍鍚嶇墖鎸佹湁鑰呮墍鍦ㄥ叕鍙告垨缁勭粐鐨勫悕绉癐D
      * @return companyIdList
      */
-    public List<String> getCompanyIdList(){
+    public List<Long> getCompanyIdList(){
         return this.companyIdList;
     }
 
@@ -720,7 +783,7 @@ public class BussinesscardQuery extends BussinesscardEntity {
      * 璁剧疆 璁板綍鍚嶇墖鎸佹湁鑰呮墍鍦ㄥ叕鍙告垨缁勭粐鐨勫悕绉癐D
      * @param companyIdList
      */
-    public void setCompanyIdList(List<String> companyIdList){
+    public void setCompanyIdList(List<Long> companyIdList){
         this.companyIdList = companyIdList;
     }
 
@@ -728,7 +791,7 @@ public class BussinesscardQuery extends BussinesscardEntity {
      * 鑾峰彇 璁板綍鍚嶇墖鎸佹湁鑰呮墍鍦ㄥ叕鍙告垨缁勭粐鐨勫悕绉癐D
      * @return companyIdNotList
      */
-    public List<String> getCompanyIdNotList(){
+    public List<Long> getCompanyIdNotList(){
         return this.companyIdNotList;
     }
 
@@ -736,10 +799,11 @@ public class BussinesscardQuery extends BussinesscardEntity {
      * 璁剧疆 璁板綍鍚嶇墖鎸佹湁鑰呮墍鍦ㄥ叕鍙告垨缁勭粐鐨勫悕绉癐D
      * @param companyIdNotList
      */
-    public void setCompanyIdNotList(List<String> companyIdNotList){
+    public void setCompanyIdNotList(List<Long> companyIdNotList){
         this.companyIdNotList = companyIdNotList;
     }
 
+
     /**
      * 鑾峰彇 璁板綍鍚嶇墖鎸佹湁鑰呮墍鍦ㄥ叕鍙告垨缁勭粐鐨勫悕绉�
      * @return companyNameList
@@ -1514,6 +1578,38 @@ public class BussinesscardQuery extends BussinesscardEntity {
         this.settingNotList = settingNotList;
     }
 
+    /**
+     * 鑾峰彇 鍏徃鍦板潃
+     * @return companyAdressList
+     */
+    public List<String> getCompanyAdressList(){
+        return this.companyAdressList;
+    }
+
+    /**
+     * 璁剧疆 鍏徃鍦板潃
+     * @param companyAdressList
+     */
+    public void setCompanyAdressList(List<String> companyAdressList){
+        this.companyAdressList = companyAdressList;
+    }
+
+    /**
+     * 鑾峰彇 鍏徃鍦板潃
+     * @return companyAdressNotList
+     */
+    public List<String> getCompanyAdressNotList(){
+        return this.companyAdressNotList;
+    }
+
+    /**
+     * 璁剧疆 鍏徃鍦板潃
+     * @param companyAdressNotList
+     */
+    public void setCompanyAdressNotList(List<String> companyAdressNotList){
+        this.companyAdressNotList = companyAdressNotList;
+    }
+
     /**
      * 璁剧疆  搴忓彿锛屼富閿紝鑷闀�
      * @param id
@@ -1791,25 +1887,60 @@ public class BussinesscardQuery extends BussinesscardEntity {
         return this;
     }
 
-
     /**
-     * 璁剧疆 璁板綍鍚嶇墖鎸佹湁鑰呮墍鍦ㄥ叕鍙告垨缁勭粐鐨勫悕绉癐D
+     * 璁剧疆  璁板綍鍚嶇墖鎸佹湁鑰呮墍鍦ㄥ叕鍙告垨缁勭粐鐨勫悕绉癐D
      * @param companyId
      */
-    public BussinesscardQuery companyId(String companyId){
+    public BussinesscardQuery companyId(Long companyId){
         setCompanyId(companyId);
         return this;
     }
 
+    /**
+     * 璁剧疆 寮€濮� 璁板綍鍚嶇墖鎸佹湁鑰呮墍鍦ㄥ叕鍙告垨缁勭粐鐨勫悕绉癐D
+     * @param companyIdStart
+     */
+    public BussinesscardQuery companyIdStart(Long companyIdStart){
+        this.companyIdStart = companyIdStart;
+        return this;
+    }
+
+    /**
+     * 璁剧疆 缁撴潫 璁板綍鍚嶇墖鎸佹湁鑰呮墍鍦ㄥ叕鍙告垨缁勭粐鐨勫悕绉癐D
+     * @param companyIdEnd
+     */
+    public BussinesscardQuery companyIdEnd(Long companyIdEnd){
+        this.companyIdEnd = companyIdEnd;
+        return this;
+    }
+
+    /**
+     * 璁剧疆 澧炲姞 璁板綍鍚嶇墖鎸佹湁鑰呮墍鍦ㄥ叕鍙告垨缁勭粐鐨勫悕绉癐D
+     * @param companyIdIncrement
+     */
+    public BussinesscardQuery companyIdIncrement(Long companyIdIncrement){
+        this.companyIdIncrement = companyIdIncrement;
+        return this;
+    }
+
     /**
      * 璁剧疆 璁板綍鍚嶇墖鎸佹湁鑰呮墍鍦ㄥ叕鍙告垨缁勭粐鐨勫悕绉癐D
      * @param companyIdList
      */
-    public BussinesscardQuery companyIdList(List<String> companyIdList){
+    public BussinesscardQuery companyIdList(List<Long> companyIdList){
         this.companyIdList = companyIdList;
         return this;
     }
 
+    /**
+     * 璁剧疆 璁板綍鍚嶇墖鎸佹湁鑰呮墍鍦ㄥ叕鍙告垨缁勭粐鐨勫悕绉癐D
+     * @param companyIdNotList
+     */
+    public BussinesscardQuery companyIdNotList(List<Long> companyIdNotList){
+        this.companyIdNotList = companyIdNotList;
+        return this;
+    }
+
 
     /**
      * 璁剧疆 璁板綍鍚嶇墖鎸佹湁鑰呮墍鍦ㄥ叕鍙告垨缁勭粐鐨勫悕绉�
@@ -2269,6 +2400,25 @@ public class BussinesscardQuery extends BussinesscardEntity {
         return this;
     }
 
+
+    /**
+     * 璁剧疆 鍏徃鍦板潃
+     * @param companyAdress
+     */
+    public BussinesscardQuery companyAdress(String companyAdress){
+        setCompanyAdress(companyAdress);
+        return this;
+    }
+
+    /**
+     * 璁剧疆 鍏徃鍦板潃
+     * @param companyAdressList
+     */
+    public BussinesscardQuery companyAdressList(List<String> companyAdressList){
+        this.companyAdressList = companyAdressList;
+        return this;
+    }
+
     /**
      * 鑾峰彇 OR鏉′欢闆嗗悎锛屽垪琛ㄩ」涔嬮棿鏄疧R锛岄」鍐呭涔嬮棿鏄疉ND锛屽锛�(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
      * @return orConditionList
diff --git a/enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/model/BussinesscardRecordEntity.java b/enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/model/BussinesscardRecordEntity.java
new file mode 100644
index 0000000..6b83a06
--- /dev/null
+++ b/enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/model/BussinesscardRecordEntity.java
@@ -0,0 +1,71 @@
+package com.mortals.xhx.module.bussinesscard.model;
+import java.util.Date;
+import java.util.List;
+import java.util.ArrayList;
+import java.math.BigDecimal;
+import cn.hutool.core.date.DateUtil;
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.mortals.framework.annotation.Excel;
+import com.mortals.framework.model.BaseEntityLong;
+import com.mortals.xhx.module.bussinesscard.model.vo.BussinesscardRecordVo;
+import lombok.Data;
+/**
+* 鍚嶇墖璁块棶璁板綍淇℃伅瀹炰綋瀵硅薄
+*
+* @author zxfei
+* @date 2024-11-20
+*/
+@Data
+public class BussinesscardRecordEntity extends BussinesscardRecordVo {
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 鍚嶇墖ID
+    */
+    private Long bussinesscardId;
+    /**
+    * 鏌ョ湅浜篿d
+    */
+    private Long viewId;
+    /**
+    * 鏌ョ湅浜哄悕绉�
+    */
+    private String viewName;
+    /**
+    * 绱鏌ョ湅娆℃暟
+    */
+    private Integer sumViews;
+    /**
+    * 澶囨敞
+    */
+    private String remark;
+    /**
+    * 鏈€鍚庢祻瑙堟椂闂�
+    */
+    private Date viewTime;
+    @Override
+    public int hashCode() {
+         return this.getId().hashCode();
+    }
+    @Override
+    public boolean equals(Object obj) {
+        if (obj == null) return false;
+        if (obj instanceof BussinesscardRecordEntity) {
+            BussinesscardRecordEntity tmp = (BussinesscardRecordEntity) obj;
+            if (this.getId() == tmp.getId()) {
+                 return true;
+            }
+        }
+        return false;
+    }
+
+    public void initAttrValue(){
+            this.bussinesscardId = null;
+            this.viewId = null;
+            this.viewName = "";
+            this.sumViews = 0;
+            this.remark = "";
+            this.viewTime = null;
+    }
+}
\ No newline at end of file
diff --git a/enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/model/BussinesscardRecordQuery.java b/enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/model/BussinesscardRecordQuery.java
new file mode 100644
index 0000000..dcff60a
--- /dev/null
+++ b/enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/model/BussinesscardRecordQuery.java
@@ -0,0 +1,1182 @@
+package com.mortals.xhx.module.bussinesscard.model;
+
+import java.util.Date;
+import java.util.List;
+import com.mortals.xhx.module.bussinesscard.model.BussinesscardRecordEntity;
+/**
+* 鍚嶇墖璁块棶璁板綍淇℃伅鏌ヨ瀵硅薄
+*
+* @author zxfei
+* @date 2024-11-20
+*/
+public class BussinesscardRecordQuery extends BussinesscardRecordEntity {
+    /** 寮€濮� 搴忓彿锛屼富閿紝鑷闀� */
+    private Long idStart;
+
+    /** 缁撴潫 搴忓彿锛屼富閿紝鑷闀� */
+    private Long idEnd;
+
+    /** 澧炲姞 搴忓彿锛屼富閿紝鑷闀� */
+    private Long idIncrement;
+
+    /** 搴忓彿锛屼富閿紝鑷闀垮垪琛� */
+    private List <Long> idList;
+
+    /** 搴忓彿锛屼富閿紝鑷闀挎帓闄ゅ垪琛� */
+    private List <Long> idNotList;
+
+    /** 寮€濮� 鍚嶇墖ID */
+    private Long bussinesscardIdStart;
+
+    /** 缁撴潫 鍚嶇墖ID */
+    private Long bussinesscardIdEnd;
+
+    /** 澧炲姞 鍚嶇墖ID */
+    private Long bussinesscardIdIncrement;
+
+    /** 鍚嶇墖ID鍒楄〃 */
+    private List <Long> bussinesscardIdList;
+
+    /** 鍚嶇墖ID鎺掗櫎鍒楄〃 */
+    private List <Long> bussinesscardIdNotList;
+
+    /** 寮€濮� 鏌ョ湅浜篿d */
+    private Long viewIdStart;
+
+    /** 缁撴潫 鏌ョ湅浜篿d */
+    private Long viewIdEnd;
+
+    /** 澧炲姞 鏌ョ湅浜篿d */
+    private Long viewIdIncrement;
+
+    /** 鏌ョ湅浜篿d鍒楄〃 */
+    private List <Long> viewIdList;
+
+    /** 鏌ョ湅浜篿d鎺掗櫎鍒楄〃 */
+    private List <Long> viewIdNotList;
+
+    /** 鏌ョ湅浜哄悕绉� */
+    private List<String> viewNameList;
+
+    /** 鏌ョ湅浜哄悕绉版帓闄ゅ垪琛� */
+    private List <String> viewNameNotList;
+    /** 寮€濮� 绱鏌ョ湅娆℃暟 */
+    private Integer sumViewsStart;
+
+    /** 缁撴潫 绱鏌ョ湅娆℃暟 */
+    private Integer sumViewsEnd;
+
+    /** 澧炲姞 绱鏌ョ湅娆℃暟 */
+    private Integer sumViewsIncrement;
+
+    /** 绱鏌ョ湅娆℃暟鍒楄〃 */
+    private List <Integer> sumViewsList;
+
+    /** 绱鏌ョ湅娆℃暟鎺掗櫎鍒楄〃 */
+    private List <Integer> sumViewsNotList;
+
+    /** 澶囨敞 */
+    private List<String> remarkList;
+
+    /** 澶囨敞鎺掗櫎鍒楄〃 */
+    private List <String> remarkNotList;
+    /** 寮€濮� 鏈€鍚庢祻瑙堟椂闂� */
+    private String viewTimeStart;
+
+    /** 缁撴潫 鏈€鍚庢祻瑙堟椂闂� */
+    private String viewTimeEnd;
+
+    /** 寮€濮� 鍒涘缓鐢ㄦ埛 */
+    private Long createUserIdStart;
+
+    /** 缁撴潫 鍒涘缓鐢ㄦ埛 */
+    private Long createUserIdEnd;
+
+    /** 澧炲姞 鍒涘缓鐢ㄦ埛 */
+    private Long createUserIdIncrement;
+
+    /** 鍒涘缓鐢ㄦ埛鍒楄〃 */
+    private List <Long> createUserIdList;
+
+    /** 鍒涘缓鐢ㄦ埛鎺掗櫎鍒楄〃 */
+    private List <Long> createUserIdNotList;
+
+    /** 寮€濮� 鍒涘缓鏃堕棿 */
+    private String createTimeStart;
+
+    /** 缁撴潫 鍒涘缓鏃堕棿 */
+    private String createTimeEnd;
+
+    /** 寮€濮� 鏇存柊鐢ㄦ埛 */
+    private Long updateUserIdStart;
+
+    /** 缁撴潫 鏇存柊鐢ㄦ埛 */
+    private Long updateUserIdEnd;
+
+    /** 澧炲姞 鏇存柊鐢ㄦ埛 */
+    private Long updateUserIdIncrement;
+
+    /** 鏇存柊鐢ㄦ埛鍒楄〃 */
+    private List <Long> updateUserIdList;
+
+    /** 鏇存柊鐢ㄦ埛鎺掗櫎鍒楄〃 */
+    private List <Long> updateUserIdNotList;
+
+    /** 寮€濮� 鏇存柊鏃堕棿 */
+    private String updateTimeStart;
+
+    /** 缁撴潫 鏇存柊鏃堕棿 */
+    private String updateTimeEnd;
+
+    /** OR鏉′欢闆嗗悎锛屽垪琛ㄩ」涔嬮棿鏄疧R锛岄」鍐呭涔嬮棿鏄疉ND锛屽锛�(list[0].1 and list[0].2) or (list[1].3 and list[1].4) */
+    private List<BussinesscardRecordQuery> orConditionList;
+
+    /** AND鏉′欢闆嗗悎锛屽垪琛ㄩ」涔嬮棿鏄疉ND锛岄」鍐呭涔嬮棿鏄疧R锛屽锛�(list[0].1 or list[0].2) and (list[1].3 or list[1].4) */
+    private List<BussinesscardRecordQuery> andConditionList;
+
+    public BussinesscardRecordQuery(){}
+
+    /**
+    * 鑾峰彇 寮€濮� 搴忓彿锛屼富閿紝鑷闀�
+    * @return idStart
+    */
+    public Long getIdStart(){
+        return this.idStart;
+    }
+
+    /**
+    * 璁剧疆 寮€濮� 搴忓彿锛屼富閿紝鑷闀�
+    * @param idStart
+    */
+    public void setIdStart(Long idStart){
+        this.idStart = idStart;
+    }
+
+    /**
+    * 鑾峰彇 缁撴潫 搴忓彿锛屼富閿紝鑷闀�
+    * @return $idEnd
+    */
+    public Long getIdEnd(){
+        return this.idEnd;
+    }
+
+    /**
+    * 璁剧疆 缁撴潫 搴忓彿锛屼富閿紝鑷闀�
+    * @param idEnd
+    */
+    public void setIdEnd(Long idEnd){
+        this.idEnd = idEnd;
+    }
+
+    /**
+    * 鑾峰彇 澧炲姞 搴忓彿锛屼富閿紝鑷闀�
+    * @return idIncrement
+    */
+    public Long getIdIncrement(){
+        return this.idIncrement;
+    }
+
+    /**
+    * 璁剧疆 澧炲姞 搴忓彿锛屼富閿紝鑷闀�
+    * @param idIncrement
+    */
+    public void setIdIncrement(Long idIncrement){
+        this.idIncrement = idIncrement;
+    }
+
+    /**
+    * 鑾峰彇 搴忓彿锛屼富閿紝鑷闀�
+    * @return idList
+    */
+    public List<Long> getIdList(){
+        return this.idList;
+    }
+
+    /**
+    * 璁剧疆 搴忓彿锛屼富閿紝鑷闀�
+    * @param idList
+    */
+    public void setIdList(List<Long> idList){
+        this.idList = idList;
+    }
+
+    /**
+    * 鑾峰彇 搴忓彿锛屼富閿紝鑷闀�
+    * @return idNotList
+    */
+    public List<Long> getIdNotList(){
+        return this.idNotList;
+    }
+
+    /**
+    * 璁剧疆 搴忓彿锛屼富閿紝鑷闀�
+    * @param idNotList
+    */
+    public void setIdNotList(List<Long> idNotList){
+        this.idNotList = idNotList;
+    }
+
+
+    /**
+    * 鑾峰彇 寮€濮� 鍚嶇墖ID
+    * @return bussinesscardIdStart
+    */
+    public Long getBussinesscardIdStart(){
+        return this.bussinesscardIdStart;
+    }
+
+    /**
+    * 璁剧疆 寮€濮� 鍚嶇墖ID
+    * @param bussinesscardIdStart
+    */
+    public void setBussinesscardIdStart(Long bussinesscardIdStart){
+        this.bussinesscardIdStart = bussinesscardIdStart;
+    }
+
+    /**
+    * 鑾峰彇 缁撴潫 鍚嶇墖ID
+    * @return $bussinesscardIdEnd
+    */
+    public Long getBussinesscardIdEnd(){
+        return this.bussinesscardIdEnd;
+    }
+
+    /**
+    * 璁剧疆 缁撴潫 鍚嶇墖ID
+    * @param bussinesscardIdEnd
+    */
+    public void setBussinesscardIdEnd(Long bussinesscardIdEnd){
+        this.bussinesscardIdEnd = bussinesscardIdEnd;
+    }
+
+    /**
+    * 鑾峰彇 澧炲姞 鍚嶇墖ID
+    * @return bussinesscardIdIncrement
+    */
+    public Long getBussinesscardIdIncrement(){
+        return this.bussinesscardIdIncrement;
+    }
+
+    /**
+    * 璁剧疆 澧炲姞 鍚嶇墖ID
+    * @param bussinesscardIdIncrement
+    */
+    public void setBussinesscardIdIncrement(Long bussinesscardIdIncrement){
+        this.bussinesscardIdIncrement = bussinesscardIdIncrement;
+    }
+
+    /**
+    * 鑾峰彇 鍚嶇墖ID
+    * @return bussinesscardIdList
+    */
+    public List<Long> getBussinesscardIdList(){
+        return this.bussinesscardIdList;
+    }
+
+    /**
+    * 璁剧疆 鍚嶇墖ID
+    * @param bussinesscardIdList
+    */
+    public void setBussinesscardIdList(List<Long> bussinesscardIdList){
+        this.bussinesscardIdList = bussinesscardIdList;
+    }
+
+    /**
+    * 鑾峰彇 鍚嶇墖ID
+    * @return bussinesscardIdNotList
+    */
+    public List<Long> getBussinesscardIdNotList(){
+        return this.bussinesscardIdNotList;
+    }
+
+    /**
+    * 璁剧疆 鍚嶇墖ID
+    * @param bussinesscardIdNotList
+    */
+    public void setBussinesscardIdNotList(List<Long> bussinesscardIdNotList){
+        this.bussinesscardIdNotList = bussinesscardIdNotList;
+    }
+
+
+    /**
+    * 鑾峰彇 寮€濮� 鏌ョ湅浜篿d
+    * @return viewIdStart
+    */
+    public Long getViewIdStart(){
+        return this.viewIdStart;
+    }
+
+    /**
+    * 璁剧疆 寮€濮� 鏌ョ湅浜篿d
+    * @param viewIdStart
+    */
+    public void setViewIdStart(Long viewIdStart){
+        this.viewIdStart = viewIdStart;
+    }
+
+    /**
+    * 鑾峰彇 缁撴潫 鏌ョ湅浜篿d
+    * @return $viewIdEnd
+    */
+    public Long getViewIdEnd(){
+        return this.viewIdEnd;
+    }
+
+    /**
+    * 璁剧疆 缁撴潫 鏌ョ湅浜篿d
+    * @param viewIdEnd
+    */
+    public void setViewIdEnd(Long viewIdEnd){
+        this.viewIdEnd = viewIdEnd;
+    }
+
+    /**
+    * 鑾峰彇 澧炲姞 鏌ョ湅浜篿d
+    * @return viewIdIncrement
+    */
+    public Long getViewIdIncrement(){
+        return this.viewIdIncrement;
+    }
+
+    /**
+    * 璁剧疆 澧炲姞 鏌ョ湅浜篿d
+    * @param viewIdIncrement
+    */
+    public void setViewIdIncrement(Long viewIdIncrement){
+        this.viewIdIncrement = viewIdIncrement;
+    }
+
+    /**
+    * 鑾峰彇 鏌ョ湅浜篿d
+    * @return viewIdList
+    */
+    public List<Long> getViewIdList(){
+        return this.viewIdList;
+    }
+
+    /**
+    * 璁剧疆 鏌ョ湅浜篿d
+    * @param viewIdList
+    */
+    public void setViewIdList(List<Long> viewIdList){
+        this.viewIdList = viewIdList;
+    }
+
+    /**
+    * 鑾峰彇 鏌ョ湅浜篿d
+    * @return viewIdNotList
+    */
+    public List<Long> getViewIdNotList(){
+        return this.viewIdNotList;
+    }
+
+    /**
+    * 璁剧疆 鏌ョ湅浜篿d
+    * @param viewIdNotList
+    */
+    public void setViewIdNotList(List<Long> viewIdNotList){
+        this.viewIdNotList = viewIdNotList;
+    }
+
+
+    /**
+    * 鑾峰彇 鏌ョ湅浜哄悕绉�
+    * @return viewNameList
+    */
+    public List<String> getViewNameList(){
+        return this.viewNameList;
+    }
+
+    /**
+    * 璁剧疆 鏌ョ湅浜哄悕绉�
+    * @param viewNameList
+    */
+    public void setViewNameList(List<String> viewNameList){
+        this.viewNameList = viewNameList;
+    }
+
+    /**
+    * 鑾峰彇 鏌ョ湅浜哄悕绉�
+    * @return viewNameNotList
+    */
+    public List<String> getViewNameNotList(){
+        return this.viewNameNotList;
+    }
+
+    /**
+    * 璁剧疆 鏌ョ湅浜哄悕绉�
+    * @param viewNameNotList
+    */
+    public void setViewNameNotList(List<String> viewNameNotList){
+        this.viewNameNotList = viewNameNotList;
+    }
+
+    /**
+    * 鑾峰彇 寮€濮� 绱鏌ョ湅娆℃暟
+    * @return sumViewsStart
+    */
+    public Integer getSumViewsStart(){
+        return this.sumViewsStart;
+    }
+
+    /**
+    * 璁剧疆 寮€濮� 绱鏌ョ湅娆℃暟
+    * @param sumViewsStart
+    */
+    public void setSumViewsStart(Integer sumViewsStart){
+        this.sumViewsStart = sumViewsStart;
+    }
+
+    /**
+    * 鑾峰彇 缁撴潫 绱鏌ョ湅娆℃暟
+    * @return $sumViewsEnd
+    */
+    public Integer getSumViewsEnd(){
+        return this.sumViewsEnd;
+    }
+
+    /**
+    * 璁剧疆 缁撴潫 绱鏌ョ湅娆℃暟
+    * @param sumViewsEnd
+    */
+    public void setSumViewsEnd(Integer sumViewsEnd){
+        this.sumViewsEnd = sumViewsEnd;
+    }
+
+    /**
+    * 鑾峰彇 澧炲姞 绱鏌ョ湅娆℃暟
+    * @return sumViewsIncrement
+    */
+    public Integer getSumViewsIncrement(){
+        return this.sumViewsIncrement;
+    }
+
+    /**
+    * 璁剧疆 澧炲姞 绱鏌ョ湅娆℃暟
+    * @param sumViewsIncrement
+    */
+    public void setSumViewsIncrement(Integer sumViewsIncrement){
+        this.sumViewsIncrement = sumViewsIncrement;
+    }
+
+    /**
+    * 鑾峰彇 绱鏌ョ湅娆℃暟
+    * @return sumViewsList
+    */
+    public List<Integer> getSumViewsList(){
+        return this.sumViewsList;
+    }
+
+    /**
+    * 璁剧疆 绱鏌ョ湅娆℃暟
+    * @param sumViewsList
+    */
+    public void setSumViewsList(List<Integer> sumViewsList){
+        this.sumViewsList = sumViewsList;
+    }
+
+    /**
+    * 鑾峰彇 绱鏌ョ湅娆℃暟
+    * @return sumViewsNotList
+    */
+    public List<Integer> getSumViewsNotList(){
+        return this.sumViewsNotList;
+    }
+
+    /**
+    * 璁剧疆 绱鏌ョ湅娆℃暟
+    * @param sumViewsNotList
+    */
+    public void setSumViewsNotList(List<Integer> sumViewsNotList){
+        this.sumViewsNotList = sumViewsNotList;
+    }
+
+
+    /**
+    * 鑾峰彇 澶囨敞
+    * @return remarkList
+    */
+    public List<String> getRemarkList(){
+        return this.remarkList;
+    }
+
+    /**
+    * 璁剧疆 澶囨敞
+    * @param remarkList
+    */
+    public void setRemarkList(List<String> remarkList){
+        this.remarkList = remarkList;
+    }
+
+    /**
+    * 鑾峰彇 澶囨敞
+    * @return remarkNotList
+    */
+    public List<String> getRemarkNotList(){
+        return this.remarkNotList;
+    }
+
+    /**
+    * 璁剧疆 澶囨敞
+    * @param remarkNotList
+    */
+    public void setRemarkNotList(List<String> remarkNotList){
+        this.remarkNotList = remarkNotList;
+    }
+
+    /**
+    * 鑾峰彇 寮€濮� 鏈€鍚庢祻瑙堟椂闂�
+    * @return viewTimeStart
+    */
+    public String getViewTimeStart(){
+        return this.viewTimeStart;
+    }
+
+    /**
+    * 璁剧疆 寮€濮� 鏈€鍚庢祻瑙堟椂闂�
+    * @param viewTimeStart
+    */
+    public void setViewTimeStart(String viewTimeStart){
+        this.viewTimeStart = viewTimeStart;
+    }
+
+    /**
+    * 鑾峰彇 缁撴潫 鏈€鍚庢祻瑙堟椂闂�
+    * @return viewTimeEnd
+    */
+    public String getViewTimeEnd(){
+        return this.viewTimeEnd;
+    }
+
+    /**
+    * 璁剧疆 缁撴潫 鏈€鍚庢祻瑙堟椂闂�
+    * @param viewTimeEnd
+    */
+    public void setViewTimeEnd(String viewTimeEnd){
+        this.viewTimeEnd = viewTimeEnd;
+    }
+
+    /**
+    * 鑾峰彇 寮€濮� 鍒涘缓鐢ㄦ埛
+    * @return createUserIdStart
+    */
+    public Long getCreateUserIdStart(){
+        return this.createUserIdStart;
+    }
+
+    /**
+    * 璁剧疆 寮€濮� 鍒涘缓鐢ㄦ埛
+    * @param createUserIdStart
+    */
+    public void setCreateUserIdStart(Long createUserIdStart){
+        this.createUserIdStart = createUserIdStart;
+    }
+
+    /**
+    * 鑾峰彇 缁撴潫 鍒涘缓鐢ㄦ埛
+    * @return $createUserIdEnd
+    */
+    public Long getCreateUserIdEnd(){
+        return this.createUserIdEnd;
+    }
+
+    /**
+    * 璁剧疆 缁撴潫 鍒涘缓鐢ㄦ埛
+    * @param createUserIdEnd
+    */
+    public void setCreateUserIdEnd(Long createUserIdEnd){
+        this.createUserIdEnd = createUserIdEnd;
+    }
+
+    /**
+    * 鑾峰彇 澧炲姞 鍒涘缓鐢ㄦ埛
+    * @return createUserIdIncrement
+    */
+    public Long getCreateUserIdIncrement(){
+        return this.createUserIdIncrement;
+    }
+
+    /**
+    * 璁剧疆 澧炲姞 鍒涘缓鐢ㄦ埛
+    * @param createUserIdIncrement
+    */
+    public void setCreateUserIdIncrement(Long createUserIdIncrement){
+        this.createUserIdIncrement = createUserIdIncrement;
+    }
+
+    /**
+    * 鑾峰彇 鍒涘缓鐢ㄦ埛
+    * @return createUserIdList
+    */
+    public List<Long> getCreateUserIdList(){
+        return this.createUserIdList;
+    }
+
+    /**
+    * 璁剧疆 鍒涘缓鐢ㄦ埛
+    * @param createUserIdList
+    */
+    public void setCreateUserIdList(List<Long> createUserIdList){
+        this.createUserIdList = createUserIdList;
+    }
+
+    /**
+    * 鑾峰彇 鍒涘缓鐢ㄦ埛
+    * @return createUserIdNotList
+    */
+    public List<Long> getCreateUserIdNotList(){
+        return this.createUserIdNotList;
+    }
+
+    /**
+    * 璁剧疆 鍒涘缓鐢ㄦ埛
+    * @param createUserIdNotList
+    */
+    public void setCreateUserIdNotList(List<Long> createUserIdNotList){
+        this.createUserIdNotList = createUserIdNotList;
+    }
+
+
+    /**
+    * 鑾峰彇 寮€濮� 鍒涘缓鏃堕棿
+    * @return createTimeStart
+    */
+    public String getCreateTimeStart(){
+        return this.createTimeStart;
+    }
+
+    /**
+    * 璁剧疆 寮€濮� 鍒涘缓鏃堕棿
+    * @param createTimeStart
+    */
+    public void setCreateTimeStart(String createTimeStart){
+        this.createTimeStart = createTimeStart;
+    }
+
+    /**
+    * 鑾峰彇 缁撴潫 鍒涘缓鏃堕棿
+    * @return createTimeEnd
+    */
+    public String getCreateTimeEnd(){
+        return this.createTimeEnd;
+    }
+
+    /**
+    * 璁剧疆 缁撴潫 鍒涘缓鏃堕棿
+    * @param createTimeEnd
+    */
+    public void setCreateTimeEnd(String createTimeEnd){
+        this.createTimeEnd = createTimeEnd;
+    }
+
+    /**
+    * 鑾峰彇 寮€濮� 鏇存柊鐢ㄦ埛
+    * @return updateUserIdStart
+    */
+    public Long getUpdateUserIdStart(){
+        return this.updateUserIdStart;
+    }
+
+    /**
+    * 璁剧疆 寮€濮� 鏇存柊鐢ㄦ埛
+    * @param updateUserIdStart
+    */
+    public void setUpdateUserIdStart(Long updateUserIdStart){
+        this.updateUserIdStart = updateUserIdStart;
+    }
+
+    /**
+    * 鑾峰彇 缁撴潫 鏇存柊鐢ㄦ埛
+    * @return $updateUserIdEnd
+    */
+    public Long getUpdateUserIdEnd(){
+        return this.updateUserIdEnd;
+    }
+
+    /**
+    * 璁剧疆 缁撴潫 鏇存柊鐢ㄦ埛
+    * @param updateUserIdEnd
+    */
+    public void setUpdateUserIdEnd(Long updateUserIdEnd){
+        this.updateUserIdEnd = updateUserIdEnd;
+    }
+
+    /**
+    * 鑾峰彇 澧炲姞 鏇存柊鐢ㄦ埛
+    * @return updateUserIdIncrement
+    */
+    public Long getUpdateUserIdIncrement(){
+        return this.updateUserIdIncrement;
+    }
+
+    /**
+    * 璁剧疆 澧炲姞 鏇存柊鐢ㄦ埛
+    * @param updateUserIdIncrement
+    */
+    public void setUpdateUserIdIncrement(Long updateUserIdIncrement){
+        this.updateUserIdIncrement = updateUserIdIncrement;
+    }
+
+    /**
+    * 鑾峰彇 鏇存柊鐢ㄦ埛
+    * @return updateUserIdList
+    */
+    public List<Long> getUpdateUserIdList(){
+        return this.updateUserIdList;
+    }
+
+    /**
+    * 璁剧疆 鏇存柊鐢ㄦ埛
+    * @param updateUserIdList
+    */
+    public void setUpdateUserIdList(List<Long> updateUserIdList){
+        this.updateUserIdList = updateUserIdList;
+    }
+
+    /**
+    * 鑾峰彇 鏇存柊鐢ㄦ埛
+    * @return updateUserIdNotList
+    */
+    public List<Long> getUpdateUserIdNotList(){
+        return this.updateUserIdNotList;
+    }
+
+    /**
+    * 璁剧疆 鏇存柊鐢ㄦ埛
+    * @param updateUserIdNotList
+    */
+    public void setUpdateUserIdNotList(List<Long> updateUserIdNotList){
+        this.updateUserIdNotList = updateUserIdNotList;
+    }
+
+
+    /**
+    * 鑾峰彇 寮€濮� 鏇存柊鏃堕棿
+    * @return updateTimeStart
+    */
+    public String getUpdateTimeStart(){
+        return this.updateTimeStart;
+    }
+
+    /**
+    * 璁剧疆 寮€濮� 鏇存柊鏃堕棿
+    * @param updateTimeStart
+    */
+    public void setUpdateTimeStart(String updateTimeStart){
+        this.updateTimeStart = updateTimeStart;
+    }
+
+    /**
+    * 鑾峰彇 缁撴潫 鏇存柊鏃堕棿
+    * @return updateTimeEnd
+    */
+    public String getUpdateTimeEnd(){
+        return this.updateTimeEnd;
+    }
+
+    /**
+    * 璁剧疆 缁撴潫 鏇存柊鏃堕棿
+    * @param updateTimeEnd
+    */
+    public void setUpdateTimeEnd(String updateTimeEnd){
+        this.updateTimeEnd = updateTimeEnd;
+    }
+
+    /**
+    * 璁剧疆  搴忓彿锛屼富閿紝鑷闀�
+    * @param id
+    */
+    public BussinesscardRecordQuery id(Long id){
+	    setId(id);
+		return this;
+    }
+	
+	 /**
+    * 璁剧疆 寮€濮� 搴忓彿锛屼富閿紝鑷闀�
+    * @param idStart
+    */
+    public BussinesscardRecordQuery idStart(Long idStart){
+		this.idStart = idStart;
+		return this;
+    }
+
+    /**
+    * 璁剧疆 缁撴潫 搴忓彿锛屼富閿紝鑷闀�
+    * @param idEnd
+    */
+    public BussinesscardRecordQuery idEnd(Long idEnd){
+		this.idEnd = idEnd;
+		return this;
+    }
+
+    /**
+    * 璁剧疆 澧炲姞 搴忓彿锛屼富閿紝鑷闀�
+    * @param idIncrement
+    */
+    public BussinesscardRecordQuery idIncrement(Long idIncrement){
+		this.idIncrement = idIncrement;
+		return this;
+    }
+
+    /**
+    * 璁剧疆 搴忓彿锛屼富閿紝鑷闀�
+    * @param idList
+    */
+    public BussinesscardRecordQuery idList(List<Long> idList){
+        this.idList = idList;
+		return this;
+        }
+
+        /**
+        * 璁剧疆 搴忓彿锛屼富閿紝鑷闀�
+        * @param idNotList
+        */
+        public BussinesscardRecordQuery idNotList(List<Long> idNotList){
+        this.idNotList = idNotList;
+        return this;
+        }
+
+    /**
+    * 璁剧疆  鍚嶇墖ID
+    * @param bussinesscardId
+    */
+    public BussinesscardRecordQuery bussinesscardId(Long bussinesscardId){
+	    setBussinesscardId(bussinesscardId);
+		return this;
+    }
+	
+	 /**
+    * 璁剧疆 寮€濮� 鍚嶇墖ID
+    * @param bussinesscardIdStart
+    */
+    public BussinesscardRecordQuery bussinesscardIdStart(Long bussinesscardIdStart){
+		this.bussinesscardIdStart = bussinesscardIdStart;
+		return this;
+    }
+
+    /**
+    * 璁剧疆 缁撴潫 鍚嶇墖ID
+    * @param bussinesscardIdEnd
+    */
+    public BussinesscardRecordQuery bussinesscardIdEnd(Long bussinesscardIdEnd){
+		this.bussinesscardIdEnd = bussinesscardIdEnd;
+		return this;
+    }
+
+    /**
+    * 璁剧疆 澧炲姞 鍚嶇墖ID
+    * @param bussinesscardIdIncrement
+    */
+    public BussinesscardRecordQuery bussinesscardIdIncrement(Long bussinesscardIdIncrement){
+		this.bussinesscardIdIncrement = bussinesscardIdIncrement;
+		return this;
+    }
+
+    /**
+    * 璁剧疆 鍚嶇墖ID
+    * @param bussinesscardIdList
+    */
+    public BussinesscardRecordQuery bussinesscardIdList(List<Long> bussinesscardIdList){
+        this.bussinesscardIdList = bussinesscardIdList;
+		return this;
+        }
+
+        /**
+        * 璁剧疆 鍚嶇墖ID
+        * @param bussinesscardIdNotList
+        */
+        public BussinesscardRecordQuery bussinesscardIdNotList(List<Long> bussinesscardIdNotList){
+        this.bussinesscardIdNotList = bussinesscardIdNotList;
+        return this;
+        }
+
+    /**
+    * 璁剧疆  鏌ョ湅浜篿d
+    * @param viewId
+    */
+    public BussinesscardRecordQuery viewId(Long viewId){
+	    setViewId(viewId);
+		return this;
+    }
+	
+	 /**
+    * 璁剧疆 寮€濮� 鏌ョ湅浜篿d
+    * @param viewIdStart
+    */
+    public BussinesscardRecordQuery viewIdStart(Long viewIdStart){
+		this.viewIdStart = viewIdStart;
+		return this;
+    }
+
+    /**
+    * 璁剧疆 缁撴潫 鏌ョ湅浜篿d
+    * @param viewIdEnd
+    */
+    public BussinesscardRecordQuery viewIdEnd(Long viewIdEnd){
+		this.viewIdEnd = viewIdEnd;
+		return this;
+    }
+
+    /**
+    * 璁剧疆 澧炲姞 鏌ョ湅浜篿d
+    * @param viewIdIncrement
+    */
+    public BussinesscardRecordQuery viewIdIncrement(Long viewIdIncrement){
+		this.viewIdIncrement = viewIdIncrement;
+		return this;
+    }
+
+    /**
+    * 璁剧疆 鏌ョ湅浜篿d
+    * @param viewIdList
+    */
+    public BussinesscardRecordQuery viewIdList(List<Long> viewIdList){
+        this.viewIdList = viewIdList;
+		return this;
+        }
+
+        /**
+        * 璁剧疆 鏌ョ湅浜篿d
+        * @param viewIdNotList
+        */
+        public BussinesscardRecordQuery viewIdNotList(List<Long> viewIdNotList){
+        this.viewIdNotList = viewIdNotList;
+        return this;
+        }
+
+
+	/**
+    * 璁剧疆 鏌ョ湅浜哄悕绉�
+    * @param viewName
+    */
+    public BussinesscardRecordQuery viewName(String viewName){
+        setViewName(viewName);
+		return this;
+    }
+
+    /**
+    * 璁剧疆 鏌ョ湅浜哄悕绉�
+    * @param viewNameList
+    */
+    public BussinesscardRecordQuery viewNameList(List<String> viewNameList){
+        this.viewNameList = viewNameList;
+		return this;
+    }
+
+    /**
+    * 璁剧疆  绱鏌ョ湅娆℃暟
+    * @param sumViews
+    */
+    public BussinesscardRecordQuery sumViews(Integer sumViews){
+	    setSumViews(sumViews);
+		return this;
+    }
+	
+	 /**
+    * 璁剧疆 寮€濮� 绱鏌ョ湅娆℃暟
+    * @param sumViewsStart
+    */
+    public BussinesscardRecordQuery sumViewsStart(Integer sumViewsStart){
+		this.sumViewsStart = sumViewsStart;
+		return this;
+    }
+
+    /**
+    * 璁剧疆 缁撴潫 绱鏌ョ湅娆℃暟
+    * @param sumViewsEnd
+    */
+    public BussinesscardRecordQuery sumViewsEnd(Integer sumViewsEnd){
+		this.sumViewsEnd = sumViewsEnd;
+		return this;
+    }
+
+    /**
+    * 璁剧疆 澧炲姞 绱鏌ョ湅娆℃暟
+    * @param sumViewsIncrement
+    */
+    public BussinesscardRecordQuery sumViewsIncrement(Integer sumViewsIncrement){
+		this.sumViewsIncrement = sumViewsIncrement;
+		return this;
+    }
+
+    /**
+    * 璁剧疆 绱鏌ョ湅娆℃暟
+    * @param sumViewsList
+    */
+    public BussinesscardRecordQuery sumViewsList(List<Integer> sumViewsList){
+        this.sumViewsList = sumViewsList;
+		return this;
+        }
+
+        /**
+        * 璁剧疆 绱鏌ョ湅娆℃暟
+        * @param sumViewsNotList
+        */
+        public BussinesscardRecordQuery sumViewsNotList(List<Integer> sumViewsNotList){
+        this.sumViewsNotList = sumViewsNotList;
+        return this;
+        }
+
+
+	/**
+    * 璁剧疆 澶囨敞
+    * @param remark
+    */
+    public BussinesscardRecordQuery remark(String remark){
+        setRemark(remark);
+		return this;
+    }
+
+    /**
+    * 璁剧疆 澶囨敞
+    * @param remarkList
+    */
+    public BussinesscardRecordQuery remarkList(List<String> remarkList){
+        this.remarkList = remarkList;
+		return this;
+    }
+
+
+    /**
+    * 璁剧疆  鍒涘缓鐢ㄦ埛
+    * @param createUserId
+    */
+    public BussinesscardRecordQuery createUserId(Long createUserId){
+	    setCreateUserId(createUserId);
+		return this;
+    }
+	
+	 /**
+    * 璁剧疆 寮€濮� 鍒涘缓鐢ㄦ埛
+    * @param createUserIdStart
+    */
+    public BussinesscardRecordQuery createUserIdStart(Long createUserIdStart){
+		this.createUserIdStart = createUserIdStart;
+		return this;
+    }
+
+    /**
+    * 璁剧疆 缁撴潫 鍒涘缓鐢ㄦ埛
+    * @param createUserIdEnd
+    */
+    public BussinesscardRecordQuery createUserIdEnd(Long createUserIdEnd){
+		this.createUserIdEnd = createUserIdEnd;
+		return this;
+    }
+
+    /**
+    * 璁剧疆 澧炲姞 鍒涘缓鐢ㄦ埛
+    * @param createUserIdIncrement
+    */
+    public BussinesscardRecordQuery createUserIdIncrement(Long createUserIdIncrement){
+		this.createUserIdIncrement = createUserIdIncrement;
+		return this;
+    }
+
+    /**
+    * 璁剧疆 鍒涘缓鐢ㄦ埛
+    * @param createUserIdList
+    */
+    public BussinesscardRecordQuery createUserIdList(List<Long> createUserIdList){
+        this.createUserIdList = createUserIdList;
+		return this;
+        }
+
+        /**
+        * 璁剧疆 鍒涘缓鐢ㄦ埛
+        * @param createUserIdNotList
+        */
+        public BussinesscardRecordQuery createUserIdNotList(List<Long> createUserIdNotList){
+        this.createUserIdNotList = createUserIdNotList;
+        return this;
+        }
+
+
+    /**
+    * 璁剧疆  鏇存柊鐢ㄦ埛
+    * @param updateUserId
+    */
+    public BussinesscardRecordQuery updateUserId(Long updateUserId){
+	    setUpdateUserId(updateUserId);
+		return this;
+    }
+	
+	 /**
+    * 璁剧疆 寮€濮� 鏇存柊鐢ㄦ埛
+    * @param updateUserIdStart
+    */
+    public BussinesscardRecordQuery updateUserIdStart(Long updateUserIdStart){
+		this.updateUserIdStart = updateUserIdStart;
+		return this;
+    }
+
+    /**
+    * 璁剧疆 缁撴潫 鏇存柊鐢ㄦ埛
+    * @param updateUserIdEnd
+    */
+    public BussinesscardRecordQuery updateUserIdEnd(Long updateUserIdEnd){
+		this.updateUserIdEnd = updateUserIdEnd;
+		return this;
+    }
+
+    /**
+    * 璁剧疆 澧炲姞 鏇存柊鐢ㄦ埛
+    * @param updateUserIdIncrement
+    */
+    public BussinesscardRecordQuery updateUserIdIncrement(Long updateUserIdIncrement){
+		this.updateUserIdIncrement = updateUserIdIncrement;
+		return this;
+    }
+
+    /**
+    * 璁剧疆 鏇存柊鐢ㄦ埛
+    * @param updateUserIdList
+    */
+    public BussinesscardRecordQuery updateUserIdList(List<Long> updateUserIdList){
+        this.updateUserIdList = updateUserIdList;
+		return this;
+        }
+
+        /**
+        * 璁剧疆 鏇存柊鐢ㄦ埛
+        * @param updateUserIdNotList
+        */
+        public BussinesscardRecordQuery updateUserIdNotList(List<Long> updateUserIdNotList){
+        this.updateUserIdNotList = updateUserIdNotList;
+        return this;
+        }
+
+
+    /**
+    * 鑾峰彇 OR鏉′欢闆嗗悎锛屽垪琛ㄩ」涔嬮棿鏄疧R锛岄」鍐呭涔嬮棿鏄疉ND锛屽锛�(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
+    * @return orConditionList
+    */
+    public List<BussinesscardRecordQuery> getOrConditionList(){
+    return this.orConditionList;
+    }
+
+    /**
+    * 璁剧疆 OR鏉′欢闆嗗悎锛屽垪琛ㄩ」涔嬮棿鏄疧R锛岄」鍐呭涔嬮棿鏄疉ND锛屽锛�(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
+    * @param orConditionList
+    */
+    public void setOrConditionList(List<BussinesscardRecordQuery> orConditionList){
+        this.orConditionList = orConditionList;
+    }
+
+    /**
+    * 鑾峰彇 AND鏉′欢闆嗗悎锛屽垪琛ㄩ」涔嬮棿鏄疉ND锛岄」鍐呭涔嬮棿鏄疧R锛屽锛�(list[0].1 or list[0].2) and (list[1].3 or list[1].4)
+    * @return andConditionList
+    */
+    public List<BussinesscardRecordQuery> getAndConditionList(){
+        return this.andConditionList;
+    }
+
+    /**
+    * 璁剧疆 AND鏉′欢闆嗗悎锛屽垪琛ㄩ」涔嬮棿鏄疉ND锛岄」鍐呭涔嬮棿鏄疧R锛屽锛�(list[0].1 or list[0].2) and (list[1].3 or list[1].4)
+    * @param andConditionList
+    */
+    public void setAndConditionList(List<BussinesscardRecordQuery> andConditionList){
+        this.andConditionList = andConditionList;
+    }
+
+}
\ No newline at end of file
diff --git a/enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/model/vo/BussinesscardRecordVo.java b/enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/model/vo/BussinesscardRecordVo.java
new file mode 100644
index 0000000..ee0c499
--- /dev/null
+++ b/enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/model/vo/BussinesscardRecordVo.java
@@ -0,0 +1,23 @@
+package com.mortals.xhx.module.bussinesscard.model.vo;
+import com.mortals.framework.model.BaseEntityLong;
+import com.mortals.xhx.module.bussinesscard.model.BussinesscardRecordEntity;
+import java.util.ArrayList;
+import java.util.List;
+import lombok.Data;
+import com.mortals.framework.annotation.Excel;
+import java.math.BigDecimal;
+import java.util.Date;
+/**
+* 鍚嶇墖璁块棶璁板綍淇℃伅瑙嗗浘瀵硅薄
+*
+* @author zxfei
+* @date 2024-11-20
+*/
+@Data
+public class BussinesscardRecordVo extends BaseEntityLong {
+
+    /** 搴忓彿锛屼富閿紝鑷闀垮垪琛� */
+    private List <Long> idList;
+
+
+}
\ No newline at end of file
diff --git a/enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/service/BussinesscardRecordService.java b/enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/service/BussinesscardRecordService.java
new file mode 100644
index 0000000..44d5e25
--- /dev/null
+++ b/enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/service/BussinesscardRecordService.java
@@ -0,0 +1,25 @@
+package com.mortals.xhx.module.bussinesscard.service;
+import com.mortals.framework.model.Context;
+import com.mortals.framework.service.ICRUDService;
+import com.mortals.xhx.module.bussinesscard.model.BussinesscardEntity;
+import com.mortals.xhx.module.bussinesscard.model.BussinesscardRecordEntity;
+import com.mortals.xhx.module.bussinesscard.dao.BussinesscardRecordDao;
+/**
+* BussinesscardRecordService
+*
+* 鍚嶇墖璁块棶璁板綍淇℃伅 service鎺ュ彛
+*
+* @author zxfei
+* @date 2024-11-20
+*/
+public interface BussinesscardRecordService extends ICRUDService<BussinesscardRecordEntity,Long>{
+
+    BussinesscardRecordDao getDao();
+
+    /**
+     * 鏍规嵁鍚嶇墖淇℃伅淇濆瓨娴忚璁板綍
+     * @param bussinesscardEntity
+     * @param context
+     */
+    void saveRecord(BussinesscardEntity bussinesscardEntity, Context context);
+}
\ No newline at end of file
diff --git a/enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/service/impl/BussinesscardRecordServiceImpl.java b/enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/service/impl/BussinesscardRecordServiceImpl.java
new file mode 100644
index 0000000..2d62ef6
--- /dev/null
+++ b/enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/service/impl/BussinesscardRecordServiceImpl.java
@@ -0,0 +1,54 @@
+package com.mortals.xhx.module.bussinesscard.service.impl;
+import com.mortals.xhx.module.bussinesscard.model.BussinesscardEntity;
+import com.mortals.xhx.module.bussinesscard.model.BussinesscardRecordQuery;
+import org.springframework.beans.BeanUtils;
+
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.function.Function;
+import org.springframework.stereotype.Service;
+import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
+import com.mortals.framework.exception.AppException;
+import com.mortals.framework.model.Context;
+import com.mortals.xhx.module.bussinesscard.dao.BussinesscardRecordDao;
+import com.mortals.xhx.module.bussinesscard.model.BussinesscardRecordEntity;
+import com.mortals.xhx.module.bussinesscard.service.BussinesscardRecordService;
+import lombok.extern.slf4j.Slf4j;
+/**
+* BussinesscardRecordService
+* 鍚嶇墖璁块棶璁板綍淇℃伅 service瀹炵幇
+*
+* @author zxfei
+* @date 2024-11-20
+*/
+@Service("bussinesscardRecordService")
+@Slf4j
+public class BussinesscardRecordServiceImpl extends AbstractCRUDServiceImpl<BussinesscardRecordDao, BussinesscardRecordEntity, Long> implements BussinesscardRecordService {
+
+    @Override
+    public void saveRecord(BussinesscardEntity bussinesscardEntity, Context context) {
+        if(context!=null&&context.getUser()!=null) {
+            BussinesscardRecordEntity recordEntity = this.selectOne(new BussinesscardRecordQuery().bussinesscardId(bussinesscardEntity.getId()).viewId(context.getUser().getId()));
+            if(recordEntity!=null){
+                Map condition = new HashMap();
+                condition.put("id",recordEntity.getId());
+                Map data = new HashMap();
+                data.put("sumViewsIncrement",1);
+                data.put("viewTime",new Date());
+                this.dao.update(data,condition);
+            }else {
+                recordEntity = new BussinesscardRecordEntity();
+                recordEntity.initAttrValue();
+                recordEntity.setBussinesscardId(bussinesscardEntity.getId());
+                recordEntity.setSumViews(1);
+                recordEntity.setViewId(context.getUser().getId());
+                recordEntity.setViewName(context.getUser().getRealName());
+                recordEntity.setViewTime(new Date());
+                recordEntity.setCreateTime(new Date());
+                recordEntity.setCreateUserId(1l);
+                this.save(recordEntity);
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/service/impl/BussinesscardServiceImpl.java b/enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/service/impl/BussinesscardServiceImpl.java
index 5183d8f..4dd1c36 100644
--- a/enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/service/impl/BussinesscardServiceImpl.java
+++ b/enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/service/impl/BussinesscardServiceImpl.java
@@ -1,4 +1,8 @@
 package com.mortals.xhx.module.bussinesscard.service.impl;
+import com.mortals.framework.util.DataUtil;
+import com.mortals.xhx.module.company.model.CompanyEntity;
+import com.mortals.xhx.module.company.service.CompanyService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
 import com.mortals.framework.exception.AppException;
@@ -17,5 +21,29 @@ import lombok.extern.slf4j.Slf4j;
 @Service("bussinesscardService")
 @Slf4j
 public class BussinesscardServiceImpl extends AbstractCRUDServiceImpl<BussinesscardDao, BussinesscardEntity, Long> implements BussinesscardService {
-    
+
+    @Autowired
+    private CompanyService companyService;
+
+    @Override
+    protected void saveBefore(BussinesscardEntity entity, Context context) throws AppException {
+        super.saveBefore(entity, context);
+        if(entity.getCompanyId()!=null){
+            CompanyEntity companyEntity = companyService.get(entity.getCompanyId());
+            if(companyEntity!=null){
+                entity.setCompanyAdress(companyEntity.getBusinessAdress());
+            }
+        }
+    }
+
+    @Override
+    protected void updateBefore(BussinesscardEntity entity, Context context) throws AppException {
+        super.saveBefore(entity, context);
+        if(entity.getCompanyId()!=null){
+            CompanyEntity companyEntity = companyService.get(entity.getCompanyId());
+            if(companyEntity!=null){
+                entity.setCompanyAdress(companyEntity.getBusinessAdress());
+            }
+        }
+    }
 }
\ No newline at end of file
diff --git a/enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/web/BussinesscardController.java b/enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/web/BussinesscardController.java
index 70b74ef..4018f02 100644
--- a/enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/web/BussinesscardController.java
+++ b/enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/web/BussinesscardController.java
@@ -1,7 +1,12 @@
 package com.mortals.xhx.module.bussinesscard.web;
 
+import com.mortals.framework.exception.AppException;
 import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
 import com.mortals.xhx.base.system.param.service.ParamService;
+import com.mortals.xhx.base.system.user.model.UserEntity;
+import com.mortals.xhx.base.system.user.service.UserService;
+import com.mortals.xhx.module.bussinesscard.model.BussinesscardRecordEntity;
+import com.mortals.xhx.module.bussinesscard.service.BussinesscardRecordService;
 import com.mortals.xhx.module.company.model.CompanyQuery;
 import com.mortals.xhx.module.company.service.CompanyService;
 import com.mortals.xhx.module.position.model.PositionQuery;
@@ -57,6 +62,10 @@ public class BussinesscardController extends BaseCRUDJsonBodyMappingController<B
     private CompanyService companyService;
     @Autowired
     private PositionService positionService;
+    @Autowired
+    private BussinesscardRecordService bussinesscardRecordService;
+    @Autowired
+    private UserService userService;
 
     public BussinesscardController() {
         super.setModuleDesc("鍚嶇墖鍩烘湰淇℃伅");
@@ -75,5 +84,35 @@ public class BussinesscardController extends BaseCRUDJsonBodyMappingController<B
         super.init(model, context);
     }
 
+    @Override
+    protected int viewAfter(Long id, Map<String, Object> model, BussinesscardEntity entity, Context context) throws AppException {
+        saveRecord(entity,context);
+        return 1;
+    }
+
+    @Override
+    protected int infoAfter(Long id, Map<String, Object> model, BussinesscardEntity entity, Context context) throws AppException {
+        saveRecord(entity,context);
+        return 1;
+    }
 
+    /**
+     * 淇濆瓨鍚嶇墖琚煡鐪嬭褰�
+     * @param entity
+     * @param context
+     */
+    private void saveRecord(BussinesscardEntity entity, Context context){
+        if(entity!=null){
+            if(context!=null&&context.getUser()!=null){
+                bussinesscardRecordService.saveRecord(entity, context);
+                UserEntity userEntity = userService.get(context.getUser().getId());
+                if(userEntity!=null){
+                    //闈炴湰浜烘祻瑙堟椂鎵嶅鍔犳祻瑙堟鏁�
+                    if(!(userEntity.getStaffId()!=null && userEntity.getStaffId().longValue() ==entity.getStaffId().longValue())){
+                        staffService.saveView(entity.getStaffId());
+                    }
+                }
+            }
+        }
+    }
 }
\ No newline at end of file
diff --git a/enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/web/BussinesscardRecordController.java b/enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/web/BussinesscardRecordController.java
new file mode 100644
index 0000000..93d1e1f
--- /dev/null
+++ b/enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/web/BussinesscardRecordController.java
@@ -0,0 +1,50 @@
+package com.mortals.xhx.module.bussinesscard.web;
+import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
+import com.mortals.xhx.base.system.param.service.ParamService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
+import com.mortals.framework.model.Context;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
+import com.mortals.xhx.module.bussinesscard.model.BussinesscardRecordEntity;
+import com.mortals.xhx.module.bussinesscard.service.BussinesscardRecordService;
+import org.apache.commons.lang3.ArrayUtils;
+import com.mortals.framework.util.StringUtils;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+import com.alibaba.fastjson.JSONObject;
+import java.util.Arrays;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import static com.mortals.framework.ap.SysConstains.*;
+import com.mortals.xhx.common.code.*;
+/**
+*
+* 鍚嶇墖璁块棶璁板綍淇℃伅
+*
+* @author zxfei
+* @date 2024-11-20
+*/
+@RestController
+@RequestMapping("bussinesscard/record")
+public class BussinesscardRecordController extends BaseCRUDJsonBodyMappingController<BussinesscardRecordService,BussinesscardRecordEntity,Long> {
+
+    @Autowired
+    private ParamService paramService;
+
+    public BussinesscardRecordController(){
+        super.setModuleDesc( "鍚嶇墖璁块棶璁板綍淇℃伅");
+    }
+
+    @Override
+    protected void init(Map<String, Object> model, Context context) {
+        super.init(model, context);
+    }
+
+
+}
\ No newline at end of file
diff --git a/enterprise-manager/src/main/java/com/mortals/xhx/module/company/service/impl/CompanyServiceImpl.java b/enterprise-manager/src/main/java/com/mortals/xhx/module/company/service/impl/CompanyServiceImpl.java
index ba9bed2..e91f6bd 100644
--- a/enterprise-manager/src/main/java/com/mortals/xhx/module/company/service/impl/CompanyServiceImpl.java
+++ b/enterprise-manager/src/main/java/com/mortals/xhx/module/company/service/impl/CompanyServiceImpl.java
@@ -201,13 +201,13 @@ public class CompanyServiceImpl extends AbstractCRUDServiceImpl<CompanyDao, Comp
 
         //鍙戦€佸悕鐗囧垎甯�
         List<BussinesscardEntity> bussinesscardList = bussinesscardService.find(new BussinesscardQuery());
-        Map<String, Integer> collect = bussinesscardList.stream().collect(Collectors.groupingBy(x -> x.getCompanyId(), Collectors.summingInt(BussinesscardEntity::getSendBusinessCardTimes)));
+        Map<Long, Integer> collect = bussinesscardList.stream().collect(Collectors.groupingBy(x -> x.getCompanyId(), Collectors.summingInt(BussinesscardEntity::getSendBusinessCardTimes)));
 /*        Map<String, Integer> collect = staffList.stream().collect(Collectors.groupingBy(x -> x.getCompanyIds(), Collectors.summingInt(StaffEntity::getSendBusinessCardTimes)));
  */
         companyList.forEach(company -> {
             //褰掗泦鍏徃鍙戦€佸崱鐗囨暟閲�
             Long companyId = company.getId();
-            company.setBusinessCardNums(collect.getOrDefault(companyId.toString(),0));
+            company.setBusinessCardNums(collect.getOrDefault(companyId,0));
 /*            collect.entrySet().stream().forEach(item -> {
                 String key = item.getKey();
                 Integer nums = item.getValue();
diff --git a/enterprise-manager/src/main/java/com/mortals/xhx/module/news/model/NewsRecordEntity.java b/enterprise-manager/src/main/java/com/mortals/xhx/module/news/model/NewsRecordEntity.java
index e939961..592adf1 100644
--- a/enterprise-manager/src/main/java/com/mortals/xhx/module/news/model/NewsRecordEntity.java
+++ b/enterprise-manager/src/main/java/com/mortals/xhx/module/news/model/NewsRecordEntity.java
@@ -40,6 +40,10 @@ public class NewsRecordEntity extends NewsRecordVo {
     * 鏈€鍚庢祻瑙堟椂闂�
     */
     private Date viewTime;
+    /**
+     * 鏌ョ湅浜篿d
+     */
+    private Long viewId;
     @Override
     public int hashCode() {
          return this.getId().hashCode();
@@ -57,10 +61,11 @@ public class NewsRecordEntity extends NewsRecordVo {
     }
 
     public void initAttrValue(){
-            this.newsId = 0L;
-            this.viewName = "";
-            this.sumViews = 0;
-            this.remark = "";
-            this.viewTime = new Date();
+        this.newsId = 0L;
+        this.viewName = "";
+        this.sumViews = 0;
+        this.remark = "";
+        this.viewTime = new Date();
+        this.viewId = null;
     }
 }
\ No newline at end of file
diff --git a/enterprise-manager/src/main/java/com/mortals/xhx/module/news/model/NewsRecordQuery.java b/enterprise-manager/src/main/java/com/mortals/xhx/module/news/model/NewsRecordQuery.java
index b75b0d9..a30c4b9 100644
--- a/enterprise-manager/src/main/java/com/mortals/xhx/module/news/model/NewsRecordQuery.java
+++ b/enterprise-manager/src/main/java/com/mortals/xhx/module/news/model/NewsRecordQuery.java
@@ -4,11 +4,11 @@ import java.util.Date;
 import java.util.List;
 import com.mortals.xhx.module.news.model.NewsRecordEntity;
 /**
-* 鏂伴椈璁块棶璁板綍淇℃伅鏌ヨ瀵硅薄
-*
-* @author zxfei
-* @date 2023-09-18
-*/
+ * 鏂伴椈璁块棶璁板綍淇℃伅鏌ヨ瀵硅薄
+ *
+ * @author zxfei
+ * @date 2024-11-20
+ */
 public class NewsRecordQuery extends NewsRecordEntity {
     /** 寮€濮� 搴忓彿锛屼富閿紝鑷闀� */
     private Long idStart;
@@ -113,6 +113,21 @@ public class NewsRecordQuery extends NewsRecordEntity {
     /** 缁撴潫 鏇存柊鏃堕棿 */
     private String updateTimeEnd;
 
+    /** 寮€濮� 鏌ョ湅浜篿d */
+    private Long viewIdStart;
+
+    /** 缁撴潫 鏌ョ湅浜篿d */
+    private Long viewIdEnd;
+
+    /** 澧炲姞 鏌ョ湅浜篿d */
+    private Long viewIdIncrement;
+
+    /** 鏌ョ湅浜篿d鍒楄〃 */
+    private List <Long> viewIdList;
+
+    /** 鏌ョ湅浜篿d鎺掗櫎鍒楄〃 */
+    private List <Long> viewIdNotList;
+
     /** OR鏉′欢闆嗗悎锛屽垪琛ㄩ」涔嬮棿鏄疧R锛岄」鍐呭涔嬮棿鏄疉ND锛屽锛�(list[0].1 and list[0].2) or (list[1].3 and list[1].4) */
     private List<NewsRecordQuery> orConditionList;
 
@@ -122,909 +137,1044 @@ public class NewsRecordQuery extends NewsRecordEntity {
     public NewsRecordQuery(){}
 
     /**
-    * 鑾峰彇 寮€濮� 搴忓彿锛屼富閿紝鑷闀�
-    * @return idStart
-    */
+     * 鑾峰彇 寮€濮� 搴忓彿锛屼富閿紝鑷闀�
+     * @return idStart
+     */
     public Long getIdStart(){
         return this.idStart;
     }
 
     /**
-    * 璁剧疆 寮€濮� 搴忓彿锛屼富閿紝鑷闀�
-    * @param idStart
-    */
+     * 璁剧疆 寮€濮� 搴忓彿锛屼富閿紝鑷闀�
+     * @param idStart
+     */
     public void setIdStart(Long idStart){
         this.idStart = idStart;
     }
 
     /**
-    * 鑾峰彇 缁撴潫 搴忓彿锛屼富閿紝鑷闀�
-    * @return $idEnd
-    */
+     * 鑾峰彇 缁撴潫 搴忓彿锛屼富閿紝鑷闀�
+     * @return $idEnd
+     */
     public Long getIdEnd(){
         return this.idEnd;
     }
 
     /**
-    * 璁剧疆 缁撴潫 搴忓彿锛屼富閿紝鑷闀�
-    * @param idEnd
-    */
+     * 璁剧疆 缁撴潫 搴忓彿锛屼富閿紝鑷闀�
+     * @param idEnd
+     */
     public void setIdEnd(Long idEnd){
         this.idEnd = idEnd;
     }
 
     /**
-    * 鑾峰彇 澧炲姞 搴忓彿锛屼富閿紝鑷闀�
-    * @return idIncrement
-    */
+     * 鑾峰彇 澧炲姞 搴忓彿锛屼富閿紝鑷闀�
+     * @return idIncrement
+     */
     public Long getIdIncrement(){
         return this.idIncrement;
     }
 
     /**
-    * 璁剧疆 澧炲姞 搴忓彿锛屼富閿紝鑷闀�
-    * @param idIncrement
-    */
+     * 璁剧疆 澧炲姞 搴忓彿锛屼富閿紝鑷闀�
+     * @param idIncrement
+     */
     public void setIdIncrement(Long idIncrement){
         this.idIncrement = idIncrement;
     }
 
     /**
-    * 鑾峰彇 搴忓彿锛屼富閿紝鑷闀�
-    * @return idList
-    */
+     * 鑾峰彇 搴忓彿锛屼富閿紝鑷闀�
+     * @return idList
+     */
     public List<Long> getIdList(){
         return this.idList;
     }
 
     /**
-    * 璁剧疆 搴忓彿锛屼富閿紝鑷闀�
-    * @param idList
-    */
+     * 璁剧疆 搴忓彿锛屼富閿紝鑷闀�
+     * @param idList
+     */
     public void setIdList(List<Long> idList){
         this.idList = idList;
     }
 
     /**
-    * 鑾峰彇 搴忓彿锛屼富閿紝鑷闀�
-    * @return idNotList
-    */
+     * 鑾峰彇 搴忓彿锛屼富閿紝鑷闀�
+     * @return idNotList
+     */
     public List<Long> getIdNotList(){
         return this.idNotList;
     }
 
     /**
-    * 璁剧疆 搴忓彿锛屼富閿紝鑷闀�
-    * @param idNotList
-    */
+     * 璁剧疆 搴忓彿锛屼富閿紝鑷闀�
+     * @param idNotList
+     */
     public void setIdNotList(List<Long> idNotList){
         this.idNotList = idNotList;
     }
 
 
     /**
-    * 鑾峰彇 寮€濮� 鏂伴椈ID
-    * @return newsIdStart
-    */
+     * 鑾峰彇 寮€濮� 鏂伴椈ID
+     * @return newsIdStart
+     */
     public Long getNewsIdStart(){
         return this.newsIdStart;
     }
 
     /**
-    * 璁剧疆 寮€濮� 鏂伴椈ID
-    * @param newsIdStart
-    */
+     * 璁剧疆 寮€濮� 鏂伴椈ID
+     * @param newsIdStart
+     */
     public void setNewsIdStart(Long newsIdStart){
         this.newsIdStart = newsIdStart;
     }
 
     /**
-    * 鑾峰彇 缁撴潫 鏂伴椈ID
-    * @return $newsIdEnd
-    */
+     * 鑾峰彇 缁撴潫 鏂伴椈ID
+     * @return $newsIdEnd
+     */
     public Long getNewsIdEnd(){
         return this.newsIdEnd;
     }
 
     /**
-    * 璁剧疆 缁撴潫 鏂伴椈ID
-    * @param newsIdEnd
-    */
+     * 璁剧疆 缁撴潫 鏂伴椈ID
+     * @param newsIdEnd
+     */
     public void setNewsIdEnd(Long newsIdEnd){
         this.newsIdEnd = newsIdEnd;
     }
 
     /**
-    * 鑾峰彇 澧炲姞 鏂伴椈ID
-    * @return newsIdIncrement
-    */
+     * 鑾峰彇 澧炲姞 鏂伴椈ID
+     * @return newsIdIncrement
+     */
     public Long getNewsIdIncrement(){
         return this.newsIdIncrement;
     }
 
     /**
-    * 璁剧疆 澧炲姞 鏂伴椈ID
-    * @param newsIdIncrement
-    */
+     * 璁剧疆 澧炲姞 鏂伴椈ID
+     * @param newsIdIncrement
+     */
     public void setNewsIdIncrement(Long newsIdIncrement){
         this.newsIdIncrement = newsIdIncrement;
     }
 
     /**
-    * 鑾峰彇 鏂伴椈ID
-    * @return newsIdList
-    */
+     * 鑾峰彇 鏂伴椈ID
+     * @return newsIdList
+     */
     public List<Long> getNewsIdList(){
         return this.newsIdList;
     }
 
     /**
-    * 璁剧疆 鏂伴椈ID
-    * @param newsIdList
-    */
+     * 璁剧疆 鏂伴椈ID
+     * @param newsIdList
+     */
     public void setNewsIdList(List<Long> newsIdList){
         this.newsIdList = newsIdList;
     }
 
     /**
-    * 鑾峰彇 鏂伴椈ID
-    * @return newsIdNotList
-    */
+     * 鑾峰彇 鏂伴椈ID
+     * @return newsIdNotList
+     */
     public List<Long> getNewsIdNotList(){
         return this.newsIdNotList;
     }
 
     /**
-    * 璁剧疆 鏂伴椈ID
-    * @param newsIdNotList
-    */
+     * 璁剧疆 鏂伴椈ID
+     * @param newsIdNotList
+     */
     public void setNewsIdNotList(List<Long> newsIdNotList){
         this.newsIdNotList = newsIdNotList;
     }
 
 
     /**
-    * 鑾峰彇 鏌ョ湅浜哄悕绉�
-    * @return viewNameList
-    */
+     * 鑾峰彇 鏌ョ湅浜哄悕绉�
+     * @return viewNameList
+     */
     public List<String> getViewNameList(){
         return this.viewNameList;
     }
 
     /**
-    * 璁剧疆 鏌ョ湅浜哄悕绉�
-    * @param viewNameList
-    */
+     * 璁剧疆 鏌ョ湅浜哄悕绉�
+     * @param viewNameList
+     */
     public void setViewNameList(List<String> viewNameList){
         this.viewNameList = viewNameList;
     }
 
     /**
-    * 鑾峰彇 鏌ョ湅浜哄悕绉�
-    * @return viewNameNotList
-    */
+     * 鑾峰彇 鏌ョ湅浜哄悕绉�
+     * @return viewNameNotList
+     */
     public List<String> getViewNameNotList(){
         return this.viewNameNotList;
     }
 
     /**
-    * 璁剧疆 鏌ョ湅浜哄悕绉�
-    * @param viewNameNotList
-    */
+     * 璁剧疆 鏌ョ湅浜哄悕绉�
+     * @param viewNameNotList
+     */
     public void setViewNameNotList(List<String> viewNameNotList){
         this.viewNameNotList = viewNameNotList;
     }
 
     /**
-    * 鑾峰彇 寮€濮� 绱鏌ョ湅娆℃暟
-    * @return sumViewsStart
-    */
+     * 鑾峰彇 寮€濮� 绱鏌ョ湅娆℃暟
+     * @return sumViewsStart
+     */
     public Integer getSumViewsStart(){
         return this.sumViewsStart;
     }
 
     /**
-    * 璁剧疆 寮€濮� 绱鏌ョ湅娆℃暟
-    * @param sumViewsStart
-    */
+     * 璁剧疆 寮€濮� 绱鏌ョ湅娆℃暟
+     * @param sumViewsStart
+     */
     public void setSumViewsStart(Integer sumViewsStart){
         this.sumViewsStart = sumViewsStart;
     }
 
     /**
-    * 鑾峰彇 缁撴潫 绱鏌ョ湅娆℃暟
-    * @return $sumViewsEnd
-    */
+     * 鑾峰彇 缁撴潫 绱鏌ョ湅娆℃暟
+     * @return $sumViewsEnd
+     */
     public Integer getSumViewsEnd(){
         return this.sumViewsEnd;
     }
 
     /**
-    * 璁剧疆 缁撴潫 绱鏌ョ湅娆℃暟
-    * @param sumViewsEnd
-    */
+     * 璁剧疆 缁撴潫 绱鏌ョ湅娆℃暟
+     * @param sumViewsEnd
+     */
     public void setSumViewsEnd(Integer sumViewsEnd){
         this.sumViewsEnd = sumViewsEnd;
     }
 
     /**
-    * 鑾峰彇 澧炲姞 绱鏌ョ湅娆℃暟
-    * @return sumViewsIncrement
-    */
+     * 鑾峰彇 澧炲姞 绱鏌ョ湅娆℃暟
+     * @return sumViewsIncrement
+     */
     public Integer getSumViewsIncrement(){
         return this.sumViewsIncrement;
     }
 
     /**
-    * 璁剧疆 澧炲姞 绱鏌ョ湅娆℃暟
-    * @param sumViewsIncrement
-    */
+     * 璁剧疆 澧炲姞 绱鏌ョ湅娆℃暟
+     * @param sumViewsIncrement
+     */
     public void setSumViewsIncrement(Integer sumViewsIncrement){
         this.sumViewsIncrement = sumViewsIncrement;
     }
 
     /**
-    * 鑾峰彇 绱鏌ョ湅娆℃暟
-    * @return sumViewsList
-    */
+     * 鑾峰彇 绱鏌ョ湅娆℃暟
+     * @return sumViewsList
+     */
     public List<Integer> getSumViewsList(){
         return this.sumViewsList;
     }
 
     /**
-    * 璁剧疆 绱鏌ョ湅娆℃暟
-    * @param sumViewsList
-    */
+     * 璁剧疆 绱鏌ョ湅娆℃暟
+     * @param sumViewsList
+     */
     public void setSumViewsList(List<Integer> sumViewsList){
         this.sumViewsList = sumViewsList;
     }
 
     /**
-    * 鑾峰彇 绱鏌ョ湅娆℃暟
-    * @return sumViewsNotList
-    */
+     * 鑾峰彇 绱鏌ョ湅娆℃暟
+     * @return sumViewsNotList
+     */
     public List<Integer> getSumViewsNotList(){
         return this.sumViewsNotList;
     }
 
     /**
-    * 璁剧疆 绱鏌ョ湅娆℃暟
-    * @param sumViewsNotList
-    */
+     * 璁剧疆 绱鏌ョ湅娆℃暟
+     * @param sumViewsNotList
+     */
     public void setSumViewsNotList(List<Integer> sumViewsNotList){
         this.sumViewsNotList = sumViewsNotList;
     }
 
 
     /**
-    * 鑾峰彇 澶囨敞
-    * @return remarkList
-    */
+     * 鑾峰彇 澶囨敞
+     * @return remarkList
+     */
     public List<String> getRemarkList(){
         return this.remarkList;
     }
 
     /**
-    * 璁剧疆 澶囨敞
-    * @param remarkList
-    */
+     * 璁剧疆 澶囨敞
+     * @param remarkList
+     */
     public void setRemarkList(List<String> remarkList){
         this.remarkList = remarkList;
     }
 
     /**
-    * 鑾峰彇 澶囨敞
-    * @return remarkNotList
-    */
+     * 鑾峰彇 澶囨敞
+     * @return remarkNotList
+     */
     public List<String> getRemarkNotList(){
         return this.remarkNotList;
     }
 
     /**
-    * 璁剧疆 澶囨敞
-    * @param remarkNotList
-    */
+     * 璁剧疆 澶囨敞
+     * @param remarkNotList
+     */
     public void setRemarkNotList(List<String> remarkNotList){
         this.remarkNotList = remarkNotList;
     }
 
     /**
-    * 鑾峰彇 寮€濮� 鏈€鍚庢祻瑙堟椂闂�
-    * @return viewTimeStart
-    */
+     * 鑾峰彇 寮€濮� 鏈€鍚庢祻瑙堟椂闂�
+     * @return viewTimeStart
+     */
     public String getViewTimeStart(){
         return this.viewTimeStart;
     }
 
     /**
-    * 璁剧疆 寮€濮� 鏈€鍚庢祻瑙堟椂闂�
-    * @param viewTimeStart
-    */
+     * 璁剧疆 寮€濮� 鏈€鍚庢祻瑙堟椂闂�
+     * @param viewTimeStart
+     */
     public void setViewTimeStart(String viewTimeStart){
         this.viewTimeStart = viewTimeStart;
     }
 
     /**
-    * 鑾峰彇 缁撴潫 鏈€鍚庢祻瑙堟椂闂�
-    * @return viewTimeEnd
-    */
+     * 鑾峰彇 缁撴潫 鏈€鍚庢祻瑙堟椂闂�
+     * @return viewTimeEnd
+     */
     public String getViewTimeEnd(){
         return this.viewTimeEnd;
     }
 
     /**
-    * 璁剧疆 缁撴潫 鏈€鍚庢祻瑙堟椂闂�
-    * @param viewTimeEnd
-    */
+     * 璁剧疆 缁撴潫 鏈€鍚庢祻瑙堟椂闂�
+     * @param viewTimeEnd
+     */
     public void setViewTimeEnd(String viewTimeEnd){
         this.viewTimeEnd = viewTimeEnd;
     }
 
     /**
-    * 鑾峰彇 寮€濮� 鍒涘缓鐢ㄦ埛
-    * @return createUserIdStart
-    */
+     * 鑾峰彇 寮€濮� 鍒涘缓鐢ㄦ埛
+     * @return createUserIdStart
+     */
     public Long getCreateUserIdStart(){
         return this.createUserIdStart;
     }
 
     /**
-    * 璁剧疆 寮€濮� 鍒涘缓鐢ㄦ埛
-    * @param createUserIdStart
-    */
+     * 璁剧疆 寮€濮� 鍒涘缓鐢ㄦ埛
+     * @param createUserIdStart
+     */
     public void setCreateUserIdStart(Long createUserIdStart){
         this.createUserIdStart = createUserIdStart;
     }
 
     /**
-    * 鑾峰彇 缁撴潫 鍒涘缓鐢ㄦ埛
-    * @return $createUserIdEnd
-    */
+     * 鑾峰彇 缁撴潫 鍒涘缓鐢ㄦ埛
+     * @return $createUserIdEnd
+     */
     public Long getCreateUserIdEnd(){
         return this.createUserIdEnd;
     }
 
     /**
-    * 璁剧疆 缁撴潫 鍒涘缓鐢ㄦ埛
-    * @param createUserIdEnd
-    */
+     * 璁剧疆 缁撴潫 鍒涘缓鐢ㄦ埛
+     * @param createUserIdEnd
+     */
     public void setCreateUserIdEnd(Long createUserIdEnd){
         this.createUserIdEnd = createUserIdEnd;
     }
 
     /**
-    * 鑾峰彇 澧炲姞 鍒涘缓鐢ㄦ埛
-    * @return createUserIdIncrement
-    */
+     * 鑾峰彇 澧炲姞 鍒涘缓鐢ㄦ埛
+     * @return createUserIdIncrement
+     */
     public Long getCreateUserIdIncrement(){
         return this.createUserIdIncrement;
     }
 
     /**
-    * 璁剧疆 澧炲姞 鍒涘缓鐢ㄦ埛
-    * @param createUserIdIncrement
-    */
+     * 璁剧疆 澧炲姞 鍒涘缓鐢ㄦ埛
+     * @param createUserIdIncrement
+     */
     public void setCreateUserIdIncrement(Long createUserIdIncrement){
         this.createUserIdIncrement = createUserIdIncrement;
     }
 
     /**
-    * 鑾峰彇 鍒涘缓鐢ㄦ埛
-    * @return createUserIdList
-    */
+     * 鑾峰彇 鍒涘缓鐢ㄦ埛
+     * @return createUserIdList
+     */
     public List<Long> getCreateUserIdList(){
         return this.createUserIdList;
     }
 
     /**
-    * 璁剧疆 鍒涘缓鐢ㄦ埛
-    * @param createUserIdList
-    */
+     * 璁剧疆 鍒涘缓鐢ㄦ埛
+     * @param createUserIdList
+     */
     public void setCreateUserIdList(List<Long> createUserIdList){
         this.createUserIdList = createUserIdList;
     }
 
     /**
-    * 鑾峰彇 鍒涘缓鐢ㄦ埛
-    * @return createUserIdNotList
-    */
+     * 鑾峰彇 鍒涘缓鐢ㄦ埛
+     * @return createUserIdNotList
+     */
     public List<Long> getCreateUserIdNotList(){
         return this.createUserIdNotList;
     }
 
     /**
-    * 璁剧疆 鍒涘缓鐢ㄦ埛
-    * @param createUserIdNotList
-    */
+     * 璁剧疆 鍒涘缓鐢ㄦ埛
+     * @param createUserIdNotList
+     */
     public void setCreateUserIdNotList(List<Long> createUserIdNotList){
         this.createUserIdNotList = createUserIdNotList;
     }
 
 
     /**
-    * 鑾峰彇 寮€濮� 鍒涘缓鏃堕棿
-    * @return createTimeStart
-    */
+     * 鑾峰彇 寮€濮� 鍒涘缓鏃堕棿
+     * @return createTimeStart
+     */
     public String getCreateTimeStart(){
         return this.createTimeStart;
     }
 
     /**
-    * 璁剧疆 寮€濮� 鍒涘缓鏃堕棿
-    * @param createTimeStart
-    */
+     * 璁剧疆 寮€濮� 鍒涘缓鏃堕棿
+     * @param createTimeStart
+     */
     public void setCreateTimeStart(String createTimeStart){
         this.createTimeStart = createTimeStart;
     }
 
     /**
-    * 鑾峰彇 缁撴潫 鍒涘缓鏃堕棿
-    * @return createTimeEnd
-    */
+     * 鑾峰彇 缁撴潫 鍒涘缓鏃堕棿
+     * @return createTimeEnd
+     */
     public String getCreateTimeEnd(){
         return this.createTimeEnd;
     }
 
     /**
-    * 璁剧疆 缁撴潫 鍒涘缓鏃堕棿
-    * @param createTimeEnd
-    */
+     * 璁剧疆 缁撴潫 鍒涘缓鏃堕棿
+     * @param createTimeEnd
+     */
     public void setCreateTimeEnd(String createTimeEnd){
         this.createTimeEnd = createTimeEnd;
     }
 
     /**
-    * 鑾峰彇 寮€濮� 鏇存柊鐢ㄦ埛
-    * @return updateUserIdStart
-    */
+     * 鑾峰彇 寮€濮� 鏇存柊鐢ㄦ埛
+     * @return updateUserIdStart
+     */
     public Long getUpdateUserIdStart(){
         return this.updateUserIdStart;
     }
 
     /**
-    * 璁剧疆 寮€濮� 鏇存柊鐢ㄦ埛
-    * @param updateUserIdStart
-    */
+     * 璁剧疆 寮€濮� 鏇存柊鐢ㄦ埛
+     * @param updateUserIdStart
+     */
     public void setUpdateUserIdStart(Long updateUserIdStart){
         this.updateUserIdStart = updateUserIdStart;
     }
 
     /**
-    * 鑾峰彇 缁撴潫 鏇存柊鐢ㄦ埛
-    * @return $updateUserIdEnd
-    */
+     * 鑾峰彇 缁撴潫 鏇存柊鐢ㄦ埛
+     * @return $updateUserIdEnd
+     */
     public Long getUpdateUserIdEnd(){
         return this.updateUserIdEnd;
     }
 
     /**
-    * 璁剧疆 缁撴潫 鏇存柊鐢ㄦ埛
-    * @param updateUserIdEnd
-    */
+     * 璁剧疆 缁撴潫 鏇存柊鐢ㄦ埛
+     * @param updateUserIdEnd
+     */
     public void setUpdateUserIdEnd(Long updateUserIdEnd){
         this.updateUserIdEnd = updateUserIdEnd;
     }
 
     /**
-    * 鑾峰彇 澧炲姞 鏇存柊鐢ㄦ埛
-    * @return updateUserIdIncrement
-    */
+     * 鑾峰彇 澧炲姞 鏇存柊鐢ㄦ埛
+     * @return updateUserIdIncrement
+     */
     public Long getUpdateUserIdIncrement(){
         return this.updateUserIdIncrement;
     }
 
     /**
-    * 璁剧疆 澧炲姞 鏇存柊鐢ㄦ埛
-    * @param updateUserIdIncrement
-    */
+     * 璁剧疆 澧炲姞 鏇存柊鐢ㄦ埛
+     * @param updateUserIdIncrement
+     */
     public void setUpdateUserIdIncrement(Long updateUserIdIncrement){
         this.updateUserIdIncrement = updateUserIdIncrement;
     }
 
     /**
-    * 鑾峰彇 鏇存柊鐢ㄦ埛
-    * @return updateUserIdList
-    */
+     * 鑾峰彇 鏇存柊鐢ㄦ埛
+     * @return updateUserIdList
+     */
     public List<Long> getUpdateUserIdList(){
         return this.updateUserIdList;
     }
 
     /**
-    * 璁剧疆 鏇存柊鐢ㄦ埛
-    * @param updateUserIdList
-    */
+     * 璁剧疆 鏇存柊鐢ㄦ埛
+     * @param updateUserIdList
+     */
     public void setUpdateUserIdList(List<Long> updateUserIdList){
         this.updateUserIdList = updateUserIdList;
     }
 
     /**
-    * 鑾峰彇 鏇存柊鐢ㄦ埛
-    * @return updateUserIdNotList
-    */
+     * 鑾峰彇 鏇存柊鐢ㄦ埛
+     * @return updateUserIdNotList
+     */
     public List<Long> getUpdateUserIdNotList(){
         return this.updateUserIdNotList;
     }
 
     /**
-    * 璁剧疆 鏇存柊鐢ㄦ埛
-    * @param updateUserIdNotList
-    */
+     * 璁剧疆 鏇存柊鐢ㄦ埛
+     * @param updateUserIdNotList
+     */
     public void setUpdateUserIdNotList(List<Long> updateUserIdNotList){
         this.updateUserIdNotList = updateUserIdNotList;
     }
 
 
     /**
-    * 鑾峰彇 寮€濮� 鏇存柊鏃堕棿
-    * @return updateTimeStart
-    */
+     * 鑾峰彇 寮€濮� 鏇存柊鏃堕棿
+     * @return updateTimeStart
+     */
     public String getUpdateTimeStart(){
         return this.updateTimeStart;
     }
 
     /**
-    * 璁剧疆 寮€濮� 鏇存柊鏃堕棿
-    * @param updateTimeStart
-    */
+     * 璁剧疆 寮€濮� 鏇存柊鏃堕棿
+     * @param updateTimeStart
+     */
     public void setUpdateTimeStart(String updateTimeStart){
         this.updateTimeStart = updateTimeStart;
     }
 
     /**
-    * 鑾峰彇 缁撴潫 鏇存柊鏃堕棿
-    * @return updateTimeEnd
-    */
+     * 鑾峰彇 缁撴潫 鏇存柊鏃堕棿
+     * @return updateTimeEnd
+     */
     public String getUpdateTimeEnd(){
         return this.updateTimeEnd;
     }
 
     /**
-    * 璁剧疆 缁撴潫 鏇存柊鏃堕棿
-    * @param updateTimeEnd
-    */
+     * 璁剧疆 缁撴潫 鏇存柊鏃堕棿
+     * @param updateTimeEnd
+     */
     public void setUpdateTimeEnd(String updateTimeEnd){
         this.updateTimeEnd = updateTimeEnd;
     }
 
     /**
-    * 璁剧疆  搴忓彿锛屼富閿紝鑷闀�
-    * @param id
-    */
+     * 鑾峰彇 寮€濮� 鏌ョ湅浜篿d
+     * @return viewIdStart
+     */
+    public Long getViewIdStart(){
+        return this.viewIdStart;
+    }
+
+    /**
+     * 璁剧疆 寮€濮� 鏌ョ湅浜篿d
+     * @param viewIdStart
+     */
+    public void setViewIdStart(Long viewIdStart){
+        this.viewIdStart = viewIdStart;
+    }
+
+    /**
+     * 鑾峰彇 缁撴潫 鏌ョ湅浜篿d
+     * @return $viewIdEnd
+     */
+    public Long getViewIdEnd(){
+        return this.viewIdEnd;
+    }
+
+    /**
+     * 璁剧疆 缁撴潫 鏌ョ湅浜篿d
+     * @param viewIdEnd
+     */
+    public void setViewIdEnd(Long viewIdEnd){
+        this.viewIdEnd = viewIdEnd;
+    }
+
+    /**
+     * 鑾峰彇 澧炲姞 鏌ョ湅浜篿d
+     * @return viewIdIncrement
+     */
+    public Long getViewIdIncrement(){
+        return this.viewIdIncrement;
+    }
+
+    /**
+     * 璁剧疆 澧炲姞 鏌ョ湅浜篿d
+     * @param viewIdIncrement
+     */
+    public void setViewIdIncrement(Long viewIdIncrement){
+        this.viewIdIncrement = viewIdIncrement;
+    }
+
+    /**
+     * 鑾峰彇 鏌ョ湅浜篿d
+     * @return viewIdList
+     */
+    public List<Long> getViewIdList(){
+        return this.viewIdList;
+    }
+
+    /**
+     * 璁剧疆 鏌ョ湅浜篿d
+     * @param viewIdList
+     */
+    public void setViewIdList(List<Long> viewIdList){
+        this.viewIdList = viewIdList;
+    }
+
+    /**
+     * 鑾峰彇 鏌ョ湅浜篿d
+     * @return viewIdNotList
+     */
+    public List<Long> getViewIdNotList(){
+        return this.viewIdNotList;
+    }
+
+    /**
+     * 璁剧疆 鏌ョ湅浜篿d
+     * @param viewIdNotList
+     */
+    public void setViewIdNotList(List<Long> viewIdNotList){
+        this.viewIdNotList = viewIdNotList;
+    }
+
+
+    /**
+     * 璁剧疆  搴忓彿锛屼富閿紝鑷闀�
+     * @param id
+     */
     public NewsRecordQuery id(Long id){
-	    setId(id);
-		return this;
-    }
-	
-	 /**
-    * 璁剧疆 寮€濮� 搴忓彿锛屼富閿紝鑷闀�
-    * @param idStart
-    */
+        setId(id);
+        return this;
+    }
+
+    /**
+     * 璁剧疆 寮€濮� 搴忓彿锛屼富閿紝鑷闀�
+     * @param idStart
+     */
     public NewsRecordQuery idStart(Long idStart){
-		this.idStart = idStart;
-		return this;
+        this.idStart = idStart;
+        return this;
     }
 
     /**
-    * 璁剧疆 缁撴潫 搴忓彿锛屼富閿紝鑷闀�
-    * @param idEnd
-    */
+     * 璁剧疆 缁撴潫 搴忓彿锛屼富閿紝鑷闀�
+     * @param idEnd
+     */
     public NewsRecordQuery idEnd(Long idEnd){
-		this.idEnd = idEnd;
-		return this;
+        this.idEnd = idEnd;
+        return this;
     }
 
     /**
-    * 璁剧疆 澧炲姞 搴忓彿锛屼富閿紝鑷闀�
-    * @param idIncrement
-    */
+     * 璁剧疆 澧炲姞 搴忓彿锛屼富閿紝鑷闀�
+     * @param idIncrement
+     */
     public NewsRecordQuery idIncrement(Long idIncrement){
-		this.idIncrement = idIncrement;
-		return this;
+        this.idIncrement = idIncrement;
+        return this;
     }
 
     /**
-    * 璁剧疆 搴忓彿锛屼富閿紝鑷闀�
-    * @param idList
-    */
+     * 璁剧疆 搴忓彿锛屼富閿紝鑷闀�
+     * @param idList
+     */
     public NewsRecordQuery idList(List<Long> idList){
         this.idList = idList;
-		return this;
-        }
-
-        /**
-        * 璁剧疆 搴忓彿锛屼富閿紝鑷闀�
-        * @param idNotList
-        */
-        public NewsRecordQuery idNotList(List<Long> idNotList){
+        return this;
+    }
+
+    /**
+     * 璁剧疆 搴忓彿锛屼富閿紝鑷闀�
+     * @param idNotList
+     */
+    public NewsRecordQuery idNotList(List<Long> idNotList){
         this.idNotList = idNotList;
         return this;
-        }
+    }
 
     /**
-    * 璁剧疆  鏂伴椈ID
-    * @param newsId
-    */
+     * 璁剧疆  鏂伴椈ID
+     * @param newsId
+     */
     public NewsRecordQuery newsId(Long newsId){
-	    setNewsId(newsId);
-		return this;
-    }
-	
-	 /**
-    * 璁剧疆 寮€濮� 鏂伴椈ID
-    * @param newsIdStart
-    */
+        setNewsId(newsId);
+        return this;
+    }
+
+    /**
+     * 璁剧疆 寮€濮� 鏂伴椈ID
+     * @param newsIdStart
+     */
     public NewsRecordQuery newsIdStart(Long newsIdStart){
-		this.newsIdStart = newsIdStart;
-		return this;
+        this.newsIdStart = newsIdStart;
+        return this;
     }
 
     /**
-    * 璁剧疆 缁撴潫 鏂伴椈ID
-    * @param newsIdEnd
-    */
+     * 璁剧疆 缁撴潫 鏂伴椈ID
+     * @param newsIdEnd
+     */
     public NewsRecordQuery newsIdEnd(Long newsIdEnd){
-		this.newsIdEnd = newsIdEnd;
-		return this;
+        this.newsIdEnd = newsIdEnd;
+        return this;
     }
 
     /**
-    * 璁剧疆 澧炲姞 鏂伴椈ID
-    * @param newsIdIncrement
-    */
+     * 璁剧疆 澧炲姞 鏂伴椈ID
+     * @param newsIdIncrement
+     */
     public NewsRecordQuery newsIdIncrement(Long newsIdIncrement){
-		this.newsIdIncrement = newsIdIncrement;
-		return this;
+        this.newsIdIncrement = newsIdIncrement;
+        return this;
     }
 
     /**
-    * 璁剧疆 鏂伴椈ID
-    * @param newsIdList
-    */
+     * 璁剧疆 鏂伴椈ID
+     * @param newsIdList
+     */
     public NewsRecordQuery newsIdList(List<Long> newsIdList){
         this.newsIdList = newsIdList;
-		return this;
-        }
-
-        /**
-        * 璁剧疆 鏂伴椈ID
-        * @param newsIdNotList
-        */
-        public NewsRecordQuery newsIdNotList(List<Long> newsIdNotList){
+        return this;
+    }
+
+    /**
+     * 璁剧疆 鏂伴椈ID
+     * @param newsIdNotList
+     */
+    public NewsRecordQuery newsIdNotList(List<Long> newsIdNotList){
         this.newsIdNotList = newsIdNotList;
         return this;
-        }
+    }
 
 
-	/**
-    * 璁剧疆 鏌ョ湅浜哄悕绉�
-    * @param viewName
-    */
+    /**
+     * 璁剧疆 鏌ョ湅浜哄悕绉�
+     * @param viewName
+     */
     public NewsRecordQuery viewName(String viewName){
         setViewName(viewName);
-		return this;
+        return this;
     }
 
     /**
-    * 璁剧疆 鏌ョ湅浜哄悕绉�
-    * @param viewNameList
-    */
+     * 璁剧疆 鏌ョ湅浜哄悕绉�
+     * @param viewNameList
+     */
     public NewsRecordQuery viewNameList(List<String> viewNameList){
         this.viewNameList = viewNameList;
-		return this;
+        return this;
     }
 
     /**
-    * 璁剧疆  绱鏌ョ湅娆℃暟
-    * @param sumViews
-    */
+     * 璁剧疆  绱鏌ョ湅娆℃暟
+     * @param sumViews
+     */
     public NewsRecordQuery sumViews(Integer sumViews){
-	    setSumViews(sumViews);
-		return this;
-    }
-	
-	 /**
-    * 璁剧疆 寮€濮� 绱鏌ョ湅娆℃暟
-    * @param sumViewsStart
-    */
+        setSumViews(sumViews);
+        return this;
+    }
+
+    /**
+     * 璁剧疆 寮€濮� 绱鏌ョ湅娆℃暟
+     * @param sumViewsStart
+     */
     public NewsRecordQuery sumViewsStart(Integer sumViewsStart){
-		this.sumViewsStart = sumViewsStart;
-		return this;
+        this.sumViewsStart = sumViewsStart;
+        return this;
     }
 
     /**
-    * 璁剧疆 缁撴潫 绱鏌ョ湅娆℃暟
-    * @param sumViewsEnd
-    */
+     * 璁剧疆 缁撴潫 绱鏌ョ湅娆℃暟
+     * @param sumViewsEnd
+     */
     public NewsRecordQuery sumViewsEnd(Integer sumViewsEnd){
-		this.sumViewsEnd = sumViewsEnd;
-		return this;
+        this.sumViewsEnd = sumViewsEnd;
+        return this;
     }
 
     /**
-    * 璁剧疆 澧炲姞 绱鏌ョ湅娆℃暟
-    * @param sumViewsIncrement
-    */
+     * 璁剧疆 澧炲姞 绱鏌ョ湅娆℃暟
+     * @param sumViewsIncrement
+     */
     public NewsRecordQuery sumViewsIncrement(Integer sumViewsIncrement){
-		this.sumViewsIncrement = sumViewsIncrement;
-		return this;
+        this.sumViewsIncrement = sumViewsIncrement;
+        return this;
     }
 
     /**
-    * 璁剧疆 绱鏌ョ湅娆℃暟
-    * @param sumViewsList
-    */
+     * 璁剧疆 绱鏌ョ湅娆℃暟
+     * @param sumViewsList
+     */
     public NewsRecordQuery sumViewsList(List<Integer> sumViewsList){
         this.sumViewsList = sumViewsList;
-		return this;
-        }
-
-        /**
-        * 璁剧疆 绱鏌ョ湅娆℃暟
-        * @param sumViewsNotList
-        */
-        public NewsRecordQuery sumViewsNotList(List<Integer> sumViewsNotList){
+        return this;
+    }
+
+    /**
+     * 璁剧疆 绱鏌ョ湅娆℃暟
+     * @param sumViewsNotList
+     */
+    public NewsRecordQuery sumViewsNotList(List<Integer> sumViewsNotList){
         this.sumViewsNotList = sumViewsNotList;
         return this;
-        }
+    }
 
 
-	/**
-    * 璁剧疆 澶囨敞
-    * @param remark
-    */
+    /**
+     * 璁剧疆 澶囨敞
+     * @param remark
+     */
     public NewsRecordQuery remark(String remark){
         setRemark(remark);
-		return this;
+        return this;
     }
 
     /**
-    * 璁剧疆 澶囨敞
-    * @param remarkList
-    */
+     * 璁剧疆 澶囨敞
+     * @param remarkList
+     */
     public NewsRecordQuery remarkList(List<String> remarkList){
         this.remarkList = remarkList;
-		return this;
+        return this;
     }
 
 
     /**
-    * 璁剧疆  鍒涘缓鐢ㄦ埛
-    * @param createUserId
-    */
+     * 璁剧疆  鍒涘缓鐢ㄦ埛
+     * @param createUserId
+     */
     public NewsRecordQuery createUserId(Long createUserId){
-	    setCreateUserId(createUserId);
-		return this;
-    }
-	
-	 /**
-    * 璁剧疆 寮€濮� 鍒涘缓鐢ㄦ埛
-    * @param createUserIdStart
-    */
+        setCreateUserId(createUserId);
+        return this;
+    }
+
+    /**
+     * 璁剧疆 寮€濮� 鍒涘缓鐢ㄦ埛
+     * @param createUserIdStart
+     */
     public NewsRecordQuery createUserIdStart(Long createUserIdStart){
-		this.createUserIdStart = createUserIdStart;
-		return this;
+        this.createUserIdStart = createUserIdStart;
+        return this;
     }
 
     /**
-    * 璁剧疆 缁撴潫 鍒涘缓鐢ㄦ埛
-    * @param createUserIdEnd
-    */
+     * 璁剧疆 缁撴潫 鍒涘缓鐢ㄦ埛
+     * @param createUserIdEnd
+     */
     public NewsRecordQuery createUserIdEnd(Long createUserIdEnd){
-		this.createUserIdEnd = createUserIdEnd;
-		return this;
+        this.createUserIdEnd = createUserIdEnd;
+        return this;
     }
 
     /**
-    * 璁剧疆 澧炲姞 鍒涘缓鐢ㄦ埛
-    * @param createUserIdIncrement
-    */
+     * 璁剧疆 澧炲姞 鍒涘缓鐢ㄦ埛
+     * @param createUserIdIncrement
+     */
     public NewsRecordQuery createUserIdIncrement(Long createUserIdIncrement){
-		this.createUserIdIncrement = createUserIdIncrement;
-		return this;
+        this.createUserIdIncrement = createUserIdIncrement;
+        return this;
     }
 
     /**
-    * 璁剧疆 鍒涘缓鐢ㄦ埛
-    * @param createUserIdList
-    */
+     * 璁剧疆 鍒涘缓鐢ㄦ埛
+     * @param createUserIdList
+     */
     public NewsRecordQuery createUserIdList(List<Long> createUserIdList){
         this.createUserIdList = createUserIdList;
-		return this;
-        }
-
-        /**
-        * 璁剧疆 鍒涘缓鐢ㄦ埛
-        * @param createUserIdNotList
-        */
-        public NewsRecordQuery createUserIdNotList(List<Long> createUserIdNotList){
+        return this;
+    }
+
+    /**
+     * 璁剧疆 鍒涘缓鐢ㄦ埛
+     * @param createUserIdNotList
+     */
+    public NewsRecordQuery createUserIdNotList(List<Long> createUserIdNotList){
         this.createUserIdNotList = createUserIdNotList;
         return this;
-        }
+    }
 
 
     /**
-    * 璁剧疆  鏇存柊鐢ㄦ埛
-    * @param updateUserId
-    */
+     * 璁剧疆  鏇存柊鐢ㄦ埛
+     * @param updateUserId
+     */
     public NewsRecordQuery updateUserId(Long updateUserId){
-	    setUpdateUserId(updateUserId);
-		return this;
-    }
-	
-	 /**
-    * 璁剧疆 寮€濮� 鏇存柊鐢ㄦ埛
-    * @param updateUserIdStart
-    */
+        setUpdateUserId(updateUserId);
+        return this;
+    }
+
+    /**
+     * 璁剧疆 寮€濮� 鏇存柊鐢ㄦ埛
+     * @param updateUserIdStart
+     */
     public NewsRecordQuery updateUserIdStart(Long updateUserIdStart){
-		this.updateUserIdStart = updateUserIdStart;
-		return this;
+        this.updateUserIdStart = updateUserIdStart;
+        return this;
     }
 
     /**
-    * 璁剧疆 缁撴潫 鏇存柊鐢ㄦ埛
-    * @param updateUserIdEnd
-    */
+     * 璁剧疆 缁撴潫 鏇存柊鐢ㄦ埛
+     * @param updateUserIdEnd
+     */
     public NewsRecordQuery updateUserIdEnd(Long updateUserIdEnd){
-		this.updateUserIdEnd = updateUserIdEnd;
-		return this;
+        this.updateUserIdEnd = updateUserIdEnd;
+        return this;
     }
 
     /**
-    * 璁剧疆 澧炲姞 鏇存柊鐢ㄦ埛
-    * @param updateUserIdIncrement
-    */
+     * 璁剧疆 澧炲姞 鏇存柊鐢ㄦ埛
+     * @param updateUserIdIncrement
+     */
     public NewsRecordQuery updateUserIdIncrement(Long updateUserIdIncrement){
-		this.updateUserIdIncrement = updateUserIdIncrement;
-		return this;
+        this.updateUserIdIncrement = updateUserIdIncrement;
+        return this;
     }
 
     /**
-    * 璁剧疆 鏇存柊鐢ㄦ埛
-    * @param updateUserIdList
-    */
+     * 璁剧疆 鏇存柊鐢ㄦ埛
+     * @param updateUserIdList
+     */
     public NewsRecordQuery updateUserIdList(List<Long> updateUserIdList){
         this.updateUserIdList = updateUserIdList;
-		return this;
-        }
-
-        /**
-        * 璁剧疆 鏇存柊鐢ㄦ埛
-        * @param updateUserIdNotList
-        */
-        public NewsRecordQuery updateUserIdNotList(List<Long> updateUserIdNotList){
+        return this;
+    }
+
+    /**
+     * 璁剧疆 鏇存柊鐢ㄦ埛
+     * @param updateUserIdNotList
+     */
+    public NewsRecordQuery updateUserIdNotList(List<Long> updateUserIdNotList){
         this.updateUserIdNotList = updateUserIdNotList;
         return this;
-        }
+    }
+
 
+    /**
+     * 璁剧疆  鏌ョ湅浜篿d
+     * @param viewId
+     */
+    public NewsRecordQuery viewId(Long viewId){
+        setViewId(viewId);
+        return this;
+    }
+
+    /**
+     * 璁剧疆 寮€濮� 鏌ョ湅浜篿d
+     * @param viewIdStart
+     */
+    public NewsRecordQuery viewIdStart(Long viewIdStart){
+        this.viewIdStart = viewIdStart;
+        return this;
+    }
+
+    /**
+     * 璁剧疆 缁撴潫 鏌ョ湅浜篿d
+     * @param viewIdEnd
+     */
+    public NewsRecordQuery viewIdEnd(Long viewIdEnd){
+        this.viewIdEnd = viewIdEnd;
+        return this;
+    }
+
+    /**
+     * 璁剧疆 澧炲姞 鏌ョ湅浜篿d
+     * @param viewIdIncrement
+     */
+    public NewsRecordQuery viewIdIncrement(Long viewIdIncrement){
+        this.viewIdIncrement = viewIdIncrement;
+        return this;
+    }
+
+    /**
+     * 璁剧疆 鏌ョ湅浜篿d
+     * @param viewIdList
+     */
+    public NewsRecordQuery viewIdList(List<Long> viewIdList){
+        this.viewIdList = viewIdList;
+        return this;
+    }
+
+    /**
+     * 璁剧疆 鏌ョ湅浜篿d
+     * @param viewIdNotList
+     */
+    public NewsRecordQuery viewIdNotList(List<Long> viewIdNotList){
+        this.viewIdNotList = viewIdNotList;
+        return this;
+    }
 
     /**
-    * 鑾峰彇 OR鏉′欢闆嗗悎锛屽垪琛ㄩ」涔嬮棿鏄疧R锛岄」鍐呭涔嬮棿鏄疉ND锛屽锛�(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
-    * @return orConditionList
-    */
+     * 鑾峰彇 OR鏉′欢闆嗗悎锛屽垪琛ㄩ」涔嬮棿鏄疧R锛岄」鍐呭涔嬮棿鏄疉ND锛屽锛�(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
+     * @return orConditionList
+     */
     public List<NewsRecordQuery> getOrConditionList(){
-    return this.orConditionList;
+        return this.orConditionList;
     }
 
     /**
-    * 璁剧疆 OR鏉′欢闆嗗悎锛屽垪琛ㄩ」涔嬮棿鏄疧R锛岄」鍐呭涔嬮棿鏄疉ND锛屽锛�(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
-    * @param orConditionList
-    */
+     * 璁剧疆 OR鏉′欢闆嗗悎锛屽垪琛ㄩ」涔嬮棿鏄疧R锛岄」鍐呭涔嬮棿鏄疉ND锛屽锛�(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
+     * @param orConditionList
+     */
     public void setOrConditionList(List<NewsRecordQuery> orConditionList){
         this.orConditionList = orConditionList;
     }
 
     /**
-    * 鑾峰彇 AND鏉′欢闆嗗悎锛屽垪琛ㄩ」涔嬮棿鏄疉ND锛岄」鍐呭涔嬮棿鏄疧R锛屽锛�(list[0].1 or list[0].2) and (list[1].3 or list[1].4)
-    * @return andConditionList
-    */
+     * 鑾峰彇 AND鏉′欢闆嗗悎锛屽垪琛ㄩ」涔嬮棿鏄疉ND锛岄」鍐呭涔嬮棿鏄疧R锛屽锛�(list[0].1 or list[0].2) and (list[1].3 or list[1].4)
+     * @return andConditionList
+     */
     public List<NewsRecordQuery> getAndConditionList(){
         return this.andConditionList;
     }
 
     /**
-    * 璁剧疆 AND鏉′欢闆嗗悎锛屽垪琛ㄩ」涔嬮棿鏄疉ND锛岄」鍐呭涔嬮棿鏄疧R锛屽锛�(list[0].1 or list[0].2) and (list[1].3 or list[1].4)
-    * @param andConditionList
-    */
+     * 璁剧疆 AND鏉′欢闆嗗悎锛屽垪琛ㄩ」涔嬮棿鏄疉ND锛岄」鍐呭涔嬮棿鏄疧R锛屽锛�(list[0].1 or list[0].2) and (list[1].3 or list[1].4)
+     * @param andConditionList
+     */
     public void setAndConditionList(List<NewsRecordQuery> andConditionList){
         this.andConditionList = andConditionList;
     }
diff --git a/enterprise-manager/src/main/java/com/mortals/xhx/module/staff/model/StaffRecordEntity.java b/enterprise-manager/src/main/java/com/mortals/xhx/module/staff/model/StaffRecordEntity.java
index 6f061df..a2a4077 100644
--- a/enterprise-manager/src/main/java/com/mortals/xhx/module/staff/model/StaffRecordEntity.java
+++ b/enterprise-manager/src/main/java/com/mortals/xhx/module/staff/model/StaffRecordEntity.java
@@ -43,6 +43,10 @@ public class StaffRecordEntity extends StaffRecordVo {
     * 澶囨敞
     */
     private String remark;
+    /**
+     * 鏌ョ湅浜篿d
+     */
+    private Long viewId;
     @Override
     public int hashCode() {
          return this.getId().hashCode();
@@ -60,11 +64,12 @@ public class StaffRecordEntity extends StaffRecordVo {
     }
 
     public void initAttrValue(){
-            this.staffId = 0L;
-            this.staffName = "";
-            this.viewName = "";
-            this.sumViews = 0;
-            this.viewContent = "";
-            this.remark = "";
+        this.staffId = 0L;
+        this.staffName = "";
+        this.viewName = "";
+        this.sumViews = 0;
+        this.viewContent = "";
+        this.remark = "";
+        this.viewId = null;
     }
 }
\ No newline at end of file
diff --git a/enterprise-manager/src/main/java/com/mortals/xhx/module/staff/model/StaffRecordQuery.java b/enterprise-manager/src/main/java/com/mortals/xhx/module/staff/model/StaffRecordQuery.java
index cb707f7..dbf8b2a 100644
--- a/enterprise-manager/src/main/java/com/mortals/xhx/module/staff/model/StaffRecordQuery.java
+++ b/enterprise-manager/src/main/java/com/mortals/xhx/module/staff/model/StaffRecordQuery.java
@@ -3,11 +3,11 @@ package com.mortals.xhx.module.staff.model;
 import java.util.List;
 import com.mortals.xhx.module.staff.model.StaffRecordEntity;
 /**
-* 瀹㈡埛璁块棶璁板綍淇℃伅鏌ヨ瀵硅薄
-*
-* @author zxfei
-* @date 2023-09-18
-*/
+ * 瀹㈡埛璁块棶璁板綍淇℃伅鏌ヨ瀵硅薄
+ *
+ * @author zxfei
+ * @date 2024-11-20
+ */
 public class StaffRecordQuery extends StaffRecordEntity {
     /** 寮€濮� 搴忓彿锛屼富閿紝鑷闀� */
     private Long idStart;
@@ -116,6 +116,21 @@ public class StaffRecordQuery extends StaffRecordEntity {
     /** 缁撴潫 鏇存柊鏃堕棿 */
     private String updateTimeEnd;
 
+    /** 寮€濮� 鏌ョ湅浜篿d */
+    private Long viewIdStart;
+
+    /** 缁撴潫 鏌ョ湅浜篿d */
+    private Long viewIdEnd;
+
+    /** 澧炲姞 鏌ョ湅浜篿d */
+    private Long viewIdIncrement;
+
+    /** 鏌ョ湅浜篿d鍒楄〃 */
+    private List <Long> viewIdList;
+
+    /** 鏌ョ湅浜篿d鎺掗櫎鍒楄〃 */
+    private List <Long> viewIdNotList;
+
     /** OR鏉′欢闆嗗悎锛屽垪琛ㄩ」涔嬮棿鏄疧R锛岄」鍐呭涔嬮棿鏄疉ND锛屽锛�(list[0].1 and list[0].2) or (list[1].3 and list[1].4) */
     private List<StaffRecordQuery> orConditionList;
 
@@ -125,978 +140,1113 @@ public class StaffRecordQuery extends StaffRecordEntity {
     public StaffRecordQuery(){}
 
     /**
-    * 鑾峰彇 寮€濮� 搴忓彿锛屼富閿紝鑷闀�
-    * @return idStart
-    */
+     * 鑾峰彇 寮€濮� 搴忓彿锛屼富閿紝鑷闀�
+     * @return idStart
+     */
     public Long getIdStart(){
         return this.idStart;
     }
 
     /**
-    * 璁剧疆 寮€濮� 搴忓彿锛屼富閿紝鑷闀�
-    * @param idStart
-    */
+     * 璁剧疆 寮€濮� 搴忓彿锛屼富閿紝鑷闀�
+     * @param idStart
+     */
     public void setIdStart(Long idStart){
         this.idStart = idStart;
     }
 
     /**
-    * 鑾峰彇 缁撴潫 搴忓彿锛屼富閿紝鑷闀�
-    * @return $idEnd
-    */
+     * 鑾峰彇 缁撴潫 搴忓彿锛屼富閿紝鑷闀�
+     * @return $idEnd
+     */
     public Long getIdEnd(){
         return this.idEnd;
     }
 
     /**
-    * 璁剧疆 缁撴潫 搴忓彿锛屼富閿紝鑷闀�
-    * @param idEnd
-    */
+     * 璁剧疆 缁撴潫 搴忓彿锛屼富閿紝鑷闀�
+     * @param idEnd
+     */
     public void setIdEnd(Long idEnd){
         this.idEnd = idEnd;
     }
 
     /**
-    * 鑾峰彇 澧炲姞 搴忓彿锛屼富閿紝鑷闀�
-    * @return idIncrement
-    */
+     * 鑾峰彇 澧炲姞 搴忓彿锛屼富閿紝鑷闀�
+     * @return idIncrement
+     */
     public Long getIdIncrement(){
         return this.idIncrement;
     }
 
     /**
-    * 璁剧疆 澧炲姞 搴忓彿锛屼富閿紝鑷闀�
-    * @param idIncrement
-    */
+     * 璁剧疆 澧炲姞 搴忓彿锛屼富閿紝鑷闀�
+     * @param idIncrement
+     */
     public void setIdIncrement(Long idIncrement){
         this.idIncrement = idIncrement;
     }
 
     /**
-    * 鑾峰彇 搴忓彿锛屼富閿紝鑷闀�
-    * @return idList
-    */
+     * 鑾峰彇 搴忓彿锛屼富閿紝鑷闀�
+     * @return idList
+     */
     public List<Long> getIdList(){
         return this.idList;
     }
 
     /**
-    * 璁剧疆 搴忓彿锛屼富閿紝鑷闀�
-    * @param idList
-    */
+     * 璁剧疆 搴忓彿锛屼富閿紝鑷闀�
+     * @param idList
+     */
     public void setIdList(List<Long> idList){
         this.idList = idList;
     }
 
     /**
-    * 鑾峰彇 搴忓彿锛屼富閿紝鑷闀�
-    * @return idNotList
-    */
+     * 鑾峰彇 搴忓彿锛屼富閿紝鑷闀�
+     * @return idNotList
+     */
     public List<Long> getIdNotList(){
         return this.idNotList;
     }
 
     /**
-    * 璁剧疆 搴忓彿锛屼富閿紝鑷闀�
-    * @param idNotList
-    */
+     * 璁剧疆 搴忓彿锛屼富閿紝鑷闀�
+     * @param idNotList
+     */
     public void setIdNotList(List<Long> idNotList){
         this.idNotList = idNotList;
     }
 
 
     /**
-    * 鑾峰彇 寮€濮� 琚煡鐪嬪憳宸D
-    * @return staffIdStart
-    */
+     * 鑾峰彇 寮€濮� 琚煡鐪嬪憳宸D
+     * @return staffIdStart
+     */
     public Long getStaffIdStart(){
         return this.staffIdStart;
     }
 
     /**
-    * 璁剧疆 寮€濮� 琚煡鐪嬪憳宸D
-    * @param staffIdStart
-    */
+     * 璁剧疆 寮€濮� 琚煡鐪嬪憳宸D
+     * @param staffIdStart
+     */
     public void setStaffIdStart(Long staffIdStart){
         this.staffIdStart = staffIdStart;
     }
 
     /**
-    * 鑾峰彇 缁撴潫 琚煡鐪嬪憳宸D
-    * @return $staffIdEnd
-    */
+     * 鑾峰彇 缁撴潫 琚煡鐪嬪憳宸D
+     * @return $staffIdEnd
+     */
     public Long getStaffIdEnd(){
         return this.staffIdEnd;
     }
 
     /**
-    * 璁剧疆 缁撴潫 琚煡鐪嬪憳宸D
-    * @param staffIdEnd
-    */
+     * 璁剧疆 缁撴潫 琚煡鐪嬪憳宸D
+     * @param staffIdEnd
+     */
     public void setStaffIdEnd(Long staffIdEnd){
         this.staffIdEnd = staffIdEnd;
     }
 
     /**
-    * 鑾峰彇 澧炲姞 琚煡鐪嬪憳宸D
-    * @return staffIdIncrement
-    */
+     * 鑾峰彇 澧炲姞 琚煡鐪嬪憳宸D
+     * @return staffIdIncrement
+     */
     public Long getStaffIdIncrement(){
         return this.staffIdIncrement;
     }
 
     /**
-    * 璁剧疆 澧炲姞 琚煡鐪嬪憳宸D
-    * @param staffIdIncrement
-    */
+     * 璁剧疆 澧炲姞 琚煡鐪嬪憳宸D
+     * @param staffIdIncrement
+     */
     public void setStaffIdIncrement(Long staffIdIncrement){
         this.staffIdIncrement = staffIdIncrement;
     }
 
     /**
-    * 鑾峰彇 琚煡鐪嬪憳宸D
-    * @return staffIdList
-    */
+     * 鑾峰彇 琚煡鐪嬪憳宸D
+     * @return staffIdList
+     */
     public List<Long> getStaffIdList(){
         return this.staffIdList;
     }
 
     /**
-    * 璁剧疆 琚煡鐪嬪憳宸D
-    * @param staffIdList
-    */
+     * 璁剧疆 琚煡鐪嬪憳宸D
+     * @param staffIdList
+     */
     public void setStaffIdList(List<Long> staffIdList){
         this.staffIdList = staffIdList;
     }
 
     /**
-    * 鑾峰彇 琚煡鐪嬪憳宸D
-    * @return staffIdNotList
-    */
+     * 鑾峰彇 琚煡鐪嬪憳宸D
+     * @return staffIdNotList
+     */
     public List<Long> getStaffIdNotList(){
         return this.staffIdNotList;
     }
 
     /**
-    * 璁剧疆 琚煡鐪嬪憳宸D
-    * @param staffIdNotList
-    */
+     * 璁剧疆 琚煡鐪嬪憳宸D
+     * @param staffIdNotList
+     */
     public void setStaffIdNotList(List<Long> staffIdNotList){
         this.staffIdNotList = staffIdNotList;
     }
 
 
     /**
-    * 鑾峰彇 琚煡鐪嬪憳宸ュ鍚�
-    * @return staffNameList
-    */
+     * 鑾峰彇 琚煡鐪嬪憳宸ュ鍚�
+     * @return staffNameList
+     */
     public List<String> getStaffNameList(){
         return this.staffNameList;
     }
 
     /**
-    * 璁剧疆 琚煡鐪嬪憳宸ュ鍚�
-    * @param staffNameList
-    */
+     * 璁剧疆 琚煡鐪嬪憳宸ュ鍚�
+     * @param staffNameList
+     */
     public void setStaffNameList(List<String> staffNameList){
         this.staffNameList = staffNameList;
     }
 
     /**
-    * 鑾峰彇 琚煡鐪嬪憳宸ュ鍚�
-    * @return staffNameNotList
-    */
+     * 鑾峰彇 琚煡鐪嬪憳宸ュ鍚�
+     * @return staffNameNotList
+     */
     public List<String> getStaffNameNotList(){
         return this.staffNameNotList;
     }
 
     /**
-    * 璁剧疆 琚煡鐪嬪憳宸ュ鍚�
-    * @param staffNameNotList
-    */
+     * 璁剧疆 琚煡鐪嬪憳宸ュ鍚�
+     * @param staffNameNotList
+     */
     public void setStaffNameNotList(List<String> staffNameNotList){
         this.staffNameNotList = staffNameNotList;
     }
 
     /**
-    * 鑾峰彇 鏌ョ湅浜哄悕绉�
-    * @return viewNameList
-    */
+     * 鑾峰彇 鏌ョ湅浜哄悕绉�
+     * @return viewNameList
+     */
     public List<String> getViewNameList(){
         return this.viewNameList;
     }
 
     /**
-    * 璁剧疆 鏌ョ湅浜哄悕绉�
-    * @param viewNameList
-    */
+     * 璁剧疆 鏌ョ湅浜哄悕绉�
+     * @param viewNameList
+     */
     public void setViewNameList(List<String> viewNameList){
         this.viewNameList = viewNameList;
     }
 
     /**
-    * 鑾峰彇 鏌ョ湅浜哄悕绉�
-    * @return viewNameNotList
-    */
+     * 鑾峰彇 鏌ョ湅浜哄悕绉�
+     * @return viewNameNotList
+     */
     public List<String> getViewNameNotList(){
         return this.viewNameNotList;
     }
 
     /**
-    * 璁剧疆 鏌ョ湅浜哄悕绉�
-    * @param viewNameNotList
-    */
+     * 璁剧疆 鏌ョ湅浜哄悕绉�
+     * @param viewNameNotList
+     */
     public void setViewNameNotList(List<String> viewNameNotList){
         this.viewNameNotList = viewNameNotList;
     }
 
     /**
-    * 鑾峰彇 寮€濮� 绱鏌ョ湅娆℃暟
-    * @return sumViewsStart
-    */
+     * 鑾峰彇 寮€濮� 绱鏌ョ湅娆℃暟
+     * @return sumViewsStart
+     */
     public Integer getSumViewsStart(){
         return this.sumViewsStart;
     }
 
     /**
-    * 璁剧疆 寮€濮� 绱鏌ョ湅娆℃暟
-    * @param sumViewsStart
-    */
+     * 璁剧疆 寮€濮� 绱鏌ョ湅娆℃暟
+     * @param sumViewsStart
+     */
     public void setSumViewsStart(Integer sumViewsStart){
         this.sumViewsStart = sumViewsStart;
     }
 
     /**
-    * 鑾峰彇 缁撴潫 绱鏌ョ湅娆℃暟
-    * @return $sumViewsEnd
-    */
+     * 鑾峰彇 缁撴潫 绱鏌ョ湅娆℃暟
+     * @return $sumViewsEnd
+     */
     public Integer getSumViewsEnd(){
         return this.sumViewsEnd;
     }
 
     /**
-    * 璁剧疆 缁撴潫 绱鏌ョ湅娆℃暟
-    * @param sumViewsEnd
-    */
+     * 璁剧疆 缁撴潫 绱鏌ョ湅娆℃暟
+     * @param sumViewsEnd
+     */
     public void setSumViewsEnd(Integer sumViewsEnd){
         this.sumViewsEnd = sumViewsEnd;
     }
 
     /**
-    * 鑾峰彇 澧炲姞 绱鏌ョ湅娆℃暟
-    * @return sumViewsIncrement
-    */
+     * 鑾峰彇 澧炲姞 绱鏌ョ湅娆℃暟
+     * @return sumViewsIncrement
+     */
     public Integer getSumViewsIncrement(){
         return this.sumViewsIncrement;
     }
 
     /**
-    * 璁剧疆 澧炲姞 绱鏌ョ湅娆℃暟
-    * @param sumViewsIncrement
-    */
+     * 璁剧疆 澧炲姞 绱鏌ョ湅娆℃暟
+     * @param sumViewsIncrement
+     */
     public void setSumViewsIncrement(Integer sumViewsIncrement){
         this.sumViewsIncrement = sumViewsIncrement;
     }
 
     /**
-    * 鑾峰彇 绱鏌ョ湅娆℃暟
-    * @return sumViewsList
-    */
+     * 鑾峰彇 绱鏌ョ湅娆℃暟
+     * @return sumViewsList
+     */
     public List<Integer> getSumViewsList(){
         return this.sumViewsList;
     }
 
     /**
-    * 璁剧疆 绱鏌ョ湅娆℃暟
-    * @param sumViewsList
-    */
+     * 璁剧疆 绱鏌ョ湅娆℃暟
+     * @param sumViewsList
+     */
     public void setSumViewsList(List<Integer> sumViewsList){
         this.sumViewsList = sumViewsList;
     }
 
     /**
-    * 鑾峰彇 绱鏌ョ湅娆℃暟
-    * @return sumViewsNotList
-    */
+     * 鑾峰彇 绱鏌ョ湅娆℃暟
+     * @return sumViewsNotList
+     */
     public List<Integer> getSumViewsNotList(){
         return this.sumViewsNotList;
     }
 
     /**
-    * 璁剧疆 绱鏌ョ湅娆℃暟
-    * @param sumViewsNotList
-    */
+     * 璁剧疆 绱鏌ョ湅娆℃暟
+     * @param sumViewsNotList
+     */
     public void setSumViewsNotList(List<Integer> sumViewsNotList){
         this.sumViewsNotList = sumViewsNotList;
     }
 
 
     /**
-    * 鑾峰彇 璁块棶鍐呭
-    * @return viewContentList
-    */
+     * 鑾峰彇 璁块棶鍐呭
+     * @return viewContentList
+     */
     public List<String> getViewContentList(){
         return this.viewContentList;
     }
 
     /**
-    * 璁剧疆 璁块棶鍐呭
-    * @param viewContentList
-    */
+     * 璁剧疆 璁块棶鍐呭
+     * @param viewContentList
+     */
     public void setViewContentList(List<String> viewContentList){
         this.viewContentList = viewContentList;
     }
 
     /**
-    * 鑾峰彇 璁块棶鍐呭
-    * @return viewContentNotList
-    */
+     * 鑾峰彇 璁块棶鍐呭
+     * @return viewContentNotList
+     */
     public List<String> getViewContentNotList(){
         return this.viewContentNotList;
     }
 
     /**
-    * 璁剧疆 璁块棶鍐呭
-    * @param viewContentNotList
-    */
+     * 璁剧疆 璁块棶鍐呭
+     * @param viewContentNotList
+     */
     public void setViewContentNotList(List<String> viewContentNotList){
         this.viewContentNotList = viewContentNotList;
     }
 
     /**
-    * 鑾峰彇 澶囨敞
-    * @return remarkList
-    */
+     * 鑾峰彇 澶囨敞
+     * @return remarkList
+     */
     public List<String> getRemarkList(){
         return this.remarkList;
     }
 
     /**
-    * 璁剧疆 澶囨敞
-    * @param remarkList
-    */
+     * 璁剧疆 澶囨敞
+     * @param remarkList
+     */
     public void setRemarkList(List<String> remarkList){
         this.remarkList = remarkList;
     }
 
     /**
-    * 鑾峰彇 澶囨敞
-    * @return remarkNotList
-    */
+     * 鑾峰彇 澶囨敞
+     * @return remarkNotList
+     */
     public List<String> getRemarkNotList(){
         return this.remarkNotList;
     }
 
     /**
-    * 璁剧疆 澶囨敞
-    * @param remarkNotList
-    */
+     * 璁剧疆 澶囨敞
+     * @param remarkNotList
+     */
     public void setRemarkNotList(List<String> remarkNotList){
         this.remarkNotList = remarkNotList;
     }
 
     /**
-    * 鑾峰彇 寮€濮� 鍒涘缓鐢ㄦ埛
-    * @return createUserIdStart
-    */
+     * 鑾峰彇 寮€濮� 鍒涘缓鐢ㄦ埛
+     * @return createUserIdStart
+     */
     public Long getCreateUserIdStart(){
         return this.createUserIdStart;
     }
 
     /**
-    * 璁剧疆 寮€濮� 鍒涘缓鐢ㄦ埛
-    * @param createUserIdStart
-    */
+     * 璁剧疆 寮€濮� 鍒涘缓鐢ㄦ埛
+     * @param createUserIdStart
+     */
     public void setCreateUserIdStart(Long createUserIdStart){
         this.createUserIdStart = createUserIdStart;
     }
 
     /**
-    * 鑾峰彇 缁撴潫 鍒涘缓鐢ㄦ埛
-    * @return $createUserIdEnd
-    */
+     * 鑾峰彇 缁撴潫 鍒涘缓鐢ㄦ埛
+     * @return $createUserIdEnd
+     */
     public Long getCreateUserIdEnd(){
         return this.createUserIdEnd;
     }
 
     /**
-    * 璁剧疆 缁撴潫 鍒涘缓鐢ㄦ埛
-    * @param createUserIdEnd
-    */
+     * 璁剧疆 缁撴潫 鍒涘缓鐢ㄦ埛
+     * @param createUserIdEnd
+     */
     public void setCreateUserIdEnd(Long createUserIdEnd){
         this.createUserIdEnd = createUserIdEnd;
     }
 
     /**
-    * 鑾峰彇 澧炲姞 鍒涘缓鐢ㄦ埛
-    * @return createUserIdIncrement
-    */
+     * 鑾峰彇 澧炲姞 鍒涘缓鐢ㄦ埛
+     * @return createUserIdIncrement
+     */
     public Long getCreateUserIdIncrement(){
         return this.createUserIdIncrement;
     }
 
     /**
-    * 璁剧疆 澧炲姞 鍒涘缓鐢ㄦ埛
-    * @param createUserIdIncrement
-    */
+     * 璁剧疆 澧炲姞 鍒涘缓鐢ㄦ埛
+     * @param createUserIdIncrement
+     */
     public void setCreateUserIdIncrement(Long createUserIdIncrement){
         this.createUserIdIncrement = createUserIdIncrement;
     }
 
     /**
-    * 鑾峰彇 鍒涘缓鐢ㄦ埛
-    * @return createUserIdList
-    */
+     * 鑾峰彇 鍒涘缓鐢ㄦ埛
+     * @return createUserIdList
+     */
     public List<Long> getCreateUserIdList(){
         return this.createUserIdList;
     }
 
     /**
-    * 璁剧疆 鍒涘缓鐢ㄦ埛
-    * @param createUserIdList
-    */
+     * 璁剧疆 鍒涘缓鐢ㄦ埛
+     * @param createUserIdList
+     */
     public void setCreateUserIdList(List<Long> createUserIdList){
         this.createUserIdList = createUserIdList;
     }
 
     /**
-    * 鑾峰彇 鍒涘缓鐢ㄦ埛
-    * @return createUserIdNotList
-    */
+     * 鑾峰彇 鍒涘缓鐢ㄦ埛
+     * @return createUserIdNotList
+     */
     public List<Long> getCreateUserIdNotList(){
         return this.createUserIdNotList;
     }
 
     /**
-    * 璁剧疆 鍒涘缓鐢ㄦ埛
-    * @param createUserIdNotList
-    */
+     * 璁剧疆 鍒涘缓鐢ㄦ埛
+     * @param createUserIdNotList
+     */
     public void setCreateUserIdNotList(List<Long> createUserIdNotList){
         this.createUserIdNotList = createUserIdNotList;
     }
 
 
     /**
-    * 鑾峰彇 寮€濮� 鍒涘缓鏃堕棿
-    * @return createTimeStart
-    */
+     * 鑾峰彇 寮€濮� 鍒涘缓鏃堕棿
+     * @return createTimeStart
+     */
     public String getCreateTimeStart(){
         return this.createTimeStart;
     }
 
     /**
-    * 璁剧疆 寮€濮� 鍒涘缓鏃堕棿
-    * @param createTimeStart
-    */
+     * 璁剧疆 寮€濮� 鍒涘缓鏃堕棿
+     * @param createTimeStart
+     */
     public void setCreateTimeStart(String createTimeStart){
         this.createTimeStart = createTimeStart;
     }
 
     /**
-    * 鑾峰彇 缁撴潫 鍒涘缓鏃堕棿
-    * @return createTimeEnd
-    */
+     * 鑾峰彇 缁撴潫 鍒涘缓鏃堕棿
+     * @return createTimeEnd
+     */
     public String getCreateTimeEnd(){
         return this.createTimeEnd;
     }
 
     /**
-    * 璁剧疆 缁撴潫 鍒涘缓鏃堕棿
-    * @param createTimeEnd
-    */
+     * 璁剧疆 缁撴潫 鍒涘缓鏃堕棿
+     * @param createTimeEnd
+     */
     public void setCreateTimeEnd(String createTimeEnd){
         this.createTimeEnd = createTimeEnd;
     }
 
     /**
-    * 鑾峰彇 寮€濮� 鏇存柊鐢ㄦ埛
-    * @return updateUserIdStart
-    */
+     * 鑾峰彇 寮€濮� 鏇存柊鐢ㄦ埛
+     * @return updateUserIdStart
+     */
     public Long getUpdateUserIdStart(){
         return this.updateUserIdStart;
     }
 
     /**
-    * 璁剧疆 寮€濮� 鏇存柊鐢ㄦ埛
-    * @param updateUserIdStart
-    */
+     * 璁剧疆 寮€濮� 鏇存柊鐢ㄦ埛
+     * @param updateUserIdStart
+     */
     public void setUpdateUserIdStart(Long updateUserIdStart){
         this.updateUserIdStart = updateUserIdStart;
     }
 
     /**
-    * 鑾峰彇 缁撴潫 鏇存柊鐢ㄦ埛
-    * @return $updateUserIdEnd
-    */
+     * 鑾峰彇 缁撴潫 鏇存柊鐢ㄦ埛
+     * @return $updateUserIdEnd
+     */
     public Long getUpdateUserIdEnd(){
         return this.updateUserIdEnd;
     }
 
     /**
-    * 璁剧疆 缁撴潫 鏇存柊鐢ㄦ埛
-    * @param updateUserIdEnd
-    */
+     * 璁剧疆 缁撴潫 鏇存柊鐢ㄦ埛
+     * @param updateUserIdEnd
+     */
     public void setUpdateUserIdEnd(Long updateUserIdEnd){
         this.updateUserIdEnd = updateUserIdEnd;
     }
 
     /**
-    * 鑾峰彇 澧炲姞 鏇存柊鐢ㄦ埛
-    * @return updateUserIdIncrement
-    */
+     * 鑾峰彇 澧炲姞 鏇存柊鐢ㄦ埛
+     * @return updateUserIdIncrement
+     */
     public Long getUpdateUserIdIncrement(){
         return this.updateUserIdIncrement;
     }
 
     /**
-    * 璁剧疆 澧炲姞 鏇存柊鐢ㄦ埛
-    * @param updateUserIdIncrement
-    */
+     * 璁剧疆 澧炲姞 鏇存柊鐢ㄦ埛
+     * @param updateUserIdIncrement
+     */
     public void setUpdateUserIdIncrement(Long updateUserIdIncrement){
         this.updateUserIdIncrement = updateUserIdIncrement;
     }
 
     /**
-    * 鑾峰彇 鏇存柊鐢ㄦ埛
-    * @return updateUserIdList
-    */
+     * 鑾峰彇 鏇存柊鐢ㄦ埛
+     * @return updateUserIdList
+     */
     public List<Long> getUpdateUserIdList(){
         return this.updateUserIdList;
     }
 
     /**
-    * 璁剧疆 鏇存柊鐢ㄦ埛
-    * @param updateUserIdList
-    */
+     * 璁剧疆 鏇存柊鐢ㄦ埛
+     * @param updateUserIdList
+     */
     public void setUpdateUserIdList(List<Long> updateUserIdList){
         this.updateUserIdList = updateUserIdList;
     }
 
     /**
-    * 鑾峰彇 鏇存柊鐢ㄦ埛
-    * @return updateUserIdNotList
-    */
+     * 鑾峰彇 鏇存柊鐢ㄦ埛
+     * @return updateUserIdNotList
+     */
     public List<Long> getUpdateUserIdNotList(){
         return this.updateUserIdNotList;
     }
 
     /**
-    * 璁剧疆 鏇存柊鐢ㄦ埛
-    * @param updateUserIdNotList
-    */
+     * 璁剧疆 鏇存柊鐢ㄦ埛
+     * @param updateUserIdNotList
+     */
     public void setUpdateUserIdNotList(List<Long> updateUserIdNotList){
         this.updateUserIdNotList = updateUserIdNotList;
     }
 
 
     /**
-    * 鑾峰彇 寮€濮� 鏇存柊鏃堕棿
-    * @return updateTimeStart
-    */
+     * 鑾峰彇 寮€濮� 鏇存柊鏃堕棿
+     * @return updateTimeStart
+     */
     public String getUpdateTimeStart(){
         return this.updateTimeStart;
     }
 
     /**
-    * 璁剧疆 寮€濮� 鏇存柊鏃堕棿
-    * @param updateTimeStart
-    */
+     * 璁剧疆 寮€濮� 鏇存柊鏃堕棿
+     * @param updateTimeStart
+     */
     public void setUpdateTimeStart(String updateTimeStart){
         this.updateTimeStart = updateTimeStart;
     }
 
     /**
-    * 鑾峰彇 缁撴潫 鏇存柊鏃堕棿
-    * @return updateTimeEnd
-    */
+     * 鑾峰彇 缁撴潫 鏇存柊鏃堕棿
+     * @return updateTimeEnd
+     */
     public String getUpdateTimeEnd(){
         return this.updateTimeEnd;
     }
 
     /**
-    * 璁剧疆 缁撴潫 鏇存柊鏃堕棿
-    * @param updateTimeEnd
-    */
+     * 璁剧疆 缁撴潫 鏇存柊鏃堕棿
+     * @param updateTimeEnd
+     */
     public void setUpdateTimeEnd(String updateTimeEnd){
         this.updateTimeEnd = updateTimeEnd;
     }
 
     /**
-    * 璁剧疆  搴忓彿锛屼富閿紝鑷闀�
-    * @param id
-    */
+     * 鑾峰彇 寮€濮� 鏌ョ湅浜篿d
+     * @return viewIdStart
+     */
+    public Long getViewIdStart(){
+        return this.viewIdStart;
+    }
+
+    /**
+     * 璁剧疆 寮€濮� 鏌ョ湅浜篿d
+     * @param viewIdStart
+     */
+    public void setViewIdStart(Long viewIdStart){
+        this.viewIdStart = viewIdStart;
+    }
+
+    /**
+     * 鑾峰彇 缁撴潫 鏌ョ湅浜篿d
+     * @return $viewIdEnd
+     */
+    public Long getViewIdEnd(){
+        return this.viewIdEnd;
+    }
+
+    /**
+     * 璁剧疆 缁撴潫 鏌ョ湅浜篿d
+     * @param viewIdEnd
+     */
+    public void setViewIdEnd(Long viewIdEnd){
+        this.viewIdEnd = viewIdEnd;
+    }
+
+    /**
+     * 鑾峰彇 澧炲姞 鏌ョ湅浜篿d
+     * @return viewIdIncrement
+     */
+    public Long getViewIdIncrement(){
+        return this.viewIdIncrement;
+    }
+
+    /**
+     * 璁剧疆 澧炲姞 鏌ョ湅浜篿d
+     * @param viewIdIncrement
+     */
+    public void setViewIdIncrement(Long viewIdIncrement){
+        this.viewIdIncrement = viewIdIncrement;
+    }
+
+    /**
+     * 鑾峰彇 鏌ョ湅浜篿d
+     * @return viewIdList
+     */
+    public List<Long> getViewIdList(){
+        return this.viewIdList;
+    }
+
+    /**
+     * 璁剧疆 鏌ョ湅浜篿d
+     * @param viewIdList
+     */
+    public void setViewIdList(List<Long> viewIdList){
+        this.viewIdList = viewIdList;
+    }
+
+    /**
+     * 鑾峰彇 鏌ョ湅浜篿d
+     * @return viewIdNotList
+     */
+    public List<Long> getViewIdNotList(){
+        return this.viewIdNotList;
+    }
+
+    /**
+     * 璁剧疆 鏌ョ湅浜篿d
+     * @param viewIdNotList
+     */
+    public void setViewIdNotList(List<Long> viewIdNotList){
+        this.viewIdNotList = viewIdNotList;
+    }
+
+
+    /**
+     * 璁剧疆  搴忓彿锛屼富閿紝鑷闀�
+     * @param id
+     */
     public StaffRecordQuery id(Long id){
-	    setId(id);
-		return this;
-    }
-	
-	 /**
-    * 璁剧疆 寮€濮� 搴忓彿锛屼富閿紝鑷闀�
-    * @param idStart
-    */
+        setId(id);
+        return this;
+    }
+
+    /**
+     * 璁剧疆 寮€濮� 搴忓彿锛屼富閿紝鑷闀�
+     * @param idStart
+     */
     public StaffRecordQuery idStart(Long idStart){
-		this.idStart = idStart;
-		return this;
+        this.idStart = idStart;
+        return this;
     }
 
     /**
-    * 璁剧疆 缁撴潫 搴忓彿锛屼富閿紝鑷闀�
-    * @param idEnd
-    */
+     * 璁剧疆 缁撴潫 搴忓彿锛屼富閿紝鑷闀�
+     * @param idEnd
+     */
     public StaffRecordQuery idEnd(Long idEnd){
-		this.idEnd = idEnd;
-		return this;
+        this.idEnd = idEnd;
+        return this;
     }
 
     /**
-    * 璁剧疆 澧炲姞 搴忓彿锛屼富閿紝鑷闀�
-    * @param idIncrement
-    */
+     * 璁剧疆 澧炲姞 搴忓彿锛屼富閿紝鑷闀�
+     * @param idIncrement
+     */
     public StaffRecordQuery idIncrement(Long idIncrement){
-		this.idIncrement = idIncrement;
-		return this;
+        this.idIncrement = idIncrement;
+        return this;
     }
 
     /**
-    * 璁剧疆 搴忓彿锛屼富閿紝鑷闀�
-    * @param idList
-    */
+     * 璁剧疆 搴忓彿锛屼富閿紝鑷闀�
+     * @param idList
+     */
     public StaffRecordQuery idList(List<Long> idList){
         this.idList = idList;
-		return this;
-        }
-
-        /**
-        * 璁剧疆 搴忓彿锛屼富閿紝鑷闀�
-        * @param idNotList
-        */
-        public StaffRecordQuery idNotList(List<Long> idNotList){
+        return this;
+    }
+
+    /**
+     * 璁剧疆 搴忓彿锛屼富閿紝鑷闀�
+     * @param idNotList
+     */
+    public StaffRecordQuery idNotList(List<Long> idNotList){
         this.idNotList = idNotList;
         return this;
-        }
+    }
 
     /**
-    * 璁剧疆  琚煡鐪嬪憳宸D
-    * @param staffId
-    */
+     * 璁剧疆  琚煡鐪嬪憳宸D
+     * @param staffId
+     */
     public StaffRecordQuery staffId(Long staffId){
-	    setStaffId(staffId);
-		return this;
-    }
-	
-	 /**
-    * 璁剧疆 寮€濮� 琚煡鐪嬪憳宸D
-    * @param staffIdStart
-    */
+        setStaffId(staffId);
+        return this;
+    }
+
+    /**
+     * 璁剧疆 寮€濮� 琚煡鐪嬪憳宸D
+     * @param staffIdStart
+     */
     public StaffRecordQuery staffIdStart(Long staffIdStart){
-		this.staffIdStart = staffIdStart;
-		return this;
+        this.staffIdStart = staffIdStart;
+        return this;
     }
 
     /**
-    * 璁剧疆 缁撴潫 琚煡鐪嬪憳宸D
-    * @param staffIdEnd
-    */
+     * 璁剧疆 缁撴潫 琚煡鐪嬪憳宸D
+     * @param staffIdEnd
+     */
     public StaffRecordQuery staffIdEnd(Long staffIdEnd){
-		this.staffIdEnd = staffIdEnd;
-		return this;
+        this.staffIdEnd = staffIdEnd;
+        return this;
     }
 
     /**
-    * 璁剧疆 澧炲姞 琚煡鐪嬪憳宸D
-    * @param staffIdIncrement
-    */
+     * 璁剧疆 澧炲姞 琚煡鐪嬪憳宸D
+     * @param staffIdIncrement
+     */
     public StaffRecordQuery staffIdIncrement(Long staffIdIncrement){
-		this.staffIdIncrement = staffIdIncrement;
-		return this;
+        this.staffIdIncrement = staffIdIncrement;
+        return this;
     }
 
     /**
-    * 璁剧疆 琚煡鐪嬪憳宸D
-    * @param staffIdList
-    */
+     * 璁剧疆 琚煡鐪嬪憳宸D
+     * @param staffIdList
+     */
     public StaffRecordQuery staffIdList(List<Long> staffIdList){
         this.staffIdList = staffIdList;
-		return this;
-        }
-
-        /**
-        * 璁剧疆 琚煡鐪嬪憳宸D
-        * @param staffIdNotList
-        */
-        public StaffRecordQuery staffIdNotList(List<Long> staffIdNotList){
+        return this;
+    }
+
+    /**
+     * 璁剧疆 琚煡鐪嬪憳宸D
+     * @param staffIdNotList
+     */
+    public StaffRecordQuery staffIdNotList(List<Long> staffIdNotList){
         this.staffIdNotList = staffIdNotList;
         return this;
-        }
+    }
 
 
-	/**
-    * 璁剧疆 琚煡鐪嬪憳宸ュ鍚�
-    * @param staffName
-    */
+    /**
+     * 璁剧疆 琚煡鐪嬪憳宸ュ鍚�
+     * @param staffName
+     */
     public StaffRecordQuery staffName(String staffName){
         setStaffName(staffName);
-		return this;
+        return this;
     }
 
     /**
-    * 璁剧疆 琚煡鐪嬪憳宸ュ鍚�
-    * @param staffNameList
-    */
+     * 璁剧疆 琚煡鐪嬪憳宸ュ鍚�
+     * @param staffNameList
+     */
     public StaffRecordQuery staffNameList(List<String> staffNameList){
         this.staffNameList = staffNameList;
-		return this;
+        return this;
     }
 
 
-	/**
-    * 璁剧疆 鏌ョ湅浜哄悕绉�
-    * @param viewName
-    */
+    /**
+     * 璁剧疆 鏌ョ湅浜哄悕绉�
+     * @param viewName
+     */
     public StaffRecordQuery viewName(String viewName){
         setViewName(viewName);
-		return this;
+        return this;
     }
 
     /**
-    * 璁剧疆 鏌ョ湅浜哄悕绉�
-    * @param viewNameList
-    */
+     * 璁剧疆 鏌ョ湅浜哄悕绉�
+     * @param viewNameList
+     */
     public StaffRecordQuery viewNameList(List<String> viewNameList){
         this.viewNameList = viewNameList;
-		return this;
+        return this;
     }
 
     /**
-    * 璁剧疆  绱鏌ョ湅娆℃暟
-    * @param sumViews
-    */
+     * 璁剧疆  绱鏌ョ湅娆℃暟
+     * @param sumViews
+     */
     public StaffRecordQuery sumViews(Integer sumViews){
-	    setSumViews(sumViews);
-		return this;
-    }
-	
-	 /**
-    * 璁剧疆 寮€濮� 绱鏌ョ湅娆℃暟
-    * @param sumViewsStart
-    */
+        setSumViews(sumViews);
+        return this;
+    }
+
+    /**
+     * 璁剧疆 寮€濮� 绱鏌ョ湅娆℃暟
+     * @param sumViewsStart
+     */
     public StaffRecordQuery sumViewsStart(Integer sumViewsStart){
-		this.sumViewsStart = sumViewsStart;
-		return this;
+        this.sumViewsStart = sumViewsStart;
+        return this;
     }
 
     /**
-    * 璁剧疆 缁撴潫 绱鏌ョ湅娆℃暟
-    * @param sumViewsEnd
-    */
+     * 璁剧疆 缁撴潫 绱鏌ョ湅娆℃暟
+     * @param sumViewsEnd
+     */
     public StaffRecordQuery sumViewsEnd(Integer sumViewsEnd){
-		this.sumViewsEnd = sumViewsEnd;
-		return this;
+        this.sumViewsEnd = sumViewsEnd;
+        return this;
     }
 
     /**
-    * 璁剧疆 澧炲姞 绱鏌ョ湅娆℃暟
-    * @param sumViewsIncrement
-    */
+     * 璁剧疆 澧炲姞 绱鏌ョ湅娆℃暟
+     * @param sumViewsIncrement
+     */
     public StaffRecordQuery sumViewsIncrement(Integer sumViewsIncrement){
-		this.sumViewsIncrement = sumViewsIncrement;
-		return this;
+        this.sumViewsIncrement = sumViewsIncrement;
+        return this;
     }
 
     /**
-    * 璁剧疆 绱鏌ョ湅娆℃暟
-    * @param sumViewsList
-    */
+     * 璁剧疆 绱鏌ョ湅娆℃暟
+     * @param sumViewsList
+     */
     public StaffRecordQuery sumViewsList(List<Integer> sumViewsList){
         this.sumViewsList = sumViewsList;
-		return this;
-        }
-
-        /**
-        * 璁剧疆 绱鏌ョ湅娆℃暟
-        * @param sumViewsNotList
-        */
-        public StaffRecordQuery sumViewsNotList(List<Integer> sumViewsNotList){
+        return this;
+    }
+
+    /**
+     * 璁剧疆 绱鏌ョ湅娆℃暟
+     * @param sumViewsNotList
+     */
+    public StaffRecordQuery sumViewsNotList(List<Integer> sumViewsNotList){
         this.sumViewsNotList = sumViewsNotList;
         return this;
-        }
+    }
 
 
-	/**
-    * 璁剧疆 璁块棶鍐呭
-    * @param viewContent
-    */
+    /**
+     * 璁剧疆 璁块棶鍐呭
+     * @param viewContent
+     */
     public StaffRecordQuery viewContent(String viewContent){
         setViewContent(viewContent);
-		return this;
+        return this;
     }
 
     /**
-    * 璁剧疆 璁块棶鍐呭
-    * @param viewContentList
-    */
+     * 璁剧疆 璁块棶鍐呭
+     * @param viewContentList
+     */
     public StaffRecordQuery viewContentList(List<String> viewContentList){
         this.viewContentList = viewContentList;
-		return this;
+        return this;
     }
 
 
-	/**
-    * 璁剧疆 澶囨敞
-    * @param remark
-    */
+    /**
+     * 璁剧疆 澶囨敞
+     * @param remark
+     */
     public StaffRecordQuery remark(String remark){
         setRemark(remark);
-		return this;
+        return this;
     }
 
     /**
-    * 璁剧疆 澶囨敞
-    * @param remarkList
-    */
+     * 璁剧疆 澶囨敞
+     * @param remarkList
+     */
     public StaffRecordQuery remarkList(List<String> remarkList){
         this.remarkList = remarkList;
-		return this;
+        return this;
     }
 
     /**
-    * 璁剧疆  鍒涘缓鐢ㄦ埛
-    * @param createUserId
-    */
+     * 璁剧疆  鍒涘缓鐢ㄦ埛
+     * @param createUserId
+     */
     public StaffRecordQuery createUserId(Long createUserId){
-	    setCreateUserId(createUserId);
-		return this;
-    }
-	
-	 /**
-    * 璁剧疆 寮€濮� 鍒涘缓鐢ㄦ埛
-    * @param createUserIdStart
-    */
+        setCreateUserId(createUserId);
+        return this;
+    }
+
+    /**
+     * 璁剧疆 寮€濮� 鍒涘缓鐢ㄦ埛
+     * @param createUserIdStart
+     */
     public StaffRecordQuery createUserIdStart(Long createUserIdStart){
-		this.createUserIdStart = createUserIdStart;
-		return this;
+        this.createUserIdStart = createUserIdStart;
+        return this;
     }
 
     /**
-    * 璁剧疆 缁撴潫 鍒涘缓鐢ㄦ埛
-    * @param createUserIdEnd
-    */
+     * 璁剧疆 缁撴潫 鍒涘缓鐢ㄦ埛
+     * @param createUserIdEnd
+     */
     public StaffRecordQuery createUserIdEnd(Long createUserIdEnd){
-		this.createUserIdEnd = createUserIdEnd;
-		return this;
+        this.createUserIdEnd = createUserIdEnd;
+        return this;
     }
 
     /**
-    * 璁剧疆 澧炲姞 鍒涘缓鐢ㄦ埛
-    * @param createUserIdIncrement
-    */
+     * 璁剧疆 澧炲姞 鍒涘缓鐢ㄦ埛
+     * @param createUserIdIncrement
+     */
     public StaffRecordQuery createUserIdIncrement(Long createUserIdIncrement){
-		this.createUserIdIncrement = createUserIdIncrement;
-		return this;
+        this.createUserIdIncrement = createUserIdIncrement;
+        return this;
     }
 
     /**
-    * 璁剧疆 鍒涘缓鐢ㄦ埛
-    * @param createUserIdList
-    */
+     * 璁剧疆 鍒涘缓鐢ㄦ埛
+     * @param createUserIdList
+     */
     public StaffRecordQuery createUserIdList(List<Long> createUserIdList){
         this.createUserIdList = createUserIdList;
-		return this;
-        }
-
-        /**
-        * 璁剧疆 鍒涘缓鐢ㄦ埛
-        * @param createUserIdNotList
-        */
-        public StaffRecordQuery createUserIdNotList(List<Long> createUserIdNotList){
+        return this;
+    }
+
+    /**
+     * 璁剧疆 鍒涘缓鐢ㄦ埛
+     * @param createUserIdNotList
+     */
+    public StaffRecordQuery createUserIdNotList(List<Long> createUserIdNotList){
         this.createUserIdNotList = createUserIdNotList;
         return this;
-        }
+    }
 
 
     /**
-    * 璁剧疆  鏇存柊鐢ㄦ埛
-    * @param updateUserId
-    */
+     * 璁剧疆  鏇存柊鐢ㄦ埛
+     * @param updateUserId
+     */
     public StaffRecordQuery updateUserId(Long updateUserId){
-	    setUpdateUserId(updateUserId);
-		return this;
-    }
-	
-	 /**
-    * 璁剧疆 寮€濮� 鏇存柊鐢ㄦ埛
-    * @param updateUserIdStart
-    */
+        setUpdateUserId(updateUserId);
+        return this;
+    }
+
+    /**
+     * 璁剧疆 寮€濮� 鏇存柊鐢ㄦ埛
+     * @param updateUserIdStart
+     */
     public StaffRecordQuery updateUserIdStart(Long updateUserIdStart){
-		this.updateUserIdStart = updateUserIdStart;
-		return this;
+        this.updateUserIdStart = updateUserIdStart;
+        return this;
     }
 
     /**
-    * 璁剧疆 缁撴潫 鏇存柊鐢ㄦ埛
-    * @param updateUserIdEnd
-    */
+     * 璁剧疆 缁撴潫 鏇存柊鐢ㄦ埛
+     * @param updateUserIdEnd
+     */
     public StaffRecordQuery updateUserIdEnd(Long updateUserIdEnd){
-		this.updateUserIdEnd = updateUserIdEnd;
-		return this;
+        this.updateUserIdEnd = updateUserIdEnd;
+        return this;
     }
 
     /**
-    * 璁剧疆 澧炲姞 鏇存柊鐢ㄦ埛
-    * @param updateUserIdIncrement
-    */
+     * 璁剧疆 澧炲姞 鏇存柊鐢ㄦ埛
+     * @param updateUserIdIncrement
+     */
     public StaffRecordQuery updateUserIdIncrement(Long updateUserIdIncrement){
-		this.updateUserIdIncrement = updateUserIdIncrement;
-		return this;
+        this.updateUserIdIncrement = updateUserIdIncrement;
+        return this;
     }
 
     /**
-    * 璁剧疆 鏇存柊鐢ㄦ埛
-    * @param updateUserIdList
-    */
+     * 璁剧疆 鏇存柊鐢ㄦ埛
+     * @param updateUserIdList
+     */
     public StaffRecordQuery updateUserIdList(List<Long> updateUserIdList){
         this.updateUserIdList = updateUserIdList;
-		return this;
-        }
-
-        /**
-        * 璁剧疆 鏇存柊鐢ㄦ埛
-        * @param updateUserIdNotList
-        */
-        public StaffRecordQuery updateUserIdNotList(List<Long> updateUserIdNotList){
+        return this;
+    }
+
+    /**
+     * 璁剧疆 鏇存柊鐢ㄦ埛
+     * @param updateUserIdNotList
+     */
+    public StaffRecordQuery updateUserIdNotList(List<Long> updateUserIdNotList){
         this.updateUserIdNotList = updateUserIdNotList;
         return this;
-        }
+    }
+
+
+    /**
+     * 璁剧疆  鏌ョ湅浜篿d
+     * @param viewId
+     */
+    public StaffRecordQuery viewId(Long viewId){
+        setViewId(viewId);
+        return this;
+    }
+
+    /**
+     * 璁剧疆 寮€濮� 鏌ョ湅浜篿d
+     * @param viewIdStart
+     */
+    public StaffRecordQuery viewIdStart(Long viewIdStart){
+        this.viewIdStart = viewIdStart;
+        return this;
+    }
+
+    /**
+     * 璁剧疆 缁撴潫 鏌ョ湅浜篿d
+     * @param viewIdEnd
+     */
+    public StaffRecordQuery viewIdEnd(Long viewIdEnd){
+        this.viewIdEnd = viewIdEnd;
+        return this;
+    }
+
+    /**
+     * 璁剧疆 澧炲姞 鏌ョ湅浜篿d
+     * @param viewIdIncrement
+     */
+    public StaffRecordQuery viewIdIncrement(Long viewIdIncrement){
+        this.viewIdIncrement = viewIdIncrement;
+        return this;
+    }
 
+    /**
+     * 璁剧疆 鏌ョ湅浜篿d
+     * @param viewIdList
+     */
+    public StaffRecordQuery viewIdList(List<Long> viewIdList){
+        this.viewIdList = viewIdList;
+        return this;
+    }
+
+    /**
+     * 璁剧疆 鏌ョ湅浜篿d
+     * @param viewIdNotList
+     */
+    public StaffRecordQuery viewIdNotList(List<Long> viewIdNotList){
+        this.viewIdNotList = viewIdNotList;
+        return this;
+    }
 
     /**
-    * 鑾峰彇 OR鏉′欢闆嗗悎锛屽垪琛ㄩ」涔嬮棿鏄疧R锛岄」鍐呭涔嬮棿鏄疉ND锛屽锛�(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
-    * @return orConditionList
-    */
+     * 鑾峰彇 OR鏉′欢闆嗗悎锛屽垪琛ㄩ」涔嬮棿鏄疧R锛岄」鍐呭涔嬮棿鏄疉ND锛屽锛�(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
+     * @return orConditionList
+     */
     public List<StaffRecordQuery> getOrConditionList(){
-    return this.orConditionList;
+        return this.orConditionList;
     }
 
     /**
-    * 璁剧疆 OR鏉′欢闆嗗悎锛屽垪琛ㄩ」涔嬮棿鏄疧R锛岄」鍐呭涔嬮棿鏄疉ND锛屽锛�(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
-    * @param orConditionList
-    */
+     * 璁剧疆 OR鏉′欢闆嗗悎锛屽垪琛ㄩ」涔嬮棿鏄疧R锛岄」鍐呭涔嬮棿鏄疉ND锛屽锛�(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
+     * @param orConditionList
+     */
     public void setOrConditionList(List<StaffRecordQuery> orConditionList){
         this.orConditionList = orConditionList;
     }
 
     /**
-    * 鑾峰彇 AND鏉′欢闆嗗悎锛屽垪琛ㄩ」涔嬮棿鏄疉ND锛岄」鍐呭涔嬮棿鏄疧R锛屽锛�(list[0].1 or list[0].2) and (list[1].3 or list[1].4)
-    * @return andConditionList
-    */
+     * 鑾峰彇 AND鏉′欢闆嗗悎锛屽垪琛ㄩ」涔嬮棿鏄疉ND锛岄」鍐呭涔嬮棿鏄疧R锛屽锛�(list[0].1 or list[0].2) and (list[1].3 or list[1].4)
+     * @return andConditionList
+     */
     public List<StaffRecordQuery> getAndConditionList(){
         return this.andConditionList;
     }
 
     /**
-    * 璁剧疆 AND鏉′欢闆嗗悎锛屽垪琛ㄩ」涔嬮棿鏄疉ND锛岄」鍐呭涔嬮棿鏄疧R锛屽锛�(list[0].1 or list[0].2) and (list[1].3 or list[1].4)
-    * @param andConditionList
-    */
+     * 璁剧疆 AND鏉′欢闆嗗悎锛屽垪琛ㄩ」涔嬮棿鏄疉ND锛岄」鍐呭涔嬮棿鏄疧R锛屽锛�(list[0].1 or list[0].2) and (list[1].3 or list[1].4)
+     * @param andConditionList
+     */
     public void setAndConditionList(List<StaffRecordQuery> andConditionList){
         this.andConditionList = andConditionList;
     }
diff --git a/enterprise-manager/src/main/java/com/mortals/xhx/module/staff/service/StaffService.java b/enterprise-manager/src/main/java/com/mortals/xhx/module/staff/service/StaffService.java
index b87fd08..0c598d3 100644
--- a/enterprise-manager/src/main/java/com/mortals/xhx/module/staff/service/StaffService.java
+++ b/enterprise-manager/src/main/java/com/mortals/xhx/module/staff/service/StaffService.java
@@ -20,4 +20,9 @@ public interface StaffService extends ICRUDCacheService<StaffEntity,Long> {
 
     Rest<Void> leave(StaffEntity staffEntity, Context context);
 
+    /**
+     * 鏇存柊鍚嶇墖璁块棶淇℃伅
+     * @param id
+     */
+    void saveView(Long id);
 }
\ No newline at end of file
diff --git a/enterprise-manager/src/main/java/com/mortals/xhx/module/staff/service/impl/StaffServiceImpl.java b/enterprise-manager/src/main/java/com/mortals/xhx/module/staff/service/impl/StaffServiceImpl.java
index b449736..18be1a6 100644
--- a/enterprise-manager/src/main/java/com/mortals/xhx/module/staff/service/impl/StaffServiceImpl.java
+++ b/enterprise-manager/src/main/java/com/mortals/xhx/module/staff/service/impl/StaffServiceImpl.java
@@ -21,6 +21,8 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.util.ObjectUtils;
 
 import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
 
 /**
  * StaffService
@@ -58,4 +60,16 @@ public class StaffServiceImpl extends AbstractCRUDCacheServiceImpl<StaffDao, Sta
         }
         return Rest.ok();
     }
+
+    @Override
+    public void saveView(Long id) {
+        if(id!=null){
+            Map condition = new HashMap();
+            condition.put("id",id);
+            Map data = new HashMap();
+            data.put("sumViewsIncrement",1);
+            data.put("viewsByDayIncrement",1);
+            this.dao.update(data,condition);
+        }
+    }
 }
\ No newline at end of file
diff --git a/enterprise-manager/src/main/resources/sqlmap/module/bussinesscard/BussinesscardMapper.xml b/enterprise-manager/src/main/resources/sqlmap/module/bussinesscard/BussinesscardMapper.xml
index fb8d72d..280e407 100644
--- a/enterprise-manager/src/main/resources/sqlmap/module/bussinesscard/BussinesscardMapper.xml
+++ b/enterprise-manager/src/main/resources/sqlmap/module/bussinesscard/BussinesscardMapper.xml
@@ -31,6 +31,7 @@
         <result property="updateUserId" column="updateUserId" />
         <result property="updateTime" column="updateTime" />
         <result property="setting" column="setting" />
+        <result property="companyAdress" column="companyAdress" />
     </resultMap>
 
     <!-- 琛ㄦ墍鏈夊垪 -->
@@ -114,23 +115,26 @@
             <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('setting') or colPickMode == 1 and data.containsKey('setting')))">
                 a.setting,
             </if>
+            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('companyAdress') or colPickMode == 1 and data.containsKey('companyAdress')))">
+                a.companyAdress,
+            </if>
         </trim>
     </sql>
     <!-- 鏂板 鍖哄垎涓婚敭鑷鍔犺繕鏄笟鍔℃彃鍏� -->
     <insert id="insert" parameterType="BussinesscardEntity"  useGeneratedKeys="true" keyProperty="id">
         insert into mortals_xhx_bussinesscard
-        (staffId,staffName,name,gender,birthday,photoPath,email,phoneNumber,idCard,companyId,companyName,positionId,positionName,bio,socialMedia,qRCode,remark,sumViews,viewsByDay,sendBusinessCardTimes,createUserId,createTime,updateUserId,updateTime,setting)
+        (staffId,staffName,name,gender,birthday,photoPath,email,phoneNumber,idCard,companyId,companyName,positionId,positionName,bio,socialMedia,qRCode,remark,sumViews,viewsByDay,sendBusinessCardTimes,createUserId,createTime,updateUserId,updateTime,setting,companyAdress)
         VALUES
-        (#{staffId},#{staffName},#{name},#{gender},#{birthday},#{photoPath},#{email},#{phoneNumber},#{idCard},#{companyId},#{companyName},#{positionId},#{positionName},#{bio},#{socialMedia},#{qRCode},#{remark},#{sumViews},#{viewsByDay},#{sendBusinessCardTimes},#{createUserId},#{createTime},#{updateUserId},#{updateTime},#{setting})
+        (#{staffId},#{staffName},#{name},#{gender},#{birthday},#{photoPath},#{email},#{phoneNumber},#{idCard},#{companyId},#{companyName},#{positionId},#{positionName},#{bio},#{socialMedia},#{qRCode},#{remark},#{sumViews},#{viewsByDay},#{sendBusinessCardTimes},#{createUserId},#{createTime},#{updateUserId},#{updateTime},#{setting},#{companyAdress})
     </insert>
 
     <!-- 鎵归噺鏂板 -->
     <insert id="insertBatch" parameterType="paramDto">
         insert into mortals_xhx_bussinesscard
-        (staffId,staffName,name,gender,birthday,photoPath,email,phoneNumber,idCard,companyId,companyName,positionId,positionName,bio,socialMedia,qRCode,remark,sumViews,viewsByDay,sendBusinessCardTimes,createUserId,createTime,updateUserId,updateTime,setting)
+        (staffId,staffName,name,gender,birthday,photoPath,email,phoneNumber,idCard,companyId,companyName,positionId,positionName,bio,socialMedia,qRCode,remark,sumViews,viewsByDay,sendBusinessCardTimes,createUserId,createTime,updateUserId,updateTime,setting,companyAdress)
         VALUES
         <foreach collection="data.dataList" item="item" index="index" separator="," >
-            (#{item.staffId},#{item.staffName},#{item.name},#{item.gender},#{item.birthday},#{item.photoPath},#{item.email},#{item.phoneNumber},#{item.idCard},#{item.companyId},#{item.companyName},#{item.positionId},#{item.positionName},#{item.bio},#{item.socialMedia},#{item.qRCode},#{item.remark},#{item.sumViews},#{item.viewsByDay},#{item.sendBusinessCardTimes},#{item.createUserId},#{item.createTime},#{item.updateUserId},#{item.updateTime},#{item.setting})
+            (#{item.staffId},#{item.staffName},#{item.name},#{item.gender},#{item.birthday},#{item.photoPath},#{item.email},#{item.phoneNumber},#{item.idCard},#{item.companyId},#{item.companyName},#{item.positionId},#{item.positionName},#{item.bio},#{item.socialMedia},#{item.qRCode},#{item.remark},#{item.sumViews},#{item.viewsByDay},#{item.sendBusinessCardTimes},#{item.createUserId},#{item.createTime},#{item.updateUserId},#{item.updateTime},#{item.setting},#{item.companyAdress})
         </foreach>
     </insert>
 
@@ -176,6 +180,9 @@
             <if test="(colPickMode==0 and data.containsKey('companyId')) or (colPickMode==1 and !data.containsKey('companyId'))">
                 a.companyId=#{data.companyId},
             </if>
+            <if test="(colPickMode==0 and data.containsKey('companyIdIncrement')) or (colPickMode==1 and !data.containsKey('companyIdIncrement'))">
+                a.companyId=ifnull(a.companyId,0) + #{data.companyIdIncrement},
+            </if>
             <if test="(colPickMode==0 and data.containsKey('companyName')) or (colPickMode==1 and !data.containsKey('companyName'))">
                 a.companyName=#{data.companyName},
             </if>
@@ -239,6 +246,9 @@
             <if test="(colPickMode==0 and data.containsKey('setting')) or (colPickMode==1 and !data.containsKey('setting'))">
                 a.setting=#{data.setting},
             </if>
+            <if test="(colPickMode==0 and data.containsKey('companyAdress')) or (colPickMode==1 and !data.containsKey('companyAdress'))">
+                a.companyAdress=#{data.companyAdress},
+            </if>
         </trim>
         <trim suffixOverrides="where" suffix="">
             where
@@ -326,9 +336,14 @@
             </trim>
             <trim prefix="companyId=(case" suffix="ELSE companyId end),">
                 <foreach collection="data.dataList" item="item" index="index" separator="" >
-                    <if test="(colPickMode==0 and item.containsKey('companyId')) or (colPickMode==1 and !item.containsKey('companyId'))">
-                        when a.id=#{item.id} then #{item.companyId}
-                    </if>
+                    <choose>
+                        <when test="(colPickMode==0 and item.containsKey('companyId')) or (colPickMode==1 and !item.containsKey('companyId'))">
+                            when a.id=#{item.id} then #{item.companyId}
+                        </when>
+                        <when test="(colPickMode==0 and item.containsKey('companyIdIncrement')) or (colPickMode==1 and !item.containsKey('companyIdIncrement'))">
+                            when a.id=#{item.id} then ifnull(a.companyId,0) + #{item.companyIdIncrement}
+                        </when>
+                    </choose>
                 </foreach>
             </trim>
             <trim prefix="companyName=(case" suffix="ELSE companyName end),">
@@ -466,6 +481,13 @@
                     </if>
                 </foreach>
             </trim>
+            <trim prefix="companyAdress=(case" suffix="ELSE companyAdress end),">
+                <foreach collection="data.dataList" item="item" index="index" separator="" >
+                    <if test="(colPickMode==0 and item.containsKey('companyAdress')) or (colPickMode==1 and !item.containsKey('companyAdress'))">
+                        when a.id=#{item.id} then #{item.companyAdress}
+                    </if>
+                </foreach>
+            </trim>
         </trim>
         where id in
         <foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")">
@@ -808,10 +830,9 @@
                 #{item}
             </foreach>
         </if>
-
         <if test="conditionParamRef.containsKey('companyId')">
-            <if test="conditionParamRef.companyId != null and conditionParamRef.companyId != ''">
-                ${_conditionType_} a.companyId like #{${_conditionParam_}.companyId}
+            <if test="conditionParamRef.companyId != null ">
+                ${_conditionType_} a.companyId = #{${_conditionParam_}.companyId}
             </if>
             <if test="conditionParamRef.companyId == null">
                 ${_conditionType_} a.companyId is null
@@ -829,6 +850,13 @@
                 #{item}
             </foreach>
         </if>
+        <if test="conditionParamRef.containsKey('companyIdStart') and conditionParamRef.companyIdStart != null">
+            ${_conditionType_} a.companyId <![CDATA[ >= ]]> #{${_conditionParam_}.companyIdStart}
+        </if>
+        <if test="conditionParamRef.containsKey('companyIdEnd') and conditionParamRef.companyIdEnd != null">
+            ${_conditionType_} a.companyId <![CDATA[ <= ]]> #{${_conditionParam_}.companyIdEnd}
+        </if>
+
 
         <if test="conditionParamRef.containsKey('companyName')">
             <if test="conditionParamRef.companyName != null and conditionParamRef.companyName != ''">
@@ -1168,6 +1196,27 @@
                 #{item}
             </foreach>
         </if>
+
+        <if test="conditionParamRef.containsKey('companyAdress')">
+            <if test="conditionParamRef.companyAdress != null and conditionParamRef.companyAdress != ''">
+                ${_conditionType_} a.companyAdress like #{${_conditionParam_}.companyAdress}
+            </if>
+            <if test="conditionParamRef.companyAdress == null">
+                ${_conditionType_} a.companyAdress is null
+            </if>
+        </if>
+        <if test="conditionParamRef.containsKey('companyAdressList') and conditionParamRef.companyAdressList.size() > 0">
+            ${_conditionType_} a.companyAdress in
+            <foreach collection="conditionParamRef.companyAdressList" open="(" close=")" index="index" item="item" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="conditionParamRef.containsKey('companyAdressNotList') and conditionParamRef.companyAdressNotList.size() > 0">
+            ${_conditionType_} a.companyAdress not in
+            <foreach collection="conditionParamRef.companyAdressNotList" open="(" close=")" index="index" item="item" separator=",">
+                #{item}
+            </foreach>
+        </if>
     </sql>
     <sql id="_orderCols_">
         <if test="orderColList != null and !orderColList.isEmpty()">
@@ -1193,6 +1242,13 @@
                 </foreach>
                 ,
             </if>
+            <if test="conditionParamRef.containsKey('companyIdList') and conditionParamRef.companyIdList.size() > 0">
+                field(a.companyId,
+                <foreach collection="conditionParamRef.companyIdList" open="" close=")" index="index" item="item" separator=",">
+                    #{item}
+                </foreach>
+                ,
+            </if>
             <if test="conditionParamRef.containsKey('positionIdList') and conditionParamRef.positionIdList.size() > 0">
                 field(a.positionId,
                 <foreach collection="conditionParamRef.positionIdList" open="" close=")" index="index" item="item" separator=",">
@@ -1264,6 +1320,13 @@
                 </foreach>
                 ,
             </if>
+            <if test="conditionParamRef.containsKey('companyIdList') and conditionParamRef.companyIdList.size() > 0">
+                field(a.companyId,
+                <foreach collection="conditionParamRef.companyIdList" open="" close=")" index="index" item="item" separator=",">
+                    #{item}
+                </foreach>
+                ,
+            </if>
             <if test="conditionParamRef.containsKey('positionIdList') and conditionParamRef.positionIdList.size() > 0">
                 field(a.positionId,
                 <foreach collection="conditionParamRef.positionIdList" open="" close=")" index="index" item="item" separator=",">
@@ -1437,6 +1500,11 @@
                     <if test='orderCol.setting != null and "DESC".equalsIgnoreCase(orderCol.setting)'>DESC</if>
                     ,
                 </if>
+                <if test="orderCol.containsKey('companyAdress')">
+                    a.companyAdress
+                    <if test='orderCol.companyAdress != null and "DESC".equalsIgnoreCase(orderCol.companyAdress)'>DESC</if>
+                    ,
+                </if>
             </trim>
         </if>
 
diff --git a/enterprise-manager/src/main/resources/sqlmap/module/bussinesscard/BussinesscardRecordMapper.xml b/enterprise-manager/src/main/resources/sqlmap/module/bussinesscard/BussinesscardRecordMapper.xml
new file mode 100644
index 0000000..038534d
--- /dev/null
+++ b/enterprise-manager/src/main/resources/sqlmap/module/bussinesscard/BussinesscardRecordMapper.xml
@@ -0,0 +1,771 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"mybatis-3-mapper.dtd">
+<mapper namespace="com.mortals.xhx.module.bussinesscard.dao.ibatis.BussinesscardRecordDaoImpl">
+
+    <!-- 瀛楁鍜屽睘鎬ф槧灏� -->
+    <resultMap type="BussinesscardRecordEntity" id="BussinesscardRecordEntity-Map">
+            <id  property="id" column="id" />
+            <result property="bussinesscardId" column="bussinesscardId" />
+            <result property="viewId" column="viewId" />
+            <result property="viewName" column="viewName" />
+            <result property="sumViews" column="sumViews" />
+            <result property="remark" column="remark" />
+            <result property="viewTime" column="viewTime" />
+            <result property="createUserId" column="createUserId" />
+            <result property="createTime" column="createTime" />
+            <result property="updateUserId" column="updateUserId" />
+            <result property="updateTime" column="updateTime" />
+    </resultMap>
+
+    <!-- 琛ㄦ墍鏈夊垪 -->
+    <sql id="_columns">
+        <trim suffixOverrides="," suffix="">
+                <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
+                    a.id,
+                </if>
+                <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('bussinesscardId') or colPickMode == 1 and data.containsKey('bussinesscardId')))">
+                    a.bussinesscardId,
+                </if>
+                <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('viewId') or colPickMode == 1 and data.containsKey('viewId')))">
+                    a.viewId,
+                </if>
+                <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('viewName') or colPickMode == 1 and data.containsKey('viewName')))">
+                    a.viewName,
+                </if>
+                <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('sumViews') or colPickMode == 1 and data.containsKey('sumViews')))">
+                    a.sumViews,
+                </if>
+                <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('remark') or colPickMode == 1 and data.containsKey('remark')))">
+                    a.remark,
+                </if>
+                <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('viewTime') or colPickMode == 1 and data.containsKey('viewTime')))">
+                    a.viewTime,
+                </if>
+                <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createUserId') or colPickMode == 1 and data.containsKey('createUserId')))">
+                    a.createUserId,
+                </if>
+                <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))">
+                    a.createTime,
+                </if>
+                <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateUserId') or colPickMode == 1 and data.containsKey('updateUserId')))">
+                    a.updateUserId,
+                </if>
+                <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateTime') or colPickMode == 1 and data.containsKey('updateTime')))">
+                    a.updateTime,
+                </if>
+        </trim>
+    </sql>
+    <!-- 鏂板 鍖哄垎涓婚敭鑷鍔犺繕鏄笟鍔℃彃鍏� -->
+    <insert id="insert" parameterType="BussinesscardRecordEntity"  useGeneratedKeys="true" keyProperty="id">
+        insert into mortals_xhx_bussinesscard_record
+        (bussinesscardId,viewId,viewName,sumViews,remark,viewTime,createUserId,createTime,updateUserId,updateTime)
+        VALUES
+        (#{bussinesscardId},#{viewId},#{viewName},#{sumViews},#{remark},#{viewTime},#{createUserId},#{createTime},#{updateUserId},#{updateTime})
+    </insert>
+
+    <!-- 鎵归噺鏂板 -->
+    <insert id="insertBatch" parameterType="paramDto">
+        insert into mortals_xhx_bussinesscard_record
+        (bussinesscardId,viewId,viewName,sumViews,remark,viewTime,createUserId,createTime,updateUserId,updateTime)
+        VALUES
+        <foreach collection="data.dataList" item="item" index="index" separator="," >
+            (#{item.bussinesscardId},#{item.viewId},#{item.viewName},#{item.sumViews},#{item.remark},#{item.viewTime},#{item.createUserId},#{item.createTime},#{item.updateUserId},#{item.updateTime})
+        </foreach>
+    </insert>
+
+
+    <!-- 鏍规嵁ParamDto鏇存柊 -->
+    <update id="update" parameterType="paramDto">
+        update mortals_xhx_bussinesscard_record as a
+        set
+        <trim suffixOverrides="," suffix="">
+            <if test="(colPickMode==0 and data.containsKey('bussinesscardId')) or (colPickMode==1 and !data.containsKey('bussinesscardId'))">
+                a.bussinesscardId=#{data.bussinesscardId},
+            </if>
+            <if test="(colPickMode==0 and data.containsKey('bussinesscardIdIncrement')) or (colPickMode==1 and !data.containsKey('bussinesscardIdIncrement'))">
+                a.bussinesscardId=ifnull(a.bussinesscardId,0) + #{data.bussinesscardIdIncrement},
+            </if>
+            <if test="(colPickMode==0 and data.containsKey('viewId')) or (colPickMode==1 and !data.containsKey('viewId'))">
+                a.viewId=#{data.viewId},
+            </if>
+            <if test="(colPickMode==0 and data.containsKey('viewIdIncrement')) or (colPickMode==1 and !data.containsKey('viewIdIncrement'))">
+                a.viewId=ifnull(a.viewId,0) + #{data.viewIdIncrement},
+            </if>
+            <if test="(colPickMode==0 and data.containsKey('viewName')) or (colPickMode==1 and !data.containsKey('viewName'))">
+                a.viewName=#{data.viewName},
+            </if>
+            <if test="(colPickMode==0 and data.containsKey('sumViews')) or (colPickMode==1 and !data.containsKey('sumViews'))">
+                a.sumViews=#{data.sumViews},
+            </if>
+            <if test="(colPickMode==0 and data.containsKey('sumViewsIncrement')) or (colPickMode==1 and !data.containsKey('sumViewsIncrement'))">
+                a.sumViews=ifnull(a.sumViews,0) + #{data.sumViewsIncrement},
+            </if>
+            <if test="(colPickMode==0 and data.containsKey('remark')) or (colPickMode==1 and !data.containsKey('remark'))">
+                a.remark=#{data.remark},
+            </if>
+            <if test="(colPickMode==0 and data.containsKey('viewTime')) or (colPickMode==1 and !data.containsKey('viewTime'))">
+                a.viewTime=#{data.viewTime},
+            </if>
+            <if test="(colPickMode==0 and data.containsKey('createUserId')) or (colPickMode==1 and !data.containsKey('createUserId'))">
+                a.createUserId=#{data.createUserId},
+            </if>
+            <if test="(colPickMode==0 and data.containsKey('createUserIdIncrement')) or (colPickMode==1 and !data.containsKey('createUserIdIncrement'))">
+                a.createUserId=ifnull(a.createUserId,0) + #{data.createUserIdIncrement},
+            </if>
+            <if test="(colPickMode==0 and data.containsKey('createTime')) or (colPickMode==1 and !data.containsKey('createTime'))">
+                a.createTime=#{data.createTime},
+            </if>
+            <if test="(colPickMode==0 and data.containsKey('updateUserId')) or (colPickMode==1 and !data.containsKey('updateUserId'))">
+                a.updateUserId=#{data.updateUserId},
+            </if>
+            <if test="(colPickMode==0 and data.containsKey('updateUserIdIncrement')) or (colPickMode==1 and !data.containsKey('updateUserIdIncrement'))">
+                a.updateUserId=ifnull(a.updateUserId,0) + #{data.updateUserIdIncrement},
+            </if>
+            <if test="(colPickMode==0 and data.containsKey('updateTime')) or (colPickMode==1 and !data.containsKey('updateTime'))">
+                a.updateTime=#{data.updateTime},
+            </if>
+        </trim>
+        <trim suffixOverrides="where" suffix="">
+            where
+            <trim prefixOverrides="and" prefix="">
+                <include refid="_condition_"/>
+            </trim>
+        </trim>
+    </update>
+    <!-- 鎵归噺鏇存柊 -->
+    <update id="updateBatch" parameterType="paramDto">
+        update mortals_xhx_bussinesscard_record as a
+        <trim prefix="set" suffixOverrides=",">
+                        <trim prefix="bussinesscardId=(case" suffix="ELSE bussinesscardId end),">
+                            <foreach collection="data.dataList" item="item" index="index" separator="" >
+                                <choose>
+                                    <when test="(colPickMode==0 and item.containsKey('bussinesscardId')) or (colPickMode==1 and !item.containsKey('bussinesscardId'))">
+                                        when a.id=#{item.id} then #{item.bussinesscardId}
+                                    </when>
+                                    <when test="(colPickMode==0 and item.containsKey('bussinesscardIdIncrement')) or (colPickMode==1 and !item.containsKey('bussinesscardIdIncrement'))">
+                                        when a.id=#{item.id} then ifnull(a.bussinesscardId,0) + #{item.bussinesscardIdIncrement}
+                                    </when>
+                                </choose>
+                            </foreach>
+                        </trim>
+                        <trim prefix="viewId=(case" suffix="ELSE viewId end),">
+                            <foreach collection="data.dataList" item="item" index="index" separator="" >
+                                <choose>
+                                    <when test="(colPickMode==0 and item.containsKey('viewId')) or (colPickMode==1 and !item.containsKey('viewId'))">
+                                        when a.id=#{item.id} then #{item.viewId}
+                                    </when>
+                                    <when test="(colPickMode==0 and item.containsKey('viewIdIncrement')) or (colPickMode==1 and !item.containsKey('viewIdIncrement'))">
+                                        when a.id=#{item.id} then ifnull(a.viewId,0) + #{item.viewIdIncrement}
+                                    </when>
+                                </choose>
+                            </foreach>
+                        </trim>
+                <trim prefix="viewName=(case" suffix="ELSE viewName end),">
+                    <foreach collection="data.dataList" item="item" index="index" separator="" >
+                        <if test="(colPickMode==0 and item.containsKey('viewName')) or (colPickMode==1 and !item.containsKey('viewName'))">
+                            when a.id=#{item.id} then #{item.viewName}
+                        </if>
+                    </foreach>
+                </trim>
+                        <trim prefix="sumViews=(case" suffix="ELSE sumViews end),">
+                            <foreach collection="data.dataList" item="item" index="index" separator="" >
+                                <choose>
+                                    <when test="(colPickMode==0 and item.containsKey('sumViews')) or (colPickMode==1 and !item.containsKey('sumViews'))">
+                                        when a.id=#{item.id} then #{item.sumViews}
+                                    </when>
+                                    <when test="(colPickMode==0 and item.containsKey('sumViewsIncrement')) or (colPickMode==1 and !item.containsKey('sumViewsIncrement'))">
+                                        when a.id=#{item.id} then ifnull(a.sumViews,0) + #{item.sumViewsIncrement}
+                                    </when>
+                                </choose>
+                            </foreach>
+                        </trim>
+                <trim prefix="remark=(case" suffix="ELSE remark end),">
+                    <foreach collection="data.dataList" item="item" index="index" separator="" >
+                        <if test="(colPickMode==0 and item.containsKey('remark')) or (colPickMode==1 and !item.containsKey('remark'))">
+                            when a.id=#{item.id} then #{item.remark}
+                        </if>
+                    </foreach>
+                </trim>
+                <trim prefix="viewTime=(case" suffix="ELSE viewTime end),">
+                    <foreach collection="data.dataList" item="item" index="index" separator="" >
+                        <if test="(colPickMode==0 and item.containsKey('viewTime')) or (colPickMode==1 and !item.containsKey('viewTime'))">
+                            when a.id=#{item.id} then #{item.viewTime}
+                        </if>
+                    </foreach>
+                </trim>
+                        <trim prefix="createUserId=(case" suffix="ELSE createUserId end),">
+                            <foreach collection="data.dataList" item="item" index="index" separator="" >
+                                <choose>
+                                    <when test="(colPickMode==0 and item.containsKey('createUserId')) or (colPickMode==1 and !item.containsKey('createUserId'))">
+                                        when a.id=#{item.id} then #{item.createUserId}
+                                    </when>
+                                    <when test="(colPickMode==0 and item.containsKey('createUserIdIncrement')) or (colPickMode==1 and !item.containsKey('createUserIdIncrement'))">
+                                        when a.id=#{item.id} then ifnull(a.createUserId,0) + #{item.createUserIdIncrement}
+                                    </when>
+                                </choose>
+                            </foreach>
+                        </trim>
+                <trim prefix="createTime=(case" suffix="ELSE createTime end),">
+                    <foreach collection="data.dataList" item="item" index="index" separator="" >
+                        <if test="(colPickMode==0 and item.containsKey('createTime')) or (colPickMode==1 and !item.containsKey('createTime'))">
+                            when a.id=#{item.id} then #{item.createTime}
+                        </if>
+                    </foreach>
+                </trim>
+                        <trim prefix="updateUserId=(case" suffix="ELSE updateUserId end),">
+                            <foreach collection="data.dataList" item="item" index="index" separator="" >
+                                <choose>
+                                    <when test="(colPickMode==0 and item.containsKey('updateUserId')) or (colPickMode==1 and !item.containsKey('updateUserId'))">
+                                        when a.id=#{item.id} then #{item.updateUserId}
+                                    </when>
+                                    <when test="(colPickMode==0 and item.containsKey('updateUserIdIncrement')) or (colPickMode==1 and !item.containsKey('updateUserIdIncrement'))">
+                                        when a.id=#{item.id} then ifnull(a.updateUserId,0) + #{item.updateUserIdIncrement}
+                                    </when>
+                                </choose>
+                            </foreach>
+                        </trim>
+                <trim prefix="updateTime=(case" suffix="ELSE updateTime end),">
+                    <foreach collection="data.dataList" item="item" index="index" separator="" >
+                        <if test="(colPickMode==0 and item.containsKey('updateTime')) or (colPickMode==1 and !item.containsKey('updateTime'))">
+                            when a.id=#{item.id} then #{item.updateTime}
+                        </if>
+                    </foreach>
+                </trim>
+        </trim>
+        where id in
+        <foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")">
+            #{item.id}
+        </foreach>
+    </update>
+    <!-- 鏍规嵁涓诲仴鏌ヨ -->
+    <select id="getByKey" parameterType="paramDto" resultMap="BussinesscardRecordEntity-Map">
+        select <include refid="_columns"/>
+        from mortals_xhx_bussinesscard_record as a
+        where a.id=#{condition.id}
+    </select>
+    <!-- 鏍规嵁涓诲仴鍒犻櫎 -->
+    <delete id="deleteByKey" parameterType="paramDto">
+        delete a.* from mortals_xhx_bussinesscard_record as a where a.id=#{condition.id}
+    </delete>
+    <!-- 鏍规嵁涓诲仴鍒犻櫎涓€鎵癸紝閽堝鍗曚竴涓诲仴鏈夋晥 -->
+    <delete id="deleteByKeys">
+        delete from mortals_xhx_bussinesscard_record where id in
+        <foreach collection="array" item="item" index="index" open="(" separator="," close=")">
+            #{item}
+        </foreach>
+    </delete>
+    <!-- 鏍规嵁涓诲仴鍒楄〃鍒犻櫎涓€鎵癸紝閽堝鍗曚竴涓诲仴鏈夋晥 -->
+    <delete id="deleteByKeyList">
+        delete from mortals_xhx_bussinesscard_record where id in
+        <foreach collection="list" item="item" index="index" open="(" separator="," close=")">
+            #{item}
+        </foreach>
+    </delete>
+
+    <!-- 鏍规嵁瀵硅薄鍒楄〃鍒犻櫎涓€鎵癸紝閽堝鍗曚竴涓诲仴鏈夋晥 -->
+    <delete id="deleteByEntityList">
+        delete from mortals_xhx_bussinesscard_record where id in
+        <foreach collection="list" item="item" index="index" open="(" separator="," close=")">
+            #{item.id}
+        </foreach>
+    </delete>
+    <!-- 鏍规嵁paramDto鍒犻櫎涓€鎵� -->
+    <delete id="deleteByMap" parameterType="paramDto">
+        delete a.* from mortals_xhx_bussinesscard_record as a
+        <trim suffixOverrides="where" suffix="">
+            where
+            <trim prefixOverrides="and" prefix="">
+                <include refid="_condition_"/>
+            </trim>
+        </trim>
+    </delete>
+    <!-- 鑾峰彇鍒楄〃 -->
+    <select id="getList" parameterType="paramDto" resultMap="BussinesscardRecordEntity-Map">
+        select <include refid="_columns"/>
+        from mortals_xhx_bussinesscard_record as a
+        <trim suffixOverrides="where" suffix="">
+            where
+            <trim prefixOverrides="and" prefix="">
+                <include refid="_condition_"/>
+            </trim>
+        </trim>
+        <include refid="_orderCols_"/>
+    </select>
+
+
+
+    <!-- 鑾峰彇 -->
+    <select id="getListCount" parameterType="paramDto" resultType="int">
+        select count(1)
+        from mortals_xhx_bussinesscard_record as a
+        <trim suffixOverrides="where" suffix="">
+            where
+            <trim prefixOverrides="and" prefix="">
+                <include refid="_condition_"/>
+            </trim>
+        </trim>
+    </select>
+    <!-- 鏉′欢鏄犲皠 -->
+    <sql id="_condition_">
+        <if test="condition != null and !condition.isEmpty()">
+            <!-- 鏉′欢鏄犲皠-鏅€氭潯浠� -->
+            <include refid="_condition_param_">
+                <property name="_conditionParam_" value="condition"/>
+                <property name="_conditionType_" value="and"/>
+            </include>
+            <!-- 鏉′欢鏄犲皠-闆嗗悎涔嬮棿浣跨敤AND锛岄泦鍚堜腑鍏冪礌浣跨敤OR-(list[0].1 or list[0].2) and (list[1].3 or list[1].4) -->
+            <if test="condition.containsKey('andConditionList') and !condition.andConditionList.isEmpty()">
+                and
+                <foreach collection="condition.andConditionList" open="(" close=")" index="index" item="andCondition" separator=" and ">
+                    <trim prefixOverrides="or" prefix="(" suffix=")">
+                        <include refid="_condition_param_">
+                            <property name="_conditionParam_" value="andCondition"/>
+                            <property name="_conditionType_" value="or"/>
+                        </include>
+                    </trim>
+                </foreach>
+            </if>
+            <!-- 鏉′欢鏄犲皠-闆嗗悎涔嬮棿浣跨敤OR锛岄泦鍚堜腑鍏冪礌浣跨敤AND-(list[0].1 and list[0].2) or (list[1].3 and list[1].4) -->
+            <if test="condition.containsKey('orConditionList') and !condition.orConditionList.isEmpty()">
+                and
+                <foreach collection="condition.orConditionList" open="(" close=")" index="index" item="orCondition" separator=" or ">
+                    <trim prefixOverrides="and" prefix="(" suffix=")">
+                        <include refid="_condition_param_">
+                            <property name="_conditionParam_" value="orCondition"/>
+                            <property name="_conditionType_" value="and"/>
+                        </include>
+                    </trim>
+                </foreach>
+            </if>
+        </if>
+    </sql>
+    <!-- 鏉′欢鏄犲皠-浠e弬鏁� -->
+    <sql id="_condition_param_">
+        <bind name="conditionParamRef" value="${_conditionParam_}"/>
+        <if test="permissionSql != null and permissionSql != ''">
+            ${permissionSql}
+        </if>
+
+        <if test="conditionParamRef.containsKey('id')">
+            <if test="conditionParamRef.id != null">
+                ${_conditionType_} a.id=#{${_conditionParam_}.id}
+            </if>
+        </if>
+            <if test="conditionParamRef.containsKey('id')">
+                <if test="conditionParamRef.id != null ">
+                    ${_conditionType_} a.id = #{${_conditionParam_}.id}
+                </if>
+                <if test="conditionParamRef.id == null">
+                    ${_conditionType_} a.id is null
+                </if>
+            </if>
+            <if test="conditionParamRef.containsKey('idList') and conditionParamRef.idList.size() > 0">
+                ${_conditionType_} a.id in
+                <foreach collection="conditionParamRef.idList" open="(" close=")" index="index" item="item" separator=",">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="conditionParamRef.containsKey('idNotList') and conditionParamRef.idNotList.size() > 0">
+                ${_conditionType_} a.id not in
+                <foreach collection="conditionParamRef.idNotList" open="(" close=")" index="index" item="item" separator=",">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="conditionParamRef.containsKey('idStart') and conditionParamRef.idStart != null">
+                ${_conditionType_} a.id <![CDATA[ >= ]]> #{${_conditionParam_}.idStart}
+            </if>
+            <if test="conditionParamRef.containsKey('idEnd') and conditionParamRef.idEnd != null">
+                ${_conditionType_} a.id <![CDATA[ <= ]]> #{${_conditionParam_}.idEnd}
+            </if>
+
+            <if test="conditionParamRef.containsKey('bussinesscardId')">
+                <if test="conditionParamRef.bussinesscardId != null ">
+                    ${_conditionType_} a.bussinesscardId = #{${_conditionParam_}.bussinesscardId}
+                </if>
+                <if test="conditionParamRef.bussinesscardId == null">
+                    ${_conditionType_} a.bussinesscardId is null
+                </if>
+            </if>
+            <if test="conditionParamRef.containsKey('bussinesscardIdList') and conditionParamRef.bussinesscardIdList.size() > 0">
+                ${_conditionType_} a.bussinesscardId in
+                <foreach collection="conditionParamRef.bussinesscardIdList" open="(" close=")" index="index" item="item" separator=",">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="conditionParamRef.containsKey('bussinesscardIdNotList') and conditionParamRef.bussinesscardIdNotList.size() > 0">
+                ${_conditionType_} a.bussinesscardId not in
+                <foreach collection="conditionParamRef.bussinesscardIdNotList" open="(" close=")" index="index" item="item" separator=",">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="conditionParamRef.containsKey('bussinesscardIdStart') and conditionParamRef.bussinesscardIdStart != null">
+                ${_conditionType_} a.bussinesscardId <![CDATA[ >= ]]> #{${_conditionParam_}.bussinesscardIdStart}
+            </if>
+            <if test="conditionParamRef.containsKey('bussinesscardIdEnd') and conditionParamRef.bussinesscardIdEnd != null">
+                ${_conditionType_} a.bussinesscardId <![CDATA[ <= ]]> #{${_conditionParam_}.bussinesscardIdEnd}
+            </if>
+
+            <if test="conditionParamRef.containsKey('viewId')">
+                <if test="conditionParamRef.viewId != null ">
+                    ${_conditionType_} a.viewId = #{${_conditionParam_}.viewId}
+                </if>
+                <if test="conditionParamRef.viewId == null">
+                    ${_conditionType_} a.viewId is null
+                </if>
+            </if>
+            <if test="conditionParamRef.containsKey('viewIdList') and conditionParamRef.viewIdList.size() > 0">
+                ${_conditionType_} a.viewId in
+                <foreach collection="conditionParamRef.viewIdList" open="(" close=")" index="index" item="item" separator=",">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="conditionParamRef.containsKey('viewIdNotList') and conditionParamRef.viewIdNotList.size() > 0">
+                ${_conditionType_} a.viewId not in
+                <foreach collection="conditionParamRef.viewIdNotList" open="(" close=")" index="index" item="item" separator=",">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="conditionParamRef.containsKey('viewIdStart') and conditionParamRef.viewIdStart != null">
+                ${_conditionType_} a.viewId <![CDATA[ >= ]]> #{${_conditionParam_}.viewIdStart}
+            </if>
+            <if test="conditionParamRef.containsKey('viewIdEnd') and conditionParamRef.viewIdEnd != null">
+                ${_conditionType_} a.viewId <![CDATA[ <= ]]> #{${_conditionParam_}.viewIdEnd}
+            </if>
+
+
+            <if test="conditionParamRef.containsKey('viewName')">
+                <if test="conditionParamRef.viewName != null and conditionParamRef.viewName != ''">
+                    ${_conditionType_} a.viewName like #{${_conditionParam_}.viewName}
+                </if>
+                <if test="conditionParamRef.viewName == null">
+                    ${_conditionType_} a.viewName is null
+                </if>
+            </if>
+            <if test="conditionParamRef.containsKey('viewNameList') and conditionParamRef.viewNameList.size() > 0">
+                ${_conditionType_} a.viewName in
+                <foreach collection="conditionParamRef.viewNameList" open="(" close=")" index="index" item="item" separator=",">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="conditionParamRef.containsKey('viewNameNotList') and conditionParamRef.viewNameNotList.size() > 0">
+                ${_conditionType_} a.viewName not in
+                <foreach collection="conditionParamRef.viewNameNotList" open="(" close=")" index="index" item="item" separator=",">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="conditionParamRef.containsKey('sumViews')">
+                <if test="conditionParamRef.sumViews != null ">
+                    ${_conditionType_} a.sumViews = #{${_conditionParam_}.sumViews}
+                </if>
+                <if test="conditionParamRef.sumViews == null">
+                    ${_conditionType_} a.sumViews is null
+                </if>
+            </if>
+            <if test="conditionParamRef.containsKey('sumViewsList') and conditionParamRef.sumViewsList.size() > 0">
+                ${_conditionType_} a.sumViews in
+                <foreach collection="conditionParamRef.sumViewsList" open="(" close=")" index="index" item="item" separator=",">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="conditionParamRef.containsKey('sumViewsNotList') and conditionParamRef.sumViewsNotList.size() > 0">
+                ${_conditionType_} a.sumViews not in
+                <foreach collection="conditionParamRef.sumViewsNotList" open="(" close=")" index="index" item="item" separator=",">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="conditionParamRef.containsKey('sumViewsStart') and conditionParamRef.sumViewsStart != null">
+                ${_conditionType_} a.sumViews <![CDATA[ >= ]]> #{${_conditionParam_}.sumViewsStart}
+            </if>
+            <if test="conditionParamRef.containsKey('sumViewsEnd') and conditionParamRef.sumViewsEnd != null">
+                ${_conditionType_} a.sumViews <![CDATA[ <= ]]> #{${_conditionParam_}.sumViewsEnd}
+            </if>
+
+
+            <if test="conditionParamRef.containsKey('remark')">
+                <if test="conditionParamRef.remark != null and conditionParamRef.remark != ''">
+                    ${_conditionType_} a.remark like #{${_conditionParam_}.remark}
+                </if>
+                <if test="conditionParamRef.remark == null">
+                    ${_conditionType_} a.remark is null
+                </if>
+            </if>
+            <if test="conditionParamRef.containsKey('remarkList') and conditionParamRef.remarkList.size() > 0">
+                ${_conditionType_} a.remark in
+                <foreach collection="conditionParamRef.remarkList" open="(" close=")" index="index" item="item" separator=",">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="conditionParamRef.containsKey('remarkNotList') and conditionParamRef.remarkNotList.size() > 0">
+                ${_conditionType_} a.remark not in
+                <foreach collection="conditionParamRef.remarkNotList" open="(" close=")" index="index" item="item" separator=",">
+                    #{item}
+                </foreach>
+            </if>
+
+            <if test="conditionParamRef.containsKey('viewTime')">
+                <if test="conditionParamRef.viewTime != null ">
+                    ${_conditionType_} a.viewTime = #{${_conditionParam_}.viewTime}
+                </if>
+                <if test="conditionParamRef.viewTime == null">
+                    ${_conditionType_} a.viewTime is null
+                </if>
+            </if>
+            <if test="conditionParamRef.containsKey('viewTimeStart') and conditionParamRef.viewTimeStart != null and conditionParamRef.viewTimeStart!=''">
+                ${_conditionType_} a.viewTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.viewTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
+            </if>
+            <if test="conditionParamRef.containsKey('viewTimeEnd') and conditionParamRef.viewTimeEnd != null and conditionParamRef.viewTimeEnd!=''">
+                ${_conditionType_} a.viewTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.viewTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
+            </if>
+            <if test="conditionParamRef.containsKey('createUserId')">
+                <if test="conditionParamRef.createUserId != null ">
+                    ${_conditionType_} a.createUserId = #{${_conditionParam_}.createUserId}
+                </if>
+                <if test="conditionParamRef.createUserId == null">
+                    ${_conditionType_} a.createUserId is null
+                </if>
+            </if>
+            <if test="conditionParamRef.containsKey('createUserIdList') and conditionParamRef.createUserIdList.size() > 0">
+                ${_conditionType_} a.createUserId in
+                <foreach collection="conditionParamRef.createUserIdList" open="(" close=")" index="index" item="item" separator=",">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="conditionParamRef.containsKey('createUserIdNotList') and conditionParamRef.createUserIdNotList.size() > 0">
+                ${_conditionType_} a.createUserId not in
+                <foreach collection="conditionParamRef.createUserIdNotList" open="(" close=")" index="index" item="item" separator=",">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="conditionParamRef.containsKey('createUserIdStart') and conditionParamRef.createUserIdStart != null">
+                ${_conditionType_} a.createUserId <![CDATA[ >= ]]> #{${_conditionParam_}.createUserIdStart}
+            </if>
+            <if test="conditionParamRef.containsKey('createUserIdEnd') and conditionParamRef.createUserIdEnd != null">
+                ${_conditionType_} a.createUserId <![CDATA[ <= ]]> #{${_conditionParam_}.createUserIdEnd}
+            </if>
+
+
+            <if test="conditionParamRef.containsKey('createTime')">
+                <if test="conditionParamRef.createTime != null ">
+                    ${_conditionType_} a.createTime = #{${_conditionParam_}.createTime}
+                </if>
+                <if test="conditionParamRef.createTime == null">
+                    ${_conditionType_} a.createTime is null
+                </if>
+            </if>
+            <if test="conditionParamRef.containsKey('createTimeStart') and conditionParamRef.createTimeStart != null and conditionParamRef.createTimeStart!=''">
+                ${_conditionType_} a.createTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
+            </if>
+            <if test="conditionParamRef.containsKey('createTimeEnd') and conditionParamRef.createTimeEnd != null and conditionParamRef.createTimeEnd!=''">
+                ${_conditionType_} a.createTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
+            </if>
+            <if test="conditionParamRef.containsKey('updateUserId')">
+                <if test="conditionParamRef.updateUserId != null ">
+                    ${_conditionType_} a.updateUserId = #{${_conditionParam_}.updateUserId}
+                </if>
+                <if test="conditionParamRef.updateUserId == null">
+                    ${_conditionType_} a.updateUserId is null
+                </if>
+            </if>
+            <if test="conditionParamRef.containsKey('updateUserIdList') and conditionParamRef.updateUserIdList.size() > 0">
+                ${_conditionType_} a.updateUserId in
+                <foreach collection="conditionParamRef.updateUserIdList" open="(" close=")" index="index" item="item" separator=",">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="conditionParamRef.containsKey('updateUserIdNotList') and conditionParamRef.updateUserIdNotList.size() > 0">
+                ${_conditionType_} a.updateUserId not in
+                <foreach collection="conditionParamRef.updateUserIdNotList" open="(" close=")" index="index" item="item" separator=",">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="conditionParamRef.containsKey('updateUserIdStart') and conditionParamRef.updateUserIdStart != null">
+                ${_conditionType_} a.updateUserId <![CDATA[ >= ]]> #{${_conditionParam_}.updateUserIdStart}
+            </if>
+            <if test="conditionParamRef.containsKey('updateUserIdEnd') and conditionParamRef.updateUserIdEnd != null">
+                ${_conditionType_} a.updateUserId <![CDATA[ <= ]]> #{${_conditionParam_}.updateUserIdEnd}
+            </if>
+
+
+            <if test="conditionParamRef.containsKey('updateTime')">
+                <if test="conditionParamRef.updateTime != null ">
+                    ${_conditionType_} a.updateTime = #{${_conditionParam_}.updateTime}
+                </if>
+                <if test="conditionParamRef.updateTime == null">
+                    ${_conditionType_} a.updateTime is null
+                </if>
+            </if>
+            <if test="conditionParamRef.containsKey('updateTimeStart') and conditionParamRef.updateTimeStart != null and conditionParamRef.updateTimeStart!=''">
+                ${_conditionType_} a.updateTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
+            </if>
+            <if test="conditionParamRef.containsKey('updateTimeEnd') and conditionParamRef.updateTimeEnd != null and conditionParamRef.updateTimeEnd!=''">
+                ${_conditionType_} a.updateTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
+            </if>
+    </sql>
+    <sql id="_orderCols_">
+        <if test="orderColList != null and !orderColList.isEmpty()">
+            order by
+                    <if test="conditionParamRef.containsKey('idList') and conditionParamRef.idList.size() > 0">
+                        field(a.id,
+                        <foreach collection="conditionParamRef.idList" open="" close=")" index="index" item="item" separator=",">
+                            #{item}
+                        </foreach>
+                        ,
+                    </if>
+                    <if test="conditionParamRef.containsKey('bussinesscardIdList') and conditionParamRef.bussinesscardIdList.size() > 0">
+                        field(a.bussinesscardId,
+                        <foreach collection="conditionParamRef.bussinesscardIdList" open="" close=")" index="index" item="item" separator=",">
+                            #{item}
+                        </foreach>
+                        ,
+                    </if>
+                    <if test="conditionParamRef.containsKey('viewIdList') and conditionParamRef.viewIdList.size() > 0">
+                        field(a.viewId,
+                        <foreach collection="conditionParamRef.viewIdList" open="" close=")" index="index" item="item" separator=",">
+                            #{item}
+                        </foreach>
+                        ,
+                    </if>
+                    <if test="conditionParamRef.containsKey('sumViewsList') and conditionParamRef.sumViewsList.size() > 0">
+                        field(a.sumViews,
+                        <foreach collection="conditionParamRef.sumViewsList" open="" close=")" index="index" item="item" separator=",">
+                            #{item}
+                        </foreach>
+                        ,
+                    </if>
+                    <if test="conditionParamRef.containsKey('createUserIdList') and conditionParamRef.createUserIdList.size() > 0">
+                        field(a.createUserId,
+                        <foreach collection="conditionParamRef.createUserIdList" open="" close=")" index="index" item="item" separator=",">
+                            #{item}
+                        </foreach>
+                        ,
+                    </if>
+                    <if test="conditionParamRef.containsKey('updateUserIdList') and conditionParamRef.updateUserIdList.size() > 0">
+                        field(a.updateUserId,
+                        <foreach collection="conditionParamRef.updateUserIdList" open="" close=")" index="index" item="item" separator=",">
+                            #{item}
+                        </foreach>
+                        ,
+                    </if>
+            <trim suffixOverrides=","  suffix="">
+                <foreach collection="orderColList" open="" close="" index="index" item="item" separator=",">
+                     a.${item.colName} ${item.sortKind}
+                </foreach>
+            </trim>
+        </if>
+        <if test="(orderColList == null or orderColList.isEmpty()) and orderCol != null and !orderCol.isEmpty()">
+            order by
+                    <if test="conditionParamRef.containsKey('idList') and conditionParamRef.idList.size() > 0">
+                        field(a.id,
+                        <foreach collection="conditionParamRef.idList" open="" close=")" index="index" item="item" separator=",">
+                            #{item}
+                        </foreach>
+                        ,
+                    </if>
+                    <if test="conditionParamRef.containsKey('bussinesscardIdList') and conditionParamRef.bussinesscardIdList.size() > 0">
+                        field(a.bussinesscardId,
+                        <foreach collection="conditionParamRef.bussinesscardIdList" open="" close=")" index="index" item="item" separator=",">
+                            #{item}
+                        </foreach>
+                        ,
+                    </if>
+                    <if test="conditionParamRef.containsKey('viewIdList') and conditionParamRef.viewIdList.size() > 0">
+                        field(a.viewId,
+                        <foreach collection="conditionParamRef.viewIdList" open="" close=")" index="index" item="item" separator=",">
+                            #{item}
+                        </foreach>
+                        ,
+                    </if>
+                    <if test="conditionParamRef.containsKey('sumViewsList') and conditionParamRef.sumViewsList.size() > 0">
+                        field(a.sumViews,
+                        <foreach collection="conditionParamRef.sumViewsList" open="" close=")" index="index" item="item" separator=",">
+                            #{item}
+                        </foreach>
+                        ,
+                    </if>
+                    <if test="conditionParamRef.containsKey('createUserIdList') and conditionParamRef.createUserIdList.size() > 0">
+                        field(a.createUserId,
+                        <foreach collection="conditionParamRef.createUserIdList" open="" close=")" index="index" item="item" separator=",">
+                            #{item}
+                        </foreach>
+                        ,
+                    </if>
+                    <if test="conditionParamRef.containsKey('updateUserIdList') and conditionParamRef.updateUserIdList.size() > 0">
+                        field(a.updateUserId,
+                        <foreach collection="conditionParamRef.updateUserIdList" open="" close=")" index="index" item="item" separator=",">
+                            #{item}
+                        </foreach>
+                        ,
+                    </if>
+            <trim suffixOverrides=","  suffix="">
+                    <if test="orderCol.containsKey('id')">
+                        a.id
+                        <if test='orderCol.id != null and "DESC".equalsIgnoreCase(orderCol.id)'>DESC</if>
+                        ,
+                    </if>
+                    <if test="orderCol.containsKey('bussinesscardId')">
+                        a.bussinesscardId
+                        <if test='orderCol.bussinesscardId != null and "DESC".equalsIgnoreCase(orderCol.bussinesscardId)'>DESC</if>
+                        ,
+                    </if>
+                    <if test="orderCol.containsKey('viewId')">
+                        a.viewId
+                        <if test='orderCol.viewId != null and "DESC".equalsIgnoreCase(orderCol.viewId)'>DESC</if>
+                        ,
+                    </if>
+                    <if test="orderCol.containsKey('viewName')">
+                        a.viewName
+                        <if test='orderCol.viewName != null and "DESC".equalsIgnoreCase(orderCol.viewName)'>DESC</if>
+                        ,
+                    </if>
+                    <if test="orderCol.containsKey('sumViews')">
+                        a.sumViews
+                        <if test='orderCol.sumViews != null and "DESC".equalsIgnoreCase(orderCol.sumViews)'>DESC</if>
+                        ,
+                    </if>
+                    <if test="orderCol.containsKey('remark')">
+                        a.remark
+                        <if test='orderCol.remark != null and "DESC".equalsIgnoreCase(orderCol.remark)'>DESC</if>
+                        ,
+                    </if>
+                    <if test="orderCol.containsKey('viewTime')">
+                        a.viewTime
+                        <if test='orderCol.viewTime != null and "DESC".equalsIgnoreCase(orderCol.viewTime)'>DESC</if>
+                        ,
+                    </if>
+                    <if test="orderCol.containsKey('createUserId')">
+                        a.createUserId
+                        <if test='orderCol.createUserId != null and "DESC".equalsIgnoreCase(orderCol.createUserId)'>DESC</if>
+                        ,
+                    </if>
+                    <if test="orderCol.containsKey('createTime')">
+                        a.createTime
+                        <if test='orderCol.createTime != null and "DESC".equalsIgnoreCase(orderCol.createTime)'>DESC</if>
+                        ,
+                    </if>
+                    <if test="orderCol.containsKey('updateUserId')">
+                        a.updateUserId
+                        <if test='orderCol.updateUserId != null and "DESC".equalsIgnoreCase(orderCol.updateUserId)'>DESC</if>
+                        ,
+                    </if>
+                    <if test="orderCol.containsKey('updateTime')">
+                        a.updateTime
+                        <if test='orderCol.updateTime != null and "DESC".equalsIgnoreCase(orderCol.updateTime)'>DESC</if>
+                        ,
+                    </if>
+            </trim>
+        </if>
+
+
+    </sql>
+    <sql id="_group_by_">
+        <if test="groupList != null and !groupList.isEmpty()">
+            GROUP BY
+            <trim suffixOverrides=","  suffix="">
+                <foreach collection="groupList" open="" close="" index="index" item="item" separator=",">
+                    ${item}
+                </foreach>
+            </trim>
+        </if>
+    </sql>
+</mapper>
\ No newline at end of file
diff --git a/enterprise-manager/src/main/resources/sqlmap/module/news/NewsRecordMapper.xml b/enterprise-manager/src/main/resources/sqlmap/module/news/NewsRecordMapper.xml
index 6ae4c3c..419e628 100644
--- a/enterprise-manager/src/main/resources/sqlmap/module/news/NewsRecordMapper.xml
+++ b/enterprise-manager/src/main/resources/sqlmap/module/news/NewsRecordMapper.xml
@@ -1,74 +1,76 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-"mybatis-3-mapper.dtd">
+        "mybatis-3-mapper.dtd">
 <mapper namespace="com.mortals.xhx.module.news.dao.ibatis.NewsRecordDaoImpl">
 
     <!-- 瀛楁鍜屽睘鎬ф槧灏� -->
     <resultMap type="NewsRecordEntity" id="NewsRecordEntity-Map">
-            <id  property="id" column="id" />
-            <result property="newsId" column="newsId" />
-            <result property="viewName" column="viewName" />
-            <result property="sumViews" column="sumViews" />
-            <result property="remark" column="remark" />
-            <result property="viewTime" column="viewTime" />
-            <result property="createUserId" column="createUserId" />
-            <result property="createTime" column="createTime" />
-            <result property="updateUserId" column="updateUserId" />
-            <result property="updateTime" column="updateTime" />
-            
+        <id  property="id" column="id" />
+        <result property="newsId" column="newsId" />
+        <result property="viewName" column="viewName" />
+        <result property="sumViews" column="sumViews" />
+        <result property="remark" column="remark" />
+        <result property="viewTime" column="viewTime" />
+        <result property="createUserId" column="createUserId" />
+        <result property="createTime" column="createTime" />
+        <result property="updateUserId" column="updateUserId" />
+        <result property="updateTime" column="updateTime" />
+        <result property="viewId" column="viewId" />
     </resultMap>
 
-
     <!-- 琛ㄦ墍鏈夊垪 -->
     <sql id="_columns">
         <trim suffixOverrides="," suffix="">
-                <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
-                    a.id,
-                </if>
-                <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('newsId') or colPickMode == 1 and data.containsKey('newsId')))">
-                    a.newsId,
-                </if>
-                <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('viewName') or colPickMode == 1 and data.containsKey('viewName')))">
-                    a.viewName,
-                </if>
-                <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('sumViews') or colPickMode == 1 and data.containsKey('sumViews')))">
-                    a.sumViews,
-                </if>
-                <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('remark') or colPickMode == 1 and data.containsKey('remark')))">
-                    a.remark,
-                </if>
-                <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('viewTime') or colPickMode == 1 and data.containsKey('viewTime')))">
-                    a.viewTime,
-                </if>
-                <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createUserId') or colPickMode == 1 and data.containsKey('createUserId')))">
-                    a.createUserId,
-                </if>
-                <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))">
-                    a.createTime,
-                </if>
-                <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateUserId') or colPickMode == 1 and data.containsKey('updateUserId')))">
-                    a.updateUserId,
-                </if>
-                <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateTime') or colPickMode == 1 and data.containsKey('updateTime')))">
-                    a.updateTime,
-                </if>
+            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
+                a.id,
+            </if>
+            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('newsId') or colPickMode == 1 and data.containsKey('newsId')))">
+                a.newsId,
+            </if>
+            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('viewName') or colPickMode == 1 and data.containsKey('viewName')))">
+                a.viewName,
+            </if>
+            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('sumViews') or colPickMode == 1 and data.containsKey('sumViews')))">
+                a.sumViews,
+            </if>
+            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('remark') or colPickMode == 1 and data.containsKey('remark')))">
+                a.remark,
+            </if>
+            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('viewTime') or colPickMode == 1 and data.containsKey('viewTime')))">
+                a.viewTime,
+            </if>
+            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createUserId') or colPickMode == 1 and data.containsKey('createUserId')))">
+                a.createUserId,
+            </if>
+            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))">
+                a.createTime,
+            </if>
+            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateUserId') or colPickMode == 1 and data.containsKey('updateUserId')))">
+                a.updateUserId,
+            </if>
+            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateTime') or colPickMode == 1 and data.containsKey('updateTime')))">
+                a.updateTime,
+            </if>
+            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('viewId') or colPickMode == 1 and data.containsKey('viewId')))">
+                a.viewId,
+            </if>
         </trim>
     </sql>
     <!-- 鏂板 鍖哄垎涓婚敭鑷鍔犺繕鏄笟鍔℃彃鍏� -->
     <insert id="insert" parameterType="NewsRecordEntity"  useGeneratedKeys="true" keyProperty="id">
         insert into mortals_xhx_news_record
-        (newsId,viewName,sumViews,remark,viewTime,createUserId,createTime,updateUserId,updateTime)
+        (newsId,viewName,sumViews,remark,viewTime,createUserId,createTime,updateUserId,updateTime,viewId)
         VALUES
-        (#{newsId},#{viewName},#{sumViews},#{remark},#{viewTime},#{createUserId},#{createTime},#{updateUserId},#{updateTime})
+        (#{newsId},#{viewName},#{sumViews},#{remark},#{viewTime},#{createUserId},#{createTime},#{updateUserId},#{updateTime},#{viewId})
     </insert>
 
     <!-- 鎵归噺鏂板 -->
     <insert id="insertBatch" parameterType="paramDto">
         insert into mortals_xhx_news_record
-        (newsId,viewName,sumViews,remark,viewTime,createUserId,createTime,updateUserId,updateTime)
+        (newsId,viewName,sumViews,remark,viewTime,createUserId,createTime,updateUserId,updateTime,viewId)
         VALUES
         <foreach collection="data.dataList" item="item" index="index" separator="," >
-            (#{item.newsId},#{item.viewName},#{item.sumViews},#{item.remark},#{item.viewTime},#{item.createUserId},#{item.createTime},#{item.updateUserId},#{item.updateTime})
+            (#{item.newsId},#{item.viewName},#{item.sumViews},#{item.remark},#{item.viewTime},#{item.createUserId},#{item.createTime},#{item.updateUserId},#{item.updateTime},#{item.viewId})
         </foreach>
     </insert>
 
@@ -117,6 +119,12 @@
             <if test="(colPickMode==0 and data.containsKey('updateTime')) or (colPickMode==1 and !data.containsKey('updateTime'))">
                 a.updateTime=#{data.updateTime},
             </if>
+            <if test="(colPickMode==0 and data.containsKey('viewId')) or (colPickMode==1 and !data.containsKey('viewId'))">
+                a.viewId=#{data.viewId},
+            </if>
+            <if test="(colPickMode==0 and data.containsKey('viewIdIncrement')) or (colPickMode==1 and !data.containsKey('viewIdIncrement'))">
+                a.viewId=ifnull(a.viewId,0) + #{data.viewIdIncrement},
+            </if>
         </trim>
         <trim suffixOverrides="where" suffix="">
             where
@@ -129,89 +137,101 @@
     <update id="updateBatch" parameterType="paramDto">
         update mortals_xhx_news_record as a
         <trim prefix="set" suffixOverrides=",">
-                        <trim prefix="newsId=(case" suffix="ELSE newsId end),">
-                            <foreach collection="data.dataList" item="item" index="index" separator="" >
-                                <choose>
-                                    <when test="(colPickMode==0 and item.containsKey('newsId')) or (colPickMode==1 and !item.containsKey('newsId'))">
-                                        when a.id=#{item.id} then #{item.newsId}
-                                    </when>
-                                    <when test="(colPickMode==0 and item.containsKey('newsIdIncrement')) or (colPickMode==1 and !item.containsKey('newsIdIncrement'))">
-                                        when a.id=#{item.id} then ifnull(a.newsId,0) + #{item.newsIdIncrement}
-                                    </when>
-                                </choose>
-                            </foreach>
-                        </trim>
-                <trim prefix="viewName=(case" suffix="ELSE viewName end),">
-                    <foreach collection="data.dataList" item="item" index="index" separator="" >
-                        <if test="(colPickMode==0 and item.containsKey('viewName')) or (colPickMode==1 and !item.containsKey('viewName'))">
-                            when a.id=#{item.id} then #{item.viewName}
-                        </if>
-                    </foreach>
-                </trim>
-                        <trim prefix="sumViews=(case" suffix="ELSE sumViews end),">
-                            <foreach collection="data.dataList" item="item" index="index" separator="" >
-                                <choose>
-                                    <when test="(colPickMode==0 and item.containsKey('sumViews')) or (colPickMode==1 and !item.containsKey('sumViews'))">
-                                        when a.id=#{item.id} then #{item.sumViews}
-                                    </when>
-                                    <when test="(colPickMode==0 and item.containsKey('sumViewsIncrement')) or (colPickMode==1 and !item.containsKey('sumViewsIncrement'))">
-                                        when a.id=#{item.id} then ifnull(a.sumViews,0) + #{item.sumViewsIncrement}
-                                    </when>
-                                </choose>
-                            </foreach>
-                        </trim>
-                <trim prefix="remark=(case" suffix="ELSE remark end),">
-                    <foreach collection="data.dataList" item="item" index="index" separator="" >
-                        <if test="(colPickMode==0 and item.containsKey('remark')) or (colPickMode==1 and !item.containsKey('remark'))">
-                            when a.id=#{item.id} then #{item.remark}
-                        </if>
-                    </foreach>
-                </trim>
-                <trim prefix="viewTime=(case" suffix="ELSE viewTime end),">
-                    <foreach collection="data.dataList" item="item" index="index" separator="" >
-                        <if test="(colPickMode==0 and item.containsKey('viewTime')) or (colPickMode==1 and !item.containsKey('viewTime'))">
-                            when a.id=#{item.id} then #{item.viewTime}
-                        </if>
-                    </foreach>
-                </trim>
-                        <trim prefix="createUserId=(case" suffix="ELSE createUserId end),">
-                            <foreach collection="data.dataList" item="item" index="index" separator="" >
-                                <choose>
-                                    <when test="(colPickMode==0 and item.containsKey('createUserId')) or (colPickMode==1 and !item.containsKey('createUserId'))">
-                                        when a.id=#{item.id} then #{item.createUserId}
-                                    </when>
-                                    <when test="(colPickMode==0 and item.containsKey('createUserIdIncrement')) or (colPickMode==1 and !item.containsKey('createUserIdIncrement'))">
-                                        when a.id=#{item.id} then ifnull(a.createUserId,0) + #{item.createUserIdIncrement}
-                                    </when>
-                                </choose>
-                            </foreach>
-                        </trim>
-                <trim prefix="createTime=(case" suffix="ELSE createTime end),">
-                    <foreach collection="data.dataList" item="item" index="index" separator="" >
-                        <if test="(colPickMode==0 and item.containsKey('createTime')) or (colPickMode==1 and !item.containsKey('createTime'))">
-                            when a.id=#{item.id} then #{item.createTime}
-                        </if>
-                    </foreach>
-                </trim>
-                        <trim prefix="updateUserId=(case" suffix="ELSE updateUserId end),">
-                            <foreach collection="data.dataList" item="item" index="index" separator="" >
-                                <choose>
-                                    <when test="(colPickMode==0 and item.containsKey('updateUserId')) or (colPickMode==1 and !item.containsKey('updateUserId'))">
-                                        when a.id=#{item.id} then #{item.updateUserId}
-                                    </when>
-                                    <when test="(colPickMode==0 and item.containsKey('updateUserIdIncrement')) or (colPickMode==1 and !item.containsKey('updateUserIdIncrement'))">
-                                        when a.id=#{item.id} then ifnull(a.updateUserId,0) + #{item.updateUserIdIncrement}
-                                    </when>
-                                </choose>
-                            </foreach>
-                        </trim>
-                <trim prefix="updateTime=(case" suffix="ELSE updateTime end),">
-                    <foreach collection="data.dataList" item="item" index="index" separator="" >
-                        <if test="(colPickMode==0 and item.containsKey('updateTime')) or (colPickMode==1 and !item.containsKey('updateTime'))">
-                            when a.id=#{item.id} then #{item.updateTime}
-                        </if>
-                    </foreach>
-                </trim>
+            <trim prefix="newsId=(case" suffix="ELSE newsId end),">
+                <foreach collection="data.dataList" item="item" index="index" separator="" >
+                    <choose>
+                        <when test="(colPickMode==0 and item.containsKey('newsId')) or (colPickMode==1 and !item.containsKey('newsId'))">
+                            when a.id=#{item.id} then #{item.newsId}
+                        </when>
+                        <when test="(colPickMode==0 and item.containsKey('newsIdIncrement')) or (colPickMode==1 and !item.containsKey('newsIdIncrement'))">
+                            when a.id=#{item.id} then ifnull(a.newsId,0) + #{item.newsIdIncrement}
+                        </when>
+                    </choose>
+                </foreach>
+            </trim>
+            <trim prefix="viewName=(case" suffix="ELSE viewName end),">
+                <foreach collection="data.dataList" item="item" index="index" separator="" >
+                    <if test="(colPickMode==0 and item.containsKey('viewName')) or (colPickMode==1 and !item.containsKey('viewName'))">
+                        when a.id=#{item.id} then #{item.viewName}
+                    </if>
+                </foreach>
+            </trim>
+            <trim prefix="sumViews=(case" suffix="ELSE sumViews end),">
+                <foreach collection="data.dataList" item="item" index="index" separator="" >
+                    <choose>
+                        <when test="(colPickMode==0 and item.containsKey('sumViews')) or (colPickMode==1 and !item.containsKey('sumViews'))">
+                            when a.id=#{item.id} then #{item.sumViews}
+                        </when>
+                        <when test="(colPickMode==0 and item.containsKey('sumViewsIncrement')) or (colPickMode==1 and !item.containsKey('sumViewsIncrement'))">
+                            when a.id=#{item.id} then ifnull(a.sumViews,0) + #{item.sumViewsIncrement}
+                        </when>
+                    </choose>
+                </foreach>
+            </trim>
+            <trim prefix="remark=(case" suffix="ELSE remark end),">
+                <foreach collection="data.dataList" item="item" index="index" separator="" >
+                    <if test="(colPickMode==0 and item.containsKey('remark')) or (colPickMode==1 and !item.containsKey('remark'))">
+                        when a.id=#{item.id} then #{item.remark}
+                    </if>
+                </foreach>
+            </trim>
+            <trim prefix="viewTime=(case" suffix="ELSE viewTime end),">
+                <foreach collection="data.dataList" item="item" index="index" separator="" >
+                    <if test="(colPickMode==0 and item.containsKey('viewTime')) or (colPickMode==1 and !item.containsKey('viewTime'))">
+                        when a.id=#{item.id} then #{item.viewTime}
+                    </if>
+                </foreach>
+            </trim>
+            <trim prefix="createUserId=(case" suffix="ELSE createUserId end),">
+                <foreach collection="data.dataList" item="item" index="index" separator="" >
+                    <choose>
+                        <when test="(colPickMode==0 and item.containsKey('createUserId')) or (colPickMode==1 and !item.containsKey('createUserId'))">
+                            when a.id=#{item.id} then #{item.createUserId}
+                        </when>
+                        <when test="(colPickMode==0 and item.containsKey('createUserIdIncrement')) or (colPickMode==1 and !item.containsKey('createUserIdIncrement'))">
+                            when a.id=#{item.id} then ifnull(a.createUserId,0) + #{item.createUserIdIncrement}
+                        </when>
+                    </choose>
+                </foreach>
+            </trim>
+            <trim prefix="createTime=(case" suffix="ELSE createTime end),">
+                <foreach collection="data.dataList" item="item" index="index" separator="" >
+                    <if test="(colPickMode==0 and item.containsKey('createTime')) or (colPickMode==1 and !item.containsKey('createTime'))">
+                        when a.id=#{item.id} then #{item.createTime}
+                    </if>
+                </foreach>
+            </trim>
+            <trim prefix="updateUserId=(case" suffix="ELSE updateUserId end),">
+                <foreach collection="data.dataList" item="item" index="index" separator="" >
+                    <choose>
+                        <when test="(colPickMode==0 and item.containsKey('updateUserId')) or (colPickMode==1 and !item.containsKey('updateUserId'))">
+                            when a.id=#{item.id} then #{item.updateUserId}
+                        </when>
+                        <when test="(colPickMode==0 and item.containsKey('updateUserIdIncrement')) or (colPickMode==1 and !item.containsKey('updateUserIdIncrement'))">
+                            when a.id=#{item.id} then ifnull(a.updateUserId,0) + #{item.updateUserIdIncrement}
+                        </when>
+                    </choose>
+                </foreach>
+            </trim>
+            <trim prefix="updateTime=(case" suffix="ELSE updateTime end),">
+                <foreach collection="data.dataList" item="item" index="index" separator="" >
+                    <if test="(colPickMode==0 and item.containsKey('updateTime')) or (colPickMode==1 and !item.containsKey('updateTime'))">
+                        when a.id=#{item.id} then #{item.updateTime}
+                    </if>
+                </foreach>
+            </trim>
+            <trim prefix="viewId=(case" suffix="ELSE viewId end),">
+                <foreach collection="data.dataList" item="item" index="index" separator="" >
+                    <choose>
+                        <when test="(colPickMode==0 and item.containsKey('viewId')) or (colPickMode==1 and !item.containsKey('viewId'))">
+                            when a.id=#{item.id} then #{item.viewId}
+                        </when>
+                        <when test="(colPickMode==0 and item.containsKey('viewIdIncrement')) or (colPickMode==1 and !item.containsKey('viewIdIncrement'))">
+                            when a.id=#{item.id} then ifnull(a.viewId,0) + #{item.viewIdIncrement}
+                        </when>
+                    </choose>
+                </foreach>
+            </trim>
         </trim>
         where id in
         <foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")">
@@ -323,298 +343,420 @@
     <!-- 鏉′欢鏄犲皠-浠e弬鏁� -->
     <sql id="_condition_param_">
         <bind name="conditionParamRef" value="${_conditionParam_}"/>
+        <if test="permissionSql != null and permissionSql != ''">
+            ${permissionSql}
+        </if>
+
         <if test="conditionParamRef.containsKey('id')">
             <if test="conditionParamRef.id != null">
                 ${_conditionType_} a.id=#{${_conditionParam_}.id}
             </if>
         </if>
-            <if test="conditionParamRef.containsKey('id')">
-                <if test="conditionParamRef.id != null ">
-                    ${_conditionType_} a.id = #{${_conditionParam_}.id}
-                </if>
-                <if test="conditionParamRef.id == null">
-                    ${_conditionType_} a.id is null
-                </if>
-            </if>
-            <if test="conditionParamRef.containsKey('idList') and conditionParamRef.idList.size() > 0">
-                ${_conditionType_} a.id in
-                <foreach collection="conditionParamRef.idList" open="(" close=")" index="index" item="item" separator=",">
-                    #{item}
-                </foreach>
+        <if test="conditionParamRef.containsKey('id')">
+            <if test="conditionParamRef.id != null ">
+                ${_conditionType_} a.id = #{${_conditionParam_}.id}
             </if>
-            <if test="conditionParamRef.containsKey('idNotList') and conditionParamRef.idNotList.size() > 0">
-                ${_conditionType_} a.id not in
-                <foreach collection="conditionParamRef.idNotList" open="(" close=")" index="index" item="item" separator=",">
-                    #{item}
-                </foreach>
+            <if test="conditionParamRef.id == null">
+                ${_conditionType_} a.id is null
             </if>
-            <if test="conditionParamRef.containsKey('idStart') and conditionParamRef.idStart != null">
-                ${_conditionType_} a.id <![CDATA[ >= ]]> #{${_conditionParam_}.idStart}
+        </if>
+        <if test="conditionParamRef.containsKey('idList') and conditionParamRef.idList.size() > 0">
+            ${_conditionType_} a.id in
+            <foreach collection="conditionParamRef.idList" open="(" close=")" index="index" item="item" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="conditionParamRef.containsKey('idNotList') and conditionParamRef.idNotList.size() > 0">
+            ${_conditionType_} a.id not in
+            <foreach collection="conditionParamRef.idNotList" open="(" close=")" index="index" item="item" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="conditionParamRef.containsKey('idStart') and conditionParamRef.idStart != null">
+            ${_conditionType_} a.id <![CDATA[ >= ]]> #{${_conditionParam_}.idStart}
+        </if>
+        <if test="conditionParamRef.containsKey('idEnd') and conditionParamRef.idEnd != null">
+            ${_conditionType_} a.id <![CDATA[ <= ]]> #{${_conditionParam_}.idEnd}
+        </if>
+
+        <if test="conditionParamRef.containsKey('newsId')">
+            <if test="conditionParamRef.newsId != null ">
+                ${_conditionType_} a.newsId = #{${_conditionParam_}.newsId}
             </if>
-            <if test="conditionParamRef.containsKey('idEnd') and conditionParamRef.idEnd != null">
-                ${_conditionType_} a.id <![CDATA[ <= ]]> #{${_conditionParam_}.idEnd}
+            <if test="conditionParamRef.newsId == null">
+                ${_conditionType_} a.newsId is null
             </if>
+        </if>
+        <if test="conditionParamRef.containsKey('newsIdList') and conditionParamRef.newsIdList.size() > 0">
+            ${_conditionType_} a.newsId in
+            <foreach collection="conditionParamRef.newsIdList" open="(" close=")" index="index" item="item" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="conditionParamRef.containsKey('newsIdNotList') and conditionParamRef.newsIdNotList.size() > 0">
+            ${_conditionType_} a.newsId not in
+            <foreach collection="conditionParamRef.newsIdNotList" open="(" close=")" index="index" item="item" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="conditionParamRef.containsKey('newsIdStart') and conditionParamRef.newsIdStart != null">
+            ${_conditionType_} a.newsId <![CDATA[ >= ]]> #{${_conditionParam_}.newsIdStart}
+        </if>
+        <if test="conditionParamRef.containsKey('newsIdEnd') and conditionParamRef.newsIdEnd != null">
+            ${_conditionType_} a.newsId <![CDATA[ <= ]]> #{${_conditionParam_}.newsIdEnd}
+        </if>
 
-            <if test="conditionParamRef.containsKey('newsId')">
-                <if test="conditionParamRef.newsId != null ">
-                    ${_conditionType_} a.newsId = #{${_conditionParam_}.newsId}
-                </if>
-                <if test="conditionParamRef.newsId == null">
-                    ${_conditionType_} a.newsId is null
-                </if>
-            </if>
-            <if test="conditionParamRef.containsKey('newsIdList') and conditionParamRef.newsIdList.size() > 0">
-                ${_conditionType_} a.newsId in
-                <foreach collection="conditionParamRef.newsIdList" open="(" close=")" index="index" item="item" separator=",">
-                    #{item}
-                </foreach>
+
+        <if test="conditionParamRef.containsKey('viewName')">
+            <if test="conditionParamRef.viewName != null and conditionParamRef.viewName != ''">
+                ${_conditionType_} a.viewName like #{${_conditionParam_}.viewName}
             </if>
-            <if test="conditionParamRef.containsKey('newsIdNotList') and conditionParamRef.newsIdNotList.size() > 0">
-                ${_conditionType_} a.newsId not in
-                <foreach collection="conditionParamRef.newsIdNotList" open="(" close=")" index="index" item="item" separator=",">
-                    #{item}
-                </foreach>
+            <if test="conditionParamRef.viewName == null">
+                ${_conditionType_} a.viewName is null
             </if>
-            <if test="conditionParamRef.containsKey('newsIdStart') and conditionParamRef.newsIdStart != null">
-                ${_conditionType_} a.newsId <![CDATA[ >= ]]> #{${_conditionParam_}.newsIdStart}
+        </if>
+        <if test="conditionParamRef.containsKey('viewNameList') and conditionParamRef.viewNameList.size() > 0">
+            ${_conditionType_} a.viewName in
+            <foreach collection="conditionParamRef.viewNameList" open="(" close=")" index="index" item="item" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="conditionParamRef.containsKey('viewNameNotList') and conditionParamRef.viewNameNotList.size() > 0">
+            ${_conditionType_} a.viewName not in
+            <foreach collection="conditionParamRef.viewNameNotList" open="(" close=")" index="index" item="item" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="conditionParamRef.containsKey('sumViews')">
+            <if test="conditionParamRef.sumViews != null ">
+                ${_conditionType_} a.sumViews = #{${_conditionParam_}.sumViews}
             </if>
-            <if test="conditionParamRef.containsKey('newsIdEnd') and conditionParamRef.newsIdEnd != null">
-                ${_conditionType_} a.newsId <![CDATA[ <= ]]> #{${_conditionParam_}.newsIdEnd}
+            <if test="conditionParamRef.sumViews == null">
+                ${_conditionType_} a.sumViews is null
             </if>
+        </if>
+        <if test="conditionParamRef.containsKey('sumViewsList') and conditionParamRef.sumViewsList.size() > 0">
+            ${_conditionType_} a.sumViews in
+            <foreach collection="conditionParamRef.sumViewsList" open="(" close=")" index="index" item="item" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="conditionParamRef.containsKey('sumViewsNotList') and conditionParamRef.sumViewsNotList.size() > 0">
+            ${_conditionType_} a.sumViews not in
+            <foreach collection="conditionParamRef.sumViewsNotList" open="(" close=")" index="index" item="item" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="conditionParamRef.containsKey('sumViewsStart') and conditionParamRef.sumViewsStart != null">
+            ${_conditionType_} a.sumViews <![CDATA[ >= ]]> #{${_conditionParam_}.sumViewsStart}
+        </if>
+        <if test="conditionParamRef.containsKey('sumViewsEnd') and conditionParamRef.sumViewsEnd != null">
+            ${_conditionType_} a.sumViews <![CDATA[ <= ]]> #{${_conditionParam_}.sumViewsEnd}
+        </if>
 
 
-            <if test="conditionParamRef.containsKey('viewName')">
-                <if test="conditionParamRef.viewName != null and conditionParamRef.viewName != ''">
-                    ${_conditionType_} a.viewName like #{${_conditionParam_}.viewName}
-                </if>
-                <if test="conditionParamRef.viewName == null">
-                    ${_conditionType_} a.viewName is null
-                </if>
-            </if>
-            <if test="conditionParamRef.containsKey('viewNameList') and conditionParamRef.viewNameList.size() > 0">
-                ${_conditionType_} a.viewName in
-                <foreach collection="conditionParamRef.viewNameList" open="(" close=")" index="index" item="item" separator=",">
-                    #{item}
-                </foreach>
+        <if test="conditionParamRef.containsKey('remark')">
+            <if test="conditionParamRef.remark != null and conditionParamRef.remark != ''">
+                ${_conditionType_} a.remark like #{${_conditionParam_}.remark}
             </if>
-            <if test="conditionParamRef.containsKey('viewNameNotList') and conditionParamRef.viewNameNotList.size() > 0">
-                ${_conditionType_} a.viewName not in
-                <foreach collection="conditionParamRef.viewNameNotList" open="(" close=")" index="index" item="item" separator=",">
-                    #{item}
-                </foreach>
+            <if test="conditionParamRef.remark == null">
+                ${_conditionType_} a.remark is null
             </if>
-            <if test="conditionParamRef.containsKey('sumViews')">
-                <if test="conditionParamRef.sumViews != null ">
-                    ${_conditionType_} a.sumViews = #{${_conditionParam_}.sumViews}
-                </if>
-                <if test="conditionParamRef.sumViews == null">
-                    ${_conditionType_} a.sumViews is null
-                </if>
-            </if>
-            <if test="conditionParamRef.containsKey('sumViewsList') and conditionParamRef.sumViewsList.size() > 0">
-                ${_conditionType_} a.sumViews in
-                <foreach collection="conditionParamRef.sumViewsList" open="(" close=")" index="index" item="item" separator=",">
-                    #{item}
-                </foreach>
+        </if>
+        <if test="conditionParamRef.containsKey('remarkList') and conditionParamRef.remarkList.size() > 0">
+            ${_conditionType_} a.remark in
+            <foreach collection="conditionParamRef.remarkList" open="(" close=")" index="index" item="item" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="conditionParamRef.containsKey('remarkNotList') and conditionParamRef.remarkNotList.size() > 0">
+            ${_conditionType_} a.remark not in
+            <foreach collection="conditionParamRef.remarkNotList" open="(" close=")" index="index" item="item" separator=",">
+                #{item}
+            </foreach>
+        </if>
+
+        <if test="conditionParamRef.containsKey('viewTime')">
+            <if test="conditionParamRef.viewTime != null ">
+                ${_conditionType_} a.viewTime = #{${_conditionParam_}.viewTime}
             </if>
-            <if test="conditionParamRef.containsKey('sumViewsNotList') and conditionParamRef.sumViewsNotList.size() > 0">
-                ${_conditionType_} a.sumViews not in
-                <foreach collection="conditionParamRef.sumViewsNotList" open="(" close=")" index="index" item="item" separator=",">
-                    #{item}
-                </foreach>
+            <if test="conditionParamRef.viewTime == null">
+                ${_conditionType_} a.viewTime is null
             </if>
-            <if test="conditionParamRef.containsKey('sumViewsStart') and conditionParamRef.sumViewsStart != null">
-                ${_conditionType_} a.sumViews <![CDATA[ >= ]]> #{${_conditionParam_}.sumViewsStart}
+        </if>
+        <if test="conditionParamRef.containsKey('viewTimeStart') and conditionParamRef.viewTimeStart != null and conditionParamRef.viewTimeStart!=''">
+            ${_conditionType_} a.viewTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.viewTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
+        </if>
+        <if test="conditionParamRef.containsKey('viewTimeEnd') and conditionParamRef.viewTimeEnd != null and conditionParamRef.viewTimeEnd!=''">
+            ${_conditionType_} a.viewTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.viewTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
+        </if>
+        <if test="conditionParamRef.containsKey('createUserId')">
+            <if test="conditionParamRef.createUserId != null ">
+                ${_conditionType_} a.createUserId = #{${_conditionParam_}.createUserId}
             </if>
-            <if test="conditionParamRef.containsKey('sumViewsEnd') and conditionParamRef.sumViewsEnd != null">
-                ${_conditionType_} a.sumViews <![CDATA[ <= ]]> #{${_conditionParam_}.sumViewsEnd}
+            <if test="conditionParamRef.createUserId == null">
+                ${_conditionType_} a.createUserId is null
             </if>
+        </if>
+        <if test="conditionParamRef.containsKey('createUserIdList') and conditionParamRef.createUserIdList.size() > 0">
+            ${_conditionType_} a.createUserId in
+            <foreach collection="conditionParamRef.createUserIdList" open="(" close=")" index="index" item="item" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="conditionParamRef.containsKey('createUserIdNotList') and conditionParamRef.createUserIdNotList.size() > 0">
+            ${_conditionType_} a.createUserId not in
+            <foreach collection="conditionParamRef.createUserIdNotList" open="(" close=")" index="index" item="item" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="conditionParamRef.containsKey('createUserIdStart') and conditionParamRef.createUserIdStart != null">
+            ${_conditionType_} a.createUserId <![CDATA[ >= ]]> #{${_conditionParam_}.createUserIdStart}
+        </if>
+        <if test="conditionParamRef.containsKey('createUserIdEnd') and conditionParamRef.createUserIdEnd != null">
+            ${_conditionType_} a.createUserId <![CDATA[ <= ]]> #{${_conditionParam_}.createUserIdEnd}
+        </if>
 
 
-            <if test="conditionParamRef.containsKey('remark')">
-                <if test="conditionParamRef.remark != null and conditionParamRef.remark != ''">
-                    ${_conditionType_} a.remark like #{${_conditionParam_}.remark}
-                </if>
-                <if test="conditionParamRef.remark == null">
-                    ${_conditionType_} a.remark is null
-                </if>
+        <if test="conditionParamRef.containsKey('createTime')">
+            <if test="conditionParamRef.createTime != null ">
+                ${_conditionType_} a.createTime = #{${_conditionParam_}.createTime}
             </if>
-            <if test="conditionParamRef.containsKey('remarkList') and conditionParamRef.remarkList.size() > 0">
-                ${_conditionType_} a.remark in
-                <foreach collection="conditionParamRef.remarkList" open="(" close=")" index="index" item="item" separator=",">
-                    #{item}
-                </foreach>
+            <if test="conditionParamRef.createTime == null">
+                ${_conditionType_} a.createTime is null
             </if>
-            <if test="conditionParamRef.containsKey('remarkNotList') and conditionParamRef.remarkNotList.size() > 0">
-                ${_conditionType_} a.remark not in
-                <foreach collection="conditionParamRef.remarkNotList" open="(" close=")" index="index" item="item" separator=",">
-                    #{item}
-                </foreach>
+        </if>
+        <if test="conditionParamRef.containsKey('createTimeStart') and conditionParamRef.createTimeStart != null and conditionParamRef.createTimeStart!=''">
+            ${_conditionType_} a.createTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
+        </if>
+        <if test="conditionParamRef.containsKey('createTimeEnd') and conditionParamRef.createTimeEnd != null and conditionParamRef.createTimeEnd!=''">
+            ${_conditionType_} a.createTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
+        </if>
+        <if test="conditionParamRef.containsKey('updateUserId')">
+            <if test="conditionParamRef.updateUserId != null ">
+                ${_conditionType_} a.updateUserId = #{${_conditionParam_}.updateUserId}
+            </if>
+            <if test="conditionParamRef.updateUserId == null">
+                ${_conditionType_} a.updateUserId is null
             </if>
+        </if>
+        <if test="conditionParamRef.containsKey('updateUserIdList') and conditionParamRef.updateUserIdList.size() > 0">
+            ${_conditionType_} a.updateUserId in
+            <foreach collection="conditionParamRef.updateUserIdList" open="(" close=")" index="index" item="item" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="conditionParamRef.containsKey('updateUserIdNotList') and conditionParamRef.updateUserIdNotList.size() > 0">
+            ${_conditionType_} a.updateUserId not in
+            <foreach collection="conditionParamRef.updateUserIdNotList" open="(" close=")" index="index" item="item" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="conditionParamRef.containsKey('updateUserIdStart') and conditionParamRef.updateUserIdStart != null">
+            ${_conditionType_} a.updateUserId <![CDATA[ >= ]]> #{${_conditionParam_}.updateUserIdStart}
+        </if>
+        <if test="conditionParamRef.containsKey('updateUserIdEnd') and conditionParamRef.updateUserIdEnd != null">
+            ${_conditionType_} a.updateUserId <![CDATA[ <= ]]> #{${_conditionParam_}.updateUserIdEnd}
+        </if>
 
-            <if test="conditionParamRef.containsKey('viewTime')">
-                <if test="conditionParamRef.viewTime != null ">
-                    ${_conditionType_} a.viewTime = #{${_conditionParam_}.viewTime}
-                </if>
-                <if test="conditionParamRef.viewTime == null">
-                    ${_conditionType_} a.viewTime is null
-                </if>
+
+        <if test="conditionParamRef.containsKey('updateTime')">
+            <if test="conditionParamRef.updateTime != null ">
+                ${_conditionType_} a.updateTime = #{${_conditionParam_}.updateTime}
             </if>
-            <if test="conditionParamRef.containsKey('viewTimeStart') and conditionParamRef.viewTimeStart != null and conditionParamRef.viewTimeStart!=''">
-                ${_conditionType_} a.viewTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.viewTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
+            <if test="conditionParamRef.updateTime == null">
+                ${_conditionType_} a.updateTime is null
             </if>
-            <if test="conditionParamRef.containsKey('viewTimeEnd') and conditionParamRef.viewTimeEnd != null and conditionParamRef.viewTimeEnd!=''">
-                ${_conditionType_} a.viewTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.viewTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
+        </if>
+        <if test="conditionParamRef.containsKey('updateTimeStart') and conditionParamRef.updateTimeStart != null and conditionParamRef.updateTimeStart!=''">
+            ${_conditionType_} a.updateTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
+        </if>
+        <if test="conditionParamRef.containsKey('updateTimeEnd') and conditionParamRef.updateTimeEnd != null and conditionParamRef.updateTimeEnd!=''">
+            ${_conditionType_} a.updateTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
+        </if>
+        <if test="conditionParamRef.containsKey('viewId')">
+            <if test="conditionParamRef.viewId != null ">
+                ${_conditionType_} a.viewId = #{${_conditionParam_}.viewId}
             </if>
-            <if test="conditionParamRef.containsKey('createUserId')">
-                <if test="conditionParamRef.createUserId != null ">
-                    ${_conditionType_} a.createUserId = #{${_conditionParam_}.createUserId}
-                </if>
-                <if test="conditionParamRef.createUserId == null">
-                    ${_conditionType_} a.createUserId is null
-                </if>
+            <if test="conditionParamRef.viewId == null">
+                ${_conditionType_} a.viewId is null
             </if>
-            <if test="conditionParamRef.containsKey('createUserIdList') and conditionParamRef.createUserIdList.size() > 0">
-                ${_conditionType_} a.createUserId in
-                <foreach collection="conditionParamRef.createUserIdList" open="(" close=")" index="index" item="item" separator=",">
+        </if>
+        <if test="conditionParamRef.containsKey('viewIdList') and conditionParamRef.viewIdList.size() > 0">
+            ${_conditionType_} a.viewId in
+            <foreach collection="conditionParamRef.viewIdList" open="(" close=")" index="index" item="item" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="conditionParamRef.containsKey('viewIdNotList') and conditionParamRef.viewIdNotList.size() > 0">
+            ${_conditionType_} a.viewId not in
+            <foreach collection="conditionParamRef.viewIdNotList" open="(" close=")" index="index" item="item" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="conditionParamRef.containsKey('viewIdStart') and conditionParamRef.viewIdStart != null">
+            ${_conditionType_} a.viewId <![CDATA[ >= ]]> #{${_conditionParam_}.viewIdStart}
+        </if>
+        <if test="conditionParamRef.containsKey('viewIdEnd') and conditionParamRef.viewIdEnd != null">
+            ${_conditionType_} a.viewId <![CDATA[ <= ]]> #{${_conditionParam_}.viewIdEnd}
+        </if>
+
+    </sql>
+    <sql id="_orderCols_">
+        <if test="orderColList != null and !orderColList.isEmpty()">
+            order by
+            <if test="conditionParamRef.containsKey('idList') and conditionParamRef.idList.size() > 0">
+                field(a.id,
+                <foreach collection="conditionParamRef.idList" open="" close=")" index="index" item="item" separator=",">
                     #{item}
                 </foreach>
+                ,
             </if>
-            <if test="conditionParamRef.containsKey('createUserIdNotList') and conditionParamRef.createUserIdNotList.size() > 0">
-                ${_conditionType_} a.createUserId not in
-                <foreach collection="conditionParamRef.createUserIdNotList" open="(" close=")" index="index" item="item" separator=",">
+            <if test="conditionParamRef.containsKey('newsIdList') and conditionParamRef.newsIdList.size() > 0">
+                field(a.newsId,
+                <foreach collection="conditionParamRef.newsIdList" open="" close=")" index="index" item="item" separator=",">
                     #{item}
                 </foreach>
+                ,
             </if>
-            <if test="conditionParamRef.containsKey('createUserIdStart') and conditionParamRef.createUserIdStart != null">
-                ${_conditionType_} a.createUserId <![CDATA[ >= ]]> #{${_conditionParam_}.createUserIdStart}
-            </if>
-            <if test="conditionParamRef.containsKey('createUserIdEnd') and conditionParamRef.createUserIdEnd != null">
-                ${_conditionType_} a.createUserId <![CDATA[ <= ]]> #{${_conditionParam_}.createUserIdEnd}
-            </if>
-
-
-            <if test="conditionParamRef.containsKey('createTime')">
-                <if test="conditionParamRef.createTime != null ">
-                    ${_conditionType_} a.createTime = #{${_conditionParam_}.createTime}
-                </if>
-                <if test="conditionParamRef.createTime == null">
-                    ${_conditionType_} a.createTime is null
-                </if>
-            </if>
-            <if test="conditionParamRef.containsKey('createTimeStart') and conditionParamRef.createTimeStart != null and conditionParamRef.createTimeStart!=''">
-                ${_conditionType_} a.createTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
-            </if>
-            <if test="conditionParamRef.containsKey('createTimeEnd') and conditionParamRef.createTimeEnd != null and conditionParamRef.createTimeEnd!=''">
-                ${_conditionType_} a.createTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
+            <if test="conditionParamRef.containsKey('sumViewsList') and conditionParamRef.sumViewsList.size() > 0">
+                field(a.sumViews,
+                <foreach collection="conditionParamRef.sumViewsList" open="" close=")" index="index" item="item" separator=",">
+                    #{item}
+                </foreach>
+                ,
             </if>
-            <if test="conditionParamRef.containsKey('updateUserId')">
-                <if test="conditionParamRef.updateUserId != null ">
-                    ${_conditionType_} a.updateUserId = #{${_conditionParam_}.updateUserId}
-                </if>
-                <if test="conditionParamRef.updateUserId == null">
-                    ${_conditionType_} a.updateUserId is null
-                </if>
+            <if test="conditionParamRef.containsKey('createUserIdList') and conditionParamRef.createUserIdList.size() > 0">
+                field(a.createUserId,
+                <foreach collection="conditionParamRef.createUserIdList" open="" close=")" index="index" item="item" separator=",">
+                    #{item}
+                </foreach>
+                ,
             </if>
             <if test="conditionParamRef.containsKey('updateUserIdList') and conditionParamRef.updateUserIdList.size() > 0">
-                ${_conditionType_} a.updateUserId in
-                <foreach collection="conditionParamRef.updateUserIdList" open="(" close=")" index="index" item="item" separator=",">
+                field(a.updateUserId,
+                <foreach collection="conditionParamRef.updateUserIdList" open="" close=")" index="index" item="item" separator=",">
                     #{item}
                 </foreach>
+                ,
             </if>
-            <if test="conditionParamRef.containsKey('updateUserIdNotList') and conditionParamRef.updateUserIdNotList.size() > 0">
-                ${_conditionType_} a.updateUserId not in
-                <foreach collection="conditionParamRef.updateUserIdNotList" open="(" close=")" index="index" item="item" separator=",">
+            <if test="conditionParamRef.containsKey('viewIdList') and conditionParamRef.viewIdList.size() > 0">
+                field(a.viewId,
+                <foreach collection="conditionParamRef.viewIdList" open="" close=")" index="index" item="item" separator=",">
                     #{item}
                 </foreach>
+                ,
             </if>
-            <if test="conditionParamRef.containsKey('updateUserIdStart') and conditionParamRef.updateUserIdStart != null">
-                ${_conditionType_} a.updateUserId <![CDATA[ >= ]]> #{${_conditionParam_}.updateUserIdStart}
-            </if>
-            <if test="conditionParamRef.containsKey('updateUserIdEnd') and conditionParamRef.updateUserIdEnd != null">
-                ${_conditionType_} a.updateUserId <![CDATA[ <= ]]> #{${_conditionParam_}.updateUserIdEnd}
-            </if>
-
-
-            <if test="conditionParamRef.containsKey('updateTime')">
-                <if test="conditionParamRef.updateTime != null ">
-                    ${_conditionType_} a.updateTime = #{${_conditionParam_}.updateTime}
-                </if>
-                <if test="conditionParamRef.updateTime == null">
-                    ${_conditionType_} a.updateTime is null
-                </if>
-            </if>
-            <if test="conditionParamRef.containsKey('updateTimeStart') and conditionParamRef.updateTimeStart != null and conditionParamRef.updateTimeStart!=''">
-                ${_conditionType_} a.updateTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
-            </if>
-            <if test="conditionParamRef.containsKey('updateTimeEnd') and conditionParamRef.updateTimeEnd != null and conditionParamRef.updateTimeEnd!=''">
-                ${_conditionType_} a.updateTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
-            </if>
-    </sql>
-    <sql id="_orderCols_">
-        <if test="orderColList != null and !orderColList.isEmpty()">
-            order by
             <trim suffixOverrides=","  suffix="">
                 <foreach collection="orderColList" open="" close="" index="index" item="item" separator=",">
-                     ${item.colName} ${item.sortKind}
+                    a.${item.colName} ${item.sortKind}
                 </foreach>
             </trim>
         </if>
         <if test="(orderColList == null or orderColList.isEmpty()) and orderCol != null and !orderCol.isEmpty()">
             order by
+            <if test="conditionParamRef.containsKey('idList') and conditionParamRef.idList.size() > 0">
+                field(a.id,
+                <foreach collection="conditionParamRef.idList" open="" close=")" index="index" item="item" separator=",">
+                    #{item}
+                </foreach>
+                ,
+            </if>
+            <if test="conditionParamRef.containsKey('newsIdList') and conditionParamRef.newsIdList.size() > 0">
+                field(a.newsId,
+                <foreach collection="conditionParamRef.newsIdList" open="" close=")" index="index" item="item" separator=",">
+                    #{item}
+                </foreach>
+                ,
+            </if>
+            <if test="conditionParamRef.containsKey('sumViewsList') and conditionParamRef.sumViewsList.size() > 0">
+                field(a.sumViews,
+                <foreach collection="conditionParamRef.sumViewsList" open="" close=")" index="index" item="item" separator=",">
+                    #{item}
+                </foreach>
+                ,
+            </if>
+            <if test="conditionParamRef.containsKey('createUserIdList') and conditionParamRef.createUserIdList.size() > 0">
+                field(a.createUserId,
+                <foreach collection="conditionParamRef.createUserIdList" open="" close=")" index="index" item="item" separator=",">
+                    #{item}
+                </foreach>
+                ,
+            </if>
+            <if test="conditionParamRef.containsKey('updateUserIdList') and conditionParamRef.updateUserIdList.size() > 0">
+                field(a.updateUserId,
+                <foreach collection="conditionParamRef.updateUserIdList" open="" close=")" index="index" item="item" separator=",">
+                    #{item}
+                </foreach>
+                ,
+            </if>
+            <if test="conditionParamRef.containsKey('viewIdList') and conditionParamRef.viewIdList.size() > 0">
+                field(a.viewId,
+                <foreach collection="conditionParamRef.viewIdList" open="" close=")" index="index" item="item" separator=",">
+                    #{item}
+                </foreach>
+                ,
+            </if>
             <trim suffixOverrides=","  suffix="">
-                    <if test="orderCol.containsKey('id')">
-                        a.id
-                        <if test='orderCol.id != null and "DESC".equalsIgnoreCase(orderCol.id)'>DESC</if>
-                        ,
-                    </if>
-                    <if test="orderCol.containsKey('newsId')">
-                        a.newsId
-                        <if test='orderCol.newsId != null and "DESC".equalsIgnoreCase(orderCol.newsId)'>DESC</if>
-                        ,
-                    </if>
-                    <if test="orderCol.containsKey('viewName')">
-                        a.viewName
-                        <if test='orderCol.viewName != null and "DESC".equalsIgnoreCase(orderCol.viewName)'>DESC</if>
-                        ,
-                    </if>
-                    <if test="orderCol.containsKey('sumViews')">
-                        a.sumViews
-                        <if test='orderCol.sumViews != null and "DESC".equalsIgnoreCase(orderCol.sumViews)'>DESC</if>
-                        ,
-                    </if>
-                    <if test="orderCol.containsKey('remark')">
-                        a.remark
-                        <if test='orderCol.remark != null and "DESC".equalsIgnoreCase(orderCol.remark)'>DESC</if>
-                        ,
-                    </if>
-                    <if test="orderCol.containsKey('viewTime')">
-                        a.viewTime
-                        <if test='orderCol.viewTime != null and "DESC".equalsIgnoreCase(orderCol.viewTime)'>DESC</if>
-                        ,
-                    </if>
-                    <if test="orderCol.containsKey('createUserId')">
-                        a.createUserId
-                        <if test='orderCol.createUserId != null and "DESC".equalsIgnoreCase(orderCol.createUserId)'>DESC</if>
-                        ,
-                    </if>
-                    <if test="orderCol.containsKey('createTime')">
-                        a.createTime
-                        <if test='orderCol.createTime != null and "DESC".equalsIgnoreCase(orderCol.createTime)'>DESC</if>
-                        ,
-                    </if>
-                    <if test="orderCol.containsKey('updateUserId')">
-                        a.updateUserId
-                        <if test='orderCol.updateUserId != null and "DESC".equalsIgnoreCase(orderCol.updateUserId)'>DESC</if>
-                        ,
-                    </if>
-                    <if test="orderCol.containsKey('updateTime')">
-                        a.updateTime
-                        <if test='orderCol.updateTime != null and "DESC".equalsIgnoreCase(orderCol.updateTime)'>DESC</if>
-                        ,
-                    </if>
+                <if test="orderCol.containsKey('id')">
+                    a.id
+                    <if test='orderCol.id != null and "DESC".equalsIgnoreCase(orderCol.id)'>DESC</if>
+                    ,
+                </if>
+                <if test="orderCol.containsKey('newsId')">
+                    a.newsId
+                    <if test='orderCol.newsId != null and "DESC".equalsIgnoreCase(orderCol.newsId)'>DESC</if>
+                    ,
+                </if>
+                <if test="orderCol.containsKey('viewName')">
+                    a.viewName
+                    <if test='orderCol.viewName != null and "DESC".equalsIgnoreCase(orderCol.viewName)'>DESC</if>
+                    ,
+                </if>
+                <if test="orderCol.containsKey('sumViews')">
+                    a.sumViews
+                    <if test='orderCol.sumViews != null and "DESC".equalsIgnoreCase(orderCol.sumViews)'>DESC</if>
+                    ,
+                </if>
+                <if test="orderCol.containsKey('remark')">
+                    a.remark
+                    <if test='orderCol.remark != null and "DESC".equalsIgnoreCase(orderCol.remark)'>DESC</if>
+                    ,
+                </if>
+                <if test="orderCol.containsKey('viewTime')">
+                    a.viewTime
+                    <if test='orderCol.viewTime != null and "DESC".equalsIgnoreCase(orderCol.viewTime)'>DESC</if>
+                    ,
+                </if>
+                <if test="orderCol.containsKey('createUserId')">
+                    a.createUserId
+                    <if test='orderCol.createUserId != null and "DESC".equalsIgnoreCase(orderCol.createUserId)'>DESC</if>
+                    ,
+                </if>
+                <if test="orderCol.containsKey('createTime')">
+                    a.createTime
+                    <if test='orderCol.createTime != null and "DESC".equalsIgnoreCase(orderCol.createTime)'>DESC</if>
+                    ,
+                </if>
+                <if test="orderCol.containsKey('updateUserId')">
+                    a.updateUserId
+                    <if test='orderCol.updateUserId != null and "DESC".equalsIgnoreCase(orderCol.updateUserId)'>DESC</if>
+                    ,
+                </if>
+                <if test="orderCol.containsKey('updateTime')">
+                    a.updateTime
+                    <if test='orderCol.updateTime != null and "DESC".equalsIgnoreCase(orderCol.updateTime)'>DESC</if>
+                    ,
+                </if>
+                <if test="orderCol.containsKey('viewId')">
+                    a.viewId
+                    <if test='orderCol.viewId != null and "DESC".equalsIgnoreCase(orderCol.viewId)'>DESC</if>
+                    ,
+                </if>
             </trim>
         </if>
+
+
     </sql>
     <sql id="_group_by_">
         <if test="groupList != null and !groupList.isEmpty()">
diff --git a/enterprise-manager/src/main/resources/sqlmap/module/staff/StaffMapper.xml b/enterprise-manager/src/main/resources/sqlmap/module/staff/StaffMapper.xml
index 610f6a8..7df1364 100644
--- a/enterprise-manager/src/main/resources/sqlmap/module/staff/StaffMapper.xml
+++ b/enterprise-manager/src/main/resources/sqlmap/module/staff/StaffMapper.xml
@@ -62,6 +62,7 @@
         <result property="updateTime" column="updateTime" />
         <result property="sendBusinessCardTimes" column="sendBusinessCardTimes" />
         <result property="setting" column="setting" />
+        <result property="companyAdress" column="companyAdress" />
     </resultMap>
 
 
@@ -157,7 +158,7 @@
     <!-- 瀛愯〃鎵€鏈夊垪 -->
     <sql id="_columns_sub">
         <trim suffixOverrides="," suffix="">
-            b.id,b.staffId,b.staffName,b.name,b.gender,b.birthday,b.photoPath,b.email,b.phoneNumber,b.idCard,b.companyId,b.companyName,b.positionId,b.positionName,b.bio,b.socialMedia,b.qRCode,b.remark,b.sumViews,b.viewsByDay,b.createUserId,b.createTime,b.updateUserId,b.updateTime,b.sendBusinessCardTimes,b.setting,
+            b.id,b.staffId,b.staffName,b.name,b.gender,b.birthday,b.photoPath,b.email,b.phoneNumber,b.idCard,b.companyId,b.companyName,b.positionId,b.positionName,b.bio,b.socialMedia,b.qRCode,b.remark,b.sumViews,b.viewsByDay,b.createUserId,b.createTime,b.updateUserId,b.updateTime,b.sendBusinessCardTimes,b.setting,b.companyAdress,
         </trim>
     </sql>
     <!-- 鏂板 鍖哄垎涓婚敭鑷鍔犺繕鏄笟鍔℃彃鍏� -->
diff --git a/enterprise-manager/src/main/resources/sqlmap/module/staff/StaffRecordMapper.xml b/enterprise-manager/src/main/resources/sqlmap/module/staff/StaffRecordMapper.xml
index 04d20da..31d0b2e 100644
--- a/enterprise-manager/src/main/resources/sqlmap/module/staff/StaffRecordMapper.xml
+++ b/enterprise-manager/src/main/resources/sqlmap/module/staff/StaffRecordMapper.xml
@@ -1,78 +1,80 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-"mybatis-3-mapper.dtd">
+        "mybatis-3-mapper.dtd">
 <mapper namespace="com.mortals.xhx.module.staff.dao.ibatis.StaffRecordDaoImpl">
 
     <!-- 瀛楁鍜屽睘鎬ф槧灏� -->
     <resultMap type="StaffRecordEntity" id="StaffRecordEntity-Map">
-            <id  property="id" column="id" />
-            <result property="staffId" column="staffId" />
-            <result property="staffName" column="staffName" />
-            <result property="viewName" column="viewName" />
-            <result property="sumViews" column="sumViews" />
-            <result property="viewContent" column="viewContent" />
-            <result property="remark" column="remark" />
-            <result property="createUserId" column="createUserId" />
-            <result property="createTime" column="createTime" />
-            <result property="updateUserId" column="updateUserId" />
-            <result property="updateTime" column="updateTime" />
-            
+        <id  property="id" column="id" />
+        <result property="staffId" column="staffId" />
+        <result property="staffName" column="staffName" />
+        <result property="viewName" column="viewName" />
+        <result property="sumViews" column="sumViews" />
+        <result property="viewContent" column="viewContent" />
+        <result property="remark" column="remark" />
+        <result property="createUserId" column="createUserId" />
+        <result property="createTime" column="createTime" />
+        <result property="updateUserId" column="updateUserId" />
+        <result property="updateTime" column="updateTime" />
+        <result property="viewId" column="viewId" />
     </resultMap>
 
-
     <!-- 琛ㄦ墍鏈夊垪 -->
     <sql id="_columns">
         <trim suffixOverrides="," suffix="">
-                <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
-                    a.id,
-                </if>
-                <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('staffId') or colPickMode == 1 and data.containsKey('staffId')))">
-                    a.staffId,
-                </if>
-                <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('staffName') or colPickMode == 1 and data.containsKey('staffName')))">
-                    a.staffName,
-                </if>
-                <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('viewName') or colPickMode == 1 and data.containsKey('viewName')))">
-                    a.viewName,
-                </if>
-                <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('sumViews') or colPickMode == 1 and data.containsKey('sumViews')))">
-                    a.sumViews,
-                </if>
-                <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('viewContent') or colPickMode == 1 and data.containsKey('viewContent')))">
-                    a.viewContent,
-                </if>
-                <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('remark') or colPickMode == 1 and data.containsKey('remark')))">
-                    a.remark,
-                </if>
-                <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createUserId') or colPickMode == 1 and data.containsKey('createUserId')))">
-                    a.createUserId,
-                </if>
-                <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))">
-                    a.createTime,
-                </if>
-                <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateUserId') or colPickMode == 1 and data.containsKey('updateUserId')))">
-                    a.updateUserId,
-                </if>
-                <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateTime') or colPickMode == 1 and data.containsKey('updateTime')))">
-                    a.updateTime,
-                </if>
+            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
+                a.id,
+            </if>
+            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('staffId') or colPickMode == 1 and data.containsKey('staffId')))">
+                a.staffId,
+            </if>
+            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('staffName') or colPickMode == 1 and data.containsKey('staffName')))">
+                a.staffName,
+            </if>
+            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('viewName') or colPickMode == 1 and data.containsKey('viewName')))">
+                a.viewName,
+            </if>
+            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('sumViews') or colPickMode == 1 and data.containsKey('sumViews')))">
+                a.sumViews,
+            </if>
+            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('viewContent') or colPickMode == 1 and data.containsKey('viewContent')))">
+                a.viewContent,
+            </if>
+            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('remark') or colPickMode == 1 and data.containsKey('remark')))">
+                a.remark,
+            </if>
+            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createUserId') or colPickMode == 1 and data.containsKey('createUserId')))">
+                a.createUserId,
+            </if>
+            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))">
+                a.createTime,
+            </if>
+            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateUserId') or colPickMode == 1 and data.containsKey('updateUserId')))">
+                a.updateUserId,
+            </if>
+            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateTime') or colPickMode == 1 and data.containsKey('updateTime')))">
+                a.updateTime,
+            </if>
+            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('viewId') or colPickMode == 1 and data.containsKey('viewId')))">
+                a.viewId,
+            </if>
         </trim>
     </sql>
     <!-- 鏂板 鍖哄垎涓婚敭鑷鍔犺繕鏄笟鍔℃彃鍏� -->
     <insert id="insert" parameterType="StaffRecordEntity"  useGeneratedKeys="true" keyProperty="id">
         insert into mortals_xhx_staff_record
-        (staffId,staffName,viewName,sumViews,viewContent,remark,createUserId,createTime,updateUserId,updateTime)
+        (staffId,staffName,viewName,sumViews,viewContent,remark,createUserId,createTime,updateUserId,updateTime,viewId)
         VALUES
-        (#{staffId},#{staffName},#{viewName},#{sumViews},#{viewContent},#{remark},#{createUserId},#{createTime},#{updateUserId},#{updateTime})
+        (#{staffId},#{staffName},#{viewName},#{sumViews},#{viewContent},#{remark},#{createUserId},#{createTime},#{updateUserId},#{updateTime},#{viewId})
     </insert>
 
     <!-- 鎵归噺鏂板 -->
     <insert id="insertBatch" parameterType="paramDto">
         insert into mortals_xhx_staff_record
-        (staffId,staffName,viewName,sumViews,viewContent,remark,createUserId,createTime,updateUserId,updateTime)
+        (staffId,staffName,viewName,sumViews,viewContent,remark,createUserId,createTime,updateUserId,updateTime,viewId)
         VALUES
         <foreach collection="data.dataList" item="item" index="index" separator="," >
-            (#{item.staffId},#{item.staffName},#{item.viewName},#{item.sumViews},#{item.viewContent},#{item.remark},#{item.createUserId},#{item.createTime},#{item.updateUserId},#{item.updateTime})
+            (#{item.staffId},#{item.staffName},#{item.viewName},#{item.sumViews},#{item.viewContent},#{item.remark},#{item.createUserId},#{item.createTime},#{item.updateUserId},#{item.updateTime},#{item.viewId})
         </foreach>
     </insert>
 
@@ -124,6 +126,12 @@
             <if test="(colPickMode==0 and data.containsKey('updateTime')) or (colPickMode==1 and !data.containsKey('updateTime'))">
                 a.updateTime=#{data.updateTime},
             </if>
+            <if test="(colPickMode==0 and data.containsKey('viewId')) or (colPickMode==1 and !data.containsKey('viewId'))">
+                a.viewId=#{data.viewId},
+            </if>
+            <if test="(colPickMode==0 and data.containsKey('viewIdIncrement')) or (colPickMode==1 and !data.containsKey('viewIdIncrement'))">
+                a.viewId=ifnull(a.viewId,0) + #{data.viewIdIncrement},
+            </if>
         </trim>
         <trim suffixOverrides="where" suffix="">
             where
@@ -136,96 +144,108 @@
     <update id="updateBatch" parameterType="paramDto">
         update mortals_xhx_staff_record as a
         <trim prefix="set" suffixOverrides=",">
-                        <trim prefix="staffId=(case" suffix="ELSE staffId end),">
-                            <foreach collection="data.dataList" item="item" index="index" separator="" >
-                                <choose>
-                                    <when test="(colPickMode==0 and item.containsKey('staffId')) or (colPickMode==1 and !item.containsKey('staffId'))">
-                                        when a.id=#{item.id} then #{item.staffId}
-                                    </when>
-                                    <when test="(colPickMode==0 and item.containsKey('staffIdIncrement')) or (colPickMode==1 and !item.containsKey('staffIdIncrement'))">
-                                        when a.id=#{item.id} then ifnull(a.staffId,0) + #{item.staffIdIncrement}
-                                    </when>
-                                </choose>
-                            </foreach>
-                        </trim>
-                <trim prefix="staffName=(case" suffix="ELSE staffName end),">
-                    <foreach collection="data.dataList" item="item" index="index" separator="" >
-                        <if test="(colPickMode==0 and item.containsKey('staffName')) or (colPickMode==1 and !item.containsKey('staffName'))">
-                            when a.id=#{item.id} then #{item.staffName}
-                        </if>
-                    </foreach>
-                </trim>
-                <trim prefix="viewName=(case" suffix="ELSE viewName end),">
-                    <foreach collection="data.dataList" item="item" index="index" separator="" >
-                        <if test="(colPickMode==0 and item.containsKey('viewName')) or (colPickMode==1 and !item.containsKey('viewName'))">
-                            when a.id=#{item.id} then #{item.viewName}
-                        </if>
-                    </foreach>
-                </trim>
-                        <trim prefix="sumViews=(case" suffix="ELSE sumViews end),">
-                            <foreach collection="data.dataList" item="item" index="index" separator="" >
-                                <choose>
-                                    <when test="(colPickMode==0 and item.containsKey('sumViews')) or (colPickMode==1 and !item.containsKey('sumViews'))">
-                                        when a.id=#{item.id} then #{item.sumViews}
-                                    </when>
-                                    <when test="(colPickMode==0 and item.containsKey('sumViewsIncrement')) or (colPickMode==1 and !item.containsKey('sumViewsIncrement'))">
-                                        when a.id=#{item.id} then ifnull(a.sumViews,0) + #{item.sumViewsIncrement}
-                                    </when>
-                                </choose>
-                            </foreach>
-                        </trim>
-                <trim prefix="viewContent=(case" suffix="ELSE viewContent end),">
-                    <foreach collection="data.dataList" item="item" index="index" separator="" >
-                        <if test="(colPickMode==0 and item.containsKey('viewContent')) or (colPickMode==1 and !item.containsKey('viewContent'))">
-                            when a.id=#{item.id} then #{item.viewContent}
-                        </if>
-                    </foreach>
-                </trim>
-                <trim prefix="remark=(case" suffix="ELSE remark end),">
-                    <foreach collection="data.dataList" item="item" index="index" separator="" >
-                        <if test="(colPickMode==0 and item.containsKey('remark')) or (colPickMode==1 and !item.containsKey('remark'))">
-                            when a.id=#{item.id} then #{item.remark}
-                        </if>
-                    </foreach>
-                </trim>
-                        <trim prefix="createUserId=(case" suffix="ELSE createUserId end),">
-                            <foreach collection="data.dataList" item="item" index="index" separator="" >
-                                <choose>
-                                    <when test="(colPickMode==0 and item.containsKey('createUserId')) or (colPickMode==1 and !item.containsKey('createUserId'))">
-                                        when a.id=#{item.id} then #{item.createUserId}
-                                    </when>
-                                    <when test="(colPickMode==0 and item.containsKey('createUserIdIncrement')) or (colPickMode==1 and !item.containsKey('createUserIdIncrement'))">
-                                        when a.id=#{item.id} then ifnull(a.createUserId,0) + #{item.createUserIdIncrement}
-                                    </when>
-                                </choose>
-                            </foreach>
-                        </trim>
-                <trim prefix="createTime=(case" suffix="ELSE createTime end),">
-                    <foreach collection="data.dataList" item="item" index="index" separator="" >
-                        <if test="(colPickMode==0 and item.containsKey('createTime')) or (colPickMode==1 and !item.containsKey('createTime'))">
-                            when a.id=#{item.id} then #{item.createTime}
-                        </if>
-                    </foreach>
-                </trim>
-                        <trim prefix="updateUserId=(case" suffix="ELSE updateUserId end),">
-                            <foreach collection="data.dataList" item="item" index="index" separator="" >
-                                <choose>
-                                    <when test="(colPickMode==0 and item.containsKey('updateUserId')) or (colPickMode==1 and !item.containsKey('updateUserId'))">
-                                        when a.id=#{item.id} then #{item.updateUserId}
-                                    </when>
-                                    <when test="(colPickMode==0 and item.containsKey('updateUserIdIncrement')) or (colPickMode==1 and !item.containsKey('updateUserIdIncrement'))">
-                                        when a.id=#{item.id} then ifnull(a.updateUserId,0) + #{item.updateUserIdIncrement}
-                                    </when>
-                                </choose>
-                            </foreach>
-                        </trim>
-                <trim prefix="updateTime=(case" suffix="ELSE updateTime end),">
-                    <foreach collection="data.dataList" item="item" index="index" separator="" >
-                        <if test="(colPickMode==0 and item.containsKey('updateTime')) or (colPickMode==1 and !item.containsKey('updateTime'))">
-                            when a.id=#{item.id} then #{item.updateTime}
-                        </if>
-                    </foreach>
-                </trim>
+            <trim prefix="staffId=(case" suffix="ELSE staffId end),">
+                <foreach collection="data.dataList" item="item" index="index" separator="" >
+                    <choose>
+                        <when test="(colPickMode==0 and item.containsKey('staffId')) or (colPickMode==1 and !item.containsKey('staffId'))">
+                            when a.id=#{item.id} then #{item.staffId}
+                        </when>
+                        <when test="(colPickMode==0 and item.containsKey('staffIdIncrement')) or (colPickMode==1 and !item.containsKey('staffIdIncrement'))">
+                            when a.id=#{item.id} then ifnull(a.staffId,0) + #{item.staffIdIncrement}
+                        </when>
+                    </choose>
+                </foreach>
+            </trim>
+            <trim prefix="staffName=(case" suffix="ELSE staffName end),">
+                <foreach collection="data.dataList" item="item" index="index" separator="" >
+                    <if test="(colPickMode==0 and item.containsKey('staffName')) or (colPickMode==1 and !item.containsKey('staffName'))">
+                        when a.id=#{item.id} then #{item.staffName}
+                    </if>
+                </foreach>
+            </trim>
+            <trim prefix="viewName=(case" suffix="ELSE viewName end),">
+                <foreach collection="data.dataList" item="item" index="index" separator="" >
+                    <if test="(colPickMode==0 and item.containsKey('viewName')) or (colPickMode==1 and !item.containsKey('viewName'))">
+                        when a.id=#{item.id} then #{item.viewName}
+                    </if>
+                </foreach>
+            </trim>
+            <trim prefix="sumViews=(case" suffix="ELSE sumViews end),">
+                <foreach collection="data.dataList" item="item" index="index" separator="" >
+                    <choose>
+                        <when test="(colPickMode==0 and item.containsKey('sumViews')) or (colPickMode==1 and !item.containsKey('sumViews'))">
+                            when a.id=#{item.id} then #{item.sumViews}
+                        </when>
+                        <when test="(colPickMode==0 and item.containsKey('sumViewsIncrement')) or (colPickMode==1 and !item.containsKey('sumViewsIncrement'))">
+                            when a.id=#{item.id} then ifnull(a.sumViews,0) + #{item.sumViewsIncrement}
+                        </when>
+                    </choose>
+                </foreach>
+            </trim>
+            <trim prefix="viewContent=(case" suffix="ELSE viewContent end),">
+                <foreach collection="data.dataList" item="item" index="index" separator="" >
+                    <if test="(colPickMode==0 and item.containsKey('viewContent')) or (colPickMode==1 and !item.containsKey('viewContent'))">
+                        when a.id=#{item.id} then #{item.viewContent}
+                    </if>
+                </foreach>
+            </trim>
+            <trim prefix="remark=(case" suffix="ELSE remark end),">
+                <foreach collection="data.dataList" item="item" index="index" separator="" >
+                    <if test="(colPickMode==0 and item.containsKey('remark')) or (colPickMode==1 and !item.containsKey('remark'))">
+                        when a.id=#{item.id} then #{item.remark}
+                    </if>
+                </foreach>
+            </trim>
+            <trim prefix="createUserId=(case" suffix="ELSE createUserId end),">
+                <foreach collection="data.dataList" item="item" index="index" separator="" >
+                    <choose>
+                        <when test="(colPickMode==0 and item.containsKey('createUserId')) or (colPickMode==1 and !item.containsKey('createUserId'))">
+                            when a.id=#{item.id} then #{item.createUserId}
+                        </when>
+                        <when test="(colPickMode==0 and item.containsKey('createUserIdIncrement')) or (colPickMode==1 and !item.containsKey('createUserIdIncrement'))">
+                            when a.id=#{item.id} then ifnull(a.createUserId,0) + #{item.createUserIdIncrement}
+                        </when>
+                    </choose>
+                </foreach>
+            </trim>
+            <trim prefix="createTime=(case" suffix="ELSE createTime end),">
+                <foreach collection="data.dataList" item="item" index="index" separator="" >
+                    <if test="(colPickMode==0 and item.containsKey('createTime')) or (colPickMode==1 and !item.containsKey('createTime'))">
+                        when a.id=#{item.id} then #{item.createTime}
+                    </if>
+                </foreach>
+            </trim>
+            <trim prefix="updateUserId=(case" suffix="ELSE updateUserId end),">
+                <foreach collection="data.dataList" item="item" index="index" separator="" >
+                    <choose>
+                        <when test="(colPickMode==0 and item.containsKey('updateUserId')) or (colPickMode==1 and !item.containsKey('updateUserId'))">
+                            when a.id=#{item.id} then #{item.updateUserId}
+                        </when>
+                        <when test="(colPickMode==0 and item.containsKey('updateUserIdIncrement')) or (colPickMode==1 and !item.containsKey('updateUserIdIncrement'))">
+                            when a.id=#{item.id} then ifnull(a.updateUserId,0) + #{item.updateUserIdIncrement}
+                        </when>
+                    </choose>
+                </foreach>
+            </trim>
+            <trim prefix="updateTime=(case" suffix="ELSE updateTime end),">
+                <foreach collection="data.dataList" item="item" index="index" separator="" >
+                    <if test="(colPickMode==0 and item.containsKey('updateTime')) or (colPickMode==1 and !item.containsKey('updateTime'))">
+                        when a.id=#{item.id} then #{item.updateTime}
+                    </if>
+                </foreach>
+            </trim>
+            <trim prefix="viewId=(case" suffix="ELSE viewId end),">
+                <foreach collection="data.dataList" item="item" index="index" separator="" >
+                    <choose>
+                        <when test="(colPickMode==0 and item.containsKey('viewId')) or (colPickMode==1 and !item.containsKey('viewId'))">
+                            when a.id=#{item.id} then #{item.viewId}
+                        </when>
+                        <when test="(colPickMode==0 and item.containsKey('viewIdIncrement')) or (colPickMode==1 and !item.containsKey('viewIdIncrement'))">
+                            when a.id=#{item.id} then ifnull(a.viewId,0) + #{item.viewIdIncrement}
+                        </when>
+                    </choose>
+                </foreach>
+            </trim>
         </trim>
         where id in
         <foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")">
@@ -337,330 +357,452 @@
     <!-- 鏉′欢鏄犲皠-浠e弬鏁� -->
     <sql id="_condition_param_">
         <bind name="conditionParamRef" value="${_conditionParam_}"/>
+        <if test="permissionSql != null and permissionSql != ''">
+            ${permissionSql}
+        </if>
+
         <if test="conditionParamRef.containsKey('id')">
             <if test="conditionParamRef.id != null">
                 ${_conditionType_} a.id=#{${_conditionParam_}.id}
             </if>
         </if>
-            <if test="conditionParamRef.containsKey('id')">
-                <if test="conditionParamRef.id != null ">
-                    ${_conditionType_} a.id = #{${_conditionParam_}.id}
-                </if>
-                <if test="conditionParamRef.id == null">
-                    ${_conditionType_} a.id is null
-                </if>
+        <if test="conditionParamRef.containsKey('id')">
+            <if test="conditionParamRef.id != null ">
+                ${_conditionType_} a.id = #{${_conditionParam_}.id}
             </if>
-            <if test="conditionParamRef.containsKey('idList') and conditionParamRef.idList.size() > 0">
-                ${_conditionType_} a.id in
-                <foreach collection="conditionParamRef.idList" open="(" close=")" index="index" item="item" separator=",">
-                    #{item}
-                </foreach>
+            <if test="conditionParamRef.id == null">
+                ${_conditionType_} a.id is null
             </if>
-            <if test="conditionParamRef.containsKey('idNotList') and conditionParamRef.idNotList.size() > 0">
-                ${_conditionType_} a.id not in
-                <foreach collection="conditionParamRef.idNotList" open="(" close=")" index="index" item="item" separator=",">
-                    #{item}
-                </foreach>
+        </if>
+        <if test="conditionParamRef.containsKey('idList') and conditionParamRef.idList.size() > 0">
+            ${_conditionType_} a.id in
+            <foreach collection="conditionParamRef.idList" open="(" close=")" index="index" item="item" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="conditionParamRef.containsKey('idNotList') and conditionParamRef.idNotList.size() > 0">
+            ${_conditionType_} a.id not in
+            <foreach collection="conditionParamRef.idNotList" open="(" close=")" index="index" item="item" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="conditionParamRef.containsKey('idStart') and conditionParamRef.idStart != null">
+            ${_conditionType_} a.id <![CDATA[ >= ]]> #{${_conditionParam_}.idStart}
+        </if>
+        <if test="conditionParamRef.containsKey('idEnd') and conditionParamRef.idEnd != null">
+            ${_conditionType_} a.id <![CDATA[ <= ]]> #{${_conditionParam_}.idEnd}
+        </if>
+
+        <if test="conditionParamRef.containsKey('staffId')">
+            <if test="conditionParamRef.staffId != null ">
+                ${_conditionType_} a.staffId = #{${_conditionParam_}.staffId}
             </if>
-            <if test="conditionParamRef.containsKey('idStart') and conditionParamRef.idStart != null">
-                ${_conditionType_} a.id <![CDATA[ >= ]]> #{${_conditionParam_}.idStart}
+            <if test="conditionParamRef.staffId == null">
+                ${_conditionType_} a.staffId is null
             </if>
-            <if test="conditionParamRef.containsKey('idEnd') and conditionParamRef.idEnd != null">
-                ${_conditionType_} a.id <![CDATA[ <= ]]> #{${_conditionParam_}.idEnd}
+        </if>
+        <if test="conditionParamRef.containsKey('staffIdList') and conditionParamRef.staffIdList.size() > 0">
+            ${_conditionType_} a.staffId in
+            <foreach collection="conditionParamRef.staffIdList" open="(" close=")" index="index" item="item" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="conditionParamRef.containsKey('staffIdNotList') and conditionParamRef.staffIdNotList.size() > 0">
+            ${_conditionType_} a.staffId not in
+            <foreach collection="conditionParamRef.staffIdNotList" open="(" close=")" index="index" item="item" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="conditionParamRef.containsKey('staffIdStart') and conditionParamRef.staffIdStart != null">
+            ${_conditionType_} a.staffId <![CDATA[ >= ]]> #{${_conditionParam_}.staffIdStart}
+        </if>
+        <if test="conditionParamRef.containsKey('staffIdEnd') and conditionParamRef.staffIdEnd != null">
+            ${_conditionType_} a.staffId <![CDATA[ <= ]]> #{${_conditionParam_}.staffIdEnd}
+        </if>
+
+
+        <if test="conditionParamRef.containsKey('staffName')">
+            <if test="conditionParamRef.staffName != null and conditionParamRef.staffName != ''">
+                ${_conditionType_} a.staffName like #{${_conditionParam_}.staffName}
+            </if>
+            <if test="conditionParamRef.staffName == null">
+                ${_conditionType_} a.staffName is null
             </if>
+        </if>
+        <if test="conditionParamRef.containsKey('staffNameList') and conditionParamRef.staffNameList.size() > 0">
+            ${_conditionType_} a.staffName in
+            <foreach collection="conditionParamRef.staffNameList" open="(" close=")" index="index" item="item" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="conditionParamRef.containsKey('staffNameNotList') and conditionParamRef.staffNameNotList.size() > 0">
+            ${_conditionType_} a.staffName not in
+            <foreach collection="conditionParamRef.staffNameNotList" open="(" close=")" index="index" item="item" separator=",">
+                #{item}
+            </foreach>
+        </if>
 
-            <if test="conditionParamRef.containsKey('staffId')">
-                <if test="conditionParamRef.staffId != null ">
-                    ${_conditionType_} a.staffId = #{${_conditionParam_}.staffId}
-                </if>
-                <if test="conditionParamRef.staffId == null">
-                    ${_conditionType_} a.staffId is null
-                </if>
+        <if test="conditionParamRef.containsKey('viewName')">
+            <if test="conditionParamRef.viewName != null and conditionParamRef.viewName != ''">
+                ${_conditionType_} a.viewName like #{${_conditionParam_}.viewName}
             </if>
-            <if test="conditionParamRef.containsKey('staffIdList') and conditionParamRef.staffIdList.size() > 0">
-                ${_conditionType_} a.staffId in
-                <foreach collection="conditionParamRef.staffIdList" open="(" close=")" index="index" item="item" separator=",">
-                    #{item}
-                </foreach>
+            <if test="conditionParamRef.viewName == null">
+                ${_conditionType_} a.viewName is null
             </if>
-            <if test="conditionParamRef.containsKey('staffIdNotList') and conditionParamRef.staffIdNotList.size() > 0">
-                ${_conditionType_} a.staffId not in
-                <foreach collection="conditionParamRef.staffIdNotList" open="(" close=")" index="index" item="item" separator=",">
-                    #{item}
-                </foreach>
+        </if>
+        <if test="conditionParamRef.containsKey('viewNameList') and conditionParamRef.viewNameList.size() > 0">
+            ${_conditionType_} a.viewName in
+            <foreach collection="conditionParamRef.viewNameList" open="(" close=")" index="index" item="item" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="conditionParamRef.containsKey('viewNameNotList') and conditionParamRef.viewNameNotList.size() > 0">
+            ${_conditionType_} a.viewName not in
+            <foreach collection="conditionParamRef.viewNameNotList" open="(" close=")" index="index" item="item" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="conditionParamRef.containsKey('sumViews')">
+            <if test="conditionParamRef.sumViews != null ">
+                ${_conditionType_} a.sumViews = #{${_conditionParam_}.sumViews}
+            </if>
+            <if test="conditionParamRef.sumViews == null">
+                ${_conditionType_} a.sumViews is null
+            </if>
+        </if>
+        <if test="conditionParamRef.containsKey('sumViewsList') and conditionParamRef.sumViewsList.size() > 0">
+            ${_conditionType_} a.sumViews in
+            <foreach collection="conditionParamRef.sumViewsList" open="(" close=")" index="index" item="item" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="conditionParamRef.containsKey('sumViewsNotList') and conditionParamRef.sumViewsNotList.size() > 0">
+            ${_conditionType_} a.sumViews not in
+            <foreach collection="conditionParamRef.sumViewsNotList" open="(" close=")" index="index" item="item" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="conditionParamRef.containsKey('sumViewsStart') and conditionParamRef.sumViewsStart != null">
+            ${_conditionType_} a.sumViews <![CDATA[ >= ]]> #{${_conditionParam_}.sumViewsStart}
+        </if>
+        <if test="conditionParamRef.containsKey('sumViewsEnd') and conditionParamRef.sumViewsEnd != null">
+            ${_conditionType_} a.sumViews <![CDATA[ <= ]]> #{${_conditionParam_}.sumViewsEnd}
+        </if>
+
+
+        <if test="conditionParamRef.containsKey('viewContent')">
+            <if test="conditionParamRef.viewContent != null and conditionParamRef.viewContent != ''">
+                ${_conditionType_} a.viewContent like #{${_conditionParam_}.viewContent}
             </if>
-            <if test="conditionParamRef.containsKey('staffIdStart') and conditionParamRef.staffIdStart != null">
-                ${_conditionType_} a.staffId <![CDATA[ >= ]]> #{${_conditionParam_}.staffIdStart}
+            <if test="conditionParamRef.viewContent == null">
+                ${_conditionType_} a.viewContent is null
             </if>
-            <if test="conditionParamRef.containsKey('staffIdEnd') and conditionParamRef.staffIdEnd != null">
-                ${_conditionType_} a.staffId <![CDATA[ <= ]]> #{${_conditionParam_}.staffIdEnd}
+        </if>
+        <if test="conditionParamRef.containsKey('viewContentList') and conditionParamRef.viewContentList.size() > 0">
+            ${_conditionType_} a.viewContent in
+            <foreach collection="conditionParamRef.viewContentList" open="(" close=")" index="index" item="item" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="conditionParamRef.containsKey('viewContentNotList') and conditionParamRef.viewContentNotList.size() > 0">
+            ${_conditionType_} a.viewContent not in
+            <foreach collection="conditionParamRef.viewContentNotList" open="(" close=")" index="index" item="item" separator=",">
+                #{item}
+            </foreach>
+        </if>
+
+        <if test="conditionParamRef.containsKey('remark')">
+            <if test="conditionParamRef.remark != null and conditionParamRef.remark != ''">
+                ${_conditionType_} a.remark like #{${_conditionParam_}.remark}
+            </if>
+            <if test="conditionParamRef.remark == null">
+                ${_conditionType_} a.remark is null
+            </if>
+        </if>
+        <if test="conditionParamRef.containsKey('remarkList') and conditionParamRef.remarkList.size() > 0">
+            ${_conditionType_} a.remark in
+            <foreach collection="conditionParamRef.remarkList" open="(" close=")" index="index" item="item" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="conditionParamRef.containsKey('remarkNotList') and conditionParamRef.remarkNotList.size() > 0">
+            ${_conditionType_} a.remark not in
+            <foreach collection="conditionParamRef.remarkNotList" open="(" close=")" index="index" item="item" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="conditionParamRef.containsKey('createUserId')">
+            <if test="conditionParamRef.createUserId != null ">
+                ${_conditionType_} a.createUserId = #{${_conditionParam_}.createUserId}
             </if>
+            <if test="conditionParamRef.createUserId == null">
+                ${_conditionType_} a.createUserId is null
+            </if>
+        </if>
+        <if test="conditionParamRef.containsKey('createUserIdList') and conditionParamRef.createUserIdList.size() > 0">
+            ${_conditionType_} a.createUserId in
+            <foreach collection="conditionParamRef.createUserIdList" open="(" close=")" index="index" item="item" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="conditionParamRef.containsKey('createUserIdNotList') and conditionParamRef.createUserIdNotList.size() > 0">
+            ${_conditionType_} a.createUserId not in
+            <foreach collection="conditionParamRef.createUserIdNotList" open="(" close=")" index="index" item="item" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="conditionParamRef.containsKey('createUserIdStart') and conditionParamRef.createUserIdStart != null">
+            ${_conditionType_} a.createUserId <![CDATA[ >= ]]> #{${_conditionParam_}.createUserIdStart}
+        </if>
+        <if test="conditionParamRef.containsKey('createUserIdEnd') and conditionParamRef.createUserIdEnd != null">
+            ${_conditionType_} a.createUserId <![CDATA[ <= ]]> #{${_conditionParam_}.createUserIdEnd}
+        </if>
 
 
-            <if test="conditionParamRef.containsKey('staffName')">
-                <if test="conditionParamRef.staffName != null and conditionParamRef.staffName != ''">
-                    ${_conditionType_} a.staffName like #{${_conditionParam_}.staffName}
-                </if>
-                <if test="conditionParamRef.staffName == null">
-                    ${_conditionType_} a.staffName is null
-                </if>
+        <if test="conditionParamRef.containsKey('createTime')">
+            <if test="conditionParamRef.createTime != null ">
+                ${_conditionType_} a.createTime = #{${_conditionParam_}.createTime}
             </if>
-            <if test="conditionParamRef.containsKey('staffNameList') and conditionParamRef.staffNameList.size() > 0">
-                ${_conditionType_} a.staffName in
-                <foreach collection="conditionParamRef.staffNameList" open="(" close=")" index="index" item="item" separator=",">
-                    #{item}
-                </foreach>
+            <if test="conditionParamRef.createTime == null">
+                ${_conditionType_} a.createTime is null
             </if>
-            <if test="conditionParamRef.containsKey('staffNameNotList') and conditionParamRef.staffNameNotList.size() > 0">
-                ${_conditionType_} a.staffName not in
-                <foreach collection="conditionParamRef.staffNameNotList" open="(" close=")" index="index" item="item" separator=",">
-                    #{item}
-                </foreach>
+        </if>
+        <if test="conditionParamRef.containsKey('createTimeStart') and conditionParamRef.createTimeStart != null and conditionParamRef.createTimeStart!=''">
+            ${_conditionType_} a.createTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
+        </if>
+        <if test="conditionParamRef.containsKey('createTimeEnd') and conditionParamRef.createTimeEnd != null and conditionParamRef.createTimeEnd!=''">
+            ${_conditionType_} a.createTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
+        </if>
+        <if test="conditionParamRef.containsKey('updateUserId')">
+            <if test="conditionParamRef.updateUserId != null ">
+                ${_conditionType_} a.updateUserId = #{${_conditionParam_}.updateUserId}
             </if>
+            <if test="conditionParamRef.updateUserId == null">
+                ${_conditionType_} a.updateUserId is null
+            </if>
+        </if>
+        <if test="conditionParamRef.containsKey('updateUserIdList') and conditionParamRef.updateUserIdList.size() > 0">
+            ${_conditionType_} a.updateUserId in
+            <foreach collection="conditionParamRef.updateUserIdList" open="(" close=")" index="index" item="item" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="conditionParamRef.containsKey('updateUserIdNotList') and conditionParamRef.updateUserIdNotList.size() > 0">
+            ${_conditionType_} a.updateUserId not in
+            <foreach collection="conditionParamRef.updateUserIdNotList" open="(" close=")" index="index" item="item" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="conditionParamRef.containsKey('updateUserIdStart') and conditionParamRef.updateUserIdStart != null">
+            ${_conditionType_} a.updateUserId <![CDATA[ >= ]]> #{${_conditionParam_}.updateUserIdStart}
+        </if>
+        <if test="conditionParamRef.containsKey('updateUserIdEnd') and conditionParamRef.updateUserIdEnd != null">
+            ${_conditionType_} a.updateUserId <![CDATA[ <= ]]> #{${_conditionParam_}.updateUserIdEnd}
+        </if>
 
-            <if test="conditionParamRef.containsKey('viewName')">
-                <if test="conditionParamRef.viewName != null and conditionParamRef.viewName != ''">
-                    ${_conditionType_} a.viewName like #{${_conditionParam_}.viewName}
-                </if>
-                <if test="conditionParamRef.viewName == null">
-                    ${_conditionType_} a.viewName is null
-                </if>
+
+        <if test="conditionParamRef.containsKey('updateTime')">
+            <if test="conditionParamRef.updateTime != null ">
+                ${_conditionType_} a.updateTime = #{${_conditionParam_}.updateTime}
+            </if>
+            <if test="conditionParamRef.updateTime == null">
+                ${_conditionType_} a.updateTime is null
+            </if>
+        </if>
+        <if test="conditionParamRef.containsKey('updateTimeStart') and conditionParamRef.updateTimeStart != null and conditionParamRef.updateTimeStart!=''">
+            ${_conditionType_} a.updateTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
+        </if>
+        <if test="conditionParamRef.containsKey('updateTimeEnd') and conditionParamRef.updateTimeEnd != null and conditionParamRef.updateTimeEnd!=''">
+            ${_conditionType_} a.updateTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
+        </if>
+        <if test="conditionParamRef.containsKey('viewId')">
+            <if test="conditionParamRef.viewId != null ">
+                ${_conditionType_} a.viewId = #{${_conditionParam_}.viewId}
             </if>
-            <if test="conditionParamRef.containsKey('viewNameList') and conditionParamRef.viewNameList.size() > 0">
-                ${_conditionType_} a.viewName in
-                <foreach collection="conditionParamRef.viewNameList" open="(" close=")" index="index" item="item" separator=",">
+            <if test="conditionParamRef.viewId == null">
+                ${_conditionType_} a.viewId is null
+            </if>
+        </if>
+        <if test="conditionParamRef.containsKey('viewIdList') and conditionParamRef.viewIdList.size() > 0">
+            ${_conditionType_} a.viewId in
+            <foreach collection="conditionParamRef.viewIdList" open="(" close=")" index="index" item="item" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="conditionParamRef.containsKey('viewIdNotList') and conditionParamRef.viewIdNotList.size() > 0">
+            ${_conditionType_} a.viewId not in
+            <foreach collection="conditionParamRef.viewIdNotList" open="(" close=")" index="index" item="item" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="conditionParamRef.containsKey('viewIdStart') and conditionParamRef.viewIdStart != null">
+            ${_conditionType_} a.viewId <![CDATA[ >= ]]> #{${_conditionParam_}.viewIdStart}
+        </if>
+        <if test="conditionParamRef.containsKey('viewIdEnd') and conditionParamRef.viewIdEnd != null">
+            ${_conditionType_} a.viewId <![CDATA[ <= ]]> #{${_conditionParam_}.viewIdEnd}
+        </if>
+
+    </sql>
+    <sql id="_orderCols_">
+        <if test="orderColList != null and !orderColList.isEmpty()">
+            order by
+            <if test="conditionParamRef.containsKey('idList') and conditionParamRef.idList.size() > 0">
+                field(a.id,
+                <foreach collection="conditionParamRef.idList" open="" close=")" index="index" item="item" separator=",">
                     #{item}
                 </foreach>
+                ,
             </if>
-            <if test="conditionParamRef.containsKey('viewNameNotList') and conditionParamRef.viewNameNotList.size() > 0">
-                ${_conditionType_} a.viewName not in
-                <foreach collection="conditionParamRef.viewNameNotList" open="(" close=")" index="index" item="item" separator=",">
+            <if test="conditionParamRef.containsKey('staffIdList') and conditionParamRef.staffIdList.size() > 0">
+                field(a.staffId,
+                <foreach collection="conditionParamRef.staffIdList" open="" close=")" index="index" item="item" separator=",">
                     #{item}
                 </foreach>
-            </if>
-            <if test="conditionParamRef.containsKey('sumViews')">
-                <if test="conditionParamRef.sumViews != null ">
-                    ${_conditionType_} a.sumViews = #{${_conditionParam_}.sumViews}
-                </if>
-                <if test="conditionParamRef.sumViews == null">
-                    ${_conditionType_} a.sumViews is null
-                </if>
+                ,
             </if>
             <if test="conditionParamRef.containsKey('sumViewsList') and conditionParamRef.sumViewsList.size() > 0">
-                ${_conditionType_} a.sumViews in
-                <foreach collection="conditionParamRef.sumViewsList" open="(" close=")" index="index" item="item" separator=",">
+                field(a.sumViews,
+                <foreach collection="conditionParamRef.sumViewsList" open="" close=")" index="index" item="item" separator=",">
                     #{item}
                 </foreach>
+                ,
             </if>
-            <if test="conditionParamRef.containsKey('sumViewsNotList') and conditionParamRef.sumViewsNotList.size() > 0">
-                ${_conditionType_} a.sumViews not in
-                <foreach collection="conditionParamRef.sumViewsNotList" open="(" close=")" index="index" item="item" separator=",">
+            <if test="conditionParamRef.containsKey('createUserIdList') and conditionParamRef.createUserIdList.size() > 0">
+                field(a.createUserId,
+                <foreach collection="conditionParamRef.createUserIdList" open="" close=")" index="index" item="item" separator=",">
                     #{item}
                 </foreach>
+                ,
             </if>
-            <if test="conditionParamRef.containsKey('sumViewsStart') and conditionParamRef.sumViewsStart != null">
-                ${_conditionType_} a.sumViews <![CDATA[ >= ]]> #{${_conditionParam_}.sumViewsStart}
-            </if>
-            <if test="conditionParamRef.containsKey('sumViewsEnd') and conditionParamRef.sumViewsEnd != null">
-                ${_conditionType_} a.sumViews <![CDATA[ <= ]]> #{${_conditionParam_}.sumViewsEnd}
-            </if>
-
-
-            <if test="conditionParamRef.containsKey('viewContent')">
-                <if test="conditionParamRef.viewContent != null and conditionParamRef.viewContent != ''">
-                    ${_conditionType_} a.viewContent like #{${_conditionParam_}.viewContent}
-                </if>
-                <if test="conditionParamRef.viewContent == null">
-                    ${_conditionType_} a.viewContent is null
-                </if>
-            </if>
-            <if test="conditionParamRef.containsKey('viewContentList') and conditionParamRef.viewContentList.size() > 0">
-                ${_conditionType_} a.viewContent in
-                <foreach collection="conditionParamRef.viewContentList" open="(" close=")" index="index" item="item" separator=",">
+            <if test="conditionParamRef.containsKey('updateUserIdList') and conditionParamRef.updateUserIdList.size() > 0">
+                field(a.updateUserId,
+                <foreach collection="conditionParamRef.updateUserIdList" open="" close=")" index="index" item="item" separator=",">
                     #{item}
                 </foreach>
+                ,
             </if>
-            <if test="conditionParamRef.containsKey('viewContentNotList') and conditionParamRef.viewContentNotList.size() > 0">
-                ${_conditionType_} a.viewContent not in
-                <foreach collection="conditionParamRef.viewContentNotList" open="(" close=")" index="index" item="item" separator=",">
+            <if test="conditionParamRef.containsKey('viewIdList') and conditionParamRef.viewIdList.size() > 0">
+                field(a.viewId,
+                <foreach collection="conditionParamRef.viewIdList" open="" close=")" index="index" item="item" separator=",">
                     #{item}
                 </foreach>
+                ,
             </if>
-
-            <if test="conditionParamRef.containsKey('remark')">
-                <if test="conditionParamRef.remark != null and conditionParamRef.remark != ''">
-                    ${_conditionType_} a.remark like #{${_conditionParam_}.remark}
-                </if>
-                <if test="conditionParamRef.remark == null">
-                    ${_conditionType_} a.remark is null
-                </if>
-            </if>
-            <if test="conditionParamRef.containsKey('remarkList') and conditionParamRef.remarkList.size() > 0">
-                ${_conditionType_} a.remark in
-                <foreach collection="conditionParamRef.remarkList" open="(" close=")" index="index" item="item" separator=",">
+            <trim suffixOverrides=","  suffix="">
+                <foreach collection="orderColList" open="" close="" index="index" item="item" separator=",">
+                    a.${item.colName} ${item.sortKind}
+                </foreach>
+            </trim>
+        </if>
+        <if test="(orderColList == null or orderColList.isEmpty()) and orderCol != null and !orderCol.isEmpty()">
+            order by
+            <if test="conditionParamRef.containsKey('idList') and conditionParamRef.idList.size() > 0">
+                field(a.id,
+                <foreach collection="conditionParamRef.idList" open="" close=")" index="index" item="item" separator=",">
                     #{item}
                 </foreach>
+                ,
             </if>
-            <if test="conditionParamRef.containsKey('remarkNotList') and conditionParamRef.remarkNotList.size() > 0">
-                ${_conditionType_} a.remark not in
-                <foreach collection="conditionParamRef.remarkNotList" open="(" close=")" index="index" item="item" separator=",">
+            <if test="conditionParamRef.containsKey('staffIdList') and conditionParamRef.staffIdList.size() > 0">
+                field(a.staffId,
+                <foreach collection="conditionParamRef.staffIdList" open="" close=")" index="index" item="item" separator=",">
                     #{item}
                 </foreach>
+                ,
             </if>
-            <if test="conditionParamRef.containsKey('createUserId')">
-                <if test="conditionParamRef.createUserId != null ">
-                    ${_conditionType_} a.createUserId = #{${_conditionParam_}.createUserId}
-                </if>
-                <if test="conditionParamRef.createUserId == null">
-                    ${_conditionType_} a.createUserId is null
-                </if>
-            </if>
-            <if test="conditionParamRef.containsKey('createUserIdList') and conditionParamRef.createUserIdList.size() > 0">
-                ${_conditionType_} a.createUserId in
-                <foreach collection="conditionParamRef.createUserIdList" open="(" close=")" index="index" item="item" separator=",">
+            <if test="conditionParamRef.containsKey('sumViewsList') and conditionParamRef.sumViewsList.size() > 0">
+                field(a.sumViews,
+                <foreach collection="conditionParamRef.sumViewsList" open="" close=")" index="index" item="item" separator=",">
                     #{item}
                 </foreach>
+                ,
             </if>
-            <if test="conditionParamRef.containsKey('createUserIdNotList') and conditionParamRef.createUserIdNotList.size() > 0">
-                ${_conditionType_} a.createUserId not in
-                <foreach collection="conditionParamRef.createUserIdNotList" open="(" close=")" index="index" item="item" separator=",">
+            <if test="conditionParamRef.containsKey('createUserIdList') and conditionParamRef.createUserIdList.size() > 0">
+                field(a.createUserId,
+                <foreach collection="conditionParamRef.createUserIdList" open="" close=")" index="index" item="item" separator=",">
                     #{item}
                 </foreach>
-            </if>
-            <if test="conditionParamRef.containsKey('createUserIdStart') and conditionParamRef.createUserIdStart != null">
-                ${_conditionType_} a.createUserId <![CDATA[ >= ]]> #{${_conditionParam_}.createUserIdStart}
-            </if>
-            <if test="conditionParamRef.containsKey('createUserIdEnd') and conditionParamRef.createUserIdEnd != null">
-                ${_conditionType_} a.createUserId <![CDATA[ <= ]]> #{${_conditionParam_}.createUserIdEnd}
-            </if>
-
-
-            <if test="conditionParamRef.containsKey('createTime')">
-                <if test="conditionParamRef.createTime != null ">
-                    ${_conditionType_} a.createTime = #{${_conditionParam_}.createTime}
-                </if>
-                <if test="conditionParamRef.createTime == null">
-                    ${_conditionType_} a.createTime is null
-                </if>
-            </if>
-            <if test="conditionParamRef.containsKey('createTimeStart') and conditionParamRef.createTimeStart != null and conditionParamRef.createTimeStart!=''">
-                ${_conditionType_} a.createTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
-            </if>
-            <if test="conditionParamRef.containsKey('createTimeEnd') and conditionParamRef.createTimeEnd != null and conditionParamRef.createTimeEnd!=''">
-                ${_conditionType_} a.createTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
-            </if>
-            <if test="conditionParamRef.containsKey('updateUserId')">
-                <if test="conditionParamRef.updateUserId != null ">
-                    ${_conditionType_} a.updateUserId = #{${_conditionParam_}.updateUserId}
-                </if>
-                <if test="conditionParamRef.updateUserId == null">
-                    ${_conditionType_} a.updateUserId is null
-                </if>
+                ,
             </if>
             <if test="conditionParamRef.containsKey('updateUserIdList') and conditionParamRef.updateUserIdList.size() > 0">
-                ${_conditionType_} a.updateUserId in
-                <foreach collection="conditionParamRef.updateUserIdList" open="(" close=")" index="index" item="item" separator=",">
+                field(a.updateUserId,
+                <foreach collection="conditionParamRef.updateUserIdList" open="" close=")" index="index" item="item" separator=",">
                     #{item}
                 </foreach>
+                ,
             </if>
-            <if test="conditionParamRef.containsKey('updateUserIdNotList') and conditionParamRef.updateUserIdNotList.size() > 0">
-                ${_conditionType_} a.updateUserId not in
-                <foreach collection="conditionParamRef.updateUserIdNotList" open="(" close=")" index="index" item="item" separator=",">
+            <if test="conditionParamRef.containsKey('viewIdList') and conditionParamRef.viewIdList.size() > 0">
+                field(a.viewId,
+                <foreach collection="conditionParamRef.viewIdList" open="" close=")" index="index" item="item" separator=",">
                     #{item}
                 </foreach>
+                ,
             </if>
-            <if test="conditionParamRef.containsKey('updateUserIdStart') and conditionParamRef.updateUserIdStart != null">
-                ${_conditionType_} a.updateUserId <![CDATA[ >= ]]> #{${_conditionParam_}.updateUserIdStart}
-            </if>
-            <if test="conditionParamRef.containsKey('updateUserIdEnd') and conditionParamRef.updateUserIdEnd != null">
-                ${_conditionType_} a.updateUserId <![CDATA[ <= ]]> #{${_conditionParam_}.updateUserIdEnd}
-            </if>
-
-
-            <if test="conditionParamRef.containsKey('updateTime')">
-                <if test="conditionParamRef.updateTime != null ">
-                    ${_conditionType_} a.updateTime = #{${_conditionParam_}.updateTime}
-                </if>
-                <if test="conditionParamRef.updateTime == null">
-                    ${_conditionType_} a.updateTime is null
-                </if>
-            </if>
-            <if test="conditionParamRef.containsKey('updateTimeStart') and conditionParamRef.updateTimeStart != null and conditionParamRef.updateTimeStart!=''">
-                ${_conditionType_} a.updateTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
-            </if>
-            <if test="conditionParamRef.containsKey('updateTimeEnd') and conditionParamRef.updateTimeEnd != null and conditionParamRef.updateTimeEnd!=''">
-                ${_conditionType_} a.updateTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
-            </if>
-    </sql>
-    <sql id="_orderCols_">
-        <if test="orderColList != null and !orderColList.isEmpty()">
-            order by
-            <trim suffixOverrides=","  suffix="">
-                <foreach collection="orderColList" open="" close="" index="index" item="item" separator=",">
-                     ${item.colName} ${item.sortKind}
-                </foreach>
-            </trim>
-        </if>
-        <if test="(orderColList == null or orderColList.isEmpty()) and orderCol != null and !orderCol.isEmpty()">
-            order by
             <trim suffixOverrides=","  suffix="">
-                    <if test="orderCol.containsKey('id')">
-                        a.id
-                        <if test='orderCol.id != null and "DESC".equalsIgnoreCase(orderCol.id)'>DESC</if>
-                        ,
-                    </if>
-                    <if test="orderCol.containsKey('staffId')">
-                        a.staffId
-                        <if test='orderCol.staffId != null and "DESC".equalsIgnoreCase(orderCol.staffId)'>DESC</if>
-                        ,
-                    </if>
-                    <if test="orderCol.containsKey('staffName')">
-                        a.staffName
-                        <if test='orderCol.staffName != null and "DESC".equalsIgnoreCase(orderCol.staffName)'>DESC</if>
-                        ,
-                    </if>
-                    <if test="orderCol.containsKey('viewName')">
-                        a.viewName
-                        <if test='orderCol.viewName != null and "DESC".equalsIgnoreCase(orderCol.viewName)'>DESC</if>
-                        ,
-                    </if>
-                    <if test="orderCol.containsKey('sumViews')">
-                        a.sumViews
-                        <if test='orderCol.sumViews != null and "DESC".equalsIgnoreCase(orderCol.sumViews)'>DESC</if>
-                        ,
-                    </if>
-                    <if test="orderCol.containsKey('viewContent')">
-                        a.viewContent
-                        <if test='orderCol.viewContent != null and "DESC".equalsIgnoreCase(orderCol.viewContent)'>DESC</if>
-                        ,
-                    </if>
-                    <if test="orderCol.containsKey('remark')">
-                        a.remark
-                        <if test='orderCol.remark != null and "DESC".equalsIgnoreCase(orderCol.remark)'>DESC</if>
-                        ,
-                    </if>
-                    <if test="orderCol.containsKey('createUserId')">
-                        a.createUserId
-                        <if test='orderCol.createUserId != null and "DESC".equalsIgnoreCase(orderCol.createUserId)'>DESC</if>
-                        ,
-                    </if>
-                    <if test="orderCol.containsKey('createTime')">
-                        a.createTime
-                        <if test='orderCol.createTime != null and "DESC".equalsIgnoreCase(orderCol.createTime)'>DESC</if>
-                        ,
-                    </if>
-                    <if test="orderCol.containsKey('updateUserId')">
-                        a.updateUserId
-                        <if test='orderCol.updateUserId != null and "DESC".equalsIgnoreCase(orderCol.updateUserId)'>DESC</if>
-                        ,
-                    </if>
-                    <if test="orderCol.containsKey('updateTime')">
-                        a.updateTime
-                        <if test='orderCol.updateTime != null and "DESC".equalsIgnoreCase(orderCol.updateTime)'>DESC</if>
-                        ,
-                    </if>
+                <if test="orderCol.containsKey('id')">
+                    a.id
+                    <if test='orderCol.id != null and "DESC".equalsIgnoreCase(orderCol.id)'>DESC</if>
+                    ,
+                </if>
+                <if test="orderCol.containsKey('staffId')">
+                    a.staffId
+                    <if test='orderCol.staffId != null and "DESC".equalsIgnoreCase(orderCol.staffId)'>DESC</if>
+                    ,
+                </if>
+                <if test="orderCol.containsKey('staffName')">
+                    a.staffName
+                    <if test='orderCol.staffName != null and "DESC".equalsIgnoreCase(orderCol.staffName)'>DESC</if>
+                    ,
+                </if>
+                <if test="orderCol.containsKey('viewName')">
+                    a.viewName
+                    <if test='orderCol.viewName != null and "DESC".equalsIgnoreCase(orderCol.viewName)'>DESC</if>
+                    ,
+                </if>
+                <if test="orderCol.containsKey('sumViews')">
+                    a.sumViews
+                    <if test='orderCol.sumViews != null and "DESC".equalsIgnoreCase(orderCol.sumViews)'>DESC</if>
+                    ,
+                </if>
+                <if test="orderCol.containsKey('viewContent')">
+                    a.viewContent
+                    <if test='orderCol.viewContent != null and "DESC".equalsIgnoreCase(orderCol.viewContent)'>DESC</if>
+                    ,
+                </if>
+                <if test="orderCol.containsKey('remark')">
+                    a.remark
+                    <if test='orderCol.remark != null and "DESC".equalsIgnoreCase(orderCol.remark)'>DESC</if>
+                    ,
+                </if>
+                <if test="orderCol.containsKey('createUserId')">
+                    a.createUserId
+                    <if test='orderCol.createUserId != null and "DESC".equalsIgnoreCase(orderCol.createUserId)'>DESC</if>
+                    ,
+                </if>
+                <if test="orderCol.containsKey('createTime')">
+                    a.createTime
+                    <if test='orderCol.createTime != null and "DESC".equalsIgnoreCase(orderCol.createTime)'>DESC</if>
+                    ,
+                </if>
+                <if test="orderCol.containsKey('updateUserId')">
+                    a.updateUserId
+                    <if test='orderCol.updateUserId != null and "DESC".equalsIgnoreCase(orderCol.updateUserId)'>DESC</if>
+                    ,
+                </if>
+                <if test="orderCol.containsKey('updateTime')">
+                    a.updateTime
+                    <if test='orderCol.updateTime != null and "DESC".equalsIgnoreCase(orderCol.updateTime)'>DESC</if>
+                    ,
+                </if>
+                <if test="orderCol.containsKey('viewId')">
+                    a.viewId
+                    <if test='orderCol.viewId != null and "DESC".equalsIgnoreCase(orderCol.viewId)'>DESC</if>
+                    ,
+                </if>
             </trim>
         </if>
+
+
     </sql>
     <sql id="_group_by_">
         <if test="groupList != null and !groupList.isEmpty()">
-- 
2.24.3