From 4e5b57c04f85867bbac909bac354fe40c545a9ec Mon Sep 17 00:00:00 2001 From: qianming Date: Wed, 23 Nov 2022 14:48:08 +0800 Subject: [PATCH 01/86] update --- report-core/src/main/resources/bootstrap.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/report-core/src/main/resources/bootstrap.yml b/report-core/src/main/resources/bootstrap.yml index eb251e49..0e72fe4a 100644 --- a/report-core/src/main/resources/bootstrap.yml +++ b/report-core/src/main/resources/bootstrap.yml @@ -60,7 +60,7 @@ spring: enabled: true ##允许上传的文件后缀 file-type-while-list: .png|.jpg|.gif|.icon|.pdf|.xlsx|.xls|.csv|.mp4|.avi|.jpeg|.aaa - # 用于文件上传成功后,生成文件的下载公网完整URL + # 用于文件上传成功后,生成文件的下载公网完整URL,http://serverip:9095/file/download downloadPath: http://10.108.26.197:9095/file/download nfs: #上传对应本地全路径,目录必须是真实存在的,注意 Win是 \ 且有盘符,linux是 / 无盘符 From be9d49c91795b9682caa1032ab22706ec20b1851 Mon Sep 17 00:00:00 2001 From: qianming Date: Wed, 30 Nov 2022 10:04:05 +0800 Subject: [PATCH 02/86] =?UTF-8?q?=E6=96=87=E6=A1=A3=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/docs/.vuepress/config.js | 1 + doc/docs/guide/chartsconfig.md | 86 ++++++++++++++++++++++++++++++++++ 2 files changed, 87 insertions(+) create mode 100644 doc/docs/guide/chartsconfig.md diff --git a/doc/docs/.vuepress/config.js b/doc/docs/.vuepress/config.js index 798f4419..fc8da07a 100644 --- a/doc/docs/.vuepress/config.js +++ b/doc/docs/.vuepress/config.js @@ -56,6 +56,7 @@ module.exports = { {title: '大屏报表', path: '/guide/dashboard'}, {title: '表格报表', path: '/guide/excel'}, {title: '导入导出', path: '/guide/importexport'}, + {title: '图表配置项', path: '/guide/chartsconfig'}, {title: '图表组件', path: '/guide/charts'}, ] }, diff --git a/doc/docs/guide/chartsconfig.md b/doc/docs/guide/chartsconfig.md new file mode 100644 index 00000000..d0add24b --- /dev/null +++ b/doc/docs/guide/chartsconfig.md @@ -0,0 +1,86 @@ +## 简要说明 + +图表配置项的中文名称基本都是直接使用Echarts图表组件对应定义的名称,非Echarts图表组件则根据功能进行命名。
+每个图表组件的配置项都不尽相同,配置项的作用在于调整图表、数据的展示样式,这里着重说明一些共有的配置项和特殊的配置项,因为并不是按照一个图表一个配置项介绍的,没有介绍的部分请自行尝试了。 + +## 图层名称 + +**定义:** 顾名思义,定义该组件在图层中显示的名称。
+**使用建议:** 因为图层名称是可以重复的,所以在图层中无法准确判断该图层具体对应哪个组件,且在大屏画布中有的图表组件因为置底或者上层覆盖了别的组件,导致很难选到这个图表,如果修改了图层名称,则可以通过图层快速定位并选中该组件。 + +## 文本框--文本内容 + +文本框和滚动文本这两个组件,修改数据--静态数据,是不会生效的,文本内容配置项中写的内容才是真正的静态数据。
+ +## 超链接--跳转方式 + +**使用建议:** 默认的跳转方式是本窗口,实际使用还是请选择新窗口。
+ +## 图片地址 + +**定义:** 图片对应的url链接
+**使用建议:** +这里图片的url因为只要是链接能打开就行了,所以适用性范围很广,但一般考虑到网络传输、安全性等问题,建议自行上传图片,然后用系统生成的链接地址;注意目前系统赞不支持svg图片,因此图片可能存在畸变,要注意缩放比例。 + +## 表格--滚动间隔 + +**定义:** 表格数据滚动的间隔,受到"开启滚动"、"动效时间"、"滚动个数"、"数据--动态数据--刷新时间"影响
+**使用建议:** +表格动态数据默认是5s请求一次数据,因此每隔5s图表就会刷新一次,这时就会重置滚动时间,会出现滚动到某个值时回到开头重新滚动。想让表格把每个值都滚动显示到的话,可以减少滚动间隔时间,去掉动效时间,增大滚动个数,提高动态数据刷新时间。
+ +## 柱体设置 + +**定义:** 修改柱体的形状等,涉及柱状图、柱线图
+**使用建议:** 当数据条目数很少时,比如默认的静态数据是5条,放大宽度,柱体变得更粗,搭配"竖展示" +配置项,可以得到更好的展示效果;当只有一个值的时候,通过XY不展示,可以得到单独的一根柱子。
+ +## 折线设置 + +**定义:** 修改点/折线的展示效果,涉及折线图、柱线图
+**使用建议:** 当折线的量少的时候,可以选择拉大"面积厚度",折线多了,就会相关覆盖,效果反而不好。
+ +## 标题设置 + +**定义:** 给图表组件添加标题/表头/title。
+**使用建议:** +一般没有图例功能的图表组件可以直接使用这个功能,因为可能会和图例重叠。有图例的图表组件要定义图表的话,可用文本框拖动到图表上方,作为标题。
+ +## X轴设置 + +**定义:** 定义坐标轴中的X轴的相关设置项。
+**使用建议:** +可以修改坐标轴的颜色,因为默认是纯白色,所以部分浏览器可能显示不出来;可以设置坐标名(柱状对比图不存在此配置项);如果数值相对密集的话,可以调整" +数值间隔"。 + +## Y轴设置 + +**定义:** 定义坐标轴中的Y轴的相关设置项。
+**使用建议:** 可以修改坐标轴的颜色,因为默认是纯白色,所以部分浏览器可能显示不出来;如果数值相对密集的话,可以调整"均分" +;注意"缩放"配置项只会对那些数据差距较大时才会生效。 + +## 图例操作 + +**定义:** 图例的直接来源是数据中的数值,比如在堆叠图中,图例的值就是"动态数据-Y轴字段" +字典选择的字段数值,可以简单的认为是“数据分类”。
+**使用建议:** 填写图例名称,修改图例的值,使用"|"进行分隔,相当于别名。
+ +## 数值设定 + +**定义:** 设定数据在图表中的显示配置。
+**使用建议:** 对于堆叠图、柱线图等等柱体、折线多的,不建议显示。
+ +## 提示语设置 + +**定义:** 设定提示,主要用于当鼠标选中/滑动时,显示数据对应的值。
+**使用建议:** +设定和对应图表相反的颜色,鼠标滑动时则会醒目;注意此配置项必须保存预览鼠标选中后才能看到效果,在画布设计是看不到效果的。
+ +## 自定义配色 + +**使用建议:** 如果不设置的话,默认就是大红色;默认按顺序给数值赋予颜色。
+ +## 饼图样式/模式 + +**定义:** 定义饼图显示的样式、模式,涉及饼图、南丁格尔玫瑰图。
+**使用建议:** 按数据量多少进行选择样式。
+ From b757bc84a653beecc5ff4a9d946c8667a8f51df4 Mon Sep 17 00:00:00 2001 From: qianming Date: Wed, 30 Nov 2022 10:47:56 +0800 Subject: [PATCH 03/86] =?UTF-8?q?=E9=BB=98=E8=AE=A4=E5=80=BC=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lineCharts/widget-line-compare.js | 20 ++++++++++--------- .../pieCharts/widget-pie-nightingale.js | 2 +- .../configure/pieCharts/widget-piechart.js | 4 ++-- .../widget/line/widgetLineCompareChart.vue | 14 ++++++------- 4 files changed, 21 insertions(+), 19 deletions(-) diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/lineCharts/widget-line-compare.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/lineCharts/widget-line-compare.js index ef093368..a0b9a663 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/lineCharts/widget-line-compare.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/lineCharts/widget-line-compare.js @@ -321,7 +321,7 @@ export const widgetLineCompare = { { type: 'el-input-text', label: '坐标名', - name: 'xName', + name: 'nameX', required: false, placeholder: '', value: '' @@ -414,14 +414,15 @@ export const widgetLineCompare = { { type: 'el-input-text', label: '坐标名', - name: 'textNameYTop', + name: 'textNameY', require: false, placeholder: '', value: '' - }, { + }, + { type: 'vue-color', label: '坐标名颜色', - name: 'nameColorYTop', + name: 'nameColorY', required: false, placeholder: '', value: '#fff', @@ -429,7 +430,7 @@ export const widgetLineCompare = { { type: 'el-input-number', label: '坐标名字号', - name: 'nameFontSizeYTop', + name: 'nameFontSizeY', required: false, placeholder: '', value: 14, @@ -530,14 +531,15 @@ export const widgetLineCompare = { { type: 'el-input-text', label: '坐标名', - name: 'textNameYBottom', + name: 'textNameY', require: false, placeholder: '', value: '' - }, { + }, + { type: 'vue-color', label: '坐标名颜色', - name: 'nameColorYBottom', + name: 'nameColorY', required: false, placeholder: '', value: '#fff', @@ -545,7 +547,7 @@ export const widgetLineCompare = { { type: 'el-input-number', label: '坐标名字号', - name: 'nameFontSizeYBottom', + name: 'nameFontSizeY', required: false, placeholder: '', value: 14, diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/pieCharts/widget-pie-nightingale.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/pieCharts/widget-pie-nightingale.js index a025e8ac..88ec3219 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/pieCharts/widget-pie-nightingale.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/pieCharts/widget-pie-nightingale.js @@ -277,7 +277,7 @@ export const widgetPieNightingale = { name: 'legendFontSize', required: false, placeholder: '', - value: 16, + value: 12, }, { type: 'el-input-number', diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/pieCharts/widget-piechart.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/pieCharts/widget-piechart.js index 348f8910..ecc9c62e 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/pieCharts/widget-piechart.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/pieCharts/widget-piechart.js @@ -272,12 +272,12 @@ export const widgetPiechart = { value: '#fff', }, { - type: 'el-input-text', + type: 'el-input-number', label: '字体字号', name: 'legendFontSize', required: false, placeholder: '', - value: 16, + value: 12, }, { type: 'el-input-number', diff --git a/report-ui/src/views/bigscreenDesigner/designer/widget/line/widgetLineCompareChart.vue b/report-ui/src/views/bigscreenDesigner/designer/widget/line/widgetLineCompareChart.vue index e0ccd747..9d9f79b7 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/widget/line/widgetLineCompareChart.vue +++ b/report-ui/src/views/bigscreenDesigner/designer/widget/line/widgetLineCompareChart.vue @@ -308,7 +308,7 @@ export default { const xAxis0 = { gridIndex: 0, show: optionsSetup.isShowX, - name: optionsSetup.xName, // 坐标轴名称 + name: optionsSetup.nameX, // 坐标轴名称 nameTextStyle: { color: optionsSetup.nameColorX, fontSize: optionsSetup.nameFontSizeX @@ -364,10 +364,10 @@ export default { splitNumber: optionsSetup.splitNumberYTop, show: optionsSetup.isShowYTop, scale: optionsSetup.scaleYTop, // 缩放 - name: optionsSetup.textNameYTop, // 坐标轴名称 + name: optionsSetup.textNameY, // 坐标轴名称 nameTextStyle: { - color: optionsSetup.nameColorYTop, - fontSize: optionsSetup.nameFontSizeYTop + color: optionsSetup.nameColorY, + fontSize: optionsSetup.nameFontSizeY }, axisLabel: { show: true, @@ -406,10 +406,10 @@ export default { splitNumber: optionsSetup.splitNumberYBottom, show: optionsSetup.isShowYBottom, scale: optionsSetup.scaleYBottom, // 缩放 - name: optionsSetup.textNameYBottom, // 坐标轴名称 + name: optionsSetup.textNameY, // 坐标轴名称 nameTextStyle: { - color: optionsSetup.nameColorYBottom, - fontSize: optionsSetup.nameFontSizeYBottom + color: optionsSetup.nameColorY, + fontSize: optionsSetup.nameFontSizeY }, inverse: true, // 翻转 axisLabel: { From 5bc9f12c164e027b888b6f5601d719d83f914312 Mon Sep 17 00:00:00 2001 From: qianming Date: Mon, 5 Dec 2022 14:10:17 +0800 Subject: [PATCH 04/86] =?UTF-8?q?=E6=96=87=E6=A1=A3=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/docs/guide/dataset.md | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/doc/docs/guide/dataset.md b/doc/docs/guide/dataset.md index 9bd629d1..73fe5031 100644 --- a/doc/docs/guide/dataset.md +++ b/doc/docs/guide/dataset.md @@ -33,9 +33,21 @@ ### 查询参数 +[数据源数据集用法总结](https://my.oschina.net/u/4517014/blog/5270828)
+ ![img3](../picture/dateset/img_3.png)
注意参数名要和sql(请求体)中变量名保持一致,sql(请求体)中的变量用 ${} 表示
-高级规则是用js进行数据装换。 + +#### 数据类型 + +暂时无用,写了也不生效,目前统一都是string处理。
+ +#### 高级规则 + +是用是针对当前行的参数示例值做一个校验。
+返回 true/false,代表校验字段是否符合要求的成功与失败。
+返回 String,代表通过一段 js 脚本生成你所需要的参数。
+返回其他类型报错!!!
### 数据转换 From dd4e99fec0a698e834f579bf7e5bc9b84a9b0d09 Mon Sep 17 00:00:00 2001 From: qianming Date: Thu, 15 Dec 2022 16:46:30 +0800 Subject: [PATCH 05/86] update docs --- doc/docs/guide/bigScreenCase.md | 24 ++++++++++++++++++++++- doc/docs/picture/bigScreenCase/img_1.png | Bin 0 -> 14532 bytes doc/docs/picture/bigScreenCase/img_2.png | Bin 0 -> 42500 bytes doc/docs/picture/bigScreenCase/img_3.png | Bin 0 -> 392317 bytes doc/docs/picture/bigScreenCase/img_4.png | Bin 0 -> 262326 bytes 5 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 doc/docs/picture/bigScreenCase/img_1.png create mode 100644 doc/docs/picture/bigScreenCase/img_2.png create mode 100644 doc/docs/picture/bigScreenCase/img_3.png create mode 100644 doc/docs/picture/bigScreenCase/img_4.png diff --git a/doc/docs/guide/bigScreenCase.md b/doc/docs/guide/bigScreenCase.md index 88e92c1b..ed268294 100644 --- a/doc/docs/guide/bigScreenCase.md +++ b/doc/docs/guide/bigScreenCase.md @@ -19,4 +19,26 @@ ![img3](../picture/bigScreenCase/img3.png)
[AJ-Report分享链接](https://ajreport.beliefteam.cn/index.html#/aj/D0cpO4re)
-![img4](../picture/bigScreenCase/img4.png)
\ No newline at end of file +![img4](../picture/bigScreenCase/img4.png)
+ +## 案例下载 + +**注:在线体验环境因为服务器配置问题,点击导出反应较慢,因此推荐直接下载你想要的大屏zip包即可**
+ +- 通过[下载链接](https://ajreport.beliefteam.cn/download/)下载
+ 1、下载对应大屏的zip包
+ ![img1](../picture/bigScreenCase/img_1.png)
+ ![img2](../picture/bigScreenCase/img_2.png)
+ + 2、在自己的服务环境通过“报表管理”菜单新建一个大屏,点击设计进入大屏设计界面。
+ ![img3](../picture/bigScreenCase/img_3.png)
+ +
+ +- 通过在线体验环境导出大屏
+ + 1、进入对应大屏的设计界面
+ ![img4](../picture/bigScreenCase/img_4.png)
+ + 2、在自己的服务环境通过“报表管理”菜单新建一个大屏,点击设计进入大屏设计界面。
+ ![img3](../picture/bigScreenCase/img_3.png)
diff --git a/doc/docs/picture/bigScreenCase/img_1.png b/doc/docs/picture/bigScreenCase/img_1.png new file mode 100644 index 0000000000000000000000000000000000000000..b3cd89f2fadbbd7a8cd8b81ec2eb524b960022e2 GIT binary patch literal 14532 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�W7hX67cT0URgAbkSMirv{TUtL0#-Gca6C_&xUR9{D4-R5_vGf8no--%cq34}f zoVGe5V2wX-YMdov-^#Ys0J;uNS-U&-h&|oxl5uLR$1f)8UVhF+(HKc3sBw`PkP}~Z z3w>Hdhw~SfB`^C~GS}KWGR;R`N-Q&q)n=dBP3&c9+|VR$wFrg)okL8=ufa5}M};{w z3>WGu9Q{-VH5Z;3;o8x6l!VQq&EQ_2Ys9ZM-YnxGp)b2Tyz;t6@Sme~AP{Uk`GSMI z9eR8f>fOiPew?IDaQ&W$h*TMMsmqYF4NJn$y*oj_&N^W{H^ z`KRD^A0l%f-UW8YVbDcS>R#LD#X*wYK#UKnvy%9;Nu+yI{#aVFo{5khC-b5C-72?A zXxJE+c0&+OkQNL^S}sDMIZnZ85x2%mKfvz;&enR#`d|ju&_?w>(|YIK^rY?YmXN0=@nu% zQXM_@`Tm-?HGZ1q6Uc98r9roIz=AsIFreV(lrDzzD@uRzy~kjaTVPvMTYPm)X!9_g zu<`@Owsq+53BHD{ag*r>8^^hi%vTQN;Qu}AHQbL{w4KbbWxNJnsqvD1qL((2b4HgC zz0{~M%~IO@R1sbI;TiGwD~(9ssfV`%rbw||d->H~vpHu-=-%pi;2XX=7A5y3{np>} zLh^ID#Tvgx<2im=_4Tm> zO~~)kc$Dpp`rukRvF$Da6ZjQsd{*UXn%t>zJqfSH;CT(DmU%2)GC>iMw^WS-U0bT- zL)Ey=Z61&4{q{32HVMYKpj%2qX=7C=EiGRQ%&m`f^>dU47_+yY(h_%HPE*2d7DfcQ zh0fvPs>AGJ2h|6UybadWpIO8u;o)%QeFYP#I^SOdH-umy(cc;LRU$Pk52*%o6A3nL zD#C+7fSPAE_Vc~iDQYR03%Gql_Ck5JRkk5E>`4!O!i3S}H5MH@2hXx^Dudagz;n4C z4W!BBteyBGY^jBCV&AeOiZ%L2#@;VON_Z|7zDaysHxo$c4cnoMI0&#+5f$!B+e6jn zJ0-|dkis&2nk{}Ps`Xn-*=LO-JFjs6(rmMZKSw#e!P@l|Z}vw5^A{U8;-17e8 z2gOXBjl+~|ACvR=zO0$}X)MY>EC{OzZIY>F1r_`4fUxyBISR1LGB02RVLn#4FZaXRCBneFt*=G5E&WpY_5p@l2bvHFc|7 zemYsUE;eQ_f^SadMw`bl_Qq@8dr5+%`o2Ot850OdLnF`M@fj>0wp6H@itQhRM zp066)yOutk)mQ286H0YWVa&o&eM!Fyb4b6HE!qnPh;rE= zkIdg%(j;iL8a$Ho$?M&utsy}t^@iU>UzfhG0HzQ?+I6OZl%}P#-n3rfIi-`-_A3L8KzIJd>~w^kGR)w&d;dMI!$4O?a~OPSE>j1CHSTkjSO51g zHU9tSmLr3q=rmEeqQQPO z-}zT1QifCH&`9Cs`!XvYV1nhV83<<9p*DZ`)Bp$ zBs;sE$RaJ7{RbhUpvm>EWh!Fu(r$j0VmDWQth6L)utEpmafLD@&7?{T*q^7~tq*^)79KCvuUz zC&>DME>>0!hpy*%@WGYFvvfHch=R6Ux;xUxAdMzATss7&DdBORr9}^uesQ2Tzm5|~ zss{n#%c%vCu>L1YaT9GjXI8GJ2jXv#ehpkcnFn?>Rg-?;v;zOsR~Yfdl&N&2Z$ng% zfEFP%<+%4>2g}{6a?}co3A|}??4-!J?a;jW&Wu@V&5L2TxwtvtMQwU`Lzi@SX#%L7 zuCwZQc5SGvnmqVvL0~#Egh!h0z@d|^$+syiZZ%|mS~WU`7eH&UMM@C6zUd>fQI)Y1=}zckQGbGr_t|5 z?~qYGTcZqrG;H0HF0ETyVCyh^Me)LUG~Th`0#?`Qj}fC;ry%*L5>w16vxMX4-Xl0J znMm?7Lful{);92og#J>Qcw=of`&pi{@-V^mrTpEF1`R`G(wT$-R4ypM+Qkyh*vykf zGc%Pn8+8pF4wtrFpJq&UC#DTE*xsZ&gkRXbG5)lzhZQQ99v5TW-fn0E3O%7LP9Nzv zaDZOSnjWrhlIt+H;~CSvBWQ!?4~e@Z|5mut_B4$6NR*iv&S55vgs&hQAf-1uUp4Kmjw9es!TiPhbPUZ&ZE7n0h-1@*tr;Yv&=sAM)l)p<99Eo+8i4_iFO*B) z6FAfx0pJ*TSA-f9ft3nGobL_OZp#8)WMSJH4l@fK28IwlUfQ6vCr+M=(m~L z_lIXtGNI=@>RJ%tm>}zkT8L8;3biBiLkRL<4z0AQ?hU4f!)AUetE~<8&8HsOiIp1JE7y$#_y+S+V!K`WI z`g!a=i2dt`om-I!F{+_$=Dulq_Z={< zf@RIb0Ux(8SF}1u@ZqHykhyCsLRt^ z;zbN1Txg!;k3ZZvP8KWSI#a$v|6J-zFwlF27j8uby3cf`AcqQ`U>n{dx>lwTrvP#A z>ks>SN2}&}kOfYG)=`)PtJ{fo-MZPaa0{%eArefUXZ(a0d}5KB1V45jzE~vmA@X`af3B74Bn|?Np1C04JF+j&Ppwm4 zaJ>@PoG=k#hK`$Gvq%3V`pVC|6W=H(=7dM1sZIN`4Q;1D>+V5+X9^KdeBuICIj_vTx+;O@8rWKOt6 zmS_kd<-B^YwDc^$Bf$he^!E2FpLqS^?zmuSlFu{V#B)U{^IJWfy`s!x{shjFFq8ao zT>=B(kqqCX%#|lEk5SS8^TK!wmk85y(~(kX`|IPnqR)h+ZX)Hb7I3R5Tii`e871&a z1Gd-tx=*Y}rFr>0=T? z&mWk^?LaTGI_0}3Z-+<0FV_TL^!^vR4Nu3eu~vm=XL_z^u`v(7AaHUxJzhDnu>%A7 z&aZ%QjwQV-bxaobq`?4cdFx*aR&OJUU%ywbv2XJCOGE^F^fJB&RZkLel>7a@Z^S%* zP{tcoupy_|EL?*i@_s=HM)D~62#Sx!-DjH-eEtEZdVHDzM9zN(!x|RL*yzaVvQw!X7a%xRn8k=Ifp8BQ&Wl0A{+@-?auZ=|H(zr zkOotBr5houk&JkNj9Dh`C9Z6*(!~CGp$^}FEI0~-np@7(&d3poKB!A~0pX!k_#b-r zXQa;y>`wM5iZLO*aA~~|pE5JmxHS-2%{e~W5X60Vew=Mbb|sHP%YHbGP|L;}7fk*# znR3c)h+;RI-oUeVMwy;hn+x#hpM}+bP!&A~CHl|s2}DGg`|q3puQn%$z}FL*7M=@j zoh`h({sgo{TiWn+>F4X+;Oxvx9AQIdZ{NQlP>ow6&?e$9dFBn?!*9mM%&JU;?$)Md zAfmYaJ(S|D-2m~tA8G)03g_~c*+jh=s846$ZpML3B})}#4yTc#MlQX#%J!kqx=PvX zx5L2(UhXeoH4roT`*gY$ydTGF2_A8130S|O}j@@dda>jp`}Dy8I5y)RtO zDj(f_9Y4I#Roal6QIYDe}l=Y(4w_ItFeJ*AZP{d${H`CCC0f+vdYCaw6ZCu~rYl+2}llSW4yuxuF{S zi}wk&dm*^g4mz+1hZ($H5zQ6mWlA+Atdi~V-BycCv^P2@xKESN;A1t`cXicZM2m;i8;;8<;4cW6*7x>W{G4SiI#nJT)~V)zWkhzwH#f}=YVD#m(IA|YO8tPBaw zeL;S^deZDEuSg?h?pEAe7ymb~ScSR3S zY=^ge&cdKy*k(*}CUeR56Hgw=h3Nquo1&t#J-bGJ!>5$;JV?<%~{+y9>b2-Zv?>q&1 z0|_|)D*RNJniwO{UKQOFpLZg7=M@|b8V&Q9rLQ*FtLE&)(K9tT?#T+G?mxpZzFDsg zoXiCgh5PTQd_Y`q^~C? z++;)be`s;Yaxqx9SbsQe!QLS`EDVN&D)jznnf44nbYN98;5KkhSiLp*3I`7Vc;z6GN`$U)%# z0$1SGuajv|+aqLqR!GRETMK4dA?TB56E%8{!{N92%Kr>ZSdc~$f80SEcfB`d1gWUk>VuxDLGU4IWESFm3@pN z=(`bbU3kipxPb^m|K-;jeL1|YcJP5Xwcl7;oG^Gw<~9er2(|HkgyrQ$dd0`LEp<+W z=bn<3O1xR5`Mufs=3QqS0s{-nSr-#hw6$A^aRde{@znsPA?*t(0QdWR8g=suR*!j$ zn7rn~QXI_AMvpEm2bGU<{J};lkYNM!ASYa)ysxH&|7iEO4LbBQ6QS+slrIPFUH@M2 z^%+5h+Z_{e7#E2VcRS3l#P;RjfHn3)`^GunL@l)b3t@UX{qZfsppO9^lly_2yKK1h zjRB*&@+0*B__5@^-BTqqSo5(!my4X*S4#I2%8BpmVrL%{9zJ?t?UqL^FBs&$oR2-h z!EauHTKwVcKWpVF@u)EzAKiIXS7d}R7uo&5=ILh}f+udGh6$CRbh{%pG@7a?p z0K?b)edWH?N~l*kxG@y+swqk%<;?bRaagbk!b8l#-HX>t7vdYh{$}R6J!j+PDodA( z40BUCsfgGX5VeTsc%&=umg#_s*!MALm5HdZMY!#hoMMgWuUZWDA>8tc6rAr_-*`nv zy0}6vQ%pF9BWibzPcGp7*E`MJKISnhUzB4Gf_ash{c{2VR-)u^o9Ajd@zj9FQkK|~ zwAd5Zsv5!Y>$k@Sdl?ztxrqCiuI;jJ$JCDUzrA#8LEzLomCq{!>I8-~@rNGOV`Rsw z(?QYEoUG^dzxUg=s(hHjlxvB?pC*Jf-|;_(*up57(r=8&b)lze?{H1C8x?{XWoxT#A9af`J~74>;}paUrTD z@C{j-S9ly}VMJ$VAugoEX8#bAcMazwImu8rj8G+=e9~&gX2Ydu;Iy29Lu#~5k)#&ycar2!EgsC1kW?=iu@tgF5;mHG zxYsG6j-f1foT`8RFwE5X_fV9XQ1xVN=yHIb!qaF~Ic6&48t6fbYy1bGY>6pUI^0Bs z_(KIE$F1u?MCU)#$)Iqg{NI8m|Mx@cN~!}pof&y61G%2}lQSad0kxL@)5rK0IFIqn zr+;*vgm=d)GLTgMJIDH;=a$rT_JF10+*@y^_P-kC%YBj)44gB3?0h-oKcu1l0so<` zUI(-m^e}mDS7O0#Zg=LafCf~-ICcflhAWZ62rV^NRFqUTm!v>Q>v0o|gV}g<$o}GN zw>)VtXW^_^UwYEuZU#MSC!0GvmeGyX{e^hoY3vwX*wmL|8564r*AybZ_TrdkzolKYESmJ6nDXu*}wfx*R$2R2+WE zHr!18EZpwO{cB37oH-BJ>#IcG=)5x3d^poRS@0A@)L}Nocg&ayfz5aQg41r;_nu&` zvoE}npC+C}LCD$ul2gs0yJC%3lJV+ewskgg%?Mc7jYutfDP)S+KU)%Ze2!JHAbiVd-UUZ^C>adj25Rz{Yzs%v zpIOQxNK}D`AGF4n7E+8cuQaB=Q|Tybk?dWf$M<1)?qwe^Re+rbQ@ZUPwin|SgEm~Z z+vieLpN&_%4eNGaX6BiYs4GPgg?nh~V6{J2q6NE|H0(;I!zlfL89L1wH)!56dX(L^ zb(H&3((hma0lNOmN;myUpQn;nlY>L4eIoa554Z)9g@s>6HDZVVm0(!j{3P-6A@_{1s8jUUFTcO~R!bC@XlkS1Q>jl=uOrF>s@VEKF4o17 zSev+zmD5ps1Mp}p(=}B#^p$Ams|g$!0NL8@`L3|A^C1E1MnVB7T4Niie$f zV99dVz$4n;h*oPacQY<~#dX}W4`X*7#W4n4QOVtP z0QJZVr#%Sn_6e#ta31wS$l@l>H3~M>b?10FG4X*8ke`xTGrpWY5KZx{hky0%;hDjy^-IGH$?m_~3@C`$I2 z92ZIN+Og@}b)r2!|waxWo`Si}R4V%ay>fLifiD1aY2WJ_f+v92SbG-rg{}QAthe^%L~#?!G2a}`@1SFZ!y1c zh&Yu*WiU7^8g-Q837|VNjmQ#EqZb+f8oW2X<}wKFFSVALU*Z6XTh>yFO6fWX*DI%)C&_a~7u92%% zCzUwhsC8we*@I88PWoEF@HQ+-yhhs+Jrs}o^Z;(vJ!AO=3gxFhZ(x7&Z~y2sa}4QVkAs`IefTLZW%i-Xi-y(I1-S#7Bm{8Z1pl`0bb8 z_(xPhPaO)Xp<7tcMQx}NZywf-S5iGoVgq#-&s&{Z?HXwQ^mI(+Ya(~yMwR&zc=+@b z58D>$f-tJPqqXJx=JP;8w2xq0lUO@?$^X7s^0<>hawZ`vf>p=M!P4dxruacTB75@p zf_Y}&3}298;_(=SG_^_N?6z6wa}RpDH^tbUnfr*d@{^RcuCMHuZ#zO|*9lt#dMxY; z2@EsdIRddiCZMinga$wTyE4X5DaJ(0xIBelf;;J>()QCO$Yd9|JogES^w4D9Obhgn%mUm5WMk#w?f-yaO8SA z(o)d{{j4h9@^oGo_Sv@_NvfCK7`zD%*ZZ~}-J|#?lMkF0pn~o}d1e_+ywE zXxrvL!B+EhQkeaP@D}1(7rK?kOe6&Wa(o!D0Zo_3xP^A{oaZQf=(c zxt}wuW_s}QdrcYi8%j~~g}{o^Z8XLV&Ia2cnn34T^Cx&MmKg80tu zgL%kxFe8AaUCCJ6;X>wh7`#I3z++J#Px#dJ9jL4!9~J2|+Ko~;(o>B~$;GTt*xl65 zXLq~M%{zmav!;KEzN~!VqC^knvQ!V_F(}s#!o55?;=1rEn{gf-p7ts^8V3y zdrpAX{<@RRqR6kq+$%>jp%vm zD}eO5A7dHNnI>B6stfM!uKZcQnI&m!o=|dVjtAt-39I6Os{$4GpTb9aR|)SAx`_vP z?r@tiW%*Nn%-txFO~HW~8FM*tP8JKR5-+b-AEaqiSIh$r@4cE`lXC7c+33-&I}+FU z^0Ir@lN}Pge`k8yq@81tX!~i>hi)Er7k|ZJgI^5}34YB~Cw%hC5jSSudWHW=eV=W; zz0V$B)TQ~0p}{4QNL$LQ-7<&4&VQ^ zwL(!e18|Vd1ueK@tKc^M)R6Pi_22ebUA|;;@;b~^LT_awQ{Y?fU{{;lJp8I{O(*9X zCHZU8tE7IOu8tPp)PCsH%rC2CN23w)J#YCUW?JP>fE}4fq$~1{iRW)-poD~PTDhwW zfoW$zvK4k2UhF`WUc<2&rR}lweaFNTF=3$_VVjpEZJ86avhUjlpR_-0!FpYs8?s=8i{CWyb+XsL5XXVS20_Bc0Y;F?SPsbr7OK7SHFiQtw!Wt*J) zp0}y_pITUpM+}YJ!?7G125PoCF{QBdV(Z^_u3Tt-?SB#4dG80a&!&$Pq+BQ_}{}voml^NS*Xt(oWAbWKYPUU^g|CGP#o9lvc_uz zNJ^T2Qz%D7(UbqMSW-NU%TB+S)* zNbOBvmWxfK0xXKxkA-I)5jDjf=(*5Gg=I<)4-!78W2F+yN|~90$`Os!tmo0BFhb4v z3;>;~d1+#Pg`>j;<2Zv$lIissw)&+7sno=9@jF#>sMR)&_W26_Ik4*)V1?;QIp}T% zEFo~90km)7^IaZ1As!AG6J}VTwz}hZ2+kdKK~;QuiNIF+EBml|eA>+&Cuzez52Etn zQra5XRN1{I{z9y~bvET6R-+$mJ(1$MO^g#SuuT94$^tBnH&m%j#6yZTUMg#MB9~@f z?yHnje~T>1LD~5>OG}FNsJbLNDmlGAliD`6m~}M6jY8-{>47&qH;|ErPhuSCNZ)2e zXT)5@^b=^e4CMN##c`jqsaO13v>R=tsNIBul(G9Kelv3-QcF6as=K+iDOj-JQL#C0 zD^L2JXOZ`t6uIOx&ww9pOl*dS8p@tt7&_!!>fV$We=jeuV;Z*hjJc^EMY}D^)nMd; z{Q9YRYr|`)PNLq$Wm{HI-8KSwZn3&`eCtL1T~FM8arm%>gBV(wknKXQ3_eKE+Jani+xyB`pSkDK1K#{f!ABHcHHKavNyvTkK*abNRdW*R zy6)GF`VJ=dpe^mWE^Cb!EJU0rhF~MB&3mfgD8>%+o|QTNFD}FVE6CA_f)te|(8O7j zyB$AxQfG4A0@ViJ3Vc3btX-}yG&1c*TWgjOCz(*Sp)93hhr))9WuR+ zd{2*cUyd_u^nUhOBow2d5_%&-!pyPfJcDKSYZvT(S+>(HFi2s7h@U%1#VTgDY%dFn zCUW86AdrjboYzxxq8+E|Y8LoJXeld1YFOrJ_zRU9z_rc=!dh8x}#nBje627`ob$S2_a;<(6>BJyoXeO-21519t1PS(y)gNe|@oQS;u9a#x{Cu z+T-j6_9`)IYV$#9Vx-}KK{GsJMFP&YT`VUuFntDQAh0aoeou?)W=O#^{Y~ZYw4bNj zFHu;!T0h9C3kKD2q;ov97Z;HTH<*vCN;A{yl`{FxuXJ&r?ger5WNhz?bZM8euGN_w z_u{RL8+-L&?jyq+t}O@Uj}6o29=fk%^tlDKe1{a(Y@nR}_OHa}Jw%faGwGkr^wn2Z zRX(O_1iFosSKoR0Og-oy9F?c|F7J#*{LQ>JyoEKR<^fBkMP;ehDxN$Nrxy?LxKDk~ zBYY_BrX6+TZXC(weEa0hTCqHze#1^xLpIJZ*(8pWbg@!k>-S1#A|cbBaE!wK*VxB| zP^&s&`0H}C!qE2!t2IC`t>46|NYQ(m{*k_itxq_91fd+O`89q9g; zD7~6|j>V|h&eJLEw%UtX`>WeEPp&3B*w`*Eqj!pR=c5SEVH6l9A5yu&p(6#fv5x8c ze9Xf9FuX9mgH@+k@F>3lUeJ#55xbC@jtJ-8xZZf4g#A)Sk%Yts3^Q3iAw=(cnm%Zk zkg!Vp8Db~Oa?@oY=+Qx=$b_rp9dLM4>yCJ8_!g&LYAja$uyG{vcB#1EaFl?_Q{Dfk zz4s1lYJImwZHTCVAc#_JsC4NaY`~HZ(joLBHS`F9pcGM1I)sjbbO^l@kluR@B}i|9 zP(uye3HV!k{mxnY+(OkA{-c~d+Zfv|Xhgw39k(|K;kpu^l;nH)5~E{bl%3KHe?`{K>)p#CwgN=7{??*U zQuR7Em6az@Uxpt%b|FCs88YhMb9sdmt8TQsZ2}gK(77fVtpAF$WsrDab-yCGo!In| z@52W>wiW7I-xBW1x1v`I5iXYbkX_w$;Mfod#Q)+j)1F8m3GIJ-cjv1nw-$@^*_0^d zIx|qh`w&;j<;!hCP_vM)X9s%Z7mp45Fv;I2$UGi7J{7#zXZgGXVlt?vuCD%D#g=4f zLP_d^W_F$!eY6QsT2e#oI~*sZR+C9g=0U->2kw4msM_KW8*6f0D)BWdL1 z(7WMdCLm?||CZEl(V}cNo>gT&W+^B2I8k6E3eXzCZE*3L|B`3_vs5YdNu}Tz^ZuiT zjDtn#iXF)g&;3K}u+D!=tp0;^W;y>R1B;Mx@s`~%$7z}RPXn6%WmK1OQ%loHN+TR5Tg0%O5?+Q?9E|_A0K7uDSH&4nbN9K6y zc){%_0&PmR#x~Uh75bXGI#+c)s-PA{0rGspTvLCQQ1wlbJKb@7E*W4+dxCQA;m`@e3^zYS(V|QJUqz@H&((9-;TaAJT5hl-VNLl+(!cY(_Axe0Z%>%xB&n3P|1!{HvdC)5>u5E0P_YuY67?$rG-e7985wt-kiGF61At@%*+Kvc+`odTP$g{|suIQ>T^&96DU|KbV)HJtih z?D<)SZvtq>cJjByM9r6-;1b7(Ydeo+W$vS=^+PE6aSP}OpHB*^BIv_`lA9K8_0F7s zi>Hi)P3elbjN?)5A(v&0i?v9WDE-(M; zfa(1zEeZ^eStpCl+kjhU)5unc-fS}$STI5zqQG^p2yy!kzk}f(6vzQpLF(YY+Po@P z@J7N9hrm~ObEY=|Edk}E+EAKIC};^!vsFa{;_6;^uhUkk@AO+wu+Sk{aBhR$145rU~-K48&GVH;?W^U z?e4n;E4PG^1^DF@*TJ-Dp3H=xy%wEg%h|cCNzcxGml@cZ)#O9hL&jck{g=*m9d&?b zYPJyD0(d4;Ri8E5>$7+RsUbOBagv4j70DCV42Xr}%Q(xG>vQmtoM@VbeZEq=L)I#7 zYuXzBRpKjpyhm0UcDW?8txg`#!n&H6{5;?bk@t;4fljm)K4@09AtiY<~mjnozvi9Y5Z7m}ZSKscO! z9aTX9m|ty(AbwNn;nt<70cXXCe45-_^}yW?v4> zg1q<6^b%-^94rWhe;g5mPOM55)-K$+#XkLWDp$KPaC_2cqY6$UmNJp0Snjmixn5?2Lz)V4u`oM+wJ$ z#|6fG#^`@Js_9qqJ@rPUUx2~$-zM5l9LTSg6xB9)WzeVyLi@UHU!5QuupWn~Q%#S< zqGA9uC~7>{D1WCTska7ozm$01=Yh<1G1&{YH`JP17YWBg?W#{CYWx>H>(orKwszmU zi;GT4u`~9sE%@>af*B4iPdazY4LCotAJFElUo7rOoFv7~8|%oD-2O~8&9;|bdtA7Z zmjr%SJCKkDM^+;&!x`rA6{MM@>+?mQS;p|r)&;)7$gbyr^<2BS6TMiNQz_%{}d4k}MTc32H%qwDRE;NXebM4VQwVJR+`uX8ob&7eZL+aYH1 zA?%G080Z;@FY3l4*_;JPjoiKu0on0_9(VpNux~;Bo#7)}HR0-ek&g5`b=H;jHd?m{ ztfYpE-+p6+CL{pOI!a{Q&>zl!T%qu70mxDUoZVPd<$%hmgPdDR`YyjhvVYKSazC;=r;PAOt-<9@MY`2b8?nJj- z^1={*J0m5zd#S3ve|k&+B0%~VpSR2}IkrrTLQK3a*b$(T_1(1RV+T50Xf|Mw#t%&P z4nOidBt$_Y^CNAYMEAM5Ycgd+_l1{|1m#?{PAs-S$VYre318>yY%wi*qA{kFr7oOw z+E(H9m!w3`P$(1obAwNQa57>b8qtjDvF>FBmi~*imIlIGiHU#e?zlB#z}}2r2ZBPb zZ=Wf?kczoOB>^jF6RH8=4UsRmH|N%1!HzBO*o?6hO8D^Z+=JL@Ki-!^$>%Pf?S+5T zT*S+`OCeO&%m6M~zatfm6g9fS;M@3u4~H6E$-JGMq@TYH;(PWhD8vFKeAj03MoH}* zGZFpJ-#1W-33g#(@y>k3ccV6E(X;0Yyw*EWSuP;SUeNoxLh^amF0{>h^WkEVn?kQC z_ynZD77+385i&`Jv-Ex+nNOv6kI&($ssj;vi+b+>R~BOAdfooOwD8NK#W`}d z4X79Ygi;Dn-U3~emVhDh{N+=O0z1VhJ*TzTt)A@2Vdg8SRR4%qD8I%Q6!jh^PFz)l zs}?Z6Wkv3V7a;Eux3EKpa$X*zIvy#Dyr>wuTyd!gLLu=NOUfd7q)uLb?iuBBia%nJ zzTt|H5l*tN9GnCqS(ylt6Z`?NDbGi?{5pQADFY4ekB`#!8l7xyhYoz6J97b?%jebW ze%PV+arZIG=X`BW8{ato3;K}JD?4SC2wi&y5p(OS9MBM_90fH6JQ*Z^QLm3W_8=|}WUu8JZu90+t3tt~NXl>SQO6ANGW(mAJ4v{HR2R->~6+-3JKr1ea z!-i#sWknT*+tIYlC3uNG`qIMX*4}646!K}z zC#L#VzsWFZ4MgU0;dtgF3lSIV{qO03r@nmcteP0Rv^@Tld~3jsDyi0n@m-Ip+K?1% z28x#~&mQkunZn?wzNX#0*7rOU#vU2lfkjA3HKK$q&nepj{w}_Xly=;{QEQ{vmDAe0 zUz!$;cno>?f%I)_M?Ki~?4kGe^{y(2(utcMlHjDk_;RL`P_EzteN3yw`XiJRz>8=B zf;Yv3U&@X>03!#KrS~YnPz&kR#13|GWCgCVr3hBP@{y&W*?QHiz@Z9ud-Z6uF?bxl z8YpY#H|=I8VCIrMRs~wWCGDW)RL6S%tTL-AE>~$sUMe(PXXhZreXoMkJ3-lzh>Dn0 z`K&7VWrKls!Yurh=nOhxZXHmr5da?hz)U*<>raEJW78>>)l2-xL)q+4>5JcJ-ff261`g=%zQ*M`bn%xEnkq;F=mXoQK0(RSXkwR(M|v8_NXO68kdQWHsVB50so)JKp17hg@}^}DpMH)On`d8H;(Y8(T+%^>d%Tzk?`fTFaq<*tEei4U>>ERF+5vleRy_>fJak{75L4Eb5#G{)f ziGZ6%jF*@x?F0lUHV!Rze?_W!vO9e)iA9c!SnMj4V66vh0(Ar7ZC`7ZZ?SR72Qln> zU8jwIs9Qxl#9w#tS?xN?07p-W%qTXPwzPNqSq}KnAN0$fxjW?ezV9XP)E@1EIEvH{tfN#s3fDtG@+ zbIW-L-*2Y@NVErPooW}$iooYjD?XfNUb^|)MswBZl*=FnE51;3Wv6RZN@gjbahAnZ z*#T-X8o0Fp2d!rBueyil2o0RFVr`IjBgJLYVqqLeEpQ)(j-8!iq!EnN=f#j<2okDjFV4O?mELmo}qKkw;(j+0NXknU_pd%ypQq0=1B z*iMTe3+kiQNzInQXF*@lN<|@KzGJeeGlSlkd{4jH2$pH=MIe4+KtJu$B}|1`+wx0t zBjVxxt(Zx}lTnV-E+!g?*rcM4vPO-uj`;n120|K_b0Zz(fA(H`?vO5By!|$1Jd`=% z0Fzy8bst$SV&{Z>%gw3#R1&}C$~5I_vz1dFWIY_^&A7*o$ACo33~-Mw5u0M0Yt^zp zMc0pq4TVK?)GQZfD|*esKd$tN0|N{<)MS+u;!N35RAPT3(PD;U|5e(5zkn{n2c>

$Ozzr*65f^^OA}JWMKIKRctf`$ z@07ALKCC%iMJKX*+374-o;i=SdUM)SE_4Lie^_|nmm$jq<)_Sau^10{2RUYBf3p2x z-POf)pm?q>d7FEfZdUY!Pfn ztEz$dUMi64zy~SUcFM1qW_r(~??qMU9aag5`%m1h&i(RWAMm@QaxOR`bYdk^i+9R&?OsO)!xy333y`Qv85cLtZ&i$YE7*g zSxY)Z%T1-XQrFgpneA6ON|=44RVYXIeZ?GIu^mG=6#JX4+4M= zhx2~>GNOKKr5lS3t?h%bSyeOaZoPtNN~Wojctz{06+~Gk6zh1hUr$nI$w~dS0{?`fzgcnhtdJ;ocCFdUaJI#(eo=x28W$E5DHJPTp+hcqcRByVT(7ncH7S zNp$Bqoc%dWP~;md^uAk3V#|Cyx(^ztsi=1xFxQ=YiNO>Ltm@zXjNENO*^{&Ya;ZS| zS8m@GF#-0XW-DWN)<&|XWbZHEWQfFo|Lcnq_Czt;{@oBSF_ee>s>9ILSWyaKcsxl1 zWB_VIlfmDv-j3u30(U>VESe;7`ZF=QYAaBRDc~n-s%29NE>_$fzT_ncef#r2MTfmMg!-SIgd$CLg|D-t|aclszts2ZFQVr(VOL;VR# zRoY1O7$Rjcs(MG5@X{5yE9;*(`IWwYp~!oqcdC-Pw~6PL&{ll>;t4zp>?^lc$yR^4 zaz3L!x4_PLNe~JIe0CSc{CB`xhzhm&+h~l0bO>j6CK#|K+yA0?rbSxBES7SiauDhF=xb6Mhc~htgg)hTn$#?wQi-l|; zrcbL3r&FA#y=qV5=W1;LM$|0#sDG$TKfof+V$?wY;O5j79UyV&&hE<;5UxT61AUc2;|} z*BUanm)wi`E$v})LIMa&9<+mVN#fQXT^?|{BfR0Cef#88d39rnq=#|P_XKD zX7<~idaSs`n}%{LE`|WpX)k?OyO+S%GyTB9!fG|}NTrL?Zn(0q+3nsIL^N z>&0|k1?OdT|Lc%vBc1AcQaJ@BZx6RzT}nvMANqZnp!{8gLV@v1Tvele}?Ad>H7)JGU;jSh4WoG&yRxYZijbcK*oGY4s>p9;fRW8T9&mPjb!m zalM8RlQudW=1l_fB`1EtF1&sA^LN8R2{(F!Tpe4PbhgY3WpbKTCWB5n&*D{KxPrW4 zU%$}Yky|@WyF;^EXsfuAr_h^*1O*UdgUmsx)$zphJ?17-f84QCcb!hjapwVmsMwH@9~>Rq)&0BhO0v zje=1m{?XR`z0BHwI&&XIV*^5wsw)o-W|lY{HfAcJ;}ZkN$yHR~v5PE1jN$HS?r>$}P3vl_u6#qzmN@j@T%$W5&8t1*@Q^|6yoUDxm&07cdkt}nY;E$0 zU!7?|$(YVUq4oU9#PU2(CuZp-R6+1eNbZvQSDgsK2$KetJhANwdX5HjDIAW9lyEn7 zLN(N|jF<}U-{6?U4E4Pa_bX%>W$*z-x&}|eDW<~v=i*S%;G8W7FF(_~5T!h8qh~t% z>M`xk8mpnm<*&@QFVfPU<`U=3dnRJ+=~U75#$bi0{X~fd&LVSBmqwO12?@zfeZPp# z&-aQ%J88Dp$E||JJf^CTR*v|e7)*~I??Z|%zimZr?8doiL}eT*$*1O_szleD<6f8Q zDDpT3AseV4#n%E)c=FQ|Pb7|(=w+2fWh zdPHt<+)jeIBKtMNwd$7jTKRze2yuhMa0pW)Q}By!{nI0`bzzU1BuM_CuXY}7&i(HF zm#fwqaV==XD<|r2EN>uWQDhAFY#QgiW>X!++pul3-hD0QUKqN-tb(01(q-A?+pKCw zXzMQ1_oZ7oe85r1+K%QLeh6(2k9EVJKLbP*SX$nW;)2ZhSnU3o@I-R-w=o@RXVCKJ zyaEH)jDNu!loJ5nD7swQ^epxAC#J&T_KH9D*sPX6@irnJvO>7qdJSWdZ@|0S46M*L z(kby;QP=kCI&kukvx$_eK+|mBJ8EUIgH+Cy?$4>F2g}_)np8;k8)Jel*Ini*dGiTi z7Y9Qso8RUm#WFk5c`v7=(h49BuEy#(8=*=7(w#&)u=d$U;-aduOL!#o?O85g=bMOr zn4V-W?){@=iK)B;ZMWHc+-JGM-4cXM3eCiK`>rf8{wgml7|mn>ngYFBrL#bcHp6g> zMvy6Fs4=RDsB8qZ0%(YHtWhxTw`Sy>aHk&+4p7?Rb8D1=l?1lc7`7Ztg3wrMQ`S!> zrh7y{as!??KE$n5>>Fnvz|LQI1ntCd*{dO{!`y$ih&xrwgV*>bsT*dx>Ncs z_gTpN&YH`KU_#MxoV6-@d(~l!c~{Ysx5?~#3m-+cbOGt)h?vkc9obsz_9V-`sgNn+VG z?&XtxKg4LMP+3i)Os?Lq*?#xN|CpHz1s-~q{BTbb8y0#@_#Q~af0<&#{}q(b%g8gq z)TifiZ6f>aMp^34maZ7RfXMPh5AFZ|!Nq@e0&f+HB)T`#-yD_g?oUfbD|OPl7t_QC zyxO@MA8`3kR2a>zeQ-dRhM<5jWVlvQUJbyPIV7S9xa$;kj}dqUW7x;0##ihDQHB1GK2fqFjlr9qtNSlaN)X@@jt0U)|2| zbvLlNWf3>46%$Ix@;(+R^|~}xS+5VY*0M?EMDCo~l8$1&=UX9r947|Sgs3@+fxQ$C zrXSIfo&kjEu~CSp{3}v{@-u)i9E_aDU8=)S!PHO{Rr>L15Ze2*U(TIltbYCKxr(og z)C4ZIo~+c7y4Aqkl5b3V&aH?7$#nd-usZ2ZSEd67GWepkVOly#>|EFbTP8uEiQGGd@KVb&vy5-BoyQqwLbYf)shNft2i$b;x zk&6Gt>elN~BCy2gxcGxg`*i9B@gT7HqSE`5nnkft-2ggx#EA4Xg6=vd+M7aDoNq=) z%XG0Plu*%{y%XD6wZG0zw<@3xv>GbLjo;)KRZH)xX|ZM1ANbzN^+X} zs=bnP^AafGd>2<7B&6NCs@esu>%$hbseg9^0FB(tf(mQdRS^#%T>3V$ESnKXseiFMscDhOJe4e7<{6y56ToAJ%iU)Ts6!aq zofQ;cY^LQZ#1hGvs=bM={=4%qdTu%k~o1vN0kQ9NW_!^F+z#V%irPFLfG(ua`*znp_bJQvj#s6rZVg~aaILC}w6RabgtYvUPkBm|Phja&&7f>uNi;R7`P zXjoY$W+XkZg9J`U(4_c#YtOU-7~xoLFpCM8>DKur-Ml8_&84nur?sb11EPcVoz2*8L!od5AGH z$|I#rwJiFu8n~X*wunR-gMm_S{nfKluPpjYLQGi6#e%*@9;E^=*LH1=YGWSJio+!7 zIj$(#ZFA<$0p+`9*!|b`Rr*?lvTdH|aqZfCBNv?f4-BZf>eCT3A=OD;u(xso zDlSC#!JJX+M|Z}a z6vG{p{kxD1)uoQAT;NiwnT@+)8?)=$Ly&d0@9)Tv?wUCMhTw5Sx?ohrw@&4PlDmYa z?mrR2TmTlk{QG`H=*?P@T+&VLxJjP=t~Hy?>Ftfc2N{=I*)|nN$Ef-f_B}4h5l3Zp z$Tcu4*dw~|T%54y2zfDND!;{abtn>BnqOIGCVus_Zb>2&id6jwwEx%r?tIG@A3k-l z=Coq*943tdq2Q?ALv;m6buwj*EpVd6H$1(SVKywy&q=`k zX)xapy5#)t-7RP)C-s&nRLqSVXU7+PJKFd0W96Z|WWQ1bV!t@MHN*zT?j!wBTN6Fj z1tW%_h)T?f*Oz>bb4EyZ2s7W)b%l^=QA(JC&!1FiM-4P1kUr@%uuz@v&dS|&r>kEs zXwOX3IPEHL^9cvYddgud!;ZOG1f28NQ(ON;C#^c+UG6wFZNA{=lNIHXo zYcZfMWSs>ELlScWN6S&9Tg~%aDjC9HWZy>Z#EuR=^yz)AgShBL5Hi{r=lpxUPuP%{ zw-1khNZ4>YecgGQ`zIw*Z%oJ9L;-2JF@RcMG{*8=Tux_Q{W(~WkVEFRx3=}uY4I*p zWM%#m9np3t}SoCv&rM3zQ(Jt^@Ax957JfL*ZG){A1k|$ zyK;KNG)9$2hx53J;GiSY%N4P5n81{d4|_)_ZQZ>?W`sfXP5#S6$=(lb3wAno#H-y8 z5Mr8^e<33R^80FwA)srS1FHC~r0(=}UWb|6~HCO`Ojla+ry>e@1hR!xbo47vluxF|SSlcg=*ZcZ2ilv2*BZ^{)ro)6sLvCIk zPDZjBS%0i-qC25Y_SYME_UrOX-wVlGRu)MQhEELLB_tS5_I?G7lf&c4>3_l?HnEva3tDjn>@cALor!FDJQnG6_19td+zT; zc>XWoCH}La!@rl788rsKxFX1FZ)!PlU+Pj*Fd%-qcaSHCL+D+&0RWE%`J^?1ncgte z(op(zNR7aSvarO#|5G2E7ako6ImI@?2 z>5me=3UF42sY<&S?9-o{Ch-ORm%YR_pat2i_>uEwUDrQAdS=&{%r$L^*Li(U+|HNv z-z`w0Y1XIxpd+nx@nm@yl&|UmQPDa8o~X*y8;AyAeWu>{=`ZM>r;fwiag&cZz{_wi zM1tu4ua^yGUF>4JyUPhv2PGWhFvnX8&f@BXL-jYS53<}d=ca^;zAtFISY|K2@h(X* zig({ZmmC&=Ck~)R@aSl2v5hpwvX@hf;>g2?{1}rx)TH>4qlQ3(lV^2~ctgo0y=Uya z%~t)Fxo%6{g&V$&p6VSNeH(pwSc! zRwRABz@GeM27})>Rhrd)H!RO)HBiosB66TRhccJ8LGn_OZMJ5y_Skn1tSi%Ys|GZE zji^^ifVCywld$|ARF3y(tLT#xRtMgM4Ei(!nP|hraXAa=vKfwG#$Rto-f}0MRR;9V z+=H!(;vCya>=X|aSr$Gp zbp~;aUJKwBNq|C}uCrT9y9AFxNG#gcMQ7pGBPw~a{ESC8MtEr^WKyX3`#DR)gq%2` zQotg++P7T`#xFg&a<5drFIpQZk^Xh9t7>J{zis$V!u1Lk@rq9d!q?@t$3}_uSeF=~ zC3^NZeO(5K-;zWy>SWRMk8fUmP^>1CB_5LA?|`*sa(W(zoMx|EQ7D1Mo!5*1pkon) zBFX$UK&#b%B+nDC7bGe(nHs>}39?~Hh2afaPVVG#pC#-1^LAn!QJMs70OitY3Uj8C zhwrq`XM97?8fd#l*@Bp_sqJgR&NpFA4n}tJ+d&-LtL?}p2(6m?A}Ow~D=1F<%{pCd z%tN;rIfR*!=IX$aircsX)}~LSvdYp)B|2<0iyAA|ZvbH@d7uMVRv|Bd^aJ{hR0|n; z`)IFap7i||>zEf4{^6QMnrQk25?ejAcEmIQXjOzFPb2s`F+p zA$OA8eb$P}P5DTYmAA{T^!;UEjSd!kfCOl#AhNG09$+QQEV(-4GG3 z@B~FeeCd{D^_x~Sv_%i6XJ2!zW*D4Uv2>8FEm@f(ZpC_N#!*eul`LGEg06DIeLje^ zxb|(|X!|uG2EV9A79;~WJ`9o#3$(OMj+c28g&rNT8R5_`pRxM{U8nr&Hl|FJggh}v@E+tJb#lqMc}(7I4PsY;rsW0(#QGp&}_%U;}|>KTQb zc)X!4%1>G$iqlOr} z21ygrZAOG*yYfo)G?xuu-;&m7%i4NM1I^-US!1R`#?_UTp#&esKX&c~x&|GIA+%g^ z%Y|2Ee{WqVQu|otX0TR5IDrY6XxG;GX}~jf2}JJ0bTZSL5>IiV__VK6h6h59=xpwSS8iGtcP6@=cx$Q(R zj>is|iPL$%KMPBILCL3Q+vIDLXJLr+PA`|tI8}3ne-@P=nTn+S@MFVU&9rz;^)5!! zhOVZJCvYzJsL{d+j|tVl9>N>k@>tCIditjT6Wv}em+D?pth`adY`(D>d4RP4hri;T z#AiTfH}1qmcC&h~2nAZpaC z%=ZRR^h?KIp*K#?cpJ8|DsT!%Di^5hhV|Hq22A%gu|bw>YR|y%=4kYb-x{zHmD$ZT ze=YmAM;40y)p(l|!X}L`WmY~}I(u>(o=+?snyXSJBMw!U0PtJlNvCIEJ}lDhUtm-Y z&Jkmh@8ahA{m;`K>b^VDbfe-7w?Jb2p)-5oVd{Nd_?$e!j+DOVNROP*t`*2oiD9TN zl@;DkSV)Jvuv)XS)%sHi5+B~Tvwm3j!PH2sRc~#1pZ~6qLagGY8Q{_7tig6dZZ{IXhS%cjU;Y%1sCCmLZa#f}eAl2-Wq~i)nw$d%5>HE~1l3N#qtD zH}SIUl*U2joY6R0qVg3KHoy+I=Y&)U)fpUhfk3itSIG6advYN!1L6E5@ z2BYzM1Ad&?ik>o>OQcuJ+kg3awicp_i^qSVxz?NvwED``ia-t=r>1U;6ztGnuwPVT zzNy9dTUthwbH?d#$sfpa8Dj-dOIc`?sSxjExr&_HI-_d7g!#3)rI4~w&gxyvw9XT3 z=)*RITt?aVtE6+U&5csyUTcJJI2wyXGo2)M{iM)msErDYUxWpL?^i;tKHPWoN2hI-Y^k#Yu93=5_nDcF*RRV z+c963tLw2Y#Ao%^_771uYQx!xZFKtQEiZ-hcmJB{mINgz02Wa|c!oM=*|epstm6cH z=$~ae69;5x&A@_!O)lVK#>cGs0Hqq$WBSSIsVR2tnp&cpFLKTxS@#=&pC_U+;DGcjHkNE;4n8zTjKc5nYD_TzS_J7f@?OSvqV^QFVHV zq!FK=Qu3)xDLo|ZA*yO1;&eXazC1E$lTveh))o8IWl^; z(?du%R?$ZpJp|nyEj##l*}L%ziA<%-`on6jL&ZMc(d9oj=*-wd*k_>+JZvZ4<2*N_ z#}&Re(+Pw4ww%9hxlsGm<~v8{M$13|^}%le>+{GMPUp@b*rOdnxS++;yb_aI&W=z3 zNj+U)cWTHK|3>GQT#zYj%+d{#zG9DqxjSelp!ys&psVzNvdW@4XwJ^^Q>jk3oy|+N z?9$>a5>(THwt!N2FOn&yOE2!wB74fayWF`bqSE64YZ$M*Xs(qG99ST)KV`R}^G# zR|4k6s0siWYi8z58YWa zErHxAdL{Ztlw_*Q6+Pg^zD+h(B$l43aB%H7g#8j;BBM!QUSWPHY2$UL0$6uOo2SiF zG#_$kbX>Lr8g;Q%b6AuI1UXAz)S#=|`9wv(a(dTKMH2)DJoCc9@~`kmcK#C$l%1ix zt;WmIVjb<(jWOAYaPT$ap<%f6&m2(u=fE2rowJfgMGyh`fn%->7~m>&E>TGE(jArVm8}o6FnoU z|Da43>O#&UCAGcj2IGpJ);OiJZY`RXp;k(~+&_06bi#z^zD;YxcRh15YG9q_$yM{| z_J0yV_Nqx&-A{lOd~fm?!BoCErp-(56i9hef;_Efn{)=kyGA+o(wx}3!%EarJJ@FN z(M(h-Lu_DO9g$8Zt=VDV1*q1cfeH9xRE5Yr0O1-~tD9j{sn{3PUTYU>iow=13GFmW zlXLcwq?=-Ol+$)lcePN%qPXz7c2P9>)ff)$lihJYfSa+;G$Z0!bn zU^-2-egoJ1Zub3k0^iPPN>fj+(|W95%~)*Cu8qSZ}ZaLjZnYiPk^FfEgr|t^zr|g|JWa|ABVX-GP{kG%!2FPivo)7?@tTr zhEHQR>C8#eAIEx*Xc0T~{CZa=T;^{Py0vxA(LAf!>;Cgl^TvCB)hU=7{JK5%F%=i&+`lE!S3-WS$q$H=b*`-Z~D%MYi zkJ7K2$oC71i@@x%O%I;yZ%XOL1A|h>voj5&+RF~Rfr!WLVI|V3$rlvC&jdD> zGVXdNA1X&Zrc~EUg$6!Xe$3H^KGM5JMIam>o`9&}C~mnFay1(qLz+0=e#dZ6WN&Kr zejaZA0>=(jJwqIPDO0fA61CP;9$T@z`%~vuKA!L3CU&^9uE0-*%HTx%^gSOUY9h*d zMo6`H>;*7`N%KomF;5$r-ad^o+xP)8#XdC?8${doe;o=D*yZdIJ+?)ACwUbai?#}|*Gsr?{EGvM}p_WSm2@34!bY~;)8 zHqU2pm0{fO*P{D%OIFq34?z^XWzHh;Mk}!q*@I>6X3IJCLwDh>4@NkfLC=j>9`G$! zA?0l5nMFj=-hJ2Pg{lekv15Zs;&MHkTiR+N^ARW8-QKE~pvvVw>=-aXPZ_Fz23{?B05cA(m~Ad=kO&RI8NHRh)gH3G)E5Uft#hj7)O0KrQ47jdw-U{B=JoT zM4ddMB8qVl&k%rjHT1j`c$?O)b595%0dhKsrbRL8T~N6pxwzKQYDDlO>y9-YS6-6my2dhP`*sxj9F7p z!ATxw_EZ15cWSQ~|Kj5SJC*UB8$2b+Jm%BfAKjVT)Oh2lhLx>Oy^N3Ln78{j=ew7E{A`+|KDAGTs zFSzi(V#vM-bqqzK!XlMzv^m_P%yk7T4vmKKlr6chdxoa7oqGG;gS-&k%&-%X$) zFM5d)##p76V<(^5FVbuL!x+>nry(+b{QXh}^E+RoSIw^r6f3P>znTp*4fyJ?VI?Df zTOZy^9oKF8X_mfrwk z0;bNJr-)GOVH*Eb%jCa}SF_Hq$q96ERlte@9h~vP(fL~@=k^Gr=83Hn$+y*$m3Yy=1gmQd)v}(Y}{k|aZ^I}7w)cWT&wg36w9f?aym|JC1FT8Nm^406K64ReW7gxO*G(Gaq`-Ib(f4@_F_j>4oO>y+;Vg@%9?n;2w>^F z5cs2n=(?@G{UzroJ2{u;pOKQaAcC_St1f@)?FAEuzT8zo`ZLtt?^5-KqM3n zlLpYTm9}3&qsqmet}!x6q{{p6X4PLHfe>p-RZS${N5O#YQbPUr$8f^O$MA{w7ty$E z@dps;`{KvL=H*~{&VPnd^&}K&LZ_hvPfP&4kDu&WU`)KPmgeOW{%a!Dj~RP>@II`K zU_k)^o__N9f^DF8|HGFT6q>&;|5^c870*K8WWN6ldPgSozL|}Ce|n(=w*c3Fn%W7S zd?fzI?l0^j_nwB9j@Okq|Em~5FW!ggIEM|M%zziR&9cIs#ekRFuq4huDxVqGZ7<(f zP7J*7%DCY$<>4Rbgh736Y-j?Hf`X4#0W0qHHA9B*nX*W(3Uv93;A78sP2;OhpFa=H)E95Z{jv zf-hdfktenRv|LhrTSu4UmohC749G68GMt^)>l+I2N&QFF1+)gT-kFmGI za|PyrW~$t?t0IkWW8axbY(4z%7aAtV1U3KJf5(!76I$~c2py^3_fr|89w`vqDD zz~gF*!`UexXPj5+=KiSQ(_2ip@9S%Ka0@!YyFqS34(QrKKik3kz!8FXYk$-V+Mx6G zrZ{)A)%+>9^Loc!8fa4!;8m&(kNF=D8+`SgT!B?^bpSpb-y1xGYp);!pVn(SSPnUO z*6P#gKu42)&$p>)+{KFiXL|~Ht-djyuSv7MC#{cYarx1wfG(@Jw z{%w)*Yz^-K!|=WT)h{j2=gp(z`6zM$V}lA!06!gXF)=SwN20QdbI?56)&h{F3mUJXO`GT|#|9meP%jF|H1=aceN zEj=5)*9#Y&%*ZXBkJujeQck*=IVhmDYlDZa#m>j$371K}$L*{dzl&$a_qQyMj~%PR zOB1+Ti<$JlrtI|bky>OP|K2H^u0aLa5#Vcep0L;DGP&{Q?-D(S0k}q9Ags*+ag~VF zBfgCb^4D<^!5mrS0p3<%1YvbwRu6zj9`N^Olts4-v8aBp27d4I9M$J*G#i}%Rg)Lv zuGeK)LZ9;c7x+i(G@Rewh8nMlXCV~Zlkt|0-1ce4POk7y1j*E`Y%dhhv4+04Gtzqqi0CYY^8K{1 z^OloP24wIusPIM*y73g3R)P?0%E9N$yH%EE|5gz{W>eG2^Tjc1A=;rt(BS=eoLV@> zpyLmf&B^c%W6WSf%0K*r8x4AHM3)D<4}IC(%1E<+z0_e$LTh+W>Ga%-*2sJ4bD0dd z44>Hbdg9#heT~~V%*~mU$~%q;c&|D-y#sF2KE2(-b7KEWEJd7b_r+`5JK1JydvNg`G@m2W{<^y1_Zrv9uLZP#^$0x3B~*xppS-EUyH5YW7jQYa@vw6Nw507& zj^23cX?vq?hcTi=An=j45?Am&IPj@?Q%EpoLsrlil;hpHJ2*FA=fB^*uG%<>F9Y@J zFhXA?F?L*zT;!dW3jU9q@IX;_k!$=0WpDeJ76-pq7{QKfHG#Z`V-JJp1pna2M}<#4 zvy89Z77p1l8(KPG8iLO`4smIOH@}~j9VQ-o1ncgPx_RGyTe~1@(cRx#a_-VbJi-s` zU(c+TU?%~-&k7ywp{4uRPp(F?iY8@w~oL-A$Q4pzECQ>n=X)P zBD}v&-YIm;Pa#*dbEn&l=Obg9pN2sBtk=ANnyktGNjwu|fV8s^pDsV*Jcd(5`+y@^ z-Ntt&FHe+@@D_OS5zJzTJ%=kbq~yEqn@@9h?y|(J$My>F(@p!}7d_46y@|CdQ0#Dma3;)wTcZ0*HDZA3od?w)mr-K5N{YJL><*2nVfboZu&q zhQOFo`tH`9yq8_4U8{HVy<8`avzOh2Q`Y`BQ(^+M9F_l;4=|sRN8~-1{$}!jue|3O z>tAXAe=Q$-g)}e!s}|~)`#-n}dT_%3790@&D?t>ueu)07p!lC-emM?&q$SK$u#evV zlpS0<|1KIndjHdw?euqGa-omj|FlhTeGJ@#mjBWFpEirH|E@+rry+6tmyuA{w-*Ti zo62+J-_;C3Vop3=h=u=7D-`mG>i+<5`N98d37%ivMVQeD^2`3Wynhx9>N*R-A>9(r zfcqa@fWyBRfV?2DX-US1qVo6gKZx$>|Bdl*BhK%z@OtIZuls}I9u72Y?ma4#6LCNP zan=?;!oTLGdb$s|W6aIu#1yzWdEXu`6}UaJ$j#AsA|xm}S1v6(>38p0`@iMY2TunD zAMr40vT-q9eL9ZN^PXb7$lutAnH|vtX#epQaP`CPZ?!m~@s`y9ol=q1%ZQ~R{+{cA z8%ufp=h;fcc$3Um!0~rhWh(r~ThYDaUBy-&Zq;ger2jmE1P-hhRd#kG!j`?rxKb7+SQ4Bd1#iQi_nALT9J@pT>>dKYb#dD|D`agIYqbc(_ zshTTK^Uh{&2MoF&21mQD7Z%cg?fz6Euxf9>nz^Cn1dPZ_O2W?X$nLJpr9p_pMJAE> ziF(1bcnRQJPR2|YlKcwQEe_xZF9T{{@r`>R-*1kLVfYnqX5(s!|7DS~73xtG-K;Yjv2XMN zIqvL!u$h(M7$pDs?Apm37cD7Ltw94?P+`kR=ovBXsr@b^Ey@wwnSGeC=Pt~5(-FCP zWmbDLxs_(qP3`8wOKaTbtQ1*XJ#?~o=s5J0fD8VlTxjd~M`gui0c%RfL`3EP>toIS zvyy+X1~&VqGE_j=$$$LL-S)S4;7}QB{i(!q{=okDa%0U%^0B;sJ*{gM-R3B&+wBW_ zc>MKr`tq^aEgk$=O89QNJkB?to^xhEI5;ciG<=ojB%j9n9(Jd$euzJ{cP;_fT5!eW z0Z0XwJ|k)N;8iwSf4d+J*}o^9^RAk^+hdB4S{_+^m`vHQ})RZ zuetT8+$5Vd#ea~4#x0rcYHoB;2mI;3@P7uaaYO#y4(p?OYY*n(j@5r&>ClN|>-`5i zrsvk1+w^3f>_J{Vy6m}K9ydFahMl}EN3n3nR1|UJvcRX`gKJ|hx4bQ#s;;5r)n7&j z5sJJ!a~1L`SW@86phm6rZ3O+O>a|mIK-`H$qvZmmC)QyV4Yk#1uTW?HlR=gHe|aG9 z8I@cAZ+Cg+OwyJ92TMvpmE9UQo)2i^tA>TJ`uW~Y72RC}QH57^Dg!O;hFQ}plm7pM zwC5$q=lG=)>@tJ{qgsH|f<9$u)2Nq!-#oV>lwy>#yaNezkH*(Bv_TeKm+RoW}^!<Iw+6jog2MEge=~P~)zLFFOAqVW@7?bSg;&$J#T79*@S^Nbykl`0(;_ zFnp_ZA-%Y|NBzX~x!Hf9(21*yV|Yx=e8lEoto7ESMus0W5Z$si+Ef1R{ddm;yjXJH zu{S#k?|d<;N4Qq`@{ra{?6I8HD2@nbLFZcpx+z!nzcU5>R{WoEs`s1jX2W^4J|ama zNzJDzjr&8a{vG#$cUpjtXts3uh>Io*5b!^Nzg9zOpV(0FFWeuhizMY1X;8UNtlVQdn( zxO`}w-2Qo`-=?EO^;lQ^Z<<+)-*bO1EcMl|wVx4QmN(vS4x-qTl@pCK^i7tiXTxyOneFlXCje;w*&q)BnjdnTsnHL{{&Dug`*c z74O%b&qtLxjvl)$fk~jpt}Xj|ZHE7oZT?U4>3zy z084xY&2~P|K0f($^FIJqBdkyO<`!1GIe%3(-P$Ya*qp5AH!~DBt-!+PHw&CDc)hlD z0Tu)xJz!B$6dtky(q-75P68yc`fT@ByZ(O$aI4Eve6I`;m=ip>y_n&tX`1ZPI}K@L z8+LwpenzCmNZo(@nEW{JcJj&Mwc$umDcJKLFx}cVA@?ia&>c1xZSHHjWKN37Q)P0mmTfi@Lh}n=IKNd*FWq+Y85MIy z%(IzTqeVrAvM3Zmt!u9OjNS_^cB zt%_uoJ(_L#V3XavBKHlcwX>YRdT9QF&bo9;yKcS}sZ%1sQI#Eqqnv}C%)9ckLTx=z ztw2qxn|*WkPyMvsDos_pi*WPfYe+~EiaIBcH&*>e;6OagcD{!nU7+mmz?PZs>x4dL zwh0@vI3@PYfXdiwC#S-G6t|V6#KZZdrh_=4ZL}-CC5>sYmlF6aUTH1=P9CbZcQ+aO z43+THZ$=|E)t@W>^eD6D~dYLFJ+j&7?dTBy64KUb}h|Z9Na2K z(auV|7u+q(Y!;n0m**PF;1e*lH&RyMNmc`Gw|yzMB-3>=vGI|PfA&%wSJ}FED~P!t zxf0ojriRsa{_Ih_jnqzDRo6bl=fR!k%_6Y_536j?2ZkcI1dl~}6nn-3=RX082Wh@pk+#3a)`xIF{aJS%emM}Z&IhqC$Xh(ve*I1y`=Gl|@=h$JKUmVsZ`cD3-WEkFutev?Ph%mknk2 zqUKEeEOUW1IBWu@{aIL2KQE-;@M|oe#=@R6B`1Uzs(K8jsX3#-OSFIjMYF^vIIwb} zk}BMqn5*IO(p5+JyB%MGLYS}|NO-rq1Ap1!w_?_tOo#%tv~5jL!M*HGzOZ?CcXQwpn@yflw#h898;_>J zsn1=<(n2<{Tpb+SKg{NlOD1=eE8cZCoKRsrVCYH&dJiJh63(%8L81y@p>U%l=?u!1 zA}|qKy!7pw!HE-*mO+gvMYoV;jLJr7&%RXK%WTrI))kGM1#&3>m?Pum=Aie-8-9Ep zTXl+{MI?sp+>(Rm^<0IPbH>X}>Y~@bR^R0in;_=&n{LyA(4rL<5iVTIJ`+hhT*Ty=DTJ@|c+N77 zIBTy&OZ{S>{-Uj5ipT~Sg6vQS%_dYswV*(Xlk*GSb2iGjp08BfVFjL!44$lNm-!?n zl&qB*%I%nY+>*JJ)UEvTID{E5qlK1$+JtfRA%3iUaw)H}vjt{O>3$=WWj;DfKAToO4nJ$xkUwR%@4gtbX(I$yg!Nv}@Nzl`PgXR3Oi!oc_S06t zx6fqzuFsokUyVI?7i-Z8=-qpmX?xv!jJ5?%L*~LqSiY#6QGPX~{5r7$%Ry|)B#Q$^ zOAncEhG{52mR}WIf~!`(&*vUA#L$c`qGCXp?7S-fnbvqkzBcNj9xfdQL#z*4)C!Ro zd?e-(RSdesiVY8pK2#sZtPVZjmIB@1;M38Q9j_5e`pJT{-Yg8FS_ku&Lt}i*hA+tZ za!nlW;`x}6CJXXHP2#tW+tJM5Qw?MxM3-Qf!O|JKltoVR(FavRB}e5CrS9R1A3v_d z^Ipdd-q!`2MPXRoA&kO5O+(J-^{Ea)+Fq8i6WO&b!H)T3e`-$)p>VRo`O&aKFGaCM ziXt_`l8}QE=fSq4&B||%5~xoQ5)4885Y84s_SVQSg(T@D4h78w~HbIB0D}M7I}Zkwow_C-#m=x4ou`nLA~|= z?7%FUA1G><}tqS?bTN#lb%!O&(dX(N*5sc#E9I6^tFWtLH+g?d3c z0D^JfP+O*hN~VPaxl_oPFppjbHwra#?}YgBIFR8NI8qroJJvJ<)+Z+r;4^$ znD!pZ$;RBsoQCAG8EWCrglQBFUR~f%ji5do1elbd%in*Xg3)#isT+edbPSg@qLXDMKRNimsyYQVytpbxy zDYe6<5Oo}!+)BlIM0y`F<2%L6@K*<1qG)w#rk=cms-YO5Xz6L_r%?NlHO0ilKP7JG z#4_v%zVx?|dlW!rBheKL5}8th`sUSgRRyTTDUO<2k+rBAmsxL&R158y#8u%`Jn3fb zCdJZ&Mg>|OqJ32#j?r;ZbNL4O$T#m4Dd8+m2kn8X;j5^t?D8KB46OzHlc46a_WT@p z2mLRDhX@?ziuLsIn~3#R(Ps0klV!L5HQ>6F!{+96AktPP6hGf71TBe}ep+CWojsI; zws~S!SeN|QJu}-tN3Qe;3K^MxQ&h=(FZp@u_QA4Zt#g(TrkE?}Ih4cEo|YQoX4WLN zg;g;|T&YO2nqF|qHlzW_+v>VLEObisQn$nIEc2={tDo-urBv(^xpXL3rcyb0{gFlF zXWV8yWI}cU7h-**b0>O=&FMNvY!fYFrY^$(wde2>j8iI~n4{40L@`K~8Y|Lo0 zrf&FURT92LBL@-~MfLEBViU;JDuq{?Tr`RS{)Y6r?64e`)*6`;#*Mnyl7x*%>a!Z; zBVscbDn{$B&;{ph1JVJ)@RFuJw!!S%QmTJ;>cn@R%oP$)txqZ487IT4<3v2{Y$r!DpSLnbJ zHNo0~>9i8z`$;4h9{qe<8`E=`siC=lyw?IT?yJLhbET4}s$2qk0FxVqr!i32tW1<@KN!AjSjoijutI`ssjEmkK#(-)q7|5mJh&15FQ zy#7fppgt<-GkX?Yxu?6v!z!#W#oh?V`%{^!NopTnekMN^*hxG~Jp=|_t7(zl^YX-q zJLS|&p1s_Ad1T-(=*Ij`nfO6dIUL}R8sc5@DhZaAR7BRHsO$DJT>kp-V})XG&OE(O zgSe^M04t(+a;)%TsJzf2_j8+BjF*UKwO^D3N*LnMwQ~^s#`S)-WR7F2VZ&%;tIc5O z{+zbX{D%u;cJ*B?#EEk?c7KvkFwQcL^}Z>g7-4zJp+vG!UsAltiWyZ1REek*56qi< z<_Epn9?b>AkvXlGHKdq31;zN_k4Igltloahp% z>p~Pu@N;T&q)=6`zL_rp#sR1XBC)%A0zizDwShNq&$5F$Jl^hc#I_U-vlxS-LilO? zw?!5F@&XEx3{}&OJ-5X~`yX>pl?!bp+3-&hzvou;+NOTc*0@KnI3Hejfa0~xv!ZmY z<;nB-@auqlqi6!r;U2}-LMAh}+t-He{7$k$c0w@=c=}(Sv%VxxIkFwrUeR61Q1rF4 z-_`-ymMr_DlZ%h(2S9S;p|^bcqgAfhmY=)De2LgBA~ZTKuU(_13RC3uW+_fY(ONSI z8Fw@xGm^NF*E36(3`tf_DYpIANsPG%kH&GQdaj{v8*-RZJVMGGw+`1rN0+GTQ_L*r zA}EKPyZ*?9nkI?!1&YvK3o#ba8@NJd`Pbm=M@j_`qiUCdQ5ec7Avt0&= zYU=bd+FJYqb;TfC74j)l1PW(Yf#gC`->Z$%$;yN{kSH5YheR z06_X!wE9T`PZB57$}J}EEJ@Kd2vDfbN8B{=_nJ?Au=F}MQ8i~Z$t93&v7O>VGDXzl z%9MEkhQ=5KYtXV13R!e(g&cel`}`V>nkX@At-F-=Tpj!g}lp-vdvCLKKev^Fdp zoZ%V7op9lWxY$t|8E_v-8PP$j!I68*OHX?Z04SW~Q{ zO;NGlBEsGQp}{(=;{r(Rq8o%ct3-rwEW@B4C=U&|(V zl`ArDa4D9ha*oIL#-=s7u%Hib{04b8?Ru7;v+>HDf9JjU)NXQGQ-6OC_i$$!OHAVMGiT2|U|W-1AYXjjvq!*w6g7Na zavD-@VG0Myv=1MZFQG-YS|z~^AR>$aNXNCh<6lj(TlA;Bu)K!LtQG|iKVqk5+;8@K zF(Dz=??u1Df#y0JKuHi}@tj5Z^K)M|&Mw7T0pg!vODW3b01Nw zYS@6bRovH5C%PcTBl!g9rY}7vVnO2HHuj&OObxTdB0_ zPzHgBO+QbyBp~WbKAz?4SK|0Uckjzuo~_cY@rHcvk;J16&R6O{N&8s<`1Ok6m;^rTLM%5;#&7w0+MnQlvIgLi z=61m)C#7SW0fVGww!VfNiJP^eDonXrqI-CB zPo+38!p%v>JY>Y4Fo3ZX57Xr*rJfgm*#irj_8(8)3&}FMyEW2chDj2kveQgdUNk1b z-4U~&KFeTT^6~vFU1g_@RHsp!^jERtqO zXlbmRu|;>%%2&iy(xkq3*aM+!V|u^IcuV}Lf0a$_mGmaaV>8v$rTI;eoL87{PUmKQ4cW*nJK`yX zlR{8~*c6J=_icY1iGU+>U-h`d&m0uC`1Q8kCY0bJv*QG;6EZ13G(vfgfifN6oL@=` zJS5k9@RjrcUT>(m&+z-()T8zJmXLBs@&0psI4|&0mUd zB19>?zPn(VJWWv-jGU%mpl^guLvi(qa_Wsw^_dlV-z3x-rjOGV_ijeHoMu`}D6SU@ zB(6*3`E4{$_hU}4?E;JgamOW)iV6-UznJzK8iba^l$-Q^6e1xD7ypRHVRmNh*|?Hx3#8>1A(R;RqM%3XGTDH zZDb|@vY$JgOz16z6El{rAd)GUMpR~HGU9~_?Km^k1j<-&QFOG_VK}apsLW`3P*sFz zUZA!%9t)QS=b@gKBaF1dO!f)`y$*t4^rFR5u}OsIaa}%%xSYx)&bAp{s}qrDnWZ(? zZ$Q6@eRiV&$9fwAvNjAt_h8B10_Y4-*~>V*#{7ZJ^t(O3<~+f|5aE!3*Fqh9nt+lIG#+f7A(-IGv*s$xGyADwM-CC1Hit`!F01`mT#*3Fz%$(05uwuRX zz?!W?hL9)FL$W!LVX%w+j1=YLii=BZ7f~GoaNqX3;L5USc~2=H_ko#xz7>I3e(G6b z>YaJ8BasdchtXe(WklzauPWF;A6oF?DUh0sWnLkTwutbBW8Q*HI8+wF)eP9H@1_#cG3J!6-@C$7Jsw7uV{w*UG$9h~RZl{XW-? zhJ07BLSy14QV|&ftdQeiKu{H4j)4Y7R{>j5iA(SuFCBA|R)!BVMEuiB1kGu-sMMid zQ8ENq2oC4?KCtAGb?KGKtmaVMGSXwAK8%12?QJ<{f}aGR$7%Ei2#M70)w~x0LZ(8U zOLg#GNl-;pr7X18VJ(5lWNNtM?QKmz`knDI1jL|;IpDG?g9QFe!0(V5tyX_o|I7c>pn$)9)3%&qxL5G0V@a~AP*C>Y83 zPl$CUup~2P0YCU{5_2W0sHAPmJU50x!MN}<5@zwmD*QuAJM>u2vjS!Z+DH_uJIRLf z>liRd5W->c#fqtQw86!IR};oD+W;O!RAw!jJ^}j65F0|zG4~$KWmsRj8qc60K)?K# zYe!~eXW~KhOzA>y+}iGYgf{?qae!Ra!fi$(nnIU6)c_c3ur1|S;B1C^1SJLuhN*lA z^^6z-pA^+)UEw)_f+M(c)q=Psd5_|dv`6Dkvl)SGIQ6e-UnpG4WTDuA8caxUK$dYo zYiP0a9~5C|ULqZZf*T1Huod6)insxxVh+KR0fJ@fMurUEVl}vSzWNL!xL-wA(W@qM zU}O@Mwhm*1=skYG5bE>m=a6v7Yxf{X3WQRdn2o|{XSRNnsb=^NQ}JTT9)j0uHIhL> z^h1z9wE|YX;6(9kx$Cf4G!f;iP|4!-28{a!Umz;WYSSTl2~W!9LVHxSQpsEo53s ziD+8OlE2gEr<$o1oOr5w=TAB)WJNY&G)9vHu^3q>`=hxxCY1(vl1+M>l=ad)uUW7L zTqE&RGf1s=_REmgS#W#4m+e@$F1%g^(fHXp#`O}981c-h^6bHFDBroy+!#tOm+4pe zy!ervYd;Zcbv;@7Xst-@FoMFc2}{>Qh9bRaEi((%9&L=cbcc@hkVLo&3^l4>leFpS?C(VdB-r3-bh#jk@{utgCK#udr z&2Jz*wJugU=oNxun-O=s3%*cy5m0|2_8dk1PGrLdyWu=lAqXg9!r9m{XM-1OMY9V1 zA~*oCtiM)+*~-&jHs;Fa<#g_s%DL94jn-O2{HKk)&@`&;IxP6BOEEnsZ67LlggX6) z?xoOi@*uW0d6L>E?Ul%v?(R#D$7+`1Hi$AcB|fGIZA~94jYYs+{blI33A1%1>6}hYNv_=jV%~ zpo{{bwmq>7p1#Vq4rNWHKhkJbocOBUq`LMT_+)JKP&7VSKEM1!KSn^$YTm0q7=~l) zs#59!fOLh0&VJZHmym_T6CPaTW)m#4b@R9x+9w&z*=N@3MHj)Dp1hk7i6~FMqPo21 zQ8ZU5QRBNgUD5eMRVFd44Z4TbCV8`8k#eX9kKYF;q^Tv+-H~hRwhgQ;m#|#t0!hGE zj3bI05&WjOi(?RoibE;6iY*~#&vBvMgElz%b|m#?DICfsi55sAOl6Q~O-d|44-y$> zw~wJKS+mv?)Yh}yDqRS(eFS}nxOgk+GR7@eTLohq{|YNIp}wJ-p=(_dA7r!8T&19x z;RJ`9ajwifS?nQ7WT-uKhI#|*C<9KC4JG1wEInV5sBZKAO~&jN*a)3a@(m!Rq^X8v z>DwF6sBxAjLmBaOoU@8Vf%nSGxty)Zjdux!;k~Z1T#r65v)fnNso)rv!o~P0#EQ3| zH>IS}zEx_2wUT2*q+go(#@VmwZmcM9X{ zhBH1Tnb9Em?Y*(MT+A9peBxfnKY@O|KnozQhO`y*B}DT-zLDNP8w$iP)8+Yc&kohf z8d4I?%ZHzZt|SjJo!^MVT@&Y=+dikuf$KGs;CQ-tKwQ??w^yu?|3VJD;h4!ncr{7$ z003o0R{!9_W%ORIJa?R$yATdMiQD+s9u+avm9vx8~G%P(<;@J!1%I&$j*@KRZ;}(OB2zaDPM@-&FRBovn zKl~utCy{q=>^0CTj|B~KGDX1x(oSfLD{ik2RXwga?weVuP$i9<4y3Lc!?PL`%g+HV zLfzQ17SGHhrlC`grinmMdwgz@%fTHu8_X zPbcJ7_lrZ^%Swo{qlCUEcI2X1HUriOAxS#4Pb;cQvj=p zeJ3;3Vn?lv;%{L(tkIJ4oTSxyB%Z$#qez*niFSx!{SJ@E8Vk`<(f2`vNMc6<-YC12 zV(laDe$#H{h)CT&9$-JqksBTl6U#(`dvXl~xHG1VI{IMbSQlx0u`<5$&TSf{2c~=P z6&hUXz~unBL`|Vtc_*u@sXp@7uhshP6j!ogh0*7^#$MNqXAN6MoHOr9H0@@gty&|+9JI7;M$;NLN;vSq zP=ZLGqFUmCUyd+qfP?RS!9=>qWs97_j<2gVF=ThbbCIw~KN@pZvtT1IvP7}6Xv5=z z#0E7lt9=>b4n*~Ml3pO+p*rV<*nOD14Ezmcl^hJqJru8Vt8Y7qE-j*zWJZ=HyonnG ziI^!0=Q7pE@qm#%!KOwnM-@MLUly56oU(&O8V(_?jy4_q>jw;LW>>Q?q+C6^AGa}+ z%97=}CEIM&j#hlml#=?0qDrKFIHV4b+(3pzFUOGB6{4gPWXU_?WMd=>T-T>n>pg{? z6IMu%75ieaoCv`_Qj)}+4F-ws)UFX#AgbJi@lU3|AEa3l#Zf_)_FJTpF?;>KWrX}e z%=(k+^Ei$eu_N@CBT>nLN7kaW$_r^Zk9~z1x?wRm>pw!nen;kbwvgnHQ)SiRG@slG z$Qwl&`6)?_L{9g`()de7E+Yg@mclbTzA^c|bl_{}7$n#3a2D3M!n(_DOlT8RY! z2sB_I-Us49O#i@g z$gnjs(aV#qRre5MT~Y)i>nqMoM4z`3W9!vvYnmGhF~kb_)@_s|>Fx|n2x65hO@7q; zs&ox293iP}47Y2#0-unH9*X^^JTi_S#l*Kqn65_;WCtsvNEQf#nU8|Hh{1+wY5mKI z>&vWiiUa^fX;TEQrFzP$j*LVMR<|&y8M=V7Kc8p@W}I7TEL0~YW@?oG&IneEo%v_S z@@*4tB6R24 z>we4qst_@_%wX==&$kbTJliy>V1USoUU)3jY_6`J;O&sFXrm+O*wrMz)h>`CQHrNq z(ESFAL8^{F`8>J%`JwpH9uO2o-An7&v_)&Ps4bYw7`@s~HIOLgqso3z&VRC%i4=!@ z&BSfhD;PKw>x)&JOb|puz2-Xs5?9FImVMk0ZJ&|iv_o~b?4&XT(Pc}1kM)nRgEHoH z1VL+si$yeI1V-3mdEOK+d>%5K6y=EaAiXXDKHptci`hR#^s`Q8eLBRc%WgxGFbx!1 zfR!ZXR8XfdX475iR;DZJ$fAuJ`_KFjABjNxkNm=90i#9}R#w1Eu7l z?l)J-TpzO;v$s}eL>v<4jSt<=X8A>9;ON-sZ&VFg#VvYGxMp}Q=%qCeSNaYU1}_PS ztJtVABAM?2Zj9E=a5J4*E?yGf3R4^~zXg^B?39z7JgJ{M^_uuMUPnj+rx6UHO?d+a zqxTHy4XOeoMFfRNC%prh!9ETxlo;%=A~*qsX0X5K-9@~Z#*jfeUJ|YOe${R&Y(7@u zt!^|ILwiA~@Iu)Sa%RFO91l?h2s+S0S(Svs_#2M)VUCu?iQ=~LYE$V@hfiN$3*anB z5IfQY7@dW8f%&7&2w~K`TfKYFPzRTz*d5Ls+pw0$+nrl3v!d#iLcIvQfpo`Z#Nk-! z;gut{WZ$XR@!@9F?{nbE@Rf{jf)&+i=TxU^$_rF}o>ah-Gb$~Ss#zK0vqk)>SJ+ba zwN=#Ci-$LW<4lO3>Yp|n9$h3BCrD5qV%T676^nBfX3Au)Dv(~i`y{4|I0qZ5Uqzvl zeCoGQPz4e3%XVIIh2sI2T|3CD!Sk9EvYZ${Vxdy!!UFg*?#da0BW4TcO65@pZcCZ& zq7V}Sa&fSZd7(Xe%ARxWlMF5M)ZQQOl~`=S5oL&pI1N3Y;G9J;qD+-WXw4&^tRR_+ zcR5^0*PrQcT~j%@_1DdZb@)+yQnw2ry@BM1@OvnlYI+-a?xGQ>DVDT2o(|QYDcB!q z8}SmZ4*AT;ghAvNI3B!>;;S7>K^+R6-%+G~b$)b-rBV90XFU!S^KAWz7|!#B{dIFK zy&y~*`+)!B-U>p(?brh_2>cX)fER3i68qShg7s2V3kYP+-eV9Ts{MGbUMwnO|Cuj*2|7^*6KHAPIQIa|(!t#xDF^HJ8 z(=tO0pVh(d2(o7p#OhG5Go~YJU}}ug7A?QdlcfRAEtc_%nTC6(n1tb}#NR2wO zXdT|Mx3Lo{6;)?UDwh5>f|6a>bAw-7Bv;jsmq`d{I+)uJ-%nn^0Y<6%5NFhGAOYko zud*kG>F<%6m_j6fbR)zPf1DA;2}YN6zE7tN_frTX(GPnTX$uy6z>1;HF{oJeO2vBJ z7&g^=w?p$m!8_&;D?4_D|Cr`kmOo@wPINc!tv|hNItY%%EGF*`uCp|GCY6#YY5LIw zPP}?*oY(tV(IUcM1&s~;^3m$jy=!YTGePH=cDyVWTUEfVinxzt5$+~2^|$Y`5CvM5 zR-(RxABU;^XH2Yo42Km?}v>do8$Wap)dV6ghfXibs)9LS<1cbf!~!AJn1<{|IxgRjmH%;)c-|HW|7cV0csg8BmypOfE8RdI)b zG{wbSX)QYQ3xofYg6$Eh_RZ1552L@I?SCI`j~N&K_*d>b2V)h|JV4iT1$y0{jNPvx zDLi{hHBXT5%l4^-Kl`yj76e;W9$Djq_-@Mh@1MyorK8^GiL0}sd+k)dn7=P1XX^@) zzii4S72{9$A~EA(F-rVMbj;>yQczd^5~#hK^?0r{2HlV5mh2&!dsL=uI_tEb$A{PF zC&3d@++dw?WV^Bl70)3%=QGw+Ankj#O?*LB^>yQd8zZy1D;>rtSg9rfr-!9s+CL$O zYYK(Mf%e7rngn4erQP`mwDwf)3;G5b4PYN_Zl zuRF=uCB1wr>KvX>4E7gT~VR5HvE35=s4JRi%H~X7|dEAj@*a)mYO)45xsiK!K?A&%J$iE>3ek!X zC~UjpK8GR7>05~YPcpv(eut#Gd>{X6knI|O)K|&7O$x%>Vyok%XX0Y;x45CR>7|VN zIu=^j$1x#6+vCxIWXO2$3o2~R4a#1#G;LUU58;VHtfr~#h+;Ld*uc;Fs0Z7-L*9V& zHR+U@`DA&z?GY?e1wHKALoK}_*5S_F6E^5uBrW;^c5>i%3W_*D*95nosY*-q)$^d# zgvQpIY0aTAIjq=rkP!>B@s?aVyIC}IoRc_pr>Y;~)(Pb=RtJg4#mrRzcewOyLMWl- zvFiy>Cohr%nm-}2=7WUvx6JMF2dRfAHIpnUZyHbD-9d|a4O|w$BMZp|#@x+b8rlRR)7HzAiI=&Sdk6qGy~MCg z#Y*~HZs44Nx+)0k$Yoc>YG`N3IB_kO)gc_wA@d0qk53^_-6wxK^x!5Ft92@5GF#dn zL0FI;=D-Ta;2wrmem}D807`SVN`0}BqDA7f!81~89lDdwU~9n{9Vzis)K@+SW_pvx z7sw^9{Ciq?3|F)Swr`jF7l?c|+Dg0ElJ-hv4)jZrPFGwCR$~n;!`Tx>XEiE8KZMtn z-9r72p$bG(QmUza)u}B$ABmO>m|86Wa=7!_yPxG@AjVyILR_?O7etHFb8H^#txC z_tg$UBk|h3Ayc#;#lSSiJ~%2^3;4om$5T?N=fUUgPbLZ$rkJbU>~fVmwG;;i@X3z-d#;&6rX5AbOZ5XK0KnM6Dg( z96y@e?};P9Rh~WX*9F&FpBO_~KO;II2v0*I!-cl-&!7;odq(%7#dj0w05m-dn)8~pgN&a!>2fTX8dD!^^awk6zl4ne1&lOlsC(ME z3W?YUKOmt9pS`n>N~;D!UmA;h#|s`d1|GGju{nXqZo@HzF`jaHiBOB}p6nA(fLi#u z?bDLYfRo7{EbKA+t;3Hl+d!`z>9}r{Qxi7yvLPW#UOkpXk5?=)kj$ICZq(SdX`j6v zilyL@n#drAfMX2ay1Z*e1bh!r$`JUrh)U}~)2af!d!%i->FA?Xj(@$RHB-DwnTXt} z$l6P4C$V`mn#Pj-yS%EiU)-&tW>21mj84E1kcpgpl<}cTfcF04>=ZS(ddR{@&V0KW z0<QY*XYY17br5H;Xv@*2l{ZM*dNXES3d=zisi|h#PT)c7Dt=_`m zlR9EKZ}AOe;TFrmn?fUH87oJ|k~xq@Cl`+_2TK+8 zwF8IVI~GWG-p4XVZW_Y4prI$1Ek>o%nZz4?K?DoI>k~_WohTyO&M{d!e1?IBJ%i*m zgY=?>1X=phw;6g3#dJt+93~rLn6Z1y5E6kbbi7Y}^m!_ELgp3gWvq7u_`^lN$Eg}roKG34( zgq=X8HG6kzy&n+?&G|Dev}}{$^)KHTbRzFaWc{f?&vt?t1EP1(tg;s(^ezj^nLpeo z8?%tV8L)^lZ_%mwi2*{*pB998eMKn*^)j=GXnU;9QinYSk)SrsTlD2rD1o zVhH{<1F5$AHUspaTQ~G+0gAGE;f3wIBdLri%}^7*bW>_MD)?%imGtkgRcS>yXbg?%Wn z*O*hfmfYAo8q`V{CtA!NX2#cEC<_U_pE>eaR1gt(o0p8u*EVk<-prdV7H=Yt#ftBU zeI5GiiZ2UdPSuLcBZo>%j?fjQ4GThm*3=oG3bvp|J_jgU4jOXwE^~rSC*DlW+~{1c!MCK;M{#R zm1DT&jEc!J|2~?=yfX3@3w#bh5{l2 zEg!crRzaVOhHRwu_*v!Dy2mX&D89-_>7(M?w2-fTZR5yh2AM*Z+sM%XT1T|@Kr_B> zLt5R~tVZ8&aQqD&xB#-i(I%-PLdXNHJCKa$)F}DxY8?tHdg`CTfQ;EJ?x=cQI)!nK$Kh zSy33_dbbmigIjX*ZzSuzNCu04hsaL25gMwUokmlF(26!4VQ9UC4t1rqW*olTqEBD4v!Fr?F*c%Wnw zxnN6Dgd`c67|xE6BIPU*&`1VocpvPzS5+{o7gz?EYpSNg&(pt{#95i_Z^Lt ze8O)Suj=w2-#;^=_XBaFn81}4Ww7X@#1+<6zKdy0T8@GMtLo^OIZ9}kg(g?=b*!CK zPBm^#ONB%i<)vJc&7hz9N&-wQ9r)%Pi7Rm%NnGw-YZ9~xDb&|61`2OX2fVGwk$eLi zU@Rh{mU&|cWQj;ENxaEE(R5rk=WE;C#iR$#8W5NG3_04s2DqWM>ldc6S^Z^=u=+n)?i%@ijXd2V`NY%{0Z z=(IXE_38mlgJNM^&BtM#_`%(JGD3x`9WOPpj;1X&IfuL_~Xu{rcnbML&P z_$*;M?}+F@t5Vb8R@ao@W7aF2^S#L|(!ZqbDo|i+AzJkg&S-j-j*MmE@NcR;`@zSVu1daiWzAQX{6qm{5j6wvI667bd+pd{(f(n{07V3QyUrKXKm zT3xW!SbX+YzR|^9j>;#O+aN5Z>P{DabegvC=Ry#-4>bp=; zdhm<4LI>CkrAErGYxo&2DZ#EmdzSCeDle6~!k+?avBo0xYyHvvkA3{or=OYqY~Z0n z>h5DtTuNPM-f;HI|<$kDGYIJD7Oc9xFQVf6uIZ~ijqoge3qG8Sx9#J66OX?s(CiF;4RR^ z9%yDm23RERm~#!GX*F3kZ$G|;(4xh{k(OEVn))r??BgF&WBjc5%Sq!OI`9CUJxJbB z>@3+NS#CN#uoDJs8Ik4mgEx!>xE;Zpha6}UzLa=8`qG~FPy&Sod9S;# z1L#W#R63mrd>JQ4xz+eRly8|Iyoc~n>CJQqZ#~dP#68BC1YKT86L^!Y=&|_SnX{fG zOzR3r2@&aB?ebFesU^jWXi3{AYWvEqBhd7cHd(!8^tv7LBJWF6j~tb3kGWHHsVteH zdPmg;4YHbFsaAHk=Uj`v-ofSD38qFbaxyEjejwLiG>Z35ZRg%&0 zb$UxZ@&X_|X%yOq9?TxVCDv@lRKL*JcvVW1j1 z_kE01wKb3%CS_=5*=CmIIS#X*HN))mSy9?P5Ydum7P7e;b}5Rc_Jy^&Jg1>;x8~G3 zpA^}HyvW5H^EhH$*?f%^F!A=qdvt6iP? z<0UQQHgCv{Wvt^p^QLpa%XkzvhOOdg^+yqwn-{t9o$F;I4Tp$WIzStycTS;}9HhkO z8P`Ds8YhfS@1uN}XkSZ8;dGFAA)6%==YXaIxv>+qPucz=qJ3R><1pcsp&Fxksf_HT zV7^!?;@rOYPOxEW?iAia@AqWsq#aXW2tL7LVc7R{M3d!K1mYDt@=^gUwT|<5%#U4- zyrXRy36XcS#ckhlRZ&R+DnFd;%F>!~d>c}v4^gkYqk=HRHW;p)AH<*Kf>ae6uv!ne z(?L8ql?%js+Gv;@4cWzLeF`}pNWIe<_&F;nD)SE~w+ld64u*|6v{Dn9MLp~5@x#dt zTK+v|bm+L=G*WbUB=7^!0x3tqXoalvVIUGe;iBqcSU3N`Emr{T=nAIIiy&M=AiFD% zz^apiBoKWtu<}SZ_!N^#Nfkdl6--7hkjB+f7SJPo5{>lLfggcB{P>5QrG;Nwd1Q~T z1w6n+cDF$jZ^rkK;WnCF36AjL-;|Zsf*4cHRv@o#?P42TQb+D0{=7)`%WlvNd{aQw z2_Z(hqen_d?pJ88*%cA;+crFJ`7)^7Y6hfUv%q9L_!AMXJW|1x^eZ&vAhJ%%+FRZ3WHb_%l&WNWxb=f- zg^hJ5ZqcuvGXDO`Hhpd78)nxLcraObgR-9LtZv)%GLy2A^ru-88cpWJed!(6kt7RC zK{nTzh=$N6LMl{H%lAI1vV%3~A!9Tq159!-K4>b_#d>BeSTeqWl@`fVxe~G(VBt*+ zLw1TcddW51za#{)0TGg_T?sY1R)I${T2n*s7{;5vM->Co*Qd&s>%kH@f!0;0VIor4 zU|vY3;(br=LbLfQA~AfE)t|l93mD!>1@Seq`cRuLQaKgOiA)8o!BnqKg_dt;>ZwMR z@D?|~LRJ#%(HH#+4QpIvsYygG3~8mtcUZM~bMI33O$4$+%S1L!)~)?~|7;g)0VzdI z2i0H6Ffp#^G={)~c;YNx_q7GLQm3et0Vy@hXtde}&eO34V?jjzh3EyesPPO6E!GC> znO0A|(WDW=tsayFpjOCoukOs8W+oxqb4_N_oT$@SmfmY-LzPj}>NGPP&KfVI!kdZo zSoY`%Wq?96w+3xk$Oh-R_a6GU&W&(tY*3I8b~1fru1h~X9n7*jof>i;op!Nj&8?n} zA~z2(h7%iBy|*We2V*SkP>;ej?IC!`J~zZU)1iF_5$A1cT=LT)Lrx5n)xpA_fgil( zR{C{HLLOk*;M2SrjrkQPkQJJTPmNYrYk+vWD995Ro$B!M0DX*Wj3u6M-SGtF9XXzG zVX}7NDB=kvKH#!)d*L=3x0a6s(!hf*WIeu#Cpe)9lVB=zkcqe~M{KM}PK4OxQI6n%$l_`hg*Yjiz(RW? zkv%e9Y2UNVgLuuznQHgB-QhM)N??JILRdBSd>4GRmUu!q<8?LXAbaHpYm#I4r%ww`ON_o5Bj&sFn+{RKa(vUea8e!7{U1N zeV-waqz*zEzNztSM*|FZyZ!w#Dq6gCS7l~v_eNhin=6lH;Nj~B(Ts22l!Pdg1NoNJ~dsOkMaQqdqk~KHhTc zi1T{iyVW6)>3G5}XoS=@_1k&ea0(GPCyQeMeur}`aW2O{VgVMbYZK#wo)!}?D6&*${i)0bzsNv3O>u+D#szO zG`oNF0W@gR@bD5@Uy)l8GsE!&y+@tx!#e<M&72QIst(AgQ+Ze! zf@cBY$H#wSGJZx^olbm2;|rW*e0M4jYmRk9Upby2-h6A&sxHjQ*VL#+2}P^QC=d}Y zin+`UF#e?2j$0=n^$2T74)kt^qHn@Ut^AspJ{urRAxC?fm&5el&ranl+!Hla`f>5u z>z1mdROzZ8{Pd~QE3yz&z-uldt$4yVxj?B^M8+$+i|Mjjb@S2$$NxaC{cT;8B(fLe z+Sg@13GKqz-eq`8ohre>ovy0Wxp+eGcIdc@(Xbgt(qz=CTYWM<@dUND;|W)2RoKBn z2?7yDJ9NZA-qyIoO4FT_PjEsLPeAxX)_`60BOKm#pHFa>%YAOYIIaA^R`{MvJmJV2 zAx{?5p+(}`ko4(lp3|Y3B*(booNH8!1kujRhTU~$@^jslh$@hb|7(&&+r zZkHEQ=FNU_{qma6jlAAU+9C0TvMd!_b65=CBoOmP5*OP%;xHwiz%>at%XRWJS#~+v z;0M_Y{Dc|!?4#hVwX??NO$U+AkTGWt&nmGHWlWqO>hxCAnB#p!qN&dT;}d?A+`7uQ z*N~aDoD%7f9p^2)>Fv<+**9`lDq!CJIyohf91_V(#oKv6*^v+(@{FBMIk@8d)Il_e zg`{K9FNi+pA?KT7BgBYwe)%WrigkRS83C=rO zWG6W9h(8@nP^AlTyOGhfH->f#HRZk| z6y>6wyO8aKqTl!7+`St=A|d6+iCe8!%B5JNshfx^OCgAuK6Zk1?ofi)rLv?qi71UQ^`oSVXPy1$lNEZ-isW_1v0fw z{YWzgz&@XFxNDn~M#G5W>jhNL%$pwRHO596i~Si$6|L8;cnG9h4^Zg4n0)B{T5nh> zb~WL-L3hWd(jkI#R0j>dmeA~_G+W=*5OfOfu~b+{QnCm67Yur=?VQ`A1FkEJT`HG6 ztfHpyj zZY3K>k)D!%%zI_1zC>1u6TDo}`~AuZjaJ`o^2+J+mhJg9FUp|}5A>k4$wM*5y`u1@ z7ZT=y6?&7^YujqEUOXCpmm1@vTf0-W%Ei^rJIZgqv55#@R>1(tOjvtTfOvsfX?Aow zI$e#+-O=5}?U25tfpJ*5ck$+o1++AH+i<5jYOma$(8VF%mm^6CdXSq;#jO*5R;AS) zOCXUlbilkE_;X}#8WrbyR;@#ZgCZg#q2fcwN_^49A2r~0qt9&0LONu%4?#0oGJmw*yaK&wl|RCIJIK9zMQN>qX1Vd3#PH@T zbaSWL<2mmL0Y*-gS34$OqyVW4Z2KO>y(_fSt^r@e_g*s*NghkUxnyH@ z?g83%*gPTC(kTa82!spG5W*{MrC`AXAJ%JZ{Q*0b)O z$X#49p$oB{8AI?M!_wd^f46zE$oUy$7FMjSaN<5IB*nlYh(Vw9CClQm^4KvHC_Y^i=7P0Lw5<{@-(%HclUwM~)0r}qx2EGiRNz!2hsRFr8Y zK9L+nvX-J83M>$^a570pHzxVlomGQcj82cLT7G_5u6Jsje3H%tjSw~l6EH*fI`SiR4=PaZ^^8jVKcr5G=%dl5i;*nhn znQSm=fnd;D4(82U%w&nnV;FR?zDSI5dJIMaSuQ2k>y-7 zAa+a$$C~M4gV3{-{!G?(WAyG$Wg_xku|Rrg^B#i7qDokzu*Jcpnn6sH>>|o$Qt~PI zggbyW;Xj|Yg&pmGwUv~Y;%PsKOHFamAci#~qGgeGq^9a+N=zLW`wNZVsB1}bmJ z45PBIR&`1UB?_ibtAYj?!-cGfm?i!#m)OXvVG{Kqf}Q70CNxH%D>eKfWQ|6rs-d77 zDd-@`D!^)0M>c*`c|lE5-!VDhmQF>40zB?@T(HC~}6N zYRnricN4LAJ*T2?;oHU@He}T*^;aqinq`p1e=5yHs<5U5CC`&3!@y|h(^^O*iHSFA z3Ys-qsj#3)<@FMcrKn{*LJ7=Ws31kt0zreH7sumAL zyv%~8*b~hb6U}j61CSMElkLX5&u@Qgao+MeeB2Ro2(q4qUh90z0@TqYt{QRasPy^~ zLDg`o-k7lyXtLsN$kduI90Vo> zemq-Z0`%n*zp13q`Yge_D_#ul2o*mjHG|aClI-N@1g|uM-R+w~Yd=*?qlSofQM<;k zTPr~Qxp;!#g1oAwOZDA~ZbZT6!IYgaQ)rcx8^-(C$uRC zSw8|Azizf6vU=lg*oLtsAaMLa_?uA)Z>Zp5CkQfc<=LXUd!$i=5}(H&mBvKL*yNEQ zYu>Oor1YEfCY}H%L)h5IcraR@R{!(?v!L&ohuJF7pZT+gfIJq=FsY$piRn|Mf(eyI z8!qjlvP&2DNoPg2M?w*ULdRv{S@HE^aA2V)J3&hYnQMg%trqj8d)G-jQtqV$cUjxc zJL(6%4x^4M1#!D*pPJ&@--oPuQ}~NO0R_~xCfbnkq0n`}L`;T3Lhsi3XvJpUhq9vq z=B)=y9mtBeY#y7ec{9F7ozWCvaVtZHvXtpjE5DpLj2ufngs%f#&-xHo&Q&+7s{Z{1 z#$ugM@dU>fq&jn~w>0&TBvSI*LYVR)p{f!MV1Qu>Y*>*skuG|h-!3R*3ZbC(ZMa7U zm=H7;zhy^ZZ}{b>2vwgU__#RmxZ+)UO-@z~P}C-#9aLLd zL!)(e4V>c|*L z0HafXD}3Z{g|nuvyrY&wz z56%(Dh>jc#gg33O8MFzVGB2#6Y2LJ|<7-{H&z(zVN3YiQs)IS`rrhi_qSFIh+Fr)! zqgtp|nnlDaFH4JAi}j`*5omHM7vHmd+tz?-b*E^Ao!f(~bI5D^;3ta;Pya1821^1%zYKGw7&{2-m`&1K1lKs018j8S~Y zeE!#NJo0P$J?39|^y)7^>fdAby{HqeA=9iASn(Rwd@NgpJ+Q{F`0o~IYHbSqOzilaYuZ1w+~CVjuTPvQRH6f$I52DsLIZo%&euy4X_w~gBW!V)XXbMs3Lax-SE?A;QQ{wa? z-;1iUYNWnX6P2bW!+?YhUV*e)*B1_EL%v)!=wu?w*?_EHw`oh8jxJ!e4L~jgXxi|4 z*(*y#xe99KUQ`NOksy?i`F&;SwavY#TQZ7P(`4xePZ?=ziSsmNSa;_<9lE2_zrIZJ zlGJwvF7huNOJ%oePG2sVvNBbi$+N1Ammz5T=OmeqzZvk469;|NS$?{h+#Xdzf6I3< zkv1c_$uMBm$%PM*#MQ3uHib88qz$hLzwZp6+$x1p$1)Gs{C>;F!hi(CS)1u8qj>tY5&~D6|9jyx1f$-@_>S*txiew(r*mA zFW;J~pM_=xDjk31A5La{vL50`b7Kv#8ujzWRBM<3xOveA7w!hGZ>QoocL0@|_ojf}n zCVJtia^o`VvnQ4`99U6t_04n6P&(T#FC97)I5 z3ESl;J0d}!V@>CBkDCG05R}2fD3nAb4N@=TB>&5y@A686N%6+_37k36d+;VSwRW6d z5{j&{PNhZ@!uBDc-+AT5AF5se8l z@bc?8?E%W>O>bG!ouz!!=^+Dju0?810%r)CWh)AO-BHLpl5B@7{N}N*bkv)EZR-UU z_>o=u8Y*d6*D{K?oV1X3#|s*Q^pE36t>z9yt2Nwsh;HN*3%xR~X%wWqquDrdTt61O zrjG|MTiHS~Qc##I^G2)I>H(dmf_{3I7c)bSt2Vh%QbImBxAnr>g|XjFO1)+}e6{NpZfG@cH_*io&t15tPZ}<0p~CqA zvvvc6}R+n*V{%qJ5=b?u*5XMlYCFkagLjeB^REFDdl zNt_AZV$7*61SV+0`~8@c(^F}*NpQZ^=U2DmXo5E#O?*({If|o+g)wR0i|V|iD<$tp z^H<^qxb}12(XdsCkKdU{t}J;+0b}kU((55R{PpT|P`SF0Y3ydz8keo8qa04L8o3L<_gCkVOh5W#c-eP{q1I3P>b zkgqC|=h6;oJE85|<;Ecwgl}pf1R6~Zk$6^07{2Z3#rGYR9#zH#7#>q9<+GQYwnfAa zZ!^#$TU_bWc}H|42f1;`kilyk`7ri;+u=B!VYiXyrN}y@ng!9N*x^7;)}9g?LtI7Kl7DbPbwV zf;Z%#E9!Nli^DZ~7A;El9{4g8>1cqDmfrEgP>3kans4}6f%ubX#y+xC{oR7(keC#24%e7BOVtIV!MS;(ugu%ntwIxTeTWeB*kZ_; zw>$&{vPq{w#FCUVKF_Ho=>bZHCW}g^@|tQ;JoJ>jez=5PM)(mu^K|q?MD9Z5h7jlr z5jE@0QA(r9%ixU`L=u|WAPQ=afTbk*aw>^`0(va+APW)g1zI@TO}lIDIIX6Ki5f zj~W(($wojJw2+(T0)qT2-VjKf8*cIdb=1Hua)^=oFd-BWBhB>l8ImQ*oSIrphozcN zSLP+R`cQSNFDT=n+w{~sfNUW!^#~A#dw2i+1X=&(_n7aQceLpnjTAj-zGIFL7*vT} z5xGFAfKyN!zrzI-!nAM!<75=yF;i*tz)=G0_YMU#ntf5|DS$>{lN}`=r0MWrpoN`a z54Y_EnzD)yL5C5h?U0t8V2k43-!Zp8JScWTsO&60gLU!pXRbk+>oF)6U#R$Pz2Aj+ z%I<$4TFJF&!L*$~D8uGQ!vL>#X-GlsZSsza65lR3dx!69-Dx`oNY6S!$QrYLkT@Fv z=w8K603lOzWtap(#OX|d=2lY+I^+UneOfjDKW}dz>)Tb{cm93Oy=lScoO|p7g;r`3 zLWvT<_vM`5>v_BP`kEH1=?qEQ%1ool*r1eDZDXoBg$5cYQD!g=#7WxN?X(x$opzuK zV1iTAfI4oI0HZ{?mR-d*Rl$|Y=t@Qcmp?rF^Z7n&|Mu^9uEEC19Q|~)@7m9P*0Wyr z+Rw{(J*&xPGS-DDQe-`oST)1iF#}Y};Uj<8syixhJ*a9}(gxCF?L<7f>l>TcJh;v* zQrk}3J;>Q>GOJ1-k!C1-gMOf&m3&aLYZVd02MKW~8>%pa-nJIltJF0s;b|$dWzd@r zJt4XP{J?(Ty4oIM7*ffJLsdJr{4a=gZ_f*d{2AX#wId~ z`I^q3Svx6}B#5-5kXdh<8QF4oY!h6{!&%wjwva6ya=I2=>Y6krd7-GwHOFz`rI=v+ z;K(0a>8|TWwE2l2;D$RQ0jsh_$wm^5v3lvws$SR@mgYGe@@?2q@#V`j(vVO?f^6z1 zN;p$KQM|DG%HW%8uV$gQ(urYf#@dfiJ`#SOF<0_k%-3bEO)^qr;90-oBUR6dg@DBB z>jF1o4l4BR6GfDq?`VDJGAIHe9AED;E!9`JH5ClNEY*3I&sFq~vof(C(uCUK?RS(O z^OHuCXVpMLsWy;>?!X?i$@y&4+?~);=aN8zsrH^~ z2OQ@5^KuakzzDV~LsqnJ2YQ!jgEKOtlkL>upU!Md&>L|5nyE7w8#VhtWdPM!MRd?; zs8dTirE^4G6ix-Yq^~)F zc@b2SvY|Z-azIEz6IE9Wa}hLyY+ic?j4d=J8{d4BP0b$JQmG=TzFScv<3dY=!ilx# z?gT%pnlz!3r4E@jw$b}-sZDN8U}rFeXtBf`!j`+3Nr6AjtUdjfN{6xm19Ou@>dMIy zsXb5=$AwDwdXQN48_xA?PMx&!G2!KPVrP=?wNp@11>BU4^{1vWWWgPU?S5<+U^%>Nse<>k_;Ys_ zC-)i)sTPq;yxTWHkpd$$%I6#En+UyZv%(--MR)bPqY#_9p~=RxdBv2CN=r5&Qm(XA znpe^hWa;QT1ThE#(=%d$SQ9eP;{_S3w66(lef{l_^t=NXwld+XF)n0L-)~VtiF;2S z@w_rDjCQz7O)(*!nYQ#}s{FD=wya<h!K(CPqZ!;$cp(9V?zU@)s?$_?aOuo|5bpw zw+@jrzY2-wY7_oUUU?SVF z(vh*Y={i=>^ki3v%+cFW?ic5*QG2U26L?ZPBc;E5KS% zb~$IQ@H5`^x~H!WT(4~msKTwh#}1L(R4D&hussxxy(lJ@^g@P-g}{eKLgvuFO+6IJ zVcrVo(f*Z@Py$O6m#@x_BzQ>Hx)oNiF^}3QIkVXa|)f@25exHO}Rr8fIBO&h%6eouYSPS zS1Z3;IF9hXbWMw8{- zReCW{e%an+Vx_}Qaw`ozy=qH=bxC&7MjhEe1UR{Uv$E0Q)Vu9qg`T#g-_jvRlBH*6 za9hYm?cMds>vNakFrkx~e1?NXH%cGb7|QfpdS*DL`_(f7t4yghg={F>cF6{P!IOe4 zVh&_7gGyq0916l=ZU>H{`qbtdNHYp~H@9xeJ1Y|`7B6_&*MR_mEfhX?sc=WQp`GNA z@s5k_xyd(c&ljB4L&OW{of91D%*!sI=%y3AVjNc-`$Qa3UTr}&NSjrHx=sRrVv(VB zT2o#e`NGmz9)w|DaCS$;YLz)tOW8m+y5{)SvtrPw*yJkcsXgFKM-atW&<<-zI2 z;S20=Ae)PcwqGqxFl_x0wpk(h3fON-?wZ2@)%uyG>^%EV7*p+7*IQS9mVL>nD=;$` zRR%iip_ST%Iy`$OxNHBIoxsk7qh=?p?qe?70FQnvNgDmMei>bWU4jg_%Ee7Rzx!`VinXym^`1I zum~Lt>;wxFC}{Bn>;#!KCBA9)Tr6~JE(Qv{WFY>lq{#Y+!4iFR_bTMN?1USVDk9ol)vO(r-rv0-!@$AUug)-yEFx7D6uZb!DgCR<)f{NgQkkr|cw&_=EL&HP8I$dC<`zi_gAxDo64iS8c~DLFe9U?x6U6!n)HRiK!E3vyOjV`?RZ(ZREkZ#>T9V z@;9#%{?Ry-{ASFo9Ve&_oVcnxPw1|h?b?eNx;dFPe)A&RM0XO=3FS#I&HOohy5($3 ze1T~Bh6S`?bn@xS+PAy(y&(hYe$^faq^$BC9r*UbRzC=A(@RC~S1^7`?Xj9IbH7|n z9+>d&JeEMQX75mRuLVsun?7?!i^$roOSfNbSJf}B+enWx(FQd<+l9(< z(Shh4-n7mJ>d8(nNQ|+#s8P=17x&*iCjd5#cR`lxik>3|=H(a_(*{c4yQuZ|7a8NL zX1OYxp!r@l*vg?NQ-wn9YqG%>opKG`u4h7r#2ARLG}|iDGY(vu93~10*{tnUo?Bzw z+o-?x>c0JEO9ySSbH*_wbO}c`-U7v7lC)R{KXfuCRD$5Zm8-d1WNqa1_!gnA9Zq-Lc7<2fpm6@6G|}U7c75bVl>qA~`R60xbJ2n&C8tTfzc+ zE_C#pYBX=6DtMaE=S9V5?YnR1Gs@*&S;NbNnywi8Zna`@DA~~QA|%laWt-us%F)Oh zzNa*KY7?aIDylU^*)|+p&M1&9((-vl^{*9-rHppjGX!8get+_0RrsbnFbAk4Zwz~LLVY>il-{@1g zIFDI1H(vZDwga-pZ9rMmR&)RWfB;EEK~$y~bslq=OemzpXN#@h_3Tej3?#_~{#40c zE;d6|*e~c

t8zRZ*^Em_u)Q_j{Q*qLeJMptg3^mIgsPF((#wMRY`gJtA``sk_<6 zfKFevgS?j>ny%!=Rz+xJo4U9N^IeZdUI=iE?bzBq__<_DTT;i=kDU=qU6(dG6L;1ntsPZ=(8E1-Cf}9cZy-S z0rGLnK^+o&uAU8`ADE4@aW@>Y5h84Tkiw-Z29<`%nQ97;2cct;c5+>6iV)$d{ckbpQGsKc=LOADc`mM>92eZi`CDlNm>SfFR1V+Kyd)ZLa zv)>>s8pyU)dnalG274hQqcFWAo~;i zr7jA0y}Q%Mv_Q%tvMwYU3Hxa!8Z+wLyVmZu0ZJr;L-r5E)M>R-Zl%eNllo+D3w&3@c?)7F6~pP?ry;E@)h` z!em1O5(^67M?DzpE=yuB65sC_KR8pe09ND&F?<&OslDUY;P@Q@==?FwIVJ2~o=xCj zV|+wdQ4E_Z;n`UU7J3@hmu$K*;L$;}1bURvOnmi!$T5x|l(ESN?QKZFM zlg#dd$x6Qo^heunWGT^D^&%aJ0hX$3e?qYxbQk8zydJ6j2@td`7LisPIGs}$GU*$b zCTE~)e?l)?KOBR8D;qv?_WKjENh6iIB?HT|l~7k}3*FVr*18vZ*fz3hHF-mN$e7P6 z$|}tWDcddd&epy98c-`^Y-ie!o3|n}e_T@nCN+EEhO`s;XN>6E(q3RPQkN~Z%_BKc zIriGvrvJ4=tVkV~m)G#PZ)G}mC|kw7xpr~DnPM5 zY$J`9i7Po$l>!!NdA5m>S$&Tj-HUny@kT>hAg=-;tOB z=4%0pS`MPb1crqP8r0n(8CI08bU{G^75EiEi11K!P%##&PY98{+EjuAJ7w7{(f@`dADE;-fB#S@dtih6j{<1F-+&C!ly1~WelVi*D zaL@@yy57&if$;_IuY-g=3BHWo-DI1|fKs@&d1GFjESDz$v+fF^X=of@M)UR<(5sw6 zk})T9cgGw=Q#m);2nFobL`uFRvm3E=^6Vb@j<$$z7^$03>2>E_u!xorrR+K%4t^vk zJj$wP43n;|TufVM7EK_p)Oj&i6LY3@h39mlWN2o}$=(lPTD$^Hww0;N-mT z-Q7{LEkUmXW_{}{n3Gd95Eu;c+)UI%UT6A&81dSvGrFAj^N};HO}@JX&FQzewD~^G z^}U_T-7NQ{QF7FTdhRjYcyo@#_UHrS!LHJq{3^`i=;1`<&BGHoj9H_|q2WhY{~4N! z(dT`7DgL%q*_52-#QEBL&39b+^_D?@$-86NmYeO+ChX=Lk(H;?A_3abrN`a)DYJfF zXtjG#D9h9Z;{!XUL&4_?RABR_Ad3Pmpb2DWieu~`lKVly5$gx#&B{y;78|IO&s9DM>{L&Jg7nlm%de6e75pPi$Yn70sF%97uf6 z7dbFkfJdClCr^=6XpKkA+rx#KbATrSFTp#$z2CCm>;tU<*FF|ff&*I!N97bE;R%lF zJ>g8`5)B$hrR~VfJl$*rH`0=Xih9ELe7+^*Ij^%E&;9z=o6Bd|sJGyCody-Kzm~bQ$VnHoW)E;wyo|%yE2!K$4HzAWPW16Y5kj)ZgGmTPG?uax4 zgx1S;sgZSWiV+^BaW|#`dR_EQxmX>-yZmN5B&ZTz?USc&*5f`F>aqe@leikCHHU$_yAdCQNK`8Je|l?S%0Y_p^`Qae4*>u*dzwyb+u2HViE zIM^YqPI<5G`N}C2dgCfHJA~nIX+k#putAex_Wy|9#dsf$RY>Y@4|@34S+P+uqw^| zw8(dK)1UZL7gupdr^Fp;AyllOF6PE$6QA|VS4SlzERaw@A`C_k78#BBx9ww2OkjvR z5;9bG#T_LCq4GTh6h-x4+){VXhdgXc#YaghGL1R>>wfwRt~!7edNZ7feSMiko6ZOa5e z(r&;@aeB5nfZ1Ib}vsYWOE!xj!Ry*bRagE3jHjeb-l}D z&#@kzXvu%-E`fz~QT8R+@%Oc%|nTc~}6!O3vg|FpDZYxDs9E8qY(A1N0g&iHas z1Lfa~3txx#bg}Q5iqOKn*e$PWv2|kL`J17;$Bzh2EQ*PR^YHg68rU3=2!qCK8~vK% z-t)r-lX8*hrs7LM17WL)xT6a&BaQ`Pqr6-6d&+jsyK#BUEW`(S9|)egeEYe}ZUih1Yex^T_C|(&xvwfP=M)0; z;|YqpnQ#Q7@2kkp-LZf_7-)*#-&hNEkzOi?Hx5*qkbTU6%lBkrrCqz|1RIDkfc7sF z4i&~GSuhbPL>z!ao%K)KGp+XA#m2}P1zQ2GG})kszjBV`2ALgRwYy(pU%xwvO|4X{ z4pj^=QEs}hF57}3jczKFd7xJGGg}dGgu{(zL$4%|1(noq?2eFot=}M1NRN3|PqJ_# zx4Dv+Y&O~BCRSxj14Rl|&x8rv3}C{u`%H|`+i$H>?z)G8CSxKpBEdu*ldbyAmM-^O z$tJx<OkV=>^i{y^D6}s}V5LlxZxso_*S9N6WJ1I`k`cLd=8y zq7-_+vO_WeMdMPb>%ped$=?SByVv3F>NU>QP^!A`cY$@UdhgXCz0B zj=tO22JN%36ChIw4q3F}{y}x|7#L+IBpGOt3ClSbCbE4~q*|0zrTIk{Z_R{KJsynK z*%FewsQXQc-xUgF%F$vghwIGfib5ZFQXavyXdMD_z1azvPq7oK(wGzCh-_?XS2+gp zVj*|WX%z^4slK|=eiLSs;Xps`VKYfRbXGW!dTP)+kOju08hssz|Il05mAuJ|JQxLC zSWXq5am07D6J(;P<4j93)(oW?hl)OR-KgFiG0r)QcA7$O@4+@r$cQTvFJ=%~nXYMR zB#HX2DaEbWa%ohWU>}xw5P%bAz(O|Ij%4B}U?$~}p=@^khS6Achs*v*c5k3ZXHD*BS8u_V^EU$cZxE%|z(*~NhCa^L`fUH8hwbX<|nvB4+ zx=8Gs8LJHgS=eTzdiuzA7HKsn@(nBcI5-fgu|=L(dX0XAPj4~Y!qR9JW#*4GKcXM( z+lL}~Sp0YW(z{w>`Dnvv|JXonm^6@Y@KjcQgHcnaS`J!AYOy@4@?92MK{BRgUu~k@ zmUwD=jSN*ltw`BafSfj&JU!b~Iw{M6M^HCq;)g$tGRQ_tOFQpn^P(E4kQ>+}R_f@a zEs#aX9q&fAXwR6j}9~Z0XF>aeLVq?s>y-&x-9PW|B>7 zl~$9ZhfR(AjIDIfXGdN*ZTd=qvZT9aR*HHTvtdEzV0obyl~LOW)JnaL2Bt&$Cfm>S zLx#i7@BUkzpC+`yy+*&KLqeY>H`%VyZ{E$6fGmS$ld06Us18cjW(fT-b=pIw-Z_sN zBPs;NRI8XtrM|0drBm_}E#4ja+1W_{Bx2Ubbn?u}o1)M(D;-+bF3HsZpj+?B`l@`X;wGF_Vp!?#n8x_e>_!>NoxyCKLJF zQu@}llvf}n(^k8)g}Qn#40mg=7{oLgL#REAB*)KBNWLS^PpEhTJW=WY4#bjWdK(>{;Elfe}Grjv`we5jsUl;IPTkK<*blakq0{_nLy)(O-vNo zGHOLHtDuZxxA;zCIi#P@K(JYq$+;tFsAl1-0YdO1r82JOq$H7sQB6^zC=h~ zwe#$_funX?Tk@St_iBN6O!y8p*>sP&>tKRMKb7)<@d9rvt=7js9r)nKetP$s&psa{ zTvL82NB(ziydvMNv1BgmJw0wVKgPx@S|NV!Mjww93w;_WeLP-d35=SuuA@$Y^J!oD z+)6gHQG032nvO{4j;GC9RE*%3bG#r!X*}%NmUzJtlF?xt!CVzvh9;o^#8_ioF3>=mJdjPNZz2Hc zx9nryN?IiPL{w55C{`zkDbfLn?EzUtz`?r>0#x05Xc&QK<+fLCDacSy&u}=VEl^OS z=CouK=r`-in37V-z)m`Zo@vA3s5z0==^21tu&tJ6T>2T+%XTrcwSGf3$nXju^!u3G z9M}`<)%P3wl8sPhIOa8teZgV7nQ5F3iEO-aedZiv0)!yefwBO`Q*yvC9cPmT@giFi z5B&kK5p9nki`Et)j=3DLrbKnJ)7QGdLFLVrZ6bTDIjF2ll@f)BZ0mw>Tu*q#Y(7>! zg~l{YV}Sk8UVm2=7cQBEEli|I3C4qDv`#)pe4q>BOS>eq-ypM6b01k($<|d7F;F`} z{;=U#k(fL%VVY69JY%uAy0RWxsU0ZNiMm>)L=3zbuC9Ie_WPK#%(i{ZCGEV116UWZ z*tU=Pl{f!M&QG}5{p$P#UX03%TJi;Al#5MG0u*<_JIHqg3fYpa!Ttmb z%_z4YTVhDoOoF=Gwk{A%Slyqne328Ks}TBGZ9Fhl(E^oZiHeI>fi^~e5iP&8?RH_| zEISZlei(unm@94DgQH%ih0mhlH6;e!wBK6L+X;LWn@Qj`F@%A6FucgGEP-V^p)NAF znw649O?7=C2B>|tx3;mN{)=G!{sc5s?1WBRJ=x7L)YcIMYU)kjbf?W54BW z4ViagQo9kVr7%JH(=_U2+c^OWd7={EZ@?IPp=?WbLMJe(jZT2mJBM*ncEUMRnyPlw zvE9T-Uew0cyZ&ayA0{ZxY?CNTlD8_qK1-H~)8^Q5n0RBhO=itGt&IUY$R~nGbod`RbbNIopXW}RhsFC zgT8iE@DW=PxVz&bFq3TVa>3pSU(bm{e_nb_0wvF3#xVv`DJ~XQjH&bozJO=4K4=$B ztxMUcV&-6Fuf@m?cd+2OuL;+Y<*aBsP}y99_EGWa8J1T*A)L_MyT0byS9|vAh>xGh zd%uDS$7e;}GcRiNV;oK@F;U|A%%}|?Ht*WpG$Z)5yvu7V@*bN(vZiD+&^!6O>G+w5 zG!6gkPoORN8mWeYMV3sR0Jf2Bw?f|59)NznTWT0I*@=-)&Y`lQ4OsQuoQCt(WItf+ zPdIELauc2~$1d7Hzg6C~_MCaVX9JNOOf4NU6H2>h&t#9>1a53CKuDSZ+i|5^fyse) z+x~c=Ri)3!f> zzHK0NGwmpwdsHw8OGgwP1Q}xlAYLr{+?1yKG#S}$65v$(6VRpDpMaTRlcN!~9SD_? z6K${H_-S%ixD8u18#HFmc~t`jb$y6h44nGN+Jm!Kcc+);YTFk~mvrFS&j(r#;Ow;? zFSNZAhn^%&&*Y5cg={E)*`I*5P#@*yrk%#@0YLve^gU(8 zmI*3#jyHBy;mGr>z|dz80J80);!Cdp?2c$;7pVGF$o8C3=k3Wz9x;;AlvM >`j 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

%WFsp{;@cp!+>U>UOg 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%0DBlTW;dPhh8?%S#N zuBG0)o?1cZ*OYXZC2TZipac`+R>fb)y15hJ?UM&Oz-N- z?7mO>9bokUlxbAl)0^4-0L1BC_cFWt)4T4bciqqI?n~{wpW1a7IhozPshxLIyL!{R z`%}B`W%l6SpCUu#45m<;&9tf@F@TCJ-7_GieVIKYnZg0q+Wkl_WDchH45oJV;hxzu z#wxo9GkcLh=0Il8xTFWtyGK*IhlS^Gie#ueoZdT;V*X&Ja5A+Q`GYAEPau&lnk?8i zn<<{k?3>FkSxyyAp(tH6o!&c{+C7rlJB15XGKCW5L~3+W=%1=(z>a3)nW zmI8h8bgB@gv+1IR6iSPx(#3PaZ7N-~m?~mAQ@of)0-a&Sg%q0DJDVw5N)@7XIz_UX z)Lta!(?v^Zbg39ci=Y8>ijuPN7QCa;Ers!Tz;3zp=98$je>FUcPta84_=N@FLBw zuIBH1mMK|F7cUp=`y^AmN>(LLGW(uq_CL<-UoUw7MXLBoX8*H-_rJ)0e;tYKAAY{= zgIAf7_56~TnWFVn;R^Vtik_y5o}^2j=I{S3#dg7GEme%nrOdwd%)V!-;-qaX zP48P3GO`6ty7&{4m8^hF=vfQQ$)p62xh|X^XG%c7O18z%m@ZjH--I4*fzP_M_&8ni zOz2mc!(QQSKb1_ppS27gaQ|w0-&(rlxzt@Gf3n3RJms?#;oDfvM`;mXBO1cXkylEd zc-z}QSSRJarETv&mBiY%_t)_F`THMl{}A0q<`e!e`<`t3;8|uLx-GAFAD(WxVE+^5 zy#ILH{-*`|SGRqz_|Cy+?;L#k_JOtc4nN&>?6da{uf20{ZO6f9?;U*l&Vl6}2cN%p zaP6G~E4c4Gy#CICrFTJj;MrT>KwB&5z_#}vzja{ktphL7bpHP3?H@kd_5uE{#cdzp zzs9S6oGD)5XIY5v6Cdq7zQA+|zPEXPFncG{g)^B#t8_AhFLon={M6nN41v_1X&F9~ znLTrvqRBK%r|~njXC#dep2Lkp#u_{6y<-_x8NnFLFTw{uo-Rb@ILF}L;ery>o#064 zC>!Un#VFoOnoQBCjMLH7o`Fmun1Fsr$S`mQF?b~hiGkE!(4Zm&2noo6)yG-1dmtk@ zlpz@Sdmd8G?0rPaJ;>?L6b@1l?S^0h*~9eS-uxoS2hiVVb#j2v>&q|);_H59&p>+5 z{j3Dr)t4!}m)YB&26M{B-pn2doO`G%^baK6M^?K!DKqhNS9g|Sp^#BjGBZut2szvZ zp_<0OZCU1=6UMBh$Rl6O$%L)t^m zW6IdwlfPFoNofiBj(iqzUdTX7b8@+n-r1Q3&v!dAySobZJmAzrvaU3EV#3! znP}%7nT#+`-OB8eIp{siN?pR?dj9S^Y0g=k#c-u|v|`4wDyDW^&#=XInaFOY-oxC~ zCNrH(g*&fH#nzq2d(ZZL*7M_E^!@d(9{%j_9{%jt4}bP6xxc>tuK(x1?*G}Z`+v?- zEAcu9*U+#2zVGM1zV*YuA}Vm5(Y;l=uT=G%(LCjf`&G}`< z)xZ9`-~0W)G!spUZOy<5-}?5y`q7VnIk)sD&{y8s(*caJwEA7z4d_wLwblL}a z8W(gjZw)RUjm$$Q%3VC17_82>fA*{2#tHi>*XZBxt#bJra(vuu)a9>bUGAMKOxQ{# z*>c&No

@m9;}(ba6i$11YL&_$QO$?`ZtZ>hcqPJm2$dx3{Wqahx>4DA`HtUNc! z^P34X0;hy6-GLfPX1)$5{4``X0P;zf8gu+-SyA>QVq3muaa-bv%hIcg98Z0&7uxFC zTzMARMD>!(*DB_SOU&^>b1lvBHu6YjzGvL8SWyJr$y7F9a`~?i_5|?A^|H+o5KbL4 zgJtf_#a%zy`&&3+uX!4Z{<+*hz4T4qgTGnA8}I@z%T8H%%mxWssN}XkzWS^=%io%V zKanmv;?qwQam7-{dA70dD#MgX$u;|&;HBKaHSR|gtfZGey@q(EvMbOmo=EkspzK>3 zxVY!k=f8~;PTl@DvY#oQ<+_9lfbG@nE~vh%JUE&02~Dzp5n%wxtT+UADZta0UBOnD zxGK4Vjjmvu>~{qER@ny$t>4HE@(eXs@LDc+LFERixp+X5U3P`8ZDqhioh#VE-CaXX zF0;iKyB}rkdycv40J-n;V+;PX;)f#&5vbpcg8{r*Y=I$He-L28x zeMp3MUyknXGI!m|O;>M@Tz2@HZNW2ke~ly1VE13L1o$Lt;i-UqE4DzjJ<#a%-!Xy} z_F&_t5Xf3=!3t;amLt?;3)DG7S2qPakYf)Zam(;G+CojvV2?fAYzxPX(`KUEL%7=_=ti$2(ru4kcbE^Hk$!vZn%(T#oanPhJ00;m z4s+5Ly=|CXjwrg(Ys8xE=71yGXN0@#QFLR%7QJJObUP#Cw#a>3q{|*2HNt&H1dR?m z;sZvs%N~2^jLz5--S$|&Ei!DF{YK=rBQj%)_8O6U_QbF~He*Y6ITB-AQuEHdQCsqn zJ@(j$J+#H{I%Ct0*oYCi>xfP`qEq%nmm@a1Id9q)dt{3bI3lZ#ynaVw$dR0|#V3ut zZd-iDkvDE625gB@du+u>^xBd`w)h-=+LD9L6uw zJCcjG_!P+Ou{B#_+=!1j^JbmNMI%1sOwKzJ3%2;QJu&5oy|5)FY{?Nv{IMf%-at;? z5-wY6%#m7frdDmq8GCBRnfT0}0=HR5-m)#RY@{C96KnS5vJszjzgxA9I3_4=@-tt74X?w@O(@9 zl{0_BnfJ_@_ri!T8p)L{`JZpy{@js%yeYlzOs(1S#+-R*bk)e~x92U{^Pbr7GY|Yf zv*j(@Q>#dC&R@4>CLDP$kv5Wxj?`0U>ZLuk;z&K&od1akvH#5ud_;O)sbFx=Ka1S zy<$%-f}5ReR~;#ot|JH4H>F?LQcECkCV$VKp10u{`Rq@P1YY2CTi#pZVSy55N5?`1Y#*t%cCLtKoM(^S(9ae`_W9)+fHV9_PNf zl(X%b>&-RSn=7t2)^oQ%-MVer{pNGm_Vt|Yi@9$+@x1wR>$a6G1(TZ+&z*TA7zmrw zbGG=bk?OW5X7GJFkQpC!Mpy0lp5u?4@kM)V)E4h|#O59GDI?Kok54*z4Lai^4s+QN z@3TdQHpR#7kzre`8$-+y8#E&K9q}PYbXvyFqfPkyVgrsuzcV^-kM`T+-J24V&cvV* z?X<@R9nosV||8s*NC>+%|Uy#+km(OA9K(a zYqLdq9HCgKZ0;G%y!5(TcpE?wA#!Ews5BrsdqvQLTW`@NEw2#x@tg3 znq9WgEy!U<=)S|e0oe=r>@@G%BX#!hjV|t1-tCQW&<-$;Ep}m zYJ@B8!RwnM*O6ljHah~{m^&QdYtA4hudBA;MTh^kBY4^H)nQh0_;1?6WtgO#!8Tg} zb5@-*0B-e0pxhp~W)CzOfhs2aZAS3CJ#ZN_lo6=01*;wYPFwI2($4TzoBxUtI0G^p zCafSHq1x_iH-crG%sO8|cX(GvXwMCEcW-!4XK3#gb5D=Cw>!MI-Q3$5-qjc0do8r< zR&?*(@b25;y)7i$do#4F&D?uCy!&2w0sAZj({EE~$L-*|U5cwx_f{CL>#Dn4^_+M3 zuIZlYuhIN`5CX4OVp zWwdo<_XV;xO{x(7vY`;I1hfE%x#O&CC}eRKuOx1T#9(FV(mCGwEY>bV<+4@L1=-%m z+RRFp^DQRUo3Y6J=Uka{zr&tzQg$e^b~IvJveHj(;=Ck*;MrY+&Pc+tFj!~0Nh?8X z$DwnQxF9<$NhmYY*&^ASi0(;NTHKKQLPJ-j3sP$3lz;s>Yq$TUbbzO%WnHAQ&Q4-I zV2E>BmK)71Vr>Y>hn$FcD#E?PDO5afm% zwvx}qT(i~_YY65wB;IJ)HE4c?0_W{*?gaOSt2UYiRZh(;cktB{OxrZ3s z>^?y<*CFf7W=S7om7I@gh;W})+{aY!DJJmKbzJkFl>=N3E1naI`;?M%Txiaaq3ZZ@Rp>x}9x*L+n9kEX9M0v8o;x#B5TeKm>~RZ7)BmEw~s zzKg2w5;^SK@}AFtCc{t;;B%4wTiz{D692QgW{`J+*OLd zUh&tVR1MUtfd<7}jh|}Zvf>AEy&h~xT1J#75ofdv3_d7HYIpj z2{h{A78O|P(ocwutN!4SIsW|1oKd*V%}9Eol5ks zp6FE~Jqn1!_mt3W5a^LE4V1wNT69psW%er35ni!-N^DS#jgXQ>qo4t$7Dwrj675%_ z!z?xX)!3LCn*b{%Hl)VKkk2ZSDa9OC!VeS^6-QA;jREk?tBD~kKB2{@gyADSJ}*Bf zbmT-Pl?duis8J-wl=$e@?ay-GTGEnZEHWpQ@VFM8Q=>DAIig0VmDsEjolv6VYHUe~ zjVkd8BX8RE&YGiOTJp!#1nyI6Y(YwayB5{N6fPrgMN7;m@ew^aug1Y=Qi)Bg@mY2$ zHmSzvPzxQuf&Gc=os(=XxJ$DN8}yy{fx=WA5+1fFMNb=2Kiuumk`679FaFa zX8l20d`xA|C|_o52tCmg=<2W%A2yPBIiqT<*Pb`LIe&c1w(%_mV>#QWw{9QVx_#91 z=Co`3WX`rB_nT9$H^y?d4ZGi*@V+&>C4VrdU^I98#HP%Mns{g=CpQ&LIx@q~%$zeb zZA*=A%AWxsv8RU|nMtH=sc|DY$PWoa!0c9|`0DUwcJYgi-c!sj6`v)(PnP!REWNLU zd$dR&zx?nW6<>AeF2_Qsn+bfVp-vqm2xBUAOAU9c7#+bIn%T{<6GqM*Jqk*U+1nUU zGAeJXCWhN>j%D*Ub1<~SH)RZVDB&Bb305e&$)BuvO~&kXC2&m*-O$OQT?w`6k(;a- zYEw;&`WuiNYFNmEEyz?t%z=c_P!xa+xk{lCYEk@6lqw{HRB6%7b`}M$h^V*Ya#TZNeMJ)p{t|})~TV(xF`mLO)8oW)Z@~^D1yXm5atk! z)f!9dDPu$RA_HrbK%EX&l&dvb0Hu(_mmpm!3?bEh)fy-R6tf~xs}*k*s;GfFFrg3* zHYk4NRBI*})?`IG#JE=^Ij=Ise^Ciu6xm*hR%BkNG|*K}CFLq;IDMRFDH3kXK9wpP z!o*anW14VRD0K7(O_}04k9kMtptG1us+G?aT%=+ARX-H2m8pl&`Wam)ud{Ek{8 zsmsayt1D~Y{a^mq|Esck#uKtmQLs)#zO=mdy?^)D|83^YHe~+d%m2Qqd3kyDdq4W| zFVowa^WSd!$xr{j=l;v*pZxRx`aA!2tEck7v4{WhAOH88cb=nqZlLD)>7jGwW9KWz z|MYu*Z6@l(p~%|#)C#4gI?hcVt%R%!Q){<8G(^Q0z29>G5N{t#o#ORXoKPt-wS)&* z-(By;5*DrcHBQ(FRIp%xPq4vjoIsV`QvIpTQ{^Rc*uV+&-m%~W&nvJv zY`ExLX#4DIal)d|pX27O8%(5i`WOfvfRNU2+#cGxKQ_spgL3=7NgB^~B|MB*~Uy;IA15hs+(X8@dV{_AnV zsZ+8As`XV^u@K@51hzCNSxhV}dRD$73j~%)%(TQmSo%7_hSmCc`DWy;W?Q$=g5`H4 zUQEm^le+|mh+fXpVCA0Ezsv8aQYzA{A#BC(i0xKOtU{@HC0(-InPkr*p||1_c*wNn zcVv~;35vKR4oKu9$FT`Kp!Lr>hPg&eDB>;!ZdtFSrme&nm*{sCYYHao5^uDN-_hNz z;j{Ep%z@H>km@@Cz}5qn-;uKQ1B#NIkCmLma`@UgVuReH6kA)56CUKAqSC(=6_Gg4 zA|e5iJ1&T)GGTZq3lG4D8!MHPEcdh}*A!xp3Ni#MRAlK96$uDC@N}Qi+?7)OtPbIe zOp4tK3TukO3z9%)nFdvx5)feEqJk=b2cBw{x&T5dG;fUv*-8z%J_NcOqP&sQ0B`~U z!$pz)(Ee-5A2SUx04PDw#Aybo0MnAUo|4^L$5PG;b&9uzwY-?XuJWhnqUyh@`kOGj zDE`Zwx6rP?QS-MFJRrw^P4Qwft5d!0pj14KqUg6O9)OKz6*IICP~nOifM(x}iIac< zrJ(e;tAQKrgZ~<5bU)_!RyEj#T2%Lg$iXy^iTRcqx&=s}1a7E-ZpGiG_^+$MZkGC6 z)j*dL01^Q9=%nHT@DPN?e^0c5JEGQr;D#3NWohshRCX=)NK5o6(LSo|A<=Te4@K#L zB63efPT;m0dLUJx>)h3#6DNcps?g5C5PZTTL;@i&gbp_bGBq+xcn|{dBQ-p&n7|MH zq=%XwhCVtjSFdQR6N))RT{Z$W`jMsXi|UW3qb|-Sps7PeHXn&1J4Joh98x25BrpfH z$P7#4(AQ^;_R9;(RMWgmSp+mzC&#J&4=8R^78(VSYtvWNa#2b+rD$pi0 z<~hYg;*my>03~}yjm;Q|Cx8J=$7dXwB_#onGe^Cg3N*-;1vWslUnY8qOzH7eEitde z$834adSVfjD&fisb^X{3$$$#brT8lFfD)Yq(jXLx0x+P(d7^^otQxaQ$F=w(x~K4Q z7T6`C0{oQ6C&4n`65t0bB6C=9%QX51U0;hVu{1KN19g}aYHU)EEfNvMfFh=|FEfId zGfyNC0ZbBTWDaR;YZL&3Zx77@oJ1y7f+AuzJ-!GCr^beLf)ljPge?!9xv#~B?Rn#b z3I!8e^A|Q3jBG9#&)qhYlRvdN^C)-QY)--WmdtQY!G!0H#jOQHTk|Kjq^E2NB12np zc5}fT;DIx}uqiVSRN%}kAZ<^NI?@0P3%0yTTXI;#YbOA>tHlQ7bGn1CMdfg~r-XY| ze2sw3{OnPRA<(0S2RJ~W+=u%xE|8;vAkZ)H0O|V*MkPjT@IG@eNW(p9sMkX28XDrj z?9|Xuh*(`S?@8j8J^p}cAOQ}{Zn>k%eZuu7IS8yW0yZ~wMuGEomV_qm1!G1~f{!5%JAlorPc09l>lx(L9a zy6XrJT%{^X-PN+rRW6g!1wj$Dq{n;*<^Th(vz%OTVfu5IN=3|5XE|pP6`Wx!?lP|5 zu`@Cia?!0q=2O6fN(FOq&S}+ErQ~ATJ+8Pe@X9$!kl-qp9FUbMxo2g~u8eai=3jz} z3)~JBKm{Gk!K{5sb5}9pK5h6aIVrzBkC|JeIzLo4fArSwtJc1#(e%|lC0$?s%|9%y zes}x3*SEjZUhvL!Gw<@>{Ox~SSpL&vr-uIVfBZk%Z#|ow`OeRN{@?A{*X@hc|NFoB zhg0WA?mzteU;o?x;EU88`gq{ifA>FKs+;K_`qsbstN$SToXUPjqK@Ze_dDX5yH=!u zwdsv@jGBufn6xBhPhYkIps9~C0F<6fVjPfV;4E9wR>k$mQUqBlx)(k5d1mug?u#nk zM2tzGhY#6WRj4>#vsg4Ag$9C$_jX}T9=$kIt7W3lk9g?CTg^}Kgl_3mi53gddNdn zxOfJf?Bbg3aD~-LVT-4z5#JuV<6BiW_B%Sa@!m=sN~XUKC;T)NW+1goj$!`IUQ80% zEKWYeLi`uxRJB~XTA>NxmW}<6{M_$Iy3HMjBv#=<_RSE#UEJ8fv{L?h>(xo$vVcLf zeEA;GN!Rb(@93PwGgupEkqHlVrehV@)@@|U7nR*9m7YjBbkk~Ni}ZP`5ikET3H%jZ zJR2dvPUdn)ql@B<)FAsEai>x1*k;+7sGbKD1ZrHNdfANV;+``vzYZt-rKR!HiOAZS zH0!5SEeT;lrzSFy-HNV=%TRW|BRTG^N&KVeCB@y1tc{FOI7p&OTl45d7V zIfpKM$Va0MTZ6T(ketUHtji5w^~PF*smpn9c5L6-ReZ27H&&rT8oG|F?&G@qyvAkz z+}?V0ao) zs(H$7zIv|N5E3+4dcW?g*SYFbrui-!zRQ{qFreBNsMoyJs;^A(-(pdK@ZXAMQ4)+I=X}W6&3e)aZZ~nbN45144`|@o^=8RC{Aq z$v~&g7BzYI)1H)N?&GXQWnbsb_lLs*;%3lj}+XI{mDgc&q`6#3on^fFVAo zCYSWY3l*h!S4ps4Bp~6_tq`%qm(UYI7mG&XIp0GJIOMS=z(bEe5d#Q1yr{+2EYpPb zy6{jeWml28B!~s?e@SQ0i8OTd1dkA(1~d`_1u)X0fkvZ4z!EyDCuZo`m3*q>g(slj zFY(`uPat7WF5=^~C86KX>v@yV_;a^E&wXPyXWN47jpf{JOIx>%ySA_9ZlBw_ZOZk= zVrb{{P3h^)nb}S0SzBV#o|<%~A8*Q^+f*>MIe&R`!7{MHmV)KY`Kyl1gfl(ArC=3M z!AOo9eCNYNDX~#vhDeW!uaqbkU+@yN$#J4nLjr04A^vFOM61&+$1D}L> zPYd_yv0(wRJz8W)#}K1K4*mVKNS7YzwMQT6=6ziF;PnWGRi`cbP&a`_y7llw8-`n? z6J*ScaPT6B28YmX)q>*Ybzl-5V-qMM+9jyFLyg?F1D^vbm>qf)9eAKbZ)(v8YP3fQ z(_R7ox_Lu4ZyS+&Xh;j+FhXw#Np;0k4L zuvPV6(Sne@Et>zD7OF+55o#7mUabe))L@MotfkR|80Hel$iY{q1;L~ZvxDZXwL>_2 z8&qGd0S*8>{wm#n*`Vzg(?^5uZ&CdhQN8qJHTRZQ*nw^dF5){n7r9?pua})1_l$lYcNg@dtbN zcZxz*T~#|fG5v=F!@n0vHD+-Fov_8H$X~@cX5s|dz%+{!s=1{48!`(gh(f=yW$JHm zf+&I;IKfg4B?7_138MCWEl!ZwWqQn88y1N^T_rdnyUCI$uNErEnjItvIBR713Qovw zc>15?1bQxQ_$<*7aY-62ZTothuwXIyP2XgjS20{{0080yp2xhg>%ZWH?545jvTbF- zNtJjpW$Q}cNWbA~Rb#nJ$-xCQI7m1_rFaTuaYB8`)YsvJp9oIi9z@8! zbcEmp>q+?@Wam@Dk4kwQiz(gDeOA&gqKaDuG;Q+=0(f9l!)KRAK=9hH48P6(Y6 z-zSS+Oc~rKO3VvV(fZ8fiy~VKwekayeNh?bO^}ccN4Dr+;{<74HWy+QYV*}}0b-zV zwY5|)P>03=!U;cjQ2qMz6Mz%=t)lfNtE*xGsFAOon-LM|vGqD3<9P@|CR#p`0HYDO z&5@h{E%6MDRF(}=dA>4pSodOfA5}I~PbLigucsM-heZH&G;bx7+T74(PqZbNY)rgy zYugU)i<%QDQ*+CdT%NHayP%#>a*k@y?{fhdcpfv?ByvvTr{=08S?(#7rh_v|&JoR3 z&SRTV%4LiSu79}B(u_bm!x=8L5Kf#>dERpw!G^m+<08#TuDc-NLM9|y9m#Ufp;Sc^ zo{tq*xfN3d-;vQgT6Y*T_l_P)CjGxyS_)cctoXq(73oO83^X)N?^~ zH>jRVN^ZGW37W)PsYazu;1aFX-exW%d4X-3R9`*CbQUKtK}Y~3;H}mC*J(ZQ)~Wu> zVhX5Gyj=2E+{nD5dQn=h5LdLZls1ZX#n&QBSuL1;6mLCeEI+_TgX(XlO~7}JHhq7G z$|}vWkaj~>)G+hiLa7#P(*xZq!3H=0Ib5e_QQ)Q?yv?;hK#tID#n-No;J&yX0a0`- z{w_Ka1Uglaab57161c|%cn0rroicb!7C1X)9kH8NutN!Uslk46H|kPpPv}+xHxH;eU}`iY+jK zCL&OIpJ@pw*^|!vC$6`i8>ty1ZzcE5PaFkvdSWT}%@i6YGf;V|5tE=%5DI#L3e+q-~l6ZTI{i8PH3@J=^Nf5 zFx6weE@Gr*S{s0l*tZ3-KP(Dx0f)NB=^(KN zXeZuW3xI$4`;aga^IBraNX*euDmG#yCLO8AoAal(5-==pEm+u`KbljpvL%0Jb7o>| z!MyJsV7W0za>|(phLg6`gbhd|Ib~0eZO&f-La?W%oasepYQ>%&ccf;W>16;v@u!-n z=?Nby;Q>B5!d<}$4+&QBUz_wt0xA$A*aP_vWh~&EH!TYo#?Baq3~_q|gQ!==Aco8X zj9Cq(As}#|dLRUhL=G`MG{nIex{XqmMuScyjL0KB+G#|A6Z!f(g(6&&efF5GsUCDMq?>*1DzB=Z(t2C5y zk*ie0jDT6mbwTyikUu?Xs{jdTEAU{}yG++3D)-fj`;u75FVR5ZI*$od009Gjg?pSv%)~j>$0>bK+^$bxEuTXTGu$SDH0SxXx>?TJiW5 z!-Bi?x6WgBe)!hTD{>z5wMgD&U$~a%ms!3>JaqYD!m2K(HaUHn=P@ViE!UupyHxQA6P}SQ4kT2;ty6F5DkBamTyD42chTLc z&|8cBmL(w@cpwYva>@D7+0&QH#hXZc^gZXq=|y~IWXn#=dq+I)%Qudc-l$@AJL^zn zIS5ISTjCR-o%3kq*I^H@uM6@}^ek%o^q0Sl6N<~{gbDQ5jerMs>71M`ZJkVfUd#g0 zR`!_Za@mwgh_fd{OaGz12T#hm!e{7M&$FUSd6+SCUO%aIh_YN%_b3 zgs(l1xsqh$P|CBSvoGzmfPvR+<&Gg&oVnK4eXI+^yUyl<`e=H6~76(aWnc&S>;T&?801qi;ND1AO7}8+nNYnw^ z%I2JtAcT!tJaM^{dojI^RbVuQ1YnRXn~nm%RsBvj|&3@7NSL^JDg!6ZlNC`k}wZbl=}Nfe01b6)X@OOofTICP$;;6ss@o}g6jedTob^pz_9 z3nIZw6<-pta?@4Ko61_{6B`hHdG-BLU7|(D|+>P!ku|6gFNX;Ko zGmn%gAjduN`sh>4KJkF+B^g(0dj*s9DOPEuUyVHyC!$^@#wZ15MhAF>AJT71mVqTQ zVN$C1O9;V`#7GRkj%N^z(I@c?V}wbuVXk(^$H0?o|A}#N?jNIa93NB@5{&?C0|k-X z0HOwk7)%~=;hZ)H0ERI=xkUH+$Rk^NZqv3o(!|F$Z(lI-rh$tXADo7+KWZeG9R=V# zAzJk`+oBdeMyDMh1V%ncs6c|@1OzHHn}}}};{==%`Eh%VxtUu zko%1Ec2r77Br(UH)5S~Nx+3HBo}#Z8-xc2sSq*9gJo5e-y)ecXNPj2%FGE^<%*dNi zi5`#u+l>b6}P)`mTiAT2N;HH9cXFlHN@TP)MXa2A~J-8_| z=6Q$9{I=wfBi*kj1_^-U4~c{m1CGqdrh*A0i7Mmv^r(?HY)cK<(-T^pRy8e&H}F8d z(g*xRq5eki@$046+&x*y=LfIGBnPTCN*Tt}B`f+pQre}(x+SRKwtV*VEMfqU$pNK? zyCf8Wkvy6;009p;?mFmq6zSm53vd83O$)#cl7$&Qq-6sSS`{X^ijR@5VvPG4sGx1g z1f9dbl>&jIp0NaK ztYc(?zgh{_GMoTX*ME`GU-a9oRfD){tOx{NP^NvCv=Ac}kYg=hVP?>iU2OR*oCf6Z5%m@!YujCoS?o|Z}TgvvOFGhCiyY{N;qCt2};2`MDKkeztF-_ZeF%BByq=P~c3Jt3C9>WkF7L$$fVY-ED?_K1d& zP4LbgkVN~pa-hNI%C14Oa4Td!nhQ3z8>$v=;+Ye8?RWGQdjj`={Nk2tQB$S_hlQ7Hy3`VJ%P$%DO(p8Bk5a> zG)gBQd4zKAhQzRD%c(}}39^Y0<8j#*ouhKNM^K$OAjv8|dm<+;(|SN#iZEe#K(4RW zdM?>yi3|VI5E2)Dr{595Ax~hCzFn|h(T1(VI$EJD$7i|m;E`*@$BC!B31_|ym%m9K zK|TyG_ixSaN+c&R4Sg7vbo6*$u;P5g+e#aL9%?}sby=iQl#uf+-B)70#9 zdDt9%fvAG}tYgdYAJuR89o30#!D74Ncf`GwD)<_+TZop*21KM6dqRWkcVrztU@>VD zU;py#(a1r13UNh0ST3GFjpBDywdc&IUxyR^QcMus=E$-qh{b?zPI5wX1Ca(g8KCbF zy_ka6jB>UHR~AWTzVokSbj<@l|)YP3jL1g zv(zT`ggTem;*GTjQw_;CI=1iVDn8Jg8?Df}-ax-2%~eXjBiC`=UBRQ)+#hNXd^zWp zoD)2DEvH8838!^;nI>+I2G?CKsIJp0@70P2y1p!9(Eahe=4wzqrKUfTmUP(B`1~ zJJmp=#?6;HRDUxg5PY{aE`wddoz6)9Mm^YS_fmh7szb-%%J9dyy|*M%_9%2e0XYE+cqf4K?e*PMuK!x1eO`fguJf2kz*h`)UA6 zc8eOg&jmj&D0V7=0dZpP(n13aEg+u(u`RUHv)S^H4&Kv4qtIQ{P_IgV38-{E_Smc* z?I$I@uAu?n*24Yv=!jmy*NBd3<|C-=nmMY`8L3k<2UV`bL;vp8si#7< z>K8X5sCQjzWJ2PM`}Nqc!R6;ZEjnmK=k(YJ9greubX<)+(4$kDIUzBx<6MjfS!B$J z&MV;wF6)|$3`+MRr=wYLVDv2>B)Xt8x_45I%!^rI(umL7libNiPb}J!&!{5DCN(auFDd4<7GE(E zv=3;pWqabO7FiGo)MYw%{)bK@yJ5*C1tYPbB_BERR_%GSvfI+E=gnuf_=F=l>qz2{ zo+9dqq63p);@}=oi}v*7mV(tS`RmU72}f$dmRzQNDLRC<1e^@gp~wVm>&Ew~M<-N9 zw-0INLN*{iG9^Za2O2&he(jwqJ@JMF%J%6Do4KootT3BFqUg|sM(e>nJ>0K{#();I z&_lxZFoxs=EeYXH9p8EQp=x&GZeV1YGzl8!fEK=wQkyxcF%YPSrnwLRa4RE) z%=>EaHbjIT947n--T`N^U|i=Ir|V#g&VD}N9s}S^%f@vTWa0Y^PYShafnGg$NAb05 zp-!X)DuCf#F$-MRgAY|kQ#8|t2@FHnfF|xTb~$j%a(Yz5Z6xE8glwV^1hA=Rd^Uv@ zJuUUXJvDSi4K^F0PE|r0v;agO_}6NIn`%fxt%BDyS~F;dwS{h|46mx!{kQc%3#Boe z0IaH2eJy(62Bo^c$q00506c+Op}%T`8|h-?YcFy>8Q!X<+4KyRTF?BZ32;e!XVKSu|waCf%^0>Pmh3m)9vJ-EAjaJR<&bk<($ z+u8fxamN|s{y9HR6{Dc4`>mSqlxIG3zD1C{tT-An0rHb4Ptd>;qKZ$RAhbVu@{H=$ zGx(L)+6XyMo_u}+78O!<)!k1Iy^ljnU1b1&O*JH6f*^`_hm)^B{A4=wPIM zmOj(KJSpMc!dZ8+*`*PdyoBOi0 z@x*DHAd}}re+mIjiOyW8n|41I?7`h=%Ld|6#`HqU&Co^=oos|o zxYyzCa`UxLBS0Pl0Q_fipC#QtKw+~HoJzV^VlKCM_by39rE3d6lD7i(`ATX|>HL!Q zcmIj9kAGw4q*QZx) zjEg4>$y;%cCn}^CncP_4D;HcVRq*45U3eC?+|o5AZy_FXaenO9SUgC*oPW@GBud43 zTtn8-ULZFm{8LCaHgKI+P1TNHDq6MYti{?^(yrm0=ox;&7a2V?(;G>b(`)a<;d2YV z>6()eaRR{ukW)a<$J?#29Ph?3E)f5pN*nC}Y;07tgv~gYP3NB`srvMq4aPN1mGf}^ zIK0bu@zM5KHEHT9ai8`EPZV5em&{ct?*%pgnESBNc-a=BxAeLNF>=HkYQNSM7L~kO zv+RvkgYb_!&(zuIz}%;c2OWOP=lKsdCA%da3`)h~=8T3!w-57sE;FFwyQ87Pt(K!E zSb;9x+ag0sDSg9WLHp~+=I(Z-xr}?j#`RX}+<^Dk{p^-C!y^KmnT9WxqGE z>sNVjX{(AQ&)!jL3(~>3F6|ud<4u2ZpmKZcmEC02FbAocc0ZV1ATMZ9wjy_QP zTkE||7aw-@^CB)Dh3M;gsawIj)b$s7Ut(EX&`KKUbySPC?sI{!3?#=2YCYoA@+qd)^hFjxa3&BTsC0l!+ zBkR2gJWVF=k(&eYqUn;JoSN#T#&J!TyZR+boVrkl`wcw7N1a;IkpTe6?k&ixX$$~z z%N{xWj-9=6qcmNtv#}(M%S>YyiA1U?+b{A}768PPBNlYK8^BoYJxB*!{Zb(E9I47I zy$IIS%tWhB?)fPF5Ax7t@kT`#8gRO+3fOKTS2Qw7U#`XU1lG zpy5m!!e_fe2pOW!SOfP>R&+Lvzhkd>9jt>!tw(RoQzTGgG0+1N_`bzh?116k_r(jspOeM{8=MBO!=v8O-B;V}YR?#?nt z2-C)N_(aAYe#z8axd4Qrx4>=RV6Qc;rQVr`I}1&t2fU zR$yNs5_bBQ|8SAZ54#Qca0`~ai~y(gq(s^0XMGQO8;#DlLQJEj4QQO)(3FCBz7OF8 zuXy7wFH%Iv)|0|vVGWDOTLL*MW?~xUrtq_^H1c&k1{Zd!N81*KFEcO)r|XyY#&qVh zfh30WKHcAW8@_#R;aZH(44rYZ_}P^xX*6T&Fw|coP+NF~!`t#`UqN;iF(x4Cl*_klsfAE$fq_#l%c5tCqZqhlmRt`{T{D$AyPv5?)yMc_JE_ zPc$F-SkVEvsK$Fu%lmRQ`HG?iWA1qV2O8(gBI+9wm4nBZQx80)7dJnhL|b0hvFUB$ zJxz$ul<#o4q*?0Euytqhc^Q1yTWG(29cU{Z{7bD<+23DIQFgLF+vPo&+b25%1DuvB zdr>!s%BxK724Gmmo)@qZ)z~M0+e4u>+#~-ljXwDx1`nV1M4xd@4-ukx_64r169((D z#K(p@Zf!ELSBA1BT zjseyuP}_cfk3A;D40Ac!{*FB>>Yv70v`K^|g)ej7&#p)%;Ffh1zTIV|Xu&!%^&9T)njE83wq zZm_E~aO>a_7Ic5vr3!JHAH>7`$;BEIiKi-`Vvzm+% zZH}agzyOGk1E&pxF~i%ARk_-?a4`{)kva26Qg=|(8$TyP2>sit!5PS-SXR8z znYk$A{5vijD8B@D1lOM{iZUbfM*Q*%`9!K=4AB1S6CH}W6ZPqD)jxR!SAA#oNu0Rq z9Uyv&)?Y6se}#XxC%VDqDqHvFEL0?k1YQ69R%9M-iV_kk{`C%NP2$X8hz>`rG zx&2s)>&fCdxaEoR15Oya!U(B(J8fEeQ}v$z^Mo_UdUmkcRi4@)hVTK`^=-3~Pc6qI zeFEdyjSp>7lHkKA(>=Pq6vY zw@`t%)vJPS&JU}VssCohKUBt{(f1^FYcjgrE_4^an3~Ls!3Nl>77wldK;EUM?51Ci z%jM%-msZ z@g-Zj34YakA*4acu89^pYkw*r9&xYxE+kKm#of23`poS_+DHGt_13iw(@} zy@D}n**KF%8DU7`1-LcKFU)z%?{;@;v8t-6b@{kP$MIps9{_swU-A?_W~+5h3m-iG z@>z|4yIFllnh+I3gRdV`qjv2=NC7q@`IG9qi$U#AWi7@Y3U&cNFyT_O+g7owTfqGz z*Q3OyL4+Z(8{l+QoC=Gmnt_KZWryj%XFu^!GrfBH`)O(?(k#}?Rt!ETnyHk?rzot^ z%^GsiB-h&)$sDYo?`?dpd)C{9$-tPte^?b90ajFhINB{Lq;8I)29`gi($IRm?(IzN zbfEJEWO@C!b`Gv}QCeP`KlbW%u!3uk*Q~s~1+eOln_%<4UrWJ~C7~jr=x=6miE)O{ z@LvAm;m{UEC~T@ucjwl>oWWC*Z(Q%~pIU$iug0lS2|_B8%7XoQjTWu!D$|{-RCA!^ z=U)FKWdN{cxn8O9@hcY?=qky#{Qn&6RjhWMLyoWP)BMZ7K=0mFimwJWA@lgOp9SI! zjV@_%bduUt+2@ zLBmRzzz*^bm>L?56?bTLbJ;XovOx4WusD&CjHi*rCY(Ty7Q8I-`~&o#1pXv9Q!6T3 zCH0c_Hq)!FP_W@VRq)RJl(7X{M)3;YFuuqCXkG8-v_;U`#^Ycda+(SeqgKXpJ}n>g zNYax8Zh4y*xoW)&bPSTH$g~Sv9lPXY)Vsfi#aP5K>NPp;z$pKTfF}}gXr(lp_SZdq z%m@!qP63+LopoMvYRv-teZb6MZkG-BorlYS^>=T&D4VGE&83hE^e`{MKZB$$4;@}h z-jat|O#H$Q{WD0D!N@Be(=9UGo(dkV)MIC&`Qm*KQMIQ9M2|N@0t&cs`>yvDnd~J3 zEM-j#U*lA7QU(HA?)O5DI+`$T4|AqMii+@;Il(kAbUy;uFD1n;R1zkCg@IcoN9sye^n zcY9_3Mb<~>s(r`f(ZY(~OOuQ)O=_{eM(seYmk`+OPy_FK{G%HAATa=tzUFYj~4iBlnl=}9Qs7Ehq39awI zJ9+H#K%Nrw9)5xUsQBffZ4Rq@gi07bMLOP^Nr@7aU};gsEiqzX;=>>Ur7xl9_VE4_ zEPVlT;u`W^$qBcZ#^hSW#ixJbM8fyX(h)6h-MUZJ`&f4F>AKMLhcG@x;}&uZ-rA9M z-~Hluopvu0I0sVP~?H&@Gz$v5%PX17;5O z0RX5i+GeZZ=@J1`>z(h-cB1|d`Q4#y8F#THLZ8R#eh-sVoY`vA{qYFHkT$#I1|p{g z9qSSYt(TDh+b7(S`KiGAn9DGSWlk84e@lb-Lsq9`OGi$a%@$<&HK0dt&JD-q@*mAV z;rAzw%`82xxm$P)ni;}V@8y=A>cm0 zfLq*kL8&WT!+);-$oUKaapTy8oQ5L;U}CG6hg5$$kPtLI$w3e)h4=QS=#p#q{BAuYVqz`vM$nE~{N% zv$K3@+#)OvkzmC<2jNnOMP{>^(;#E~=WU)K{{KFYCT=C+w9#q4S&PGCOugNGGl2!F zCYtp%;c>Nsp{jL_ddA$Lr1jNdK- zo@zg*z{UId1pqoF+d^9Zy0W#$dAQVxyPFqjC0Yz2MuEbBuyH7fmdT zpi`8vH#@rD+OP>SqGNuaDQe)i{Z6tNByh)p&u(xFHc8Su>+4Fp{U!21qB)TUH4#k(^mJ=O`!_KV4SAtOz!c>A=kHW8 z(01Rcj?DZxZKPjWWi4xgt`Tjt; zpMM)50$EA@#SvqA#y52nju+gzvPoIpXzjmTW|x9bB_qeP z9A#}`C-v%uVoIjO@Cg9#bY5fw?2FAogP9s|vi0R%`MBVX-<4x=n8nU7@12gR3Hs1ZgIl|DMj;YUm&u2m7m1B3jkHNw>-&yPKM5yOE{ z?9sPa;T&C=cgH8di}%Xq(H~9U3MQ^XJRU-?YG0aL{&v`A-MhN;b}2TVy5ou~%5)S? ztwg!X2gwJOq$N*qJ2W~YwZPGpAo^durV+-!f+TwAXSlS2y=)H|&$q%{?XDCzNeUb% zc{eDjZx_vg+jO0huhz?5loVZV$FEu}U2*vwp^L<7YaHEj$Qw*jOV zI^P|ksWW#gslU4p@ax@}oU)?shDZRdSYqvUS3algCT3upKGV9F(V9Fqx;d%HU(UX} z-I=;m&h}dW=ujUqUjl}mb$M>84Hc$*_ib!ySh&gKvS!#Oh}v2DKTtr@1hQC4K^#mj zvNDRXkN>NBYX+-jYg@{EX>L5f3oJZ8GLP63gx{1@ydM7K0eaOLVN`QB62*Bkf-@4c z&^eF*t%e_3i!92uEdcv$SW-3JSXPvIzWi$J?h;{0kHjDT!sSU78G$Lx?3LHZ zzFqHITn?TUbZHI|2%k4XciyYNP&JpreJk8>^&95~g?vJMgZB){)xuXDNu?<4EVu=` zGHHB>`$mV4oXkCgYnS1Z`GA24M*j5ynl8|W@=H=Ix)ce;!?`<$A%-a>da?0?EW&jn zCh--J#Aio~{JQf%$wYRHwLXMeE~!cKh`qK4-dq+G7!`v(tM?tUl0g$9BZ;QOlNlT! zW+Ws_cReL=5kz-rd=Ej^k#~+lPiz_S^GDOWN_3ei6um0BE9hu|_fTF2^>k-yW20gy zuqc0Z)1`N??e#W_+h~c~y2@kimg@;`Rl=Jc`6|OY3^9mm3K5_E6~~bxdK)M9w=4SA z;-hDQgWqXDVJk>>ezaKvV*|oydGDfxo%TXFjD`PV3vd+RgC_#y!~l4&V1%{4&q`(i z%VYy@cO$~-wHE@oA(s#Qy49GbTaJeCBRMZ~lt0y7mEDb>rF8HWuZ9rb*l1CnUEtB7 zLSvjb*RQk(^LA{p=%rjX-0^L1l)!ZYynslc(UAD+bF%u*)D6kh_oo7oBKv>pS+K zl;T(Oy;+*KQNOuPW%oT5(8XH&aYJnrSO0g;9#fbAEA|WzxIo^6`?92l*`=CutHMHd zB^BJDKd^UZi9oTLNxV**?_9`|1t4GenWLD}k6krKVjQh4%wP9Gv0If4j4li9F851^ zKVXJ}^(mK5H<;MjSw)ni!@-!;z;vDOA$=-6bE$6pWM5xWM zDe+NdslZEAl1^9BO6!4vBFesGeo1HR5;F0BA7uKE#dH73B#9 zMqvki_eyE*7@*+MHO*{W&TOxwCX^s2tnXafAJ>JF^G~Ti+`$`;qw(B@wQGUsh*67e z?fg6O{qlx#k^D{y7gr|E>v$fhv@(jBi1ZI*B6)%(XKbE_tg`~Bq<)49tzla|0O#l9+&5Pkw#l$<2% zV@A&lf=9aK)^V+@uOXjr5y6t;3Kr7HAZ9RRdHTm;Jn?VBl0_2%?~mHS3GOV&J}Hgg zl&1zxiUe>my-(hI$s)JRheSM^C5LX&Im8Ek9E#c>VYoI>dRzPao5xL1IWrJhFRXC= zr=?%G^()2%!-a(dJ&zQqz6PY3lJJ<);jF~9m(GB*bj9TZ<(ls{tA=> zsbn}>n_!{wL6~T+%MG0}f5(ac98qMO{UtB^CM1CVK(dh!?rkIOJJL}5t<~Fz!@0}t zhUFzp>AQ^z&Pxsw_mzr0Uo$Jadf7-n2|pa9>2MtP>Et(Z2s-fj4E}F0H=cyd_bzAq zJU53R{b2I7xC*BI`KHUsiWZuNaq&S2m84<}9fN<$IW+G_2)tsrhDYTS{#TYVXio`O z^@ac6h?cB4G@4NF@jl3FKHTeSk>P~S{!sUEe?vs(+w#M1z!eTs&fZ+V_;xLhT@Sh1 zNg3TL!cQ+>IO&E5$`kk3|DW9TJSw_GZ>i#FyZ0z241{^w?xVX@w>4PO5v9cojfmu) z50;v9Lvkek-{YdWshN&Q2caUE8x+Vbv;tBH;J)Wi;neta!@u9<=+itO>VGqKFe}Pn zG@RPNkAGuzjtIDKnu$c7XG~O-x5CL@8W|cb_!R#9;f(^p2Tz^zFozGPWb+V9nG@v^ zqF<%%rt({*!Th8{^lb8(QM(QqmC6KKrb&`goqv;Vc!yhnf9~v#dNoLKF23j#&H+0#nfA{V)J8nt5?LsL3_lK*=+UJ!DC;`b?rR>G{_9(gFES1iI~9R&rAk? z2G1YQ>T&-p&JQWTb?%-=U)GjKQ?0#^Cm=0)Rt6jh6C_b%eMU6M848+Oa+9nM)i~Xs zhyLucg5vv{m+{CcS8TOM*hF&|EK9=J0GwyStDTTwz1f)`OtiHqEI`PUp{r3X zHZRt0DzYC8&#&Swm^vuTU#xPxPst*@WL&JZF$-;ZfJ|DXm|5t+KYV+a*rP zqrLbu_hDpAMien_ib%a4V(K#);H9#6samwGq|%U6?(DKruM=b80=>-FZff$~|5&h% zE_U<5qpfIZFq9yU-oo(Klf>eD7-t7Cu9ZD6{kVgu@BG$zYvrPS6FJ{%pcT|n{Eg_@ z0d`<&&rlaJbYB6u0J^@9()h+NS-J{kjNH7FKRUq*rbW-~OU1 z4DU^36hN^*#fyjEdtE}}5-+MPO}*`n?$dV9Z(|FWG<3)LY|NCvAcN7>8()9I(|*qN zn4)320vuDFB~NzcY?>WZbIA$Wtpq3&;~iwnASJC%r|HJR z8(lgs92bfH21UyLYwLB)m^VcObUHDdHaG{@ckFIP7O?&)+~^WI_0r~#D*vYn&;Fip2G5@OHKozvwtbF; zVhI5%%wQL3QtJB}}njh$Oz=hrZuXhF6a&QDWhOmk1sB1@&7LBe$9 zb+syOMS54mPH8z}n5+OkFO*AW%k0}z&=N5?4?OKJ(@Y}x?rE82?Qr&x<&lh_*dKn| zO7>NZd=`NHbxi5=H&x?x+3O)0Z_?igyiI$PAD#J9U_>$y{{Eb!3KXW^ujLWmSnf7l zHpd`0VaZo(x-sM?Rf9`!{+-{a{cN>r99hj|t7ssh!Lx7QD4w-|dRSXBnmL2kK#X$I z@w{WG@ZruX$R=mJ2v{l4u8|wBvY&$m^ve&v?rH2P$H5;DiZzthOM>*9D|A(YcE)kD z<+LJGC=}h?ooj#;;y=t#-ZBjI=x}knjIQs5P!FrKxEX^s3;PCUrE&&}QlM(ARUfY> z+F~?71r?H0#)Acej9RHm&CDi3iN>0@Hya%f6xos8$ub3sAw~aLlT1GBmc_ ze5eTiv%phi-(MNbFdoacLBEt#k;`nNFLL2~vk#NeFmlp3D=bX=N!f!->JfeDeos1fny}CQ^P$P zJ&uWvDT{JF-DD*BpJ1Vqv*F?bmgnmlqWvr;lZHdaRocbeEOts)ZasJX+vSxA-g3qm zXwHv@E(%}l*~NTyM~en%9E>+6W+!JI@^dyOrJ2;38w}Z*N8O}$@fa-fHEJw$+FQF0 z$O(-|r zxP4rv438{H26p`Ba{2t zpp}S&FqVcL2_Hb8Dg&SFWE_7ZphLzW8tY9W)|;q7S}v*rFaHkd4V(c9t}Gc)4Fiuz ztna6wa*@?Qd*QVl|E{e7DrpRV|Cd6aWpq(o*SkC3VAmkNR}ojfsM)C-fbY- zpIJldQ;tffOi6g629}_Sk?_*)SKq22|Ei!)LZ~DMRgAS{f|?wAi;&PM0aS7iONxUM zcbXD+k`mimx<`*BRgF;4#cE-n-L68lb5I>Wv4PKcuKfG{?sj4Rb{>vGd`JchE-0HR zFi9PkSzou~YAn#Mb0yDT-vGG{dfFxy6(+2DH6U-TQn44W(Ob44iR+`QIvR>i)u#q~ z9%Z^_%zAGq+K^1xR(Ln^HC}nY_&XaleGsv#e#R+$JU-6X9PB=2YymM+7#%BrC{5kx zA?eukPc90x3Sbvk=PhMg=ZFK{AP*3So%-rP;AjO!)Rt)0Kp2r$WTa|Rl7NlpR9ond z$~a7IJ+6pJufEQBu{ccTTg?$KRq-dCr?h17T^|oAMqVb!10MIDCyX}YX~4hC4^PnS zl!uegi~g~`j7O^0;?+$0WCIFa^?IzOL~0cadjkuZm(WD*SZQ?nkB+*BvWmM;##f>n z?&8v?$ipY7{THtWVXu<=fL~36(+!#OC{D_gt-r-pCRc0rrz2DJU0~C7`_XDq8Ot6j zjZZCzuq=vDH6UUc)gtCJAY#hcVrzo~nDE*SCimx+_?BT?(;iqiib9Az@jZ+wwi%Zmt9|JJT^J7X(T9NTe z!UQ!u<)}uy$Ck#dJzhjTn7k+X>iG_qmhBo~GrJsfD3g30YDWQ}KZxeJtDyL$jC1{h1Esb$s}s<`^goS>)f62>3k#bCYVO`h>l zmLxtIn&{owsl%y5phL#BR9CJra$0Q8PL>P)HzrK}#)RCjZ-U|u9C>rU{@(W=f+TaF zz!y|TRp4)>Tx9ff5GS-)-WHbM^g5{JY|@7%R+92n0Z8?WNj==>4eIH2A*Uu$#i}K_+G)m0o{zQV5JG9hHj$tDai*eS(dKMeghXJ7n?uq% z8$pwdb*=q?j|?-2ITT%&Vhh4F`%=BL9ksd5x-^<-nv`*=F3yy$EMCGKo?`HhU-2D3 z)QCW4V<{Y(%g00R3~}yg2C9^2P%8vSO~0isQKn8U8){w?yUGeXPW|9)=U45X?G?c6)8%?C@88 z?=U4e5N8#!l6SJ-9j)^Z^;#50nb7J?rT~#Gv>L5rigpp{TIb95QXL~4#~e_1-Y>q$ z+{%1hSGvmNzLovu4646{40E}OK2g{V{0yXcmJ|AlJe9v6^aC>qetSc9{{iXPPZuiX zakBQXwaZ5~a^tOa7X_I(Rvj`kiaV;>E4g<#-(@`~sLAO_sW?5)l4?&tdGRPz!?_76 zjmEm5_VTKR-RgIk|E3Qi09Rf(sfW{rG6Xn+00eFT!j#I4y}`TgNK5E3r4;Tz{vi=r z&U;ZY7MD1xmc2mTR1O0-;jY!=3B|{+d=WkP#cA9_PnF(zvIe-xm0u=(+=3YI2@FkH zC52hgLf9wY=0gTrkkeUh2`C|^cGU=JFAi*>94x`InX6lv7vf+)$CnyDU43jrT{5{R zp@uC`HSw@2V@exA{~mM0^2wf2Wk#?nV~{E%k}Ab2ey0X^w7t2J2%6voks?SYnO;sA~Qg zL$he7i~uOH35BrfbgyaC8kW#B>M-RVv9rgQU1T?`yTM`9ncK^rF;<{MtsMTYWyWYf z9TT`Ql(EH29m~~;$KAEbD>_U>%xvL06RJ-(9)Mspe=ApZ*UXRnmC{!)XcTgcke!zGAiXzHN zTgg(pd!z~C$yQ@meYj?|IG)Q#HRCP|C_haCKpAkndZ!G?lLsjVyOQU1;tljsab^X@ zp;aCGsf>kCHf=-yNCpdD+Rh=X&?b+3KWgStq~fO?yg66mSZhg%@6!Mb9(J-z!EFeH zbgI?`R(yazauN#MRfH*{hf6YTd;9Td)6{>PMC7j;G8*3f`CVz0XP=aT3Y>>^X1FMQ z2EW4-awY6%$Ft$wcnT5wclRs@O=DII}unBSWm*6%Irb}JEguGipW|u$5}(!bu3_v5;AMMsgkPYT6j=)I8rt` z5*7Lh6}lZ&yMatV_jl9~V{D^OB)v3k9gN!9@3FL0(?YNGj+87d$eEcSE{02U69R3H z>Hx^>F%9cCQ`T;Ehb>o>I8l`8(bz+vYKlRTCzbkb&io6RGPM5chy($8=W3BpUkoIJ z#;;(QQMeHUh4zER_%RKAR#QBejcCLOiF_f1{8BZpgEkk8^P4)&iyp1$V!XXAx*NQW zn>Lq8HG>(Mvl*@-9{N#Q-Wl^rHwqQI+9sB^$*R087GeF-Dnn6mymFeG(W)C<)~y)w@$I!`AvNaw5c%5G6EB7;Ag5U()_xPga0_`*#cb*Cj> z*)ds|%GRhYPWRz^71useJ!_^$>{YnkY*SfyH54aA6elK(nNaffBXz zmNbAj2RO_94Xd*k+oOeGDhpaIr}j#N@C0`#D3&5Hh-$tri^nz0h-=lLZ4O?6W` zaV0j#i{CzWL1IfO3jg1(dRnkX-Ogxv0#U`Ljbv(*xuda>>n>kQEniLPj_iX{kdbCX zmPYtHi%q_+4!g=S5$MS=pj{v7<;BTMXHh%l>cUUlWmx$5<>hMRE0!=LPv;&)bSL zNMz`bilLWv$)0pEg0nLe2l%=YZlz1%X_$a-l9q3p%01RfxY^6T_ts9dHt9)+O$vV$6S<5l*%KANT`^f7tIWhgr`Ij7+FF7DDs}){4j~Y_P5m7h_ zvJuEe8?L`kP$-8O1j`4Y_a+5IaJ)+~d`}Nq1jRQ+@24|6K33|x4AJmgr1x-Oj}~X1 z3aanSi{j69zQ&)8YWcQ0NQCt*T%y`Z%IPfSJ?;B(PJ2z)v4zZ_Q|b-XL3&*+)hf4* z8?RN`DV!g0pMrZ;l{^wJsj{#J3Y6e?W%XBe1^OrB8C`dYoaWcaFwJu5cfqdCKxDn0 zx(XFKzV`4eSM8i=y23Kl!Q44RHv3aRVVO~Am_v7%%DU8vK1KyKCrxxzS#|WTgKUbt z6InC|wK|r;x|5#nja9H&SiDkmVc3TOZ2uJ7`ygUKR3ZDUl&2Dh-Lprhw( zcMolX!o-g>h+lx%YqUyK5>tGR5f;ZEpq>vQA8Aj2eA)b>Z2a{3;9Z_{(48U7sN*qT z(=Qs#lbF7Ji_U`aqx{u7OME_8)9u%vcB?VnFBERt4bYO_po&uw)@3EQX2o9{eMgk3 zdeu)vz(3EE_LC!P!uzgGeKM1y_y z$sVurmE540jBDq~O6Nq1X91LGWg#XUJhKT9zi$B;<*0;)m@GZyuCFytjR(wg=(H>6 z?q4QcJ?tpXybJBYMM@`cs(OWQiO(~`66*Q2RTXo+B2rG&2usA7kAI%aJrMGIkP*@+ z0L~?I4ob4b3Yh7_*bEn~S3AAk`cUssers~|0VVzY;52DDZGaeR896$Ektv~pA)bX; z=s0EPlGnnk7RTX{!e3XjCu>q;<#hHas)Gfl+PV$m+MV^!;8hvC4aXSMw)ufl8D68! z4nSD~C28`${EM3>|4*6TKSe@cWS*kh=zUjdRECB7f(o}@e83U8r~G`N)KP}jPLlmy zN})|$rb*(5P{T--g`a86&*?L6wO)f1;;}&XpR!SZ8G*57*yO1$)Z(}K%Eb&BdMHgL zr_im;O;Hb?&`GI|9#m7<$fp6b5wfe)b)R!FlSDp-ZbIsnG3z&1>W%g5jnnFl$#}9w zTY0jDc&NVcP(9_Ldf@32_2%hn<`EMWU~$`fTMiq`f@QO~e}JX2Tuic`Q0&?ej4bon zJ}Em*OY^fNe>n?6BPPz-ip~_Y4^8WKrAP%+eNh^0vmeYb(W1gukBB!(tnLvo*g4+E zL1&%f87v}HsGK$OuGnkS$%x%|&~hJX+Ej?ZiEt})Z!nGUKd)U~PxlF?$kEkN4W-n7TZmgru#bgOs$gN5Zc7Nyt z{r2A=&UK)b2J1T~9zSgA-wz5q%J@0TJadwH=GfcE30s?LOpCBgcCdJm!#iyjE1X&U zsW$!H65D4^CFJkVM;V_&b9MtQCN?A+oXn3gAxH2E6dDM+jJb&8QkQh@I<@HI7C zM-8Z=$B)`i{gvtGYYwrUnK6g}>{|a}+q2>F6N#F)+$pu$t)+(i4VkSRNN4Yf3A)`? zd_vyF=ZWsHeA~?q^R+Duje$**ies-gE_b%36qdqfH+Y$S@+ZY$4`(}orl0;(0LXG_B=gN)8Hy#f%A5%U ziGWwp+5(TsYMjx$4&D*I3TOcK%1&~)O1x=`o*uI~w&q}cGu)Ci# zHD_E{l~No0c57rJD>j3U{taGycTA$#AZr*62ht!Xa+1L|=lD;Lgl6&BrQ88B#;BLP z5hUx8JR<^bKde@t?A1PWFl_7M$v%3LAxr}#y161BdWE&eN7TM)T;HQM<)H>P0$_%K zWba2s%h|{n&Kkkj;yFIb5W%8cJE-;e5Y`%JM%U~zxvxUzFF79L)OAa!(qmegvg2du z6lM7jUg|}`!P$G(##A$P!Et%osMkiHT;{AJtKnJ6Zn;MvMDOz%)Ir+cL#8?!;B1#2 z4lln90z71G(FV>!5{P3Ixt#mb_v`3FaIN!oE2RDnc*U=2^%I5vBL06ZAT3GGTmv>X z&-bQ%>b+0HU3s?C;I)8aleNzYlz|&zuWLhDJc8*mg6S;|M|&$%{~Z6KWrr)pH|Cp* zUJ=Wvmm1Ws^>*Z>{mZb3$SY`Mvmv4Bx!-}II-rVA1Jaui+yzn9@=oq^)-XemRuns9 zYHA}ByM*k1iE<^8swJ;91yv{jtxwY+E{t-Q3G0?_nsnS)khR?M1*95WTMhnR4bH8$ z3#_&)t+tDdRUplH!a(7}AR@>hqQ@XY!tk8jhTO`FDV{H;|EE+CDz_a-kK9Uk%xGtI zosz`r(|nirz4SB3foDz(A~#z8Xr*BUT=dqFN~@6&gERgyR4>+0zX}-&>pO!C05%7R=+Ze zjxw^2in5NfvW~!6;_IXQW0xOqKDY}zKew6VEO(NiM(a&geX88`r7+{Y8q&<(%auYD zMP7h7GQ=oUo(FeSc~jwjfFf^Ol2jJI*ovU*FjcclluWa$Ra30cw_e`M2--Xmew799 z5a^@R4RIlAilPz|WZ7U@@bT$y2Qs(wjfuT9yb+U)kY;=vRcE@pzu}Lv8(X{t{C8P8 zjS?eo2h6*2`xgrSMnV!t%6<4tI;YzG!M$IW=+o>v5oPs!O5OUZ4E#I0ivx3fi?a%# z(OG*JcnsEkLwdX%4Lt7J@jlwEx$?USs@73&r==$=2>EBIAa;YUyNsL69m+QfN
    zMd2!dN7gmD2`4U}Po3OJ@}ZOQeFV(eP`JaeSCX_XrNZ0OT0=o#ldG+%*YU%Y})pWhJNT(X~KupH}mOj)Q(Pa30e z-hY{r$0-JK%6<`&%&HB&nj#{YTBfr9Svn&W4))XO+IGvt zzmnxZ9%2qlFiMd(<<1^(|KxuVO>nzoK?LLAjMk6@a%mEwEL+JCmD` zBd*GSSbjB%xq+B0dHH7Toq)@HY5WA2RRzb~`z~%atE`O~0+dflK{&>CC^8xSVHBJA z{jp0V9=cuc=XGh;ZTEVtL z^gqXbNsawd65A}N=XKP4qw96f$BlNf&D+t$zjFdJ6=`#O0p;lI^$XUD-G8F1+|j>7 zq9WQH+I_23K^`krb94;TBs5mwFOK*ZPqfbaN+hS) zYz0J5E?u1+o;h3Jtm(EGZ=|;5^-|(XWht)2c6axv%()p~HF_&MS#zyuu?K&H4kfi| zYRN-U2v7Ir&LnFIdtJ=M_^;J|;llCNCBMp}zD|n3 zPR8ptnv5d@QBz@hqAHL=EXx3Qd^nmWp%0)r50FeeZKSbI2ks>l@|G`kCBEBpDBMn( zt3)Wq)b&&<9A;MS_Rva_?pQZ9nRzgc%9f7r3`2l&_PB(efQs3h^SFpkx#kkwP;U{R zj$<<~zGC#Vx661cm0DDC`=$aQTX&TD6!8(qbz5{~<5)TcmoElt5eHn8FQA5`(EyaY8C`p(03P=zEd(_uJ5DQ4>H>)kIH3P`(J#$ zbx_-38!cEtiWM!z9Rd_+2?Td5n&R$S+}(=1YaqD0ySux)ySu~kefQqIcXwxYGLy+n z^4BlVd(L^zBk#FvRwP+hJD2;~f{W%xAKRDv#(qdX z)#l8*b`0^-NXm`I#S5^^X|pSg^$v^;>-|@eI2zR)|aaTtUZZ8=De3T zuvWs&gKq=y084?H20)a_J6$zBx)@7RO{!70Cy30Jev-))2oi!SnX?-j<0$22jR=j# z+>0fPh^^16D6<(jiNVRP;|tZod$5T&7NKL3oa3l$YZ(S|Q|&();`wbSiHv~$&{h!C zjl0;?Xq+Z(*d9T}Yr~c6m+TKn?`HnE6kBG@5hSghuRSQXw{Cd_tRit-o~`%sesR8( z@0ZIHOnXhF_T4Xt5KQGFe7-M8CnrXGLgupS^c-vQ;EZ^(a9wITkScqee*sILggG=J5#P+B8|Y=Q+zr|KB)|{w$Kl=-LH?EW{X)ULJO%cLVLFe4SFF=PTN=z z>+qQxsfh~lNnE_SF)n`)c(*YUxJ5AOZ(V2%(a?rA8(fwi2;O4%f?f_lm<6Uu`3_PX z)rrO0!p@L9cSA;N!4ni<~zo1fnqx>S6Af@0@-c6=DniXqiJE4!^x21cH!pvY3se1xnK zmo3j!3Q1{mP{(e0UH_hZCZawC7)q+owN08hm*-a7Ov-})Dn+0T;WO{$3Rli$si2O* z5w6?v*j)~_Ns!{beOIsC~!Goi^a# zF(sL~n@D*X-{9b+*)r8^&Jc3fI7?uy2mxg5b+AQADH5gNI~Ry=5K$!d%1fK!O8n`rM8;9cD;CA z`1>Tpq9~29<{1*D@TZd1wtGXG5J~INGDx_+vdd_r()npKSgTS`#DpDD zE7Kx*%iRi^FeCCjU13dd;jHV*WzUeaGFQbcdv`4lcj3NOZHidRR_Q-SzmvH|eCRi^ zm!KH$92$kALiUO@(_x| zAfS}pSwzZ1MWZJ;ydgK~f7ph!U;f*C^PdKs_hy@oLSI5DS)Qes=*m6YiEc}^-Tahn z(Mu#@dpa>4Pfo@Ckub3+E*W8-Nni8G2pfu%yHG}&60<~`>>W%7$%c!8Ay=*Y?S!Xr z8C7EC=uP6}Ga`d6fX!WwAguGcWWBr}D{rBFz8$ICPyz$-ZH3b z$xiC?D#-ou{5vsBCd&YiRxoje@%B_iT*XgvUP4UGSNUAs8*-q|&Tk548I$;F@qx0} zMXHaX2LAiVD04MoyL3}h+K}tPF0!NHcNKX=fQSbjtc@sMKC9idc3H@{pj^Un!+6~Q;yM-@RMSB8>>nSsQ!mR z_9-*O|vuDMMQ+@ApbYoY~3j zBncGq%j=_{iN#NAJ{KASuqNW{$Wb~z*#$F5%8FyN?oiuH8D*GK*_W6e+I50((_)%( zosBf6Bxhq-G?-L1=9t&j<#Z?jmXJ=Qub-;2wLE$kDbB(TKc3_hM;U*p`E!`=u{g~M z3%r=4Dnq2VRet8%+wQQ~3NpZhkz(2{<)W)h9ac5WvV9nhQh;Ak%j`X z2Z7zT{CY>s$EVe+rH4OjyLBzBZ3im9fAZItxj4v=Ohm<9WBA(Qw!myCmz&-%pL7|T z8-z_Un8uvMhOyutl>ka=lFF094<$7$qSVb(rFBFsqv%<`{s1AWmRwl3*I9N8Sr1FR&l8Bsz86;Y9$P!Tz1%i*iFXp_9O3c|t30^y zadlJi%6am%1=ivtvg=71z`1NshW$k0ud$7Wy080U)1a%t!+5)K&%6BSmrzgjUKaSgD`GRK5yLPPv5joL1S+t;95c>~Fi8j^E*;RaS|5>}n|^oY z{>3yT$rbBcJU9o#5j%qS6fq?sIC5wRx+wM}g*w5-z((ZEx%loRcKk??vdq;CKq%?+^9QwM{vtQR5 z2Pm3o_9<2X1l*9B8-}MTfK3u;BSQB>*$7UEoxeW{rol6lX2MX z!VT0BOtsn&t{I|z7ERbP&GoMDhXuCIokco?;a;6xR=e5qP;4lBAszU6;oWRcqMUst_~MozGe;gy z-W~TwN9gCzeL3z)e=H5AXnQH{&7`lobHn?w|4U!}r)}(iy*32Z5jaz`(Mr>JGIgpJkyw1vsqAI{6inw9F$+fR-WT1$)$GSn*HQh6x>?} z6Himi(R-qQ*KLDM8NUpaD)>qJPD8UVXM1zJfMRmjJdL_!AW z%oK`S4$h!5`etT$-d|m?Ww?P8Q*XQI_+$JB~VU;oDUG*+5z2YR# z-uaI%2$@!_jNpKVrGPODqF$%H^5v0Rc9dzJyx9dqi}EO5dozf$EM*HCx{4u|s$?4L zE|Y8E?^BXFx>YuN_N~wvmXJvxLLRDD)|~^~c$?w1@)j14UMS|C$@HPVQZP;g)^ghL zV8Ro>(-9Expd~D1^JC}K^EO%|OZ#O~!pgbOeGb_`J%$Oq`qO?Suruf}*>3==&{P~N zQ?MHcaFkMw4sjo(up33{0eM#2!EY?y}{a*2mE^lM2&i{nt^eUma}@L3&-O8cnyyi|1pcqnirf)40RN zXi%SKj3*1WJDD$)AB2a~Rghm3YG$&j-HYP+|C~gnt#t8-X}anpcRuhSLa;!2%3OTsUIu+UPO<+u0d+?%;wGb$dh?cN?earT?97Mgpq`) zq|R;KHb)^_9Cb{`#bSYy_5OZ2&x*_LIB-)>;|gDRTyXUVCx%>k84x#H7$02MS73yd z!0N`yj_J9iZJ{w)xtK}7&tM@c*{O6jl>Y5G^G`pUOp`fGl1YIhUV(h#66oT^dOZlK z6T2|$LKhtf82^Uv`>)517u3p5+Wk`kSR8PSNnR)B-3wLPJXKND3^@(WtHjjQMpl;` z1}46?LH*+b)-3FKt^QbXN!oF!+FbZu)pQem94K|1RMu?0aY{TvfBbrVp3>)Ib{YEA zLiY(g*Urjqk<)NL1TAZc)dZuZMNm#-2{0PfljrP~YI81QFFCKwgcmV5D0`H0W82n3 zT(ROw3_q}`VOW7zf6p&$?s3DUjQ~#lzXcH^@Yk{8R(-1-`nvWPcf5JUN&=0*G=^Pyp;=0b{xTE&kL=AD6ve_pyF1 zS(_GiW^4)pk2N{7(o|8Pq-yU2tVw5wrEgMFuU!p)p@D$580CZxMeZaEI{HV>FyW*x z;7H&ST7196zZ~>P+2np-(RNHOL3Z(Tu?2*CdBbe=B$5hmWIi_soAvA>w3(;@SvlFU zf6u4chrQ(=mHRqNGQ#rEGYmP!M=Hq1Xj%d=Oy2v1jjlT5T;nv3)sX-1c>F&@^wlrr z{09?FeT`9XfxaIP4du?koFUu70=sJ%&P2%bTfH9eeUqCY%}xfCVZ%T+wyfBIYXxpj zsR?I_Ox#@2Y3JARDUr*^*wRSA(dE|b;+C4BEcP)0xA94Oly8zP!M~&}wfPtA6`e%m zB7XmoM@$oza(|Qx-z2(xZEHRR$V~e{x!hDXoP)@-C}iLh(?9 zfy=7$EO-_1tQT4V-|riOtFMa-Ad~ZTeZHTjh@T^bot78;__Jc=I~}LAKG5{5bR$AD z^Y{I65WH_rX&esaM9pre#TbN}ZoKllt5a@eSZbs@r5BMSuesU~29a3R5g zcGB%&J+z)YXgZ0oG9Hq>q;I28?k6&C#d}IOr1OEwm?nHJ)zI$6V!Qp%f|1zbmK%jH!RUSE0Dp*-k`?bGvf>MZ5Nz=+PnfH{?i|N|~?{k<)Sl znR{GV><~GVuYXk44<{>dQ@+cc+39XVNTCfCTeFk!5TEUbc%h;6iGOcRE8|y)$u<*m z^tw^1AXP+CBo~}XAv!L{ua`+0;6c)722N`7DS>>6?sE*B0weMriG)E_aRl-9fl`6M zYC2yM+fNd)u>83~AtY0a!pW(YbB$U)Uw!ZwQ05%*Ot*mp*>iLu{75Cgi_L&Kav=vz zi^IIrt4noL{vi&W&x9VR{_f=-GSNu&msWDS*!PPsn*M!0b+HMlI%nKnSA5$YTX!Eu z1J2U3uaKs>Fh-@XSYb^Zu6gD>79b8G;F@I5%oE-SbgNp3d;JI<8tLDo1^M67+qlHq zht)6ifHQL*>+j{Z+lI+HN7|&BW5E1FyHs=P#N3E=- z>KG$Vk^?c(KqNpTKdr$FVua1z*|XF(uh|Q{c(UJR@gTe@B!#L&GUbfa&z4Oo0R_(kAnzpR57v- zc12E5t)$B-1z?-A=IG09-`4ko@172q_tsr0b>iO@h79CqQpF0EW{E8NnP{rdeVyq` zBy~`QOG#roe+ZNEUU(L79oG@B(Zy8mj$gxaegVNhmuLTeTliYa>xdR=x@zyM(3C+% z4|m9Vu+%;%H&&Tf+rUZj$|yKSCJv?o|D%qV{XmPI1{y-608ln7A_8M8p?bm#1DJ0- z1Qt7%B585YVT||kteJ(khB)k9e*!`vxw`Wd2pr(5ejyWG6e2+>LD~RbzFbI5c*6%L zv8W(vd4XIqHe8cKWimFeBmy>JH+_=@AYsqGqVmgW778V173gUZTc=Dfx ziO003C3?;Y>yw94wKB&g{C%hUjPbjmdpG1`AC$<3Rp%3r1b(WaA-AzFSl(4|CX?c$ z5(wjkD`${%A&TQ5ZnWTlRZg(mKR$)%iLP*1K7JNnf%_beQ5-WqDzyb1g`2C`xY3 z@4$eWwk2b`kna?6AOPZ;2t2V80i)db_=82310)UE7qMrA()NVd#Wkso@_gU|!5L`K zb}&0ohTt8QsQ$&s%JpGI76kNDG@FU)lbUpk&W{sJwnmbl>4-6qoBXBv zt3NvE4Y1`G43=%icmKAE@~dD-9CfB$XgJ1Kd`vmhh+-n=c-u!V?IQrod{$t@6G!yu zqQF?HfIZ)D2U?^zc4Y0*Y%x(3pP#H8wb%Y-x3*^f^CUSP9p*N5lDJM0 zRn`|^GC4hFUOfU5IuT zQ0tsRldp99Tuh1LUy9W)(ukCm>5RdIetr~RQ^ohV%*c(e5LyxnABNkF_Q&27A(7FO zh~g0you2=c9r}lY8h{<&DY7f%-HZLnJ=QBn{V~6{e^kV&$p4-et-+@tFh2t~ON7K) zPmUIW98-+E^PRdiLLz-Id4gl;Oi6(ICKi_}LlcNXB(BIhb%iakGvJL@^~p;DP`|-X{Lh=!|rO_qO!9<_lYJ_ zHm?*c2%nTPoh~BV!JrSz9820#shN~th%lnJ7MU$d53TdJE->J4PsA~dTQsrG7g-~r zsDZrPf4`+*@+y==GID)SeP);vnECWsYOz>rF>wF+x+(Mlw7y8(Gr&s-{vZR8k(<&! zA`_<#ukfAQpv&mR@{m`2BoFe!jjOIGsE#VA&IqdZs*s-(70)ja&KKh;+1Bf!=YK{A z%}A+NkF4M+yW+8&nNB!J+cuqXe(6JW0pAilj_GVEK6ANVd6#7y5(W$+ya|BW)V0$8 zlO)qh?D*Q_{wHzXNVDmzUdS+}1x$ZKHNCS3v-Rt>Q^#Sx0#eRRfi!XK7ZIJESUtSC zdFt30y+nb07Y;$;g(AnI4Z9=MFQ)xqT zyfG?@9$zlUJ-Q%Gxa3Ta(YLfLoi=Nw~}l%YSru3F!%Sbq^&N4?w@TBW?&NX{KSZhf-e!di40wNMsJYEKI_YB z(n@3gU?v+b++pE zEU&3)6)bH#;}^cV$3e&Yd0pM5v8$44+q&=DUSvYThj{!_^zOwMJngz2Duua`R}EH8 zz}lfuVAHi-(?g%y7}xZBx-8Xa<`X^YRW!`?y^GPw+xYR87j(>~SO%iw|GV&Yy!tRp zXBE@2H@YDOX0&lGfbvUtl1Z4gD=h<$w8^I>Wqq5JD;0flJ9EBs{0apuIR_+|oHiP& z;15=a+BBcB$p}=e9E>^^Qp7VtphehLbs>+U59s%Yr`LP5Dc z%?j(l!W@5y%ebB`fo8Id(VdpN8_6p+!tpf@Q?YHVtp{P@p8wQ0_`+u{cx5XGjeWWU zp+{9wmLA^>v7KEf;SA4_*qpCu;YkaHrnK;V0OZL4fGq0Zm-_(%V%NEd^8TY^8T^`! ziNU(H2|tQZC&Ekncu&h=v){JwTelX~w)C7oG?QXAHg!3t34OGtl z&uMt2OtI?d+Sa}ND7O4E1KxN4C6A4d-&{-uu)B+i!~QNzsPRe(;DSo4suQ`_gTehf z(k51&Qj9sx@rMi_$Vsc=W-Yfm-={!abM#v9|&I>bLe<*;JyY7=DgH4`u`dEjupFd4M zZ{%rx0i`^RR69cEM~#`Kt42uDb5W$_`j(}pd}ZZ=AsRwdf>H*Wm+b>tSg7(dK{t7@ zJ@GdE*8NzsB<`d?efe}UsG{)PN#3vt_r;Z2-E`M8tjcN$HEj*W18*qyF49BsQmW*jwVqV|SQLPU1Da|DgW@S2O3 z4GZQ^MeR@wl~VNq_MU;Wz~JaAB&`;Dr#Q$Pko;^X`A)3NHfGWWL#`6jz!EdM3PaOS zbM;2gr1INcw_6d7Sf3ptmZvuh$J~p`(~9rNZ|bx8iNKb+<1-!GKwZ z=rv9Tp}%-OAE4Bs#Pe+gf&er@sgF>Jz6fGTWfKhjBniBMC>mfTdeScpY22kR|I!sn zFeGqPFJTk2fwgexB1xIUW;>ZPqWZd&K-i$5VY(oS+;|L3q@bXN z>3Q{ceGMX6XVz&i@R2}!-{2tDjxa61jIH(=6xPNFI%1Ot-=|p%cszdq_xGYQ`|ckl zf0`OR-sAM>Uf=kuTN7adiaWny+*#Fe-*6I~qoHcqQ+8T$l9p9ah^`Gk^ZkxFMqvQo zJlFth zB#Su24{Jd4U{LuitD;$O`~r{0SaE&bqh{f-5_sXWjPSw=@bu-ak3QCN!~iruOg#WX z%7o}!v0JWtt8zY$C9Jwt96Qj>OsZ8#Sn_DuY%N@q&vBHsiVB1~T!q)AdXztOul&c> z`RW^2;k{pEh4=SvAdF)uWqgnF0c<^v=m?4t4%iIVPpDDYP8vq#rKP%auT(zxu0Pc4B!vb0C)#oYRL_NULBufdUz_LU@O3vBX zs$1qYu1N*Bb7wrW>!{cnC@2{0yiyNm`(8mK&7&u`JS-^c7x!Xgs}F5EOUed>s%Rf@ z*AQL+%aX1NvTkR(=C+-jD-LiR$1b?xkl6Dl{#(w|d2@vQ#tbR|LE~)Z8lv1C>`aO@ z63e|)VKO>^%ZZeMk|AESR}T2+UXmcosn7}c^{%Z+b^u|I+dDqhAczzCEk)Ypni0Ad zZT%R~$ez)4OL8AV8^Ot**N8dV_Q!)>!5Z)YzSl^bsoS(=`ef+2fZ(`l#6&|2DCUue zV9jXv)(vLU$zQNDGl88Fy~i(y?CI+NMZb72FKKPxub^R7#-V82hv!_< zc6D&L&}s2>_{L|~Cwe>*9)haTW_irkyI#j;6Hr;lDA9ITOITO25Svo6OZ2ztSii64 zd!xn8SuJb-g;oAItA%EF^2`LpRJU@jclXrwEoix@zT8gGW&my>0EH$8-(ZJtu82sSS*D0wX zHWig;v=6rckyoEJr**8q$%xgGP-X;9DFV>H6cQE>K7DVKcN8M^(01q|1F`ETEqV`| z!OG{VljzWAZ(>tZ)1b#&;rit`V@AUMxyEe=1U6-iD}(=L(1_|Ak^|v`MoMH9F>ED* zAUV^+0)zjih)zgLC(L|Uf}ap`Z8=f@ovIW%5(LDOTU$gs8;?U`CNyeu=8k1 zRF)Mh=A{CHC^2bGY7y{;eS*Y3{YJ^=#l3^-uxNYD+A< zR93fp@rinV#%7efyu6ioUL56Kv^hK*={+k)$%Vuo^^V%2q~x-k(mD#T#B7qPU_uaH z7303!TEr4E^a?l%<}Q$$P4C6)9L#>6-|(bNZ6@Kg<0|c_6l0*l|5eXyCO+fizCKwV zgcPG+zz)g$ufkwuCruV(R~|VnEP6m}u9tMMs{fZDW?g7h_n8T@QvujbM>%b`%z1Kn z%EYXMU>*8~5KRw=_6OeSMex<4)xL0loE+(XEZmD-^BpmMw>>H+i*~jQaJGDpwA`uR z?hBef3Fo<`@g^t%T^?@T%Z>*x|0u}YS!qQh0oT6!V6NssVnewbtYn-$P91*%B%eVI z^6^nDi7A*sNG#5wZyjLOgHWk^_1b(eKWWd`vFWVo?7oSPz^s*wi#hvg)%9x|?1E*< z078JJ{-A6jdq%vyC(6+3p&`*B)!bGh@dH3)5M3Cc?q~Vq=$48SaO}wbnPJRrR7?Ac z(-qT>s{L$uV*nA%=Jat_TwD)a{Q*G0)b$7ZdvzArL zUtjjLOqN{-MKDfG2F1{=NpjGu;Hvf`DB!2fsYC&Lp>dv$=m-x1s74Y2l;fLp7@Ooz z2U>VlBLMM-?QEjQj;`;l7vlr{MMQZzm;Za9!tEg)H4hbw}Nsep?S9D@ZaJpkw zWKxp3lC42y518aXC9JsA?RMRRFIlmE8|-|f^8I%cpaFYc7x##rT#ac0*Lq+bVvItP zfv@|bEm%CYQGUud^5mOTZfBJ+kgc9Bf!2nmL8g1#IypH)&pHtIwaL5btmUl!tt3=E zHI1H)KxBLSYW_g`@0~m8hf#XgrsAeW>z)P&Bye@Ab^b%QhLp&w$w^Ib^PMc_aa@Yk zK^`1o?|uzl#){dO7%{O+C01)WCYxSAAo{C-4kI>xwo(LfE&NBDc}YYONB4##tR1r0 zMZdW-H71EU*%6H&rlKzj(gEnuy0S9)k1R)!W2npr)A8#{;FAUA)O2?S zi<*pjPX%gtuRHYG^gwUE5Wa2w*Rj(Hd#nZL$4X}SO>xAVWueesh_^X$Xwe1pz>E*J)aC)4zmD8gps5m6>&- zlycB~P`F}QM@Y1@aa`j|FG}O(9V?KyAV@{&ohFj;h~{mX*IaF8OwFOAT$5*zxom9QGF;lf?HrZ}H5Wzc2ch_m!`%gNmP zXW$QU1sKQuLdx0(%qSQB`$#45Qd-h^D4_i}6!Q^v!8ypfv#H(NJC9Y;Wta&|($Wm@ zA4HjqVbck5zSB=ErjhcjFNU}8GzbtV+KXL?Q^pl>>}de~jF$7$O8ao(!{z(8ol0&y z?wuyz6Lrr#%t0m^dz;Q6)^d7*&2M$R>Qp_ZL?R8&caF??V73Q-ss|4G{;eUfC=*R< zDCVT3_;Z0OG!i@Gz9W`?HR9A9t2V`jDcl44u%Pcjm1FKXobBfJL`%*e4@r!UOH4|+ ze$>G8DAp4G1!gsecwvg9U7nivDv=;Y3wRaO82fO2eJXrE&utf3+ z#@<=ye5bD+dfD!{lOT81z`l`r9dXVx$a~!AXWMCti>}-c2=V0K^Ib}m9PEnwQyIfM zUME@l(;4sK_(^ro7d7Q8H^zPTW(h5M=OGKAc-L2zR6%4yRg9xU=k%rs;?mMS9EZukS)do;p)j)o# z=1d7JZ9Po1gPmtTHAE!IrM~|j^>rk>{fepf_m(^_jdt-rsjNhF1hukW(?T2Kl(sEL z((yCh^Mj!~uoeot?aRi(zrMZAcFrnHJqDh@mTR_+%NQl4EVD*%gNM*`ExO!Jgpx8=!h}L zM3Y)pI#D91eula;bkFKWim|sB^Uj}rdH+8Q*wt9n$w^_pF{6?Ls(9zUmp@wdam)eM2T~Yc&s~9ZD%iY=7&!5jK$(&YAM`NdZuRF6?mfjgCP~uK zAoL_wbk%<_*iu3360~1!imB;ftqd?feyF7BFHG9M>X)y_a2|failh|P_p7Y^mPMh+ zLLy;G<2|)7-MKJ7yf8iu`LR3A5-kwH$oBYkRO%hL-^5I2t@EMfBJL6ZdGTCnYy1fr z955fP^HWS_ArP`QO`0g8V7jPxuV3HJ4P3Oo6i8bW5uW$Vjp7pM37RGql42}wn zn?^_GiLu3~PKj3^p|17k;@!G$`2(#T;X1I|Wq!`1N--|WlB7}po?ePmEp=3C>&s)s zvZPVBq3@?o(%0;8sk!W3=GQg8;*A?@q3F81GvomDoJDoS&DK;?en~np3pjCA8Unaz zT*Z+am`%y;J6)M$HZ34hkXNl z-oCkaRFZNq&^L_`G1w0}=u2m|%w72B7r$0kjaz4J{;By=A=|Rg{(FwazS z%2IAORb@BB;y3}con?;un}}f*JQLb;6NHv_6N=;Zi7jq^07E`1Nx*`skRYDTc2YhT z4kDBBA<5y}mGX6dtO5BE0F%m&lJf@($MbCZtIsd?B?d5SjfZFrX#8h~2VnW`lg6%u>r zYynjEqaOU3A=UHCsokABE)G65z8n%O>z2DoAt8lfUq6e(`+l{BGUGp<5PpZdRXr+7 z$Dv&OcmMRPaf9RetoQw+Ad~RZiDSBp?HG683##_QhG_k{(^pAsT3Xr5A=yg_x!6UN z<{$nRG%EA-lqqwxl=$bvL)plBKpIcOev%knhR8b0_S@hYlf|}Jv5dHrVGaxp(LHQE zDcB?`PXgZjAAP908cfzT_xwWn2)|4bE9J3%v!$|WBGM%z7W08;M@%9Wm>xCik#nq! zigE=^Bm4cM=5rCEx_cFMrP__@YpQJw^Nml<{_ZZ%PdBib%s!3DR)q`h_}1*JvFp?n z2jiX$dclj#rdPE1JMrJbL}cnits1yuG6&vkN7xFs0%v*4jd_##Up%okvAn9DGu;yK z%Us54yh7Ex<>UcS*75ojD*mSN+7nd3Xv1Rt1Cw0bK^Bx@w>^M@fZLZuYY#UzZ zVgM7nPSJ^hzZV60Bx`>s2B<}I@44Q)ROoswzBauQSzI1k^9_lqQ&F~0+j~V>QT_D5 z=^e_hFT%b12fYlWpZYz1-%*i!|1qNIm-Vy*$H2~uL>hr{-hY#y8>p373KNZw7bX@Kd;8>EVIHo;fuRL4eyzOT;$3-LO5g+P(-X%%369RS;7by+m^aJl# zlT+7m9qoqC+JXP>A}#eIrP5V9%x;b#Fvdh%Lx&Mu$3Ov-T#1;a629863RtXwVecXn zqO>fn7dE89-`0^%Z`ct5TW0QJXAKF!z!cqTq5V*FG~oUor36qAZ8jnOVecLQcSFf0lO;hsB9itjN$&4X8 zaA8c6{>WkVipxGA_@yE7p8uemlf~CcI$&!P*NYsJ9_hDXz)vfEJp?%}t&!=9kx1c4 z*^TNSa7vusBr`x1TI2$_YrE-R_LDg7mlJ6#vp!p0-`1!v9=_Y*&Vs1#c(9V)z(YS! z2fczv((k^d*X>Yv?E8$!nGp5}b3ezVq_x7E zT4u+7sOH5E=r&w+iuy=~8n_93*{bY^eMMOKD0b#1K-5*)6(kyEc}jfDUg%Dt{@B3p znr$e@64QAtCf374<2g_3cM{WS!J$1Qiw2#KOPSM0=lCSe81;F|O2(Q}@!czlCt;R? z5f7;V^`hbk1cDen#&`Qr%_#R0wgT`3zXTF&cli7puiyZdY>3@sBZ1lJ3cdhUG|7Mk zkx48pvZnY2IW<*&IaLt9Dg;@%wdn?Q^IwXXpawX-w~zlrWMI3K1F|=b6qEtk4H&U= z#WTr-J6fHN?&)>98oxcZjmhs0zJ^4AUrv^<*UE-DE-pdNwbv^;?^xQ%eEu+P8vzqF zu31r-{~_hq%8N(*@4w-DoWt2zar}qdG}$uwf2ndD^>u!_=)zu$IU~7ae_pF!6^8}* zl1Fa!>}j_1^kI%0O&pA8ojwt>9k;+6&~Sb}sa+%b9u<-7QaHHQ0;$-^U71xY(uz}Z zFAVfV@0+f8vI67K-?~!q5Pl{@b;}a&BZm#>BJlKFKUa%fF?<{CI3t~qxi@4iqv|mq z7)Vnhgw!9eM}*vlrL~zJFaL{Oo4x(r8`FOWz07Bls{zwPe|El*a|7QjRb%V^IfzAB?2l9H3CiiIv-Oh2k5utn z(+}JkW~O+fEvfJv$Bj+g8W|QlMdt9c!T?`M zM95?6I}lzNB|mmh2P(h(-;go_q$xs`)XQ%e&pErcV8G;H3o~0a$hTke%B6qA0o|CH zZO!&CDvT8dl;(tl=g2R~78;Y1PX0>BPnMV-rhrMik?OgT?2b)&BPled{}eS~hv$O_ zhJ)xzk)zRZQ5!-E0jmaE@7zPj~aw7tCyGY#Z8z0<1tS$3F< z&y#9VMCBmQ7|*z*_`~nh`_w^s7q>qb04D`&YgA9j&{2}*xq{#=P{0m|sHpWv?=HUc zF1l)rGLO^)ZFMyCURohFq2*dMeI*xvyu|&YfTikd-8^2xbp;tcgRVuH0abu5hNgkW z>Wi(9gPy%w__zg!e9X#9mf>-R;kN49ctfk#wlvvuzThL+?0G%i!U`cV$qAu=-M}lN zZ4EbVpq^UjhnYRSuoEq56=H|k)rQ04G#Xd=?{BX%&wPS`cw6vnuQ5TyLVQw}{J%b$ z91b*n4t%e^QbZ6ZA(XHwgit!^ZovzY1EWbPwXT~k@iUA0$;gro$ zl36tm8n0?U$L}Isqz4yn3T*nGR+H?=laVb#zr>l=G8m0$~@&{r7I%haqT-Ph!;uyZi5HC5Of~k|Ng@WlrUAApl43ARqcgBPeEwWiLD7B zZgm_qXR9ppV{C}yy)bm0{r8E`@wl#P5#0%a_L#Plc-is!rDOdF;m2v)rAK7*rOx2s z?}8u1ZJOUi51si7e5XBg{h0tyMc4A6J5aMP{GA*dijd+6z&GrsG%jkHO^RX9 zxZ)D*I|yq!-}RkM6k|NeF_dJYiMnzCd@@K)G5c!USw%xAC7>=@y$VCS{U*P3}gNe>G#yuYC z-9ksuzCo?_3jQu+aemAL!{3`NaTy*4Psr`Em4oMXQSGo8q?#*XnP@5{m|~&lUw&2m zUqpQcLtD|ZZd;0kVkJm%Cs2yJ7YfCLySo;5m*B-6f_rf(F2&v5-Q68t&bjZt_YZc~ z&i>ZSd@}o|lD5LlXNl4ot@eY*35t8Jvgw~vIp#bbm)F_utMKM7hVZXFP@ZedsCUlx zAb()IJJXh?u>vfLM)23_Yz$Bp^-Ei&*xCUa3=4T8tQL%mel`2;(m&yI-c8$VuFlW4 zW=B}U9TB_FGBj~8EY6N<%#Nncj^e8*I7trTGJiG)ezsM3&kHYt{}U#>6p$Zeeg`s1DH%1GQ+k1Aft)ysf$qT-;iY zx~$rFSjdQ!|WRT2C2_PCutrx1?FAOMai^Et1Yg?WL3I+R7GzM^^s6 z@EUs74{y6rvYa;1C`K$A{=($SHDsbN%7^>JACP*R8>)KAoP8zW_4rtlt^&2>d=oh` zFLY`3&)=$^F3KjB`c374N?5>t$X6wl#@s~z(`*TCMvHbVZ<^D-#Ag3;M;f_VFR}+( zFy5xWQPsi~})yqa;|=V$zVsGOu8J zP2|78`SoathYUpV$GX()OBB8vb*hH3`e?*Wt}RSfi0-akNVqDF+q()Qjj#I^Mm$r_&>-i;{(SW(vqFBFVrg2xeTqA*AnfqC^_ zxv6ly=D8tER++IT6qxvL;6j(x$nK8N8UD?l({8<74<=P2y5+m;^D&hF88)}jAd11) zuM$*X-_dng$@xXNMdyJg;v@DdSw+hkHGMm<{rYmNd>=BjsXwWc@F-0vGIrWnbxRCI z%#4ozoS96Vc}^{`LBE~+j=?-^#!ZAdn3~p9VcliB(n=P^ar24&=fYoW^2rBhpSfXB8u)_*)R=WhW(upr8dq=h2a$QP53%5ONbM+HOal{?)v zLODcEY{Bh%U=pyTvEo> znf^G<>B}skS6i&im5MUvnh?V%p_{ZOcI(5%O7kcL8IOH-rwQ}JoRx0TlF;yivYMcX znx?-ssrj{SfqBH0io){`=!Vv0{_jnljD&me!=)klYGc18Kjs{>Q5|Dh0PzB9f5U4a zf%QQCaU`P8p~-&D09_v}VcQiPT6Ut4>F+CYw}}}NY*>UH6atAy(JP@WST2ya$&mL2K8VKHH_c>v@uYZSTMBS$Z%1dtZsopSAPAHhC&rEFjMIgN`!3BYob} z8F~mI;2XMt{iTo&u?M-q(L9wY4NEq`*v3Pviq1qRQ)D>&JIQeL$7tBg+`6AgY?R#ipJe=Ig1^^emB z(Va?!Q!7~+H*fy2Vy6|sr)eMnrZ7!o)x`SJu%wBX{mNJ27{!_Om2Lvf`sPz#n_pdwZ_Gh^-ZXj_;VI_`;cF8Wph17)fZH9pn0i`YHVZ-hsvy zx%xlenftX}2>natc=p$=P7Gs$(g8qgFQMeWX(Rdl(YSd#4iIwq=RcP~XBneW;UKt0 zI?Os-aKndsCyh8G=1*>jq{Z3O-U zoQM&Yc-1&whNs;=oic;_hXGT|n^Fc+Ukz)*{{ifD(c`xU($5XQ5A4-$4$8>dfkOy9 z-2-`vq=g=)k$2S>#@X{N&9?0&Z!a@#rCN`PsDKc=?YOdaFWlb7cc-lCo@rC z(dD`+HU^t9%dM1Fqyhxv$cqK}v6|AhMW86~vm!477|`(}Og8dw;cJKIpNLJOy$^ZC zys6=z-bY=fHrhYu;hmHQ{ql)yb_I|A=>R-g-^5iZFZF~z6`+-M04}f!7k@5GJcko? z-uzS|&L5L?dh`drUVdD4GTv-k{Lge>!J6lVK3(pA6a^*HgVi%nro&4-kA=zsKfgI1 zajq2iK^Qvaf1L!epKI#JQndpt_5(($EOe5f0XnKY1wNhJ*D=vW7=hseu6*WLPQ};UVq;M ztKX12;IPHysB#8E?%1R@Itf5fwKvEgy~@SDJcHG}TYwE5NhU>;wE0?axp= z9f2eawG4`|gbYJg+ObQ;d#|1_I^?VH^|jdl$|l(}m{f0HwR67lGC%z494dw64NLL% z9n{?mH4nIGsOaF+B`ZdY5rs#D8><*p1*p0e2nWX#E>ov>)k%^eU-r@?fOE4=N4U6N zB4?y?61LPkV#pi%|MCA2Eyv?Dq`Hc&+M;1;qz?ZgNb?b0H-u#R0LRYobGy(x)mdOS6#-ZuF!KtM`%_~+PAeJ6xDJpiT6EA0sBsab@*bse zbFw&@fLmB&H$z3dVIU+yL8G)MCl;cB3- z`a`~HUK%nyp$kK+ypNH`+3>Wo$nJXv)cN;@YhMfkN`bL`l+muY8}FKoHNg56=bnz8 zF2r{mAIEj8nk8p~H{nZxXw5PIT!gu7IuWCs5D7ewu_OBsl$BvA&WIqC5w8qg1m1x7 z?i=-Q>rQIFqs|(RrJLRQG-Y|mpZnHQQP!-y2yPj6#B`XC!Jih@LC}Yf?oq0Kz`AHt zg}m*lK4R<5kb!u4!C$Dq4LQCkB~T-drn>PV)nh8PMl1-Vlu3VnJ;WWO_C!|jmwlcU z8?N0^!ExC|BK96eC;pEOtMiQ*q!ql^q13TGcr*l_f82``GIzC8?+tX*ISd-6?GHw2 zDbOAERTmL`yeX+}nIA&TjA67dmo{opdR4R|1_sdoXhbYta)b)0*QCS&M#SzhGX|(zg@F(n4XR z=U|`Y{9*snNwOcUZ@lVnp!>=YQvY`PCEC?wPVj~KmPIfj#C`aRG*bJLg3 zSPWPKFGwR>y%b;`sv$4E_$z~|({v<>X)+q`wUFypDcaMQzu^cyNPG@f9Wxtp5l)pD zkWr-(joOi%zyn!5OzE#Z0V>lHls%Un-U2j5be%iXna?xZ*9ZPALeEjCmvnTBcU}J; zFz)={o;3|N&WKXmpYUlKck*vFQ+l%Q(r_Z4uJsa3tMmG{77Vm@0}Xs(H#>wFq? z!hgNg%xQhLTAALgqsh6#VZB(U#jbfhZZ`X)H8eam!oiDf&mEF(GU-l@i9G5a^!qS( z`VW~RIy#qC$dF9Lw@}`YB7Ai@Ph^5*0G@Lya)@s_O_(gHS$a?FN23p$rwE+g9-Rqa zL}?%x2!j_t_+L(MZiwVyMcmEJ$u!oqGDA?7_RI~Qe8?^p-Bm2mvUrA-wpd_<--*=w z%i_4ck>Q2Nk2}1A7hJWE9o>({`==_OB5O6>3Z@Dy$FpD7f6$l}di7Z6H^G~pNWE2J zCF+OQ8LJvqIi>ZGeC4D{xbYHFTIGxy$>XCth#NIh(2E+&W$DlJyk94VZaD9;^EY+w zEJ`7fF?36ewqj&Peol9%z8v|zp+bwiHpcZHD)|^9Y$)u>DM-TSyJ}v03i4zM}HhVPOXE)>5HwUYu6cTtQd!t^* zs~qQ#)lQk7hiX7t+b&6t5#o@>jqGZ*fp7}os6`evM5)ye4Br-UPer_K_q zCeI$Dfw>?_4`BI~w>vv(qB2UIINFQTK!#I9Yg|lAHm$TL50q?HxA3>fHz5(V7=3a0 zuV8D#ryrnh2QGqYzK^iA%}1Y?4$Jl$8X5aXv?_3q2bIe+Z=^>undq75yNlGV_Uf#n z9M02v2YU8S7`a~$wtck|;F44yokes_Ra4%%>Q>srB{8EG)rp1)#)1d(l)is}x57w| zem=XJY-1)dvy;>S%iA<9UC3LHA)fJdO6jE;%@p>3>;-TZB;b0Ldt%1*^N(?DimVxg-ICEtT{`#((mFv{>io@CnlIo-6gf`yc9o7PO2=&$KU&cK)0LL~BBsp?k1%0v4${e`0#7@?IfS7=ZGTQT zr&Zqt|4;{&PC+rCw$w6Tc1(FsDtZ7_s!B6QpaOoJF8~u-Ua}Nm>WwPrNv_FqN!w?} zIAH-_=QepWv+5c}JFxht>$)o5iz&v)JcrH`uALwtVB0~sV^r_bkdEcK_Y$RYt_hXX zNE$8h8G4^q1K*9XXYJ#Q$H^1suqpguc8m}X9Fh{>5=|rt?srV#fA6D5OgH-YxT3}R zQj%`F&tBT(?)FyZE3@R|WG`X61EKDF^~OPQgM#tyqdw&~k}K|KI%b0WRTXRhvO zJ(1{%^Jsjo&WkZEvbB`QUBmg3?Pz(bHoVX-DI-YR{m|uLp{PbIAdDGR&#WAO7}Un+AqDc7YF7Q6;4e5 zp#2dPB6zU3`!W;oQB?Xe7oL1qg|Fi(zB`QUW0{R=7|G$l7NQ5fpfA1)RnCNeAF|+@ zBB!UUc44yzOUepAr)Pcn9|{q-6fB_;cG>|*s(NT~ODdKbr>1yOinMIP5M!XzXy@e7 z*wpf=i94U`-ow3DMZ;v4LczDdV*NL*1QoSL+R%}_Z6PEW2OT!(E{f$El<)($1Uy9ZHAfwuQB;PE&*K*x<6ocG(ME%`fT z>lbwL>AYrrn2bxT6C*U(=?sLi<8D9KTREF(=!{G?Pyc;Z{5fvE_R;vbNXU4*D6*5n5YKjV4I8%r znHjR~q-lg>xWU@#H}$T={5Sb=-hHVM2Pu#srrIiyPiX5WxU#gPjWGMu^^TBIrzCQ9 zLh6$5aA|%)h&08+WSVB;^hEgmOCl!op z%UmulqRgm`Ro6@BH**G~vd7|}Td+AX+!kb>F05`LNIHx!LKuD^J^-e$(_BXUx)cf& zM!N72;8WL8;)`|aiXVH1h@*X@+ZxiCux_>05YYXGeW^F9m-c> z=NOKiPIEkNnKtd?NiY^cig%eC1fc19DV`#-}zhnJYddH zGp_!#P_)f(1J~gYn9Jq%>sj4C6?4m(?u!_l`G0;zP|F0B^+)TDFh)-Pf2+tOfxPZ}|f zJWr^sPBwNS(*S*4betV!m(F3?^Rcfb`@j(gVXJlpCADe>2Ah-cWthBomT%~F=Ri}? zaXMbfwo}_xCJZG#8hIB|QCE$GJ%u#X|M^P4tfn*s9k0zy zwaa|`nQ?>qkb))g(xJM!UtVOJiNgdN7l!HAzgN8oI`D%_;ofi_F6;N)2JeeT-NdA) z3_Y%rvj8Bf8#FTE^8!6m9RLq&0qh8;ajs3zLO4ooWuM75EK^@fIlPU;!O8STFONcG1ogyuADm_lg+e27}ACB-W3Wz z`;vWR^!~T*_lazGOXw5(@9s~8B9^~Nkl5XtJeo}gy{3Pvh_1`xL{ znft*9a$FD(1v}MUklXTTz39GUSUeO)vVn zM9jG`QfOO3_dg8-GkRw7>gUY6M7^ z=Jke1!}&`)?Dd+AqRQmEQ!5Y|YI(l12y2&?$#F+8QlTg7pJsBNWp?>x23r^CMlw_f zm$u|3Rz!QuT|5`vxE7%)aBx)oUyqJY32<c>!6IUwt{D z#{*$mYH(Y!r?5SV&l|c!@J?TbqT0-O^kRBSpJYi#Kk9}*n%`K+P>JwWH3`P~yt@nRgTw=xlb!kl!Ojh=;0D|p&;baMcY28kJ&AhF)->Ig zm=}F`C>Y&&*{&DC&btUIp?{PFV-5Zgj4mI#*ah*X04I^!PbuCANAj|O$Y9X`ppMT@ zs$8nNMB3pdElxU$psn(n8mT z{mF|^Cf@fx2EuH-ASL@weS*ZF8-yo4zkVP>fz}~quewyHMrV&f&(g?tooBPcKI)5~ z>u79gjTHU?nu!dK5(abc(5Bf=%gsw+BrOr&EebIc=#v_kSI_+4^SzBXF0(UQR~Es8 zja79+3n$?y_M-|aBV$NK7KeEAz%0uq*cVuR18brq)0~dEH3`(PTJktRd^ac$=f~g6 zzzyrf%Z=YI#o3RZG`apSlK=xYY#6Zd`yAb8s(NwS>t_nFYVlErY4th+QO-7*@&aD| zIp4l$F5Ue)8Lu$DYa2;_s zbgrTED(fe ztr~-kk_GpjKunge>}w7rC;9BMo4NY^a(8G9{L{Z>iLqgcxoLo2DWPy>4Zqv@_pM;- z8?)!}`3w@itR}WIL6_;g9@5gocm@zQ2@q3>-Dz*2#{g#uPxy0lu zPOH-r+V~M)sr=nU1eGA3`!M8QpNs$0+NK0vZ0S9F1@rW^ak1OeP3VVPoBU11aRRP` zI1c!IvCZJ^!S(7f*)`>Bm{hd^x#RdcdmTn#nRA~;ja(oNIJXD)(E8c*r)%33+#-qN zT~wpIyJ2c<= zW_XZRgadK*p4)Iy3CeNNY_`Sq+y8j_l3|MOq9Xs zRudPECI8OeCk&`#p#rB7M2r%4ZItmO2qXO_K}j|MH%SL)Vug@g54)}B9oNQwsb={@ z?Wv;`CsK4c)>Vrg$Y)|KZA`&j6~j`EfCp6f`~59H=oSy-(-w3uv%v3Px;Zj?+3hV@5G+AI`w{&)HnCd@lp=@ zct|zEW1m%BTZ?VJ;#9g$^${oQN0Wo6mjT$l!+0 zQMYacuW=JOS9-xa*+*EcwChY@3xr4u1j|Gl?X7nySivc;2iM_=$q0<=|6vbj?Rix$e@Gp@*d3I_h$q^amCn5kLsz4ldOo=N6;Q@7!@Ft>3>yHyw5tX zpl+d%Vm`gHWwa(gQU`unA#S1GxuHvnJ~m7tF$dDH3=R$2 z^qEE$^#Fo-uoHjEoWCuxv$&3G28Ko0SfNeGRgJxDDz6`_SfB`G|+ z8@FcM2e5cr<9F&Fr+GX$I$@)<55|h6rJ%Hv-U1ep_O(8oN%0Y|EUQf;r{=ZJ7 z#b-g#v||+>9&yUN^6J<*}^MD)zlP?oihUiOZS7;yK;CwUDt(p9hBTiGN@D z%CvR0+EykE?`Jcg&(Gxq?1hdam5v7hc;;Bb6;NtRE+IOQRjM*7i$Db~weoF~d ziL&ivW)%c6sC$+g4gM0y+J6+oBh>i#^{1%r91~ua^|H-Rrs3b4VE4__jMjNVh8+y+ z@Lz4@AHr?m9tn6@6y3A}ezBW1pZ#TpJIKq7_*g4Vh>Ng=^_AX?lu>V-%}xu$za~HW zq$OE@z3$8K;&u?DZ5A_}GAHT}L{tw(_c7Jd;*bvKd|T-o6#E^Q6>3NiLVJG51|pV$mBP{a&O4vv^`1X zwb(6?v5RTT15Y$HJ{R1E_{9H|=S+5dkI(YC{&>s;7I!QA^yL5HyQy^skB5}b z6gd4{$Q^Ga?^>7ZSV(84uO3n5)SO!oYNAm0jI(dMPc~hf8O0y8urWO>T|k{5BrR!d zJFu5#Lq}Z+>r>~CQWwte!PLg^(i_-cpn85EDksbTxY7w;gpIDga+|MW?T z3hMB32aS9}W8ggS>Aq+jWxgEveRg9uMM&*mv6&^3w%G|{bj&fPZkZ0{^YHJy()yo~ z90SOa2QR{BUY&DJ0d(Eue?n2R`3je0=ZEIZ9A#gY^sSH7CRkiwKay&1?P%hAP8l>=TKXWbl@Mn8!~WFvV^)V@x20ZlX*yL zhnA6y+jNG|;S|aD+|y0dBSHl09=!D9Nh=v^7xXR2TU6_nZ)El26?L!Nk$4K>&6?e>6zCpUi-sd0Rb*PIQ`M0?=gL7cdYb`lQPAfv<%ZCF(=o* z&zg`x-$@u#VnJ|i0Fbf|;38}E+6$tGy1YDX4gGX^kOFB{qW{=DEtE?2$eIE4vBbph zw#{k1!OoO|_Bd-xT~vWuM*H$Pq;bWgeZ0+DN#fyO=`u0iE||wK7|Y8kr;blY6~BZo zls&Q6D87z4>8DWwWG4|}F9~5g>CdI)P9xRku|fMVxs9P;62}@p?Hslr>(_8xlU)R3 zdp2rZxos|Ci#`*IiJ&A384h(2-9CS38Pq=g(J{$*){A2uGqZK zfM--A2~~CpWbDKOk*CxUsKt@eyv@CWmt{U}sgH4l@*^Vp5I_C`luI|7oG>7?cCYgU ziw~lz30wI$-fl56yyN=RmKPJ>vUUB1PXYQN%?nLyl;^h38#AkMt~TVOiZg|_prozq z-DwU5?r<|>vY>!X(1%2alqCY`nRkTbw3NR;#Khk< z=8#8L>Y?d~LS0eiS(kdwobV+sSU2mO6Y?^y9$%Awkp7Mx{yVJYyv_Iek_u+{YMl77 z0n35Z zbaQb}yVUQoyMw-Ql;nInzGH>JXE6_CePX(h-y*Bxl43Euq1#!rEV)VFR-`PhYsCse ziZ`xv2Z9R=3MOPs+=He)2RnHF!%&$$Y}#9b`%BH zT3mj8&x9xIN){iaBcW=wlWRU~(BGoc!oFPJH@6jDBwEialSS4M zykV&1{fWuJs`dA{?KK~+X$Ge(8&8rm8CTiu4Q1;?{94y_sUg<}`RT1EL3-(77r&b> zP1io5sp6d<+RrRnML=>JA+%g7@A=9qMwTB>;>cW@M8(pLO{Nx{MqXEFP{D_eYH;z7 z#FuxnjaOZ>n1$k!pY*YsBoa9(dgdx zPz4tWLRage8NiV6gLl~ajIX#VV>q~En;B0e#_8E_G>7(j4fm|uR;AzBw105cvjD{y z0r+(Jt+aEe663IxHGFDok%3-ayabO|;w;Vz_`d$FCyDmGT#&-0e=<{o@68Q1tys}< z+^lvRgC9@gG$FB^0JQtuV5S_h6U_%U4@bJ#3M(IAxs7s}_nvd>cGWl9?GufSyGQ*) z;{ZXJkcR=>-rax+s4Ze>-f)Mh-rB=0|0lanT)U^V3TIdlr6)*-ZYMO>?XL&^xT;Hg zTGA$#gdIkW(}Y0mWM!!_sJr!nG`5qAY+(hCr0Jz978R9C=NE~DpWWMT@yk+Bl9B?b zG<}t>L=;qN@}~&j16PtEa>bnVrq;Uj0J3kFbTiTIoJi0EPBN zNrd+II#^A3eG%-EW%B2H{2;I(_6ANz7{fxN8E(FUB-IJAGVG^65)2G4S*9seg2CKPf zWsl%rTzm#g7Zbdrdev(Sb+2?=b!XDNV_D{2vwlNdv6r@cd*j+DnU8Mu?@S5IC}EsM z@(W<)^>YOcvEb{$AwSCKlOVt6^7Y=!a~$Utcv*xFgF3^W{%QLJF3;zr3z4_2HTLgY zwanVH8;)V^f%R1N7^C{FPA#cFx$P;RrTd$y^az5Mr2X4G$OC9{lEn^%i}H!QXnzSb z4{Nzlm_mxNuC(!7s}j?fad7vd7cMBtQFzz?Z3Fo;%O`Gco6Yfozvz$a;$hLDc}Niq zootbEV-oJhoZeE5CuUAm0<01b!oHYxhB3Scl`n zxb924yJK5jbJ#h(4qBS>Y2rUUvRn|uuR(uF^g28ht?UXG^Qm?a9+!dD1Z@?tkUadl z+ZH#jhZzz0Dj^9wG%OU`S#U-1PX+X(j-!5T0NOvK!RY~3YT5C+!GHJN=-5Ti_yAVM^pUZmlH64$O zr?tX2SBJ;3dQ)g4>y_5ju(&1B-=~^U3jSm#zlj;Ke(JPSK41Q*Sv}09A2^Q_BdSYdfZ{p^B}`f8j|LygVCYjL?p>ZW6)Qt>q|Z2Vq1I zr9&q+s_nu-L^|IGO(>8fJa4%Pklu8bp{_B+m0kJfD-Yz^RB3Yo{~GC)kuGIzCGe<^ zt?@_}pdJ0tC4Hc(t-41jVdo61=^h*#W&o-iBrA=YBrCyaF<2z{5{(U8Js-tDl!BUF z&4xsu&orU_l(2ci&YdCLXtd0guDpdQ2eh=uj*{ z6=j%i-+bT{YW;^jZ*Kp0Lh%9iK*42vX;}Ai7^E|7K6Y^baxf%pFnVzC-ypJ+TVPAA zw3ggqlHzf?`nGw$i);|qN5R3)PwYR^m|Iw9MSJBGp+V8+y1fTwzWlDyp5OaXrc3;9 z4l&XZ@%S!E0P+OiI-L&g*^Z}PT>AS$vW*<4EH8E z_zDVzLSMFf-EZA6RHZRv!AZo(QED5ngP7U9_{K;SEgW|vlc;ga`M1UO%N+B2YIhY! z?dpGjtuiHiPiaE=IU2Kj*xK$3yv@mH8VSmsW6ch?(~TbDi3AVA}94Yh@Tu|jtyeB&pnw?HJ^ z9IZAIL(hFOdijn(829`_gw(87-=EO{*vabiIeT`PimE-B&y6#^=x`0TD?^Si@jV<{ z&dt6FMh8FJulTEcZXPo|S;aqd~>Uy%Xaxt|Ql~T!UF)w-5r@DdI{;K$v zBf)ZIR^=U{Yap1pPiz>uE*a5}D(#DGyRbJ67A`hzlReJB= zW5>Jo+7__N2PSJat5iYu6!Vaf#^kTj;}Vlwy<#V#0B7Ek3=XA)q5d8QBBs$ zJ8bVJ<@-=qJM!F1Te+ryyn|DbVf3vqZ;tN;pQ9xfYo7A6*Zj$++M1JzxYCPh>s0Io z2rLA4^wR&+Z?|2zIz?RBJAXpxMUdKmji>htMcp*!%ll~lJ;hGgZ;=wI-#^uP6XF1? zh=6B2JR31x7!r*v9=DN@Ko7-Lo~C4&%2yJpkV<=f<8v#V=iCI^>nE1 zis~bFpJEcBr27LRrUZAjld)PRmE4F9zxK{PL}w$Np96OM9Xs;?kBIpwf+99=Wn8vHWtTf3%OkX+XQ*9F=+H@c+1{4MC!cv+(ETG8$d?uFW}L$ z3J}^(%V;$^gS5BV9S8t&*|gjF`mMq9vB0*!N1P3p*FhRCGExr0f*v4BcG|UX+IL+W zEkY65!NT{oJjLx0v!@)M|)OE@YrQw$sgpQx*i8&^!*YVF4|;`VH!fAI=h z{UVmIa}?Gxlc1oT2iQ@n8k{MgKU6xc@wK*5 znKm#%B3~JRtz0!TBhRj^fAYtFQQ7-Sti|;+ z0Q&$D!?+^|i(@FVrz!jJV%rP^C?D2sq7e@hgxqC9Rt1%CG5%0pqQmy7D$P<4h1-xSVDT*gzG$_8CcHp5l zECaCh0qM>${WD$wyl)4uK1F(cv!Q!6Nnpa<^m^G}9lpGBMW_oq5vgER7QJ)gaf!n6%b9R2G#@Hn8zy-*SX_;++IfO+Ale$a zLJhqV2urJ@H#u(VFYZIzA{|91sZiLCjKdEOjYYh#JDK6h8T#`4@8B;|%8sWU;HL>} zRZvuv-h;zl%?v}Q7S}bnHuo;0VEfvF8p1O z*e_0;^nFaAh?IZzSUbh@H`;#G_*2r9TqtouUUOI|6JwRDFr~kAGzEKlhs0^eboWY+ z)wE;j_OnazLwtZ!=UX%|$2|YXHDp0vI9^!eQF~=Iiia#B57zzt2IkxZl)OCZa{wjm zY&*Mx-$V**-EM#1ZRtL6nX6JnlJIf8qB?b!z9da-3&3FRB+V5)MN`%OX*QtK=5(aV z?-zzwXh4sQ4Eh>h*EcdkC`JW&mckkOxM{m!2jGnlP;sT#xAAjPPHzmp1Sm{t{9syK zK_U&kdnsh1ZF4cY(#+=9`Ba*o%aC@s4aw+mIz7q?e~5syp#XjJ-oxdKX#4A7pxWg9 zjsSKCOFd=qwLL%Ff1^OGQ)+>fsHR4?#3O5p^%Tz*wax(GZNos~a;=3M%p!@1tYEe3 zf{ot5AHbTFd;3pd@h%z+3H|hF*l{p}j@hh!bfL0%G zOGG<@K}O=;no)Sd^8LfOCEOt%s5VGGwN0CSYsAJ}v}Yp;k%u??FGr&%t8~d}W=8mH z`|qxpc(^MfXmkqdVh+?*qrVUgyARnM{sVbph<235{OLdgkmpvk^UQ^x;MQc+QvJ^< z?u{*n_6b-h_9t{}q2v2kxk)B?+$gQ)hphAEA4t`F-p@Vx9{mU~OT-V1|3D6`){*A2lRFCvjL@%HOeQ_5OplREAID&iO;ceKbhxyYk17=?( z3(bRmp&r~`=O%L&u9cg!6V=EF;UQ~jRfC1gi4SV_116GKZ`s&b`f#J|+7G~64{>L0 zD4$K6(2GPtwc&XfpjuHFs-H8G)2e{Fd39_~@%p&*XIn-b!B6+FFU48%mvsOdSgk2F zzMSoJe{T8R+y85y@g(rr>s8kVhT3%5|`k|5_G}0Ew zI|NA^0oQOjhaFCvLr-Dw!*O?|VxFW>!;OAym36;D4{XI?$ADu$+!h5|$Q(KouXI++ zwW#9HYAfGqx-pw^i+415GN_2NcZ1Z0|I}2EhihjFF5N(BdeywDbkPSN?OVUUKMJlV zjh%EnXm%*PSja5&dA@1RWbnMZ>N&$_@bbAGyxa4B+L-Gl8P$Ed*o??zczK;lSn~Oo zvwo`*>py?}tM^IJ#M?E|O4A7zQuYQ&Z@vX>YqYo5C#5Ls>EtAIwaTDucw4m0VJBj^ znCf`jj=I0DyaW@BEt{}linMpx`|p1#x{7jXr)vE&(BSfR6-0+8X0!QsWF`IVL>Agi z=X{vRk$d}#RMV)!Q&;!ef0#wGlwdPye2(`|nyUDV8B~Y6wE#N6r)TttV~e@gHLzOH z#kkWLVz1rJO~@RY$Cklm3tI)oojovE!dDduVjyWK?^r~7xmZa<1qm*-T$Zh3W0yD9 zaB{M-TM-<7o%`&R+WhO}QCp37&id&P)7$iXfuBoA2(7Hrzox4bSIpT=|K*+g=3{n( z?AOG)gsAcaM$CL_Ym0YBh~Fs4k!c;bLyJp?0G1ZQ>#loKlK$~v%6G2?b8x4B{i{@rq$ zcg1-yqApXU-O*~ULp{kRkl~AVGkTv620P};(>3)q+I`hUWIAxQBPKqWH*(WHA)wv( zq}l9sUv+AuSEl{>Vk6~-La}fx=&n66#dC+08qwGTMDcO-wUoocKG+s9!8tq zb_P{HJtn>V1yZA`-Qb<32>1OBg0qPMpnEFbHHAT4W-D=k;N3+P7)m9!G~eZ$f@N**b)`8Lq!UDR_e+ z;*|Lp{k>7MY|FYYltb1+w1%ycEjIe7x1~=h=Tn14ma9 z&KE(nB)aC`b*}eU#rmuqI%`z%9WFY~A3)Y<_ZQ$KMr&NpP?)oCt*3B5`XpjSd~HE2 z$~oOn92rpkuT7lIiOV|^eu5ZAG$-QJY@tdkjy_wun_q2ymzg87Dpf5 zEK3S%x!tU|!%qp6-m+;&)qYh!B!~HKW$u0BGS|G0ZSUWq62b6$sL*)utEzepcXrKx zaMsq2S`6CpxzHh-a_}Ga5iEC(hfMd6O!+>^Xv^4VFK703?P!}Az=rRSaiKE-w)B_*I3D^lvbug}a@Zh!TU^YU?aCT@z*&No-=xF==OgG`M*x$qLHx!9<(#I1j#sH7Cl{&D= z(Utj=n=vuZ_sNG%`Zf92na0)osr7IS)BJW`o9T!BkAE_WQ)Ch_^61NTzJlXF|GLEH z3%FjXd_K+uAP{Fb{LS$qzQ~Gjz4~wfH=zLbQx3as2mq6{w{A8g-k^0v+>7w~@8TNx zIA3qGSw?2NxDT>EZ1?~2lyf;>Svj0bgU7Wj!TvEH)K$xi{!vqbim_BX<5Fr+kcra| zH9TeX&IK_>@{z=eOeT5k&@(^iEs*`}bKY{jgV$7@yrL2*1y|#HpVLQ@9w{o#fS_|C~m|wb|6|9vtuDPWEsm*oio* zC9Ka`L?&SRx`}TLSmW=u*%t7boXa06Z`=u~fP9>1q+havwfk0?GFCZlR2}b+pgSnO z>1s#iI=*m#ZunFd*GoyIo_8y2hg4;Or&=8j0Z%h64n4^=Nlb-w_K{g{{%d2#XMwVl z{aoni1IPlP-*@*1Gg8N(3l(RoAUE-ci@)a=RYTS1$r@YV{&pBYG#b*twsfa7B$C~Y;-L=eJb#Be9h_e$!PJ}pVo%`z{vF6 z#DS(aXZCg<$be9|B_`T!?cG64(7mtDe&Y))dHl{~`8~6Ep(&Al?A62D1nwAJ#OHe+ zwKzkZKMn?O-VUb$)wp#@c<$4e2Wp9F$6#CoEZksk&O zicpcmQ=t@I7(Q6&i7C!%ktGIeqkdh^M}sL3PEJa_Q$TWy{>~Y8heYxB!znQw`-tuu z3#MAi=P8MLi4Nz$LD;$ckJiSQqXoc)?B=0}oitb@t^;ZD6novy_K{mnnoawUO6cuI z$Pw((8vh7=VyzAZVP{E}WcI&0aRj`N+n%j%`UgQfcmR!s+cFKr8t09i?{iYQ(#h$88R7gYyFn&Ah^0mKjfr;n+PAxXNQ^XqdR@cl* zX4GA0?T(<6JegK>NrR9lIhAo>k`t(j$c2-|TI_%M!~VAiGbsXj5X{JCe$Y87pWj}C zmdw5Kx&9Wy15GOuO9jFq4%MP0EJQjxM(ptPoP7!k2iKasil$>pdcG!34!?0r z6S(wyx5M`;1_u@M_R}FJmrGsRH=kA!SUXBdK3Enoq2o)_mEk84?F z!+Jlo3YhY%dvM_>w7x6+uh8#5eEeI&kwq_FrbC$veB_Xum;KMB-7mB2$ds9N#}!%p zTa8X4YoIsW*~+)?uX!FX_Z_$aRjq6DVJ86%E`89}=Mzt9z`g4GMWcHB(i78$Jzv}# z2SE>yzz|&S8Ci&rw?A(Ax!U4XOxg1`WT=Fzdqc?ORas)^G_H6zkFV#EN`0 zUx(Yq_zTX~-wVy&U>%o_DMS{i|qvplHIh=}Eo!qFM zK<@swvRL8xZGTW8w;b2V*muWtF1KAF0R*sr?rnLqeMN!bIhP#l%}}Xp_t=1Ya7jY9 zr^o*OM`7M3|D9(EpSV(G2A2Jp>0L2ASM`%^a9uE7;jQYgR(-NoMW-NRZiVP))i`NTIq_3|qFR~tr}C#?@zoVJt5tMACEPqC zjy5qC-cEm|Hpx#WFA{~3@rP$`H3`*f1Fy2x<}fuh$jWr!4_{Bqh=`*k%ZV&9f>q(6 zd2OirvSVsWsB0J)FJC#a*wx9tes^s&<|`@-NlIRDMTRD5?(nbSM(VLV^+Xn%B$aIv zh=N)#w*`>|b-6U-4h0<*^LjU{it6sa+A4+4Jy8}j{n$I0@3Cu6 z^u52pNjUg4^{}#7Zs-^57pfOB7*=S3pF%;jdb*qc7SkWzxoUZul(ZV(kkiiOwABUX z!R*I@xvDMQR0Zdv?*+q@Gt+-6&hYD11YRnCZfhH)z!jA_42HOpvnU^iTIUkY5lLxXV<}Uw0 zRW9Jb-Rz-4@X@|R#2u(MxnVyn%Fl1b^%~{ypumPekMEa8cPp(PZKCgmWf}4?GnmE$ z^#g%34LpgBuuS^zq+RERTS`t;o$Qe`E63tPK^tNf;HKOyUX~)w;FETtN8Tgz?3&g@ z=ow7{PNbP{GHoamymhpM@FIbQK<)P7A56~>h7a*;A%XmaphIoFtpRKyIih!Q)tzVy zs%@NJnw@G(7`krjJsQ#771TAPtU2nNEa?>)QQvcv4|wS-#!vam=X$mnCvvB~lz9uC z?;z%bO12u8z5{~hw?YsWiu#vq+&7ur8qVtdqDk2B63Ex(Ht09B2(h+}@^8Jv{M$@c z;bV5ppTJs8oT@WFmOMxM*T9;+@lWi6ALCoZK%9$Cl0B~FQlto=*NELUKm)aE#V1p7o@A5?h3kejO zn;2PRP2aDOB@#r7Bvd5o45k$;84Xut;@u*X9eOI2oo5tZqsVu=){beqg$+!Rkm_BA z;WWL3${FF{%nF4qC?w_l4ySDOnoq!R5rzK~Er<@6I2L}lH4ML9M$2=c>0bT_TzP(I zOH46JO2O1MQi`YdEPrr0UY<3Oh-k`mci#r|bTF%Q5K0O;qq{ms{$ ziL>EP?1o=1KwkIN)0|KjUPKpOkV~jHbH|R749Zh``p7_~DgQyN8@bJ*2O2qKn8}=j zh0RT{M3GnzTgiO@r^AbM_m$_-c1V=EpCjrvfVT&yQP{? zoUWjxD3O{4JdDE22{&oLT2M0n@_F7DhBGeq1cJmYX0eqOkbZBw`v5uVwO{;zoR>Z{ zru<3h3RH+f_{^1No;Ib5@n9S919MW;)$AuIdL;iZGLFKC&XBcpBjx#2T;K-=D*2Ed zTXulYzBb0|ec3+}xA-FRKQ^hvf4}qv)cm_C3Sk2T;#hwXr|K`wf#zsg>XkEQg!wu@ zF&1+6YUU+s5oPET>FW|1suO7$;cKfA8R!wIs+F^{Wn`o(pvZ^u4GNctvpH`Y8Z=RS zikSj={#LVav`F-=$@8Sg63}#x{)|Ahj{6IFX6FU=M@f7EUErL*H8VW@hrqc}Wi(kP zMzIHf8cPZ#z0FYA&bS!`uW~Vz-gg9ZAc7eXs7_kO2n|fe6%EQ(Y?eaEqF|-K9k@3C z@`-=nq#*t;>#524q_#{`9j@YXPoog`KtLLvK0enuaFUlP-?VAS=V_8Keu9FKab-F%2Hw zaxy2r=ZJH6-?=>UI07UuyvQh7eBLdW9$XH9tjh9W(sqmoizU5_K^9pV-oTV54X0@x z&+`NTw$rvY8J>%gjHYxbcfgJ99->HT_j9HH!hX2|2HoUy;z<bS4jkodse=dvS>-)BQ$4d1_FDWOu4%nx)Apdr zKhRLE=_Ammx{50xiO2x^h7g%J-=nh?`&ncxp42QjHya95bJ=^4M&8szlazy522={I zRPeG4Ks29Cf&8PGp}kS?n*-ehZ}2lTfdwUl3XrQGz)4~br=E+%MH8KvlBZrT+G(8DB~R$f!9Y=p~lBE_cu~G$By_q&@DT9&(;_oCzRX#4`k-+EY~jh5=}t zoQErRd`Yg{4rT{b4&%{=#L25~(irMPm)463gg4vI4>&pH2A;$Y=9oWTeeUXGP_;su zw-OU=vUTjz_l)xSNC#hVyp=O!oGGNK&MR$n8C=)zs+8ds)M*Ush+#|wa4;NCWvS(A z{yp`KgoCYsQPLH*}p5 zQ#Z6QB(PP`VN41vFz?jm}= z?s~R8diYfNF{bWneaxGJnQ4C($Q_ER`ZU68MO6l4^Vds{m+Tt2qy;JWXQUMzvOsPhT*^OG56%e+K|a2k~5REVdEMZ*By-6n|%6JC>ko(gh7sAwl{H zqiYOYvZ5sa%TcpS6uR^p^eGO0ETm#nC*e?GCPnIc!%Hy_-)P z?49b}X~y3fY|&_&sO(@9sYVj0qS0EY}{;Pcr{L3E_Fo7QyxHS0^U%I`T!F zZ7>$E@4tg zSroyFa@YiF8u7&p;7=$gWmz^dN`u`4ASfiK$%^bHG$Bflef>W$0HzDZ+TX#ix zp*2K+0_t2L05T^d;Ja-WmDT?t+K?qMiflhEHYA3n8f z#-6AY9Nt{2@t*l{i!!~kNM_XdZv>U+MPt45Cs*gH|G^mlkB;$=Qe^UPv_YpVH4mDr zoI*Y2kN?C>o|(1UZ*rEJx+tuykDsefmZeUdu1-?Lggirl_)!6dD;kzlVSdl7xK-DR zHQnL^G8c;997>1VW1gJXnG;{tj9#!Ks>sqfB!>;sJKJIg4$Nef>R1*@)ikUw)CfaA zg-DtwA`)x%A}ApRaxo~9<5f|kpv}#IB^bm@v`H0yU2|bWpcg9^O7GJ72WgcQk{eW z0DB)Z4o*t`Ns5$F3=pusM?@bh^_*DygiLP>dv21epvz63=bHq%$Q*^*q@&ynuh*l6 zW&2_F6CdH;LWq*5Pl)n8OnTBtEKlPmq z-Y1d!SJ>vbeM3CcYj1sUH|u*}w)6ztjVAb<(VND;+>a(-Gv+}lmw_9&3907=Um#%Q zv*ZK-vJ?@T-8yYJ&Q_b?kyDjN>2{V)tRodB`eg_=!x5QRO3J_qn;=ndJPqGvchEoz zTSsqLYtIEDZ7*vBoh_whg=LWdjk2lPEqxz&lxP@{OejS!<>uiWae%}`Kw=~SG^pk= ztAVIK==!j%+_J3Px-2T^8>I!xTrFoFZdP7>vbtSb)-bgH9q-GZxhCYs_^W)I`e%OSwaw$nn*{4c4!$y!qT+xDt8GJlZqa`+JqCI5KhgOu!_sP z`JYh@8a1PY^yJ~nbJ$T^61*iWr*oUF((UEb-3+4^ww$GD6m2iERIi*=5Tn%F3RPp3 zswG2mDgNjz3T?P}Qdf^o#(8e?ep==+QN|8g?k=$@c4)R&P!l*LW*%uCuh=Qn#(=V< zWO(zFvP&~Jp$5@FOQr_4g=z%hi^MIoX=0ct3ep^WXz+`KYc^IcKVcEd>~epCSV_Dr z!n>I}=O&yxr-d7iRjC$l0(O4dqir#9rEKM`7O-=7rCUx(74;F(N`-leY5inWvYk|t zJo(u0@=WjKa5_CUfkyfr=q0O8s$#V{66aeSRb6`l>kQu;R%Kdzrlv(^FW^b%3e27D z|2_R@>a%XDkbye8v^Kw-o{*BEz*zV7OMV`z#1jkh#~1B^3oSMCMQN2Kq{dvfPI4X> z#Les7zjCN|wB21Iw{a3HmNIT*A`jucTiKYa$lpijyg#DvRn)#TbG#gJk++l(U?Z(m2KM~|q>74ZO*RvNq?uTJaMscW zLP8F4bgPZ?ggFeGUZ#GPcs|K&olAl~-y3f-Lf?D!YUeK4y z4rR)aS4(r$QYbV~+fDT)OCqVR`9kHQh{j-&sVuRfw@wx~!4;r-|B*62PJQib0#|R# zoG(!)mhkl0C3Fb%ax$twc|su2ISle4oEF~Z24!pY|7=%0;j_4ll&cnKU#chkzgri? z1sjt4FP}TUTo$|A@T7FR}Uo`yThHv{wB}(__+*lp=&w12ElWvC)P6#eq zHaB62@F}-De^e2vf!qpo@N#4ZqoA~b(b7m6vfR@^uKE>1fJ5a&t9eC8Dcc%z z_*hs$aSry3?PD=Rr(~vb{;;FU*aKpJp9B>GZ#7RE0vdJ+8t5eKys3DJAbE-fO(}K< z@Id(qhiE%Cr9Ac`U2H9E&@|=Bv|h$4PczWd?N3zan=s(JbIpGR+5bY@518)a+{t|y z{CQe5mM^J;A>mVp^DgRAr^BG+Hw1-d8uQ-=so56~SNTnYZ!=+|+>fINf?lq9%ycTV z+&Ux~OtE8^F=LleW0&z0mq5rF@!V6gtlbX|PUy9iDX6E*_QS5&!6)U1pX6LJO1ws9 zeerDke}1l|QzA~J!&H>m)P(=2NvV4vT|*{ERHOr^J_75esn{oWq(W#3OkLJ6BxM}zr3z4~v^|1UCm`8U&$7-p9*L9?i4b0n*_(|03QN*3x-Y?;q1l*9K zAm(`udC(KU-S-1^m>7?4hpZIK+%O3%=wC}c4SnNm^3QneRoOFCUCNrUOQntbeR1hY z`2F`gl;32eFS7Mt2r`GPTx@>R`)(kvGPUMKXTEwrbZdN=L9XEE7qAV=txe&Piqpkk z^l(yrHEnq%KAav}cuaR^LB==cTIAve+Hl-24lZj900#*Y#*VixJeynw^g@Tbkr?rUv+tBF3)$etPqF{Qs()hUjN5* zo=U);HWxys@@rCVq;}-TMU^b$GXlEUizH`CIC*Qi`72{stBoCQFOD2iyoE%p!Kg90 zh9`Px|CeL{5fR>dm4~I(m&AT^#TKCr%rl>}Q~he`o?HX0s}iJXlH%x}ZIsC3>rr4% zrAUG0sayt<`1;E1y15~d{ma7kb)BmgK2nxm(pIez`fK77RlQbX6wZ#gQ_+g$u$+c3 zv%LP9*?pgb7|;n^O1wsAzc9`EYT1Yb;7gg=m7q^(f~(ABuS6McQ{fLR-!#>wanRFr zPZ`jMpAJ%rQ-U|c2^Gp_9~s?*Q4DRfCN+M#WE>a_@(0QO0cEpJlt)b@fjnj4=tp9* zB;m?0Vcl0QZ1AIk&5gtjNYHYxaAe1kN_hz#AyDT=`&!egi%tehmjY>MGq&O`@@$jn zPq~{J&v~j*SKFKaP_Ou$s?(yZ&AP7FjHKl(qD z%c)0ZhLaAE-$65|KMpCH59xbmK8E-`NoP1~{_vU$nbV(}w*=Lp)~6!(k?&yKZ2 zLRJHZ^HTKmdJN3*UfEd5aQ*K{bO}dV`VuQqA4w%0NhLiZ747J-M7=(W`pnW#+t2{H zt02Z5nh`{VEX78a6uKYZF;b|h$Rp-JB~nQZupyTw!yCUt3_HsIw9H<`7d*Hn;4Hz9Hk6E7n;dlyA?V(WM0e7ta6 zwn#G(?{^8a9=VmGB-XD6cv`WtKkPeK3FOda%O})Nx zB5d%tUTiuS$#N2?Qs@xe&eIQY%KlIY)?ZuoB^!NmF!Jn=JGa}Klux#DXAzgOxOGF9 zY={^qh^Uzes~P;o^tiROZgDp2-IYaOU-DV25j+A|8t%7i-o8nr4Ly)_(pmKlEivk2 z|I-IkI~RCdwJ# zgZ|yyn4S;Y7x#CR;g`+Qn~Bo6cbfyl4Y2fYU5UP%vf~C>Vf0hZ8vEYxA5i)g@HrNG8A%K0+K*8X_L|5I|C-BJ zZ(YkM`^_y6<_((sR|WN7n(77lNvIu77^$mZz3eD>5H@_`aLHWVrX72)&!4fR%D%DD z^im6Yra1Zn#^!4tJHsj)!z%ssHmQXTsl_EqlP6qO(pt#4gP7Hy9>t)5648_qogB|m zv^)@13heM_Gt~UyhEh5_msz~f84W8t79MY=*sf27s`hy0ab|I9CsVSp4EU7gNoeA~ zG%5OIjcL;`hXdi8{j?+znD?4yMXO8imykuq^b5YR{P7vNAye_5ECQ3d6$yhg}luisaZD+gh_ey@QJ%WD0jQ*(>{ zS#M{}MEc!aet}EKach^$p8MEhEIw?ycZTBPB(!xW?MNO}M*g0xF29L}1t~15-bZVW zTuyT$QV33zGCK=T!Akbhl_=yF(z1VaU{;iL@RgFYWTJ0EUU0l&0sZU%z(Une`K~%p zHNy_0yx1sCVzg>~AR++7=gLzNOGgelf|ev#!t2iU@#%0$m>3jE;X<6u*cS!=TM;{m zR+(zqWVs@+UdrMh2n92&=q5_{WK4}<(Iz{=TE|Qv6(93yN-Fn!+gMhP$Y2jgJ$?YW z(h;kTz9kk{a}=3*7Y@$_OIS`?JgS#*D(G)LlrqyoHud!eEaZrX3xJ-XW7tLZZj+|? z=fi_gJYM36jzzoel|CYV6xC>2?WwrBz+k5LQ4GSq8==OW?U(Z;wggbq{Qq2|tFrQj z339Zj;npAS6u8}@W){PTv>uxo(<1OALtI{A>U?4AI$)WNpsiHi6%zs#JpxjEL`!l4 zN`7_A<#Qm<({+7s{Q-r_x*+P$!X5)l!}1p zS3+j-hjBtyKti%rLeg%$2A-nk2Nmr!l{rl%nFq8JUXhm7V95V8D7Rl*I>C_Oxo_`* zhQ;|*wk=ixz;lhJ!6#{rQe>o z?f+&xrTuPHNGR%PVskpHY9VMIiq$80d|55%B!FL-TF_M104HQ*hod&a`tA6r0TCKK zt`UJKSb#K3-Asri2We3=VAyqZCZ&D(SzemQ9tvD5G8SL{9_1^si@`gtkAelgTpzQI zY9^dP`~2*GA**PflcDrN6fa8u5D@!$*URD&L;?|5i=%-KtLvewOXVNp#v#N3e2KBaj0@X(IMC#Gpf$@Z1)DlrB!y+JZEfxXKX$Y^0sM@PgpL-}*jQZLYppqS|NCg_KN{-`qQJj4fj%X3x?gR- zN$k(N{hnt&$N|mJ@;7qRG^vwnQK7P6!S6mjSbII|cYL-|Q7VZT0#}W=YUCI!Kq&i%fow#P;FQC{s>L_Q_n!%nVH6BQ z#tbEXuJx_7MtEFAo*XQfr06JSEY|+*-0^v&@TI%IRv@LAN5>%wkDQB;Q=~3RpQ$5> zR&g7Qc{{a&cLzaExQXd*&|-&dIB+=wlqAR3vu>`=Ql*|7zmYAnh#-8l{No>VVYBw2 z1i_Yv`pVXJudL>)m_+B4ud-oXk~M3-D=pZUS4^S$Hv{uL7{$y3!@h@|O}IRg=*AH0 zS5sm$SF`t`{{H0B+MakJ) zCBa>ChlW2i_~CwQmr=zOQ$F_fkbH|PZXDV!pS)4EZu_MasF)^~9}I$35@4vQ7`ABY zQ@7xpZwO9N*Z2yKiA4fAB)fXp@WYhSo0d|+7AYb!M#dUBQyoa}F@zvuOBmR2!Q%u!$wJy5|)(?#x-!g~1N0H7g1aRQln(?O@CiW56!)nA$Uo@2u_RP&M> zsD2uzfy&dc~@BV(2Snwr!yL*75UeUCH)f;9Y$%e>cgBi`qb7u^J6F zhnLIC%{}h^iM+R^%IFUjte1wdcqm~VvOnD}eg90xR@ks5=N1F(*8*>ph-aUw=NA2< z$iyQTSl*f44wF*<+|zfr2{_$NLVDw%;@Y$o_-AC0f`kt%qzmh4JpQP244&sy2XQa4 zwN`uBVcx*{gfF%tHhZ8}xZhUeeI0!~;_UjFT1_>A7(DKq_bEdr8B?`CYcdEN(imP( zYr!9qG8)}uRW~yumS`V{m$DNfn4`)GaQpG4eJnovL&&zF*?kvI7 zg1xX-cDI)K1P_^02NDP)pb*P5$Y?p1FVAK zOAI!zemS8d=RDkprbtD4$7CjsqZ5-TfuTYIxLvU+E}xm_%jWu>0~gs@X8NSPYu0E3 zjO?2Sf(zK_H3{|kR!%gS^7u=3v+xM8)&0<1y`GMY9t8z`^jp;eNDQpWf-D!ZYO zP(n%nsz3_(LzYk>f|O4v%2&$Cb<5vc%2DLq!ojh4XaDP;J$tZAy84RsQq2 z8+R-%Nfd26hC;3npSZ;zA^tmb1$tSzEqt*@x$X#sqv%IYv2`bHr!q4!VJDU`g4osN z(Wr~LES>t&lEyqP_~2tIQXRYe&D1PUXD*eb35~rgtw&$CBvB2j3pN+@GDp-3XVfYu zOq+A;FUQ#0``BvdM9a%eKNXG-9M(C6e9e3w>27)-NEkQ;*+vLi>tofxN}6ekGn!MP z?1fR0l)Ts+{t_ptEKYM9Dw*|MPH!@D)n{^Erzxp}h=KVE312t(fBHOYNXq<;p1RR( zYfd;^f5H<=Z3C;0{&+oj8fYaSntFihlpSxmRqNM*;q>YJFmIC=FyX2-f|}^dj*fqX z@I-fW=dk*hsV>F(Yb6(8q1e|AS;cTbV>KC5Fxz){vyTMhJRDzKgF^uLWy9!MC20MS zx3!kCCX1wMU@dN+`~9KpVt+SopP$>YNm5BJJZ5}c&BAHki{xG0K^2*Tt1g_ta4e>B zpVn2(6^SaYH% z4Z67goHQQ|l%PdwWU&mkvDLOn z4XKq+%4R)K>u=&%NRk&F?8FjmPQ%BKxenuITy*}WhJP9S_vHUSMae0b|1C)&;qBstYIf`$vFeEV0n0bpdrV4g*d1X=iPQWkAVZ{GHQS# zZ)q5xvY65-u@D+EX!3mik(SL^=^L0`>5HTPNYij7-8XDUx~ga|wq7fV_amTJ?N>qy zf$KlA|FV^wI+i%gA7l_GmrCBC2KXY?%U289Sc^tA1L?D6)!S|)zXSAwLlD40?DVe$ zzh~&8SE$zPryY6sO>O?G)`{C;G}BB3goG427tVgv13};G12f z=F!UV9x|>0fr?#inF)#IR*B`3-F5KFttq_@x+{6PG~_QPOeeUBk2HY&4P)WlEShDN zoJ>p%jg;WI`0PN%l30z{x93b=XH=QA{!6w^1blM~ZCK77el??`=Zo2=>p8?LrI5!g z2}1NeYqafR%+2E45Y%Z)xxW+yGfmXZN{9?6Xq8~N)ezh|XsqYb`36#9>j=g0Y`Clg zGbXk)M=+VJArxB~Bg`WY?wawEydhEsgcf`(v3=<`&287l9a)LM_3zibvo#af|K zoQFXrZ*dHNr;hGf&(bWmjT4{$d8lp8W8x1w-_5y0jxrek)6?Sk8iFrZB=7mdV^EO^rhT(-gm zqr~bae)dFxCh%G;Rhad!j8&YMci+rKGc6a{PKwHxT1!e7=`y|G%Ev* z^PQWQ5h4Yh4uByiNHN%W(j4Bj9H0RXL8ogW{4I!oyhGh@V0_)}Nzo6Hx(EEJPAQ_C${@>$Njye| zoP*uo-X?$7Hmj<`@5E1hsm+GFKrs1xCW&&hmsB*(1OAbDqr>7`de zQ};KsZ|6%6M)v$(;eWhB8$3{dI-yrMqnBYlWIzJ|gT6}G#)dsQ`$@#gc{s0KS%P{9 zBybEIj)VNH!n>2w6W!>O-KiS>$YW2~<^V)%g?Wo)OcFghnWPD|eJ9wM7D~$wq|kAU zmlkh-b)K#!0+CAcAJiK!9Tc{i6xN{>9z{ya{f~P64||j^u|Y_`660kLp&N5+Z`TgK zz$kyci0_Gl3Xi0n3i=_hk3x0*{#m9ZQ;e>v#{vh#3okuzXj>bamNlq2pQ4CUz#x6; z778j5N={NtGp$J+g;|Usa5@dIIBYWb?bVj1sE8YxM)rcC4FNUL zDup3e0sasMrnMAL5OpqzX>wD(f|JszjFUInH4-Iews$^XaA8`0SQWPi5~JiPt|ZWC zzq_yqkGIpKEUuBW@Fi|ZxbKw4%7gZ=om@iK&J(SR{rtSCV+k}bEtGQA=M<(!M@v0H zJ#Llsv6THwFubo6rLo$8PWnY!F^pxFsMglcD%SWng{}I+Gvz+6DnpDms5zo3>v5217Votu?!rIPah~*M2UizC3jI&a7?A9w zvN_*(jQaVsxm4N|u$MV>*5MSY8?0~2ljrZ-ucUK>Om&4ax`_9Q?haxLRY7T0(7T!0 zw1J9Bl*YMJI{Q~zG>;~GBQvg)x%5i)>M084asmwk!E;6v`A7z?KPa@XM^wkC0$`nV zFIg)|d!pW)FPeagN=dy^cA+ACtyzVmTTcXzAqp*~_#I{LFH7++MO8>y!3}RPb0$IX zm(E2L0S)<%6}B_HVwav`*xFmVEnFTnHC!%8B7RUR8yOiZxb9P&o350bHvv?<9L$v+ z;{%o5?3|T0h~XKI7i4`j-i@2i8Hp&KmPPE+;IU~GPb6eR302}qK6$k-ir;p)UU+*g z*J|XAB-8Sh1pYLU3gRC5X|&66J$-dX2+N3%wB=b}dM)njW%D3xE;=9g80u(R{(osn z0bI$>Ue{}Y()X6P-^NEbE6X|6{30o&@2md|hD5)+D^83D`;QPAnyVj+Z~y#kFTcAL zwmmJ_y-BjMNpil)T%E`~HO)L#!+g&kqn|m5uYd*Iipccp&06bGj2A&D3un1 z@Xl`oIyXaGjiosC!SXk$;P%frtom39`wT?zrs;VtIg); zUlTnu08<;H5K01UZwSr%qLO;54mc55B z=rlq-t>>+H&q0cSaQA56x6@%$CaQ?aSYixu9*7(oNqEKGQ@8Pv5+V&FsSjt8LH3nF!bQji%V!ux?rQ)^u_2Iv5TiIqAAWvbY~Z#w@fS_4?|H* zcA@A%V~ofU4@9eW7h{XTTb`ti#%?3kgB8CoMD6=!(D#!;MuO=}Sn6tM7g}W?>(?!< zwK8HOS06FETwC!@9U#v}gOU0elv3~X#VCi9TS{D~6+VXHwCVP&zsq90UdO`!vwB66 z>jsHwZ1`WhDlsfik!^`a7bdR1^{T7A55T?M=^{1eDJq+}#$asZ0|OP|*C(UkS%yV=o-_H)2; z`#IrA-Luijw)faD6d95M(N9_)QUj*<4Uv@ z?{gwflb(R#&vsb|L8XWy7nrb55crKR}ZTM+X_)$jr% z-vnh_z8`)_Rgg%Rd^LwUNFm;<9?P{I5ptNwiS{62hr%&=1oR02uowksGM4iLm=eo5 zobjpzRjNZ}I5BE*+30IBQaW7Z9hG;+Hznb$HS-;Zc1uvsNFL$Q zt=MtH)}gS1Q3ZyTIjORLDsg)$asoT|Z-zZ}^{<@0u1u0DJg2wX_s_Rk+39g`vk~=k zX4T_l>CI$(@ROU#!4l%=4VedF8ysXRBFD=?_apyC$ACmFcqXwg6fCk_l=M7;EQC=f zQGn7l*~o%%T))Fih)btyKixP)Njz^aN$uPK%(t63u78$4EPZ}2u{kshEw*`uog0cM znMhF7C+`j55oWJ66(HE)p6sOjV2oSu&CACt;*LuU1EVD(3VJO z^zLB`)&36Tj!Dc0z;JhxRe|9N4efruY@8&!*zd9ZZ{yU?ek}sX`!YC{ubgB z{hQnI_BMsd_2kZPi`?wCq|DstQ{1t5$1>4w)PpNY!CoyU#LR@xE@mpq2jf@vHdVCt zJ@xzmLnOgs-0ynP3k_pHI?Ckiy3`*`)Gam_7hd5W*1T>8L{KX7aU}F|^0*P7ZlpW7 zJfjT8#eBU$!M)Y!YmxA`7MhOIwj^ADyK>@H8V51Zj}kih39S@4f+sR9S2zO72OQg- z+1sOHUixB1~ebJcSzv0051Q*=J`#|`Ya9vE-pQGlkAmCBxfRBRBCBd*f z0%O)avt#D7d!y5XdVdc`;&Q#Un1#D4rxH$Io{VS}Fe@wU1-Plu0 z#qMOpCLIrf4K>aR%5U0iF74+=H7Hz;QTI;SvfaDj#Ek9ypid0mds?ni`=Z*hYQVZ+ zem;@(kAkAYVodq=3)6LQSn9l&smd)61|JZOBQgFmOs&&s@BobDbuq{;`ehQ6%>7fr zFg(tRT)qR8l{3d?l3SFo?O0$Q$C&Q3ja|h1#{yVWuq;WtNnV>>l!3kMdV}S;_a0f8 z&c?~I&o}UP29Afn^;X>Zx!*+uPxssYx3|rW<6lc&cK=5i|3_hW4WwQC`6yT3p+zP) zqbS~bdsw;SMq~U5pzx@8^9XiR-E@zWoD`x$mSf zpLK4wEhx`6lXXEQ14yrseyMl;b%s|H>)Bb{BmI0>mDf#!KPo%X8GxKsmyI;Wj0~EM z>i7DJ=De0jti*|xK|)&03ubMoM})7^k1u8>hN(x;WoxrQvcUxb;HEp_?W{|NQhqwo z0}X14t>HF{QuxFsbckh)__QYGhC`DpuhjdC?25+0cqW0{>0A;L!ftF6WxF7rzPwaCkS z-ex&1rr*0xW7l2ijHLEj>l1_?|8&;tPKSBCDyYCRol{GO9Frsb5$StmZ@Hs%{g|Hj z^kMxrefr;b)`1m6Ul zvUmx3%ArE!ddtBe(3|QZa}zcUGy8~LK3IHuCjFu4`1LKgMxMpryql~fwPp*SY`l_iXL!C$Y@5A$Zgt#gX*J1q-}BCzYHYd&O@J5hqh1B# z>k1t6EKy~(Bd0%)4~~=#-P%Qa?-XMmyrUl`OVNQ!(b7+(I9^6TClikUO_THjtsSkL zriDJnTo7dTS`ox`dVmKNtzR$8>SY_II=-L|1p01qM)|FncpqT+(LIb0JNw^mAOFD! zAQSx@t1F|2WyoTk68}Gcbfq;CXLY|B12aNr~n&caI&Vz*7*jn-7=glw{MSaPv5SD-}3;HPs<2-FY9qKWA`3% z#{qeJ*Id3P4Z7^A*b&1bm7-I_4T$vND2}-98nd;Yo;E9qFMj_I`0BuEycqV5JV(w) zNa?q_mQC+-E!S@hQCYfNEPce1r3SLE8p&V+@t1kV&lxJT#%71l!%yH0p{m?3P=rHx zv^R7+?Xvs0BTw~VeP+^-*SH(RhSI~z*2?514YAl)e1+2=e>5Y@td9xIFPX#z6x0|M zq-3J8LCezJb5@&Q+^$f=Nm#f~p&N%jBWA0I{Ue5}lYod~uU8ZSoJCJem`5kR>Mqo4 zM;tlqwu}M25q2+-TcebEcDNNcD+N4PQoL7{CA)$pq}hFKSI$zFW#SUORh)gIoxQQE zWV;z2FkKEJmqN0how}0x2}5*dy`DHmRMM#Iq&5X~FV@Emn7j@rXW_TygZj`w70glA zV=3A+F(p_bki|)bn~gA6UQJd8NG%&ZeiMM*#-BCQ#ioLq~n2cHGvJtniR~ zC@DbBL1vScDA0plP2Mfyd9=ozkFCrGAhWgN%CpJYYbXiJt}&^*XtNiwux}KdVx!q+ z->WBiyVby5WA}Vs7p3%8E|4ie0W@@)Q8%yawR_At}6 z(9!X`SF-7*<!$B%2- zftMWt{&!R#E|dP8ecGW>68@p*2#OY5MX|m3Hrvccl%6LOZu)paP%ZeB&7Whsy1Ujf&p0LyuLPL>it$1~+ZT5sSer-|kT!k! z2>R23&e)#D9PcwvM6rHw!j_bOZ<^7mjsDUNnXOB&nMw8YR4O->OK8}9PpdG$EeuYk zh|?t%rwFMpZrV;}c%$zm)VPk$X11tO!79O!TEfw9?fbP~#XqxN?3nwcoe_IS5h@?_ zD(Iy}7PX`jkqnKl=6+|cfie#3nny8Ts{4{%r4^ZN?14$Xc>|A|ql(Eva4yB1p&;rx zx@3?*oH3!T7D+0&N{V%eiqyd>RCSz>L4@sz%4{+b+N^IROu@NFZv7K@J*;1c9#{>7 zL~|WWMV(w>Vnn&VCN*GNu~2#8pcKL#)-}fu=l&#n$n`OEBykl+B95bQoH$OP-yia0 zLsRtkelx+o-)G8O774|wxxT7}A}2;Pn(>yn>wt;0CvpOWf6pskn5J_*2TEI6o-j2g_yK6=`PKUNSFw_VsEl7)CrH(ACCSk#ep)Q7M{;CDt zXiz?14>~{*!!9O?+?o~kJvJ)FH>IQ6M2~(5Q{K8Ys3NWEz1DKDcM(k3^pAAtW4A|n zQ6MYZ1@-1*_p6~DL1KV@HSFB^h3(rpPX?AcdO}ww#W9iHxor!H9qjuW0wu_VBppZS zkj=c$YV+$gO@3&>4zG`VdON!Q>?e~5Ip_Yhgvo@1=$uG(Ms_=mobSPnz@)S=L|K<$ zyj}Ftmjb8RqT|=kX@Bm}`RT7XE&EjMbfqb%2a2AqF5n#BKQ5Y)iTEhhj z?bIgVUn+c83%uo{RTAzlirHWn3aH;MxZn75*YT%C^5OKujH>L-)`!Q>k|Liwlg}xY ze0Cm=mjW&pzU!};ulTh!`U_=sh(KF;N#~9;=6}H!-)9@yXPP<2Rsh&$yXNXN-iq@! z{4zE8%~dIyHgovNekLrXZ^AVo5b?UrB5oL3WYe1vJeIxD^3^1x*0qJ_E#&(&Bp7zB z?7BRJfw zr>M}erQWKz(!MI|MEHsSYkYG%$`%_M$!gHD6g#8z5mD$a4XLQo=5sFE*B)(l>jf@{ z;E?q#X~*OCLci}5VZ~0wJjMf4!}3-Jb@AzvJhyL^Jm*w^STicE%+|rMi%0|kW$e6W zqzuOq=wqgJcrh*LdPxbArKEBq7^;uce13q}p}sC?b% zz)Amx#a7kTqq67|KftWj=hRgePhVgqotB#Hj#jZm-3jc(d`!LJX z(rFGW-5_ko0d^2qrR)N{u^}<|d6kB5S@s#eXh$$VRqrwnqPa z&d#*s+N(WkRnS@v_;dH0Ho$dl{*KDeIa%))3-)Z$B)Os`#k#SPVV6wa?4*zz zI97=MGqxrvnvy+L>{sQitlAgK*6212ox&1=qY>oSCycYLJ#~3pZr0WBO~+z^6TJiE z_OKs(TcFGUz$zuk1Om!B71Y%Xa8&BySbg>p4P&$mA?Kfi?Lo zO*GrttyCVNN*ws&@85k?M}50-vQ;!*re>vIu`ydtf;mpoV?EhZSLEWpkrF65X#l{&9Na`x3nTFwl8XUYs)qOqLDd#})JJ;~x7j}U_v!d;v+0)l#aMC z2QiiKtqqd~&Ra%OhKNXd_44W-{CW_a$hoX^P>V4ja>OY!S_Euli=+LdtshgJ(KjV- z^_WnNEcn*Aad)&QZ|~geu3`x~e_Z~~J^v!Z6Tp^g##UB`gJ>}rKDb9UvvSxa)VtYd zwe73yDpvTI zzajF!K(l`o=UNqC;u*o8OXoii#o3RSqaSij>LMIc6tzzDJUu^yQ|6*~?)sT%2IDcB zzJ9(v>pO#!F2U-)6yJUw%zi+!8zVSB#SGjN5|e*4Vf**SHrPI({;CDDf3;4!T{&! zxyyxMo1@v`)wqh z#43i@&7)%_dD}YnY`evKC?K@oe?%@;^ktdhWGFVHp0<;;;MfaFOsK5MugnR5-1Q}gbA7&Bkfjt0ZSwtVjDW?;fz0xYh8Vb?KC%nmj7XZ)Z}%9UUeo_-I4Lv zOpkzw%LhfgkjPP-*zPxDDzQw!-2(>q4VQ;i&452|O;;q&zUm#Ya52m<`b7ER%RG7T z>&Hn<3l?JWCI-56(&Vdr^~+NrxarBMrLm@2+a0%hBNLZ#!QGsB7)6Vct^Xy{+LG<| zsAR1tNw^wD3Q|%-8xbfG&MTP{L}&?&G-<CkWot04h?z0w)0+Ie7y$!uLLVVEAz4x+wZsu>6pSI=vc>?Y#JRa+~%5uCu zm;QiOVW2iK{ETO3ZS#aTb73e5Hs-&27Y{4Ad4k+-Hyxv|FA!bqo0k(YX3{M^3JIQW z%`H*7B{)~NVBNWz%-Z0IF}VY;KOVnoy$mrmFg;vpyK&BP&b$(E`o9qtVTxLTr~28F zkJnWn9veP9_MH+u>a|Rs#}vdjz0AI^onVO`Ku8TjMcws21+Ip~6y#(U3WOv-C0{a> zbYR}9Jz7-IlDK{hDBqrWs&ziCv!}r9^-j!3j9BtT&$6={CWPRiq*B;}Tp%_MG7lT2Z-b`c;-Qw#7M?lUA2LvVe3Til}zdfPAVd7FKotlqsDA!@VaH zR+yq1z%7MPO3=a!M`?CQRyA6#HVMykrKTJ9R4oZ02`#gSEOcJPIF$Pp}tRSf6JP{hizyvA8mR zy><_zOLgR0O=TY+PLlD#f~RfUG%(-ieCby=fnuez(t;b=x0l^WG6F ztACOgf72N!ER~@=uM^MCCEMzfS}ylia*ZF?*yxI9J+HjpR6Y!hW_vNqQ}Su5((3zctv5r2hsDn3#6M@K?GGPa<9!6&xB|1o66@A7n($Mg^6 zV720=4r6a3_Wk3&^=;StGYD^!Wc>2+kE6?BnhP#EcV}wPBU(>tnmRKvhj!N&t-h-* z&BslxJFQ==7FNLXCROG}2<}%hIF?1sanHjZ#a5tOr`Dhmf)@n+s)h zuuX3Ksmzo4 zrI%L6&Ki9G0xLkvjaQm>U~~g2?)rT3lqo7Yw@B^RiA`ez%Q7p$z9egCRo?y7=T9QZ z-c$k|yMwSoRW;n;H8Qwr%p~YKbqqw&G>av zl=F5w<`K<`@K8{w3T8aZup1*VE~ls36AzT>Fg%>8etH##T;MEGckxGv&}l-d3ZC8<*ah!d%>Y=FQKx z(vJJ*?9MYZ_nFHfO8B{4%nEUmSCDL|ZP3~pZXV`E)ceLDHLa@+hL$4vh|_En?TH?JAvJyEz%0K!;>Emmc1h4cuwrEJAs*U7!D*5)WJ0Y% zLr{p1{`D^4=Ak{TdwIG$>nQ(MNdCyD?~eL$MxZzuA^Zm+{8qNR${#IP`P>I13f=o) zN4o*IA+Nkj-)SCi{7y@aSk_R~)MhKzNam`^Dhrk#35>vCxOJDOYwmNdPqmMxgXwcD z=#sI_aokt~C+;B*W>c;##A)+|dQHLXaBz;X#+WI@(TqE|Q@y947SPHt`XW5MsaJFQ2gD9b1i1+1a*QPVxv z>osq;bmwBN@r(Vi`!9yl+uTu#S?J3QGgS@M#Qa}f(!D>I)*=BNCihc^2*y&p$$@Ol zFYyKm7*6uC%n8fR6NUG&BXNlBkZV84II*VKThS<3fUOzl#Yp0~q%-cT^sZ0a+wa^C zN|Bp|CaRtG7QeVV&3HP_cseH-JW+Aq5NV!WthQk_tA7PGdLA>pn@?;isfxK7nbw-- ztyH}UC(3%2icUnWEqKxVaS|1jgj!r)Bxe&$-Ovmvtu#~y>f&@_XyX-=ixc>Eaa`c! zf%8@<+tF#&^(iO23_bXFIKXjf2@|9&JtCN+RMZcfc?0A>KJR%d8M$k^)0}!jX=R|sV`zbkBO{!h&g?OzOL# z=W+l5AN(t};C3tS7o4E85%AciTp?_us_zOH<2A6uX^_wsYWmm?v6(T;>S7az~)y@mG_w9)S|>bBiO7ZNArBY@&QH9Eug~bZPV)p%(A)=SeW*- z>e+-KCVUZ1AvE|qz{k~+wvE5Z zorRk$yOGC5?v@zX=oJ+FOMV8F7qO9an{)KUtP9g=TOte7OI>w|h@>I(8t*N-F5N|F z#QhllO2bodeZutoJ3w(ASPO^+)lm~8AS@FG&5%v1ZX{1%$a5=KNaBGO{l7V48|~(^ z&ijA-QIB=~)v+}I>87)elcH3_#Uo^2A)EsdhpEeMkRoL|hMIYB?!JYMR`E{Jeo~V? zRU7lp-E07wO3?`%;nTVJ^}Um+%q!ReLn=PU33oFMn%`WoCpu4TZZKaudG3+a41vlS z?FsR3YTnc-6@MchYj_&t$IO!?OW>OKdfl($y;_6e&Vuh6g*LDfEQlrGDd@%`&m8;l zK4_ZRwl5C*ddQ#xb_T7EhP?!4SFoB|;3D=SJ6FO)hka_qYU!1~SopP|+OEX$Hez^A ztbK4uTzncYi++ivzkB>H`TkB4^@y4OrV=kJKFUN+r2dU{xXTzhcP-k}vRjYxQ_~kC zS!&ojPi{$D2#&3<34@nMcZukYXx-C9E}RJ^m2WBAdw)mgfA6ct*^W|49Z$A~G-T4Vu>IeU$Xx>n9`w`saL9`cXnGoC| z-!Phyke05h-N>E*CA+ulOe1c^QZ5pZ8K_m4aUelIXnYDf=#|9Z1)wK@cmqMe>P**F zh5J3`H!}{!4;a_eA7O)(R&UgDgJIU4SCdmcmMkV`Uivwt=b903QYu()H@2~nv!T`kC450|!Egs`CgcQ32h+|00oYCNKxjkl2{ zUYY+6Wf;i_D5AG7hb0&#*ix=jQ@5WxUOWqRIb5U#cmkNyrbbTYqf1x(%w?sBmqcEX z!1-(QQsWUc+ZB>~IcueOJiK&0c$M#L^5M@)>*GN7{{N;hK(0#td3ENrBbw-nRVLhV zN)JHlDmz57+JSJ9eRY}(o2wQ#za_UjQ|c*2HHk4*w3D$_CNj}Qo?%C;_% zXgjG)Z{^;%b#*##^G00FBr?DSu1|%l$!uJ+ii#|XXPdQcTrGjpY80S3P|3AxWbz51 zd>xe5)x|=q*R6$|#>nqOg<=yLGKtJsC#kD#(nM_Ir%DS%=*fL9vP@hueE>Dr84gr7 z=Zv)@BGls5NUX}xT~KsZ^6v190K+6nTkPkmxp~53_D-)D$cHPK&!1E88KZ&+7RBtr zuV7v8|FrU@lRTp!>Q}{HZd~m=h|uIIexgEUVfQ6&+^$6J1nUWgc^E$0TUMT*;YZAn zF584bNb05Ao1Lc;k>8$1$nF<{*P-yi!eb<9k^OuD6WIiLF|uD)r>{w}DhF0psWZ0S zwFW6t&%Eg7#uUjW=^kj{KBeJI%rySS))=-&Iflx<|6N-3%2C$0K}z(*mFDE&3D4Tg zL~a!^=(nhJ++n-mqsr{ClK;Mzgmw5A)?`uMLk}P;=YpO__Ye9hTON>DHvSYRL z!p{yX+Qk~&qv_AIMr=Hd`T8<@RGEc-vYekS{f?6>1K!?svdv}({u%iGp`glgr~3cW zjQY!|^SU{69rhlhQ~ zyFc{)wREkG#~roDZM8e?jR#`$^+%4c9m|EdDrU%1xdwdB-3J7XNbk;M*t7(OH$3Kr zKW~Q`sQt->!5-cW2gna&6>RIeQ0jR+w*~dM0)8|T4ko`A-XxXaN5dD_MXfZ({{djZ zgnQW~j`}|;SVhlfyNPQ}ovdu6%cg^*3Fb7;H zjIfr1DIQ83fF)D38qCrI#DL$uyrjlVoeXyw zl4e@lvpt-|G6~T<9LAwB%oQHS(1ss3O_>mln`@31{p<*t77P7Rym1+UjK0pOqXPf+ zcxO#P>#hmq#I(|PvFz|KB7$O}-zZv?jzSlSH-vhBdL(d7NVrIU-0pt0($ML}?RIn? zo|?yy4!BMn)g$S~0SM(z|hvsRI3 zHHQvKt7%AAQRO9E_plA4z)dz@=()igKqr`>h2$qV1*4HV!;Rxffpq_&jTpGIG}cj)V(Czs z$VCO%LJCF4W4{;Ts5dx&xY?|57QdMw_;2hS@Q-@WKkDUQ{(P#X5qst>Q;qYaPeKwu z#r$h(Jtg`40{H!WfG$7Dmky#G8WbChEHk+Gh9OP@Vl8Awi};mJce4!v#tT_T+_NL8 zZuXP)?M|kK_Hc8=D9<#@4!3~Yc6FZJ7kbZ~(E1oc(0LH^j>;Qw-#efWc`ykA>!21V zXS@7sv%wDRXWP@VPk4tMkT}yPqD1g`&TARNQdQ+#M~w9?G=o&thFzj?65OnBqanBo zzZ5_{yB;u1Z>$DweuA)E@%9g&jtw_N$%PFH+AJ`wahH*u5Nz-~n|*l+rk*B=`DxsY zm)#c=34!O){HWbZ>#PT{8ya#9W7hGqzdY8mo>d-t3-i5T;$hMbqylp(MX`aEJ=Z-$ zpH3A(Tw|ZG5g?}?CVbB++JzID5{=UUd@Wg>yEau|_Z)8Yj`%i1x#cYI8o?a~ZZzF9 z!bY0vXo$QYBR^4tQa)Wjsjl@IzJX*+O`MXo7EhtR1}XLR_@mas8;;X!d7Pg3lMXL{!^b; zNQ_)wQ$K!0t*G@&{ARN&mf$u13f#1XE<+sJZ$cSEcQJHWtL|8@S`|?=D|32j;VK@# zbV4qK?C53n;*Ac5+k133H9MIb*1W2GJyIb^nz}!UQ#UUBW3wD7{@wo(#TzTY6gtr= zIWS3LxnVF2+rpBpfi#lFkH6meo;=kflnoGxRv-~UV z-vCK=aJvvT&5h{w!rqYr)^EtV*%zqvh9|h5NheYda|weI-`kzqPpO|;TmbqGq6LWP z$F{}zN zjIZBe(>rY_n44Vm$$81e_b1P!R!Q05-ExouvayP%BFBCrE1w@#hQu3A%Ecp$;#7BwLU)Hb{_Ojw^XlB zpI(GL?wZX`=^ga=dRubyRuiY2oyzO`N9j8IPA8drkm+R>0=_Sn1~^UY8QHyjCA9sV zN(;xMx@jJf_^$RnZGT3yo297g25B%y9_w+OHh=~U&~6pwMi`RH?(*20Ihc|zr1gR* zMjTx%^r;s~BCdMZo@qcXFfo1o>-*F2$OqbKdW zjhq+GSW?^AE7koCBQ9h9{gnP3&rFR}_1tudi%{4q4mB2|V9EjCS+Y=>UMkMia)l}p z-x|!Re7)B5;7_?VLuXqoD~VDU=>;2&XP^S)3yR#LOYF|%)Rxod$c3x`+(?3f5@AR+ zGWFW_N5}xG9v0L_wP=7`fRSIEXk7dmScKK5v3v<=YGB4d@}KpRE*I7(|xWSaxC$cIsuG`N>;N98lIn(PSW2T zY_UdSCO+k44Va>^z)82vJp6s)dNT5*X*W&??}-Wh^U1qpL0%Vzr{s;cVTT;3DjtqFYNkIbA1_yTL5iE+yl#MIZ!gc|%L;osc_{~L$Sz8Msy3q1a{ zu_7Vi^WkV!>FpM%0P>E@XHlqTfvLHZH z*mD483LfNoUG$ui`1~@VX@0f2sKpai&y5py^h!Scl_>e<*dURA0DC#W10r@E!lzfWjE*2l3hn zx)zoTM{IHXU^&(mlg&5hof*81r&!gVb_rLur5yU6DVg5uEONv;aa?(?AUx_abf2ng zX7=x=4^C`XOCjXi z`pk5lCKJaicPobiUjJRxylz?-@Ab$9;DDFjz^@uR6F#0>y%T*W!EzMon8I|NA0?M> zj2}23tx27-&cXnDIo@#rU5+CDNFgC4i^jV?{di!s4Vx!7Z7T~}tBBj{?ws1{zdxGG zWHZ)Z7WKI}-T2*6{9m6{5A&Zft@3wFHz8yCq^+eYz~B9BdH*r#{wx!^n3B+=IeGzF z`04xJdrq=;mlp0tzynm=rr9{Z8t}Qh2nO&w$Bqc~Zc}OIx#0=8c}x~IpU%xEb zyv`Q(GU-N7@r>I;`o~=fag|)(j8cBV5X-fM($Ik5lSHGqL3M zia2$$Xeu9;7n1}$-l;iKSh*SD%A8A|uzC~34~Sa9pM8&G>{Ob0!36fL36|tRwFd6= z%%D}r{%qp%tc)}*vz$euI`rVgi)8tB9M5iPf*_34uwNQiVw=xvpZUrk7LL`^*V6Ob z-e?37SPRp^@$4brNAilWk%A7akwFH>P+J9`$W7GFL|-Lg#HyN);cPq>%2Vh|0GjJ< zH^nH_+lyd2T2(OqdMB^ta>E<)ahq z_n&Ll$gM8iJT$__E%#DA#OvXaQx>vqpmj72{5>C1B@uW_^Y>SLIREl*@#)t1tkgf4 zZApQYzeZKZI_&@w&t@=I+8*X-@vFp5m;JbF-0k`OTzH#TgxlxDYS#~pA-|Ikm*kDr zs}aRxKaJn-ath*-?rVnAd&s`{(b-xkX}dQJZK)}Wi$QQZI)I{blV7~SZV&y~?|#sq ztVJ;bC+zEc?WWU7W>!dTS$+>Sl)f*S05u}MIkZyWt9KW3e!&Lr1Jujc;eL__SfPCxZ@i4u=*v6D0*kckp_ z9E5eHvO<(JR9ynPSWMXw*UgO3v z)-f;9EV3c{+ELzPfzef zlDq+|g@1b_1|jYUR(s2zl&tD(@=+Mh2htRXmYve++)G^>(f~d~4VD{IDZl_&&+k`Zk5_;70P}Sv(zn(e@K44J-3_TM@31krA z$BTUvhU8Q}@2`!jup;&*X5E)g zge5JqC)jmb=V2rY!=;MsmE&Oqn+`ws!OFmtGDDtj4w{H)$i56=FK5YG@{z_>**J}D z8?p&MoIp1fkI*LRPo8FmfK<+fnO=a(izr8SFny+K=x~Om5Om%zv(I9;{A5Tm%i3cH z83-a6S5+f_C66bSUfNQ1quG9M?Qkv(aPXt|CFL;7Uh;1AIi=A!KOZgLrV!G@svBjJ z{8vSC*+Kb_kTGPr=hFL|CR=$k=;b7NyZ<=tmF7uTNbVF@%yTh(SRY%CahHZP)cPsr zA^@{LVHM89Q*}1rg^9W&3LIs{KGli1Y6lgH>NJJTcZ3O0jU=pL3=O2rND-}=;(Ydae8ko=kDya04dgEB}na!M&()y4^pD`giYXA{+G}q?lt{4Jl9h>OZ4b<6!pEgKI+?EhD<`q3Ujv+-+M*P#@ z*W$)%k=!p?6l7>p+IthOs!Q|42pJ_yWs*}@If7H=eUr_khm-PWb=&YR7qr6;W3r;X zdgS#dc0s|g+~EAok|qG5cnqn!jS#JanfKlN1CQk6eZ$4Sn{J$v(SKEe({KMN_~{yT z_!~GNB|5D)NS%cE?cigI7r7TL>yC3wVVqyFmr;cNLmN)zh@r7@d#eIeuWMlDH5W-62(--S#1i#Clb zI@i@#erR*e+d44*23;xj$k}h6!uyYJ#_5*N`ZM!N5f>DNXWvO_pkx^Y#bq4b2z_m) z!f?9Q4@snRORj~?C8b@4PS#}nWPmy?l+5)W~favtcv|prH1Im*!`@+R;49Q zJQ3P2C%2~m%#G`xXfu*~VKR_Rh5E!ic~M?dXma4Bh5RuE2y^JCT=1Y!7rsQK9IK&D z%xk*-uwT}Iy$Q?MuR^wuO@jnsuYFmwKdZ_QpV{ig6}a=d6wn0)Mo%OtP3a^V$|Jja z=kYhKkgNvSt&k^}6mW!G>=RZpr+4<7tM0QCBfu7WHu|8dJ^eq5V6k}JF59rbF6IC4 zp_5Gd$Fqs9=k|M0^n8JU*lkuZQE^FoVOW-P`InEMac;G+F_o$z3P+8k-5FakbDkEBj;Y zCad$uRysKw>JFv6?U;h?^+>$M)AL{VvV-FvXMO9p(tdivDVnyDwctz0 zlZnfQ-@@9^74jqNm$0#YE(5&K`j%M1`7h=phtEj(7kfl-tGhgq4TQ#TJGdqYjFY3R7 zDO?SuDbP>wqjyJC@MR*qJREtMkw2dSZJ)@zN$%5s-bi!25fzz55gDzzES*6Bk1gd8 zvfh;j(u|zZ)yqsNo>99Es`M9k=+RH+#2Z$!#@}FDZ}o>dJ)=puE|4ZyHj$`Ps*UR-cc~OM_REY5(M;v%fDT{Pl9q=o~LMrZ-y-i~`Mip*nuilhdX_`;9ol z+b~5n(YA{sL^!GP#Ts%1k|7_eFu-HqScj;zw*m{D3d4-Xrcl{BF)q5Gh!TV*Kk&v^ zblw(Lv+?sy5wLe0OLh{qj)dIMZhhsAp|FHs774+>Ewg4zrw&kB^7DM zVq(PF$NrwXv;^U(Eb1iTIJ3BVON%DIY3Y*tr+J5p*R!!_PKadU)cw7dT23@GBbULc z0&59lH7pSQxjSG_0#$`FOw}&avovS$P1h4)|0`%uX7TD~5Er%7QIxlfG+1X2U&G z6dy^J#lp3%*m#v5Xq2T>e~P zGv2$5w)Y1%WafQ-koLNEml8KS-f^hPE<#o{MZ40f7qha26~uxBBJU+gGys>7bwVyg z+O?uan@^P4e9t#z-;4!#dTYIdZ%gsS7k!nC18Sgl0g8k@DW>u6K0?V`B0Yw0vxsI> zWTDdXqcNC?#HS@~-ta*;ncqgoUTkFJ?{G+txE0+a2DKmAu~azTX=N$1>Q0u%BQ$Fe zUt!tWiVWJp$a0}$TFT=&|5F*&q9JC(HFX;9>@(RXpv0XJl71Zo#SQ|-@rj2M(KI2^ zyhKp;sjcxp4+QdgD8ASHD)IdJm;BFr+V!FCZ{%@~ zG(uh>lh$1O1<39o$ZXgq&t_s*Nl%X?G=H|TEZG&n1klxLM=~!g1B0tN@?JbqIdaYg zZ%Cwx24$u;FTpbXF6=F)r^KTiYTp3&I%_6aLu_FrJt?a_pFnG9CA-t(IU*gd^+>_f zWJtC-$F0^<8eWaoG>}Rm&L;Z1v^hj-l|sfd{EfQIC`Q)DColP-)?3_rrsGUGj~5!W zmrk}yHv(|+`Ql(9EN6p*!p*$xg5AM!1OiT|60s8nduO1|Bst!WB2vnxwU7tWiNSbgOEgqd^W{OpxgKOOxMe*N z9ulo;sQ4j;5a?3Sj_RoRt;2Eg6OaaE$_!YW@HH5&?M<`CB&!3P@l;Cs^Zk!^);97= z>F=k`_TROce3hjE%Y7Q+uZgz*Za*I{dY?>ZsvM6vibtn7;r7NM#}=zV9i-X_TKzi^d)`x7d#MMCUT&Z1bO78%|#D|3Hd3|3UTy5$~((p*?_?q(s zL5YzfBBD{S>9u50=FlNjHorZkgAD~Gc)7$`dAisHzsS^w?t0q7{d3&O6%%Y5xvMmfUpUkObO(zCwU56DtQk zk0!8k4%m%m)~ki20g0iMfYac&#GxqzToKw$4=F{i{7LMQs>{$|cI%12;PDK;8_2yO zOv-TAl!Dk$!@792^C^(w1&Epg1TM}}Pk||or$~7HS63#bFuxvyiq9u*-$&ztt|20N{BU^DU>1{H=Cka zfQTGrcfBW>9S<8i#EyMAL8NPhv1$%i@Pjr-6KR?dGBL+lY7xuw$>wP>va?c0jZzRP z#!r=_7B4a|h{pq+cuEF_-VAhoAOn!pW`_iV7jP?cUw}}tbhSak*<_5cMLHQ=pPHFlBd&bkz8Nf)T29)%;&}s%vP;Kd#=2|H;7e)^GB9Gxg+OG0c_j z>a^h)4Pr}W^)q4Nkb!lc^ar1OAvWKy!J;8uqLZ$uq>7iTG`l0Ou8r4CIG$nOx&{A# zguP`{oNbpZj0Fh^F2NzV6QJ>6!J&cR?ljUsaCZovAdRFO3-0dj1SbK4LvRo7(ByPx z=FEBCZ`Qou4;D1PSX|e=@7h(hYZoK_e}w(Y(uI;6anTHwLNC|xl8D4o=yRLt;g$ZGgQFE3`@vU`0;3_iL$25#)jJ+wo?ca??Ed6y=kI zKS#t?Ftj0>n=+|IrK?~e2KD7i!AUr<<}&OdnM@tZ*B!}XIR(>q(2hl;Ib zc+HmL$;`*poVTWv5qXXUH9j>0dbMauOhG^P*rQh4_lB{LDf?3h6*GJ+Q=+&C+9lBD z*Opnx#^lJ+JQV#cM1{#^Kq}7tG8kvPPVUl&-BAl+-e%)`8OeK$KPp*)OhrDlOlpfN zkXr8~mWC{=Oy&^6s+<0U6^0+aUilMLB?C3hHXK}03$nk_gxJ;g#bkjEX_XD&?yEhYc^h-%v_E#Va-a! z81hS-%O>Y2n6-v|?t4hq%h;5pVFrY4X@jx<^axl-!<^87rs$fQz~w`EUm=`7&k8(G zULPBB-kALON>yDm0%6zuL1Y@JR>{#f7I6oQEV9O0htDbmRSJu)nL9*ROzCt&D0(eUlOxlGFb3Nk%Ae<* z1p4rNLwWOij;8h&-%Tx(>FkSPJ!ks>sE8?f!D?FR4dY?QF!~1+=GC=N>oOE#iM|;k zH!7T}0HG^;kxTp1wd5hK0E^&IX%cgdnG8DnQ1-6~8n8~za61IU=$D-kqvkz}T3Uv#YH9x9lUz8)ll4d{qXjNz@sL;Y|0 z?{ULqJVpeyA?_Jk_5u?MKZ>LCY&5(qp8?)LWq`DVg)Tab)2|^VX&NcjgQ{#Sp%592 zqM1-csGXPePpuwSH9^MFtdgJg*^qyL#lqgQx_?GNtlQ-O7f}2==MG=PJ$ZXSarU#S z^0+hG*gt?R-~*3qp5>*6?b`S04)BLx_73_VZ1u}tR_RHP?yM2?$8Q?eCU~dWzfBOC ztR*;ct?+^#BRz1#P*|`ByW3xVA$(-)kr;i5X|L+`aiipCAWed6~99lYi9pnj&h|2Q8dR`Ay;9F3SuPMO#IO3zdBNm+w% zrzHdiXte#5zr+4@2eC-8BeqCho=NM`2BN=H@OjKtND3QEbvTPORf8%MW^GbBJd-2j zW^X0r!tX5pPJKK!OSwBp>`XbXj?TqFM^*dv@kNQx z;Qtnq^q(da#KB|*-hQhRf9i;3HvKjK$HII+Q{noD!jZ{M|5a+vXy+=u?p#PkKvPLT zQ;tVlr*&DS4`G2o`+L&GVr=OHREn#oPw0O@d1}O$6+vZm)%x)S%QB*K5wo1@03tW< zpRY^=B2xR;Lh&+4Q5aX_kH#)cY~@d_oQdGu%}H{)Q(H;~)oI=v)}<5ar8fl>k7Nq8 zhBPuk1}&}XodQPPtOhU}yWWJwQwL*A4Vnx`Op^EHVIK=6sRzi17E#FjXdQ9$DWCHD zvYl@?ae~Iy;}_xhZQK?YvgMsnxsw+)kZwC^=T=FC6So4Xy@naowHmIl_UbS4H^5e?iyBwKkEQ1w29lbT5Mx8 zV2CiSrpQ4gRzEu6kod^tg#I=vK~Cc2Uh1DWwg|sd?+JO?-Sc9_z)fF35Vk9c5PK=~ zyV_>I)w#EOHbU9|`{{v>av=@?Ld1Q0j@MBKon zA9Rw}Iys%q(g?+>BXJzoQNb5dnio=*qk-=ZO#%*`j1NB-c#JN$+Bq2uHk8MVk6L)Y z#|+5~?P9q-4;74k$~X6)fe5r{l6aNQW=fmP`f0pebr0iS*_-4?uT45X;|#tx>M3T& zb3uQNQ|&gmlWxZr38|+&^;d0xp%W-Ck2HD)x}Oyu695%~+$3b;cBEsFY?k7Zd<6uAwaQuF;QHQXO&5)>v2^$NZg zTysmKYMRq!aH7|gp$JM3x$9$!$-o)3r_hke%L>S$p68R2q`6Gx!|{k`b+UY?#92q1 z5EA{9Ve|np_M!!}6MiENa%5rmDM3(0ibFF!h@m}%joKcON`zEY&IF&Utfw_$)g{a( z85Px(Zh`TA1)0NpV*lR*TTb~ey^%lbKQKjJym-LlJx%s9B8BINAjxcJ1}xwM8~oaA ztD!Pl*HG>l4gEvwgQ`&g^XJvF#w_;PsnIH{ZzANGnR( zzn1ap3o-mz9=FXU2$&T&0I9snKNPduvd$A+*&5Y@>+eyZxizY}QJ6wYc` zE*V)q_@i3obOt0AI@TZ;c+}K*)Rb8FEVi40vzi1ag<;AQJNmlKYdE`a*UOnR<8B zou^2ZZlzsJSq@&xiS8paYg$ih- z)IgfT&>3aaGYxsBj}W;*?e%LdsVkMgmD!z_&IaK_xRCwHK*YEfuBQle6(}z+EWHb6 zmZs+gAW(}1;HQ;NSe+8Kbkm@o2jDDdozMyZD7yG3Q&(+p`7{1saY@)eaLEAo)9ok0 zr=y(;8Y<)4?H#gIm9r0J6x~2s$pw7_*8Nu3{f>J?D?^qho(w0R(m$_K zOdO}PR92>EeNNB1He78q?3`T+OcF>IeYzIyoLE|&Sjwt2tjtQESf#jLJ)G?X0|Ru) z@40^7P|sac>b2gCWzJ8`5?fv*z2X1xVho1ztd9G`83^35Ao8KGC*2N>o3BxFmU>7y z)W@cI&4EkA0QB3D(QhfEB4Bl~#`d?7!-0YQk%7~ZL65%Uk&)w(p5uXDO=H#kV(RY- z#4TggJ`Ck66+z;l|;44 z^c&nrO(PSP9e;&jCQC}fH043Wh<4revVP6>CNZXpSL(-e8)G(f1-&F!?!@Stev{tP z+qHuF%5-H4o3XvP7?#gbw(_1ECTLEkL(b${Rh2=0lF~o-u4g7{@+*+Y2b5_wNfN`# z3Nxwo)mx}?NRve^XY`Va6S*$VeGmn_6G1DNGF3B_?04I5*k#xw#KZ6Yn225q&@dip z(2*7cyERc9ch>O&aTM?8+2_u^)kdswI$^cHhWpxQx%_YQ{Qud-S0yG_1@0pt=&b2- z3;Y`?H{99sL9{M5n<3T|suILcm?QGuNIMzf6xS)`zmv19NsYuw=lmIo^5nP zl9mJhXTp#TSOY=UL7h6C*z7+Rz{aL}~v*lC8 zkA2Y{uA^=n@ew5B@Y;HCTSq#}d`4d`-7@Jy#W!S_gQ<4(Y+0$inw-5{7UNnD{aO}% zwh#4iuPYG+Z@fz0?eOf#_jO(T@R2oNnZK{B0(bPjEGvM!2$Z6wtoZY%77(%etu~iw zG)5=sXHvc@HtmFkG}~amg$xUN%j% z&~Wj7%aP)!-HPpTG0{rl~^qV#`$K1ETIwqYD-*=x{d zXD!Nlx(~a7cQvg(ek`kcT3*kq;`|No7~H^~uCVd?nMFQJGnzuJN3}HGU zzFDSMU8X;3HC*;-;`eM4^Nknrj~DP(b6s0?Ul*4tbe7<84g&2x&78uAe>~LJ_@!jt zD71-BoOH%61;|_6IR02^lJQ)5wd@mMc4Yr+h?sT)C2AV7diX=9{UBE@>qgm4%7uxc zF@e`o4;sgd+L5-%k(RMLg>3{%9ObOLBQC5?eYH$MvrI~15dV@Y3I&5T48sx?WAkHJ z^dmA;Q}$@Z#X^U)r}jws5R{Rz?ki}g-klxllt0y=wWv_QR-&b^oH}Er_@j`qfMrOQ zBwCY0?xV#QZuI8Yc02jE zV@k#xXE$1b(4{38wekfWrVNg#l>K!x9`Qk*67PkW$RBT2$ktVp6GV;GW4{RaiN=bK z1^(cRty@Z?h^ZTeEpb?f0)WiUz(F_p;iIL$Ta z#!nM0?zm9Jfxdm0z)zY8vd~};Nf|ETYZt)&owomsu8w6Z^|tr9MD-xfv30~8bR8a@ zh#8<9-wU56IZG|+l9n{U&5qeqBRFP~A!%l-LvHGtj` ztkJ8p|COSwRMLHlQ#rwDKNr(108p-CtAC_}qUw`B*4fBwF3=fC&82sBrY&Lm5(&K* zSL-q3*b?8GTl3s(tq4E+I6h4DAs1=?cmMB9brIWN+L|#PBS%EckL-;ep(*<4l28#8 zLkJt8zhczfJqLln(LGw%;*}lp@v@6aeSm(B`$H|~1W>OIo+rc&HlVPW?1N1embWAd zHBG^24r-Ws#~lj*fs)jp^!7fAf5oR`mb@T~TPIcqV_=)Fm^%{XSL&V&mg^^jJS+!B}nQ zTQ*yq_*?PKT^cTnwF0BKe@&*IM63NG z;|%2Ize`*@K1A81xsEs5p%6M4rMk4fzJrt@JF*s!MQ*i3iBUjo2u5C%jh!Bpe;to5 z@nNl_wI&^StmUa@dr^7T_b{IbKN>;?U8-9gIa3M|(7b&fM+tmEV;=F@IV|!n;>4yNt%lKm7T7 zQV`&)nzKoLdZ$3T22+ka^dt{aDX#S{jxsaS8$t0x6%_O3(HL==RRD<@OW@_0t9)*2 z!|d|b_P;#*|5*;!pJjwkD8;z_0GH`#nD}1*@!RO>db<7gbY4i&>5quc^j-TNWU_bz z9h?Gh-{~@gOsK&f{PW)8zr4jYB{C~Bm9(>gWXzCzzLF_E=*IBT*6?G09co(^6}bdJ z%+uHE=yGq~Ezfc?{@6dzYVM+saPp;U78jA)wi5I7c2UC!L}~j?%{h;5i$u;ZD$W&Z zu2u47x7XDda6(awLNo;-*2a@AiI#Q}H9Q zi?cT6;wWyFTOLMpP1x9cPXBFU|Lu?4R~xThzwwPD6CS~#*^c;(85TLv6L#Jm*ic?4~992-5@!)$I>ZsSOOXK?mNqfpyc93=ziVs? zS40merYu;Fk6dFqt;H=SlgWQ}c&OFP2ZQJ7Boo_#nx@c?~=j>S!QhN=zTmNfBYf ztq*wa% zl=(IaL<;jf?*sjn9U8#I#nCwa%QfhG_Jh=Ot_6@H*LE&hQFB!=Y&x1`eF#S899H} zH>PSeZkb%OIX3?WboolqHJL{I^$V(0bX- ztQ^VGD6Y(u7<-X~$gw8qr+8kl2F$u9h$<$k3xUYhLfKfX!w7$cVv3zXT`Q^~A;Lkm zibMb;otBcArmY`<2HOf;=`()H?6{;ef*iCj8w8^Kqcbe-(rXp?|(H);}hO(`+e?R0W+) zp9K8A_|X1%0OszxAEYo1JOqxUSM~Xs_`xrJ-A||m?U$E67FPbn5_dCR*}k_Qj$7b| zg4wqt+PePx-`6Lrj^$?`-L20WhFjE*GXkuOug)b830rnz^*JU~;CJ`hNnAjTBM`l zG4o=)>qj)J3!AFyOaCI9G6!zlF#`=cvbS_t|h zzEk+6@aaK{W|t>sxEjmJe%CYAXN3aJ0s_0rTZTvfFTVe8p#NR57h4ERqBsTd(C<~u zNx<)QyKW#sk6kM?yj4N)Z(R=)y1%@)ud4o>>aNiE?(Tlb5<1(F_$t^LWPf?Nv={VC zyyIf)W<5ylb7ttDUoP-IQnlsFfow?pG35%$~la`l6}?V4|U z&GzrwpNtA!*|ZC;Fgow?G+P99Itk}!oI>yWZc~O}ogsZs%Yi|@A81=BHAD|^>mh`O znj>6Fch)6kPdpKaxSR5XNSsoadJuQlW93{4S^IGxji8}j@;f5{?(9qtEFS_fs8g8e z5QP97rw4d`GX{y>w>bj4D^*@Z8(+)|3;BG`Vu(cBm*X)`#^+LzKs{a#srkITguWLZ zD=JmusL3>O?_IzhQnA1#t`#PYDEssT=hkm4XUQ4{?Ezf++ezrSTHe6jdfu{BvV#7h zX)GTRE+FI`a^EA->mlH?dDacp*Q#ZBHT2JcrKv(#=~{*3u=-mwO(r6m1m2aQw69}O z)dZoQOt?c`d;tQJh=mC`jvV3Jlsk?evxSetj5oq*I<0}1qPdZ)j!=M9hVg8iI(UQ3 z5->FuU7P%9yS)D*jn$il!E>5a zQgOhWhX>1wGz9wJo=g8~aB4S_Tp&+F41Tn9(-zE6*jRyF_(b>5bX}^}B;>mEhql zy`T_1x0eUF^RPG7JCtP;X9pR=1`h8hxQ6eDeay7U7uj*Du=6l(Yr>Xq%{`fCXuf2A zd!^xDeSn)M|1pt%OV^IbPL&ra$3!9P;hfFC{B}-KeK3m@QLb_Zfvp34J6YTedtJQezfu?s1}n^M(v)DshN>EM=NCIUGL>~ka+UI5ba!jJg{ z(lSr|ItiVcYW6x{JJ2u#%S`myAA4JPh`2%H1dLX78fL}WWgKK{$QJ_U*1ttOhF({!)Z>lDJdKMU4r0fF!}8`A5i_W}Em zX}7MfwyWqLgV-Mz_l@9Mt)9Hv0ZevcndM>?DOpOY5-C}}Y<0UON5@4M2&dgEKalg~ z*6CgyeN>HR-)2#SXBPSLm4o?)mD4#?c-_W>DEnHny5hpqT=v zBTV>r*f;;Xcb#Lc5)CBZQ^O8ktB`8$Y>aT^Ny9_tcEV@cZD(ovdrO6ynO^+fl)pyc z+xePzFJ@@WTEA%fo5{r^HZQg$(m$S>o8Nxr_m(8n)5W;9M=dMqbuFxpI>hDsJ`82f z%s{V{NalkQR7$9fl4o&6qy!)0R$tWJ^tZVg5XxyoJHwwjP*%Z_1Q>@1oSFB?ToqEq zaZcT=B|f}H5~n^r@6T+Foqo{oi2vzD`wHpOhXm0+)U}kMsIXwGzL?m@Bc=~t`J%pEbwG4k_~VM*(|3zz zJp8^5G_NVBJr8z;VFK0n77HyXPfh@a(`J1P?y(H^gX`evgl~&*aFO?|et3Ge%NY>O z6C}=P49qygJtiB{01fq z$3G!p&9|)A;>p)aO7fAT5!rz~CW!KP{>b;|3c=Ek{-%MSU(G%3pDBwsHU7cf)se6p z>k(_atftIo1INphk}bP}h!LbB?{$3hrUZ@N#> z+HWYdF;0D2cyph`9_YbZ%rTDui!SzV{;nnpoS0Bqx+ab--P;gApfk5%{pa{L(J!yw z64AV+qoLc5*^6hwtFD{q+Ry#Hmt>nKCP@b z$BXPOgtcgT+p09*b~;I9oP9cupX!^aMA&jY4K9Pk2QUmCSjgd_D=i3&HXm8(+)_qH zevk9IUjVu0h;&rE=7`um{%f1h%D^GKeKm3|n98UCwJ}{BeeYZIm**OV82W@wE)o6q zGNtPQ)gD~>q&2)L4%*}71``T9Y{MB@W2umZq*SO5{(f!-EGbDdSAek?(k?R03W*bg zCNOPoSZRHUIn|`YvB%%q-BC=?JUi_)WsyntT7%l3ZrW$x$?yKOY+bd}E&M?$YY~Rn zc5xewczy0~?)X2ptJ!W6?}+ts^m2|hhwDfXF!PgHoF1_|W394ao4H(Tz96O3dGllG ztLba8{hTg!T4X%1!O>nr;a#wgM8yJ~Dz8~Nf^LfM3?o3Jns;h&w=h7{NDgjt{CtG; zK#%}a=;rFS-$XP4i$Z?#u?rQ^Wq2o$|DD`f$EZ&_hg3bC8A=3VkN^X(H);GI3}=(| z!S_dVo$w}!domM~yR*4JYh^)m@H_Y9VW8JJ$SmGADPUh9i+c?MusdE9rUKL&+q1 zX$HFOxf}{Bslli}dq^?fyS~9Bq_JT>Ryk^UE8qgQx{;R_{eT%~yh$T9(mo^VJd-ZE zH(u@sDKl{#uHr!3y8FsckqXK^S6L=vE*p0#@e%Lnwn=MV=GE1+#+d!m(-EC>b$j}B zI}|cM)H6RsH?}^1x_U*F?Cha7$-qS%bGJVPw3Zjt}a9 z;EHVO8XN|P^4a(6vs6-kS}D#dh4PLMPh;7ML}1uHbD=20Fsze6M(q}ni+ykHX*exH zRlyC?Ep!^GebE7Hwj(5^EancAW@Si~)(}=nV5MuJOddtnzfo>go9f6t#`kC{ZjEYIu;gYwS%mwS|>r6qeU(2@sPv5t(l4WvY8AMb6^0rk(`~3O;ftg-`muXf0JBAYXyKZqx zcUKaBZo%1imuW#W@IXB|I&4O(fh|N=LOV+NOTyap`I`?ou}pc@O6NOdo;P}KR(86v z(~$Ft*^2xO|9kMwubW-LUysbX#_;_xd5MUu}nrb*tSN#3eS)~-y|tjxZg!r?Ebed|q-_tM{pqFtG+ z6MIFDvLlS9Et9H?^GzVw;gLS^j4-F>5G7CdA+qWe$K-&O@@fmmXX-F(3np)T%@!-} zv&udGYyg@t|6IAEcqV3)6R${Mlwo&%Ml9XLs#aOWNjTB;6Y1;*s-I=pL+-o7A35+J zIjCR4e)NR>2tln0K|Skzk_pTlKG{6?yIY2RF-)vgR`Ps5J^@}>uqsR$;h%>3iWn;w zm6d2QLT7$jk+EuODYt7_jBmV)O2?_5Hfg0JVJarH)&MvD)s1}KS+|mPUs^*)lGvYl zCorB_>!G}M6)yc!yd7nL!;bkje-ByqhP_p7wxjkqk=?0egLj{F63LY)(d9VzfXCK1Q+DW(uLTS*_berm^~*9`R3S7IePyU`D68okPb? z5h0d%)-&5LsteYG0P7cGT-BJIhn$hOnLuG|7zSb-cE^AMuhR ziZjMY_agv7b&qc^an*bFoRpxUqw?xXyhWYRx?k=x*;xDwOe0JCl+8HcP$9uuCX(I4 za;y=C-PMH`R!vM?QZvOuUGsx?`EuTL;ZbzLu4n z7kSHSSetY{qxoUQ?Ie5Ed)kJ(?Ev?hD$owJy)beFA#8}0zkF~TXw!sv4HGsgw@EM^ zwSHQb0PNyWD&anwyvLh?6tv{r2x;80AJ#tE~lLR8I9MO+` z2cE4H{#ZYx@0*K=sKR++yie0UW+-$#Omk+1+d6%Cyah8fMiAmoSURx*y>X_t&pzrX zI7AFE5!k3W4WvMuMJVQWHiqxKecxp1$5^N3wfwXVBwJ${Nl@)+PR^B?DGyHV=_GA{{(F979gp{%me#2R7OYIk zy+bw%4h~q1ofPbdej=j}M!`DWw^ztL8c0n_DH1@IsPw*tNL%Sm0j1{Xn+l-TG(C)Z z_A;Rm1Mv2%&ZGT6kxsk)Kpv7)xC##@SEyC9Oq^M>kIb|6bt$O06|g5*K(&Qj*NjJ$ zh=vycFzg#C2Vul5n=wih?_!MJ^=Jf|iAboAk;b$NNQ2yYyXM#?KCASTE!G^Wc7?y(nVpUtuHASBRt5x&UgRFj zG1yZp{Y>ZKA^srE>`kyO&>V$^7{wJpP!`yAzc6QD(MfjW`>~VODW zyRcP)gcOXVC?loyA3Eb-VS(nmQcO$RZl>4M-#qJu_@L8kudeIurqz7^!zIM!jt{&Z zHHA}j_QRANbF#AsQlOIOWiONX}a3!FO=LtXXk;(INuzxT5 zcIajF`r+ogxdDtSWui*U^Etkj!-b_9UNn?spQ$kjM zA){tCz2@HRuCX+U<8g$Y9Jg&6W4Xj5t#L;q&G7f?;uyM>YpA}v5y9F zx|Ten127kY3TEOm9EOJ@lFHeKVY%AYKNDtRiuc;f>olM&e7$MXMy%bb{z7{>w|Ejw zfZ@`X6&Zk6AH4kC5>z4ifaj=O0Uq%z4v(LB@Y8+T7&x5tfXFr)H^Z`VkpKec4K8 zB~hd5E819(&~s)Mdq#JB$@E<S z*A0`xPsUIk;tayDiTgmJrB_lxl^G@k8J`Q<%_;~f#dKB3E2=$u<( z4*E7By^7FX<+E?6Ma7>Mz^d)8TeZ7s*Am*s-p-{ileTx)k6RVP#)68Qg3k1Fwe)lS zk(Hlc1_+6GYrC(N+OEggKE>D`kLX>Gc<+pO-;c-~C^6aP8bc)+s^XZd;ux!<3c2F* zxp9lQUxK)>thml>KKt;=i|xNVoI-!SUpIow#c;uV~`bbU#4 zzqw9<+=;(Mv8IYeF4}jlq6d9h;zs8vo@|8qS|c{(QiHZ5PTvk;p z!$i8dC@pPhRxhlYzTKcN1;#SaoFPxrNt=P?>&On^Z9Qk!)l*c9+Ww;V`E(mkSB~|h z@6L&s=3d3x$riZiKW`13$B0cXfe;>{_(NwXdtVRLPNy+$C^PAUG?3C~@l_1e@~^xN z;tQ^9TL~0(d-s(vTlloG^4S7o)|IcnBGbMn>pm{`mhEE?=7s0t6Mf>TEz|%OYa=!~ zdG^inFZV&Icv6JRadFZxB9+75O{0blg!GgkqEgu}W|_09c95fC1y}}|w8`T?_EMg{gb0?;E@N2< zIRIJ2g8@>|DGdb^9JWy@V$5RYK#w0qT;4x@;zdq$c8wG=)>Ii(i)EYp$u5iC=$lh9 zsJ(&QOQ$s+!6kQ4dn6tdm1lXDBS^8`f6$hrlm~n1+KoyM&3eU;RIPw`MJq6^i~+|& z09GomqdS)CJ6lVJMv!5~l1M++Q82s)vHQmNg~?LpE)sOAH9*2tK0_Azy-$&NwL--L zxaKh1e%Yb-@9B+OqOBA7nqkn>J$qHhBUDh4W(1ezd-nODjfvk~ieTqyMHhTRu86kl z;-cx-AU0)vN&e<-R^?6mw1>zfR99nf+)NW!pFc-acT79|GixL1(_ilpuEf*b((!#> znbU25j&ioKUXWIHn@z6gx9^wZ&}hPu+lJnuNN5i`VVG_|I#(Uv~?IPP3k>eYGRs41<@iTsYzU|so zKhMl{iRBjX=s+`f5NW-J-a9_q!O|!c+^T7dJ^)g;f3~e7nT5qthwL#C|9uC(7>cXM zuP=SuFcAD4?dQjYRy-Zj+yj4=%-AyL80xYKXZu*)^w34Tnbxl}Xe}e7=*-%$YLf7- zz95afaNDLeyymlRS8-w&pHJ~o1#j$Y)_;QhbV0QdrcD+s6{a-}<&EanKV@WrjP7wn z4DUt9QBUsGs4&7xWO!3}n37A--h|YfV<^sKm!kA%mac17i!$~xqbNW_RKc#prC%!9 z^jj%X_1w%bSv6_Mxo}^mMMM-~M8<@LX@=2Gye$-BUfdW{S*uiiJ)!tMePdmr{WZPX zw}Smw&2>a1N_0mPw3WZr0|>gm^2}wr`ynjPdF@7L&#CXVJ-&gdEr6b=;D}`6>cU3K z?s&Az;!}HUYRA>Q@r8cj!z838p-mEym>5xK0wBO>IzBYL0wdTUp#oi>en>~f{W1Yb zsQCivcz_Yuf=M$tnkMFt)j#}$O{NK8Nj2NQks+|3Z2fBb_t47)gmFT}#YClFu{wHM z3_X5hkg=@S`G&2v zeEVWrv2U}SBLKI($UjLE&x z)i47+Us=4E5bb(eHw-%c^v5wU3!WRx#H`kL_O^N}1Xs3kR@{NY|CC_(#;#}>T{LV+ z>A9V3PaoK&DfVah)Nzo{gS&3i=tqCYpGqTP@d3xPZQ>pSSCc1QTf++-xXGZCdF>95 zuio$MZvaz!Da+rj&w9`F*1Z{m_%lSwN2sOH_#(sh`{-m2oLPK?%Bh~0y?RDZ^Bfr? z>^uYk?M`lnA3DxkEX;x&($+?k27WSyyd;b{fvA{IL z@@1=Sbc`9{mO({ropRpXL_9W^PJ(TZ{4qRi_HprfcvLKIA#XIGgm=<@-17{XeLA)R zOMW4GJ3;I7_l~MH!6At< z`dgW-DpYPmC0JBhAp`$t0+CNhsLQ}J9oXvO2}@>jHb(LC({Lf@xxp4F*8tyhf;U#G z>8yqG7t5hWGTspEEJRH#5;~iy(T^9}Bu1k7b?!Ef^c}PI3Qrxo?k5j8eBn7d^{ZFS z7ne_)8X9;wtZ0wY!_0Ut7GMp;7oz7g2ePSZLU$Qe9hmILtL?@y8$m=g!8V>Ap@0g@ zQ(HQeSi;~1OMxNLrP?EA`eWqN0)5ZwWQ1yVNZq9mcKWx{MdrUKtVjETZ~mvink!Gc zL;^Tzye&u<5ShhTmGaftdtA)!@<9>I`Yub@E;3D>ZxMLuwf@(` zg+UEJ8u#jSUGSJZ7Jae>|IV^F%-c*!KZnfOidNytahapX51dEl-Sw>>^{8K)@wg%3 zE1clwUt=Uagkd@csT*S?UwwUnmLGtOe;Vr-utDC-Ug;Z5+|+zTkcJ1}u*eP$7@j;{ z10glGgne{bIK>#7xrf5AH$nE)B&V((+-kPoADNK+E)2eqHOX{iMNJA^e7WTbbRoeF z%*Kl4dtXCLnC?;nMIw)zF)I+EpT)z@nk!euy5@$MuT)y@5)uo|@$T>VMC zQHl2WMWIv%GKXrH!!2W+c2L5nVv9A^iPD5pHZq|@u4jacpN!fdb^JnTnHfW{@56S8 z+0y6=DE(|WyvBQ8&sXDP-)UjK)%%&4c9HRt>GIHi{g}~$SDws!n%(#P#8@vD1ed5~ zL8|m&b|%$TLgvkc^RO|da_CV#BE(;hP<>~a$JJqie%x0UDZU{c>$HOQ*9*F4xi4k% z%?9CRazgaI+C0ADk&9a4k$$QtVn_B_On&KM7Q^vU8{q_KroD_&2=p4N=jJERXM?|N zcR!Wem*)7(-OvX0v?1nk%^086_TSUl zVJb%`_1*71tqA2#%~q zK6^LR}%93BTpdBYW95ZZVnu&zlwoN;nhX)!ksIEYG#8?bP z%Z0%PZupbLc@!3c^@Z~3UVS_BJ_tfU&kaWv18?_xU0E;>ArVO0A6uVqOz^e;+upfc ze?ScNEA^DnUae$q`DZd%-8YoSV&eHc3@M=+tj-|t257?0AT(;xCeDL}P_xlozi2ws zW_DM0)>CtfK{JE2k5>Y}$h^^ACt3*Twb(;Fpk~F1qT-QB74&6NVr;vMP2m^8vwlI@ zbvmv{p^-Sb4eRA@#jZ_Rd@7+ZULZJC&}RH$_2WOUnUgryL;2i`Q`Tx|P^5N1!~Og} zjOLGyO1-$Qj01rP+sSXugrM#6tVaPOge>NIk{9GYO~q~O`WsUAjk>sMwX?`)Gb+## zG`T%;`^ITcJ=d8wX(bZVdNy>w0ckMX;3dPG#phou(UOU~YLC*=0;X!!jLxxQP2wU= zol!5iaNf+}j=lc+0U~Q=x-o+K9+dX?Y+-sCPRmRCJ4k*-WWvunQ2mM8Tbdfz%_(@e zpEvD36DImNju}6|%D*8^k32&trUBxd(6%%J^pcwoVutdvBPbz%rFLvXH;hJ5+wJ$? zqd+}~{On93Am{dLa^6me=M2o9rhEmK!lz&NE~60OxKS?WiWD^s8ebzTCrgTpa_A=t z`%&s&%O=HFl(YT9D71JB{W8O2V}(}y3ecN_9|SQvHJulroFa2^8KHB)U)sr-Qote?er?1&F zo4nheWCz4I)U-|frWpP~=FT^{YT%Tw^pz|q}+z8q%thl?p`={@4T^LfmIe^+xbGH#fVzxej8UPQ*uKrDm`ww^e zlN{t!umRyu?(+Cc_AFlvfdyBede6W#rf)q>9j_XrcV710M@|!_jabSz=b%RS`ZBad zU|Q>h?rdF1x-Rs_zsA}z>VA>;z7-b4Xii{VAVcA0EL`}8_tj%s zi|Hv3P*aXo?Rl`*1($5=8Cy=bfhTI-4-20rRCv%Voz{J#UBYzxgc+Gzjo;TF;+yeq z#=?Pfdt0KzuY$ShU zOe?q?s}@w*y9QEq0HT`f^MMTND%Ad(N%f{N3qIjBf~xyq#At|PSHgRV75o6`!+C@uzZ0EzAruWxsV8L$#@E07(4jj9#H zUuNTU+iPM(3)^yigX)(_IZu$NuIobiU6-%gtQ#+)6E@qcWSj|UB z-;1Q!h1f)R?9~~{+Ef>^P5=!E;a-U=SDJ5D8)VK=Ljs~kSH_9S$GBvu+}Jg}6UGBI z@mif8Z!C^l`@6}KqfeLtA~ib;g|QuNZ)^T}Gm^uNgLI64>RxV`Klu5ct^GeM`#MJA ze>vC>bu`3%Hm-L+8$TeTh}yvHO)CF~tFH`;vTeI1g+Y*Rl^#HvaRBKOsiBqbW&kPa zmJaEdVd$0)0g>(+TDlu4DQVr~`#tZspS^!`%)vc#pVwOJTxVP_tDbQiC%}Y?VxDb; z&ya?Gv2kQc)CX9n)_~K9iolfU1o_-p$=DLqu}>BsTeo&`HtfViL%-^v>DSG-15l~x z;g=#qSP{4k_pY|&HC<8m^VoOiEOx)KbU;1RO!k>Nq#UR!Ex2NEx(i@|w4-;t-XJHe zwIVB5NWS4N2W<4Pu1vf-s%E7qr%o22V0E_+m0TLMAbP|CWmewMor1qo1L}YlA0@-k zY5Wk=F{IEIH z<)jy$`FG&R3K<*X_I!ppfL{RmYyC*{Juci2vQ=z$pT8sthY3{J+S@?Hh5fwDN}vkc z?Wa#^VLw`vX!Vm;75|+e9YVSwE&g*tfc@z3(OE(#Lc!*we=&eRn!;Xrfe>YDgA>bk z*rF<3>#u~Ae7dTN714oqnb)*L@7MGl3L6$A$M2q^u_Qd+R#XU zdBSquon!7g{fy``Lg$IOG~-CD3|3FA zF&dP_vUxw!V<*?cxwiN=W~K+B3)4clL$lr@tgC?!<~3P1X2v9z!1N&xtQ9?+8&>u+ zbw{FuDM!e4{(<8r^H9&KBe%dW39PGkeNcZn>UN9;+=X_rD}(vv9nG~ow*YLV=eR+7n(8!fLT zp3U&&5}r~D`&-{R_+FOhtEf0k=SSE}W9* ?n8&V&A-B_U^qY+8@fb}n{Y&a`Q&5fVF$ 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

    MxTn`}U&J@WB8;sQIx`jZGv?FYV5pcW znvd@t^(4CoBFdtoln8cUg3>?BdSHoGWxhwj?ZkY&Y>Jm_;zEQId2AHl>^JzK*>Uu( zSlvRRg@fsvcV-%khe+~@`-<4+S5#@9n!tTIONHCRdGKX1;$4&BD7Pk8%+HDm{E&-u z^&Yfnu?)}7{FVaL$tabXJlZ`hgx56L*aQQKG7IgTpb!}0Eb8z;KD;L52^Gh3Wf(4` zoER3qbfa+T;WNyX1w=DP{aoxctbhe>7cnAiLKRJUpfs^(t{ zx1Lml44Odf{3&ox-tDy~258I?_4B_k>H;Q2;M}r8apqV{g7;%of9LUieS_*4^8Ylv z;{Q=4UALC71nyQUxyspX+drlIS~WOTvN+Ro+KntZ&*Q9CNT`DY!xj7`t8G^{)3_X} z(E>gD);{`6f5m?~TE_dmrW5?3qg~G+;|1iux&WwlA?6O>pQZ!4^gerx=>BZ_y(*Utkx0hhLJ0 zGfx7aR?$~dxM^20;)??77}y10NV=7jTKbZ{VDcAtmGQ}K-O@8jx#Y5P75fvSx#uc@ zZlyE$wz}qngG@C1=@~GAd8h~Q{*EG$G6i<{oD8!fE~qZg-2~FZ2q<)`2m@4dh5|%W zI3lX^I7b6G6Y~?U_}xqpW{~ot0#SJ-Vw}h{5L0QBO_)? zILQ-7iyM>l3`Fr|qmm@{P%At?{(mb|+<%6};N<7qpZ!8S_SgISV{(bT`F%rJS7vW} zP?bKT6PDNN;Dsq1Yx8kv_U}VkmuWYl`yUSVYPIeJ+xW7oQwp-v< zLYdqjtZA4YJ$8!M!DkQ_=B9bM_h+#rv~-V>r82oADpQ76aRtmVhFRi102b`gxgf9D z{w_f)%YGawmJ)MYubwxQjA2^Ti(a?ZJJ`Har@$onSs{_Vux6+(ouq7no##hWvPt{H ze7E3X$j#E-OjQCY;>n(1g2l3U3Y>4ew18!@HkY@OGi>r|ml!+_9s-9!5jBDOULA-$ zwuSPEfItCRdnhx~TZvB~hYdb~9H2@7<0LK;VGgCDL%}A_3YgAl)XdizlU zadYNq%uRAj3SNri=Hvr`V|nu0K9@x!e%Luo+o$TlFL;x$e|^EQdjH$sZ1rQcYj$t* z!jO!}^QBGgE%y(cCxse&W5Z=qUGeV$#b4K|s48-9*moZ;_*P3G;lFqbuS9so9z67*@Jr*WIxGnK?ZOsnwF4TXF2E+ za|u5WABL`}78WDfBe*(kzHS6;l@&pUoxWM`GMPV^rvjHHs|fg@nm)YIxdNDFF-j1N>6%_370{&(I8X#T(`e zx-cXdvcgAG#C6kB{7ifNQW35PERpIa&48PqoabBTfDzvSH>eSJVHxU9$e~&TJ*0 zos|oNCBD1s!=d5ELG!QS(XNq#uSr^VPg=*Poy!H?yOIPx%aDR1DXc?}sKGQ++FerG z;!@gyQi}-9gh9S@`}~%8rxdlwQLtaJ{mi!hnO(ZRoHP)-J)j8Otl+IO4YLAMAM~9T z3DuNfz1>GxQ%rN!?pN3sAh=|~e9S(snpER#mW?dKJvXgxo`Eve+ij_zxD}TpAkpgt z0z;A}oE+UyxR&tK<8i>Cz8a(*ZNzG8e=Rw~zBk|Nkn;}xWjr&XXc7E~ruprg=R~?s z0$qFKeBQ+0*o{$L^GbD_6xbA10y;K$b0JnR$1Mym^r9P@@(qQcRNngGBI!)WZP~hg zHBM+Uf0pK-u{UU@-Ez;#!}m^++{Jd|t|Dz3A+d+CE4ty>m_6-({Hi3Y7t@uKgU%mu6uPyvvvBu?wic7FsT10y+5K<%nb)L2(5H5uWu0t+|zfhDUQ(pLA z&grl9Q5(5`yq&Z0=ljJJLT59s<9ZLpX7NEl#HjhPeUTdt?1GMFXm+7JnXg|5iPKnJoBWOJO z$eZT~rIs=*0RW{tc|U@vGu0E#qtwfKJm8NemqIzw8KMD>fI&( z&^#P@>=54^;kB^ORByjQXp6j$@`MgDoO+X56_n4mo>Dhp1#&6_aIYe;zV9bwn(QT% zFsTGo%@gWZ1QC|}bl3SZMhsd$XlzA|5D8N=OwE>}n z2veVrLfL7sdQM;reBSj4Mv;BYt)SkE&%RKleAM8lZ4kf%<6Wr}!~3ox(F zcTE*sy+Jzm;!RXq`#O|#;`xwIN~V7>pg&Y|Tq>XW3byjnq6fkyAb=f1X{*3VqF#}g zbL)pHMq>*5IA%N@V9|&+v_v`JQ^`B^CGf4%EsEAKxNy+1-ufT7WKcnypeF#6cf;&b zsPx?q-PwM&82-KR^sh&=>pzcXdHYkclJMgW(aH1JS-gS4LJRM^n~yHgtatocelmxK)`mdsl4<+UT$u0dkim9XXo|dI)7PgFY=+)pcJ$fqil)hy7la@BnUIGTje+rp|p!BEL(1!hI~Ty2hX z>)TTTR7Pz>NbWA2eiH4myQz_ukwI6{?V6mA-iLfrsj;Ub0|Xa_dpD_u%kTPj=_6amc3!d&)C6#@}w48}`0C#%*Q&JT>+wG-Yky$h@(% z?~iQ{nkN=L>l$~QjBn5#ca(wW6-;fPBg)=%%k{0b3GmJZ(<*tTygJi0YiijS7L!ZKSdyaD#zi=5tqvpzyhriB;-?;59#gv0Pw!cXY8 zw!e0U3JYU{)T^gM>iJ}1j3hc3djP-c+x8}yYG;7t_;wu22v#3XF%yN)Z{PCqXVu|& zy>UdC2fOpO^TUKWbUdS20Np{@XPASKsWxvhSr&8-EuoZ$Z!&D20+(4rHp8)QPKSSX z8Y(sdN@LxX`ejYl6#umn+)$yz?*#|B%~I(rGgg|^B5XR%2K?_V1(S*XcJso3U*q+* zf$vu1^W8e?Gjt^7#OA~c84EO`@IygYNe85ZXX^==G0t$5NY z+$HknhPZwDU-N#g6T3P=$bL975b6#}n%`GtJNB+LS{`UuJ6mh|E6DETl^Rd4wCzdT z@ZcRB_kbDNx_XnnDkXibgs^{L_T`CBhT1s^;Ic_(1xwRXgqn!2%X6fn2Tiq!gk9w8 zN~f+QB+AvgtBfAw6OYK)dNXJlzPwj~3+2M{10dT^q2VPI)@@VCeZz z1#4_m{dCmJl8=0S(*w@pTptV2Orih48WGKOx;a|bGMK`}TaA`Y6Zp%*Pg?>^v6M1( zz99+ITK9&FpsJb|F`2MaEz0G?Ge;2oIOp=NbH!4FL%a`hH169sc$}XHj?Ns%+^5M> z952scLKYA||8&+;2{cu04+rV#{l;HuhH3A!4|(swtkA{;G8vn0BPE`1693Br20PQF zRaUH$qqrsLlfGof?}eRS#Q%loI)AeK^k<1}W2sz8hAy)+ zG-H?7xVA1%URipM7az5j)8FYwVzuCsc`!wAlRt*p9wNWJD&fCMpt<_)d>LD}j;f8q z{{AMz;!yDO@gjhse)P=Q(WLQR%>@2;(Ajv+T^?JT%n#cx|HQpliXLJ>jt5S@;oj|r zo|b&?$?3|&eO-H(a^B`SGC`8-bT*O-g$h^eCH{J{w572qHrM;SeD6THvfsEY{yi!j zZP-!c!Ny#%^Cqn7p}j+unpA|N{aFiN-s44?h^;$Oem_T1A@?1Uk;Nu&L-Nn>eUk&p zxe3zH!b4D{gU#`n>PU5Yk~Q?X3XEioI7Ju|46<4QPFy#daGz~8Q#eeN3z1UKrBnEn zQ!2RILRWMv=69L6-NQyj;3ttbfBb6vNJI^CF_VAILvmfS^6Gd-3!bwM59=go%HOS^ z1%GxZAskPrmx@<2MGGz=McfdiVj94XejTUSK_yzGbPDP;8&7p`@$UKUdjJC7ME@dx z244t5El-@HieS4$CEZ|X;e0Y67`^hoBCq@{NF8rSRQqC>8AKg%99Z)Y$GAF9o1iO= z)}a>UVi2P7$~}w|?r($tpA&KZNN4u{jR>ygPxl&a=c|JDzsujIKkv?03hON2ZY*rs zCT_RIrr#|ZZl$H49US%68)mKDQBA&Tzl_<;1(X z`ew8&y}rq_48dEY8KunSrM@+V56indGuA5)o<~cLiz@c}EQb3Qmiq|7#~{F!^uaD7 zoA?g+{=|BpcV)hE`un_9L@9T0GFbeA%|Au`xu#dx^g@XbA-=35hk>UzIIlI9*uV-x zlyN~%)DT5i=D0B3y1%dGdS%7qSx@S{WaF%VDCiX;zH))YU9aQ*ARtiaPL9c z_(uNiH@xuJ9^Lov@Z{wC@DklxQbUMv&%CIUA|<&drRhl(QN@`Iu#+jhn3_MBUgc=V z0+yL3!EV~DA@SPPVLX7CF$Bq%Fh4L?^dP)fMia+AE{gt8zdi<9c;pLxT5v*4>$fkj zZE_e=9$>wm;zl~fP$7j=E;3yO54DD}CB!Jaexi#CMj`1|lf+s(n7`43ecvWlgUUSl&2bL1^kC*F65L$OKUB0g!AZcfb$7z0;-2sOlQbt zv$gN;>EAh z@Mf%)V6cTiPA@WAU*T2z^1E9Xjpy3qwgW-$InR5W%j@MsvW5jNw`$MZk2||p*E6*e z+m`R|%^06OD4)YV`1YpxuEcsSg568luIz>fdbjQoyM&1KHKF zaTs59m+sk}!817yk)&Ts#sYS{LfsASv+5lOmujJV`i?g?4fot>-a1iF-BC|uo)l2D zu1U|Hh3bv{6?<2*ZNB=}v>#7VSBCf61>SV2x)Jo-#-S;0M$EAVw0K)4E#D({;?JxE zl0qe?W2O1rKXxtK-z*OA?AQ*x*cZn2*bQP{d)52Mus#|Qy@N&PwdUr=_-Lk~tIycS`GuOO9 zNn6w}2(Eb%*9o0TS>61x{OJxcZD2Y1piFOJUEZ#u+Loxz zs9z7*x#TU%H>m`sdisF+?OS;5zeP9LxIu+ZkcmcX$6Y$<#6!KD@9|2g_f&W%W{x>yO+ir=l(2mmE+a)6JwBeOwwKDVNz>>SNoHQ(%k9zu zNeF?dx3K-RqCdObh#*{h6_7ekKJl+Yw@;=p=Z%hbJn4@`7>kwh^&d78wrmjg>Sv2j zrUnk*8FU>ohvhaos`UF$ypVnPJ6_a->DGy8{*w{s${sHxS$ywDjC~*1dMPr5eosQK zv63LMfM-VGo6^ZW+gI}5tsp3f4DW=F`J}Is$9U_b0z*ibbVv>*Awvy~(%mIpGc+RQ5JL$P($a$H&?y~~0#ZI-&$<7<`#je< z*TuZ!nisG?JJw!%ErKtzap2E`R@zQuWqr@QoZqpxb2ix3eFWdC!x+3t_Qi3Mti1DY zt+b4#(V9y&0IvQWiJw&xg}sC*5${il!j0>)$`oLjOsyk(YSOKNv*4v2Q)l0Fj>J)1 zx=2w?>dKbq3>P}i?YWooBrhCHhXR|4AHC~O&M;}lR!?Fo*(Rb9^s^V-!du_JLoQ~c z{Dh6%=E4v0X5zPq#M<<<_+Q2A+2MMWJ3E(0GnR74>$4124OYX`O{PpSpr#2=&Ehzx zFoyHw9$2v87)N2ODQ&t_c-UZhR4w2S_g(JqB#e(IO9j9FGMN7tsRA2|Ko388!GhIX z#{?q6D!|sJyctXrF&ou8IR7PgwZ|iG5asGj@~y5c##H|YFBlKqI9!ddsMC$O%#r2$ zr`NPqYf+)tb*|dOtuO7_+Wh-J4g23Y0HF5y-S&S9x_Y7)a_J7c{-S!zES7*&+a)~& zK4K;B=q7u9L4JM&^rEDXv=1?AWJ4vFH}*&^541a`;H~h{#n_En<@mSY@jYKh9ikwl;o2l@;5X&R;36wnN?(+0+0DKgf`o*jx~n1<_` zq$jSM6Th`ob{c!A7oy5BkRE44frQ_OrKJMOUR<8bZKmi9B!4t{+s*OUWkBt@Qs@br z_wV`f?)RLrMN||| zlm7?};|X+@fmbqu-MC_%gm!T?9Ct84LBfY~kH9WJEODyP`*O-^zTGa zV95%5D}*bh++&CmI?n1tsKNM+=B%}^TB7OMWs9*}Zu<}L1g!ei6z!2S0L_YW_eygu@Wl-8> zL<&$XT3VL!ZLU1DWgU%MbWN-kQ_jj&B;*qWdCxt{smCqLn?d-do<9_*FB1eczl_^6 zJwEHogBTx{HISN6ZuSB9<`_>w=XK?<+`WYpZ&xN5&YZF0fkx`Of`|mIB3e_^29|{a z6AmJdAMk$HM(%vpXllFhef?w!k@kAd<5=EF>*Eblyp zqkT8|W)R`0S%aL+1h>@t8yjt5H74cZOzGY~;T>}2i{eZt`4Jg4E8TBb6AS9ja=EL& z&n0Z&9iw56_5AD^K_@56VZwU*DlhH0uY#kF-~maQMOeoDe3s>$F-g0P0bcq;ZJ(+* z8kVms+H{^EBE6`|suIac^6yCotW=Cv7EheDbj!4=M%B_`U)KxLY+mWG5dFmOXbUIn z-&ybHdR>5iF@LIT#h5#65sG=ui!|a-TS{1#|6U{*xq+;&PxT2b)Ov8qX!85 z#R1xQ)^DEFaWH(rN0+W;n5NT~7im7vD*+&_N+D%f+FFEt9u;FOm=wS^;)J?0*6xK= z{nKa;rn!GotH7vXJmSh+#Sp=e{(bXHadWC8*h6?75VEebzB`<_U|<=huo=v zlKxl)ohEM?by^f$+xcJJ7RUJne0FQju3;aUE_wH!yxl-D%~Jdn7&H7|?f;q?+>7fL zo4a1#-wtSKIIRA;^j^Aae(~1Lhq!%F;#E`7x|7XWHDvdV>SmMGIn?qz9&{bfbDAi9 zf3NWapkc9g%}({ht#VAgM8ByLRBv!)7Vh zeEn&bR6fs7en|P^Y{Sm>V*Q2dd;lq-xIc+x8)@6e=EZz7^Ur0pXh%yzHskQ2ckZ6@ zAGHH8(T)NGKcakjX?xLB(~h5kFTeX`ws>5F0HegAou!2S8+bT^>{hSjT)MYMbIdV# z!$|5!Mf~sp=Ka_0A%x&FAEU!@=2ta&M&Z$Ev=dL+S45_*&&H+rWkSIo$Hg<7d?vRo zCuH0KJy3qrlYaF($P+RiESukQytqmYcMb!zY5~1m{COvldOy2zcmy}kk|o;Tdar4l zCSZ81h2=x?&WZjCpdm#Cc;7!;b-VkV`&FT=C(RxkM&k?1N(B?2d%SH3&y;|AvzCo9 zFu2b3X+4xq$BT%eEe|l?3Lp2C(r;Ay<%s+0oJHP^$Ho%4mq}q|vLum=u4!4rZObEA z`zxaMG3a7e5;JRczMg}o+*Yu>%m_dHt?4w0^NBpe3ox0VmTy za?vnmpd*j-3e*16b+jL_t=D2~hKy*9P@Vra)w+8u8? zk?*J-*X5PD>GmONOB;!!KMfZQy55Et9e;$my#fTv3%#y8rVO4Tf&&UA4Lexk1v~KW zQ{>omfnA4tA4H%~`H^ck`700T=1rb(Y|f&l8=mm|rgJ_?%;WvsF8*61($@OqB<$%&1>O@acN=<}IsQ@?g*k3p-oSxTdrc{CkR6zPp5%RxZGfN> z{8Geud^~kcafyfeM*W^KLyAy>DqOvUOntp~$ea!ShD|ut_GwxU(Pxk%3ZGq+U*+?= z!JG#S)CzCgg@%XTCQ3cZr~p)d7cYx=V=2WvL2ISbU*+<43}2|1%S&Rws`_Kh0rs#S zAUp_}<-SaNKmVJnO%8PrlBYm@Z*6@fwoJS`-yl!gN{g&KZi33*2d3wb?Q}B zV8wsKCX#j}rLFLiz5l^0-f8vW)nsX}FBUqVwgzO|ZsI@t9NhNoZ{qSaT$ICNVl)`d z(yvwB&LdDm0W3QK3Y3TGpAXXper7y7q>4FA5nW&=T`Wd^Vr@SkA6&7R3~O7vJxsXh z5D44;B>BYM$L8qg4B|q0dXf4?NOt`_={s-hA1(_=#Vbc+cdK+AbTwY276;}&tuM#k zo!=3>1d4|^#=uA2@PomzI(4B^|4^ipbLsfA@)<~k)~Mi+2?v;Q z-wf}}jpWSjnAG_fv2(BU#V`Gvpn1%o`JAO{XD7n!xls^pUteBEjv>WVai4+si-bO& zNneRa0?&T@cHpIb1MQjAu}VncC+X_#D~c#rGX<+EJLQ_oeoJ?Gwd3^|r(c&k3l%|OM6Dv#zo;b5Mh!msVI zhIIAWjmeE;_Q&Lz1`b}^I)DbA5g>$mhZNW{6W-N(Fj4Bfds#UI@nk_fNbdXGdyLX` zHi%0aPJJHNA{@EM#q5*x+k-h=grT?G7Ua%sL$MGSFn)3Q^}XR4&i97;-`+Us?}pF1 z9U+`DSUg5$P7!POIj5LKFv#l?h;zlElzT=fJM#B-C?^VT4tZ)&SU=zA2it3|1T>*? z-SmU{HximgG5(X3s=3yG`1skex#aC^WF?Oxi`tp}o@OhLrg343y*we`2zIpKkzM%dJuooZN*>KaO=|Az;lBnjOw?%qof>j_} zq4nhW=3W_DXB_p2NQk%x#n;~vsgWT1zj5loR-78S*d>b2W^Z_ybH$8fu8L*sl_+AS5rP9j-T;~OAL?NEFQIL(YG4T_^Qshr!an0 zhWO}00(9x6I7#UZu1KT(NuvTtmGxrHSUYk$%@l8AGQt#3R^&Yn_-;Pt&b$`GnO@2ZjdMXM(eM_Vy#HFK_BsaQ6>pfWdyEIIg>bA9 zaelX|7*N{Pe8v3$hD9M9wvLnqAMRNk{c=4ycR4?E>2_xK4ft@SXLeJ`7q-4>WkZ<` zSy}T63^a=UqKb;9$knrH(nV4vW%W+lupvlQyjC4VsfGquMfA#wG(At)ShX&r@C9U7 zH#r7HwINEM(dLVGfKW(XnK!OviRKsrAyln7FkI&1JeTB<&OX4Z?a!_>2PzLD=qI$5 zQXhC{o2NcdY`gC{z+qplhc2<9ksP|Gkk#{2ysKveX+DK`!F8BTs9DjaLSU1~EsPlc z?C*8l>5Qp*zau?v>DbpvDvLgW{Tb`=q`R{S72Wd^R!?6gf@Hj6@)r-Si^-mp(Xgn} zUf`2~gdK^sDSX0TpN)OTDAmJoy)O6S#<7gLtN?2TuQ!*l>o()?h|-uexNgb8wIjt3 zGRhv~`OWc*IiF-`)tHqcOnTO+P~uUZ$(!2ZoP<98!otd4WOZ1CG*rvo?cfysp(Qm)XB=(rKo3D?F9S=qVYU_ZuA@=rG8WoIsl8A5XK z3WbDn^})v&wGokHHptY-1k(ThjS1DBQ*rz^nN%+)Q06>bfU>;XLh!Y5O~+lbz}%ms z&HTcuu^=h4>m&Eo0x(=s|HlVq6_Q~(w=B`6KGMZO;>T9g%Uv~XVJ2SElD^WC?$XmC z(#ruIDIeuEmzdaHQ`T^8l`vD%aQnX9E55+#JoIn=^U>;0Q&`yhp!>%Dxcok(=9~MU zzAgErR{PX~TSq9CUE{)q#)?f6q+C+VfRhjogU1T}L)jJzLwp%hkUW{zHRGx~-7&_R zYgYYENH1;SF^8RWoP>_&Qogx6NUUj9&H02w^!FO!-AtgM=;uDW*=-_57raR>F4OE1 zLkZL8EKqhm0~T!dH2oeEt_*TTM|riEP;Hz(HAW+j*#SojXF7X*xCL^yQuBNEPEvSp zDXy)=PCDookNpiEu+4CvOFoVgUUDCx9B=7;Xw3P82>Q4fX)!dHfy`vG=i^)F)Ej59 zBS%Q`1)}4t9k;x8MaKi>!UpyOsgio4i%vo_;5ug;X}7ZmAspWewSVc9U2*6I{TNz8 zDLL_`(!T*cdl{Fi8puXZhp!xyIVea`{(#}Rn75vXf0W0Wi_+Swx^!>5uQYu>op&k4 zDlWwC1+8IX7cU~}#_B^8NTECtNRtMy*SNJ@UN|ZC^ur=OHKF3ws(GGcyvC`L@_8%c z1hJG0CV=gw@IVg}l%`s)`_bq;Sr|RX`?P!Ej*(3!N|>swK|umR4&`4;#p>z)geHGt z6Uv9N*pHL?{zO}O=DWQ$3dex$_U-(#pXhzmP3*F^zwkAV8iIC>o>s3M18ht#?8qm0 z^d*TCE&%O_pvS{fAhh|KVA{mrBK^giqGq6?AL7#ESMvLQfkNKejddy;+iA==S7d7B zmG$4O`Cnz80aT1ivmtt#1!Lb(WW3w0J`B34g2{fmNWI6?Dy+wAy_R*O)IycFZ)D@a?xSD)gg8FH)_oj0?}Z0y0)|giy@WVBA?06 z@V?CMKI*Xbjm~e-rEkGHyL!gEHug@1(yh~3GcIw5b$!in*4(jG>;@rNR@vBE2KGgG z{Rx!L())-Vq(EJ+Qsui5Z(Ql0i4ZftP%4v}jFxJ5NYeU!|5v5~YDi^;VEen`gkD8U5%RH+`naeyy!H+A0I)hihUR+{K)ls)ha7SMK z2gh^t{E^GnsC+x&F`(Bo-o2Z-v+`9bt1nwMYemEFYdJ9b^XCR z7^lE#7#l8hS~MD_c_>%r#$C#t9*YHm24hj>v8?6u8bX0 zk24}#7N3dVkDD!ikYm8UU2tswBza^l4; zQeT4NLfMqRfy=JNoCtKD{}tVD*rX2ACLn50a2}5|rJaP4hHR|3garNulOBA$B(-l2 zW|Mt=0ogfk+A-66i_4-ot-4pUh9h8)D?mzQzInKOxYtIdYO$vAVok$*E!mPH)`BAT z#iK;4o@^oOOESNSZZ3_D1?!6D; z&%{fFleUoz_O|FKj~IKYRYy19IYuWe1^sT_$Nrg7Rpu2vF~bTKY?1LLdSn^xMeDv2 zBkCs4hOzn@EmZ@4tBHy2^pU$knP$iGho#tI^$!iP%dR(kgl8>ROBR1rF5 z+Z+f-EPkKR9b|xZ#Q&v<*Z}p|(G--M7iuKy+rTT5%wV@>dL~A z@U2FdJf~x3aLNJQ;29~)*V~Bn+xwKaw?BezUv>n&?dW)0`3;X|%U$XTJy6X)RdEc%)GkCgD%K*oQiQw13~k2Z?X*CE zZp}`X{o*iveHo9)9?=)^o~d*9UYdgX=-n(bauAN&K9>8BCxn(LPbiOBGYTqcR^OnE z8$Kin|C>KOgd9N{@>f17f5@?99eY#wuVQIDaL6ZS7;k&5&N`HP(z{lS z2Ir_H;);g9X>SGjJq$Xk*j^-~$A&d0Pzt{Ep+Mjq;5g5%Ct#hl&SYcvIUPZR4Fx|@ zkay9E7hlR{s$s>c-G`jhhHeV;j3dC=;{P3gJzj;8Jhzl{H`YXfw2Ta}87BSXs0Zpre|KoR6N@F?t_LgdS0Bb0~`pf3BhMGPe|Ua_O+~YB};8YwQYaD?@8>R$wf`W z>7^d0AD?HwvMvSMfIJzAoefPnK7A-q=*`+u4CxzLSAsWQPIT1Hu%Hcc<5$-d2edQc z=s>k$5+yi*JZrLP?2d@gjbM0$#@UC*X#y6Ip!!ZFbnc-48W5k@>v<>|`sYM?jt}I1 zHtzK~g3wd|nXR4CL^u%%r+w+ip89!S+-vBL1V*BLMw)nWk^Jjd@;TrcR3{!&DNe~W zj<>&Cx<;k=l1UqymkLS|zg>%@y-j}0gR`z}SlGx?EX>KLAkj#yevO#rl?3>d?GyTf4vq!3D~dYp}jq{!@&{hJohOP;OeDgt*|fw z_hC0B%dPN1xR=41%y>*E58hncZMTO7HD>P`YkieWcTp8pn*t%pZiIXm)=WoS=0gnN zKI%#?W@g#yvnX`8y7goq;uZH#Tm=%Qr;IWhP1x*5x)OLiO2@_Qcm~3c*donA{|!Hv z|2zDyWiDsl#K`yz8HTj{>LHyLT?CtSKskMieDvN2yjFSoG`au>l&iapNhwWJ|+7*@$Ru&9208Q@KT0k&lYmHJ6g$dXZZKS^H8D3L@YTwqe<^cT z*{JeW{PU;P_~q8cZy)H{4Rn|17in&HY6m^UtP`@{D>L;{^+Jize$l1C$Q=|Mau$RW zvo+k=qO%Pa@z)o)`IYigdNE28&t|0?mbq=3`aI{rqTO6Fh%Jp*O$%Rq-beU23I2nx@wQbr5@*z^}+ zyXg-ywt)`@#k)4?sg`0|Ok|u{2=!6c2o3Bb7#1#c&)#<6p5{CYG0c{r@8Q52(f3p^ zA6}&$Im{?hx9ON#($eFI8f5J4!7dig=NsA{Gv+tL+Xa;}f23$B;fSXqy74qh4R?T_ z$){>_5}^Gm3&wY7WTK2N6jdrfRKw5h1U7i*W@$ zo>1mq1Q*pGEgcWP*{h!}eYX6V;iJ-n_LQCZ1C4_t4xbjvdGq7y@fjmy=l8-N`yX~k zeh^m-)tFsN6TAP_F1uxj3lOLw^!Dh+88z$oOAxmww;x+0>R}Vr>@gs<#BG^#s==(= z_^ye6=N}dh=YrtzdV;>OAk8NSvhj?HHS1!jsb3p2EX-?;bR)DXW{ZtYzH_Av98%Zn z9>-;dLY`suQ-qTzBtr05A_L_HfB())j&Og4dI(An^GcTA9(?2GhV!N`PUy=5;>AM5 zBBOeQP;YuS-enpy7#FE2Q*e(010oEErkmJmabyyg)rT3NN!J4_^RiP${SfQYaqV>E zxaO#K!alfHw3jyfR*Dx1{#2tK$u4QJ)O%CP!}ZbB{Jcv!XZu_0#BYou!15GGX%3hs zloxKe9!b_7NvFm5WaUCbgXv0n!CVKF@`Vf~I+&FjR&hNXz{Qs5K^h9DA&Utz^@w+- z4ty|(2+RfBSAtmw5ej}|A<~)ZJeop^m~6g2(y~QlO;9%1Aquz${>w z){2t2f{9q4t(68yO2kJAkdFqM^eT0^ln7E28lyZjH%o++tY>?(I}~P<@$ud<=@Jn{ zVT6CV_K@+1%rpb?lXwa$t~}2fy4cygJi zN0VAWL)%Q3(lUkwCE;fq{SG{TUK$KoQeV;RgI3BV2PGNMO4!$d?Jcau$rl$9Pd!Yb80v;L z#I8+v#>VbpQNf1ofkPv-LEiwTkQB;p095+qX!w^vK`iAenFqdts+n(H89ZOa8n*Tl zplA#l!t;uNS-K#1e|Z+;xjI`mY)Z^u9Q8kTzZleNg`eNMc@6@K9b; z@SKJx4M#X>VVDU|IgLFl2iJ-pP3r%P5MDNG^|+qK@Mid@TWwJtvBdstcFL)cR7medg}MBd884*C9E>$?;mVv=Xgq_TEF8e#*AI`HFGNe z6cx=fRzZ{)o?WxEwZ|vUzzK4!yR z1DXrI{umNV{xQVEy0W};ZY!-)Ad7Q0anO!n0On#csT+n+Pp&!+!r{?-9j$V1+@{fHul816Zf%j*~mI{v9|y zudii84)`t(I@T0V1AcOjFN>IWIthB21o{@XyV8o)@y)c&=0c9xHZ4#Rk-|?Cy56@6 zlQ_(Y{J&T1uHs+Od%eI&uR0HkW)O+3sl{lF-T$_ z?vuNfr!KcNPB?mZBIB&ZM1nr+J8^Z^GOno9jLE@<5!At_cs6d-`5z2>q~?*03>}-} zB?!;uzPYeV5vL5=v0Y}HkWAfwtW!$%GVYs$6n-BWJ`>`>8;9YoejIAmNu zd{e=ZTU!%jL1HJ{&}WUZLCZsdn&nMDynD?VRraQOrW^4(MsS0Qj^A;P{Yy*6Lt}@5 zhv8_O#x{t`ZTDQ`CKako9|=SZLZxC&>l3t4mjz9SVZub~My}84*U*>Z!Q?b?O)SC*78~He?ypX(bsnKhT?H=vM zJ?OUD4DD|hffmdlEWAAnqW_)vmTTF}*QhWzNfR`gjjHrx4TGOX{R6c9-G;fN*b*Dk zEvYld6NcU$S;#*ib@m-e{}-QFx(NA+FuQaALd}>n9~5Byb71u(Gh#>MWpBX7YsuCy zzV0QhrM^7SldYt&k2b1sVZ3?-;fj>!iuX2Nn-ny=%y}(CtHLY_ky*+#e zW#KPo%)YyHXMwJLwlZnXhz9%wrzkmdFtGzI8!^=(0d*@@@!HMXb_p+N%qS^~D$uqS z;Qa19)|4h|=vqMayMVxNhcm8d8_Jq~K3V9p*k$ed%# zUqR7DW}*k>0M~&jAC!!8HruI6Qsy=#gend`#U?9P>C2S>atMw`e3f|bkTY9mT$#`l zrpFpu1A3GwHXC}?MCCZHINl#`t!H}G0%r}%s3wtcS5sl7YClYmG`{>Quo`~2=@h}V zBD<{?omu}{9?RM*^(k$?xj6n!g;42lb={8-i*(w+<{#32+Ndw8r|g;D-ZP=(ngW&@ z#oM$5!83dBDM7%d*i=}{(p}@0xuXRPTx*yjcU+q6M%aC6J!($f0vRboo{PWr=C)k# zRRu^p26_IlW^IP2Tco?|-L={bM>p0(>A21pWni6Pj&qTJ8{WGDj@7twvR8K#qESa{ z0g5a0iXvO2<++jUcD>T(Ck&!-Wdx5H?I?YOvnosZNMsyH%_94Zd?8SX)c`01Oxss?UhA)=K z+*Pb8Q32i)CHMC?`OOUokEd7X{2I2671t>9hGNb{O;{nd(lrb?7P9~uqR!qxxhA{1 z6+jL-L8iHK)G7f?$Y2BP92o{pZodJiq!!h!m<=spvt3eAXRY!a54BRPus-;4jPN}r ztW@G>_i)Hr*Js4Lm?-2@insykov#LVnDRlD`gR4*Kl;$4b8+A(Wd4_@zGR@Y2l_e# zEFNpOc}&{u1;p(2#kL%Iqe^Kzs-8l5d3YeaAFJXvyruGiaU&!`0CfqF@)0H)2J)5& z3g|p%zs6O=pEa6NCZuz%86D_`*Li>?Gnk49R>|l{D(``xyn0eD;_R-dWbT6Zz4|Q4 zrwZJ3AGKI*(v9Z*Jr8K*oav_s-7|zcMrx?D!sh0yE0@klkP@@s5lq@lZ=P4?4~ALoJ}fvi=QJT8JwegHs?uZ5xsL$=a~el^JHU$opr z{IgFR@Vo5G05=N1&&hf=5vi@;gFj;gTT7rbgoiCS-H0XXV?f^Q9B*j`vyB7mvvM>M z%>q$VS(&DjR`a%fyp`5jj@*kTI~wH9TXY})e#vNm^{h9CXadsFxEeTkSt5(2Y!gnv zV`9m$5>bhJju|VyGOdbHG$h`y5xXIU!8t`a*2*d&w$!T@PwEfFG}q6oE7Xs^%_}8f zR!Ws@(BtL#+@LP?wr?s&js00p3i%|yVM=IZY~uSeEUdss&5Ce%kpjLI>%e-EZVkXo6%HNPB%R?sZRkTZw@of z)IsCl_0kCN2K0YWDwf!+?Z;n@GOGGuEZ&59<8C)6eoc*Jcm1J*-7KuCGwP=FC(Nqq zbmQTF!{N^;I$hG;Wj{O%QTvVLENh+A@8BT1e#W?EnuHyc7UvxlWiN@p%+JI1=Xk{a z)7cI#>GGeW?9S8oe;od(yv$2LCGv0?FQ2G6kC_pAO_OFXOXswT%hdBUy3)zk#qH!@ zfb3Ji9mkG3^cna+6Ga!8w27KFGc@3y!>?_%VhkD*4Cxl4JDmFSzoNu*hx@jxXZgpy zEde)U16WnI_EM$sikP_yf0*03Wln+iyxkCyV4xn2+hzNGp zvK(lP1%sgl-wOb|BTe40wnI7aZ`34;8s<0#v`#2H)q?ikSAO3_=0 z*98Z^B$LYi1rIzXZnMMwPHZ0!p^lx#JDPEyGkzwAVuFoOrx!=V{L|&xHd_ZQJ z0jybQc=Q`MUX@Fxf{pVa0CI>N2m0D-1=FKildGT%OA0te8w$EvBs8eyyn$XGDJT15 z5u3iWUn(uRM*4e3+8L-FD2bM40l~TEG=RfFC*W!P^p*x#?7c#D9 zcd;&^-Sc5ceYp0|i5IEt@mpid>+(XWW4KDe9rRk3?gxD$)Lg9<$K>=RpbK$oH3o(! zPz)mWJ`h9@Ixo`$Mq0u$#A}IK0jU6`bCF!LWtBv$6$Q5NeB8(No!*AJZ|E&v1l_oa zxI>n!W0RdEeVDi9^vmZvjU0w{bz1PFEr7Aan8w&_$F%II70n}DCI0Idu9KD}dcjGn z<8d3e*Ao~b+(bB{dT4blT>;HyXQ78?w_o%`zr}c=gqM2i$mB!8;ulUzKIZ8AI+TkQ z;|Y7EM2lkM{z}F@Tuxz?%%SeRuqwQH`rhTUHY+T-z2^MAtKp*}4LJCXu1W zbP_$GFtVJlwaoT`+%F=rE-<`+myA{<);@Cq*&MfAD*LpKFMb#`T1aG-3=*R1@yd3F|Jm~yz9#_s(#VyGIe zMK_VT$NTB{t-`K}n$-6WzRw=|s4woR`C(uh-u<5mT)OWDH?g z@?Slgn0uWccoKE46Lu_M+3^!md#7=&GCy!yXdW<@e#CS(!185^zE;L>?Bm|u&G&QC zKb^@NW@>(TCSIhFQ(f!3kEM5zi1fpr-*fmElm^zkf`d{%#!c?kC!rhS8nAg3P0!3sHIk=oxdkU7I*-m93C8 zo9RoF&G#c*hRrLvy{G}+)EF?A*r5z9d2;*TS9Wy3>swy5gX_b&L@UtmLlP-*X!m*$@PQ{6cU=L;f^wRfK(D=z| zWW9+)H;Vz85rz}gI}FmWS%O9e2)-bXOK+hhAb-)hzpBB|xxGs0DwFJfETM^x^EjH2 zCi(q!0E*0e0f#eiM0@~l0(uT8R+HiutNp^9S_tJ7fKEBq>p9F{2-x|a86SK;?*4X2 zfH^D0(q*JqHOhb!QATWTO)Pu-ocUMPH_!f%IeO|2%M}IPpzi`@Rw7Vu2&JeaB@D-A z20=Ie?cY)ScXs5VUOBM^h?M7bI&Kh!O}t%aT%5oQ9^~W}9pWX{EHB@XkYE&(PSeb7 zGGD>jbxv0Bn`C$9gr7CQH1Azj_}>(UOC$Ex7s2^7M$1{Y(O**8N-Oq8KJsyEsP_=A z^q0yGJ!=A~xD}4TdOifRZ+r^A_R$GGUIletyah4%Uxs~=^1Uo}`*agB&lsUHqON|u zhKF=rp(cY6?3mj+#z-aq^vdO7t<&^sf%0uwcKTav3BM}-)ew9*P+wiTa6JJQ3sGp; zjCC3lZ0492qt(=Ag>T~}Kz{O4Z4n}*~aAokT00Q}_GRR_42#G8{M zCd576o~zQ%TdW?Uxh>rc{p<9zro{d0Nk7fsFJa@~cVD*|{$@s*G26&-P8myS%#2a> zg?=GW8*^c%D5o8_xN(KVF_fb_L!GenTM;$=;MhTmz<~lu&|;YooCfJUKCmI;@v*N= zGET;@{;@4a(8FR%{4Q@St&iXd<@?wpdXembm}z8}X&UoDMMI1HCYPY3|H~01#B&EN z{77k`JX33%^@yeDx^D*%T1=)m3;^LcRk-%P#s~2Y^73}RZz#!Qd6UlYzMahk{?1T$ zPe0I=_dVT??qBpr?3@6Kmx14jB?kzi7{C)C`aX}ExdxSyvs!r{p&5+8$R+CU;a>Db z*3$+$enJ<_>Fox&u38TZiQ;^IN1EIZ_i)Di>nqq6J>j>9Xf+c9G9>6x@9Y9P>e@;=LR|_Y5yHW4s5IQeE7mQ70vtCv?V3%%sooF*#_DI_>-?!VsbX4v-88c zy|N;@^=B3atvX}zcf{l2#>V|6DSR!c=WZ*Y z9}A2rd`S-cMW5sZ>gKZ9(T!v<92D53<;P=4x&Z3~B7fGd%x(m4z1<`>TB$Hx<~Rch zFGKeYm!gSm!7vuy-89))O1GUz8q2Xft!KI`5taqCl zRhq9a>~e+pG)ao%g%4LwNth3*PWYb(5npOV^mzDTCDu4N#f(+>n`4<8?_hGZZx_>& zVbVW{9!m)v81Gh)(c`$RuN)-;)`QrO2CY480P9@2E8CT47@^*0h!*|ZclAe58?Cc8 zb#78!@07B3ycP~6UQJ8|Di6Q)< z?&c7(QqyttqFht>A{-Qe#fpH{{bH_&(##*Ul^VXtiGTyF&a!~W6S#rUd2x%>nJVv ziwn#YW7Da1TVG&Xl`vQP{Yk~r|Gc&!aCfKt)1Q&)yVK>Vikrco_I`uu+gaL2C+b`JPlWklZ-1tY9TA-Dss9R)bVT+kz`F|Em)E|9!EtwYA1WSJCsRL<(W zsvWGAT=H2|C)CwPm=(NZ^3=|N++jPhX37VB51KriZhT8xR-ZHqgh78FFD0lm^|Ogtx_TANGvW@H&&5Obur` z2hK7ZOw{uH!MPgIhWF^JZ1b6z3?OdsnToMd1aidtD{#xnN+pW%%Z(ag_4n8nmoxRoRtox=+CG`J26y&s4WHtRCv5Ri@NswvShZosFkhgdfX8svF2O%vNp<2AB}|!~-`IQ*#Dm+Bg#+Ls3$Adub>U||USF?#eKT6b@f?0?BwUwmlF9!jNm#g(uNN?eG?S%q9xj_6CM%<;^_jgFOkl?OD z(8@Ad5eP4bOq0Q^!AiOLhXzUKJ{7ksYBzIN#&5V*1anwZP~>yu7W^punP4NC?&j@q zo=(BB`V@o5F#EUs!0+9~mWOGXe5R9LCH4c$if63P%Gi(tNCI1f6d^MJ&~a`kQ)#ek z6YtJ=1Uh4XCT!#bCGn&bh~*Q@ykzB?<9S!@*-A_(FQ9Fn$`plXp3t>s+ma` zzpB=ChTv1$Jd2PEE9Cw76O(h?#kItT0E~Xzx0HQ8QEoDDe42d8;0;k={BRlZG5>L zJ(x`wqN?NUr@;t$3uaMVy6^jbgjSFZG~B4|QcoC43)KtJx75quiUXsJ2}Bv5Hxeqh zK`_}87s9oQA^1Wis;Oky?;&+eSV{~l_!5L7wO_l*>q9@{QsCM7hffp`cL7)LCls&H zXH~!zuHG5ou`Yr;`N!&>+W0v2;Ij76J%p6@s6(hr;jS55eZzNm;Dqs9WA2^r@J zlsB#Zo@q0{bk-Kr9GAWRPKNZ7Qxha~ckro$z(w1J9N$7RA@ z?|N2T@_^NE@imjH+)SgL7*w=>mP^ABZhG8}d#<2u`VgbAJO3c3$H=wA2&#M&Rhp>w zL)X0v(Rhy<2D*w@@`?dbgB&HE^~H74EPcgq#__nS&vRQ7HdnfikG-#1+niQU!5FJ7 z%W)}uXfu}ZrSIQ~K#~vt*9fN_(6(hq67IG#h%^n3P}&znUU5Z!7Aszy*b<}z|33z3 z;7IzB441sZ4tAVmz;xslTcDowkJI+9f(TfT7eEU2v6Q?S^!lT;{QDQ+O14`5!u9tB zC8#?)kaL#IW|qU+ zy#SM-|4|79kDx>|RU&di(r4Vl9&@ zS)*J%7wnKaN8NnModIosb))wRBK>MrWRSeQTRKZ}#I63s`l>;--|w*G$5P7wBe7Mm z?OQX~BS8M&f;g|(l)UgMj0)4zM{*+PsBG**mq@pXhkARLf?4tB-+uY;!#62=wFeZQ zbI}=(zeYC%X{p-OxtI;lc5+A=^Kg9%IOZwzTh}SL-H`osKA#=G z{3`F~BT3nl-~=nv(|UIB5o~ zRQA{R>o_9$7h6PBNBn-W}~2pDs{UU+T7!{1R$2V#>9m+SD>B zf{H$Gs^gsp?A_KiRN+R&iJ2z%DtO;F>wb^Nn>N^`DT)?^MOJO<_9G2OJ!jc6wQPpi zsvduevLUs^5P$4kfLZ;?3&UdY^Uv<-XOPIJ`u;*ZPbd8{V!gmW73~PRTn%~B8yfsT z#&Xlo7*OlkJl(o)2zBr$A4-Q>bBaZ!5r4S(lI5ZeCwXQ+YW`qE$;5+C4kEyo|i?Z#$hf%tu zK}5P6!J!dB1O^xyDM=|ALb@9%>6D>EknZjd8JeL4q`SM{%lp26|L6U{7Y>F4j_bVk zx%S#?t*y!S7DHvK{PWM7YQk#!K%I~+HbrAdrKSTaX?~x;HKgXjx1M)qsWHw06Cv93 zX8-@`4n&wS2i7{IV86l|O^Njg^^2`&UY!>bAAM!}l@iF7you^Qc+zFn`Tq=-oC=*T z^3~%P{@rOQP)UD;K-k`}ND=t&trxNj=4>)5-EFU<>r(t?4ZG~2 z^cFX&DKavFxMmu&7+QTOOe^E3b7=kB8W%N+?9F1WP4zXo5}+v{RGggvw^V%+0SQc&JyQ8^no2c!lpn# zcnFbXoGUi@)8Yb~W%h;``WV&%UiK}Zg5A*EFq<%mXqE%ZEq9`?j|K&>S|_TQN<mQP^Cj~=6g`T-wJ$dg!8)Pljify6B zhBEf>^vOA|0w*%YX}wr2m(QO2KgK{wf#_TxZZ1L##6Egz@-!}xEv~3+q^*Pl($_NG0k`&GcSG_Y z@`T=y{b+k-ZHL6zqo=lJv~Tmd%0iy}kA~&Jd{obKp{@U@@4{7vS!2ywhJhbo4#FH+ zkdxcJD)aGP-X2*3`ot0M_2kEM+rG!sI_|b37w*Rm_=QYOI51J#;SH|c@k4K^cy*IM ztk10H3@lOst=^=DSsw7syu4S^KM}gjSz}S&e-Mup>U_~0x zPJTrvWb+i>rin9)Cx*+YM5Di?XWX8SPO4bO}E1gYf6jQGY&fkj(!X<#ttW126GDb5}c}2f6@wV6~OyS9LBe>w4Ws0g{ zoIX*LK5*QUs*8l6$hVX21L_Y>+V8sL?aIg1`V>w#s_1SrY}~2oj6LY`G~eR44Nq;j zq7t-?6T66?$iCUzM=8!3-fr+wjZtEcWItkH`56@x_RC= z(L*oT@5!)RJZ8H~-#VrUR1YwY2z7s^5H~e~GUbgEaTq~KKkO8PZ60e0A5yfR00VN! zh#*?=bt&n%@ZA2@5>Fbn4;e`9FGxj8F23SaVJa17a#OQ(&=z&uQgv&e#DLh<)jEL-m3qdrmg^T|l>OH}Em(p(Nr z!d4A-R@b{tTc4ZBoM7skIlRYaMt7~%+gb*ypf${62F1kSG4|#@0Q-aD^ zNsqzW(&jDd2~%!NQE(snd6yPgsH1*=F?g<6C{rg+ei-c&?sx(v>ja}(s%j5wAqEM0 z)N*Fp_cYGg=gN5`#i0q?)2tKduXW!R=w&*7tKqD^V{bSW8a-qDJy-;s8l8!u=t%7u znCdK}=5M(kWc61h0+o5WI&m_1XnwTIejp>vk9y*7NPwy|NhxNnx^)$DV`mHrS4<^t zdbS^63C~(cDg^186a>I3^^!fw8I$yi=PGz9AQ0Z! zu&(;hfRKYdBK13{FAt)!H+-b7^b=_ z>vaRMqhwnbYpJ3|;ot+JZNv^q+4pLfi2a$;Z0dURuu`$Ghc|EZYD?QQM=(>(A*zww z0CS-s;AK2*>N2t?`aPw=`JFegopo_*)cLa^QA#SVF9=FC1yl65grGmworpw&CR)t^ zfr>NjV1P-_MGfW$+-}Z;m5|hLtZFr8P2BUv4Ooq&>+a7zi}*?{h%(m&wbTk|erFY; zuRiN&Qf%0Z{_})C%VHVJOfWmt!v_7xtl7Z={v)L7J;0u)wE{Y=Z`J@`ivqPAbW}D) zNFUs~DJ5s=&V?9csbem=pzOu%E&dQ|Kb77!-fh>XZ`L z0q`0aF@O_7b86wRtKh{2m<=#b75seMk+RL|b;1X%<7R&2;p#siG@BYca{HBzJ*oQ( zBXQCDxCoOat4A0FI&DkwVzI`~YU!x^2YvD{8GFsBwKB?KgSJ;bhF%Blb3?euMAJW{ z%OZh_R&CQJ_=O;4jwrT7l4 z1XZI=V!_I&P{idVqSYR-tcbdx|_Uo!H} z;C9>gaX-PFO6;yr{AT*Xhrd_og}EuCDNKj2(z|H}4{_G_;tMhVM;BJmnmoFM`wip% zse$(#moLcr<7}_jyW6XZO{!7;FN-HF(^GhD4{7rfiBf(Uk6&+=S7qLmZI_EEwP0k- zt8c(LM`pw2!z>|Ze>D7*#2xmozD2FWKX&+2M9n*uJ#PBwI0Zi;qnoVWD0$4ez8m>H zYXiC3X}f|A!zR-V;UeCi>h}uI+pZcz9WmNYnfoTAvTPMKp|K8Cd3}*D#V_LCNmLf8 zO)>9P2ihLWN7Zcs3B^k-v+m;>Vn*_pmj0|@WM{FNG^D?YBr}1PdMHpj)9fSrpq*ja zF7hOlfUNOuN~#(tbheyxsL&EN3bu zh+P1W#8xLxWHhPu%`0aolhyT;Ir*yx?0|u^#Vt}ziw>?~t!q{y-Cd(-kUaZ6%`i!; z=;vrfgKNxU?YpbZ*2}@MrIu^7_4ADT^XXDnWv>STId?mqcyOIvr`JX~unmWxs}Yx# z_LVKIsa9o5nj+O1VlUnlS5ZnWMDX&yLut|TJXvWbzR2dT%7F5AVV7I%+)$4se-XA- zHTZ1sJmQnM>rXz+ z5{rj+vY{wyp@%so8$j*uXmEKoLbab5xYnEDcf0)U4eaalkM4xoIJv9+^sh17j~u?La;O3#Rya z_zO3gj9W)O%+J5Q?%&to<20OymA-Ju{_&wK{Yy9`F&rb`)`(;NcrOC28 zat~T|^>w}iXu#2g_^P--+kk}l)yL!UIw~>GrGQ}Z%Qb-3d$8>lH2>6~sd|t+`*%*y z($;2sCus~pD;C;+Hcg=TW8#)`NZsyT-lu6y{F5u|GA)|ul zy*z%YyMZThu^ayDfZUKG+$btqTQyUv+hh2QeXCnic+PdAfD2Gn_o-%dWy{TqYqLX<#n?S z-wB^t ztLiCYZIJ!17Qt20)cEq}dLGxHWBwB*cT_a(xb&cNuWj3hw1@Pz@lvKv-4Zj-}RcjCxVu(b5@&}d2h#i?q>%RX6I^Vd;Ru?Alu2hOnG>b{LgHP7b;8b zC*Cf4OVCJI@exjT?qB6Ka{n$CvaE|0M<*n%XQl`6sotH<1%fRNUzJ#?EJg* zJ&Co64Bm+sUS^jzX9i5NL_Vxwu!QLlrLS#WzJVlWYq}oD96szRHEOBpod`;nO^1Sx zckk#b>9tO?%niEE(M=#6iZVZ~lEeeJQQsh+qjN2F{WKO!sk6n+iO{~(KyM#WOkk2 zRS9c0dA4APQJbh1S{tfn4xuoh>p?G6_;DbKkQxkEY+A`w(6n6qny~$`s;9v@<xQMK3j11l&gJVosSuO?m8<%SGw0l z!Q{d$ENQLqkn43R*O0!!cOND13C>wa@Hlo|1bj(Y)WPC@k~1KILhX9jm`IbgD+zO# z%lO9SmT>-K48++K!S-6=Wvy9xHKFas$1qSnwby#YQp?GfsV<#>*JaY&D>gI~Mr625u5ed81&b#^SW{V_W^5Tm)M=Px!_qQ^X5dvb6&TTAh7 z&~(}qszvH&(v2sMErs0We|53TpP84V82oZarC9D0KN7{3MRu0Y%MDgC{-==!c!>?A zJ$HeM4X1agQ)XhOXY`vkg>|G4Y4#X0; zY#8$M{Y$TdiH*0z3i=~Cluas64SY5llrB;1t8wJ(dxhR=P(CmE`?bJcI+P;9g9&srZnqpMfC{_NdkLArA0 zdncO4zj`(7JV>sFjsLFcfuo1%+HzTmf1me;y5D;A)h+TjZ;y`daR!`U=E_a?Rcf+- zO2T|c_9~#stH8SSd2QYd&v6aa2Xn|HxR~5)DJtsWAYo)5rnP)OD)4Z*yY#qaX3xa$ zx%nu1)7I9uBz9byW^g-usQ*|bQkVW4Hm9g~qeo{zR*X3>NG^z9v`}NN_)?`LRD`3J zJI4^ZgYtPQ%d7l&M!fkrYQ#Ek^ON{7+{gPg9}kGrs1@)CPtYj_cZ0oQSLky3RrB)S zDrDYs*O)0+ZM63H3j*j6*G;3$2(8Sf;VrB&n>hJ?WB4c z`kHfU;;m(#*b$D^-F5Zf8GgDOp=H)I*H3l2Xgwxm^pxKr7Azmt%kjo%aZ7P6}sR9kE5Z?Pj-U4pj#G({H=`_ji zFb^5|Qwn+9gy#UomVL>?b4hw@^qD{-_C_j)%?OvIhqKVrd?U4cz5wXvwC!(E-c~QV zI%c(27I7zSyNkl{yxp*Q8;*nKhVory=joETCL4-*yWQTBV8qChD38~tLVLZ}E(yGL z@76anf<5d}mWea2lmSFLW@*_TeLL zS1EWVRUBpDZn=Lm1vhIe=mNnoxq-JM7uIIV_%-#+@1CiV$7+DdP2<2^u&reYc>u+8n4-IPy__=X%iNfsE(o<=@L43XTkza z1RVLg{|p|H8648evz1$uqf@@Y^WJMvqWD|NlbM&X31$2(SmM3pOEGJTIxA0itL?q$jDC2?z#LDE)~mF8Wy zawfGsOk*e-mTQ#&AsUwyKAGj<-j6R) zi$AorhL&h=+d%3qfuOu`Ijns|q^2rwk=?*bvPdP_L~GuL_5PhJpe*2R4Z(Zf59aN60P{GWQ>S|U7m5eqVanmtenc` zH>l>8=jtawmGeT4eL}Uv+v$Ckr~)@h^Hj=}*?TG*6E^Dw|8l{0++W^ww- zuT6{|9g0A@Yp8RMfJ<*^l1XAl5Wo4c+jx6IF^_ZN|bTJT*NWHg_ zh3jtr+Hh#+qQd#g-B}YhwkAoPzQJ$1PezyUhL&Jn58JdEhuy8xcNDeMADg!G9%hk4 z=W1d)6UNuPZLT`o=h7BiOG>Z&#a@4k$twr_D)R41@OxU5=M1a+2C7@cxpzGH<`1I2 z9cX*Jd!U_yy)%$F^ae5_*7MrD@3#zm*c{yv>LS%d&K??!xjMU>H4wG zWl_SO@-mG(4uu~wlQug$U^_l+HT=Y=!l+YmCY6X(3*{-pQwcf(BqAh#1}VQ}VobB~ zSlQ5cmbq$E2?!|k<7#@$l6Y?BPgbrgMxa7uk;5liCZ=y_R_!Cvz0Y!65Ks9uI7 zrW^g0voOB(b)L3F@#v2=QpGy&Od zA1om<;W}0Pc!;42AQ!j%%xUY@gMA`{x}NwSa$H#@jx<&pH9|HWRSwuLx&}@qI3!CC zG3QE56va%d)Jeja<$3QLoMsO0oEA%9fNhATLDK?T?S&=U%RcgZ-nYjcRV4*}Q49gr zgB%3%V`?H|CB5JO68F6A@o8U8b0a)qXx?M+oPU>bB=~3EaeV~y2f^TqC@VA}u$l2I znGT|mkuj`fHnK!p3zNt+7(ISK0k^~qHb*P)-R%}Sk_a@^mV5j8FH>ow< zNM8go;{}@IeI<)Lvldyba?FNqul4RTi;&t{r->{II^~+3Z5ZzOa@z+qc_g(sr2H@) zRu?eEiP*k-Hv_{g&%@QNlB@idn7Cxt@^I()?y8`BHk**_VxIB(Ab3Qr|+6uJ+n?@tdO*VlU(l1nJ>rwne6 zC!AbW81=QRA`yWLVY|PLw`oXj8-96n-qma@!Gsb=JP12WBDdp|-R_aVvhKzM9XQ)E z%&7g*fvWOY)(UDJoy6%w#2>9;D^ffn(({L{}(%qW?LNOh$9N!PVfa!2BSo z33&PkYn%-cOtnPP6TQRwkJEojy5o-ck^-+%mG|`GWb$P1t>+lJwJ*Dv`53ZL+@29A zNu~$7$##~7!27Od#WZhHfvkZyoqNoR%zH~9dCA4tPHfI=Td=m^tbqMbN^OTqTSJ$(<3_pj7+Es#e-b@Hevgdte0du(uHEP%u?+JON{_;PE6Uen|dan-V2{x|A;JCI6#>yI3vx*7ssFauTxe@`c!Q*@dmpkB7f2yXG2dn%(k>ZN~9mOkGEV)BuOpj|cQ- z>0iL3s-cYXIW%}YT7JCQK-5yAw>|7$a(ms4{qVV+ou;y~7CG&Hyo(aQ+g+l9#>FR( z!A>TPwM*QF-&4n&`YOlm-#pnc9I=Afo*dz2C2fwEwYiuGX3gK{TzWr7MO`efhos?! z#iWMK_LPGLwmyu(s)tWWAi2f>y*b@^%6e)Ge~GOmdA1~y%rMz;{!Yv7zWf=?F`)|i zXDPJ>;fj2SQ*Pyb-DmXOa1X-Q!TlzG^7$|)Qi-xH*>w^Vtl2Hq$ASY0dh&?F>+>PU zcIkl}qL`ZB125fnWbxB3Uh7{wbe4aWK1fmYQ}>RDjjqc*l9W%^Rkgt{A)i-kGcBn6 zq;HX4I~}1x0}TqoHG2wPz~F5b{VPdi+d#f+T;WQB6m!Na5O8*A$`*EF&usECZc?4Aw@c7xKX7RBEMv z=HGHQO~xKrzmVjJj(%6umDO9(SUb=gQB@+QE0Qfwq1wbBv9};vVSBpQ0l^OD=UN06k-C2OX{UpYXD} zK4L^XQ}T!v{G=2*KO%b7^>{jVDDM53$HB- z-So0VXg@cq|N3qD_du=0-QaLUciCji@q>)`ZEuW#x5xJ7<8jB~8}Gw;mrTZf1Th1& zv-)Uow&&w)o$<8IZWO@QfZxw`KGhDk zJq7bAfBjp_rx=!TjZcqtsg@GNnbrAO;s(o92u~7;^(`8na#l!sFcrgF(=qkhT_61}iT#18CePjxGudfK5DVWnVg~R8M4Tr6RBCn>R8Ui#X zZjo07T+uJsWBW?&vd^^^So^ERu;YGivUfvmpyxgqqp6z z|FXTiTUheC3tqa1dsBb(`}4P2KCMsIA_}rAEDpWotzarWs{f(g_`xo-q=Fv+qel!T zvC$vJ1Cw{rLnLlQRanM*0+=wtpRmB3!VsjPgrBS?<>|th$4&&SqdrA&>6>u3^gy7x zr3S9uWGUO-M>AqRN`Hy-)j4r2)+3brG$-zu@=aj@>T)0bX&LR(1I6ux2kL@3OL9-3@&CcnYDUJHSBD*l zYD8qbrXL8>ArZ%-$h)MajpU2|>lXbF=4mT2sW~C#fxC<3rewDh&9JxBt4_s`ff-*q z-Pi1|Vk};He-%y$d_#cL`kvH9VpJca2IPTV?DduZEI&l*`4~MEYfRM^2XlPwP^MKX ze$@x!?OH)x9J)w~5V{T1_@ug)NX%*cj1AcS(tlxZx1;^pL?qxWXkA5E71AvInyyAKyM{rFCwp@<}T^^^06KxqUf4$lC(4Lr2vjI`kTV^^kZ8>vkJPB{mwH z(dsYD3$vkr-7zw_*D5!yY;?#gg|=qd>Z(0PZul*5(tGGI*;u5{O}}nxGqUkn`2Dam zd!JQ6fxPO`(ly-_Cqg-9jW|I46{M}Un_FR|U?BEURY-XaLfW{xOKI`LFoNM-aXZW; z)>&AoDb`bKLaxMZXzDG;xu4;&Tj!Cl@G;@jA!Y+{WjnJ!2`=83hldYW9tNUr?7y+F z1^NnpJ>Fh}oi@9Kg~N$zgT`T7Fo_q@CzvlLhU5MLj3bVOq|N3nya3`1B-k_7xn|8y+P4DspO{09rJj6lDlT?Y<0ficnA zf|tK0iq_`76nq#(P#jQc3zAa_O%lvcjJ6Q(rC!!5h*0zbatRtBndyid3c)uooJ`?$ zSKay|P*0?lY6t-X3ECuKad)JdwjaXya8`(QC$f6dDwvvOOJ;Q~-eF16;p{FD&};Eo zp7ad$1Ln$p*t+-G()WR2@2`vauMDAyf;VAr^bi~dp&(92#4Fx(H7G=>a!96Fh+&wE zp9}c{n*b&7bSW+2F39cd1<<6%5Jv57;a=JO5KY{$55$r_q5cVSS$^Cb1CJYjfU z=0*JUYfLwJEbi*HCdTz*3-~TYQ<5YWRHqP)6L3}l**ZL40zKkLS7<=wiqc>RAcb^f zJR7d3`lhzIH640@vPZ~9&!+rc!&I9N*bxS;&-BlGbO(G~imU=2A)w__m0lQt=UI3e z@k6wqUZIP-zf#?Zh#y4ky+?3VcYX(t!NPf~bk&HNcYh^>#({p!!M25|c|+nd@tGID zpP+nt0fki~QnL|O8QgJH?!jJ|j$B*wn--hzkheX3jZ(ipbVyF|C^~H-GZaWC>&R5H z6oWTyr?rUE)U(uzjCG~Vqh6#|sJi^#1MA!&*ZzsFGL!mAeOaS$BVxuT07v(z4WgTW zcl<-y(%j;U<`-8@Lz5(1lOz|{d=JBcza#U-9|HoG_@a`t3g2oUg!9ZZ?3*< z2JqD`QfWNX9x{Vm`)ad8^#e*mn`qi$vYTtQTAyo)yQ|WpF9;?1jk#nqR9S#H;RXpn z`qPgvGJ)?Fub{=iREET2K?M0$AgJX(@cHi(5@!Z$ZM7p0kDUil;7N?61}eE0f)%`I z)CF5!F`;n_V7Adelf6!Sr?tBq{1>{O3I)}?!o4FAI z^Uoi58P+&in@3~Y665pVL(?&$eg~E`h)oJ@S|`hWf)73+IukWileFNT9%4(;fQNipoN;XVf;@h~d>Gd<$nJ+3`t%WL>K5QgZZcq;Z z5s%%7X2nKM1l4;)bC(9UKpqBd6?5V?AszeK{fXLvlNp^XZxjSoCCcn z-yq4BPd|VM{(Yh20#~fQ9c^KKCspB-RvK!wx4lEo@(-K>VB#F3k%JrhzYpAvQ2(6a z?(3iaRM+JCVqjE_9b@acWX;MkUx@(s>#DkDF_v+%;uRJ*n0oyDG(0c5T}WLsg`+DO zfZ_0^Jv^RVHu-HbE6)!U)jV{XK@KP8h|<7gB1`z20QT?_@>d=eyrxiTj!D=Su2D{r z(%~LS$!tV%1662TO`c?O(kFQMiV12m=@=}zCm8{2!GcPPh$R~;9FI1slecmrh+pz+ zM0~gGRd8Bm`i-iB5Y?L#)}7-wx60si9-{xrJ8yQ*$=8_2s@KIZ#LndWhS*gNb@Y0) zEi&9SUWD2rrFsyCWvU+uXv%vuCPY3-yEG5Qy}m`~=%9t3hqTxXjR`JWrP(_vGzknh zHf{VCJ1t#AHFxbGNUsatEb($6=}*$lgQqb467G}NmBEeZx@qi)E%aM?TiH*+?RZHB zV6#EmZ$K2ZeBluL-@&&r{Ea2Vjwk=M?k&`&&GF_ztz*5` zm=t={Ooc{?BmRy-jzdmNkm0SUw0MNFfVs;`SP_kn|JzOD`K?CD?+v6L_9t6%@`z91rn!PYB1vug9?|*8w24HKE76Y&^ecT8BZ;OHu*lC-|cgX7< zwDN#le*b5U(QgFrXJ|^Llj1DD;ygb@w<(XkF^^MkVm&2)h@ygfUM2!ge-lKj$Ej*o zSkJ4n_Kggq;;E)p3%%UIom8j~rApp7tde)SA2uoc+!(HJ2|rs2PZZ7>?2X4m`IR~< zQA)>RC>4q#eM;xunwGuk#}?=KW^{X&(R6$`7*4V;?lQ(|_UN0UA_qw+^94BoE!$t{ zbN7)kYlpCtQy{M#%(Ac=P(L-{nhXxPu&>WPe^;k1*D2Yo|L;$(fv>=_o#N+LvcmV0 zU)lkh-$79pEmyV$`nU)D!T-I2KAfy%9WalPaE{+EsDx$+7QU7Uty-slK}5_H26J?% zyWz7EUGr*h$Qzn6g;NpG8aaORb&CZ6D@SE7diODLUlx{!3Ml&Z}njo?3iRhUKo?aqN)HKU6m z9=$HkT+46T zRz&HcbU^E`gfU2^Rt`i=eoD+^kNdZ`IzhzRU-lsP0oID)r599hMhRx8Mr)p1W*qZJ zh(Lp_H3AX`O@vgLPJRfe?1a*XON##?mB8Fpmxu?KgnA`+z+RY2hgA?%X~nTrVX!;6 zL17+nM`9)}|J4R-~T`@4*e*&>HClWHb#iz$$e)2xFSqEkGX zKSP+HIlO3Lbxk#TOKScZZtzBte^mK-I=irRhZy|8AReh7sqIEPz9M@ad_3yvZxwjxUY zsfc)x;R_kL6zT8?t;F+yo5m-4)`huj+AkG|QCGB*$DX>Nu&eQ-0D6JtXeFo_G4sNU zwZM0TK#npg^EM7G!lZ}X#k!th)LW$!PxL@2E6pzVLvsDR5xMD#^?1|l+;OZL)#C~J zU2eJ;LRj5M`>y_B<}d8<>WQ?VDoF-9;eMblFK_Z;Cfrx-^b!kQzD(azLQRVQ)JD1o z9_jrZ7i|?b7l!MTWufN1Wc|6q@o#yq=de2X=R*G8$Iz^iIpQmmnUQ?ju8~d@#>qMw z9$OfF_{DROs^0j&*Sw9B726QLnhmN$o6i%&{S*nKg<53(&fvL?;f>+0;6RPfe-$9# z9csr?j_gj5#;HS>jn6Q}P(wpX`^1Gqie~l8P=UmN;$o&M69&+^_L&M8QD#;%snQS{ zagWo+8Yd&&WeNi7!n zF&!#sw5#DOh|PX8TKkoV%tLC^cV0#!wH~{33-SUG$Bqw5e6pC)0vQ*RgC--%cY1Np zS8sway}B4Ar+Ko9GDfE&=uH#VqlklpzOkYA32e&+2HvYyBWz z9Vi=`L!LMvi)6mRuvTc1!Di&H7-ow=!6h?p0_(dk?aE&Zs79xi9j6LncTB(<*@Dlx zvCaaxTPmK?>im%$#3`%0EU8lwLn3`n$9@}2$I3?rwRxZ?$IrKbzh3E1k^BsqO>^z? z7p$la6})YS(F~Wf3}X=H_s!lGrwpGn9{U-(eZa6LZp{6Lg~lOIqqEi7KNyIsYCG@P zma~(w;Fu>JYAb~5xb8a=P0SuU1`Du+Ql-thP2&c0rwX3N^Y@&nxB_J#DCP|iNfgm8 zf25Ym=S~O7fzPp|O*8M?R~KolhGPQ(YNjfCmywy0N9ihb!bre&<)32(5GhJ#glww^ z(W67D=%s&Bm2IT`5{Z9CZ9MCv>v>V)^e>w?@JW8q`}ZSHc(IUuIbUUwH($lZPZLNS zxBkZa)^HWm(sr1N34CZJUic+2t;A=Jl*I7b!6_kBALOV#r-SaqfU+K+6l31wVL?0b z7RzUe@(_;a+efm)#=J^RBqLmC2Pm@KDA=#q-A06Ye$1TGu$3!!!q`z~2XeJ|g|wyn zXM=L%-ppJ9@(T=wsmPMgU+AH|M&+esbra}l?XV8oag_Pgd4SyI~Bs#uk{kalmBb%IL(Tm(??a;W;W@P0G{D8p2u@{I&wX)8=Jx4* zx>goGr=tv3G%sZ(Xj;Xmalwwu&K1`07ao4#Op}k&iWN= zAFYETx}Ol4BGK|zIC}_79bCWQC{~$=Yom(_UD3x_`(>$lnSpgO;{^ZFi7W|^9o-=6 zl!JCc%4cBpo3xfr7m6afBSJ-Oht6Ig*g8O@ElsY{bjFLre)apd>5ACwT z;9UxvfiMR3TCOa;<|QU^sS~fd9+g(G_H~Wozo^j720Z&t#@<=l1>_6Lj|QcI-jQ@L zXidx;gvDc4hSNC?WBke7+Na|WQcJ&Ajwojn<}XNFH1YVvs(x!Zu`ZIK(l zsj8jvC-4fxJ)U$uXYI(E9~Z`&B4%9vNMHguk90!FJ?uwJD&RT~*3sq#RyPC2AiGio zOh?8{V?z!|I|uXAlQ1ueFpfU@Uf8N1hHX~};-&|7q`baT4QltzvLD5N$r~7iqtSJ< zL*NAuX>}&f>WZHXk5`ZKk8M>#ijHq}ud zRDUB(5Fc9NmgaU^gJA{vD!3kzS#36FO_%Pe3@l;|MMYZ)M0o81p?xAGKuBfv?1EE= z-f6nwRO(q(GqbvT4cy|31s=52-_q8d>O*rhA?Fhd-XK0HpmgI{UNq zE8RvaJ9Rm1sr-&`|&Sg@;D!pht?t^{IaG{m#rIn17 ziYat#sAvhV??~afibeAo$Co8%L&xcmP)Q|DlLb#HgDuK)?K1_V*-lo?J2CH3OSSy? zutwsTUF0RxFOYcZiF+8G^qq5GHEy$_ABEch1J*9zQde%4I3V6nknX+K^BxSB_}^=o zuG#(Z@BJ~ZcyWArZ?X1}v?ju65%IqZ?#fV_tAgpMc~*ozxRE{Cjk7Ot`}SfV4UBB1 z;K}9h2WN*-O#A6nwUeR&dQN81yhtnbPBf#_DoK_krUV5Vk=DI4C7qOk$X*h)_Q{vS z_Fpyuf?4ZuM+Q+H6cl)aISb>Pgyj#H?xoNCAKl_c$QH+=CXZ#5Q+^HVC`-0v!?tY< z#Do(4Uvusq7F#|+S3B$d8-&hwtU_qihn93-mca^(#jQwjtZ%ihs`_@ z>y#cV&>n`3o<`5YREG+Lsegi=%wn-=ht;K%4h|BRYWf*%&Ii?*w!6If8`o`Pg5o`}+vP%-SVFh(+joxNz+ADefs)W50a;R?dx0>4jkl z(dDMm;S*b{quXhvKmJ}Y^Hd984+EU>e2NpXhX%$IqU`tsXHTKH6vc;L5Ojqiy7QkE z?xK4>TaKJt@X9#=(t_$xNAOTC(fy0xGWHiQk$qfpX&M$P%HQYoZ;=;G-l7$G5%rP8 zXh$Iu1)R({%p$y_(3)FfIWxhdGWBYDyedbe#`ep_)!o6wZRE%L{e%1(*2JiP8+)K1 z_#B7-u9Q4peAH%!K=Zch;LoLsBpVkYJ~ftEd>FULy{H+4u(kJqm^2)!VOo$R5z%1M(1&O z(uv-LIO9+ZjlR*=L%g1v_E?5K>RS^%?(+`w3V4M~r&l;*#i& zSPUFX;<<_IeT(I*kD*|J|KtV*?X2U8o~ay}?DpLNp~2H2na=w-V_lF5)PQ#QL-8w| z1Cp4&OtZJ5VuT_@;~g*2w4w>GzGtx?U=Ycr2FixYV_#T&UqJ~=^?LsdN1wPDTPQ;w zF9ZeoFjuDdghkT)6N;yzG*g9I&H~1EzXg=no}^r*`=&kg>48TFaI|{yIql@Tk^HiW ze3bo`Fwq!wF-iUTp9!JH2z;wfTCYOa0q^T%UPh~tSIan-S`;wrQ_0R21-C@RO{JZd zw1~K)P@HOrvhIOCf531#aN47qTkFJg}iMXSv<5aduari4otPfp;u z-pYF&s~TiaX0YJW*fB*Uuzrf>F=V(wQ4Jc5ry`KuxyMZ7&N{u=6=m_ad-<-}_&x-o z;@m(iX91Tn&}q-cVUJ`W6!=dWbFG`o*BkEcJFwfdVAjY)BENAbng3ie)s=> zuJb?Fb)9o8<}OtIXq6Jnba&WAVqb#zyJu>WmGqbyIRmYzCN0R&ZNlmI>!P2kDj8;W z?40YrrpJ~okDx(Wcf^W@_=qcZUIuckLojXMt)jNV?L(@#FaTzN{823)TVRV?-6xyR3-Z{(6Jqb6oG$u5kFlm7aZh8wAEeG$@H@*;DMSjJ`iV3 zR)*CzOygox+u~?+a)to+XSKp#3yM6wx?QX?$km+bp-kx{4(dvfXo@og)k!&R6pIpD zUM?Uy3YU8qj6KRiF2)QZg}7+c?4`Gp!mD&vqKrN)6*0XK zn;yssYi3gx)_vP41CpkSV4`?obeW2hxuXzMauPAfA-i`#pAj6+gr+n63cN7h71_+} zqMMa(@T$*C<6#m_fb@*zCnevUAQ7f)r<@V>?|A124ERbLfxpBbg-~eTt$gpjr0Hv% zb0g@g-3^ME(olEXc2yQLi;_1?>W5T>7ruvHcTbY)2RlxlwfNX9I29D-m&uvDa^d&J z`Pp8Dz|`%#3>6oiaMIQE{t1rp55N3A!E)*2aNYwYl4_U{!FdLG zXY|<_gPkB^b0Azo__pi!aB8!F@2`vxkXpRR#Eza>zlgw3k*WB~B90>i7&zX7WXwpn zl7IWYz7ANI|JA)P7#&#P+BJP!Y=~a2$OvxT98;iULOI6{tLG()x1C!=)vD{(B?oUk zeP>GDD!(0Tr);HER7AzB3`=-XTO;E}M-BziTs~FLgk%ku&@`q?`T}|dx3!N~42HCh zzH=he7AgJyT4cl`pMnheF;(oUWO!%L=WG^MopS=M%IcSF28?t$S+dHL%;?DkKwZ2# zsp5$aIbdPSJIvB9f(!F9-shwAn>Q)U)5x*bA-DAyk+S9{{L!6_%=b*6n@cE;8wdcj z=Vn3dfFW^)T}0%4{8Ada@Ug9GP)H`$@L<6KDPLFuSXmJ|l9TYQnXib6-Hz15k0ZbS z{+y~Wi^JU==D&j=0~6|j#O&ps1td7{%>aZ8xa@ogA2}5&CxGKuxu{Yo|M1^H@~s=X zd%cx9iq`t+`E$~gBepHYO>Qh_s1f_tQ9+Ko9=?vG!==lT*V@MDtFnI3!q5fz!5B;6 zauJueDdXkvFp!$2mch3;LsWKCn!8w-Fq)OSgk{f_fUkw`8hkfY_cYCCx(SfA>cElC%=&9i= z=s73CoQTEzog#xXY zkYx}ld&8ntG9u_dhW##p>EeU-`vRnDsDhNm zLOL&2tPf?68tjK1XHOVPIlUnVhlKUL7X>I^vgcm5yIej`j9|hivUwgB_@MVL46ZE( zl5~&VUh_u&K|Y@E&;&%(K}cxJGld+>>F&_NcVD8K;GNdV+<7(^5*^e#vOl|t!~JFK z1nzr;=#IF(E1dpw1XD9GhICbPG4pY9cfrjJObm`%BGyqWQ(!&Cz>%PS1wyOYuR=46 zJR@Sodip&TsobpE%rEfkvd zTl%iGTE+uzLr=e>&}eOuyI2O1Z;VmY?wB{2uh-yJf7B06AxcYqDoY=Oor$*H$))1C z`$d8yIRVbaAjVvJq2rYA^zMCnRph$}+}%C4#*)a|I`&Y$RQBj8S0}cHY*9Gpq!69h z7tE%S+G&N z37@F>N@{MYVPYlRU}vLkguU+S8RK3;rQbX;!1r{!F}&u70}b+Z8@@l$qx7fC6ZOz2 z!~cW_61csHTnk!V#xvr9fz#h(eMq?^huXo+^z=qYhgS|B&t~!XQxmr@;#M^AD|%M( zCI?S)fT`ope8p>pfl&?XkMMHZg%gdg3cPzn>#9>Iv|K%TK!VzCxl}4X~+H~_1YAi*jHznp9i0ohkJP2tq}%#dey3Ah2lxXh-yxr zTeeQHR$~p|!KKZvvI|f-oLLF?E>b4w+TrjMNKdF*_nS9{X390j3}qJ_`W@5`XprwM zlE0zuu&y#X$pR<2V{~&Si+aA94rd1r;_gHx?Js{IDtevFrtrhCH5`!rKmINod*Yywa;E?7$2r$Crr)F` zQJRjx_u1T+#fsL$byP^2qx#T4vZC9j!FIS}`t6GLXt~~@ErX+1e56PgcSeMH2r;4e zGxRs^m)DSi|@qC?|*q!C*SkHd_&oUof0kJ+&ScO)yEtDT0lrz+1oio%O`P8oi^PS zH_fSVw)U8ZhEOAqqD0;6B4j^&-Jk8HxO_f zeEahnQo+Y{Qm38b(}Cc0+kMfq+Q1>i^3(lKRx;_2QsUv8W^~X=FG`rjL*|{aCw~Y( zeu|NC(KS7Xe82@aWg{tJY$T9={{Oy^B>r=E%jWQ#%~Ax4I6QK~8@*NevOIWWFr_bO zV-&dVx4E#Q5kGk{Fq_E8D<6E?^ayg>WBceth$yfNK$*>b(^u#klbP_bw-G1MKDUhQ z230z{b;|aXHHb+U*BhB2m6379QHA+ohnv($4`#U5SWFYkE!fi|idO-8ngy2P zRoWS-1oA2RVWW|20S6h>R<(pZGd>vhW=>Ce@Vr#R4u1XbxoVcQ*RfHA7kcSBYg?Jk zspxf9hY`r7clWKX60VGCs%SSR7?pO9Q^*+Gb5lf*}TMIhZzpx9pk=mC|fQ zu}7*Xl>Sh|GgTUSQq)+osbz>K$IF*-=Ve^LD1&d}n$y5+y{>e9#nUk%{otMEM^e+onXRQY*a2>zlu1FWeE}%%_Bs)_hQsLbKBc(Z&#*UI zJN0RE;O~nWkj_ep72+s)%oP}1E;5X&t$R{`!gEcVwB%e^+2ZJ*I_;^W>;C}T%caiP z>-xme0NrSlwF+G9w>rj--%EvUd_B$5tqdeZ`Mo&VKR-6BS^J}+opY(EaV@Q17#CB{ z0PXzf`VVA?Oh!fq&;+TN(4F}P|EFP!efKGK{^NRLqhpN< PsUexBx*n)Z)jI57ybGl$ literal 0 HcmV?d00001 From dbbda1fbd2f4bb5155baf93cc2949a5b8044321b Mon Sep 17 00:00:00 2001 From: qianming Date: Thu, 29 Dec 2022 13:57:14 +0800 Subject: [PATCH 06/86] =?UTF-8?q?bugfix--=E6=9F=B1=E7=8A=B6=E5=9B=BE?= =?UTF-8?q?=E6=B8=90=E5=8F=98=E8=89=B2=E6=8F=90=E7=A4=BA=E8=AF=AD=E4=B8=8D?= =?UTF-8?q?=E7=94=9F=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../designer/widget/bar/widgetGradientColorBarchart.vue | 1 + 1 file changed, 1 insertion(+) diff --git a/report-ui/src/views/bigscreenDesigner/designer/widget/bar/widgetGradientColorBarchart.vue b/report-ui/src/views/bigscreenDesigner/designer/widget/bar/widgetGradientColorBarchart.vue index 02165bce..bbd7e93b 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/widget/bar/widgetGradientColorBarchart.vue +++ b/report-ui/src/views/bigscreenDesigner/designer/widget/bar/widgetGradientColorBarchart.vue @@ -167,6 +167,7 @@ export default { this.setOptionsX(); this.setOptionsY(); this.setOptionsTop(); + this.setOptionsTooltip(); this.setOptionsMargin(); this.setOptionsColor(); this.setOptionsData(); From 8348691e283723d65ff0d3bcd35e4d367efb3d0e Mon Sep 17 00:00:00 2001 From: qianlishi Date: Mon, 9 Jan 2023 10:08:44 +0800 Subject: [PATCH 07/86] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BA=8B=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/MonacoEditor/index.vue | 132 ++++++++++++++++++ .../util/javascript-completion.js | 38 +++++ .../MonacoEditor/util/log-language.js | 58 ++++++++ .../MonacoEditor/util/sql-completion.js | 82 +++++++++++ .../designer/components/dynamicForm.vue | 81 +++++++---- .../bigscreenDesigner/designer/index.vue | 12 ++ .../configure/barCharts/widget-barchart.js | 73 ++++++---- 7 files changed, 422 insertions(+), 54 deletions(-) create mode 100644 report-ui/src/components/MonacoEditor/index.vue create mode 100644 report-ui/src/components/MonacoEditor/util/javascript-completion.js create mode 100644 report-ui/src/components/MonacoEditor/util/log-language.js create mode 100644 report-ui/src/components/MonacoEditor/util/sql-completion.js diff --git a/report-ui/src/components/MonacoEditor/index.vue b/report-ui/src/components/MonacoEditor/index.vue new file mode 100644 index 00000000..8f5325b1 --- /dev/null +++ b/report-ui/src/components/MonacoEditor/index.vue @@ -0,0 +1,132 @@ + + + + + diff --git a/report-ui/src/components/MonacoEditor/util/javascript-completion.js b/report-ui/src/components/MonacoEditor/util/javascript-completion.js new file mode 100644 index 00000000..3999cc29 --- /dev/null +++ b/report-ui/src/components/MonacoEditor/util/javascript-completion.js @@ -0,0 +1,38 @@ +import * as monaco from 'monaco-editor' +// js 有内置提示 +function createCompleter(getExtraHints) { + const createSuggestions = function (model, textUntilPosition) { + let text = model.getValue(); + textUntilPosition = textUntilPosition.replace(/[\*\[\]@\$\(\)]/g, "").replace(/(\s+|\.)/g, " "); + let arr = textUntilPosition.split(/[\s;]/); + let activeStr = arr[arr.length - 1]; + let len = activeStr.length; + let rexp = new RegExp("([^\\w]|^)" + activeStr + "\\w*", "gim"); + let match = text.match(rexp); + let mergeHints = Array.from(new Set([...getExtraHints(model)])) + .sort() + .filter(ele => { + let rexp = new RegExp(ele.substr(0, len), "gim"); + return (match && match.length === 1 && ele === activeStr) || + ele.length === 1 ? false : activeStr.match(rexp); + }); + return mergeHints.map(ele => ({ + label: ele, + kind: monaco.languages.CompletionItemKind.Text, + documentation: ele, + insertText: ele + })); + }; + return { + provideCompletionItems(model, position) { + let textUntilPosition = model.getValueInRange({ + startLineNumber: position.lineNumber, + startColumn: 1, + endLineNumber: position.lineNumber, + endColumn: position.column + }); + return { suggestions: createSuggestions(model, textUntilPosition) }; + } + } +} +export default createCompleter; \ No newline at end of file diff --git a/report-ui/src/components/MonacoEditor/util/log-language.js b/report-ui/src/components/MonacoEditor/util/log-language.js new file mode 100644 index 00000000..a3db9c6b --- /dev/null +++ b/report-ui/src/components/MonacoEditor/util/log-language.js @@ -0,0 +1,58 @@ +function registerLanguage(monaco) { + monaco.languages.register({ + id: "log" + }); + monaco.languages.setMonarchTokensProvider("log", { + tokenizer: { + root: [ + [/(^[=a-zA-Z].*|\d\s.*)/, "log-normal"], + [/\sERROR\s.*/, "log-error"], + [/\sWARN\s.*/, "log-warn"], + [/\sINFO\s.*/, "log-info"], + [ + /^([0-9]{4}||[0-9]{2})-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}(.[0-9]{3})?/, + "log-date", + ], + [ + /^[0-9]{2}\/[0-9]{2}\/[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}(.[0-9]{3})?/, + "log-date", + ], + [/(^\*\*Waiting queue:.*)/, "log-info"], + [/(^\*\*result tips:.*)/, "log-info"], + ], + }, + }); + monaco.editor.defineTheme("log", { + base: "vs", + inherit: true, + rules: [{ + token: "log-info", + foreground: "4b71ca" + }, + { + token: "log-error", + foreground: "ff0000", + fontStyle: "bold" + }, + { + token: "log-warn", + foreground: "FFA500" + }, + { + token: "log-date", + foreground: "008800" + }, + { + token: "log-normal", + foreground: "808080" + }, + ], + colors: { + "editor.lineHighlightBackground": "#ffffff", + "editorGutter.background": "#f7f7f7", + }, + }); + + } + + export default registerLanguage; \ No newline at end of file diff --git a/report-ui/src/components/MonacoEditor/util/sql-completion.js b/report-ui/src/components/MonacoEditor/util/sql-completion.js new file mode 100644 index 00000000..9ebcc029 --- /dev/null +++ b/report-ui/src/components/MonacoEditor/util/sql-completion.js @@ -0,0 +1,82 @@ +import * as monaco from 'monaco-editor' +const hints = [ + "SELECT", + "INSERT", + "DELETE", + "UPDATE", + "CREATE TABLE", + "DROP TABLE", + "ALTER TABLE", + "CREATE VIEW", + "DROP VIEW", + "CREATE INDEX", + "DROP INDEX", + "CREATE PROCEDURE", + "DROP PROCEDURE", + "CREATE TRIGGER", + "DROP TRIGGER", + "CREATE SCHEMA", + "DROP SCHEMA", + "CREATE DOMAIN", + "ALTER DOMAIN", + "DROP DOMAIN", + "GRANT", + "DENY", + "REVOKE", + "COMMIT", + "ROLLBACK", + "SET TRANSACTION", + "DECLARE", + "EXPLAN", + "OPEN", + "FETCH", + "CLOSE", + "PREPARE", + "EXECUTE", + "DESCRIBE", + "FROM", + "ORDER BY"] +function createCompleter(getExtraHints) { + const createSuggestions = function (model, textUntilPosition) { + let text = model.getValue(); + textUntilPosition = textUntilPosition.replace(/[\*\[\]@\$\(\)]/g, "").replace(/(\s+|\.)/g, " "); + let arr = textUntilPosition.split(/[\s;]/); + let activeStr = arr[arr.length - 1]; + let len = activeStr.length; + let rexp = new RegExp("([^\\w]|^)" + activeStr + "\\w*", "gim"); + let match = text.match(rexp); + let textHints = !match ? [] : + match.map(ele => { + let rexp = new RegExp(activeStr, "gim"); + let search = ele.search(rexp); + return ele.substr(search); + }); + let mergeHints = Array.from(new Set([...hints, ...textHints, ...getExtraHints(model)])) + .sort() + .filter(ele => { + let rexp = new RegExp(ele.substr(0, len), "gim"); + return (match && match.length === 1 && ele === activeStr) || + ele.length === 1 ? false : activeStr.match(rexp); + }); + return mergeHints.map(ele => ({ + label: ele, + kind: hints.indexOf(ele) > -1 ? + monaco.languages.CompletionItemKind.Keyword : + monaco.languages.CompletionItemKind.Text, + documentation: ele, + insertText: ele + })); + }; + return { + provideCompletionItems(model, position) { + let textUntilPosition = model.getValueInRange({ + startLineNumber: position.lineNumber, + startColumn: 1, + endLineNumber: position.lineNumber, + endColumn: position.column + }); + return { suggestions: createSuggestions(model, textUntilPosition) }; + } + } +} +export default createCompleter; diff --git a/report-ui/src/views/bigscreenDesigner/designer/components/dynamicForm.vue b/report-ui/src/views/bigscreenDesigner/designer/components/dynamicForm.vue index 587cf649..ca74cb6d 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/components/dynamicForm.vue +++ b/report-ui/src/views/bigscreenDesigner/designer/components/dynamicForm.vue @@ -12,8 +12,8 @@ 编辑 + 添加事件 + 确 定 + + + + + 取 消 + 确 定 + + + @change="changed($event, item.name)" + />

    @@ -169,7 +195,7 @@ {} - } + default: () => {}, + }, }, data() { return { formData: {}, inputShow: {}, // 控制表单是否显示 dialogVisibleStaticData: false, + methodsVisible: false, validationRules: "", optionsJavascript: { mode: "text/javascript", @@ -318,9 +347,9 @@ export default { styleActiveLine: true, // 高亮选中行 hintOptions: { - completeSingle: true // 当匹配只有一项的时候是否自动补全 - } - } + completeSingle: true, // 当匹配只有一项的时候是否自动补全 + }, + }, }; }, watch: { @@ -330,7 +359,7 @@ export default { options(val) { this.setDefaultValue(); this.isShowData(); - } + }, }, created() { this.isShowData(); @@ -365,6 +394,7 @@ export default { saveData() { this.$emit("onChanged", this.formData); this.dialogVisibleStaticData = false; + this.methodsVisible = false; }, // 静态数据 addStaticData() { @@ -372,6 +402,7 @@ export default { }, handleClose() { this.dialogVisibleStaticData = false; + this.methodsVisible = false; }, // 组件属性 数据是否展示动态还是静态数据 isShowData() { @@ -386,7 +417,7 @@ export default { data.push(this.options[i]); } } - data.forEach(el => { + data.forEach((el) => { if (el.relactiveDomValue != currentData.value) { this.inputShow[el.name] = false; } @@ -404,7 +435,7 @@ export default { } else if (Object.prototype.toString.call(obj) == "[object Array]") { for (let j = 0; j < obj.length; j++) { const list = obj[j].list; - list.forEach(el => { + list.forEach((el) => { this.formData[el.name] = el.value; }); } @@ -416,8 +447,8 @@ export default { // 是否显示 那种格式 isShowForm(val, type) { return Object.prototype.toString.call(val) == type; - } - } + }, + }, }; diff --git a/report-ui/src/views/bigscreenDesigner/designer/index.vue b/report-ui/src/views/bigscreenDesigner/designer/index.vue index 124df5eb..ab0e65f2 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/index.vue +++ b/report-ui/src/views/bigscreenDesigner/designer/index.vue @@ -270,6 +270,17 @@ @onChanged="(val) => widgetValueChanged('position', val)" /> + + +
    @@ -360,6 +371,7 @@ export default { top: 0, zIndex: 0, }, + methods: {}, }, // options属性是从工具栏中拿到的tools中拿到 options: [], diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barCharts/widget-barchart.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barCharts/widget-barchart.js index 673d26f6..5ff6c9d4 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barCharts/widget-barchart.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barCharts/widget-barchart.js @@ -3,8 +3,8 @@ * @version: * @Author: qianlishi * @Date: 2021-08-29 07:21:45 - * @LastEditors: qianlishi - * @LastEditTime: 2021-09-28 14:08:29 + * @LastEditors: qianlishi qianlishi@anji-plus.com + * @LastEditTime: 2023-01-09 09:53:31 */ export const widgetBarchart = { code: 'widget-barchart', @@ -111,10 +111,10 @@ export const widgetBarchart = { required: false, placeholder: '', selectOptions: [ - {code: 'normal', name: '正常'}, - {code: 'bold', name: '粗体'}, - {code: 'bolder', name: '特粗体'}, - {code: 'lighter', name: '细体'} + { code: 'normal', name: '正常' }, + { code: 'bold', name: '粗体' }, + { code: 'bolder', name: '特粗体' }, + { code: 'lighter', name: '细体' } ], value: 'normal' }, @@ -125,9 +125,9 @@ export const widgetBarchart = { required: false, placeholder: '', selectOptions: [ - {code: 'normal', name: '正常'}, - {code: 'italic', name: 'italic斜体'}, - {code: 'oblique', name: 'oblique斜体'}, + { code: 'normal', name: '正常' }, + { code: 'italic', name: 'italic斜体' }, + { code: 'oblique', name: 'oblique斜体' }, ], value: 'normal' }, @@ -138,9 +138,9 @@ export const widgetBarchart = { required: false, placeholder: '', selectOptions: [ - {code: 'center', name: '居中'}, - {code: 'left', name: '左对齐'}, - {code: 'right', name: '右对齐'}, + { code: 'center', name: '居中' }, + { code: 'left', name: '左对齐' }, + { code: 'right', name: '右对齐' }, ], value: 'center' }, @@ -175,10 +175,10 @@ export const widgetBarchart = { required: false, placeholder: '', selectOptions: [ - {code: 'normal', name: '正常'}, - {code: 'bold', name: '粗体'}, - {code: 'bolder', name: '特粗体'}, - {code: 'lighter', name: '细体'} + { code: 'normal', name: '正常' }, + { code: 'bold', name: '粗体' }, + { code: 'bolder', name: '特粗体' }, + { code: 'lighter', name: '细体' } ], value: 'normal' }, @@ -189,9 +189,9 @@ export const widgetBarchart = { required: false, placeholder: '', selectOptions: [ - {code: 'normal', name: '正常'}, - {code: 'italic', name: 'italic斜体'}, - {code: 'oblique', name: 'oblique斜体'}, + { code: 'normal', name: '正常' }, + { code: 'italic', name: 'italic斜体' }, + { code: 'oblique', name: 'oblique斜体' }, ], value: 'normal' }, @@ -481,10 +481,10 @@ export const widgetBarchart = { required: false, placeholder: '', selectOptions: [ - {code: 'normal', name: '正常'}, - {code: 'bold', name: '粗体'}, - {code: 'bolder', name: '特粗体'}, - {code: 'lighter', name: '细体'} + { code: 'normal', name: '正常' }, + { code: 'bold', name: '粗体' }, + { code: 'bolder', name: '特粗体' }, + { code: 'lighter', name: '细体' } ], value: 'normal' }, @@ -553,7 +553,7 @@ export const widgetBarchart = { label: '', name: 'customColor', required: false, - value: [{color: '#ff7f50'}, {color: '#87cefa'}, {color: '#da70d6'}, {color: '#32cd32'}, {color: '#6495ed'}], + value: [{ color: '#ff7f50' }, { color: '#87cefa' }, { color: '#da70d6' }, { color: '#32cd32' }, { color: '#6495ed' }], }, ], }, @@ -597,11 +597,11 @@ export const widgetBarchart = { relactiveDom: 'dataType', relactiveDomValue: 'staticData', value: [ - {"axis": "苹果", "data": 1000}, - {"axis": "三星", "data": 2229}, - {"axis": "小米", "data": 3879}, - {"axis": "oppo", "data": 2379}, - {"axis": "vivo", "data": 4079}, + { "axis": "苹果", "data": 1000 }, + { "axis": "三星", "data": 2229 }, + { "axis": "小米", "data": 3879 }, + { "axis": "oppo", "data": 2379 }, + { "axis": "vivo", "data": 4079 }, ], }, { @@ -652,5 +652,20 @@ export const widgetBarchart = { value: 200, }, ], + // 事件 + methods: [ + { + type: 'methods', + label: '前置钩子', + name: 'beforeMethods', + value: 'function beforeMethods(data){\n\t//自定义脚本内容1\n\treturn data;\n}', + }, + { + type: 'methods', + label: '后置钩子', + name: 'afterMethods', + value: 'function afterMethods(data){\n\t//自定义脚本内容2\n\treturn data;\n}', + }, + ] } } From 3ec8a4f6a1359d66280f860099f0d8236dc9dd08 Mon Sep 17 00:00:00 2001 From: qianlishi Date: Tue, 10 Jan 2023 13:54:29 +0800 Subject: [PATCH 08/86] =?UTF-8?q?=E6=B7=BB=E5=8A=A0select?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/AnjiPlus/anji-select.vue | 46 ++--- .../bigscreenDesigner/designer/index.vue | 4 + .../configure/barCharts/widget-barchart.js | 26 +-- .../tools/configure/form/widget-select.js | 160 ++++++++++++++++++ .../bigscreenDesigner/designer/tools/main.js | 6 +- .../designer/widget/form/widgetSelect.vue | 87 ++++++++++ .../designer/widget/temp.vue | 18 +- .../designer/widget/widget.vue | 53 ++++-- 8 files changed, 337 insertions(+), 63 deletions(-) create mode 100644 report-ui/src/views/bigscreenDesigner/designer/tools/configure/form/widget-select.js create mode 100644 report-ui/src/views/bigscreenDesigner/designer/widget/form/widgetSelect.vue diff --git a/report-ui/src/components/AnjiPlus/anji-select.vue b/report-ui/src/components/AnjiPlus/anji-select.vue index 86d44cd5..2afb38a5 100644 --- a/report-ui/src/components/AnjiPlus/anji-select.vue +++ b/report-ui/src/components/AnjiPlus/anji-select.vue @@ -68,62 +68,62 @@ export default { url: null, allowCreate: { type: Boolean, - default: false + default: false, }, method: { type: String, - default: "get" + default: "get", }, queryParam: { type: Object, default: () => { return {}; - } + }, }, value: null, placeholder: null, label: { type: String, - default: "text" + default: "text", }, option: { type: String, - default: "id" + default: "id", }, multiple: null, localOptions: null, disabled: null, clearable: { type: Boolean, - default: true + default: true, }, collapseTags: { type: Boolean, - default: false + default: false, }, mergeLabel: { type: Boolean, - default: true + default: true, }, // 禁用的下拉选项 disabledOptions: { type: String, default: () => { return ""; - } + }, }, // 使用远程搜索 remoteFilter: { type: Boolean, - default: false - } + default: false, + }, }, data() { return { options: null, selectValue: null, // 如果是分页的, - totalPage: 0 + totalPage: 0, }; }, computed: { @@ -146,7 +146,7 @@ export default { return `/meta/gaeaDict/select/${this.dictCode}`; } return null; - } + }, }, watch: { dictCode(val) { @@ -181,13 +181,13 @@ export default { } } }, - immediate: true + immediate: true, }, url() { setTimeout(() => { this.queryData(); }, 500); - } + }, }, created() { if (this.multiple != null) { @@ -225,7 +225,7 @@ export default { this.$emit("input", value); // 根据当前值,找出对应的选项 - let optionItem = this.options.find(item => item[this.option] == value); + let optionItem = this.options.find((item) => item[this.option] == value); this.$emit("change", value, optionItem); }, // 根据用户配置的label,生成对应的标签 @@ -257,7 +257,7 @@ export default { options.push({ id: dictItem.id.toString(), text: dictItem.text, - extend: dictItem.extend + extend: dictItem.extend, }); } return options; @@ -291,8 +291,8 @@ export default { request({ url: this.requestUrl, headers: { noPrompt: true }, - params: param - }).then(response => { + params: param, + }).then((response) => { this.setOptions(response.data); }); }, @@ -305,8 +305,8 @@ export default { url: this.requestUrl, method: "post", headers: { noPrompt: true }, - data: param - }).then(response => { + data: param, + }).then((response) => { this.setOptions(response.data); }); }, @@ -343,8 +343,8 @@ export default { this.queryDataByGet(keyword); } }, 200); - } - } + }, + }, }; \ No newline at end of file diff --git a/report-ui/src/views/bigscreenDesigner/designer/widget/temp.vue b/report-ui/src/views/bigscreenDesigner/designer/widget/temp.vue index b9507f6b..eb6733ce 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/widget/temp.vue +++ b/report-ui/src/views/bigscreenDesigner/designer/widget/temp.vue @@ -6,7 +6,7 @@ !--> @@ -41,6 +41,7 @@ import widgetWordCloud from "./wordcloud/widgetWordCloud"; import widgetHeatmap from "./heatmap/widgetHeatmap"; import widgetRadar from "./radar/widgetRadar"; import widgetBarLineStackChart from "./barline/widgetBarLineStackChart"; +import widgetSelect from "./form/widgetSelect"; export default { name: "WidgetTemp", @@ -74,26 +75,25 @@ export default { widgetWordCloud, widgetHeatmap, widgetRadar, - widgetBarLineStackChart + widgetBarLineStackChart, + widgetSelect, }, model: { prop: "value", - event: "input" + event: "input", }, props: { type: String, value: { type: [Object], - default: () => { - } - } + default: () => {}, + }, }, data() { return {}; }, - mounted() { - }, - methods: {} + mounted() {}, + methods: {}, }; diff --git a/report-ui/src/views/bigscreenDesigner/designer/widget/widget.vue b/report-ui/src/views/bigscreenDesigner/designer/widget/widget.vue index 621830d4..8d3ec7a9 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/widget/widget.vue +++ b/report-ui/src/views/bigscreenDesigner/designer/widget/widget.vue @@ -52,6 +52,7 @@ import widgetWordCloud from "./wordcloud/widgetWordCloud"; import widgetHeatmap from "./heatmap/widgetHeatmap"; import widgetRadar from "./radar/widgetRadar"; import widgetBarLineStackChart from "./barline/widgetBarLineStackChart"; +import widgetSelect from "./form/widgetSelect"; export default { name: "Widget", @@ -85,11 +86,12 @@ export default { widgetWordCloud, widgetHeatmap, widgetRadar, - widgetBarLineStackChart + widgetBarLineStackChart, + widgetSelect, }, model: { prop: "value", - event: "input" + event: "input", }, props: { /* @@ -101,9 +103,9 @@ export default { bigscreen: Object, value: { type: [Object], - default: () => {} + default: () => {}, }, - step: Number + step: Number, }, data() { return { @@ -111,9 +113,9 @@ export default { setup: {}, data: {}, position: {}, -/* leftMargin: null, + /* leftMargin: null, topMargin: null*/ - } + }, }; }, computed: { @@ -124,14 +126,14 @@ export default { return this.value.position.height; }, widgetsLeft() { - return this.value.position.left// >= this.leftMargin ? this.leftMargin : this.value.position.left; + return this.value.position.left; // >= this.leftMargin ? this.leftMargin : this.value.position.left; }, widgetsTop() { - return this.value.position.top// >= this.topMargin ? this.topMargin : this.value.position.top; + return this.value.position.top; // >= this.topMargin ? this.topMargin : this.value.position.top; }, widgetsZIndex() { return this.value.position.zIndex || 1; - } + }, }, mounted() {}, methods: { @@ -146,23 +148,42 @@ export default { // 计算workbench的X轴边界值 // 组件距离左侧宽度 + 组件宽度 > 大屏总宽度时,右侧边界值 = (大屏宽度 - 组件宽度);左侧边界值 = 0 const { bigscreenWidth, bigscreenHeight } = this.bigscreen; - const xBoundaryValue = (left + width) > bigscreenWidth ? bigscreenWidth - width : left < 0 ? 0 : left; + const xBoundaryValue = + left + width > bigscreenWidth + ? bigscreenWidth - width + : left < 0 + ? 0 + : left; // 初始化X轴边界值 this.leftMargin = left; // 计算Y轴边界值 - const yBoundaryValue = (top + height) > bigscreenHeight ? bigscreenHeight - height : top < 0 ? 0 : top; + const yBoundaryValue = + top + height > bigscreenHeight + ? bigscreenHeight - height + : top < 0 + ? 0 + : top; // 初始化Y轴边界值 this.topMargin = top; // 若位置超出边界值则重新设置位置 - if (this.leftMargin != xBoundaryValue || this.topMargin != yBoundaryValue) { + if ( + this.leftMargin != xBoundaryValue || + this.topMargin != yBoundaryValue + ) { this.$nextTick(() => { this.leftMargin = xBoundaryValue; this.topMargin = yBoundaryValue; - this.$emit("onActivated", { index, left: xBoundaryValue, top: yBoundaryValue, width, height }); - }) + this.$emit("onActivated", { + index, + left: xBoundaryValue, + top: yBoundaryValue, + width, + height, + }); + }); } - } - } + }, + }, }; From b4425a6578682ee2dbaf89c8a410d84febe6a40d Mon Sep 17 00:00:00 2001 From: qianlishi Date: Tue, 10 Jan 2023 14:02:17 +0800 Subject: [PATCH 09/86] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=A6=81=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../designer/components/dynamicForm.vue | 9 +++++++++ .../tools/configure/barCharts/widget-barchart.js | 9 ++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/report-ui/src/views/bigscreenDesigner/designer/components/dynamicForm.vue b/report-ui/src/views/bigscreenDesigner/designer/components/dynamicForm.vue index ca74cb6d..b211c16c 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/components/dynamicForm.vue +++ b/report-ui/src/views/bigscreenDesigner/designer/components/dynamicForm.vue @@ -24,6 +24,7 @@ size="mini" style="width: 100%" v-model.trim="formData[item.name]" + :disabled="item.disabled" controls-position="right" @change="changed($event, item.name)" /> @@ -31,6 +32,7 @@ @@ -53,6 +56,7 @@ v-model="formData[item.name]" size="mini" placeholder="请输入内容" + :disabled="item.disabled" @change="changed($event, item.name)" /> Date: Wed, 11 Jan 2023 13:21:37 +0800 Subject: [PATCH 10/86] =?UTF-8?q?=E5=9B=BE=E5=B1=82=E5=A2=9E=E5=8A=A0uuid?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../configure/barCharts/widget-bar-compare.js | 11 +- .../configure/barCharts/widget-bar-stack.js | 83 +-- .../configure/barCharts/widget-barchart.js | 4 +- .../barCharts/widget-gradient-barchart.js | 29 +- .../barlineCharts/widget-bar-line-stack.js | 97 +-- .../barlineCharts/widget-barlinechart.js | 103 ++-- .../barlineCharts/widget-more-bar-line.js | 95 +-- .../decorateCharts/widget-decorate-pie.js | 9 +- .../configure/funnelCharts/widget-funnel.js | 9 +- .../tools/configure/heatmap/widget-heatmap.js | 9 +- .../lineCharts/widget-line-compare.js | 13 +- .../configure/lineCharts/widget-line-stack.js | 15 +- .../configure/lineCharts/widget-linechart.js | 65 +- .../mapCharts/widget-airbubble-map.js | 93 +-- .../configure/mapCharts/widget-line-map.js | 11 +- .../configure/percentCharts/widget-gauge.js | 11 +- .../percentCharts/widget-pie-percentage.js | 485 +++++++-------- .../pieCharts/widget-pie-nightingale.js | 9 +- .../configure/pieCharts/widget-piechart.js | 11 +- .../configure/radarCharts/widget-radar.js | 69 ++- .../tools/configure/texts/widget-href.js | 11 +- .../tools/configure/texts/widget-iframe.js | 11 +- .../tools/configure/texts/widget-image.js | 211 +++---- .../tools/configure/texts/widget-marquee.js | 345 ++++++----- .../tools/configure/texts/widget-slider.js | 171 +++--- .../tools/configure/texts/widget-table.js | 578 +++++++++--------- .../tools/configure/texts/widget-text.js | 357 +++++------ .../tools/configure/texts/widget-time.js | 281 ++++----- .../tools/configure/texts/widget-video.js | 9 +- .../wordcloudCharts/widget-word-cloud.js | 7 + 30 files changed, 1708 insertions(+), 1504 deletions(-) diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barCharts/widget-bar-compare.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barCharts/widget-bar-compare.js index 97762379..2f8b881e 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barCharts/widget-bar-compare.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barCharts/widget-bar-compare.js @@ -3,8 +3,8 @@ * @version: * @Author: qianlishi * @Date: 2021-08-29 07:39:35 - * @LastEditors: qianlishi - * @LastEditTime: 2021-09-28 14:09:58 + * @LastEditors: qianlishi qianlishi@anji-plus.com + * @LastEditTime: 2023-01-10 14:08:40 */ export const widgetBarCompare = { code: 'widgetBarCompareChart', @@ -23,6 +23,13 @@ export const widgetBarCompare = { placeholder: '', value: '柱状对比图', }, + { + type: 'el-input-text', + label: '图层唯一标识', + name: 'uuid', + disabled: true, + value: 'widgetBarCompareChart' + Date.now() + }, { type: 'vue-color', label: '背景颜色', diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barCharts/widget-bar-stack.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barCharts/widget-bar-stack.js index a0c74d92..efc2d214 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barCharts/widget-bar-stack.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barCharts/widget-bar-stack.js @@ -3,8 +3,8 @@ * @version: * @Author: qianlishi * @Date: 2021-08-29 07:37:09 - * @LastEditors: qianlishi - * @LastEditTime: 2021-09-28 14:11:09 + * @LastEditors: qianlishi qianlishi@anji-plus.com + * @LastEditTime: 2023-01-10 14:09:07 */ export const widgetBarStack = { code: 'widgetBarStackChart', @@ -23,6 +23,13 @@ export const widgetBarStack = { placeholder: '', value: '柱状堆叠图', }, + { + type: 'el-input-text', + label: '图层唯一标识', + name: 'uuid', + disabled: true, + value: 'widgetBarStackChart' + Date.now() + }, { type: 'el-switch', label: '竖展示', @@ -46,8 +53,8 @@ export const widgetBarStack = { required: false, placeholder: '', selectOptions: [ - {code: 'leftRight', name: '左右堆叠'}, - {code: 'upDown', name: '上下堆叠'}, + { code: 'leftRight', name: '左右堆叠' }, + { code: 'upDown', name: '上下堆叠' }, ], value: 'leftRight' }, @@ -115,10 +122,10 @@ export const widgetBarStack = { required: false, placeholder: '', selectOptions: [ - {code: 'normal', name: '正常'}, - {code: 'bold', name: '粗体'}, - {code: 'bolder', name: '特粗体'}, - {code: 'lighter', name: '细体'} + { code: 'normal', name: '正常' }, + { code: 'bold', name: '粗体' }, + { code: 'bolder', name: '特粗体' }, + { code: 'lighter', name: '细体' } ], value: 'normal' }, @@ -129,9 +136,9 @@ export const widgetBarStack = { required: false, placeholder: '', selectOptions: [ - {code: 'normal', name: '正常'}, - {code: 'italic', name: 'italic斜体'}, - {code: 'oblique', name: 'oblique斜体'}, + { code: 'normal', name: '正常' }, + { code: 'italic', name: 'italic斜体' }, + { code: 'oblique', name: 'oblique斜体' }, ], value: 'normal' }, @@ -142,9 +149,9 @@ export const widgetBarStack = { required: false, placeholder: '', selectOptions: [ - {code: 'center', name: '居中'}, - {code: 'left', name: '左对齐'}, - {code: 'right', name: '右对齐'}, + { code: 'center', name: '居中' }, + { code: 'left', name: '左对齐' }, + { code: 'right', name: '右对齐' }, ], value: 'center' }, @@ -179,10 +186,10 @@ export const widgetBarStack = { required: false, placeholder: '', selectOptions: [ - {code: 'normal', name: '正常'}, - {code: 'bold', name: '粗体'}, - {code: 'bolder', name: '特粗体'}, - {code: 'lighter', name: '细体'} + { code: 'normal', name: '正常' }, + { code: 'bold', name: '粗体' }, + { code: 'bolder', name: '特粗体' }, + { code: 'lighter', name: '细体' } ], value: 'normal' }, @@ -193,9 +200,9 @@ export const widgetBarStack = { required: false, placeholder: '', selectOptions: [ - {code: 'normal', name: '正常'}, - {code: 'italic', name: 'italic斜体'}, - {code: 'oblique', name: 'oblique斜体'}, + { code: 'normal', name: '正常' }, + { code: 'italic', name: 'italic斜体' }, + { code: 'oblique', name: 'oblique斜体' }, ], value: 'normal' }, @@ -251,9 +258,9 @@ export const widgetBarStack = { required: false, placeholder: '', selectOptions: [ - {code: 'center', name: '居中'}, - {code: 'left', name: '左对齐'}, - {code: 'right', name: '右对齐'}, + { code: 'center', name: '居中' }, + { code: 'left', name: '左对齐' }, + { code: 'right', name: '右对齐' }, ], value: 'center' }, @@ -264,8 +271,8 @@ export const widgetBarStack = { required: false, placeholder: '', selectOptions: [ - {code: 'top', name: '顶部'}, - {code: 'bottom', name: '底部'}, + { code: 'top', name: '顶部' }, + { code: 'bottom', name: '底部' }, ], value: 'top' }, @@ -276,8 +283,8 @@ export const widgetBarStack = { required: false, placeholder: '', selectOptions: [ - {code: 'vertical', name: '竖排'}, - {code: 'horizontal', name: '横排'}, + { code: 'vertical', name: '竖排' }, + { code: 'horizontal', name: '横排' }, ], value: 'horizontal' }, @@ -559,10 +566,10 @@ export const widgetBarStack = { required: false, placeholder: '', selectOptions: [ - {code: 'normal', name: '正常'}, - {code: 'bold', name: '粗体'}, - {code: 'bolder', name: '特粗体'}, - {code: 'lighter', name: '细体'} + { code: 'normal', name: '正常' }, + { code: 'bold', name: '粗体' }, + { code: 'bolder', name: '特粗体' }, + { code: 'lighter', name: '细体' } ], value: 'normal' }, @@ -631,7 +638,7 @@ export const widgetBarStack = { label: '', name: 'customColor', required: false, - value: [{color: '#ff7f50'}, {color: '#87cefa'}, {color: '#da70d6'}, {color: '#32cd32'}, {color: '#6495ed'}], + value: [{ color: '#ff7f50' }, { color: '#87cefa' }, { color: '#da70d6' }, { color: '#32cd32' }, { color: '#6495ed' }], }, ], }, @@ -675,11 +682,11 @@ export const widgetBarStack = { relactiveDom: 'dataType', relactiveDomValue: 'staticData', value: [ - {"axis": "2021-07-25", "name": "A", "data": "12"}, - {"axis": "2021-07-25", "name": "B", "data": "20"}, - {"axis": "2021-07-26", "name": "B", "data": "5"}, - {"axis": "2021-07-27", "name": "A", "data": "15"}, - {"axis": "2021-07-27", "name": "B", "data": "30"}, + { "axis": "2021-07-25", "name": "A", "data": "12" }, + { "axis": "2021-07-25", "name": "B", "data": "20" }, + { "axis": "2021-07-26", "name": "B", "data": "5" }, + { "axis": "2021-07-27", "name": "A", "data": "15" }, + { "axis": "2021-07-27", "name": "B", "data": "30" }, ], }, { diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barCharts/widget-barchart.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barCharts/widget-barchart.js index 2645a672..2f55a78c 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barCharts/widget-barchart.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barCharts/widget-barchart.js @@ -4,7 +4,7 @@ * @Author: qianlishi * @Date: 2021-08-29 07:21:45 * @LastEditors: qianlishi qianlishi@anji-plus.com - * @LastEditTime: 2023-01-10 13:59:59 + * @LastEditTime: 2023-01-10 14:09:03 */ export const widgetBarchart = { code: 'widget-barchart', @@ -25,7 +25,7 @@ export const widgetBarchart = { }, { type: 'el-input-text', - label: 'uuid', + label: '图层唯一标识', name: 'uuid', disabled: true, value: 'widget-barchart' + Date.now() diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barCharts/widget-gradient-barchart.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barCharts/widget-gradient-barchart.js index 17646d3a..8d677d53 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barCharts/widget-gradient-barchart.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barCharts/widget-gradient-barchart.js @@ -3,8 +3,8 @@ * @version: * @Author: qianlishi * @Date: 2021-08-29 07:23:41 - * @LastEditors: qianlishi - * @LastEditTime: 2021-09-28 14:14:08 + * @LastEditors: qianlishi qianlishi@anji-plus.com + * @LastEditTime: 2023-01-10 14:09:49 */ export const widgetGradientBarchart = { code: 'widget-gradient-color-barchart', @@ -23,6 +23,13 @@ export const widgetGradientBarchart = { placeholder: '', value: '柱形图-渐变色', }, + { + type: 'el-input-text', + label: '图层唯一标识', + name: 'uuid', + disabled: true, + value: 'widget-gradient-color-barchart' + Date.now() + }, { type: 'el-switch', label: '竖展示', @@ -457,10 +464,10 @@ export const widgetGradientBarchart = { required: false, placeholder: '', selectOptions: [ - {code: 'normal', name: '正常'}, - {code: 'bold', name: '粗体'}, - {code: 'bolder', name: '特粗体'}, - {code: 'lighter', name: '细体'} + { code: 'normal', name: '正常' }, + { code: 'bold', name: '粗体' }, + { code: 'bolder', name: '特粗体' }, + { code: 'lighter', name: '细体' } ], value: 'normal' }, @@ -598,11 +605,11 @@ export const widgetGradientBarchart = { relactiveDom: 'dataType', relactiveDomValue: 'staticData', value: [ - {"axis": "苹果", "data": 1000}, - {"axis": "三星", "data": 2229}, - {"axis": "小米", "data": 3879}, - {"axis": "oppo", "data": 2379}, - {"axis": "vivo", "data": 4079}, + { "axis": "苹果", "data": 1000 }, + { "axis": "三星", "data": 2229 }, + { "axis": "小米", "data": 3879 }, + { "axis": "oppo", "data": 2379 }, + { "axis": "vivo", "data": 4079 }, ], }, { diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barlineCharts/widget-bar-line-stack.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barlineCharts/widget-bar-line-stack.js index bea0082e..cdbc499c 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barlineCharts/widget-bar-line-stack.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barlineCharts/widget-bar-line-stack.js @@ -19,6 +19,13 @@ export const widgetBarLineStack = { placeholder: '', value: '柱线堆叠图', }, + { + type: 'el-input-text', + label: '图层唯一标识', + name: 'uuid', + disabled: true, + value: 'widgetBarLineStackChart' + Date.now() + }, { type: 'vue-color', label: '背景颜色', @@ -75,8 +82,8 @@ export const widgetBarLineStack = { required: false, placeholder: '', selectOptions: [ - {code: 'circle', name: '实心点'}, - {code: 'emptyCircle', name: '空心点'}, + { code: 'circle', name: '实心点' }, + { code: 'emptyCircle', name: '空心点' }, ], value: 'circle' }, @@ -140,10 +147,10 @@ export const widgetBarLineStack = { required: false, placeholder: '', selectOptions: [ - {code: 'normal', name: '正常'}, - {code: 'bold', name: '粗体'}, - {code: 'bolder', name: '特粗体'}, - {code: 'lighter', name: '细体'} + { code: 'normal', name: '正常' }, + { code: 'bold', name: '粗体' }, + { code: 'bolder', name: '特粗体' }, + { code: 'lighter', name: '细体' } ], value: 'normal' }, @@ -154,9 +161,9 @@ export const widgetBarLineStack = { required: false, placeholder: '', selectOptions: [ - {code: 'normal', name: '正常'}, - {code: 'italic', name: 'italic斜体'}, - {code: 'oblique', name: 'oblique斜体'}, + { code: 'normal', name: '正常' }, + { code: 'italic', name: 'italic斜体' }, + { code: 'oblique', name: 'oblique斜体' }, ], value: 'normal' }, @@ -167,9 +174,9 @@ export const widgetBarLineStack = { required: false, placeholder: '', selectOptions: [ - {code: 'center', name: '居中'}, - {code: 'left', name: '左对齐'}, - {code: 'right', name: '右对齐'}, + { code: 'center', name: '居中' }, + { code: 'left', name: '左对齐' }, + { code: 'right', name: '右对齐' }, ], value: 'center' }, @@ -204,10 +211,10 @@ export const widgetBarLineStack = { required: false, placeholder: '', selectOptions: [ - {code: 'normal', name: '正常'}, - {code: 'bold', name: '粗体'}, - {code: 'bolder', name: '特粗体'}, - {code: 'lighter', name: '细体'} + { code: 'normal', name: '正常' }, + { code: 'bold', name: '粗体' }, + { code: 'bolder', name: '特粗体' }, + { code: 'lighter', name: '细体' } ], value: 'normal' }, @@ -218,9 +225,9 @@ export const widgetBarLineStack = { required: false, placeholder: '', selectOptions: [ - {code: 'normal', name: '正常'}, - {code: 'italic', name: 'italic斜体'}, - {code: 'oblique', name: 'oblique斜体'}, + { code: 'normal', name: '正常' }, + { code: 'italic', name: 'italic斜体' }, + { code: 'oblique', name: 'oblique斜体' }, ], value: 'normal' }, @@ -276,9 +283,9 @@ export const widgetBarLineStack = { required: false, placeholder: '', selectOptions: [ - {code: 'center', name: '居中'}, - {code: 'left', name: '左对齐'}, - {code: 'right', name: '右对齐'}, + { code: 'center', name: '居中' }, + { code: 'left', name: '左对齐' }, + { code: 'right', name: '右对齐' }, ], value: 'center' }, @@ -289,8 +296,8 @@ export const widgetBarLineStack = { required: false, placeholder: '', selectOptions: [ - {code: 'top', name: '顶部'}, - {code: 'bottom', name: '底部'}, + { code: 'top', name: '顶部' }, + { code: 'bottom', name: '底部' }, ], value: 'top' }, @@ -301,8 +308,8 @@ export const widgetBarLineStack = { required: false, placeholder: '', selectOptions: [ - {code: 'vertical', name: '竖排'}, - {code: 'horizontal', name: '横排'}, + { code: 'vertical', name: '竖排' }, + { code: 'horizontal', name: '横排' }, ], value: 'horizontal' }, @@ -716,10 +723,10 @@ export const widgetBarLineStack = { required: false, placeholder: '', selectOptions: [ - {code: 'normal', name: '正常'}, - {code: 'bold', name: '粗体'}, - {code: 'bolder', name: '特粗体'}, - {code: 'lighter', name: '细体'} + { code: 'normal', name: '正常' }, + { code: 'bold', name: '粗体' }, + { code: 'bolder', name: '特粗体' }, + { code: 'lighter', name: '细体' } ], value: 'normal' }, @@ -767,10 +774,10 @@ export const widgetBarLineStack = { required: false, placeholder: '', selectOptions: [ - {code: 'normal', name: '正常'}, - {code: 'bold', name: '粗体'}, - {code: 'bolder', name: '特粗体'}, - {code: 'lighter', name: '细体'} + { code: 'normal', name: '正常' }, + { code: 'bold', name: '粗体' }, + { code: 'bolder', name: '特粗体' }, + { code: 'lighter', name: '细体' } ], value: 'normal' }, @@ -839,7 +846,7 @@ export const widgetBarLineStack = { label: '', name: 'customColor', required: false, - value: [{color: '#ff7f50'}, {color: '#87cefa'}, {color: '#da70d6'}, {color: '#32cd32'}, {color: '#6495ed'}], + value: [{ color: '#ff7f50' }, { color: '#87cefa' }, { color: '#da70d6' }, { color: '#32cd32' }, { color: '#6495ed' }], }, ], }, @@ -883,16 +890,16 @@ export const widgetBarLineStack = { relactiveDom: 'dataType', relactiveDomValue: 'staticData', value: [ - {"axis": "2021-07", "name": "A", "bar": "12", "line": "20"}, - {"axis": "2021-07", "name": "B", "bar": "20", "line": "12"}, - {"axis": "2021-08", "name": "A", "bar": "0", "line": "8"}, - {"axis": "2021-08", "name": "B", "bar": "5", "line": "3"}, - {"axis": "2021-09", "name": "A", "bar": "15", "line": "9"}, - {"axis": "2021-09", "name": "B", "bar": "30", "line": "19"}, - {"axis": "2021-10", "name": "A", "bar": "10", "line": "27"}, - {"axis": "2021-10", "name": "B", "bar": "24", "line": "6"}, - {"axis": "2021-11", "name": "A", "bar": "23", "line": "29"}, - {"axis": "2021-11", "name": "B", "bar": "8", "line": "9"}, + { "axis": "2021-07", "name": "A", "bar": "12", "line": "20" }, + { "axis": "2021-07", "name": "B", "bar": "20", "line": "12" }, + { "axis": "2021-08", "name": "A", "bar": "0", "line": "8" }, + { "axis": "2021-08", "name": "B", "bar": "5", "line": "3" }, + { "axis": "2021-09", "name": "A", "bar": "15", "line": "9" }, + { "axis": "2021-09", "name": "B", "bar": "30", "line": "19" }, + { "axis": "2021-10", "name": "A", "bar": "10", "line": "27" }, + { "axis": "2021-10", "name": "B", "bar": "24", "line": "6" }, + { "axis": "2021-11", "name": "A", "bar": "23", "line": "29" }, + { "axis": "2021-11", "name": "B", "bar": "8", "line": "9" }, ], }, { diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barlineCharts/widget-barlinechart.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barlineCharts/widget-barlinechart.js index eb43fa25..0ab4d150 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barlineCharts/widget-barlinechart.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barlineCharts/widget-barlinechart.js @@ -4,7 +4,7 @@ * @Author: qianlishi * @Date: 2021-08-29 07:26:48 * @LastEditors: qianlishi qianlishi@anji-plus.com - * @LastEditTime: 2022-11-07 15:39:29 + * @LastEditTime: 2023-01-10 14:04:14 */ export const widgetBarlinechart = { code: 'widget-barlinechart', @@ -23,6 +23,13 @@ export const widgetBarlinechart = { placeholder: '', value: '柱线图', }, + { + type: 'el-input-text', + label: '图层唯一标识', + name: 'uuid', + disabled: true, + value: 'widget-barlinechart' + Date.now() + }, { type: 'vue-color', label: '背景颜色', @@ -87,8 +94,8 @@ export const widgetBarlinechart = { required: false, placeholder: '', selectOptions: [ - {code: 'circle', name: '实心点'}, - {code: 'emptyCircle', name: '空心点'}, + { code: 'circle', name: '实心点' }, + { code: 'emptyCircle', name: '空心点' }, ], value: 'circle' }, @@ -168,10 +175,10 @@ export const widgetBarlinechart = { required: false, placeholder: '', selectOptions: [ - {code: 'normal', name: '正常'}, - {code: 'bold', name: '粗体'}, - {code: 'bolder', name: '特粗体'}, - {code: 'lighter', name: '细体'} + { code: 'normal', name: '正常' }, + { code: 'bold', name: '粗体' }, + { code: 'bolder', name: '特粗体' }, + { code: 'lighter', name: '细体' } ], value: 'normal' }, @@ -182,9 +189,9 @@ export const widgetBarlinechart = { required: false, placeholder: '', selectOptions: [ - {code: 'normal', name: '正常'}, - {code: 'italic', name: 'italic斜体'}, - {code: 'oblique', name: 'oblique斜体'}, + { code: 'normal', name: '正常' }, + { code: 'italic', name: 'italic斜体' }, + { code: 'oblique', name: 'oblique斜体' }, ], value: 'normal' }, @@ -195,9 +202,9 @@ export const widgetBarlinechart = { required: false, placeholder: '', selectOptions: [ - {code: 'center', name: '居中'}, - {code: 'left', name: '左对齐'}, - {code: 'right', name: '右对齐'}, + { code: 'center', name: '居中' }, + { code: 'left', name: '左对齐' }, + { code: 'right', name: '右对齐' }, ], value: 'center' }, @@ -232,10 +239,10 @@ export const widgetBarlinechart = { required: false, placeholder: '', selectOptions: [ - {code: 'normal', name: '正常'}, - {code: 'bold', name: '粗体'}, - {code: 'bolder', name: '特粗体'}, - {code: 'lighter', name: '细体'} + { code: 'normal', name: '正常' }, + { code: 'bold', name: '粗体' }, + { code: 'bolder', name: '特粗体' }, + { code: 'lighter', name: '细体' } ], value: 'normal' }, @@ -246,9 +253,9 @@ export const widgetBarlinechart = { required: false, placeholder: '', selectOptions: [ - {code: 'normal', name: '正常'}, - {code: 'italic', name: 'italic斜体'}, - {code: 'oblique', name: 'oblique斜体'}, + { code: 'normal', name: '正常' }, + { code: 'italic', name: 'italic斜体' }, + { code: 'oblique', name: 'oblique斜体' }, ], value: 'normal' }, @@ -304,9 +311,9 @@ export const widgetBarlinechart = { required: false, placeholder: '', selectOptions: [ - {code: 'center', name: '居中'}, - {code: 'left', name: '左对齐'}, - {code: 'right', name: '右对齐'}, + { code: 'center', name: '居中' }, + { code: 'left', name: '左对齐' }, + { code: 'right', name: '右对齐' }, ], value: 'center' }, @@ -317,8 +324,8 @@ export const widgetBarlinechart = { required: false, placeholder: '', selectOptions: [ - {code: 'top', name: '顶部'}, - {code: 'bottom', name: '底部'}, + { code: 'top', name: '顶部' }, + { code: 'bottom', name: '底部' }, ], value: 'top' }, @@ -329,8 +336,8 @@ export const widgetBarlinechart = { required: false, placeholder: '', selectOptions: [ - {code: 'vertical', name: '竖排'}, - {code: 'horizontal', name: '横排'}, + { code: 'vertical', name: '竖排' }, + { code: 'horizontal', name: '横排' }, ], value: 'horizontal' }, @@ -744,10 +751,10 @@ export const widgetBarlinechart = { required: false, placeholder: '', selectOptions: [ - {code: 'normal', name: '正常'}, - {code: 'bold', name: '粗体'}, - {code: 'bolder', name: '特粗体'}, - {code: 'lighter', name: '细体'} + { code: 'normal', name: '正常' }, + { code: 'bold', name: '粗体' }, + { code: 'bolder', name: '特粗体' }, + { code: 'lighter', name: '细体' } ], value: 'normal' }, @@ -795,10 +802,10 @@ export const widgetBarlinechart = { required: false, placeholder: '', selectOptions: [ - {code: 'normal', name: '正常'}, - {code: 'bold', name: '粗体'}, - {code: 'bolder', name: '特粗体'}, - {code: 'lighter', name: '细体'} + { code: 'normal', name: '正常' }, + { code: 'bold', name: '粗体' }, + { code: 'bolder', name: '特粗体' }, + { code: 'lighter', name: '细体' } ], value: 'normal' }, @@ -867,7 +874,7 @@ export const widgetBarlinechart = { label: '', name: 'customColor', required: false, - value: [{color: '#ff7f50'}, {color: '#87cefa'}, {color: '#da70d6'}, {color: '#32cd32'}, {color: '#6495ed'}], + value: [{ color: '#ff7f50' }, { color: '#87cefa' }, { color: '#da70d6' }, { color: '#32cd32' }, { color: '#6495ed' }], }, ], }, @@ -911,18 +918,18 @@ export const widgetBarlinechart = { relactiveDom: 'dataType', relactiveDomValue: 'staticData', value: [ - {"axis": "1月", "bar": 2.6, "line": 2}, - {"axis": "2月", "bar": 5.9, "line": 2.2}, - {"axis": "3月", "bar": 9, "line": 3.3}, - {"axis": "4月", "bar": 26.4, "line": 4.5}, - {"axis": "5月", "bar": 28.7, "line": 6.3}, - {"axis": "6月", "bar": 70.7, "line": 10.2}, - {"axis": "7月", "bar": 175.6, "line": 20.3}, - {"axis": "8月", "bar": 182.2, "line": 23.4}, - {"axis": "9月", "bar": 48.7, "line": 23}, - {"axis": "10月", "bar": 18.8, "line": 16.5}, - {"axis": "11月", "bar": 6, "line": 12}, - {"axis": "12月", "bar": 2.3, "line": 6.2}, + { "axis": "1月", "bar": 2.6, "line": 2 }, + { "axis": "2月", "bar": 5.9, "line": 2.2 }, + { "axis": "3月", "bar": 9, "line": 3.3 }, + { "axis": "4月", "bar": 26.4, "line": 4.5 }, + { "axis": "5月", "bar": 28.7, "line": 6.3 }, + { "axis": "6月", "bar": 70.7, "line": 10.2 }, + { "axis": "7月", "bar": 175.6, "line": 20.3 }, + { "axis": "8月", "bar": 182.2, "line": 23.4 }, + { "axis": "9月", "bar": 48.7, "line": 23 }, + { "axis": "10月", "bar": 18.8, "line": 16.5 }, + { "axis": "11月", "bar": 6, "line": 12 }, + { "axis": "12月", "bar": 2.3, "line": 6.2 }, ] }, { diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barlineCharts/widget-more-bar-line.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barlineCharts/widget-more-bar-line.js index e291ece6..2b12078a 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barlineCharts/widget-more-bar-line.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barlineCharts/widget-more-bar-line.js @@ -4,7 +4,7 @@ * @Author: foming * @Date: * @LastEditors: qianlishi qianlishi@anji-plus.com - * @LastEditTime: 2022-11-07 15:39:52 + * @LastEditTime: 2023-01-10 14:10:08 */ export const widgetMoreBarLine = { code: 'widgetMoreBarLineChart', @@ -23,6 +23,13 @@ export const widgetMoreBarLine = { placeholder: '', value: '多柱线图', }, + { + type: 'el-input-text', + label: '图层唯一标识', + name: 'uuid', + disabled: true, + value: 'widgetMoreBarLineChart' + Date.now() + }, { type: 'vue-color', label: '背景颜色', @@ -79,8 +86,8 @@ export const widgetMoreBarLine = { required: false, placeholder: '', selectOptions: [ - {code: 'circle', name: '实心点'}, - {code: 'emptyCircle', name: '空心点'}, + { code: 'circle', name: '实心点' }, + { code: 'emptyCircle', name: '空心点' }, ], value: 'circle' }, @@ -160,10 +167,10 @@ export const widgetMoreBarLine = { required: false, placeholder: '', selectOptions: [ - {code: 'normal', name: '正常'}, - {code: 'bold', name: '粗体'}, - {code: 'bolder', name: '特粗体'}, - {code: 'lighter', name: '细体'} + { code: 'normal', name: '正常' }, + { code: 'bold', name: '粗体' }, + { code: 'bolder', name: '特粗体' }, + { code: 'lighter', name: '细体' } ], value: 'normal' }, @@ -174,9 +181,9 @@ export const widgetMoreBarLine = { required: false, placeholder: '', selectOptions: [ - {code: 'normal', name: '正常'}, - {code: 'italic', name: 'italic斜体'}, - {code: 'oblique', name: 'oblique斜体'}, + { code: 'normal', name: '正常' }, + { code: 'italic', name: 'italic斜体' }, + { code: 'oblique', name: 'oblique斜体' }, ], value: 'normal' }, @@ -187,9 +194,9 @@ export const widgetMoreBarLine = { required: false, placeholder: '', selectOptions: [ - {code: 'center', name: '居中'}, - {code: 'left', name: '左对齐'}, - {code: 'right', name: '右对齐'}, + { code: 'center', name: '居中' }, + { code: 'left', name: '左对齐' }, + { code: 'right', name: '右对齐' }, ], value: 'center' }, @@ -224,10 +231,10 @@ export const widgetMoreBarLine = { required: false, placeholder: '', selectOptions: [ - {code: 'normal', name: '正常'}, - {code: 'bold', name: '粗体'}, - {code: 'bolder', name: '特粗体'}, - {code: 'lighter', name: '细体'} + { code: 'normal', name: '正常' }, + { code: 'bold', name: '粗体' }, + { code: 'bolder', name: '特粗体' }, + { code: 'lighter', name: '细体' } ], value: 'normal' }, @@ -238,9 +245,9 @@ export const widgetMoreBarLine = { required: false, placeholder: '', selectOptions: [ - {code: 'normal', name: '正常'}, - {code: 'italic', name: 'italic斜体'}, - {code: 'oblique', name: 'oblique斜体'}, + { code: 'normal', name: '正常' }, + { code: 'italic', name: 'italic斜体' }, + { code: 'oblique', name: 'oblique斜体' }, ], value: 'normal' }, @@ -296,9 +303,9 @@ export const widgetMoreBarLine = { required: false, placeholder: '', selectOptions: [ - {code: 'center', name: '居中'}, - {code: 'left', name: '左对齐'}, - {code: 'right', name: '右对齐'}, + { code: 'center', name: '居中' }, + { code: 'left', name: '左对齐' }, + { code: 'right', name: '右对齐' }, ], value: 'center' }, @@ -309,8 +316,8 @@ export const widgetMoreBarLine = { required: false, placeholder: '', selectOptions: [ - {code: 'top', name: '顶部'}, - {code: 'bottom', name: '底部'}, + { code: 'top', name: '顶部' }, + { code: 'bottom', name: '底部' }, ], value: 'top' }, @@ -321,8 +328,8 @@ export const widgetMoreBarLine = { required: false, placeholder: '', selectOptions: [ - {code: 'vertical', name: '竖排'}, - {code: 'horizontal', name: '横排'}, + { code: 'vertical', name: '竖排' }, + { code: 'horizontal', name: '横排' }, ], value: 'horizontal' }, @@ -736,10 +743,10 @@ export const widgetMoreBarLine = { required: false, placeholder: '', selectOptions: [ - {code: 'normal', name: '正常'}, - {code: 'bold', name: '粗体'}, - {code: 'bolder', name: '特粗体'}, - {code: 'lighter', name: '细体'} + { code: 'normal', name: '正常' }, + { code: 'bold', name: '粗体' }, + { code: 'bolder', name: '特粗体' }, + { code: 'lighter', name: '细体' } ], value: 'normal' }, @@ -787,10 +794,10 @@ export const widgetMoreBarLine = { required: false, placeholder: '', selectOptions: [ - {code: 'normal', name: '正常'}, - {code: 'bold', name: '粗体'}, - {code: 'bolder', name: '特粗体'}, - {code: 'lighter', name: '细体'} + { code: 'normal', name: '正常' }, + { code: 'bold', name: '粗体' }, + { code: 'bolder', name: '特粗体' }, + { code: 'lighter', name: '细体' } ], value: 'normal' }, @@ -859,7 +866,7 @@ export const widgetMoreBarLine = { label: '', name: 'customColor', required: false, - value: [{color: '#ff7f50'}, {color: '#87cefa'}, {color: '#da70d6'}, {color: '#32cd32'}, {color: '#6495ed'}], + value: [{ color: '#ff7f50' }, { color: '#87cefa' }, { color: '#da70d6' }, { color: '#32cd32' }, { color: '#6495ed' }], }, ], }, @@ -903,14 +910,14 @@ export const widgetMoreBarLine = { relactiveDom: 'dataType', relactiveDomValue: 'staticData', value: [ - {"date": "2014", "unsales": 400, "manus": 300, "sales": 4.2,}, - {"date": "2015", "unsales": 400, "manus": 500, "sales": 3.6,}, - {"date": "2016", "unsales": 300, "manus": 500, "sales": 5.8,}, - {"date": "2017", "unsales": 300, "manus": 500, "sales": 3.4,}, - {"date": "2018", "unsales": 400, "manus": 400, "sales": 2.5,}, - {"date": "2019", "unsales": 400, "manus": 500, "sales": 5.8,}, - {"date": "2020", "unsales": 300, "manus": 400, "sales": 7.6,}, - {"date": "2021", "unsales": 300, "manus": 600, "sales": 3.4,}, + { "date": "2014", "unsales": 400, "manus": 300, "sales": 4.2, }, + { "date": "2015", "unsales": 400, "manus": 500, "sales": 3.6, }, + { "date": "2016", "unsales": 300, "manus": 500, "sales": 5.8, }, + { "date": "2017", "unsales": 300, "manus": 500, "sales": 3.4, }, + { "date": "2018", "unsales": 400, "manus": 400, "sales": 2.5, }, + { "date": "2019", "unsales": 400, "manus": 500, "sales": 5.8, }, + { "date": "2020", "unsales": 300, "manus": 400, "sales": 7.6, }, + { "date": "2021", "unsales": 300, "manus": 600, "sales": 3.4, }, ] }, { diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/decorateCharts/widget-decorate-pie.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/decorateCharts/widget-decorate-pie.js index ad94e2fc..ae453106 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/decorateCharts/widget-decorate-pie.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/decorateCharts/widget-decorate-pie.js @@ -4,7 +4,7 @@ * @Author: foming * @Date: * @LastEditors: qianlishi qianlishi@anji-plus.com - * @LastEditTime: 2022-11-07 15:40:07 + * @LastEditTime: 2023-01-10 14:04:50 */ export const widgetDecoratePie = { code: 'widgetDecoratePieChart', @@ -23,6 +23,13 @@ export const widgetDecoratePie = { placeholder: '', value: '静态装饰饼图', }, + { + type: 'el-input-text', + label: '图层唯一标识', + name: 'uuid', + disabled: true, + value: 'widgetDecoratePieChart' + Date.now() + }, { type: 'vue-color', label: '背景颜色', diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/funnelCharts/widget-funnel.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/funnelCharts/widget-funnel.js index 7b8a4490..d9b4f2f6 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/funnelCharts/widget-funnel.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/funnelCharts/widget-funnel.js @@ -4,7 +4,7 @@ * @Author: qianlishi * @Date: 2021-08-29 07:29:23 * @LastEditors: qianlishi qianlishi@anji-plus.com - * @LastEditTime: 2022-11-07 15:40:21 + * @LastEditTime: 2023-01-10 14:05:07 */ export const widgetFunnel = { code: 'widget-funnel', @@ -23,6 +23,13 @@ export const widgetFunnel = { placeholder: '', value: '漏斗图', }, + { + type: 'el-input-text', + label: '图层唯一标识', + name: 'uuid', + disabled: true, + value: 'widget-funnel' + Date.now() + }, { type: 'vue-color', label: '背景颜色', diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/heatmap/widget-heatmap.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/heatmap/widget-heatmap.js index 77cbb184..4a611a9e 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/heatmap/widget-heatmap.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/heatmap/widget-heatmap.js @@ -4,7 +4,7 @@ * @Author: whw * @Date: 2021-11-3 * @LastEditors: qianlishi qianlishi@anji-plus.com - * @LastEditTime: 2022-11-07 15:40:35 + * @LastEditTime: 2023-01-11 13:14:37 */ export const widgetHeatmap = { code: 'widget-heatmap', @@ -23,6 +23,13 @@ export const widgetHeatmap = { placeholder: '', value: '热力图', }, + { + type: 'el-input-text', + label: '图层唯一标识', + name: 'uuid', + disabled: true, + value: 'widget-heatmap' + Date.now() + }, { type: 'vue-color', label: '背景颜色', diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/lineCharts/widget-line-compare.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/lineCharts/widget-line-compare.js index a0b9a663..bdb3677c 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/lineCharts/widget-line-compare.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/lineCharts/widget-line-compare.js @@ -4,7 +4,7 @@ * @Author: foming * @Date: 2021-08-29 07:39:35 * @LastEditors: qianlishi qianlishi@anji-plus.com - * @LastEditTime: 2022-11-07 15:40:44 + * @LastEditTime: 2023-01-10 14:05:37 */ export const widgetLineCompare = { code: 'widgetLineCompareChart', @@ -23,6 +23,13 @@ export const widgetLineCompare = { placeholder: '', value: '折线对比图', }, + { + type: 'el-input-text', + label: '图层唯一标识', + name: 'uuid', + disabled: true, + value: 'widgetLineCompareChart' + Date.now() + }, { type: 'vue-color', label: '背景颜色', @@ -58,8 +65,8 @@ export const widgetLineCompare = { required: false, placeholder: '', selectOptions: [ - {code: 'circle', name: '实心点'}, - {code: 'emptyCircle', name: '空心点'}, + { code: 'circle', name: '实心点' }, + { code: 'emptyCircle', name: '空心点' }, ], value: 'circle' }, diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/lineCharts/widget-line-stack.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/lineCharts/widget-line-stack.js index 83272a78..c7da178d 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/lineCharts/widget-line-stack.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/lineCharts/widget-line-stack.js @@ -3,8 +3,8 @@ * @version: * @Author: qianlishi * @Date: 2021-08-29 07:38:17 - * @LastEditors: qianlishi - * @LastEditTime: 2021-09-28 14:16:28 + * @LastEditors: qianlishi qianlishi@anji-plus.com + * @LastEditTime: 2023-01-10 14:05:48 */ export const widgetLineStack = { code: 'widgetLineStackChart', @@ -23,6 +23,13 @@ export const widgetLineStack = { placeholder: '', value: '折线堆叠图', }, + { + type: 'el-input-text', + label: '图层唯一标识', + name: 'uuid', + disabled: true, + value: 'widgetLineStackChart' + Date.now() + }, { type: 'el-switch', label: '竖展示', @@ -66,8 +73,8 @@ export const widgetLineStack = { required: false, placeholder: '', selectOptions: [ - {code: 'circle', name: '实心点'}, - {code: 'emptyCircle', name: '空心点'}, + { code: 'circle', name: '实心点' }, + { code: 'emptyCircle', name: '空心点' }, ], value: 'circle' }, diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/lineCharts/widget-linechart.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/lineCharts/widget-linechart.js index 24999b32..f9fc91a1 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/lineCharts/widget-linechart.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/lineCharts/widget-linechart.js @@ -23,6 +23,13 @@ export const widgetLinechart = { placeholder: '', value: '折线图', }, + { + type: 'el-input-text', + label: '图层唯一标识', + name: 'uuid', + disabled: true, + value: 'widget-linechart' + Date.now() + }, { type: 'vue-color', label: '背景颜色', @@ -58,8 +65,8 @@ export const widgetLinechart = { required: false, placeholder: '', selectOptions: [ - {code: 'circle', name: '实心点'}, - {code: 'emptyCircle', name: '空心点'}, + { code: 'circle', name: '实心点' }, + { code: 'emptyCircle', name: '空心点' }, ], value: 'circle' }, @@ -139,10 +146,10 @@ export const widgetLinechart = { required: false, placeholder: '', selectOptions: [ - {code: 'normal', name: '正常'}, - {code: 'bold', name: '粗体'}, - {code: 'bolder', name: '特粗体'}, - {code: 'lighter', name: '细体'} + { code: 'normal', name: '正常' }, + { code: 'bold', name: '粗体' }, + { code: 'bolder', name: '特粗体' }, + { code: 'lighter', name: '细体' } ], value: 'normal' }, @@ -153,9 +160,9 @@ export const widgetLinechart = { required: false, placeholder: '', selectOptions: [ - {code: 'normal', name: '正常'}, - {code: 'italic', name: 'italic斜体'}, - {code: 'oblique', name: 'oblique斜体'}, + { code: 'normal', name: '正常' }, + { code: 'italic', name: 'italic斜体' }, + { code: 'oblique', name: 'oblique斜体' }, ], value: 'normal' }, @@ -166,9 +173,9 @@ export const widgetLinechart = { required: false, placeholder: '', selectOptions: [ - {code: 'center', name: '居中'}, - {code: 'left', name: '左对齐'}, - {code: 'right', name: '右对齐'}, + { code: 'center', name: '居中' }, + { code: 'left', name: '左对齐' }, + { code: 'right', name: '右对齐' }, ], value: 'center' }, @@ -203,10 +210,10 @@ export const widgetLinechart = { required: false, placeholder: '', selectOptions: [ - {code: 'normal', name: '正常'}, - {code: 'bold', name: '粗体'}, - {code: 'bolder', name: '特粗体'}, - {code: 'lighter', name: '细体'} + { code: 'normal', name: '正常' }, + { code: 'bold', name: '粗体' }, + { code: 'bolder', name: '特粗体' }, + { code: 'lighter', name: '细体' } ], value: 'normal' }, @@ -217,9 +224,9 @@ export const widgetLinechart = { required: false, placeholder: '', selectOptions: [ - {code: 'normal', name: '正常'}, - {code: 'italic', name: 'italic斜体'}, - {code: 'oblique', name: 'oblique斜体'}, + { code: 'normal', name: '正常' }, + { code: 'italic', name: 'italic斜体' }, + { code: 'oblique', name: 'oblique斜体' }, ], value: 'normal' }, @@ -501,10 +508,10 @@ export const widgetLinechart = { required: false, placeholder: '', selectOptions: [ - {code: 'normal', name: '正常'}, - {code: 'bold', name: '粗体'}, - {code: 'bolder', name: '特粗体'}, - {code: 'lighter', name: '细体'} + { code: 'normal', name: '正常' }, + { code: 'bold', name: '粗体' }, + { code: 'bolder', name: '特粗体' }, + { code: 'lighter', name: '细体' } ], value: 'normal' }, @@ -576,7 +583,7 @@ export const widgetLinechart = { label: '', name: 'customColor', required: false, - value: [{color: '#1E90FF'}], + value: [{ color: '#1E90FF' }], }, ], }, @@ -620,11 +627,11 @@ export const widgetLinechart = { relactiveDom: 'dataType', relactiveDomValue: 'staticData', value: [ - {"axis": "苹果", "data": 1000}, - {"axis": "三星", "data": 2229}, - {"axis": "小米", "data": 3879}, - {"axis": "oppo", "data": 2379}, - {"axis": "vivo", "data": 4079}, + { "axis": "苹果", "data": 1000 }, + { "axis": "三星", "data": 2229 }, + { "axis": "小米", "data": 3879 }, + { "axis": "oppo", "data": 2379 }, + { "axis": "vivo", "data": 4079 }, ], }, { diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/mapCharts/widget-airbubble-map.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/mapCharts/widget-airbubble-map.js index e7f99b7f..0ec3bc3d 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/mapCharts/widget-airbubble-map.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/mapCharts/widget-airbubble-map.js @@ -23,6 +23,13 @@ export const widgetAirbubbleMap = { placeholder: '', value: '中国地图-气泡图', }, + { + type: 'el-input-text', + label: '图层唯一标识', + name: 'uuid', + disabled: true, + value: 'widgetAirBubbleMap' + Date.now() + }, { type: 'vue-color', label: '背景颜色', @@ -194,10 +201,10 @@ export const widgetAirbubbleMap = { required: false, placeholder: '', selectOptions: [ - {code: 'normal', name: '正常'}, - {code: 'bold', name: '粗体'}, - {code: 'bolder', name: '特粗体'}, - {code: 'lighter', name: '细体'} + { code: 'normal', name: '正常' }, + { code: 'bold', name: '粗体' }, + { code: 'bolder', name: '特粗体' }, + { code: 'lighter', name: '细体' } ], value: 'normal' }, @@ -224,10 +231,10 @@ export const widgetAirbubbleMap = { required: false, placeholder: '', selectOptions: [ - {code: 'normal', name: '正常'}, - {code: 'bold', name: '粗体'}, - {code: 'bolder', name: '特粗体'}, - {code: 'lighter', name: '细体'} + { code: 'normal', name: '正常' }, + { code: 'bold', name: '粗体' }, + { code: 'bolder', name: '特粗体' }, + { code: 'lighter', name: '细体' } ], value: 'normal' }, @@ -330,41 +337,41 @@ export const widgetAirbubbleMap = { relactiveDom: 'dataType', relactiveDomValue: 'staticData', value: [ - {"name": "南海诸岛", "value": 1}, - {"name": "北京市", "value": 524}, - {"name": "天津市", "value": 14}, - {"name": "上海市", "value": 150}, - {"name": "重庆市", "value": 75}, - {"name": "河北省", "value": 13}, - {"name": "河南省", "value": 83}, - {"name": "云南省", "value": 11}, - {"name": "辽宁省", "value": 19}, - {"name": "黑龙江省", "value": 15}, - {"name": "湖南省", "value": 69}, - {"name": "安徽省", "value": 260}, - {"name": "山东省", "value": 39}, - {"name": "新疆维吾尔自治区", "value": 4}, - {"name": "江苏省", "value": 31}, - {"name": "浙江省", "value": 104}, - {"name": "江西省", "value": 36}, - {"name": "湖北省", "value": 1052}, - {"name": "广西壮族自治区", "value": 33}, - {"name": "甘肃省", "value": 347}, - {"name": "山西省", "value": 8}, - {"name": "内蒙古自治区", "value": 157}, - {"name": "陕西省", "value": 22}, - {"name": "吉林省", "value": 4}, - {"name": "福建省", "value": 36}, - {"name": "贵州省", "value": 39}, - {"name": "广东省", "value": 996}, - {"name": "青海省", "value": 27}, - {"name": "西藏自治区", "value": 31}, - {"name": "四川省", "value": 46}, - {"name": "宁夏回族自治区", "value": 16}, - {"name": "海南省", "value": 22}, - {"name": "台湾省", "value": 6}, - {"name": "香港", "value": 2}, - {"name": "澳门", "value": 9}], + { "name": "南海诸岛", "value": 1 }, + { "name": "北京市", "value": 524 }, + { "name": "天津市", "value": 14 }, + { "name": "上海市", "value": 150 }, + { "name": "重庆市", "value": 75 }, + { "name": "河北省", "value": 13 }, + { "name": "河南省", "value": 83 }, + { "name": "云南省", "value": 11 }, + { "name": "辽宁省", "value": 19 }, + { "name": "黑龙江省", "value": 15 }, + { "name": "湖南省", "value": 69 }, + { "name": "安徽省", "value": 260 }, + { "name": "山东省", "value": 39 }, + { "name": "新疆维吾尔自治区", "value": 4 }, + { "name": "江苏省", "value": 31 }, + { "name": "浙江省", "value": 104 }, + { "name": "江西省", "value": 36 }, + { "name": "湖北省", "value": 1052 }, + { "name": "广西壮族自治区", "value": 33 }, + { "name": "甘肃省", "value": 347 }, + { "name": "山西省", "value": 8 }, + { "name": "内蒙古自治区", "value": 157 }, + { "name": "陕西省", "value": 22 }, + { "name": "吉林省", "value": 4 }, + { "name": "福建省", "value": 36 }, + { "name": "贵州省", "value": 39 }, + { "name": "广东省", "value": 996 }, + { "name": "青海省", "value": 27 }, + { "name": "西藏自治区", "value": 31 }, + { "name": "四川省", "value": 46 }, + { "name": "宁夏回族自治区", "value": 16 }, + { "name": "海南省", "value": 22 }, + { "name": "台湾省", "value": 6 }, + { "name": "香港", "value": 2 }, + { "name": "澳门", "value": 9 }], }, { type: 'dycustComponents', diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/mapCharts/widget-line-map.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/mapCharts/widget-line-map.js index facf96cb..66cb4a7c 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/mapCharts/widget-line-map.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/mapCharts/widget-line-map.js @@ -3,8 +3,8 @@ * @version: * @Author: qianlishi * @Date: 2021-08-29 07:31:21 - * @LastEditors: qianlishi - * @LastEditTime: 2021-09-28 14:17:20 + * @LastEditors: qianlishi qianlishi@anji-plus.com + * @LastEditTime: 2023-01-10 14:06:32 */ export const widgetLineMap = { code: 'widgetLineMap', @@ -22,6 +22,13 @@ export const widgetLineMap = { placeholder: '', value: '中国地图-路线图', }, + { + type: 'el-input-text', + label: '图层唯一标识', + name: 'uuid', + disabled: true, + value: 'widgetLineMap' + Date.now() + }, { type: 'vue-color', label: '背景颜色', diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/percentCharts/widget-gauge.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/percentCharts/widget-gauge.js index 6b75f6c5..ef6d2327 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/percentCharts/widget-gauge.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/percentCharts/widget-gauge.js @@ -3,8 +3,8 @@ * @version: * @Author: qianlishi * @Date: 2021-08-29 07:30:25 - * @LastEditors: qianlishi - * @LastEditTime: 2021-09-28 14:13:17 + * @LastEditors: qianlishi qianlishi@anji-plus.com + * @LastEditTime: 2023-01-10 14:06:52 */ export const widgetGauge = { code: 'widget-gauge', @@ -23,6 +23,13 @@ export const widgetGauge = { placeholder: '', value: '仪表盘', }, + { + type: 'el-input-text', + label: '图层唯一标识', + name: 'uuid', + disabled: true, + value: 'widget-gauge' + Date.now() + }, { type: 'vue-color', label: '背景颜色', diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/percentCharts/widget-pie-percentage.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/percentCharts/widget-pie-percentage.js index 856733ce..a8a349fe 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/percentCharts/widget-pie-percentage.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/percentCharts/widget-pie-percentage.js @@ -3,256 +3,263 @@ * @version: * @Author: qianlishi * @Date: 2021-08-29 07:34:01 - * @LastEditors: qianlishi - * @LastEditTime: 2021-09-28 14:18:45 + * @LastEditors: qianlishi qianlishi@anji-plus.com + * @LastEditTime: 2023-01-11 13:15:26 */ export const widgetPiePercentage = { - code: 'widgetPiePercentageChart', - type: 'percent', - tabName: '百分比', - label: '百分比图', - icon: 'iconbaifenbi', - options: { - // 配置 - setup: [ + code: 'widgetPiePercentageChart', + type: 'percent', + tabName: '百分比', + label: '百分比图', + icon: 'iconbaifenbi', + options: { + // 配置 + setup: [ + { + type: 'el-input-text', + label: '图层名称', + name: 'layerName', + required: false, + placeholder: '', + value: '百分比图', + }, + { + type: 'el-input-text', + label: '图层唯一标识', + name: 'uuid', + disabled: true, + value: 'widgetPiePercentageChart' + Date.now() + }, + { + type: 'vue-color', + label: '背景颜色', + name: 'background', + required: false, + placeholder: '', + value: '' + }, + [ { - type: 'el-input-text', - label: '图层名称', - name: 'layerName', - required: false, - placeholder: '', - value: '百分比图', - }, - { - type: 'vue-color', - label: '背景颜色', - name: 'background', - required: false, - placeholder: '', - value: '' - }, - [ - { - name: '数值设置', - list: [ - { - type: 'vue-color', - label: '数值颜色', - name: 'textNumColor', - required: false, - placeholder: '', - value: '#fff' - }, - { - type: 'el-input-number', - label: '数值字体', - name: 'textNumFontSize', - required: false, - placeholder: '', - value: 40 - }, - { - type: 'el-select', - label: '字体粗细', - name: 'textNumFontWeight', - required: false, - placeholder: '', - selectOptions: [ - {code: 'normal', name: '正常'}, - {code: 'bold', name: '粗体'}, - {code: 'bolder', name: '特粗体'}, - {code: 'lighter', name: '细体'} - ], - value: 'normal' - }, - { - type: 'vue-color', - label: '%号颜色', - name: 'textPerColor', - required: false, - placeholder: '', - value: '#fff' - }, - { - type: 'el-input-number', - label: '%号字体', - name: 'textPerFontSize', - required: false, - placeholder: '', - value: 20 - }, - { - type: 'el-select', - label: '字体粗细', - name: 'textPerFontWeight', - required: false, - placeholder: '', - selectOptions: [ - {code: 'normal', name: '正常'}, - {code: 'bold', name: '粗体'}, - {code: 'bolder', name: '特粗体'}, - {code: 'lighter', name: '细体'} - ], - value: 'normal' - } - ], - }, - { - name: '圆环设置', - list: [ - { - type: 'el-input-number', - label: '刻度数量', - name: 'lineNumber', - required: false, - placeholder: '', - value: 8 - }, - { - type: 'el-input-number', - label: '刻度长度', - name: 'lineLength', - required: false, - placeholder: '', - value: 19 - }, - { - type: 'el-input-number', - label: '刻度宽度', - name: 'lineWidth', - required: false, - placeholder: '', - value: 2 - }, - { - type: 'vue-color', - label: '刻度颜色', - name: 'lineColor', - required: false, - placeholder: '', - value: '#061740' - }, - ] - }, - { - name: '渐变色', - list: [ - { - type: 'vue-color', - label: '0%处颜色', - name: 'color0Start', - required: false, - placeholder: '', - value: '#4FADFD' - }, - { - type: 'vue-color', - label: '100%颜色', - name: 'color100End', - required: false, - placeholder: '', - value: '#28E8FA' - }, - { - type: 'vue-color', - label: '余处颜色', - name: 'colorsurplus', - required: false, - placeholder: '', - value: '#173164' - }, - ] - } - ], - ], - // 数据 - data: [ - { - type: 'el-radio-group', - label: '数据类型', - name: 'dataType', - require: false, - placeholder: '', - selectValue: true, - selectOptions: [ + name: '数值设置', + list: [ { - code: 'staticData', - name: '静态数据', + type: 'vue-color', + label: '数值颜色', + name: 'textNumColor', + required: false, + placeholder: '', + value: '#fff' }, { - code: 'dynamicData', - name: '动态数据', + type: 'el-input-number', + label: '数值字体', + name: 'textNumFontSize', + required: false, + placeholder: '', + value: 40 }, - ], - value: 'staticData', - }, - { - type: 'el-input-number', - label: '刷新时间(毫秒)', - name: 'refreshTime', - relactiveDom: 'dataType', - relactiveDomValue: 'dynamicData', - value: 5000 - }, - { - type: 'el-button', - label: '静态数据', - name: 'staticData', - required: false, - placeholder: '', - relactiveDom: 'dataType', - relactiveDomValue: 'staticData', - value: [ - {"num":60} + { + type: 'el-select', + label: '字体粗细', + name: 'textNumFontWeight', + required: false, + placeholder: '', + selectOptions: [ + { code: 'normal', name: '正常' }, + { code: 'bold', name: '粗体' }, + { code: 'bolder', name: '特粗体' }, + { code: 'lighter', name: '细体' } + ], + value: 'normal' + }, + { + type: 'vue-color', + label: '%号颜色', + name: 'textPerColor', + required: false, + placeholder: '', + value: '#fff' + }, + { + type: 'el-input-number', + label: '%号字体', + name: 'textPerFontSize', + required: false, + placeholder: '', + value: 20 + }, + { + type: 'el-select', + label: '字体粗细', + name: 'textPerFontWeight', + required: false, + placeholder: '', + selectOptions: [ + { code: 'normal', name: '正常' }, + { code: 'bold', name: '粗体' }, + { code: 'bolder', name: '特粗体' }, + { code: 'lighter', name: '细体' } + ], + value: 'normal' + } ], }, { - type: 'dycustComponents', - label: '', - name: 'dynamicData', - required: false, - placeholder: '', - relactiveDom: 'dataType', - chartType: 'widget-piechart', - dictKey: 'TEXT_PROPERTIES', - relactiveDomValue: 'dynamicData', - value: '', - }, - ], - // 坐标 - position: [ - { - type: 'el-input-number', - label: '左边距', - name: 'left', - required: false, - placeholder: '', - value: 0, - }, - { - type: 'el-input-number', - label: '上边距', - name: 'top', - required: false, - placeholder: '', - value: 0, - }, - { - type: 'el-input-number', - label: '宽度', - name: 'width', - required: false, - placeholder: '该容器在1920px大屏中的宽度', - value: 400, + name: '圆环设置', + list: [ + { + type: 'el-input-number', + label: '刻度数量', + name: 'lineNumber', + required: false, + placeholder: '', + value: 8 + }, + { + type: 'el-input-number', + label: '刻度长度', + name: 'lineLength', + required: false, + placeholder: '', + value: 19 + }, + { + type: 'el-input-number', + label: '刻度宽度', + name: 'lineWidth', + required: false, + placeholder: '', + value: 2 + }, + { + type: 'vue-color', + label: '刻度颜色', + name: 'lineColor', + required: false, + placeholder: '', + value: '#061740' + }, + ] }, { - type: 'el-input-number', - label: '高度', - name: 'height', - required: false, - placeholder: '该容器在1080px大屏中的高度', - value: 300, - }, + name: '渐变色', + list: [ + { + type: 'vue-color', + label: '0%处颜色', + name: 'color0Start', + required: false, + placeholder: '', + value: '#4FADFD' + }, + { + type: 'vue-color', + label: '100%颜色', + name: 'color100End', + required: false, + placeholder: '', + value: '#28E8FA' + }, + { + type: 'vue-color', + label: '余处颜色', + name: 'colorsurplus', + required: false, + placeholder: '', + value: '#173164' + }, + ] + } ], - } + ], + // 数据 + data: [ + { + type: 'el-radio-group', + label: '数据类型', + name: 'dataType', + require: false, + placeholder: '', + selectValue: true, + selectOptions: [ + { + code: 'staticData', + name: '静态数据', + }, + { + code: 'dynamicData', + name: '动态数据', + }, + ], + value: 'staticData', + }, + { + type: 'el-input-number', + label: '刷新时间(毫秒)', + name: 'refreshTime', + relactiveDom: 'dataType', + relactiveDomValue: 'dynamicData', + value: 5000 + }, + { + type: 'el-button', + label: '静态数据', + name: 'staticData', + required: false, + placeholder: '', + relactiveDom: 'dataType', + relactiveDomValue: 'staticData', + value: [ + { "num": 60 } + ], + }, + { + type: 'dycustComponents', + label: '', + name: 'dynamicData', + required: false, + placeholder: '', + relactiveDom: 'dataType', + chartType: 'widget-piechart', + dictKey: 'TEXT_PROPERTIES', + relactiveDomValue: 'dynamicData', + value: '', + }, + ], + // 坐标 + position: [ + { + type: 'el-input-number', + label: '左边距', + name: 'left', + required: false, + placeholder: '', + value: 0, + }, + { + type: 'el-input-number', + label: '上边距', + name: 'top', + required: false, + placeholder: '', + value: 0, + }, + { + type: 'el-input-number', + label: '宽度', + name: 'width', + required: false, + placeholder: '该容器在1920px大屏中的宽度', + value: 400, + }, + { + type: 'el-input-number', + label: '高度', + name: 'height', + required: false, + placeholder: '该容器在1080px大屏中的高度', + value: 300, + }, + ], } +} diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/pieCharts/widget-pie-nightingale.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/pieCharts/widget-pie-nightingale.js index 88ec3219..db07349e 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/pieCharts/widget-pie-nightingale.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/pieCharts/widget-pie-nightingale.js @@ -4,7 +4,7 @@ * @Author: qianlishi * @Date: 2021-08-29 07:32:40 * @LastEditors: qianlishi qianlishi@anji-plus.com - * @LastEditTime: 2022-11-07 15:41:37 + * @LastEditTime: 2023-01-11 13:15:38 */ export const widgetPieNightingale = { code: 'WidgetPieNightingaleRoseArea', @@ -23,6 +23,13 @@ export const widgetPieNightingale = { placeholder: '', value: '南丁格尔玫瑰图', }, + { + type: 'el-input-text', + label: '图层唯一标识', + name: 'uuid', + disabled: true, + value: 'WidgetPieNightingaleRoseArea' + Date.now() + }, { type: 'vue-color', label: '背景颜色', diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/pieCharts/widget-piechart.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/pieCharts/widget-piechart.js index ecc9c62e..946aadd0 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/pieCharts/widget-piechart.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/pieCharts/widget-piechart.js @@ -3,8 +3,8 @@ * @version: * @Author: qianlishi * @Date: 2021-08-29 07:28:20 - * @LastEditors: qianlishi - * @LastEditTime: 2021-09-28 14:19:19 + * @LastEditors: qianlishi qianlishi@anji-plus.com + * @LastEditTime: 2023-01-11 13:15:48 */ export const widgetPiechart = { code: 'widget-piechart', @@ -23,6 +23,13 @@ export const widgetPiechart = { placeholder: '', value: '饼图', }, + { + type: 'el-input-text', + label: '图层唯一标识', + name: 'uuid', + disabled: true, + value: 'widget-piechart' + Date.now() + }, { type: 'vue-color', label: '背景颜色', diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/radarCharts/widget-radar.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/radarCharts/widget-radar.js index 6bb72b29..8026f996 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/radarCharts/widget-radar.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/radarCharts/widget-radar.js @@ -17,6 +17,13 @@ export const widgetRadar = { placeholder: '', value: '雷达图', }, + { + type: 'el-input-text', + label: '图层唯一标识', + name: 'uuid', + disabled: true, + value: 'widget-radar' + Date.now() + }, { type: 'vue-color', label: '背景颜色', @@ -164,8 +171,8 @@ export const widgetRadar = { required: false, placeholder: '', selectOptions: [ - {code: 'line', name: '线型'}, - {code: 'circle', name: '圆型'}, + { code: 'line', name: '线型' }, + { code: 'circle', name: '圆型' }, ], value: 'line' }, @@ -261,10 +268,10 @@ export const widgetRadar = { required: false, placeholder: '', selectOptions: [ - {code: 'normal', name: '正常'}, - {code: 'bold', name: '粗体'}, - {code: 'bolder', name: '特粗体'}, - {code: 'lighter', name: '细体'} + { code: 'normal', name: '正常' }, + { code: 'bold', name: '粗体' }, + { code: 'bolder', name: '特粗体' }, + { code: 'lighter', name: '细体' } ], value: 'normal' }, @@ -275,9 +282,9 @@ export const widgetRadar = { required: false, placeholder: '', selectOptions: [ - {code: 'normal', name: '正常'}, - {code: 'italic', name: 'italic斜体'}, - {code: 'oblique', name: 'oblique斜体'}, + { code: 'normal', name: '正常' }, + { code: 'italic', name: 'italic斜体' }, + { code: 'oblique', name: 'oblique斜体' }, ], value: 'normal' }, @@ -333,9 +340,9 @@ export const widgetRadar = { required: false, placeholder: '', selectOptions: [ - {code: 'center', name: '居中'}, - {code: 'left', name: '左对齐'}, - {code: 'right', name: '右对齐'}, + { code: 'center', name: '居中' }, + { code: 'left', name: '左对齐' }, + { code: 'right', name: '右对齐' }, ], value: 'center' }, @@ -346,8 +353,8 @@ export const widgetRadar = { required: false, placeholder: '', selectOptions: [ - {code: 'top', name: '顶部'}, - {code: 'bottom', name: '底部'}, + { code: 'top', name: '顶部' }, + { code: 'bottom', name: '底部' }, ], value: 'top' }, @@ -358,8 +365,8 @@ export const widgetRadar = { required: false, placeholder: '', selectOptions: [ - {code: 'vertical', name: '竖排'}, - {code: 'horizontal', name: '横排'}, + { code: 'vertical', name: '竖排' }, + { code: 'horizontal', name: '横排' }, ], value: 'horizontal' }, @@ -399,10 +406,10 @@ export const widgetRadar = { required: false, placeholder: '', selectOptions: [ - {code: 'normal', name: '正常'}, - {code: 'bold', name: '粗体'}, - {code: 'bolder', name: '特粗体'}, - {code: 'lighter', name: '细体'} + { code: 'normal', name: '正常' }, + { code: 'bold', name: '粗体' }, + { code: 'bolder', name: '特粗体' }, + { code: 'lighter', name: '细体' } ], value: 'normal' }, @@ -421,9 +428,9 @@ export const widgetRadar = { required: false, placeholder: '', selectOptions: [ - {code: 'solid', name: '实线'}, - {code: 'dashed', name: '线型虚线'}, - {code: 'dotted', name: '点型虚线'}, + { code: 'solid', name: '实线' }, + { code: 'dashed', name: '线型虚线' }, + { code: 'dotted', name: '点型虚线' }, ], value: 'solid' }, @@ -466,7 +473,7 @@ export const widgetRadar = { label: '', name: 'customColor', required: false, - value: [{color: '#ff7f50'}, {color: '#87cefa'}, {color: '#da70d6'}, {color: '#32cd32'}, {color: '#6495ed'}], + value: [{ color: '#ff7f50' }, { color: '#87cefa' }, { color: '#da70d6' }, { color: '#32cd32' }, { color: '#6495ed' }], }, ], }, @@ -478,11 +485,11 @@ export const widgetRadar = { required: false, placeholder: '', value: [ - {name: 'SA', key: 'Sales', max: 6500}, - {name: 'Admin', key: 'Admin', max: 16000}, - {name: 'Information', key: 'Information', max: 30000}, - {name: 'Customer', key: 'Customer', max: 38000}, - {name: 'Develop', key: 'Develop', max: 52000}, + { name: 'SA', key: 'Sales', max: 6500 }, + { name: 'Admin', key: 'Admin', max: 16000 }, + { name: 'Information', key: 'Information', max: 30000 }, + { name: 'Customer', key: 'Customer', max: 38000 }, + { name: 'Develop', key: 'Develop', max: 52000 }, ] } ], @@ -523,8 +530,8 @@ export const widgetRadar = { relactiveDom: 'dataType', relactiveDomValue: 'staticData', value: [ - {name: '2016', Sales: 4200, Admin: 3000, Information: 20000, Customer: 35000, Develop: 50000}, - {name: '2017', Sales: 5000, Admin: 14000, Information: 28000, Customer: 26000, Develop: 42000}, + { name: '2016', Sales: 4200, Admin: 3000, Information: 20000, Customer: 35000, Develop: 50000 }, + { name: '2017', Sales: 5000, Admin: 14000, Information: 28000, Customer: 26000, Develop: 42000 }, ], }, { diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-href.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-href.js index 905aeeeb..d4df1783 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-href.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-href.js @@ -3,8 +3,8 @@ * @version: * @Author: qianlishi * @Date: 2021-08-29 07:03:58 - * @LastEditors: qianlishi - * @LastEditTime: 2021-09-28 14:14:21 + * @LastEditors: qianlishi qianlishi@anji-plus.com + * @LastEditTime: 2023-01-11 13:16:21 */ export const widgetHref = { code: 'widget-href', @@ -23,6 +23,13 @@ export const widgetHref = { placeholder: '', value: '超链接', }, + { + type: 'el-input-text', + label: '图层唯一标识', + name: 'uuid', + disabled: true, + value: 'widget-href' + Date.now() + }, { type: 'el-input-text', label: '文本内容', diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-iframe.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-iframe.js index e56cc308..9dcd10e4 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-iframe.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-iframe.js @@ -3,8 +3,8 @@ * @version: * @Author: qianlishi * @Date: 2021-08-29 07:17:55 - * @LastEditors: qianlishi - * @LastEditTime: 2021-09-28 14:14:39 + * @LastEditors: qianlishi qianlishi@anji-plus.com + * @LastEditTime: 2023-01-11 13:17:35 */ export const widgetIframe = { code: 'widget-iframe', @@ -23,6 +23,13 @@ export const widgetIframe = { placeholder: '', value: 'iframe', }, + { + type: 'el-input-text', + label: '图层唯一标识', + name: 'uuid', + disabled: true, + value: 'widget-iframe' + Date.now() + }, { type: 'el-input-text', label: '地址', diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-image.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-image.js index b09132b9..2e5353e7 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-image.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-image.js @@ -7,106 +7,113 @@ * @LastEditTime: 2021-09-28 14:14:51 */ export const widgetImage = { - code: 'widget-image', - type: 'text', - tabName: '文本栏', - label: '图片', - icon: 'icontupian', - options: { - // 配置 - setup: [ - { - type: 'el-input-text', - label: '图层名称', - name: 'layerName', - required: false, - placeholder: '', - value: '图片', - }, - { - type: 'el-switch', - label: '开启旋转', - name: 'startRotate', - required: false, - placeholder: '', - value: false, - }, - { - type: 'el-slider', - label: '旋转速度', - name: 'rotationSpeed', - required: false, - placeholder: '', - value: 70 - }, - { - type: 'el-slider', - label: '透明度', - name: 'transparency', - required: false, - placeholder: '', - value: 100 - }, - { - type: 'el-input-number', - label: '圆角', - name: 'borderRadius', - required: false, - placeholder: '', - value: '0' - }, - { - type: 'custom-upload', - label: '图片地址', - name: 'imageAdress', - required: false, - placeholder: '', - value: 'http://10.108.26.197:9095/file/download/fd20d563-00aa-45e2-b5db-aff951f814ec', - }, - { - type: 'vue-color', - label: '背景颜色', - name: 'background', - required: false, - placeholder: '', - }, - ], - // 数据 - data: [], - // 坐标 - position: [ - { - type: 'el-input-number', - label: '左边距', - name: 'left', - required: false, - placeholder: '', - value: 0, - }, - { - type: 'el-input-number', - label: '上边距', - name: 'top', - required: false, - placeholder: '', - value: 0, - }, - { - type: 'el-input-number', - label: '宽度', - name: 'width', - required: false, - placeholder: '该容器在1920px大屏中的宽度', - value: 300, - }, - { - type: 'el-input-number', - label: '高度', - name: 'height', - required: false, - placeholder: '该容器在1080px大屏中的高度', - value: 200, - }, - ], - } + code: 'widget-image', + type: 'text', + tabName: '文本栏', + label: '图片', + icon: 'icontupian', + options: { + // 配置 + setup: [ + { + type: 'el-input-text', + label: '图层名称', + name: 'layerName', + required: false, + placeholder: '', + value: '图片', + }, + { + type: 'el-input-text', + label: '图层唯一标识', + name: 'uuid', + disabled: true, + value: 'widget-image' + Date.now() + }, + { + type: 'el-switch', + label: '开启旋转', + name: 'startRotate', + required: false, + placeholder: '', + value: false, + }, + { + type: 'el-slider', + label: '旋转速度', + name: 'rotationSpeed', + required: false, + placeholder: '', + value: 70 + }, + { + type: 'el-slider', + label: '透明度', + name: 'transparency', + required: false, + placeholder: '', + value: 100 + }, + { + type: 'el-input-number', + label: '圆角', + name: 'borderRadius', + required: false, + placeholder: '', + value: '0' + }, + { + type: 'custom-upload', + label: '图片地址', + name: 'imageAdress', + required: false, + placeholder: '', + value: 'http://10.108.26.197:9095/file/download/fd20d563-00aa-45e2-b5db-aff951f814ec', + }, + { + type: 'vue-color', + label: '背景颜色', + name: 'background', + required: false, + placeholder: '', + }, + ], + // 数据 + data: [], + // 坐标 + position: [ + { + type: 'el-input-number', + label: '左边距', + name: 'left', + required: false, + placeholder: '', + value: 0, + }, + { + type: 'el-input-number', + label: '上边距', + name: 'top', + required: false, + placeholder: '', + value: 0, + }, + { + type: 'el-input-number', + label: '宽度', + name: 'width', + required: false, + placeholder: '该容器在1920px大屏中的宽度', + value: 300, + }, + { + type: 'el-input-number', + label: '高度', + name: 'height', + required: false, + placeholder: '该容器在1080px大屏中的高度', + value: 200, + }, + ], } +} diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-marquee.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-marquee.js index bbaed193..a4b5e90d 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-marquee.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-marquee.js @@ -3,175 +3,182 @@ * @version: * @Author: qianlishi * @Date: 2021-08-29 07:00:00 - * @LastEditors: qianlishi - * @LastEditTime: 2021-09-28 14:17:39 + * @LastEditors: qianlishi qianlishi@anji-plus.com + * @LastEditTime: 2023-01-11 13:18:02 */ export const widgetMarquee = { - code: 'widget-marquee', - type: 'text', - tabName: '文本栏', - label: '滚动文本', - icon: 'iconhengxiangwenzi', - options: { - // 配置 - setup: [ - { - type: 'el-input-text', - label: '图层名称', - name: 'layerName', - required: false, - placeholder: '', - value: '跑马灯', - }, - { - type: 'el-input-text', - label: '文本内容', - name: 'text', - required: false, - placeholder: '', - value: '滚动文本', - }, - { - type: 'el-input-number', - label: '字体字号', - name: 'fontSize', - required: false, - placeholder: '', - value: '26', - }, - { - type: 'vue-color', - label: '字体颜色', - name: 'color', - required: false, - placeholder: '', - value: '#FAD400', - }, - { - type: 'el-input-number', - label: '字体间距', - name: 'letterSpacing', - required: false, - placeholder: '', - value: '0', - }, - { - type: 'vue-color', - label: '字体背景', - name: 'background', - required: false, - placeholder: '', - value: 'rgba(115,170,229,.5)', - }, - { - type: 'el-select', - label: '文字粗细', - name: 'fontWeight', - required: false, - placeholder: '', - selectOptions: [ - {code: 'normal', name: '正常'}, - {code: 'bold', name: '粗体'}, - {code: 'bolder', name: '特粗体'}, - {code: 'lighter', name: '细体'} - ], - value: 'normal' - }, -/* { - type: 'el-input-number', - label: '滚动速度', - name: 'jScrollPane', - //required: false, - placeholder: '', - value: '50', - }*/ - ], - // 数据 - data: [ - { - type: 'el-radio-group', - label: '数据类型', - name: 'dataType', - require: false, - placeholder: '', - selectValue: true, - selectOptions: [ - { - code: 'staticData', - name: '静态数据', - }, - { - code: 'dynamicData', - name: '动态数据', - }, - ], - value: 'staticData', - }, - { - type: 'el-input-number', - label: '刷新时间(毫秒)', - name: 'refreshTime', - relactiveDom: 'dataType', - relactiveDomValue: 'dynamicData', - value: 5000 - }, - { - type: 'el-button', - label: '静态数据', - name: 'staticData', - required: false, - placeholder: '', - relactiveDom: 'dataType', - relactiveDomValue: 'staticData', - value: '文本框', - }, - { - type: 'dycustComponents', - label: '', - name: 'dynamicData', - required: false, - placeholder: '', - relactiveDom: 'dataType', - relactiveDomValue: 'dynamicData', - chartType: 'widget-text', - dictKey: 'TEXT_PROPERTIES', - value: '', - } - ], - // 坐标 - position: [ - { - type: 'el-input-number', - label: '左边距', - name: 'left', - required: false, - placeholder: '', - value: 0, - }, - { - type: 'el-input-number', - label: '上边距', - name: 'top', - required: false, - placeholder: '', - value: 0, - }, - { - type: 'el-input-number', - label: '宽度', - name: 'width', - required: false, - placeholder: '该容器在1920px大屏中的宽度', - value: 100, - }, - { - type: 'el-input-number', - label: '高度', - name: 'height', - required: false, - placeholder: '该容器在1080px大屏中的高度', - value: 40, - }, - ], - } + code: 'widget-marquee', + type: 'text', + tabName: '文本栏', + label: '滚动文本', + icon: 'iconhengxiangwenzi', + options: { + // 配置 + setup: [ + { + type: 'el-input-text', + label: '图层名称', + name: 'layerName', + required: false, + placeholder: '', + value: '跑马灯', + }, + { + type: 'el-input-text', + label: '图层唯一标识', + name: 'uuid', + disabled: true, + value: 'widget-marquee' + Date.now() + }, + { + type: 'el-input-text', + label: '文本内容', + name: 'text', + required: false, + placeholder: '', + value: '滚动文本', + }, + { + type: 'el-input-number', + label: '字体字号', + name: 'fontSize', + required: false, + placeholder: '', + value: '26', + }, + { + type: 'vue-color', + label: '字体颜色', + name: 'color', + required: false, + placeholder: '', + value: '#FAD400', + }, + { + type: 'el-input-number', + label: '字体间距', + name: 'letterSpacing', + required: false, + placeholder: '', + value: '0', + }, + { + type: 'vue-color', + label: '字体背景', + name: 'background', + required: false, + placeholder: '', + value: 'rgba(115,170,229,.5)', + }, + { + type: 'el-select', + label: '文字粗细', + name: 'fontWeight', + required: false, + placeholder: '', + selectOptions: [ + { code: 'normal', name: '正常' }, + { code: 'bold', name: '粗体' }, + { code: 'bolder', name: '特粗体' }, + { code: 'lighter', name: '细体' } + ], + value: 'normal' + }, + /* { + type: 'el-input-number', + label: '滚动速度', + name: 'jScrollPane', + //required: false, + placeholder: '', + value: '50', + }*/ + ], + // 数据 + data: [ + { + type: 'el-radio-group', + label: '数据类型', + name: 'dataType', + require: false, + placeholder: '', + selectValue: true, + selectOptions: [ + { + code: 'staticData', + name: '静态数据', + }, + { + code: 'dynamicData', + name: '动态数据', + }, + ], + value: 'staticData', + }, + { + type: 'el-input-number', + label: '刷新时间(毫秒)', + name: 'refreshTime', + relactiveDom: 'dataType', + relactiveDomValue: 'dynamicData', + value: 5000 + }, + { + type: 'el-button', + label: '静态数据', + name: 'staticData', + required: false, + placeholder: '', + relactiveDom: 'dataType', + relactiveDomValue: 'staticData', + value: '文本框', + }, + { + type: 'dycustComponents', + label: '', + name: 'dynamicData', + required: false, + placeholder: '', + relactiveDom: 'dataType', + relactiveDomValue: 'dynamicData', + chartType: 'widget-text', + dictKey: 'TEXT_PROPERTIES', + value: '', + } + ], + // 坐标 + position: [ + { + type: 'el-input-number', + label: '左边距', + name: 'left', + required: false, + placeholder: '', + value: 0, + }, + { + type: 'el-input-number', + label: '上边距', + name: 'top', + required: false, + placeholder: '', + value: 0, + }, + { + type: 'el-input-number', + label: '宽度', + name: 'width', + required: false, + placeholder: '该容器在1920px大屏中的宽度', + value: 100, + }, + { + type: 'el-input-number', + label: '高度', + name: 'height', + required: false, + placeholder: '该容器在1080px大屏中的高度', + value: 40, + }, + ], } +} diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-slider.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-slider.js index 0e325bdb..c4efb866 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-slider.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-slider.js @@ -3,86 +3,93 @@ * @version: * @Author: qianlishi * @Date: 2021-08-29 07:08:53 - * @LastEditors: qianlishi - * @LastEditTime: 2021-09-28 14:19:30 + * @LastEditors: qianlishi qianlishi@anji-plus.com + * @LastEditTime: 2023-01-11 13:18:15 */ -export const widgetSliders = { - code: 'widget-slider', - type: 'text', - tabName: '文本栏', - label: '轮播图片', - icon: 'slider', - options: { - // 配置 - setup: [ - { - type: 'el-input-text', - label: '图层名称', - name: 'layerName', - required: false, - placeholder: '', - }, - { - type: 'el-switch', - label: '隐藏图层', - name: 'hideLayer', - required: false, - placeholder: '', - }, - { - type: 'el-select', - label: '轮播方向', - name: 'tabDirection', - required: false, - placeholder: '', - }, - { - type: 'el-select', - label: '选择器', - name: 'tabSelector', - required: false, - placeholder: '', - }, - { - type: 'el-input-number', - label: '轮播时间', - name: 'tabTime', - required: false, - placeholder: '', - }, - ], - // 数据 - data: [], - // 坐标 - position: [ - { - type: 'el-input-number', - label: '左边距', - name: 'left', - required: true, - placeholder: '', - }, - { - type: 'el-input-number', - label: '上边距', - name: 'top', - required: true, - placeholder: '', - }, - { - type: 'el-input-number', - label: '宽度', - name: 'width', - required: true, - placeholder: '该容器在1920px大屏中的宽度', - }, - { - type: 'el-input-number', - label: '高度', - name: 'height', - required: true, - placeholder: '该容器在1080px大屏中的高度', - }, - ], - } - } \ No newline at end of file +export const widgetSliders = { + code: 'widget-slider', + type: 'text', + tabName: '文本栏', + label: '轮播图片', + icon: 'slider', + options: { + // 配置 + setup: [ + { + type: 'el-input-text', + label: '图层名称', + name: 'layerName', + required: false, + placeholder: '', + }, + { + type: 'el-input-text', + label: '图层唯一标识', + name: 'uuid', + disabled: true, + value: 'widget-slider' + Date.now() + }, + { + type: 'el-switch', + label: '隐藏图层', + name: 'hideLayer', + required: false, + placeholder: '', + }, + { + type: 'el-select', + label: '轮播方向', + name: 'tabDirection', + required: false, + placeholder: '', + }, + { + type: 'el-select', + label: '选择器', + name: 'tabSelector', + required: false, + placeholder: '', + }, + { + type: 'el-input-number', + label: '轮播时间', + name: 'tabTime', + required: false, + placeholder: '', + }, + ], + // 数据 + data: [], + // 坐标 + position: [ + { + type: 'el-input-number', + label: '左边距', + name: 'left', + required: true, + placeholder: '', + }, + { + type: 'el-input-number', + label: '上边距', + name: 'top', + required: true, + placeholder: '', + }, + { + type: 'el-input-number', + label: '宽度', + name: 'width', + required: true, + placeholder: '该容器在1920px大屏中的宽度', + }, + { + type: 'el-input-number', + label: '高度', + name: 'height', + required: true, + placeholder: '该容器在1080px大屏中的高度', + }, + ], + } +} \ No newline at end of file diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-table.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-table.js index ea67c25c..a0b7cc92 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-table.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-table.js @@ -3,303 +3,311 @@ * @version: * @Author: qianlishi * @Date: 2021-08-29 07:16:10 - * @LastEditors: qianlishi - * @LastEditTime: 2021-09-28 14:19:54 + * @LastEditors: qianlishi qianlishi@anji-plus.com + * @LastEditTime: 2023-01-11 13:18:28 */ export const widgetTable = { - code: 'widget-table', - type: 'text', - tabName: '文本栏', - label: '表格', - icon: 'iconbiaoge', - options: { - setup: [ - { - type: 'el-input-text', - label: '图层名称', - name: 'layerName', - required: false, - placeholder: '', - value: '表格', - }, - { - type: 'el-select', - label: '字体位置', - name: 'textAlign', - required: false, - placeholder: '', - selectOptions: [ - {code: 'center', name: '居中'}, - {code: 'left', name: '左对齐'}, - {code: 'right', name: '右对齐'}, - ], - value: 'center' - }, - { - type: 'el-input-number', - label: '字体字号', - name: 'fontSize', - required: false, - placeholder: '', - value: '16' - }, - { - type: 'el-input-number', - label: '显示行数', - name: 'vis', - required: false, - placeholder: '', - value: '5' - }, - { - type: 'el-input-number', - label: '行高', - name: 'rowHeight', - required: false, - placeholder: '', - value: '50' - }, - { - type: 'el-switch', - label: '开启滚动', - name: 'isRoll', - required: false, - placeholder: '', - value: true - }, - { - type: 'el-select', - label: '动画效果', - name: 'effect', - required: false, - placeholder: '', - selectOptions: [ - {code: 'top', name: '上滚动'}, - {code: 'topLoop', name: '上循环滚动'}, - ], - value: 'topLoop' - }, - { - type: 'el-input-number', - label: '滚动间隔(毫秒)', - name: 'interTime', - required: false, - placeholder: '', - value: 2500 - }, - { - type: 'el-input-number', - label: '动效时间(毫秒)', - name: 'delayTime', - required: false, - placeholder: '', - value: 500 - }, - { - type: 'el-input-number', - label: '滚动个数', - name: 'scroll', - required: false, - placeholder: '', - value: 1 - }, - { - type: 'el-switch', - label: '边框线', - name: 'isLine', - required: false, - placeholder: '', - value: false - }, - { - type: 'el-input-number', - label: '边框宽度', - name: 'borderWidth', - required: false, - placeholder: '', - value: 1 - }, - { - type: 'vue-color', - label: '边框颜色', - name: 'borderColor', - required: false, - placeholder: '', - value: '#fff' - }, - [ - { - name: '表头设置', - list: [ - { - type: 'el-switch', - label: '表头显隐', - name: 'isHeader', - required: false, - placeholder: '', - value: true, - }, - { - type: 'vue-color', - label: '表头颜色', - name: 'headColor', - require: false, - placeholder: '', - value: '#fff', - }, - { - type: 'vue-color', - label: '表头背景', - name: 'headBackColor', - require: false, - placeholder: '', - value: '#0a73ff', - }, - ], - }, - { - name: '表体设置', - list: [ - { - type: 'vue-color', - label: '文字颜色', - name: 'bodyColor', - required: false, - placeholder: '', - value: '#fff', - }, - { - type: 'vue-color', - label: '表格背景色', - name: 'tableBgColor', - require: false, - placeholder: '', - value: '', - }, - { - type: 'vue-color', - label: '奇行颜色', - name: 'oldColor', - require: false, - placeholder: '', - value: '#0a2732', - }, - { - type: 'vue-color', - label: '偶行颜色', - name: 'eventColor', - required: false, - placeholder: '', - value: '#003b51' - } - ], - }, + code: 'widget-table', + type: 'text', + tabName: '文本栏', + label: '表格', + icon: 'iconbiaoge', + options: { + setup: [ + { + type: 'el-input-text', + label: '图层名称', + name: 'layerName', + required: false, + placeholder: '', + value: '表格', + }, + { + type: 'el-input-text', + label: '图层唯一标识', + name: 'uuid', + disabled: true, + value: 'widget-table' + Date.now() + }, + { + type: 'el-select', + label: '字体位置', + name: 'textAlign', + required: false, + placeholder: '', + selectOptions: [ + { code: 'center', name: '居中' }, + { code: 'left', name: '左对齐' }, + { code: 'right', name: '右对齐' }, ], + value: 'center' + }, + { + type: 'el-input-number', + label: '字体字号', + name: 'fontSize', + required: false, + placeholder: '', + value: '16' + }, + { + type: 'el-input-number', + label: '显示行数', + name: 'vis', + required: false, + placeholder: '', + value: '5' + }, + { + type: 'el-input-number', + label: '行高', + name: 'rowHeight', + required: false, + placeholder: '', + value: '50' + }, + { + type: 'el-switch', + label: '开启滚动', + name: 'isRoll', + required: false, + placeholder: '', + value: true + }, + { + type: 'el-select', + label: '动画效果', + name: 'effect', + required: false, + placeholder: '', + selectOptions: [ + { code: 'top', name: '上滚动' }, + { code: 'topLoop', name: '上循环滚动' }, + ], + value: 'topLoop' + }, + { + type: 'el-input-number', + label: '滚动间隔(毫秒)', + name: 'interTime', + required: false, + placeholder: '', + value: 2500 + }, + { + type: 'el-input-number', + label: '动效时间(毫秒)', + name: 'delayTime', + required: false, + placeholder: '', + value: 500 + }, + { + type: 'el-input-number', + label: '滚动个数', + name: 'scroll', + required: false, + placeholder: '', + value: 1 + }, + { + type: 'el-switch', + label: '边框线', + name: 'isLine', + required: false, + placeholder: '', + value: false + }, + { + type: 'el-input-number', + label: '边框宽度', + name: 'borderWidth', + required: false, + placeholder: '', + value: 1 + }, + { + type: 'vue-color', + label: '边框颜色', + name: 'borderColor', + required: false, + placeholder: '', + value: '#fff' + }, + [ { - type: 'dynamic-add-table', - label: '', - name: 'dynamicAddTable', - required: false, - placeholder: '', - value: [ - {name: '日期', key: 'date', width: '50%'}, - {name: '姓名', key: 'name', width: '50%'}, - {name: '地址', key: 'address', width: '200%', - }] - } - ], - data: [ - { - type: 'el-radio-group', - label: '数据类型', - name: 'dataType', - require: false, - placeholder: '', - selectValue: true, - selectOptions: [ + name: '表头设置', + list: [ + { + type: 'el-switch', + label: '表头显隐', + name: 'isHeader', + required: false, + placeholder: '', + value: true, + }, { - code: 'staticData', - name: '静态数据', + type: 'vue-color', + label: '表头颜色', + name: 'headColor', + require: false, + placeholder: '', + value: '#fff', }, { - code: 'dynamicData', - name: '动态数据', + type: 'vue-color', + label: '表头背景', + name: 'headBackColor', + require: false, + placeholder: '', + value: '#0a73ff', }, ], - value: 'staticData', - }, - { - type: 'el-input-number', - label: '刷新时间(毫秒)', - name: 'refreshTime', - relactiveDom: 'dataType', - relactiveDomValue: 'dynamicData', - value: 30000 }, { - type: 'el-button', - label: '静态数据', - name: 'staticData', - required: false, - placeholder: '', - relactiveDom: 'dataType', - relactiveDomValue: 'staticData', - value: [ - {date: '2016-05-02', name: '王小虎', address: '上海市普陀区金沙江路 1518 弄0001'}, - {date: '2016-05-02', name: '王小虎', address: '上海市普陀区金沙江路 1518 弄0002'}, - {date: '2016-05-02', name: '王小虎', address: '上海市普陀区金沙江路 1518 弄0003'}, - {date: '2016-05-02', name: '王小虎', address: '上海市普陀区金沙江路 1518 弄0004'}, - {date: '2016-05-02', name: '王小虎', address: '上海市普陀区金沙江路 1518 弄0005'}, - {date: '2016-05-02', name: '王小虎', address: '上海市普陀区金沙江路 1518 弄0006'}, - {date: '2016-05-02', name: '王小虎', address: '上海市普陀区金沙江路 1518 弄0007'}, + name: '表体设置', + list: [ + { + type: 'vue-color', + label: '文字颜色', + name: 'bodyColor', + required: false, + placeholder: '', + value: '#fff', + }, + { + type: 'vue-color', + label: '表格背景色', + name: 'tableBgColor', + require: false, + placeholder: '', + value: '', + }, + { + type: 'vue-color', + label: '奇行颜色', + name: 'oldColor', + require: false, + placeholder: '', + value: '#0a2732', + }, + { + type: 'vue-color', + label: '偶行颜色', + name: 'eventColor', + required: false, + placeholder: '', + value: '#003b51' + } ], }, - { - type: 'dycustComponents', - label: '', - name: 'dynamicData', - required: false, - placeholder: '', - relactiveDom: 'dataType', - relactiveDomValue: 'dynamicData', - chartType: 'widget-table', - dictKey: 'TEXT_PROPERTIES', - value: '', - }, ], - position: [ - { - type: 'el-input-number', - label: '左边距', - name: 'left', - required: false, - placeholder: '', - value: 0, - }, - { - type: 'el-input-number', - label: '上边距', - name: 'top', - required: false, - placeholder: '', - value: 0, - }, - { - type: 'el-input-number', - label: '宽度', - name: 'width', - required: false, - placeholder: '该容器在1920px大屏中的宽度', - value: 600, - }, - { - type: 'el-input-number', - label: '高度', - name: 'height', - required: false, - placeholder: '该容器在1080px大屏中的高度', - value: 300, - }, - ] - } + { + type: 'dynamic-add-table', + label: '', + name: 'dynamicAddTable', + required: false, + placeholder: '', + value: [ + { name: '日期', key: 'date', width: '50%' }, + { name: '姓名', key: 'name', width: '50%' }, + { + name: '地址', key: 'address', width: '200%', + }] + } + ], + data: [ + { + type: 'el-radio-group', + label: '数据类型', + name: 'dataType', + require: false, + placeholder: '', + selectValue: true, + selectOptions: [ + { + code: 'staticData', + name: '静态数据', + }, + { + code: 'dynamicData', + name: '动态数据', + }, + ], + value: 'staticData', + }, + { + type: 'el-input-number', + label: '刷新时间(毫秒)', + name: 'refreshTime', + relactiveDom: 'dataType', + relactiveDomValue: 'dynamicData', + value: 30000 + }, + { + type: 'el-button', + label: '静态数据', + name: 'staticData', + required: false, + placeholder: '', + relactiveDom: 'dataType', + relactiveDomValue: 'staticData', + value: [ + { date: '2016-05-02', name: '王小虎', address: '上海市普陀区金沙江路 1518 弄0001' }, + { date: '2016-05-02', name: '王小虎', address: '上海市普陀区金沙江路 1518 弄0002' }, + { date: '2016-05-02', name: '王小虎', address: '上海市普陀区金沙江路 1518 弄0003' }, + { date: '2016-05-02', name: '王小虎', address: '上海市普陀区金沙江路 1518 弄0004' }, + { date: '2016-05-02', name: '王小虎', address: '上海市普陀区金沙江路 1518 弄0005' }, + { date: '2016-05-02', name: '王小虎', address: '上海市普陀区金沙江路 1518 弄0006' }, + { date: '2016-05-02', name: '王小虎', address: '上海市普陀区金沙江路 1518 弄0007' }, + ], + }, + { + type: 'dycustComponents', + label: '', + name: 'dynamicData', + required: false, + placeholder: '', + relactiveDom: 'dataType', + relactiveDomValue: 'dynamicData', + chartType: 'widget-table', + dictKey: 'TEXT_PROPERTIES', + value: '', + }, + ], + position: [ + { + type: 'el-input-number', + label: '左边距', + name: 'left', + required: false, + placeholder: '', + value: 0, + }, + { + type: 'el-input-number', + label: '上边距', + name: 'top', + required: false, + placeholder: '', + value: 0, + }, + { + type: 'el-input-number', + label: '宽度', + name: 'width', + required: false, + placeholder: '该容器在1920px大屏中的宽度', + value: 600, + }, + { + type: 'el-input-number', + label: '高度', + name: 'height', + required: false, + placeholder: '该容器在1080px大屏中的高度', + value: 300, + }, + ] } +} diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-text.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-text.js index 74bba57e..707709e2 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-text.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-text.js @@ -3,181 +3,188 @@ * @version: * @Author: qianlishi * @Date: 2021-08-29 06:52:13 - * @LastEditors: qianlishi - * @LastEditTime: 2021-09-28 14:20:12 + * @LastEditors: qianlishi qianlishi@anji-plus.com + * @LastEditTime: 2023-01-11 13:18:36 */ -export const widgetText = { - code: 'widget-text', - type: 'text', - tabName: '文本栏', - label: '文本', - icon: 'iconziyuan', - options: { - // 配置 - setup: [ - { - type: 'el-input-text', - label: '图层名称', - name: 'layerName', - required: false, - placeholder: '', - value: '文本框', - }, - { - type: 'el-input-text', - label: '文本内容', - name: 'text', - required: false, - placeholder: '', - value: '文本框', - }, - { - type: 'el-input-number', - label: '字体字号', - name: 'fontSize', - required: false, - placeholder: '', - value: '26', - }, - { - type: 'vue-color', - label: '字体颜色', - name: 'color', - required: false, - placeholder: '', - value: '#FAD400', - }, - { - type: 'el-input-number', - label: '字体间距', - name: 'letterSpacing', - required: false, - placeholder: '', - value: '0', - }, - { - type: 'vue-color', - label: '字体背景', - name: 'background', - required: false, - placeholder: '', - value: 'rgba(115,170,229,.0)', - }, - { - type: 'el-select', - label: '文字粗细', - name: 'fontWeight', - required: false, - placeholder: '', - selectOptions: [ - {code: 'normal', name: '正常'}, - {code: 'bold', name: '粗体'}, - {code: 'bolder', name: '特粗体'}, - {code: 'lighter', name: '细体'} - ], - value: 'normal' - }, - { - type: 'el-select', - label: '对齐方式', - name: 'textAlign', - required: false, - placeholder: '', - selectOptions: [ - {code: 'center', name: '居中'}, - {code: 'left', name: '左对齐'}, - {code: 'right', name: '右对齐'}, - ], - value: 'center' - }, - ], - // 数据 - data: [ - { - type: 'el-radio-group', - label: '数据类型', - name: 'dataType', - require: false, - placeholder: '', - selectValue: true, - selectOptions: [ - { - code: 'staticData', - name: '静态数据', - }, - { - code: 'dynamicData', - name: '动态数据', - }, - ], - value: 'staticData', - }, - { - type: 'el-input-number', - label: '刷新时间(毫秒)', - name: 'refreshTime', - relactiveDom: 'dataType', - relactiveDomValue: 'dynamicData', - value: 5000 - }, - { - type: 'el-button', - label: '静态数据', - name: 'staticData', - required: false, - placeholder: '', - relactiveDom: 'dataType', - relactiveDomValue: 'staticData', - value: '文本框', - }, - { - type: 'dycustComponents', - label: '', - name: 'dynamicData', - required: false, - placeholder: '', - relactiveDom: 'dataType', - relactiveDomValue: 'dynamicData', - chartType: 'widget-text', - dictKey: 'TEXT_PROPERTIES', - value: '', - } - ], +export const widgetText = { + code: 'widget-text', + type: 'text', + tabName: '文本栏', + label: '文本', + icon: 'iconziyuan', + options: { + // 配置 + setup: [ + { + type: 'el-input-text', + label: '图层名称', + name: 'layerName', + required: false, + placeholder: '', + value: '文本框', + }, + { + type: 'el-input-text', + label: '图层唯一标识', + name: 'uuid', + disabled: true, + value: 'widget-text' + Date.now() + }, + { + type: 'el-input-text', + label: '文本内容', + name: 'text', + required: false, + placeholder: '', + value: '文本框', + }, + { + type: 'el-input-number', + label: '字体字号', + name: 'fontSize', + required: false, + placeholder: '', + value: '26', + }, + { + type: 'vue-color', + label: '字体颜色', + name: 'color', + required: false, + placeholder: '', + value: '#FAD400', + }, + { + type: 'el-input-number', + label: '字体间距', + name: 'letterSpacing', + required: false, + placeholder: '', + value: '0', + }, + { + type: 'vue-color', + label: '字体背景', + name: 'background', + required: false, + placeholder: '', + value: 'rgba(115,170,229,.0)', + }, + { + type: 'el-select', + label: '文字粗细', + name: 'fontWeight', + required: false, + placeholder: '', + selectOptions: [ + { code: 'normal', name: '正常' }, + { code: 'bold', name: '粗体' }, + { code: 'bolder', name: '特粗体' }, + { code: 'lighter', name: '细体' } + ], + value: 'normal' + }, + { + type: 'el-select', + label: '对齐方式', + name: 'textAlign', + required: false, + placeholder: '', + selectOptions: [ + { code: 'center', name: '居中' }, + { code: 'left', name: '左对齐' }, + { code: 'right', name: '右对齐' }, + ], + value: 'center' + }, + ], + // 数据 + data: [ + { + type: 'el-radio-group', + label: '数据类型', + name: 'dataType', + require: false, + placeholder: '', + selectValue: true, + selectOptions: [ + { + code: 'staticData', + name: '静态数据', + }, + { + code: 'dynamicData', + name: '动态数据', + }, + ], + value: 'staticData', + }, + { + type: 'el-input-number', + label: '刷新时间(毫秒)', + name: 'refreshTime', + relactiveDom: 'dataType', + relactiveDomValue: 'dynamicData', + value: 5000 + }, + { + type: 'el-button', + label: '静态数据', + name: 'staticData', + required: false, + placeholder: '', + relactiveDom: 'dataType', + relactiveDomValue: 'staticData', + value: '文本框', + }, + { + type: 'dycustComponents', + label: '', + name: 'dynamicData', + required: false, + placeholder: '', + relactiveDom: 'dataType', + relactiveDomValue: 'dynamicData', + chartType: 'widget-text', + dictKey: 'TEXT_PROPERTIES', + value: '', + } + ], - // 坐标 - position: [ - { - type: 'el-input-number', - label: '左边距', - name: 'left', - required: false, - placeholder: '', - value: 0, - }, - { - type: 'el-input-number', - label: '上边距', - name: 'top', - required: false, - placeholder: '', - value: 0, - }, - { - type: 'el-input-number', - label: '宽度', - name: 'width', - required: false, - placeholder: '该容器在1920px大屏中的宽度', - value: 100, - }, - { - type: 'el-input-number', - label: '高度', - name: 'height', - required: false, - placeholder: '该容器在1080px大屏中的高度', - value: 40 - }, - ], - } + // 坐标 + position: [ + { + type: 'el-input-number', + label: '左边距', + name: 'left', + required: false, + placeholder: '', + value: 0, + }, + { + type: 'el-input-number', + label: '上边距', + name: 'top', + required: false, + placeholder: '', + value: 0, + }, + { + type: 'el-input-number', + label: '宽度', + name: 'width', + required: false, + placeholder: '该容器在1920px大屏中的宽度', + value: 100, + }, + { + type: 'el-input-number', + label: '高度', + name: 'height', + required: false, + placeholder: '该容器在1080px大屏中的高度', + value: 40 + }, + ], } +} diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-time.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-time.js index 9779698f..b9eff3b0 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-time.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-time.js @@ -3,142 +3,149 @@ * @version: * @Author: qianlishi * @Date: 2021-08-29 07:05:52 - * @LastEditors: qianlishi - * @LastEditTime: 2021-09-28 14:20:30 + * @LastEditors: qianlishi qianlishi@anji-plus.com + * @LastEditTime: 2023-01-11 13:18:54 */ -export const widgetTime = { - code: 'widget-time', - type: 'text', - tabName: '文本栏', - label: '当前时间', - icon: 'iconshijian', - options: { - // 配置 - setup: [ - { - type: 'el-input-text', - label: '图层名称', - name: 'layerName', - required: false, - placeholder: '', - value: '当前时间', - }, - { - type: 'el-select', - label: '时间格式', - name: 'timeFormat', - required: false, - placeholder: '', - selectOptions: [ - {code: 'yyyy-MM-dd', name: '日期'}, - {code: 'yyyy-MM-dd hh:mm', name: '日期+时分'}, - {code: 'yyyy-MM-dd hh:mm:ss', name: '日期+时分秒'}, - {code: 'MM-dd', name: '日期无年'}, - {code: 'hh:mm', name: '时分'}, - {code: 'hh:mm:ss', name: '时分秒'}, - {code: 'year-week', name: '日期+星期'}, - {code: 'year-h-m-week', name: '日期+时分+星期'}, - {code: 'year-h-m-s-week', name: '日期+时分秒+星期'}, - {code: 'week', name: '星期'} - ], - value: 'yyyy-MM-dd hh:mm:ss' - }, - { - type: 'el-input-number', - label: '字体间距', - name: 'letterSpacing', - required: false, - placeholder: '', - value: '0' - }, - { - type: 'el-input-number', - label: '字体字号', - name: 'fontSize', - required: false, - placeholder: '', - value: '36' - }, - { - type: 'vue-color', - label: '字体颜色', - name: 'color', - required: false, - placeholder: '', - value: '#FAD400' - }, - { - type: 'vue-color', - label: '字体背景', - name: 'background', - required: false, - placeholder: '', - value: 'rgba(115,170,229,.5)' - }, - { - type: 'el-select', - label: '文字粗细', - name: 'fontWeight', - required: false, - placeholder: '', - selectOptions: [ - {code: 'normal', name: '正常'}, - {code: 'bold', name: '粗体'}, - {code: 'bolder', name: '特粗体'}, - {code: 'lighter', name: '细体'} - ], - value: 'normal' - }, - { - type: 'el-select', - label: '对齐方式', - name: 'textAlign', - required: false, - placeholder: '', - selectOptions: [ - {code: 'center', name: '居中'}, - {code: 'left', name: '左对齐'}, - {code: 'right', name: '右对齐'}, - ], - value: 'left' - }, - ], - // 数据 - data: [], - // 坐标 - position: [ - { - type: 'el-input-number', - label: '左边距', - name: 'left', - required: false, - placeholder: '', - value: 0, - }, - { - type: 'el-input-number', - label: '上边距', - name: 'top', - required: false, - placeholder: '', - value: 0, - }, - { - type: 'el-input-number', - label: '宽度', - name: 'width', - required: false, - placeholder: '该容器在1920px大屏中的宽度', - value: 400, - }, - { - type: 'el-input-number', - label: '高度', - name: 'height', - required: false, - placeholder: '该容器在1080px大屏中的高度', - value: 50, - }, - ], - } +export const widgetTime = { + code: 'widget-time', + type: 'text', + tabName: '文本栏', + label: '当前时间', + icon: 'iconshijian', + options: { + // 配置 + setup: [ + { + type: 'el-input-text', + label: '图层名称', + name: 'layerName', + required: false, + placeholder: '', + value: '当前时间', + }, + { + type: 'el-input-text', + label: '图层唯一标识', + name: 'uuid', + disabled: true, + value: 'widget-time' + Date.now() + }, + { + type: 'el-select', + label: '时间格式', + name: 'timeFormat', + required: false, + placeholder: '', + selectOptions: [ + { code: 'yyyy-MM-dd', name: '日期' }, + { code: 'yyyy-MM-dd hh:mm', name: '日期+时分' }, + { code: 'yyyy-MM-dd hh:mm:ss', name: '日期+时分秒' }, + { code: 'MM-dd', name: '日期无年' }, + { code: 'hh:mm', name: '时分' }, + { code: 'hh:mm:ss', name: '时分秒' }, + { code: 'year-week', name: '日期+星期' }, + { code: 'year-h-m-week', name: '日期+时分+星期' }, + { code: 'year-h-m-s-week', name: '日期+时分秒+星期' }, + { code: 'week', name: '星期' } + ], + value: 'yyyy-MM-dd hh:mm:ss' + }, + { + type: 'el-input-number', + label: '字体间距', + name: 'letterSpacing', + required: false, + placeholder: '', + value: '0' + }, + { + type: 'el-input-number', + label: '字体字号', + name: 'fontSize', + required: false, + placeholder: '', + value: '36' + }, + { + type: 'vue-color', + label: '字体颜色', + name: 'color', + required: false, + placeholder: '', + value: '#FAD400' + }, + { + type: 'vue-color', + label: '字体背景', + name: 'background', + required: false, + placeholder: '', + value: 'rgba(115,170,229,.5)' + }, + { + type: 'el-select', + label: '文字粗细', + name: 'fontWeight', + required: false, + placeholder: '', + selectOptions: [ + { code: 'normal', name: '正常' }, + { code: 'bold', name: '粗体' }, + { code: 'bolder', name: '特粗体' }, + { code: 'lighter', name: '细体' } + ], + value: 'normal' + }, + { + type: 'el-select', + label: '对齐方式', + name: 'textAlign', + required: false, + placeholder: '', + selectOptions: [ + { code: 'center', name: '居中' }, + { code: 'left', name: '左对齐' }, + { code: 'right', name: '右对齐' }, + ], + value: 'left' + }, + ], + // 数据 + data: [], + // 坐标 + position: [ + { + type: 'el-input-number', + label: '左边距', + name: 'left', + required: false, + placeholder: '', + value: 0, + }, + { + type: 'el-input-number', + label: '上边距', + name: 'top', + required: false, + placeholder: '', + value: 0, + }, + { + type: 'el-input-number', + label: '宽度', + name: 'width', + required: false, + placeholder: '该容器在1920px大屏中的宽度', + value: 400, + }, + { + type: 'el-input-number', + label: '高度', + name: 'height', + required: false, + placeholder: '该容器在1080px大屏中的高度', + value: 50, + }, + ], } +} diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-video.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-video.js index c8b8de33..8fcad063 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-video.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-video.js @@ -4,7 +4,7 @@ * @Author: qianlishi * @Date: 2021-08-29 07:10:22 * @LastEditors: qianlishi qianlishi@anji-plus.com - * @LastEditTime: 2022-11-07 15:42:46 + * @LastEditTime: 2023-01-11 13:19:06 */ export const widgetVideo = { code: 'widget-video', @@ -23,6 +23,13 @@ export const widgetVideo = { placeholder: '', value: 'video', }, + { + type: 'el-input-text', + label: '图层唯一标识', + name: 'uuid', + disabled: true, + value: 'widget-video' + Date.now() + }, { type: 'el-input-text', label: '地址', diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/wordcloudCharts/widget-word-cloud.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/wordcloudCharts/widget-word-cloud.js index 542a77be..e68040e8 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/wordcloudCharts/widget-word-cloud.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/wordcloudCharts/widget-word-cloud.js @@ -15,6 +15,13 @@ export const widgetWordCloud = { placeholder: '', value: '词云图', }, + { + type: 'el-input-text', + label: '图层唯一标识', + name: 'uuid', + disabled: true, + value: 'widgetWordCloud' + Date.now() + }, { type: 'vue-color', label: '背景颜色', From 1bd50e3ac6878fb7cd511bb7dbb17e2f20678745 Mon Sep 17 00:00:00 2001 From: qianlishi Date: Thu, 12 Jan 2023 15:33:43 +0800 Subject: [PATCH 11/86] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=B8=8B=E6=8B=89?= =?UTF-8?q?=E4=BA=8B=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- report-ui/src/utils/eventBus.js | 5 + report-ui/src/utils/screen.js | 17 +++ .../designer/components/dynamicForm.vue | 3 + .../bigscreenDesigner/designer/index.vue | 11 +- .../tools/configure/form/widget-select.js | 31 ++--- .../designer/widget/bar/widgetBarchart.vue | 120 ++++++++++-------- .../designer/widget/form/widgetSelect.vue | 46 +++---- 7 files changed, 135 insertions(+), 98 deletions(-) create mode 100644 report-ui/src/utils/eventBus.js create mode 100644 report-ui/src/utils/screen.js diff --git a/report-ui/src/utils/eventBus.js b/report-ui/src/utils/eventBus.js new file mode 100644 index 00000000..f3aceb6f --- /dev/null +++ b/report-ui/src/utils/eventBus.js @@ -0,0 +1,5 @@ +import Vue from 'vue' + +const eventBus = new Vue() + +export { eventBus } \ No newline at end of file diff --git a/report-ui/src/utils/screen.js b/report-ui/src/utils/screen.js new file mode 100644 index 00000000..68ce161d --- /dev/null +++ b/report-ui/src/utils/screen.js @@ -0,0 +1,17 @@ +export function setAssChartData(widgets, options) { + const selectOptions = options.filter(item => item.uuid).map(item => { + return { + code: item.uuid, + name: item.label + } + }) + widgets.forEach(item => { + const setup = item['options']['setup'] + console.log(setup) + setup.forEach(sItem => { + if (sItem.name == 'assChart') { + sItem['selectOptions'] = selectOptions + } + }) + }) +} \ No newline at end of file diff --git a/report-ui/src/views/bigscreenDesigner/designer/components/dynamicForm.vue b/report-ui/src/views/bigscreenDesigner/designer/components/dynamicForm.vue index b211c16c..2e607796 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/components/dynamicForm.vue +++ b/report-ui/src/views/bigscreenDesigner/designer/components/dynamicForm.vue @@ -88,6 +88,7 @@ size="mini" :disabled="item.disabled" v-model="formData[item.name]" + :multiple="item.multiple" clearable placeholder="请选择" @change="(val) => changed(val, item.name)" @@ -384,6 +385,8 @@ export default { }, // 无论哪个输入框改变 都需要触发事件 将值回传 changed(val, key) { + console.log(val); + console.log(key); if (val.extend) { this.$set(this.formData, key, val.value); } else { diff --git a/report-ui/src/views/bigscreenDesigner/designer/index.vue b/report-ui/src/views/bigscreenDesigner/designer/index.vue index 428c1f41..b20c46d8 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/index.vue +++ b/report-ui/src/views/bigscreenDesigner/designer/index.vue @@ -312,6 +312,7 @@ import VueRulerTool from "vue-ruler-tool"; // 大屏设计页面的标尺插件 import contentMenu from "./components/contentMenu"; import { getToken } from "@/utils/auth"; import { Revoke } from "@/utils/revoke"; //处理历史记录 2022-02-22 +import { setAssChartData } from "@/utils/screen.js"; export default { name: "Login", @@ -444,7 +445,6 @@ export default { watch: { widgets: { handler(val) { - this.handlerLayerWidget(val); //以下部分是记录历史 this.$nextTick(() => { this.revoke.push(this.widgets); @@ -491,7 +491,7 @@ export default { this.widgets = record; }, handlerLayerWidget(val) { - console.log(val) + console.log(val); const layerWidgetArr = []; for (let i = 0; i < val.length; i++) { const obj = {}; @@ -501,11 +501,14 @@ export default { if (el.name == "layerName") { obj.label = el.value; } + if (el.name == "uuid") { + obj.uuid = el.value; + } }); layerWidgetArr.push(obj); } this.layerWidget = layerWidgetArr; - console.log(this.layerWidget); + setAssChartData(this.widgets, this.layerWidget); }, async initEchartData() { const reportCode = this.$route.query.reportCode; @@ -517,6 +520,7 @@ export default { this.dashboard = screenData; this.bigscreenWidth = this.dashboard.width; this.bigscreenHeight = this.dashboard.height; + this.handlerLayerWidget(this.widgets); }, handleBigScreen(data) { const optionScreen = getToolByCode("screen").options; @@ -746,6 +750,7 @@ export default { this.setOptionsOnClickWidget(this.widgets.length - 1); console.log("123", this.widgets); + this.handlerLayerWidget(this.widgets); }, // 对组件默认值处理 diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/form/widget-select.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/form/widget-select.js index f5cd456d..f989f810 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/form/widget-select.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/form/widget-select.js @@ -3,7 +3,7 @@ * @Author: qianlishi qianlishi@anji-plus.com * @Date: 2023-01-09 13:02:59 * @LastEditors: qianlishi qianlishi@anji-plus.com - * @LastEditTime: 2023-01-10 09:40:53 + * @LastEditTime: 2023-01-12 14:39:29 */ export const widgetSelect = { @@ -24,11 +24,11 @@ export const widgetSelect = { }, { type: 'el-input-text', - label: '默认值', - name: 'text', + label: '字段属性值', + name: 'field', required: false, - placeholder: '', - value: '超链接', + placeholder: '请输入', + value: '', }, { type: 'vue-color', @@ -52,11 +52,8 @@ export const widgetSelect = { name: 'assChart', required: false, placeholder: '', - selectOptions: [ - { code: 'center', name: '居中' }, - { code: 'left', name: '左对齐' }, - { code: 'right', name: '右对齐' }, - ], + multiple: true, + selectOptions: [], value: '', }, { @@ -102,11 +99,11 @@ export const widgetSelect = { relactiveDom: 'dataType', relactiveDomValue: 'staticData', value: [ - { "axis": "苹果", "data": 1000 }, - { "axis": "三星", "data": 2229 }, - { "axis": "小米", "data": 3879 }, - { "axis": "oppo", "data": 2379 }, - { "axis": "vivo", "data": 4079 }, + { "name": "苹果", "code": 1000 }, + { "name": "三星", "code": 2229 }, + { "name": "小米", "code": 3879 }, + { "name": "oppo", "code": 2379 }, + { "name": "vivo", "code": 4079 }, ], }, { @@ -117,8 +114,8 @@ export const widgetSelect = { placeholder: '', relactiveDom: 'dataType', relactiveDomValue: 'dynamicData', - chartType: 'widget-barchart', - dictKey: 'BAR_PROPERTIES', + chartType: 'widget-select', + dictKey: 'SELECT_PROPERTIES', value: '', }, ], diff --git a/report-ui/src/views/bigscreenDesigner/designer/widget/bar/widgetBarchart.vue b/report-ui/src/views/bigscreenDesigner/designer/widget/bar/widgetBarchart.vue index 21143686..aa8b1dbe 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/widget/bar/widgetBarchart.vue +++ b/report-ui/src/views/bigscreenDesigner/designer/widget/bar/widgetBarchart.vue @@ -1,16 +1,17 @@ diff --git a/report-ui/src/views/bigscreenDesigner/designer/widget/form/widgetSelect.vue b/report-ui/src/views/bigscreenDesigner/designer/widget/form/widgetSelect.vue index c028f710..05741d7a 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/widget/form/widgetSelect.vue +++ b/report-ui/src/views/bigscreenDesigner/designer/widget/form/widgetSelect.vue @@ -4,11 +4,13 @@ :style="styleObj" v-model="selectValue" :localOptions="options" - label="text" - option="id" + label="name" + option="code" + @[eventChange]="change" /> diff --git a/report-ui/src/views/bigscreenDesigner/designer/widget/bar/widgetBarStackChart.vue b/report-ui/src/views/bigscreenDesigner/designer/widget/bar/widgetBarStackChart.vue index acf82a5b..e1c086b1 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/widget/bar/widgetBarStackChart.vue +++ b/report-ui/src/views/bigscreenDesigner/designer/widget/bar/widgetBarStackChart.vue @@ -1,16 +1,17 @@ @@ -454,5 +462,4 @@ export default { height: 100%; overflow: hidden; } - diff --git a/report-ui/src/views/bigscreenDesigner/designer/widget/bar/widgetGradientColorBarchart.vue b/report-ui/src/views/bigscreenDesigner/designer/widget/bar/widgetGradientColorBarchart.vue index bbd7e93b..441cbc3d 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/widget/bar/widgetGradientColorBarchart.vue +++ b/report-ui/src/views/bigscreenDesigner/designer/widget/bar/widgetGradientColorBarchart.vue @@ -1,18 +1,18 @@ diff --git a/report-ui/src/views/bigscreenDesigner/designer/widget/barline/widgetBarLineStackChart.vue b/report-ui/src/views/bigscreenDesigner/designer/widget/barline/widgetBarLineStackChart.vue index 194800aa..e0e64a28 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/widget/barline/widgetBarLineStackChart.vue +++ b/report-ui/src/views/bigscreenDesigner/designer/widget/barline/widgetBarLineStackChart.vue @@ -1,16 +1,17 @@ @@ -581,5 +605,4 @@ export default { height: 100%; overflow: hidden; } - diff --git a/report-ui/src/views/bigscreenDesigner/designer/widget/barline/widgetBarlinechart.vue b/report-ui/src/views/bigscreenDesigner/designer/widget/barline/widgetBarlinechart.vue index c6b3dc46..2dfbdf71 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/widget/barline/widgetBarlinechart.vue +++ b/report-ui/src/views/bigscreenDesigner/designer/widget/barline/widgetBarlinechart.vue @@ -5,6 +5,7 @@ diff --git a/report-ui/src/views/bigscreenDesigner/designer/widget/line/widgetLineStackChart.vue b/report-ui/src/views/bigscreenDesigner/designer/widget/line/widgetLineStackChart.vue index b57c6c20..b6e3a7a0 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/widget/line/widgetLineStackChart.vue +++ b/report-ui/src/views/bigscreenDesigner/designer/widget/line/widgetLineStackChart.vue @@ -1,16 +1,17 @@ @@ -485,5 +493,4 @@ export default { height: 100%; overflow: hidden; } - diff --git a/report-ui/src/views/bigscreenDesigner/designer/widget/map/widgetAirBubbleMap.vue b/report-ui/src/views/bigscreenDesigner/designer/widget/map/widgetAirBubbleMap.vue index 1fcd4824..0c76c929 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/widget/map/widgetAirBubbleMap.vue +++ b/report-ui/src/views/bigscreenDesigner/designer/widget/map/widgetAirBubbleMap.vue @@ -41,159 +41,159 @@ let geoCoordMap = { 广西壮族自治区: [108.479, 23.1152], 海南省: [110.3893, 19.8516], 上海市: [121.4648, 31.2891], - 香港: [114.173355,22.320048], - 澳门: [113.54909,22.198951] + 香港: [114.173355, 22.320048], + 澳门: [113.54909, 22.198951], }; let data = [ { name: "南海诸岛", - value: 1 + value: 1, }, { name: "北京", - value: 524 + value: 524, }, { name: "天津", - value: 14 + value: 14, }, { name: "上海", - value: 150 + value: 150, }, { name: "重庆", - value: 75 + value: 75, }, { name: "河北", - value: 13 + value: 13, }, { name: "河南", - value: 83 + value: 83, }, { name: "云南", - value: 11 + value: 11, }, { name: "辽宁", - value: 19 + value: 19, }, { name: "黑龙江", - value: 15 + value: 15, }, { name: "湖南", - value: 69 + value: 69, }, { name: "安徽", - value: 260 + value: 260, }, { name: "山东", - value: 39 + value: 39, }, { name: "新疆", - value: 4 + value: 4, }, { name: "江苏", - value: 31 + value: 31, }, { name: "浙江", - value: 104 + value: 104, }, { name: "江西", - value: 36 + value: 36, }, { name: "湖北", - value: 1052 + value: 1052, }, { name: "广西", - value: 33 + value: 33, }, { name: "甘肃", - value: 347 + value: 347, }, { name: "山西", - value: 8 + value: 8, }, { name: "内蒙古", - value: 157 + value: 157, }, { name: "陕西", - value: 22 + value: 22, }, { name: "吉林", - value: 4 + value: 4, }, { name: "福建", - value: 36 + value: 36, }, { name: "贵州", - value: 39 + value: 39, }, { name: "广东", - value: 996 + value: 996, }, { name: "青海", - value: 27 + value: 27, }, { name: "西藏", - value: 31 + value: 31, }, { name: "四川", - value: 46 + value: 46, }, { name: "宁夏", - value: 16 + value: 16, }, { name: "海南", - value: 22 + value: 22, }, { name: "台湾", - value: 6 + value: 6, }, { name: "香港", - value: 2 + value: 2, }, { name: "澳门", - value: 9 - } + value: 9, + }, ]; -let convertData = function(data) { +let convertData = function (data) { let res = []; for (let i = 0; i < data.length; i++) { let geoCoord = geoCoordMap[data[i].name]; if (geoCoord) { res.push({ name: data[i].name, - value: geoCoord.concat(data[i].value) + value: geoCoord.concat(data[i].value), }); } } @@ -203,26 +203,26 @@ let max = 6000, min = 10; let maxSize4Pin = 100, minSize4Pin = 20; - +import { eventBusParams } from "@/utils/screen"; export default { name: "widgetAirBubbleMap", props: { value: Object, - ispreview: Boolean + ispreview: Boolean, }, data() { return { options: { //backgroundColor: '#0F1C3C', tooltip: { - trigger: 'item', + trigger: "item", formatter: function (params) { - if (params.value.length >1 ) { + if (params.value.length > 1) { return params.data.name + "" + params.data.value[2]; } else { return params.name; } - } + }, }, geo: { map: "china", @@ -230,8 +230,8 @@ export default { roam: false, label: { emphasis: { - show: false - } + show: false, + }, }, layoutSize: "80%", itemStyle: { @@ -244,21 +244,21 @@ export default { [ { offset: 0, - color: "#00F6FF" + color: "#00F6FF", }, { offset: 1, - color: "#53D9FF" - } + color: "#53D9FF", + }, ], false ), borderWidth: 3, shadowColor: "rgba(10,76,139,1)", shadowOffsetY: 0, - shadowBlur: 60 - } - } + shadowBlur: 60, + }, + }, }, series: [ { @@ -271,11 +271,11 @@ export default { position: "right", show: true, color: "#53D9FF", - fontSize: 20 + fontSize: 20, }, emphasis: { - show: true - } + show: true, + }, }, itemStyle: { normal: { @@ -288,16 +288,16 @@ export default { colorStops: [ { offset: 0, - color: "#073684" // 0% 处的颜色 + color: "#073684", // 0% 处的颜色 }, { offset: 1, - color: "#061E3D" // 100% 处的颜色 - } - ] + color: "#061E3D", // 100% 处的颜色 + }, + ], }, borderColor: "#215495", - borderWidth: 1 + borderWidth: 1, }, //鼠标放置颜色加深 emphasis: { @@ -309,23 +309,23 @@ export default { colorStops: [ { offset: 0, - color: "#073684" // 0% 处的颜色 + color: "#073684", // 0% 处的颜色 }, { offset: 1, - color: "#2B91B7" // 100% 处的颜色 - } - ] - } - } + color: "#2B91B7", // 100% 处的颜色 + }, + ], + }, + }, }, - data: data + data: data, }, { type: "effectScatter", coordinateSystem: "geo", rippleEffect: { - brushType: "stroke" + brushType: "stroke", }, showEffectOn: "render", itemStyle: { @@ -339,20 +339,20 @@ export default { colorStops: [ { offset: 0, - color: "rgba(5,80,151,0.2)" + color: "rgba(5,80,151,0.2)", }, { offset: 0.8, - color: "rgba(5,80,151,0.8)" + color: "rgba(5,80,151,0.8)", }, { offset: 1, - color: "rgba(0,108,255,0.7)" - } + color: "rgba(0,108,255,0.7)", + }, ], - global: false - } - } + global: false, + }, + }, }, label: { normal: { @@ -360,19 +360,19 @@ export default { color: "#fff", fontWeight: "bold", position: "inside", - formatter: function(para) { + formatter: function (para) { return "{cnNum|" + para.data.value[2] + "}"; }, rich: { cnNum: { fontSize: 13, - color: "#D4EEFF" - } - } - } + color: "#D4EEFF", + }, + }, + }, }, symbol: "circle", - symbolSize: function(val) { + symbolSize: function (val) { if (val[2] == 0) { return 0; } @@ -384,14 +384,14 @@ export default { ); }, data: convertData(data), - zlevel: 1 - } - ] + zlevel: 1, + }, + ], }, optionsStyle: {}, // 样式 optionsData: {}, // 数据 optionsCollapse: {}, // 图标属性 - optionsSetup: {} + optionsSetup: {}, }; }, computed: { @@ -402,9 +402,9 @@ export default { height: this.optionsStyle.height + "px", left: this.optionsStyle.left + "px", top: this.optionsStyle.top + "px", - background: this.optionsSetup.background + background: this.optionsSetup.background, }; - } + }, }, watch: { value: { @@ -415,8 +415,8 @@ export default { this.optionsSetup = val.setup; this.editorOptions(); }, - deep: true - } + deep: true, + }, }, mounted() { this.optionsStyle = this.value.position; @@ -424,6 +424,14 @@ export default { this.optionsCollapse = this.value.setup; this.optionsSetup = this.value.setup; this.editorOptions(); + eventBusParams( + this.optionsSetup, + this.optionsData, + (dynamicData, optionsSetup) => { + console.log("dynamicData", dynamicData); + this.getEchartData(dynamicData, optionsSetup); + } + ); }, methods: { // 修改图标options属性 @@ -465,7 +473,7 @@ export default { show: optionsSetup.isShowMap, color: optionsSetup.fontTextColor, fontSize: optionsSetup.fontTextSize, - fontWeight: optionsSetup.fontTextWeight + fontWeight: optionsSetup.fontTextWeight, }; label["normal"] = normal; }, @@ -482,16 +490,16 @@ export default { colorStops: [ { offset: 0, - color: optionsSetup.font0PreColor // 0% 处的颜色 + color: optionsSetup.font0PreColor, // 0% 处的颜色 }, { offset: 1, - color: optionsSetup.font100PreColor // 100% 处的颜色 - } - ] + color: optionsSetup.font100PreColor, // 100% 处的颜色 + }, + ], }, borderColor: "#215495", - borderWidth: 1 + borderWidth: 1, }; //鼠标放置颜色加深 const emphasis = { @@ -503,14 +511,14 @@ export default { colorStops: [ { offset: 0, - color: "#073684" // 0% 处的颜色 + color: "#073684", // 0% 处的颜色 }, { offset: 1, - color: optionsSetup.fontHighlightColor // 100% 处的颜色 - } - ] - } + color: optionsSetup.fontHighlightColor, // 100% 处的颜色 + }, + ], + }, }; itemStyle["normal"] = normal; itemStyle["emphasis"] = emphasis; @@ -535,16 +543,16 @@ export default { color: "#fff", fontWeight: "bold", position: "inside", - formatter: function(para) { + formatter: function (para) { return "{cnNum|" + para.data.value[2] + "}"; }, rich: { cnNum: { fontSize: optionsSetup.fontDataSize, color: optionsSetup.fontDataColor, - fontWeight: optionsSetup.fontDataWeight - } - } + fontWeight: optionsSetup.fontDataWeight, + }, + }, }; const data = convertData(val); this.options.series[1]["data"] = data; @@ -563,7 +571,7 @@ export default { }, getEchartData(val) { const data = this.queryEchartsData(val); - data.then(res => { + data.then((res) => { this.renderingFn(res); }); }, @@ -576,22 +584,22 @@ export default { color: "#fff", fontWeight: "bold", position: "inside", - formatter: function(para) { + formatter: function (para) { return "{cnNum|" + para.data.value[2] + "}"; }, rich: { cnNum: { fontSize: optionsSetup.fontDataSize, color: optionsSetup.fontDataColor, - fontWeight: optionsSetup.fontDataWeight - } - } + fontWeight: optionsSetup.fontDataWeight, + }, + }, }; const data = convertData(val); this.options.series[1]["data"] = data; label["normal"] = normal; - } - } + }, + }, }; \ No newline at end of file + From 81469d42620a94b0ac78760d37290dd77d2e2b65 Mon Sep 17 00:00:00 2001 From: qianming Date: Tue, 7 Feb 2023 09:01:01 +0800 Subject: [PATCH 19/86] =?UTF-8?q?feat-=E8=A1=A8=E5=8D=95=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E8=BE=93=E5=85=A5=E6=A1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tools/configure/form/widget-input.js | 100 ++++++++++++++++++ .../bigscreenDesigner/designer/tools/main.js | 6 +- .../designer/widget/form/widgetInput.vue | 81 ++++++++++++++ .../designer/widget/temp.vue | 2 + .../designer/widget/widget.vue | 2 + 5 files changed, 189 insertions(+), 2 deletions(-) create mode 100644 report-ui/src/views/bigscreenDesigner/designer/tools/configure/form/widget-input.js create mode 100644 report-ui/src/views/bigscreenDesigner/designer/widget/form/widgetInput.vue diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/form/widget-input.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/form/widget-input.js new file mode 100644 index 00000000..720502c9 --- /dev/null +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/form/widget-input.js @@ -0,0 +1,100 @@ +export const widgetInput = { + code: 'widget-input', + type: 'form', + tabName: '表单', + label: '输入框', + icon: 'iconchaolianjie', + options: { + setup: [ + { + type: 'el-input-text', + label: '图层名称', + name: 'layerName', + required: false, + placeholder: '', + value: '输入框', + }, + { + type: 'el-input-text', + label: '字段属性值', + name: 'field', + required: false, + placeholder: '请输入', + value: '', + }, + { + type: 'vue-color', + label: '字体颜色', + name: 'color', + required: false, + placeholder: '', + value: '#FAD400', + }, + { + type: 'vue-color', + label: '字体背景', + name: 'background', + required: false, + placeholder: '', + value: 'rgba(115,170,229,.5)', + }, + { + type: 'el-select', + label: '关联图表', + name: 'assChart', + required: false, + placeholder: '', + multiple: true, + selectOptions: [], + value: '', + }, + { + type: 'el-select', + label: '触发事件', + name: 'event', + required: false, + placeholder: '', + selectOptions: [ + {code: 'change', name: 'change'}, + {code: 'blur', name: 'blur'}, + {code: 'focus', name: 'focus'}, + ], + value: 'change', + } + ], + position: [ + { + type: 'el-input-number', + label: '左边距', + name: 'left', + required: false, + placeholder: '', + value: 0, + }, + { + type: 'el-input-number', + label: '上边距', + name: 'top', + required: false, + placeholder: '', + value: 0, + }, + { + type: 'el-input-number', + label: '宽度', + name: 'width', + required: false, + placeholder: '该容器在1920px大屏中的宽度', + value: 100, + }, + { + type: 'el-input-number', + label: '高度', + name: 'height', + required: false, + placeholder: '该容器在1080px大屏中的高度', + value: 40, + }, + ], + } +} diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/main.js b/report-ui/src/views/bigscreenDesigner/designer/tools/main.js index 0890cdef..660c04cc 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/main.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/main.js @@ -38,7 +38,8 @@ import { widgetWordCloud } from "./configure/wordcloudCharts/widget-word-cloud"; import { widgetHeatmap } from "./configure/heatmap/widget-heatmap"; import { widgetRadar } from "./configure/radarCharts/widget-radar"; import { widgetBarLineStack } from "./configure/barlineCharts/widget-bar-line-stack"; -import { widgetSelect } from "./configure/form/widget-select" +import { widgetSelect } from "./configure/form/widget-select"; +import {widgetInput} from "./configure/form/widget-input"; export const widgetTool = [ // type=html类型的组件 @@ -73,5 +74,6 @@ export const widgetTool = [ widgetHeatmap, widgetRadar, widgetBarLineStack, - widgetSelect + widgetSelect, + widgetInput ] diff --git a/report-ui/src/views/bigscreenDesigner/designer/widget/form/widgetInput.vue b/report-ui/src/views/bigscreenDesigner/designer/widget/form/widgetInput.vue new file mode 100644 index 00000000..e1a27c64 --- /dev/null +++ b/report-ui/src/views/bigscreenDesigner/designer/widget/form/widgetInput.vue @@ -0,0 +1,81 @@ + + + diff --git a/report-ui/src/views/bigscreenDesigner/designer/widget/temp.vue b/report-ui/src/views/bigscreenDesigner/designer/widget/temp.vue index eb6733ce..a9e29d42 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/widget/temp.vue +++ b/report-ui/src/views/bigscreenDesigner/designer/widget/temp.vue @@ -42,6 +42,7 @@ import widgetHeatmap from "./heatmap/widgetHeatmap"; import widgetRadar from "./radar/widgetRadar"; import widgetBarLineStackChart from "./barline/widgetBarLineStackChart"; import widgetSelect from "./form/widgetSelect"; +import widgetInput from "./form/widgetInput.vue"; export default { name: "WidgetTemp", @@ -77,6 +78,7 @@ export default { widgetRadar, widgetBarLineStackChart, widgetSelect, + widgetInput }, model: { prop: "value", diff --git a/report-ui/src/views/bigscreenDesigner/designer/widget/widget.vue b/report-ui/src/views/bigscreenDesigner/designer/widget/widget.vue index 8d3ec7a9..9c0ab9d6 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/widget/widget.vue +++ b/report-ui/src/views/bigscreenDesigner/designer/widget/widget.vue @@ -53,6 +53,7 @@ import widgetHeatmap from "./heatmap/widgetHeatmap"; import widgetRadar from "./radar/widgetRadar"; import widgetBarLineStackChart from "./barline/widgetBarLineStackChart"; import widgetSelect from "./form/widgetSelect"; +import widgetInput from "./form/widgetInput.vue"; export default { name: "Widget", @@ -88,6 +89,7 @@ export default { widgetRadar, widgetBarLineStackChart, widgetSelect, + widgetInput }, model: { prop: "value", From d372f9bf1662c558aebdbadbf269f5e430d2dd7a Mon Sep 17 00:00:00 2001 From: qianming Date: Fri, 17 Feb 2023 15:57:47 +0800 Subject: [PATCH 20/86] update doc --- doc/docs/guide/charts.md | 270 +++++++++++++++++------------ doc/docs/picture/charts/img_32.png | Bin 0 -> 37011 bytes 2 files changed, 161 insertions(+), 109 deletions(-) create mode 100644 doc/docs/picture/charts/img_32.png diff --git a/doc/docs/guide/charts.md b/doc/docs/guide/charts.md index a04aa39a..73f8dd37 100644 --- a/doc/docs/guide/charts.md +++ b/doc/docs/guide/charts.md @@ -2,230 +2,290 @@ 图表和数据集是强关联关系,一个图表需要什么样的数据才能进行展示下面都有说明,以柱状图举例,只能用俩个字段的数据集进行数据展示,那使用数据集有2个以上字段那肯定图表无法正常展示,反之有个数据集是3个字段,那就找能展示3个字段的图表,千万别搞小聪明定了好多个字段的数据集,然后从里面挑几个字段进行展示,不要这么干。
    -## 文本框 +## 文本栏 + +### 文本框 ![img_3.png](../picture/dashboard/img_3.png)
    ![img_4.png](../picture/dashboard/img_4.png)
    ![img_5.png](../picture/dashboard/img_5.png)
    ![img_6.png](../picture/dashboard/img_6.png)
    -### 数据格式 +#### 数据格式 ![img1](../picture/charts/img.png)
    -## 滚动文本 +### 滚动文本 -同上文本,操作无异
    +同文本框,操作无异。
    -## 超链接 +### 超链接 ![img2](../picture/charts/img_1.png)
    + **如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues)
    ** -## 当前时间 +### 当前时间 -已支持多种时间格式,其他格式请提Issue
    +已支持多种时间格式,其他格式请提交 [Issue](https://gitee.com/anji-plus/report/issues)
    ![img_1.png](../picture/dashboard/img_1.png)
    -## 图片 +### 图片 ![img_7.png](../picture/dashboard/img_7.png)
    -**注:** 如果没有在bootstrap.yml配置文件中没有正确配置上传下载的路径,这里肯定是失败的
    +**注:** 如果没有在bootstrap.yml配置文件中没有正确配置上传下载的路径,这里肯定是失败的。
    -## 视屏 +### 视频 -**暂不支持循环播放**
    -**注意视频的地址应是直接可以访问的,不需要登录之类**
    +**注:** 视频的地址应是直接可以访问的,不需要登录之类。
    +**暂不支持视频循环播放**
    -## 表格 +### 表格 ![img](../picture/dashboard/img_22.png)
    表格字段对应的数据只选择“文本数字”。
    ![img14](../picture/dashboard/img_23.png)
    -**注意:** 多个字段的时候,需要在“配置-新增”添加你选择数据集所对应的字段,即“配置”中“表体设置”的“key值”要和你“动态数据对应的字段名”保持一致,类似于映射关系。
    +**注意:** +多个字段的时候,需要在“配置-新增”添加你选择数据集所对应的字段,即“配置”中“表体设置”的“key值”要和你“动态数据对应的字段名”保持一致,类似于映射关系。
    + **如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues)
    ** -## 内联框架 +### 内联框架 -当超链接和视频链接无效的时候,请尝试使用内联框架
    +当超链接和视频链接无效的时候,请尝试使用内联框架。
    ## 柱状图 -柱状图数据集对应字典值需要选择一个“X轴”、“柱状”,只需要2个字段
    +### 柱状图 + +柱状图数据集对应字典值需要选择一个“X轴”、“柱状”,只需要2个字段。
    ![img_13](../picture/charts/img_13.png)
    -**如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues)
    ** -### 数据格式 +#### 数据格式 ![img3](../picture/charts/img_2.png)
    -## 柱形图-渐变色 +**如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues)
    ** + +### 柱状图-渐变色 + +同上柱状图,颜色调整为支持渐变色。
    + +**如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues)
    ** + +### 柱状堆叠图 + +动态的数据集对应字典值需要选择一个“X轴”、“Y轴”、“柱状”,也就是说需要3个字段,不明白可以看看静态数据。
    +![img.17](../picture/dashboard/img_17.png)
    + +#### 数据格式 -同上柱形图,颜色调整为支持渐变色
    +![img4](../picture/charts/img_3.png)
    + +**如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues)
    ** + +### 柱状对比图 + +数据集需要3个字段,其中一个作为对比的字段只能为2种值,只有2种值作为对比的字段要选择“y轴字段”字典。因为底层的解析用的是堆叠图的解析,这里的y轴字段并不是指的图表上面的y轴,还请注意,有强迫症可以自行修改源码的解析,剩下的2个字段对应字典看图。
    +![img18](../picture/dashboard/img_18.png)
    + +#### 数据格式 + +![img11](../picture/charts/img_11.png)
    + +**如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues)
    ** ## 折线图 -折线图数据集对应字典值需要选择一个“X轴”、“折线”,只需要2个字段
    +### 折线图 + +折线图数据集对应字典值需要选择一个“X轴”、“折线”,只需要2个字段。
    ![img14.png](../picture/charts/img_14.png)
    + +#### 数据格式 + +同柱形图数据格式一致。
    + **如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues)
    ** -### 数据格式 +### 折线堆叠图 -同上柱形图数据格式
    +动态的数据集对应字典值需要选择一个“X轴”、“Y轴”、“折线”,也就是说需要3个字段,不明白可以看看静态数据。
    +![img.32](../picture/charts/img_32.png)
    + +#### 数据格式 + +同柱状堆叠图数据格式一致。
    + +**如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues)
    ** + +### 折线对比图 + +数据集需要3个字段,其中一个作为对比的字段只能为2种值,只有2种值作为对比的字段要选择“y轴字段”字典,剩下的字典对应看图。
    +![img19](../picture/dashboard/img_19.png)
    + +**注**:如果提示语设置选择“十字形”,请注意需要选择“X轴颜色、上Y轴颜色、下Y轴颜色”,不然预览图表鼠标选择是全白色,还请注意。
    +![img20](../picture/dashboard/img_20.png)
    + +#### 数据格式 + +同柱状对比图数据格式一致。
    + +**如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues)
    ** ## 柱线图 +### 柱线图 + 柱线图数据集对应字典值需要选择一个“X轴”、“柱状”、“折线”,需要3个字段,图例名称用 | 进行分隔。
    ![img15](../picture/charts/img_15.png)
    -**如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues)
    ** -### 数据格式 +#### 数据格式 ![img5](../picture/charts/img_4.png)
    -## 多柱线图 +**如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues)
    ** + +### 多柱线图 多柱线图对应数据字典需要选择一个“X轴”,剩下的字段可任意选择为“柱状”、“折线”,图例名称用 | 进行分隔。
    ![img16](../picture/charts/img_16.png)
    -**如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues)
    ** -### 数据格式 +#### 数据格式 ![img17](../picture/charts/img_17.png)
    -## 饼图 - -饼图的数据集选择的时候,只能选择饼图对应的字典,即“Name”、“Value”,不明白可以参考静态数据
    -![img8](../picture/charts/img_8.png)
    -![img9](../picture/charts/img_9.png)
    **如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues)
    ** -### 数据格式 +### 柱线堆叠图 -![img6](../picture/charts/img_5.png)
    +图表的基本操作和柱状堆叠图、折线堆叠并无大区别,需要在意的是数据格式的区别,绑定动态数据的时候,需要你数据集有4个字段,其中俩个字段作为x,y区分字段,另外俩个作为数值字段。
    +![img29](../picture/charts/img_29.png)
    +![img30](../picture/charts/img_30.png)
    -## 漏斗图 +#### 数据格式 + +和另外俩个堆叠图相比,多了查询的一列数据,比如 "select a,b,sum(c),sum(d) from aa group by a,b" 。 +![img31](../picture/charts/img_31.png)
    -![img18](../picture/charts/img_18.png)
    **如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues)
    ** -### 数据格式 +## 饼图 -和饼图数据格式一致。
    +### 饼图 -## 仪表盘 +饼图的数据集选择的时候,只能选择饼图对应的字典,即“Name”、“Value”,不明白可以参考静态数据。
    +![img8](../picture/charts/img_8.png)
    +![img9](../picture/charts/img_9.png)
    -![img21](../picture/dashboard/img_21.png)
    -**如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues)
    ** +#### 数据格式 -### 数据格式 +![img6](../picture/charts/img_5.png)
    -![img7](../picture/charts/img_6.png)
    +**如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues)
    ** -## 南丁格尔玫瑰图 +### 南丁格尔玫瑰图 ![img71](../picture/charts/img_7.png)
    ![img10](../picture/charts/img_10.png)
    -**如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues)
    ** -### 数据格式 - -和饼图数据格式保持一致。
    +#### 数据格式 -## 百分百图 +同饼图数据格式一致。
    -![img19](../picture/charts/img_19.png)
    **如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues)
    ** -### 数据格式 +## 漏斗图 -和仪表盘数据格式保持一致。
    +### 漏斗图 -## 中国地图-路线图 +![img18](../picture/charts/img_18.png)
    -路线图的动态数据集,需要3个字段,“源端”代表起点,“目标端”代表终点,“数值”代表俩点之间的值 -![img24](../picture/charts/img_24.png)
    +#### 数据格式 -### 数据格式 +同饼图数据格式一致。
    -可以参考静态数据,目前路线地图仅能显示“市”级别,注意地图数据名称要和地图底层数据名称保持一致,即完整的市名,可以看静态数据,如果和你提供的动态数据名称有差异,请参考源码自行修改
    -![img25](../picture/charts/img_25.png)
    +**如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues)
    ** -## 中国地图-气泡图 +## 百分比 -气泡地图是中国地图气泡样式展示形式
    -气泡地图动态数据集,和饼图一样,对应字典值需要选择一个“Name”、“Value”,且name的字段值要和echarts图表里面的值能对应上,可参考静态数据
    -![img15](../picture/dashboard/img_15.png)
    +### 仪表盘 -### 数据格式 +![img21](../picture/dashboard/img_21.png)
    -可参考静态数据,目前气泡地图仅能显示“省”级别,注意动态数据的名称要和地图底层数据名称保持一致,即完整的省名,可以看静态数据,如果和你提供的动态数据名称有差异,请参考源码自行修改
    +#### 数据格式 -## 柱状堆叠图 +![img7](../picture/charts/img_6.png)
    -动态的数据集对应字典值需要选择一个“X轴”、“Y轴”、“柱状”,也就是说需要3个字段,不明白可以看看静态数据
    -![img.17](../picture/dashboard/img_17.png)
    **如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues)
    ** -### 数据格式 +### 百分百图 -![img4](../picture/charts/img_3.png)
    +![img19](../picture/charts/img_19.png)
    -## 折线堆叠图 +#### 数据格式 + +同仪表盘数据格式一致。
    -动态的数据集对应字典值需要选择一个“X轴”、“Y轴”、“折线”,也就是说需要3个字段,不明白可以看看静态数据
    -![img.17](../picture/dashboard/img_17.png)
    **如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues)
    ** -### 数据格式 +## 中国地图 -和柱状堆叠图数据格式保持一致。
    +### 路线地图 -## 柱状对比图 +路线图的动态数据集,需要3个字段,“源端”代表起点,“目标端”代表终点,“数值”代表俩点之间的值。
    +![img24](../picture/charts/img_24.png)
    + +#### 数据格式 + +可以参考静态数据,目前路线地图仅能显示“市”级别,注意地图数据名称要和地图底层数据名称保持一致,即完整的市名,可以看静态数据,如果和你提供的动态数据名称有差异,请参考源码自行修改。
    +![img25](../picture/charts/img_25.png)
    -数据集需要3个字段,其中一个作为对比的字段只能为2种值,只有2种值作为对比的字段要选择“y轴字段”字典。因为底层的解析用的是堆叠图的解析,这里的y轴字段并不是指的图表上面的y轴,还请注意,有强迫症可以自行修改源码的解析,剩下的2个字段对应字典看图
    -![img18](../picture/dashboard/img_18.png)
    **如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues)
    ** -### 数据格式 +### 气泡地图 -![img11](../picture/charts/img_11.png)
    +气泡地图动态数据集,和饼图一样,对应字典值需要选择一个“Name”、“Value”,且name的字段值要和echarts图表里面的值能对应上,可参考静态数据。
    +![img15](../picture/dashboard/img_15.png)
    -## 折线对比图 +#### 数据格式 -数据集需要3个字段,其中一个作为对比的字段只能为2种值,只有2种值作为对比的字段要选择“y轴字段”字典,剩下的字典对应看图
    -![img19](../picture/dashboard/img_19.png)
    -**注**:如果提示语设置选择“十字形”,请注意需要选择 “X轴颜色、上Y轴颜色、下Y轴颜色”,不然预览图表鼠标选择是全白色,还请注意。
    -![img20](../picture/dashboard/img_20.png) -**如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues)
    ** +可参考静态数据,目前气泡地图仅能显示“省”级别,注意动态数据的名称要和地图底层数据名称保持一致,即完整的省名,可以看静态数据,如果和你提供的动态数据名称有差异,请参考源码自行修改。
    -### 数据格式 +**如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues)
    ** -和柱状对比图数据格式一致。
    +## 装饰图 -## 装饰饼图 +### 装饰饼图 装饰用,可单独使用或者配合文本框等图表组件来使整个大屏立体、丰满。
    ![img12](../picture/charts/img_12.png)
    ## 词云图 -最大最小角度都为0时则文字显示为正。所有词云颜色皆是随机产生,动态数据每请求一次数据,所有词云颜色皆改变一次。
    +### 词云图 + +最大最小角度都为0时则文字显示为”正“。所有词云颜色皆是随机产生,动态数据每请求一次数据,所有词云颜色皆改变一次。
    ![img20](../picture/charts/img_20.png)
    -### 数据格式 +#### 数据格式 -和饼图、南丁格尔玫瑰图数据保持一致。
    +同饼图、南丁格尔玫瑰图数据一致。
    + +**如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues)
    ** ## 热力图 -热力图是类似坐标轴一样的数据,当前的热力图数据集需要3个字段值,对应的字典是选择“X轴”,“Y轴”,“数值”,不明白可以看静态数据
    +### 热力图 + +热力图是类似坐标轴一样的数据,当前的热力图数据集需要3个字段值,对应的字典是选择“X轴”,“Y轴”,“数值”,不明白可以看静态数据。
    ![img21](../picture/charts/img_21.png)
    -注意:图设置功能中的最大最小值将会对热力图中的数值产生反应,主要根据设定的颜色来反应,数值越靠近最大值,颜色将更深
    +**注意:** +图设置功能中的最大最小值将会对热力图中的数值产生反应,主要根据设定的颜色来反应,数值越靠近最大值,颜色将更深。
    ![img22](../picture/charts/img_22.png)
    -### 数据格式 +#### 数据格式 ![img23](../picture/charts/img_23.png)
    @@ -233,23 +293,15 @@ ## 雷达图 -基本操作和表格是一致,通过配置栏的新增按钮和操作按钮对雷达顶点数量进行修改,可生成5边雷达,6边雷达等等,key值和雷达顶点保持一致,从最上端顶点逆时针规划其他顶点。
    +### 雷达图 + +基本操作和表格是一致,通过配置栏的新增按钮和操作按钮对雷达顶点数量进行修改,可生成5边雷达,6边雷达等等,”key值“和”雷达顶点“保持一致,从最上端顶点逆时针规划其他顶点。
    ![img26](../picture/charts/img_26.png)
    ### 数据格式 -数据格式和柱线、多柱线都是类似的,注意实际作为name的字段,比如时间字段,有且只能有1个,数据集选择时选择名称,其余是顶点字段,不明白可以看静态数据格式。
    +数据格式和柱线、多柱线都是类似的,注意实际作为”名称“的字段,比如时间字段,有且只能有1个,其余是”雷达顶点“字段,不明白可以看静态数据格式。
    ![img27](../picture/charts/img_27.png)
    ![img28](../picture/charts/img_28.png)
    - -## 柱线堆叠图 - -图表的基本操作和柱状堆叠图、折线堆叠并无大区别,需要在意的是数据格式的区别,绑定动态数据的时候,需要你数据集有4个字段,其中俩个字段作为x,y区分字段,另外俩个作为数值字段。
    -![img29](../picture/charts/img_29.png)
    -![img30](../picture/charts/img_30.png)
    - -### 数据格式 - -和另外俩个堆叠图相比,多了查询的一列数据,比如 "select a,b,sum(c),sum(d) from aa group by a,b" -![img31](../picture/charts/img_31.png)
    +**如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues)
    ** diff --git a/doc/docs/picture/charts/img_32.png b/doc/docs/picture/charts/img_32.png new file mode 100644 index 0000000000000000000000000000000000000000..1db10aa401a59305920327178edc072e84e199ce GIT binary patch literal 37011 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 literal 0 HcmV?d00001 From afbc639913263cc542475f1d7e49a2c548c0b1f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A8=8B=E5=BA=8F=E5=91=98=E4=B8=96=E6=9E=97?= <463572181@qq.com> Date: Wed, 22 Feb 2023 14:14:30 +0800 Subject: [PATCH 21/86] =?UTF-8?q?=E3=80=90pr=E3=80=91=E5=A4=A7=E5=B1=8F?= =?UTF-8?q?=E8=AE=BE=E8=AE=A1=E5=99=A8=E6=B7=BB=E5=8A=A0=E7=BC=A9=E6=94=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bigscreenDesigner/designer/index.vue | 304 +++++++++++++----- .../designer/widget/widget.vue | 2 +- 2 files changed, 232 insertions(+), 74 deletions(-) diff --git a/report-ui/src/views/bigscreenDesigner/designer/index.vue b/report-ui/src/views/bigscreenDesigner/designer/index.vue index b20c46d8..63f0aa98 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/index.vue +++ b/report-ui/src/views/bigscreenDesigner/designer/index.vue @@ -123,6 +123,66 @@ + + + + + + + + + + + {{ parseInt(scaleNum) }}% + + + + + + + + + + -
    +
    - -
    + -
    - -
    -
    +
    +
    + +
    + +
    @@ -270,17 +346,6 @@ @onChanged="(val) => widgetValueChanged('position', val)" /> - - - @@ -312,7 +377,6 @@ import VueRulerTool from "vue-ruler-tool"; // 大屏设计页面的标尺插件 import contentMenu from "./components/contentMenu"; import { getToken } from "@/utils/auth"; import { Revoke } from "@/utils/revoke"; //处理历史记录 2022-02-22 -import { setAssChartData } from "@/utils/screen.js"; export default { name: "Login", @@ -372,7 +436,6 @@ export default { top: 0, zIndex: 0, }, - methods: {}, }, // options属性是从工具栏中拿到的tools中拿到 options: [], @@ -395,6 +458,9 @@ export default { visibleContentMenu: false, rightClickIndex: -1, activeName: "first", + scaleNum: 0, // 当前缩放百分比的值 + sizeRange: [20, 40, 60, 80, 100, 150, 200, 300, 400], // 缩放百分比 + currentSizeRangeIndex: -1 // 当前是哪个缩放比分比 }; }, computed: { @@ -432,6 +498,24 @@ export default { workbenchTransform() { return `scale(${this.bigscreenScaleInWorkbench}, ${this.bigscreenScaleInWorkbench})`; }, + // 初始的缩放百分比 和 下标 + defaultSize() { + const obj = { + index: -1, + size: '50' + } + this.sizeRange.some((item, index) => { + if (item <= (100 * this.bigscreenScaleInWorkbench)) { + obj.index = index + obj.size = 100 * this.bigscreenScaleInWorkbench // item + } + }) + if (obj.index === -1) { + obj.index = 0 + obj.size = this.sizeRange[0] + } + return obj + }, // 大屏在设计模式的大小 bigscreenWidthInWorkbench() { return this.getPXUnderScale(this.bigscreenWidth) + this.widthPaddingTools; @@ -445,6 +529,7 @@ export default { watch: { widgets: { handler(val) { + this.handlerLayerWidget(val); //以下部分是记录历史 this.$nextTick(() => { this.revoke.push(this.widgets); @@ -452,6 +537,21 @@ export default { }, deep: true, }, + defaultSize: { + handler(val) { + if (val !== -1) { + this.currentSizeRangeIndex = val.index + this.scaleNum = val.size + } + }, + immediate: true + }, + bigscreenWidth() { + this.initVueRulerTool() + }, + bigscreenHeight() { + this.initVueRulerTool() + } }, created() { /* 以下是记录历史的 */ @@ -464,8 +564,52 @@ export default { window.addEventListener("mouseup", () => { this.grade = false; }); + this.$nextTick(() => { + this.initVueRulerTool() // 初始化 修正插件样式 + }) }, methods: { + /** + * @param num: 0缩小 1放大 2默认比例 + * sizeRange: [20, 40, 60, 72, 100, 150, 200, 300, 400] + */ + setSize(num) { + if (num === 0) { // 缩小 + if (this.currentSizeRangeIndex === 0) return + this.currentSizeRangeIndex -= 1 + } else if (num === 1) { // 放大 + if (this.currentSizeRangeIndex === 8) return + this.currentSizeRangeIndex += 1 + } else if (num === 2) { // 正常比例 + this.currentSizeRangeIndex = this.defaultSize.index + } + this.scaleNum = this.currentSizeRangeIndex === this.defaultSize.index ? this.defaultSize.size : this.sizeRange[this.currentSizeRangeIndex] + }, + // 初始化 修正插件样式 + initVueRulerTool() { + const vueRulerToolDom = this.$refs['vue-ruler-tool'].$el // 操作面板 第三方插件工具 + const contentDom = vueRulerToolDom.querySelector('.vue-ruler-content') + const vueRulerX = vueRulerToolDom.querySelector('.vue-ruler-h') // 横向标尺 + const vueRulerY = vueRulerToolDom.querySelector('.vue-ruler-v') // 纵向标尺 + // vueRulerToolDom.style.cssText += ';width:' + (this.bigscreenWidth + 18) + 'px !important;height:' + (this.bigscreenHeight + 18) + 'px !important;' + contentDom.style.width = '100%' + contentDom.style.height = '100%' + + let xHtmlContent = '' // '0' + let yHtmlContent = '' // '0' + let currentNum = 0 + while (currentNum < +this.bigscreenWidth) { + xHtmlContent += `${currentNum}` + currentNum += 50 + } + currentNum = 0 + while (currentNum < +this.bigscreenHeight) { + yHtmlContent += `${currentNum}` + currentNum += 50 + } + vueRulerX.innerHTML = xHtmlContent + vueRulerY.innerHTML = yHtmlContent + }, /** * @description: 恢复 * @param {*} @@ -491,7 +635,6 @@ export default { this.widgets = record; }, handlerLayerWidget(val) { - console.log(val); const layerWidgetArr = []; for (let i = 0; i < val.length; i++) { const obj = {}; @@ -501,14 +644,10 @@ export default { if (el.name == "layerName") { obj.label = el.value; } - if (el.name == "uuid") { - obj.uuid = el.value; - } }); layerWidgetArr.push(obj); } this.layerWidget = layerWidgetArr; - setAssChartData(this.widgets, this.layerWidget); }, async initEchartData() { const reportCode = this.$route.query.reportCode; @@ -520,7 +659,6 @@ export default { this.dashboard = screenData; this.bigscreenWidth = this.dashboard.width; this.bigscreenHeight = this.dashboard.height; - this.handlerLayerWidget(this.widgets); }, handleBigScreen(data) { const optionScreen = getToolByCode("screen").options; @@ -714,9 +852,15 @@ export default { let widgetTopInWorkbench = eventY - workbenchPosition.top; let widgetLeftInWorkbench = eventX - workbenchPosition.left; + const targetScale = + this.currentSizeRangeIndex === this.defaultSize.index + ? this.bigscreenScaleInWorkbench + : this.sizeRange[this.currentSizeRangeIndex] / 100 // 计算在缩放模式下的x y - let x = widgetLeftInWorkbench / this.bigscreenScaleInWorkbench; - let y = widgetTopInWorkbench / this.bigscreenScaleInWorkbench; + // const x = widgetLeftInWorkbench / this.bigscreenScaleInWorkbench + // const y = widgetTopInWorkbench / this.bigscreenScaleInWorkbench + const x = widgetLeftInWorkbench / targetScale + const y = widgetTopInWorkbench / targetScale // 复制一个组件 let tool = getToolByCode(widgetType); @@ -748,9 +892,6 @@ export default { this.widgets.push(this.deepClone(widgetJsonValue)); // 激活新组件的配置属性 this.setOptionsOnClickWidget(this.widgets.length - 1); - - console.log("123", this.widgets); - this.handlerLayerWidget(this.widgets); }, // 对组件默认值处理 @@ -869,7 +1010,7 @@ export default { el.value = this.bigscreenWidth; } else if (el.name == "height") { el.value = this.bigscreenHeight; - } else if (this.dashboard.hasOwn(el.name)) { + } else if (this.dashboard.hasOwnProperty(el.name)) { el["value"] = this.dashboard[el.name]; } newSetup.push(el); @@ -1125,6 +1266,21 @@ export default { } } } + .btn-disable { + opacity: 0.3; + cursor: no-drop; + } + .scale-num { + color: #788994; + opacity: 1; + cursor: pointer; + &.btn-disable { + cursor: no-drop; + &:hover { + background: #20262C + } + } + } } .workbench-container { @@ -1135,10 +1291,12 @@ export default { box-sizing: border-box; margin: 0; padding: 0; + overflow: auto; .vueRuler { - width: 100%; - padding: 18px 0px 0px 18px; + // width: 100%; + // padding: 18px 0px 0px 18px; + padding: 0; } .workbench { diff --git a/report-ui/src/views/bigscreenDesigner/designer/widget/widget.vue b/report-ui/src/views/bigscreenDesigner/designer/widget/widget.vue index 9c0ab9d6..fedd824f 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/widget/widget.vue +++ b/report-ui/src/views/bigscreenDesigner/designer/widget/widget.vue @@ -13,10 +13,10 @@ :top="widgetsTop" ref="draggable" :index="index" - :z-index="-1" @focus="handleFocus" @blur="handleBlur" > + From 7a56f172d2a004247147e85cca17a35d0233c825 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A8=8B=E5=BA=8F=E5=91=98=E4=B8=96=E6=9E=97?= <463572181@qq.com> Date: Mon, 27 Feb 2023 14:00:36 +0800 Subject: [PATCH 22/86] =?UTF-8?q?1=E3=80=81=E7=BB=84=E4=BB=B6=E8=81=94?= =?UTF-8?q?=E5=8A=A8=E6=A1=88=E4=BE=8B(=E6=9F=B1=E5=9B=BE=EF=BC=9A?= =?UTF-8?q?=E8=A7=A6=E5=8F=91=E8=80=85+=E6=8E=A5=E6=94=B6=E8=80=85;=20?= =?UTF-8?q?=E6=8A=98=E7=BA=BF=E5=9B=BE=EF=BC=9A=E8=A7=A6=E5=8F=91=E8=80=85?= =?UTF-8?q?+=E6=8E=A5=E6=94=B6=E8=80=85;=20=E7=99=BE=E5=88=86=E6=AF=94?= =?UTF-8?q?=E5=9B=BE=EF=BC=9A=E6=8E=A5=E6=94=B6=E8=80=85;=20)=202=E3=80=81?= =?UTF-8?q?=E4=BF=9D=E5=AD=98=E3=80=81=E9=A2=84=E8=A7=88=E3=80=81=E6=92=A4?= =?UTF-8?q?=E5=9B=9E=E6=8C=89=E9=92=AE=E5=8F=AF=E7=82=B9=E5=87=BB=E8=8C=83?= =?UTF-8?q?=E5=9B=B4=E8=B0=83=E6=95=B4;=203=E3=80=81=E6=8B=96=E5=85=A5?= =?UTF-8?q?=E7=BB=84=E4=BB=B6=E9=85=8D=E7=BD=AE=E9=A1=B9=E5=AE=9A=E4=BD=8D?= =?UTF-8?q?=E4=B8=8D=E5=87=86=E7=9A=84bug=E4=BF=AE=E5=A4=8D;=204=E3=80=81?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=88=9D=E5=A7=8B=E5=A4=A7=E5=B1=8F=E9=BB=98?= =?UTF-8?q?=E8=AE=A4=E8=83=8C=E6=99=AF=E8=89=B2=E4=B8=8D=E7=94=9F=E6=95=88?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- report-ui/src/store/index.js | 4 +- report-ui/src/store/modules/designer.js | 42 +++ .../designer/components/componentLinkage.vue | 290 ++++++++++++++++++ .../designer/components/dynamicForm.vue | 23 ++ .../bigscreenDesigner/designer/index.vue | 79 ++++- .../designer/linkageLogic.js | 128 ++++++++ .../configure/barCharts/widget-barchart.js | 12 + .../configure/lineCharts/widget-linechart.js | 12 + .../percentCharts/widget-pie-percentage.js | 12 + .../bigscreenDesigner/designer/tools/index.js | 7 +- .../bigscreenDesigner/designer/tools/main.js | 6 +- .../designer/widget/bar/widgetBarchart.vue | 27 +- .../designer/widget/line/widgetLinechart.vue | 27 +- .../percent/widgetPiePercentageChart.vue | 26 +- .../designer/widget/temp.vue | 6 +- .../designer/widget/widget.vue | 2 +- .../views/bigscreenDesigner/viewer/index.vue | 11 + 17 files changed, 684 insertions(+), 30 deletions(-) create mode 100644 report-ui/src/store/modules/designer.js create mode 100644 report-ui/src/views/bigscreenDesigner/designer/components/componentLinkage.vue create mode 100644 report-ui/src/views/bigscreenDesigner/designer/linkageLogic.js diff --git a/report-ui/src/store/index.js b/report-ui/src/store/index.js index f011f382..89cec40a 100644 --- a/report-ui/src/store/index.js +++ b/report-ui/src/store/index.js @@ -7,6 +7,7 @@ import app from './modules/app' import user from './modules/user' import cacheView from './modules/cachaView' import help from './modules/help' +import designer from './modules/designer' Vue.use(Vuex) @@ -18,7 +19,8 @@ const store = new Vuex.Store({ app, user, cacheView, - help + help, + designer }, state: { }, plugins: [initPlugin], diff --git a/report-ui/src/store/modules/designer.js b/report-ui/src/store/modules/designer.js new file mode 100644 index 00000000..ae275cac --- /dev/null +++ b/report-ui/src/store/modules/designer.js @@ -0,0 +1,42 @@ +/* + * @Author: chengsl + * @Date: 2022-11-08 10:30:37 + * @LastEditors: chengsl + * @LastEditTime: 2023-02-24 09:54:34 + * @Description: 设计器公用变量 + */ + +const designer = { + state: { + allComponentLinkage: [], // 所有组件之间的联动配置 + }, + + mutations: { + SET_ALL_COMPONENT_LINKAGE: (state, params) => { + var { index = -1, widgetId = '', linkageArr } = params + try { + console.log('params---', params) + linkageArr = linkageArr.map(item => { + const arr = item.widgetValue.split('-$-') + return { + originId: widgetId, + targetId: arr[0], + targetName: arr[1], + paramsConfig: item.paramsConfig + } + }) + } catch (error) { + linkageArr = [] // 兼容异常错误导致页面加载不出来 + } + state.allComponentLinkage[index] = { + index: +index, + widgetId, + linkageArr + } + } + }, + + actions: {} +} + +export default designer diff --git a/report-ui/src/views/bigscreenDesigner/designer/components/componentLinkage.vue b/report-ui/src/views/bigscreenDesigner/designer/components/componentLinkage.vue new file mode 100644 index 00000000..44f25771 --- /dev/null +++ b/report-ui/src/views/bigscreenDesigner/designer/components/componentLinkage.vue @@ -0,0 +1,290 @@ + + + + diff --git a/report-ui/src/views/bigscreenDesigner/designer/components/dynamicForm.vue b/report-ui/src/views/bigscreenDesigner/designer/components/dynamicForm.vue index 2e607796..c44db5c7 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/components/dynamicForm.vue +++ b/report-ui/src/views/bigscreenDesigner/designer/components/dynamicForm.vue @@ -294,6 +294,15 @@ v-model="formData[itemChildList.name]" @change="changed($event, itemChildList.name)" /> + @@ -319,6 +328,7 @@ import dynamicAddTable from "./dynamicAddTable.vue"; import customUpload from "./customUpload.vue"; import dynamicAddRadar from "./dynamicAddRadar"; import MonacoEditor from "@/components/MonacoEditor/index"; +import componentLinkage from './componentLinkage'; export default { name: "DynamicForm", components: { @@ -330,6 +340,7 @@ export default { customUpload, dynamicAddRadar, MonacoEditor, + componentLinkage }, model: { prop: "value", @@ -341,6 +352,18 @@ export default { type: [Object], default: () => {}, }, + layerWidget: { + type: Array, + default: () => [] + }, + widgetParamsConfig: { + type: Array, + default: () => [] + }, + widgetIndex: { + type: Number, + default: -1 + } }, data() { return { diff --git a/report-ui/src/views/bigscreenDesigner/designer/index.vue b/report-ui/src/views/bigscreenDesigner/designer/index.vue index 63f0aa98..200a1a67 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/index.vue +++ b/report-ui/src/views/bigscreenDesigner/designer/index.vue @@ -80,46 +80,46 @@ :style="{ width: middleWidth + 'px', height: middleHeight + 'px' }" >
    - + - + - + - + - + - + - + - + @@ -321,6 +321,9 @@ @@ -412,7 +415,7 @@ export default { title: "", // 大屏页面标题 width: 1920, // 大屏设计宽度 height: 1080, // 大屏设计高度 - backgroundColor: "", // 大屏背景色 + backgroundColor: "#1E1E1E", // 大屏背景色 backgroundImage: "", // 大屏背景图片 refreshSeconds: null, // 大屏刷新时间间隔 presetLine: [], // 辅助线 @@ -460,7 +463,9 @@ export default { activeName: "first", scaleNum: 0, // 当前缩放百分比的值 sizeRange: [20, 40, 60, 80, 100, 150, 200, 300, 400], // 缩放百分比 - currentSizeRangeIndex: -1 // 当前是哪个缩放比分比 + currentSizeRangeIndex: -1, // 当前是哪个缩放比分比, + currentWidgetTotal: 0, + widgetParamsConfig: [], // 各组件动态数据集的参数配置情况 }; }, computed: { @@ -530,6 +535,7 @@ export default { widgets: { handler(val) { this.handlerLayerWidget(val); + this.handlerdynamicDataParamsConfig(val) //以下部分是记录历史 this.$nextTick(() => { this.revoke.push(this.widgets); @@ -638,7 +644,13 @@ export default { const layerWidgetArr = []; for (let i = 0; i < val.length; i++) { const obj = {}; - obj.icon = getToolByCode(val[i].type).icon; + const myItem = getToolByCode(val[i].type) + obj.icon = myItem.icon; + obj.code = myItem.code // 组件类型code + obj.widgetId = val[i].value.widgetId || '' // 唯一id + if (val[i].value.paramsKeys) { + obj.paramsKeys = val[i].value.paramsKeys + } const options = val[i].options["setup"]; options.forEach((el) => { if (el.name == "layerName") { @@ -649,6 +661,12 @@ export default { } this.layerWidget = layerWidgetArr; }, + // 返回每个组件的动态数据集参数配置情况 + handlerdynamicDataParamsConfig(val) { + this.widgetParamsConfig = val.map(item => { + return item.value.data + }) + }, async initEchartData() { const reportCode = this.$route.query.reportCode; const { code, data } = await detailDashboard(reportCode); @@ -672,7 +690,7 @@ export default { } this.setOptionsOnClickScreen(); return { - backgroundColor: (data && data.backgroundColor) || "", + backgroundColor: (data && data.backgroundColor) || (!data ? '#1e1e1e' : ''), backgroundImage: (data && data.backgroundImage) || "", height: (data && data.height) || "1080", title: (data && data.title) || "", @@ -690,10 +708,19 @@ export default { data: widgets[i].value.data, position: widgets[i].value.position, }; - const tool = this.deepClone(getToolByCode(widgets[i].type)); + const tool = this.deepClone(getToolByCode(widgets[i].type)) + if (!tool) { + const message = '暂未提供该组件或该组件下线了,组件code: ' + widgets[i].type + console.error(message) + if (process.env.NODE_ENV === 'development') { // 40@remarks 看生产要不要提示 + this.$message.error(message) + } + continue // 找不到就跳过,避免整个报表都加载不出来 + } const option = tool.options; const options = this.handleOptionsData(widgets[i].value, option); obj.options = options; + obj.value.widgetId = obj.value.setup.widgetId widgetsData.push(obj); } return widgetsData; @@ -753,6 +780,9 @@ export default { }, widgets: this.widgets, }; + screenData.widgets.forEach(widget => { + widget.value.setup.widgetId = widget.value.widgetId + }) const { code, data } = await insertDashboard(screenData); if (code == "200") { this.$message.success("保存成功!"); @@ -831,9 +861,24 @@ export default { }, dragStart(widgetCode) { this.dragWidgetCode = widgetCode; + this.currentWidgetTotal = this.widgets.length // 当前操作面板上有多少各组件 }, dragEnd() { - this.dragWidgetCode = ""; + this.dragWidgetCode = "";/** + * 40@remarks 新增组件到操作面板后,右边的配置有更新,但是当前选中的组件没更新,导致配置错乱的bug; + * 由于拖动组件拖到非操作面板上是不会添加组件,还需判断是否添加组件到操作面板上; + */ + this.$nextTick(()=>{ + if (this.widgets.length === this.currentWidgetTotal + 1) { // 确实新增了一个组件到操作面板上 + console.log(`新添加 '${this.widgets[this.currentWidgetTotal].value.setup.layerName}' 组件到操作面板`) + const uuid = Number(Math.random().toString().substr(2)).toString(36) + this.widgets[this.currentWidgetTotal].value.widgetId = uuid + this.layerWidget[this.currentWidgetTotal].widgetId = uuid + const index = this.widgets.length - 1 + this.layerClick(index) // 选中当前新增的组件 + this.grade = false // 去除网格线 + } + }) }, dragOver(evt) { evt.preventDefault(); @@ -1080,7 +1125,13 @@ export default { // 复制 copylayer() { const obj = this.deepClone(this.widgets[this.rightClickIndex]); + obj.value.position.top += 40 // 复制的元素向右下角偏移一点 + obj.value.position.left += 40 + obj.value.widgetId = Number(Math.random().toString().substr(2)).toString(36) this.widgets.splice(this.widgets.length, 0, obj); + this.$nextTick(() => { + this.layerClick(this.widgets.length - 1) // 复制后定位到最新的组件 + }) }, // 置顶 istopLayer() { diff --git a/report-ui/src/views/bigscreenDesigner/designer/linkageLogic.js b/report-ui/src/views/bigscreenDesigner/designer/linkageLogic.js new file mode 100644 index 00000000..b00bf3f6 --- /dev/null +++ b/report-ui/src/views/bigscreenDesigner/designer/linkageLogic.js @@ -0,0 +1,128 @@ +/* + * @Author: chengsl + * @Date: 2023-02-24 09:40:13 + * @LastEditors: chengsl + * @LastEditTime: 2023-02-24 13:12:24 + * @Description: 各联动组件的参数配置 参数paramsKey的值具体封装时再改 + */ +import { eventBus as bus } from "@/utils/eventBus"; +export const lickageParamsConfig = [ + // { + // name: '按钮组', + // code: 'widgetButtonGroup', + // paramsKey: [] // 40@remarks 动态:[...row, index] + // }, + { + name: '柱图', + code: 'widget-barchart', + paramsKey: ['name', 'value'] + }, + // …… + { + name: '折线图', + code: 'widget-linechart', + paramsKey: ['name', 'value'] + }, + { + name: '百分比图', + code: 'widgetPiePercentageChart', + paramsKey: ['value'] + }, +] + +export const getOneConfigByCode = function(code) { + return lickageParamsConfig.find(item => { return item.code === code }) +} + +export const getOneConfigByName = function(name) { + return lickageParamsConfig.find(item => { return item.name === name }) +} + +/** + * 源组件 - 初始化联动逻辑 + * @param self 组件实例对象 this + * @param isActiveClick 主动触发(非echart类click事件触发) + * @param buttonConfig 按钮组组件的配置 + * 40@remarks + * 1、v-chart 需添加 ref="myVChart" 以获取实例 + * 2、 发消息发过去的对象 待封装配置动态兼容 + */ +export const originWidgetLinkageLogic = function(self, isActiveClick = false, buttonConfig = {}) { + // if (self.allComponentLinkage && self.allComponentLinkage.length && self.allComponentLinkage[self.widgetIndex].index !== -1 && self.allComponentLinkage[self.widgetIndex].linkageArr.length) { + if (self.optionsSetup.componentLinkage && self.optionsSetup.componentLinkage.length) { + if (isActiveClick) { // 主动触发 + self.allComponentLinkage[self.widgetIndex].linkageArr.forEach(item => { + console.log(`bus_${item.originId}_${item.targetId}`, ' -联动逻辑点击-发送消息', buttonConfig) + bus.$emit(`bus_${item.originId}_${item.targetId}`, buttonConfig.currentData) + }) + } else { // chart 组件 + self.$refs.myVChart.chart.on('click', function(params) { + self.allComponentLinkage[self.widgetIndex].linkageArr.forEach(item => { + console.log(`bus_${item.originId}_${item.targetId}`, ' -联动逻辑点击-发送消息', params) + let message = {} + const widgetConfigTemp = getOneConfigByCode(self.value.widgetCode) + if (widgetConfigTemp && widgetConfigTemp.paramsKey.length) { // 动态加载各组件的参数来封装 + widgetConfigTemp.paramsKey.forEach(key => { + message[key] = params[key] + }) + // 40@remarks 部分组件 传参需要特殊处理下 + // …… + // 40@remarks 专用于测试联动发消息 手动改造消息内容 + // if (self.value.widgetCode === 'widgetMap2d') { + // const nameTemp = ['苹果', '三星', '小米', '华为', 'OPPO', 'VIVO'] + // // message = { + // // name: nameTemp[(params.dataIndex % 6)], + // // value: params.value, + // // dataIndex: params.dataIndex + // // } + // // message.name = nameTemp[(+params.value % 6)] + // message.name = nameTemp[(parseInt(Math.random() * 6) % 6)] + // } + // if (self.value.widgetCode === 'widget-piechart') { + // message.name = (parseInt(Math.random() * 2) % 2) === 0 ? '深圳市' : '盐田区' + // } + } else { + message = { + name: params.name, + value: params.value + } + } + bus.$emit(`bus_${item.originId}_${item.targetId}`, message) + }) + }) + } + } +} + +/** + * 目标组件 - 初始化联动逻辑 + * @param self 组件实例对象 this + * @returns + */ +export const targetWidgetLinkageLogic = function(self) { + const busEvents = [] + // 有无有关联的组件 + if (!self.allComponentLinkage || !self.allComponentLinkage.length) return + self.allComponentLinkage.some(item => { + if (item.index !== -1 && item.linkageArr.length) { + item.linkageArr.some(obj => { + if (obj.targetId === self.value.setup.widgetId) { + self.hasLinkage = true + busEvents.push({ + eventName: `bus_${obj.originId}_${obj.targetId}`, + paramsConfig: obj.paramsConfig + }) + return true + } + }) + } + }) + if (self.hasLinkage) { + busEvents.forEach(item => { + bus.$on(item.eventName, e => { + console.log(item.eventName, ' 接收消息e', e) + self.setOptionsData(e, item.paramsConfig) + }) + }) + } +} diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barCharts/widget-barchart.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barCharts/widget-barchart.js index 2f55a78c..c55403b4 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barCharts/widget-barchart.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barCharts/widget-barchart.js @@ -564,6 +564,18 @@ export const widgetBarchart = { }, ], }, + { + name: '组件联动', + list: [ + { + type: 'componentLinkage', + label: '', + name: 'componentLinkage', + required: false, + value: [] + } + ] + } ], ], // 数据 diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/lineCharts/widget-linechart.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/lineCharts/widget-linechart.js index f9fc91a1..b47cbdc6 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/lineCharts/widget-linechart.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/lineCharts/widget-linechart.js @@ -587,6 +587,18 @@ export const widgetLinechart = { }, ], }, + { + name: '组件联动', + list: [ + { + type: 'componentLinkage', + label: '', + name: 'componentLinkage', + required: false, + value: [] + } + ] + } ], ], // 数据 diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/percentCharts/widget-pie-percentage.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/percentCharts/widget-pie-percentage.js index a8a349fe..3d1d9fc1 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/percentCharts/widget-pie-percentage.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/percentCharts/widget-pie-percentage.js @@ -169,6 +169,18 @@ export const widgetPiePercentage = { value: '#173164' }, ] + }, + { + name: '组件联动', + list: [ + { + type: 'componentLinkage', + label: '', + name: 'componentLinkage', + required: false, + value: [] + } + ] } ], ], diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/index.js b/report-ui/src/views/bigscreenDesigner/designer/tools/index.js index 4a298073..7a20a42d 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/index.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/index.js @@ -3,8 +3,8 @@ * @version: * @Author: qianlishi * @Date: 2021-08-29 06:43:07 - * @LastEditors: qianlishi qianlishi@anji-plus.com - * @LastEditTime: 2022-11-07 15:35:42 + * @LastEditors: chengsl + * @LastEditTime: 2023-02-24 10:29:26 */ import { widgetTool } from "./main" const screenConfig = { @@ -52,7 +52,7 @@ const screenConfig = { name: 'backgroundColor', required: false, placeholder: '', - value: 'rgba(45, 86, 126, 1)', + value: '#1E1E1E', }, { type: 'custom-upload', @@ -72,6 +72,7 @@ export const converArr = (data) => { let tempArr = [], newArr = [] for (let i = 0; i < data.length; i++) { const item = data[i] + item.widgetId = '' if (tempArr.indexOf(item.type) === -1) { newArr.push({ name: item.tabName, diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/main.js b/report-ui/src/views/bigscreenDesigner/designer/tools/main.js index 660c04cc..e7159139 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/main.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/main.js @@ -3,8 +3,8 @@ * @version: * @Author: qianlishi * @Date: 2021-08-29 07:46:46 - * @LastEditors: qianlishi qianlishi@anji-plus.com - * @LastEditTime: 2023-01-09 13:16:19 + * @LastEditors: chengsl + * @LastEditTime: 2023-02-23 15:23:20 */ import { widgetText } from "./configure/texts/widget-text" @@ -70,7 +70,7 @@ export const widgetTool = [ widgetLineCompare, widgetDecoratePie, widgetMoreBarLine, - widgetWordCloud, + // widgetWordCloud, widgetHeatmap, widgetRadar, widgetBarLineStack, diff --git a/report-ui/src/views/bigscreenDesigner/designer/widget/bar/widgetBarchart.vue b/report-ui/src/views/bigscreenDesigner/designer/widget/bar/widgetBarchart.vue index c4d12d21..bfcd0ce7 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/widget/bar/widgetBarchart.vue +++ b/report-ui/src/views/bigscreenDesigner/designer/widget/bar/widgetBarchart.vue @@ -1,10 +1,11 @@ diff --git a/report-ui/src/views/bigscreenDesigner/designer/widget/form/widgetInput.vue b/report-ui/src/views/bigscreenDesigner/designer/widget/form/widgetInput.vue index e1a27c64..8c7c7bb2 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/widget/form/widgetInput.vue +++ b/report-ui/src/views/bigscreenDesigner/designer/widget/form/widgetInput.vue @@ -2,12 +2,13 @@ + \ No newline at end of file diff --git a/report-ui/src/views/bigscreenDesigner/designer/widget/temp.vue b/report-ui/src/views/bigscreenDesigner/designer/widget/temp.vue index 17a311eb..ce65716b 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/widget/temp.vue +++ b/report-ui/src/views/bigscreenDesigner/designer/widget/temp.vue @@ -1,24 +1,23 @@ - + + diff --git a/report-ui/src/views/bigscreenDesigner/designer/widget/temp.vue b/report-ui/src/views/bigscreenDesigner/designer/widget/temp.vue index ce65716b..64ab0ddc 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/widget/temp.vue +++ b/report-ui/src/views/bigscreenDesigner/designer/widget/temp.vue @@ -43,6 +43,7 @@ import widgetBarLineStackChart from "./barline/widgetBarLineStackChart"; import widgetSelect from "./form/widgetSelect"; import widgetInput from "./form/widgetInput.vue"; import widgetFormTime from "./form/widgetFormTime.vue"; +import widgetScale from "./scale/widgetScale.vue"; export default { name: "WidgetTemp", @@ -77,6 +78,7 @@ export default { widgetHeatmap, widgetRadar, widgetBarLineStackChart, + widgetScale, widgetSelect, widgetInput, widgetFormTime, diff --git a/report-ui/src/views/bigscreenDesigner/designer/widget/widget.vue b/report-ui/src/views/bigscreenDesigner/designer/widget/widget.vue index 0d21a369..ce2f4d5f 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/widget/widget.vue +++ b/report-ui/src/views/bigscreenDesigner/designer/widget/widget.vue @@ -50,6 +50,7 @@ import widgetBarLineStackChart from "./barline/widgetBarLineStackChart"; import widgetSelect from "./form/widgetSelect"; import widgetInput from "./form/widgetInput.vue"; import widgetFormTime from "./form/widgetFormTime.vue"; +import widgetScale from "./scale/widgetScale.vue"; export default { name: "Widget", @@ -84,6 +85,7 @@ export default { widgetHeatmap, widgetRadar, widgetBarLineStackChart, + widgetScale, widgetSelect, widgetInput, widgetFormTime, From 5e07fa37c8bd338d6b6629ffce3e1187672b9e66 Mon Sep 17 00:00:00 2001 From: qianlishi Date: Thu, 16 Mar 2023 14:12:33 +0800 Subject: [PATCH 34/86] =?UTF-8?q?=E6=9B=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- report-ui/config/dev.env.js | 4 +- report-ui/src/assets/styles/screen.scss | 508 ++++++++++++++++ report-ui/src/utils/screenMixins.js | 75 +++ .../bigscreenDesigner/designer/index.vue | 559 +----------------- 4 files changed, 588 insertions(+), 558 deletions(-) create mode 100644 report-ui/src/assets/styles/screen.scss create mode 100644 report-ui/src/utils/screenMixins.js diff --git a/report-ui/config/dev.env.js b/report-ui/config/dev.env.js index ee3d90dc..f50fc84e 100644 --- a/report-ui/config/dev.env.js +++ b/report-ui/config/dev.env.js @@ -4,6 +4,6 @@ const prodEnv = require('./prod.env') module.exports = merge(prodEnv, { NODE_ENV: '"development"', - BASE_API: '"http://127.0.0.1:9095"' - // BASE_API: '"http://10.108.26.197:9095"' + // BASE_API: '"http://127.0.0.1:9095"' + BASE_API: '"http://10.108.26.197:9095"' }) diff --git a/report-ui/src/assets/styles/screen.scss b/report-ui/src/assets/styles/screen.scss new file mode 100644 index 00000000..b412dffb --- /dev/null +++ b/report-ui/src/assets/styles/screen.scss @@ -0,0 +1,508 @@ +.mr10 { + margin-right: 10px; +} + +.ml20 { + margin-left: 20px; +} + +.border-right { + border-right: 1px solid #273b4d; +} + +.border-left { + border-left: 1px solid #273b4d; +} + +.el-icon-arrow-down { + font-size: 10px; +} + +.is-active { + background: #31455d !important; + color: #bfcbd9 !important; +} + +.layout { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + width: 100%; + height: 100%; + -webkit-box-sizing: border-box; + box-sizing: border-box; + overflow: hidden; + + .layout-left { + display: inline-block; + height: 100%; + box-sizing: border-box; + -webkit-box-sizing: border-box; + border: 0px; + background-color: #263445; + + //工具栏一个元素 + .tools-item { + display: flex; + position: relative; + width: 100%; + height: 48px; + align-items: center; + -webkit-box-align: center; + padding: 0 6px; + cursor: pointer; + font-size: 12px; + margin-bottom: 1px; + + .tools-item-icon { + color: #409eff; + margin-right: 10px; + width: 53px; + height: 30px; + line-height: 30px; + text-align: center; + display: block; + border: 1px solid #3a4659; + background: #282a30; + } + + .tools-item-text {} + } + } + + .layout-left-fold { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + height: 100%; + + font-size: 12px; + overflow: hidden; + background-color: #242a30; + cursor: pointer; + padding-top: 26%; + + i { + font-size: 18px; + width: 18px; + height: 23px; + margin-left: 0px; + color: #bfcbd9; + } + } + + .layout-middle { + // display: flex; + position: relative; + //width: calc(100% - 445px); + height: 100%; + background-color: rgb(36, 42, 48); + box-sizing: border-box; + -webkit-box-sizing: border-box; + border: 1px solid rgb(36, 42, 48); + align-items: center; + vertical-align: middle; + text-align: center; + + .top-button { + display: flex; + flex-direction: row; + height: 40px; + line-height: 40px; + margin-left: 9px; + + .btn { + color: #788994; + width: 55px; + text-align: center; + display: block; + cursor: pointer; + + .el-icon-arrow-down { + transform: rotate(0deg); + -ms-transform: rotate(0deg); + /* IE 9 */ + -moz-transform: rotate(0deg); + /* Firefox */ + -webkit-transform: rotate(0deg); + /* Safari 和 Chrome */ + -o-transform: rotate(0deg); + /* Opera */ + transition: all 0.4s ease-in-out; + } + + &:hover { + background: rgb(25, 29, 34); + + .el-icon-arrow-down { + transform: rotate(180deg); + -ms-transform: rotate(180deg); + /* IE 9 */ + -moz-transform: rotate(180deg); + /* Firefox */ + -webkit-transform: rotate(180deg); + /* Safari 和 Chrome */ + -o-transform: rotate(180deg); + /* Opera */ + transition: all 0.4s ease-in-out; + } + } + } + + .btn-disable { + opacity: 0.3; + cursor: no-drop; + } + + .scale-num { + color: #788994; + opacity: 1; + cursor: pointer; + + &.btn-disable { + cursor: no-drop; + + &:hover { + background: #20262c; + } + } + } + } + + .workbench-container { + position: relative; + -webkit-transform-origin: 0 0; + transform-origin: 0 0; + -webkit-box-sizing: border-box; + box-sizing: border-box; + margin: 0; + padding: 0; + overflow: auto; + + .vueRuler { + // width: 100%; + // padding: 18px 0px 0px 18px; + padding: 0; + } + + .workbench { + background-color: #1e1e1e; + position: relative; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + -webkit-transform-origin: 0 0; + transform-origin: 0 0; + margin: 0; + padding: 0; + } + + .bg-grid { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-size: 30px 30px, 30px 30px; + background-image: linear-gradient(hsla(0, 0%, 100%, 0.1) 1px, + transparent 0), + linear-gradient(90deg, hsla(0, 0%, 100%, 0.1) 1px, transparent 0); + // z-index: 2; + } + } + + .bottom-text { + width: 100%; + color: #a0a0a0; + font-size: 16px; + position: absolute; + bottom: 20px; + } + } + + .layout-right { + display: inline-block; + height: 100%; + } + + /deep/ .el-tabs--border-card { + border: 0; + + .el-tabs__header { + .el-tabs__nav { + .el-tabs__item { + background-color: #242f3b; + border: 0px; + } + + .el-tabs__item.is-active { + background-color: #31455d; + } + } + } + + .el-tabs__content { + background-color: #242a30; + height: calc(100vh - 39px); + overflow-x: hidden; + overflow-y: auto; + + .el-tab-pane { + color: #bfcbd9; + } + + &::-webkit-scrollbar { + width: 5px; + height: 14px; + } + + &::-webkit-scrollbar-track, + &::-webkit-scrollbar-thumb { + border-radius: 1px; + border: 0 solid transparent; + } + + &::-webkit-scrollbar-track-piece { + /*修改滚动条的背景和圆角*/ + background: #29405c; + } + + &::-webkit-scrollbar-track { + box-shadow: 1px 1px 5px rgba(116, 148, 170, 0.5) inset; + } + + &::-webkit-scrollbar-thumb { + min-height: 20px; + background-clip: content-box; + box-shadow: 0 0 0 5px rgba(116, 148, 170, 0.5) inset; + } + + &::-webkit-scrollbar-corner { + background: transparent; + } + + /*修改垂直滚动条的样式*/ + &::-webkit-scrollbar-thumb:vertical { + background-color: #00113a; + // -webkit-border-radius: 7px; + } + + /*修改水平滚动条的样式*/ + &::-webkit-scrollbar-thumb:horizontal { + background-color: #00113a; + // -webkit-border-radius: 7px; + } + } + } +} + +ul, +li { + list-style: none; + margin: 0; + padding: 0; +} + +.nav { + width: 40px; + padding: 0; + list-style: none; + /* overflow: hidden; */ +} + +.nav { + zoom: 1; +} + +.nav:before, +.nav:after { + content: ""; + display: table; +} + +.nav:after { + clear: both; +} + +.nav>li { + width: 55px; + text-align: left; + position: relative; +} + +.nav>li a { + float: left; + padding: 12px 30px; + color: #999; + font: bold 12px; + text-decoration: none; +} + +.nav>li:hover { + color: #788994; +} + +.nav>li ul { + visibility: hidden; + position: absolute; + z-index: 1000; + list-style: none; + left: 0; + padding: 0; + background-color: rgb(36, 42, 48); + opacity: 0; + _margin: 0; + width: 120px; + transition: all 0.2s ease-in-out; +} + +.nav>li:hover>ul { + opacity: 1; + visibility: visible; + margin: 0; + + li:hover { + background-color: rgb(25, 29, 34); + } +} + +.nav ul li { + float: left; + display: block; + border: 0; + width: 100%; + font-size: 12px; +} + +.nav ul a { + padding: 10px; + width: 100%; + display: block; + float: none; + height: 120px; + border: 1px solid #30445c; + background-color: rgb(25, 29, 34); + transition: all 0.2s ease-in-out; +} + +.nav ul a:hover { + border: 1px solid #3c5e88; +} + +.nav ul li:first-child>a:hover:before { + border-bottom-color: #04acec; +} + +.nav ul ul { + top: 0; + left: 120px; + width: 400px; + height: 300px; + overflow: auto; + padding: 10px; + _margin: 0; +} + +.nav ul ul li { + width: 120px; + height: 120px; + margin-right: 3px; + display: block; + float: left; +} + +.nav .item { + padding: 5px; +} + +/deep/ .vue-ruler-h { + opacity: 0.3; +} + +/deep/ .vue-ruler-v { + opacity: 0.3; +} + +.layout-left { + width: 200px; + background: #242a30; + overflow-x: hidden; + overflow-y: auto; + + .chart-type { + display: flex; + flex-direction: row; + overflow: hidden; + + .type-left { + width: 100%; + height: calc(100vh - 80px); + text-align: center; + + /deep/.el-tabs__header { + width: 30%; + margin-right: 0; + + .el-tabs__nav-wrap { + &::after { + background: transparent; + } + + .el-tabs__item { + text-align: center; + width: 100% !important; + color: #fff; + padding: 0; + font-size: 12px !important; + } + } + } + + /deep/.el-tabs__content { + width: 70%; + } + } + } + + //工具栏一个元素 + .tools-item { + display: flex; + position: relative; + width: 100%; + height: 48px; + align-items: center; + -webkit-box-align: center; + padding: 0 6px; + cursor: pointer; + font-size: 12px; + margin-bottom: 1px; + + .tools-item-icon { + color: #409eff; + margin-right: 10px; + width: 53px; + height: 30px; + line-height: 30px; + text-align: center; + display: block; + border: 1px solid #3a4659; + background: #282a30; + } + + .tools-item-text { + font-size: 12px !important; + } + } + + /deep/.el-tabs__content { + padding: 0; + } +} + +/* 设置滚动条的样式 */ + +::-webkit-scrollbar { + width: 0; + height: 10px; +} \ No newline at end of file diff --git a/report-ui/src/utils/screenMixins.js b/report-ui/src/utils/screenMixins.js new file mode 100644 index 00000000..038b0b45 --- /dev/null +++ b/report-ui/src/utils/screenMixins.js @@ -0,0 +1,75 @@ +const mixin = { + methods: { + // 数组 元素互换位置 + swapArr(arr, oldIndex, newIndex) { + arr[oldIndex] = arr.splice(newIndex, 1, arr[oldIndex])[0]; + return arr; + }, + // 删除 + deletelayer() { + this.widgets.splice(this.rightClickIndex, 1); + }, + // 锁定 + lockLayer() { + const obj = this.widgets[this.rightClickIndex]; + this.$set(obj.value.position, "disabled", true); + }, + // 解除锁定 + noLockLayer() { + const obj = this.widgets[this.rightClickIndex]; + this.$set(obj.value.position, "disabled", false); + }, + // 复制 + copylayer() { + const obj = this.deepClone(this.widgets[this.rightClickIndex]); + obj.value.position.top += 40; // 复制的元素向右下角偏移一点 + obj.value.position.left += 40; + obj.value.widgetId = Number(Math.random().toString().substr(2)).toString( + 36 + ); + this.widgets.splice(this.widgets.length, 0, obj); + this.$nextTick(() => { + this.layerClick(this.widgets.length - 1); // 复制后定位到最新的组件 + }); + }, + // 置顶 + istopLayer() { + if (this.rightClickIndex + 1 < this.widgets.length) { + const temp = this.widgets.splice(this.rightClickIndex, 1)[0]; + this.widgets.push(temp); + } + }, + // 置底 + setlowLayer() { + if (this.rightClickIndex != 0) { + this.widgets.unshift(this.widgets.splice(this.rightClickIndex, 1)[0]); + } + }, + // 上移一层 + moveupLayer() { + if (this.rightClickIndex != 0) { + this.widgets[this.rightClickIndex] = this.widgets.splice( + this.rightClickIndex - 1, + 1, + this.widgets[this.rightClickIndex] + )[0]; + } else { + this.widgets.push(this.widgets.shift()); + } + }, + // 下移一层 + movedownLayer() { + if (this.rightClickIndex != this.widgets.length - 1) { + this.widgets[this.rightClickIndex] = this.widgets.splice( + this.rightClickIndex + 1, + 1, + this.widgets[this.rightClickIndex] + )[0]; + } else { + this.widgets.unshift(this.widgets.splice(this.rightClickIndex, 1)[0]); + } + }, + } +} + +export default mixin \ No newline at end of file diff --git a/report-ui/src/views/bigscreenDesigner/designer/index.vue b/report-ui/src/views/bigscreenDesigner/designer/index.vue index 47a256fc..e8bfe268 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/index.vue +++ b/report-ui/src/views/bigscreenDesigner/designer/index.vue @@ -366,6 +366,7 @@ import { exportDashboard, } from "@/api/bigscreen"; import { widgetTools, getToolByCode } from "./tools/index"; +import mixin from "@/utils/screenMixins"; import widget from "./widget/widget.vue"; import dynamicForm from "./components/dynamicForm.vue"; import draggable from "vuedraggable"; @@ -383,6 +384,7 @@ export default { dynamicForm, contentMenu, }, + mixins: [mixin], data() { return { uploadUrl: @@ -1125,565 +1127,10 @@ export default { evt.preventDefault(); this.widgets = this.swapArr(this.widgets, evt.oldIndex, evt.newIndex); }, - // 数组 元素互换位置 - swapArr(arr, oldIndex, newIndex) { - arr[oldIndex] = arr.splice(newIndex, 1, arr[oldIndex])[0]; - return arr; - }, - // 删除 - deletelayer() { - this.widgets.splice(this.rightClickIndex, 1); - }, - // 锁定 - lockLayer() { - const obj = this.widgets[this.rightClickIndex]; - this.$set(obj.value.position, "disabled", true); - }, - // 解除锁定 - noLockLayer() { - const obj = this.widgets[this.rightClickIndex]; - this.$set(obj.value.position, "disabled", false); - }, - // 复制 - copylayer() { - const obj = this.deepClone(this.widgets[this.rightClickIndex]); - obj.value.position.top += 40; // 复制的元素向右下角偏移一点 - obj.value.position.left += 40; - obj.value.widgetId = Number(Math.random().toString().substr(2)).toString( - 36 - ); - this.widgets.splice(this.widgets.length, 0, obj); - this.$nextTick(() => { - this.layerClick(this.widgets.length - 1); // 复制后定位到最新的组件 - }); - }, - // 置顶 - istopLayer() { - if (this.rightClickIndex + 1 < this.widgets.length) { - const temp = this.widgets.splice(this.rightClickIndex, 1)[0]; - this.widgets.push(temp); - } - }, - // 置底 - setlowLayer() { - if (this.rightClickIndex != 0) { - this.widgets.unshift(this.widgets.splice(this.rightClickIndex, 1)[0]); - } - }, - // 上移一层 - moveupLayer() { - if (this.rightClickIndex != 0) { - this.widgets[this.rightClickIndex] = this.widgets.splice( - this.rightClickIndex - 1, - 1, - this.widgets[this.rightClickIndex] - )[0]; - } else { - this.widgets.push(this.widgets.shift()); - } - }, - // 下移一层 - movedownLayer() { - if (this.rightClickIndex != this.widgets.length - 1) { - this.widgets[this.rightClickIndex] = this.widgets.splice( - this.rightClickIndex + 1, - 1, - this.widgets[this.rightClickIndex] - )[0]; - } else { - this.widgets.unshift(this.widgets.splice(this.rightClickIndex, 1)[0]); - } - }, }, }; From ee83bad2e967d2751461e72cce5d4387895761c2 Mon Sep 17 00:00:00 2001 From: qianlishi Date: Thu, 16 Mar 2023 14:51:39 +0800 Subject: [PATCH 35/86] =?UTF-8?q?=E6=9B=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- report-ui/src/utils/screenMixins.js | 231 +++++++++++++++ .../bigscreenDesigner/designer/index.vue | 280 +----------------- 2 files changed, 234 insertions(+), 277 deletions(-) diff --git a/report-ui/src/utils/screenMixins.js b/report-ui/src/utils/screenMixins.js index 038b0b45..96031f14 100644 --- a/report-ui/src/utils/screenMixins.js +++ b/report-ui/src/utils/screenMixins.js @@ -1,5 +1,236 @@ +import { Revoke } from "@/utils/revoke"; +import { getToken } from "@/utils/auth"; +import { insertDashboard, detailDashboard, importDashboard, exportDashboard, } from "@/api/bigscreen"; const mixin = { + data() { + return { + uploadUrl: process.env.BASE_API + "/reportDashboard/import/" + this.$route.query.reportCode, + rightClickIndex: -1, + } + }, + computed: { + step() { + return Number(100 / (this.bigscreenScaleInWorkbench * 100)); + }, + headers() { + return { + Authorization: getToken(), + }; + }, + // 初始的缩放百分比 和 下标 + defaultSize() { + const obj = { + index: -1, + size: "50", + }; + this.sizeRange.some((item, index) => { + if (item <= 100 * this.bigscreenScaleInWorkbench) { + obj.index = index; + obj.size = 100 * this.bigscreenScaleInWorkbench; // item + } + }); + if (obj.index === -1) { + obj.index = 0; + obj.size = this.sizeRange[0]; + } + return obj; + }, + }, + watch: { + defaultSize: { + handler(val) { + if (val !== -1) { + this.currentSizeRangeIndex = val.index; + this.scaleNum = val.size; + } + }, + immediate: true, + }, + bigscreenWidth() { + this.initVueRulerTool(); + }, + bigscreenHeight() { + this.initVueRulerTool(); + }, + }, + created() { + this.revoke = new Revoke(); + this.initEchartData(); + }, methods: { + /** + * @param num: 0缩小 1放大 2默认比例 + * sizeRange: [20, 40, 60, 72, 100, 150, 200, 300, 400] + */ + setSize(num) { + if (num === 0) { + // 缩小 + if (this.currentSizeRangeIndex === 0) return; + this.currentSizeRangeIndex -= 1; + } else if (num === 1) { + // 放大 + if (this.currentSizeRangeIndex === 8) return; + this.currentSizeRangeIndex += 1; + } else if (num === 2) { + // 正常比例 + this.currentSizeRangeIndex = this.defaultSize.index; + } + this.scaleNum = + this.currentSizeRangeIndex === this.defaultSize.index + ? this.defaultSize.size + : this.sizeRange[this.currentSizeRangeIndex]; + }, + // 初始化 修正插件样式 + initVueRulerTool() { + const vueRulerToolDom = this.$refs["vue-ruler-tool"].$el; // 操作面板 第三方插件工具 + const contentDom = vueRulerToolDom.querySelector(".vue-ruler-content"); + const vueRulerX = vueRulerToolDom.querySelector(".vue-ruler-h"); // 横向标尺 + const vueRulerY = vueRulerToolDom.querySelector(".vue-ruler-v"); // 纵向标尺 + // vueRulerToolDom.style.cssText += ';width:' + (this.bigscreenWidth + 18) + 'px !important;height:' + (this.bigscreenHeight + 18) + 'px !important;' + contentDom.style.width = "100%"; + contentDom.style.height = "100%"; + + let xHtmlContent = ""; // '0' + let yHtmlContent = ""; // '0' + let currentNum = 0; + while (currentNum < +this.bigscreenWidth) { + xHtmlContent += `${currentNum}`; + currentNum += 50; + } + currentNum = 0; + while (currentNum < +this.bigscreenHeight) { + yHtmlContent += `${currentNum}`; + currentNum += 50; + } + vueRulerX.innerHTML = xHtmlContent; + vueRulerY.innerHTML = yHtmlContent; + }, + async initEchartData() { + const reportCode = this.$route.query.reportCode; + const { code, data } = await detailDashboard(reportCode); + if (code != 200) return; + const processData = this.handleInitEchartsData(data); + const screenData = this.handleBigScreen(data.dashboard); + this.widgets = processData; + this.dashboard = screenData; + this.bigscreenWidth = this.dashboard.width; + this.bigscreenHeight = this.dashboard.height; + }, + // 保存数据 + async saveData() { + if (!this.widgets || this.widgets.length == 0) { + return this.$message.error("请添加组件"); + } + const screenData = { + reportCode: this.$route.query.reportCode, + dashboard: { + title: this.dashboard.title, + width: this.dashboard.width, + height: this.dashboard.height, + backgroundColor: this.dashboard.backgroundColor, + backgroundImage: this.dashboard.backgroundImage, + }, + widgets: this.widgets, + }; + screenData.widgets.forEach((widget) => { + widget.value.setup.widgetId = widget.value.widgetId; + }); + const { code, data } = await insertDashboard(screenData); + if (code == "200") { + this.$message.success("保存成功!"); + } + }, + viewScreen() { + let routeUrl = this.$router.resolve({ + path: "/bigscreen/viewer", + query: { reportCode: this.$route.query.reportCode }, + }); + window.open(routeUrl.href, "_blank"); + }, + async exportDashboard(val) { + const fileName = this.$route.query.reportCode + ".zip"; + + const param = { + reportCode: this.$route.query.reportCode, + showDataSet: val, + }; + exportDashboard(param).then((res) => { + const that = this; + const type = res.type; + if (type == "application/json") { + let reader = new FileReader(); + reader.readAsText(res, "utf-8"); + reader.onload = function () { + const data = JSON.parse(reader.result); + that.$message.error(data.message); + }; + return; + } + const blob = new Blob([res], { type: "application/octet-stream" }); + if (window.navigator.msSaveOrOpenBlob) { + //msSaveOrOpenBlob方法返回bool值 + navigator.msSaveBlob(blob, fileName); //本地保存 + } else { + const link = document.createElement("a"); //a标签下载 + link.href = window.URL.createObjectURL(blob); + link.download = fileName; + link.click(); + window.URL.revokeObjectURL(link.href); + } + }); + }, + handleUndo() { + const record = this.revoke.undo(); + if (!record) { + return false; + } + this.widgets = record; + }, + handleRedo() { + const record = this.revoke.redo(); + if (!record) { + return false; + } + this.widgets = record; + }, + handleUpload(response, file, fileList) { + this.$refs.upload.clearFiles(); + this.initEchartData(); + if (response.code == "200") { + this.$message({ + message: "导入成功!", + type: "success", + }); + } else { + this.$message({ + message: response.message, + type: "error", + }); + } + }, + handleError(err) { + this.$message({ + message: "上传失败!", + type: "error", + }); + }, + // 右键 + rightClick(event, index) { + this.rightClickIndex = index; + const left = event.clientX; + const top = event.clientY; + if (left || top) { + this.styleObj = { + left: left + "px", + top: top + "px", + display: "block", + }; + } + this.visibleContentMenu = true; + return false; + }, // 数组 元素互换位置 swapArr(arr, oldIndex, newIndex) { arr[oldIndex] = arr.splice(newIndex, 1, arr[oldIndex])[0]; diff --git a/report-ui/src/views/bigscreenDesigner/designer/index.vue b/report-ui/src/views/bigscreenDesigner/designer/index.vue index e8bfe268..67e0c84a 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/index.vue +++ b/report-ui/src/views/bigscreenDesigner/designer/index.vue @@ -130,13 +130,9 @@ content="缩小" placement="bottom" > - - - @@ -228,10 +223,6 @@
    -
    { - if (item <= 100 * this.bigscreenScaleInWorkbench) { - obj.index = index; - obj.size = 100 * this.bigscreenScaleInWorkbench; // item - } - }); - if (obj.index === -1) { - obj.index = 0; - obj.size = this.sizeRange[0]; - } - return obj; - }, // 大屏在设计模式的大小 bigscreenWidthInWorkbench() { return this.getPXUnderScale(this.bigscreenWidth) + this.widthPaddingTools; @@ -538,29 +478,8 @@ export default { }, deep: true, }, - defaultSize: { - handler(val) { - if (val !== -1) { - this.currentSizeRangeIndex = val.index; - this.scaleNum = val.size; - } - }, - immediate: true, - }, - bigscreenWidth() { - this.initVueRulerTool(); - }, - bigscreenHeight() { - this.initVueRulerTool(); - }, - }, - created() { - /* 以下是记录历史的 */ - this.revoke = new Revoke(); }, mounted() { - // 如果是新的设计工作台 - this.initEchartData(); this.widgets = []; window.addEventListener("mouseup", () => { this.grade = false; @@ -570,81 +489,6 @@ export default { }); }, methods: { - /** - * @param num: 0缩小 1放大 2默认比例 - * sizeRange: [20, 40, 60, 72, 100, 150, 200, 300, 400] - */ - setSize(num) { - if (num === 0) { - // 缩小 - if (this.currentSizeRangeIndex === 0) return; - this.currentSizeRangeIndex -= 1; - } else if (num === 1) { - // 放大 - if (this.currentSizeRangeIndex === 8) return; - this.currentSizeRangeIndex += 1; - } else if (num === 2) { - // 正常比例 - this.currentSizeRangeIndex = this.defaultSize.index; - } - this.scaleNum = - this.currentSizeRangeIndex === this.defaultSize.index - ? this.defaultSize.size - : this.sizeRange[this.currentSizeRangeIndex]; - }, - // 初始化 修正插件样式 - initVueRulerTool() { - const vueRulerToolDom = this.$refs["vue-ruler-tool"].$el; // 操作面板 第三方插件工具 - const contentDom = vueRulerToolDom.querySelector(".vue-ruler-content"); - const vueRulerX = vueRulerToolDom.querySelector(".vue-ruler-h"); // 横向标尺 - const vueRulerY = vueRulerToolDom.querySelector(".vue-ruler-v"); // 纵向标尺 - // vueRulerToolDom.style.cssText += ';width:' + (this.bigscreenWidth + 18) + 'px !important;height:' + (this.bigscreenHeight + 18) + 'px !important;' - contentDom.style.width = "100%"; - contentDom.style.height = "100%"; - - let xHtmlContent = ""; // '0' - let yHtmlContent = ""; // '0' - let currentNum = 0; - while (currentNum < +this.bigscreenWidth) { - xHtmlContent += `${currentNum}`; - currentNum += 50; - } - currentNum = 0; - while (currentNum < +this.bigscreenHeight) { - yHtmlContent += `${currentNum}`; - currentNum += 50; - } - vueRulerX.innerHTML = xHtmlContent; - vueRulerY.innerHTML = yHtmlContent; - }, - /** - * @description: 恢复 - * @param {*} - * @return {*} - */ - handleUndo() { - const record = this.revoke.undo(); - if (!record) { - return false; - } - this.widgets = record; - }, - /** - * @description: 重做 - * @param {*} - * @return {*} - */ - handleRedo() { - const record = this.revoke.redo(); - if (!record) { - return false; - } - this.widgets = record; - }, handlerLayerWidget(val) { const layerWidgetArr = []; for (let i = 0; i < val.length; i++) { @@ -672,17 +516,6 @@ export default { return item.value.data; }); }, - async initEchartData() { - const reportCode = this.$route.query.reportCode; - const { code, data } = await detailDashboard(reportCode); - if (code != 200) return; - const processData = this.handleInitEchartsData(data); - const screenData = this.handleBigScreen(data.dashboard); - this.widgets = processData; - this.dashboard = screenData; - this.bigscreenWidth = this.dashboard.width; - this.bigscreenHeight = this.dashboard.height; - }, handleBigScreen(data) { const optionScreen = getToolByCode("screen").options; const setup = optionScreen.setup; @@ -771,97 +604,6 @@ export default { } return option; }, - // 保存数据 - async saveData() { - if (!this.widgets || this.widgets.length == 0) { - this.$message.error("请添加组件"); - return; - } - const screenData = { - reportCode: this.$route.query.reportCode, - dashboard: { - title: this.dashboard.title, - width: this.dashboard.width, - height: this.dashboard.height, - backgroundColor: this.dashboard.backgroundColor, - backgroundImage: this.dashboard.backgroundImage, - }, - widgets: this.widgets, - }; - screenData.widgets.forEach((widget) => { - widget.value.setup.widgetId = widget.value.widgetId; - }); - const { code, data } = await insertDashboard(screenData); - if (code == "200") { - this.$message.success("保存成功!"); - } - }, - // 预览 - viewScreen() { - let routeUrl = this.$router.resolve({ - path: "/bigscreen/viewer", - query: { reportCode: this.$route.query.reportCode }, - }); - window.open(routeUrl.href, "_blank"); - }, - // 导出 - async exportDashboard(val) { - const fileName = this.$route.query.reportCode + ".zip"; - - const param = { - reportCode: this.$route.query.reportCode, - showDataSet: val, - }; - exportDashboard(param).then((res) => { - const that = this; - const type = res.type; - if (type == "application/json") { - let reader = new FileReader(); - reader.readAsText(res, "utf-8"); - reader.onload = function () { - const data = JSON.parse(reader.result); - that.$message.error(data.message); - }; - return; - } - - const blob = new Blob([res], { type: "application/octet-stream" }); - if (window.navigator.msSaveOrOpenBlob) { - //msSaveOrOpenBlob方法返回bool值 - navigator.msSaveBlob(blob, fileName); //本地保存 - } else { - const link = document.createElement("a"); //a标签下载 - link.href = window.URL.createObjectURL(blob); - link.download = fileName; - link.click(); - window.URL.revokeObjectURL(link.href); - } - }); - }, - // 上传成功的回调 - handleUpload(response, file, fileList) { - //清除el-upload组件中的文件 - this.$refs.upload.clearFiles(); - //刷新大屏页面 - this.initEchartData(); - if (response.code == "200") { - this.$message({ - message: "导入成功!", - type: "success", - }); - } else { - this.$message({ - message: response.message, - type: "error", - }); - } - }, - handleError(err) { - this.$message({ - message: "上传失败!", - type: "error", - }); - }, // 在缩放模式下的大小 getPXUnderScale(px) { @@ -952,7 +694,6 @@ export default { // 激活新组件的配置属性 this.setOptionsOnClickWidget(this.widgets.length - 1); }, - // 对组件默认值处理 handleDefaultValue(widgetJson) { for (const key in widgetJson) { @@ -1005,7 +746,6 @@ export default { this.activeName = "first"; this.widgetOptions = getToolByCode("screen")["options"]; }, - // 如果是点击某个组件,获取该组件的配置项 setOptionsOnClickWidget(obj) { this.screenCode = ""; @@ -1054,7 +794,7 @@ export default { console.log("val", val); console.log(this.widgetOptions); if (this.screenCode == "screen") { - let newSetup = new Array(); + let newSetup = []; this.dashboard = this.deepClone(val); console.log("asd", this.dashboard); console.log(this.widgetOptions); @@ -1085,20 +825,6 @@ export default { } } }, - rightClick(event, index) { - this.rightClickIndex = index; - const left = event.clientX; - const top = event.clientY; - if (left || top) { - this.styleObj = { - left: left + "px", - top: top + "px", - display: "block", - }; - } - this.visibleContentMenu = true; - return false; - }, setDefaultValue(options, val) { for (let i = 0; i < options.length; i++) { if (Object.prototype.toString.call(options[i]) == "[object Object]") { From 4117fce4df5652289bbcc2815d70d6ffd74d7be1 Mon Sep 17 00:00:00 2001 From: qianlishi Date: Thu, 16 Mar 2023 15:59:06 +0800 Subject: [PATCH 36/86] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=95=B4=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- report-ui/src/mixins/common.js | 70 ++++++++++--------- .../bigscreenDesigner/designer/index.vue | 17 ++--- 2 files changed, 43 insertions(+), 44 deletions(-) diff --git a/report-ui/src/mixins/common.js b/report-ui/src/mixins/common.js index 7eb628bf..42a5258c 100644 --- a/report-ui/src/mixins/common.js +++ b/report-ui/src/mixins/common.js @@ -1,40 +1,40 @@ import Cookies from 'js-cookie' import { getStorageItem } from '@/utils/storage' export default { - data () { + data() { return { } }, computed: { // 网页高度 - bodyWidth () { + bodyWidth() { return document.body.clientWidth }, // 网页宽度 - bodyHeight () { + bodyHeight() { return document.body.clientHeight }, }, - created () { + created() { }, - mounted () { + mounted() { }, - destroyed () { + destroyed() { }, methods: { - setCookies (key, val, option) { + setCookies(key, val, option) { if (option == null) { option = { expires: 15 } } Cookies.set(key, val, option) }, - goBack () { + goBack() { this.$router.go(-1) }, - refresh () { + refresh() { this.$router.go(0) }, - parseString (object) { + parseString(object) { if (typeof object === 'undefined' || object == null) { return '' } @@ -49,7 +49,7 @@ export default { } return '' }, - isBlank (val) { + isBlank(val) { if (typeof val === 'undefined') { return true } @@ -59,7 +59,7 @@ export default { return false }, // 封装定制删除数组中的值 - contains (a, obj) { + contains(a, obj) { let i = a.length while (i--) { if (a[i] === obj) { @@ -82,13 +82,13 @@ export default { /** * */ - resetForm (data) { + resetForm(data) { let formKeys = Object.keys(data) for (let k of formKeys) { data[k] = null } }, - sortArray (propertyName) { + sortArray(propertyName) { return function (object1, object2) { let value1 = object1[propertyName]; let value2 = object2[propertyName]; @@ -103,7 +103,7 @@ export default { } }, // 获取对象类型 - getObjectType (obj) { + getObjectType(obj) { let toString = Object.prototype.toString let map = { '[object Boolean]': 'boolean', @@ -122,23 +122,22 @@ export default { } return map[toString.call(obj)] }, - isNumber (obj) { + isNumber(obj) { return this.getObjectType(obj) == 'number' }, - isString (obj) { + isString(obj) { return this.getObjectType(obj) == 'string' }, - isArray (obj) { + isArray(obj) { return this.getObjectType(obj) == 'array' }, - hasOwn (obj, key) { + hasOwn(obj, key) { return Object.prototype.hasOwnProperty.call(obj, key) }, - - isNotBlank (val) { + isNotBlank(val) { return !this.isBlank(val) }, - isBlank (val) { + isBlank(val) { if (this.isNull(val)) { return true } @@ -153,10 +152,10 @@ export default { } return false }, - isNotNull (val) { + isNotNull(val) { return !this.isNull(val) }, - isNull (val) { + isNull(val) { // 特殊判断 if (val && parseInt(val) === 0) return false const list = ['$parent'] @@ -182,7 +181,7 @@ export default { }, // 对象深拷贝 - deepClone (data) { + deepClone(data) { let type = this.getObjectType(data) let obj if (type === 'array') { @@ -218,7 +217,7 @@ export default { }, // 合并json - mergeObject () { + mergeObject() { let target = arguments[0] || {} let deep = false let arr = Array.prototype.slice.call(arguments) @@ -261,7 +260,7 @@ export default { }, // 获取dom在屏幕中的top和left - getDomTopLeftById (id) { + getDomTopLeftById(id) { let dom = document.getElementById(id) let top = 0 let left = 0 @@ -271,7 +270,7 @@ export default { } return { top: top, left: left } }, - objToOne (obj) { + objToOne(obj) { console.log(obj) let tmpData = {} for (let index in obj) { @@ -291,13 +290,16 @@ export default { return Object.prototype.toString.call(value) === "[object Array]"; } }, - urlEncode (val) { + isObjectFn(value) { + return Object.prototype.toString.call(value) === "[object Array]"; + }, + urlEncode(val) { return encodeURIComponent(val) }, - urlDecode (val) { + urlDecode(val) { return decodeURIComponent(val) }, - urlEncodeObject (obj, ingoreFields) { + urlEncodeObject(obj, ingoreFields) { if (toString.call(obj) != '[object Object]') { return obj } @@ -316,7 +318,7 @@ export default { }, // 根据数据字典,查询指定字典dict指定值code的,返回整个dictItem{id, text, extend} - getDictItemByCode (dict, code) { + getDictItemByCode(dict, code) { let dicts = getStorageItem('AJReportDict') if (!dicts.hasOwnProperty(dict)) { return null @@ -334,7 +336,7 @@ export default { return null }, // 根据数据字典,查询指定字典dict指定值code的dictItem.text - getDictLabelByCode (dict, code) { + getDictLabelByCode(dict, code) { let dictItem = this.getDictItemByCode(dict, code) if (dictItem != null) { return dictItem['text'] @@ -343,7 +345,7 @@ export default { } }, // 根据数据字典,查询指定字典dict指定值code的dictItem.extend - getDictExtendByCode (dict, code) { + getDictExtendByCode(dict, code) { let dictItem = this.getDictItemByCode(dict, code) if (dictItem == null) { return null diff --git a/report-ui/src/views/bigscreenDesigner/designer/index.vue b/report-ui/src/views/bigscreenDesigner/designer/index.vue index 67e0c84a..67bda382 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/index.vue +++ b/report-ui/src/views/bigscreenDesigner/designer/index.vue @@ -570,11 +570,11 @@ export default { for (const key in data.setup) { for (let i = 0; i < option.setup.length; i++) { let item = option.setup[i]; - if (Object.prototype.toString.call(item) == "[object Object]") { + if (this.isObjectFn(item)) { if (key == option.setup[i].name) { option.setup[i].value = data.setup[key]; } - } else if (Object.prototype.toString.call(item) == "[object Array]") { + } else if (this.isArrayFn(item)) { for (let j = 0; j < item.length; j++) { const list = item[j].list; list.forEach((el) => { @@ -696,17 +696,16 @@ export default { }, // 对组件默认值处理 handleDefaultValue(widgetJson) { + console.log(widgetJson); for (const key in widgetJson) { if (key == "options") { // collapse、data、position、setup // setup 处理 for (let i = 0; i < widgetJson.options.setup.length; i++) { const item = widgetJson.options.setup[i]; - if (Object.prototype.toString.call(item) == "[object Object]") { + if (this.isObjectFn(item)) { widgetJson.value.setup[item.name] = item.value; - } else if ( - Object.prototype.toString.call(item) == "[object Array]" - ) { + } else if (this.isArrayFn(item)) { for (let j = 0; j < item.length; j++) { const list = item[j].list; list.forEach((el) => { @@ -827,15 +826,13 @@ export default { }, setDefaultValue(options, val) { for (let i = 0; i < options.length; i++) { - if (Object.prototype.toString.call(options[i]) == "[object Object]") { + if (this.isObjectFn(options[i])) { for (const k in val) { if (options[i].name == k) { options[i].value = val[k]; } } - } else if ( - Object.prototype.toString.call(options[i]) == "[object Array]" - ) { + } else if (this.isArrayFn(options[i])) { for (let j = 0; j < options[i].length; j++) { const list = options[i][j].list; for (let z = 0; z < list.length; z++) { From 18e169e69c3358b9524a114369dc8c4f81753df9 Mon Sep 17 00:00:00 2001 From: qianlishi Date: Thu, 16 Mar 2023 18:36:50 +0800 Subject: [PATCH 37/86] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=95=B4=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- report-ui/src/mixins/common.js | 2 +- report-ui/src/utils/screenMixins.js | 137 ++++++++++++------ .../bigscreenDesigner/designer/index.vue | 88 ----------- 3 files changed, 94 insertions(+), 133 deletions(-) diff --git a/report-ui/src/mixins/common.js b/report-ui/src/mixins/common.js index 42a5258c..f4dfba9e 100644 --- a/report-ui/src/mixins/common.js +++ b/report-ui/src/mixins/common.js @@ -291,7 +291,7 @@ export default { } }, isObjectFn(value) { - return Object.prototype.toString.call(value) === "[object Array]"; + return Object.prototype.toString.call(value) === "[object Object]"; }, urlEncode(val) { return encodeURIComponent(val) diff --git a/report-ui/src/utils/screenMixins.js b/report-ui/src/utils/screenMixins.js index 96031f14..5d345279 100644 --- a/report-ui/src/utils/screenMixins.js +++ b/report-ui/src/utils/screenMixins.js @@ -1,10 +1,12 @@ import { Revoke } from "@/utils/revoke"; import { getToken } from "@/utils/auth"; -import { insertDashboard, detailDashboard, importDashboard, exportDashboard, } from "@/api/bigscreen"; +import { getToolByCode } from "@/views/bigscreenDesigner/designer/tools/index"; +import { insertDashboard, detailDashboard, exportDashboard, } from "@/api/bigscreen"; const mixin = { data() { return { - uploadUrl: process.env.BASE_API + "/reportDashboard/import/" + this.$route.query.reportCode, + reportCode: this.$route.query.reportCode, + uploadUrl: process.env.BASE_API + "/reportDashboard/import/" + this.reportCode, rightClickIndex: -1, } }, @@ -26,7 +28,7 @@ const mixin = { this.sizeRange.some((item, index) => { if (item <= 100 * this.bigscreenScaleInWorkbench) { obj.index = index; - obj.size = 100 * this.bigscreenScaleInWorkbench; // item + obj.size = 100 * this.bigscreenScaleInWorkbench; } }); if (obj.index === -1) { @@ -55,7 +57,7 @@ const mixin = { }, created() { this.revoke = new Revoke(); - this.initEchartData(); + this.getData(); }, methods: { /** @@ -63,22 +65,14 @@ const mixin = { * sizeRange: [20, 40, 60, 72, 100, 150, 200, 300, 400] */ setSize(num) { - if (num === 0) { - // 缩小 - if (this.currentSizeRangeIndex === 0) return; - this.currentSizeRangeIndex -= 1; - } else if (num === 1) { - // 放大 - if (this.currentSizeRangeIndex === 8) return; - this.currentSizeRangeIndex += 1; - } else if (num === 2) { - // 正常比例 - this.currentSizeRangeIndex = this.defaultSize.index; + switch (num) { + case 0: this.currentSizeRangeIndex === 0 ? '' : this.currentSizeRangeIndex -= 1; + break; + case 1: this.currentSizeRangeIndex === 8 ? '' : this.currentSizeRangeIndex += 1; + break; + case 2: this.currentSizeRangeIndex = this.defaultSize.index; } - this.scaleNum = - this.currentSizeRangeIndex === this.defaultSize.index - ? this.defaultSize.size - : this.sizeRange[this.currentSizeRangeIndex]; + this.scaleNum = this.currentSizeRangeIndex === this.defaultSize.index ? this.defaultSize.size : this.sizeRange[this.currentSizeRangeIndex]; }, // 初始化 修正插件样式 initVueRulerTool() { @@ -86,52 +80,106 @@ const mixin = { const contentDom = vueRulerToolDom.querySelector(".vue-ruler-content"); const vueRulerX = vueRulerToolDom.querySelector(".vue-ruler-h"); // 横向标尺 const vueRulerY = vueRulerToolDom.querySelector(".vue-ruler-v"); // 纵向标尺 - // vueRulerToolDom.style.cssText += ';width:' + (this.bigscreenWidth + 18) + 'px !important;height:' + (this.bigscreenHeight + 18) + 'px !important;' contentDom.style.width = "100%"; contentDom.style.height = "100%"; - let xHtmlContent = ""; // '0' - let yHtmlContent = ""; // '0' + let xHtmlContent = ""; + let yHtmlContent = ""; let currentNum = 0; while (currentNum < +this.bigscreenWidth) { - xHtmlContent += `${currentNum}`; + xHtmlContent += `${currentNum}`; currentNum += 50; } currentNum = 0; while (currentNum < +this.bigscreenHeight) { - yHtmlContent += `${currentNum}`; + yHtmlContent += `${currentNum}`; currentNum += 50; } vueRulerX.innerHTML = xHtmlContent; vueRulerY.innerHTML = yHtmlContent; }, - async initEchartData() { - const reportCode = this.$route.query.reportCode; - const { code, data } = await detailDashboard(reportCode); + // 初始化接口数据 + async getData() { + const { code, data } = await detailDashboard(this.reportCode); if (code != 200) return; - const processData = this.handleInitEchartsData(data); - const screenData = this.handleBigScreen(data.dashboard); - this.widgets = processData; - this.dashboard = screenData; + this.widgets = this.initWidgetsData(data); + this.dashboard = this.initScreenData(data.dashboard); this.bigscreenWidth = this.dashboard.width; this.bigscreenHeight = this.dashboard.height; }, + // 组件数据 + initWidgetsData(data) { + const widgets = data.dashboard ? data.dashboard.widgets : []; + const widgetsData = []; + for (let i = 0; i < widgets.length; i++) { + const widget = widgets[i] + const { setup, data, position } = { ...widget.value } + const obj = { + type: widget.type, + value: { setup, data, position } + }; + const tool = this.deepClone(getToolByCode(widget.type)); + if (!tool) { + const message = "暂未提供该组件或该组件下线了,组件code: " + widget.type; + if (process.env.NODE_ENV === "development") { + this.$message.error(message); + } + continue; // 找不到就跳过,避免整个报表都加载不出来 + } + obj.options = this.setDefaultWidgetConfigValue(widget.value, tool.options); + obj.value.widgetId = obj.value.setup.widgetId; + widgetsData.push(obj); + } + return widgetsData; + }, + // 重写默认数据 + setDefaultWidgetConfigValue(data, option) { + this.setConfigValue(data.setup, option.setup) + this.setConfigValue(data.position, option.position) + this.setConfigValue(data.data, option.data) + return option; + }, + setConfigValue(objValue, setup) { + Object.keys(objValue).forEach(key => { + setup.forEach(item => { + if (this.isObjectFn(item) && key == item.name) { + item.value = objValue[key] + } + if (this.isArrayFn(item)) { + item.forEach(itemChild => { + itemChild.list.forEach(el => { + if (key == el.name) { + el.value = objValue[key] + } + }) + }) + } + }) + }) + }, + // 大屏数据 + initScreenData(data) { + const optionScreen = getToolByCode("screen").options; + this.setConfigValue(data, optionScreen.setup) + this.setOptionsOnClickScreen(); + return { + backgroundColor: + (data && data.backgroundColor) || (!data ? "#1e1e1e" : ""), + backgroundImage: (data && data.backgroundImage) || "", + height: (data && data.height) || "1080", + title: (data && data.title) || "", + width: (data && data.width) || "1920", + }; + }, // 保存数据 async saveData() { if (!this.widgets || this.widgets.length == 0) { return this.$message.error("请添加组件"); } + const { title, width, height, backgroundColor, backgroundImage } = { ...this.dashboard } const screenData = { - reportCode: this.$route.query.reportCode, - dashboard: { - title: this.dashboard.title, - width: this.dashboard.width, - height: this.dashboard.height, - backgroundColor: this.dashboard.backgroundColor, - backgroundImage: this.dashboard.backgroundImage, - }, + reportCode: this.reportCode, + dashboard: { title, width, height, backgroundColor, backgroundImage }, widgets: this.widgets, }; screenData.widgets.forEach((widget) => { @@ -142,18 +190,19 @@ const mixin = { this.$message.success("保存成功!"); } }, + // 预览 viewScreen() { let routeUrl = this.$router.resolve({ path: "/bigscreen/viewer", - query: { reportCode: this.$route.query.reportCode }, + query: { reportCode: this.reportCode }, }); window.open(routeUrl.href, "_blank"); }, async exportDashboard(val) { - const fileName = this.$route.query.reportCode + ".zip"; + const fileName = this.reportCode + ".zip"; const param = { - reportCode: this.$route.query.reportCode, + reportCode: this.reportCode, showDataSet: val, }; exportDashboard(param).then((res) => { diff --git a/report-ui/src/views/bigscreenDesigner/designer/index.vue b/report-ui/src/views/bigscreenDesigner/designer/index.vue index 67bda382..d3fe7199 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/index.vue +++ b/report-ui/src/views/bigscreenDesigner/designer/index.vue @@ -516,94 +516,6 @@ export default { return item.value.data; }); }, - handleBigScreen(data) { - const optionScreen = getToolByCode("screen").options; - const setup = optionScreen.setup; - for (const key in data) { - for (let i = 0; i < setup.length; i++) { - if (key == setup[i].name) { - setup[i].value = data[key]; - } - } - } - this.setOptionsOnClickScreen(); - return { - backgroundColor: - (data && data.backgroundColor) || (!data ? "#1e1e1e" : ""), - backgroundImage: (data && data.backgroundImage) || "", - height: (data && data.height) || "1080", - title: (data && data.title) || "", - width: (data && data.width) || "1920", - }; - }, - handleInitEchartsData(data) { - const widgets = data.dashboard ? data.dashboard.widgets : []; - const widgetsData = []; - for (let i = 0; i < widgets.length; i++) { - let obj = {}; - obj.type = widgets[i].type; - obj.value = { - setup: widgets[i].value.setup, - data: widgets[i].value.data, - position: widgets[i].value.position, - }; - const tool = this.deepClone(getToolByCode(widgets[i].type)); - if (!tool) { - const message = - "暂未提供该组件或该组件下线了,组件code: " + widgets[i].type; - console.error(message); - if (process.env.NODE_ENV === "development") { - // 40@remarks 看生产要不要提示 - this.$message.error(message); - } - continue; // 找不到就跳过,避免整个报表都加载不出来 - } - const option = tool.options; - const options = this.handleOptionsData(widgets[i].value, option); - obj.options = options; - obj.value.widgetId = obj.value.setup.widgetId; - widgetsData.push(obj); - } - return widgetsData; - }, - handleOptionsData(data, option) { - for (const key in data.setup) { - for (let i = 0; i < option.setup.length; i++) { - let item = option.setup[i]; - if (this.isObjectFn(item)) { - if (key == option.setup[i].name) { - option.setup[i].value = data.setup[key]; - } - } else if (this.isArrayFn(item)) { - for (let j = 0; j < item.length; j++) { - const list = item[j].list; - list.forEach((el) => { - if (key == el.name) { - el.value = data.setup[key]; - } - }); - } - } - } - } - // position - for (const key in data.position) { - for (let i = 0; i < option.position.length; i++) { - if (key == option.position[i].name) { - option.position[i].value = data.position[key]; - } - } - } - // data - for (const key in data.data) { - for (let i = 0; i < option.data.length; i++) { - if (key == option.data[i].name) { - option.data[i].value = data.data[key]; - } - } - } - return option; - }, // 在缩放模式下的大小 getPXUnderScale(px) { From 3b999b4fe9069db8cc03c086a84c018f5c4f4750 Mon Sep 17 00:00:00 2001 From: Raod <1130305001@qq.com> Date: Thu, 16 Mar 2023 19:29:06 +0800 Subject: [PATCH 38/86] =?UTF-8?q?=E4=BC=98=E5=8C=96----js=E8=A7=A3?= =?UTF-8?q?=E6=9E=90=E9=A1=B5=E9=9D=A2=E8=87=AA=E5=AE=9A=E4=B9=89=E7=9A=84?= =?UTF-8?q?=E6=95=B0=E7=BB=84=E4=B8=8D=E6=94=AF=E6=8C=81=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/JsTransformServiceImpl.java | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/report-core/src/main/java/com/anjiplus/template/gaea/business/modules/datasettransform/service/impl/JsTransformServiceImpl.java b/report-core/src/main/java/com/anjiplus/template/gaea/business/modules/datasettransform/service/impl/JsTransformServiceImpl.java index a33a7dff..c236155e 100644 --- a/report-core/src/main/java/com/anjiplus/template/gaea/business/modules/datasettransform/service/impl/JsTransformServiceImpl.java +++ b/report-core/src/main/java/com/anjiplus/template/gaea/business/modules/datasettransform/service/impl/JsTransformServiceImpl.java @@ -5,13 +5,14 @@ import com.anji.plus.gaea.exception.BusinessExceptionBuilder; import com.anjiplus.template.gaea.business.code.ResponseCode; import com.anjiplus.template.gaea.business.modules.datasettransform.controller.dto.DataSetTransformDto; import com.anjiplus.template.gaea.business.modules.datasettransform.service.TransformStrategy; -import com.fasterxml.jackson.databind.ObjectMapper; +import jdk.nashorn.api.scripting.ScriptObjectMirror; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; import javax.script.Invocable; import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; +import java.util.ArrayList; import java.util.List; /** @@ -54,7 +55,20 @@ public class JsTransformServiceImpl implements TransformStrategy { engine.eval(js); if(engine instanceof Invocable){ Invocable invocable = (Invocable) engine; - return (List) invocable.invokeFunction("dataTransform", data); + Object dataTransform = invocable.invokeFunction("dataTransform", data); + if (dataTransform instanceof List) { + return (List) dataTransform; + } + //前端js自定义的数组[{"aa":"bb"}]解析后变成{"0":{"aa":"bb"}} + ScriptObjectMirror scriptObjectMirror = (ScriptObjectMirror) dataTransform; + List result = new ArrayList<>(); + scriptObjectMirror.forEach((key, value) -> { + ScriptObjectMirror valueObject = (ScriptObjectMirror) value; + JSONObject jsonObject = new JSONObject(); + jsonObject.putAll(valueObject); + result.add(jsonObject); + }); + return result; } } catch (Exception ex) { From 8f894b81958097a50e169def0d45542b9ef9304d Mon Sep 17 00:00:00 2001 From: qianlishi Date: Fri, 17 Mar 2023 10:01:35 +0800 Subject: [PATCH 39/86] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=95=B4=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- report-ui/src/utils/screenMixins.js | 38 ++----- .../bigscreenDesigner/designer/index.vue | 104 ++++++------------ 2 files changed, 42 insertions(+), 100 deletions(-) diff --git a/report-ui/src/utils/screenMixins.js b/report-ui/src/utils/screenMixins.js index 5d345279..271b3fe5 100644 --- a/report-ui/src/utils/screenMixins.js +++ b/report-ui/src/utils/screenMixins.js @@ -7,6 +7,7 @@ const mixin = { return { reportCode: this.$route.query.reportCode, uploadUrl: process.env.BASE_API + "/reportDashboard/import/" + this.reportCode, + revoke: null, //处理历史记录 rightClickIndex: -1, } }, @@ -186,9 +187,7 @@ const mixin = { widget.value.setup.widgetId = widget.value.widgetId; }); const { code, data } = await insertDashboard(screenData); - if (code == "200") { - this.$message.success("保存成功!"); - } + if (code == "200") return this.$message.success("保存成功!"); }, // 预览 viewScreen() { @@ -232,38 +231,19 @@ const mixin = { }, handleUndo() { const record = this.revoke.undo(); - if (!record) { - return false; - } + if (!record) return false; this.widgets = record; }, handleRedo() { const record = this.revoke.redo(); - if (!record) { - return false; - } + if (!record) return false; this.widgets = record; }, handleUpload(response, file, fileList) { this.$refs.upload.clearFiles(); - this.initEchartData(); - if (response.code == "200") { - this.$message({ - message: "导入成功!", - type: "success", - }); - } else { - this.$message({ - message: response.message, - type: "error", - }); - } - }, - handleError(err) { - this.$message({ - message: "上传失败!", - type: "error", - }); + this.getData(); + if (response.code == "200") return this.$message.success('导入成功!') + this.$message.error(response.message) }, // 右键 rightClick(event, index) { @@ -294,7 +274,7 @@ const mixin = { const obj = this.widgets[this.rightClickIndex]; this.$set(obj.value.position, "disabled", true); }, - // 解除锁定 + // 解除锁定 noLockLayer() { const obj = this.widgets[this.rightClickIndex]; this.$set(obj.value.position, "disabled", false); @@ -348,7 +328,7 @@ const mixin = { } else { this.widgets.unshift(this.widgets.splice(this.rightClickIndex, 1)[0]); } - }, + } } } diff --git a/report-ui/src/views/bigscreenDesigner/designer/index.vue b/report-ui/src/views/bigscreenDesigner/designer/index.vue index d3fe7199..baa44952 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/index.vue +++ b/report-ui/src/views/bigscreenDesigner/designer/index.vue @@ -183,7 +183,6 @@ :headers="headers" accept=".zip" :on-success="handleUpload" - :on-error="handleError" :show-file-list="false" :limit="1" > @@ -283,7 +282,7 @@ @onActivated="setOptionsOnClickWidget" @contextmenu.prevent.native="rightClick($event, index)" @mousedown.prevent.native="widgetsClick(index)" - @mouseup.prevent.native="widgetsMouseup" + @mouseup.prevent.native="grade = false" />
    @@ -381,31 +380,14 @@ export default { bigscreenWidth: 1920, // 大屏设计的大小 bigscreenHeight: 1080, - revoke: null, //处理历史记录 2022-02-22 + dashboard: {}, + // 大屏的标记 screenCode: "", dragWidgetCode: "", //从工具栏拖拽的组件code // 大屏画布中的组件 - widgets: [ - { - // type和value最终存到数据库中去,保存到gaea_report_dashboard_widget中 - type: "widget-text", - value: { - setup: {}, - data: {}, - position: { - width: 100, - height: 100, - left: 0, - top: 0, - zIndex: 0, - }, - }, - // options属性是从工具栏中拿到的tools中拿到 - options: [], - }, - ], // 工作区中拖放的组件 + widgets: [], // 工作区中拖放的组件 // 当前激活组件 widgetIndex: 0, // 当前激活组件右侧配置属性 @@ -469,7 +451,7 @@ export default { watch: { widgets: { handler(val) { - this.handlerLayerWidget(val); + this.getLayerData(val); this.handlerdynamicDataParamsConfig(val); //以下部分是记录历史 this.$nextTick(() => { @@ -489,7 +471,8 @@ export default { }); }, methods: { - handlerLayerWidget(val) { + // 获取图层数据 + getLayerData(val) { const layerWidgetArr = []; for (let i = 0; i < val.length; i++) { const obj = {}; @@ -516,7 +499,6 @@ export default { return item.value.data; }); }, - // 在缩放模式下的大小 getPXUnderScale(px) { return this.bigscreenScaleInWorkbench * px; @@ -569,9 +551,6 @@ export default { this.currentSizeRangeIndex === this.defaultSize.index ? this.bigscreenScaleInWorkbench : this.sizeRange[this.currentSizeRangeIndex] / 100; - // 计算在缩放模式下的x y - // const x = widgetLeftInWorkbench / this.bigscreenScaleInWorkbench - // const y = widgetTopInWorkbench / this.bigscreenScaleInWorkbench const x = widgetLeftInWorkbench / targetScale; const y = widgetTopInWorkbench / targetScale; @@ -593,9 +572,8 @@ export default { options: tool.options, }; // 处理默认值 - const widgetJsonValue = this.handleDefaultValue(widgetJson); + const widgetJsonValue = this.getWidgetConfigValue(widgetJson); - //2022年02月22日 修复:可以拖拽放到鼠标的位置 widgetJsonValue.value.position.left = x - widgetJsonValue.value.position.width / 2; widgetJsonValue.value.position.top = @@ -606,46 +584,33 @@ export default { // 激活新组件的配置属性 this.setOptionsOnClickWidget(this.widgets.length - 1); }, - // 对组件默认值处理 - handleDefaultValue(widgetJson) { - console.log(widgetJson); - for (const key in widgetJson) { - if (key == "options") { - // collapse、data、position、setup - // setup 处理 - for (let i = 0; i < widgetJson.options.setup.length; i++) { - const item = widgetJson.options.setup[i]; - if (this.isObjectFn(item)) { - widgetJson.value.setup[item.name] = item.value; - } else if (this.isArrayFn(item)) { - for (let j = 0; j < item.length; j++) { - const list = item[j].list; - list.forEach((el) => { - widgetJson.value.setup[el.name] = el.value; - }); - } - } - } - // position - for (let i = 0; i < widgetJson.options.position.length; i++) { - const item = widgetJson.options.position[i]; - if (item.value) { - widgetJson.value.position[item.name] = item.value; - } - } - // data 处理 - if (widgetJson.options.data && widgetJson.options.data.length > 0) { - for (let i = 0; i < widgetJson.options.data.length; i++) { - const item = widgetJson.options.data[i]; - if (item.value) { - widgetJson.value.data[item.name] = item.value; - } - } - } - } - } + getWidgetConfigValue(widgetJson) { + this.setWidgetConfigValue( + widgetJson.options.setup, + widgetJson.value.setup + ); + this.setWidgetConfigValue( + widgetJson.options.position, + widgetJson.value.position + ); + this.setWidgetConfigValue(widgetJson.options.data, widgetJson.value.data); + return widgetJson; }, + setWidgetConfigValue(config, configValue) { + config.forEach((item) => { + if (this.isObjectFn(item)) { + configValue[item.name] = item.value; + } + if (this.isArrayFn(item)) { + item.forEach((itemChild) => { + itemChild.forEach((ev) => { + configValue[ev.name] = ev.value; + }); + }); + } + }); + }, layerClick(index) { this.widgetIndex = index; this.widgetsClick(index); @@ -690,9 +655,6 @@ export default { this.setOptionsOnClickWidget(index); this.grade = true; }, - widgetsMouseup(e) { - this.grade = false; - }, handleMouseDown() { const draggableArr = this.$refs.widgets; for (let i = 0; i < draggableArr.length; i++) { From 846844807ea43d6ed0e503e496517542df1fe426 Mon Sep 17 00:00:00 2001 From: qianlishi Date: Wed, 22 Mar 2023 16:25:20 +0800 Subject: [PATCH 40/86] =?UTF-8?q?=E8=A7=A3=E5=86=B3bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- report-ui/src/views/bigscreenDesigner/designer/index.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/report-ui/src/views/bigscreenDesigner/designer/index.vue b/report-ui/src/views/bigscreenDesigner/designer/index.vue index baa44952..ca754a4e 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/index.vue +++ b/report-ui/src/views/bigscreenDesigner/designer/index.vue @@ -604,7 +604,7 @@ export default { } if (this.isArrayFn(item)) { item.forEach((itemChild) => { - itemChild.forEach((ev) => { + itemChild.list.forEach((ev) => { configValue[ev.name] = ev.value; }); }); From ff65c732713675bf0d8c50c7529dfdf96b6e944f Mon Sep 17 00:00:00 2001 From: qianlishi Date: Fri, 24 Mar 2023 10:01:37 +0800 Subject: [PATCH 41/86] =?UTF-8?q?=E6=9B=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../configure/barCharts/widget-bar-compare.js | 7 ------- .../configure/barCharts/widget-bar-stack.js | 7 ------- .../tools/configure/barCharts/widget-barchart.js | 7 ------- .../barCharts/widget-gradient-barchart.js | 7 ------- .../barlineCharts/widget-bar-line-stack.js | 7 ------- .../barlineCharts/widget-barlinechart.js | 7 ------- .../barlineCharts/widget-more-bar-line.js | 7 ------- .../decorateCharts/widget-decorate-pie.js | 7 ------- .../tools/configure/form/widget-form-time.js | 10 ---------- .../tools/configure/form/widget-input.js | 16 +++------------- .../tools/configure/form/widget-select.js | 10 ---------- .../configure/funnelCharts/widget-funnel.js | 7 ------- .../tools/configure/heatmap/widget-heatmap.js | 7 ------- .../configure/lineCharts/widget-line-compare.js | 7 ------- .../configure/lineCharts/widget-line-stack.js | 7 ------- .../configure/lineCharts/widget-linechart.js | 7 ------- .../configure/mapCharts/widget-airbubble-map.js | 7 ------- .../tools/configure/mapCharts/widget-line-map.js | 7 ------- .../configure/percentCharts/widget-gauge.js | 7 ------- .../percentCharts/widget-pie-percentage.js | 7 ------- .../pieCharts/widget-pie-nightingale.js | 7 ------- .../tools/configure/pieCharts/widget-piechart.js | 7 ------- .../tools/configure/radarCharts/widget-radar.js | 7 ------- .../tools/configure/scaleCharts/widget-scale.js | 7 ------- .../tools/configure/texts/widget-href.js | 7 ------- .../tools/configure/texts/widget-iframe.js | 7 ------- .../tools/configure/texts/widget-image.js | 7 ------- .../tools/configure/texts/widget-marquee.js | 7 ------- .../tools/configure/texts/widget-slider.js | 7 ------- .../tools/configure/texts/widget-table.js | 7 ------- .../tools/configure/texts/widget-text.js | 7 ------- .../tools/configure/texts/widget-time.js | 7 ------- .../tools/configure/texts/widget-video.js | 7 ------- .../wordcloudCharts/widget-word-cloud.js | 7 ------- 34 files changed, 3 insertions(+), 250 deletions(-) diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barCharts/widget-bar-compare.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barCharts/widget-bar-compare.js index 2f8b881e..d313a176 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barCharts/widget-bar-compare.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barCharts/widget-bar-compare.js @@ -23,13 +23,6 @@ export const widgetBarCompare = { placeholder: '', value: '柱状对比图', }, - { - type: 'el-input-text', - label: '图层唯一标识', - name: 'uuid', - disabled: true, - value: 'widgetBarCompareChart' + Date.now() - }, { type: 'vue-color', label: '背景颜色', diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barCharts/widget-bar-stack.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barCharts/widget-bar-stack.js index efc2d214..f1a760f5 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barCharts/widget-bar-stack.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barCharts/widget-bar-stack.js @@ -23,13 +23,6 @@ export const widgetBarStack = { placeholder: '', value: '柱状堆叠图', }, - { - type: 'el-input-text', - label: '图层唯一标识', - name: 'uuid', - disabled: true, - value: 'widgetBarStackChart' + Date.now() - }, { type: 'el-switch', label: '竖展示', diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barCharts/widget-barchart.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barCharts/widget-barchart.js index c55403b4..29c5bdf8 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barCharts/widget-barchart.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barCharts/widget-barchart.js @@ -23,13 +23,6 @@ export const widgetBarchart = { placeholder: '', value: '柱状图', }, - { - type: 'el-input-text', - label: '图层唯一标识', - name: 'uuid', - disabled: true, - value: 'widget-barchart' + Date.now() - }, { type: 'el-switch', label: '竖展示', diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barCharts/widget-gradient-barchart.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barCharts/widget-gradient-barchart.js index 8d677d53..6cfc1590 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barCharts/widget-gradient-barchart.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barCharts/widget-gradient-barchart.js @@ -23,13 +23,6 @@ export const widgetGradientBarchart = { placeholder: '', value: '柱形图-渐变色', }, - { - type: 'el-input-text', - label: '图层唯一标识', - name: 'uuid', - disabled: true, - value: 'widget-gradient-color-barchart' + Date.now() - }, { type: 'el-switch', label: '竖展示', diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barlineCharts/widget-bar-line-stack.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barlineCharts/widget-bar-line-stack.js index cdbc499c..89de5d1f 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barlineCharts/widget-bar-line-stack.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barlineCharts/widget-bar-line-stack.js @@ -19,13 +19,6 @@ export const widgetBarLineStack = { placeholder: '', value: '柱线堆叠图', }, - { - type: 'el-input-text', - label: '图层唯一标识', - name: 'uuid', - disabled: true, - value: 'widgetBarLineStackChart' + Date.now() - }, { type: 'vue-color', label: '背景颜色', diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barlineCharts/widget-barlinechart.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barlineCharts/widget-barlinechart.js index 0ab4d150..4387b4c7 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barlineCharts/widget-barlinechart.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barlineCharts/widget-barlinechart.js @@ -23,13 +23,6 @@ export const widgetBarlinechart = { placeholder: '', value: '柱线图', }, - { - type: 'el-input-text', - label: '图层唯一标识', - name: 'uuid', - disabled: true, - value: 'widget-barlinechart' + Date.now() - }, { type: 'vue-color', label: '背景颜色', diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barlineCharts/widget-more-bar-line.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barlineCharts/widget-more-bar-line.js index 2b12078a..f8c3dae6 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barlineCharts/widget-more-bar-line.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/barlineCharts/widget-more-bar-line.js @@ -23,13 +23,6 @@ export const widgetMoreBarLine = { placeholder: '', value: '多柱线图', }, - { - type: 'el-input-text', - label: '图层唯一标识', - name: 'uuid', - disabled: true, - value: 'widgetMoreBarLineChart' + Date.now() - }, { type: 'vue-color', label: '背景颜色', diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/decorateCharts/widget-decorate-pie.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/decorateCharts/widget-decorate-pie.js index ae453106..d28ccbbe 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/decorateCharts/widget-decorate-pie.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/decorateCharts/widget-decorate-pie.js @@ -23,13 +23,6 @@ export const widgetDecoratePie = { placeholder: '', value: '静态装饰饼图', }, - { - type: 'el-input-text', - label: '图层唯一标识', - name: 'uuid', - disabled: true, - value: 'widgetDecoratePieChart' + Date.now() - }, { type: 'vue-color', label: '背景颜色', diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/form/widget-form-time.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/form/widget-form-time.js index 706736e0..5de9ded1 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/form/widget-form-time.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/form/widget-form-time.js @@ -42,16 +42,6 @@ export const widgetFormTime = { placeholder: '', value: 'rgba(115,170,229,.5)', }, - { - type: 'el-select', - label: '关联图表', - name: 'assChart', - required: false, - placeholder: '', - multiple: true, - selectOptions: [], - value: '', - }, { type: 'el-select', label: '触发事件', diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/form/widget-input.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/form/widget-input.js index cde8e420..f9fd4167 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/form/widget-input.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/form/widget-input.js @@ -38,16 +38,6 @@ export const widgetInput = { placeholder: '', value: 'rgba(115,170,229,.5)', }, - { - type: 'el-select', - label: '关联图表', - name: 'assChart', - required: false, - placeholder: '', - multiple: true, - selectOptions: [], - value: '', - }, { type: 'el-select', label: '触发事件', @@ -55,9 +45,9 @@ export const widgetInput = { required: false, placeholder: '', selectOptions: [ - {code: 'change', name: 'change'}, - {code: 'blur', name: 'blur'}, - {code: 'focus', name: 'focus'}, + { code: 'change', name: 'change' }, + { code: 'blur', name: 'blur' }, + { code: 'focus', name: 'focus' }, ], value: 'change', } diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/form/widget-select.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/form/widget-select.js index 109415d0..612a7e3b 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/form/widget-select.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/form/widget-select.js @@ -46,16 +46,6 @@ export const widgetSelect = { placeholder: '', value: 'rgba(115,170,229,.5)', }, - { - type: 'el-select', - label: '关联图表', - name: 'assChart', - required: false, - placeholder: '', - multiple: true, - selectOptions: [], - value: '', - }, { type: 'el-select', label: '触发事件', diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/funnelCharts/widget-funnel.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/funnelCharts/widget-funnel.js index d9b4f2f6..61fb07c2 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/funnelCharts/widget-funnel.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/funnelCharts/widget-funnel.js @@ -23,13 +23,6 @@ export const widgetFunnel = { placeholder: '', value: '漏斗图', }, - { - type: 'el-input-text', - label: '图层唯一标识', - name: 'uuid', - disabled: true, - value: 'widget-funnel' + Date.now() - }, { type: 'vue-color', label: '背景颜色', diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/heatmap/widget-heatmap.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/heatmap/widget-heatmap.js index 4a611a9e..b7254e0a 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/heatmap/widget-heatmap.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/heatmap/widget-heatmap.js @@ -23,13 +23,6 @@ export const widgetHeatmap = { placeholder: '', value: '热力图', }, - { - type: 'el-input-text', - label: '图层唯一标识', - name: 'uuid', - disabled: true, - value: 'widget-heatmap' + Date.now() - }, { type: 'vue-color', label: '背景颜色', diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/lineCharts/widget-line-compare.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/lineCharts/widget-line-compare.js index bdb3677c..eb5b5406 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/lineCharts/widget-line-compare.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/lineCharts/widget-line-compare.js @@ -23,13 +23,6 @@ export const widgetLineCompare = { placeholder: '', value: '折线对比图', }, - { - type: 'el-input-text', - label: '图层唯一标识', - name: 'uuid', - disabled: true, - value: 'widgetLineCompareChart' + Date.now() - }, { type: 'vue-color', label: '背景颜色', diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/lineCharts/widget-line-stack.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/lineCharts/widget-line-stack.js index c7da178d..699875d7 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/lineCharts/widget-line-stack.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/lineCharts/widget-line-stack.js @@ -23,13 +23,6 @@ export const widgetLineStack = { placeholder: '', value: '折线堆叠图', }, - { - type: 'el-input-text', - label: '图层唯一标识', - name: 'uuid', - disabled: true, - value: 'widgetLineStackChart' + Date.now() - }, { type: 'el-switch', label: '竖展示', diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/lineCharts/widget-linechart.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/lineCharts/widget-linechart.js index b47cbdc6..54951660 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/lineCharts/widget-linechart.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/lineCharts/widget-linechart.js @@ -23,13 +23,6 @@ export const widgetLinechart = { placeholder: '', value: '折线图', }, - { - type: 'el-input-text', - label: '图层唯一标识', - name: 'uuid', - disabled: true, - value: 'widget-linechart' + Date.now() - }, { type: 'vue-color', label: '背景颜色', diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/mapCharts/widget-airbubble-map.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/mapCharts/widget-airbubble-map.js index 0ec3bc3d..2e2e166e 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/mapCharts/widget-airbubble-map.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/mapCharts/widget-airbubble-map.js @@ -23,13 +23,6 @@ export const widgetAirbubbleMap = { placeholder: '', value: '中国地图-气泡图', }, - { - type: 'el-input-text', - label: '图层唯一标识', - name: 'uuid', - disabled: true, - value: 'widgetAirBubbleMap' + Date.now() - }, { type: 'vue-color', label: '背景颜色', diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/mapCharts/widget-line-map.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/mapCharts/widget-line-map.js index 66cb4a7c..6b4a8938 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/mapCharts/widget-line-map.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/mapCharts/widget-line-map.js @@ -22,13 +22,6 @@ export const widgetLineMap = { placeholder: '', value: '中国地图-路线图', }, - { - type: 'el-input-text', - label: '图层唯一标识', - name: 'uuid', - disabled: true, - value: 'widgetLineMap' + Date.now() - }, { type: 'vue-color', label: '背景颜色', diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/percentCharts/widget-gauge.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/percentCharts/widget-gauge.js index ef6d2327..9dc9027b 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/percentCharts/widget-gauge.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/percentCharts/widget-gauge.js @@ -23,13 +23,6 @@ export const widgetGauge = { placeholder: '', value: '仪表盘', }, - { - type: 'el-input-text', - label: '图层唯一标识', - name: 'uuid', - disabled: true, - value: 'widget-gauge' + Date.now() - }, { type: 'vue-color', label: '背景颜色', diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/percentCharts/widget-pie-percentage.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/percentCharts/widget-pie-percentage.js index 3d1d9fc1..481bc977 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/percentCharts/widget-pie-percentage.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/percentCharts/widget-pie-percentage.js @@ -23,13 +23,6 @@ export const widgetPiePercentage = { placeholder: '', value: '百分比图', }, - { - type: 'el-input-text', - label: '图层唯一标识', - name: 'uuid', - disabled: true, - value: 'widgetPiePercentageChart' + Date.now() - }, { type: 'vue-color', label: '背景颜色', diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/pieCharts/widget-pie-nightingale.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/pieCharts/widget-pie-nightingale.js index db07349e..853ca06c 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/pieCharts/widget-pie-nightingale.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/pieCharts/widget-pie-nightingale.js @@ -23,13 +23,6 @@ export const widgetPieNightingale = { placeholder: '', value: '南丁格尔玫瑰图', }, - { - type: 'el-input-text', - label: '图层唯一标识', - name: 'uuid', - disabled: true, - value: 'WidgetPieNightingaleRoseArea' + Date.now() - }, { type: 'vue-color', label: '背景颜色', diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/pieCharts/widget-piechart.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/pieCharts/widget-piechart.js index 946aadd0..44c590d0 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/pieCharts/widget-piechart.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/pieCharts/widget-piechart.js @@ -23,13 +23,6 @@ export const widgetPiechart = { placeholder: '', value: '饼图', }, - { - type: 'el-input-text', - label: '图层唯一标识', - name: 'uuid', - disabled: true, - value: 'widget-piechart' + Date.now() - }, { type: 'vue-color', label: '背景颜色', diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/radarCharts/widget-radar.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/radarCharts/widget-radar.js index 8026f996..14bd2d3f 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/radarCharts/widget-radar.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/radarCharts/widget-radar.js @@ -17,13 +17,6 @@ export const widgetRadar = { placeholder: '', value: '雷达图', }, - { - type: 'el-input-text', - label: '图层唯一标识', - name: 'uuid', - disabled: true, - value: 'widget-radar' + Date.now() - }, { type: 'vue-color', label: '背景颜色', diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/scaleCharts/widget-scale.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/scaleCharts/widget-scale.js index 0fbbd12a..483f2960 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/scaleCharts/widget-scale.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/scaleCharts/widget-scale.js @@ -16,13 +16,6 @@ export const widgetScale = { placeholder: '', value: '刻度尺', }, - { - type: 'el-input-text', - label: '图层唯一标识', - name: 'uuid', - disabled: true, - value: 'widget-scale' + Date.now() - }, { type: 'el-switch', label: '竖展示', diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-href.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-href.js index d4df1783..40eeff55 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-href.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-href.js @@ -23,13 +23,6 @@ export const widgetHref = { placeholder: '', value: '超链接', }, - { - type: 'el-input-text', - label: '图层唯一标识', - name: 'uuid', - disabled: true, - value: 'widget-href' + Date.now() - }, { type: 'el-input-text', label: '文本内容', diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-iframe.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-iframe.js index 9dcd10e4..ab50309f 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-iframe.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-iframe.js @@ -23,13 +23,6 @@ export const widgetIframe = { placeholder: '', value: 'iframe', }, - { - type: 'el-input-text', - label: '图层唯一标识', - name: 'uuid', - disabled: true, - value: 'widget-iframe' + Date.now() - }, { type: 'el-input-text', label: '地址', diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-image.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-image.js index 2e5353e7..79c14c5d 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-image.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-image.js @@ -23,13 +23,6 @@ export const widgetImage = { placeholder: '', value: '图片', }, - { - type: 'el-input-text', - label: '图层唯一标识', - name: 'uuid', - disabled: true, - value: 'widget-image' + Date.now() - }, { type: 'el-switch', label: '开启旋转', diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-marquee.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-marquee.js index a4b5e90d..f4e53d46 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-marquee.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-marquee.js @@ -23,13 +23,6 @@ export const widgetMarquee = { placeholder: '', value: '跑马灯', }, - { - type: 'el-input-text', - label: '图层唯一标识', - name: 'uuid', - disabled: true, - value: 'widget-marquee' + Date.now() - }, { type: 'el-input-text', label: '文本内容', diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-slider.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-slider.js index c4efb866..a466face 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-slider.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-slider.js @@ -22,13 +22,6 @@ export const widgetSliders = { required: false, placeholder: '', }, - { - type: 'el-input-text', - label: '图层唯一标识', - name: 'uuid', - disabled: true, - value: 'widget-slider' + Date.now() - }, { type: 'el-switch', label: '隐藏图层', diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-table.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-table.js index a0b7cc92..13eb6a09 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-table.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-table.js @@ -22,13 +22,6 @@ export const widgetTable = { placeholder: '', value: '表格', }, - { - type: 'el-input-text', - label: '图层唯一标识', - name: 'uuid', - disabled: true, - value: 'widget-table' + Date.now() - }, { type: 'el-select', label: '字体位置', diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-text.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-text.js index 707709e2..6d1025ef 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-text.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-text.js @@ -23,13 +23,6 @@ export const widgetText = { placeholder: '', value: '文本框', }, - { - type: 'el-input-text', - label: '图层唯一标识', - name: 'uuid', - disabled: true, - value: 'widget-text' + Date.now() - }, { type: 'el-input-text', label: '文本内容', diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-time.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-time.js index b9eff3b0..15ef2a69 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-time.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-time.js @@ -23,13 +23,6 @@ export const widgetTime = { placeholder: '', value: '当前时间', }, - { - type: 'el-input-text', - label: '图层唯一标识', - name: 'uuid', - disabled: true, - value: 'widget-time' + Date.now() - }, { type: 'el-select', label: '时间格式', diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-video.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-video.js index 8fcad063..1b921bee 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-video.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-video.js @@ -23,13 +23,6 @@ export const widgetVideo = { placeholder: '', value: 'video', }, - { - type: 'el-input-text', - label: '图层唯一标识', - name: 'uuid', - disabled: true, - value: 'widget-video' + Date.now() - }, { type: 'el-input-text', label: '地址', diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/wordcloudCharts/widget-word-cloud.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/wordcloudCharts/widget-word-cloud.js index e68040e8..542a77be 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/wordcloudCharts/widget-word-cloud.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/wordcloudCharts/widget-word-cloud.js @@ -15,13 +15,6 @@ export const widgetWordCloud = { placeholder: '', value: '词云图', }, - { - type: 'el-input-text', - label: '图层唯一标识', - name: 'uuid', - disabled: true, - value: 'widgetWordCloud' + Date.now() - }, { type: 'vue-color', label: '背景颜色', From bf55365313f7d7de5791a3bde77b9c54022c658f Mon Sep 17 00:00:00 2001 From: qianlishi Date: Fri, 24 Mar 2023 10:42:38 +0800 Subject: [PATCH 42/86] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tools/configure/form/widget-select.js | 16 ++++++- .../widget/bar/widgetBarCompareChart.vue | 9 ---- .../widget/bar/widgetBarStackChart.vue | 9 ---- .../designer/widget/bar/widgetBarchart.vue | 9 ---- .../bar/widgetGradientColorBarchart.vue | 9 ---- .../barline/widgetBarLineStackChart.vue | 9 ---- .../widget/barline/widgetBarlinechart.vue | 9 ---- .../widget/barline/widgetMoreBarLineChart.vue | 9 ---- .../decorate/widgetDecoratePieChart.vue | 9 ---- .../designer/widget/funnel/widgetFunnel.vue | 9 ---- .../designer/widget/heatmap/widgetHeatmap.vue | 9 ---- .../widget/line/widgetLineCompareChart.vue | 9 ---- .../widget/line/widgetLineStackChart.vue | 9 ---- .../designer/widget/line/widgetLinechart.vue | 44 +++++++++---------- .../designer/widget/map/widgetLineMap.vue | 9 ---- .../designer/widget/percent/widgetGauge.vue | 9 ---- .../percent/widgetPiePercentageChart.vue | 39 +++++++--------- .../widget/pie/widgetPieNightingaleRose.vue | 9 ---- .../designer/widget/pie/widgetPiechart.vue | 9 ---- .../designer/widget/radar/widgetRadar.vue | 9 ---- .../designer/widget/scale/widgetScale.vue | 8 ---- .../widget/wordcloud/widgetWordCloud.vue | 9 ---- 22 files changed, 52 insertions(+), 217 deletions(-) diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/form/widget-select.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/form/widget-select.js index 612a7e3b..76e47bb9 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/form/widget-select.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/form/widget-select.js @@ -3,7 +3,7 @@ * @Author: qianlishi qianlishi@anji-plus.com * @Date: 2023-01-09 13:02:59 * @LastEditors: qianlishi qianlishi@anji-plus.com - * @LastEditTime: 2023-03-06 15:33:39 + * @LastEditTime: 2023-03-24 10:27:23 */ export const widgetSelect = { @@ -58,7 +58,19 @@ export const widgetSelect = { { code: 'focus', name: 'focus' }, ], value: 'change', - } + }, + [{ + name: '组件联动', + list: [ + { + type: 'componentLinkage', + label: '', + name: 'componentLinkage', + required: false, + value: [] + } + ] + }] ], data: [ { diff --git a/report-ui/src/views/bigscreenDesigner/designer/widget/bar/widgetBarCompareChart.vue b/report-ui/src/views/bigscreenDesigner/designer/widget/bar/widgetBarCompareChart.vue index 23d30277..92e0bb41 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/widget/bar/widgetBarCompareChart.vue +++ b/report-ui/src/views/bigscreenDesigner/designer/widget/bar/widgetBarCompareChart.vue @@ -5,7 +5,6 @@ + + diff --git a/report-ui/src/views/bigscreenDesigner/designer/widget/scale/widgetScale.vue b/report-ui/src/views/bigscreenDesigner/designer/widget/scale/widgetScaleVertical.vue similarity index 92% rename from report-ui/src/views/bigscreenDesigner/designer/widget/scale/widgetScale.vue rename to report-ui/src/views/bigscreenDesigner/designer/widget/scale/widgetScaleVertical.vue index 7160ca46..9b21bd2c 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/widget/scale/widgetScale.vue +++ b/report-ui/src/views/bigscreenDesigner/designer/widget/scale/widgetScaleVertical.vue @@ -289,8 +289,13 @@ export default { setOptionsScale() { const optionsSetup = this.optionsSetup; const series = this.options.series[3]; - //刻度 - series.data = scale; + // 刻度 + // 显示 + if (optionsSetup.isShowScale) { + series.data = scale; + }else { + series.data = 0; + } series.barWidth = optionsSetup.scaleBarWidth; series.itemStyle = { normal: { @@ -453,14 +458,14 @@ export default { const gradient = this.setOptionsColor(num, optionsSetup.maxScale); Gradient = gradient; // 数值设定 - const series = this.options.series; + const series = this.options.series[0]; const data = { value: this.setShowValue(num, optionsSetup.maxScale), label: { normal: { show: optionsSetup.isShow, position: "top", - backgroundColor: {}, + distance: optionsSetup.fontDistance, width: 10, height: 50, formatter: '{back| ' + num + ' }', @@ -470,14 +475,13 @@ export default { lineHeight: 50, fontSize: optionsSetup.fontSize, fontWeight: optionsSetup.fontWeight, - fontFamily: 'digifacewide', color: gradient[gradient.length - 1].color, }, } } } } - series[0].data[0] = data; + series.data[0] = data; }, dynamicDataFn(val, refreshTime) { if (!val) return; @@ -497,11 +501,36 @@ export default { }); }, renderingFn(val) { - for (const key in this.options.series) { - if (this.options.series[key].type == "pie") { - this.options.series[key].data = val; + const optionsSetup = this.optionsSetup; + const num = val[0].value; + // 渐变色 + const gradient = this.setOptionsColor(num, optionsSetup.maxScale); + Gradient = gradient; + // 数值设定 + const series = this.options.series; + const data = { + value: this.setShowValue(num, optionsSetup.maxScale), + label: { + normal: { + show: optionsSetup.isShow, + position: "top", + distance: optionsSetup.fontDistance, + width: 10, + height: 50, + formatter: '{back| ' + num + ' }', + rich: { + back: { + align: 'center', + lineHeight: 50, + fontSize: optionsSetup.fontSize, + fontWeight: optionsSetup.fontWeight, + color: gradient[gradient.length - 1].color, + }, + } + } } } + series[0].data[0] = data; }, }, }; diff --git a/report-ui/src/views/bigscreenDesigner/designer/widget/temp.vue b/report-ui/src/views/bigscreenDesigner/designer/widget/temp.vue index 64ab0ddc..9f81ee1b 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/widget/temp.vue +++ b/report-ui/src/views/bigscreenDesigner/designer/widget/temp.vue @@ -43,7 +43,8 @@ import widgetBarLineStackChart from "./barline/widgetBarLineStackChart"; import widgetSelect from "./form/widgetSelect"; import widgetInput from "./form/widgetInput.vue"; import widgetFormTime from "./form/widgetFormTime.vue"; -import widgetScale from "./scale/widgetScale.vue"; +import widgetScaleVertical from "./scale/widgetScaleVertical.vue"; +import widgetScaleHorizontal from "./scale/widgetScaleHorizontal.vue"; export default { name: "WidgetTemp", @@ -78,7 +79,8 @@ export default { widgetHeatmap, widgetRadar, widgetBarLineStackChart, - widgetScale, + widgetScaleVertical, + widgetScaleHorizontal, widgetSelect, widgetInput, widgetFormTime, diff --git a/report-ui/src/views/bigscreenDesigner/designer/widget/widget.vue b/report-ui/src/views/bigscreenDesigner/designer/widget/widget.vue index ce2f4d5f..9c0f16cc 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/widget/widget.vue +++ b/report-ui/src/views/bigscreenDesigner/designer/widget/widget.vue @@ -50,7 +50,8 @@ import widgetBarLineStackChart from "./barline/widgetBarLineStackChart"; import widgetSelect from "./form/widgetSelect"; import widgetInput from "./form/widgetInput.vue"; import widgetFormTime from "./form/widgetFormTime.vue"; -import widgetScale from "./scale/widgetScale.vue"; +import widgetScaleVertical from "./scale/widgetScaleVertical.vue"; +import widgetScaleHorizontal from "./scale/widgetScaleHorizontal.vue"; export default { name: "Widget", @@ -85,7 +86,8 @@ export default { widgetHeatmap, widgetRadar, widgetBarLineStackChart, - widgetScale, + widgetScaleVertical, + widgetScaleHorizontal, widgetSelect, widgetInput, widgetFormTime, From 34e33230466b9b48d7637907d327889df01fd19f Mon Sep 17 00:00:00 2001 From: qianming Date: Tue, 11 Apr 2023 09:45:00 +0800 Subject: [PATCH 44/86] =?UTF-8?q?bugfix--=E9=A5=BC=E5=9B=BE=E6=8F=90?= =?UTF-8?q?=E7=A4=BA=E8=AF=AD=E4=B8=8D=E7=94=9F=E6=95=88=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../designer/tools/configure/pieCharts/widget-piechart.js | 2 +- .../bigscreenDesigner/designer/widget/pie/widgetPiechart.vue | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/pieCharts/widget-piechart.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/pieCharts/widget-piechart.js index 44c590d0..7cc2608d 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/pieCharts/widget-piechart.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/pieCharts/widget-piechart.js @@ -237,7 +237,7 @@ export const widgetPiechart = { { type: 'el-input-number', label: '字体字号', - name: 'tipFontSize', + name: 'tipsFontSize', required: false, placeholder: '', value: 16 diff --git a/report-ui/src/views/bigscreenDesigner/designer/widget/pie/widgetPiechart.vue b/report-ui/src/views/bigscreenDesigner/designer/widget/pie/widgetPiechart.vue index d47acfa3..88de04fd 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/widget/pie/widgetPiechart.vue +++ b/report-ui/src/views/bigscreenDesigner/designer/widget/pie/widgetPiechart.vue @@ -158,8 +158,8 @@ export default { trigger: "item", show: true, textStyle: { - color: optionsSetup.lineColor, - fontSize: optionsSetup.tipFontSize, + color: optionsSetup.tipsColor, + fontSize: optionsSetup.tipsFontSize, }, }; this.options.tooltip = tooltip; From 58ffb64421ea968ce550c7b5d5fceca0fe16a049 Mon Sep 17 00:00:00 2001 From: qianming Date: Tue, 11 Apr 2023 13:59:35 +0800 Subject: [PATCH 45/86] =?UTF-8?q?update--=E8=84=9A=E6=9C=AC=E6=9B=B4?= =?UTF-8?q?=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.sh | 24 ++++++++++++++-------- report-core/src/main/assembly/bin/start.sh | 2 +- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/build.sh b/build.sh index bf4485eb..aa555b3a 100644 --- a/build.sh +++ b/build.sh @@ -1,27 +1,33 @@ #!/bin/bash -#判断node.js mvn是否存在 -command -v npm >/dev/null 2>&1 || { echo >&2 "I require node.js v14.16.0+ but it's not installed. Aborting."; sleep 5; exit 1; } -command -v mvn >/dev/null 2>&1 || { echo >&2 "I require maven 3.5 + but it's not installed. Aborting."; sleep 5; exit 1; } +echo "判断node.js mvn是否存在" +command -v npm || { echo >&2 "I require node.js v14.16.0+ but it's not installed. Aborting."; sleep 5; exit 1; } +command -v mvn || { echo >&2 "I require maven 3.5 + but it's not installed. Aborting."; sleep 5; exit 1; } cd `dirname $0` BuildDir=`pwd` #工程根目录 echo "build web" cd $BuildDir/report-ui -npm install >/dev/null 2>&1 -npm run build:prod >/dev/null 2>&1 +echo "npm install" +npm install +echo "" +echo "npm run build" +npm run build:prod echo "publish web to springboot src/main/resources/static" mkdir -p $BuildDir/report-core/src/main/resources/static mv $BuildDir/report-ui/dist/* $BuildDir/report-core/src/main/resources/static/ - +echo "" echo "build springboot" cd $BuildDir/report-core -mvn clean >/dev/null 2>&1 -mvn package -Dmaven.test.skip=true >/dev/null 2>&1 +echo "mvn clean" +mvn clean +echo "" +echo "mvn package" +mvn package -Dmaven.test.skip=true echo "zip finish in build dir" if [ ! -d "$BuildDir/build" ]; then @@ -29,4 +35,4 @@ if [ ! -d "$BuildDir/build" ]; then fi mv $BuildDir/report-core/target/aj-report-*.zip $BuildDir/build/ rm -rf $BuildDir/report-core/src/main/resources/static/* - +echo "Finish" diff --git a/report-core/src/main/assembly/bin/start.sh b/report-core/src/main/assembly/bin/start.sh index b39f1c41..6287380c 100755 --- a/report-core/src/main/assembly/bin/start.sh +++ b/report-core/src/main/assembly/bin/start.sh @@ -23,4 +23,4 @@ fi JAVA_OPTS=" -server -Xms1g -Xmx2g -Xmn256m -XX:PermSize=128m -Xss256k " nohup java $JAVA_OPTS -Xbootclasspath/a:$LIB_JARS -jar -Dspring.config.location=$CONF_DIR/bootstrap.yml $LIB_DIR/aj-report-*.jar >/dev/null 2>&1 & -echo "AJ-Report 正在后台执行,请查看aj-report.log日志(tail -F ../logs/aj-report.log),确定软件运行情况" +echo "AJ-Report 正在后台执行,请查看aj-report.log日志(${DEPLOY_DIR}/logs/aj-report.log),确定软件运行情况" From 3324b7790276ac0a83242ccf2859b3dce9642473 Mon Sep 17 00:00:00 2001 From: qianming Date: Tue, 11 Apr 2023 14:10:12 +0800 Subject: [PATCH 46/86] =?UTF-8?q?feat--=E5=9B=BE=E6=A0=87=E6=96=B0?= =?UTF-8?q?=E5=A2=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- report-ui/src/assets/iconfont/demo_index.html | 29 ++++++++++++++++-- report-ui/src/assets/iconfont/iconfont.css | 10 ++++-- report-ui/src/assets/iconfont/iconfont.js | 2 +- report-ui/src/assets/iconfont/iconfont.json | 7 +++++ report-ui/src/assets/iconfont/iconfont.ttf | Bin 41064 -> 41228 bytes report-ui/src/assets/iconfont/iconfont.woff | Bin 26888 -> 26968 bytes report-ui/src/assets/iconfont/iconfont.woff2 | Bin 22976 -> 22948 bytes .../scaleCharts/widget-scale-horizontal.js | 2 +- .../scaleCharts/widget-scale-vertical.js | 2 +- 9 files changed, 43 insertions(+), 9 deletions(-) diff --git a/report-ui/src/assets/iconfont/demo_index.html b/report-ui/src/assets/iconfont/demo_index.html index 394f9b18..c6bf3ca9 100644 --- a/report-ui/src/assets/iconfont/demo_index.html +++ b/report-ui/src/assets/iconfont/demo_index.html @@ -54,6 +54,12 @@