diff --git a/.env.development b/.env.development new file mode 100644 index 0000000..f793e49 --- /dev/null +++ b/.env.development @@ -0,0 +1,16 @@ +#开发环境 +NODE_ENV:"development" +# 页面标题 +VUE_APP_TITLE = 汉邦唐全真数字服务平台 +# 网关地址 +VUE_APP_GATEWAY_URL="/dev-api" +# 服务地址 +VUE_APP_BASE_API_URL="http://119.45.158.12:8081" +# 服务前-- 请严格遵守格式 不允许换行 +VUE_APP_SERVICE_PREFIX= '{"knowledge":"/knowledge","system":"/system"}' +# 是否显示全部菜单 +VUE_APP_ALL_MENU = false +# 微前端地址 +VUE_APP_REMOTES_URL="http://192.168.1.20:8090" +# 当前应用部署地址 +VUE_APP_EXPOSES_URL="" \ No newline at end of file diff --git a/.env.production b/.env.production new file mode 100644 index 0000000..b15b7a6 --- /dev/null +++ b/.env.production @@ -0,0 +1,16 @@ +#生产环境 +NODE_ENV:"production" +# 页面标题 +VUE_APP_TITLE = 汉邦唐全真数字服务平台 +# 网关地址 +VUE_APP_GATEWAY_URL="/prod-api" +# 服务地址 +VUE_APP_BASE_API_URL="" +# 服务前-- 请严格遵守格式 不允许换行 +VUE_APP_SERVICE_PREFIX= '{"knowledge":"/knowledge","system":"/system"}' +# 是否显示全部菜单 +VUE_APP_ALL_MENU = false +# 微前端地址 +VUE_APP_REMOTES_URL="http://119.45.158.12/common/" +# 当前应用部署地址 +VUE_APP_EXPOSES_URL="" \ No newline at end of file diff --git a/.env.test b/.env.test new file mode 100644 index 0000000..0acfcd2 --- /dev/null +++ b/.env.test @@ -0,0 +1,16 @@ +#测试环境 +NODE_ENV:"development" +# 页面标题 +VUE_APP_TITLE = 汉邦唐全真数字服务平台 +# 网关地址 +VUE_APP_GATEWAY_URL="/prod-api" +# 服务地址 +VUE_APP_BASE_API_URL="http://192.168.2.3:8081" +# 服务前-- 请严格遵守格式 不允许换行 +VUE_APP_SERVICE_PREFIX= '{"knowledge":"/knowledge","system":"/system"}' +# 是否显示全部菜单 +VUE_APP_ALL_MENU = false +# 微前端地址 +VUE_APP_REMOTES_URL="http://119.45.158.12/common/" +# 当前应用部署地址 +VUE_APP_EXPOSES_URL="" \ No newline at end of file diff --git a/.gitignore b/.gitignore index a19f004..432a04b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,11 +1,25 @@ -# ---> Vue -# gitignore template for Vue.js projects -# -# Recommended template: Node.gitignore +.DS_Store +node_modules +/dist +package-lock.json +/src/assets/common -# TODO: where does this rule come from? -docs/_book -# TODO: where does this rule come from? -test/ +# local env files +# .env.local +# .env.*.local +# Log files +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* + +# Editor directories and files +.idea +.vscode +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/README copy.md b/README copy.md new file mode 100644 index 0000000..1729169 --- /dev/null +++ b/README copy.md @@ -0,0 +1,36 @@ +# hbt-template-ui + +## 环境 + +1. 下载并安装nodeJS环境 +2. 安装nrm, 使用nrm将npm仓库配置为公司仓库 + 3.1 使用npm install -g nrm 全局安装 + 3.2 使用nrm add hbt-npm http://81.70.119.104:8081/repository/npm-public-hbt/ 增加公司镜像地址 + 3.3 使用nrm use hbt-npm 切换到公司镜像 + 3.4 使用nrm ls 查看全部仓库源 *为当前使用源 +## Project setup +``` +npm install +``` + +### Compiles and hot-reloads for development +``` +npm run serve +``` + +### 本框架采用ts与法 具体依赖vue-property-decorator +``` +see vue-property-decorator用法详解 (https://blog.csdn.net/weixin_44116302/article/details/111225763#PropSync_141) +``` + +### 采用模块联邦 +``` +远程引用需要先在global.d.ts中注册 +例:如需使用远程地图 +1.在global.d.ts中注册 declare module 'common/map'; +2.在页面中引用 +@Component({ + components:{MapComponent:()=>import("common/map") } +}) +3.在html中应用 +``` diff --git a/babel.config.js b/babel.config.js new file mode 100644 index 0000000..e955840 --- /dev/null +++ b/babel.config.js @@ -0,0 +1,5 @@ +module.exports = { + presets: [ + '@vue/cli-plugin-babel/preset' + ] +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..2e41dc0 --- /dev/null +++ b/package.json @@ -0,0 +1,76 @@ +{ + "name": "test", + "version": "0.1.0", + "private": true, + "scripts": { + "serve": "vue-cli-service serve --mode development", + "build": "vue-cli-service build --mode production", + "test": "vue-cli-service build --mode test", + "lint": "vue-cli-service lint" + }, + "dependencies": { + "@mapbox/mapbox-gl-draw": "^1.4.1", + "@types/webpack-env": "^1.18.0", + "axios": "^1.3.4", + "core-js": "^3.8.3", + "echarts": "^5.4.2", + "element-ui": "^2.15.13", + "file-saver": "^2.0.5", + "hbt-common": "0.0.7", + "mapbox-gl": "^2.15.0", + "mockjs": "^1.1.0", + "screenfull": "^6.0.2", + "vue": "^2.6.14", + "vue-class-component": "^7.2.3", + "vue-property-decorator": "^9.1.2", + "vue-router": "^3.5.1", + "vuex": "^3.6.2" + }, + "devDependencies": { + "@typescript-eslint/eslint-plugin": "^5.4.0", + "@typescript-eslint/parser": "^5.4.0", + "@vue/cli-plugin-babel": "~5.0.0", + "@vue/cli-plugin-eslint": "~5.0.0", + "@vue/cli-plugin-router": "~5.0.0", + "@vue/cli-plugin-typescript": "~5.0.0", + "@vue/cli-plugin-vuex": "~5.0.0", + "@vue/cli-service": "~5.0.0", + "@vue/eslint-config-typescript": "^9.1.0", + "compression-webpack-plugin": "^5.0.2", + "eslint": "^7.32.0", + "eslint-plugin-vue": "^8.0.3", + "html-loader": "^4.2.0", + "sass": "^1.32.7", + "sass-loader": "^12.0.0", + "svg-sprite-loader": "^6.0.11", + "typescript": "~4.5.5", + "vue-template-compiler": "^2.6.14" + }, + "eslintConfig": { + "root": true, + "env": { + "node": true + }, + "extends": [ + "plugin:vue/essential", + "eslint:recommended", + "@vue/typescript/recommended" + ], + "parserOptions": { + "ecmaVersion": 2020 + }, + "rules": { + "@typescript-eslint/no-explicit-any": [ + "off" + ], + "vue/no-unused-components": "off", + "no-unused-vars": "off", + "@typescript-eslint/no-unused-vars": "off" + } + }, + "browserslist": [ + "> 1%", + "last 2 versions", + "not dead" + ] +} diff --git a/public/assets/fonts/Microsoft YaHei/0-255.pbf b/public/assets/fonts/Microsoft YaHei/0-255.pbf new file mode 100644 index 0000000..bd28ff6 Binary files /dev/null and b/public/assets/fonts/Microsoft YaHei/0-255.pbf differ diff --git a/public/assets/fonts/Microsoft YaHei/1024-1279.pbf b/public/assets/fonts/Microsoft YaHei/1024-1279.pbf new file mode 100644 index 0000000..0793d82 Binary files /dev/null and b/public/assets/fonts/Microsoft YaHei/1024-1279.pbf differ diff --git a/public/assets/fonts/Microsoft YaHei/10240-10495.pbf b/public/assets/fonts/Microsoft YaHei/10240-10495.pbf new file mode 100644 index 0000000..3ccc511 --- /dev/null +++ b/public/assets/fonts/Microsoft YaHei/10240-10495.pbf @@ -0,0 +1,3 @@ + +& +Microsoft YaHei Regular 10240-10495 \ No newline at end of file diff --git a/public/assets/fonts/Microsoft YaHei/10496-10751.pbf b/public/assets/fonts/Microsoft YaHei/10496-10751.pbf new file mode 100644 index 0000000..ef666d4 --- /dev/null +++ b/public/assets/fonts/Microsoft YaHei/10496-10751.pbf @@ -0,0 +1,3 @@ + +& +Microsoft YaHei Regular 10496-10751 \ No newline at end of file diff --git a/public/assets/fonts/Microsoft YaHei/10752-11007.pbf b/public/assets/fonts/Microsoft YaHei/10752-11007.pbf new file mode 100644 index 0000000..1fff1be --- /dev/null +++ b/public/assets/fonts/Microsoft YaHei/10752-11007.pbf @@ -0,0 +1,3 @@ + +& +Microsoft YaHei Regular 10752-11007 \ No newline at end of file diff --git a/public/assets/fonts/Microsoft YaHei/11008-11263.pbf b/public/assets/fonts/Microsoft YaHei/11008-11263.pbf new file mode 100644 index 0000000..a3739b5 --- /dev/null +++ b/public/assets/fonts/Microsoft YaHei/11008-11263.pbf @@ -0,0 +1,3 @@ + +& +Microsoft YaHei Regular 11008-11263 \ No newline at end of file diff --git a/public/assets/fonts/Microsoft YaHei/11264-11519.pbf b/public/assets/fonts/Microsoft YaHei/11264-11519.pbf new file mode 100644 index 0000000..a3f777d --- /dev/null +++ b/public/assets/fonts/Microsoft YaHei/11264-11519.pbf @@ -0,0 +1,3 @@ + +& +Microsoft YaHei Regular 11264-11519 \ No newline at end of file diff --git a/public/assets/fonts/Microsoft YaHei/11520-11775.pbf b/public/assets/fonts/Microsoft YaHei/11520-11775.pbf new file mode 100644 index 0000000..5576ffc --- /dev/null +++ b/public/assets/fonts/Microsoft YaHei/11520-11775.pbf @@ -0,0 +1,3 @@ + +& +Microsoft YaHei Regular 11520-11775 \ No newline at end of file diff --git a/public/assets/fonts/Microsoft YaHei/11776-12031.pbf b/public/assets/fonts/Microsoft YaHei/11776-12031.pbf new file mode 100644 index 0000000..2ec417b Binary files /dev/null and b/public/assets/fonts/Microsoft YaHei/11776-12031.pbf differ diff --git a/public/assets/fonts/Microsoft YaHei/12032-12287.pbf b/public/assets/fonts/Microsoft YaHei/12032-12287.pbf new file mode 100644 index 0000000..f4ed3de --- /dev/null +++ b/public/assets/fonts/Microsoft YaHei/12032-12287.pbf @@ -0,0 +1,3 @@ + +& +Microsoft YaHei Regular 12032-12287 \ No newline at end of file diff --git a/public/assets/fonts/Microsoft YaHei/12288-12543.pbf b/public/assets/fonts/Microsoft YaHei/12288-12543.pbf new file mode 100644 index 0000000..e5dbf81 Binary files /dev/null and b/public/assets/fonts/Microsoft YaHei/12288-12543.pbf differ diff --git a/public/assets/fonts/Microsoft YaHei/12544-12799.pbf b/public/assets/fonts/Microsoft YaHei/12544-12799.pbf new file mode 100644 index 0000000..f6f0654 Binary files /dev/null and b/public/assets/fonts/Microsoft YaHei/12544-12799.pbf differ diff --git a/public/assets/fonts/Microsoft YaHei/1280-1535.pbf b/public/assets/fonts/Microsoft YaHei/1280-1535.pbf new file mode 100644 index 0000000..2254f6f --- /dev/null +++ b/public/assets/fonts/Microsoft YaHei/1280-1535.pbf @@ -0,0 +1,3 @@ + +$ +Microsoft YaHei Regular 1280-1535 \ No newline at end of file diff --git a/public/assets/fonts/Microsoft YaHei/12800-13055.pbf b/public/assets/fonts/Microsoft YaHei/12800-13055.pbf new file mode 100644 index 0000000..0724e66 Binary files /dev/null and b/public/assets/fonts/Microsoft YaHei/12800-13055.pbf differ diff --git a/public/assets/fonts/Microsoft YaHei/13056-13311.pbf b/public/assets/fonts/Microsoft YaHei/13056-13311.pbf new file mode 100644 index 0000000..670f26b Binary files /dev/null and b/public/assets/fonts/Microsoft YaHei/13056-13311.pbf differ diff --git a/public/assets/fonts/Microsoft YaHei/13312-13567.pbf b/public/assets/fonts/Microsoft YaHei/13312-13567.pbf new file mode 100644 index 0000000..398a6f4 Binary files /dev/null and b/public/assets/fonts/Microsoft YaHei/13312-13567.pbf differ diff --git a/public/assets/fonts/Microsoft YaHei/13568-13823.pbf b/public/assets/fonts/Microsoft YaHei/13568-13823.pbf new file mode 100644 index 0000000..0398e60 Binary files /dev/null and b/public/assets/fonts/Microsoft YaHei/13568-13823.pbf differ diff --git a/public/assets/fonts/Microsoft YaHei/13824-14079.pbf b/public/assets/fonts/Microsoft YaHei/13824-14079.pbf new file mode 100644 index 0000000..64577a1 Binary files /dev/null and b/public/assets/fonts/Microsoft YaHei/13824-14079.pbf differ diff --git a/public/assets/fonts/Microsoft YaHei/14080-14335.pbf b/public/assets/fonts/Microsoft YaHei/14080-14335.pbf new file mode 100644 index 0000000..2bf52c3 Binary files /dev/null and b/public/assets/fonts/Microsoft YaHei/14080-14335.pbf differ diff --git a/public/assets/fonts/Microsoft YaHei/14336-14591.pbf b/public/assets/fonts/Microsoft YaHei/14336-14591.pbf new file mode 100644 index 0000000..6f06c71 Binary files /dev/null and b/public/assets/fonts/Microsoft YaHei/14336-14591.pbf differ diff --git a/public/assets/fonts/Microsoft YaHei/14592-14847.pbf b/public/assets/fonts/Microsoft YaHei/14592-14847.pbf new file mode 100644 index 0000000..f02fa60 Binary files /dev/null and b/public/assets/fonts/Microsoft YaHei/14592-14847.pbf differ diff --git a/public/assets/fonts/Microsoft YaHei/14848-15103.pbf b/public/assets/fonts/Microsoft YaHei/14848-15103.pbf new file mode 100644 index 0000000..8a883e1 Binary files /dev/null and b/public/assets/fonts/Microsoft YaHei/14848-15103.pbf differ diff --git a/public/assets/fonts/Microsoft YaHei/15104-15359.pbf b/public/assets/fonts/Microsoft YaHei/15104-15359.pbf new file mode 100644 index 0000000..e735d19 Binary files /dev/null and b/public/assets/fonts/Microsoft YaHei/15104-15359.pbf differ diff --git a/public/assets/fonts/Microsoft YaHei/1536-1791.pbf b/public/assets/fonts/Microsoft YaHei/1536-1791.pbf new file mode 100644 index 0000000..1b0350b --- /dev/null +++ b/public/assets/fonts/Microsoft YaHei/1536-1791.pbf @@ -0,0 +1,3 @@ + +$ +Microsoft YaHei Regular 1536-1791 \ No newline at end of file diff --git a/public/assets/fonts/Microsoft YaHei/15360-15615.pbf b/public/assets/fonts/Microsoft YaHei/15360-15615.pbf new file mode 100644 index 0000000..dcbce47 Binary files /dev/null and b/public/assets/fonts/Microsoft YaHei/15360-15615.pbf differ diff --git a/public/assets/fonts/Microsoft YaHei/15616-15871.pbf b/public/assets/fonts/Microsoft YaHei/15616-15871.pbf new file mode 100644 index 0000000..83f4434 Binary files /dev/null and b/public/assets/fonts/Microsoft YaHei/15616-15871.pbf differ diff --git a/public/assets/fonts/Microsoft YaHei/15872-16127.pbf b/public/assets/fonts/Microsoft YaHei/15872-16127.pbf new file mode 100644 index 0000000..5dd7f46 Binary files /dev/null and b/public/assets/fonts/Microsoft YaHei/15872-16127.pbf differ diff --git a/public/assets/fonts/Microsoft YaHei/16128-16383.pbf b/public/assets/fonts/Microsoft YaHei/16128-16383.pbf new file mode 100644 index 0000000..58d0164 Binary files /dev/null and b/public/assets/fonts/Microsoft YaHei/16128-16383.pbf differ diff --git a/public/assets/fonts/Microsoft YaHei/16384-16639.pbf b/public/assets/fonts/Microsoft YaHei/16384-16639.pbf new file mode 100644 index 0000000..e0e5a2e Binary files /dev/null and b/public/assets/fonts/Microsoft YaHei/16384-16639.pbf differ diff --git a/public/assets/fonts/Microsoft YaHei/16640-16895.pbf b/public/assets/fonts/Microsoft YaHei/16640-16895.pbf new file mode 100644 index 0000000..9e8ea1e Binary files /dev/null and b/public/assets/fonts/Microsoft YaHei/16640-16895.pbf differ diff --git a/public/assets/fonts/Microsoft YaHei/16896-17151.pbf b/public/assets/fonts/Microsoft YaHei/16896-17151.pbf new file mode 100644 index 0000000..9487328 Binary files /dev/null and b/public/assets/fonts/Microsoft YaHei/16896-17151.pbf differ diff --git a/public/assets/fonts/Microsoft YaHei/17152-17407.pbf b/public/assets/fonts/Microsoft YaHei/17152-17407.pbf new file mode 100644 index 0000000..ba75763 Binary files /dev/null and b/public/assets/fonts/Microsoft YaHei/17152-17407.pbf differ diff --git a/public/assets/fonts/Microsoft YaHei/17408-17663.pbf b/public/assets/fonts/Microsoft YaHei/17408-17663.pbf new file mode 100644 index 0000000..d10b911 Binary files /dev/null and b/public/assets/fonts/Microsoft YaHei/17408-17663.pbf differ diff --git a/public/assets/fonts/Microsoft YaHei/17664-17919.pbf b/public/assets/fonts/Microsoft YaHei/17664-17919.pbf new file mode 100644 index 0000000..841ea33 Binary files /dev/null and b/public/assets/fonts/Microsoft YaHei/17664-17919.pbf differ diff --git a/public/assets/fonts/Microsoft YaHei/1792-2047.pbf b/public/assets/fonts/Microsoft YaHei/1792-2047.pbf new file mode 100644 index 0000000..9d7a4d5 --- /dev/null +++ b/public/assets/fonts/Microsoft YaHei/1792-2047.pbf @@ -0,0 +1,3 @@ + +$ +Microsoft YaHei Regular 1792-2047 \ No newline at end of file diff --git a/public/assets/fonts/Microsoft YaHei/17920-18175.pbf b/public/assets/fonts/Microsoft YaHei/17920-18175.pbf new file mode 100644 index 0000000..d50fa26 Binary files /dev/null and b/public/assets/fonts/Microsoft YaHei/17920-18175.pbf differ diff --git a/public/assets/fonts/Microsoft YaHei/18176-18431.pbf b/public/assets/fonts/Microsoft YaHei/18176-18431.pbf new file mode 100644 index 0000000..26efd72 Binary files /dev/null and b/public/assets/fonts/Microsoft YaHei/18176-18431.pbf differ diff --git a/public/assets/fonts/Microsoft YaHei/18432-18687.pbf b/public/assets/fonts/Microsoft YaHei/18432-18687.pbf new file mode 100644 index 0000000..a333f09 Binary files /dev/null and b/public/assets/fonts/Microsoft YaHei/18432-18687.pbf differ diff --git a/public/assets/fonts/Microsoft YaHei/18688-18943.pbf b/public/assets/fonts/Microsoft YaHei/18688-18943.pbf new file mode 100644 index 0000000..c4ff207 Binary files /dev/null and b/public/assets/fonts/Microsoft YaHei/18688-18943.pbf differ diff --git a/public/assets/fonts/Microsoft YaHei/18944-19199.pbf b/public/assets/fonts/Microsoft YaHei/18944-19199.pbf new file mode 100644 index 0000000..055a185 Binary files /dev/null and b/public/assets/fonts/Microsoft YaHei/18944-19199.pbf differ diff --git a/public/assets/fonts/Microsoft YaHei/19200-19455.pbf b/public/assets/fonts/Microsoft YaHei/19200-19455.pbf new file mode 100644 index 0000000..d6deb1b Binary files /dev/null and b/public/assets/fonts/Microsoft YaHei/19200-19455.pbf differ diff --git a/public/assets/fonts/Microsoft YaHei/19456-19711.pbf b/public/assets/fonts/Microsoft YaHei/19456-19711.pbf new file mode 100644 index 0000000..10a514a Binary files /dev/null and b/public/assets/fonts/Microsoft YaHei/19456-19711.pbf differ diff --git a/public/assets/fonts/Microsoft YaHei/19712-19967.pbf b/public/assets/fonts/Microsoft YaHei/19712-19967.pbf new file mode 100644 index 0000000..c1f42c5 Binary files /dev/null and b/public/assets/fonts/Microsoft YaHei/19712-19967.pbf differ diff --git a/public/assets/fonts/Microsoft YaHei/19968-20223.pbf b/public/assets/fonts/Microsoft YaHei/19968-20223.pbf new file mode 100644 index 0000000..6783780 Binary files /dev/null and b/public/assets/fonts/Microsoft YaHei/19968-20223.pbf differ diff --git a/public/assets/fonts/Microsoft YaHei/20224-20479.pbf b/public/assets/fonts/Microsoft YaHei/20224-20479.pbf new file mode 100644 index 0000000..e04f763 Binary files /dev/null and b/public/assets/fonts/Microsoft YaHei/20224-20479.pbf differ diff --git a/public/assets/fonts/Microsoft YaHei/2048-2303.pbf b/public/assets/fonts/Microsoft YaHei/2048-2303.pbf new file mode 100644 index 0000000..964f33e --- /dev/null +++ b/public/assets/fonts/Microsoft YaHei/2048-2303.pbf @@ -0,0 +1,3 @@ + +$ +Microsoft YaHei Regular 2048-2303 \ No newline at end of file diff --git a/public/assets/fonts/Microsoft YaHei/20480-20735.pbf b/public/assets/fonts/Microsoft YaHei/20480-20735.pbf new file mode 100644 index 0000000..6b5743f Binary files /dev/null and b/public/assets/fonts/Microsoft YaHei/20480-20735.pbf differ diff --git a/public/assets/fonts/Microsoft YaHei/20736-20991.pbf b/public/assets/fonts/Microsoft YaHei/20736-20991.pbf new file mode 100644 index 0000000..5469f0c Binary files /dev/null and b/public/assets/fonts/Microsoft YaHei/20736-20991.pbf differ diff --git a/public/assets/fonts/Microsoft YaHei/20992-21247.pbf b/public/assets/fonts/Microsoft YaHei/20992-21247.pbf new file mode 100644 index 0000000..5e7e4e6 Binary files /dev/null and b/public/assets/fonts/Microsoft YaHei/20992-21247.pbf differ diff --git a/public/assets/fonts/Microsoft YaHei/21248-21503.pbf b/public/assets/fonts/Microsoft YaHei/21248-21503.pbf new file mode 100644 index 0000000..24868a9 Binary files /dev/null and b/public/assets/fonts/Microsoft YaHei/21248-21503.pbf differ diff --git a/public/assets/fonts/Microsoft YaHei/21504-21759.pbf b/public/assets/fonts/Microsoft YaHei/21504-21759.pbf new file mode 100644 index 0000000..4a9b57e Binary files /dev/null and b/public/assets/fonts/Microsoft YaHei/21504-21759.pbf differ diff --git a/public/assets/fonts/Microsoft YaHei/21760-22015.pbf b/public/assets/fonts/Microsoft YaHei/21760-22015.pbf new file mode 100644 index 0000000..74552dd Binary files /dev/null and b/public/assets/fonts/Microsoft YaHei/21760-22015.pbf differ diff --git a/public/assets/fonts/Microsoft YaHei/22016-22271.pbf b/public/assets/fonts/Microsoft YaHei/22016-22271.pbf new file mode 100644 index 0000000..e3e3633 Binary files /dev/null and b/public/assets/fonts/Microsoft YaHei/22016-22271.pbf differ diff --git a/public/assets/fonts/Microsoft YaHei/22272-22527.pbf b/public/assets/fonts/Microsoft YaHei/22272-22527.pbf new file mode 100644 index 0000000..9bd17d6 --- /dev/null +++ b/public/assets/fonts/Microsoft YaHei/22272-22527.pbf @@ -0,0 +1,130 @@ + + +Microsoft YaHei Regular 22272-22527UgnnnnnnnnnnnnnnnnnnnnnnhWkny|{ξ~{ؾ~{ں׾~{ں־˺׾~{ںŵ׾~{ںλƻп׾~{ںƴ̱δ׾~{ںȹ׾~{ں˷׾~{ںķ׾~{ں׷׾~{ںӽ׾~{ںzǨ׾~{ںIJť׾~{ںӹã׾~{ںؿ׾~{ںëع׾~{ںůȭ׾~{ں׾~{׾~{ܾ~{ӺӾ~z}nooooooooooooooqYkssskYOOOOOOOOOOOOVisssl[ (0 8TfnnnnnnnnnnnnnnnnnnnnnngVjlwzyμ|yټ|yٻлؼ|yٻɷؼ|yٻĸؼ|yٻؼ|yٻؼ|yٻԷؼ|yٻؼ|yٻؼ|yٻҷؼ|yٻؼ|yٻؼ|yٻϯؼ|yٻǰϯؼ|yٻǧϯؼ|yٻϯؼ|yٻϯؼ|yٻħįؼ|yټ|yܼ|yӻӼ|x{moooooooooooooooXkssskZOOOOOOOOOOOOWjssslZ (0 8UgnnnnnnnnnnnnnnnnnnnnnnhWkny|{ξ~{׾~{ں׾~{ں׾~{ں·׾~{ںı׾~{ں­׾~{ںҺǰ׾~{ں²βɶ׾~{ںµð׾~{ںȴͻ׾~{ںϾ׾~{ںŴ˹׾~{ںöм˹°׾~{ںȸͭ˸׾~{ںͽ̬÷׾~{ں²Ħ׾~{ںϷ׾~{ں׾~{׾~{ܾ~{ӺӾ~z}nooooooooooooooqYkssskYOOOOOOOOOOOOVisssl[ (0 8VgnnnnnnnnnnnnnnnnnnnnnnfTljyw{ιy{ٹy{ۻɩĶٹy{ۻɩγٹy{ۻžٹy{ۻɾٹy{ۻɩٹy{ۻĻٹy{ۻۻٹy{ۻ׷ɩڻٹy{ۻڻٹy{ۻۻٹy{ۻ׷ɫڻٹy{ۻ׿ɿڻٹy{ۻۻٹy{ۻ׷ɬڻٹy{ۻ׷ɹ׸ٹy{ۻ׷ٹy{ۻٹy{ٹy{ٹy{ӻӹyzxooooooooooooooqlZkssskZOOOOOOOOOOOO[msssjX (0 8L]eeeeeeeeeeeeeeeeeeeeee]McyycrswŸxwظxwظxwƦظxwƦظxwԵظxwŬظxw̬ظxwؾ̬ظxwպ̺ظxwӶظxwظxwظxwظxwٹظxwٹظxwظxwظxw¹ظxwظxwظxwָxwwmvpppppppppppptmYmwwwq`PPPPPPPPPPPP_pvvvlY (0 84K\eeeeeeeeeeeeeeeeeeee[I2Gaxv_DRqnOUuŲrRUuͲrRTs̾nOIe|̽̾v`JWs̾̽w\a۾eaƦfaռƦfaյƪƦfaյռ˳ƦfaյǾԾƦfaյϾƦfaյ̯Ʀfaյ̬ƦfaյòƦfaյʲƦfaյ̬Ʀfaյ̬Ʀfaյ̬ƦfaտƦfaƦfaյƦfafYvooooooooooooy]I`qwwwlXOOOOOOOOOOTiuvvrcL (0 8UemmmmmmmmmmmmmmmmmmmmmmdSkiyw{͹y{ٹy{ۻٹy{ۻʼٹy{ۻּٹy{ۻֶּٹy{ۻּٹy{ۻؼٹy{ۻٹy{ۻĮٹy{ۻήٹy{ۻéήٹy{ۻǧήٹy{ۻ§ήٹy{ۻĴήٹy{ۻʾ²ٹy{ۻɳͽٹy{ۻɻȳٹy{ۻƿٹy{ٹy{ٹy{ӻӹyzxooooooooooooooqlZkssskZOOOOOOOOOOOO[msssjX (0 8UgnnnnnnnnnnnnnnnnnnnnnnfTkjyw{ιy{ٹy{ںϹٹy{ںлٹy{ںĮŴٹy{ںμпٹy{ںŸûٹy{ںʻѳʽٹy{ںٹy{ںٹy{ںغٹy{ںаȫͿպٹy{ںаȨͿպٹy{ں׺ٹy{ںպٹy{ںаȨͿպٹy{ںаȨͿֺٹy{ںаεٹy{ں°ٹy{ٹy{ٹy{ӺӹyzxnoooooooooooooomYkssskYOOOOOOOOOOOOZkssskX (0 8WhppppppppppppppppppppppgUmjzw{йy{ٹy{ٹ®ͮɵٹy{ٹưƧٹy{ٹսٹy{ٹҲٹy{ٹǵٹy{ٹֹٹy{ٹмٹy{ٹʳ̵ٹy{ٹ̵ͽٹy{ٹҿȼٹy{øѽͼٹy{ٹƶãԻٹy{ٹã˴ٹy{ٹãֻٹy{ٹȳвٹy{ٹпٹy{ٹٹy{ٹy{ٹy{ӹӹyzxnpppppppppppppplYksssjXPPPPPPPPPPPPYksssjW (0 8VgnnnnnnnnnnnnnnnnnnnnnnfTljyw{ιy{ٹy{ۻêٹy{ۻʲٹy{ۻϯٹy{ۻʺٹy{ۻʪٹy{ۻʾٹy{ۻþٹy{ۻӻٹy{ۻϺվٹy{ۻٹy{ۻٹy{ۻʪٹy{ۻʽٹy{ۻȾٹy{ۻʰٹy{ۻʪٹy{ۻʪٹy{ۿٹy{ٹy{ӻӹyzxooooooooooooooqlZkssskZOOOOOOOOOOOO[msssjX (0 8VgnnnnnnnnnnnnnnnnnnnnnnfTljyw{ιy{ٹy{ۻɪٹy{ۻʲٹy{ۻɿٹy{ۻٹy{ۻƲٹy{ۻɷٹy{ۻ;ٹy{ۻٹy{ۻĥٹy{ۻťٹy{ۻ˹ťٹy{ۻťٹy{ۻˮťٹy{ۻťٹy{ۻ˷ťٹy{ۻ˫ٹy{ۻ˫ٹy{ۿٹy{ٹy{ӻӹyzxooooooooooooooqlZkssskZOOOOOOOOOOOO[msssjX (0 8VgnnnnnnnnnnnnnnnnnnnnnnfTljyw{ιy{ٹy{ٹƿȸٹy{ٹӿʹٹy{ٹŶٹy{ٹżٹy{ٹ÷ٹy{ٹťٹy{ٹٹȨгٹy{ٹɲֹʫŧٹy{ٹɩֹήֹٹy{ٹɭֹӳ˭ٹy{ٹٹؼ׻ٹy{ٹɿѹȬżٹy{ٹԸ̼ٹy{ٹϸԷȼٹy{ٹǭļٹy{ٹſʹپٹy{ٹ˷ȱٹy{پٹy{ٹy{ֹֹy{xpssssssssssssssn[nvvvmZSSSSSSSSSSSS\nvvvmZ (0 8TfnnnnnnnnnnnnnnnnnnnnnngVilvzxμ|xؼ|xػʪ׼|xػѻʪѹ׼|xػ׻ʪع׼|xػٹ׼|xػٹ׼|xػ¹׼|xػƷ׼|xػƷ׼|xػŧ׼|xػ׼|xػʪ׼|xػͭ˫ȩʪ׼|xػͭ˫Ȩʪ׼|xػͭ˫Ȩʪ׼|xػͭ˫Ȩɩ׼|xػͭɫ¦׼|xػƭŮ׼|xؼ|xܼ|xӻӼ|w{loooooooooooooooWjssskYOOOOOOOOOOOOWjssslZ (0 8VgnnnnnnnnnnnnnnnnnnnnnnfTljyw{ιy{ٹy{ٹͯٹy{ٹ¢ٹy{ٹؾ¢ٹy{ٹη·ٹy{ٹȼٹy{ٹٹy{ٹɳٹy{ٹӳٹy{ٹӿӳٹy{ٹӳٹy{ٹĿȴijٹy{ٹȼٹy{ٹΰٹy{ٹȯȮٹy{ٹĿٹy{ٹƿٹy{ٹȨٹy{پٹy{ٹy{ֹֹy{xpssssssssssssssn[nvvvmZSSSSSSSSSSSS\nvvvmZ (0 8TfnnnnnnnnnnnnnnnnnnnnnngVjlwzyμ|yټ|yٻѾؼ|yٻʷƳؼ|yٻͺؼ|yٻؼ|yٻ¸ؼ|yٻؼ|yٻѱؼ|yٻIJѱؼ|yٻѱؼ|yٻĹѱؼ|yٻѱؼ|yٻļѱؼ|yٻĺѱؼ|yٻѱؼ|yٻžŻؼ|yٻɿƼؼ|yٻαؼ|yټ|yܼ|yӻӼ|x{moooooooooooooooXkssskZOOOOOOOOOOOOWjssslZ (0 8VgnnnnnnnnnnnnnnnnnnnnnnfTljyw{ιy{ٹy{ٹƿͯŲٹy{ٹ­Ǩĭٹy{ٹÿԾóٹy{ٹҲٹy{ٹȺٹy{ٹټٹy{ٹмٹy{ٹϸʸٹy{ٹкʺٹy{ٹϼƹٹy{ñҼϼٹy{ٹȸҼٹy{ٹҼǻٹy{ٹϲ׼ٹy{ٹѶҴٹy{ٹ~çٹy{ٹٹy{پٹy{ٹy{ֹֹy{xpssssssssssssssn[nvvvmZSSSSSSSSSSSS\nvvvmZ (0 8UgnnnnnnnnnnnnnnnnnnnnnnhWkny|{ξ~{׾~{ں׾~{ں̭׾~{ںɿʿ˿ͭ׾~{ںɩʪ˫ͭ׾~{ںɴʴ˴ͭ׾~{ںͭ׾~{ںɷɭ׾~{ںǭ׾~{ںķ׾~{ںֿ׾~{ںӳ׾~{ںä׾~{ںſ׾~{ںԸԾ׾~{ںվع׾~{ں׿DZ׾~{ںͼ®׾~{׾~{ݾ~{ӺӾ~z}nrrrrrrrrrrrrrrqYkssskYRRRRRRRRRRRRVisssl[ (0 8UgnnnnnnnnnnnnnnnnnnnnnnhWkny|{ξ~{׾~{ںȨͽ׾~{ں·׾~{ں·׾~{ںȳ׾~{ںӽ׾~{ںֶȴҽ׾~{ںҽ׾~{ںҽ׾~{ںֶȴҽ׾~{ںڽ׾~{ںֶȲҽ׾~{ںǶ׾~{ںƷ׾~{ں·׾~{ں˹ն׾~{ںƴͲ׾~{ںʵ׾~{ھ׾~{ݾ~{ӺӾ~z}nrrrrrrrrrrrrrrqYkssskYRRRRRRRRRRRRVisssl[ (0 8L]eeeeeeeeeeeeeeeeeeeeee]McyycrswŸxwظxwūظxwɼظxwȨظxwɮظxwŻظxwŻظxwظxwãظxwϳãظxwϴãظxwãظxw̶ռظxwں²ظxw˸ؾظxwıغ̼ظxwʺغȰظxwʺظxwظxwظxwָxwwmuqqqqqqqqqqqqtmYmwwwq`QQQQQQQQQQQQ_pvvvlY (0 8UgnnnnnnnnnnnnnnnnnnnnnnfTkjyw{ιy{ٹy{ںٹy{ںɩٹy{ںŮɩٹy{ںɩٹy{ںɩٹy{ںٹy{ںٹy{ںͳٹy{ںٹy{ںͮٹy{ںٹy{ںʹٹy{ںٹy{ںͻٹy{ںѶٹy{ںȾǻٹy{ںļ»ٹy{ٹy{ٹy{ӺӹyzxnoooooooooooooomYkssskYOOOOOOOOOOOOZkssskX (0 8UgnnnnnnnnnnnnnnnnnnnnnnhWkmy{{ν}{ؽ}{ںȨ׽}{ںȸ׽}{ںϷ׽}{ںȯ׽}{ںȿ׽}{ںƷ׽}{ںƵѾ׽}{ںͼİ׽}{ںɵ׽}{ںο׽}{ں׽}{ں׻׽}{ںԴʮһ׽}{ںԴʪһ׽}{ںԻʻһ׽}{ںͷ׽}{ں׽}{ھ׽}{ݽ}{Ӻӽ}z|nrrrrrrrrrrrrrrpYkssskYRRRRRRRRRRRRWjsssl[ (0 8UfnnnnnnnnnnnnnnnnnnnnnngVjlxzzμ|zؿռ|zظ·ռ|zظ׸ռ|zظ³ոռ|zظǵռ|zظ°ոռ|zظظռ|zظ°ռ|zظȨռ|zظ²ռ|zظǵռ|zظռ|zظʳռ|zظֶӳռ|zظӳռ|zظָӳռ|zظӳռ|zظӾӳռ|zػռ|zܼ|zӸӼ|y{mrrrrrrrrrrrrrroYksssjWRRRRRRRRRRRRUissslZ (0 8L]eeeeeeeeeeeeeeeeeeeeee]McyycrswŸxwظxw׾ظxw׾аظxw׾Ͽаظxw׾аظxw׾Ͽɼаظxw׾ɻظxw׾Ƚظxw׾ɲظxw׾ťظxw׾ɱťظxw׾ɩ˻ťظxw׾ɩͶλťظxw׾ɩͺλťظxw׾ɩлťظxw׾ɭťظxw׾ťظxw׾ɵťظxw׾ظxwظxw׾ָxwwmsqqqqqqqqqqqqqmYmwwwp^QQQQQQQQQQQQ]ovvvlY (0 8TfnnnnnnnnnnnnnnnnnnnnnngVilvzxμ|xؼ|xػǴ׼|xػɶ׼|xػɷн׼|xػð׼|xػǵǯ׼|xػǻ׼|xػ̷׼|xػǬ׼|xػǪ׼|xػƾξҾʪ׼|xػƦμҲʪ׼|xػƦҲʪ׼|xػƦμҲʪ׼|xػƦҲʪ׼|xػƳμҳʪ׼|xػʪ׼|xػƲʪ׼|xؾ׼|xܼ|xӻӼ|w{lppppppppppppppoWjssskYPPPPPPPPPPPPWjssslZ (0 8L]eeeeeeeeeeeeeeeeeeeeee]McyycrswŸxwظxw׾ūظxw׾Žظxw׾Źظxw׾òظxw׾ѾžҲظxw׾ѻŻҲظxw׾Ҳظxw׾ѺŵҲظxw׾Ͳظxw׾Ůкظxw׾һظxw׾һ¿ظxw׾½ظxw׾½ظxw׾ïһظxw׾Ըظxw׾˽ظxw׾ظxwظxw׾ָxwwmsqqqqqqqqqqqqqmYmwwwp^QQQQQQQQQQQQ]ovvvlY (0 8TfnnnnnnnnnnnnnnnnnnnnnngVilvzxμ|xؼ|xػǰĹ׼|xػͿ˿׼|xػʾи׼|xػ׼|xػͷ׼|xػغ׼|xػͱ׼|xػʪ׼|xػƶϼҶʪ׼|xػƦϼҲʪ׼|xػƦҲʪ׼|xػƦϼҲʪ׼|xػƦҲʪ׼|xػƦϼҲʪ׼|xػʪ׼|xػʪ׼|xػƧǪ׼|xؾ׼|xܼ|xӻӼ|w{lppppppppppppppoWjssskYPPPPPPPPPPPPWjssslZ (0 8UfnnnnnnnnnnnnnnnnnnnnnngVjlxzzμ|zؿռ|zظǴռ|zظԴռ|zظԷǮԴռ|zظԴռ|zظDzռ|zظʵռ|zظռ|zظɳռ|zظѼӳռ|zظӳռ|zظѼӳռ|zظӳռ|zظѼӳռ|zظӳռ|zظɼɳռ|zظŽռ|zظƾԽռ|zػռ|zܼ|zӸӼ|y{mrrrrrrrrrrrrrroYksssjWRRRRRRRRRRRRUissslZ (0 8UfnnnnnnnnnnnnnnnnnnnnnngUjkxyzλ{zؽ׻{zظ׻{zظԴ׻{zظյɿɩԴ׻{zظսɿɽԴ׻{zظԴ׻{zظǭ׻{zظʪ׻{zظǵ׻{zظǾ׻{zظƷ׻{zظӽԾ׻{zظӿ׻{zظê׻{zظǫ׻{zظ˷׻{zظǹ׻{zظǧ׻{zغ׻{zۻ{zӸӻ{yzmrrrrrrrrrrrrrrnYksssjWRRRRRRRRRRRRVissskY (0 8XiqqqqqqqqqqqqqqqqqqqqqqiWmlzx{ѹy{ս׹y{յ׹y{յĤ׹y{յͭɭƭĤ׹y{յͷɷƷĤ׹y{յĤ׹y{յ׹y{յȷ׹y{յ׹y{յö׹y{յֶ׹y{յֶֶ׹y{յζ׹y{յ˹úɷ׹y{յͰʽŲ׹y{ͭ̾׹y{յľԶͿ׹y{յžƴ׹y{׹y{ٹy{ҵҹyzxmoooooooooooooolXjrrqgTOOOOOOOOOOOOUhrrriW (0 8UfnnnnnnnnnnnnnnnnnnnnnngUjkxyzλ{zؽ׻{zظĥäƭ׻{zظдʵм׻{zظѱʭ׻{zظͱƶϺҼ׻{zظνķƮǷ׻{zػγҷ׻{zظν©׻{zظľķ׻{zظϴȼѹͷ׻{zظпѲѷ׻{zظͻƿ׻{zظ˿׻{zظʵ˻Ļ̬ȿǸͷ׻{zظϱϵʻ̬ȿĽŻȸ׻{zظ̰бл˿ɹĽĽ׻{zؼǯʹ̿ȿд׻{zظ׻{zغ׻{zۻ{zӸӻ{yzmrrrrrrrrrrrrrrnYksssjWRRRRRRRRRRRRVissskY (0 8UfnnnnnnnnnnnnnnnnnnnnnngUjkxyzλ{zؽ׻{zظѸðʰ׻{zظȾ˴Ϸ׻{zظͰȽκ׻{zظư̺Ҿ׻{zظɹDzƹ׻{zظ˶ͶȺ÷ŷ׻{zظſϷ׻{zظöȺ׻{zظ¼ɵζʪźŹηǷ׻{zظɷƹʶɺβʶϷ׻{zظŰĸĺɫĺ׻{zظdz׻{zظ̷׻{zظʾ׻{zظμǽ׻{zظ²ǧĶ׻{zظĵǧ̺׻{zغ׻{zۻ{zӸӻ{yzmrrrrrrrrrrrrrrnYksssjWRRRRRRRRRRRRVissskY (0 82J\fggf\J3&D_ww_D' /NmnO/1QqDZqQ11QqѱqQ1 1QqѱqQ1 )233333QqѱqQ333332* 5FQSSSSSSqѱqSSSSSSQG6 2LapsssssssѱsssssssqcM4@^yѱ{`BGgѳjJHhʪjJHhɪjJFeѱhH,DYfiiiiiiqѱqiiiiiifZF.,=GIIIIIQqѱqQIIIIIG>.'))))1QqѱqQ1))))( ,7;;;;;;;QqѱqQ;;;;;;;7,HV[[[[[[[[qѱq[[[[[[[[VHas{{{{{{{{{ѱ{{{{{{{{{tauѱu~ѻ~ۿ~wxdxxeLZ````````````````````````[L (0 8-EXceecXEAUbeed\K4!>Zrs[VowaF* *IhidqR3 ,LlŭmgŵuU5 +,LlͭmgյuU5&4;LlͭmgյuU5@Q[\lͭmgյuU5Xmz||ͭ||յuU5iͭյuU5pͼյuU5pͭյuU5p͹յuU5hͭյuU5 VkwyyͭyyյuU5153)>OXYlͭmgյuUAOURG;0 $18LlͭmgյuUZmuqeYM:,LlͭmiյuUowgO0OYYRKC<4-&"!3RqhI) +5UuƫkK+ 5Uu˫kK+ 5Uu˫kK+ -688888Uu˫kK888886. !8JUXXXXXXu˫kXXXXXXVK:#4Oetxxxxxxx˫xxxxxxxufP6B_{˫}bDHh˸jJHhʪjJHhĪjJEd˫fG:Vn˫pX<)AUbddddddu˫ǻzdbVC+)9BDDDDDUu˫ӽzdM5 #$$$$5Uu˫ԾzaE(*59999999Uu˫վnO/FTYYYYYYYYu˫yoTG`ryyyyyyyyy˫y{~yr`t˫u~˹~ٿ~ÿxyfz{gN]cccccccccccccccccccccccc]O (0 8#Virsۻ{srfROoήnN.)=LS_ۻ{[RJ:OoήnN.!-?_ۻ{[TOBOoήnN. $?_ۻ{otm\OoήnN.'8CJ_ۻrVoήnN.?Tbjqۻ~^oήnN.Smۻ̾~^oήnN.`~Ͻ}]oήnN.cǿywvήnN.]{ήnN.Tsy}˫kL, KhzqibZyһgG([uijmT8/H^tѳsU@($6SsͱrS6$:QbjͭjbQ:Lg~ͭ~gLWvͭvWYyʹyYYy˹yYWvvWLh~~hL;QckkkkkkkkkkkkkkkkkkkkkkkkcQ; (0 8-EXceecXE8N^ddd`Q<$ !>Zrs[Kez}jP4 *IhiXv{]> ,Llŭm[{aA! +,Llͭm[{aA!&4;Llͭm[{aA!@Q[\lͭm\{aA#Xmz||ͭ||{eP;&iͭ}hT?*pͼlWB-pͭîoZE/p͹Ʊr\F1hͭʵt^H2Vkwyyͭyy{̶u`I>OXYlͭm[{θvZ$18Llͭm[{кc$,Llͭmp{ʳa7CJQlͭioURbipvͭahoYBi~͸ιaRgvxmYB,y͸aALWXP@+}»aA/792&vaA! n}vo{aA!c}zskd^W[{aA!Peqrjc[TLE>;[{aA!8HRRKD<5-&;[z`@ +22,$4RnrW9   +&AXjrrrl\E+ (0 84L`kllk_L3 +'Dayy`D& +'377777NmlM777773'/CQWWWWWWo̮nWWWWWWQC/ )D\owwwwwwwήwwwwwwwo\D) 6TqήpS5;[{η{[;;[{׻{[;;[{ο{[;0EWtήtVF2D]q||ή||s_FRoήrTWwμzZWwںzZWwۼƼzZRoۻƦrTD]q|||||ٹ|Ʀ||||||s_F0ET\\\\h׷wƦf\p{ylaS?*6<<%`ؼi`}зkSQ^aYI3 (0 86PesvvvvvvvvvvvvvvvvvvvvvmZB%Da}oR +KjyZ +KkֺzZ +KkºzZ +KkӳtV +KkӳwcI +Kkӳsbbb}bbbbbb[K5 +Kkӳsddd}ddddd^O9! +Kkӳ{gM1 +KkӳxZ; ,LkҲĽ}]= -Mmѱӽ}]=.Nnа|]=/OoϯpT63Srͭssss}ssssslZC)8WwȨiSS]}aSSSSNA-#A_}ädPP]}aPPPPPL?-0Lj޾pppp}ppppppjZC@\xԶpUPlȫ~_^{׺`dɬ`_|Ÿ|]PikQ&=UhrpbLHHHHHHHHHHHHHHHHHHHD8' (0 8 9Qdnld]Q>' +12222Jf~{kT9222222222/%$9IQRRRRTsdRRRRRRRRRRNA/9Reqrrrrr}rrrrrrrrrrrl\EHeܾrVQpѳ`Qq`Qq`Nmǫ{]C^uֹɰ}iP1HZcdpǫqlаpddddd_Q<.-YyʺzksƦkkkkhZEWvʪƦrXLg~ʪƫd:QbjoʪƦf$7DOoʪƦf /OoʪƩc%/OoʪƦqW1BMUoʪisƦiiiifXCH]lt{ʪjsƦfIIIG<+ZuȨhsƦfF))'dhsƦfF& dºssƦfF&\|ŽƦfF&Ut|tvädE%Kf~vne]UsѺ`@!9Qbli`XOF>NmʻtX:#7ELJA90')Iiw`H- +&,*# "@]vwaJ3 0I]jmmmmkf\J3 (0 86L]eee`Q<4MamneZN=& +Hcy}jPD`zxjT9&&&&&"5Ts{]PneGFFFFFA4"7Ww`]zʿlffffff_O9 7Ww`k{fK%7DWw`zϲvW;RbiwnƺzZMh~кzZYxڿxY[{¹ʮkO[{պphV?YxûlL<)Ni̬lL,=SdkwëlL, &9FWwpdF* 7Ww`iwyyտi\RF4%7Wwzyktҽ|zqaK2CMWwѻzw\J_lt{Ӽxvd]w̬Խw`xãchīվxa]|ܿ`hǾzxxxڻ|\aŻѲѴvVZyxpúŨlOOk~ukbYiɲ~`C>Ufmi`VMC>[wmS6(;HMJA8.%0KdvnW@')-+"6KZhuy|}}}}}}zqeWA* (0 80GYcddaUA) $(,176.2Pmv[>':HOLD:1(%AYoq_I/*/-% ,BXis|~~~~{whVE2 (0 8 9O_fff`P:9;;;;;;;;;;;;;4'/Lf{|hNY[[[[[[[[[[[[ZRB-9Xvxix{{{{{{{{{{{{zoZA%;[{ƽ}mO0 +;[{۽}uU5$6B[{۽}յuU5;Q`f{۽}uU5Oi}۽mS?[y۽~lS^~ƹa^~ιĥe]|۽ťeRn۽ٺdAWhn{۽Ӵw[*=J[{۽}s̭o`J ;[{۽}wƺtT4 ;[{۽}}ҳsS3,=H[{۽аpP1DYgn{۽ήnN.Wq۽ʫ}}}}}}}˫lL,cɪjc`^]]rȨiI)eû~~}{~ťfF&^}bB"Wv}ulgԶz\=Njzpf^VMaêoQ3>Vhrne[QH?7:Zy}bE' (>WwĤdhĹ`^^^^zڿ`hǾ~~~~~ۻ|\aŻêնwWZyxsʬpQOk~ukbYjŲeG>Ufmi`VMCA]wqX<(;HMJA8.%1JawlYD,)-+"4J]hsvwwwwwwwtpdR?, (0 8/FWabb_R>45555555555555/#%A\s}lSTUUUUUUUUUUUUUN?+.NlfsuuuuuuuuuuuuukX@$1Qq¦lO11QqƦwW7.9QqƦշwW75JX]qƦ׷wW7Jcu}}Ʀ˫׷wW7XvƦ˫׷wW7^~ƽ˫k``b׷wW7^~ή˫vvvv׷wW7^~ƹ˫׷wW7WtƦ˶׷wW7G_qyyƦ׷wW72FTYqƦ˿׷wW7*5QqƦ˫wW7 1QqƦ˫qS4&6AQqƦ˫k___gyti[F>R_irƦ˫kK??OnsYSk}ٺ˫kK>>Utda~˫k^^^^yäee¸˫~~~~~ݽ~_^}ƺγնxYTr{qȾʭpQIg~sh]_~ŵeH;Ujvvl`UJ?TosX;'=NWWNB7,(BYp~m\F,"0770$,CWeovwwwwwwwtpbRA/ (0 8#^~ȸxlsssrǧgG=A=1 +>^~ظxǧgS\a[L7)>^~ظ}ǧir{xeK/1ER^~ظ~ӻǧwY:G^pw~ظ~ۻǧ}]=WsظۻDz׼|\<_~ظۻۻ{[;_ϯۻżںzZ:_ؼǧٹyY9YvظǧظxX8Jbu|~ظۻǧַwW75IW^~ظۻǧյuU5->^~ظۻǧҲsS5>^~ظ~ۻȭobM*>^~ظۻʹz`6GS^~ظۻǵkMcq{ظùۻǧʪk`{ռۻǧzťfiۻ޿ahŹعz[]{zÿͯsURp}rgnƳhJFawvk_TIb{sZ>4J\dbXMA65NdzmZF.0>EC:/$ 7M_jtxxxxxxxxvqeS@- (0 8 $(,16;AD@4I[deebUB*%18<@CGLQV[`d^P_voV:+@PW[_cgkpu{|hodE&?Xlw{ysŨhH(NksȨhH(UuȩsȨhH( RqÿsȨhH@@8*Kkʪ{sȨh``_UD-Ecʪ{ȨqZ?8Sjz|yʪȨjL=UhrssʪpPMjʪаpPUuʳȹpPVv̬ȨgJVvĬyȨyyywjU(FawƦqsȨhH981#4J[dd|ddbWsȨhH(0=Gdٺ{\DCSsȨhH('%8TqӴuVGGSsȨhHGGE:)3Le~ǪoggggsȨhgggdVA5J`y׺{ȨoUJbwʭtȨbZwзwťeaֽqwťe]{ȿv]vdPj|cNjuZVhrrrrrrrrrrrrrrrn^H(AYlvrbM8(^}z[; +&,*#6SolQ3  (BXiooohV@%  (0 88M]ddd^OW^^^ZMABBAN[^^^UE.Kez{gs~~~xfabb`hy~~~r\8Wuxz|n:ZzĽ}t :Zzڽ}¢©Դt)Vhpzڽ}¢ɩԴtOkڽ¢ɩԴtXxڽ¢ɩԴtYyй¢ɩԴtYyŹ¢ɩԴtVuڽ¢ɩԴtJezڽ¢ɩԴt7M^ezڽ}ɩԴt 3@Zzڽ}ɩԴt+=HZzڽ۾ɩԴtCXgozڽۻɩԴtVpڽظɩԴtbյɩԴtcĺбɩԴt^~¸ȩɩԴtYy۽ɩԴtQm{tɯvɩԴtAYktpfqҸoɩԴt,@NTQ[{pnԴt$/49Xwìy_b|ʴt0Lf~gMOcnppmr 9QiiR:6FOPPWq{d $Yqs\A%%DcoQJilN.'GgĴtTNn±qQ1'GgԴtTNnѱqQ1-9GgԴtTNnѱqQ1""3HX_gԴt_[nѱqQBBB>2! F`tԴznѱqbbbb]N9 TrԴ|ѱzfL0YyԿѱxZ;YyĤ¾~^>YxԶԾ~^>QnԴxѴ}]>BZmvvԴvvrnѱqU7-APVgԴtVSnѱtttttm\D*%1GgԴtUTnѱqTTTTOB/ (GgԴtutnѱqQ4441&,=HOgԴѱqQ1DYgnuԴѱqQ1000-$WqԹ̬ѱqQPPPPMA0cɫѱqpppppl\GeѱtY^}úѱcVuĤdMi|tyĤd=Uhqof]Wvb(Q[]]]]]]]oưp]]]]]]]\R@*:Uk{}}}}}}}}ʪ}}}}}}}}{mW=GeähIKkڽnNKkήnNKknNEc̲ԻfH8RhvyyyзӽyyywjT:BWep{л~wp`JVpʷ̼w[bðήżdeĵήӸb\xήħqVKeΰ|`E:VqиkQ5*DZxƸxX>% 6VtήtV6!7M]dzήzd]N8JdyήzfLWuήwXZzļ|\ZzԼ|\Zz{[RnoSAYkttttttttttttttttttttttttlZC (0 8(ATaddd[I3//////////////,"9Unv`OOOOOOOOOOOOOOOK?,%DcooooooooooooooooiYC'GgĴpU'GgԴ~_-9GgԴ`3HX_gԴ`G`uԴյ|^TrԴյlQYyԿյyhhhhhcT>YyĤյn[IHD8'YyԶշucO<)RnԴxǵ|iVB/BZmvvԴvvrgյϼo\E-APVgԴtVSgյïrV&1GgԴtUTgյɵ_ (GgԴtutgյ˳}^,=HOgԴյunSDYgnuԴյuppYAWqԹ̬յuWk{|p[C+cɬյuUQ[]TC.eյuU5<=6)^}úrյuU5 Vu{sldgյuU5Mi|tkc\TMGgյuU5=Uhqof]ULD=5.GgӵuU5(# %9Marxp^F, (0 86L^fffaR@@@@@@@@@@@@@@;/ +Hcy~j``````````````YJ44Tr{vbH,6VvsU6 6VvzZ:&8EVvںzZ:R`myǶո۾ٿ_Rk~лèҴڽ}]`~˰ũۻ{[dͿθеٹyY]{Ϳθ׷wWQo̸ȰӳuUEc}wʳ̭nO7PestiZl̵ҹgH#9JSTL?Wmzzɵ¸rX= ,44.*@Q[c{y_E,&4;Ne}ov|pbL2 + 8PfsujVZabcdc^SF5 (0 81HZdddaT@0368:=?BFILPSPE3&C^umTPSUXZ]_beiloso`J0/Ombosuxz}w\> 2RrĦxfG) 2RrƦ˭oQ2%7DRrƦƶvV6;RbirƦѿqS4Mh~ƦѱwaG*YxƩѱzwtqolifc[QD1[{ɬѱuuuuuuuuuuo^G[{ʬѱtXYxƪѵ`NiƦ``}ǽܽ~_{۾~^>dƼշx[{۾~^>^}Ƚ˭p[{۾~^>Vuؽf[{۾~^>MkvȭuY[{۾~^>?Ynzxnc}ӸeI[{۾~^>,ARZYPYwqU;[{Ӿ~^>'4::1Kd{y`E;[z}]= +7Ne}~eL44RnpT7 + 8PdppeP8'BYksssl[D)  (0 8,EZgkkkkkkkkkkkkkkkkkkgZE,K_kld[O=& +HbykR_xyjS8 4Sr}^lcE.....,#6VvaviNNNNNNK@. 6Vvb۾nnnnnnnj[F"5BVvoгsX8O`iv}ĮcJe|ĤdUtãcWwɽػѲˬ¢bWw˽ʭ̭ǧaVuؼĥ£ڿ_Kg~Ȭۼ׾۾~^:QbkvҴعݽ}]$7EVvħѲۻ{[ 6VvxԷɪںzZ +6VvƩٹyY%5?VvͳԷֶwW>Q^evԺǪԴtTTl|οԺҲrRcھаpPhĻƭ|ήnNbɿ̳ȪjJWv~йڽcEMjypgt̷ívX:?XlxvmdZQLhhL.+@PXWNE<2;TliR; %2880&&?Xn||nky|}~}yocR<% (0 86L^fffaRGGGGGGGGGGGGF?1 +Hcy~jggggggggggggf]K44Tr{xaF) 6VvpQ2 6VvǴtT4&8EVvԴtT4(8BVvѴĨnR4@TaivعĪӶ}`C' +Umб׽ŨoR5b׷Ũδ}aD.!fºո~ػ}lZK=,`ǽȫлvhYDYxӸҽijrXQnʹξdBZnxtkǮԽf-BQXU^{ŷrvx]&286Nf|yhW^ozcK !8Og}t}p^MUforĤoḻռxaJ3$OjĤּҼwaO@/Xxįһ{k\HYyɩŬ{һv]Yyɰgt³jVtĤ˴oīmJdyĤDzósíưd7M]drĤӳsͭjQ 2?RrĤӳsͭpW=2RrĤuӳsͭmfXC*,6RrĤѱrͭmM<+6IU\rĤϯpͭmM-Mcs{īͮnͭmM- ]yϯȩkͭmM- eǿkͭmM- bغ|kͭmM- [z̮skͭmM- TszؼgkͭmM- HbxwmduǬuZkͭmM- 5K\daXOXxͶdKkͭmM- 1>DB:2PmoSJjlL- $#%@Yls[BC`{}bE'+@Sgx|r^F.4NcqssqdO6 (0 85M`kllhZE,#=TelllgWA( +(FbzsY<1NjnT70PodE%9Yx~_?1QqƦfF3:Zz`@ 1QqƦfPSSZz`@ %7CQqƦfnsssz`@""ADHKNJ>, +(E`wlSOPQSTUWZ]adgkniYC*1Po~hopqstuwz}qV93SsãaC 3SsãƨkM$7DSsã̲tT;QbisãqRMh~ãں{cHXwéںroli`N7ZzںzaYYYRC.Zzںz¢yyyyo[CXwêںĤoRMh~ãںŹxX;RbjsãظxX%7DSsãڼȼxX 3Ssãں̬pS&3Ssãں|ϯ||||r^D1CNUsãںzӴuwwlbUAH^mt{äںzٹnUZuƼںzybdżںɪťfdƽںҵb]|ĺںҲĨ۽}^Vuxóӹ׷xYKg~}tjarƻΰrS:Qbkh_ULKhö|ͺiK$7EKI@7-BEILPMB1-Je{jPPQRSTVWZ^beilpl^H/5Utzhpqrstvwz~u[>7WwȾ~fH 7Ww׾~˭qR%7DWw׾~̸zZ;Rbiw׾~wXMh~׾ں~hMYx׾ںvbQ;[{ɽںrT5[{ʽ¸xX8Yx׾ظxX8Ni׾ںӿҳuV6$4?Ww׾ظǪŨmP3=P]hw׾׷Ӷָ~`C&Rj{׿ؼӴǶɫqS6a~ĸϯѷdG0 fɽɪ޿n\K=,aĸۿwhXDVtβǵqWLi}xۿμϾd>Wlyxlc˰Ǵվf*@PYXN`~ʸͽul¨y]%2997Smn[Ui|{cL '@WpzvfSA56666666666665- ,IdzkQUVVVVVVVVVVVVUK:$ 4Ts|gtvvvvvvvvvvvvtgQ86Vv~~cF' 6VvmM-%7DVvͭmM-;RbivmM-Mh~gI*Yx}nWD.[{}}}}}}}}}}}}|p[B[{mOYxtTNiԴtTWlyxlníikůuW*@PYXOjiR`ziM%299@[tiR;MczkU= .Ga{xgR<%6Mctz~~|wiS='4Ofuyo^L:%6IU[^^\WM<& (0 8Į7N_hhhcS>=FHHHHHHHHHF=-,IdzkQYfhhhhhhhhhfZF.4Ts|]ss[?!6VvghI* + 6VvjȫkK+ %7DVvj˫kK+ +;Rbivjͭ˫kK?5%Mh~̬˫kb_R>YxƧk˫}kS[{ڿk̭a[{˰yh¦fYxԹrrԽ`NiѽxY"!0:Vv׻~^>:MYbvȬtW8PgxϷyyyyyֹeH,`}̸xYYhǪrV9g¸tU_yԸcG*c¸ydUpĨpT8Zy{qg]Lgγ|aE) Qo{qg]SI?ZwپlP5D^s|qg]RH>4*?_ȭv[@$ 1GW_]SI>4* ;ZwfJ/,9?>5*  0LexpU: 7LZgvzq]D) (0 8Ʈ5K\eee`Q<:RdmjaWI6 +Gbx}iPKgucK/ 4Sr{\VuwZ;00000,!6Vv``Ƽ`PPPPPPJ=* 6Vv`jշ{ppppppphW@#5BVv`vɬmQ:P`gvg۾z[Lg}м|\Xwż|\[{ƪǧʪwY[{ƶ˫Ʀ{gLYxϰswãe_O9Ojǿغ}ܾ`@4"=SdlvչĥԶxY:&9FVvũΰ̭oP2 6VvغägH) + 6Vvħٺ}^? &7BVvӷʭtU6?S`jvóֺfJ- Sl~Դvīs`P?3&aź®{k]PD2eȽǷzn_J_}îów\Tr̺µfHfzo±}Իf:Sgssh\bƷsbj{u[%:KSSJ?Sm{iXGOarzaH -43,&@Zu~p`O=,4FXgv~gN4.H`qwpbSE4"+R`kvȩ˾յuUSl~˸ǺԴtTa·öҲrReǼxwѱqQ_}¶ήoOTstip~ĦjKJgznbWKVbdz˵}_A;Tiuti]QE9-:CTt¼pS5'>>>>>>>>>>>>><3# +Gavzf\^^^^^^^^^^^^^^[O<%5Trx{~~~~~~~~~~~~~~zjR78Xx¾bC8XxؾhH-9XxؾȨhH3HX_xؾɺȨhHG`uؾɩȨhHTrؾɩ||||||ȨhHYyؿhHYycDYyؾť}lT9Qnؾܼťe_R?'AYluxؾ~u|ܼťeE6&,@NXxؾ~^|ܼ|ťeE% $8Xxؾ~j|ܼ|ťeE.# +8Xxؾۻ{ťeYL@0%5@Xxؾعyťvj]H=Q^ixؾƩӴuťv\Rk|ؿʫϯsťha~ĸɪsťɩjeȽ۾sťƦf_~÷̰wsť¢cUsиhrɶ׾_Jh|pӻrYn̵wXXm{|oZD-,DZlsm]I4+AR[aaa\SC- (0 8ɮ6L]eee_P;"4K\dee`R=$ ,Icy|hN2,Faw~jP4,,,%5Usy[LLRq|]LLLKC48Xxž~llllullllk`M48XxؾzaE'8XxؾnN.BQXxؾ̰pPC[nwxؾȰpPRoؾmNYyؾw_CYyֽĤdJ2YyؾؽĤdD$TqؾؽĤdD$E_r||ؾ~ؽĤdD$1FU\xؾ~ؽĤdD$+8Xxؾ~ؽĤdD$ 8Xxؾ~ĤdH6'6@XxؾĤrcL@S_gxؾĩy]Um~ؾ˭ƺfd̬luãdhûjuyٿ`cǾx^u¢ں{[\{}tl_RrϻҴvVSpxog^UMCNmҾmOD]pytkbYPH?7.&C_x|bE0DSYVMD;2) 2Kc|xdO6(496.% +6Oesy{{{{xp_K7" (0 8ʮ0GYcddbUA)&;LYgoj[F,$A\tnV::ShvsX=" + + +-MldEHeiN3***%0PpĨhJOo˰z^JJJJD70PpȨjjjlmjjjjbR.;PpȨѵ~hHYapȨȹw_uȨʺzpȨ˺zv׷xvǧֶiuȴյgRjȨԿmMVjttȨt̬lL>MTpȨjѴ˫kK"0PpȨ{ϯʪjJ&1PpȨˬtttɩiIBOZpȨƦgTsǧgG\mxȼϯbTtƦfFrȲٻ|\VvťeE~ͯtVWwãcC|ǻ¤xuryaAr¶Ҷۿ_@h׸{[Tdkfj{yaE' 5Usy[Pk~nP18Xxž~^\zǵwX:8Xxؾ~^eܾaD( &8Xxؾ~^nҴƨpT9-BPXxؾ~`|ǩӷeI.B[nwxؾ~wټǬuZ># +RoؾʮuؼjN7!Yyؾػfͱ{eN8Yyɭt]o¨{eNYyؾ׺}}}}ֿ{`TqؾǬֿiE_r||ؾνɴg1FU\xؾҲsZ+8XxؾҷѱnZF +8Xxؾ~zаϰpWA.%5>Xxؾ̭wήnN.>Q]dxؾǧlͭmM- Tk|ؾƮn˫kK+ c̬ٻ|pɩiJ* +hŽΰtrȨhH(cȿڿťfF&\{íڽaB"SpyìȱuW:D]pytlciϿŽiL.0DSYVMDZrnW>"(496.-E\uxfxvjV@* /H_oum]K\deffebXM>) (0 8̮,BVdg`OSbnmbN6 .CYo|io~{cJ2 &7IZpx_J8&/@Rdu¯ƽvdRA/ -:I[m~ҹm[I=3)+3" Qp˽ƿlbR<#HeùǭjO28RmͭyZ;%A\zɽ}]=#:Zzʽ}]=";P^wͭz^O:Nh|ͭ{gN[yͭy[_ľ~^_Ͼ~^^}}]TooSBYiooooooooooooooooooooooooiXB (0 8ͮ8N^eee_OFMMMMMMMMMMMMMH<).Kez|gclmmmmmmmmmmmmgV@& 8Wvx~mR5:ZzŽ}|]=:Zzڽ};~^>"4AZzڽ}۾~^>9O_fzڽ}èپ~^>Lf|ڽãپ~^>Wvڽèγپ~^>ZzƸãƬپ~^>Zzϸãؾپ~^>'Yyڽãϴپ~bT@OkڽãƵپmT>Ugozڽ¥پa(aʫmsrpyپ~^>\{پ~^>Pjzrv˯yݽ}^>=Sbhc[bպwηyZ:&8DHD@`~rqȹpS4 %(%7Tn|bkt]D(  '@Xq}fN^vu^G/+D\pzvfP8I\gijjjidZH1 (0 8ή6L^fffbS>H]knf]SB, +HcykR[v|oY?# 4Tr}^gjL<<<<<;5'6Vvaq±q\\\\\\[RB, 6Vva{ǩ|||||||{nY?&8EVviڼkMYwɭֶھiM0Mh~׻յ˯w[?";QbivڻgK/$7DVv¤sW<  6Vvu}yͯtuo^F,*6VvٻaPD04FR[vշƩrW=" +KaqzȹɬԹiN8" \wӺ׻˰{eO9$dɿɬ¨|fP?-bʿ϶տ}kYDZyԻprXQpѽu\pIJdFaxyoιzaH^xӼe4K]ge[\zƵwcM4Ke}w\1@GF=Ohs_J58PezxaJ!'&";Sln[F2 #8Mbv{cK4&?WkusdSB. 4I]ik`N6 (0 8Ϯ2I\effcVA;;;;;;;;;;;;;;;6* 'D_woZ[[[[[[[[[[[[[[[TF10Onz{{{{{{{{{{{{{{{r^E2RrƦqT!2RrƦzZ)=KRrƦںzZ>VirrƦλzZNkƦårTWvƲ{׹|{{{{{r_FWwʪyˮrc[[[[UF1WwêݿkR;;6+TrƦҾ~dJ/GawƦūv\B( 4J[crƦfѺ׽nT:0=RrƦºϵfL0'9DRrƦγǭx]B&?TcmvƩ׼ڿnS7RlʾƫеdI^}ĹϴƫuZaǼؾ׼eZzīzͺgSsƯ~zvx]KgymmizfsaK;Tgrpf[OUknZz`jxylYG4&;JRQH=1>TdjeVZz`NXYP@- ,22*'9FJG;Zz`@992%   '*(9Yy`@   +2PlrV9 %@Wirrrl\E+ (0 8Ю$++&1I]ijji]I1),( 2BKKFB^ww^BILF>5(2J^jke`kkYhle\SB-%B_xpʭmq{oZA% -LkͭmlO03RrĭͭmtT4:YxƧͭt˭pQ2 +'Daݿͭ£fG) +4Qnַ~ͭԶ{\>$ #A^{ĪͭȬhQ:# 0Mk׾ͭì~gP9!$>Zxҵҹͭ¬}fO78QkŨ̲ͭչª|eLKd~ѵƭͭũxZ[wͿ͹ֿ̲`c̱ͭy[`ƹͰ|fMTmɩzdO9@VlǩiM7!)?ViͭfG9(=ScirͭridT?OjͭlR[zͭ}^]}`]}`\{~_RnpUAWhooooooooooooooooooooooooiYC (0 8Ѯ5K\eee`Q<$3FUcopeR9 +Gbx}jP4I`qfJ.4Sr{]>YuvZ>9997- +6Vv`YaǽjYYYYVJ7 6Vvxyy}ͱyyyyytdM3%7DVvz^@;Rbiv¹eEMh~ťeEYxeE[{ɼ{_@[{ʼ||wgO4Yxz\YL9"NiںzZ:0 SbyͭybS=QkͭkQ]|ͭ{]````_~~^TooTBXhnnnnnnnnnnnnnnnnnnnnnnnnhXB (0 8Ӯ 1H[effcWC2I[deeaT@' !+..B^upWD_vmT8.* ,>JNNNldPoaNNI<*)CYhnnnpƨnnsťnnngW@&8UpȨťmR5@_ȮŮ|\=Aaξ~^>Aaľ~^>>]{ȨťxZ0 + 2>CCCCCCCOmbCCUbd\K57M\ccccccccr§gL^pxbH/.Kdyǧggyu\B(8XvǩtoS5;[{êջ϶{\<;[{ʪεͽz[;;[z¦kP34Rn̲ǺôvfT>(.AXjr|Ҹǧ͹yk`TBE[kyҽǧô~oXWrιǧgaʵ£Ŭl`Ů|mϵfVqlkk{oVD^yͭv\B2Mg}ͭ~aJ/!@`aA!&@`aA&>Sb}ͭ}bS=QkͭkQ]|ͭ{]````_~~^TooTBXhnnnnnnnnnnnnnnnnnnnnnnnnhXB (0 8ծ)?PY[\]^^_`abcegikmoqsn^G-!=Wly{|}~~tY; ,JhbC#0PpǧhI)1QqmM-2RrǴ̬ͮgI*3SsƦ̬Զ~oX= 9Yx£r̬~fTB+(B_~ܽ~l̬uʭvZA*#;Uoظyl̬lٽoWA-;Qhͯrl̬l}γmZFOh~ڿhl̬lnɲsZ^{ǭx[l̬l_{ȴgc̳g]kk]hӿj^{µ}}}}˫}}}}|aOh}˫yeO;Ph˽aL8#@`aA!&@`˸aA&>Sbu˫vbS=Qk˫kQ]|˫{]````_~~^TooTBXhnnnnnnnnnnnnnnnnnnnnnnnnhXB (0 8֮ 8M\aaaaaaaaaaaaaaaaaa\M8 1MfyyfM1;ZxxZ;!?__?"&QkͭjK/>XrînN..NnήnN.'@UdiiiaP9-Kf|kQ6Sm}fK.6Vu{\@_~uV6%$8Xxɿ_EbɸxXEED<. 8XxؿbeeظxeeedZG0)Kezؿ~qӳаqiX8N]dxؿѱаn!3?Xxؿϱбz 8XxؿѼ|$4>Xxؿ¼|=P]exؿˮvRj|ؿƩοپye`~˫еnbbb\Meƽ˰ȲtcRE6_~Ѻɲ~pbOVuӼ̻}dMkսwjŷq?YmywnwѾyaTkĭr+AQYXSqʷ{cL>Tkǯf&399F`ywdM6'>Uj{jR 3Ld}q^K7 '=O`rmT<7PesujWD1 +#4FWflfV@' (0 8خ4JZbbb\N99999999999999992& +GavzfYYYYYYYYYYYYYYYXP@+5TrxyyyyyyyyyyyyyyyxmY?8Xx¾kN8XxؾtT-9XxؾԴtT3HX_xؾռtTG`uؾѲmOTrؾͭ{o[AYyؿɩmN/YyñqQ1YyؾϯoO/Qnؾ۽ͭmM-AYluxؾ~ٹʫkK+,@NXxؾ~յvqqqȨhI)$8Xxؾ~ѱƦfF&(8Xxؾ~ͮĤdD$4EPXxؾbB"Kaow~ؾ޿_@ ]xؾӳܽ}]@/gIJۻ{j\FfļعtY^}ֶeWu~ƦfKf{yqhpƦf8O_gc[RNmc"4AGD<3C_vpV"'%2I\fggggggggggggggggdWB (0 8ٮ":P_eeeeeeeeeeeeeeeeeeeeee_O:!1Nh||gM1;ZyxZ;>^~Ž}]=>^~ν}]==]|{\<5Rnͺϼ̹mR5'AWh}ȱʴư}^@&/LgDZɳůmR67VuưȲílV?& 7Ww®ïr]H/1OkîDzȳu\?"$?WmƱ˷̷hI)*@VmȲӽվjJ*3L`lmy{`B$&C`yͭy`D&-MlͭmM-.NnͮnN..NnƮnN.=RjͭkR=Pj~ͭ~jP]{ͭ{]````_~~_TooTBXhnnnnnnnnnnnnnnnnnnnnnnnnhXB (0 8ڮ(7ABBBUaccaVC99999999998/!)AT`bbaopYYYYYYYYYYYWM;$ ;VnyyyyyyyyyyyvhQ7Feì~bD&Ii­̬jJ*Ii̬ͭʪjJ*Ii̬ͭԷƩjJ*Ii̬ͭĩԷ~bD%Iiּ̬ͭpS7Ii̬ͭδȮz`E(Ii̬ͭ˽εhSK@.Ii̬ͭηzrj[FIi̬ͭǹsXIi̭ͭξcIi̻ͭ³׼cIiĭ̬ǼȬuYFe̬dI[{¢kPYwƩ{\Mh~Ʀɾ~^;QbiqƦξ~^$7DQqƦİ|] 1QqƦڿnS 1QqƦɮqnnhXA&6BQqƦӸǹfNJ=+>R`kvƯȩ§ɭvZ>#Sl~˫̱{ٽjN3a÷ֻ~Ͳz^B'eȼΦnR6_}¶ηѵ~bFTsũrVJgzoiչc;Tiuti]Q\zɻf'LROFA?=:853?WjtreWI7 (0 8ܮ8N_gggbR=9999999999999995*-Je{~jUYYYYYYYYYYYYYYYTF6Utzsyyyyyyyyyyyyyyyr_8XxǾ~s +8Xxؾ}$6CXxؾٽ};Qahxؾֺ}Nh~ؾֶŷtYxؾֶ׷zzzzzs`\|Ƚֶ׷s[\|ֶֶ̽iZyؾֶŭmOkؾֶ̬l>Telxؾֶӳ˫k':GXxؾյѱʪj8Xxؾӳϯɩi!1;XxؾϰͮȨh:MZbxؾ̬ȩǧgPgxؾȨäƦf_|ٻ£۽ťeeżعҴvãca¹бŪu¢bYxŨϴ`Qo|Էپڻ|]C]r}zqgƪȭͱuV0EV^[RgζDZ¸jM+8>0I^swmq|q]G.1F\owrbivwjVVbegge]TE0 (0 8ݮ8N_gggbR=;;;;;;;;;;;;;;4'-Je{jT[[[[[[[[[[[[[ZRB-6Ut{p{{{{{{{{{{{{{zoZ@%8XxǿlN0 +8XxؿtT4$6CXxؿԴtT4;QahxؿԴtT4Nh~ؿԴtT4YxؿĪԴtT4\|¸ʪԴtT4\|¸ʪԴtT4ZyؿʪԴtT4OkؿʪԴtT4>TelxؿʪԴtT4':GXxؿʪԴtT48XxؿʪԴtT4(8XxؿȨԴtT43EQYxؿƦԴtT4J`pxؿԴtT4\wɶtT4eɷkN/cĻؼѿtaN:[yīƳ{hPRq~įͻ|_Fbxzqhͼs¤d5K]fe\Ra~jZnɰ}_2@FE=8UoueQAUi}jQ!'&(B\vziYI9(.#7K_oskYB) (0 8ޮ2I[effcVA)+DZhlgaZK6&D_voU9:WrwcJ:92$/OncXZcuZZYP?)1QqƦiwzzƼ|zzxlV=!1QqƦʭhJ,"4AQqƦػpP09O_fqƦаpP0Lf|Ʀ̺ϯoO/WvƦ̬ήnN.Zzū̬̬lL,Zzū̬ʪjJ*YyƯ̬fJ8OkƦ̬ƱzteN>UgoqƦ̬{_(IRqƦãcDZhqzƪaWrǽؿ`cɿͽ۽}]dǽںzZ[zǽֶwWQowmimpˮqRFb{vlbXOJMkлfI5NallbXND:0+CcuX; 5DMLD:0%=\zvaI-&--%2Ng{yo^I4 ":O]ccdeeec[QD1 (0 8߮6L]eee`Q<$)=N^mqiW?'+Hcy}jP4>VjzlT;# 5Ts{]>MjiP6%%%7Ww`EUuǮ}cIEEE>0 7Wwceeséveeee\J3%7DWwֽw`E;RbiwpQMh~ŴtTYxϴtT[{¯ؼٺrS[{¢ãҳfJYxɫpuˬodQ9Niշ|fG8$=SdkwkzåѴy[> &9FWw`nϱŧlO1 7Ww`cڽָ}`B%%7Wwvzu̱ɬqS62CMWwԺdG) J_lszx¨sX>, ]wӷҺ|jXF7)hȶѻsbTF4h˵ñqaKażǴ̺x]YxƸgOjvm̹mtҹe=Tfmi`Wa~zgT[nsY':HMJA8Rjs`M:AThzz_F)-+#%=UoyiYF3 (;N^o|gM3 + (BYjql]M>,!3CSae_O:! (0 8.@LOOOOOOOOOJJ\ghheXD+,E[koooooooooi_wqX<:WrneF&Bb|ǧhH(CcϽ}ťeF&Ccڽ}¢cC#CcԴƭfI,CcԴ̳˭tW;CcԴػoػfJ2CcԴѷ~ʭw_F/CcԴƪھٽs\H5$CcԴѱˮѹubP@.CcԹίԼͶ{l[ECcԴϸվϻrVCcԴֿyu³`CcԴпhayζ`CcԴȶŬ|||}pUCc̬t\C<\|̼{aH.<\|ֻ{[;#P_{̶{_P:h|̬|hNz̬y[ľ~^Ͼ~^}|]onSXioooooooooooooooooooooooohXA (0 89PaiiicT>$ +%>Tchhg^L5.Kf}kP4&5QlybG*&%6Vu{\FFF^|qRFFE<-8Xxɾ~cffffȴtfffdYF/ 8Xxؾ~Դt\@&8EXxؾԴjKR_jxؾʫˮչeH* Sl}ٿƦٽũrV:b»ϵѶ~bF*gǻغֽnXI>2"aöΰɶtg\OWlwvjoĴf*?OXWMkƯȹ{˱~a$187@[t}l`pkR/G_yraQDUfvqW>3LbpsitypcVF5):JZfsxo\D+ (0 86L]eee_P;397CVbeecXE584) ,Icy|hNRYVWprZTXSE5$5Usy^oyufirxq`P?8Xxž~y{ŭv|kW8Xxؾ~ͭi#8Xxؾѹͭñs+?MXxؾ~˰ͭèoAXksxؾ~¦ͭͲ|aQmؾҷֻͭjOZyؾȫͭĩwgPZzͭ±}aZzͻhVtؾȨhIbwؾͻh5JZaxؾ~ͭ}a/Schd\UMF?81*)HhkL, &8DHD=6.' "@]wy`C% %(%0I^lnnl`L3 (0 8)=MUTI8I\hjji]I>NWVK:&,AViuseP]vv]VkvugS>* 'AYn}hjjlkW?$5RnlʭmlO2<\{¬ͭűxX8->[zĭͭƮwW>-EZhlìͭǰlhZEXrůͭȱrXcͭceťeeťeeҲťeeҲŭťeeͲriilͭmiirťedͭdYsͭsYF\|ļ|\F<\|Ѽ|\<;[zͱ{[<  4Sr{\=.MlfF..+ 6Vv`NNNnȨhNNNJ= 6VvjnnnnȨnnnnhW%7DVvȨn;RbivȮ|Mh~ξ~Yxؾ~[{ɻаȨ׾~[{ʻаȨ׾~YxаȨ׾~Ni׾~4) +.NnhH(#)(  +)Gez_A# 9RhuvvsdN3 (0 84JZbbb\N9=????????????>5& +GavzfQ]____________]R?(5Trxk{|lU:8Xx¾~eF'8Xxؾ~jJ*-9Xxؾ~ʪjJ*3HX_xؾ~ϵʪjJ*G`uؾϯʪjJ*TrؾϯvvvvʪjJ*YyؿϯʪjJ*Yy϶ʪjJ*YyؾʪjJ*QmؾϽʪjJ*AYktxؾ~ϯʪjJ*,@NXxؾ~ϯ}}}}ʪjJ*$8Xxؾ~ϯʪjJ*8Xxؾ~ϯʪjJ*$3=XxؾʪjJ*=P\fxؾʪjJ*RjzؾҲϯʪjJ*bɾϯʪjT@hϯʪmTcźϯʪaXvťeMj~suťe>Xmxwl`Usd+@PYXNBKgtY%2980%:Reoooooooooooooooook\G (0 8 %>TdiiiaP:>>>>>>>>>>>>><2#4Qk}gU]^^^^^^^^^^^^[O<% =]{vq}~~~~~~~~~~~~ziR7?_ɹy~aC$?_ٹygG'-?_ٹyǧgG'3HW_ٹyõǧgG'G`t}ٹ}ãǧgG'UsٹãuuuuǧgG'[{ٽãǧgG'[{ַóǧgG'[zٹǧgG'SpٹǧgG'C[nvٹyãǧgG'.BP_ٹyãǧgG'&?_ٹyãǧgG''?_ٹyãǧgG'2DO_ٹǧgG'I_nvٹǧgG'ZvٺǴòǧgG*dDZgWBcoUZyúaQpãcFby}tl{ãc5L^hf^UYx`2AHG?7NinT"(' "<4+"9UoybNN_wrY )BWeiih^L52J]hiifYE (0 85K\eee`R=$ 8KWblmaN6 +Gbx~jQ52Meu{bF)&&&!4Sr|^FF]zpSFFFF@26VvdfffǸ}fffff]L 6VvŨyb%7DVvѴr;RbivƶvMh~ֶvYxаֶv[{аֶv[{ŰnnnuvYxťefyoNiťoϻs^4)2JaxyhR8#)(  4Jary~~~~~~|yn]M;% (0 89N_fff_OVdggg]L5AVdhhg^M6/Kf{|goyaFTnzcH+8WvwpQarS4:ZzƼ|ǴtTdȵuU5 +:Zzڼ|Դteeյu_P$6BZzڼԴյ|h;Q`fzڼԴյyOi}ڼŽ}[yڼϽ}^~ƹԴյ|^~ιԴյn]|ڼԴtooյuiXRnڼԴuuuյuU=AWhnzڼ|ԴյuU5*=JZzڼ|ԵյuU5 :Zzڼ|յuU5 :Zzڼ|ԾյuU5,=HZzڼԴյuU5DYgnzڼԴ~~~յuU5WqڼʪԴt^dյuU5cɪԴyyyյuU5eĻԴյuU5^}ԹյuU5Wv~uյuU5Njzqh_eԺյuU5>Vhrne\RIEeԴԵuU5(\xiZZvjM/  1KaquutiU=I`ptttjV>" (0 8 &>Sbfff]K9999999999999998/ 6RlxaYYYYYYYYYYYYYYYWL9# @_}pyyyyyyyyyyyyyyyvfP5"Bbƴ}aC "BbԴhH&8DbԴȨhH=SciԴ½hHOjԴ¢dG[zԴ¢̿mM]}ɯд¢ۿiJ]}˭ç¢̰x\@[{ԴҶ¢ؼhL0QkԴŨ¢Ȭu[O;>UekԴ}Ŷ¢ķzhP(:GbԴ¢}_"BbԴ¿e/BbԴťe9LXbԴ·eNfw}Դ¢y]^{Ըww¢wwwwwscLe`u¢bWWWWTH6b~^u¢bB7775+\|oUu¢bB"Vs|vpiYUu¢bB"Hav{unhb\VPJ>Uu¢bB"4IY_\VOIC=71+5Uu¢bB".:?=60)#5UubB" +0NkwZ<$?XlwwwraJ/ (0 85K\eee`Q<$%>Safff^M7 +Gbx}jP45QkzdI,4Sr{]>?^|tU66Vv`@AaƸxX8111.$ 6Vv`@AaظxXQQQQM@.&9EVv`GAaظxqqqqqk[D=SdjvjfWaظqUOjoaظ~_Zya`\|ãc`\|ãcظy\ZyaظzgNNittظxtttsi]N:^~кдtT4*7><4)=]|sS4  6SolbbbbsgK- (BYjppphVBBBF\lpppfS:  (0 88N]ddd]M702468:=AEHLPSNA..KezzdKPRTVXZ]adhlpsl[D* 8Wvujprtvxz}qU7;[{ĺz~`B#;[{ں}ŧjL./;[{ںɱsS36KY_{ںؼԿoP1Jcwںֶظw`E(Xvںֶظ¢f\J3]}ڿֶظãdD0]}ѱֶظƧgG']|ںֶظʪjK+ TpںֶظͭnN.CZls{ںֶظѱqQ1-AN[{ںֶظԴtU6$;[{ںֶظٺ{\=%;[{ںյظdE&1BN[{ںѲظɪkL-H^mu~ںͭظǪбsT7ZuշȨظбعbE)dŽظٺǪpS6c¹ӵظîԸ~bJ\|ɫˬũw]VuԸӵռjKf|zpèҾͽĪl9O`if\a~ȱ||²}b"5CIF=Qjkg|kP $)'$=UooWSk|vjtrhhsY> (BXhnhXB>Q^aYMUSJRclh[F- (0 86L\ddd_PAEEEEEEEEEEEEEE=/,Hcx|h_eeeeeeeeeeeeed[I25Usz|v_D8XxĿnO8XxؿŲrR1=XxؿҲrR7L[axؿٹҲrRJdxؿٹҲrRXvؿٹҲrR\|ٹҲrR\|ԼҲrR[{ؿҲrRSoؿٹɲrRC[mtxؿٹŲoP-AOXxؿظҲx[%8XxؿֶҲտb(8XxؿҲҲ̻|^3EQ\xؿήҲò}iSJ`ozؿʪɹj[wäν{eɽٺҲ|ҽ~cķбҲvrظyZxħҲҲtPn|ӶʬmD`wxkŨ}ͻe3J\feZbʵ}ovY0?FF=UonYptaI &&)BYpv\CZoz~~zlZH4+CZltp`I/BRZ_````^ZQ@- (0 8 9O_fff_O: 9QdomaTF4/Lf||gL0-Ie~~qaJ0 9XwwX96/>UfmmmmmmmmmmmmmmmmmdR; (0 8 $>]{s}kR!AaĴ~` !AaԴ¥e&8DaԴťe=SciԴıťePjԴĤťe[zԴĤťe^~ȱĤťe^~ȱĤ˫ťe\{ԴĤٺ˫ťeQlԴĤٹ˫ťe?UflԴĤٹ˫ťe(;GaԴĤٹ˫ťe!AaԴĤٹ˫ťe!AaԴĤٹ˫ťe):EaԴĤٹ˫ťeBVdlԴĤ˫ťeUoԹͳĤٹťebͲĤԹťee¸Ĥyyyťe_~ĤťeXx{ĤtãdOlyofqĤsһ_?WirndZQQqĤlɻuX*=KROF<2Ppfw`H!-20'*He~uZswaJ3 9Qeqrrm^H[hkkkkje\J3 (0 86L]eee_P;"6M_hiidV@' ,Icy|hN2*GcznT75Usy[<3Rq~`@#! 8Xxž~^CCTt¢bCC@6%8Xxؾ~^ccct¢ccc_R>% &8Xxؾ~w¢}kR6-BPXxؾ~£~`A!B[nwxؾ~ädD$RoؾĤdD$Yyؾ°ĤdD$YyĤdD$YyؾĤdD$TqؾĤdH5E_r||ؾ~ھĤtbJ1FU\xؾܼĤvZ+8Xxؾٺĺ` +8Xxؾ`%5>XxؾԹ`>Q]dxؾ۾ƩvYTk|ؾƮͲոyyyraIc̬ھηqYTG4hŽǮ͵scR>cȿȱ˴~lS\{ʳlx˺aSpyȴnWd}eD]pytlccpXAPhǭ{^0DSYVMDUmoZB+;TlgN(496.(@WpzgUB-'>RewmS: *C[mup`M;(%8K]mqiX@' (0 8 &>R`ddcZH1=R`eed_ccbXF/6Rk~u^CPj~|s\A& !A`~mN]|lMF>0#CcıqffŰðpfe[I2 #Ccѱ~ааv_D&8DcѱааnO=SciѱƱqQPjѱѱqQ[zѱааѱqQ^~ȨааѱqQ^~ȨааѱqQ\{ѱѱqQQlѱѱqQ?UflѱյϯаƱqQ(;GcѱӳήаnX#Ccѱа̬аj#Ccѱμʼмq):EcѱаpBVdlѱеήnUoѹͳٺа̬lbͲϳаʪke¸ٿнƦg_~ʮйζbXxպгqWOlyoyérаt\D?WirndZWv¬~bΰ|xp^G/*=KROF& #A]vqW\u}qcr~lS7 +Kjdiz~`A" -MmƦftĹĤdD*# -MmƦf~ĤdKJA10MmƦkѳxĤkki]J7L[mƦwĦĤw^KdxƦշëkYwƦǪķ˭m]}ֹ̬l]}аȫֺª˫k]|Ƴȫ˫kTpƦ׺ʪjCZlsƦȬӾɩi-ANmƦֺػɩi-MmƦwƪظȨh -MmƦѶżյǧg-MmƦȫҲǧg1CNmƦͱշˬƦfH^msƦֽ´ĥťeZuƮغĤdd¿̰ãcdĮ׻b[zü{wǫٺ|]RqpbҶͲtUGby~wpke_U_~˼¿kM5L^gf_XQKF@8SmtZ?2@GF?81,& '@Xrzu{m\G-"('  +F_rzudX_ab`\QA/ (0 8 + .EXdffdYF. +)-----?[ss[?-----)(;HMMMMMMiiMMMMMMH;($>UfmmmmmmmƭmmmmmmmfU>$2PkͭkO2:ZyͭyY:;[{ͻ{[;C[{Ļ{[C-Zo{ͭ|p[AlͭlNsͼtTsԴtTssTižúiLbȳǾdFhȾkKcŭgHUqͭy[>Fc͹lO1@``@%J`͹`L8cv~ͭ~weLvͭx[~;`~`}`qsW[lssssssssssssssssssssssssm]F (0 82HYabb]O;.1358:Ueluϯ|hN2Pkϯ|zxurokhd^P=)ZyϯqqqqqqqqqqiW?\|ǨϯlP\|ǨϱyYYxѺzZNh~ĺzZ;QahuϯֶuV$6CUuϯֶydJ +5Uuϯoֶvdd]M7!12 :M[buϯoֶvV6  +OgyïϯoֶvVB@5%^{ήϯoֶvbb_R>cǿϯֶ}kR_~¹ϯֶ~`Wv¥eNl{sťe@Ynyvne]rd,AQYWOFJgvZ&3980';Sgrrrrrrrrrrrrrrrrrn_I (0 8 +%>Safff^M;EGGGGGGGGGGGGE<,5QkzdXdggggggggggggeXE-?^|sqrY> !AaƷwgH( !Aa׷wǪjJ*$5Aa׷wɩiI);P_e׷wʫȨhH(Oh}׷ȨƦfF&[z׷ťֽťeE*_ŲãѷĤdWB_β̹¢pV^}׷ٿcSn׷ƦfBXhn׷Ʀf+=Ja׷ٹ۾d!Aa׷ַͻܼqW"Aa׷ԴϷۻ{gYD/?Ia׷Ҳʱںz_N8G[hp׷аıٹ{eJ[u׹˺ή׷uVh̽ǹyYi̹yY`ȾӳvWVtzzͮhMJgxnd[`klllåldR;:RdnlcYOF=CKLL]}ļ|^F8%%9GOMD;1'%+,8XviO4 )/-&  /Lf|~vfS<# + 9O`ghhhf_WL:& (0 8 $]{t||||||||||||||||vdL!Aaĵx[ !Aaյa&8Daյa=Sciյ¸aPjյ¢vZ[zյ¢raJ^~ɫ¢bG4^~˫ѱ¢bB"\{յԸѱ¢bB"QlյԴѱ¢bB"?UflյԴѱ¢bB"(;GaյԴѱ¢bB"!AaյԴѱ¢bB"!AaյԴѱ¢bB"):EaյԺѱ¢bB"BVdmյѱ¢bB"Uoչ̶Թ¢bB"bεд¢bB"e¹yyyyx¢bB"_~¢bB"Xx{rjppoݿaA!Olyof]TLPP_~ϵxZ;?Wirnd[QH>5-09YxønP1*=KROF<2)  4Trt]C& !-20' + +Id{|q^G0 7N_hiiiig^TE0 (0 8#]{pRp{^FFFFFFD;+ @`Ĵt]{ȽfffffffcWC + @`ԴtiغqX$6B`Դtwˮf;Q`fԴtƩiNh}ԴȨhZyԴȨh]}Ʊβǧg]}ۿƦf[{ԴŮťeQkԴήĤd>UekԴĮήãc(:G`ԴtĤή¢b @`ԴtĤή¢b @`ԴtĤήa&6@`ԴĤή`>R_hԴήپ~^Sk}Դŷήڽ}]a~ӵıܼ|\eƽäںzZ_~ùظxYXwwrΰtTOl|sjaXWbcqտiK?Wjspg]TKB9:BLkĺy]?*>MSQH?6-$'FezdM2".31) ;Wo}scM7  *BUbefhhhf_TH6 + (0 8";P_ddd\K5' + %=Uhqn`J2 %=SdkgYC* (0 8!:O^ddd\K5=Sdkif_Zb_RA1 1Mg{xbHOj|w}m]L:(;ZxsTZyxfTB-=]}ķwW]}ɻo[B1 =]}׷w`aظпn[M8/=]}׷wնȵyeL6KY_}׷ҲĪxZJcw׷~^Xv׷Ҿ~^]}׿Ų}^]}ѱ׿pU]|׷ظo[DTp׷аpP0CZls}׷wvаpP0-AN]}׷wϱǨkL-$=]}׷wӷּٿbC$%=]}׷{ȮʮϲxZ;1BN]}׷ټټkN1H^mu~׷ˮ˰ϳy\@#ZuٽkN2"dˮvǮzcTJ@0c¸ٽri\H\|ǭȹu\VuµİǹiKf|zpf|ȸ¨j9O`if\ROiȼ}ɱ|`"5CIF=3 .H`qvocWI9),$:Yxwjmoprsuvy|kP3<\|Ⱥzz\><\|ںgI(:G\|ں̮pQ?Uel|ںйnOQlںήаyaE\{ںήѱtroli^K4]}̺ήҲrffff^N7]}ǺήӳzdJZyںήյtVNi~ںƸxX;Qag|ںθxX$6B\|ںήڼvW +<\|ںήiM$<\|ںήsĥnnnnfT<0AM\|ںήpɩlwxmbUAG]kr|ںήѳnUYtںήٽbd׾ήʺƨťfdſεгb_~ĽŶǭؽ~^Yx˺ǰ׸yYNi~wog}°ƮΰsT=Sdkg_XPRmʵƹjK&9FKH@91@Yr|i{s[@ '+)!,E^qzudOgpvt^F. 0ESZVJ:SiwxkWYbfbXG1 (0 88N^eee_O:+-.01248<@DHLLC3.Kez|gMKMNPQRTX\`dhlk`L48Wvxckmnpqrtx|y`D:ZzŽ}~mO!:Zzڽ}˴wY)=KZzڽ}Ͼa?Vhqzڽ}¿`OkڽoUXxڽ}{xurolkbPYyѹ}eYyĹsVtڽ̵uJdyڽɵu7M]dzڽ}ͭr 2?Zzڽ}پͭ{d#4>Zzڽڽͭmih_N&6PftvvtgQ8 (0 86L]eee_P;"2J]ijjj`M6,Icy|hN2&C_wzbG) 5Usy[<5RnpQ18Xxž~^>D`}ʯrR6 8Xxؾ~^?Wpҵ}aH0#4@Xxؾ~^Tlũu^F.:O_exؾ~ehҶԺs[D,Mg|ؾ}¦иqYD2!ZxؾƮζp_M;]}ʲ˳zhR]}͵˱ɷd\{ؾиĪlRnؾ̷׽ѺiAWhoxؾijt[*=JXxؾz`G!8XxؾʪjM38XxؾʪjJ*#3=Xxؾ~͵fG(=P\cxؾиpW<Rj{ؾһs[C*a~аͼԼv^E-g®վx`H0cƾݿtaJ0]}}wųw[=Vsyrkd]]oͺdD$H`t|xpiaZSLE>BUgyεaB"3HV\YQIB:3-&(:L_roU9,8<92*#  2EXk~s[B) +>Qduzr_F. (0 88N]ddd^N83FUdoocO6.KezzeK//I`r|bG+ 8WvvX==ZvsW===<5';[{Ļ{[]]bȺg]]]\SB+;[{ۻ{v}}}~ʮ}}}}{nY?';[{ۻ{پjL/CP[{ۻqQD\nv{ۻѱqQTqۻ׷ѱqQ\|ۻ׷ѱqQ\|ֽԷwvvvvvѱqQ\|۽tYWtۻdIau}}ۻƦf4IW]{ۻŦf-;[{ۻb;[{ۻ{mU /;[{ۻ{reeyeeeeaT@:LW_{ۻiYy`EEEB8(Pgv~ۻnYy`@%%# a}ͭmYy`@ húvsy`@ eż`@ ]|}ݾ~^?Usvnfa˳zZ:Hauzqi`WOGZzĵmQ34IX_[SJA905TspYA& +.:?<4+",IcyqZC+ 6M]ffgge`VD- (0 8 9N^ddd]M7K_kkc[O?Tcggg^L50Lf{zdJ_xyiRlybG* :YwuVl~b}qR3<\|ĺzZwhǵuU5<\|ںzdڼcյuU:)/<\|ںzqΰugյucVB6KY_|ںz~¤յoVJcwںֶյcXvںֶƦf]}ڿֶƦf]}ѵֶյd]|ںֶյsXTpںֶյui[ECZls|ںӸֶϳյuU?.-AN\|ںçֶյuU5$<\|ںֶϲյuU5 <\|ںֶۿյuU5,>I\|ںֶɯյuU5DYhp|ںֶյuU5Wqںֶ|յuU5bͿֶvw{յuU5cֶvtqյuU5\|ǽֶյuU5UuzqֶѱqR2Lhwmd[`ֶmM.;RenkbXOE@`Ѷƾz`D&%9GNLC:0&?_~gN4 ).-%8UqwiT;! + *D[kqqqgcfggfcYN=' (0 84JZbbb\N9134679;=@CFILNI<) +GavzfOQSTVWY[]`cfilngV?5Trxnqstvwy{}lQ8Xx¾~z[8Xxؾ̿a-9XxؾŦg3HX_xؾ˵dG`uؾ˫cTrؾ̽˫ŨhYyؿˮ˫ԷbYyٽ˫ũpTYyؾʭ˫Ҷ}aEQmؾ׺˫¦vp^AYktxؾ˫Ųs,@NXxؾ˶~$8Xxؾֿ8Xxؾ˽$3=Xxؾ˫v=P\fxؾ}}˫}}}}}ucRjzؾҲrl˫k]]]]XJbɾsl˫kK===9.hwu˫kK+cź˫kK+ XvzoɩjJ* Mj~sh\bӼeF&>Xmxwl`UJ>\{Žx\? +@PYXNB7,7VuybK1%2980%.Je{wcL5 8N^ffggfbZK5 (0 84JZbbb\N9O`if_WJ7 +GavzfMe|~vdL15TrxZty\??????<1! 8Xx¾~^|üb______[M9"8Xxؾ~eٻygN3-9Xxؾ~pбz]>3HX_xؾ~{ǿbBG`uؾ¢bBTrؾ϶׷bBYyؿĦֶvZ% (0 8.EWbdeefgghiijklmoprsuvwmZA&@[rnQ2LjxX9Ooּ}^>JiaAMd˫xeN]y˫z^d˺edťedж˶Ŷe]wа˫ťx]rа˫ťr~е˵ŵ~տл˻Żvа˫ťvbtа˫ťtbeа˫ūfgȨhgŨhd˫dVo˫oVHh˹hHHhȨhHHhhHA_{{`B4NdswwwwwwwwwwwwwwwwwwwwsdN4 (0 88N_fffaR<#2GVdptjW?$ -Je{~iO3G`skP57Vuz\=Us|aF*9Yyƿ_?[{èrV:665- 9Yyٿ_VXvԹfVVVTK:$&8EYyٿuvvvɭvvvvtfQ7LQQQQ]|vq`QQL@-'AXjqqqqq̸yʾvqqkZC)4RnնɸpU7<[{ӳθ~^?<\|ѿ_?<\|_?9Xv£ںy[C.Jdxӷں̾oS%7L[aoŨں|\>R`l{϶ǻں{[Rk}лǽֶwW`~ʸûڿаqReпħjL^{õȳɾ}_AOiͭ~jQ6=Xsͭ}^?%,F``@ @``@ 5I]{ͭ{]K7Ibu}}ͭ}}vdLXuͭxZ^~ͽ`^~`]}`UqtWE\nuuuuuuuuuuuuuuuuuuuuuuuuo^G (0 8 9O_fff_OI]jlli]WfjcS?,/Lf||g]wvolYF2 +9Xwwjs_K7" ;[{ƻ{lʪƳxdO6# ;[{ۻ{lʪ̹|bM@-&8D[{ۻ{rʪҾrkZC=Sci{ۻʪϾoSOjۻɲ|][zۻҽ}]]}ý}]]}˭ǧήxY[{ۻƦήzfLQkۻĤήͽ_?>Uek{ۻ{yήͱy[<(:G[{ۻ{~ۻήؽjN1;[{ۻ{ֶήūvZ>"*;[{ۻ{ѱι˲~f[N;4GR[{ۻ̭ҸyhPKaqzۻŦվ}`\xսۼ׿feûгή{ccɿĬή}ܽ}^Zyеκή׷xYRpǵռϱsSF`vwm̰ҾjK3J[cbXlѹz_A/=DBDa{s{wgsxcM3$#5Nbwy_[XL_r|}s`K6  6J_rzucL;91FU\aaaa]VG3  (0 86L]eee`Q<$+DYgkkj`M5+Hcy}jP4:WqzbF>>>>8+5Ts{]>Cco^^^^^VF7Ww`@Ee˲~~~~~~r]!7Ww`@EeҲo*=KWw`KEeҾv@Whpwpi\eնvQl||ҵuZyҲk[{мҼoW[{üϯoOWu۽ϯoOJdy۽ϯoO7L\cw۽}yyyyϯoO1>Ww۽ϯoO 7WwܽϯoO(8CWwϯoO@TbjwϯoOTmֶϯoObҲnOeùˬmeeeezeH_}ĺ¤fGEEMcsvvuhS9VuԷ{]?%%6HTVVUL;&Mj}sũpR4 +4666.!>Wkvtjbѵ}aE)  *?NVUKb̿mR6$075;Xsy^B& +,F]reL2/DZnzwhR8 (0 8 '?Uchhg]KAAAAAA@Lbӳͭѵظػ{"Bbӳͭظػ{"Bbӳͭػ{!1Bbӳͭػ{:MZbӳͭ~~~~~~~ػ{Pgxӳͭm^^^^^xػ{_|ͭssssssxػ{eƾͭػ{aͳػ{Zzۻ{Sp{rٻ{D]pzvme\fͭл{0DSZWOFEey)5:80'=Zu{a`````jl /H^lppnbN@@@@@UgppphW (0 8 'AWhoj`U\chleT\jneTC1 5Rn~rykto]K8&%B_}zxeR?(3OlŷǿȶlU;) (C_zȫĤѾfUC,9ToֺɪƬpX=.Ieǫ{а÷hI&?Zuܼ׸mN:SlܼбqQNgܼqQ\zջټٽ´tTbùټϸ}ίpQ]{ǯټ|yvtηǨjKOkټ|_wܾbC@]xټ|k˱xY:1Kapyռ|w˫ųiM0:Xu˫uY>" @`˷aA! @`aA!&@`˾aA&>Sbx˫ybS=Qk˫kQ]|˫{]````_~~^TooTBXhnnnnnnnnnnnnnnnnnnnnnnnnhXB (0 8 9O_fff_O:CYgle[Q@+ /Lf||gLVpzmX?-----( 9XwwXbjMMMMMMG9&;[{ƻ{[msmmmmmmdS;!;[{ۻ{[yȪhM/ 1=[{ۻ{iټvV78M\a{ۻ{w͸xX8Leyۻ׷wW7Ywۻα׷wW7^~ܿ׷wW7^~һοֶvV6]}ۻаֶvV6TpۻɳаֶvV6CZkr{ۻɩаյuU5-@M[{ۻɩаԴtT4$;[{ۻ{ɹаӳsS3;[{ۻ{аҲrR2 /;[{ۻ{ɹϯpS@9LX_{ۻɩƨ}mVOfwۻɩѹf_{˭ɩŹĬleºɩĥgaļˬۼ~_ZyϲvWSp~ume̻jME^s}yqh_VNVpx]@1FV]ZRI@8/BZqtbK1+8=;3*"-D\oy~}ykYG5 .CRZ_```````]ZO>- (0 8 8M\bbbZJDGGGGGGGGGGGGGGC8&0LfywbcggggggggggggggbS>%;ZxskQ5>^~¸|^?>^~ظaA*>^~ظaA2FT^~ظӳaAG_qy~ظӳaAVsظӳaA]}عӴaA]}׷aA]}ػӽٽaAWtظӳؾaAH`s{~ظӳ׾lS3GU^~ظӳֿ}_+>^~ظ¢b>^~ظ¢b"1>^~ظӳȬ`;NYb~ظӳήoUQhxظӳӶ{_b~ӳ¥źhhƽӳdzαťfd¹ӳչ۽b]}ɺѺ׼}^Vt|r}ϾԵxXHauzpg][yųrtϿoP4IX_[RH?OiwfV_w{bE.:?<3*#=Vpl[K;J^o{eN5 *C\pzvfR@01CTdlpkaN7  (0 8!2>BBBBBBBBBBBBB@76>Q^``_UC,9N]bbbbbbbbbbbbb`VVVk|~pY>Lfz~vvviJZxnN^~¨ήnN^~ȨֶήnN\|ˮ׷ֶήnN[m˫׷ֶήnNp˫׷ֶήnN}˴׷ֶήnN}ֶήnN}Ƽ׼ֶήnNu׷̶ήnNat|Ҷ׷|ήnNa{¦׷wͮnNkβz׷éjJjθ|í~bD]wʪtW8I`zʼ}]=:Zzֽ}]=O]zʶ|]Ng{ʪ{gyʪyþ~Ͼ~}}ooYiooooooooooooooooooooooooiX (0 8 +%>Tchhg_MDDDDDDDDDDDDDDDA7'5QlzcdddddddddddddddaT@>^|{mT @`ȶb @`ֶĦf(;H`ֶƦf?UflֶظƦfQlֶظƦf\{ֶظƦf]}ʾظȰƦf]}ǾظƦfZyֶظƦfNi~ֶظƦf;Qagֶظ˫Ʀf$6B`ֶظ˫Ʀf + @`ֶظή˫Ʀf$@`ֶظή˫Ʀf0AM`ֶظή˫ƦfG]krֶظή˫ƦfYtֶžظ˫ƦfdʾظëƦfdûظǮƦf_~ļظƦfYx~ظŦfNi~vme~ظxuտb=Sdkg_WN^~Ӹxnʾx[&9FKH@8>^}whzdL '+)!7Uql\vycM7  *D[msssjWH]ilmmmlf]L6  (0 8!:O_eee]L65M`kjaWK:# 1Mg|ycH++FbzugP6++) ;ZxsTKKQo}bKKKH=,=]}ŷwgkkkyƼkkkkgYD=]}׷wݿqW!3?]}׷гc8N]c}׷ťeLfz׷ťeYw׷ѱťe\|ðѱťe\|аѱťe[{׷ѸťeRm׷ťeAXip}׷ѻťe*=K]}׷ѱťe!=]}׷ѱťe =]}׷ѱťe%6A]}׷ťe>R_h}׷ťeRk}׷ǽѱťe`~ӻѱťedƽѱťe^}ĺѳťeWvťeNk}tjfťe?Wjtrh_ULfαťe*>MUSJ@7Eed#/53+!=Zt|c````d}tY .G\knnmbO@@@@Pcmnnj\F (0 84JZbbb\N9:Repoe[N:# +GavzfMIfyhP;;;;;5(5TrxZVt|_[[[[[SB-8Xx¾~^c{{{{{{oZA%8Xxؾ~^rԷlO0)8Xxؾ~fŻtT41ESYxؾ~vԴtT4F^qyyؾ~̶ͲtT4UrؾռkN/\|ؾּԻtZ?#\|ٽĪ϶ë{bH.\|ؾƱĮ~f]VJ8Vsؾó|ueOG`s{{ؾ~ø|`2GU[xؾò»h+8Xxؾ´ټd8XxؾuX"2;Xxؾ̭hJ;NZbxؾͭpX=QhyؾìԴͭmM-`}˫ԴͭmM-fǿԴͭmM-b¹ԴͭmM-ZyͭmM-Ro{sjdͭmM-C\pzvne]TKdԴͭmM-/DSZXOF>5DclL-(5:80(=Zvoooo|}bE'  /I`ptttiUOOOdrttreP7 (0 8#]{pQYZZxvZZZXL:# + @`Ĵtlyzz{ɹzzzzvgQ6 + @`Դtٹ}aC$$6B`ԴtٺiI);Q`fԴtɩiT@Nh}ԴٹɩmUZyԴٹɩb]}ƱĦf]}ͱƦf\{ԴٹɪdQlԴٹɩrX?VfmԴwɩiYD);H`ԴwɩiI, @`ԴtٹnS6 @`Դٹ}]>&6A`ԴͿ_?>R`hԴ_GSl~ԴŷٹtYaӵٹbeƽãc_~¹ټcXwٹz]Ol|sjdv|||||ٹ||||||weM?Wjspf]TKJX\\\\{Թy\\\\\XK8*>MSQH?5,.9<<<[{yY<<<<9/".31) 5SomQ3  (BZltttkYA&  (0 8 "8M^fcUB-?UdiiibQ;! ":PezoZERm~hM@@@@@@@<1 +3Og}r^_}w````````[L8>]{viɸxeL0Bb͸wͯxZ;>]{к_?3Og}ѻ߿_?":Pe{ıԸ~^> "8Nd{дæèqU74Oj´ؾжγ|`E*+E`{׽ūɯkP4$>Xrƫϵw[SH66PjδԻűzrcMIc}׼Ҿʼz^Xuƫ̹{g]}ϴ˽k~ֻeYw̬ªtYLez̬~bG8M`kR7%@`aA&=Ra|̬}aR=Pj~̬~jP]|̬{]````_~}^TooTBXhmmmmmmmmmmmmmmmmmmmmmmmmhXB (0 8 $]{oQGb}qnnnnngV?!AaĴtT[tƸlQ !AaԴtXpŮz[&8DaԴtmμ|\=SciԴtۼ|\PjԴȮxY[zԴõɶζgM^~ɿ¬ϻ̶oU;^~ʭʴt]C(\{ԴDzq\PJ=QkԴϿpppphW>TdjԴl'9FaԴͲy !AaԴĹкz!AaԴںz):EaԴĬʮvBVdlԴǯѹgUoԹͳDzκӼrVbįҽ־w_Fe¸yaJ2_~ȷ{dL4XxпyfN6Olyowʾp^L8! ?WirndZVuĸxfUC2 *=KROF]{hH&8Rq̿ʰ{`B@Re{«|϶|eN4Wm~ĭӺӼv^FhŮ־־һs\oӺиpjζ|^|îzSpͭkC[xͷ~hT8Xx׾~^>JXxͼ~^Ibv~ͭ~ubuͭt|;||ּ||{qq\ovvvvvvvvvvvvvvvvvvvvvvvvn\ (0 89O`gggaQ<#-@QboqfS;!.Kf|~iO2BZl}hN5""""7Wuy[BSo{bHBBBB=1 9Yyǽ}bbb{ubbbbb\M8 9Yyٽ}ռyeK%7DYyٽϵwY;Rbiyٽ½}]Mh~ٽӽ}]Yxٽʳ|\[{ɺѷóoS[{ʺؿھslZCYxٽūʮw_N@-Niٽ˱зygR95Uu¾kO5Uu­yZ5Uuͻ{[5UuŻ{[5Uu¥wX5Uu¥þ{fL5Uu¥۾~^N96Vv¥ѱؾ~^>!8Xxѱؾ~^>;Zzپپ~^>Baڻ۾~^>IhӴƱƾ~aH,Po̭ɩtV7Wvťɿ{[;`~۽ѻ{[;mնɱzgOyˮɩ{^տɿcvãcc{bNgsX:Reomqqqqqqqqqqqqqqqqqqqqql\F (0 88N]ccc\L7!% 1Nh}zeJSmzkQ4;ZyuV`~|]>*=]}ƹyYbȴ`TG:+=]}ٹypxԴzrdWF/'=]}ٹ~Դr\B0CP]}ٹԴmOF^nt}ٹβԴɳsSWsٹԴlN`ٹϲԴϲz^A`ԴԴڿkO2`ٿοԴʮw\@#[yٹԴgK0Mexٹ~Դr_M;(8LZ_}ٹyӳпzhU= 0=]}ٹҲɸjN=]}ٹήwW.=]}ٹκɩ˰wW9KW^}ٹȵĤlTOfv}ٹۿc_{ťԶéifºɬťfcżֺb\{tȴٺ|]Trª{pǰtUF`tzrie}ed~iL3HX_\SJWqgPQilU=-9?<4+D]wzhR:PZ_aa`ZP?) (0 8 $]{qYwwbL5!AaĵudƼycL5!AaյunϱٹybK4 0Aaյu{åٹԽyaF8LZaյuԶ|ظԽqRMexյǪ|ظ̴uU[yյ׷w\`տ׷f`οǧg`յƧgWrյ׻ܽdF\msյȲĥpW/BOaյˬnffcVB&AaյӳvYFD:*!AaյۻѾeG)(9CaյԵʬqS5AUbjյָ̮}_A# UnյȿٿĦkO5bҾѳв|bH/eżħét\E_~¹ո}ջsZXwvɫpζhOk{ri`rѷdsīl?Wisof]TJRrpVd~ȯc*>LSPG>51Qqx^DQjjR".31)+IefL1=VonU< +9RepqqnpeR9)BYinhXB( (0 86L\ccc]N9136L\ccc^O:22+-IcxzfLQRKcx{gNRRI:+7VtwcprhtyeqqeVG49Yyý}~yÿ~raJ09Yyٽzٿw[=$9YyٽٿɺcC-@MYyٽҶٿԸaACZlryٽǫٿĨpT8Tpٽֺٿе}aE)]}ٽɭٿmQ>*^~һĴٿʯxsjW?^~ٿlOYwٽٿwXLeyٽӸxX8M[ayٽxX 1=Yyٽ¢ۻrT 9Yyٽ~ۻvaG(8BYyٽۻۻ{ssh\P=@TahyٽյۻzjSUmٽɫϯۻcbʪƨۻifֹ~ۻƦf`Ļĩ{ۻãcYxư}y¯ܽ~_Pm~ůluɱwX@Yktph`}lVj´kO+?NTRIPjkU?VnoW>$/42*=WqyhT>)AYo}}pZB)*D[lsm]M<',BT^cddd^TC- (0 8 .EXdffdYF.  +/////?[ss[?/////+ )[{»{[>=VjvͭvkVLiͭjSsͶsSsԴtSstNkħĤl@Zo{||ǧ||{{{{Ĥ{{{oZLjǧĤ~bQqǼĹjQqɩʪjQqǶĸjJgǧĤ}bDYiuvvǧxxĤxxugPWqǧ~~Ĥ~~~wdbϳĤwcĺľ\|ӿVu~Kg~}yuqmmq:Qbkiea]YUQMYksssssssssssssm\ (0 8!:O]ccc[K6BGGGGGGGGGGF=.1Ng{xbQaggggggggggeZH0<[ysh}u]A$?_øxykL, #?_ظx}ǮnN.-@L_ظx}ήnN.DZkpظx}ٹήnN. VqظٹήnNC9(_ظ׷wnήnebUA`аԵuhήnU`Ṷ̋ttвb]{ظťfPj~ظȮҿa=R`eظưϯz[%6B_ظϯwY ?_ظ}]!0?_ظҽ}];MX`ظƲ|]Qhwظ־ϸӿoSb~յƭϯrkZCjǿȱϯį{jRgĻʲϯǶba̴ϯ¨h[yɶϯеcNg{|si¯qϯonT:O]c^TUlofϯogyw\B"3?C?6?Wo|iVfnN_pxsbJ0 # *BVdg`O?\w~dGESXTH5):EGB51J`ossreQ8)485+ (0 87M]ccc]MCEEEEEEEEEEEE?2 .Jdyzebeeeeeeeeeeee]L68WuvydI,;[{ûtU9+;[{ۻŸx`WF/';[{ۻҳr\B0CQ[{ۻںͮmNE]ov{ۻ{ԵrRVrۻˬаpP^}ۻ£ͭmN^~ֻγʫkK^~۽׽ƧhHXvۻмbCJcu}}ۻѿ÷vZC5JX]{ۻæpT.;[{ۻò|];[{ۻҽ}]*;E[{ۻڿ}]CWdl{ۻ϶vXWpۻãͳɴwdJc¢йò̷yj[GfļйãϺu[`йãhYxκã¨jPlzqǴvãŮ|a?Wirne\^vusãshO*>LROF=H_wn[rclnU;"-20'2J_loeTKhvZRbidV@( 2CMOH:]{oQXtppppm_J1!AaĴtThŨx]@" !AaԴt`zѵhH) &8DaԴtsɩiI8%=SciԴtɩibR]{pXXXejXXXXXO?* @`ĴtwxxxβxxxxxwlW> @`ԴܾjL,@`ԴʸsS3HV`ԴӳsSHas{ԴûӳsSWtԴãӳsS]}ԻãӳsS]}ѱƴrR]}ԸͭgKVsԴ;shT;F^pxԴxͭ{uhS91ES`ԴttͭeG)@`Դ{ͭnN @`ԴаpQ(8A`ԴrRATafԴʹy\VnԴͭɽcd;ͭmzٿ`h˻{jͭyں{[dvjϰԴuV`{ffĹɫoPWs}wqlf_Na~ȴdFF]nsoic]WRLG@7RkrX;0COSOIC>82-'"&>VonZE,&030*$ )AYluz{{{yuiUA- (0 82HYabb]O;EYjql\F:RfqpcRA/ +(E_u{hO_rs[Jf~m\F-2Qo{]wp[vtY<5Uuh̵kƴdE%5UuhʲּeH2 5UuvŬét_E&8EUuIJɯpR. +Gbx}jckkkkkkkkkkkkkhZE-4Sr{sY<6VveE&6VvǧgG'+6VvǧgG'1FU[vٿǧgG'F_r{{ٿǧgG'TrٿǧgG'ZzǧgG'ZzǧgG'ZzٿǧgG'SpٿǧgG'D\oxxٿǧgG'/CRXvǧgG)'6VvٿʽǧpV= 6VvٿոiL'7BVvٿçɰrS?SajvٿҶƶpQSlȹٿʻyaF`~Źٿܿn^L4dĺٿֿuh[G]|źٿ¢ƴu\Ut}ŸνiLi~sirƷªk=Vkvuk`UOn̺~ppĬ}b)>NWVLB7D^xoaSVj~gP#076.$2Kd}scSD6=QdtjR:7PfuwlYF7($8HXfjdS=$ (0 8+D[joi_TM`lmmj]kneTB0 9Vq}pazun]J7$ )FdmwdQ">^~ͽ}]=5I^~ý}]I6Ibt{ʪ{ucKYvʪwZ_ʻ`_`^~`VrtWF]nuuuuuuuuuuuuuuuuuuuuuuuuo^G (0 88O_hhhbR=124679;>ADHKOOF7"-Je{jPQRTVWYZ]adhkoocO76Utzmqrtuwyz}}cG8XxȾ~pR 8Xxؾη{^%7DXxؾäe;RbixؾaMh~ؾϯmVYxؾϯm[{ɽϯ|[{ʽ˿YxؾɿNiؾή{Wlyxlrҷ׷̬lL*@PYXOnѷ̬lL%299D_w}vrrkK 2Jd~pjR_yz`C7QftujZkqqqhU=LaoqqobM4 (0 8 $>Sbhhh_N>>>>>>>>>>>>>>>=6)4Qk{e^^^^^^^^^^^^^^^]TC-=]{|~~~~~~~~~~~~~~~}pZ@?_ȷlM ?_׷rR'9F_׷ҲrR>Tdj׷rRPk׷gJ[z׷hT;]}ʴƦfF&]}ɴڿƦfF&[z׷ںƦfF&Oj׷ںƦfF&=Sci׷ںƦfF&&8D_׷ƦfF& ?_׷ڻƦfF&?_׷ںƦfF&+]{qS39UpqR2 @`ĶvV6JeDztT6 @`ֶvVE^vϴ~dL5 1@`ֶvVZrŪzbK48M\aֶv`o̱־xaJ3 LeyֶԻԽw`L:'Ywֶ׿ӼyfTA]}ê{һnW]}ѱƮg]|ֶʻǬlSoֶDzĵȳfCZkrֶnV-@M`ֶrYA#@`ֶxgH, @`ֶzɩiI)!1@`ֶɩiI):MZbֶڼɩiI)PgxֶڼɩiI)_|ڽڼ|ppppɩiI)eļڼɩiI)aڼɩiI)Zy~ɩiI)RozqhzɩiI)C\pzvmd[RZzѼɩiI)/DSZXOF=:ZyhH((5:80'3Qmncccc|x^@"  %@WiqqqjXCCCNcoqqn`K2 (0 8#=Ragggggggggggggggggf^L63Pj~ycH+ =\{rS4?_ǶvV6?_ֶvV6?_ٹֶvV6?_ٹֶvV6?_ֶvV6?_ٹֶvV6?_ٹֶvV8?_ֶeJ0?_ƿw\>?_ٹʳؾeE?_ٹ̹˾dQ/Keٹǵƺ~h9Xvѵx<\|û̸{8Wu·̬æq<\||_K\|лlQdv~̰~vcw̬v̾~Ҿ~~}qp[lrrrrrrrrrrrrrrrrrrrrrrrrl[ (0 8 &?Tbfff\K4:Rdnle]Q>& 6RlxaF-Jg|kS8%%%!!@_~pQEUtbEEEEA5"Bbƴteee}§geeee_P"BbԴ}׺|h'BbԴ˭y0CQbԴž~F]ouԴ۾~VsԴյ׾~^~Եյ׾~_յ׾~_Ծյǧ׾~YwԴյɸǧ׾~Kdv~Դյɩǧ׾~6KYbԴյɩǧ׾~/BbԴյɩǧ׾~"BbԴյɩǧ׾~$3BbԴյɩǧ׾~=P\bԴյɿǧ׾~RjzԴյǧ׾~bյɮ׾~hյƩ׾~cûյ׾~[zյڽ~Sq}vյufzиzE^r|xog^`յuUtɻq1FU\YPH@`tUov^*6<:1):XtjMbzv`I -G_pvvvkW>M`klllkd[I3 (0 8 9O^eee^N85HVdoocO6 +0Lf{zeK.0Jbs|bH-++*$9YwvWKKZwtYKKKJB3<\|źzfkkkȻkkkkj_L4<\|ںẕyaE"<\|ں~nO,?L\|ں˱qQBYjq|ںѱqQSoںյѱqQ\|ںյѱqQ]}ѼƵuoo}ƱqQ]}¼ںsYYwںںcLfzںĤd8M\b|ںĤd!2>\|ںں~`<\|ں~ں~lS <\|ںzx̴}ںzd`S>->H\|ںɱںzZA7&FZgn|ںŬںzZ: ZsںήɷںzZ:g˭}ںzZ:iļoںzZ:btsظyY9[z~vnfZrɲtU5Qmzqh_WOGLlDzkN/@Xiqmd[RI@80(GgnX?#+>LQNE<3*! >[tnXA+"-1/' .G[illllhcUA+ (0 89N^dddddddddddddddddddddd\L6LfzydI-YwtV7\|ĹyY9\|ϹyY9[{аǯxX9QmͷаǧνlO1FeʰаǧٿkK,=Ytèаǧǭx^B$JZb|ԺаǧδfZJ5bwĬаDZӺwbHsаǧsUy¹yYyѹyYxxXk̬kOVi̬iV?EeĥeE)EeťeE%Od̯dPXxؾںظa=P\fxؾֶظoURjzؾҲвsظxjfWBbɾȩkظxXG<*h۾cظxX8cẕ́v_ظxX8Xvӹj_ظxX8Mj~ssY_ظxX8>Xmxwl`_~ĭz`F_͸xX8+@PYXNBSmgM>]|vW7%2980'?VniS;5SnhM/ )@XmxvhR<%'AWgmmmdS5'DU_`~͸x`_~θx__]SA*Zqظ׷|nW<jظֶgH) +pտmM- pлͭmM- oظбήnRH=-c|ظ̬ήzpfYErеĥήrYvķڻϯep¾ظijӳǧgjظջε׷¢ceظ۾׽~^iԵշxYdҽпŭpR_ͭeHWsͼjS:F]|ֻ{[=&O]{Ͷ{]N9g{ͭ{gMyͭyZþ~^Ͼ~^}}]ooSYiooooooooooooooooooooooooiXB (0 86L]eee_P;AT`bb`UUaccaUC+,Icy|hNVn~popX= 5Usy[egH) 8Xxž~^j¬ëkK+8Xxؾ~^j̬˫kK?/&8Xxؾ~fj̬˫kh[H/-BPXxؾ~̬˫u\@B[nwxؾ̬˫iJRoؾʫkKYyؾɫkKYy̬˫iIYyؾ̬˫u\@Tqؾ̬˫kg[G/E_r||ؾ~|u̬˫kZWJ71FU\xؾ~zz̬˫zzudL+8Xxؾ̬˫y\8Xxؾ̺˺c.8Xxؾãc8KW_xؾcNev~ؾİŲx[^{аվȱyscKeº׿ȱkSVnqY+8><4+'GgįjM 'GgϯsS&8GgϯӳsS=SciϯѺǺsSPjϯѱǧjM[zϯѱǧnQ^~ɿƧѱǧyY^~̿ΰѱǧҳuV\{ϯ׸ѱǧɪmNQlϯѱǧdE?Uflϯʫѱǧ׹{\=(;GgϯҳѱǪϰrS5'GgϯڻѱǴŧjK,'GgϯxѱǾٻ~`B#):GgϯѱϱtV7BVdlϯѱŦjK-UoϺͲѱǫ~_L@.bͱѱǧqoj[EeѱǧrW_ѱǯbYxãcPmyoãc@Xjsoe[\z~`+>MSPF (0 8 (AUcggf\J30I]kmf^SB+ 8Tnw_D5?\v}nX=5553*"BanUUUhhUUUUSG5$DdDZuuuuuîuuuuurbL2 $Ddѱ¤y^@&8EdѱҵfG=ScjѱǧgGOjѱͼμgGZyѱԻȯ}`B\|Ʀȴ|n^I\|Ʒͺv[ZyѱɿõeOiѱϼƿջeUek̬{Ũ}Ȩ}}|q\CQl̬ͶǧnQ\{̬ƽvV^~˿նvV^~ʿµuU\{̬ƦkNPk̬Ʀ}ۼ{utjW>>Tdj̬ƦػçoUM>*'9Gg̬ƦҶ~bF* 'Gg̬nƦƶƪrU9'Gg̬sƦؼչdH+):Gg̬ƦȬȬsW:BVdm̬Ʀӷ׺eIUo̺ίƱç{ɭtUb̮ƺȲ{nȷxXeɰzz}oT_ɿŷdYxȰĽiPlyq̳ۿd?WirndZfxY*>LROETtĤiiiii`N78Xxؾ~^>TtĤ{cH+-9Xxؾ~^>TtĩrS33HX_xؾ~_ZTtɵuU5G`uؾxetȵuU5TrؾxvĨrZAYyؿĤnQYyĶxYYyؾֹyYQmؾyYAYktxؾz],@NXxؾd$8XxؾĤd 8XxؾĹd(8BXxؾķy]ATahxؾyƸ{ytdMUnؾǹyƸv_EcӷwħòoQgļuĤδtTaƾtĤlOYx~vndtĤsy]APmxog_WOTtĤdj{iN2AYlvrjaYPH@84TtĤdOaoqhU=",@OVSKB:1)!4SscDEPRK<(%064,# +.LivZ=(02,  !Visof]TXw`)=LSPH?6Lg|~_"-31) :O_ffffffffffipU + #5AFFFFFFFFFFSfoooiYC (0 8#$>]{}szkP2 @`ķĿyZ: @`׷¢׿λ{[; 2@`׷¢׿ڻ{[;7M]c׷¢׿ڻ{[;Jdy׷¿׿ڻ{[;Wu׷ۻ{[;[{öϻ{[;[{жyZ:Zy׷vV6Pl׷ֶvV6?Whp׷ֶvV6)=J`׷ֶvV6 @`׷ֶvV6.@`׷ֶvV68KW`׷ֶvaJNeu~׷Ľϱƶw[^z־ϯce¸ϯqqqqqq~abøϯٺ{[YxҵӳuUQp|qgȫnOE_uti^S\zƴcF2HYb`VK@5Ng~qV9.;BA8-"!9Qhm[D+"! #:QequxxxxxxxxvreSA. (0 8 &>R`ddcZH12I\ff[K;6666665.!6Rk~u^CD_vwgVVVVVVVUL;&!A`~mNUpvvvvvvvthS:#CcıqQffI#Ccѱqb{ӸoP"3CcѱqvаpP:O]cѱrȯpPNg{ѱʹiK[yѱѸ}}}}}}}|nX>_ӽzuuuuuuup`J_ǸѶw[^~ѲٿdUqѱƬĤdD[krѱںƾd.@McѱںƦ|_$Ccѱսں~~~Ʀ~yhP #Ccѱֿںz^pƦf[N:$4CcѱںzZpƦfF2"=Q]eѱںzZpƦfF&Rk|ѱĺںzZpƦfF&aָںzZpƦfF&fںzppƦfF&aƼںƦfF&Zyz{ںĤdE%Rovmd[{ںѺ`@!C[nwsj`WNE[{ӺȼtX:.BQWTKB9/:Zzw_G-'275-#4RnwaJ2  +'AYkssskijjjid[J4 (0 8";Q`fff^N7#9JYhpl]G-2Oi}zdJ-6PeutZ@%  <[ytV@Eb}lQ@@@@>4$>^~Ƹx```k̳~c````]P=>^~ظ}Ū|jR%>^~ظϻ~a,@O^~ظfAZlu~ظƦfQnظeYyظųŰx\Yy̱ŪgKYyؾ¥ֻѴȨhHTrظ¢̱æȨhHF`t~~ظ¢дȨhH2GW^~ظ¢ȨhH,>^~ظ¢ϲȨhH>^~ظ¢ȨhH'>^~ظ¢ҷȨhH2DP^~ظ¢ѶɮȨhHI_nxظ¶¬ٿڿȨhHZvչŬеȨhHd÷¼˲ȨhHcȼ£ȨhHYxȨhHOmutȨhHC_wzncWsȨhH2J\gf\PEKhgG0?GG>3';Tgqrrrrrrrrrr~y^@!'' &;JQRRRRRRRRRRersspaL2 (0 85K\eee`Q<$"8IXfol^H/ +Gbx}jP46Petu[?# 4Sr{]>Eb}kO<<<;3%6Vv`\\lʲz^\\\[Q? 6Vvy|||¥||||zlV%7DVvдg;RbivnMh~ήnYx̹ήn[{ɿ̬ήn[{ʿ¬ڽy®nYxαiNi¦z<47Snxj\O`q~c 'Da}vi[M@4EWi|nR6PesulbXL>0#*=OaqulYA (0 84JZbbb\N9 0ETbotlZB'  +GavzfM1(D]qnS7&&%5TrxZFFRocGFFD;,8Xx¾~^effwƪrfffdXE-8Xxؾ~xֺrZ>)8Xxؾ~ȬhI1ESYxؾ~ƫkKF^qyyؾ~˫kKUrؾİjJ\|ؾԸw^A\|ٺҶĩqgYD\|ؾƪϴqWVsؾƽٿcG`s{{ؾťe2GU[xؾťe+8XxؾԴb8Xxؾ~ԴoV"2;Xxؾ~ԴmO;NZbxؾsSQhyؾӳsS`}ȳԴrRfǾԴgJbyssԴtsssrgT;ZyxpaSdԴtTSSSK;&Ro{rjbZQFDdԴtT433- C\pzvne\SKC;2)DdԴtT4/DSZXOF=4,$$DcsS4(5:80' =ZviL. /I`ptttiU]{qWWZvqWWWWWTH5 @`ŶvwwwȸwwwwwrbL1 @`ֶɭx\>%7D`ֶٽeE;RbiֶťeEMh~ֶӻťeEYxֶӳťeE[{ʳťeE[{ª˼cCYxֶǼqW:NiֶxsdN4=Sdkֶ{`B&9F`ֶhH @`ֶȨhH%5A`ֶûӻhH=Q_kֶŧӳ~aCRj}˫۽ӳ}kR`}õַӳ~`dбӳĥe^{{ƩӳbRoyӸԴڽ~^Fc~ytԿٿعyZ8Qgtuj\|Ҽz~ȰsT$:KUVMXvɺzeqiK -56/Kd}wbM\tnX>7Pir_J5G_r|yjUA+ +#R_lȨȶƦؽ}Sl~Ȯȩƨٺ|aʪ£ѲteļԷ}ϽlaŽũoƵw^\{Է~nƦzcJTpwƩpnƦyvj^L5D\nvqi`tɱ~bnƦfVMA3.BPVRJLhkRnfF/#&163+;Sh~oVGd~x]?! &;QfuxnZB8QfsttpaK1 (0 85JZ```ZK689;<=?@CEHKMPSPF4-IbwwcVXY[\]_`behjmpsoaK27Vtuvxy{|}x]@;[{gH;[{ۻ˫lM;[{ۻıqQ(:F[{ۻlM@Uej{ۻпֻ`ARmۻѷϳƫtW:^}ۻȬѶcH,`ʹؽȿڿ|dH*`ɹĮqR2^}ۻ̳sS3RmۻӳsS3?Udi{ۻ{нrR2(:E[{ۻ{ɶ~iZE;[{ۻrW";[{ۻںb/@J[{ۻãcG\io{ۻãcZtۻƩں`fƦںmTg»ںzggggcU@ažعyYGGGD9(\{|v̴uU5''$ Qlxqjd]`ʶmO0?UflhaYRKD>\{rZA%(;HLIA:3+%4Qls\D-),)" %?UelmmmkfYF. (0 86L]eee_P>GHHHHHHHHHHHHHB5" ,Icy|h[ghhhhhhhhhhhhh`O85Usyu|eJ-8Xxž~tU68Xxؾ~ȸxX8'8Xxؾ~ظxX8.BQXxؾ~ɩظxX8C[nwxؾ~ɩظxX8RoؾɲظxX8YyؾظxX8YyɾظxX8YyؾɩظxX8TqؾɩظxX8E_r||ؾ~ɾظxX81FU\xؾ~ظxX8+8Xxؾ~ɲظxX88Xxؾ~ɩظxX8*8Xxؾ~ɩظxX85GS[xؾظxX8KbrzؾظxX8\x˭ɩɸxX8eƽíнuV6cѽİvbL[{͹ʶy]Ts{ǵwrмfHcywnelѿs_Ylζd6L]ebYPF`zn[F?Sf{qW1?EC:14Ld{xfTB.&9Nbvs[C %#6Neuyp^L:' !5I]ntn]F. (0 8.BWhoj[IGHHHHHHHHHE9(!3G[pudghhhhhhhhhcU@' +WnȳƳy[QkֶʭoR^|ֶ̭o[C`ֶ̺˶ϸhJ7XuֶwϾ̷todPH`xֶƴ}c3Kcwֶo6KZaֶɫn.JcwѶûd8Wu̬xZ<\|{fL7L\|л{[LLex̰wdZw̬w_̿~_Ѿ~^}}TppCZkqqqqqqqqqqqqqqqqqqqqqqqqjZ (0 8,EZimfUC0578:;=>@CFILOMB1 (AYro]KTWXZ[]^`cfilol^I/9Unwftwxz{}~v[>,Dcȶ~gIAYlн̮rTVnìɹ{[j˹ʼwXyðʪ}s_|ʷʪqpк~Ƚx[oָxBUh}¬¶Ѷx*BYpҺڻѱn@XoսͱvvѱvvvmZUnھsѱqVVOAcê˯ѱqVG2%gǮѹǬѱ|s`G+`}̬sU7Pg}̼{[;<\|ֻ{[;O]{̶{]Ng{̬{gy̬yþ~Ͼ~}}ooYiooooooooooooooooooooooooiX (0 8!9O^ccc\KDIIIIIIIIIIIIIIE8&1Mg{xcbiiiiiiiiiiiiiicS=$;Zxs~jP3>^~øxz[<>^~ظzɽ}]=$>^~ظz۽}]=-@M^~ظzڼٽ}]=CZlr~ظzڼٽ}]=Tpظݽ}]=]}ظٽ}]=^~Ҷڼٽ}]=^~ڼٽ}]=Ywظݽ}]=LeyظϼϽ}]=8M[a~ظy{]> 1>^~ظ{bB >^~ظ{¢bB(8B^~ظγbI@Tai~ظήvZUmظŽγdbռĤdfǾξdaùή|_Zyx~~~~~ή~~~~~yhPQm|sjbY^^^^kήn^^^^[N:AYktpg^TKC:>>>KkήnN>>><2",@NTQH?6,$+JjlM-$/42* $B^xz`D& 2K_lnnmaM4 (0 88N]ccc\K5-BR_lrk[D) /LfzxcH77AZo|qV;7773(:YwsUWWWmgWWWWRD<\|øxtwwwwɮwwwwwp^<\|ظ~ڿs/<\|ظ~6JY^|ظ׾~Jcv~~ظɽ~Yvظɩv^~ؾɩ{c^~շɩۻ{[]}ظɩɳzZUqظɩƲȲnRE\nu|ظɩư{p\/BP\|ظȨůo&<\|ظǷӻw <\|ظƸ׷w+=H\|ظų׻ӵwCXgo|ظ׻ɫnVpػϺڼ}uw׻ֿdb׸xYw׻õxZcȿϰrfw׻nP]|ǽæ׻}w`DVvӶٹyfg]J3MivƩ˴uVG?1Tjy^ts[D,  '=TgqnaK\jnnnkfYF. (0 8.EWbddeffghhijjlmnpqstvwq`H.@[ruY;LjaAOoťfGVkjUh˫gp˹ppаpp˴of˺˫κeYyں˫ںֽcYyں˫ƼdYyں˫¹r`yں˫ںѲslں˫ټʫmlں˫ֿed˺˫ǼxZ\{˫jMPo˿pPOoϰpPdv˯vcw˫v˾~Ѿ~}}ppZkqqqqqqqqqqqqqqqqqqqqqqqqjZ (0 8 +%=R`dddZHDEEDHZcdd`RBHHHC6# 5Qk~u^ceec^u~j`hhhaP:! @_}qp||}gL0"BbIJ¢wX9 "BbҲũ¢ȺzZ:%7BbҲɩ¢ٺzZ:=RafҲɩ¢ٺzZ:Pj~Ҳɾ¾ٺzZ:\{ҲںzZ:_Ư¶ϺzZ:_ͯӽyY:^}ҲʱkP5SnҲ̶ǴqbNAWgmҲȳīμ{a*5,#8Upx`G/#/31)  )CYm|cK3 +,@TgrqdO6 (0 8¯ &>Sbfff\JAAAAAAAAAAAAAAAA=2 6Rlw`aaaaaaaaaaaaaaaa\M8 @_}yfM"BbƳxZ"Bbӳ_*=Jbӳѿ_AWhoӳٽ}^RnӳٽpT\{ӳʽ}]C]}ȴؽ}]=]}ôٽ׽}]=Yxӳٽ׽}]=Lfzӳؽ}]=9N]cӳٽ}]=!3Bbӳٽ׽}]= "Bbӳٽ׽}]='7Bbӳڿ׽}]=?S`iӳݽ}]=TlӳñԵϽ}]=aӳì̭{\Vjtrihöh)>MTSJd̰z_"/53:Vq{npzhN*D`{yk^QR[dmvtY=4Ndtwoe[NA44=FOX`ejok\G- (0 8ï";P_ddd\L61Japtk^QA, 2Nh|ycI,B]w{mYD?2 <[ztU9Tnld]L6?_ĸxXKe³ydJ1%?_ظxX`xw^E+/AN_ظx]uƭrX?& E\lrظxt˲ѸlS9Vrظζ˲fL3`ظҺƬy_F`˹ٿsW`īӹ`]{ظå°}^Oi|ظҶnS% +=]}ŷwWlǽkQ4=]}׷wd~˯|]>!3?]}׷wwɿ_?8N]c}׷wۿ_?Lfz׷ҺƮ{\=Yw׷ӺлǰiPB1\|ðɽ®xsm^H\|аuZ[{׷½dRm׷ʽ׽cAXip}׷Ǿ¢ïuX*=K]}׷´hJ!=]}׷ԹyY= =]}׷¹yY9%6A]}׷©pS4>R_h}׷ɩiL8Rk}׷ǽĩweM`~ӻ¤y\dǾ½a^}ĻaWv°`Nk~tkx¢qV?Wjtrh_VL`mppppt¢pppppk[D*>MUSJ@73DNPPPTtaPPPPL@.#/53+"'.000LitY;000-# "=Uittto_H-  (0 8ů*9BDDDDDDDD=1DTcoocO6 +CVbdddddddc[J^p|cH0000," =Xpwaru[PPPPK>+(Hgq}ǼpppppiXA+KkĵβnR+Kkյɺ{\+Kk˫Ǵн}]+Kk˫ӷվ}]+Kk˫çԴuX+Kk˫¬кvcI+Kk˫ؽҲrR5+Kk˫ͯŴѱqQ1+Kk˫յٽϯoO/+Kk˶ҵʰ̬mM-+Kk˷ðҸȩjJ*+Kk˰վdD%+Kk˫»Ͽy\>+Kk«̬rV9(Gf̱`@ "AaaA";Oa̿aO;Oh{̬{hO\z̬z\````_~~_TooTBXhnnnnnnnnnnnnnnnnnnnnnnnnhXB (0 8Ư &>R`ddcZH17PdooicVB*$$ 6Rk~u^CHd}oVDDD?3! !A`~mNWsdddd]N8#CcıqQgçzfL/#Ccѱq_yдwX9"3Ccѱqrļ|\<(:O]cѱqܼ|bUANg{ѱҸɰnU[yѱؿεc_ŧg_ǧg^~Ѳƭ׷ǧgUqѱƦ׷ǧgD[krѱrƭ׷ǧg.@Mcѱqǧg$Ccѱqǧg#CcѱsƦ׷ǧg.?Icѱť׷ǧgEZhpѱõ׷ǧgYsѻιǧgd˸ڻ׺ǧgfǾӴ׷ǧg_~żȫ~׷ǧgXwڼ~׷ƦfNi~uk~Ͱu~׷ؿc=Temi`V^}ʾh~īx\':GMKA8Tov[w~eL )-+#(BYpeLey}jQ8 ,CZo{yjS9M\aachiif_Q<$ (0 8ǯ#>]{skP @`Ĵz[ @`Դ˽}]/@`Դؽ}]6KZ`ԴñҾyZJcwԴ̹̹~iNXuԴƳw[\|c\|ҲĤd\{ԴǼżĤdSoԴǧťĤdCZlsԴǧŦĤd-@N`ԴĤd$@`ԴĤd @`ԴǪŪĤd!0@`ԴǧťĤd:MYaԴǷŷĤdPgxԴĤd`|ֶǹŹĤdfĻǧťĤdbǧťĤd[zǧůãdSpypnǧŽվ`D]qzvmd[RnǧŵʿvY0ETZWNETdid\TLWs{niwkO'9EIE=5-Hdwj]PLZgtw\@ &)&9SiwxoeZM@3/2H\o}fO$/42*8Ql|m\J8%/BViyiP9 %?Wiqm`QA/ )^~§ȰqQ2>^~ǧDz˾sS3=\{ӺںǺhK02 +4Pj~xabcccccccccccccc\L7>]|qydJ. @`ƴuW8 @`ԴúzZ:%7D`ԴںzZ:887/!;ZxsTXXfhXXXVM;& =]}ŷwoxxxͰxxxxvhS9=]}׷wڽdG(-=]}׷{ʸmM-4HW]}׷{ͭmM-Hat}}׷}ۻͭmM-Wt׷ۻͭmM-\|׽ۻͭmM-\|ֶͭmM-\|׷ͭmM-Tq׷ۻͭmM-D\ov}׷{ۻͭmM-/CQ]}׷{۾ͭmM-'=]}׷{ͭmM3=]}׷{ۻ׼íy_C#3=]}׷ۻʭmNO_lx|jR7  %@Ynzxk\N@3%#3COZa]P=% (0 8ͯ4IY```ZK9CEEEEEEEEEEEEC9)+GauwdUbeeeeeeeeeeeebUA)6UsvooV:9Yy}cD9Yyٽ}ŧgG!9Yyٽ}ǧgG*=JYyٽ}ϯǧgG@Whoyٽ}ϯǧgGQmٽϽǧgG[{ٽǧgG\|ϵʲǧpU\|ĵ`Ywٽ¢bLfzٽ¢b9N^dyٽԴ¢b!3?YyٽԴ¢b9Yyٽ¢b&9YyٽԿ¢b1CNYyٽԴ¢bH^mu}ٽԴ¢bZuٽ¢bdԼ¢bcĻԴ¢b\{Դ|bUt}uԴuҺ}]Jd{ypg^cδt̼tV7N_gd[RIBbsx`G!3AGE<3*:Wr~fvybJ3"'%+E[jnnndQ]ilmnnmh^L5 (0 8ί.EXceebVC+7ObmnnkkhZG3 "?ZrpX< )Gc|t`M8# +JifG(&0PpzeP<$ -MmŪjJFFFQqɪ~iQ5-Mmʪjfffffqɶӿ}`A.@MmʪɩålSDZjoʪɩŮ~`Wrʪãcaʯãcbϻа̮abƻаήrW_}ʪааmPRlʪлҲĵvV>SamʪȨԴɬqS&8Mmʪ϶ǧ׷ػdG'6MmʪήǧۻʭsV9@S^mʪ̬ƦؿټfI-Um}ʯʪťȭudYFd׺ƦĤӷs[i¸ã§ieɿۻڿָʭm`Ҷɳ¥ɩjZwŰӻдŦfKdw~xn|ӷսɾb7KY^ZjŨҽҸ{\/:>Hh̴}wǽqS!?[tmd{wkx`F.G\ru[Nf|t_TeuxcK3/E[mto_H8OajgZF9JZcgd\K6 (0 8ϯ,EZhllj_K300013578:IfήӵԵʪ¢zdIEZhpήͮʪ¦sUYrθƧƷwWeǺٻ˷wWfîuV`ɾcYxűhOly˲ٻb?Wirndl͵tV*=KROF`yqnxhJ!-203Lc|r[PZdovxz{{{{{zmW=6Ofvzp\E1]{o~mS7!AaĴx~`@!!AaԴ|¢bB".AaԴ|¢bB"6JXaԴx¢bB"Jcu}Դ}¢bB"YvԴ¢bB"_Խ¢bB"_˫¢bG2_Ը¢s_FWtԴ¢rTG_qxԴzZ2FSaԴںzZ)AaԴʴٺzZ!AaԴʷغzZ 0AaԴ˶zZ:LXaԴҷƩpSOgwԴƭж~xo\C_|յ©ռoXQC/fĻvvje`S?cڿ~lT\{bTr{ƺæfF_s}yof\zȽ̱|`2GV]ZQGNiryjP,8=;2)=YuvkaV[gr}sX=.H`qwrkcXMB8=IT_hotn^F, (0 8ѯ5M`klliZE7<=?ABDGJMQTUM=(&-FbzrXV\]_abdgjmqttiUUfnoppni^J3 (0 8ӯ6L]eee_P;(,049=AFLQV[``WE/,Icy|hNHLPTX\afkpuzr\A5Usybglptx|lN8Xxž~uW8Xxؾ׼~_#8Xxؾ`+?MXxؾ¾rWAXksxؾ~ǬԷ}qXQmؾ׻ħeZyؾɬǽƬoZzѵxZzýwVtؾ½iIbwؾťi5JZaxؾŬw/Schd\UMF?81*Cc}eL1&8DHD=6.' ;Wr~hP8  %(%+EZimnnniaQ:#  (0 8ԯ)BWeiih^K49PblllgnmaQA0 9Uox`E',Jf}}m\K9# "BanOEETswfQ7&$Ddɱqeeeeu¥Ĵ~cS>$Ddѱ¯ϾlR':Gdѱ¥˽~`>TelѱãcOkѱãcZyѱ­b\|Ƭ®qW\|ƷɩiIYxѱɩiINh~ѱ¤ɩiI;Qbhѱ¢ɩiI$7Ddѱ¿ɩiI $DdѱɩiI&8Ddѱ³ɩiI>Sahѱ¢ɩiIRlѱ¯ɩiI_}ϷɩiIbķɩiI^~£ɩiIZz¢ɩiISp|tw­ȩiID\oxtld\Ww·eE/CRXUME=Ww±ƭ{^@'385.&6VugO4 +/MiqxkS:""&  (0 8կ9O`gggaQCIIIIIIIIIIIIIH?0.Kf|~iaiiiiiiiiiiiiih\I17Wuy|v]A$9Yyǽ}kK, 9Yyٽ}ɭmM-&8EYyٽ}ͭmM-=Sciyٽ}ͭmM-PjٽͭmM-[zٽͭmM-]}ɽͭmM-]}ʽͭmM-[zٽͭmU:PkٽeG>TdjyٽkK'9FYyٽ˫kK 9YyٽƴkK9YyٽƦ|aD):EYyٽƦsT5BVdlyٽŷwW7UoٽͷwW7bǭƭuV;eƽƦzhP]|úƦ|^SrcIf}spãc:Rfrqh^Uoc%:JRRI@Hd~tY ,22*!8Qeqrrrrrrrrrrrrrrrrm]G (0 8֯ $$ 4Pj}v`Ie|j|kP3+!>]{oTsyz[NJ>,!AaĴtnu˼|˽}nniYC!AaԴռԽpU(AaԴռԽ`1DRaԴaF^pwԴaVrԴռԽ|^]}ԷļнkQ]}ѱŷyaF]}ԺˮɩoPWtԴؼɩȯrRH`szԴ̬ɩʹhK3GUaԴ̬ɴѸnU<+AaԴ̬ӼsZA(!AaԴ̬Ҽwj]P=*AaԴҸ̬һzjS5GSaԴ̬ɩcLbrzԴ̸ɩ©i^y׼¯ɩƦffù̶ɩ£cdȿ̬ʪӿ_]|̬Իع{\Vtxog̬ŮsTIcxulcZQg̬pgK6L\c`WMD;GfktjS;1>CA8/&!?\w{`^qy~~~}wjT=&#!1J`nrrpbNESY^^^]XN=' (0 8ׯ $]{oQU[[[vvX843,!AaĴt_r{{{zǺzZTTSJ:%!AaԴtrںztttsgS:(AaԴt{ںfI1DRaԴt{ںںpPF^pwԴw{ںѱqQVrԴںڿqQ]}ԷںںkL]}ѱںںw\]}ԺںںfWtԴƦfH`szԴf3GUaԴ̳a+AaԴ~ӳkS!AaԴttּӳƮnN*AaԴ|ƫӳ׼iJ5GSaԴеӳūuZ>LbrzԴپӳǯdI.^y׽ǬʲjR8fùɴmU=% dȿoX@(]|˹pZB*VtxȼzhVC-Icxulcjör`N<)6L\c`WMD\zthXF4!1>CA8/2Om{ocWJ=+#!%AZozwog^QE9-! (0 8د1H[effbT?//////-$9O_fff^N7%B^umSOOOOOOLBLf|zdJ-.Ml~oooooook]XwtV60Ppãu[{ƸxX80Ppãe{ظxXA0':Ppãǧo{ظxk]G>UepãǧظtZPkãԴǯظdZyìԴƦf\|̾ԴĦf\|ƾԴǧظbYwæԴǧظmTMg|ãԷǷŽظxaT@:O_pãǮ˯ظxX8'"5PpãԷǧڽظxX80PpãԴǧʭظxX8'7PpãԴǧջظxX8@TapãԴǧظxX8TmåԴǧظxX8b˾Դǧ~ظxX8fʾԾǧg{ظxX8bǧp{ظxX8^}ԴǧظxX8Vrz~ѴնvV7F^pwrjc]|ƮrR21DRWSKCSoz}}ŰgJ, (374,(BYjqqpf[]nkT;   ,?LQQPI&#-111+3K^ijjjfaT@( (0 8ٯ#,2Oi~{e_kmmmmmmmmmmmmhYD*;[yuxqV9=]}ǸxaB" =]}ظxãcC#$7D]}ظxãcC#;Qbj}ظxȨãcC#Mh~ظȨãcC#WvظȰãcC#YyʳãcC#YyʳãcI.WvظvY;Lg~ظ`@:Qbj}ظ`@$7D]}ظʹ`@ =]}ظʪŦ`@$6A]}ظʪť`@TdjҲٹe'9FdҲǨh $DdҲȨh +$DdҲʪͮȨh%5DdҲʪҾȨh=Q^gҲʪïȨhRk|Ҵʪ®ȳȨha~ʯŭ̷ȨheǾǯɱȨh_~ǼʶįȨhUsʪǨhKiukʪ~jd=VkxwlbWkʪj]}«z])?OXWNDJjiXx~fN$1880%C`{z_Oj}hP94NcqssqcM>UfooooniaQ;# (0 8ۯ +%>Tchhg_MDDDDDDDDDDDDDDDA7'5QlzcdddddddddddddddaT@>^|{mT @`ȶb @`ֶĦf(;H`ֶƦf?UflֶظƦfQlֶظêƦf\{ֶظǭ׿Ʀf]}ʾظδԻƦf]}Ǿظջ϶ƦfZyֶؿƦfNi~ֶظưƦf;Qagֶظ˫Ʀf$6B`ֶظ˫Ʀf + @`ֶظή˫Ʀf$@`ֶظή˫Ʀf0AM`ֶظή˫ƦfG]krֶظή˫ƦfYtֶžظ˫ƦfdʾظëƦfdüظǮƦf_~ļظƦfYx~ظĥeNi~vnf~ظxtҼa=Sdkg_WO^~ҸxnɼvY&9FKH@8>^}whxaI '+)!7Tpk[uwaK4  )CZkrrriVG[hkkllje\J4 (0 8ܯ!;Qaggg^M60H[fggcVA(  1Mh}zcH+A]unU8  )7?@YxsT@LkaB@?6&,CU_``|Ƕv```nĤd``^R@(>Yp~ֶĤ}mU:JiֶĤeFNnjJNnѴʪjJNmֶԻiIEb|˹δy^A6OctԼֺҾʳpaL6H_t¼ֶֽǮĵʳucMZuɯֶ·̳Ĥʴz_d͵ֶѸĤμgdθֶҼĤзeYsζĤrXF]tͭw]E/MlͭmM0.NnͮnN..NnƮnN.=RjͭkR=Pj~ͭ~jP]{ͭ{]````_~~_TooTBXhnnnnnnnnnnnnnnnnnnnnnnnnhXB (0 8ݯ (AUcggf\J3%>TciiieWB)8Tnw_D'5QkoU9"BanO/Fb}aB"$DdDZqQ@WrɾgL5 $DdѱqQVmȭybL6 +,?MdѱqUlϿycM7!BYkrѱroּҼzdO<,RnѱԾ|gWH6[{Ѳ±տscM\|Ʋìϵz_\|ĬǬ˻hXvѱӹfJdxѱƼtZ7L[dѱܼy_G1Ddѱ}˱xeM3 $Ddѱq|Ҹn`L8 '7Ddѱvؿy^A#?Sagѱ̲kM/Slѱаè̲vX:aʼۼаԹ۽cEeҳаȪnOaȪа׷ӵxZ]|۾аҳܿcUr{ѳԺ˭dF_qytldgѼtZ1ETYUMEYpøwl]G*596.,CVcnxutvdcYNB0 *9EPXV^sr^ID;0%'287FW_deeed_WF1$ (0 8ޯ $]{oQOO\yrWOOONE5 !AaĴtnoooʺoooonaM5 !AaԴ{ʮ{aD&8DaԴƸlM=SciԴήnNPjԴήnN[zԴȨήnN^~ȮȨήnN^~ȭtU\{ԴŸxXQlԴиxX?UflԴΰwW(;GaԴήjN!AaԴtƦήv\@!AaԴuãήhI):EaԴʪjJBVdlԴۻɪjJUoԹͳػήgHbͲʰήsZ?e¸ǰή}|~}mU_~շǵήdXxŪξiOly}ϴۼc?WirndZwȽ}uW*=KROFLfwbukM!-20':UqzbJZfowz{|}}||znY?*E]pytcL5>GPWZ[\]]\\[RB, (0 8߯-F\jmmlaM5"-(8FfаԴҶ~rhZDATakаȳĴ¦rWUnмƿϳccæɮɪädgɾӴֿ`a¶ü̻¥ڻ|\ZyзѸնwWQnzoѻίqRB[nwsh]VkxxqkͺѻiJ-BQWTJ?>OXXR^xvyv]@&275,!$1982J_su_buyaI0 2FZlsn^HIYhprl`K4 (0 8 9M\aaaZJ4#4Mamng`TA)##  +1MfyvaGCD`znVCCC@5$>>>>>>>>>>>>>>=6(9Uns]^^^^^^^^^^^^^^^]TC-%Dc|~~~~~~~~~~~~~~~}oZ?'GgįkM 'GgϯqQ&8GgϯѱqQ=SciϯѷqQOjϯѱhJ[zϯѱvjU<]}ťѱuW9]}źѱ|\<\{ϯѱܼ|\aȾѱ}kS[zѱ~aTsåeIcywmcťe6M]fcYO`d 2@FD;9WruZ!&$+E\lrrrrrrrrrrrrrrrrrn^H (0 8 %>R_cccYH?NVTK]ghhbSSWRD3"6Rk}t^Zkusdxkqwp_N<& !A`~nu{{ziS9$DdòvȿdG($DdҲͼ׻mM-'DdҲzϵ׸ջiJ+0CQdҲyǭҳ¨pW;E]ovҲͭȯeFVrҲǨhH^}ҶȨhH^~˫ӵpU^~ҿǭ`YvҲaKdwҲa6KYdҲе׿{]/DdҲռ|jT$DdҲƳe)DdҲٹl4FQdҲмٺ׸ϼhKapwҲٺնuZ\xҷǼٺ̯eIfѺٺηԸyY9dƿٺѱsS4_~¯ɪlM-YxzssмdE&Mg|yqib[TguX::O_eaZRJB;:SkwbI-"4AEB:3+#&>Vm{}n\J5"%# )?R\bddddddb^SB0 (0 8 9O_fff_O: 2FTbnpeR:/Lf||gL0-H`qfK0%%%!9XwwXEEWtw]EEEE@4";[{ƻ{ceeeƿmeeee^O9;[{ۻ{д{fL';[{ۻŨwY0DQ[{ۻż|\F^ou{ۻм|\Wsۻz[_ۻָŦmQ_պ̮{غ~phW@_۾տӻzcL5ZwۻֿӽzcLKdw~~ۻ²Խ̱Ծy_7KY^{ۻϳؽԽi/;[{ۻؽƬͻi;[{ۻëw] /;[{ۻήa9LX`{ۻfOfwۻƦf_{˴δfeºήx]aĻ}ttήtttttpaKZy|tfTiήnTTTTRF4Sp~ume]UJIiήnN4442)E^s}yph_VNF>6-IiήnN. 1FV]ZRI@7/')IinN.+8=;3*!#B_z~dG(  4McqttsfQ8 (0 89O_fff_N8 3Lamnf]Q?( /Lf|{eJ@C`y|lU@@@?8*8Wvu_``ld```_VE.:Zzƹy~ªq[A$%:ZzٹڽlN/.ANZzٹrR2C[lszٹҲrR2Tpٹ°յҲrR2]|ٹ¢յҲrR2]}ͱ°յҲrR2]}پҲrR2Xvٹ¿ӿҲrR2Jcv~~ٹ¢ϰҲrR26JY^zٹ¢ʫҲrR2/:ZzٹҲrR2":ZzٹҲrR2.@KZzٹʲrR2F[is|ٹîĤoYCYsյĤpVeνĬaeãc\{¸ãcRpyĦ~`Fbz{qfe{ĤlS5L_ig]SHN^ffffffrĤffffbT?3AIH?4*4@FFFFFRrĤdFFFC8'#)(! !&&&&2RrdD&&#   ,Khx\>!3'(Fc}w~nYC,"('  7Odpqqn_bkkkkkhcUA+ (0 8!:O_ddd\K5$;M[jrn_I/ 1Ng|xbG46Qhxv[@4443, ;ZyrTTTa}kTTTTSI9$>^~ķwttttγ{ttttreQ8>^~׷¦~dF,>^~׷nN1FW_~׷ήnND^s~׷ѿήnNRp׷ѱήnNVv׿ƻɹƮnNVvήѼkLVu׷ܽٿ_AMj׷׾ּѱҾ~^>>Vir~׷гٹѱӽ}]=)=L^~׷ħնѱԼ|\<!>^~׷չίѱջ{[;>^~׷žƧѱֺzZ:0>^~׷ѵԾѻ׷xX?8LZc~׷նѻǯlSLew׷Ųƪѵ~`[xаԷѱãc`ũѱӿ_\|ɿ̵ѱ׺{[Vuζ~׾ҴvVNlxиrzmN@Znzwmcpɷt\l}bE,BRZXOFbyu^FWn{eO6'4:915Lbzp]H1AYny~|ucN8" +5LbprhVC0,AQZ_``\WI6  (0 8 &>R`ddcZHAHHHHHHHHHHHHHE9(6Rk~u^_hhhhhhhhhhhhhcT?& !A`~m{lR6#Ccır}^?#CcѱvaA!'CcѱvaA!/CPcѱvaA!D\nvѱvaA!TqѱaA!\|ѶaA!\|ѱaA!\|ѿaA!WuѱaA!IbvѱaA!5JYcѱvaA!/CcѱvaH5#CcѱvrbL#Ccѱy]0AKcѱfG\jpѱƦfZtѱfeڻìŲ{_fſ˶˷yeNbľɳsлy\^}İq[i}ӾcSmxrϽnYCPdxȰ}_@Vekf`YZs}jVA,7K`vkR);GKG@:F]uwdP=)3H^smV>(+'!/G_pvo^J7$0FZjohW@( (0 8 $YulM.$DdoO:QiȭoQ;&$DdϯoOPg~Ͳ~hS>((DdϯoPg}ؾīkV@-1DQdϯof}ūímYI9)F^ovϯv}˲ŰueUBVsϯ̴ȲoW_~϶Ѿ̼f_ƪj_ϿɲcZwϯlSKdwϯǧgG7KZdϯǧgG0Ddϯѱ׷ѾǧgG$Ddϯѱ׷ѾǧgG)Ddϯѱ׷ѾǧgG4FRdϯǧgGKapyϯǧgG]xѱ׷ѾǧgGfɿѱ׷ѾǧgGdƽѱ׷ѾǧgG]|ѱ׷ѾǧgGUtvѱ̷ɾĥeFIcx~tka`ѱɲ`A5K[b_VLC_~~nT80=B@7-8Uq~lllch~oXA(" *D[kqqpeQLLEPdopoleWB+ (0 8 (@T`ccbWE-:RdmkcZL8&&%9UmrZ?KgxeMFFE=.$DciK\wyfffeZH1'GgînSmȿu]B% 'Ggήng̰lM.(9Ggήn{ưpP0?UchήvаpP:% SmήɰtgR9_~ήζëeG)bиŵnO/bϯoO/`ήҼϯo\GUpήҲϯtYCYhmήҲϯd,>IgήƦf'Ggήæf'GgήҲϯb+;GgήҲϯ~lTDWdmήϯoS?XqιʹϯoO/fͯҲίoO/iҲmN.cȿҲu{aE'\{zqϰpknnmaM5Soxoe\iªlLNNME5 BYjrmcZPGDc«~cE...',?MRNE;2(?^|~gP7#.2/&5QkzgQ:# + +%>Sbggggc]O:#  (0 8";O]bbaXG1+?P`orhU>% 3Oh{t^D'@Xk|kR:! +>]znP;OlgN;;;;4&!Aa´t[[[wŬza[[[[QA+!AaԴtz{{{{{{{zmX>,AaԴԺjL4HVaԴqQIat{ԴѱqQXuԴŸѱqQ^~ԻťѱqQ^~ԴŧҾѾʱqQ^~ԺлıoPWtԴ͸ɵuYH`szԴɵuu͹c3GUaԴİζa+AaԴpV!AaԴťeE*AaԴɾeE5GRaԴɩ}_ALbqyԴ~~ɩ~~~~yhP5^yֿ`nɩi^^^]YM:gû}}ɩ}}}}}xgOfȿɩ|_^}ɽeWuyťeJdyvlcie7M]d`WNE`{x\ 2?DA8/4NdsvvvvvvvvvvvvvvvvrbK (0 8 +%=Q_ccbXG=CA8OajkkfWAGKH<*6Qj}s][caUd|oUekfWC/!@_}lwnrlp\H#Ccñzt¢v^ +#Ccѱ¢ƶm$6Ccѱʴ¢ȰqJcѱվ˫Ȩh#Ccѱվ˫Ȩh#Ccѱվӳ˫Ȩh-Ccѱվӳ˫Ȩh8JVcѱվӳ˫ȨhNet}ѱվӾ˫Ȩh_{ӵվ˫ȨhgƽվӳȨhdúվȨh]|վǧhUs|suվ~xdG`t~ypg^Uuξ~^{«z]3HW^ZQH?Tt|]u}fN-9>;3)-KgnRg}hP9 :RdnnnhWARcllmmmhaP:# (0 8";Qahhh`O9&&7N_hiicS=&&&%1Nh~|fKFFHd{jPFFFE=.:YxuffffrzffffeZH1<\|ȹɾu]B <\|ٹվlM%7D\|ٹưpP;Rbi|ٹʰpPMh~ٹվmNYxٹվx`D[{ɱԶvV6[{ʱŻվֶvV6YxٹťվֶvV6NiٹŻվֶvV6D\vq^t}]okR; +11) /H^mqhWMipTUdicS=%  1CNQJ<=Uhrssl[D:FIE9& (0 87L[bbb[K6$$;P_eee]L6$$#.KdxxcIDDNh|ycIDDC<-9Xvt_dddysdddcYG0<\|ºz}Ÿt]B& <\|ں{ظmN/%7D\|ںıqQ1;Rbi|ںѱqWBMh~ںظѱpVYxںظѱc[{ɺƦf[{ʺƦfYxںظѱcNiںظѱpV)5Tr{|ms{cw}kWB,7WwvɾyoY? 7Wwï}ؽ}jL#6CWwêٻɱqQ9Paiw׽ظ̶lNKf}ѷҲɵs\AVu̶ñr\F/XxɸóraP>'Xxʸ˴Ͽ|kT:VuɷʹeFKf}¯īkK9PajwǺӸθfH#6DWwظ}qX< +7WwıյŲeF +7WwèҲhH%5?Wwպ۽Ĭ{`B=Q^fwʯɭŮ~fN4Rk|ŧÿ۾ٽƯiQ9!a~ǧϲ̳kT>2"e¹پɱxg\N;_~ȾǭǴzhOUtůп{^Kixlc=VkwvlcnŵkUh}ǭ{])>NWVND^xyiS=Pf{hO#177/2Kg~n^M<&8NbqnT;;UjxxmaRB2"!5FUcrvmZB' (0 8 (AUcggf\J3/H]jmf^TB+ 8Tnw_D.?\v}oX=...,#"BanONNhhNNNNK@/$DdDZqnnntínnnnnj[F- $DdѱsY<&8EdѱгdD=ScjѱťeEOjѱĥeEZyѱ׼ƮbC\|ƦªǵteO\|ưŭͭϼ|`ZyѱưͭȻiOiѱպf4+!&---F]t~kT9#('  0G^svdQ>'1GW_deeeeaYI7% (0 8#6'(Gfl`````````^S@) +*JjƩpã|}mV;*JjɩpãeG':JjɩpãkK>UelɩpòɩiIPkɩ²ƦgGZyɬÿĤdD\|̲ãã¢bB\|ƲãĥԽ~_?Ywɩïɪ׷xY9Mg|ɩϵήбrS3:O_jɩĵӳʫlM-"5Jjɩ̳׸ĥfF' +*JjɩӳԽҾ`@!/JjɩӷŽ׸yZ:8KXjɩջӳ̯ΰsS4Nevɷ½Ӵӳټ¤iK-^{ʬӳȪԶ{^F.e¶ӳپs[C/aȻշӳиp\GXvӳ׽͵tZNltѲīʶgA[q}{ocfƭȰh.DU]\RE_~ɲɲŭz_)7=<4:YymigM 2OjproWSjnU:#=TemmmjdW[kpiXA=ScjeVA( (0 8.GZgiig[H0 5L_ijjgYD+ !?[tu\@@FbzqW@@@@=3# +)Ihj```oc````\P<$ +Kkɬ}ť{iQ6 +Kk̬¢}`A$5Kk̬eEKkּֽ̬wX+Kk̬̬pW +Kk̬«̬ɷe%5Kk̬ɾèi>Q]k̬ƭư}aTk|̬̬iPcʯ̯uW@@KklL@@@:-/;?;3*! &Ec~dF'  7QhvyyvhR8 (0 8 +%>R`eed[J30H[fg_VJ9" 5Rk~w`EA\u}teO88885+ @_}oQOl|aXXXXTG4"BbŴtT^{ĻxxxxxraJ/ "BbԴtTnڽvZ<&9EbԴteʸaA=SciԴtwaAPkԴĻּaA\zԴͳ©vZ;^~ɮֻȯ|cI5^~©˳|ubJ\{ԴǮ¦vYQkԴѴ_>TdjԴ¹ܿ_'9FbԴ³׿_ "BbԴ¢{׿_ "BbԴ¢׿_&6BbԴ´׿_?R_fԴή߿_Tl}Դ¾׿_cʹ¢׿_h¢׿_b¤׿_Wv׿_Mj{stۿ_?Xlxvme\Tt®׿_+@PXWOF=Tt_%2880'/NkwnnnnnntW$@YmyyytbNNNNNYmwwwq_G (0 8#>Wq~eI>>>>7);[yu^^^br^^^^]TC-=]}Ǹ~~~~~ʹ~~~~~}pZ@ =]}ظԴkM$7D]}ظԾqQ;Qbj}ظѱqQMh~ظԴqQWvظԴfIYyʳĤgS:YyʳĤdD%Wvظ˫ĤdD$Lg~ظ˲ĤdD$:Qbj}ظĤdD$$7D]}ظ˼ĤdD$ =]}ظ˫ĤdD$$6A]}ظ˿ĤdD$??@ABDFHJLNQQH9$ 7Slt]]^__`abcfhjlnppeQ9"A`~v}~~eH*$DdŰpQ1 $DdаеvW8&9EdаĻ|\<=SciаظvX;PkаظfH\zаؽmM^~ɿͭmM^~ʿսظҳlL\{аսظҲ}bGPkаսظҲtX>TdjаսظҶ`'9Edа` $DdаսغҺ`$DdаսظҲvY/ALdаսظҲfJG\ksаսظҲrSYtидtTdtTd»ظnP[yĻظy]CPnغcCE`x~umeãcC4K^hg_VN`cC2@HH@8:Xtw[="((!-G_pvvvvvvvvvvvvvvvqaJ0 (0 8 +-EZhkki]J2?Udiii`N7(1=Ysw^BRl{cH+ 3EQSekS]|rS30J`oss˭sspɵuU<8->\wͭյu\\WH4EeͳԴ|||taH-FfȨԴtW8FfͽӼ}]=Uoܼͭ|\<`ͭѷڼ|\<bƦаڻ{[;bƦϯںzZ:_}ήٹzZ:Slʴîƾ̬ٹyY9bɳưɩٹyY9gűͭŮǧںzZ:-a~ͭԽںzcVJ8Qj¥ӻٺteOCcť׸ĸػ|`Bbͯϰ׽ǻi>WrͭĨԿƦgPkͭӶ~ò£cZzϹŨoɶ־_[{þԷ~f׸yZWv¼ĩp\{ɮrSRrʰ~bSrógIJf}xsnyjQGbynW<:Repnic^XSNc{pW=5Lbv}nXA*%9HPOID>936Neuyo\C*4IYad^TA+ (0 8-EZhkki]J2]|ͭ~ۻ|||s_F* ?_ںrT5D_ڼzZ:VqͭںzZ:`ͮٹٹyY9bƦ׷ٹyY9bæյعyY9^|̱ɶԴظxX8Pj}¦ѲظxX8Sbggg^MIKKKKKKKKKKKKKE7$ 5QkychkkkkkkkkkkkkkbQ: >^|u~gL/ @`ǵvV7 @`յ˸xX8&8E`յظxX8=Scjյ˫ظxX8Ojյ˶ظxX8ZyյظxX8\|ʫ˷ظxX8\|ʫ˫ظxX8ZyյظxX8OiյظxZEO]krm]G- /Lg}jO3&8EYyٽdzfG48Xx~~~~~bB" )0/(2Plq^^^htX;  %@Wjsssl[D>>Tgqrrm]G- (0 8/I^loonbO64Mamoom_J1"2<>[v|cF>>D`zx]A<3$$;N[^fn^^^^li^\P=&5Phy~~ϰ~~~~~~ʪ~~zjR7A`}аʪbDEeоʾhHEeȨhHEdбʱgG=Zuйʪw\?.H^mqqʪqqn_J11CNQgдʪjQOD3,@MRRgжʪjRRM@-BYkrrrʪrrrkZBSoзʪoS\{вʲ|\\|ҽ}]\|ýؽ}]WtĭʫԿuWIatĮ˫ȷ~lS[v´bdϼ;¦fcƵ˭ɯ|_Wq˫iOD\uİpU<1Qq̰pP00OonO/(FbzzaE(5M`kllllllllllllllllllllk`M5 (0 8 +%=Q_ccbYH2/EV`ipl]G-6Qj}u_D?B\r~tY?????;/!@_}o___mf_____ZK6#Ccô~˭wdJ#CcԴغvX':GcԴſ}]>UelԴҽ}]PkԴ|]ZyԴpT\|˫˫kZC\|ȫӴ˫kK-YxԴӳ˫kK+Nh~Դ˫kK+;QbhԴ˫kK+$7CcԴųūkK+ #CcԴhI)!1CcԴڽ}]D1:MZcԴŶ|o^GOgxԴǸtX^{Ӹʺada`ƾƽa[{Ʀy\Usxr}}Ʀ}}}}}weMGau{sjaYU]wb]]]]YL84IY`]TKB:7Rr̿z\====:/.:@=5,$.Nm|gN2  'EazydO:!4M`kmnnmi_L7"  (0 89O_fff_N8!:QbiiibR;"/Lf|{eJ99Mg~~hM9997- +8WvuYYYYwxYYYYVJ7 :Zzƹyyyyyzɻ{yyyyueM3%:Zzٹٺz^@.ANZzٹֹeEC[lszٹťeETpٹŷeE]|ٹʾy]?]}ͭѻ÷lM:]}پǷDZygOXvٹʽƽ{^Jcv~~ٹc6JY^zٹãc/:Zzٹյc":ZzٹյtY.@KZzٹڼյum]GF[is|ٹŵּյuUC0YsյťּյuU5eťּյuU5eּյuU5\{¸̼յuU5RpyoŬյuU5Fbz{qf[jԴuU55L_ig]RH@\uwɯpP13AIH?4)0H[ghhepDZhJ+ #)(! />GHHKknX=!  '((C_ylWA+3L`moppokdT?) (0 8 $& ?^|wlR5"Bbô}^? "BbԴaA#5BbԴaA:P`gԴaALg|ԴaAXvԴaAZzǭaAZzɵiXYxԴnNiԴ|XmzznbVJ^|Լr[C)*@Q[[QE94Ph{z{{wn\E.&4;;3'#;O\``_no[WQB. + +#3=@@BZltttm[C82' (0 8K\eeeeeeeeeeeee_PPPPPPPPPK?,ax{pppppppppjYB(qoT7uŻ}^>uȻп_?qϯѱٿ_?czϹѱäѴxZ;VovkP/Gf°yZD\pʷλ{[Xqнٻ{[lϼ̬ػ{[yǵ̹ػ{[yϻۻ{[kӺʵ̻{[Ui|ǧƦxY + + + + + + + + + + +
+ + + diff --git a/src/App.vue b/src/App.vue new file mode 100644 index 0000000..612bb0d --- /dev/null +++ b/src/App.vue @@ -0,0 +1,73 @@ + + + diff --git a/src/assets/fonts/微软雅黑.ttf b/src/assets/fonts/微软雅黑.ttf new file mode 100644 index 0000000..ea3c090 Binary files /dev/null and b/src/assets/fonts/微软雅黑.ttf differ diff --git a/src/assets/icons/png/logo.png b/src/assets/icons/png/logo.png new file mode 100644 index 0000000..f3d2503 Binary files /dev/null and b/src/assets/icons/png/logo.png differ diff --git a/src/assets/icons/svg/404.svg b/src/assets/icons/svg/404.svg new file mode 100644 index 0000000..6df5019 --- /dev/null +++ b/src/assets/icons/svg/404.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/4.jpg b/src/assets/images/4.jpg new file mode 100644 index 0000000..0c8d1b3 Binary files /dev/null and b/src/assets/images/4.jpg differ diff --git a/src/bootstrap.ts b/src/bootstrap.ts new file mode 100644 index 0000000..f6ffe83 --- /dev/null +++ b/src/bootstrap.ts @@ -0,0 +1,43 @@ +import Vue from 'vue' +import App from './App.vue' +import router from './router' +import store from './store' +import ElementUI from 'element-ui'; +import 'element-ui/lib/theme-chalk/index.css'; +import SvgComponent from "hbt-common/components/common/svg.component.vue" +import EchartsComponent from "hbt-common/components/common/echarts.component.vue" +import "@/assets/common/icons"; +// import ModelComponent from "@/components/model.component.vue" +import Mock from "mockjs" +// import { MockData } from './mock'; + +Vue.config.productionTip = false; +// Vue.config.warnHandler = ()=>{ + +// } +document.title = process.env.VUE_APP_TITLE || '汉邦唐全真数字服务平台'; + +// if(process.env.NODE_ENV==="development"){ +// Mock.mock(/getStudent/, "get", MockData.getStudentList()); +// Mock.mock(/getClass/, "get", MockData.getClassList()); + +// } + +// 批量引入本地svg +const svgs = require.context("./assets/icons/svg",false,/\.svg$/); +const requireAll = (requireContext:any) => { + requireContext.keys().map(requireContext); +} +requireAll(svgs) + +// 全局注册组件 +// Vue.component("hbt-model",ModelComponent) +Vue.component("hbt-svg",SvgComponent) +Vue.component("hbt-echarts",EchartsComponent) + +Vue.use(ElementUI); +new Vue({ + router, + store, + render: h => h(App) +}).$mount('#app') diff --git a/src/components/draw.component.vue b/src/components/draw.component.vue new file mode 100644 index 0000000..20b3e4c --- /dev/null +++ b/src/components/draw.component.vue @@ -0,0 +1,381 @@ + + + \ No newline at end of file diff --git a/src/components/map.component.vue b/src/components/map.component.vue new file mode 100644 index 0000000..939c82c --- /dev/null +++ b/src/components/map.component.vue @@ -0,0 +1,63 @@ + + + \ No newline at end of file diff --git a/src/global.d.ts b/src/global.d.ts new file mode 100644 index 0000000..105d56e --- /dev/null +++ b/src/global.d.ts @@ -0,0 +1,5 @@ + +declare module 'common/notFound'; +declare module 'common/index'; +declare module 'common/layout'; +declare module 'file-saver' \ No newline at end of file diff --git a/src/main.ts b/src/main.ts new file mode 100644 index 0000000..47a6744 --- /dev/null +++ b/src/main.ts @@ -0,0 +1 @@ +import("./bootstrap") diff --git a/src/mock/lData.ts b/src/mock/lData.ts new file mode 100644 index 0000000..57e7490 --- /dev/null +++ b/src/mock/lData.ts @@ -0,0 +1,61 @@ +export default [{ + index:1, + name:"区城内火灾危险性类别", + type1:"丙类(不含丙类)以下", + type2:"丙类", + type3:"乙类", + type4:"甲类", + value:"L1", + result:"", + noInvolved:"不涉及", +},{ + index:2, + name:"化学品急性击性危害类别", + type1:"类别4、类别5", + type2:"类别3", + type3:"类别2", + type4:"类别1", + value:"L2", + result:"", + noInvolved:"不涉及", +},{ + index:3, + name:"化学品急性击性危害类别", + type1:"(1)不涉及重点监管危险化学品且不涉及危险工艺和金属有机物合成反应(包括格氏反应)。\n(2)精细化工反应工艺安全风险已经反应安全风险评估。\n(3)国内首次采用的化工工艺已经安全可靠性论证。\n(4)除上述外的其他工艺。", + type2:"涉及重点监管危险化学品但不涉及危险工艺和金属有机物合成反应(包括格氏反应)。", + type3:"不涉及重点监管危险化学品但涉及危险工艺和金属有机物合成反应(包括格氏反应)。 ", + type4:"(1)涉及重点监管危险化学品且涉及危险工艺或金属有机物合成反应(包括格氏反应)。\n(2)精细化工反应工艺安全风险未经反应安全风险评估。\n(3)国内首次采用的化工工艺未经安全可靠性论证。", + value:"L3", + result:"", + noInvolved:"不涉及", +},{ + index:4, + name:"工艺压力(p)", + type1:"p≤0.1MPa", + type2:"0.1MPa<p<1.6MPa", + type3:"1.6MPa≤p<10.0MPa", + type4:"p≥10.0Mpa", + value:"L4", + result:"", + noInvolved:"不涉及", +},{ + index:5, + name:"工艺温度(t)", + type1:"t≤20℃", + type2:"20℃<t<150℃", + type3:"150℃≤t<450℃", + type4:"t≥450℃", + value:"L5", + result:"", + noInvolved:"不涉及", +},{ + index:6, + name:"重大生产安全事故隐患", + type1:"/", + type2:"/", + type3:"/", + type4:"存在《化工和危险化学品生产经营单位重大生产安全事故隐患判定标准(试行)》中规定的重大生产安全事故隐患", + value:"L6", + result:"", + noInvolved:"不涉及", +}] \ No newline at end of file diff --git a/src/mock/riskLevel.ts b/src/mock/riskLevel.ts new file mode 100644 index 0000000..2649229 --- /dev/null +++ b/src/mock/riskLevel.ts @@ -0,0 +1,7 @@ +export default [ + [1,1,1,2], + [1,2,2,3], + [1,2,2,3], + [1,2,3,4], + [2,3,4,4], +] \ No newline at end of file diff --git a/src/mock/sData.ts b/src/mock/sData.ts new file mode 100644 index 0000000..c8fcc8a --- /dev/null +++ b/src/mock/sData.ts @@ -0,0 +1,51 @@ +export default [{ + index:1, + name:"评估区域与周边相邻的不符合防火间距要求的其他区域(包括周边企业)现场人数之和", + type1:"0-2人", + type2:"3-9人", + type3:"10-29人", + type4:"30人及以上", + value:"S1", + result:"", + noInvolved:"不涉及", +},{ + index:2, + name:"评估区域与周边相邻其他区域(包括周边企业)现场人数的最大值", + type1:"0-2人", + type2:"3-9人", + type3:"10-29人", + type4:"30人及以上", + value:"S2", + result:"", + noInvolved:"不涉及", +},{ + index:3, + name:"所在企业任一装置设施类区域最大现场人数", + type1:"0-2人", + type2:"3-9人", + type3:"10-29人", + type4:"30人及以上", + value:"S3", + result:"", + noInvolved:"不涉及", +},{ + index:4, + name:"评估区域重大危险源等级", + type1:"非重大危险源", + type2:"三、四级", + type3:"二级", + type4:"一级", + value:"S4", + result:"", + noInvolved:"不涉及", +},{ + index:5, + name:"企业边界外500米范围内", + type1:"无或有1个低密度人员场所", + type2:"有居住类高密度场所或公众聚集类高密度场所", + type3:"有1个高敏感场所、重要防护目标或特殊高密度场所", + type4:"有2个及以上高敏感场所、重要防护目标或特殊高密度场所", + value:"S5", + result:"", + noInvolved:"不涉及", +}] \ No newline at end of file diff --git a/src/models/actionResult.ts b/src/models/actionResult.ts new file mode 100644 index 0000000..d25ee14 --- /dev/null +++ b/src/models/actionResult.ts @@ -0,0 +1,14 @@ +export class ActionResult { + /** + * code: 状态码, 0成功, 1一般业务异常, -1其他异常, -2授权异常, 令牌错误或令牌过期 + */ + code!: number; + /** + * message: 错误消息 + */ + msg!: string; + /** + * data: 数据 + */ + data!: T; +} diff --git a/src/models/baseData.ts b/src/models/baseData.ts new file mode 100644 index 0000000..1a60f8f --- /dev/null +++ b/src/models/baseData.ts @@ -0,0 +1,3 @@ +export class BaseData{ + checked?:boolean = false +} \ No newline at end of file diff --git a/src/models/pageResult.ts b/src/models/pageResult.ts new file mode 100644 index 0000000..3fa34d9 --- /dev/null +++ b/src/models/pageResult.ts @@ -0,0 +1,23 @@ + +export class PageResult { + /** + * 总笔数 + */ + totalRecords!: number; + /** + * 总页数 + */ + totalPages!: number; + /** + * 页码 + */ + pageNum!: number; + /** + * 每页笔数 + */ + pageSize!: number; + /** + * 分页数据 + */ + datas!: T[]; + } \ No newline at end of file diff --git a/src/models/tableData.ts b/src/models/tableData.ts new file mode 100644 index 0000000..b104090 --- /dev/null +++ b/src/models/tableData.ts @@ -0,0 +1,12 @@ +import { PageResult } from "./pageResult"; + + +export class TableData extends PageResult { + + // 构造函数 + constructor() { + super(); + this.pageNum = 1; + this.pageSize = 20; + } +} diff --git a/src/router/index.ts b/src/router/index.ts new file mode 100644 index 0000000..e15dd07 --- /dev/null +++ b/src/router/index.ts @@ -0,0 +1,154 @@ +import Vue from 'vue' +import VueRouter, { RouteConfig } from 'vue-router' +import pageNoFoundComponent from 'common/notFound' +import indexComponent from 'common/index' +import LayoutComponent from "common/layout" +import HomeComponent from '@/views/home/home.component.vue' +import BlankComponent from "@/views/blank.component.vue" +import AreaManagerComponent from "@/views/risk/area/area.component.vue" +import UnitManagerComponent from "@/views/risk/unit/unit.component.vue" +import IdentifyManagerComponent from "@/views/risk/identify/identify.component.vue" +import MeasuresManagerComponent from '@/views/risk/measures/measures.component.vue' +import MeasuresReportManagerComponent from '@/views/risk/measuresReport/measuresReport.component.vue' +import DutyManagerComponent from "@/views/risk/duty/duty.component.vue" +import DutyRecordsManagerComponent from "@/views/risk/duty/dutyRecords.component.vue" +import AreaAnalComponent from "@/views/risk/assessment/areaAnal/areaAnal.component.vue" +import WorkManagerComponent from "@/views/risk/assessment/work/work.component.vue" +import WorkAnalManagerComponent from "@/views/risk/assessment/work/workAnal.component.vue" +import DeviceManagerComponent from "@/views/risk/assessment/device/device.component.vue" +import DeviceAnalManagerComponent from "@/views/risk/assessment/device/deviceAnal.component.vue" +import RulesComponent from "@/views/hiddenDanger/rules/rules.component.vue" +import RulesManagerComponent from "@/views/hiddenDanger/rules/rulesManager.component.vue" +import PlanComponent from "@/views/hiddenDanger/safe/plan.component.vue" +import ActionComponent from "@/views/hiddenDanger/safe/action.component.vue" +import HiddenDangerManagerComponent from "@/views/hiddenDanger/manager.component.vue" +import HiddenDangerFilesComponent from "@/views/hiddenDanger/files.component.vue" +import HiddenDangerClapComponent from "@/views/hiddenDanger/clap.component.vue" + +Vue.use(VueRouter) +const routes: Array = [ + + { + path: '/prevention', + name: 'prevention', + meta:{ + title:"双重预防" + }, + redirect:"/index", + component:LayoutComponent, + children:[{ + path:"home", + name:"home", + component:HomeComponent + },{ + path:"risk", + name:"risk", + component:BlankComponent, + redirect:"risk/area", + children:[{ + name:"area", + path:"area", + component:AreaManagerComponent + },{ + name:"unit", + path:"unit", + component:UnitManagerComponent + },{ + path:"assessment", + name:"assessment", + component:BlankComponent, + redirect:"risk/assessment/area-anal", + children:[{ + path:"area-anal", + name:"area-anal", + component:AreaAnalComponent + },{ + path:"work", + name:"work", + component:WorkManagerComponent + },{ + path:"job-hazard", + name:"job-hazard", + component:WorkAnalManagerComponent + },{ + path:"device", + name:"device", + component:DeviceManagerComponent + },{ + path:"safe-anal", + name:"safe-anal", + component:DeviceAnalManagerComponent + }] + },{ + name:"identify", + path:"identify", + component:IdentifyManagerComponent + },{ + name:"measures", + path:"measures", + component:MeasuresManagerComponent + },{ + name:"measures-report", + path:"measures-report", + component:MeasuresReportManagerComponent + },{ + name:"duty", + path:"duty", + component:DutyManagerComponent + },{ + name:"duty-records", + path:"duty-records", + component:DutyRecordsManagerComponent + }] + },{ + path:"hidden-danger", + name:"hidden-danger", + component:BlankComponent, + redirect:"hidden-danger/rules", + children:[{ + name:"rules", + path:"rules", + component:RulesComponent + },{ + name:"rules-manager", + path:"rules-manager", + component:RulesManagerComponent + },{ + name:"plan", + path:"plan", + component:PlanComponent + },{ + name:"action", + path:"action", + component:ActionComponent + },{ + name:"manager", + path:"manager", + component:HiddenDangerManagerComponent + },{ + name:"files", + path:"files", + component:HiddenDangerFilesComponent + },{ + name:"clap", + path:"clap", + component:HiddenDangerClapComponent + }] + }] + }, + { + path: '/index', + name: 'index', + component:indexComponent + }, + { + path: '*', + name: '404', + component: pageNoFoundComponent + }, +] + +const router = new VueRouter({ + routes, +}) +export default router diff --git a/src/service/area.service.ts b/src/service/area.service.ts new file mode 100644 index 0000000..b11c3a3 --- /dev/null +++ b/src/service/area.service.ts @@ -0,0 +1,33 @@ +import BaseService from "hbt-common/service/base.service" +import type { AxiosResponse } from 'axios' +import { ActionResult } from "hbt-common/models/actionResult"; +export default class AreaService extends BaseService{ + constructor(){ + super() + } + // 查询列表 + public selectByPage(params: any):Promise>>{ + const url = this.prefix.system+'/user/list'; + return this.get(url,params,true) + } + // 批量删除 + public deleteByIds(params):Promise>>{ + const url = this.prefix.system+'/user/list'; + return this.deleteBatch(url,params,{},true) + } + // 查询详情 + public selectById(id:any,showLoading?:boolean): Promise>> { + const url = this.prefix.system+'/user/list/'+id; + return this.get(url,null,showLoading) + } + + // 新增或更新 + public addOrUpdate(params: any, add: boolean,showLoading?:boolean): Promise>>{ + const url = this.prefix.system+'/user/list'; + if(add){ + return this.post(url,params,{},showLoading) + }else{ + return this.put(url,params,{},showLoading) + } + } +} \ No newline at end of file diff --git a/src/service/device.service.ts b/src/service/device.service.ts new file mode 100644 index 0000000..d340dc8 --- /dev/null +++ b/src/service/device.service.ts @@ -0,0 +1,16 @@ +import BaseService from "hbt-common/service/base.service" +import type { AxiosResponse } from 'axios' +import { ActionResult } from "hbt-common/models/actionResult"; +export default class DeviceService extends BaseService{ + constructor(){ + super() + } + public selectByPage(params: any):Promise>>{ + const url = this.prefix.system+'/user/list'; + return this.get(url,params,true) + } + public deleteByIds(params):Promise>>{ + const url = this.prefix.system+'/user/list'; + return this.deleteBatch(url,params,{},true) + } +} \ No newline at end of file diff --git a/src/service/duty.service.ts b/src/service/duty.service.ts new file mode 100644 index 0000000..d415b49 --- /dev/null +++ b/src/service/duty.service.ts @@ -0,0 +1,16 @@ +import BaseService from "hbt-common/service/base.service" +import type { AxiosResponse } from 'axios' +import { ActionResult } from "hbt-common/models/actionResult"; +export default class DutyService extends BaseService{ + constructor(){ + super() + } + public selectByPage(params: any):Promise>>{ + const url = this.prefix.system+'/user/list'; + return this.get(url,params,true) + } + public deleteByIds(params):Promise>>{ + const url = this.prefix.system+'/user/list'; + return this.deleteBatch(url,params,{},true) + } +} \ No newline at end of file diff --git a/src/service/identify.service.ts b/src/service/identify.service.ts new file mode 100644 index 0000000..a526c26 --- /dev/null +++ b/src/service/identify.service.ts @@ -0,0 +1,16 @@ +import BaseService from "hbt-common/service/base.service" +import type { AxiosResponse } from 'axios' +import { ActionResult } from "hbt-common/models/actionResult"; +export default class IdentifyService extends BaseService{ + constructor(){ + super() + } + public selectByPage(params: any):Promise>>{ + const url = this.prefix.system+'/user/list'; + return this.get(url,params,true) + } + public deleteByIds(params):Promise>>{ + const url = this.prefix.system+'/user/list'; + return this.deleteBatch(url,params,{},true) + } +} \ No newline at end of file diff --git a/src/service/jobHazard.service.ts b/src/service/jobHazard.service.ts new file mode 100644 index 0000000..6d2362d --- /dev/null +++ b/src/service/jobHazard.service.ts @@ -0,0 +1,16 @@ +import BaseService from "hbt-common/service/base.service" +import type { AxiosResponse } from 'axios' +import { ActionResult } from "hbt-common/models/actionResult"; +export default class JobHazardService extends BaseService{ + constructor(){ + super() + } + public selectByPage(params: any):Promise>>{ + const url = this.prefix.system+'/user/list'; + return this.get(url,params,true) + } + public deleteByIds(params):Promise>>{ + const url = this.prefix.system+'/user/list'; + return this.deleteBatch(url,params,{},true) + } +} \ No newline at end of file diff --git a/src/service/measures.service.ts b/src/service/measures.service.ts new file mode 100644 index 0000000..dded49b --- /dev/null +++ b/src/service/measures.service.ts @@ -0,0 +1,16 @@ +import BaseService from "hbt-common/service/base.service" +import type { AxiosResponse } from 'axios' +import { ActionResult } from "hbt-common/models/actionResult"; +export default class MeasuresService extends BaseService{ + constructor(){ + super() + } + public selectByPage(params: any):Promise>>{ + const url = this.prefix.system+'/user/list'; + return this.get(url,params,true) + } + public deleteByIds(params):Promise>>{ + const url = this.prefix.system+'/user/list'; + return this.deleteBatch(url,params,{},true) + } +} \ No newline at end of file diff --git a/src/service/measuresReport.service.ts b/src/service/measuresReport.service.ts new file mode 100644 index 0000000..0d34447 --- /dev/null +++ b/src/service/measuresReport.service.ts @@ -0,0 +1,16 @@ +import BaseService from "hbt-common/service/base.service" +import type { AxiosResponse } from 'axios' +import { ActionResult } from "hbt-common/models/actionResult"; +export default class MeasuresReportService extends BaseService{ + constructor(){ + super() + } + public selectByPage(params: any):Promise>>{ + const url = this.prefix.system+'/user/list'; + return this.get(url,params,true) + } + public deleteByIds(params):Promise>>{ + const url = this.prefix.system+'/user/list'; + return this.deleteBatch(url,params,{},true) + } +} \ No newline at end of file diff --git a/src/service/unit.service.ts b/src/service/unit.service.ts new file mode 100644 index 0000000..537e573 --- /dev/null +++ b/src/service/unit.service.ts @@ -0,0 +1,16 @@ +import BaseService from "hbt-common/service/base.service" +import type { AxiosResponse } from 'axios' +import { ActionResult } from "hbt-common/models/actionResult"; +export default class UnitService extends BaseService{ + constructor(){ + super() + } + public selectByPage(params: any):Promise>>{ + const url = this.prefix.system+'/user/list'; + return this.get(url,params,true) + } + public deleteByIds(params):Promise>>{ + const url = this.prefix.system+'/user/list'; + return this.deleteBatch(url,params,{},true) + } +} \ No newline at end of file diff --git a/src/service/work.service.ts b/src/service/work.service.ts new file mode 100644 index 0000000..6ad9475 --- /dev/null +++ b/src/service/work.service.ts @@ -0,0 +1,16 @@ +import BaseService from "hbt-common/service/base.service" +import type { AxiosResponse } from 'axios' +import { ActionResult } from "hbt-common/models/actionResult"; +export default class WorkService extends BaseService{ + constructor(){ + super() + } + public selectByPage(params: any):Promise>>{ + const url = this.prefix.system+'/user/list'; + return this.get(url,params,true) + } + public deleteByIds(params):Promise>>{ + const url = this.prefix.system+'/user/list'; + return this.deleteBatch(url,params,{},true) + } +} \ No newline at end of file diff --git a/src/shims-tsx.d.ts b/src/shims-tsx.d.ts new file mode 100644 index 0000000..64fc0a8 --- /dev/null +++ b/src/shims-tsx.d.ts @@ -0,0 +1,11 @@ +import Vue, { VNode } from 'vue' + +declare global { + namespace JSX { + interface Element extends VNode {} + interface ElementClass extends Vue {} + interface IntrinsicElements { + [elem: string]: any + } + } +} diff --git a/src/shims-vue.d.ts b/src/shims-vue.d.ts new file mode 100644 index 0000000..008dfaf --- /dev/null +++ b/src/shims-vue.d.ts @@ -0,0 +1,12 @@ +declare module '*.vue' { + import Vue from 'vue' + export default Vue +} +declare module '*.scss' { + const css:string + export default css +} +declare module '*.html' { + const html:string + export default html +} diff --git a/src/store/index.ts b/src/store/index.ts new file mode 100644 index 0000000..ceffa8e --- /dev/null +++ b/src/store/index.ts @@ -0,0 +1,17 @@ +import Vue from 'vue' +import Vuex from 'vuex' + +Vue.use(Vuex) + +export default new Vuex.Store({ + state: { + }, + getters: { + }, + mutations: { + }, + actions: { + }, + modules: { + } +}) diff --git a/src/views/blank.component.vue b/src/views/blank.component.vue new file mode 100644 index 0000000..eaa3aa7 --- /dev/null +++ b/src/views/blank.component.vue @@ -0,0 +1,9 @@ + + diff --git a/src/views/common.component.scss b/src/views/common.component.scss new file mode 100644 index 0000000..bba09a3 --- /dev/null +++ b/src/views/common.component.scss @@ -0,0 +1,135 @@ +::v-deep { + .color_1 { + color: #68C23A + } + + .color_2 { + color: #409EFF + } + + .color_3 { + color: #E6A23C + } + + .color_4 { + color: #F56C6C + } + + .noDraw { + color: #F56C6C; + } + + .link { + color: #409eff; + cursor: pointer; + pointer-events: auto; + + &:hover { + text-decoration: underline; + } + } + + .el-tree-node__content { + height: 39px; + } + + .el-tree-node__content:hover, + .el-upload-list__item:hover { + background: #E4E8F1; + } + + .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content { + background: #409EFF ; + border-radius: 4px; + color: #FFF ; + } + + .td-content { + &.active { + &::before { + position: absolute; + inset: 0; + content: ""; + background: #68C23A; + z-index: 1; + } + + span { + position: relative; + z-index: 9; + color: #FFF; + } + } + } +} + +.common-box { + width: 100%; + height: 100%; + padding: 8px; + font-size: 14px; + position: relative; + + .model-box { + position: fixed; + inset: 40px 40px 40px 240px; + z-index: 2006; + + .mask { + position: fixed; + inset: 0; + background: rgba($color: #000000, $alpha: 0.6); + z-index: 10; + } + } + + .common-tree-box { + width: 200px; + padding: 20px 10px; + margin-right: 8px; + height: 100%; + overflow: hidden; + overflow-y: auto; + background: #FFF; + border-radius: 4px; + border: 1px solid #EEEEEE; + } + + .common-content-box { + width: 1px; + height: 100%; + + .search-box { + padding: 20px 20px 0; + background: #FFFFFF; + border-radius: 4px; + border: 1px solid #EEEEEE; + } + + .table-box { + width: 100%; + height: 1px; + margin-top: 8px; + background: #FFFFFF; + border-radius: 4px; + border: 1px solid #EEEEEE; + padding: 24px 24px 0; + } + } +} + +.sub-title { + width: 100%; + padding: 16px 0; + border-bottom: 1px solid #EEEEEE; + color: #606266; + font-size: 16px; + margin-bottom: 20px; +} + +.sub-btn-box { + width: 100%; + display: flex; + justify-content: center; + padding: 20px 0; +} \ No newline at end of file diff --git a/src/views/hiddenDanger/clap.component.vue b/src/views/hiddenDanger/clap.component.vue new file mode 100644 index 0000000..ac5df40 --- /dev/null +++ b/src/views/hiddenDanger/clap.component.vue @@ -0,0 +1,249 @@ + + + diff --git a/src/views/hiddenDanger/common.component.html b/src/views/hiddenDanger/common.component.html new file mode 100644 index 0000000..40d2c56 --- /dev/null +++ b/src/views/hiddenDanger/common.component.html @@ -0,0 +1,55 @@ +
+
+ +
+ + + + + + + + + + + + +
+
+
+
+ +
+ + + + +
\ No newline at end of file diff --git a/src/views/hiddenDanger/files.component.vue b/src/views/hiddenDanger/files.component.vue new file mode 100644 index 0000000..76f7432 --- /dev/null +++ b/src/views/hiddenDanger/files.component.vue @@ -0,0 +1,285 @@ + + + diff --git a/src/views/hiddenDanger/manager.component.vue b/src/views/hiddenDanger/manager.component.vue new file mode 100644 index 0000000..b889205 --- /dev/null +++ b/src/views/hiddenDanger/manager.component.vue @@ -0,0 +1,291 @@ + + + diff --git a/src/views/hiddenDanger/rules/rules.component.html b/src/views/hiddenDanger/rules/rules.component.html new file mode 100644 index 0000000..4bb4032 --- /dev/null +++ b/src/views/hiddenDanger/rules/rules.component.html @@ -0,0 +1,46 @@ +
+
+ +
+ + + + + + + + + + + + +
+
+
+
+ +
+ + + + +
\ No newline at end of file diff --git a/src/views/hiddenDanger/rules/rules.component.vue b/src/views/hiddenDanger/rules/rules.component.vue new file mode 100644 index 0000000..dc1af46 --- /dev/null +++ b/src/views/hiddenDanger/rules/rules.component.vue @@ -0,0 +1,247 @@ + + + diff --git a/src/views/hiddenDanger/rules/rulesManager.component.vue b/src/views/hiddenDanger/rules/rulesManager.component.vue new file mode 100644 index 0000000..d1d0c55 --- /dev/null +++ b/src/views/hiddenDanger/rules/rulesManager.component.vue @@ -0,0 +1,251 @@ + + + diff --git a/src/views/hiddenDanger/safe/action.component.vue b/src/views/hiddenDanger/safe/action.component.vue new file mode 100644 index 0000000..68cd345 --- /dev/null +++ b/src/views/hiddenDanger/safe/action.component.vue @@ -0,0 +1,260 @@ + + + diff --git a/src/views/hiddenDanger/safe/plan.component.vue b/src/views/hiddenDanger/safe/plan.component.vue new file mode 100644 index 0000000..13b9f62 --- /dev/null +++ b/src/views/hiddenDanger/safe/plan.component.vue @@ -0,0 +1,252 @@ + + + diff --git a/src/views/home/home.component.html b/src/views/home/home.component.html new file mode 100644 index 0000000..1709988 --- /dev/null +++ b/src/views/home/home.component.html @@ -0,0 +1,42 @@ + +
+
+
+
安全承诺公告
+
+
+ 进入受限空间作业 (处) + 13 +
+
+ 是否处于试生产 + +
+
+ 开停车状态 + +
+
+ 罐装、仓库等重大危险源
是否处于安全状态
+ +
+
+
+ +
+
+
+
+
企业承诺
+
+ 今天我公司已经过安全风险研判,各项安全风险防控措施已落实到位,我承诺所有运行的生产装置处于安全状态,69个重大危险源安全风险得到有效管控,已落实重大危险源安全包保责任 +
+
吴延福
+
2023-05-29 15:03:22
+
+
+
+
企业风险辨识
+ +
+
\ No newline at end of file diff --git a/src/views/home/home.component.scss b/src/views/home/home.component.scss new file mode 100644 index 0000000..2c36ed9 --- /dev/null +++ b/src/views/home/home.component.scss @@ -0,0 +1,114 @@ +.home-box{ + width: 100%; + height: 100%; + padding: 8px; + font-size: 14px; + .custom-box{ + background: #FFFFFF; + border-radius: 4px; + border: 1px solid #EEEEEE; + padding: 24px; + } + .title{ + height: 20px; + border-left: 4px solid #409EFF; + padding-left: 10px; + color: #606266; + font-weight: 500; + font-size: 20px; + line-height: 100%; + } + .overview-box{ + width: 100%; + height: 474px; + display: flex; + .inner-echarts-box{ + height: 100%; + width: 1px; + flex: 1; + + .static-box{ + justify-content: space-between; + margin-top: 24px; + .static{ + width: 1px; + flex: 1; + height: 80px; + padding: 0 24px; + justify-content: space-between; + align-items: center; + color: #919399; + border-radius: 4px; + margin-right: 16px; + border: 1px solid #EEEEEE; + &:last-child{ + margin-right: 0; + } + .count{ + font-size: 32px; + color: #606266; + &.icon{ + width: 32px; + height: 32px; + color: #FFFFFF; + border-radius: 50%; + text-align: center; + line-height: 32px; + font-size: 14px; + } + &.yes{ + background: #68C23A; + } + &.no{ + background: #BFCBD9; + } + } + } + } + .charts-box{ + flex: 1; + height: 1px; + position: relative; + .line{ + height: 200px; + width: 1px; + position: absolute; + left: 50%; + top: 50%; + transform: translate(-50%,-50%); + background: #EEEEEE; + } + .echarts{ + position: absolute; + inset: 0; + } + } + } + .info-box{ + width: 334px; + height: 100%; + margin-left: 8px; + color: #606266; + .text{ + text-indent: 30px; + margin: 20px 0; + line-height: 21px; + } + .text-r{ + margin-top: 10px; + text-align: right; + } + } + } + .echarts-box{ + flex: 1; + height: 1px; + width: 100%; + margin-top: 8px; + .echarts{ + flex: 1; + width: 100%; + height: 1px; + } + } +} \ No newline at end of file diff --git a/src/views/home/home.component.vue b/src/views/home/home.component.vue new file mode 100644 index 0000000..9e11808 --- /dev/null +++ b/src/views/home/home.component.vue @@ -0,0 +1,204 @@ + + + diff --git a/src/views/risk/area/area.component.vue b/src/views/risk/area/area.component.vue new file mode 100644 index 0000000..4c4347a --- /dev/null +++ b/src/views/risk/area/area.component.vue @@ -0,0 +1,329 @@ + + + diff --git a/src/views/risk/areaUnit.component.html b/src/views/risk/areaUnit.component.html new file mode 100644 index 0000000..1465d75 --- /dev/null +++ b/src/views/risk/areaUnit.component.html @@ -0,0 +1,47 @@ +
+
+ +
+ + + + + + + + + + + + +
+
+
+
+ +
+ + + + +
\ No newline at end of file diff --git a/src/views/risk/assessment/areaAnal/areaAnal.component.html b/src/views/risk/assessment/areaAnal/areaAnal.component.html new file mode 100644 index 0000000..7badb41 --- /dev/null +++ b/src/views/risk/assessment/areaAnal/areaAnal.component.html @@ -0,0 +1,69 @@ +
+
+ +
+ + + + + + + + + +
+
+ + + + + + + + + + +
+ 不涉及 +
+
+ +
{{scope.row.type1}}
+
+ +
{{scope.row.type2}}
+
+ +
{{scope.row.type3}}
+
+ +
{{scope.row.type4}}
+
+
+ +
+ {{scope.row.value}} + +
+
+ +
+ +
+
\ No newline at end of file diff --git a/src/views/risk/assessment/areaAnal/areaAnal.component.vue b/src/views/risk/assessment/areaAnal/areaAnal.component.vue new file mode 100644 index 0000000..769eb64 --- /dev/null +++ b/src/views/risk/assessment/areaAnal/areaAnal.component.vue @@ -0,0 +1,241 @@ + + + diff --git a/src/views/risk/assessment/device/device.component.html b/src/views/risk/assessment/device/device.component.html new file mode 100644 index 0000000..332ccd5 --- /dev/null +++ b/src/views/risk/assessment/device/device.component.html @@ -0,0 +1,45 @@ +
+
+ + +
+
+ +
+ + + + + + + + + + + + +
+
+ + + + +
\ No newline at end of file diff --git a/src/views/risk/assessment/device/device.component.vue b/src/views/risk/assessment/device/device.component.vue new file mode 100644 index 0000000..945584d --- /dev/null +++ b/src/views/risk/assessment/device/device.component.vue @@ -0,0 +1,188 @@ + + + diff --git a/src/views/risk/assessment/device/deviceAnal.component.html b/src/views/risk/assessment/device/deviceAnal.component.html new file mode 100644 index 0000000..332ccd5 --- /dev/null +++ b/src/views/risk/assessment/device/deviceAnal.component.html @@ -0,0 +1,45 @@ +
+
+ + +
+
+ +
+ + + + + + + + + + + + +
+
+ + + + +
\ No newline at end of file diff --git a/src/views/risk/assessment/device/deviceAnal.component.vue b/src/views/risk/assessment/device/deviceAnal.component.vue new file mode 100644 index 0000000..fb27342 --- /dev/null +++ b/src/views/risk/assessment/device/deviceAnal.component.vue @@ -0,0 +1,212 @@ + + + diff --git a/src/views/risk/assessment/work/work.component.html b/src/views/risk/assessment/work/work.component.html new file mode 100644 index 0000000..1188537 --- /dev/null +++ b/src/views/risk/assessment/work/work.component.html @@ -0,0 +1,79 @@ +
+
+ + +
+
+ +
+ + + + + + + + + + + + +
+
+ + + +
作业步骤
+ + + + + + + + + + + + + +
+ + +
+ + + + +
\ No newline at end of file diff --git a/src/views/risk/assessment/work/work.component.vue b/src/views/risk/assessment/work/work.component.vue new file mode 100644 index 0000000..de3cb46 --- /dev/null +++ b/src/views/risk/assessment/work/work.component.vue @@ -0,0 +1,399 @@ + + + diff --git a/src/views/risk/assessment/work/workAnal.component.html b/src/views/risk/assessment/work/workAnal.component.html new file mode 100644 index 0000000..332ccd5 --- /dev/null +++ b/src/views/risk/assessment/work/workAnal.component.html @@ -0,0 +1,45 @@ +
+
+ + +
+
+ +
+ + + + + + + + + + + + +
+
+ + + + +
\ No newline at end of file diff --git a/src/views/risk/assessment/work/workAnal.component.vue b/src/views/risk/assessment/work/workAnal.component.vue new file mode 100644 index 0000000..22569b6 --- /dev/null +++ b/src/views/risk/assessment/work/workAnal.component.vue @@ -0,0 +1,199 @@ + + + diff --git a/src/views/risk/duty/duty.component.html b/src/views/risk/duty/duty.component.html new file mode 100644 index 0000000..250dc0c --- /dev/null +++ b/src/views/risk/duty/duty.component.html @@ -0,0 +1,42 @@ +
+
+ + +
+
+ +
+ + + + + + + + + + + + +
+
+ + + + +
\ No newline at end of file diff --git a/src/views/risk/duty/duty.component.vue b/src/views/risk/duty/duty.component.vue new file mode 100644 index 0000000..95db9bb --- /dev/null +++ b/src/views/risk/duty/duty.component.vue @@ -0,0 +1,184 @@ + + + diff --git a/src/views/risk/duty/dutyRecords.component.html b/src/views/risk/duty/dutyRecords.component.html new file mode 100644 index 0000000..9a1378d --- /dev/null +++ b/src/views/risk/duty/dutyRecords.component.html @@ -0,0 +1,42 @@ +
+
+ + +
+
+ +
+ + + + + + + + + + + + +
+
+ + + + +
\ No newline at end of file diff --git a/src/views/risk/duty/dutyRecords.component.vue b/src/views/risk/duty/dutyRecords.component.vue new file mode 100644 index 0000000..cf3b099 --- /dev/null +++ b/src/views/risk/duty/dutyRecords.component.vue @@ -0,0 +1,197 @@ + + + diff --git a/src/views/risk/identify/identify.component.html b/src/views/risk/identify/identify.component.html new file mode 100644 index 0000000..6a715cf --- /dev/null +++ b/src/views/risk/identify/identify.component.html @@ -0,0 +1,43 @@ +
+
+ + +
+
+ +
+ + + + + + + + + + + + +
+
+ + + + +
\ No newline at end of file diff --git a/src/views/risk/identify/identify.component.vue b/src/views/risk/identify/identify.component.vue new file mode 100644 index 0000000..15cd856 --- /dev/null +++ b/src/views/risk/identify/identify.component.vue @@ -0,0 +1,189 @@ + + + diff --git a/src/views/risk/measures/measures.component.html b/src/views/risk/measures/measures.component.html new file mode 100644 index 0000000..53b5c3a --- /dev/null +++ b/src/views/risk/measures/measures.component.html @@ -0,0 +1,42 @@ +
+
+ + +
+
+ +
+ + + + + + + + + + + + +
+
+ + + + +
\ No newline at end of file diff --git a/src/views/risk/measures/measures.component.vue b/src/views/risk/measures/measures.component.vue new file mode 100644 index 0000000..310b57b --- /dev/null +++ b/src/views/risk/measures/measures.component.vue @@ -0,0 +1,189 @@ + + + diff --git a/src/views/risk/measuresReport/measuresReport.component.html b/src/views/risk/measuresReport/measuresReport.component.html new file mode 100644 index 0000000..4b0cb2b --- /dev/null +++ b/src/views/risk/measuresReport/measuresReport.component.html @@ -0,0 +1,43 @@ +
+
+ + +
+
+ +
+ + + + + + + + + + + + +
+
+ + + + +
\ No newline at end of file diff --git a/src/views/risk/measuresReport/measuresReport.component.vue b/src/views/risk/measuresReport/measuresReport.component.vue new file mode 100644 index 0000000..632d1e2 --- /dev/null +++ b/src/views/risk/measuresReport/measuresReport.component.vue @@ -0,0 +1,203 @@ + + + diff --git a/src/views/risk/unit/unit.component.vue b/src/views/risk/unit/unit.component.vue new file mode 100644 index 0000000..dfefbe2 --- /dev/null +++ b/src/views/risk/unit/unit.component.vue @@ -0,0 +1,258 @@ + + + diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..3b3ebbc --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,46 @@ +{ + "compilerOptions": { + "target": "esnext", + "module": "esnext", + "strict": true, + "jsx": "preserve", + "noImplicitThis": false, + "moduleResolution": "node", + "experimentalDecorators": true, + "skipLibCheck": true, + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "forceConsistentCasingInFileNames": true, + "useDefineForClassFields": true, + "strictPropertyInitialization":false, + "noImplicitAny":false, + "sourceMap": true, + "baseUrl": ".", + "types": [ + "webpack-env", + ], + "paths": { + "@/*": [ + "src/*" + ], + + }, + "lib": [ + "esnext", + "dom", + "dom.iterable", + "scripthost" + ] + }, + "include": [ + "src/**/*.vue", + "src/**/*.ts", + "src/**/*.tsx", + "tests/**/*.ts", + "tests/**/*.tsx" + ], + "exclude": [ + "common", + "node_modules" + ] +} diff --git a/vue.config.js b/vue.config.js new file mode 100644 index 0000000..4b6efc5 --- /dev/null +++ b/vue.config.js @@ -0,0 +1,83 @@ +const { defineConfig } = require('@vue/cli-service') +const CompressionPlugin = require('compression-webpack-plugin') + +const path = require('path') +const resolve = (dir)=>{ + return path.join(__dirname, dir) +} +module.exports = defineConfig({ + productionSourceMap:process.env.NODE_ENV!=="production", + transpileDependencies: true, + lintOnSave: true, // 在保存时校验格式 + runtimeCompiler:true, + css:{ + loaderOptions:{ + scss:{ + additionalData:`@import "@/assets/common/scss/hbt-base.scss";` + } + } + }, + configureWebpack: { + plugins: [ + // http://doc.hbt.vip/hbt-vue/other/faq.html#使用gzip解压缩静态文件 + new CompressionPlugin({ + cache: false, // 不启用文件缓存 + test: /\.(js|css|html)?$/i, // 压缩文件格式 + filename: '[path].gz[query]', // 压缩后的文件名 + algorithm: 'gzip', // 使用gzip压缩 + minRatio: 0.8 // 压缩率小于1才会压缩 + }) + ], + }, + chainWebpack: config => { + config.extensions = ['.js', '.ts','.scss', '.vue', '.html']; + + config.plugin('module-federation-plugin').use(require("webpack").container.ModuleFederationPlugin,[{ + name: "test", + filename: "test.js", + + remotes: { + common:`common@${process.env.VUE_APP_REMOTES_URL}/common.js` + }, + shared:require("./package.json").dependencies, + }]); + config.module + .rule("html") + .test(/\.html$/) + .use('html-loader') + .loader('html-loader')//预读,识别html文件 + .end() + // set svg-sprite-loader + config.module + .rule('svg') + .exclude.add(resolve('src/assets')) + .end() + config.module + .rule('icons') + .test(/\.svg$/) + .include.add(resolve('src/assets')) + .end() + .use('svg-sprite-loader') + .loader('svg-sprite-loader') + .options({ + symbolId: 'icon-[name]' + }) + .end() + }, + devServer: { + // client: { + // overlay: false, + // }, + proxy: { + // detail: https://cli.vuejs.org/config/#devserver-proxy + [process.env.VUE_APP_GATEWAY_URL]: { + target: process.env.VUE_APP_BASE_API_URL, + changeOrigin: true, + pathRewrite: { + ['^' + process.env.VUE_APP_GATEWAY_URL]: "" + } + } + }, + // disableHostCheck: true + }, +})