From bbc89a23557e539a477dac63d07b57e8b345c863 Mon Sep 17 00:00:00 2001 From: adstat Date: Wed, 3 Jul 2024 11:51:23 +0800 Subject: [PATCH] =?UTF-8?q?V1=E7=89=88=E6=9C=AC=EF=BC=8C=E5=95=86=E5=93=81?= =?UTF-8?q?=E5=85=A5=E5=BA=93=E3=80=81=E5=90=84=E7=B1=BB=E6=8A=A5=E8=A1=A8?= =?UTF-8?q?=E3=80=81=E5=95=86=E5=93=81=E9=A2=84=E8=AD=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Console/Commands/ChkOrderServer.php | 58 + app/Console/Commands/ChkPriceearly.php | 71 + app/Console/Commands/ChkReplenish.php | 83 ++ app/Console/Commands/ChkShelflife.php | 80 ++ app/Console/Commands/KttOrderQuery.php | 2 +- app/Console/Kernel.php | 44 +- app/Http/Controllers/Auth/LoginController.php | 2 +- app/Http/Controllers/Controller.php | 4 +- app/Http/Controllers/Shop/ShopsController.php | 16 +- app/Http/Helpers/ApiResponse.php | 141 ++ app/Http/Helpers/ExceptionReport.php | 114 ++ app/Http/Libraries/ExcelUtil/export.php | 255 ++++ app/Http/Libraries/ExcelUtil/import.php | 29 + app/Models/BusinessOrderServer.php | 22 + app/Models/GoodsType.php | 3 +- app/Models/MessageStock.php | 11 + app/Models/StockNotice.php | 11 + app/Models/StockTackItem.php | 10 + app/Models/Supplier.php | 11 + app/Models/SupplierType.php | 11 + app/Models/WarehouseStock.php | 11 + app/Models/WarehouseStockItem.php | 11 + app/Pool/Core/Redis.php | 912 +++++++++++++ app/Services/Business/BusinessClient.php | 47 +- .../Business/KuaiTuanTuan/KuaiTuanTuan.php | 17 + app/Services/Business/KuaiTuanTuan/Order.php | 1 + .../Business/KuaiTuanTuan/OrderServer.php | 20 + app/Utils/UploadUtils.php | 18 + composer.json | 1 + composer.lock | 69 +- config/database.php | 8 + resources/frontend/.env | 5 + resources/frontend/package.json | 4 + resources/frontend/src/assets/img/avatar.png | Bin 0 -> 91999 bytes resources/frontend/src/assets/img/error.png | Bin 0 -> 4799 bytes resources/frontend/src/assets/img/ic_bike.png | Bin 0 -> 1986 bytes .../frontend/src/assets/img/original.png | Bin 0 -> 50918 bytes resources/frontend/src/assets/img/sucess.png | Bin 0 -> 4060 bytes resources/frontend/src/assets/scss/_base.scss | 490 +++++++ resources/frontend/src/assets/scss/_flex.scss | 117 ++ resources/frontend/src/assets/scss/_font.scss | 13 + .../frontend/src/assets/scss/_normalize.scss | 447 +++++++ .../frontend/src/assets/scss/_space.scss | 115 ++ .../frontend/src/assets/scss/_variables.scss | 13 + resources/frontend/src/assets/scss/index.scss | 9 + .../src/components/global/Board/index.vue | 60 + .../src/components/global/Form/index.vue | 575 ++++++++ .../src/components/global/FormItem/index.vue | 543 ++++++++ .../src/components/global/FormTable/index.vue | 170 +++ .../src/components/global/Search/index.vue | 538 ++++++++ .../src/components/global/Table/index.vue | 485 +++++++ .../frontend/src/components/global/index.js | 9 + resources/frontend/src/main.js | 9 +- resources/frontend/src/router/list.js | 47 + resources/frontend/src/util/area2.js | 1 + resources/frontend/src/util/echartUi.js | 36 + resources/frontend/src/util/http.js | 44 + resources/frontend/src/util/https.js | 106 ++ resources/frontend/src/util/msg.js | 58 + resources/frontend/src/views/Login.vue | 1 + .../src/views/dataCenter/costChart.vue | 202 +++ .../src/views/dataCenter/damageChart.vue | 202 +++ .../src/views/dataCenter/flagChart.vue | 146 ++ .../src/views/dataCenter/goodChart.vue | 90 ++ .../src/views/dataCenter/salesChart.vue | 201 +++ .../frontend/src/views/dataCenter/test.vue | 1175 +++++++++++++++++ resources/frontend/src/views/index.vue | 2 +- .../frontend/src/views/message/message.vue | 76 ++ .../frontend/src/views/stock/putWarehouse.vue | 238 ++++ .../frontend/src/views/stock/stockNotice.vue | 129 ++ .../frontend/src/views/stock/stockTacks.vue | 232 ++++ .../frontend/src/views/supplier/good.vue | 123 ++ .../src/views/supplier/supplierList.vue | 250 +++- resources/frontend/vue.config.js | 4 +- resources/lang/zh-CN/permission.php | 63 + routes/api.php | 52 +- routes/web.php | 3 +- 77 files changed, 9134 insertions(+), 42 deletions(-) create mode 100644 app/Console/Commands/ChkOrderServer.php create mode 100644 app/Console/Commands/ChkPriceearly.php create mode 100644 app/Console/Commands/ChkReplenish.php create mode 100644 app/Console/Commands/ChkShelflife.php create mode 100644 app/Http/Helpers/ApiResponse.php create mode 100644 app/Http/Helpers/ExceptionReport.php create mode 100644 app/Http/Libraries/ExcelUtil/export.php create mode 100644 app/Http/Libraries/ExcelUtil/import.php create mode 100644 app/Models/BusinessOrderServer.php create mode 100644 app/Models/MessageStock.php create mode 100644 app/Models/StockNotice.php create mode 100644 app/Models/StockTackItem.php create mode 100644 app/Models/Supplier.php create mode 100644 app/Models/SupplierType.php create mode 100644 app/Models/WarehouseStock.php create mode 100644 app/Models/WarehouseStockItem.php create mode 100644 app/Pool/Core/Redis.php create mode 100644 app/Services/Business/KuaiTuanTuan/OrderServer.php create mode 100644 resources/frontend/.env create mode 100644 resources/frontend/src/assets/img/avatar.png create mode 100644 resources/frontend/src/assets/img/error.png create mode 100644 resources/frontend/src/assets/img/ic_bike.png create mode 100644 resources/frontend/src/assets/img/original.png create mode 100644 resources/frontend/src/assets/img/sucess.png create mode 100644 resources/frontend/src/assets/scss/_base.scss create mode 100644 resources/frontend/src/assets/scss/_flex.scss create mode 100644 resources/frontend/src/assets/scss/_font.scss create mode 100644 resources/frontend/src/assets/scss/_normalize.scss create mode 100644 resources/frontend/src/assets/scss/_space.scss create mode 100644 resources/frontend/src/assets/scss/_variables.scss create mode 100644 resources/frontend/src/assets/scss/index.scss create mode 100644 resources/frontend/src/components/global/Board/index.vue create mode 100644 resources/frontend/src/components/global/Form/index.vue create mode 100644 resources/frontend/src/components/global/FormItem/index.vue create mode 100644 resources/frontend/src/components/global/FormTable/index.vue create mode 100644 resources/frontend/src/components/global/Search/index.vue create mode 100644 resources/frontend/src/components/global/Table/index.vue create mode 100644 resources/frontend/src/components/global/index.js create mode 100644 resources/frontend/src/util/area2.js create mode 100644 resources/frontend/src/util/echartUi.js create mode 100644 resources/frontend/src/util/https.js create mode 100644 resources/frontend/src/util/msg.js create mode 100644 resources/frontend/src/views/dataCenter/costChart.vue create mode 100644 resources/frontend/src/views/dataCenter/damageChart.vue create mode 100644 resources/frontend/src/views/dataCenter/flagChart.vue create mode 100644 resources/frontend/src/views/dataCenter/goodChart.vue create mode 100644 resources/frontend/src/views/dataCenter/salesChart.vue create mode 100644 resources/frontend/src/views/dataCenter/test.vue create mode 100644 resources/frontend/src/views/message/message.vue create mode 100644 resources/frontend/src/views/stock/putWarehouse.vue create mode 100644 resources/frontend/src/views/stock/stockNotice.vue create mode 100644 resources/frontend/src/views/stock/stockTacks.vue create mode 100644 resources/frontend/src/views/supplier/good.vue diff --git a/app/Console/Commands/ChkOrderServer.php b/app/Console/Commands/ChkOrderServer.php new file mode 100644 index 0000000..7b03da7 --- /dev/null +++ b/app/Console/Commands/ChkOrderServer.php @@ -0,0 +1,58 @@ +where('plat_id', Shop::$PLAT_KTT)->where('status', Shop::$STATUS_AUTHORIZED)->get(); + $endTime = DateTimeUtils::getMicroTime(); + $beginTime = $endTime-(24*60*60*1000); + foreach ($shops as $shop) { + BusinessFactory::init()->make($shop->plat_id)->setShop($shop)->downloadOrdersAndSaveServer($beginTime, $endTime); + } + + Log::info('任务完成:快团团根据更新时间获取增量售后单'); + } +} diff --git a/app/Console/Commands/ChkPriceearly.php b/app/Console/Commands/ChkPriceearly.php new file mode 100644 index 0000000..bfbc520 --- /dev/null +++ b/app/Console/Commands/ChkPriceearly.php @@ -0,0 +1,71 @@ +first(); + $results = DB::table('business_order_items as a') + ->select('c.title as cn_name', 'b.title as title', DB::raw('FORMAT(a.goods_price / 100, 2) AS goods_price'), 'b.cost','a.created_at','a.business_order_id') + ->leftJoin('goods_skus as b', 'a.external_sku_id', '=', 'b.external_sku_id') + ->leftJoin('goods as c', 'b.goods_id', '=', 'c.id') + ->where('b.title', '!=', '') + ->groupBy('a.id') + ->havingRaw('goods_price < cost') + ->get(); + $redis=new Redis(); + $arr=[]; + foreach ($results as $k=>$v){ + if (!$redis->exists($stock->cn_name.'::'.$v->title)){ + $redis->set($stock->cn_name.'::'.$v->title,$v->business_order_id); + $arr[$k]['title']=$stock->cn_name; + $arr[$k]['user_id']=$stock->user_id; + $arr[$k]['stock_notice_id']=$stock->id; + $arr[$k]['content']=Carbon::now()->format('Y-m-d')." 订单号:{$v->business_order_id} 商品{$v->cn_name}规格{$v->title}价格有异常,当前售价{$v->goods_price}/支,当前成本价{$v->cost}/支"; + $arr[$k]['created_at']=Carbon::now(); + MessageStock::insert($arr); + } + } + Log::info('任务完成:check-ChkPriceearly'); + } +} diff --git a/app/Console/Commands/ChkReplenish.php b/app/Console/Commands/ChkReplenish.php new file mode 100644 index 0000000..8b5782b --- /dev/null +++ b/app/Console/Commands/ChkReplenish.php @@ -0,0 +1,83 @@ +first(); + $stocksQuery = DB::table('goods_skus AS a') + ->select( + 'a.id', + 'a.title', + 'a.num', + 'a.stock','a.updated_at', + DB::raw('b.title AS good_name'), + DB::raw('SUM(a.num - a.stock) AS stocks') + ) + ->leftJoin('goods AS b', 'a.goods_id', '=', 'b.id') + ->where('a.num', '!=', 0) + ->where('a.stock', '!=', 0) + ->groupBy('id') + ->havingRaw("stocks < $stock->active_piece"); + $stocks = $stocksQuery->get(); + $currentDateTime = Carbon::now(); + $endOfDay = Carbon::today()->endOfDay(); + $secondsRemaining = $currentDateTime->diffInSeconds($endOfDay); + $redis=new Redis(); + $arr=[]; + foreach ($stocks as $k=>$v){ + if (!$redis->exists($stock->cn_name.'::'.$v->title)){ + $redis->setex($stock->cn_name.'::'.$v->title,$secondsRemaining,$v->stock); + $arr[$k]['title']=$stock->cn_name; + $arr[$k]['user_id']=$stock->user_id; + $arr[$k]['stock_notice_id']=$stock->id; + $arr[$k]['content']=Carbon::now()->format('Y-m-d')." 商品{$v->good_name}规格{$v->title}需要补货,当前库存{$v->num}/支,可售库存{$v->stock}/支"; + $arr[$k]['created_at']=Carbon::now(); + MessageStock::insert($arr); + } + + } + Log::info('任务完成:check-replenish'); + } +} diff --git a/app/Console/Commands/ChkShelflife.php b/app/Console/Commands/ChkShelflife.php new file mode 100644 index 0000000..ad4483a --- /dev/null +++ b/app/Console/Commands/ChkShelflife.php @@ -0,0 +1,80 @@ +first(); + $results = DB::table('warehouse_stock_item as a') + ->leftJoin('goods_skus as b', 'a.good_sku_id', '=', 'b.id') + ->leftJoin('goods as c', 'a.good_id', '=', 'c.id') + ->select('c.title as cn_name', 'b.title as title','a.buyer_at as buyer_ats', DB::row('DATE(a.buyer_at) as buyer_at'),'a.stock') + ->where('b.title', '!=', '') + ->groupBy('a.id') + ->get(); + $today=Carbon::today()->toDateString(); + $currentDateTime = Carbon::now(); + $endOfDay = Carbon::today()->endOfDay(); + $secondsRemaining = $currentDateTime->diffInSeconds($endOfDay); + $redis=new Redis(); + foreach ($results as $k =>$v){ + $ymd=explode('-',$v->buyer_at); + $date = Carbon::create($ymd[0], $ymd[1], $ymd[2]); + $date->addDays($stock->day_num); + if ($today >= $date->toDateString()){ + //报警 + if (!$redis->exists($stock->cn_name.'::'.$v->title)){ + $redis->setex($stock->cn_name.'::'.$v->title,$secondsRemaining,$v->stock); + $arr[$k]['title']=$stock->cn_name; + $arr[$k]['user_id']=$stock->user_id; + $arr[$k]['stock_notice_id']=$stock->id; + $arr[$k]['content']=Carbon::now()->format('Y-m-d')." 商品{$v->cn_name}规格{$v->title}即将过期,入库库存{$v->stock}/支"; + $arr[$k]['created_at']=Carbon::now(); + MessageStock::insert($arr); + } + } + } + + Log::info('任务完成:check-shelflife'); + } +} diff --git a/app/Console/Commands/KttOrderQuery.php b/app/Console/Commands/KttOrderQuery.php index 69498a8..3656724 100644 --- a/app/Console/Commands/KttOrderQuery.php +++ b/app/Console/Commands/KttOrderQuery.php @@ -45,7 +45,7 @@ class KttOrderQuery extends Command $endTime = DateTimeUtils::getMicroTime(); $beginTime = $endTime - 63000; foreach ($shops as $shop) { - BusinessFactory::init()->make($shop->plat_id)->setShop($shop)->downloadOrdersAndSave($beginTime, $endTime + 3000); + BusinessFactory::init()->make($shop->plat_id)->setShop($shop)->downloadOrdersAndSave($beginTime, $endTime); } } } diff --git a/app/Console/Kernel.php b/app/Console/Kernel.php index 9a570d5..46e61ff 100644 --- a/app/Console/Kernel.php +++ b/app/Console/Kernel.php @@ -2,13 +2,20 @@ namespace App\Console; +use App\Console\Commands\ChkOrderServer; +use App\Console\Commands\ChkPriceearly; +use App\Console\Commands\ChkReplenish; +use App\Console\Commands\ChkShelflife; use App\Console\Commands\DailySalesReport; use App\Console\Commands\GoodsSkuDailyReport; use App\Console\Commands\Inventory; +use App\Models\StockNotice; use Illuminate\Console\Scheduling\Schedule; use Illuminate\Foundation\Console\Kernel as ConsoleKernel; use App\Console\Commands\KttOrderQuery; use App\Console\Commands\DeleteKttQuery; +use Illuminate\Support\Facades\Log; +use function RingCentral\Psr7\str; class Kernel extends ConsoleKernel { @@ -19,6 +26,7 @@ class Kernel extends ConsoleKernel */ protected $commands = [ // + \App\Console\Commands\ChkReplenish::class, ]; /** @@ -29,22 +37,34 @@ class Kernel extends ConsoleKernel */ protected function schedule(Schedule $schedule) { + // 服务器/etc/crontab添加cron入口 // * * * * * cd /home/wwwroot/erp.chutang66.com && php artisan schedule:run >> /dev/null 2>&1 - $schedule->command(KttOrderQuery::class)->everyMinute(); +// $schedule->command(KttOrderQuery::class)->everyMinute(); +// +// $schedule->command(GoodsSkuDailyReport::class)->dailyAt('06:00'); +// $schedule->command(Inventory::class)->dailyAt('07:00'); +// +// $schedule->command(DailySalesReport::class, ['S1'])->dailyAt('12:00'); +// $schedule->command(DailySalesReport::class, ['S2'])->dailyAt('13:30'); +// $schedule->command(DailySalesReport::class, ['S3'])->dailyAt('15:00'); +// $schedule->command(DailySalesReport::class, ['S4'])->dailyAt('16:00'); +// $schedule->command(DailySalesReport::class, ['S5'])->dailyAt('17:30'); +// $schedule->command(DailySalesReport::class, ['S6'])->dailyAt('20:00'); +// $schedule->command(DailySalesReport::class, ['S7'])->dailyAt('09:30'); +// +// $schedule->command(DeleteKttQuery::class)->daily(); - $schedule->command(GoodsSkuDailyReport::class)->dailyAt('06:00'); - $schedule->command(Inventory::class)->dailyAt('07:00'); +// $schedule->command('check:replenish')->everyMinute(); +// $active_time=StockNotice::pluck('active_time'); + $schedule->command(ChkReplenish::class); + $schedule->command(ChkOrderServer::class)->everyFifteenMinutes(); + $schedule->command(ChkPriceearly::class)->everyFifteenMinutes(); + $schedule->command(ChkShelflife::class)->everyFifteenMinutes(); +// $schedule->command('check:priceearly')->dailyAt((string)$active_time[1]); +// $schedule->command('check:shelflife')->dailyAt((string)$active_time[2]); +// $schedule->command('check:orderServer')->everyFifteenMinutes(); - $schedule->command(DailySalesReport::class, ['S1'])->dailyAt('12:00'); - $schedule->command(DailySalesReport::class, ['S2'])->dailyAt('13:30'); - $schedule->command(DailySalesReport::class, ['S3'])->dailyAt('15:00'); - $schedule->command(DailySalesReport::class, ['S4'])->dailyAt('16:00'); - $schedule->command(DailySalesReport::class, ['S5'])->dailyAt('17:30'); - $schedule->command(DailySalesReport::class, ['S6'])->dailyAt('20:00'); - $schedule->command(DailySalesReport::class, ['S7'])->dailyAt('09:30'); - - $schedule->command(DeleteKttQuery::class)->daily(); } /** diff --git a/app/Http/Controllers/Auth/LoginController.php b/app/Http/Controllers/Auth/LoginController.php index ea52a85..2c11f74 100644 --- a/app/Http/Controllers/Auth/LoginController.php +++ b/app/Http/Controllers/Auth/LoginController.php @@ -48,7 +48,7 @@ class LoginController extends Controller public function login(Request $request) { $credentials = $request->only('name', 'password'); - +// dd($credentials); if (Auth::attempt($credentials)) { // 通过认证.. return response()->json(['token' => $request->user()->api_token]); diff --git a/app/Http/Controllers/Controller.php b/app/Http/Controllers/Controller.php index 20b7eb9..1477d0f 100644 --- a/app/Http/Controllers/Controller.php +++ b/app/Http/Controllers/Controller.php @@ -2,6 +2,7 @@ namespace App\Http\Controllers; +use App\Http\Helpers\ApiResponse; use Illuminate\Foundation\Auth\Access\AuthorizesRequests; use Illuminate\Foundation\Bus\DispatchesJobs; use Illuminate\Foundation\Validation\ValidatesRequests; @@ -9,7 +10,8 @@ use Illuminate\Routing\Controller as BaseController; class Controller extends BaseController { - use AuthorizesRequests, DispatchesJobs, ValidatesRequests; + use AuthorizesRequests, DispatchesJobs, ValidatesRequests,ApiResponse; + protected $res = [ 'httpCode' => 200, diff --git a/app/Http/Controllers/Shop/ShopsController.php b/app/Http/Controllers/Shop/ShopsController.php index fdc64e2..0de0333 100644 --- a/app/Http/Controllers/Shop/ShopsController.php +++ b/app/Http/Controllers/Shop/ShopsController.php @@ -9,7 +9,6 @@ use App\Models\GoodsSku; use App\Models\Shop; use App\Http\Resources\ShopsResource; use App\Models\ShopSender; -use App\Models\ShopShip; use App\Services\Business\KuaiTuanTuan\FaceSheet; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; @@ -20,6 +19,10 @@ use App\Models\BusinessOrderItem; class ShopsController extends Controller { + public function test() + { + return ["msg"=>'ok','code'=>200]; + } public function index(Request $request) { $shops = Shop::query()->filter()->paginate($request->get('per_page')); @@ -228,18 +231,11 @@ class ShopsController extends Controller public function pddPrintAuth(Request $request) { - [$shopId, $platId] = explode('_', $request->get('state')); + [$shopId, $type] = explode('_', $request->get('state')); $faceSheet = new FaceSheet(); $faceSheet->setCode($request->get('code')); $faceSheet->setShopWithId($shopId); - $faceSheet->auth('ship'); - $shopShip = ShopShip::query() - ->where('shop_id', $shopId) - ->first(); - if (empty($shopShip)) { - exit(); - } - $faceSheet->setShop($shopShip); + $shopShip = $faceSheet->auth('ship', $type); $resp = $faceSheet->searchWayBill(); if (!isset($resp['pdd_waybill_search_response']['waybill_apply_subscription_cols'])) { exit(); diff --git a/app/Http/Helpers/ApiResponse.php b/app/Http/Helpers/ApiResponse.php new file mode 100644 index 0000000..17cb01f --- /dev/null +++ b/app/Http/Helpers/ApiResponse.php @@ -0,0 +1,141 @@ +statusCode; + } + + /** + * @param $statusCode + * @return $this + */ + public function setStatusCode($statusCode) + { + $this->statusCode = $statusCode; + return $this; + } + + /** + * @param $token + * @return $this + */ + public function setToken($token) + { + $this->token = $token; + return $this; + } + + /** + * @param $data + * @return \Illuminate\Http\JsonResponse + */ + public function respond($data) + { + $response = response()->json($data, $this->getStatusCode()); + if ($this->token) { + $response->headers->set('Authorization', 'Bearer ' . $this->token); + } + return $response; + } + + /** + * @param $status + * @param array $data + * @param null $code + * @return mixed + */ + public function status($status, array $data, $code = null) + { + if ($code) { + $this->setStatusCode($code); + } + $status = [ + 'status' => $status, + 'code' => $this->statusCode + ]; + + $data = array_merge($status, $data); + return $this->respond($data); + } + + /** + * @param $message + * @param int $code + * @param string $status + * @return mixed + */ + public function failed($message, $code = FoundationResponse::HTTP_BAD_REQUEST, $status = 'error') + { + return $this->setStatusCode($code)->message($message, $status); + } + + /** + * @param $message + * @param string $status + * @return mixed + */ + public function message($message, $status = "success") + { + if(!is_array($message)) { + $message = [$message]; + } + return $this->status($status, [ + 'message' => $message + ]); + } + + /** + * @param string $message + * @return mixed + */ + public function internalError($message = "Internal Error!") + { + return $this->failed($message, FoundationResponse::HTTP_INTERNAL_SERVER_ERROR); + } + + /** + * @param string $message + * @return mixed + */ + public function created($message = "created") + { + return $this->setStatusCode(FoundationResponse::HTTP_CREATED) + ->message($message); + } + + /** + * @param $data + * @param string $status + * @return mixed + */ + public function success($data=[], $status = "success") + { + return $this->status($status, compact('data')); + } + + /** + * @param string $message + * @return mixed + */ + public function notFond($message = 'Not Fond!') + { + return $this->failed($message, Foundationresponse::HTTP_NOT_FOUND); + } +} + + diff --git a/app/Http/Helpers/ExceptionReport.php b/app/Http/Helpers/ExceptionReport.php new file mode 100644 index 0000000..6cf3062 --- /dev/null +++ b/app/Http/Helpers/ExceptionReport.php @@ -0,0 +1,114 @@ +request = $request; + $this->exception = $exception; + } + + /** + * @var array + */ + //当抛出这些异常时,可以使用我们定义的错误信息与HTTP状态码 + //可以把常见异常放在这里 + public $doReport = [ + AuthenticationException::class => ['未登录或登录状态失效', 401], + ModelNotFoundException::class => ['该模型未找到', 404], + AuthorizationException::class => ['没有此权限', 403], + ValidationException::class => [], + UnauthorizedHttpException::class => ['未登录或登录状态失效', 401], +// TokenInvalidException::class => ['未登录或登录状态失效', 401], + NotFoundHttpException::class => ['没有找到该页面', 404], + MethodNotAllowedHttpException::class => ['访问方式不正确', 405], + ErrorException::class => ['服务器内部错误', 500], + QueryException::class => ['参数错误', 400], + ]; + + public function register($className, callable $callback) + { + + $this->doReport[$className] = $callback; + } + + /** + * @return bool + */ + public function shouldReturn() + { + foreach (array_keys($this->doReport) as $report) { + if ($this->exception instanceof $report) { + $this->report = $report; + return true; + } + } + + return false; + + } + + /** + * @param Exception $e + * @return static + */ + public static function make(Exception $e) + { + + return new static(\request(), $e); + } + + /** + * @return mixed + */ + public function report() + { + if ($this->exception instanceof ValidationException) { + return $this->failed(current($this->exception->errors()), $this->exception->status); + } + $message = $this->doReport[$this->report]; + return $this->failed($message[0], $message[1]); + } + + public function prodReport() + { + return $this->failed('服务器错误', '500'); + } +} + diff --git a/app/Http/Libraries/ExcelUtil/export.php b/app/Http/Libraries/ExcelUtil/export.php new file mode 100644 index 0000000..ca14df2 --- /dev/null +++ b/app/Http/Libraries/ExcelUtil/export.php @@ -0,0 +1,255 @@ +data = $data; + $this->headings = $headings; + $this->createData(); + } + + public function headings(): array + { + return $this->headings; + } + + //数组转集合 + public function collection() + { + return new Collection($this->data); + } + //业务代码 + public function createData() + { + $this->data = collect($this->data)->toArray(); + } + + public function registerEvents(): array + { + return [ + AfterSheet::class => function(AfterSheet $event) { + //设置sheet页名称 + $event->getSheet()->getDelegate()->setTitle($this->sheetName); + + //设置自动换行 + foreach ($this->wrapText as $column => $bool) { + $event->sheet->getDelegate() + ->getStyle($column) + ->getAlignment() + ->setWrapText(true); + } + //设置列宽 + foreach ($this->columnWidth as $column => $width) { + $event->sheet->getDelegate() + ->getColumnDimension($column) + ->setWidth($width); + } + //设置行高,$i为数据行数 + foreach ($this->rowHeight as $row => $height) { + $event->sheet->getDelegate() + ->getRowDimension($row) + ->setRowHeight($height); + } + + //设置区域单元格垂直居中 + foreach ($this->vertical as $region => $position) { + $event->sheet->getDelegate() + ->getStyle($region) + ->getAlignment() + ->setVertical($position); + } + + //设置区域单元格水平定位 + foreach ($this->horizontal as $region => $position) { + $event->sheet->getDelegate() + ->getStyle($region) + ->getAlignment() + ->setHorizontal($position); + } + + //设置区域单元格字体 + foreach ($this->font as $region => $value) { + $event->sheet->getDelegate() + ->getStyle($region) + ->getFont() + ->setSize($value); + } + + //设置区域单元格字体粗体 + foreach ($this->bold as $region => $bool) { + $event->sheet->getDelegate() + ->getStyle($region) + ->getFont() + ->setBold($bool); + } + + + //设置区域单元格背景颜色 + foreach ($this->background as $region => $item) { + $event->sheet->getDelegate()->getStyle($region)->applyFromArray([ + 'fill' => [ + 'fillType' => 'linear', //线性填充,类似渐变 + 'startColor' => [ + 'rgb' => $item //初始颜色 + ], + //结束颜色,如果需要单一背景色,请和初始颜色保持一致 + 'endColor' => [ + 'argb' => $item + ] + ] + ]); + } + //合并单元格 + foreach ($this->mergeCells as $start => $end) { + $event->sheet->getDelegate()->mergeCells($start.':'.$end); + } + + } + ]; + } + + /** + * @return array + * @2020/3/22 10:33 + */ + public function setSheetName(string $sheetName) + { + $this->sheetName = trim($sheetName); + } + + /** + * @return array + * @2020/3/22 10:33 + * [ + * A1:K7 => true + * ] + */ + public function setWrapText (array $wrapText) + { + $this->wrapText = array_change_key_case($this->symbol($wrapText),CASE_UPPER); + } + + /** + * @return array + * @2020/3/22 10:33 + * [ + * A1:K7 => center + * ] + */ + public function setVertical (array $vertical) + { + $this->vertical = array_change_key_case($this->symbol($vertical),CASE_UPPER); + } + + /** + * @return array + * @2020/3/22 10:33 + * [ + * A1:K7 => center + * ] + */ + public function setHorizontal (array $horizontal) + { + $this->horizontal = array_change_key_case($this->symbol($horizontal),CASE_UPPER); + } + + + /** + * @return array + * @2020/3/22 10:33 + * [ + * 'B' => 40, + * 'C' => 60 + * ] + */ + public function setColumnWidth (array $columnwidth) + { + $this->columnWidth = array_change_key_case($columnwidth, CASE_UPPER); + } + + /** + * @return array + * @2020/3/22 10:33 + * [ + * 1 => 40, + * 2 => 60 + * ] + */ + public function setRowHeight (array $rowHeight) + { + $this->rowHeight = $rowHeight; + } + + /** + * @return array + * @2020/3/22 10:33 + * [ + * A1:K7 => 12 + * ] + */ + public function setFont (array $fount) + { + $this->font = array_change_key_case($fount, CASE_UPPER); + } + + /** + * @return array + * @2020/3/22 10:33 + * [ + * A1:K7 => true + * ] + */ + public function setBold (array $bold) + { + $this->bold = array_change_key_case($bold, CASE_UPPER); + } + + /** + * @return array + * @2020/3/22 10:33 + * [ + * A1:K7 => F0FF0F + * ] + */ + public function setBackground (array $background) + { + $this->background = array_change_key_case($background, CASE_UPPER); + } + + + public function symbol ($param) { + $record = []; + $count = count($this->data) + 1;//加上表头 + foreach ($param as $key => $value) { + $str = str_replace("*", $count, $key); + $record[$str] = $value; + } + return $record; + } +} diff --git a/app/Http/Libraries/ExcelUtil/import.php b/app/Http/Libraries/ExcelUtil/import.php new file mode 100644 index 0000000..158d368 --- /dev/null +++ b/app/Http/Libraries/ExcelUtil/import.php @@ -0,0 +1,29 @@ +delTitle = $delTitle; + } + + + public function collection(Collection $rows) + { + $this->delTitle($rows); + //$rows 是数组格式 + $this->data = $rows; + } + + public function delTitle (&$rows) { + $rows = $rows->slice($this->delTitle)->values(); + } +} diff --git a/app/Models/BusinessOrderServer.php b/app/Models/BusinessOrderServer.php new file mode 100644 index 0000000..b9db10f --- /dev/null +++ b/app/Models/BusinessOrderServer.php @@ -0,0 +1,22 @@ +exists) { + } else { + $this->lasted_at = Carbon::now(); + } + parent::save($options); + } +} \ No newline at end of file diff --git a/app/Models/GoodsType.php b/app/Models/GoodsType.php index 53c496b..4f3f1c3 100644 --- a/app/Models/GoodsType.php +++ b/app/Models/GoodsType.php @@ -1,9 +1,10 @@ redis = app('redis.connection'); + $this->redis->auth(env('REDIS_PASSWORD','123456')); + } + + /*****************hash表操作函数*******************/ + + /** + * hGet 得到hash表中一个字段的值 + * @param string $key 缓存key + * @param string $field 字段 + * @return mixed string|false + */ + public function hGet($key, $field) + { + return $this->redis->hGet($key, $field); + } + + /** + * 为hash表设定一个字段的值 + * @param string $key 缓存key + * @param string $field 字段 + * @param string $value 值。 + * @return bool + */ + public function hSet($key, $field, $value) + { + return $this->redis->hSet($key,$field,$value); + } + + /** + * hExists 判断hash表中,指定field是不是存在 + * @param string $key 缓存key + * @param string $field 字段 + * @return bool + */ + public function hExists($key, $field) + { + return $this->redis->hExists($key, $field); + } + + + /** + * hDel 删除hash表中指定字段 ,支持批量删除 + * @param string $key 缓存key + * @param string $field 字段 + * @return int + */ + public function hDel($key, $field) + { + $fieldArr = explode(',', $field); + $delNum = 0; + + foreach($fieldArr as $row) + { + $row = trim($row); + $delNum += $this->redis->hDel($key,$row); + } + + return $delNum; + } + + /** + * hLen 返回hash表元素个数 + * @param string $key 缓存key + * @return int|bool + */ + public function hLen($key) + { + return $this->redis->hLen($key); + } + + /** + * hSetNx 为hash表设定一个字段的值,如果字段存在,返回false + * @param string $key 缓存key + * @param string $field 字段 + * @param string $value 值。 + * @return bool + */ + public function hSetNx($key, $field, $value) + { + return $this->redis->hSetNx($key, $field, $value); + } + + /** + * hMset 为hash表多个字段设定值。 + * @param string $key + * @param array $value + * @return array|bool + */ + public function hMset($key, $value) + { + if(!is_array($value)) + return false; + return $this->redis->hMset($key, $value); + } + + /** + * hMget 为hash表多个字段设定值。 + * @param string $key + * @param array|string $value string以','号分隔字段 + * @return array|bool + */ + public function hMget($key, $value) + { + if(!is_array($value)) + $value = explode(',', $value); + return $this->redis->hMget($key, $value); + } + + /** + * hIncrBy 为hash表设这累加,可以负数 + * @param string $key + * @param int $field + * @param string $value + * @return bool + */ + public function hIncrBy($key, $field, $value) + { + $value = intval($value); + return $this->redis->hIncrBy($key, $field, $value); + } + + /** + * hKeys 返回所有hash表的所有字段 + * @param string $key + * @return array|bool + */ + public function hKeys($key) + { + return $this->redis->hKeys($key); + } + + /** + * hVals 返回所有hash表的字段值,为一个索引数组 + * @param string $key + * @return array|bool + */ + public function hVals($key) + { + return $this->redis->hVals($key); + } + + /** + * hGetAll 返回所有hash表的字段值,为一个关联数组 + * @param string $key + * @return array|bool + */ + public function hGetAll($key) + { + return $this->redis->hGetAll($key); + } + + /*********************有序集合操作*********************/ + + /** + * zAdd 给当前集合添加一个元素 + * 如果value已经存在,会更新order的值。 + * @param string $key + * @param string $order 序号 + * @param string $value 值 + * @return bool + */ + public function zAdd($key, $order, $value) + { + return $this->redis->zAdd($key, $order, $value); + } + + /** + * zincrby 给$value成员的order值,增加$num,可以为负数 + * @param string $key + * @param string $num 序号 + * @param string $value 值 + * @return mixed 返回新的order + */ + public function zincrby($key, $num, $value) + { + return $this->redis->zincrby($key, $num, $value); + } + public function incrby($key, $num=1) + { + return $this->redis->incrby($key,$num); + } + + /** + * zRem 删除值为value的元素 + * @param string $key + * @param string $value + * @return bool + */ + public function zRem($key, $value) + { + return $this->redis->zRem($key, $value); + } + + /** + * zRange 集合以order递增排列后,0表示第一个元素,-1表示最后一个元素 + * @param string $key + * @param int $start + * @param int $end + * @return mixed array|bool + */ + public function zRange($key, $start, $end) + { + return $this->redis->zRange($key, $start, $end); + } + + /** + * zRevRange 集合以order递减排列后,0表示第一个元素,-1表示最后一个元素 + * @param string $key + * @param int $start + * @param int $end + * @return array|bool + */ + public function zRevRange($key, $start, $end) + { + return $this->redis->zRevRange($key, $start, $end); + } + + /** + * 集合以order递增排列后,返回指定order之间的元素。 + * min和max可以是-inf和+inf 表示最大值,最小值 + * @param string $key + * @param int $start '-inf' + * @param int $end "+inf" + * @param array $option 参数 package + * withscores=>true,表示数组下标为Order值,默认返回索引数组 + * limit=>array(0,1) 表示从0开始,取一条记录。 + * @return array|bool + */ + public function zRangeByScore($key, $start = 0, $end = 0, $option = []) + { + return $this->redis->zRangeByScore($key, $start, $end, $option); + } + + /** + * 集合以order递减排列后,返回指定order之间的元素。 + * min和max可以是-inf和+inf 表示最大值,最小值 + * @param string $key + * @param int $start '-inf' + * @param int $end "+inf" + * @param array $option 参数 package + * withscores=>true,表示数组下标为Order值,默认返回索引数组 + * limit=>array(0,1) 表示从0开始,取一条记录。 + * @return array|bool + */ + public function zRevRangeByScore($key, $start = 0, $end = 0, $option = []) + { + return $this->redis->zRevRangeByScore($key,$start,$end,$option); + } + + /** + * zCount 返回order值在start end之间的数量 + * @param $key + * @param $start + * @param $end + * @return mixed + */ + public function zCount($key, $start, $end) + { + return $this->redis->zCount($key, $start, $end); + } + + /** + * zScore 返回值为value的order值 + * @param $key + * @param $value + * @return mixed + */ + public function zScore($key, $value) + { + return $this->redis->zScore($key, $value); + } + + /** + * zRank 返回集合以score递增加排序后,指定成员的排序号,从0开始。 + * @param $key + * @param $value + * @return mixed + */ + public function zRank($key,$value) + { + return $this->redis->zRank($key,$value); + } + + /** + * zRevRank 返回集合以score递增加排序后,指定成员的排序号,从0开始。 + * @param $key + * @param $value + * @return mixed + */ + public function zRevRank($key,$value) + { + return $this->redis->zRevRank($key,$value); + } + + /** + * zRemRangeByScore 删除集合中,score值在start end之间的元素 包括start end + * min和max可以是-inf和+inf 表示最大值,最小值 + * @param $key + * @param $start + * @param $end + * @return mixed 删除成员的数量 + */ + public function zRemRangeByScore($key,$start,$end) + { + return $this->redis->zRemRangeByScore($key,$start,$end); + } + + /** + * zCard 返回集合元素个数 + * @param $key + * @return mixed + */ + public function zCard($key) + { + return $this->redis->zCard($key); + } + /*********************队列操作命令************************/ + + /** + * rPush 在队列尾部插入一个元素 + * @param $key + * @param $value + * @return mixed 返回队列长度 + */ + public function rPush($key,$value) + { + return $this->redis->rPush($key,$value); + } + + /** + * rPushx 在队列尾部插入一个元素 如果key不存在,什么也不做 + * @param $key + * @param $value + * @return mixed 返回队列长度 + */ + public function rPushx($key,$value) + { + return $this->redis->rPushx($key,$value); + } + + /** + * lPush 在队列头部插入一个元素 + * @param $key + * @param $value + * @return mixed 返回队列长度 + */ + public function lPush($key,$value) + { + return $this->redis->lPush($key,$value); + } + + /** + * lPushx 在队列头插入一个元素 如果key不存在,什么也不做 + * @param $key + * @param $value + * @return mixed 返回队列长度 + */ + public function lPushx($key,$value) + { + return $this->redis->lPushx($key,$value); + } + + /** + * lLen 返回队列长度 + * @param $key + * @return mixed + */ + public function lLen($key) + { + return $this->redis->lLen($key); + } + + /** + * lRange 返回队列指定区间的元素 + * @param $key + * @param $start + * @param $end + * @return mixed + */ + public function lRange($key,$start,$end) + { + return $this->redis->lrange($key,$start,$end); + } + + /** + * lIndex 返回队列中指定索引的元素 + * @param $key + * @param $index + * @return mixed + */ + public function lIndex($key,$index) + { + return $this->redis->lIndex($key,$index); + } + + /** + * lSet 设定队列中指定index的值。 + * @param $key + * @param $index + * @param $value + * @return mixed + */ + public function lSet($key,$index,$value) + { + return $this->redis->lSet($key,$index,$value); + } + + /** + * lRem 删除值为value的count个元素 + * PHP-REDIS扩展的数据顺序与命令的顺序不太一样,不知道是不是bug + * count>0 从尾部开始 + * >0 从头部开始 + * =0 删除全部 + * @param $key + * @param $count + * @param $value + * @return mixed + */ + public function lRem($key,$count,$value) + { + return $this->redis->lRem($key,$value,$count); + } + + /** + * lPop 删除并返回队列中的头元素 + * Created by PhpStorm. + * User: w + * Date: 2018-12-09 + * Time: 12:13 + * @param $key + * @return mixed + */ + public function lPop($key) + { + return $this->redis->lPop($key); + } + + /** + * rPop 删除并返回队列中的尾元素 + * @param $key + * @return mixed + */ + public function rPop($key) + { + return $this->redis->rPop($key); + } + + /*************redis字符串操作命令*****************/ + + /** + * set 设置一个key + * @param $key + * @param $value + * @return mixed + */ + public function set($key,$value) + { + return $this->redis->set($key,$value); + } + + /** + * get 得到一个key + * @param $key + * @return mixed + */ + public function get($key) + { + return $this->redis->get($key); + } + + /** + * setex 设置一个有过期时间的key + * @param $key + * @param $expire + * @param $value + * @return mixed + */ + public function setex($key,$expire,$value) + { + return $this->redis->setex($key,$expire,$value); + } + + /** + * setnx 设置一个key,如果key存在,不做任何操作. + * @param $key + * @param $value + * @return mixed + */ + public function setnx($key,$value) + { + return $this->redis->setnx($key,$value); + } + + /** + * mset 批量设置key + * @param $arr + * @return mixed + */ + public function mset($arr) + { + return $this->redis->mset($arr); + } + + /*************redis 无序集合操作命令*****************/ + + /** + * sMembers 返回集合中所有元素 + * @param $key + * @return mixed + */ + public function sMembers($key) + { + return $this->redis->sMembers($key); + } + + /** + * sDiff 求2个集合的差集 + * @param $key1 + * @param $key2 + * @return mixed + */ + public function sDiff($key1,$key2) + { + return $this->redis->sDiff($key1,$key2); + } + + /** + * sAdd 添加集合。由于版本问题,扩展不支持批量添加。 + * @param $key + * @param string|array $value + */ + public function sAdd($key,$value) + { + if(!is_array($value)) + $arr = array($value); + else + $arr = $value; + + foreach($arr as $row) + $this->redis->sAdd($key,$row); + } + + /** + * scard 返回无序集合的元素个数 + * Created by PhpStorm. + * @param $key + * @return mixed + */ + public function scard($key) + { + return $this->redis->scard($key); + } + + /** + * srem 从集合中删除一个元素 + * @param $key + * @param $value + * @return mixed + */ + public function srem($key,$value) + { + return $this->redis->srem($key,$value); + } + + /*************redis管理操作命令*****************/ + + /** + * 选择数据库 + * @param int $dbId 数据库ID号 + * @return bool + */ + public function select($dbId) + { + $this->dbId = $dbId; + return $this->redis->select($dbId); + } + + /** + * 清空当前数据库 + * @return bool + */ + public function flushDB() + { + return $this->redis->flushDB(); + } + + /** + * info 返回当前库状态 + * @return string + */ + public function info() + { + return $this->redis->info(); + } + + /** + * 同步保存数据到磁盘 + */ + public function save() + { + return $this->redis->save(); + } + + /** + * 异步保存数据到磁盘 + */ + public function bgSave() + { + return $this->redis->bgSave(); + } + + /** + * 返回最后保存到磁盘的时间 + */ + public function lastSave() + { + return $this->redis->lastSave(); + } + + /** + * 返回key,支持*多个字符,?一个字符 + * 只有* 表示全部 + * @param string $key + * @return array + */ + public function keys($key) + { + return $this->redis->keys($key); + } + + /** + * del 删除指定key + * @param $key + * @return mixed + */ + public function del($key) + { + return $this->redis->del($key); + } + + /** + * exists 判断一个key值是不是存在 + * @param $key + * @return mixed + */ + public function exists($key) + { + return $this->redis->exists($key); + } + + /** + * expire 为一个key设定过期时间 单位为秒 + * @param $key + * @param $expire + * @return mixed + */ + public function expire($key,$expire) + { + return $this->redis->expire($key,$expire); + } + + /** + * ttl 返回一个key还有多久过期,单位秒 + * @param $key + * @return mixed + */ + public function ttl($key) + { + return $this->redis->ttl($key); + } + + /** + * expireAt 设定一个key什么时候过期,time为一个时间戳 + * @param $key + * @param $time + * @return mixed + */ + public function expireAt($key,$time) + { + return $this->redis->expireAt($key,$time); + } + + /** + * 关闭服务器链接 + */ + public function close() + { + return $this->redis->close(); + } + + /** + * 关闭所有连接 + */ + public static function closeAll() + { + foreach(static::$_instance as $o) + { + if($o instanceof self) + $o->close(); + } + } + + /** 这里不关闭连接,因为session写入会在所有对象销毁之后。 + public function __destruct() + { + return $this->redis->close(); + } + **/ + /** + * 返回当前数据库key数量 + */ + public function dbSize() + { + return $this->redis->dbSize(); + } + + /** + * 返回一个随机key + */ + public function randomKey() + { + return $this->redis->randomKey(); + } + + /** + * 得到当前数据库ID + * @return int + */ + public function getDbId() + { + return $this->dbId; + } + + /** + * 返回当前密码 + */ + public function getAuth() + { + return $this->auth; + } + + public function getHost() + { + return $this->host; + } + + public function getPort() + { + return $this->port; + } + + public function getConnInfo() + { + return [ + 'host' => $this->host, + 'port' => $this->port, + 'auth' => $this->auth + ]; + } + /*********************事务的相关方法************************/ + + /** + * watch 监控key,就是一个或多个key添加一个乐观锁 + * 在此期间如果key的值如果发生的改变,刚不能为key设定值 + * 可以重新取得Key的值。 + * @param $key + * @return mixed + */ + public function watch($key) + { + return $this->redis->watch($key); + } + + /** + * 取消当前链接对所有key的watch + * EXEC 命令或 DISCARD 命令先被执行了的话,那么就不需要再执行 UNWATCH 了 + */ + public function unwatch() + { + return $this->redis->unwatch(); + } + + /** + * multi 开启一个事务 + * 事务的调用有两种模式Redis::MULTI和Redis::PIPELINE, + * 默认是Redis::MULTI 模式, + * Redis::PIPELINE管道模式速度更快,但没有任何保证原子性有可能造成数据的丢失 + * @param $type + * @return mixed + */ + public function multi($type = \Redis::MULTI) + { + return $this->redis->multi($type); + } + + /** + * 执行一个事务 + * 收到 EXEC 命令后进入事务执行,事务中任意命令执行失败,其余的命令依然被执行 + */ + public function exec() + { + return $this->redis->exec(); + } + + /** + * 回滚一个事务 + */ + public function discard() + { + return $this->redis->discard(); + } + + /** + * 测试当前链接是不是已经失效 + * 没有失效返回+PONG + * 失效返回false + */ + public function ping() + { + return $this->redis->ping(); + } + + public function auth($auth) + { + return $this->redis->auth($auth); + } + + /*********************自定义的方法,用于简化操作************************/ + + /** + * hashAll 得到一组的ID号 + * @param $prefix + * @param $ids + * @return array|bool + */ + public function hashAll($prefix,$ids) + { + if($ids == false) + return false; + + if( is_string($ids) ) + $ids = explode(',', $ids); + + $arr = []; + foreach($ids as $id) { + $key = $prefix.'.'.$id; + $res = $this->hGetAll($key); + if($res != false) + $arr[] = $res; + } + + return $arr; + } + + /** + * pushMessage 生成一条消息,放在redis数据库中。使用0号库。 + * @param $lkey + * @param string|array $msg + * @return string + */ + public function pushMessage($lkey, $msg) + { + if(is_array($msg)) + $msg = json_encode($msg); + + $key = md5($msg); + + //如果消息已经存在,删除旧消息,已当前消息为准 + //echo $n=$this->lRem($lkey, 0, $key)."\n"; + //重新设置新消息 + $this->lPush($lkey, $key); + $this->setex($key, 3600, $msg); + return $key; + } + + /** + * delKeys 得到条批量删除key的命令 + * @param $keys + * @param $dbId + * @return string + */ + public function delKeys($keys,$dbId) + { + $redisInfo = $this->getConnInfo(); + $cmdArr = [ + 'redis-cli', + '-a', + $redisInfo['auth'], + '-h', + $redisInfo['host'], + '-p', + $redisInfo['port'], + '-n', + $dbId, + ]; + $redisStr = implode(' ', $cmdArr); + $cmd = "{$redisStr} KEYS \"{$keys}\" | xargs {$redisStr} del"; + return $cmd; + } +} diff --git a/app/Services/Business/BusinessClient.php b/app/Services/Business/BusinessClient.php index 314e6ef..9f3764b 100644 --- a/app/Services/Business/BusinessClient.php +++ b/app/Services/Business/BusinessClient.php @@ -7,12 +7,15 @@ use App\Events\BusinessOrdersUpdate; use App\Models\BusinessGoodsSku; use App\Models\BusinessOrder; use App\Models\BusinessOrderItem; +use App\Models\BusinessOrderServer; use App\Models\GoodsSku; use App\Models\Log; use App\Models\Shop; +use App\Pool\Core\Redis; use GuzzleHttp\Client; use Illuminate\Support\Facades\Auth; use GuzzleHttp\Promise; +use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Log as LogFile; abstract class BusinessClient @@ -37,6 +40,7 @@ abstract class BusinessClient abstract public function incrQuantity($businessGoodsSku, $num, $incremental); abstract public function downloadOrdersAndSave($beginTime, $endTime, $downloadType = 'default', $page = 1); + abstract public function downloadOrdersAndSaveServer($beginTime, $endTime, $page = 1); public function saveOrders($orders) { @@ -101,6 +105,41 @@ abstract class BusinessClient $orderRecord->save(); } } + public function saveOrdersServer($orders) + { + $shopId = $this->getShop()->id; + $model=new BusinessOrderServer(); + $redis=new Redis(); + foreach ($orders as $k=>$v){ + $key='orderReturn::'.$v['order_sn']; + if (!$redis->exists($key)){ + $redis->set($key,md5(json_encode($v))); + $model->shop_id=$shopId; +// $model->refund_amount=number_format($v['apply_extension']['refund_amount']/100,2); + $model->refund_amount=$v['apply_extension']['refund_amount']; + $model->refund_shipping_amount=$v['apply_extension']['refund_shipping_amount']; + $model->description=$v['apply_extension']['description']; + $model->reason=$v['apply_extension']['reason']; + $model->sub_extensions=isset($v['apply_extension']['sub_extensions'])?json_encode($v['apply_extension']['sub_extensions']):''; + $model->order_sn=$v['order_sn']; + $model->after_sales_status=$v['after_sales_status']; + $model->apply_type=$v['apply_type']; + $model->created_at=$v['created_at']; + $model->updated_at=$v['updated_at']; + $model->save(); + if (isset($v['apply_extension']['sub_extensions'])){ + $arr=$v['apply_extension']['sub_extensions']; + foreach ($arr as $k1=>$v1){ + $v1[$k1]['shop_id']=$shopId; + $v1[$k1]['order_sn']=$v['order_sn']; + $v1[$k1]['business_order_server_id']=$model->id; + } + DB::table('business_order_server_item')->insert($arr); + } + } + + } + } public function authCallback($code, $shop) { @@ -156,12 +195,12 @@ abstract class BusinessClient if (strlen($paramsJson) > 1024) { $paramsJson = ''; } - if (!in_array($params['type'], ['pdd.ktt.increment.order.query', 'pdd.ktt.order.list'], true)) { + if (!in_array($params['type'], ['pdd.ktt.increment.order.query', 'pdd.ktt.order.list','pdd.ktt.after.sales.increment.list'], true)) { $log = new Log(); $log->module = 'plat'; $log->action = $method; - $log->target_type = $this->getShop()->plat_id . '--' . $this->getShop()->name; - $log->target_id = $this->getShop()->id; + $log->target_type = 2 . '--' . '花甜悦事'; + $log->target_id = 2; $log->target_field = $params['type']; $log->user_id = Auth::id() ?? 999; if ($size < 48000) { @@ -171,7 +210,7 @@ abstract class BusinessClient } $log->save(); } - if (in_array($params['type'], ['pdd.ktt.increment.order.query', 'pdd.ktt.order.list'], true)) { + if (in_array($params['type'], ['pdd.ktt.increment.order.query', 'pdd.ktt.order.list','pdd.ktt.after.sales.increment.list'], true)) { LogFile::info('快团团请求: ' . $paramsJson); LogFile::info('快团团返回: ' . json_encode($res, 256)); } diff --git a/app/Services/Business/KuaiTuanTuan/KuaiTuanTuan.php b/app/Services/Business/KuaiTuanTuan/KuaiTuanTuan.php index c10ee0b..056561c 100644 --- a/app/Services/Business/KuaiTuanTuan/KuaiTuanTuan.php +++ b/app/Services/Business/KuaiTuanTuan/KuaiTuanTuan.php @@ -122,6 +122,23 @@ class KuaiTuanTuan extends BusinessClient $this->downloadOrdersAndSave($beginTime, $endTime, $downloadType, $page + 1); } } + public function downloadOrdersAndSaveServer($beginTime, $endTime, $page = 1) + { + [$type, $appendParams] = OrderServer::getIncrementOrdersServer($beginTime, $endTime, $page); + $responseName = 'ktt_after_sales_incermet_list_response'; + $res = $this->doRequest($type, $appendParams); + if (!isset($res[$responseName])) { + return; + } + $this->saveOrdersServer($res[$responseName]['list']); + if ($res[$responseName]['has_next']==false){ + return; + } + $pageNum = ceil($res[$responseName]['total_count'] / $appendParams['page_size']); + if ($pageNum > $page && 30 >= $page) { + $this->downloadOrdersAndSaveServer($beginTime, $endTime, $page + 1); + } + } public function getOrderInfo($orderSn) { diff --git a/app/Services/Business/KuaiTuanTuan/Order.php b/app/Services/Business/KuaiTuanTuan/Order.php index 6d12091..5337e14 100644 --- a/app/Services/Business/KuaiTuanTuan/Order.php +++ b/app/Services/Business/KuaiTuanTuan/Order.php @@ -92,5 +92,6 @@ class Order return [$type, $appendParams]; } + } diff --git a/app/Services/Business/KuaiTuanTuan/OrderServer.php b/app/Services/Business/KuaiTuanTuan/OrderServer.php new file mode 100644 index 0000000..d608f37 --- /dev/null +++ b/app/Services/Business/KuaiTuanTuan/OrderServer.php @@ -0,0 +1,20 @@ + $beginTime, // 更新起始时间 + 'end_updated_at' => $endTime, // 更新结束时间 + 'page_number' => $page, // 页码 + 'page_size' => 100, // 数量 + ]; + + return [$type, $appendParams]; + } +} \ No newline at end of file diff --git a/app/Utils/UploadUtils.php b/app/Utils/UploadUtils.php index caaba2c..10a5b56 100644 --- a/app/Utils/UploadUtils.php +++ b/app/Utils/UploadUtils.php @@ -2,11 +2,15 @@ namespace App\Utils; +use App\Imports\CombinationGoodsImport; use Illuminate\Http\UploadedFile; use Intervention\Image\Facades\Image; +use Maatwebsite\Excel\Events\ImportFailed; +use Maatwebsite\Excel\Facades\Excel; use OSS\Core\OssException; use OSS\OssClient; use Illuminate\Support\Str; +use App\Http\Libraries\ExcelUtil\import; class UploadUtils { @@ -119,5 +123,19 @@ class UploadUtils { return config('filesystems.disks.aliyun.url') . $filePath; } + public static function uploadExcel ($file){ + if($file->isValid()){ + $vailExtension = ['xlsx','xls']; + if(! in_array($file->getClientOriginalExtension() ,$vailExtension) ){ + throw new \Exception("文件格式错误"); + } + +// return Excel::toArray(new Import, $file)[0]; + return Excel::toArray($file)[0]; + }else{ + throw new \Exception("文件无效"); + } + } + } diff --git a/composer.json b/composer.json index 4bbc05d..59875f9 100644 --- a/composer.json +++ b/composer.json @@ -17,6 +17,7 @@ "laravel/framework": "^6.20.26", "laravel/tinker": "^2.5", "maatwebsite/excel": "^3.1", + "predis/predis": "^2.2", "spatie/laravel-permission": "*" }, "require-dev": { diff --git a/composer.lock b/composer.lock index 7144aa9..46407ce 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "037b06c1b26399725a1d9c0687402942", + "content-hash": "964631bbee47f895975146a783331c50", "packages": [ { "name": "aliyuncs/oss-sdk-php", @@ -2587,6 +2587,73 @@ ], "time": "2022-07-30T15:51:26+00:00" }, + { + "name": "predis/predis", + "version": "v2.2.2", + "source": { + "type": "git", + "url": "https://github.com/predis/predis.git", + "reference": "b1d3255ed9ad4d7254f9f9bba386c99f4bb983d1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/predis/predis/zipball/b1d3255ed9ad4d7254f9f9bba386c99f4bb983d1", + "reference": "b1d3255ed9ad4d7254f9f9bba386c99f4bb983d1", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^3.3", + "phpstan/phpstan": "^1.9", + "phpunit/phpunit": "^8.0 || ~9.4.4" + }, + "suggest": { + "ext-relay": "Faster connection with in-memory caching (>=0.6.2)" + }, + "type": "library", + "autoload": { + "psr-4": { + "Predis\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Till Krüss", + "homepage": "https://till.im", + "role": "Maintainer" + } + ], + "description": "A flexible and feature-complete Redis client for PHP.", + "homepage": "http://github.com/predis/predis", + "keywords": [ + "nosql", + "predis", + "redis" + ], + "support": { + "issues": "https://github.com/predis/predis/issues", + "source": "https://github.com/predis/predis/tree/v2.2.2" + }, + "funding": [ + { + "url": "https://github.com/sponsors/tillkruss", + "type": "github" + } + ], + "time": "2023-09-13T16:42:03+00:00" + }, { "name": "psr/container", "version": "1.1.1", diff --git a/config/database.php b/config/database.php index 37c396d..b262b88 100644 --- a/config/database.php +++ b/config/database.php @@ -58,8 +58,16 @@ return [ 'prefix_indexes' => true, 'strict' => true, 'engine' => null, + 'modes' => [ + 'STRICT_ALL_TABLES', + 'ERROR_FOR_DIVISION_BY_ZERO', + 'NO_ZERO_DATE', + 'NO_ZERO_IN_DATE', + 'NO_AUTO_CREATE_USER', + ], 'options' => extension_loaded('pdo_mysql') ? array_filter([ PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'), + PDO::MYSQL_ATTR_INIT_COMMAND => 'SET sql_mode=(SELECT REPLACE(@@sql_mode, "ONLY_FULL_GROUP_BY", ""))' ]) : [], ], diff --git a/resources/frontend/.env b/resources/frontend/.env new file mode 100644 index 0000000..328895f --- /dev/null +++ b/resources/frontend/.env @@ -0,0 +1,5 @@ +# VUE_APP_BASE_URL=http://cf-erp.com +VUE_APP_BASE_URL=https://erp.lookthere.cn +VUE_APP_BASE_URL_UPLOAD=http://cf-erp.com/upload/ +VUE_APP_API_PROXY_PREFIX=/api +VUE_APP_API_NODE=development \ No newline at end of file diff --git a/resources/frontend/package.json b/resources/frontend/package.json index f5a8137..09002cd 100644 --- a/resources/frontend/package.json +++ b/resources/frontend/package.json @@ -10,9 +10,13 @@ "dependencies": { "axios": "^0.21.1", "core-js": "^3.6.5", + "echarts": "^5.5.0", + "element-china-area-data": "^6.1.0", "element-ui": "^2.15.6", + "lodash": "^4.17.21", "luxon": "^3.4.4", "nprogress": "^0.2.0", + "qs": "^6.12.1", "vue": "^2.6.11", "vue-router": "^3.2.0", "vue-socket.io": "^3.0.10", diff --git a/resources/frontend/src/assets/img/avatar.png b/resources/frontend/src/assets/img/avatar.png new file mode 100644 index 0000000000000000000000000000000000000000..88526ec1583a45a3357f474414c7ecc85d364e9a GIT binary patch literal 91999 zcmV)5K*_&}P)4Tx07!|IR|i;A$rhelQV0nx5CJKnH$i%p-la+h8zBi0N(h0VVn-JhT)U{C zsOSoaf@=X}Q4z7T2==}pqN1#e1sf`Fk^s8yE8jccH+TM=Ip@rO&YiiL0YKiCB@kqw z3IJsCbA=K9Ud*`o1SY8mAOHi(z#dRo>>Pn-cz7^?GS>fH-ra=OP_CJaWBqgdzltJ< zo5KbG35Pg|lf%x0_$UClI$I#j1%S{A^?Gx11!DXbVr3yD2mp~R#wk*)A;w8kY$>sc zitvWm2LLja#S*3fASaH`%wwm(IC27rE%_WCAL3mQyRlPQ9EiIio|KuH1+hF8V&kOm z;-vg7X3}^}7As{OOLLJ3*@u@S$Y9O;Kg;pIB{M@bHis^3)Kp`$I7`G{t?nTV~29`BFB8M z=E4OgtpoNbjWsn~${%|t$PJH@a>H>D47`C4U;+_rNgxZP0ba*I!vOpx9q|J!AOtCZ z3(Q9~V;-@R5k7oIf_(5NL|l+F?&l>L<$^q@|1z$XKFvY0WHe9Wkq(|foQbRBZnz5` z44)pbS>ukl)0iJqer#5vFVTk>K=dP;jPqba))}w~0q@`Ff?&^u*@?OE$8z`8dO1@$yHOTN<8Q`$-0H_D-rv=T1N)#K zEwPo@5$rs68oP)!V-0|box&QicI<>0kFSKsl9ezvTZDvLI*h{`v$3qP?6>^G$%#-SH@q+*;KpyT4HJ}CbfHBO; z8vcv801w~`rh+gK1>(UhSoKtp30cnp3&2uP2#Ucvuo;wsonQ~B0tdli&;XjjX>bl) z2A$vrxChrpA9w)qwiWC5}a zDMmIRrO0li8u=ADj+{m=B3;NGqzCCoUL&7S45gyVs3vNNPDUM3Pc#UPLT92WXf~RU zE=Sj(ThR*i09ucpMlYi`&~EevI)njC7Gq#Km^tQ%d1GN%0+x&ku|-%BR)SSvwOA8; z*VnLaYykU+6LC7u#LeOQ48WstHlB?y!dK&^coklcx8c|D9()l0N}v%m2xbIlLLecI zkV2S4C?u2+_7RQ|&ceOZM|ejh5*b7zq66HU@x(OZeBx^24q_d#h1f;xB@U5DBsG#5 z$(0mFVv%x5g`{ny1Ef==tE4{C2eK?#n`}+?BPWpgI>}Cx<;gCQ z-70%X_JVAW>_@5+)s*T@ok0~**H9~|Ez~>IH#8c}kmf;4pykrm(5h)?Xb)*0qP{CV)rLah$OyRh~ErlUP zx}ue0m|~{lYQ_DE7Zsl=k(3OTe3dv#%a!&hol)wgV{|>bH=RviM&C<6OYc)ADjO*W zDyJzID<4$uP##oKQn6KuQJJe!rgB21n}IP58G(!p##+W<#!bej37Qi;CvYdMnov98 z>V)^I6IDG_xvE8~b*eX1KdCX*eAUv`)~hwBJy6HhP1UEV&rvT|KdU}4QF)@vME1m@ ziH9fN)j%~&H6k?TYwXcz*BH{&()8C9Xl~OyqdB0((DKkq)7qqUQmbE^uI;AH)83?g zO8Yreh3U!6U~Xl$F$Z-tbOLllI=gi`bcS_}bfa|(bnA2<=uz|>^^)~A>9y(&>TBzV z=r7Q((Z6dTW8i3zYOuxNyuo`zBg0t36^0Fl&x}-!0*&&GYK-n1(~RAXvyCf^ubU7} z98J(Fo-7=?|dz$B&*O>QMFf4*C z3M?8dUQX7ZoG^L)l z`si%$oa=np`7al9mvoo?F3+YIP2o=2JEhlE*OleE+qK(`>6YlW%dOj8$DQR~;r_@& z&x7N!&*Q15iD#PU0ne9SmR>@yV_xsQoxK-&xA^Eh&UffkDML3Kk{9aSJc|5d(p?4VU#Ms3BiJw_vtP0jpQee{dq(Qbfdkgyo$Ahzp)6aF~ zZs0ymc1_-p{4B*aWn)Tzs(Wfl>HyE1SIT>p7Lc|x?R|P!dS&`ZMr=l1COI=P^Eh9L zpU!W~(#o2f)g>?!6bibtowGM*4+?{X`*M(+nK_NQ%J8VuE;1JVBmQXiN9j;H{0@^tY|s_PI2*^hTLiS>1Mx?W?xG-@(~&wcMk; zcBkgf;+>y%@pj$b?Z3Oe!my%b4{=Z4o+o=__MZR6@t5j->idfKeW~PEc2`AIwN*P* zSMS%@zqSUg5!Lh`m~o)^eU6cx#hO)3M(yeyeQOX)ZgVa$@aC%E{#?M^5FR8fp== z44h6m-P=05_1>AdGuPXuwRM~gI(y-q-?=mAJ*Q7UtEaE|TswC?@cQK&p*Om2M&G=BYsRha+nn3a z?qu9~bvN(s@VzDX3HOU0C_E^6sPVAk50gLYy6wA9^!W6&KZ<;Gub18X;&IO7&wb0E z(4Le$)qYz2%=%e#zh8gn^Xbp~UI<r04*M#9pF8VA}76nNd%GJ86^n(CoH|ANyHw2N)G^{mjDn9&nV@v z89+>hz4-VYcK~R~ zmfrisLWF1hT_$4G(M|zB%D(_7fNW^O+V-0O000SaNLh0L02U{yZr(Ee$t=Xwk6j*lf@~Mz19xwbCI{QY(J3a z0tm!}00Pq)^1;9S%fEbh@ZiDe>gwv$(7dn@A3g+Z+_dms7K-1p#=?4u+jM1=u6$bF z`1<-fG~(Uf-kxr5ZX%<+?&DKjbts?4(zV>Ud{TaTKqdUozbg`i54Y5pe}=%RPjQ5O z_%QXmx*l7U&(L7cRey0qCp|&kY9meifx0QhQhAi$)dTb$lHlK}&j)acwZ|=KL+zIs z8hIGhBm8WujaLd`tZW4bACd}@h zjgTwOqO^Stp;@tcq2iR6FzXaO)29G{WShu$$1{J>BVV1gm!bU?g22-Uz%fV{e<3Zu zlr386%|EoDp@NOe*tFqNq092}Xe`~%r}!;5-peoX%{LTJ9pvNHAgr{)n!Yc#ym~Ya zP0YJ!>*zFBn^p76PqeYuG{`O^{6Gj5CXH1$-L9{$5Bl&Bhw|H1&khU@G)E_p8=YhH zwo@?h4(ABi`2-35S})6@AN;Ck>pHrH;;7eV?$L|RA&=-tI`xkMpaXe$&LEO9WyAP} z*f98$j-DhF$A)7c>*`=J*CITbpE?hEf1O(L4Kj3_m|#ow0Nlha4}TyES!K?wox#g@ z*Hd{}sVKXOT*Rr5eF3;Sb_F4t^l?;mSl0!4aKdAiAAIDcT&@Jlqqn+qg&%Ss)*<$| z=?ax#4-p8!xD~H~jSVd;t~`1bCSG|r-eIN<;$L3EOVe1Gq5MlD>=LK2;H2XTIny$+ z*ah$K+IbA!IA`V57MjbBsm-sL$z5*x&mfPa$p(5owmlqunOdHEX#PPReDP|}%1VF+ ztq$sM7(J0x8>)w_jeuRs72dXNeZ_M^xTE{x7ud%81Jk=9OAC{cb?9Z8^v1{vA7zV3e5Lag4#@JBiN9YV5l7M$ z3o}%w&@R)pI$D?bZilq%)LP&KP#Q;>&m8F7mKyaqHQ#%UB%_ zJ+{K%@I*%Nmi_i}W!&L$snen%XfIw#k1UC{&Hq2&SfR;%io8)SG46L zZ5nTf?L2q5mQS9z{Hkvqz4+=cOuV#}4ZR0>g(1LIByH)F#$j;jP>o|3R~MNe+@-#< zW)P5BWsU5fyiYfa;L%?VmQ0u9@H&xl`@lYZ1W53B;zusZCq>FN-i>ZA^)n-?VXYrMnE5<)sr(zQ0E+d@nOy{PHwk-CACp z((gQ^^U64gg@bcA;)Uj`{6qHZqf1WTX&Sew6Q;37mXI_XGTbB1a$eJp4%1mVe5a#1 z=oEf#ht9%Psrt$m&4=%Zgs1Y<%iobaOi#z2ymYleVtG-ggSTuJPm@!ZsjoQN(^z=# zB1}!hJ_m6k{|pL^+45*n^(o&yA3h85;5kOb?$hz_)_1fikIIN))M*d!Ido51?XZx9 zDQkuDOibCa!dVsAJA-nLV9R)2n)ESc5 zeu`VX@+*GJjeAL6yp7c%YloG-{LP!*4N}++ukM|h%Tv1jD&Lly?+Fnf5KsExxZ=0LdojbqO!%z6Nml(W>ndfhm*{cygILH465bas6}k_nMr)_5vOCZ6 z*>U!A`BtyO8}BlO?N>WyarQFPmyRw>9dszu4dt`LEHghgKI4`qt-ipaBYme1SdWu?)Cch>(D-W^yu{X@#9>UtC#u?pPBK~sLK;#PZYdi87c0~&HM0E5A){- zU&a=XA3wq-)E&o@r*$BeDy5CW9EjTq%e@T3gU$fKKUWxrV=zlj0RLTms1N@lLqhn3 zQ~3oy!iF-1@C16{w+LZ^PUZ*3w%VbT8*PkGz*VMe~C*ICHuDeA~ER)=0^OzRAk z!`R4E{wmbohYrHzkpXuaOODlbksJfH`O=!MK82UAaO22Rmt~jeY@X|w(M4*3aXQQr zR;G;=W+=XC%e+dv8@_nu+5Aq|^mN9K-)9-6F)nTr{0J-W>S0`1%P)D9evfy0;kAo! zLu1p`CGn^wIPg9ob9+NwAdNkiGl_rA{p6kAbQ%gd@87>a{qoB%r+4q(#lfFFdv^Nx zdA@HR{S*hpX%=Tg0T$$Fve+K8e!i;tD4hG6da7$x?pWHSiS=lk#kyq~6zcveA zMu19`(NGm9ys=Z{QyJ}R5Uz7JZ~5;9d1W?UbmiT;IY4U^_w1QXiT8t2@x0Rh;;lhC zGA)B|F3JooZ(j&rN)&VM=echW{e5AlQ8zgsjxLkSOC}Pva+geZ!QvHn$KTU?c`H;I z2R&*@W8P31#=V5Mk#?AH`R--H%A+#PUxv!79;MrH_cFMKMdYjV$`5d4nl4|{!9{i) zH1Qm`S!UF6Ao88nrhEFo&~1MuDZ zcc))p{hC4J#~**3RRRttu6F@+^v^&0{PgK(pPoMXAaM?SC*)U4)Cn(sp8a49O1dPwD5y=!S{T0 zSvr@mG?yWcZe>eQXE47rlu$;6wOm-~#o5bCBhK!8;t2EFaZG1~r0&^srgVOaTTt_j zg`1Y%YnM^Ddfpc-uYTntthO-S`ra@@w~m0*NiE;$?6~RR=Qf;jenSI#`N_fb4Nm#$ z<;&AI-+p`g;y=DP{oB9&+vz3wCr_WAKEn}Tzj}3g@!|!1=eFQOmh?(>_J7Cqp4mTj z0Qm6XqtmmeGbp@#_41^Xe+%DN@IY9W^Kah1!Koj@`}5PE{`9BQU;p|)PJjI4pU8i9 zdi>O-yaOif!1dw1TY>jH#fPK2#Yume_Nz_L^_jX|fmn;#5toUyAEKnG-v5)j*wn-4eG1?iqS z0IVHG&vmE?U7mLj5jIeEeurOim1$ZXte>*g>rT0O5w}npLBkt9q=jb!fY+S|W=gv= zE==Ku8lv%Kx%txXafGI#=gJ7XdhyXm$fENgGXo;b-_w!by?c9l`{r$Us-ydE z2L&C{CHv1m|9txX`|nS$e|?>Lx^H($FOMI8`0@1fPd_opyvjiH9=Oi_qjm!PDvOv${DL&FIZ#%?cYMf~Vn{7I%ahhX>iozFg zsG!O74~vI-bdPA$D8)iT|Q$|{4E}S6t2bjF7S7Pvw`{>2nM-U07!;jD?vlulk zBWcVVj)qu6Ea z#>2A)_oWICmSmwb%Ug$FLua%gN49;VHxY+M748;rlLW-w1pD(Q|aW zVi0+MdXs(n>kI_y0@LtSsb3fbenjp!$o=}OFHgVV^nd;9Ur(QX{#iQNPvku>c!{n$ z_ooa3FFyX{^ps`3OZ_=3I6J!RkN$u;w3H6%KkE|H#!NF))%IFCkDRUCB+O=*SLdD5v>yOusgHVQzYQn@DzNCeXuy&<+yEur z!QS>Y)CNkE_JP~1)J5AT8NA>N*n@fd4=`;~9-_!MecMd+D&K&>hBlAzF1V<1bQ6X& z#3ZAfN_g#+Ovkp8OSu?@ba4uojj+r74zDqa6N4<}%dhyx)n&(vp(vA=VK3X$DLl%p z>oi_wWMod;og4JGI%$XD@0$r$U#HKbukmxc^fZ`q@7OK}N$19NMty}7fB)ULr|-Z0 z?)1YCKb&+Zm)J=Y|AYg2@~#uB+fP3|WT`zT@acR29el3WVUq`Ut`fv|74rDU^GvI4 zZh?=^)^V(19o>q!TKEZ>>LlK)m%p6;@W(%75}e>i=_O2a`wx!SdDqB&v}2S#6Q+q}^3n}0Ft=%ZR6=x;NS>a^3QDb;-1f15eA z|Hw)K#7sEDD*eEub(F-PX;bp*72xzKohe4KV9~TcNh5jtQu5UELGCgPe#=74PwOAt z7<+gqLzrS_RT#z#CY(zq#`b6MQy*il9`cP;ibKA12S2#d8?a*pDU6V%y9q0%AcKn5 zp%q{--r=M0%;rstR~|dveQ9wG^0d5k!YZp}JKnBW^|8FCkka-NUfrx;`AvMD6~!|| zE}bV9!xWnRKE1@#R55g%+&&zF04=|3^)>-m=<$yI@ylO+K7I4`SEqmdzyC`7_30O8 zbq~&*nVsd0osHF7es=ly2)$*H$l!zk<7?mNMrT{D^;2gZ-(Wg=@|*f;@4!8UrhYi~ zyZ7kC(%(A->h~i9k4~(u)x!bj_3JlrbO)msIjR5n^hfsg8HnKb@y9Q~ekH@$cqk+g=!Ehv6z z8}G7;YixPtmv%2N-3}{VQU!K1D>Z|Of-?H?!Gur5$vg>rZWn|0P`T)Z}fu+YY!U1Ns zj82sYUf+9;F6qd%>+t)KJ)=B1xV+(;nAYFKmU@>&TOM*b!Nv2)mOt9|abbj4!X!9zp?_zN9N& zW6O(E{K^++=hvA{m}&8h)xUg^$l{~Vo!KD7`^=UC2(|sMkj}9 zXqEBml{TJ%#HF=^!%LR>ai9->&MiO(gj)uWJR}3H;mUIo38B9PCN zzvEy}+c_`3MQ;!D-ZMBnfBr0k(I5Ws$2hx8ZG&SXfnFP_pSUEZrqPsuP-}#hOk&WBw%Sge!S}r%! zsTAqbq|@IOb(D!;o~18-`Rt@^sK%BxZCqZz7mFkRUgizQ$@wZP-d--A`NEoZrk=D2 zvvf4CgFBMnFnf28?CmihJM}h|2VO4I|Ms`PpT79}-#B>t{`A(F90zkic=X7D_N=S& zYjb&caF&qS$!>Gj&-zu*!I`#kAjtmJ7@R!nOBY$3u#3))Ob+@!c(Au-y9@v@QZK3$ zJo$P?@GfoW;Po~#wa4H8#tA$t2Os3&vqju?dkprhuv&+%M&x;oT{4J*lRmMWAcM~8 z*TVNYjVs93HssRgDz^pk)yGv-ut*z=Rm}2?Tnr>!8iQrR)j8$mzm-pNCZ-|E?@|dq zm2Dh;`i@fMDemZ4{ac3=Ro-Hm2p*|RNQZy*6;wULXVKrOBe3JixG-ElMJjA(qyY?7 zt~k>464tbMrrQzAtL1xKy2fo-<9%j5$}eQ@@TTkFjg@DJQ5WCxu8tPwlo-4&-KE)e zz1kjOEw@>s&tBJCXD-D(EYp#_Pwt-l+i$)}?EULkoMdNkKqr^xaR8lw6KvD+b;<9H z>9Tn`%5<91exN|+blvgw#z>dj10e#J2^ z?OtYj55*5`*}C|`nl`T7@@;uz%d30&W{(;_8oA{sjiGpx6X5^+B(~iBv+*sby~_5w zxp|j8>rdR0`jN+2J=CHL$I*QfEw|FxqyOrjmI2e5bmo)Q(9F~iA2G8tE6O`nSH+xK zI~&MLUB)PB9+&Sb>OeqUow4QX!z>0@0qUr;WfkMhf>Q&^W3V|$vp&$dm$#mAazDs1 zIr3xY=wvIJ7%ygmmQ7nE4@2YBL!CCgOs9O|woJ+luEfWE^eVN-3aDbj z>o8%omsqpV_TM zja7ZMfOP3<8k~!t>~Y_-Z+-pitDLI)M4E?M?!kR%#ijetKmC~7Yu7lNPoG&oz|vUmRprMZ)dF@9bA#Gi!!>TIGqqDcuTrpT;9jP^W9mb_d|<@E#OLc>u|Pbl zC9Ig2W8C8|o{?!~491(y1+DB#HK$`)dJej9+KGbdDvJCMs*R{HIgE2Ix)^O>*?z!R zbp^}U0eGH#JIglZAm?_;8yrgX-z?$HQ@a4)@-Wk|gW zGls79I2?Txu84aG7b81i71|Y$LU+j(pJ$HpYkY}cy2h7!Nmu!% z_n-k&wmO0hV33#aU0-Lxl-bJ(G)Wre-R(Q=7^f7j{?k}E54WU#dHFMsw0?hj&n+`= zN%>^iD;_-gl~_mgG1UiGyfKE;xNOf%j3cx!nsSJa$%Vv3uEvNoB2Q7JMuhu!j@I&XdqS01za^;X`^-o{3 zs(GDTh#&D7?z86~WjX)k+0z`-J!h8pS$yS&me}o)&W;76lRx=dER4m=r4$97QPPoz zVA{s?JP0G=&^A8vIm2y09YJa-GC)!v^WG&ev|kGA)G zikpAnz9~W4!3o~NPuc=P`lI?OFEWXietl0qh}+NTHhfL@Iv$uQZVQ?>-W4gM`|!jq zym-Ry3oYN{($>+GTiH90;+3{#%^S;O$J^5yEls8I(jw};v&Br7_%E>$WI3o9c zxU==(huhq9&V6T}J?9}4W_F$4hfSRE-mt_q4_7+-_31G)x-*_>6_Hm5EFD??I*`tL z6C4K?pO9nbhfdqL0(gxq560y0GTP_grF8&v^37I76_GJrXgXjz4Ki7aQ!i(Bap|<) zb0%%Kz4nbYt}CV`m+KE16m)V2r06TXb|k24?;`XW`#dU(b3f%&-skT>`Q+0KQg3;b z_UVVGkm_vkkPVLGpkuv+8`=kSri6g0*%Tjm;zNc`#uSn+&hQy>f5RJmS=4bNXRC{K zs~(M)$TOpr8dbw>ASyyg-Q=S>>Od%8{RCm-J^ zo{u@%{)lJVbDN9R!mF3pr&lPPmrz{NL-RfkH?X}m1;2QO_Ed~G}S&A^Z*U2Pn8)Y-b(2H~zL zkSz?E!myN?$*)+DbrUbokdq>t%d(*yj^VQv${#5UU%o@9y7H@h>kysgw`3jls=mN$ z3uz4_b!b8t##7JWEZSq~E|H9Nh=wvXZ~9=g@`YC+Qd9m+5fIoWlh>(lZdj_b8hFFZ zEv^HKI(pLmm|J5y4Fwq-)J>;x26mGJpePl#V ze=zNElO;a98rp8DgB(IXrSh@rD1eT3t_==eN>&`)DUN)X+v+|17GcX{1K6!?-SD|< zv(~{uas=Py5mw4p1{v#bC|xq!k2rb3W$6Tg$Qkr^&as2_UbNvyK90Uu#&j={(rHlE zwD2?tvGC@FRZ;o>p0X`#`E=wlcvMq6F3asK)#Fl*bfqmXamwGg`V}s${A_sBh#6fW zz4m^1tO<+;%u;<=N}4j8#AT*0m-r%w`)zNTc?k9E>sh8l90zxXcJ_6No24$!e0%eR zPOZbTwC5E5_3JBUJ)R*4_KZEOb^ev*{=0V!0L++EPnYx1-d>;HVQ04vF42Gf>1XQj z3vaYNV++7rZQ=23y}`ynf+0Pqlc#$4FO5&Vt(yl$)+H>^;bx zfuQ_SrkL0#N{7Gw&`R{lxZ;iE!53CO`jIrz2e|s>vfWG@ue5eI>@t(zVBw2S$L%!{ z4kn9PVRi173$J2@8Q&LL-ZJTmTLqi9CQX;WbR9?KXkwczVFVaLvJ+ zGqX;uL%64Q@9xJX#Pi9rn$V}@+#=|p;wB(}It?+rb67`*@P(A8oSc935i>dp`hK`4 z+n@{?31@X_9V8q8wBHRCwl2z^E+l$qQ#w3#l82|sv;0hPY#^rPI$eV8rd=LTPaK_2 zl_h*SZ18;leI5+*g_)-eOi!?%{O!=nfBZSidu;{FI9v*qqb?$jsOAqhJ&Y!TocL!$ z5$5sPsgv-qDZfF7OLSZ`~=7asG+3F0rdCDJdmSP`~OJ zz|I?hGBP|Y_)uN^f)l;LIXExIdHhzrOAkDIbOC8_0B7ZfapC6bV5W~oUT|T1h(Q1} zwoKl8UYMPsGAuLQVE*^6>RH;-2%ipy=}9*)p78LqgU8tN_uy$9zy@i#FmE=8o*9H4 z=+b4D($35-m;b@;C3hN-vz`yo1;0`p->gpn% z@^$9Nz~t$xuwV0Vjs3@G{Qb~{UG@{+etX1ugRF9oUOJl~v58bEKiSI{6db|lzG7Ov zCfKH?wIA(_-19&JT)P?+Mtbi17c@LN2n3C~45|*Mj!ME#pqehfJF5V7Q@+3JY{9f4 zze|VE2YUDCumRxW+=UZpavL-YUgsyBJ)NDHE)jX45tQmR?XL{e z?r*Jco<9!+C<8*n2lP`{E2o2Z+hJX^ilEH<>keMtjrf^->P6jj2$$?1zu@aRi(b7m z5>JIyA-DKYH9wH}x$Qi=AsWmUp5 zVLIhy5N;56j4{fWhcq@~@eVB@D{RLt>{3qim1BM%C^}#WzfW(Mncx^fst_ zPP*xsI+@R|d&nl=d@U7yJ%DrOb_wq6lzlt5k({~QgF9168+x4m&FeM$AwnBGrsG?G zJGzHx7@CCdyw|gu!G~E zbj#Cjo=MsK*3kz!<{5hJfWvDS3FPg+i;gFa@_Ly!h&O}LbY8!N<1*Y!90!H>@3~#* zphrDkzvqJ*Y&jgHVrT5+_TX3c@qhWtUrrxq|L(Wx<}4^Omr<&3pV*dCeN6H8xSM=ZTp&{uh|rXO^r z5u3$sV5S`x5>fOxXIDE9JUW9PoibR?jIO+6M&D@vTgg`B61fHvUZpga4OF8Yv}&Xl zE0p#(co*fx6MXPm>Bv&vGSGCiF>vui(}q9?)kp_gdoF3bytU=WAUs|7J#ss&Gn1$2 zD*l#^>7ke}rby}_@C4_);dK2iv4>{N*QXC}>Cg-mI<1{d@;n%W4CdPK%8M`$nDHKZ znoc?NI-d@j!#q|2b_AE}I`-{(y&OB+@os%%4jB)T@8O)Ll_mk6W4H9l$VkV8*8?`j zH+VgoMVqBk$h1T0R~I6yv(JEC`={e0tNG{8eMx8PaC__afWe3Q`81w~gqhu);jwX@ z#(`?u>y)SJJZsPvR-t^I)n`VZA<2Ds`%wE^9cJ`i45k*-FVu7O4{5ZgffGW8uO7;9#)Nxljmk@$;uW6QAIqRkev8Y$btrxLH{bGQltaz|4`;*>@A@8l^i@8U zZARox8HLpeH;LD!S#ktOIPN8F%IcyNO&KX*27xg5|c`?TtVY&p{qp+Aff#!E%)uI(g5P0g`m&g4e%crtl2b#b3O{i}NoU zZ4+M9MLCfLj(7&^*lQ{TQ2iW$;E};)@e&?Ah^yaDBfk!`rXvsj2}|B@9KDJRmNF$% zhqEx#g|{q7>&NnTn3n6zs2?q)y(5RZm!=(}{Drqnp5YyK@u+E0|gUPL5S39bxT?C=Cl^v}Ep1N9J z>JYd_SvF9QoLmcAAt~~TEq?2Mz$nW=0^V}7@GlSJ((HQg^y0K^kGtJSzgT*TYY?VR z@-YNw63P3M+iTOnBS1wO%G7)ts<_5?6j??Q=2iUi8gnkC7H;{Ao5rL;OIJDNS6T8a zth@`8w)BOGD=*;-9xjaebki}^Xa>Muie#x&Q2Xv z#AmP_e8`Yx>5EgPV^XI6ws;)Z&dRi%KMS315OQXUiLI9`v(nJfgHM~V1SjIVgRP6w9O)q;8{R{gIz1JK#!<#xwTuN^I`onvn~5A z^1V9$f{ek(W_=6p>WOw<1E2=V0bx+0gDG`MeJm%8Ob4c+10guEWiW;&b{hf#DG6+) zg$#6fieTOHAfm_f0h4NJHkb zjU7?`%xhfpdZ-6^%IImex;}izjGqC7+i)o2EGgOSEys=-MC?%LoEeCvw<`_veg`hL za_YlD?R*o)cIl{=;rY&zg9Z(C!kw|v(%FtnCiVlDp%mL;3(Aefn}N{>f_SKh0nj#e zYw_lq=kCc{KL^CzCttj>LIBT!A+q@KK=QlqzB_&K#eXnRKILJYcc(x9`OiE>_s7Uk zPJ=ob)T{c9jsZ@6!RbtR;3HF~`|tI-;cshQhVoO5m@x*7SyCT=uo?gzAG1&q$y)vG5 z1`2gCNUKIJ)uWkp;W1sGFw>seL^(M?w2Xgh zl9UzZKXX5F)oyr7pi8?Q@GGma@1ltf5a|FmOLAxOc@JKBSL%t)tbg9z;QGH@;I(FMZQl3`(499^dSWvN0ND%5y~xBPeG7y&U$3r$@)t>DhHMy-rp zZs`hBrs?uAUpmtbg_T}-)7ir^_zX`PnFherxn<^;T7UW3cgOo4`Oo9{nOWCEJ}$GJ z;h=J`n0>DYbUf=#M}7R5W%uLv%=$PnhiL|9^aK+9X@&p5mv`PX zX#K$53~wnqSh|dNIqz0zoLy)26yKUjPf)Lw_f$S@iW#zlK7YE2EcHVr`>eT?S_9x>D4Fszd_{*8bQ$A+R>s}eIHgdZ%0=l>>HUX_~;wkpuHWzz4l zX~PaT?Pa4FH#EKLE^N<-R|sY#jZ-ljd&2$=f3@WM@4w4EasOnId&eKhJIjmrkWWcH zWKHgJ-5JX+H~c(^^FBF;M}S-jSngicSvxpO4|d^e1ji9|?i|F$T3JGSUSRX8cMkq2 zSIPrkN^wx4%Gk$v9^UaCbl)4#K(OqoNwi9IB=Lb2j5g>u+%>7FPBJ0UnOAM3RlY;n z6))qcM_~M9yK&Tqau~U)2=8H()r%`5AB+8zL$*FiC{Jm-|4dBxicQ@L`()Tu-<#9H3kG{*EA`#SYBu>7LHUr@FgZ7c) zB@eGz`N_}Lo}nSH#FCrCNbTb#Z-4IkQ1zWYtuBK#noPPl#>#E}&?&aHY7vtD)3U-M zeU-QDSh`o(eeo`^<@do-76TV+6siKods-~>R=f(8Z{dx{I5p(ZT*A&$C$-CJ`k+B( zVCZYpE7x0R?!WyC%(r~<>02Jv^t9c-Wa4+&J&3yn$3J=O6suVjz-T-Aln!iK8W%hf5Q&M-AxZc_nggqUm@KsOS;4-A`1u8rdbt|703-<#Y;-tPS4#PEd54p5U z7WSQwOAO!Psl!flj;z)9$m}wuIP_hzS}wflsjZyOVWge&rUDxUXGWJnW@LaiUXT_- z(@|gv6Td<)%VX9hRhovY-_#ig)Rt{jR|(cjzRuvj{o%dvEW72;bAhPcZOA$o*}TrVBi>gyV~%yUx!wo9QZj%pv#;q`2F{( zhq_OgJ|d23{$4e?I-s|M|ZdVELE@+kn^#t+XB5hZe;SyDjE3kS^WYKe{vzPIQ=UNXzAI{VrFF z@}D7h`XE{K&@%Qnxw*nL;oz>Fgxw9<1_3(y32Eileu>>jj61u zZ<6VF`~Y--@|4}1;usGKFu6n%8{op-7LO#Z87l4%-jzia99Rlo>Rxs zaa^4|x4U#$WW}-L{rxL8`JfEne9Q7CiAB;>4^l{Lt756v6z{EJh% z=8da#@ujsx7>Zww1vcV zPp)G><>e6_-VaI$bH>!t;^+X{#Mo7WvzPph4Viry5YF$5)8TQj%-VE#zZ~Po6s@Nn zLU=~-Q0q|k80w!+(%FSPUhlvn%_GkcIIwbnh(3^LlgF$^bok*R3ukj3{rp&}dd9k| zv&7LI9IO*{RD9l!LjH|Q@P`1StLGEig8EQDVb(!@9<(KmoToVXBey=p+CYYHcD;puQVET^L$ue7$xCra2doMyIN?yFbo@IxdAH7xD1GQt)RW0pHo)r92w2 zs9;c_nUv*f$EO2tT$)>+GWf&ieV)UgfzR7-FZhI(gPCUs*}|}|d5^6#sKLt>iw>Wa z2DZ^YZl}Iu-|iEN^MMY}OQxM`XLYo`8K|cF9Q}w&9O>iu$byRGl5w@4_w4&{0d*1YJnCjD* zQaU)#S+f`X;_rVy{rkWFYhn-HZr;7obuw$a+$s9P0gK|U(*4#XPyrr;Xh@@ zf$c0V--%tyWrmdAb3OGa|vCJaV!1JGmh7<-5xNwQCHtxmnTSBVfZe-gK5q=lna0D<3H`GbAQWU zp7qaJegD6{XTSeRRt47Q+;7$d0pDr+u}Mu+yp$EVY&Q60q)l|@wbP|7!xqi7FKGwc zfs;v@X0in)Zrc2`rT8ff-h7LWGH6;ZuA%uuKVbGl^V)w8!gg7+8gq4*#zt8iZ>4ua z({~6p{JJdDBtY)K?xQKJw3W5z3)?GXx$s^c!OPEh59KG!bmPL0m;#^P@?{GDddinP zjrG+RUnK3{2Y1QtGB>l7Moq`HD;wY|OheNFjhT}V8`$x67#kt?%_)~M_>?(7=$QNj zo^PICxyJ|2HLmZ>j9r(r&tPGlMu$f(?fH(}?ZXZv=Z>ZvueOV}(}Bjp$I*30XHS>E zu`T=z9?HGL(Y=SQv-@PC( z@Fd=TqoeydDVxb_RvbQI2d)Do47Ftn!S|m0H>|q+Q`56gzdil=FMpnU?CjmGqhU0e zSRDs8@tt4oy8w;N>TG*IQGT{MDrq^@vId6qF~E8Eo7IH>w2w4Ng+_isPrKMQF+ z3KoJnIUiRmFyx_M$wc9`0O3?Yz@poVKppvH5Rvu6jp~VpXQCl zDPGIX?>NPqj*m$xSBClGnl=~JqR-1+j$FHZl#-$DEOtFQA17TllDA3PkK zH!R`3rREcIE_t2ZeWu;-v^faaDW((Gsdb213XdLX_BfP{YbSO_I}YD)Txah*O3PFo zzqX?gGF!x<+~>~gsn&y%`Ir8ZA3^Cn+G6fe&p=~8(E)te#FKvO;C4jYIHSA$(7|Q^ zo%V81{g&f;o!u|k;YT}M9biQU zC!Ls;3s20skAL*UZ3=f9!1LDQhY$0i%=dA0c&`rTK;jlFU#EfIKi&K#f5-0s{Gb2t z^v}HM_78vhht$)0(J1h70Gh#A8+e74ZAND7xcWW$V@3rnPA#7X%dwF(+Q~s$JG5^P z^JxN*s0$MlG_yw^CS(c1%5;mRF{^Iyo+J=?BsXOyBXhw`i{JVvH)-P5uQZ3F3)l-&IMs$L+qZs7oWoL_XsEY-JNW$P*qSJ}hBb}b~%;wI}@bX@mW$^ZL#Q-}T zZ(dS)!hv7*{&Bi#sMOhx#lNl)tOup(j3Ya0j11*08RE|^Grr)01L^2~b=9xcdIE2- zLwoBiXAP@!q!ZJ5GOM$Nc>P*OpIP0`?d<*@r+0SeKNkbb>iEvWGZ-+i@S%x!9Ju-M zNak-ef!tO4=Y08v z!@cl={sXtSXaRU?rE!-!&E6L%+%QB13nk*L$qrTfpZK1Uh~q#WdlQGJaOkh-U$*!B zg&aXTxR=z*vy%G7^xnAfy>i>;M2j07*naR7{*+Gjp8t!sVsWircunD#O?yzI+TdwrSxF zJ5BW}y@v8MJl|laBZkK!OxgxSmJaar*%NLB@gYd=+3GCL<~qnYlB2pt#uhQN@=ZG^ z&?pqOQFM&#;p`O1e?(_=X3ax4obLM>Do^mAJnz?_&7Q= z@X5X#9kaS2pEh+srM{NU>VS`7@;v)5Jo)w$4l7^n<_bzHIxsrG=+K4^Kxx;dtL@{L zb3ZUZyNv%kXDff?Q?h@_68;nH&hlORP@fEmIViKAgyo%|_7`m?U*kQr4+-1*Wc!h^ zE5qW+FPH7k6N_XPJL9R7fWfzyjMIu&T`b>2c@`$E*U?WGZFRTIzH5ktmA>QX7Rp#; zLzyPC|BQ}Dxkl)92Ms>Efr=wv)Bjbt)Z;QQePMfASmBK?WntQY)Wbm|r|US|hnuIT zTV~fdIZpR655(x?-b#y;;QTSNUuo6(xcG@YX%fiWv2Jr9=0FCDj?d2(&g0%#r}j&- zA8{Z4Ie)A{hj(e6SyzY0+2?ukSu$pI0COEZtrO31=8*Z+#kM;f-82sAVWXuz;r2G5 z1I-+GxxYUzL8Z?gok8d!Ln{EPuJsQ@W^Mfz_ZMD)1En#fRXh~r-!R)pP=(09JgM7 z{_{U@+wFgyKKty`JbjlJc+}wt_J@^0Ui3T4CLv7z4ed9^`?Z(f2TwUPuKD~s00#TQ z@Usp9t^8`s0o{>*wB;%@N)@UP`QbjiZBtoSr{Jr{^0PcJGfGTFTiH5g5p4|dcK9XJ zJzqhE?QwYuQ=V~Qso;`TxN(DNuj<)+aT;6RtF*?|e?AQ14CJ8H@)(%Id#8fCAHGy9Ou3*K9Q z!3!H7z2NCO^3S;9=$rv4&prF>+ucu7-!vmLI?ZiIcYo`xt$5n%J;EIjvSe3B^l+PC z59uCLe4X592Ik?OHE=C^Wvw7TXc5c+;U9ZI7iLPoIp^%HL%!qQc^nheIC>m^7R#}> zI)fW0mN!bgq3+gACr~$+=&x}8Yz?qwUJVw`KhHlz$M(D*lamR$lb@`{)+34P6N;H>Jj1^F=}Nem&(AZVj1!&cNc{@+sQ`5BhY3 z=ti?=nNDZd(bElxlEP7aP~{e9N0}C-z79Svl^u}gj)1z-IT$#!hcw>D{@_gSAi%+u zS2`b<2t|MD#pTzS(wSVDP={OL@Y1obbb45mj9spI)HACIHC0LQBM<$=G4JiO41(z9 zQ;3Hhm2Q3b$9yg-@~Jm7zXx?Qcv@8kfqWv$RS0t7<72Ylb34?}efd7S&aRQ9iQLpI zAeG>npl%JL?o2l7*Aj8sXT&v~yzoVAKKcP`eJ%B$p>nL#@PhmNxAedfuecxvUKz~? z$WLXOKWLy&SURTfth6PW(M6EBSM$aOm5zhcS&YR~fQD}@UWHn5uN{`m`YGOCzQbCP z$|;`t%OG9hjm0tDe0eu+xp@zXyg&PrKdtndr{W%aD8};ohE9F^9%p4Q?<_ISHhg`l zg|3)7T1$Y#nPxd?8+&O_Y!bWLzB+jv9fv1>4PR$_dyBt1nb}*GuMPmYpx3r;TRvjYb8BI3 z=g%#OuV}-*{%U*V_8$nYxU$l* zK9CrU9sUd*Y^1S{k*;l~7@5-s?bFKF9zMHZ+BU1*%8R)`ZDWA?$k=#}P^(!g<<w*x42 z3Fwx+zn+u^)PAc-TjEsXc+6T?GpncJQK7Rx&o&>&KkZC&uUD3KAeX>yLuL!2n8Bly zDj&dfccJM5qkw62vHq&-*JyP^F|M*QuullLv!jot09>|Opp)O;`d3=42Ll8)_A;H9 zXRi2Y1-PblR_!txzz=xrj?Hy;_3)9|mkiK9@*cZ;cK7beqhklxzck}3tod@R?TAkD zlaD&6Q~OBDWGeh3M6P9q#aq~9hnH<2FP%IGvDTRoImE*wYj$et zsB#8v2S0?NtTVPkB8cvR?GU8X>P-)#&mx;H42DhsFRskSwg)J2IQYyycbr^1Oxq%2 zL?=JX{%OO^F!BN+oQfDH*Xit-qXR;5EPlZm5S?GyoI2MyYRJW^7hyfE|gFWg`E@#Sw=o&B12oX>>WZKplIXv)7Trl^hfEBU>~g>`b!Je*~l8q%g44DRi|%f z?=17z@3^1pTT)jWefl?kJbSTpA<9>yA-s}5C#BXs?geutSZ zJRJb%GQZQC7FN8{G~cr3%m0$cnQkyF*PyBs7It@+^jAmnr&);NYDefVgA6oe2Q?Ac&a+c~Zd|Z>|`V%gl{J|qWB$rmF0jXoI zNKgn)?BM3*o|Hj|)&)+PsQk;l+~6?KQsykpPp;?(Z0hK;d~|jo^FVUA34h!jWaI|D!B0W6);@}9jgTeF>Cx%>XhaURyk%KAML+>&? z_D?E5IlaVLf8p}0I?{zBaaNTMF6yNX9JH{FgSF4Ud%1jf8GMaCkc^68FRLBAv`PDq zrOBHxNT^)xk~&VgILS*3TJ;Ki(M4bTvICO0*ub(p{3Q}1I5rwN%1R$z{2f$mjr#@_ zN#|jlFp<#_qKCSVfO8DSJTpkb&f~xNKN{^0)O3uq@LB;KHE@Nja0h?E3lpX3(l##7 zC=H&SuK1-fZ@FdC?P15+;pg-isP?d>49=XRNYL+mp?d-VBdpX220$8q%MIJrypN9@V3eW*hx=dg~J)DUpe z?#Ae5BgKsTST!A(hd*{l4o+yWJN5U$jC4x%;nFT{OLXeYjIklB81imUbPO+_s~0zp zs464)sN?E)>Cn*)bqoV{WAiD1m-mgu8GLUAc|k`fd&I$!%k__O^3QSZ z&)J86hNFM%eO;ZLrTRlYlyJpBK(D5EX?DAbij18T+sHbK{lrZkvzJb2Hg!gRa^eXj z=f5l~1+C8GZ0x~X9&kZFomnwDgiGCC8Mx#^VV>Mu&KdUpAf#;(2Ug??_7}?{%Qz}c zU7}iCdh*c{84gN;s0`ObZqenSlTIE5*TCoPw!oLuW*|YvG1#F)>;X*Oz0=@{yL)s` z;r;76Po6x>foSy|gN;7Irgl?zWw#`J&qT4ES<8zPdm+1Yr4eqJ$>)#&524sNhRKhB z1Zhf_c#y(-Aspq++jGi2u+k*6Y_rnkeRgz_rCtMZ5v)Yh(wg3{I_dqDyro>ba$!#7`RUU0Dg=J*muq3HMHG_ z|A+mO2cVxj3*bSsj0UhA-Lb%4lXz8FdYce+paIn<*Sw%FZ{w-UY&qag-E}_qzVdTG zutN@`nT2LgSRUDLMrH8$m;JsntPgM!j!&pRynIrv_D`(7_95CL2V|rlBkw7n)^afQ zk2!c7&I3)^WniV=c_u*pm8yPRme0POhi`Cnzc=^I*Wa9e`0Ecj{PfE|;v|G59vAw~ zit1$hAAxjgFMrZrhT=6JAUNU{re2dCy24|WA&6|ymJO)mK@)^KyhJn9_Q|M^a6~MF8r_AJk;89Gk zPguIoQvEsmaUQ^N7UwOk!^yQlT2TY5b;D{}8f(0j2BnkFW#i&Jl2#pw3$(y-LqU*M2Y1=Ud${gRWZ%-*4YhiK9&qUL@k23s$~$ z4qinRN#;u$HyF`Nq;14ug{yx1n^G z4lTS_d6dSuW!2Zb;iy=0zx^qlv47s@G0ykgr_;E%{eu1TJNB%2^*VUd$<59z?kA<@ zFO{i>0-%EcE&ujMf&f*Wamp%@Tp0=ijKR4?n z$xl<$y)4gt?Vh&le6)!){MVj2<8dZlEY;P{V&}}j$`D}-@(-STfai>4@o674E1GeN9BIV$vLc7A21cc`zEf^^AUB$;V__>+ zSA)JW?cwk&M}KUO31S^^(!aTn9yBnf2_0?5$tz&ksPG6pj6^|U;#|V(&@F3Tyi12J zZ0AuU-d9$h#=jRzuW2>5A1EBTcFPA;|;J7XI=uZsucwkfPtCT9>H#<}uR znuAnUKJd?*WIDU_$`eMqb~Kp~X3Y$4@KQ&3LT6nXw46L@qrwx5cA$>Tk-8Nueg|Lk z1Z`qS9gAb0%Mu4n2hVU)w^gPtsoT=gv{!DgffJ$#GXp1zW2lViAl9fQG`@7uOPot* zF3llFQA?5XlE;o$Tq|WL&t&*%dHGZa%S~q{Su%nXLMlj^9pWecP{2DCIs2?lRD)uV4{l>PVK^5xrOLixi*#;j`Q;f5r&$(2Xw)e$sW7AEFQcMq2CEYXiIF!QVg5dvw+ee0 z==lUIIrs(*M@R=lSNtosb5)=X>*O=z$Bo9(A)Ff7W6%uKso}ZKtB#BUDTnvWYT8pu z;WPU>gV)Kut?7FR%5wnmR-0yfz|%=S1moF&|w`d-+!e@brUK z9(-vm*B?mRHfbZ$^#SA7&9pvq%;=UVwhGn3tAufhjC%<;l+JXWu{ig|;$4Q~2{(P| z{4L+(;tFdz34VlifJkE=tw&AiKpM!-;l4Yk=qxF-r^TtV#7!rkJ))h{#>)x^NA?v? z58ym$pFafX2M;;WW3Z@`r-vN<0^3G04ZVQp=75Gm8q1j}jc7yWg3d-QaCrYs%Ft>%BBN(GC$Aws~R-9WQT24W26PH zy|1``Jd&o5U@(xBi4N+N!Ad&cx%k7g}E8pPbZ`nDcM|Ux;hwR1*;km%p z&xe10#?gP_0UFyiwvcwwLpnN;SC^2sOcqne2 zly*-SuY5HA&fjujr7>R~rgtNhZjW0oZo^J5-vfs_##lOeW`w!_?PI9#`LgJ7`^lv{ z&7fYn&9jUb|D*%@T)VGZ`oV*b*ysCI(}%!)1@+jEyS^l-OXwUt03G&DF+av>f_Qow z(f2>+&9s@>r-f9W4kZ&CS_j7onYzd`yTQnRx_O*&#V+fm(*|xu=9b&M_>ylr z2VZb;u$Y%(90ccfoOXy)qJra41`2SGU>)F}j!Qge2-FnYceS7z)>D{ml1F}*UD-%w zg_Nxl_0s09m~{4c=qLP!a|@q}i!MvBbuvHg>*KJ#z)A+kdN{TzrJLd-$0^Y@yNNIAgLMqnjmTpU{e@E-Gz0 zzm%I-e_{vA@|pTA9t$o>^~_=1bhO2(3}wcp5{6c!@j^SwTUp_zE1+@l_qb(^E&I>- z?|6G!y2HT8Zn(q=JoPynNhhD%X!^@Iw;hXVk~(-tj87ZU@v=P9p9qgQ9ro{_d%yh& zpM4fby{UQ18%^`*oU+r7UJEB#e-BC^2Iu{g|gTa(vEm7#9Vz8Zu}M|boZ?N{d& zW(bbxaN|l|aLDHnuFh`z$YY*M=doil*T}W=X0N_xcn2p3X7#W`OSfO`qpr-nmp*T@ z&BHSe8c2`niw9uzT7BEBWk-Lp4g;K+-#1HmvS72ViY-PWU0y0Roq3RUM#Wv^sj$pbk;Tih z(iFe>OTNOT_bN_l%Ez)j?D+E2*t>l5*3x-LpPVPN=C#nshh5AReQo#|bo}CrVGeoJ zi8s?&;?EwE!y-D8Gotc!wrk$sre(R1ri#nKGZODQ2OievAIt3wIv0mZrX96)hd6nh z8;6clPpmWhnP}te(@DEBQQvGytT#M7WYk$Ko0SW*HA`Jjrgf|wo*~J>E@ueTb$%WS~($Mgm*tnm>CLeDd;C??-$D z(;3|_$7XidywPKLL=N?KVET#Ag84V|ba>xN{D?o{xpd9%>Ed3}6<(*Th{`X1;pN@DvADe~Z`!!{m7{I4RApb96LvaM zW)K}#2i2+gmkx;WvZRF%Oa~4F@pW`(a{1|yc}mVF<@g(7{@LO&DuvP#W(mDaEeuEZ zpZ|j+fB5*GcxP${3{Q)*3vlVWX8X+E&T?GA6|O@$c#=rePL{+?z6REK!UCp8o?ZGtlR3qZaez!f(NMDLJiXPt}yNluD^BE)NQJC z^qbUq)nyeOQTy5fxG#Z`(!`c&KX@&(MR&owTyavqWa`uhzQ_j34%w792s7lDbXGsB ze3tITTyd6aZ2fEqJGGs~PGXRmR~@slW#Tn9UAp31R{X}7{KV;KX1bwx#(UUh?(oZW zb;t(|=)9UQod|v|?|h~muhGtt?_Wa|SLgEO7hh-9f$VfHE8RmH&kX3h;W#MHbEUJ} zsbr)L)Yn-1wM~o{tgoZG9M9Kg>7c@Jg;Zf0%cMM_9CC1Gm{!|l7LT3nPP2aAX z1G`7X&n63_M{c%9z9MDt+psF=U_*$7V#}; z46*$rlh>y9t2`R8%F_l8fI4|~HO*k^?LKWvXC$86f8nVR>yT^YIHTV>0CVD}o}&Ud zOTKM1{d5K#+tzmXfY71LvOT1ZGFf$rEYc%?Wd2^?3orP|G58m}g%_v%%q#OKQ<=rX zqTwvdZUxyMZbB-;C;;_x`?PfGfVOekB|H2wb0j7huNe1 z`6~ACzPOXNKymdZl>TTxtD_AUZsF>udeL2bI7#ST_7nI_yXe@$r|%dmHxDo60Vco9 zGh3b{pXEsj@ltWRLb3q6Pj|MEt7%YtiOyoGE18nmTl)-?k<@gC&u3MLhzAbgijWI~s1 z9_cLIoi%iJ5vg)`DX@(wU>a%+(y}1(6FP+MIH@3I<Y-}fwX_jd?ot_#Z z8%lc`9W;k(86f6_+&!lDKigLhQcas2^&=YxXW+4uBP>N(HISCi^&6Zw4rhm_Ep;fc zJXi4YLl5e$WBJgG!EUAVWT^?C#Wprmjt(PGJO{I^HWaY!b<^9T=utSp~?G(Q?R*!`p#|lmvwdOsRj;%OcDUqO{MZ8eJTN2B z4jo%E61SrnUxuTxP{wox6u#pZR=ncwI8C?AxcHW-L;095-X+{JLmRhsC~fJ+>eiP| zjYH_{9!hzrg}L&Dn0b7&&0{@z*+S>wwwnCX;nvIqAUfsLn_2&Z`%7nP*R3(BX?TcF zE5**6lixU#cTcRGC+h@!HJzMUe~&Dqsl+nTe5s3Xz|)iYe4= z(bcT;vv0O}BA!(eTPNPINAQ0Gj)Hd{><=mP z7rfX+e#xKvuQUy5V=}2$>MaL?3<&8DHJT6Hm@PiZnVF910f|w3G0<*dyY1Vq_6!fjk<{3dn zQzrlIjJf55L+b20?T2e-X3K2>EiGebO=LKe>y#e2<-*zGxZpaoI@8W6w&*k-?UNM; z9d_!Do(PWPqMI{XW>%N!>V>mf7Du4G9WV{9D$+P(g0tH#Bfm119MI55J~O*!luDhc z3-WU}KyS7lLL!{R3Wx2XNjtT`8MVmaKhEy*{TjO+x)op3`A=M6sRuuiZ(VeH2cGf- z!@9Vwa*#Bno~j)_#uL2XI5PZ|Z2*Y;zW$6nWibWG_ew1mn@})T! zQ@+}ux&=p>T;*BVojgqLbnX+k(jpdFSksMFsG~(^%`CMrx;W)yTs+}By*vt& zhe7;3G~c-NrE6UJ(weXA(iW#QI@&Al*ZM^gzcJ>0Hr)KZ> z-oZ@0)pyJ*|1AG?a2(7_XO~Z8StaV8&9<@4OCx&K$;ET|Y*9Xj$f>i&lIz4c6h@d4f2!6;17>Aa1Y z12FliWa34SU6dhTA?g<%p$4L?TmZ;|M%}@O4?P9IKJaKWu5dcjs&~&J#%|adx%re? z>O#3VIr*D&6Q3W*N=Us{ebtX-aHBJIu8pGZ`Vrq?JsO0Gdj!(WYxjo2nwQf?rNBex zj$8i1dfBehR-e&->?!}k!yh^a<>DW_fj4AEH&drHt>I*3Y%tw?(Vg<~RbJKz3<-;?|Rn zKQ&u*v%}ID-3!iXFL?$LVY9r1hc=X-9gA%7s$Z76DrG%!EH8uewodWDm4FTqV%kKV zGAJ!P>SC9ap94(}85wMH?h-zf!6&EbIwE-dpIH5y4qPFsJGT&h=G=)udEsy8gP^+K zfET#5qzx%k0Cg4=@G7H}a$pf7J~-Sa;*wVHS z$s^bw#ZSLHpd`vi*wQV0cbujzUpQybxqURg{MGT!cilxk3S6!(WrWA*8a_rH2EtXM zgG6bKy$pqwzGatuirexKFZ!KV`R#b>&`@}3gzpBmK_}qgbQT|DefMVmI*b13pCIyt zx=YrZ2QL4{!QhmR(b@Zh&!ms1ES?i-j|bdOH`vfw1-QgT&v|@xW{VjNSQ_ixb{IP= zI;1{|u@P}1qY5TyyXOObq z4t%bnvTt8ortS;WO_~gG*ySNx&iB~Nf9fH<_4cEeulW0JFS-0~|C6U^hJqbnrcJs3y!h6+0EtXk@YhcSN;P-fKY?Ca$naXHfSP)lv z<^N~=EfddB{gN@yzsy*4CZAXLi!$$gp@q(2lh5rYJGY$&oxHamem*!vgHz{u43o5- z2c9*0bQ)7mqhgbIrXC{oVaHEW@Jn91lUDvb{)z)H zN7va+PuH6E$(91Swo&b^L(S`|+6c{94K!GH2S8`@sI5@dfj%=LvH!e%7H6kSXOB>0 zh+;qZ7+*U3;4Nv|VO{E^Og{mYzd^@~LvP-4yU>*igH)F6i?>SO!rK*>e>_6H6s^3# z7$}u%eI1aOL0ZMJqgGuw7R2_T2AMifGQSpDFzvYMoHh@5wo&H8N1PDwb4e@Qa^PA$ z_`(dp6Y*2|d%5Y#44(LlkMYtnID5Z59KFP4>d2qQQX#IwqlHSyl*?c&ZfB9wrI4S( zi*LE1c)}~+c)v;`{th?)UxmsMFMLo}mF-aetu?7JnRQt{ z&!04MS?+9UJWeCNqvm;pXMo5Ih%EnEH-*A%nvlHz(7~DfaB@2wa4l+VunmKY)5}7B zk&B}_V7N@pQavxA%(Lk}@2&Hzk9PM#o_W$u&hnf)2v7K2)*NEV3cfn84#neX*2g~) z)suPQ+UJ%*&u^{!7MX)xzA;BrIwsBKAc&UW#D*@v;g#(Vu+acn=I3VZUKI!i-(jt)C<>WbIY_;lig7iG0fuz7eYdVjOSYpy)LbL7R5npz|Z*3Dh1rqr^ zb-&1J+48fMZ#pYF6rSxMJ%~c#_RtEgf^@>d@)zEx}5qI3Ka)M-I;A%#EudL>PA z&waz<12%MRU9|9ig! zsbsYa0sD*tF+V11xV=M#c!h8Ll5CH!ar&lR(-+<_-891FSGYAiK!3-Nc%-#7ChwF_ zA%o#rKXyB-mm4Q5%1DZu zPA1QK@HCky#RhF@!aOBVAx{U8zBsvt!6b@&5}-zh^^4cEJSTtd3fx2@N}Rs}LT> z^?AkB`_;b)u0$HwLNx#SP4{2+Q|J6px!tId4;;FrMc6P2or4vNIjDAU%-(#h1)qJH zB@=c@qj{`=$h4UBFhJ?vn$42z8Am||A(x@v8b_lTkmt6+2!>{LAQL@tYB7Z^T5R(T z8&lT96sJQqlbY~qZ8f;3-a5AZ;F)%olPevf!pXfS#E@#@^hQ6j5s!2nzLQY0> zQ&U$ak?eLD`r-urhR}SK8}r_VLDZX_lVfzhI_t?j3c6bS4HJwfEQh}1)!9!h2WCPu zn1WDhw>Fyk;mM2=W__1erGai@qeF;E?_FKWz7-V&3ASG3foN63cs6ChHlRU4d^Gq5 z7v4$viKdKen&M5uEnV-;y8@n$)jX}V4ew+oDO-30>TluY$BfY%r{7A^UtO8q@LmmD z;k-9|jq7uLVL~*1^IPGK*A+&;@hgsj`t5IF^w)BvQlyQ>cg*d~t{TL(Vx59&<=Ps^ zc{H=fE*@_A|PXi8_REb)`Sv|1i~@=LuNvIyA-wRlG(ri{r4(F1SW+BEr64j;X6#$4gP zhLAf!cjXG-bk_oKwS%4B-4Z@$8D9o)t<|7G5Hm8;N8Tc0F98JF>6vHT*_hGwkJKq191DNknc4_ z!bV_2oCF3c6a^7s1F*Gu~=rHX$L{kUF-}*QJ5h!?67!~M!*%lh4N!a+@3M0<)e)hWipdeQJ z2_#a(JDD+f294o|u3^of_zZ8Heg(ex8)rIQX((LtY1+f^#_Jcy8fLoY5#M|u-|=Vi zBHl)Yhw&$WO>?4i?b8~EfHdv{nnp=JVa+*OYC|yj4J~SQj~mXP8V0<{T$-rwDKQy= zH)Cu3IN~9C2ogw|xtt(W`#F)8opowA!mZ2fwPy?)W=I*QbK48B^jUD}F@N*o-nY;` zesB%mQ)v*QYzKBN-7Tq()1^sV4sF!tY&P12Js8c)J_^)|{$w+CYkz2&?J&fV;_>5C z5?IN^i6_Fo*Fb7@mOeRE_tv{x`RL;H=P&ZE`sGWE)tg?Q)c%=;?I;geX7{?=2@^;h zc~7duPjc&E;Dg0-{EoYbw*n2-)tzd5AUeOJ33tXFVG(KGSV5#s+4CvuwId z76Y@7H!Km8<61U@_k!+2T{D_S-ZCQ6#3gJ`$P#Ay!mR$c!i&rJx~6O1hOc40FT8$f zS;G!-_u2YOb8IOexn><9QvhuwIeqFHUnWj& zWU5Jvpxa>P2|j5`e%2u!L3);?ZQL~YXkBn4V0jN6OM;BH3$n=54#1_fRnWcfup;^J zF^Ml%GItJ~0^zy!>>^{&zlSNho6OBNx+~0DXVZ$E6ZG1d?Sj1c~Y}V1V@X4Y( zb8nfQ4{#pCF}A~m%ym%bwGv`(%iL6lMJ~_TnOHA&GR~Si`|c^b`Y&I-X6y3X-TO;) zXd9fg>a686XZt{p7jVU$c&ncq^XOInsXqY14c3P5@lf_OlXZ}a9r~v|6LUricTKnA z5mwi*rfpp$(w_}(ZinXH*Doy~6X71G@j7$LK(m=8a6`PWC@M>#^ExDMh4)^!!j^db z!?X=+xM|n0!|*kKVON@cuDb|_u*H|UkRH^KFOkgbG7N_c^TU|-nU`QrU%pVFBd)-j zHa%*D9w43-B#$r3{%RyY<4x-fMl~1rWKUJ&E8r1weV_HV`1*DLM&z1C%TkndZJmk& z?-yM8j}tl_lEMz0%x!uFzn>AdllgjrHl|$WDZTC>dy9bknPNXoSYem8Yv4LzP2J@< zg|cS*2lD<1dd+r>{B#zxfrxnuJCD6!4KHM=i;2G+q?vIxa|qTAIPGZ1Z3PLFPKec^ zuwQ3Q-5GeVSFdKb+dDP|(bce-2|@r&`8Q0{{_^VJwv&v-W#i$>2jY*z7lWcZm<(;? z8N8wLQLjGNFJ7N@zu`~w@3q7?of^8hr8E>sqfr(rAndSAL$xT(gWz4Y!Y55O^pson^> zLS<^72MgJ!0kX#Y86k)^?dcT#y1{A%qUXfam9 zSw~_T*^{0qjGXxbI)c3hhru;n{gjk~n4tk-$K-EWh4b>GhHu%7@)|)`=<~6P3^QVP zQy0)eUJ9`$`v=OJ$vE=%qY57Yen5f0=vdU+9~lCePbS@h& z&ZZWGP_teqdh6RdRPdekNBt9uR_9r*p3O~YbbV*!r8Au}a|~w|g7rOn^tB*74=`mm z5BViIS(H>dq2p4E=`=TCCtjKkUHHw0?{x_9d(Wn+1OIsnN*@3V?$VhV_olUeq<_OF zP1f_&`&dGewbDFE4;9}i|{wD@b%a5rfqtk z>ki=z52G#g3sbnWiXKMH#1zbteceeTW2>)hAg-jfTr+_uD>$Y#YQI8h<#L5Zx4e>{ zLc=uzj*mI(jQ_s1%`e%Yo#F>+%=9^V2H|$>t)}*(Vfl&KY<`Z_Bed_)(C_>v-0YB3 z$a6V+E?o%MSOSz8O{rjc?6X?^9VWY4U0(t6y?f2{%gk=WMoi4jmr_2G?+7~`2%XA1 z%>1{c`9NLteRd6ZX$+mzp7|=QZ|P8O3r8HwEe1DID?4*m2I`oSH3qdcxOxVOP0!Tj{KXV59|=AXJwwT?2fnp4;M z2QK^-2FXwAE@8GWt~```e(a>yFvEZ2!c(MGHi#5ouRZL7e{!C@#9jQMV@n{6&*5{* zZd?0Y{tJF!vP4InN26Cr#jzsma}uqDY=j%HlaS)5e~4!w&wfjM{o+}DaWsCVp;(M- zeEr7#uD`FzVMLkXtm0@;9<;c<@|F_;&CBN2M4FESBo%Qq;C4-7fu>%vVI;y0SJ#Jb zMJOE!0+qS~XG|}j(VWrbG~Q>lu2&A9n^|Kk}jqX|sPEVRgrurmzC5c843&DJjqtGTTl+p`qW?*?4^*zX-T#=velGj^L^F zW&F04Y%-g4u5MaqT7{wpmex(DH(QQJ181gwn!wobl}Bp({rN0~GL+Dyw>+It&2pnd z9>Qijt#93pR=4aCYW&~wh=KfPF2$A|M-gz8V|(6v@*5B0Ng2K8O8f1B<|cVr7i;_= zK7iaF7u*F1&rzn;oy!Y+=ASqEHaIoD`y|>1>2!hF45%|y`$B9)nLuC#c+I5u!W&ls z7n5-*=o#8`X&a~CdqMkL+)MIvgctTO-xXKW3ZpB|z*zePCqLt=!-f zRY_nMI_ET+nbCEJoH(+9MvDLjlohPH^z_`TJst07J)V0iDzs!r7W)o5zQ_p}XIraub2HSV9`!;7}V95U(7zcYRe zFA!i@63h?JXZ#vIu?ztk*p$e;l8)ak@*GbYw>V*&x52ivJfSQ#UBRc^!Jaw@Jg|nZ z{M&Tl8RC6zm~g_oE7OjghvcQTC(LgI-Aqhyk)OaVz8Ms@afUZczxRz_p9{N&6|VUE z+zM)V)6_5A>Nif`bWLj|=+we8qKu*Tb0-$uincJGO*D?FfysD~27>cpXm@5|W&*G9 zUO`Le^FeG>QS(fmq_^TXv%N2_G+)c|2~C=>v?5?OMoekK@|vm7Xw#f2hcU?=9=-g%Yle4Q(bm|>_l@y z54uLU5pwpQzp-O6PXu;$1R~_%A-h}(wHjB`*)TQsyZ3HnvGcTZ9HulpI}~XHm(#wS z%s6u_tZ5^~#b?cNh274>=CeMc(ed|no@%Fz5%k#~Ar=L7Yx0c;6k1{$2uyIuBizU3 z-Y4-JB79=J5n zuCeO2ms*OXNCouX%Z6#MG8pE!J%~@uxM>dkrfYbgn^ylYt~9NF@6Ef{MYxJ@^;fvw z%V<}bDDo_EHK*Dzf-W=3=cDZNQU~(1`+#74@H^@(DP2dfWn9OfP7q~W2xG?zkb&s{ zqRD}QSPMAWg2S=*M}*}y%SA8wlB@4dYj!*9?ZlXC^jZ$~+}4YXuHg73PWzx!vP9bpdPu{MqtsHl|mgCklGx9WKLq32P2h&JYxM zf6UW*5D&a+rJfN}D8mk~#uZ7Q*8&>W=R>@GZo2wwK26)W`i1eiLcWHr=?w3){tD+k z0jV7EsL>UGS@NL=lxbn~PakC>HItiZ5CW9Auc+D?Tvo+KgR_P9WG0BzNScem1EVVB z^RD>_xpZg=d`6Hov0t(QcTYQ1B&%6gCkg$Ydx{l*%pBgh()65k0p&Gb)9!YSl-HY3a<(2m>r zPkq=ixQWI&3~N)tj_`#(P3N(8Jj7zm=n=-u4bVAAXUu);nzA~C(6Z4&I6ig;K3LOs zmcu>p`8rPOb#RpzM$1pT+NRD6M9^&q+dHitIU2s8ta+gbpZ{^aIq*XTIB2~+@PN#3 z_^CJ!{Kl=kD9DA+@`rI-d|`ywg@5V`yTNm_=V$X9ss=tKC(JsbJ!)l@d5ebY6pIQyIkehe?2!Z%$S-}3l}uV%i+ ztghEP)4=TRth&VXub=J}PCR3t!s%8V8q%3vXMwL><&((>`ei!|gnh>2&aRK?pW279 zohf$1heH1J$*;Sozi!vF=X?Q_@3g;o#kbmD0)tkU=}FU;3+>RFv*i(1>6+_=^X@c@ zN8`uLhdvqIa;ev^fXCLHx`rmo=$~cETmaJR_)!yHO|8ZrO)V5{%Mj-HgpLawzC(VA zx&e^-u`?1gP@AAfz{uAx-K35(H=y8;1!R5>TfWdi+KFkpOP9i~MH8(~Ih{d^*n6~n?yZxB<*n~tRsj{6JVh|Ix1qul zPFKJ8K9`@Pjfu$I%^4xl&}MA-%E#ik$d#t}0+deq+vf$B_zbgd_Uq`)q{OcNIpj;B z3M2miin|D(>02qqRXCrUSN%1t@T=eQd>f7`*eXfQo3T1fXPCl~mk(g-x}i-5am+~P z0MkXt(?NI|%gG2ixU!r^6{{7$VxoR=QVSu{EPsJOKmGOD?#a);?0!Yq{qpBCJ_tBM z{wlk_TqoAF%{W^eVS$Qhv4vs$K%Yw zR8uz_q)A3Z4BqM_N9h1STM!xnvc9S`ri})7Y2MJK{k%`CZMj7>%_`)fs|kO{PaSSJ zz5k61okPFFh5ZRLX3zwy@BMnE=d|~@2>EYvI}_f*o4)u2Z(*CX1zlm9w(y6~O85h#7%tn0VMU5@(l6&kPO{{|;Q%h)+=XFXsM*x6lS z_uRa(XPq#?Lq3}C()N~FcV93`M}$De;;=qQuMm$0=foE}nXgQ&p{~XXP-^K36gmYv z6KjsS?V!}s3MF-FSvB8BSf^dQ*C|lKStj497p3EWhcm`mKHEhrKoftzeV6#Qy?CTm z!7?+eI6DkMMzFCXz}(I5Lc_-S5lT};Ba^m#k%Tk2R4 z-Y4RMA7Kt%(+oCZ3$x+Rtb2jh#QTCQfz6XwN?7*rGc0|KD-RD*xSvbcKUnA&9(wy?VS1=__QEiN9e*-ZsDXzgK;Uts1-2w$`} zLL=_C%ojKzXJ=%mq@X*8ps5{UfaaMjbX<%Tg7$V7pXHbEocIELy!{?wwlj!O6Q>5Z zJ?v;Z2A}b^f;Rjk-J_Z9h&DmDQzgxr6Lu^ghc2dZ^}*{Hq0e~Vxdh7E%S}N1<9ah4 z#vW(dVE<$T*eL0^L{h%eCwRjp*cspF9$Hcs{KmCx3-&!e!=y``t80FF<561b%x}A| z?_=m%;P$3_BUj)1x@P2a8>eB1zA#qyA)Mhl<5p+-Z(S>#_svV(x;A*94HL%j6{q2= z3w>0PaI?fSW5rAsA$SV2FRVB-{P80~&wBM&zP3uC!0Q1HGuwWGkjtdW&pf$gIwzZ) zbbJ2n>Fycd?0)|2MFic6H--K+`?eJpO-wr)Pq{fJzbk}kwmb8#c00P{jq zoiAU#+&y8!@ELOlZj*Hk-xUG#w%pPoZSGF{ME;*X9j9z+GV9h((GE4IyP|PzE6>$8 z?I~}l?RKZkk4$~GKGgown0npvG0vHH>)Z~*_H74fyU@F&Gk*6P%jwDE-Lrf5cDL`| z$r%Fa7KG>GAG~sd?ZxvZrhDEpY76U~+%_G9A;V*H_uF5~x4$Su?gf*^0~a1W2uofY zY~!2K`iS%tFK~7o#l4?>2WRRh<#kdPpdi}<);t@xh8^BFt>NB(%NZw;zvqgp{vqt| z;a_2!*CBlIwhy#{Wkko?z8&Q|&X{U8^`3hTI(Z+jQclEVXw?LzA4-##8`QE;#Y_fAkMnAc@Y+TUl#>*CSkc}WN2 z#GAtlmnn6YLEaO2ed}p9)@bTa#~M`zm|TU%%6@~-Xz|z3`}1G^V|NNZKVEtJ?p-=D zCjY31nVg&Q+x{1G>~Ki=U%zxnpDxdHoBKTsVbZ#f=U$g(we4PdqnQmia&b+k!0OV` z;RpYQSNsw7K=5PT_Wsb9cETd)?Ky=Bm!{%a!<)uE=T|SE>`vKyeeeFg-JLskc0Z$icCV>O(mD%0>JedrDFL4e zFDJP$*)ukmd2E!_iDOz73v2S2?5|*AXV;(n@;E~Np50{Poo%7i2}?`wU2a2wW(+*L z)3T%m4o&*`WYn0#3bST-CczXg+T_CrG`kiCG#RgupIp(5cIoeg6Hz_D!NV4BWIjQm zb0Z9Zp;@@A6zt^sX}%lh+i9P^z6wnW`E#z9drhu(GMN);V}jH2DYM~P40eu&UB)8t z?g*iD{^G<*%NvA~zvFDRz3czKJpP5Dz}vBkpnXhu;7N1&3iS$Nap(14@O9~I0xi3p zn)4HMRMweR6!rb@|NPIfFh0|%e*VM9-M#O=-(5X*6BN8_bAdC2>zTpgY$MCEhI_w0 zm#-RDUo^(a?+w#muYFeLqmbh3_AuP9a%5+)QW!Y!n>N>i{}7*Lv99+!NB!W!2?9^xtCE1dV@`p=xWif@H)nCaJhpM^85zF~DXGEo_aJGQ-n*?12jzemr1 zou210j5LmmUC+*oBnXRRd|xRg@mwi{^?_hj{KA3JouL7}AQ*nN5VHDhs?{9N0YhHQ3;=60;i>!ZLsW)_#_ zwR6&vQMcsPQ05j+pxONdC%%XRyu%YaHHQ+&TI%P;^JmOqyyiuh)3k?L-Lv+sPsiq$ z*$1F&yGysiy#*%RXFD}RU4?Mk>@}+yzc{3#+Uy8VZ{OKnBacdq_J|1v@9>~y(KW1j z9{Oi60S~Qd|9Ra1mWQOv9K0rnjbEvs6?ft{zTG47hVpGCJ_|O?%ld%s;%=Vd3&Xh- z_Po7jYBOx6K>(7~rGi0foX*DWz5W`%hI`-V;xFEY_gP;84HsYCilbrrYq<9Q$KW?(N$V_FEh^{1Q`EI;qYMR2yYs=p} zG|Tf51q9lqr5k87HPPF*?-88YLi&R7?<+LrTZG*$r3$-a^DqLimtfMF44clv(l~5z zrdm@s`S5HfkX{=Aha6e~j{Pm8v(Kk!^xM44?d9-9T3y0YIA+s`_3buUEE5Fr2zp$@ ze~$U<(w}4L>`S*ks5?j_|I54Ew{N9Ww5(3fy=_*O~P-}DQshU$|`+z(w~a}+c{_06Ly`> z+D_W@+;7manB)x>)n7jSYdV`B|NM`(JZap?M<)`MKDfkP4IUnf*a%G?Ms6n`-hAWsxDU!KoON9x)?d?lADqZ&_?YKR#)-7930kOT z*7*7>+zQi7n%;u+zG(};hWEby3hVu0__xB$zwV+mHicu$2)Px&{WX~G4$O8RVZVz& zyg;LPR+;ZxYvWPRG|1MOAzTV~7}0wpZHN#wjhqHR$f^C9l?pk7vIw$EY)_q>L(ttX zj$((RqiEYJXmibE1&y9G@V+|gODCU~@gkxl1MRk|mSny*4Pa$A>^9HxpNIDYpz-3%cS+y3_>MnCxM(a5njL5fq zVdry0GaVYPA*?5M092BBs;RY#vI`M7H_AAdVI6yvmHC{wHJS9To7b67v^;rR=L)9> zMcVn@I=#8OkC1=&@KN%3{`6Ta2J6oaO4Ip`VB1#vU9Hxe&+!ouZwwJAfM(^*;(QL= z1#w$=`LMn?#5@`0ZV-xV!5=tqG+ltixurK;8Y9RExcChF&#sv6BCiH*0ueR5nKx`G zoI)DsrE6O6#ph*M;|p6~xHZmaUBl+-;@`rEU)Q|*-1x)PQko3}R6B;F#K)4Ec598gJ|^E zO!U3P#D4egO*CUnILhO)pkIb{%&w4)rbF8ylnR6luST91ab}Z^R)i}GU$c&gSRPlVFSaGd;}$u5@7kQBy(Uv}3K@F#?Dw3{sQ9J5oC*z(xHoTA}w(-GZb%xztY_X7g!1{ues!dyp? zZ{E1Zc$edsxNZVFhc%43@2M+lePL&l%{HMXZ^$@XM{$i#-T;FOv5`}gn1x)7I3kMF6E$5 zdD6PA&qJOgA@eg$zsc$F4-b?jLHJE094mTjG+D05X(UGuJOc!Z+Oeh8x!B3VQB?t`UB68+Uf|V{=_b?w@d^*`T3_T!Q5vuPSU@>cb7NRzK>wO=i`gM zxs{1HB8``My@n2|REB|}be>J-rkcEdiXeK7lO4uO1pL|4U(sBz(5jfznE_`OJU%8T zTKfBk4dGnw@jVMUWNwl#mp?@lV-y?JBz@ZRm+ zeadl{akQqsnmqLYj&5$rk{fC4yqrW+(2rPNQ$TJrarcKGeqiDZvll_PJTCKzLm`_j zw{C6aSsV&J9Zp&vI62Mx%n@KxyPEL;0k@nFD5rA;3c6N@^8gMLUQ@I>6n~_mk!UudxhmNn|#m{u(02HZaV$KdVlB+;|`x!c;hr} z)!^@F{3n0?>+YZa+y8@Lzlq6r@7|pV-+i>%Lo~$Ow~nWQMcA!4lZr!AKKC?>^ebq_ ztEnB|#^>J2C!e(<)Vz-W74B0^@LMt^4DXEejT;EV?VCVR=U>0u-9jrrxWh5WnD1)0 z2pZZg2ThQd)LemOYH~U( zd`&UjZP6mXrLja zY3wLym~@gJ$T1U&>|G%I=(2n|LlR+3qoWlGpLXST3rj?QfVCxwOq&l-`FBzbe;5;5 zw!r4$W5b0R3>%Pf$$!e>ed5h)i#vnd@-dD}dU7oQD_!E+ucHgojO?MUy!6xntpZ!Bv!{pSRY#MPQOyO40W%5gC?n^9Nc?#|o_7UW(EGZuA z+)%Gs?@ah3%;5L${~Uq(4?0CR{6t7BE3=57-33Pt#Ed760&2nK8?~%u_FaIy58$L4 zbzIdc+mdHiL4ZpaLLInIUV3ahC+3tDpY6c5TOV_uABD;^Q~kgT zWjcJW@FQi{_fqqkUgvX{1WlDV;wRI9M3#bM9_M$<0|ddPyy^CNgF|w}c}DBdBb-j0 z!bi{z@WDVEX?2FJmvKI?ejX0O+X<{`*ZZb9^jnDLVSK|1yT&!Fe&gylTwkhv3BqyP zJ5B0epX{Fg?QgrMOn&+5SSEYM`b{t z*jvGFh*7{9FKbqlmuuO=_&KM$2;XfrEn3}m<&S72Plr)^U*i7q3EJ^18klsKc|M|( z@w)Vhc5yOZ22zU=?>lJNF|$9@v6gQyVU? zIYS+74}++|9fxZAK6>ylz2=kWPs0o{p~B@jJ!8snhPh6)nx~BDCKYii*qWclS|9Va z7TZ8=Bk1@_USyc{{1Y1vNKZ<=#4PwFOn*m|PG%wFJTpdvv7KM=_$cxD(#Cb(6~9Ag zqJV$L?6YH4hYB%o=}bnO$Jh?DYj~Jd>&H5ExZxZ@1d2#0v6Hxu3GWiu4Q9cg&@n#Q z1k^3QJ(&3ccN-?|SJS_)8nB=3S z7)tCJ8iL#I@|C8$<9shQxx)nWR^ggPq4pd-FW-H4)x)_Cd0J=LQq}Q&8aJh$d-TB` zXsxGJu%sz;fvjaSb?R`?QCbNr4)48+PuN4(bcf;V^I`hZwZb&4zH#5go%)p+bla;=Vaq`n(5g11QML=Z9cQPF2$Q~Oba%I*`GB=<^4hCw+0n9djB<9-5#~yQ z8gn-2jCrlbG~LWiV1T^0oLEn9&v;>P!UAV!c?BWO!5IpxX%R}(NK-5*D%ke4UUlBv zX}DBp=VQlflyoc1wohKS1tvoY(#*u041d;P*b>2Oo+8LUKQ<_yep{EPxU@C-*O@-; zN`UvebWXWD|FaJ#zwjT?`!t4aE_}Q_8@lp!Vb1yHEBxvU(0uU40iT}}Q8Z&={iQq7yFfz{`HGy7lMazikuuGS0-c6K6`CrR zLFN~xEv;Y2*zU7;7o6jIaXCrpn}T*cb^^!DRorJTr5-Y#F_sFo5(G`=^9plBY)^= zplQTWf5W+dO|=46r0a9T#MSWL``obAU(*PyYy3R@eZPlzisLZ+qUXY%&uKJ;V?k$n zy%<_DId&(4u8`lv-2RB^`~@@gHS4;Xz&1c;Z7Hw9kqtAJohr3bFLbtqor28@Y}Rbi zP29f*Bup8!E zc-e(#0%@aQInD|iq+lN5BNK8%J<24E9-v4%!*?g$%dNZnBk#2 zB%-kO8^7XeT>awo`7n<)>|1fgqu+aR_IV96Ts&H+_SU{5ov(GG89#qw{n>YyF@tX~ zF27FLHAm*`@_5CrEtjtH>NkmxnbdM}OKlg%VY3H_(~`20jH>8oY=q<-vvf6rMO7o@ z9=^D~AmZ+?(^KDebHYgC)Ou(;-fFvXW5$*;-c^KnJ|%q0cgS3h^Lu1$pyASlRU^6& zUrjDKYP|?KY0vbB1S+_rSrse~olpQxqshz^8iEeZ8QW8$md$h|*AnrvgNu+}zP|g6 zu(@^BPHB#pLVE*m{iv0_7q`y}b>0)8peU(*sx8Pcjx>!h*#ZFd1 z_w-(eE|&W(Lhg(^1mt^c_vx%}T)VOR?$M*{!N1Ks%PAX^a(E}Sgb%top#`=y|Y78n=qR#!8NAL*a z1^&9TJ6L%i2tbL@Pa{yNx@Kg!PQUlYSz&#yAHeOW@Qqua*RZBp!^FQn_r9?8rB~RM z*22~oHgy4G%T&(VDk$y`_chhqXma1O^4)Due9f2$Ev9g**}P)%imymToCiG` zlgq!{6Yh8)9hGM)7vXnj+%OB%RBqoi+j=lJ@P#O4{AXFN02FpQU^_a94s8m&){m?2rU?$xYh^{N zQwOf$yTk4|>+)aNM*IOY{*Qn7W8TR7{)g{(cOHG0xA(M)#2Xr0UMSeRef!y9T&adF zkn-rtU%BT;zPQK@G%?n<0OqIXz3yA-wtTF=i#m_AQ<4vF6kqZ%?UFuu^DM6YWZYEz zke3K6WkaanN^S${>)PY`+^`j94Htfm>$Co$TXC&%hFjRiH_m6TwbL=K;rsi9sqtnB zOhH#3?mf86CYGBBIa*Pz%PzLJn0+svJlVZrXWJ#TTwc(KaKVf)ovoH78<|3Z;L^Mw z`ZhrVPMzer>o%N1eT7qFIjxULHDXA69c^=ipKj(f`N>`!-+2_Z;% zw>+jPNXf8-I3m%2#HmfuezQ6-OwjrOB)pcxEMf%=BL-D)4^r#X;#oG+s-d+2H1S=h zRvhg|_8OP`y%%pC;~KxmWg0H|sjikq@+LfT zKxA?5HTpgQnOT_yD8YT!*Y&wX=r>IN@Oj05(S5^Kzj>`;-WR|3&A+hqjl0NMHNt2v zUS;p~Eq0RmCYSGPJ4^l<=Jl;I*Vuif^6^i9{)`B>3hHeMQVYnaKG zIfFa@6yt^DEDHIGc9@u0b^nXU$P(kwIVkQqkPfM7FD zIs@pa;Lb)D^BlfPq0=8x9)?0A!1A4Rn{JlSj;Zh9wSfNPPiNuqX_oM86R-C?zoi^+ zn9y{&FEjFV1bNMzWD=XChWEOh&fXhvJ&Y<;v+Tx7&jW=wC zF-%7ep`z`OFv};r4_5r*#IfS(y}r1bw?0+74=alO7T6|i#)r>`;UXwpR{Y*KuHkFC-mmxzzxur|eyH46uH!(>bhn~jVNu(U__?{|4O?Sf_x;IvMu8HZraW+x3w}Qijo~EdiR?)Buxd3W!;0F(MDbzfN z$*>-d5%i&-5aEc=dbLYh2$~an3XZ0*W7e3@2zAVK1=*%fhaHKsf^$uq38yww(C1Vb z1zr*^eeuN?Ns%`4Q23zVZLh~@PCH0ZfBEc*JM7eR91X2WOcKD;Sw#@3v+k!zgf!R& zdR)Oxf?2BEIsu|44uNL~rB-+RK0INOMyp#MI|a+{p84!;0GIXn7Onmho%9ukMh}1Z zG4(W^jP0g{g2v-2e+*ZUtvJCiZY?j<)QMMkYh`HhuJx4Lzw5`eb?d!hjY&QmeRja< z@Oh3~(ocXjdghA5kmB(^8a;@32$OCZv=SudkRTHtI^q8wxTY)qKI=FAe-)Q$SA4}& zocm{LBu!y<{^8@yu#xyh*yj zH|CKV%?`pkOeKR`285t=4woH4+r6N}P?X?In@{@Yq;$Xz9nzIJ(`{)}j?g}FnWR(Dt&c6-^wzg+ zses4IU}pWp>#MsLWZ-@S_dHy~+<%_KGu)gbjdlb!4Jo~b8YzmCo~bweP2f#qTbeh{ z-<8)AxcwNuuj@5pyB`c&9W-pio5#|nZ~4SWMDpC=>zU7Cem+~j`ns0Kr*NJT_UJ2s z6=@?}l#x<@Peke{oWK5trLNEHEzd^+z!%1i5Lub_v@VgMd8s=BHlZTlO_LodL5Da)t>*1D3UmQ(; zh_BCwe$tu$mRFzkYjMaI;+2mLm)gMLTb-+!-?*GSBVJ*)wBp%ROv3XMgj)t@p=Wn3 zP%~^yg{tv}AKtIeO?QzmT(67b4ZDa=!ZM@^U@;Gqd)7mG#Kk zdndUhE8l4YnETL(r;}ujm{v!^_%ST34K3lVbX-7zvh+xEG&=3*5m;Ip;*(b2w0naI z|ANg(9@1%8>Nj}J<+pBMU)EVKz`|F86V`js{MVg0He#Gye z!4+(#5ih>i@ME9@D=&JcTm;>U)QO~s4D%{M`o9$RhJru~5aIsh7~H+=%pAL?-Qk2^ zaCI|{Fx@EP7YqzdphgyyohV^U!dU~={m94j>|GRpE3Iu zEN`l2Dn@!XT%bSaLY;iGhVrZnZ>{0WefhS2;TMqbqtE5b=CSf@Dq&0Xd-)lcylmGc z6T|C5HMH+1;}q1DK=1d&h-kSQF0zL25pU@lr@!JY+~4DWD_z6a0u|q3TsxzExPWLN zwd^H6S7cB3#hG>l+q1=9I;LX-hUq-c=pjoqml^-P_`o<1W>d>MPIfogr;liBs(9-r z_jO@4YnH||HNR9mq525e>zSAGKoaIJ^5E=v}3-088GUI^zpNpmjFMHpqk-ilE!5 zb*r$O;WYSU+cCTZuW(H(?6=~Y`9+m*QJCan;t0!;nilufkMvoUs1@JNQcY#1JwnddS1SQ+ULp6)bI1O&W0sqk@waSh z$h>BYDIfD2R8Cl(vQzHL6~E}JB{2f-ynvIAS{L*X$zOcwgzW74>MA(22<(9T#`@)B z#^y*^agp;&r?>NoO^x5es|^%)R?pOPdv0t-TNU7cfBF#d<5|l!r6AX zJ2h%)%jf@vJ1-{+Ox zA2_4V&f1-jIy+0dnH;u(Wg&~0r*x!lyp>fp-Z71$H-ChaK6Nt*r>wvvT;R>E{MRsH zk{1CN#RsnWrhd-jOQYnz0C5T~P>}p+xz6rqL6#{D>^Vv4xee`Yl-f zh6}zHs3=QRpPR1F^$lOIhSzU8X=|Q`xC?8zZV#7=rn2$#ow3VE+ZUJx#`p*WZCi~zXYPF@yTH+=z+1CoUdf`m)kDwb9 zatJ~VkC3aGFfXIEYqCdcvOaAbX}dE_fm7S&WLDxFFFP}=)p6NLKP(gvnj9gQQ%6vb z6mV!%Xj30ga|l7Bl$>CTbbbhI-GN5=)AZDPH)KCDcI z+)mj}+K$(Pb}IZcsvZl(7~OM^Nb?rP-4et9tbvGJpsEm)Iqc!#Wm-_BSnah7xLwnx*-Yg^lhY5w&F zX7lGkUZZ181+Il5HjPC=bd67ATiFt_!5`iWZ(6Uy7^W-ErV($$bHh*L^o7?IPyGaL z;fFYy_X^Yd_@H!t$SRV#6?O&S3-@2S6bgHOXLuic_XwtWn2j`FFhy^&y!MnyohO_| zBa=F2e*f;~?uZREp4gHygI8wr8fLK$xyaXsnJ^iYCmBUesJ6sJ&#AKryFwpLPWc^2 zYbxi})s3Njo6UnNd_D9On*Q|XKO^iM7v(HGnsyr7Ukhq`QP0*j9BjT?K)$1`>Fv-! zq7=X@9QxqwyS1*+kuZX09Us%NI6iLYZ&@B8P?j!VfOQ@Ldd$;K#ECGkynD~*qMSH9 zMvGqtuR=a&tJ6QSW}n$~>&Hvpf|mKR3swWBx9{6)rTBh*kvKg?4&NK;?MrDm>%bT>RAZtKMC%@24z#jL+LO=7Nt{ zp@AuJC1|}b0^?FaX1)>FxE0>}Lw6DUAx`bG6s3nr1kj-fjauac{DDiIXpl>+z;;9Upg~0i>A$1TZH5)mdXu|bjrSe1Vm8#IsuGwudf$ zxR0so8E3O^UGrJ3_2r7yy)`a=9uQPJjM#~rpeKA2!kmi^9{0f8Y0M;-Yw|ENg5s>d zLj=!M(>#9h@&&Wr>_Q_Wnf4k?t$?eo^z$N!nc1+UcYnBoNyWv&a2)Tl-3OKpJx0s9 z08dM`(<*Da<@6SUaf|cvZqeaoSb)W&FnJ=bos(@R!`-2?aX9fm|JVQ8U3!MOjlzf} z1H78qG+GE+E+kBUr=Zh~A>fWN(cF|pOX?C}a7O0%3EB8(NIdb--`sJz)aK zjr`|*c+6lfo#}N=WBm(j*>$m6=5~IG7shteO%?+m9w)rQT0svD$!X}QEF>S{DcfG) zH_G<2?q(u!He>}ig&^$E7olPLhi=VOn7S2qy)R6C;Sb~cyyn?3;n%e5y>YsIm~Dg5 zr7{V((qqcQq$dc=DNKI<10MiD05e;QFzK8XSD-cDJzB{F7n}@nhnftXilr{3$wpDY ztmq@mL-?8er=F<)2v$x*QOMD*5p;x7LGRH_p8V=D%O0HI7fif&X-h0>s|vV>F8UIV zP9e<9x40PRzgLjac(#CMtAehOyyW8%t}M8O==ySo0-3#MmBBJH_Ey+u?2i>7&Cu^s z+bp|n!xZT8nZj|ANqp~pfF9~1+Lk;G%dnPk-}d@Uy|{f=(X%74^Rl9xG*qMK0{11X zC0SlAZbLbL;2s7wdgfEWopS{&8x}_1fTPoP&gBMeb?VuCl*h7U*-^sM6w@9doW5~u z9>_eSU(h|@_@IOKI!ozON^80$t}vFn@foTC({zRDvw5vNoqOP$V|~+2zGp%%&z*As zG-W6tljAW1spn0=&Cq-OUWd;OUy&Q8lfV+JZ+M>%;hSa+{}!y_UTY`R{PY`MxI^5* z3yCtW!mX09!mJ|Lh;M>34uxUvxtvCv!X(gp1W*AH)~}R~p!<2>F^Od65%ythnGiB5 zw;iUloz^F`!_CnqbPfu&=6bHZHlNvTXT6=(_p?o&dH#$y=VWRprcN=ZeQ(}lqSc-r zs31;v^j+5EClANod5eq5!w5R{pD{S;ojrenpg-dT)+di2V<{l$ya(^-+KoM@2$vet zS7J56{U)5V*OuS<@}(cg%sy*j_&Mc#RtgPynTgFWoGfeIMMHwqdP!v?oL@7Kp-?$i zpSnL1o|?5iY=>xf1s?uWBEDb|ef(&>l0SKNBF=I-PmvR4(A1ZqNo{V&qc(RK^Wf&~ z-5pMuxx?$n4n?xuNM4%xIJgkHt!ml)}>4aO;t@nF4YECA!8mvS$I)%*j1;IH&(66x$ zn@<|SI9W>;j-@5pz;UD>Nx%+>d2b#OUK&9^_b_B=q>0p8W~9*DC<=&Xxt(h^#VAAw zwgM>g&Kf=1+#Pxd;cMRzBc0m#7L0qBd4qerjin}+ewkb5cNgE6&wSYh3t_&&KF2(n zpF-|?>mF7qpZGC@`Q|x-%8=l#Gv;<82!}J%n(x+$s|wNfc1m1Y433o*a629kiu{Gn z!bw4A#pft#>eD*4hR7_|03A^3$uK0`rA4L;(hi#NX%EtLo}fbj(M)|h-go~1LnPAL z5vKm2K|j`$bqvi~9e$kBVU5F&JNF*!uG4X8A=r^f)7BtRvyqCQ$|U_NWC;$ucW3U9 z&l*!cjW6*_T5~<;jMp8&Y}BQ`2H^Z}^BCSST$_pnt7jBziHO6-cOBO1`Asn$5>;??Sh6?$l1_+q!cUOS7EA$YqxvmyBTt>>6kb8yN@w3Z9 zGHs5N+JxT&BGu*!;!AwBsxM~vNnyX!ZBa3 z$$gYp9usuNU*R7*+Bk5W<27iq{U^!9mB)ggxbm)W<;6jEo{s}hKGD$n;w3-bo`x+i z!;G1n&*Xv}OgzLTOo2Iz_v**I;H?K9U;cHmw zSi?%kMR8L_Q-NU&tIVEUCim?!%gOoaZgP<^Jd{BJb-mdwubPT7S~Q#tfTlKXgnZyG z9U<6gaytZ)hT&tjiwCVe+DMHq9>&#t2tlpr@{k%-A$4~B9l~fQbd8-|zDnyx5Rblc z96A$J&?)T*i45Yn-mj|sjdSXsu-xRbm)3y7bN|KtFoxfN*L|X#pP)w}bl8$N`Ox}K zglVHk8<&+75;~k$bUcqagu`>$+?--3sPi>^g<~gZhkDGhTO;Ja6EA(PwO`lD!K%2$ z!I1a(Z1O!e%3S9&S8gQA7GX22g9qCF2AQvPmtR(X3S5N?-#E)J8wJk$?J9cx;_%*1 zbA}9Oc>!<^M!4i}yKHGz9LCp$1_+b3xj!q-;j?MPYh9i@1-6A1;9D6Pr(5H_zo@{% z8NR|EruF&v+)7j7#OD>^!q>I)ID}uHdp{|li*&h|rOo;0wBRK)jSX{z`Kr>8$^1yb zJC>Iec3)^w%+e`negY&3(b_Py8tsebA>nH52)1KM1jcQo*`E&6!ZCy~<^;xNGfj1w zT4C3c@cZC7J_-Qk66{E*2$+=2(>Hi!fA$k2Az|8n*468 z@nsk%)l37$(Siz#)`6d6w*1oV@}V1Hq$!78fX}gV@{FKc{>_qs4)3kdv<(xHj=w!< z(q{$LZMLqRtHtRLumtQ#m_?@pNSz}>`Em@5sdFyCmuQ@OFi&JUou_S2%Zuf)Iv%B-~K{m2DEB<=fVBR=o2tNAk&edBAACi_iLWj^J15vBSB^nR-qts{QFrLx=nA zZ!@!gA1!_h|CAw)0`E}F&Nwd%+1rqrG+P#HUsqm8^aLf`pMe#At}Wrj7Z$YMiangH zT=;Bz;7ogwGu}8YlE7?voP!p}1?gA#6?gNhe;8+(_kwPum8+|E^j^Z&%dkV&!WGW= z-kZ5spVzd9gcVQWS3KSqe)SLUi=+9h`4+Zu`cq;mR;|w1S}lHr0Oz0x7~3fhh$qgi zoSxXqm=$LGph=5M^TI7^aLr`RQ{4!MLd*sgCa+u~vi&Z5>MQY%Ki|T@FVU86*Yt9~ zwjG3@h;jpof}kb~Q;@G_<5vX?CUITZPQ}SJwV~xuv)|zZi^4eB<#yi8-qV3-HK?7R zF`NG$-!HgcCl6N=q}y-IDa^kxo9+gkbWWDVI-qpCU=mVcwj;<85}ND~w50q#yXJb9*a%l3+y!@h!cI7Z z+M}ZGJ>WQJ%y#!ecnGESl;M>5>Nd|?*UU$_xdG0$@FyUJGhHv^>xz%(bk-Z0)yxb13!Nqd&Mc-Opyjp=S+0qRRkwQldv5oqSPb_&Mn z^jElsuW=1q^J-X-EI)=fuJDa+T;mNFrs0LF-}Lnj_sugK3d!NZ=ib?OC*%BZsoLR$ z@w;oaNOJ^R4a9LTq!xadZ!|g@i%`u)%}q^lzrvy!?1WW5TEIsXWfCX$UOV&s5*W0( zT3r*?Ev-2*6<G<_FSz81z5bkR%+fpduoot?uQut9F>!CA%l9&M5I1KetPR}%=Eht z9&K8j_R|uuo=9LF`@Q3$#HeUSHXkK!${Ak@TEY+YQ zcb61$V2;=xt0`z@B6{$YOFA?tm92ofoaThPEu&^qxLt;FJ=!HW&tdmVDvpoeW3IXx z1uAcDk(UBr;c;G} zYx6Oc?Er|+E2U_21wuhTIeC+{cr|VhmT)34ubs+7)Jr-VtR2&6(WDcx1A->M!{*xh z340Ih04%$LIy=}Hlha{lWdY{ZA~KP6W_?+gnOG$JI@XNq`&tp?YJ;UC^x4kIdWl8l z@C-UU8e4Py4wG)qvU?_c)x{f{!JI~1=i;{Gh1le%f%X4 zSba#{o9@k|@h09QSP9(#*7&B;FOm9%sW7f^y+4F+_+gsTvc|7@G_S(dFMR!m4?Lk; zd&%tfna&z}*4weWU%A&3_4@Q?*1+v?9b1pmf+1mA)i|R|Ta^FVs;RIk>@vFtG2CUs z$Q^ATnT3A+j@@Yp`7ggdV<~L*usi;B4cM1!Jjc%c_nPM(cA-EhAmhu(GPO%ipSOuZ zzkjBnk6@X%=iRx*RrA+nJGJ9m!p&b?N4!gJ`IG>KL~Fo({mBD?aVVgWE8Jer`dd|> zq34)#+7WsBs;B4r9khIS0f9VXMN8UZJfng8Nc0f)CJ7E->B+&CYenJwnB_&|+?6Ku$d(vC-NgBdJlk_c@aS0F5*-v0-n{(yb z(iLiGou}}$)I+f4(Dgoo?t_fotIztqOmq=3hU*&F3B5JlK+Laj#?=*W4J(e~6t?ke zSaDqB3;%7{sRT$FCp`-C){Lfe+3C_1#*eocTf@X^5ZBhgb74pYVe%<~2_}6S~d51t`Hk*b~lwE>S@aFqyPI3`w zM*@jXc(sjO#+xN4%zU(+WBZutbUeO*^jW>K$Gfxy`9IdqG#LJAS9kuCH6S?m6%!97V@T zM@q0=@C$d*zAofzZQk}){pxbOly7F2@PI6T-uKM({KCN zZ+rkZ*nuBL@ORGxQaHf{CwueSf-PY3PS9_Dge?y?{|KLGO}gPeglQfMcP~5gLt&o@ zy0dJ9r$~c-%Yb`3*u6$KiNIbmQ|}FzP_KsV2@k~}0>1IW>k6x1SD2<>%*qHOpH7B|dDumUvzD#2s zJO0hb3K$zJOxA1|ULn1P=?#7@3AL$aZ*h6w%{b4W^J!+szL@ZuyN;KgT=eCg_h?-w z5hHk)FtI6%f*Ug(Is##d}?z|b?Imu#Sf1<5jt&_OwG4{;Q2kCNQN7orgc(qV}bF{32_)i zu%T1j++Kv=usF-M-TIvH}={L$A`i5Rn6jm&%TehgB}Kq2p!TwQCHP|f$4 z@c3F2*=EbcUbHsCr8ZFD-3#!R3Ak7HXQ|C4wjB6qIAiHIXkRDf>;#+ve?#Y^Wuc&{ zsTFd+=IU2TUDLin`L8?s&9j?r=4BYRsM66?D|;mL6V}1KT)unDhNIa*CofPplv_)| z&djmC6Opc?J1eh7cXQEnF1%(MK?j~X$c7&}+Xw}CDqE?0+v}_q)7-X4`9eOMYdFEU zuPkRA$pECw7G8q85Zw3{K)AJFJ|_b+#~IhlXX6U*^F?mW z!+7D_Fo*EPRsS%)&)>?oc@=K&Tgw&!e@bG^XbUS%deowxDC3eFoJU9SHDk;7RI*z- zb;%cB;bo61&zhY!-keG2T6rhw%x4ddhT+=-HJ4Rr}-Su;a z7VbLp6m63{uK7Mrg@dQhetTw)_LTMZLxo0gEC&YYN<{h*49^9djx*q?xU;f6X7d}?W#GvI4V}>VS zKI+hKtlt24KK+bUV8>_&qxtSQ`#K$+ujgu2IGnMw&HTltNUTHaJnh$QZ_fzSgPn-(Ts{fe!nXUp2Y7e^awZGB;e;m1^8!;?7y!syQRN(q^t=2N()D@gI{ z>l*(p_@=AB=4)E<6i4y(S)9giBnL%IIPQ8tg_V}P)u1#@m;=-Km}R$XoJn@$)}08- zu{%Y+u+>#_Rlz5rcw=JIeP`m!2|D6dCqC1BVjABe>1+0tpK#c`=DGswOD+nQWAJ>B z93fSkE1*bqcJC<^j&CzxK)z-nAMAxb9f3=JYIXPQYo7Z-hSB_*>u+MRGf@{BDJk{h z*w|BDuaUo#ZGOzq+4HV-i|;W){2U>E@(drX?fQ4d+T^L<2{w7p`jEY+jqNm9TEjB9 zi6DDIjB^S|`Zfe{Nsgs7UgWvSu0O4!jQ`1Btu7q$caEv8lDhIspWEj8Uh+xq1#k{T zA0i9qW84-tus%%iioa>rFcFR@kDueGNSZJzB6u;7cXMcUPA!bD*OJ;?vj&NvGql8Cd?)Y z9%$70B~}k`aQuDwgA4C6oOowLi9+j%GES^L2{}|Z?x&0`S)WC3iv4+)zyL=U&ZrH zmi|1k#eMir?ES}2f7|{0U-?em6ArRqSmK*);*%M-+KYhB`EO`r=$3u88m>|YYI9%1 z^%Y!)0JfJCf`}rs>U0EH5Kd-l6Tq=R->09?qMs zootV|q&0Yjw|n?^qkcXxCWnXs7AABsSgq0tnN*Wc(TbXD-&hRrbk#|Zu4+PR2+e~QMWo$ zNN=9ut`Ozj2kxIyIa^ zU~c3)0w&!vM`Bv{kvl>69zmbkZ7cvfhtVRYv!Ij*JetL>iTlw5HR)Zp)H>0ob>K4E zgGUb#yi-i|-R?1_`CtC_)9#=CxrkT7*K~!`7q)T#*>m$M+_}PT1vl=$;>1}RiqG`Y z9{S-XtM6OrOS?_JRsB>x&tU`WC<29`i%TFFW%A;|o|nK}))@@$EcHF!GJE-k%{0Ke z^;Klo5iU(v&p^xUx!P6@oJ}WlcDd%5Ljfn~zCOHZSV3x!qY&5Y1+^G+<7y1`^RZ<1NT9>S><9= ziiU4J+$wbE^8^oVpvy{$d_j8&qu(n4{3Na6DNno4E!ME`7U{RLp394Drf#MljKhMO zp2i0W$vB8GoniHbD@?=cS8#k@i5K4?eqrj2?^QVC%tt)E*KfRWD;+D$dN1C>7QT4} z&L3R0Ex>6}E2u3y#oy{6z~rqj2>6kb2)Moi?`x6S@r710CV!M8lS>Gx=JZWo4Sj$n zf6tiQS6$U^YSx>MMbT)t8S`JkJeA=+?7@vSPo6x*G=9Rw-y5?2%9{M??nh3H`6EJj zhtp|K-LS$^o^QxK=Zra*vaX(Zo*a{fel`hQGRACT8Pnb6wCp>lKx+T&Y}+RN{0#9e z*2usA{=3~j@}-&+EQiOBe~A!3eDn~yuV4`%bims&WDh@iXCn(`((HFbji$Ngx8qRf zCY)Qy5}`wbjQyR2qf^mzXG4+m0M5=k&bI@zW668(;8cy;Ddi*@pK<&4mDv~JZd`!+ zljh=Qnv=Hc%>dZhowfTG2e>Xgfq#}_BFa}rWDI@=kn)zk@QUe&q4soFxDBt|tgulK z@J7-pE7BrgzupVeaPKd2 zYyQP`5nRKHudsdAUvaJQ)=es9Yu!}dQiH~m*qY5t#vh&!T~dX{xA(-_axKJ zq}%k^es0)3Cq!2V1;miOW-2Bv*}_v*5Cf#>{xe z(iDYqc$kD1hxMhPdkE$CKm4%!<3Id~G7^qpIJ170A;Y_OyamUmp=V6MxojuzXo=WC zY5J?B?=t3Ab31q7nA>>*nj?a)usX5mlA0ZgWie0N%ZWjUESl@ql@@~S6hXGidCtce zwziet{RQ0W8g5wH`dqX%axP%cmn+{4F9|zM9+t@C8Gk2|pU~;AK=~j1r6b|Osl59}e z4e$LSuHpz$0Ih!G>WiZ^6|Q&-W4QP0RT%xc!uw1TfBgv~<%S=HERn5w23tv{9sD;g+q!=uq-%16YkDJ_NBuQ!jsLxS;||>!ty9^F zhvtT-WVX6xY(3|89;C-Rk_2WwIW-V8o@S=n)JBV-6XBLpf+FlPt0wCw%x+pNhfPSw z4Ve1|%zw(*)$g0RS;bRmZgX##lW(rxJ6R&dPf#jgxk+(LdvGNQVw~4FC3T|FQe$ zfBNU$Pk;R>s{_~Rlr-11L>y~BcyOQ2=eu+Y?hEiZuJ<0)q4`eTI4S9B!YLMv2Uj{| z`AmoB{sHr{6UcA?^WFL$rnMX0h6|JhazpPl1QEE4c%)(b_O)HP$RaqBaQhLzPC;2+ z+IkJ(zW9pYy4?#NlqMd8-1)PI51hE9V{t1vD^5Z34F0_fKF9A{o@Rgx-5_fE_*>lm zxMu?u$X-@(n0hN^I|Ik?y>GmJUBlMr-kZk?Yq-ycX$rskrmb7yi%+`igq6nCt!XmB zVPy$$_LJFiQ(0k-+4Nhq$bJ!u-+LkzE;V{43NUzN8h8&NHKEYgeEuDi?(cUa+0dteF_&v;AHR@Bo81t`uCFRA7 zr@Qa|@+c;@=e)baOoQ!J{-8VwmoypC0f2?O*?mW2Rrn^0;=&SR4HJIL7IRAAi{0=SU~dhj*Cq?Afp2 zD_=HDa(bV*?YU^hXMRAXW3a9A zSO91%y{1q6BuMzgiDTl7*Mt*YpmNby%caK zK?=1!13a;1qNPi4Fle zEw@6I_3^**nP{v9>r1+_#74nfC3yLgLo%3+Q@HPNvWqXyxMZk+|G>E3H}$kAoblI` zm+p7+4p%nGY;yp2(dJILS@UnVGx;)pr;~DnjN@@c67smP81lI$!lg&+NDVqpe=g~r zHlDchknN|7KR>A->v|P6>uTIqAK=sFcl$A@!?J4ef!Xp7fIvwQjA9F2#Ru&w9NS8$ zRZ&Ug%4_2O|5&>d9zBvIP0UHMSVh*|UEMu10v3WKK!X1N{}CWa+MVw0t4`i5z0YfI zUj}p7EomXojL$vX&CSfs&HRoC_h4#+(V1I0WvN)P$G|@If(nM72v3E*$*XDfmR{wo_n0G{d9L&roqhK&ytgeqn@2U# zewmA3K9n(+msyy*qJx?x~S-icJX_wt2hD zqMu>^iyT|^M4Q7h^VsVgIqklB=tyVmw)XUz=I{GtnlkEDfB)U@yZX8lIieH(hw2$7?k}hU&l1+~3D2nAtCRThEJJ785PN%|k5YInxP^gV#nm zV{e_qem_h1rv_d3f2K?KI`ToC1(JkE#=V()^p);l)hc6;5~!eErQgIp+6c_@!KNU+!Cam6@|Vcs zJVIMu*C$aG;!oA6wtF{WJ&if%oYa~gT~E^muK04z!dzPJ%zbAl|0+Fn7Vpv!JoS)F z6rW-C3QW*7-1)uAY6WL*3R#TIVwNGkW20Z@2=242u3IF-r|q>TX%tj4<8a2^(>gvJ z`Szv8fN{^EnOA8Pyy*siR^y#RxBX_+;dynRR?f}v#jawIPtw46OAdqkHZNmjiwFAcN~m6)Go9Vzeo-(c*U*0 z)DHt`ukZ1ol{(t*@s;kO!TX>*xz|xB1f6wBm!}u3O;)l5E^c8qs{81S{2v)QTrnoGqx9#o2d{ znL6&7z4pwb9W;S?-Vg(C7Sm!BfB0SA)1EwP0v$s^tLr}XCbvWO4~X}eDFTcX*@?{9hjNY zj_%a}Q$JgOTW8qbv}CwB=>b0mv(ad6n1ArW8~BMi_#&Uu8YDNmc!E1cX#U$T9Jwi9 z2Nz6%9N1gj@I-DdG#-}eb{~A?>fxsu z!oRAbGJNw(L-WACH*__m)XSxJWB@Tj!&t-I&Px+kFN_o&y{zkL8VYmU@)ITMyXlS+ zJjoPb&wW$JM7R7#18<*XxSpQy)#Ds!iE)HVj-7_T4B=lq$*3ZKdT>NdGZ-7g-)GeA z#WQ*@vw4)p#{Af8q5FtxjNF{v0T&|@hiw?S;bT8a5uW!^RSlcw0$fi8rZ=}TZz@2B z8WmF;`corMA*^W_iKG=u9Qo$?fQ%$Q&111Wm~^ai>xWDqx-qYjhcvJom%GGhyk~Sb zc~jp7l+;l9(-3lg@AJF4-i@w^Ap`m%+v?5DhbXQX58m>X@cPBu{BR6ydFX_?;wGM4 zriX8&cz-9axWy^{KfDF@YOnyWZjqGeNm%$RQ^Ml8Yy8Pl286HpH~i2C2M3zc9$pXe zZ+`h6I@Eu=4&~= zLK{h?Cz?9zrfz*bk@k8Wb$7F4U9Sc^@87< zUOggfanI^`A5+aJWPL|q@mFO$(-e)Er`XU`Rzvlh2>D<4eBrw&BpGCjlJT_~g6zurrt6lzk!XnoQ}kff?C zJ(Gk{tm%nR@z=y`b$IF!fqTK8@KqD#@=83Yue_! z;sv|$R~n1sVSZwDiGP}fD%)%kM|&loTK2KVm~@nQ8Y@HeU*B#y$2dGTst#W4?YAH0=xZW=jq$#Wfq8ARH@;d->nE8t0veQDa9MfpVw;7w z7}hpSufuQO85cv-X!tM$1N`(!j4TXv#1a11S%_>soj47SDT!e^Bi=W}SU7aN)h>Yr zJEH-zb%=%|yLnJWI45M{Z-*L zq4Qk0Iw>-bfBQ;X_yI=VT%XoVpUFJpH#Qcn6&D|9_#+JETVUvI3Hvd2K7vK6<*v0t} z-`-2dtNYErX^ZE259Zcc=mEm+MNaQf6Yzy?p}-oZis_%LUEl7&5Z^M9*w;l9@{uR`+1Si1Dqk=ne+?uDK^ zjfmdcP<+muGkO=gJG7i3ci+KIuC7xqyI9uH^|Ac~RSc|0d&74~m!FnIInt2K>!Qy` zB{FQMtPIqvuyylIPj^Yg)NV$sG!RX)t04j+1&o1Uy-k#$m7J2%!4l`aZji>YwCj zYai=;p1iN}k%$=g`&T&$7vuaTy=R|8&z#u88=Ri)PN!JM?@+U4iV~&Ov2NgD7O$In zn-xX)9)0q<^L57Fvg5f%8+_IjQr_9q&r#OUvc*Rp=H(96e3nN}@$K6BAlJD*=8ZyY8Nsi76k+!*5z_k}LJ{G@Wm&X%#Pt4`n*o z=689&8Tto_he1q3!YxzlFTDG8E3j+art!A`{Dl?2@ar$^!d&Bp|51MVxPO*!Anwbv z_v*Y0e&nMG`R4okw-x}?aD?{T;C-7$s>U50 z*66y>th|goINvkWw*2SSK_uliDgmS*ODvAW$2YxxIex-g}7wY-2arMBi9`bt+-NA>a zHTH$u{N*WieH*$j!1^*%(jpFWJ?mcAUU1VFF@NLuH^H3vZ8)y*!f=AWy1icJU9WDuuDq?}ZJ|45<|+v@>SD zdz4}P|ytU@-6R(#x6__XR zd{3?`?MZWl)s~t?O6S!zSQ-et8NTmG4SQU78p2zjxlg*c>~@hZc+A%ZrSszWS9hH&H%}Uh%3Imu$XnUv_s5M1jR@Q?#%rC!QMn(#aKSV17kq?DjDgc= za`!wPT1hLuq?MQ8!QImMfbNNp2e|dTdD_UYJm5g{YENPB_E3vN7k4EDnM#rIgUp5e z=Ra3Q7jkL1mwvrp82-jDj^$}#Hhq2Z3%lWuPIGH5KUz1OiLX%v&R({ma93ihmZO~Q)ze^D zL7%tA`Y^*B(0PBR744l3!_&(@i87$jTGr6$-gB>n?bUlHhNHA&OujzDJj zqKD}M3tMIH;h3Z&z|d#!JKJxe-{F4nJ;~x>4LEW_z1vLaWX)i=5u^Ko}6!2?%RMB@nI0)#fhDKXx_v0PQH^~-8$u|p*Q9HP*m=!)SH1{0ztOn zYnrh9EzH5Uo-}UZx5wQ3&9nELZ{r`{U*UwWaGQ3G-*j=D`wg$Z@zNIlA)gDIs+lSJ zR+^sS-O3-U(-s%{$w@R{F&br9*f3ZJm?W8|p!oA;c9sA&r$Q@ygN2_))?X z?CxC-{AgG_#%jyYsk?#AgEA?fC*nMq1D~xohH7-v-rFIf{23ASDL>^40r_V{U{qiW za1IN}^Hq-7dQhf@UPHL&?KaGXB<#0NFkGfFK5pxZzgJVXeDc;ZH^+ZKQT)(qH*YTC z<)Jbx;UWXs|3-xlxN&7P<&U2z?;4P@jcMyAjWiv)8T!e|E1slHSs|E2{EO3wIVq=B zH*K>^zxC)Fx&A785hrpPxZXbuw?{h6T=NUNws+jLrS*^ekHI~}wRxA9e{{d`S066< z)|a;U`B(Q4|E7UT)lH>c%4r+vb>^1#pAFyjdQV=@(_0KdFE=lB%*Z;1(5JO(01VXoHHv&9tG0 z7vtNaE0>a0H#GnZJ>`J&lg#}!8fee?dEa)QA-l%j$+zx(hxaPCRXqxsG}p*^6u9Tz zgOjn-k!>W%q_QnfrvXBaE5cu_-6Fw0jc*lTJsQdZ4a#TFAo- zEc3U<9uoI_l;Qpq&j)%`T^o59Ln;7{HEiS;=TMwq@x?O?HgZZb=^d%eU}eg-90q>% z_V!Q<0k0tu;^5i%D~!0s zEB>L|JYeA4dvHs8^Gmy4_qb?C#6ACmgIsb?aSYY>F;0f!6;3ZxvA#Uw@CyU3!B_4x zHL7|_zr$@F% z(H=dSpwSVetVs1Ff75q0$2=xENmEg&D@1eJPb02#jnzUdo@5iW9wnTK)roLV8 zBX4mxTnTgiJ>hdVdY81dsmDKkr*JkzU; zvzm7IHVa`jD7|T}JapQgjlnaHSyWOvk!P+xiWnUB);-h`CWGJWpvEA4)X_+Q(acG_ z;YfZ)J&R%aWOEFj;@U%2@t?k*soA^krK2+qx-;tjVA0TcRh6FCaJ%nfPn@(K@l2!8 zGL+V=5olQEp_DlVh`uMyOg&<;*iZSxLoR-Y>OE_b6NP3%uH zC2BZNM8gtrdRz$0wRJp0@Rp?U3wD1qUN%OyTRcp+`-yFt zif`e95yD*Rf9M~+Wj+WNO-UDi^UIs?VQOVoM2V}R--sf75N>w&Yor)q==?IZK*wKL zx7(5kUva|4J4%w6YlD6a5oPF%>tZvuX$Q+A6j{yUfo{$ThGkrT)AG}^)|3QL=&YX&rfbA z@usdAy|>@A0U+m;=}mZc#3u!W7`1fvb_1iIkqd!kL_tcjMsMe2e!Ax6E(c6=rd){}5LE z@_EfCyaq4KE$reFxA@k-rY$_UE3PYyH14Qct5+EO^k|0RQ(2}>6#ds2w7q09@v0}= zP!`MjY&FBMeMDxdBu4Ql!(qm_Updu?bod@4P+_giz+B6Kew7a&F);hx&tK;~=`kcv z%I#;E;2lG^pf*>|kPY`vFKn10CDGDM(cnu6Bxu&~!86ru)H=p^3ks(`Z6)1qkJ zL3$zCyNqpWjb7Wk{T0x7*B1&5`Xv zJCBYJVcSq+^e12Nd1Ul)=JjxyPkUpkS0v9vB&#?>f2;LT9!X^^PNRJu1DZvyIp5CM z;jE$S!B0=#UOh%`xQ`!u)>{U{YYmb*4uof>Y8*D%vaqF+SKmg2l2#wV1s zotQk+&{$~85Ix@&TX`{Q=7oIK}>q#z$DMjfjt#+ zO<$M~(uTwb`8QATU3gFqjrPgXJf(VQ!@qf#798R>K7q-9@Rr8Gd4tKl{N&KjcJnWM zB(d2Rug11KU2uv+Yo)TV9lA3-?#kqb`5P`!el|0I)2?vh*KPd9t-lS+74Bog zgg1Wg`Qol{;y&gc!aTgc=6OixKhl`8!chaM!83A0G(3%L%~=`2^9*%&zu5yVa%*)z zkFj(sEe)v3Wgsa`U%H?Xc$%-WKFLaZB5Oc~(%>1RFQAsbRIN&2;E-m^O5^hB>pXoH zLwBzMuy5U-wmrO_JqKEnr%%a+A21fk%xT|-j>2@f7~dS*`{44^?Jq{{`Sh!ioy-}@GGN&(9>|^wkO2Xs7>_w>mp`HR7O-{mrPr-V> z2rhU84_Go?pfG$~(?e6th9xb;Ex*Xao8Zk|_{HnhE$`}d@hu-WTG#x^Ts{)lJjqvC zBz|$<3|++oYEK=dtKuA`rNG=Zu81y(mp}pY^8vFL0ZCut>tFFM9{v?}?>FuWcTH=i z^K*?~ezq)ExNCTMTK{3%SUVx8r+N8P?MvY0g#jfc@f7=fWi_b!j5 zK9wzv#54#ouF{%)_Zh8ufn<7q1{z;OrPl>-T44>L4Mhl$g*VT5%gkr_y6n@8Oxok8 z{Ca%+_L121-d(#;rBkgL1w_~6KO;l1ZDBHm|U8E zuVQatkVM<4dHiG8XP#@tneoz2=wZ z;udaki+c#WaQv%Vxb>x7@$CIIUEIfLKICcn1HbMe?v1bCo_l(ySVIkB4uwQ+E3e8n z^3A)~&BrNys-Z?;UhG5|p$NG#N{M79e^_bfZtut@$0i4j)P#8IY!;8mQEv7Lljm55#GxVNG&xpm# z8|@U(rZ?H%^SyM7Za&Xs9>0rNp={b;+<3KW-}k765qv1y4A<$*82Nnz(1P`6>u>%0 zlnIG{=+LfMl0e_vID7y!F(2e5tH5mB`iZ#7TbQh*%^Jp`eP9YJyjSG74HWX?d!O*? z?$X&hmA==~SQvS_kcroG!OPtqYFTAo!s`#%82-YDTV@yGHBERMg-zc)SAWyM3NOQ8 z)@>Yq7Ve7sA>7_CZaybJxA>OcmZOQ6^u1r2?iW`=AahN_r*}vj+DhJex_o-vEHiZ< z+Avm+MOhy|HYd;f(y}P$edgxJK9$Uf`sv{0vPyoJ&pfd}y%>r{1PtAW87zpUFg2p$ zRL-#U_9%-ydTYI}J#xeNy%>@PCZNeby{;VrUvahH|0-{REuEC%v&YYC2t8$&A$S+l z(%?MLOCYSOx8cen9RvR?=hMA%N~6;r{Z-yvlLn*Do`>F}yw>KkyzNF$Zq*(Gtrv!z z`g!DSGSbT1G4{Z;j#8ejyH)ya3?iDFTbNtKB@hfzgsI2s2dNTl+~zAS_x=dzxcj=F zhyam5ZoixUnT$>pxsiAO^n@~>CGZU(+IS8qGr zNxG)DShpZcOy)8cA{)nVfs)3ThYzVV_lrmVhi>7-FV2T~7SF@Hd%y7OZ#;i-ZurWJ zu=Iy8_`k+o@ooNxeqkcFS>;`2;m=k02GiiR=OpA*2Kwwje=&`wS(Ku%^Uw!g;Ekcj z*yIX(jnjkra3Q1C2YvGH7J>^+L?{L5Kbo2A9z{gk_KinFhS$Urk#mlT2 zy!eG-X4DXuHSiACDW#s-qpD=p_qHWH8W3egHuWAI=o@RpCuK7)w-%wN*2@?{7^ZtR zzgt)l9yq*fcv^xm)%Y>;}8K*1UmVSA1|T&Gi$<{TkUu1Df85 z^D||SzEr@5oT-d$1;Ds}7zg&DLsQhum(hQOOMdR^FYbr5_a07e^X&aY zzQ8Pfup3@@>FXZy>;CFc>4TIK@j^PJv}8`$gW2s>prM z`svxT$R1@$Wa`C=drxtt7k&La2VgQ1uvh&W{uq&-myG*r=j3BlRp3xoe#38bZ^mms z9i83FHV4(AB57vC*^>n33F$)T_Gmh0dtwbe8H z6yu~9Z{Wb}@O&0WFFaPDBPZ}&^&#0RR9#0#lXKvXK2)}iA2}~9Tr1o457-Cs*RH{TWC!Y^KM8>eQ3 z^DnmN&UFDdJV(I_&&YvQ=<&!&c%outp6r@0vU(XJqh@?R{p20&**Z%cqeQD8SBP<2 z)bgOryBL?lH^Q;I&V4Q1nFHgc^Y7rY7jE^tPqdw<+8F(d7`oxLUQ%88)|nSMGV}Mr z&Ct8=9-4Y-jhc@x&M7%(^>YS5S)S(bPkQfHfrHPJZExPZ%2XqVcCwq`BB!3YPeY*Y z$d!EBLo(?6rDdqF#M2WE8Q$EdrirlSGW5T;tdloU9GFUXZa+wysQzwU^SQmp4_?=8 zx(aB0ZUR4X*Z7C&x4fHYal~)09GN$d_*2fs!FLTmDQ)D1mQjE>@~P|+ht9$w<-Uiv z;tRu5LzlQnCAh9}(yj{M#QZE0>FYMk-|#hU<2Mb1EkuCCE$wUk#%&(>u3`5JBfRb* zjQEemE&M|q?l*4p?fv9Y(Qs13`Kyi{WxJP(-g0=JG=cke#US#+z@ zx$k-R7_e6^GjLm5=EyH!Wg9D>ISSFfkm5~@O65}=^WaYt)+;Bu!}`8AF2-$$Zh@}` z9{(3{F?4fjWw1DC&Ye~y`Ok6OGq>+zUU=y6F%PF`6rSb{FnadK=%pe0DPML~Fbz*Q z%LzK~Vm}LSF<>K);z>hxBsFCS-pZCh;)E$ZSc{Yt+I=NPZn>EKfZsRt&HV5O{MHSD z#C=$QlR?}^>o@TWFSk0`dpV2o;4R<6=U)01cHtLC*ECYDD{VTz!}*7K<>!{p`jtay zmVd&zxaCh;4IKfCJfw$!OJ#C^Hg1XY8RykN!NIexI1|S$jtw_5KMOCNyEZ0^?@DvS z3*Sun5lahzW2z9$cW ze`QwD@FnQ8!S1~;&Qou1zSO%tzWZ4ZoZixK+XoK6_~Jzk$nahBVqRTC2okOM8}sD+ z^)O5f)fxMFp@X4%=IMs(y=M4s{$8aE5B)@PrVgpymZc+t!1mN!_zVbc(vULT1^IRYrtiHB1Q*W(fI-a@?!_8-C%}~J>UIC=9gFj(3TAqZZ zPT2;orzH|q`KxE+`gNgx!IvO{_+jI=}e z>R$Nacb z(bZV$_2&9Gk18U$4xhAQ4%j4+yz(;?L+H<+!;>Ld;NMvd*8`v7cc0fz4}6`Eqff-2 zG#D1iG#-7?L-KX6JPOqz`Z+cP1Q-&BG z#qaB=PS0yZ@map6VyNz`ug<;y5+m2p&?O9-c7VH$Y%mQU7c$BLc7~?r?$hII)UIyo z`Wkb>AA&VtYI;$QKK4i1gU z1n+aLA&Wt`v{N7Mmw&$ar47f1Z|`*%sUmOcdtpG@L$?SXB5s8ScpD3F;%>|(Oa}7qsNgc3_uRT|EGN&*(=Egq9_t;6fDt*eoUbWo4 z>2TKl^UUx0pF?e%u&LN#&L(7Ue1GDnpg}B_$7>zt^jd|yt2UoJD zkSPZKE%w>kG3D_3tgn5IB_C^Gmv7QAnXenpXP{B|_c_X&$w}p~&jcus26Bv?zNkx- zXCX7D*oGaqIbG{=)HfXk6i-I!>Bfbx3xF1)qys9qG;GXNTf981*0L zS^kbi;7vi>86<5-fbJU)HtD64JpX|nA;pPb9jdLJ_+)PS{=mi6Px$tRnMM2%Q2h1U z^hI(-D15zt2y@N5;l=I#V?1o!;@x~#crcsJ-#k~?O~0lQ#qItG=9Z_4=T5mARM`np z%JgWX5}|iep-_Qn2^*46(!^C&l2DrD+GO%w;~&Ll=pH`(^;doDOiNy68_v^SdS|QP zddZ%ii&1)8O^3M|@}k=wG4b7V4;}Z0;SAkknVwybUquNMG3~o|F-poRP6JUN|Dj(c z#&3+>0hx{f%Ka!^KZTqI$Cp+0=6W$ll3loG002M$Nkl``8rHG z1L!Y~BUWZXJW8MgLT2LO=1zp1MhwDr=u z!7B>!%QtvLP8=B*pfQtn#eJgd6-W5zme$RU1k5$;9~*sb*>aXwC4#tqX?T_*kfc)!OcrDECiTU^x6#X8FbYufcD9;Z3G2@1EzOoM+R( z4DW}3+1fKFPgHyBJ+Y+(&nP?rCr=`3xUCxHcR%@LCmHX;mMmbFieCsCZ_qr6=xYB8;H-jTG`xxBnJ8JZ}=cGJNly7AXM|17-u7iRM>KJmg=y5ja;n3HdLUVr13#>P($<@>N~ zq11{7*J5w4abzKfVAB)uz)5>-I&rXdMHK-!>PwJmcx2oQD_Q)E0FJT)Kllv8+nc3# zmGASszWHfZvdzy8_w~9N%XbS-qqq-+9JDQsFzyV6s}Ky2A|=-2sE>SiEqKJqU#rfC zAQ<*uEsF*qqXx!q`|dNxUBkzh`Bd_^`I5?)>B+q~q6c_RFYf6!vRb*TGmY4-KB6yr zq%H!N%}OjG@)~~MWF6t>AAjg5;`5Z@lhCzpLAvJn`BA*wPabHLO+E1M-G{hkDqpfO z;=<=9U<_X^k-5r1>xS)8o&?J$n7a7NCf}Htcp}yB0` zQ*sM!?SKMFp=yBXxjUCWuuwcfHuVJPlV~r>Iq64UDw|z4veP`Qxwi z1(h!{!jR{epMT0C-;4I>b0CInNA|6^@T+cxiOSn%5UBhESRIPdg~`_4`;-N~zy0+u zopO8;qyNnJ*TQ$t)#ph$$BX-Vs+KExxj}IY3*cj1ModS)+?QtZ-h7z@+Xd3_xxDc! zo8-a2@X9hb9Uiw_ONjj8J^s|g;qTC0yi zh8OVbZV$C=#Q&4Og$F0Rj4je@`W2UWj6d|{UtBB1#c>tF#;w1&AHsYr{u)Q;M)0tkdms;U9K8AL)UBS8N@gH_=jY1RS{I?He{42ikQRj z+w)D{G!BWkou*fPl<$)HC}9_@Ldp<&wq!<*k7LmCz46}mWjX$oJ21+Fk9g*9H^t9A z7z(1dpT;DHsZmJ7Vo&^ew*4%$eOp8SW)=d2gF$-T^NU}yjh6Z(vp%Wj>of_^{F=lN z330}JhC}G%#dKg?WKspr;$hwuFYI+yKW8EGQTX!EjyKHu9@`gRex0d9UJ0H1=5IL< zmcVgaPYsvQu%N7!Nue%3$)*urcZE@w-k0Ct36AOqT8Ex|;%kKAeeGlMZTi9#-^q*P zz32DZxcJC=UV_tj>?jS~@=;w#dKUr3YZ&5g?{#NnQzA-9pf5TTCi|1h;@tpWg+kEahy_J$~Y5RC??wcpt2yA%g1I*84 z%}rbY=&ERsS7tDsKf_;(M^1uM78Q`Iq1;pEWN1El;qaF@y~u8tQEu~HPk?z+&5E~G z?Rosu`S+x!0OszW99IZZj zs`tz&!fTtKXNBJ@to7(Vf$Y?qGI~>vCWzKYBI#^}%ACgckZB;B6dYn|b{U*e&0!07)!^ zSD;IH;jS$~h@GxXdugyKS2R!I6o&eM>!fjB)jAVX0LVut9S>iLqdhMr!F@BaOh z7`peY<*K2_7*or|$*9X~3h>B->R}#yZ0qhxhUgwlArrXBw4;a9$ZKfkJLowI8^iXx z=Jw{H?cVF6tgyQ@U_K)G^DjT;xbBbX&41}mK&OHk<1p$9@$}T4`yTzOY$FOX7#G-Z zJ-3suYZQq!;<1Q7w5QosH z{RO+YTs4fOexNfYJ?UURraO&?y6F8PGd`RjGxANx&(-*qcXAfZl>Z3jYUIt2#>r1` zYdQ-Ec`+$g)qIcc=G- zhp&IBu`~1z;{%Hyrq{(Cxr496?mmLx=um<1ju0`!PZCQv-I@%%i+cq zUY79QVf;Z6Y$xC0ntTs1kn+zzaqATinz`1{oA1an8D&PW_`q~QG5+?_i)$LFp|$*$ z?nTa}4_{ny#cz*(FZ^Y@F#VCnU6F3M3Fimg#y`xnjlud0E35Ec?#r~m#Vy|TFG>G2 z_%ZmQHF9mm2SY3HR1f)Fd5FriXB6+PE?#*YbIZ0*7M}8LwO@YxKI78Ych6!>kAID+ z#poZ!(EIE;-0($A}@KIKj#>53s{O`&@YffqqmUJ2`c`@zMe_Jt1J+KS-@#sb}& z_^%maV12cz6cDCdQRHspwJ}2@sfAhf4#6_HyiB8nc8B!IH;vT6XY^8I%2RFG`s#kU zz3wEF+ir`>t1P}Zx8ID{aBW>HFHYBYw@%VYP6%H{D-8W{R`{QHzWyfX0e;GK;m7a) ze)nS@iG7xZx*7WC01`xj=Q^NBu=pC2aBlEh7ylp4$)#U)VKVG5qlatibB%Znd38_v zJ+aB#xC9w9=eMCj*tq>^+QP+uh=1XVbA;Klmamf!{T_kUYA^9+kT33<2I;0>=P=?I z?n*%GBYts7qd@$<y)|N7D^vup8hm)eUp6e z^FoTZy7Is-?kN+>dMITPntR1X6wP;;TVvD+=hLTedJ@jm7i?zC^R1O+lXKPq=0z0b zYRIl9#Sdd=JnH{h(QCMTsA3w8BbKBn@9G|`9NkD9Smmh0Q${)A(b|CRJRipJW?a*U zAHV;;3y7Z3`|Q~lU93}As~atFX$5y>BQ13w{@O#5$;FZLUZQV!T6TsV*`7Qj&l$y7 zSNH%YJSnVF6bIcuxJx(jOL_SK_W|t#^U%PTPLhjz?aKYtO(T6-jH?nIBLnyWu|s^B zK;#M|p1T@SBk}_ecuLp8D)_+%X7hr3=pOR$Fn#e|;}`elUA)(Lq95^xKK@i(%XAuw z#Hr3OU;b4`bnnFF7054sy!+FC{y*;i{^$P^qkoZe-FfrN+b_FC6-x^{GjzsRF+n99 zG3`CvDzCC3pInBkM9Jt>5M_6oOxX3SId{fjhOp0K=x=K1Pct{pl|A;iZ?hU7V|$WM zHqmEgfV10oxC*^CFk$9?@iF1xM)UnsLu5u7qs^${T^?Ks2h;ck5ANYr&z%CaRE@5j zl!c*lj1*4$?mK)&XI&R5kC8KM?!)wjjKoSa_(Io6NBONKP;PoUK!vpV1Z>g=n`m^_iRf%!OYngkWax1&*Hq?%+>*5QwD#x{M8{QZHZj(!EMWOg%J-AI^f~o ze8N`;?ur|nxXrV$o8SGW$;Yk#v9NqAu7M6z;>OVAs40$gL)V@#h4r9`qp5FRy}0}P zU;ljffBx_P+uh5b{&x4D{_PKUzyIww>1ndJonE5YgYW9FbsM%`6H09iuxHDay#|tA zJO;u5y0C=jq^Z77va=TkzW{8M)y|SH4N>Yz#f@)2%Pf0^9rlP8ICLFt4BUH<#_EJ%f$~P?;1$?4(|Yu zuqz)8p{+Nl0^9n!h^$SohNZ8!mcYnoDlus8f#LI_3s3p|kOM@YXVK2q+iyHQ7lWsd z@(!_+JN%IA>h@J%wtB>s?-Q}Gt3S(u_}itt%E}$NC8D>D-?Rf)T*9qeS&m&L2b^s* z_$S};#8GyBZecgP_v?$_yqkwF-9_0HVqvcE!VlBL zahv~&^BOOG^IqexbiiQVwxx?Eiy}vF#C0-ra_UfWnd%DOg-4)oV zLDH?r&(QtZyU$|i7QxQRxX6`!E93YzwoFl0?$Mko4>{#uF)M)f+A%70+i(P*v>Y}@=TfNybNZW9I zI_*!nZo)h;2hpkS$u|g^()^W2=no?&$K>xwFY)Vx|Cn1_xbYRBrP(wxBD`Fkqc5US zfO{hZT*XT*Z^5qwm(Zpy{KCL1|H6q!gWLFpx!xDx{A~QjEiLz3K#DE=Fzrfr;n8O> zItwz`mi>K|a1@g8RbyWYkzuTl6MU6ZV88tI{oP;w{HL7O`g0!Ocy{;IXJ2#`*t}6y zP`EMl!ApFQ!tSClkJ1CDkE`P1yGoio^2yL6rAasBrtn@q@$CK6 z7`0=eQMUXI91Gq{oZBc(&d>Ww=lh(|@6pqfLwa*ZE=Cm^j(M@8c`QC>2cV0AT|{So znX_kw-JH0urpl_jI?$>qM|*U6i#v@^`0-`eN1@%G$P`4mSSCJlyDegiD=v*rj~ORT zebIw>8NJ}qG|;+$tv+9;&7mE;0N!4cKSTCsKR)YIbDq@0&*z_i(T8rH<)Y`0_HE|vnL@lf!+7j;C0Y-h{P2vD!ka|ARDQV)K4J1;wBGRIdXmRV13Bf$XaW!L zwkLn(r55*#Z=H5zNY0q|Fb>$oSy{v=D}h5-gH{Pu09Z8oiH5T0nHla27l*{^^wX z%4pPQ5pu|DkgtwRz*HC~VPv^79lZy~@uzI}=}kE0zQF}2xQ`k6L;TIZKX{2-Jd}h= zapFEW0(&)-HS9v>XVdn68TptofvFJUgX13J+w>-$pN)g_8kW5D*WYyh(vY@vDBHsF z7alGO|Hy-36e>zUvFBVlqhsXhG4tN?XE7S9yB^*!e5Z1@vp#o1EK2_@C(?ptj4~mW zj!v&jxohY_tY-}+fK!oyx$>oA(Dx-4`{Ej(-k%z)(Izg%InId5{MAr@e5>ya->adO zyN{I~V+m(ijAKB_%czgBHJ~?%(dd{^r}1X+{H|XIl;)hk+ce^~^naR%e1|`uy2Nz;E@dER$Wz zbuRF2L`T4Z_|Q$+6Bjs@aD|mu(Yc0mKeCy|Vp7g8{JCy<;ETJB7=*#3j&3*-*B%|< z5)kG9iCfpqCw>uZ+QKRH;<@JEyx^tp{lf6&CB&;6@~ZuMfvC#%xA52mB4+uHUpoAV zQ8F5gnsK*>Q%N2ip(H1tiZ-9?OAUQAkOJ7MNjhWldZafw0{ZmV^d6C(9!Vn+Ex*yj z&Ps0lVGt()Dja%c`Dpj_T#AtR@_Be&xCo=-$tgGf${gmfRV;im)X15~KYee(EWJ|Z z_)kCaEPI+6@BIy7+f{F~ux2=2IR(EwJyWkyOG8#%dhwJ^Zz_Mh%8=2ypSk;7iUBnB6t^1Va zQ5&w&rK!s3ZMnmzGSW09nEKf|Y7yi=uyjR3yJah`lkWx+_^Uf&fH-)DN+AxMP5=+v zfHZt$2<~<=Zjmm)GD&H;HDc*5ZYuV^)!sDmdu{$}p2ZD^`1?wo7ISb{ZmNC$4&9xr z9u}(QkJ4KZe?@RAy1Y=t{I&N8(lPW|ysCjS`WPz1nKRu^h0Uvwye-9}n7$Eam<z1=-BiL)(Kb)9Xvm)p8~ne;#_7 z(F;5pXv21&oqiYm-+cS+-M4vy&SIPqhVsHi-`XRGfi~vR0ekHpxbdv~kLlsbp$mDH zqfw8=O~-o;=g*sRzWi$D^w9^?gPtx7yb(|vDP_+66T1hDO_5_*YFKGH`br#~t85CB zx+9l!W@DsQLESnVWlgr0;WmWNeF;>rk}EJlj9_I|eN#_y)$yd2E;)jW>tfv1@I)5T z@fT41I`Et43MtVN7)$4oRl3Qu9Pqiy!!Kn_ zJ+y~^H(O$O>jN{L282f7DLW-M6lO3z7L2dZc$@jDIXS?Nh62yfy}o%B3Qbh8E{`k6 z11DBRhL4d+a0E!19;bn%heR>5xtCD!B)hC&z0}gX3xv}ye~e_qqtvw*{wR?mm{N|ZO}V_ zj(u%iYn5BtCPD>2m=H2v#T_5by6{esqLn@&HfUZJHA>!ZY zRtPEdDO`D$@fbQ>;wYven_)IFI6nF;#{4{sYKC-%>sGSy?NX1!4^0gIQ|_lvX8|aY z!CT_NHiAXAJd3`#;t3C+uCjyo6OWw6;PBQ84}!uszXmc_8WhTI?ryjYM~9WcIJj{z zf1@ZBdC`*#DC+kQTQ>`H!TT*zLEEf&_L_E zKm1|N)aM}@EBKY;*o1Y3AxhhLLXq|{cg+KyAXLB-opef|;YblQ>1BEG z-TU%zJPjTJfL%VMbvTqPiB0_Ua58{zg@;!LF02(b5B)3)ZRX*#qRx1|%;E4+@?&J3 zDx{oGIy}!oln!a5BvE`uSiTMqI4BorHz7U-@qP;wV$vt63JJbOjo0v5gJI<2bIIQi zBPNa`Pn9p;yWjP6hOo-nMjNL)WPi5-G*k^hc78}>YMUl}s=K!)=pVj#{k&)4!hjd=W z*e%|1rgC5X?VB9N`7tl_$)a8k=ltfk-{n!=FWd8jsRYYEeV&FUT8QA3Lol+QI%b5c z^9(ofdkv<^cPqn47^eOu9$xawe{terkL0Sa)jjc?`wtAg04Jdprs9K<5c$$w(zs2l z(k1<&4`y*PcJMB6V^ml@Eq&RZbTCtlq0xK8*!*cJxoI2%PY!Wf#1KpT(5!(U#TQO& z4crMgbMKjpnui*uhKpRKKv1B|1H99qz4eZ`BzP;U3*Sf*MaU*I?(khM$Jml4MqD_Z z)XI-1@ZmVPEEbw(7-GZu+u!^yJ?rl?0?YY<(8mv6o}90{uA!}- zIv3Eg1i$>^8CC-I_iHzJYA@VI0Bq_Zcz?-Izn_@;>4&?&{p~Mz-~at@cmMLQ|9bZ? z|MIVCaK4F7Wx9} ZtIp6LXtJK>$iiZ2T=Cy<&&BH=O2m3#Ta+qnWRNAu>lWtK*S zjpTpCDZ$l!u)QV$5^fcse$etc!o3>$3U<>sUxClh;@mhS4w*&?-{(VTXh~eS71YvR zMO|UFk^+3VOuiN1ENncS^AMCQgGhqlzImy=U-*AW1Cm3@>An7>=!@ zJR2V0VvL@VB6cWUW2eAVAq=>D1`oc zNs}+>o-fzK)&S#AK0Pg^F42~S5ivse-gf2Q6eWh*9w_yzF>k{@W!`d!nc^|THUj8L zJbVW^7$hpG1RiD7LzZGXn&?Pv_$V)d=Ff`rgoi~2a(co5R8|8Rni;WluRg|{`LW*g z+u!`QWxDO*hp(so_B=f3jgd0&PKhET@!a~*Gx(A9%-^j)kSW;`R2$OVldZStyvp%s zJ^IV|&N+AqW)I+`*SDQ$!A{vbQq3Y=MbV$cYP4GZgFCc2d|X{+`XF-TJbJZyUBNg1 zJpyIh@-5E2Z;!q=5;sh7XRBfaHx1CK+zTVi7=f+PU-2xyjRSKttVA+gaaXt$A1AW3 z(ysnQf(T6b09mDP0~DoHNnuvKGVCtAWQf--vKXSFtqM&;KYV1awtU}kDIWyGLU~X= z_i%b|nHLp4N-yHAq`r~%X&MgYssV%t@RbeW=WhnuVGUjmja=XjO=sB6_~%~!Ig_r@ zNL+BjcgtV?g6kNsQcEsu@U?NseVL9C>5;P_kaP=gIX!0eyxFOryj8=7b5~l|y7eWQ zHu8w%I;ALIsEF2Za#i%!vw9UX`0%D~!0OQ@sdtSC+@gPt0dXZ0h+i{*c$tGaUJCg< zi*U}cJIn5M)h~K@Y2e{mJ%WpYn~%5Nf^T%rNYeUCD2G7j@F7b6K5fN#xov#$rz2p# zow8)Q@|VB-c}7i{w)~hES9w2`!Hg$C^e~Sxnw<*rSE- zHp-C!d4FgJ>hm->;ghyk2V^|1`72OGBEfMRu1pejdkgFpV2Fq4t@5$b8Y@_tIXEH2 z%(^S#!fnFw#cjO2xh;cQDw;>(q(@KchG7MC%a8(>Fy-L3g=63|1k`Zk%_|w6+amG} zFni<4IYQIA7n2ruXe|%QaWyFMWiXyJ`=}nq(4#-gT=DJ8yl5hitWvt^(ML%r4!(!? zAjv<&E4s!HogP-Hl8+40p6AUq6azCo_}r^#JzwPqC%z&En8#2nn$l|i3QZZK=ru4( zH8Lk7gL;A{NpwrAJ=w_iW|)Dn2H<|{Z)H}wCqK7_#vj8{KT|d%n94J7gCm@TuaU`- zSIWP2kYIVT{yWaFD=THvZ_E(8pa3T@t{()^G`k0$Zrr z3f3Yn93L#75ceMJ$K1w)Q`7;|UcxiVC0|=yZQwyu@a|*>lAR|a9m3E{rOFT1A&{`! z`S&+zX`O5f;`H9xn#t#aRSH7QFr?SDAvv%yIe3-%u&5ToVUu8k) z*BpiY;jhkyzs&)f@L&!dcxA!!$}H*<9Kj>rAD(JBWOvYZ=qfe&2dYZEJ-wB8<^I)L z0cD}I@?xu8&ClL=U-md$bX+X@o%!?{Wzm2>k&U^ z!OS^!d~7c*FM4=o=zI=8ow_6}-H`vu6T|O;oqCxnE|c=8YD#q^*ujc2tIND#C9w)sx{b6ajaw4^2FCl#3r{vyN2cNxn4l;N9(1b-bh9D|g9@!aEX zD^)sGic}8QhUPS2%x3c38Vy*&U1nPtC5c<1OM9pc8^_-YM0qMhD2`#K&{{wh-Tm-9 zM(V+nPt%J#?;U-*dmSV9nxUVwHR53u^DRTEd9~3fco3IIwMxXxC)z%Vq=9Yu!jC_S zsIs1CX!bUS{?wc;+cSNrg<_|S@NmiiAKurnHRSFooNHtTX818;p(P{7VhJ8hP@cf0 zAsJc32!Q6o)8Hp{1#yvmyu@fob}Fz&dst0s_z2PAhp~r&ZCAd5E!8D0|C z1}eUCa*s16-E#H0^~N546K>s7^yJY%xYvWV4DjVLRQI)4&z3U?Z+rDlICEh<_)1NU zDQgDY$d|6kuOXYW65_9}w8`o8@@?$Sealk#OP&N7YfFaDTsWlzWYAGZj9NoaFwZlU zvxB1zvGwR9mVf=*U+@0-r+?3}>Cf+elZR=%3;(yj`L1W}_3-mR4t)skDb8)$czDMb zy0~bg6xpbs@}hpDqrxE8rdsaAZJF@OR(fD&BMWqujv@feMe(%cS3@rmgvyNKlFs;@ z-zOgixW&ExWEtE6OF9kb?hSnA>w~W?n$(oa+`1>d(tA6L{yg(H&x_kKbMPfn>A?pE z{=*M{>yu0r{_*3y^gsN}XhY1p!?&_VC@pV>;d44{hoS@9N(m0zJD=s$)Uz+XY9sP4 zZ<=we*3nLl3?2s$rDoLAb5v16W46yM9!h6GV?^+G_@7>({*gUgy#lPVUB!PCuXB3} z<5IBjKv9VmPVj5&ErTKlaJTauC|X5pJ*Q#ehK>+qgXhKzo}{F#S4Arwjo6W}G`KxP zV@&c-*N&@hL>J2k(F-4ayT{Il|k^%)Ol9OH8$n(Qp5Nc z$IzAOaUR>vZ5qhASCS*P^0z;I6%<}waA;7HpZ3^+u>D4#`aq0%c*0<<&i|6bJVqco z9`CmM;qQM>!|>zXcbS5ihTJdY>E$y8Nts)JA&%FesciY=*Xdp=w9}`4QAf(SwL!kT zWdffGD_37UvA`emSD{K+3F3+<{s`M#`VfRMZtwXUhDTVQ?Wy5m;M?kyzZBRCtM{&r zA`tK?_{r}CTOT?}@2oes=+=2!0Ik~E2KoEn|Jpsz@4x?B7fqgLf#iuj^Ym2kG6IN& zldCOed!z7)ugA`SGg_%?%Du_kVbch~=>i|6 z+lzsfR(!pvMstiX^pkWo$Sy)<4#{Y0m~sYaWCn|d!4;U$x#79NEbRFAJvn?SV+t=$ zd5i{XoWVmVw!eICd3a^;1eG#_5A3b6Pn1EoX@p;JDN8SPeCk#i z9x?R%$qT-)Eri&0BuBBeLw#1(GA0V zU!M8XH-EhQ{U842?sqwD_xoI5Wsy-CeW0R^Uh>d4{E{2jouX6rM>X=1?bIc8qt~I? zGAAs*xD$Un0=q`J1zrQ)B46V-P0_FUz-*d)?l<2R&n+&MFfgNht-bW5ySm*+FBxWp z3a`TG$vrB{&_9b%y)dwgaE7+2v{z}N_2dpVe4keIMds!du`Ol{eT}@mU6=~WlEnuF zZl&u5%UkX#A!SjPf-;UMY~t-bf1Y=gSp)bbZ=B)lA)2Q`r`Y$0OBxSH4SdSXNK1Qr z-YV@FczbDvrLyxsm5)zKfREutWv?OQt%{$tF@9->R^bL8Lx-pEjX%mBfgqR63OW|p3~wu_kWsH4JsjS^e85*5c*P{!77@<)*E;l#PC ze5h3J0mq>$UR^7L9E}f5rw1w9EMVok?b#}Gx=c^*%PYV6?z{Gq&a#{DdV`DxtgGiL zD-QlS`DQz98raz(YI67(9aM2EA9>23@&LmtLGVQ=$7H|%JxMLOx&xP=`Ux_2i*Be{ z45o`;We%?F9RaC7azQ8ls~GuT{`}{@w)(H>;eCYSU;pjDyZe3CBfJ>HAspYUw=N?; z`Sm3mk3Jnla`k=Z7B{<#T~`pFd%I zG3XxdfGcS=aB;al?CsspwRqtFfZnZagRAu#oLle1%i;aRreYI1;yS)8V8^Y2<=%)Z z3x5{0+Q{KIWw2G&RqAB$T=+LW-k9l-Q*g8T?gJ57|A-8$i#c#onJ}J|X&y>(0&a}D z(=($fE;PzZdCG0zr-2RZspnfSe&ad$k~Zd2Ed5cUTik(Fdhw{qCwU||f*jJON6K?YwPRqC;p^1kGj9s`;=qKf?frJ z&2N93{bpy_zx&-EPEY=#J-Lr7YC!4bETZB+J$TCSF1@&O=oYESh1|RwKt17WgckUW z9M+)QfF-Ynr|f}p>+gv9X3z>8cS_RGiAcHJMkm&O@DyIG!ZZA@vMb{?W6pCp8JCrZ zyE(;?j3NE2_W}q;N4%Gwk(+Ls!<)bV;hd$nGH*26x(qF?m?>reiVM zo9UChx9v5+z(rO@y=%-tL|Cb*2xtxc;O%`%Gt{6VxkKD--4Lkabx4)_*mEoJ(=4ui zo>g;(F8n^j;#V;g=Zg)^o;qD*MLom#thtP`r)3K_!I9r+tM`QcoZ*uf3-I4Xk!G*l z>a1u2wqlT_rrl3{&Dt-kJ-dn1cLCo~TkxONBdX-c?Wd-SD38oXDrUm{ymG*Up zo}PU2vI9zN-C&e#aFEMf3=;lhn88OxbHWYmxEjmhNyWBjP6c)dUcSRi{8^An#mWZ0 zd60rPH0md902(*pW{|1n@w>DS@a=xM+Eo4tm)_isLZ)t;s%+8fXy?qw0~6MiqbKc> z-6xQ3HGPv2(U+O0?ws6PUCm)lgJ9OHC1=a2PJDKG-g1);;q>kb@c4b|S%aKwJ0p!i z4SWRLvbU656ygf@8nnR8(fQmYPSzvR!ZkyGl8{8@p3dfF>3*6KiQ%?gp}Su{Pg-7% znQ~~5yOyAV2w$dV8VJLA(-V69($jP)_p9H%Oz-|pPukfMZsQewYl9rd9!0k-xT#xg zlP%lY&HzuGd^baHOnwM4No^GgYAaW!2}@l!%CUDLQ-RF=5Fwlq;PepTBL7;N^tLg$ z=h^%AUbb()cC;~{7E0wBdjI85f9jCtNsRl;oG^O-E?4HeuV2mnsfzz3#%mS*O%7J{ ztDfEumKN1Ky{C*~)NS2k=<{^ZyeG_72*byrGEv5s?+E6;Jd~25f(uLvLy6ioMXE`; zd;2JJPx-92=UMe{fBU-%+7L`-y-fwCHmf9POeJgNs%pVc=HY@eq62RN?nSgw4V}$< z-39}Xzcv2WT^hcsLil{2MX%0l^j?k4y$W$x%@FINC>x&;x`k5i|L7W*pOqOI$}x(T zGU8qNA~-uJHEh$GG=zHJ2*2A=o+tN!ilO>fIS^x{^}`Q8M&b4LIeQ*G!RKyS!P_}` zdUB`QYP^S0Y2~M9poZ%%yrwLhc3+b4OL%do)a8B4JPFd3t6uq-EP?VL#zrrWi~#MO8zUEYeIh0lE> zkGJ_E)-Ww`po*idP$Gkik>|FCr?vCqMPEAcO|v;^_I-yi_8ST9i>GgE_W*&vcQa&qNv z9D|{-(;KK*jl=Zhr!C8B@waC&Xr47uK{54hl_yjh6J_ke7E2n#L}1 z;K;Q68+oQI;^YI(8biAXR`cIv>S~q#yBPcDdEtgvg6X`b*3yWEp8U5@P=#gz zQzfk0N2};3p8VRQ+b2e)y-EsPBr-yVfy9jhDHg?8xr}fE6m}D)u{?iac!dWAC!RC^ z9s~b82me#qd1cQWRsFfA*#4aNrvIGERx!_VjFlo7+Hoq|(Ax_KT!zIjvzVb5{~=px zzhnWM>ZI>ae| z_y|3`R<22#HyGvlij<$BL(v8cz1%s~XBXm8@;%B3QGFZE|2-$`Y!92a|1GBj&HL$e zN2AHA!|T(T!TVVjGM%qSLr10_;GQYZZRjpC(Weyax47Y|tJGnld=*lm1SX$QtFwhw z$zitedfyZz73QG7xv`UL7TgTi?S)H!(=+4uJvoDRz-5O$dVmTobj-V5QLDCgzho}& zn5z+hJxV?NY{!|KXD)6&zQ&$#4;9FLDn=0$oA6yN*c5Jxmvp!2@l~Sc&al)UmlAh@ zE+q}E2sKLh<&$s9v$CM2f`w;}CN3G#t&$uXS0zIuFg2Xe+#U%{bx8TGvUkNg5nZbY zK1w2e^Og=KDbkP}y5epzNt4)o%9h4E7rrN#q$KVgzWv3}7#r7e^)*v?4YcdzQU}&p zd=t$y%-dN!+GzyDunp;7=2cNWgAiQwMcy_TY0SvYezUq&u$ixRSXH@_ZS^gDO}&PP z(^iX@F1~z~+Yf&feF~r7xoOOny*K?)uEZ8*EO^MM6L>V z2vsOmo>Vjj!$ca&Fhj`|5IldBp)p{jr!p)`s62(Xz4h#qEV$$#!50~NI8flrCJwzo z$~b?{+dIC`Nw#0Ih{lk-obek&x-d@I_Jlt@ZxHe17@^r-lh@*#cX!Kc<+6pV8)ZH;ZUDN{h!<%Z%Ydgs__iOB#)dZk4Ut8Ki5eCnI81+gX#o|hU(zOl}W60b*@f!@T zo56_)3{F+L`c($8^OF*!;GL$079p%YQ~|+V+@|>|3s`j4V7=`IPu5!~;b&>E)wxlb z9!Dd{z+Yro`aTb?7?mhrxua{j;P3hS*XJRT=#r6>w0T3V@8D&Q8Xcu;ZA?%3lt*v= z-m{({8g`}-7K8NHaL{gh}GH?8BVW0#;#let~?mHk5uUSy>83MX&cp?j5CzHuh=r$ zGKFF&cVM3To6=OJQ`iX8-~3}JSA}VKO2`)5<}A85YJQzh8hsw$u)V{Hz%Wb&F!a_V zTWHY|>CGJ)uxNHa1o85SGi*s-t(?7b5C5B=+fGyABZMr}#jxQrG~6u;qY6B4S#Cyt z$~27^@lU0WFMRGB42BqZ7uAwtu1!i2Kt?rc6woNElXIV?ar^S^H+SErlJM8lZh^CR zY7h9=K2=6`Gq?Ke>8wGhlPYq`+Wqq2$2X(6UZW`CDQWoRPv{tW>IrXEF!F;&eYHH{8;-shBk~}Vt~I3t zyC_XM_>_)ys9XK{?v+7XxoFl8Adp(B8BiQ zM6ICtTJk7qr02ChhUg6ZH{X8K@0RswV0&?k6`l{j%&pTKkC9u<$~ILNYNqFDaTCt# zn4>sP^BEmZ<(tRr$r-xgyEp>Y>T3{u$zz5!9(3^)4!ycLoietd0=XtUi;jw10KZLl z`mRpI(F`(}MYSlH3Zq~lj{ZJ&D6GNjp`P&cRZcuTN;$l$_|w1qC2uPEuXk^>(l5Pl zd{$w5#4#1SLsRUjWWDuX8Vd7rmqQ|}#9*r=Aw0pUw=tTeg*)tP7`6^uGWA@}V}cs? zz!Zc~K_DTwQ2VVBe-edt#4!rbvAkywO@lWY2FsPheuC6dKRddzYJFNe`a9 zC5rEq)thG-Z|C;8rvY@q@Lxk=F^aJD)ZnV*6t{Jdk}LdiW9S#S2q|O=+j=hC6IK{B%Yu_j1S@Mko%|1tqr{y zDI@&kiG9aeP#D2lOtA1aFJ#1*z0(&N@-gt;Gj~Wu#d~!!cs+QZE{nqPccp!da0J#x zv?$V!KGfSP&9$6Up$tG3km>j%c*4tn6q&q@0#>-fsbQc?HL&PF@hR;?uTc}6x5-w7mzK%G0N1dvX#&H z9RVa_|KKmflnU>S$WQYOU9{U^6gJ?Ifx0k4n)*qjO4c!Qqp*1ar;*!C6Xd;(LdZP0 z;Z6Nd^o!aLR8rd2}N_nWTK+ji_4o@}$h55BJK6=ahXfc?J|r!YsRPBq1+| zjXjAEynm2-qKo53Cs~JN_zfTFF#VzMB-@^C;52m6hZ=h+1wvyQ6`NJ4+*dZHcsgRT z1EYbTbq8`R+Qe^Jy<^Xj;!o16|NQf3cRxP+VZYR3E|KSeGo19DsxgRPyZ_gsFOvA7 z)Qa$-!R^%?J2bEUB3or&cd^Cytg;eFnbVW9gLi?~YuoQORR2DEgfrx}5s|mHeERt@ zN^@{0ffAX*J=H^)+ojQoyfP9e2|h;tTpmy={Z09G{Z%!lzNQ_wd@mj z6zbRZ281=nK0>+|Y?Y~sVlP+aU?)Epw}RCM5O}}?Gpp(Y7JM0tuA)0_W+<;bPCxzp z^N)9b`s2Uf{qf)bc=yLY{;?;dUSxF{ZTKiQMF{y$E)3hOeYm={hQFimQ{Rx^MgRaB zvPnciRM}Crz*gbow+zA6X_l&^M3jyoI>l&YSPgKll@HA!ml|hi&S4kB^6(NtXn2)j zjC;OhVi!aMKqlO*Ett#%FJ4eE{LVA}!kQE`W>lgF&-SCd;ZfO*ZZssqd##aA-K6dU zFHSoD)(E#wO(&*)TQE#r9652y{QsxJ$H))XAkS@kW?{QC*+bXZK502A)iL(A(ve?! zi$0Zi>PH!sm%Q329ERI?1cx+4$WFL23iQY}y7bG8CVYvj6%Wv`VD^6*p6^SCAsQZ- zwje<~@`2EPs8)8qa$>RV%dfuZk-r_L?|z;J!9McKykpH=d>=Ytr08}Y9Yf~pA@pV_ z8LrK9zGL`S9?d;|3=VjN?KQ$bhi9T7Q8;;;FGfE2rWbBYn94UAvB1%-E=rMd?)0RJ znfu$YFzHnyij=>KHDQ7zyGGE@l%sX5e&d9@a04o7Dpw>U=>nzU?b$z$^&~BgKzjJj z-OpZeD-LhTOKCf7Pg%D&pVM&RqZNMWmiF>Gd0W21xDPL7T1i}7;M<^V?T*6uQqAKh znJ&dZ+k0muvZIm8IAv)=ntD=a@OAY)G$J7XL4Ewt7)KtnNM<@RWh0+NCcmD`PRtm3 z>Wv|+A%i&OSbyY<|GChR*3m&5^Qm9)_ilL!`Wn>S7gvBrdiOB*`ToCzR<=cW+SQ{A z-ZBvfLMJ#B@uEALhEXinX`w(CKFL#EuD&+CLLOT3-yGP;barO4_SL!25gs4{qvQ;J zjL_CrTIdX!vDVep7?7_j8;$5(Lffoe#{E}4;J9E;_k>`_bU}v?(k$GUI5Kh{Wjq=?TB{vkMQ=RAWg^jqA3A-vFxHTLn4X!@-Uht_H z@Mv)w6+>{Ut%v_Ey}MT>G4huga(Qmqw1lrAQx|U&uZQjQDzv(&*ExFdwEl{^KNOWL zusB25W8ld@JvzfmV)($6p5oej;=c=OSrgG~8&&aV3YA5mz;{FunN*Qdzdlb(j(+;U zQV_dcrEJ4UPV$`j`iv~bkb5jS^{jJX>}9^C2}*31-TZL)j%%Hna#XhROs%h+S$x!xSk&4dsS2C;MohWu}1;= zt+E(>UjWgH8U|FZIlSYbJ%|3FCr0bZlNkb9z+vpOs;XDE-)PvKZIm#3zsjE8JdK2D z#;nNd%|}^k4a5@r1#yv9I3c zh~w}3+qVC9Ub{}*-Y9ZUCx9D@9%rNO;VeYAKQ$HUbVuYQ`q4Q?mb3U3okt&5%+0;K z^D1Srh&s79%X}4czP};H6Wn2|vPvf~HWcZ#1DZ}|M%bBKc7>jJ1E@2$_&9GFrhS#s zNzR42J8Fj7g{$P3uRy+}KngN25ebj~NmBvoUR+57+hW04Hr3M4$Wvr?1; zT`}y)jia+Otv%`m_?gAo>&UYZ1VQSA&o)6Tfo=t|bDeNLFgiU|-q~IU+FZ{F8(lU` zfFz(1yt(?<*`}J+aF4y>;KF)aR`uLfOkgO%C}<_Y;*{`<@VVAIrB+hZA=$?Mltu-=964Y$r`36F6QJ)smDCNKf7RDF5W8!Z9%7O?$xQ z<)Gb$wZZLg!e7Q8*zhuP$4`tO|MAtY<0R`4sa)SBC(gWYZ*g=#W-v~lFh7o1hYCXL z9F>LEwHv;>ihV}$Mp7r5(gC2wqSkb@M)~}nxG*@p{6RdEXL#>DZpx_T8DIB2pLz9!k1)@?*BsR|bK$!1Uj)+WMvO1b6c>7hm%bdb^cWow z(Nl2cy7P6kg-+jSB-KDi38)kC2if0?@uW*nzp<|t2f!#MQKguo-3QF`Gl?>Wf$(y z0Cr?{GL$1M`S1Rc9cvuL0#?s4q;5FL$Y|@PQQas+n6tQXLd{gx8yg+q>Y?Q%g7(w2 zT_KNydQRL0r6^u9>e?wad)e)PoBg}vj3vFs%2;gs^W42h=jG?8bJBiC&N)v8V{btPd+LV>**n6(&-m+XfpgxY z(L<`$fnxl#q8_8I;c~eNdF>0p+w2~kJqOzUQ=WRf|6sf6H|4{Ws9||l@~y2j`U%{V z5A`@Fnyh#H;X9qpO(S~yh%JuKfNWj$DAf-;pf81)5gEm!@6_)$*f=_TIzGJh1*F)Q zXwcNG5g~exToTV5XCF~l9z>d>>gu(-p?v8dgHCo+a_KK^lJ#`DIj0foATK93+O35h zN7ddb0?_NZzpvfH_352gN(8`xo>k7`tPCh=ptGiLDT4L=Oh}5@o<)La-}&! zCjry|+~)7cL?Si9l>1x#^$Q@6TF|j0&8veP4F!8hyi(hM$nnq=JVx-PVV%mo=m@aR6S$`D+F9!1U5IXq;2TawSUU33k~(;U#~?9Z!9An7Xf0e1ZXh!5_qnuiWboM(G?nKQ?s@&W$|_oL zOPXminno7Q{KUsQJ%5ce^$3_zXfLK!YaWBpgU2W+IcEUo>6n>?ly&+TM-(q)7iJsD z`+L*r?Foo8niF#HZn)@3&cM@V|I%dOguIML7->GiBu{deo8H&iIY>u)u0X)bdg^(=r|#mASA~P+6)K$M zz7BNqz;XCDM`YFJ)B_Xe4X4v7Cu8hIc5}88rjvM z(M?{q=hfg>&K#os(yK@-cCMxdad<(m$%pE=V>aCC^;5ah}k(7bLDNrdm^kS;Gm<9R)+v zbPgkj%PA~4s+;njd%0H%Can=FL9c0xR3|xME}Z0VB;_bzHbSY$PYdcl@o9S&*CN5x z&o~^+BM)#hO$dj%=3v^Xqvb5RC@-m@RvkG!do0&ZJ>>&KCyB7q$y#-{wbCo4bOC>z zDsAsHk8|&%QhA+91wR_t(8$y?iO4NvmmlR4HbM;TgrX@!dydkWvov=q_Xd)}fUC1B zfD4*-{On=uOnXHSQ4#dw7eB_qpJ4E4VCk8%w{VlcpKZUy$r)?i=j03XsdGnv1$cgw z?##je2H<{8)guot?OUk=T*IhS7||kHWnqjnb##eQ?g)Zk&fvXrqp#7NlV9`l&|!5} zDEC~D*_Sse__Se!89e5D8PO9N)Y0SYMt3hf;IxiygewiRzr6+(Wfm9tqt&^zhk!UY zBdBrbc4niDEkL=)v!ko%y&hQb7PtItFb5ciQDGeYDcHsFBIe*~N;`$!`vWAeosWDA zS$K*Qaq2aib^^I?3LK2`{MqM#=eFH^x(KhKchf{BcSqGnsbn2_Z2LB`2*t^GR`X}> zzVAPn!&?}&!au9}8NoxtAJ0Or$Z(=H`y%ZA8z(2+$}pWm8q2>nbCiqWV{|rhA_jGu zV%-DVs?C~mm&$s|d33unDBxuS>|kUmt10!i{muGq=V0o85Ebds?QcSIs9}GfOozW` z*hLwl6b-I+ZsD;h?UID{x5I2sU`vzAi+gJP z>QD8z@?76lUv!S<&!nPx(boVMN7XpGeBuP*ej*+>&FRH7cenX*y*PS$T7yL(J$5Q0 z%I|1Cg27M?D@q}_b=+=>iEudq<7~*Dk=){&-EeReK1vtH=@{lQp6A3Ia|{*f3~~&P zamC1t9>Vn;-)Cb82QU(K(C&_|9noW4oE(jhg9xM%S1!nakQi9bx~G0i%t$EtoZJzx z(lR4C-n8wd3$o&XLRoM%)>B{Gm0j-lT%gl*uLDy@s2qppPG3&lfR@HOXYfp0>4niOAO4$xhK90-7l7;N9bx0#6G4&tI6Y_XqcMCM;d}N>K9APYiGGz1 znv>I^H2@>HLnkzy?8v)%pj)JH%>0oRxxqCNVyG^?2_ada3LcWKd1g%s@5?7=;_UOu%o)d%J(JOrKl%K0k$brE1Sf^JMm#USAPh_s{&y(S5g7j5gaDpQ(a58HB|kcT^c;MQB!EV+?j^{W}Y97T>Pt z!ZMK;!Y9BhJ2#S@c1I;Bl@PA7iuP9tZcE=HF#bC^G2oF-&=fFXu~vA4z=j zAshi`klyM;7#cf(EQ)aanZ;>=m9LvbpjxDM>_z06-~_oTRN+1xhB_kNB$EkuY4-c*h6I*deJoW4&2IU z;hljLE?9A-BXPA0Q2j=obPjmyv?@~-*P_k|)er7cBX1Z2f2u49)F6AWY_3l6b$`kqa0lYld$q-k=y7x* zFYFc4VZrsZ*z!Jdi^3TvAsGEQLw99m1h*}dlY1$HaiX;blHPvi<@30uTTbKr0N|+3 z5#R7}7W0heA_Q|nxHuPSj1dJf8qzeAP-Xrnt9 zpD)E2g^~}%zTn?AI(EcfzR=ZUc~6BJWP0^zHd~j|ZeY;iXOsI50UGM)_l`sN=psfV z|MHB0oeyh5TkRMd9US>LJWmjL_(d+0Fa5bLJxgcK5}fliDC2%{$`3F3YuiWW1ulF# z(eR*++KhtA#l_%sB@t)Kt`prI%Wt7p0)nQTd%YEMzjV9&#k2?xmhy0Te5ngA=>nhI zH%*Z*pc@5d+=tfdnCZ+rkFq>!YAD@BizA%m5z?+`S22{6L#pA$04=_GWz=B-&YVso z!h5~`hIcl4^hFg$-7Tjv#1QG%BEjo$`bG9}ZgX;9{rhzCjRI!T?J+{9?xbaM8J#mj zqayEe>+uN&Pis6Q5Ti_vGjfkJ?+D~$K==Nj}C28ZA7G zyN`BK#&7`N{0uw;=QK|zXQ1x8IA}{}?`N$*zaMlLp2fGJa1}<{r!B@SQH3(_twR}( z7^b>wq^%cNbMfJN>c!Iv7oUk!+nhF?RI1j=@nEfENAbIS+9?6##}O`PK-tt6rKPgw zaX7T)o_uDWt{x*ygBndLFNI!sBe{rgoSd`I4=!-hfv-H$KzTn-y=CP+Woc>bFLZL; z$}~Vz=jbhU-A9^3U*J}T+s5#Wn^rDky{itAhuPp5ZVL7Cv3j~PS9i&1owk3jFQ8w( zc-!9OEY8JnC?7WRdBpzFSuLHITBGZgSF#_Do}2nWzSkytJOUnLETgIiOGk!Qe+{4&Tc9Of|@(B)XM4hmBD(Okrrlbfb_6H+Z>UO(@x$<9W~mSwz~ds=v~}B2dZOY1yoK{tlXT(7Ut~!IbxSA znUAzSAnWD&z&z_es{QPx0r-$MFh{o|lgYa2n5(|00dD@M{_=N5^cLr17M2wb@O%rb zFrD%(borWG>I?1_1~pWm>Fn1LyI3Z~&LcGrzz7N0K6#F9n`^gVT4c(hOhUjcCb^zD zTtnv5`+J;bH{FM`Nrtm^kwyK`By=}FG`HQ(qv3qYm)_G*@n6o-Fm3o;MQ!^!m>Oi- z!V9PF4<%+4-w4C|`KA{Q+etIT^e^qMfw}K!+R{?-Via;(Gr}zm6cR@oS4x@ucS<+>83CZUsE^tSa!zti!ehM^4Xa2mNEK38@S zlmeqefY9q$N7rGtPx{c}YY;RCr$PU0rZn$8|nu0fEF1Nl_A&*s?8Nkd~w3M^cz7mQ$s&(%5oj%dzUH z>O(rQI!PYn=~%Iyc#?;v5A7uWNj#b8A?{SoBoB4vRIZgKah=vyqsDgH$d&-GN@N0; zk}OxHWKk0FLy*9p&Vpbo(*W+?e*nat;R9!P&z^Jk!@b|`o;{1uc^0(?a8X;|F&;Vq zSmYq+0H6baMecz`ZhqUp0p1-R?(HgfDTr(pA*=+z0mk_NAr1hD|0~Y~5?$boT>zj9 zNH9Uf&lNpIb@|xX)po{6+W>%uhkNt9douxU1_T8O6e0*C!g4bMNCfX9LWU4jAW#wL zXn;*0#Wn#(%K|_Qc&^m72^rpsgj)zCO%NZ8Q zJ;n$Rl{kOC=XC0%MKWy@)6@XS4@Evk#P$Gy_-n=I03tsSNRR%qS(R@}0A!WuCjns( z0`6{B$LZ0FfSv_{10gl_b3N^xsM}Nk$STo0kl|h+*x`inj`x9Zm^keZsi~J7@4HTi zO#y(bO8gcCdYB=6zF8b&ryiW(uL%IM>*go`Xk=tbesV?({9dOGZIS-=2l{>c@Yu0gr}T9U z0NHRX1^`bZz*eV>YsG#DKzs@w3T2W>C-ip&068Uo41;V{SHSuG+ zZLu8y*>LOu1UO)~A?+xi0QQ73$-lMJHd_IZ562%OAo0!bJO(|0fcpZO#M1_wYc{hD z08`=U*BRiSYiiJ`py>e)^cOvu)YmmD8mM3k0CGxv2Ozy*K%Y*NdLAIWH>f5KTkRmr z0WdWf-NG2YVzr_jc>tW#?LFhEBUbvtQUF|0A{)KPer2VC9a-=7K#BNA`_$3@u*xr% z0iZa%E;7scAp}@sm2w?9@Am)!oLa)z&aSZ&qgMFG5&(!5zTD)@i=9OtD~3c{hFB~L z_WQP3v0`Wm0CM5jcRS0w+5=~Cjs3w)@5;#TXp2;^+q@x zOegQvV}>pOh!Z=A=-itGG`gcwp*Q&J#UKm_I$XPi9(6qUYh;dKYKYo1t+5vYmHbNXj3uRJ&EDJbk z08|fZ{=2MTll2Y+Gs!=#C4&H1J{&6ofY)RnRyQvNGRZCk;I#zj!m+<`>X0iU|2^3Q zsnP&&(f~mCVlbV2rrrnM|8&NLF2 z8;acp1V6Q)ODPe&Our+OpFj!#1ttDf?%=AQAW$AX#UN3>*W0-%zUhjX#x=k!B?OwwDAR9&kKMIxbG z0ad4R28o3AG1vk+2wU#Ws_0 zkXi0;M6TxB&83O+i}Us$w5acTV$KIx;TD;!U{$hOaBapy@JvumezB218UldABYin2 zjyd(qs-tKz;OD(sBuliV!Sze?tegUXRW^a(T!4F`IDY)HmV7}{^93f7Ou9Bxsl2J6 zYZx=fuGG`FApmmW=-mKl`}s62XI7XtpIRY9w&;e)vb>MI2>>@~$<_{QM>v@|9Jh zA7IFi641?N^h3b6IPuLPH6^B-4Ie>9^96Rsg&9eGy%1gxrjwg=17LD+{Zbz*Pih(M zba~~w#-@j4NLX(5+UwBceVG70WJFH{_zjgyTZ5-hieGf&!567(d3V}nzEo4k8Sd%t zuftpFa)8`W?9)K-yq4iEm7foA&srHWmS3}O6_vP%Ux?_`brikq&cLY?=d{{Y$*0H) zYWEC8OO@K?2=@ik$$zX>SQh}GhyS*LrVqCasv2fD3g3l9{`48e~$#aG^M*+;Y`5m8<8Pr1!e7Oj^0B6 z@L>&=-(XbQ=~qvl)-tV1HjmjbQ#{2!J6PnAmf@C7%YZlHl?DXD$1~bWxx&V+>Vi(O`wqU14*UA=5 zoyxPnFGJR*hoeJf&VB?y>))#%9``VQfA?4_t)=%Ixm@yZW@i{${a95lF1-k;$(pJ4 zYjOZ_%}O`-*IhlbN--I zp9V9@?TZosL~xQA?&?V=M6{6RGc^>CBBz6hP?;sP$)gJZZSx5rfZqbqu8^7%8#dBU zR*A*|@gM@+BHgIDE6RTY+JyuX&|AQ1S7?0H(4tm$FtQ$)00Ei`Drp8>=pun_G7U@v z!(G9##2aP?AU7QUFmMulV91Odx7+HP24-7-AxH(r{xCRpLIj7JesaU>HUQ`U&>}m3 zHSN{45Y);`!3cPo6W<~8%@<@(cuR&H3QoX~9VVdFrV-_i03A!gExH+m0B6gL-PI$J zN4G-q0H2*33)(FOnBjF159dFl7QFgK*Je;FZU+OwJ7t1T^o}QgqxA!uBX{iCd4^w^ zDR919hAdtkjD5(1@UMVyy;eWXRIY0~SSa2~0U-czz67O@_hn9M?&k|qN1Q*qklBkF z12VQ-hBRIYuf5p|-d{9r5a zz5LoxSa>cR-40NRrEkXPGI72(G(LJ>OF2Q>ybNB_%iP6`qQv12NmBViWK0|kS*oRv zJLPnDFq5ho;Z^rwNcFsZ(*=eSz!Wj>P|w(#7qpyNA#3D4VwkZLyi>x`78!CmHN0T} zc`1zmJz9D>T^?YCzIsRL8XgbNE3sDyVT;oW*X@rWSDNKF^+_Dju9CE0TENuL&z9h0 zG9>fL4UuKuCF~5KyNRo=^&b)(38=~2>-n@H0Gv#4C;_rU5q#GzYmn?sc>DIwvBLP_V#6E&3R_+_p~ z6C{lB(kTa+_+`$#Yh*~MxK1xWIa>fAk6nY@P_Ee|Q9^htq=^&c%j09?PBCyX6DiN| zK^ZdI@@e7(2;4{%S@sqOdQY9w%*j(BT{Lsfapp~sE23|e3@N?3X3YvusY`R(YVljb znnaO8DaTXA0z4MVB)_TUkSf`laFKBra(=#2hMZ=@v9BP&H?(ZBs@&34v5qH;)<|t8 zoKz)QB8QRNOuKk#Ce*J*Qk_n@XKAwN>Sw^QeD_53Cm}WU!+O7lIdV0VbCY2&&}}x* z?+Z2}t63%bSw#GSRljfzIo76&7o9nJVFbc+!E~}_dYU;>6`yg9S=aSEmIIlDukM8r zL$QNST^(b~g%QH;tjkx%RLPY1=4(!09r~p$?1swT;>v~O)yWlA+pdhM0Kn->qW}&7 z!mohn9RiFvNutaEhyWf#piw})9tb|_)KxJ;XIn3gs&IkMwQ**!VQ*WzuZ^p|1v(c; z+B=Mfr8{zQq|mN&b*$krvaO+GSH}tqI+sV=Hjah_JAQd|g$s19k2f?}wls43`gmc4 zIyl%pfIY7w!UkK6>Ijwc01>=-fu?R#ByKLNCD7D-x-b;q%85k4h--V^QeJA`O0x`c zn?Id+*{F%805JC{i0uW0?;2I0)6Rqk2p$Zo$^9lIShJ#*3&#Wi_L@eTQaKoa?MJC9u+AlwmD6P8`&XDI-xZ-NIH$00$Ttelyq_r+-j#Zn>?-4 zJ!bT^4FFY6umg}@Fr(n2Z%cS@P)*pzt84{8=ilip7BwDE zvB_X5EVyA5|mKEh$*v_GV#UUH@X8l5&30ImVTCjns(0`6`W zN14$>9M=MZ10gl_b2D=6Xxo$km^ZX~Aa#$EN2@G$@&QDCAdnsv>FS#DX=(t>dragf z@G^EEN7@MhBTeba|5xf5BRo{%{P~{K+IJGWZA(i4;94hDau${OPD0v=O_HQpWaC1@ zLmm%1)ID~hZb~+{2fJ4PEeC*kBPcx5mxtnJBKSBm+zbS_I_hAA*NM|nMEFGjx{jhm z0!v5rlkBWz0kF`%$-(tYeV+0b5Zn;j2 zwpeK;**Kb}m64g1JI*+oX`-cO?th$rXWlvYzIWff=lkw=&w1x19rAF|(cGj70)ceg zT=AZY-ArNT>S_w#Dn5h*$6KjO^<0|oIr<{8? zJws0}nE&it-QcbgP*Jn+G`RC@lMN})F#ot~k0GtJYsQ60JM`A;Y+`=rrsGvN0)OvG zbFHWpyHPFpRO1{Vhv6R-CU9*>C<^~Gmm&LOr4|!dXH0m`^HhpC-GVz5UoAwh7 z#Ju7Jm!Qozd%tRW#o&MWKJPCZ!4)epuJoMfEonhgqQXd_k;;fhr`B2v&##iL13UWq zd|U+^8=3109^H_Z#pihkQXa5{QY_o9+gF?=1$1gznDxZZXc9x>)vCnW9rF?ls@5SEXqWMjPb!VmbzT zE*?h6!O+_gZ>P~ICtq&WE2WYx>Jz1c65`H3ff(a7A~~-&(@%XA$tkn>!v$2gwl={qZjjj%f?Q=8b82M2mL>-f zUp&^Gv?`|!8V`wpIa9&#{c$mwv}$I!7dIY$wOOutUIU9R0U)_xyye^4)xpW$0*L1} zu2zxZr*4zRv@|gN?@!9i44$K^r|p>XA6r^kuJxYMYKhPsx4TGdRTvrd8s=@(a38$Qyj9G%dv?_rs$0(;Tg14O|P zs>5-xjwU6XGQkM}LGgG++Nt>zA2K6RnBtigv;5cFj7z!bS*R2AD!N%T+~=m18TUr~ z{+;cs}4PjGiN){BhV3hDl`?aOJW zoz%!v!bRDeUCEofxdP^ zDQK1{-;tIEzk58su~_;0)#&mPP4O#mC}f z|AL-}WF^21d1y;#!6Ge>T^>}m@7n$qY{eJ)E4>0o+@?QYcCdhk~5@jZ9y zkJ_A^t2qn_nw!`lc`)%l)@4y6mfsFK3DS&nJkbC-)w1{S@rS=9@zM*K7-;1JHo4-? zP~ziAqGQ`1D{}Sn)hFId(hESYN6H8@S~sKB!uYXzdd)@+sI2a!s?V zYw5`r+bN`2;qJ+5zpNXi4W=@utvFKQ&OA(xBm+EY)F?+moPZu-9;=S5OJ|Hn6&>xL zNJuqSBf0HBt$OMW=^XLomv)(#x!Z<5Fgz+)6o2Bhf{vwIO$HL8=C`wNLpN}AFB2la z-M!0D;WuGKFfL{>b~L$-PuT%+C)Ft*-1HBZ>MHJXc!+q8WX{{`lQSCX9_jb4eZ6kZ L9{Af%{^$M&4dIMO literal 0 HcmV?d00001 diff --git a/resources/frontend/src/assets/img/original.png b/resources/frontend/src/assets/img/original.png new file mode 100644 index 0000000000000000000000000000000000000000..36a8fd88092777ca5692b8bc3d88fd42a930c2c3 GIT binary patch literal 50918 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�#^AcWl^;iTQfxh~M_p=9O!IKwb?ET#RG!Goz~t$ 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 KJH@*85&sWd?ZQI< literal 0 HcmV?d00001 diff --git a/resources/frontend/src/assets/img/sucess.png b/resources/frontend/src/assets/img/sucess.png new file mode 100644 index 0000000000000000000000000000000000000000..0733780f1c96a3e34fa350fda2ac8e3ee19d7592 GIT binary patch literal 4060 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 O0000.el-tabs>.el-tabs__header { + left: 64px; + } +} + +// animation +.site-navbar__header, +.site-navbar__brand, +.site-navbar__body, +.site-sidebar, +.site-sidebar__inner, +.site-sidebar__menu.el-menu, +.site-sidebar__menu-icon, +.site-content__wrapper, +.site-content--tabs>.el-tabs .el-tabs__header { + transition: inline-block .3s, left .3s, width .3s, margin-left .3s, font-size .3s; +} + + +/* Navbar +------------------------------ */ +.site-navbar { + position: fixed; + top: 0; + right: 0; + left: 0; + z-index: 1030; + height: 50px; + box-shadow: 0 2px 4px rgba(0, 0, 0, .08); + background-color: $navbar--background-color; + + &--inverse { + .site-navbar__body { + background-color: transparent; + } + + .el-menu { + + >.el-menu-item, + >.el-submenu>.el-submenu__title { + color: #fff; + + &:focus, + &:hover { + color: #fff; + background-color: mix(#000, $navbar--background-color, 15%); + } + } + + >.el-menu-item.is-active, + >.el-submenu.is-active>.el-submenu__title { + border-bottom-color: mix(#fff, $navbar--background-color, 85%); + } + + .el-menu-item i, + .el-submenu__title i, + .el-dropdown { + color: #fff; + } + } + + .el-menu--popup-bottom-start { + background-color: $navbar--background-color; + } + } + + &__header { + position: relative; + float: left; + width: 230px; + height: 50px; + overflow: hidden; + } + + &__brand { + display: table-cell; + vertical-align: middle; + width: 230px; + height: 50px; + margin: 0; + line-height: 50px; + font-size: 20px; + text-align: center; + text-transform: uppercase; + white-space: nowrap; + color: #fff; + + &-lg, + &-mini { + margin: 0 5px; + color: #fff; + + &:focus, + &:hover { + color: #fff; + text-decoration: none; + } + } + + &-mini { + display: none; + } + } + + &__switch { + font-size: 18px; + border-bottom: none !important; + } + + &__avatar { + border-bottom: none !important; + + * { + vertical-align: inherit; + } + + .el-dropdown-link { + >img { + width: 36px; + height: auto; + margin-right: 5px; + border-radius: 100%; + vertical-align: middle; + } + } + } + + &__body { + position: relative; + margin-left: 230px; + padding-right: 15px; + background-color: #fff; + } + + &__menu { + float: left; + background-color: transparent; + border-bottom: 0; + + &--right { + float: right; + } + + a:focus, + a:hover { + text-decoration: none; + } + + .el-menu-item, + .el-submenu>.el-submenu__title { + height: 50px; + line-height: 50px; + } + + .el-submenu>.el-menu { + top: 55px; + } + + .el-badge { + display: inline; + z-index: 2; + + &__content { + line-height: 16px; + } + } + } +} + + +/* Sidebar +------------------------------ */ +.site-sidebar { + position: fixed; + top: 50px; + left: 0; + bottom: 0; + z-index: 1020; + width: 230px; + overflow: hidden; + + &--dark, + &--dark-popper { + background-color: $sidebar--background-color-dark; + + .site-sidebar__menu.el-menu, + >.el-menu--popup { + background-color: $sidebar--background-color-dark; + + .el-menu-item, + .el-submenu>.el-submenu__title { + color: $sidebar--color-text-dark; + + &:focus, + &:hover { + color: mix(#fff, $sidebar--color-text-dark, 50%); + background-color: mix(#fff, $sidebar--background-color-dark, 2.5%); + } + } + + .el-menu, + .el-submenu.is-opened { + background-color: mix(#000, $sidebar--background-color-dark, 15%); + } + + .el-menu-item.is-active, + .el-submenu.is-active>.el-submenu__title { + color: mix(#fff, $sidebar--color-text-dark, 80%); + } + } + } + + &__inner { + position: relative; + z-index: 1; + width: 250px; + height: 100%; + padding-bottom: 15px; + overflow-y: scroll; + } + + &__menu.el-menu { + width: 230px; + border-right: 0; + } + + &__menu-icon { + width: 24px; + margin-right: 5px; + text-align: center; + font-size: 16px; + color: inherit !important; + } +} + + +/* Content +------------------------------ */ +.site-content { + position: relative; + padding: 15px; + + &__wrapper { + position: relative; + padding-top: 50px; + margin-left: 230px; + min-height: 100%; + background: $content--background-color; + } + + &--tabs { + padding: 55px 0 0; + } + + >.el-tabs { + >.el-tabs__header { + position: fixed; + top: 50px; + left: 230px; + right: 0; + z-index: 930; + padding: 0 55px 0 15px; + box-shadow: 0 2px 4px 0 rgba(0, 0, 0, .12), 0 0 6px 0 rgba(0, 0, 0, .04); + background-color: #fff; + + >.el-tabs__nav-wrap { + margin-bottom: 0; + + &:after { + display: none; + } + } + } + + >.el-tabs__content { + padding: 0 15px 15px; + + >.site-tabs__tools { + position: fixed; + top: 50px; + right: 0; + z-index: 931; + height: 40px; + padding: 0 12px; + font-size: 16px; + line-height: 40px; + background-color: $content--background-color; + cursor: pointer; + + .el-icon--right { + margin-left: 0; + } + } + } + } +} + +.el-table__expand-icon { + display: inline-block; + width: 14px; + vertical-align: middle; + margin-right: 5px; +} + diff --git a/resources/frontend/src/assets/scss/_flex.scss b/resources/frontend/src/assets/scss/_flex.scss new file mode 100644 index 0000000..a4fe9ab --- /dev/null +++ b/resources/frontend/src/assets/scss/_flex.scss @@ -0,0 +1,117 @@ +.flex{ + display: flex; +} +.page{ + height: 100%; + width: 100%; + display: flex; + flex-direction: column; +} +.flex-cc{ + height: 100vh; + width: 100%; + display: flex; + flex: 1; + flex-direction: column; + align-items:center; + justify-content:space-around; +} +.flex-cc-t{ + height: 100vh; + width: 100%; + display: flex; + flex: 1; + flex-direction: column; + align-items:center; +} +.flex-col-center { + display: flex; + flex-direction: column; + align-items:center; + margin:10px 0px; +} +.flex-row { + display: flex; + flex-direction: row; +} +.flex-row-wrap { + display: flex; + flex-direction: row; + flex-wrap: wrap; +} +.column{ + flex-direction: column !important; +} + +.flex_a{ + display: flex; + flex-direction: row; + align-items: center; +} + +.flex_j{ + display: flex; + justify-content: center; +} + +.flex_aj{ + @extend .flex_a; + justify-content: center; +} + +.flex_column{ + display: flex; + flex-direction: column; +} +.flex-col{ + display: flex; + flex-direction: column; +} + +.flex_sb{ + @extend .flex_a; + justify-content: space-between; +} + +.sb{ + justify-content: space-between; +} + +.jce{ + justify-content: flex-end; +} + +.flex_sa{ + display: flex; + justify-content: space-around; +} + +@for $i from 1 through 5 { + .flex#{$i}{ + flex: $i; + } +} + +.flexWrap { + flex-wrap: wrap; +} + +.font-red { + color: #e54d42 !important; +} + +.font-orange { + color: #f37b1d !important; +} + +.font-yellow { + color: #fbbd08 !important; +} + +.font-olive { + color: #8dc63f !important; +} + +.font-green { + color: #39b54a !important; +} \ No newline at end of file diff --git a/resources/frontend/src/assets/scss/_font.scss b/resources/frontend/src/assets/scss/_font.scss new file mode 100644 index 0000000..1972881 --- /dev/null +++ b/resources/frontend/src/assets/scss/_font.scss @@ -0,0 +1,13 @@ +@for $i from 12 through 100 { + .ft#{$i}{ + font-size: $i *1px; + } +} + +.ft0{ + font-size:0; +} + +.fw{ + font-weight: bold; +} \ No newline at end of file diff --git a/resources/frontend/src/assets/scss/_normalize.scss b/resources/frontend/src/assets/scss/_normalize.scss new file mode 100644 index 0000000..9bb2529 --- /dev/null +++ b/resources/frontend/src/assets/scss/_normalize.scss @@ -0,0 +1,447 @@ +/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */ + +/* Document + ========================================================================== */ + +/** + * 1. Correct the line height in all browsers. + * 2. Prevent adjustments of font size after orientation changes in + * IE on Windows Phone and in iOS. + */ + + html { + line-height: 1.15; /* 1 */ + -ms-text-size-adjust: 100%; /* 2 */ + -webkit-text-size-adjust: 100%; /* 2 */ +} + +/* Sections + ========================================================================== */ + +/** + * Remove the margin in all browsers (opinionated). + */ + +body { + margin: 0; +} + +/** + * Add the correct display in IE 9-. + */ + +article, +aside, +footer, +header, +nav, +section { + display: block; +} + +/** + * Correct the font size and margin on `h1` elements within `section` and + * `article` contexts in Chrome, Firefox, and Safari. + */ + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +/* Grouping content + ========================================================================== */ + +/** + * Add the correct display in IE 9-. + * 1. Add the correct display in IE. + */ + +figcaption, +figure, +main { /* 1 */ + display: block; +} + +/** + * Add the correct margin in IE 8. + */ + +figure { + margin: 1em 40px; +} + +/** + * 1. Add the correct box sizing in Firefox. + * 2. Show the overflow in Edge and IE. + */ + +hr { + box-sizing: content-box; /* 1 */ + height: 0; /* 1 */ + overflow: visible; /* 2 */ +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + +pre { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/* Text-level semantics + ========================================================================== */ + +/** + * 1. Remove the gray background on active links in IE 10. + * 2. Remove gaps in links underline in iOS 8+ and Safari 8+. + */ + +a { + background-color: transparent; /* 1 */ + -webkit-text-decoration-skip: objects; /* 2 */ +} + +/** + * 1. Remove the bottom border in Chrome 57- and Firefox 39-. + * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. + */ + +abbr[title] { + border-bottom: none; /* 1 */ + text-decoration: underline; /* 2 */ + text-decoration: underline dotted; /* 2 */ +} + +/** + * Prevent the duplicate application of `bolder` by the next rule in Safari 6. + */ + +b, +strong { + font-weight: inherit; +} + +/** + * Add the correct font weight in Chrome, Edge, and Safari. + */ + +b, +strong { + font-weight: bolder; +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + +code, +kbd, +samp { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/** + * Add the correct font style in Android 4.3-. + */ + +dfn { + font-style: italic; +} + +/** + * Add the correct background and color in IE 9-. + */ + +mark { + background-color: #ff0; + color: #000; +} + +/** + * Add the correct font size in all browsers. + */ + +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` elements from affecting the line height in + * all browsers. + */ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +/* Embedded content + ========================================================================== */ + +/** + * Add the correct display in IE 9-. + */ + +audio, +video { + display: inline-block; +} + +/** + * Add the correct display in iOS 4-7. + */ + +audio:not([controls]) { + display: none; + height: 0; +} + +/** + * Remove the border on images inside links in IE 10-. + */ + +img { + border-style: none; +} + +/** + * Hide the overflow in IE. + */ + +svg:not(:root) { + overflow: hidden; +} + +/* Forms + ========================================================================== */ + +/** + * 1. Change the font styles in all browsers (opinionated). + * 2. Remove the margin in Firefox and Safari. + */ + +button, +input, +optgroup, +select, +textarea { + font-family: sans-serif; /* 1 */ + font-size: 100%; /* 1 */ + line-height: 1.15; /* 1 */ + margin: 0; /* 2 */ +} + +/** + * Show the overflow in IE. + * 1. Show the overflow in Edge. + */ + +button, +input { /* 1 */ + overflow: visible; +} + +/** + * Remove the inheritance of text transform in Edge, Firefox, and IE. + * 1. Remove the inheritance of text transform in Firefox. + */ + +button, +select { /* 1 */ + text-transform: none; +} + +/** + * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video` + * controls in Android 4. + * 2. Correct the inability to style clickable types in iOS and Safari. + */ + +button, +html [type="button"], /* 1 */ +[type="reset"], +[type="submit"] { + -webkit-appearance: button; /* 2 */ +} + +/** + * Remove the inner border and padding in Firefox. + */ + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + border-style: none; + padding: 0; +} + +/** + * Restore the focus styles unset by the previous rule. + */ + +button:-moz-focusring, +[type="button"]:-moz-focusring, +[type="reset"]:-moz-focusring, +[type="submit"]:-moz-focusring { + outline: 1px dotted ButtonText; +} + +/** + * Correct the padding in Firefox. + */ + +fieldset { + padding: 0.35em 0.75em 0.625em; +} + +/** + * 1. Correct the text wrapping in Edge and IE. + * 2. Correct the color inheritance from `fieldset` elements in IE. + * 3. Remove the padding so developers are not caught out when they zero out + * `fieldset` elements in all browsers. + */ + +legend { + box-sizing: border-box; /* 1 */ + color: inherit; /* 2 */ + display: table; /* 1 */ + max-width: 100%; /* 1 */ + padding: 0; /* 3 */ + white-space: normal; /* 1 */ +} + +/** + * 1. Add the correct display in IE 9-. + * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera. + */ + +progress { + display: inline-block; /* 1 */ + vertical-align: baseline; /* 2 */ +} + +/** + * Remove the default vertical scrollbar in IE. + */ + +textarea { + overflow: auto; +} + +/** + * 1. Add the correct box sizing in IE 10-. + * 2. Remove the padding in IE 10-. + */ + +[type="checkbox"], +[type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * Correct the cursor style of increment and decrement buttons in Chrome. + */ + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Correct the odd appearance in Chrome and Safari. + * 2. Correct the outline style in Safari. + */ + +[type="search"] { + -webkit-appearance: textfield; /* 1 */ + outline-offset: -2px; /* 2 */ +} + +/** + * Remove the inner padding and cancel buttons in Chrome and Safari on macOS. + */ + +[type="search"]::-webkit-search-cancel-button, +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * 1. Correct the inability to style clickable types in iOS and Safari. + * 2. Change font properties to `inherit` in Safari. + */ + +::-webkit-file-upload-button { + -webkit-appearance: button; /* 1 */ + font: inherit; /* 2 */ +} + +/* Interactive + ========================================================================== */ + +/* + * Add the correct display in IE 9-. + * 1. Add the correct display in Edge, IE, and Firefox. + */ + +details, /* 1 */ +menu { + display: block; +} + +/* + * Add the correct display in all browsers. + */ + +summary { + display: list-item; +} + +/* Scripting + ========================================================================== */ + +/** + * Add the correct display in IE 9-. + */ + +canvas { + display: inline-block; +} + +/** + * Add the correct display in IE. + */ + +template { + display: none; +} + +/* Hidden + ========================================================================== */ + +/** + * Add the correct display in IE 10-. + */ + +[hidden] { + display: none; +} \ No newline at end of file diff --git a/resources/frontend/src/assets/scss/_space.scss b/resources/frontend/src/assets/scss/_space.scss new file mode 100644 index 0000000..102ecd0 --- /dev/null +++ b/resources/frontend/src/assets/scss/_space.scss @@ -0,0 +1,115 @@ +.mt1 { + margin-top: 1px; +} + +.mt24 { + margin-top: 24px; +} + +.mr24 { + margin-right: 24px; +} + +.ml24 { + margin-left: 24px; +} + +.pt24 { + padding-top: 24px; +} + +.pr24 { + padding-right: 24px; +} + +.pb24 { + padding-bottom: 24px; +} + +.pl24 { + padding-left: 24px; +} + +.pt88 { + padding-top: 88px; +} + +.mlr24 { + margin-left: 24px; + margin-right: 24px; +} + +.ptb24 { + padding-top: 24px; + padding-bottom: 24px; +} + +.plr24 { + padding-left: 24px; + padding-right: 24px; +} +.p20 { + padding: 20upx; +} + +.p24 { + padding: 24upx; +} + +.p30 { + padding: 30upx; +} + +.p40 { + padding: 40upx; +} + + + + + +@for $i from 1 through 30 { + .mt#{$i*10}{ + margin-top: $i * 10px; + } + .pt#{$i*10}{ + padding-top: $i * 10px; + } + .pb#{$i*10}{ + padding-bottom: $i * 10px; + } +} + +@for $i from 1 through 20 { + .pl#{$i*10}{ + padding-left: $i * 10px; + } + .pr#{$i*10}{ + padding-right: $i * 10px; + } + .mb#{$i*10}{ + margin-bottom: $i * 10px; + } + .ml#{$i*10}{ + margin-left: $i * 10px; + } + .mr#{$i*10}{ + margin-right: $i * 10px; + } + .mlr#{$i*10}{ + margin-left: $i * 10px; + margin-right: $i * 10px; + } + .mtb#{$i*10}{ + margin-top: $i * 10px; + margin-bottom: $i * 10px; + } + .ptb#{$i*10}{ + padding-top: $i * 10px; + padding-bottom: $i * 10px; + } + .plr#{$i*10}{ + padding-left: $i * 10px; + padding-right: $i * 10px; + } +} \ No newline at end of file diff --git a/resources/frontend/src/assets/scss/_variables.scss b/resources/frontend/src/assets/scss/_variables.scss new file mode 100644 index 0000000..5a058b8 --- /dev/null +++ b/resources/frontend/src/assets/scss/_variables.scss @@ -0,0 +1,13 @@ +// 站点主色 +// tips: 要达到整站主题修改效果, 请确保[$--color-primary]站点主色与[/src/element-ui-theme/index.js]文件中[import './element-[#17B3A3]/index.css']当前主题色一致 +$--color-primary: #3E8EF7; + +// Navbar +$navbar--background-color: $--color-primary; + +// Sidebar +$sidebar--background-color-dark: #263238; +$sidebar--color-text-dark: #8a979e; + +// Content +$content--background-color: #f1f4f5; diff --git a/resources/frontend/src/assets/scss/index.scss b/resources/frontend/src/assets/scss/index.scss new file mode 100644 index 0000000..51ddead --- /dev/null +++ b/resources/frontend/src/assets/scss/index.scss @@ -0,0 +1,9 @@ +@import "normalize"; // api: https://github.com/necolas/normalize.css/ +@import "variables"; // 站点变量 +@import "base"; +@import "space"; +@import "font"; +@import "flex"; + + + diff --git a/resources/frontend/src/components/global/Board/index.vue b/resources/frontend/src/components/global/Board/index.vue new file mode 100644 index 0000000..745da29 --- /dev/null +++ b/resources/frontend/src/components/global/Board/index.vue @@ -0,0 +1,60 @@ + + + + + \ No newline at end of file diff --git a/resources/frontend/src/components/global/Form/index.vue b/resources/frontend/src/components/global/Form/index.vue new file mode 100644 index 0000000..2ebb4d1 --- /dev/null +++ b/resources/frontend/src/components/global/Form/index.vue @@ -0,0 +1,575 @@ + + + + + + \ No newline at end of file diff --git a/resources/frontend/src/components/global/FormItem/index.vue b/resources/frontend/src/components/global/FormItem/index.vue new file mode 100644 index 0000000..30f3b00 --- /dev/null +++ b/resources/frontend/src/components/global/FormItem/index.vue @@ -0,0 +1,543 @@ + + + + + \ No newline at end of file diff --git a/resources/frontend/src/components/global/FormTable/index.vue b/resources/frontend/src/components/global/FormTable/index.vue new file mode 100644 index 0000000..55d8913 --- /dev/null +++ b/resources/frontend/src/components/global/FormTable/index.vue @@ -0,0 +1,170 @@ + + + + + diff --git a/resources/frontend/src/components/global/Search/index.vue b/resources/frontend/src/components/global/Search/index.vue new file mode 100644 index 0000000..6591c11 --- /dev/null +++ b/resources/frontend/src/components/global/Search/index.vue @@ -0,0 +1,538 @@ + + + + diff --git a/resources/frontend/src/components/global/Table/index.vue b/resources/frontend/src/components/global/Table/index.vue new file mode 100644 index 0000000..4cab2a2 --- /dev/null +++ b/resources/frontend/src/components/global/Table/index.vue @@ -0,0 +1,485 @@ + + + + + + \ No newline at end of file diff --git a/resources/frontend/src/components/global/index.js b/resources/frontend/src/components/global/index.js new file mode 100644 index 0000000..46ac8ac --- /dev/null +++ b/resources/frontend/src/components/global/index.js @@ -0,0 +1,9 @@ +import Vue from 'vue' + +const componentsContext = require.context('./', true, /index\.vue$/); + +componentsContext.keys().forEach(component => { + const componentConfig = componentsContext(component); + const ctrl = componentConfig.default || componentConfig; + Vue.component(`r-${ctrl.name.substr(0,1).toLocaleLowerCase()+ctrl.name.substr(1)}`, ctrl) +}); diff --git a/resources/frontend/src/main.js b/resources/frontend/src/main.js index 0586068..eaddbb2 100644 --- a/resources/frontend/src/main.js +++ b/resources/frontend/src/main.js @@ -3,13 +3,20 @@ import App from "./App.vue"; import router from "./router"; import store from "./store"; import ElementUI from "element-ui"; +import httpRequest from '@/util/https' +import msg from '@/util/msg' import "element-ui/lib/theme-chalk/index.css"; import "@/css/style.css"; +import '@/assets/scss/index.scss' import "./router/main"; +import '@/components/global' +import echarts from '@/util/echartUi.js' Vue.use(ElementUI); Vue.config.productionTip = false; - +Vue.prototype.$http = httpRequest +Vue.prototype.$msg = msg +Vue.prototype.$chart = echarts new Vue({ router, store, diff --git a/resources/frontend/src/router/list.js b/resources/frontend/src/router/list.js index 9d1bf23..6195ad5 100644 --- a/resources/frontend/src/router/list.js +++ b/resources/frontend/src/router/list.js @@ -115,6 +115,53 @@ const list = [ name: "供应商列表", component: () => import("../views/supplier/supplierList.vue"), }, + { + path: "putWarehouse", + name: "商品入库", + component: () => import("../views/stock/putWarehouse.vue"), + }, + { + path: "stockNotice", + name: "库存预警", + component: () => import("../views/stock/stockNotice.vue"), + }, + + { + path: "stockTacks", + name: "盘点报损", + component: () => import("../views/stock/stockTacks.vue"), + }, + { + path: "message", + name: "消息列表", + component: () => import("../views/message/message.vue"), + }, + + { + path: "salesChart", + name: "销售图表", + component: () => import("../views/dataCenter/salesChart.vue"), + }, + { + path: "goodChart", + name: "商品图表", + component: () => import("../views/dataCenter/goodChart.vue"), + }, + { + path: "flagChart", + name: "交易趋势图表", + component: () => import("../views/dataCenter/flagChart.vue"), + }, + { + path: "damageChart", + name: "报损图表", + component: () => import("../views/dataCenter/damageChart.vue"), + }, + { + path: "costChart", + name: "交易趋势图表", + component: () => import("../views/dataCenter/costChart.vue"), + }, ], }, ]; diff --git a/resources/frontend/src/util/area2.js b/resources/frontend/src/util/area2.js new file mode 100644 index 0000000..d5025f3 --- /dev/null +++ b/resources/frontend/src/util/area2.js @@ -0,0 +1 @@ +export default [{"value":"北京市","label":"北京市","children":[{"value":"北京市","label":"北京市","children":[{"value":"东城区","label":"东城区"},{"value":"西城区","label":"西城区"},{"value":"朝阳区","label":"朝阳区"},{"value":"丰台区","label":"丰台区"},{"value":"石景山区","label":"石景山区"},{"value":"海淀区","label":"海淀区"},{"value":"门头沟区","label":"门头沟区"},{"value":"房山区","label":"房山区"},{"value":"通州区","label":"通州区"},{"value":"顺义区","label":"顺义区"},{"value":"昌平区","label":"昌平区"},{"value":"大兴区","label":"大兴区"},{"value":"怀柔区","label":"怀柔区"},{"value":"平谷区","label":"平谷区"},{"value":"密云区","label":"密云区"},{"value":"延庆区","label":"延庆区"}]}]},{"value":"天津市","label":"天津市","children":[{"value":"天津市","label":"天津市","children":[{"value":"和平区","label":"和平区"},{"value":"河东区","label":"河东区"},{"value":"河西区","label":"河西区"},{"value":"南开区","label":"南开区"},{"value":"河北区","label":"河北区"},{"value":"红桥区","label":"红桥区"},{"value":"东丽区","label":"东丽区"},{"value":"西青区","label":"西青区"},{"value":"津南区","label":"津南区"},{"value":"北辰区","label":"北辰区"},{"value":"武清区","label":"武清区"},{"value":"宝坻区","label":"宝坻区"},{"value":"滨海新区","label":"滨海新区"},{"value":"宁河区","label":"宁河区"},{"value":"静海区","label":"静海区"},{"value":"蓟州区","label":"蓟州区"}]}]},{"value":"河北省","label":"河北省","children":[{"value":"石家庄市","label":"石家庄市","children":[{"value":"长安区","label":"长安区"},{"value":"桥西区","label":"桥西区"},{"value":"新华区","label":"新华区"},{"value":"井陉矿区","label":"井陉矿区"},{"value":"裕华区","label":"裕华区"},{"value":"藁城区","label":"藁城区"},{"value":"鹿泉区","label":"鹿泉区"},{"value":"栾城区","label":"栾城区"},{"value":"井陉县","label":"井陉县"},{"value":"正定县","label":"正定县"},{"value":"行唐县","label":"行唐县"},{"value":"灵寿县","label":"灵寿县"},{"value":"高邑县","label":"高邑县"},{"value":"深泽县","label":"深泽县"},{"value":"赞皇县","label":"赞皇县"},{"value":"无极县","label":"无极县"},{"value":"平山县","label":"平山县"},{"value":"元氏县","label":"元氏县"},{"value":"赵县","label":"赵县"},{"value":"辛集市","label":"辛集市"},{"value":"晋州市","label":"晋州市"},{"value":"新乐市","label":"新乐市"}]},{"value":"唐山市","label":"唐山市","children":[{"value":"路南区","label":"路南区"},{"value":"路北区","label":"路北区"},{"value":"古冶区","label":"古冶区"},{"value":"开平区","label":"开平区"},{"value":"丰南区","label":"丰南区"},{"value":"丰润区","label":"丰润区"},{"value":"曹妃甸区","label":"曹妃甸区"},{"value":"滦县","label":"滦县"},{"value":"滦南县","label":"滦南县"},{"value":"乐亭县","label":"乐亭县"},{"value":"迁西县","label":"迁西县"},{"value":"玉田县","label":"玉田县"},{"value":"遵化市","label":"遵化市"},{"value":"迁安市","label":"迁安市"}]},{"value":"秦皇岛市","label":"秦皇岛市","children":[{"value":"海港区","label":"海港区"},{"value":"山海关区","label":"山海关区"},{"value":"北戴河区","label":"北戴河区"},{"value":"抚宁区","label":"抚宁区"},{"value":"青龙满族自治县","label":"青龙满族自治县"},{"value":"昌黎县","label":"昌黎县"},{"value":"卢龙县","label":"卢龙县"},{"value":"经济技术开发区","label":"经济技术开发区"}]},{"value":"邯郸市","label":"邯郸市","children":[{"value":"邯山区","label":"邯山区"},{"value":"丛台区","label":"丛台区"},{"value":"复兴区","label":"复兴区"},{"value":"峰峰矿区","label":"峰峰矿区"},{"value":"肥乡区","label":"肥乡区"},{"value":"永年区","label":"永年区"},{"value":"临漳县","label":"临漳县"},{"value":"成安县","label":"成安县"},{"value":"大名县","label":"大名县"},{"value":"涉县","label":"涉县"},{"value":"磁县","label":"磁县"},{"value":"邱县","label":"邱县"},{"value":"鸡泽县","label":"鸡泽县"},{"value":"广平县","label":"广平县"},{"value":"馆陶县","label":"馆陶县"},{"value":"魏县","label":"魏县"},{"value":"曲周县","label":"曲周县"},{"value":"武安市","label":"武安市"}]},{"value":"邢台市","label":"邢台市","children":[{"value":"桥东区","label":"桥东区"},{"value":"桥西区","label":"桥西区"},{"value":"邢台县","label":"邢台县"},{"value":"临城县","label":"临城县"},{"value":"内丘县","label":"内丘县"},{"value":"柏乡县","label":"柏乡县"},{"value":"隆尧县","label":"隆尧县"},{"value":"任县","label":"任县"},{"value":"南和县","label":"南和县"},{"value":"宁晋县","label":"宁晋县"},{"value":"巨鹿县","label":"巨鹿县"},{"value":"新河县","label":"新河县"},{"value":"广宗县","label":"广宗县"},{"value":"平乡县","label":"平乡县"},{"value":"威县","label":"威县"},{"value":"清河县","label":"清河县"},{"value":"临西县","label":"临西县"},{"value":"南宫市","label":"南宫市"},{"value":"沙河市","label":"沙河市"}]},{"value":"保定市","label":"保定市","children":[{"value":"竞秀区","label":"竞秀区"},{"value":"莲池区","label":"莲池区"},{"value":"满城区","label":"满城区"},{"value":"清苑区","label":"清苑区"},{"value":"徐水区","label":"徐水区"},{"value":"涞水县","label":"涞水县"},{"value":"阜平县","label":"阜平县"},{"value":"定兴县","label":"定兴县"},{"value":"唐县","label":"唐县"},{"value":"高阳县","label":"高阳县"},{"value":"容城县","label":"容城县"},{"value":"涞源县","label":"涞源县"},{"value":"望都县","label":"望都县"},{"value":"安新县","label":"安新县"},{"value":"易县","label":"易县"},{"value":"曲阳县","label":"曲阳县"},{"value":"蠡县","label":"蠡县"},{"value":"顺平县","label":"顺平县"},{"value":"博野县","label":"博野县"},{"value":"雄县","label":"雄县"},{"value":"涿州市","label":"涿州市"},{"value":"定州市","label":"定州市"},{"value":"安国市","label":"安国市"},{"value":"高碑店市","label":"高碑店市"}]},{"value":"张家口市","label":"张家口市","children":[{"value":"桥东区","label":"桥东区"},{"value":"桥西区","label":"桥西区"},{"value":"宣化区","label":"宣化区"},{"value":"下花园区","label":"下花园区"},{"value":"万全区","label":"万全区"},{"value":"崇礼区","label":"崇礼区"},{"value":"张北县","label":"张北县"},{"value":"康保县","label":"康保县"},{"value":"沽源县","label":"沽源县"},{"value":"尚义县","label":"尚义县"},{"value":"蔚县","label":"蔚县"},{"value":"阳原县","label":"阳原县"},{"value":"怀安县","label":"怀安县"},{"value":"怀来县","label":"怀来县"},{"value":"涿鹿县","label":"涿鹿县"},{"value":"赤城县","label":"赤城县"}]},{"value":"承德市","label":"承德市","children":[{"value":"双桥区","label":"双桥区"},{"value":"双滦区","label":"双滦区"},{"value":"鹰手营子矿区","label":"鹰手营子矿区"},{"value":"承德县","label":"承德县"},{"value":"兴隆县","label":"兴隆县"},{"value":"滦平县","label":"滦平县"},{"value":"隆化县","label":"隆化县"},{"value":"丰宁满族自治县","label":"丰宁满族自治县"},{"value":"宽城满族自治县","label":"宽城满族自治县"},{"value":"围场满族蒙古族自治县","label":"围场满族蒙古族自治县"},{"value":"平泉市","label":"平泉市"}]},{"value":"沧州市","label":"沧州市","children":[{"value":"新华区","label":"新华区"},{"value":"运河区","label":"运河区"},{"value":"沧县","label":"沧县"},{"value":"青县","label":"青县"},{"value":"东光县","label":"东光县"},{"value":"海兴县","label":"海兴县"},{"value":"盐山县","label":"盐山县"},{"value":"肃宁县","label":"肃宁县"},{"value":"南皮县","label":"南皮县"},{"value":"吴桥县","label":"吴桥县"},{"value":"献县","label":"献县"},{"value":"孟村回族自治县","label":"孟村回族自治县"},{"value":"泊头市","label":"泊头市"},{"value":"任丘市","label":"任丘市"},{"value":"黄骅市","label":"黄骅市"},{"value":"河间市","label":"河间市"}]},{"value":"廊坊市","label":"廊坊市","children":[{"value":"安次区","label":"安次区"},{"value":"广阳区","label":"广阳区"},{"value":"固安县","label":"固安县"},{"value":"永清县","label":"永清县"},{"value":"香河县","label":"香河县"},{"value":"大城县","label":"大城县"},{"value":"文安县","label":"文安县"},{"value":"大厂回族自治县","label":"大厂回族自治县"},{"value":"霸州市","label":"霸州市"},{"value":"三河市","label":"三河市"},{"value":"开发区","label":"开发区"}]},{"value":"衡水市","label":"衡水市","children":[{"value":"桃城区","label":"桃城区"},{"value":"冀州区","label":"冀州区"},{"value":"枣强县","label":"枣强县"},{"value":"武邑县","label":"武邑县"},{"value":"武强县","label":"武强县"},{"value":"饶阳县","label":"饶阳县"},{"value":"安平县","label":"安平县"},{"value":"故城县","label":"故城县"},{"value":"景县","label":"景县"},{"value":"阜城县","label":"阜城县"},{"value":"深州市","label":"深州市"}]},{"value":"省直辖县","label":"省直辖县","children":[]}]},{"value":"山西省","label":"山西省","children":[{"value":"太原市","label":"太原市","children":[{"value":"小店区","label":"小店区"},{"value":"迎泽区","label":"迎泽区"},{"value":"杏花岭区","label":"杏花岭区"},{"value":"尖草坪区","label":"尖草坪区"},{"value":"万柏林区","label":"万柏林区"},{"value":"晋源区","label":"晋源区"},{"value":"清徐县","label":"清徐县"},{"value":"阳曲县","label":"阳曲县"},{"value":"娄烦县","label":"娄烦县"},{"value":"古交市","label":"古交市"}]},{"value":"大同市","label":"大同市","children":[{"value":"城区","label":"城区"},{"value":"矿区","label":"矿区"},{"value":"南郊区","label":"南郊区"},{"value":"新荣区","label":"新荣区"},{"value":"阳高县","label":"阳高县"},{"value":"天镇县","label":"天镇县"},{"value":"广灵县","label":"广灵县"},{"value":"灵丘县","label":"灵丘县"},{"value":"浑源县","label":"浑源县"},{"value":"左云县","label":"左云县"},{"value":"大同县","label":"大同县"}]},{"value":"阳泉市","label":"阳泉市","children":[{"value":"城区","label":"城区"},{"value":"矿区","label":"矿区"},{"value":"郊区","label":"郊区"},{"value":"平定县","label":"平定县"},{"value":"盂县","label":"盂县"}]},{"value":"长治市","label":"长治市","children":[{"value":"城区","label":"城区"},{"value":"郊区","label":"郊区"},{"value":"长治县","label":"长治县"},{"value":"襄垣县","label":"襄垣县"},{"value":"屯留县","label":"屯留县"},{"value":"平顺县","label":"平顺县"},{"value":"黎城县","label":"黎城县"},{"value":"壶关县","label":"壶关县"},{"value":"长子县","label":"长子县"},{"value":"武乡县","label":"武乡县"},{"value":"沁县","label":"沁县"},{"value":"沁源县","label":"沁源县"},{"value":"潞城市","label":"潞城市"}]},{"value":"晋城市","label":"晋城市","children":[{"value":"城区","label":"城区"},{"value":"沁水县","label":"沁水县"},{"value":"阳城县","label":"阳城县"},{"value":"陵川县","label":"陵川县"},{"value":"泽州县","label":"泽州县"},{"value":"高平市","label":"高平市"}]},{"value":"朔州市","label":"朔州市","children":[{"value":"朔城区","label":"朔城区"},{"value":"平鲁区","label":"平鲁区"},{"value":"山阴县","label":"山阴县"},{"value":"应县","label":"应县"},{"value":"右玉县","label":"右玉县"},{"value":"怀仁县","label":"怀仁县"}]},{"value":"晋中市","label":"晋中市","children":[{"value":"榆次区","label":"榆次区"},{"value":"榆社县","label":"榆社县"},{"value":"左权县","label":"左权县"},{"value":"和顺县","label":"和顺县"},{"value":"昔阳县","label":"昔阳县"},{"value":"寿阳县","label":"寿阳县"},{"value":"太谷县","label":"太谷县"},{"value":"祁县","label":"祁县"},{"value":"平遥县","label":"平遥县"},{"value":"灵石县","label":"灵石县"},{"value":"介休市","label":"介休市"}]},{"value":"运城市","label":"运城市","children":[{"value":"盐湖区","label":"盐湖区"},{"value":"临猗县","label":"临猗县"},{"value":"万荣县","label":"万荣县"},{"value":"闻喜县","label":"闻喜县"},{"value":"稷山县","label":"稷山县"},{"value":"新绛县","label":"新绛县"},{"value":"绛县","label":"绛县"},{"value":"垣曲县","label":"垣曲县"},{"value":"夏县","label":"夏县"},{"value":"平陆县","label":"平陆县"},{"value":"芮城县","label":"芮城县"},{"value":"永济市","label":"永济市"},{"value":"河津市","label":"河津市"}]},{"value":"忻州市","label":"忻州市","children":[{"value":"忻府区","label":"忻府区"},{"value":"定襄县","label":"定襄县"},{"value":"五台县","label":"五台县"},{"value":"代县","label":"代县"},{"value":"繁峙县","label":"繁峙县"},{"value":"宁武县","label":"宁武县"},{"value":"静乐县","label":"静乐县"},{"value":"神池县","label":"神池县"},{"value":"五寨县","label":"五寨县"},{"value":"岢岚县","label":"岢岚县"},{"value":"河曲县","label":"河曲县"},{"value":"保德县","label":"保德县"},{"value":"偏关县","label":"偏关县"},{"value":"原平市","label":"原平市"}]},{"value":"临汾市","label":"临汾市","children":[{"value":"尧都区","label":"尧都区"},{"value":"曲沃县","label":"曲沃县"},{"value":"翼城县","label":"翼城县"},{"value":"襄汾县","label":"襄汾县"},{"value":"洪洞县","label":"洪洞县"},{"value":"古县","label":"古县"},{"value":"安泽县","label":"安泽县"},{"value":"浮山县","label":"浮山县"},{"value":"吉县","label":"吉县"},{"value":"乡宁县","label":"乡宁县"},{"value":"大宁县","label":"大宁县"},{"value":"隰县","label":"隰县"},{"value":"永和县","label":"永和县"},{"value":"蒲县","label":"蒲县"},{"value":"汾西县","label":"汾西县"},{"value":"侯马市","label":"侯马市"},{"value":"霍州市","label":"霍州市"}]},{"value":"吕梁市","label":"吕梁市","children":[{"value":"离石区","label":"离石区"},{"value":"文水县","label":"文水县"},{"value":"交城县","label":"交城县"},{"value":"兴县","label":"兴县"},{"value":"临县","label":"临县"},{"value":"柳林县","label":"柳林县"},{"value":"石楼县","label":"石楼县"},{"value":"岚县","label":"岚县"},{"value":"方山县","label":"方山县"},{"value":"中阳县","label":"中阳县"},{"value":"交口县","label":"交口县"},{"value":"孝义市","label":"孝义市"},{"value":"汾阳市","label":"汾阳市"}]}]},{"value":"内蒙古自治区","label":"内蒙古自治区","children":[{"value":"呼和浩特市","label":"呼和浩特市","children":[{"value":"新城区","label":"新城区"},{"value":"回民区","label":"回民区"},{"value":"玉泉区","label":"玉泉区"},{"value":"赛罕区","label":"赛罕区"},{"value":"土默特左旗","label":"土默特左旗"},{"value":"托克托县","label":"托克托县"},{"value":"和林格尔县","label":"和林格尔县"},{"value":"清水河县","label":"清水河县"},{"value":"武川县","label":"武川县"}]},{"value":"包头市","label":"包头市","children":[{"value":"东河区","label":"东河区"},{"value":"昆都仑区","label":"昆都仑区"},{"value":"青山区","label":"青山区"},{"value":"石拐区","label":"石拐区"},{"value":"白云鄂博矿区","label":"白云鄂博矿区"},{"value":"九原区","label":"九原区"},{"value":"土默特右旗","label":"土默特右旗"},{"value":"固阳县","label":"固阳县"},{"value":"达尔罕茂明安联合旗","label":"达尔罕茂明安联合旗"}]},{"value":"乌海市","label":"乌海市","children":[{"value":"海勃湾区","label":"海勃湾区"},{"value":"海南区","label":"海南区"},{"value":"乌达区","label":"乌达区"}]},{"value":"赤峰市","label":"赤峰市","children":[{"value":"红山区","label":"红山区"},{"value":"元宝山区","label":"元宝山区"},{"value":"松山区","label":"松山区"},{"value":"阿鲁科尔沁旗","label":"阿鲁科尔沁旗"},{"value":"巴林左旗","label":"巴林左旗"},{"value":"巴林右旗","label":"巴林右旗"},{"value":"林西县","label":"林西县"},{"value":"克什克腾旗","label":"克什克腾旗"},{"value":"翁牛特旗","label":"翁牛特旗"},{"value":"喀喇沁旗","label":"喀喇沁旗"},{"value":"宁城县","label":"宁城县"},{"value":"敖汉旗","label":"敖汉旗"}]},{"value":"通辽市","label":"通辽市","children":[{"value":"科尔沁区","label":"科尔沁区"},{"value":"科尔沁左翼中旗","label":"科尔沁左翼中旗"},{"value":"科尔沁左翼后旗","label":"科尔沁左翼后旗"},{"value":"开鲁县","label":"开鲁县"},{"value":"库伦旗","label":"库伦旗"},{"value":"奈曼旗","label":"奈曼旗"},{"value":"扎鲁特旗","label":"扎鲁特旗"},{"value":"霍林郭勒市","label":"霍林郭勒市"}]},{"value":"鄂尔多斯市","label":"鄂尔多斯市","children":[{"value":"东胜区","label":"东胜区"},{"value":"康巴什区","label":"康巴什区"},{"value":"达拉特旗","label":"达拉特旗"},{"value":"准格尔旗","label":"准格尔旗"},{"value":"鄂托克前旗","label":"鄂托克前旗"},{"value":"鄂托克旗","label":"鄂托克旗"},{"value":"杭锦旗","label":"杭锦旗"},{"value":"乌审旗","label":"乌审旗"},{"value":"伊金霍洛旗","label":"伊金霍洛旗"}]},{"value":"呼伦贝尔市","label":"呼伦贝尔市","children":[{"value":"海拉尔区","label":"海拉尔区"},{"value":"扎赉诺尔区","label":"扎赉诺尔区"},{"value":"阿荣旗","label":"阿荣旗"},{"value":"莫力达瓦达斡尔族自治旗","label":"莫力达瓦达斡尔族自治旗"},{"value":"鄂伦春自治旗","label":"鄂伦春自治旗"},{"value":"鄂温克族自治旗","label":"鄂温克族自治旗"},{"value":"陈巴尔虎旗","label":"陈巴尔虎旗"},{"value":"新巴尔虎左旗","label":"新巴尔虎左旗"},{"value":"新巴尔虎右旗","label":"新巴尔虎右旗"},{"value":"满洲里市","label":"满洲里市"},{"value":"牙克石市","label":"牙克石市"},{"value":"扎兰屯市","label":"扎兰屯市"},{"value":"额尔古纳市","label":"额尔古纳市"},{"value":"根河市","label":"根河市"}]},{"value":"巴彦淖尔市","label":"巴彦淖尔市","children":[{"value":"临河区","label":"临河区"},{"value":"五原县","label":"五原县"},{"value":"磴口县","label":"磴口县"},{"value":"乌拉特前旗","label":"乌拉特前旗"},{"value":"乌拉特中旗","label":"乌拉特中旗"},{"value":"乌拉特后旗","label":"乌拉特后旗"},{"value":"杭锦后旗","label":"杭锦后旗"}]},{"value":"乌兰察布市","label":"乌兰察布市","children":[{"value":"集宁区","label":"集宁区"},{"value":"卓资县","label":"卓资县"},{"value":"化德县","label":"化德县"},{"value":"商都县","label":"商都县"},{"value":"兴和县","label":"兴和县"},{"value":"凉城县","label":"凉城县"},{"value":"察哈尔右翼前旗","label":"察哈尔右翼前旗"},{"value":"察哈尔右翼中旗","label":"察哈尔右翼中旗"},{"value":"察哈尔右翼后旗","label":"察哈尔右翼后旗"},{"value":"四子王旗","label":"四子王旗"},{"value":"丰镇市","label":"丰镇市"}]},{"value":"兴安盟","label":"兴安盟","children":[{"value":"乌兰浩特市","label":"乌兰浩特市"},{"value":"阿尔山市","label":"阿尔山市"},{"value":"科尔沁右翼前旗","label":"科尔沁右翼前旗"},{"value":"科尔沁右翼中旗","label":"科尔沁右翼中旗"},{"value":"扎赉特旗","label":"扎赉特旗"},{"value":"突泉县","label":"突泉县"}]},{"value":"锡林郭勒盟","label":"锡林郭勒盟","children":[{"value":"二连浩特市","label":"二连浩特市"},{"value":"锡林浩特市","label":"锡林浩特市"},{"value":"阿巴嘎旗","label":"阿巴嘎旗"},{"value":"苏尼特左旗","label":"苏尼特左旗"},{"value":"苏尼特右旗","label":"苏尼特右旗"},{"value":"东乌珠穆沁旗","label":"东乌珠穆沁旗"},{"value":"西乌珠穆沁旗","label":"西乌珠穆沁旗"},{"value":"太仆寺旗","label":"太仆寺旗"},{"value":"镶黄旗","label":"镶黄旗"},{"value":"正镶白旗","label":"正镶白旗"},{"value":"正蓝旗","label":"正蓝旗"},{"value":"多伦县","label":"多伦县"}]},{"value":"阿拉善盟","label":"阿拉善盟","children":[{"value":"阿拉善左旗","label":"阿拉善左旗"},{"value":"阿拉善右旗","label":"阿拉善右旗"},{"value":"额济纳旗","label":"额济纳旗"}]}]},{"value":"辽宁省","label":"辽宁省","children":[{"value":"沈阳市","label":"沈阳市","children":[{"value":"和平区","label":"和平区"},{"value":"沈河区","label":"沈河区"},{"value":"大东区","label":"大东区"},{"value":"皇姑区","label":"皇姑区"},{"value":"铁西区","label":"铁西区"},{"value":"苏家屯区","label":"苏家屯区"},{"value":"浑南区","label":"浑南区"},{"value":"沈北新区","label":"沈北新区"},{"value":"于洪区","label":"于洪区"},{"value":"辽中区","label":"辽中区"},{"value":"康平县","label":"康平县"},{"value":"法库县","label":"法库县"},{"value":"新民市","label":"新民市"},{"value":"经济技术开发区","label":"经济技术开发区"}]},{"value":"大连市","label":"大连市","children":[{"value":"中山区","label":"中山区"},{"value":"西岗区","label":"西岗区"},{"value":"沙河口区","label":"沙河口区"},{"value":"甘井子区","label":"甘井子区"},{"value":"旅顺口区","label":"旅顺口区"},{"value":"金州区","label":"金州区"},{"value":"普兰店区","label":"普兰店区"},{"value":"长海县","label":"长海县"},{"value":"瓦房店市","label":"瓦房店市"},{"value":"庄河市","label":"庄河市"}]},{"value":"鞍山市","label":"鞍山市","children":[{"value":"铁东区","label":"铁东区"},{"value":"铁西区","label":"铁西区"},{"value":"立山区","label":"立山区"},{"value":"千山区","label":"千山区"},{"value":"台安县","label":"台安县"},{"value":"岫岩满族自治县","label":"岫岩满族自治县"},{"value":"海城市","label":"海城市"},{"value":"高新区","label":"高新区"}]},{"value":"抚顺市","label":"抚顺市","children":[{"value":"新抚区","label":"新抚区"},{"value":"东洲区","label":"东洲区"},{"value":"望花区","label":"望花区"},{"value":"顺城区","label":"顺城区"},{"value":"抚顺县","label":"抚顺县"},{"value":"新宾满族自治县","label":"新宾满族自治县"},{"value":"清原满族自治县","label":"清原满族自治县"}]},{"value":"本溪市","label":"本溪市","children":[{"value":"平山区","label":"平山区"},{"value":"溪湖区","label":"溪湖区"},{"value":"明山区","label":"明山区"},{"value":"南芬区","label":"南芬区"},{"value":"本溪满族自治县","label":"本溪满族自治县"},{"value":"桓仁满族自治县","label":"桓仁满族自治县"}]},{"value":"丹东市","label":"丹东市","children":[{"value":"元宝区","label":"元宝区"},{"value":"振兴区","label":"振兴区"},{"value":"振安区","label":"振安区"},{"value":"宽甸满族自治县","label":"宽甸满族自治县"},{"value":"东港市","label":"东港市"},{"value":"凤城市","label":"凤城市"}]},{"value":"锦州市","label":"锦州市","children":[{"value":"古塔区","label":"古塔区"},{"value":"凌河区","label":"凌河区"},{"value":"太和区","label":"太和区"},{"value":"黑山县","label":"黑山县"},{"value":"义县","label":"义县"},{"value":"凌海市","label":"凌海市"},{"value":"北镇市","label":"北镇市"},{"value":"经济技术开发区","label":"经济技术开发区"}]},{"value":"营口市","label":"营口市","children":[{"value":"站前区","label":"站前区"},{"value":"西市区","label":"西市区"},{"value":"鲅鱼圈区","label":"鲅鱼圈区"},{"value":"老边区","label":"老边区"},{"value":"盖州市","label":"盖州市"},{"value":"大石桥市","label":"大石桥市"}]},{"value":"阜新市","label":"阜新市","children":[{"value":"海州区","label":"海州区"},{"value":"新邱区","label":"新邱区"},{"value":"太平区","label":"太平区"},{"value":"清河门区","label":"清河门区"},{"value":"细河区","label":"细河区"},{"value":"阜新蒙古族自治县","label":"阜新蒙古族自治县"},{"value":"彰武县","label":"彰武县"}]},{"value":"辽阳市","label":"辽阳市","children":[{"value":"白塔区","label":"白塔区"},{"value":"文圣区","label":"文圣区"},{"value":"宏伟区","label":"宏伟区"},{"value":"弓长岭区","label":"弓长岭区"},{"value":"太子河区","label":"太子河区"},{"value":"辽阳县","label":"辽阳县"},{"value":"灯塔市","label":"灯塔市"}]},{"value":"盘锦市","label":"盘锦市","children":[{"value":"双台子区","label":"双台子区"},{"value":"兴隆台区","label":"兴隆台区"},{"value":"大洼区","label":"大洼区"},{"value":"盘山县","label":"盘山县"}]},{"value":"铁岭市","label":"铁岭市","children":[{"value":"银州区","label":"银州区"},{"value":"清河区","label":"清河区"},{"value":"铁岭县","label":"铁岭县"},{"value":"西丰县","label":"西丰县"},{"value":"昌图县","label":"昌图县"},{"value":"调兵山市","label":"调兵山市"},{"value":"开原市","label":"开原市"}]},{"value":"朝阳市","label":"朝阳市","children":[{"value":"双塔区","label":"双塔区"},{"value":"龙城区","label":"龙城区"},{"value":"朝阳县","label":"朝阳县"},{"value":"建平县","label":"建平县"},{"value":"喀喇沁左翼蒙古族自治县","label":"喀喇沁左翼蒙古族自治县"},{"value":"北票市","label":"北票市"},{"value":"凌源市","label":"凌源市"}]},{"value":"葫芦岛市","label":"葫芦岛市","children":[{"value":"连山区","label":"连山区"},{"value":"龙港区","label":"龙港区"},{"value":"南票区","label":"南票区"},{"value":"绥中县","label":"绥中县"},{"value":"建昌县","label":"建昌县"},{"value":"兴城市","label":"兴城市"}]}]},{"value":"吉林省","label":"吉林省","children":[{"value":"长春市","label":"长春市","children":[{"value":"南关区","label":"南关区"},{"value":"宽城区","label":"宽城区"},{"value":"朝阳区","label":"朝阳区"},{"value":"二道区","label":"二道区"},{"value":"绿园区","label":"绿园区"},{"value":"双阳区","label":"双阳区"},{"value":"九台区","label":"九台区"},{"value":"农安县","label":"农安县"},{"value":"榆树市","label":"榆树市"},{"value":"德惠市","label":"德惠市"},{"value":"经济技术开发区","label":"经济技术开发区"}]},{"value":"吉林市","label":"吉林市","children":[{"value":"昌邑区","label":"昌邑区"},{"value":"龙潭区","label":"龙潭区"},{"value":"船营区","label":"船营区"},{"value":"丰满区","label":"丰满区"},{"value":"永吉县","label":"永吉县"},{"value":"蛟河市","label":"蛟河市"},{"value":"桦甸市","label":"桦甸市"},{"value":"舒兰市","label":"舒兰市"},{"value":"磐石市","label":"磐石市"}]},{"value":"四平市","label":"四平市","children":[{"value":"铁西区","label":"铁西区"},{"value":"铁东区","label":"铁东区"},{"value":"梨树县","label":"梨树县"},{"value":"伊通满族自治县","label":"伊通满族自治县"},{"value":"公主岭市","label":"公主岭市"},{"value":"双辽市","label":"双辽市"}]},{"value":"辽源市","label":"辽源市","children":[{"value":"龙山区","label":"龙山区"},{"value":"西安区","label":"西安区"},{"value":"东丰县","label":"东丰县"},{"value":"东辽县","label":"东辽县"}]},{"value":"通化市","label":"通化市","children":[{"value":"东昌区","label":"东昌区"},{"value":"二道江区","label":"二道江区"},{"value":"通化县","label":"通化县"},{"value":"辉南县","label":"辉南县"},{"value":"柳河县","label":"柳河县"},{"value":"梅河口市","label":"梅河口市"},{"value":"集安市","label":"集安市"}]},{"value":"白山市","label":"白山市","children":[{"value":"浑江区","label":"浑江区"},{"value":"江源区","label":"江源区"},{"value":"抚松县","label":"抚松县"},{"value":"靖宇县","label":"靖宇县"},{"value":"长白朝鲜族自治县","label":"长白朝鲜族自治县"},{"value":"临江市","label":"临江市"}]},{"value":"松原市","label":"松原市","children":[{"value":"宁江区","label":"宁江区"},{"value":"前郭尔罗斯蒙古族自治县","label":"前郭尔罗斯蒙古族自治县"},{"value":"长岭县","label":"长岭县"},{"value":"乾安县","label":"乾安县"},{"value":"扶余市","label":"扶余市"}]},{"value":"白城市","label":"白城市","children":[{"value":"洮北区","label":"洮北区"},{"value":"镇赉县","label":"镇赉县"},{"value":"通榆县","label":"通榆县"},{"value":"洮南市","label":"洮南市"},{"value":"大安市","label":"大安市"}]},{"value":"延边朝鲜族自治州","label":"延边朝鲜族自治州","children":[{"value":"延吉市","label":"延吉市"},{"value":"图们市","label":"图们市"},{"value":"敦化市","label":"敦化市"},{"value":"珲春市","label":"珲春市"},{"value":"龙井市","label":"龙井市"},{"value":"和龙市","label":"和龙市"},{"value":"汪清县","label":"汪清县"},{"value":"安图县","label":"安图县"}]}]},{"value":"黑龙江省","label":"黑龙江省","children":[{"value":"哈尔滨市","label":"哈尔滨市","children":[{"value":"道里区","label":"道里区"},{"value":"南岗区","label":"南岗区"},{"value":"道外区","label":"道外区"},{"value":"平房区","label":"平房区"},{"value":"松北区","label":"松北区"},{"value":"香坊区","label":"香坊区"},{"value":"呼兰区","label":"呼兰区"},{"value":"阿城区","label":"阿城区"},{"value":"双城区","label":"双城区"},{"value":"依兰县","label":"依兰县"},{"value":"方正县","label":"方正县"},{"value":"宾县","label":"宾县"},{"value":"巴彦县","label":"巴彦县"},{"value":"木兰县","label":"木兰县"},{"value":"通河县","label":"通河县"},{"value":"延寿县","label":"延寿县"},{"value":"尚志市","label":"尚志市"},{"value":"五常市","label":"五常市"}]},{"value":"齐齐哈尔市","label":"齐齐哈尔市","children":[{"value":"龙沙区","label":"龙沙区"},{"value":"建华区","label":"建华区"},{"value":"铁锋区","label":"铁锋区"},{"value":"昂昂溪区","label":"昂昂溪区"},{"value":"富拉尔基区","label":"富拉尔基区"},{"value":"碾子山区","label":"碾子山区"},{"value":"梅里斯达斡尔族区","label":"梅里斯达斡尔族区"},{"value":"龙江县","label":"龙江县"},{"value":"依安县","label":"依安县"},{"value":"泰来县","label":"泰来县"},{"value":"甘南县","label":"甘南县"},{"value":"富裕县","label":"富裕县"},{"value":"克山县","label":"克山县"},{"value":"克东县","label":"克东县"},{"value":"拜泉县","label":"拜泉县"},{"value":"讷河市","label":"讷河市"}]},{"value":"鸡西市","label":"鸡西市","children":[{"value":"鸡冠区","label":"鸡冠区"},{"value":"恒山区","label":"恒山区"},{"value":"滴道区","label":"滴道区"},{"value":"梨树区","label":"梨树区"},{"value":"城子河区","label":"城子河区"},{"value":"麻山区","label":"麻山区"},{"value":"鸡东县","label":"鸡东县"},{"value":"虎林市","label":"虎林市"},{"value":"密山市","label":"密山市"}]},{"value":"鹤岗市","label":"鹤岗市","children":[{"value":"向阳区","label":"向阳区"},{"value":"工农区","label":"工农区"},{"value":"南山区","label":"南山区"},{"value":"兴安区","label":"兴安区"},{"value":"东山区","label":"东山区"},{"value":"兴山区","label":"兴山区"},{"value":"萝北县","label":"萝北县"},{"value":"绥滨县","label":"绥滨县"}]},{"value":"双鸭山市","label":"双鸭山市","children":[{"value":"尖山区","label":"尖山区"},{"value":"岭东区","label":"岭东区"},{"value":"四方台区","label":"四方台区"},{"value":"宝山区","label":"宝山区"},{"value":"集贤县","label":"集贤县"},{"value":"友谊县","label":"友谊县"},{"value":"宝清县","label":"宝清县"},{"value":"饶河县","label":"饶河县"}]},{"value":"大庆市","label":"大庆市","children":[{"value":"萨尔图区","label":"萨尔图区"},{"value":"龙凤区","label":"龙凤区"},{"value":"让胡路区","label":"让胡路区"},{"value":"红岗区","label":"红岗区"},{"value":"大同区","label":"大同区"},{"value":"肇州县","label":"肇州县"},{"value":"肇源县","label":"肇源县"},{"value":"林甸县","label":"林甸县"},{"value":"杜尔伯特蒙古族自治县","label":"杜尔伯特蒙古族自治县"}]},{"value":"伊春市","label":"伊春市","children":[{"value":"伊春区","label":"伊春区"},{"value":"南岔区","label":"南岔区"},{"value":"友好区","label":"友好区"},{"value":"西林区","label":"西林区"},{"value":"翠峦区","label":"翠峦区"},{"value":"新青区","label":"新青区"},{"value":"美溪区","label":"美溪区"},{"value":"金山屯区","label":"金山屯区"},{"value":"五营区","label":"五营区"},{"value":"乌马河区","label":"乌马河区"},{"value":"汤旺河区","label":"汤旺河区"},{"value":"带岭区","label":"带岭区"},{"value":"乌伊岭区","label":"乌伊岭区"},{"value":"红星区","label":"红星区"},{"value":"上甘岭区","label":"上甘岭区"},{"value":"嘉荫县","label":"嘉荫县"},{"value":"铁力市","label":"铁力市"}]},{"value":"佳木斯市","label":"佳木斯市","children":[{"value":"向阳区","label":"向阳区"},{"value":"前进区","label":"前进区"},{"value":"东风区","label":"东风区"},{"value":"郊区","label":"郊区"},{"value":"桦南县","label":"桦南县"},{"value":"桦川县","label":"桦川县"},{"value":"汤原县","label":"汤原县"},{"value":"同江市","label":"同江市"},{"value":"富锦市","label":"富锦市"},{"value":"抚远市","label":"抚远市"}]},{"value":"七台河市","label":"七台河市","children":[{"value":"新兴区","label":"新兴区"},{"value":"桃山区","label":"桃山区"},{"value":"茄子河区","label":"茄子河区"},{"value":"勃利县","label":"勃利县"}]},{"value":"牡丹江市","label":"牡丹江市","children":[{"value":"东安区","label":"东安区"},{"value":"阳明区","label":"阳明区"},{"value":"爱民区","label":"爱民区"},{"value":"西安区","label":"西安区"},{"value":"林口县","label":"林口县"},{"value":"绥芬河市","label":"绥芬河市"},{"value":"海林市","label":"海林市"},{"value":"宁安市","label":"宁安市"},{"value":"穆棱市","label":"穆棱市"},{"value":"东宁市","label":"东宁市"}]},{"value":"黑河市","label":"黑河市","children":[{"value":"爱辉区","label":"爱辉区"},{"value":"嫩江县","label":"嫩江县"},{"value":"逊克县","label":"逊克县"},{"value":"孙吴县","label":"孙吴县"},{"value":"北安市","label":"北安市"},{"value":"五大连池市","label":"五大连池市"}]},{"value":"绥化市","label":"绥化市","children":[{"value":"北林区","label":"北林区"},{"value":"望奎县","label":"望奎县"},{"value":"兰西县","label":"兰西县"},{"value":"青冈县","label":"青冈县"},{"value":"庆安县","label":"庆安县"},{"value":"明水县","label":"明水县"},{"value":"绥棱县","label":"绥棱县"},{"value":"安达市","label":"安达市"},{"value":"肇东市","label":"肇东市"},{"value":"海伦市","label":"海伦市"}]},{"value":"大兴安岭地区","label":"大兴安岭地区","children":[{"value":"呼玛县","label":"呼玛县"},{"value":"塔河县","label":"塔河县"},{"value":"漠河县","label":"漠河县"},{"value":"松岭区","label":"松岭区"},{"value":"呼中区","label":"呼中区"},{"value":"加格达奇区","label":"加格达奇区"},{"value":"新林区","label":"新林区"}]}]},{"value":"上海市","label":"上海市","children":[{"value":"上海市","label":"上海市","children":[{"value":"黄浦区","label":"黄浦区"},{"value":"徐汇区","label":"徐汇区"},{"value":"长宁区","label":"长宁区"},{"value":"静安区","label":"静安区"},{"value":"普陀区","label":"普陀区"},{"value":"虹口区","label":"虹口区"},{"value":"杨浦区","label":"杨浦区"},{"value":"闵行区","label":"闵行区"},{"value":"宝山区","label":"宝山区"},{"value":"嘉定区","label":"嘉定区"},{"value":"浦东新区","label":"浦东新区"},{"value":"金山区","label":"金山区"},{"value":"松江区","label":"松江区"},{"value":"青浦区","label":"青浦区"},{"value":"奉贤区","label":"奉贤区"},{"value":"崇明区","label":"崇明区"}]}]},{"value":"江苏省","label":"江苏省","children":[{"value":"南京市","label":"南京市","children":[{"value":"玄武区","label":"玄武区"},{"value":"秦淮区","label":"秦淮区"},{"value":"建邺区","label":"建邺区"},{"value":"鼓楼区","label":"鼓楼区"},{"value":"浦口区","label":"浦口区"},{"value":"栖霞区","label":"栖霞区"},{"value":"雨花台区","label":"雨花台区"},{"value":"江宁区","label":"江宁区"},{"value":"六合区","label":"六合区"},{"value":"溧水区","label":"溧水区"},{"value":"高淳区","label":"高淳区"}]},{"value":"无锡市","label":"无锡市","children":[{"value":"锡山区","label":"锡山区"},{"value":"惠山区","label":"惠山区"},{"value":"滨湖区","label":"滨湖区"},{"value":"梁溪区","label":"梁溪区"},{"value":"新吴区","label":"新吴区"},{"value":"江阴市","label":"江阴市"},{"value":"宜兴市","label":"宜兴市"}]},{"value":"徐州市","label":"徐州市","children":[{"value":"鼓楼区","label":"鼓楼区"},{"value":"云龙区","label":"云龙区"},{"value":"贾汪区","label":"贾汪区"},{"value":"泉山区","label":"泉山区"},{"value":"铜山区","label":"铜山区"},{"value":"丰县","label":"丰县"},{"value":"沛县","label":"沛县"},{"value":"睢宁县","label":"睢宁县"},{"value":"新沂市","label":"新沂市"},{"value":"邳州市","label":"邳州市"},{"value":"工业园区","label":"工业园区"}]},{"value":"常州市","label":"常州市","children":[{"value":"天宁区","label":"天宁区"},{"value":"钟楼区","label":"钟楼区"},{"value":"新北区","label":"新北区"},{"value":"武进区","label":"武进区"},{"value":"金坛区","label":"金坛区"},{"value":"溧阳市","label":"溧阳市"}]},{"value":"苏州市","label":"苏州市","children":[{"value":"虎丘区","label":"虎丘区"},{"value":"吴中区","label":"吴中区"},{"value":"相城区","label":"相城区"},{"value":"姑苏区","label":"姑苏区"},{"value":"吴江区","label":"吴江区"},{"value":"常熟市","label":"常熟市"},{"value":"张家港市","label":"张家港市"},{"value":"昆山市","label":"昆山市"},{"value":"太仓市","label":"太仓市"},{"value":"工业园区","label":"工业园区"},{"value":"高新区","label":"高新区"}]},{"value":"南通市","label":"南通市","children":[{"value":"崇川区","label":"崇川区"},{"value":"港闸区","label":"港闸区"},{"value":"通州区","label":"通州区"},{"value":"海安县","label":"海安县"},{"value":"如东县","label":"如东县"},{"value":"启东市","label":"启东市"},{"value":"如皋市","label":"如皋市"},{"value":"海门市","label":"海门市"},{"value":"高新区","label":"高新区"}]},{"value":"连云港市","label":"连云港市","children":[{"value":"连云区","label":"连云区"},{"value":"海州区","label":"海州区"},{"value":"赣榆区","label":"赣榆区"},{"value":"东海县","label":"东海县"},{"value":"灌云县","label":"灌云县"},{"value":"灌南县","label":"灌南县"}]},{"value":"淮安市","label":"淮安市","children":[{"value":"淮安区","label":"淮安区"},{"value":"淮阴区","label":"淮阴区"},{"value":"清江浦区","label":"清江浦区"},{"value":"洪泽区","label":"洪泽区"},{"value":"涟水县","label":"涟水县"},{"value":"盱眙县","label":"盱眙县"},{"value":"金湖县","label":"金湖县"},{"value":"经济开发区","label":"经济开发区"}]},{"value":"盐城市","label":"盐城市","children":[{"value":"亭湖区","label":"亭湖区"},{"value":"盐都区","label":"盐都区"},{"value":"大丰区","label":"大丰区"},{"value":"响水县","label":"响水县"},{"value":"滨海县","label":"滨海县"},{"value":"阜宁县","label":"阜宁县"},{"value":"射阳县","label":"射阳县"},{"value":"建湖县","label":"建湖县"},{"value":"东台市","label":"东台市"}]},{"value":"扬州市","label":"扬州市","children":[{"value":"广陵区","label":"广陵区"},{"value":"邗江区","label":"邗江区"},{"value":"江都区","label":"江都区"},{"value":"宝应县","label":"宝应县"},{"value":"仪征市","label":"仪征市"},{"value":"高邮市","label":"高邮市"},{"value":"经济开发区","label":"经济开发区"}]},{"value":"镇江市","label":"镇江市","children":[{"value":"京口区","label":"京口区"},{"value":"润州区","label":"润州区"},{"value":"丹徒区","label":"丹徒区"},{"value":"丹阳市","label":"丹阳市"},{"value":"扬中市","label":"扬中市"},{"value":"句容市","label":"句容市"}]},{"value":"泰州市","label":"泰州市","children":[{"value":"海陵区","label":"海陵区"},{"value":"高港区","label":"高港区"},{"value":"姜堰区","label":"姜堰区"},{"value":"兴化市","label":"兴化市"},{"value":"靖江市","label":"靖江市"},{"value":"泰兴市","label":"泰兴市"}]},{"value":"宿迁市","label":"宿迁市","children":[{"value":"宿城区","label":"宿城区"},{"value":"宿豫区","label":"宿豫区"},{"value":"沭阳县","label":"沭阳县"},{"value":"泗阳县","label":"泗阳县"},{"value":"泗洪县","label":"泗洪县"}]}]},{"value":"浙江省","label":"浙江省","children":[{"value":"杭州市","label":"杭州市","children":[{"value":"上城区","label":"上城区"},{"value":"下城区","label":"下城区"},{"value":"江干区","label":"江干区"},{"value":"拱墅区","label":"拱墅区"},{"value":"西湖区","label":"西湖区"},{"value":"滨江区","label":"滨江区"},{"value":"萧山区","label":"萧山区"},{"value":"余杭区","label":"余杭区"},{"value":"富阳区","label":"富阳区"},{"value":"临安区","label":"临安区"},{"value":"桐庐县","label":"桐庐县"},{"value":"淳安县","label":"淳安县"},{"value":"建德市","label":"建德市"}]},{"value":"宁波市","label":"宁波市","children":[{"value":"海曙区","label":"海曙区"},{"value":"江北区","label":"江北区"},{"value":"北仑区","label":"北仑区"},{"value":"镇海区","label":"镇海区"},{"value":"鄞州区","label":"鄞州区"},{"value":"奉化区","label":"奉化区"},{"value":"象山县","label":"象山县"},{"value":"宁海县","label":"宁海县"},{"value":"余姚市","label":"余姚市"},{"value":"慈溪市","label":"慈溪市"}]},{"value":"温州市","label":"温州市","children":[{"value":"鹿城区","label":"鹿城区"},{"value":"龙湾区","label":"龙湾区"},{"value":"瓯海区","label":"瓯海区"},{"value":"洞头区","label":"洞头区"},{"value":"永嘉县","label":"永嘉县"},{"value":"平阳县","label":"平阳县"},{"value":"苍南县","label":"苍南县"},{"value":"文成县","label":"文成县"},{"value":"泰顺县","label":"泰顺县"},{"value":"瑞安市","label":"瑞安市"},{"value":"乐清市","label":"乐清市"}]},{"value":"嘉兴市","label":"嘉兴市","children":[{"value":"南湖区","label":"南湖区"},{"value":"秀洲区","label":"秀洲区"},{"value":"嘉善县","label":"嘉善县"},{"value":"海盐县","label":"海盐县"},{"value":"海宁市","label":"海宁市"},{"value":"平湖市","label":"平湖市"},{"value":"桐乡市","label":"桐乡市"}]},{"value":"湖州市","label":"湖州市","children":[{"value":"吴兴区","label":"吴兴区"},{"value":"南浔区","label":"南浔区"},{"value":"德清县","label":"德清县"},{"value":"长兴县","label":"长兴县"},{"value":"安吉县","label":"安吉县"}]},{"value":"绍兴市","label":"绍兴市","children":[{"value":"越城区","label":"越城区"},{"value":"柯桥区","label":"柯桥区"},{"value":"上虞区","label":"上虞区"},{"value":"新昌县","label":"新昌县"},{"value":"诸暨市","label":"诸暨市"},{"value":"嵊州市","label":"嵊州市"}]},{"value":"金华市","label":"金华市","children":[{"value":"婺城区","label":"婺城区"},{"value":"金东区","label":"金东区"},{"value":"武义县","label":"武义县"},{"value":"浦江县","label":"浦江县"},{"value":"磐安县","label":"磐安县"},{"value":"兰溪市","label":"兰溪市"},{"value":"义乌市","label":"义乌市"},{"value":"东阳市","label":"东阳市"},{"value":"永康市","label":"永康市"}]},{"value":"衢州市","label":"衢州市","children":[{"value":"柯城区","label":"柯城区"},{"value":"衢江区","label":"衢江区"},{"value":"常山县","label":"常山县"},{"value":"开化县","label":"开化县"},{"value":"龙游县","label":"龙游县"},{"value":"江山市","label":"江山市"}]},{"value":"舟山市","label":"舟山市","children":[{"value":"定海区","label":"定海区"},{"value":"普陀区","label":"普陀区"},{"value":"岱山县","label":"岱山县"},{"value":"嵊泗县","label":"嵊泗县"}]},{"value":"台州市","label":"台州市","children":[{"value":"椒江区","label":"椒江区"},{"value":"黄岩区","label":"黄岩区"},{"value":"路桥区","label":"路桥区"},{"value":"三门县","label":"三门县"},{"value":"天台县","label":"天台县"},{"value":"仙居县","label":"仙居县"},{"value":"温岭市","label":"温岭市"},{"value":"临海市","label":"临海市"},{"value":"玉环市","label":"玉环市"}]},{"value":"丽水市","label":"丽水市","children":[{"value":"莲都区","label":"莲都区"},{"value":"青田县","label":"青田县"},{"value":"缙云县","label":"缙云县"},{"value":"遂昌县","label":"遂昌县"},{"value":"松阳县","label":"松阳县"},{"value":"云和县","label":"云和县"},{"value":"庆元县","label":"庆元县"},{"value":"景宁畲族自治县","label":"景宁畲族自治县"},{"value":"龙泉市","label":"龙泉市"}]}]},{"value":"安徽省","label":"安徽省","children":[{"value":"合肥市","label":"合肥市","children":[{"value":"瑶海区","label":"瑶海区"},{"value":"庐阳区","label":"庐阳区"},{"value":"蜀山区","label":"蜀山区"},{"value":"包河区","label":"包河区"},{"value":"长丰县","label":"长丰县"},{"value":"肥东县","label":"肥东县"},{"value":"肥西县","label":"肥西县"},{"value":"庐江县","label":"庐江县"},{"value":"巢湖市","label":"巢湖市"},{"value":"高新技术开发区","label":"高新技术开发区"},{"value":"经济技术开发区","label":"经济技术开发区"}]},{"value":"芜湖市","label":"芜湖市","children":[{"value":"镜湖区","label":"镜湖区"},{"value":"弋江区","label":"弋江区"},{"value":"鸠江区","label":"鸠江区"},{"value":"三山区","label":"三山区"},{"value":"芜湖县","label":"芜湖县"},{"value":"繁昌县","label":"繁昌县"},{"value":"南陵县","label":"南陵县"},{"value":"无为县","label":"无为县"}]},{"value":"蚌埠市","label":"蚌埠市","children":[{"value":"龙子湖区","label":"龙子湖区"},{"value":"蚌山区","label":"蚌山区"},{"value":"禹会区","label":"禹会区"},{"value":"淮上区","label":"淮上区"},{"value":"怀远县","label":"怀远县"},{"value":"五河县","label":"五河县"},{"value":"固镇县","label":"固镇县"}]},{"value":"淮南市","label":"淮南市","children":[{"value":"大通区","label":"大通区"},{"value":"田家庵区","label":"田家庵区"},{"value":"谢家集区","label":"谢家集区"},{"value":"八公山区","label":"八公山区"},{"value":"潘集区","label":"潘集区"},{"value":"凤台县","label":"凤台县"},{"value":"寿县","label":"寿县"}]},{"value":"马鞍山市","label":"马鞍山市","children":[{"value":"花山区","label":"花山区"},{"value":"雨山区","label":"雨山区"},{"value":"博望区","label":"博望区"},{"value":"当涂县","label":"当涂县"},{"value":"含山县","label":"含山县"},{"value":"和县","label":"和县"}]},{"value":"淮北市","label":"淮北市","children":[{"value":"杜集区","label":"杜集区"},{"value":"相山区","label":"相山区"},{"value":"烈山区","label":"烈山区"},{"value":"濉溪县","label":"濉溪县"}]},{"value":"铜陵市","label":"铜陵市","children":[{"value":"铜官区","label":"铜官区"},{"value":"义安区","label":"义安区"},{"value":"郊区","label":"郊区"},{"value":"枞阳县","label":"枞阳县"}]},{"value":"安庆市","label":"安庆市","children":[{"value":"迎江区","label":"迎江区"},{"value":"大观区","label":"大观区"},{"value":"宜秀区","label":"宜秀区"},{"value":"怀宁县","label":"怀宁县"},{"value":"潜山县","label":"潜山县"},{"value":"太湖县","label":"太湖县"},{"value":"宿松县","label":"宿松县"},{"value":"望江县","label":"望江县"},{"value":"岳西县","label":"岳西县"},{"value":"桐城市","label":"桐城市"}]},{"value":"黄山市","label":"黄山市","children":[{"value":"屯溪区","label":"屯溪区"},{"value":"黄山区","label":"黄山区"},{"value":"徽州区","label":"徽州区"},{"value":"歙县","label":"歙县"},{"value":"休宁县","label":"休宁县"},{"value":"黟县","label":"黟县"},{"value":"祁门县","label":"祁门县"}]},{"value":"滁州市","label":"滁州市","children":[{"value":"琅琊区","label":"琅琊区"},{"value":"南谯区","label":"南谯区"},{"value":"来安县","label":"来安县"},{"value":"全椒县","label":"全椒县"},{"value":"定远县","label":"定远县"},{"value":"凤阳县","label":"凤阳县"},{"value":"天长市","label":"天长市"},{"value":"明光市","label":"明光市"}]},{"value":"阜阳市","label":"阜阳市","children":[{"value":"颍州区","label":"颍州区"},{"value":"颍东区","label":"颍东区"},{"value":"颍泉区","label":"颍泉区"},{"value":"临泉县","label":"临泉县"},{"value":"太和县","label":"太和县"},{"value":"阜南县","label":"阜南县"},{"value":"颍上县","label":"颍上县"},{"value":"界首市","label":"界首市"}]},{"value":"宿州市","label":"宿州市","children":[{"value":"埇桥区","label":"埇桥区"},{"value":"砀山县","label":"砀山县"},{"value":"萧县","label":"萧县"},{"value":"灵璧县","label":"灵璧县"},{"value":"泗县","label":"泗县"},{"value":"经济开发区","label":"经济开发区"}]},{"value":"六安市","label":"六安市","children":[{"value":"金安区","label":"金安区"},{"value":"裕安区","label":"裕安区"},{"value":"叶集区","label":"叶集区"},{"value":"霍邱县","label":"霍邱县"},{"value":"舒城县","label":"舒城县"},{"value":"金寨县","label":"金寨县"},{"value":"霍山县","label":"霍山县"}]},{"value":"亳州市","label":"亳州市","children":[{"value":"谯城区","label":"谯城区"},{"value":"涡阳县","label":"涡阳县"},{"value":"蒙城县","label":"蒙城县"},{"value":"利辛县","label":"利辛县"}]},{"value":"池州市","label":"池州市","children":[{"value":"贵池区","label":"贵池区"},{"value":"东至县","label":"东至县"},{"value":"石台县","label":"石台县"},{"value":"青阳县","label":"青阳县"}]},{"value":"宣城市","label":"宣城市","children":[{"value":"宣州区","label":"宣州区"},{"value":"郎溪县","label":"郎溪县"},{"value":"广德县","label":"广德县"},{"value":"泾县","label":"泾县"},{"value":"绩溪县","label":"绩溪县"},{"value":"旌德县","label":"旌德县"},{"value":"宁国市","label":"宁国市"}]}]},{"value":"福建省","label":"福建省","children":[{"value":"福州市","label":"福州市","children":[{"value":"鼓楼区","label":"鼓楼区"},{"value":"台江区","label":"台江区"},{"value":"仓山区","label":"仓山区"},{"value":"马尾区","label":"马尾区"},{"value":"晋安区","label":"晋安区"},{"value":"长乐区","label":"长乐区"},{"value":"闽侯县","label":"闽侯县"},{"value":"连江县","label":"连江县"},{"value":"罗源县","label":"罗源县"},{"value":"闽清县","label":"闽清县"},{"value":"永泰县","label":"永泰县"},{"value":"平潭县","label":"平潭县"},{"value":"福清市","label":"福清市"}]},{"value":"厦门市","label":"厦门市","children":[{"value":"思明区","label":"思明区"},{"value":"海沧区","label":"海沧区"},{"value":"湖里区","label":"湖里区"},{"value":"集美区","label":"集美区"},{"value":"同安区","label":"同安区"},{"value":"翔安区","label":"翔安区"}]},{"value":"莆田市","label":"莆田市","children":[{"value":"城厢区","label":"城厢区"},{"value":"涵江区","label":"涵江区"},{"value":"荔城区","label":"荔城区"},{"value":"秀屿区","label":"秀屿区"},{"value":"仙游县","label":"仙游县"}]},{"value":"三明市","label":"三明市","children":[{"value":"梅列区","label":"梅列区"},{"value":"三元区","label":"三元区"},{"value":"明溪县","label":"明溪县"},{"value":"清流县","label":"清流县"},{"value":"宁化县","label":"宁化县"},{"value":"大田县","label":"大田县"},{"value":"尤溪县","label":"尤溪县"},{"value":"沙县","label":"沙县"},{"value":"将乐县","label":"将乐县"},{"value":"泰宁县","label":"泰宁县"},{"value":"建宁县","label":"建宁县"},{"value":"永安市","label":"永安市"}]},{"value":"泉州市","label":"泉州市","children":[{"value":"鲤城区","label":"鲤城区"},{"value":"丰泽区","label":"丰泽区"},{"value":"洛江区","label":"洛江区"},{"value":"泉港区","label":"泉港区"},{"value":"惠安县","label":"惠安县"},{"value":"安溪县","label":"安溪县"},{"value":"永春县","label":"永春县"},{"value":"德化县","label":"德化县"},{"value":"金门县","label":"金门县"},{"value":"石狮市","label":"石狮市"},{"value":"晋江市","label":"晋江市"},{"value":"南安市","label":"南安市"}]},{"value":"漳州市","label":"漳州市","children":[{"value":"芗城区","label":"芗城区"},{"value":"龙文区","label":"龙文区"},{"value":"云霄县","label":"云霄县"},{"value":"漳浦县","label":"漳浦县"},{"value":"诏安县","label":"诏安县"},{"value":"长泰县","label":"长泰县"},{"value":"东山县","label":"东山县"},{"value":"南靖县","label":"南靖县"},{"value":"平和县","label":"平和县"},{"value":"华安县","label":"华安县"},{"value":"龙海市","label":"龙海市"}]},{"value":"南平市","label":"南平市","children":[{"value":"延平区","label":"延平区"},{"value":"建阳区","label":"建阳区"},{"value":"顺昌县","label":"顺昌县"},{"value":"浦城县","label":"浦城县"},{"value":"光泽县","label":"光泽县"},{"value":"松溪县","label":"松溪县"},{"value":"政和县","label":"政和县"},{"value":"邵武市","label":"邵武市"},{"value":"武夷山市","label":"武夷山市"},{"value":"建瓯市","label":"建瓯市"}]},{"value":"龙岩市","label":"龙岩市","children":[{"value":"新罗区","label":"新罗区"},{"value":"永定区","label":"永定区"},{"value":"长汀县","label":"长汀县"},{"value":"上杭县","label":"上杭县"},{"value":"武平县","label":"武平县"},{"value":"连城县","label":"连城县"},{"value":"漳平市","label":"漳平市"}]},{"value":"宁德市","label":"宁德市","children":[{"value":"蕉城区","label":"蕉城区"},{"value":"霞浦县","label":"霞浦县"},{"value":"古田县","label":"古田县"},{"value":"屏南县","label":"屏南县"},{"value":"寿宁县","label":"寿宁县"},{"value":"周宁县","label":"周宁县"},{"value":"柘荣县","label":"柘荣县"},{"value":"福安市","label":"福安市"},{"value":"福鼎市","label":"福鼎市"}]}]},{"value":"江西省","label":"江西省","children":[{"value":"南昌市","label":"南昌市","children":[{"value":"东湖区","label":"东湖区"},{"value":"西湖区","label":"西湖区"},{"value":"青云谱区","label":"青云谱区"},{"value":"湾里区","label":"湾里区"},{"value":"青山湖区","label":"青山湖区"},{"value":"新建区","label":"新建区"},{"value":"南昌县","label":"南昌县"},{"value":"安义县","label":"安义县"},{"value":"进贤县","label":"进贤县"},{"value":"经济技术开发区","label":"经济技术开发区"},{"value":"高新区","label":"高新区"}]},{"value":"景德镇市","label":"景德镇市","children":[{"value":"昌江区","label":"昌江区"},{"value":"珠山区","label":"珠山区"},{"value":"浮梁县","label":"浮梁县"},{"value":"乐平市","label":"乐平市"}]},{"value":"萍乡市","label":"萍乡市","children":[{"value":"安源区","label":"安源区"},{"value":"湘东区","label":"湘东区"},{"value":"莲花县","label":"莲花县"},{"value":"上栗县","label":"上栗县"},{"value":"芦溪县","label":"芦溪县"}]},{"value":"九江市","label":"九江市","children":[{"value":"濂溪区","label":"濂溪区"},{"value":"浔阳区","label":"浔阳区"},{"value":"柴桑区","label":"柴桑区"},{"value":"武宁县","label":"武宁县"},{"value":"修水县","label":"修水县"},{"value":"永修县","label":"永修县"},{"value":"德安县","label":"德安县"},{"value":"都昌县","label":"都昌县"},{"value":"湖口县","label":"湖口县"},{"value":"彭泽县","label":"彭泽县"},{"value":"瑞昌市","label":"瑞昌市"},{"value":"共青城市","label":"共青城市"},{"value":"庐山市","label":"庐山市"},{"value":"经济技术开发区","label":"经济技术开发区"}]},{"value":"新余市","label":"新余市","children":[{"value":"渝水区","label":"渝水区"},{"value":"分宜县","label":"分宜县"}]},{"value":"鹰潭市","label":"鹰潭市","children":[{"value":"月湖区","label":"月湖区"},{"value":"余江县","label":"余江县"},{"value":"贵溪市","label":"贵溪市"}]},{"value":"赣州市","label":"赣州市","children":[{"value":"章贡区","label":"章贡区"},{"value":"南康区","label":"南康区"},{"value":"赣县区","label":"赣县区"},{"value":"信丰县","label":"信丰县"},{"value":"大余县","label":"大余县"},{"value":"上犹县","label":"上犹县"},{"value":"崇义县","label":"崇义县"},{"value":"安远县","label":"安远县"},{"value":"龙南县","label":"龙南县"},{"value":"定南县","label":"定南县"},{"value":"全南县","label":"全南县"},{"value":"宁都县","label":"宁都县"},{"value":"于都县","label":"于都县"},{"value":"兴国县","label":"兴国县"},{"value":"会昌县","label":"会昌县"},{"value":"寻乌县","label":"寻乌县"},{"value":"石城县","label":"石城县"},{"value":"瑞金市","label":"瑞金市"}]},{"value":"吉安市","label":"吉安市","children":[{"value":"吉州区","label":"吉州区"},{"value":"青原区","label":"青原区"},{"value":"吉安县","label":"吉安县"},{"value":"吉水县","label":"吉水县"},{"value":"峡江县","label":"峡江县"},{"value":"新干县","label":"新干县"},{"value":"永丰县","label":"永丰县"},{"value":"泰和县","label":"泰和县"},{"value":"遂川县","label":"遂川县"},{"value":"万安县","label":"万安县"},{"value":"安福县","label":"安福县"},{"value":"永新县","label":"永新县"},{"value":"井冈山市","label":"井冈山市"}]},{"value":"宜春市","label":"宜春市","children":[{"value":"袁州区","label":"袁州区"},{"value":"奉新县","label":"奉新县"},{"value":"万载县","label":"万载县"},{"value":"上高县","label":"上高县"},{"value":"宜丰县","label":"宜丰县"},{"value":"靖安县","label":"靖安县"},{"value":"铜鼓县","label":"铜鼓县"},{"value":"丰城市","label":"丰城市"},{"value":"樟树市","label":"樟树市"},{"value":"高安市","label":"高安市"}]},{"value":"抚州市","label":"抚州市","children":[{"value":"临川区","label":"临川区"},{"value":"东乡区","label":"东乡区"},{"value":"南城县","label":"南城县"},{"value":"黎川县","label":"黎川县"},{"value":"南丰县","label":"南丰县"},{"value":"崇仁县","label":"崇仁县"},{"value":"乐安县","label":"乐安县"},{"value":"宜黄县","label":"宜黄县"},{"value":"金溪县","label":"金溪县"},{"value":"资溪县","label":"资溪县"},{"value":"广昌县","label":"广昌县"}]},{"value":"上饶市","label":"上饶市","children":[{"value":"信州区","label":"信州区"},{"value":"广丰区","label":"广丰区"},{"value":"上饶县","label":"上饶县"},{"value":"玉山县","label":"玉山县"},{"value":"铅山县","label":"铅山县"},{"value":"横峰县","label":"横峰县"},{"value":"弋阳县","label":"弋阳县"},{"value":"余干县","label":"余干县"},{"value":"鄱阳县","label":"鄱阳县"},{"value":"万年县","label":"万年县"},{"value":"婺源县","label":"婺源县"},{"value":"德兴市","label":"德兴市"}]}]},{"value":"山东省","label":"山东省","children":[{"value":"济南市","label":"济南市","children":[{"value":"历下区","label":"历下区"},{"value":"市中区","label":"市中区"},{"value":"槐荫区","label":"槐荫区"},{"value":"天桥区","label":"天桥区"},{"value":"历城区","label":"历城区"},{"value":"长清区","label":"长清区"},{"value":"章丘区","label":"章丘区"},{"value":"平阴县","label":"平阴县"},{"value":"济阳县","label":"济阳县"},{"value":"商河县","label":"商河县"},{"value":"高新区","label":"高新区"}]},{"value":"青岛市","label":"青岛市","children":[{"value":"市南区","label":"市南区"},{"value":"市北区","label":"市北区"},{"value":"黄岛区","label":"黄岛区"},{"value":"崂山区","label":"崂山区"},{"value":"李沧区","label":"李沧区"},{"value":"城阳区","label":"城阳区"},{"value":"即墨区","label":"即墨区"},{"value":"胶州市","label":"胶州市"},{"value":"平度市","label":"平度市"},{"value":"莱西市","label":"莱西市"},{"value":"开发区","label":"开发区"}]},{"value":"淄博市","label":"淄博市","children":[{"value":"淄川区","label":"淄川区"},{"value":"张店区","label":"张店区"},{"value":"博山区","label":"博山区"},{"value":"临淄区","label":"临淄区"},{"value":"周村区","label":"周村区"},{"value":"桓台县","label":"桓台县"},{"value":"高青县","label":"高青县"},{"value":"沂源县","label":"沂源县"}]},{"value":"枣庄市","label":"枣庄市","children":[{"value":"市中区","label":"市中区"},{"value":"薛城区","label":"薛城区"},{"value":"峄城区","label":"峄城区"},{"value":"台儿庄区","label":"台儿庄区"},{"value":"山亭区","label":"山亭区"},{"value":"滕州市","label":"滕州市"}]},{"value":"东营市","label":"东营市","children":[{"value":"东营区","label":"东营区"},{"value":"河口区","label":"河口区"},{"value":"垦利区","label":"垦利区"},{"value":"利津县","label":"利津县"},{"value":"广饶县","label":"广饶县"}]},{"value":"烟台市","label":"烟台市","children":[{"value":"芝罘区","label":"芝罘区"},{"value":"福山区","label":"福山区"},{"value":"牟平区","label":"牟平区"},{"value":"莱山区","label":"莱山区"},{"value":"长岛县","label":"长岛县"},{"value":"龙口市","label":"龙口市"},{"value":"莱阳市","label":"莱阳市"},{"value":"莱州市","label":"莱州市"},{"value":"蓬莱市","label":"蓬莱市"},{"value":"招远市","label":"招远市"},{"value":"栖霞市","label":"栖霞市"},{"value":"海阳市","label":"海阳市"},{"value":"开发区","label":"开发区"}]},{"value":"潍坊市","label":"潍坊市","children":[{"value":"潍城区","label":"潍城区"},{"value":"寒亭区","label":"寒亭区"},{"value":"坊子区","label":"坊子区"},{"value":"奎文区","label":"奎文区"},{"value":"临朐县","label":"临朐县"},{"value":"昌乐县","label":"昌乐县"},{"value":"青州市","label":"青州市"},{"value":"诸城市","label":"诸城市"},{"value":"寿光市","label":"寿光市"},{"value":"安丘市","label":"安丘市"},{"value":"高密市","label":"高密市"},{"value":"昌邑市","label":"昌邑市"},{"value":"开发区","label":"开发区"},{"value":"高新区","label":"高新区"}]},{"value":"济宁市","label":"济宁市","children":[{"value":"任城区","label":"任城区"},{"value":"兖州区","label":"兖州区"},{"value":"微山县","label":"微山县"},{"value":"鱼台县","label":"鱼台县"},{"value":"金乡县","label":"金乡县"},{"value":"嘉祥县","label":"嘉祥县"},{"value":"汶上县","label":"汶上县"},{"value":"泗水县","label":"泗水县"},{"value":"梁山县","label":"梁山县"},{"value":"曲阜市","label":"曲阜市"},{"value":"邹城市","label":"邹城市"},{"value":"高新区","label":"高新区"}]},{"value":"泰安市","label":"泰安市","children":[{"value":"泰山区","label":"泰山区"},{"value":"岱岳区","label":"岱岳区"},{"value":"宁阳县","label":"宁阳县"},{"value":"东平县","label":"东平县"},{"value":"新泰市","label":"新泰市"},{"value":"肥城市","label":"肥城市"}]},{"value":"威海市","label":"威海市","children":[{"value":"环翠区","label":"环翠区"},{"value":"文登区","label":"文登区"},{"value":"荣成市","label":"荣成市"},{"value":"乳山市","label":"乳山市"},{"value":"经济技术开发区","label":"经济技术开发区"}]},{"value":"日照市","label":"日照市","children":[{"value":"东港区","label":"东港区"},{"value":"岚山区","label":"岚山区"},{"value":"五莲县","label":"五莲县"},{"value":"莒县","label":"莒县"}]},{"value":"莱芜市","label":"莱芜市","children":[{"value":"莱城区","label":"莱城区"},{"value":"钢城区","label":"钢城区"}]},{"value":"临沂市","label":"临沂市","children":[{"value":"兰山区","label":"兰山区"},{"value":"罗庄区","label":"罗庄区"},{"value":"河东区","label":"河东区"},{"value":"沂南县","label":"沂南县"},{"value":"郯城县","label":"郯城县"},{"value":"沂水县","label":"沂水县"},{"value":"兰陵县","label":"兰陵县"},{"value":"费县","label":"费县"},{"value":"平邑县","label":"平邑县"},{"value":"莒南县","label":"莒南县"},{"value":"蒙阴县","label":"蒙阴县"},{"value":"临沭县","label":"临沭县"}]},{"value":"德州市","label":"德州市","children":[{"value":"德城区","label":"德城区"},{"value":"陵城区","label":"陵城区"},{"value":"宁津县","label":"宁津县"},{"value":"庆云县","label":"庆云县"},{"value":"临邑县","label":"临邑县"},{"value":"齐河县","label":"齐河县"},{"value":"平原县","label":"平原县"},{"value":"夏津县","label":"夏津县"},{"value":"武城县","label":"武城县"},{"value":"乐陵市","label":"乐陵市"},{"value":"禹城市","label":"禹城市"}]},{"value":"聊城市","label":"聊城市","children":[{"value":"东昌府区","label":"东昌府区"},{"value":"阳谷县","label":"阳谷县"},{"value":"莘县","label":"莘县"},{"value":"茌平县","label":"茌平县"},{"value":"东阿县","label":"东阿县"},{"value":"冠县","label":"冠县"},{"value":"高唐县","label":"高唐县"},{"value":"临清市","label":"临清市"}]},{"value":"滨州市","label":"滨州市","children":[{"value":"滨城区","label":"滨城区"},{"value":"沾化区","label":"沾化区"},{"value":"惠民县","label":"惠民县"},{"value":"阳信县","label":"阳信县"},{"value":"无棣县","label":"无棣县"},{"value":"博兴县","label":"博兴县"},{"value":"邹平县","label":"邹平县"}]},{"value":"菏泽市","label":"菏泽市","children":[{"value":"牡丹区","label":"牡丹区"},{"value":"定陶区","label":"定陶区"},{"value":"曹县","label":"曹县"},{"value":"单县","label":"单县"},{"value":"成武县","label":"成武县"},{"value":"巨野县","label":"巨野县"},{"value":"郓城县","label":"郓城县"},{"value":"鄄城县","label":"鄄城县"},{"value":"东明县","label":"东明县"}]}]},{"value":"河南省","label":"河南省","children":[{"value":"郑州市","label":"郑州市","children":[{"value":"中原区","label":"中原区"},{"value":"二七区","label":"二七区"},{"value":"管城回族区","label":"管城回族区"},{"value":"金水区","label":"金水区"},{"value":"上街区","label":"上街区"},{"value":"惠济区","label":"惠济区"},{"value":"中牟县","label":"中牟县"},{"value":"巩义市","label":"巩义市"},{"value":"荥阳市","label":"荥阳市"},{"value":"新密市","label":"新密市"},{"value":"新郑市","label":"新郑市"},{"value":"登封市","label":"登封市"},{"value":"高新技术开发区","label":"高新技术开发区"},{"value":"经济技术开发区","label":"经济技术开发区"}]},{"value":"开封市","label":"开封市","children":[{"value":"龙亭区","label":"龙亭区"},{"value":"顺河回族区","label":"顺河回族区"},{"value":"鼓楼区","label":"鼓楼区"},{"value":"禹王台区","label":"禹王台区"},{"value":"祥符区","label":"祥符区"},{"value":"杞县","label":"杞县"},{"value":"通许县","label":"通许县"},{"value":"尉氏县","label":"尉氏县"},{"value":"兰考县","label":"兰考县"}]},{"value":"洛阳市","label":"洛阳市","children":[{"value":"老城区","label":"老城区"},{"value":"西工区","label":"西工区"},{"value":"瀍河回族区","label":"瀍河回族区"},{"value":"涧西区","label":"涧西区"},{"value":"吉利区","label":"吉利区"},{"value":"洛龙区","label":"洛龙区"},{"value":"孟津县","label":"孟津县"},{"value":"新安县","label":"新安县"},{"value":"栾川县","label":"栾川县"},{"value":"嵩县","label":"嵩县"},{"value":"汝阳县","label":"汝阳县"},{"value":"宜阳县","label":"宜阳县"},{"value":"洛宁县","label":"洛宁县"},{"value":"伊川县","label":"伊川县"},{"value":"偃师市","label":"偃师市"}]},{"value":"平顶山市","label":"平顶山市","children":[{"value":"新华区","label":"新华区"},{"value":"卫东区","label":"卫东区"},{"value":"石龙区","label":"石龙区"},{"value":"湛河区","label":"湛河区"},{"value":"宝丰县","label":"宝丰县"},{"value":"叶县","label":"叶县"},{"value":"鲁山县","label":"鲁山县"},{"value":"郏县","label":"郏县"},{"value":"舞钢市","label":"舞钢市"},{"value":"汝州市","label":"汝州市"}]},{"value":"安阳市","label":"安阳市","children":[{"value":"文峰区","label":"文峰区"},{"value":"北关区","label":"北关区"},{"value":"殷都区","label":"殷都区"},{"value":"龙安区","label":"龙安区"},{"value":"安阳县","label":"安阳县"},{"value":"汤阴县","label":"汤阴县"},{"value":"滑县","label":"滑县"},{"value":"内黄县","label":"内黄县"},{"value":"林州市","label":"林州市"},{"value":"开发区","label":"开发区"}]},{"value":"鹤壁市","label":"鹤壁市","children":[{"value":"鹤山区","label":"鹤山区"},{"value":"山城区","label":"山城区"},{"value":"淇滨区","label":"淇滨区"},{"value":"浚县","label":"浚县"},{"value":"淇县","label":"淇县"}]},{"value":"新乡市","label":"新乡市","children":[{"value":"红旗区","label":"红旗区"},{"value":"卫滨区","label":"卫滨区"},{"value":"凤泉区","label":"凤泉区"},{"value":"牧野区","label":"牧野区"},{"value":"新乡县","label":"新乡县"},{"value":"获嘉县","label":"获嘉县"},{"value":"原阳县","label":"原阳县"},{"value":"延津县","label":"延津县"},{"value":"封丘县","label":"封丘县"},{"value":"长垣县","label":"长垣县"},{"value":"卫辉市","label":"卫辉市"},{"value":"辉县市","label":"辉县市"}]},{"value":"焦作市","label":"焦作市","children":[{"value":"解放区","label":"解放区"},{"value":"中站区","label":"中站区"},{"value":"马村区","label":"马村区"},{"value":"山阳区","label":"山阳区"},{"value":"修武县","label":"修武县"},{"value":"博爱县","label":"博爱县"},{"value":"武陟县","label":"武陟县"},{"value":"温县","label":"温县"},{"value":"沁阳市","label":"沁阳市"},{"value":"孟州市","label":"孟州市"}]},{"value":"濮阳市","label":"濮阳市","children":[{"value":"华龙区","label":"华龙区"},{"value":"清丰县","label":"清丰县"},{"value":"南乐县","label":"南乐县"},{"value":"范县","label":"范县"},{"value":"台前县","label":"台前县"},{"value":"濮阳县","label":"濮阳县"}]},{"value":"许昌市","label":"许昌市","children":[{"value":"魏都区","label":"魏都区"},{"value":"建安区","label":"建安区"},{"value":"鄢陵县","label":"鄢陵县"},{"value":"襄城县","label":"襄城县"},{"value":"禹州市","label":"禹州市"},{"value":"长葛市","label":"长葛市"}]},{"value":"漯河市","label":"漯河市","children":[{"value":"源汇区","label":"源汇区"},{"value":"郾城区","label":"郾城区"},{"value":"召陵区","label":"召陵区"},{"value":"舞阳县","label":"舞阳县"},{"value":"临颍县","label":"临颍县"}]},{"value":"三门峡市","label":"三门峡市","children":[{"value":"湖滨区","label":"湖滨区"},{"value":"陕州区","label":"陕州区"},{"value":"渑池县","label":"渑池县"},{"value":"卢氏县","label":"卢氏县"},{"value":"义马市","label":"义马市"},{"value":"灵宝市","label":"灵宝市"}]},{"value":"南阳市","label":"南阳市","children":[{"value":"宛城区","label":"宛城区"},{"value":"卧龙区","label":"卧龙区"},{"value":"南召县","label":"南召县"},{"value":"方城县","label":"方城县"},{"value":"西峡县","label":"西峡县"},{"value":"镇平县","label":"镇平县"},{"value":"内乡县","label":"内乡县"},{"value":"淅川县","label":"淅川县"},{"value":"社旗县","label":"社旗县"},{"value":"唐河县","label":"唐河县"},{"value":"新野县","label":"新野县"},{"value":"桐柏县","label":"桐柏县"},{"value":"邓州市","label":"邓州市"}]},{"value":"商丘市","label":"商丘市","children":[{"value":"梁园区","label":"梁园区"},{"value":"睢阳区","label":"睢阳区"},{"value":"民权县","label":"民权县"},{"value":"睢县","label":"睢县"},{"value":"宁陵县","label":"宁陵县"},{"value":"柘城县","label":"柘城县"},{"value":"虞城县","label":"虞城县"},{"value":"夏邑县","label":"夏邑县"},{"value":"永城市","label":"永城市"}]},{"value":"信阳市","label":"信阳市","children":[{"value":"浉河区","label":"浉河区"},{"value":"平桥区","label":"平桥区"},{"value":"罗山县","label":"罗山县"},{"value":"光山县","label":"光山县"},{"value":"新县","label":"新县"},{"value":"商城县","label":"商城县"},{"value":"固始县","label":"固始县"},{"value":"潢川县","label":"潢川县"},{"value":"淮滨县","label":"淮滨县"},{"value":"息县","label":"息县"}]},{"value":"周口市","label":"周口市","children":[{"value":"川汇区","label":"川汇区"},{"value":"扶沟县","label":"扶沟县"},{"value":"西华县","label":"西华县"},{"value":"商水县","label":"商水县"},{"value":"沈丘县","label":"沈丘县"},{"value":"郸城县","label":"郸城县"},{"value":"淮阳县","label":"淮阳县"},{"value":"太康县","label":"太康县"},{"value":"鹿邑县","label":"鹿邑县"},{"value":"项城市","label":"项城市"},{"value":"经济开发区","label":"经济开发区"}]},{"value":"驻马店市","label":"驻马店市","children":[{"value":"驿城区","label":"驿城区"},{"value":"西平县","label":"西平县"},{"value":"上蔡县","label":"上蔡县"},{"value":"平舆县","label":"平舆县"},{"value":"正阳县","label":"正阳县"},{"value":"确山县","label":"确山县"},{"value":"泌阳县","label":"泌阳县"},{"value":"汝南县","label":"汝南县"},{"value":"遂平县","label":"遂平县"},{"value":"新蔡县","label":"新蔡县"}]},{"value":"省直辖县","label":"省直辖县","children":[{"value":"济源市","label":"济源市"}]}]},{"value":"湖北省","label":"湖北省","children":[{"value":"武汉市","label":"武汉市","children":[{"value":"江岸区","label":"江岸区"},{"value":"江汉区","label":"江汉区"},{"value":"硚口区","label":"硚口区"},{"value":"汉阳区","label":"汉阳区"},{"value":"武昌区","label":"武昌区"},{"value":"青山区","label":"青山区"},{"value":"洪山区","label":"洪山区"},{"value":"东西湖区","label":"东西湖区"},{"value":"汉南区","label":"汉南区"},{"value":"蔡甸区","label":"蔡甸区"},{"value":"江夏区","label":"江夏区"},{"value":"黄陂区","label":"黄陂区"},{"value":"新洲区","label":"新洲区"}]},{"value":"黄石市","label":"黄石市","children":[{"value":"黄石港区","label":"黄石港区"},{"value":"西塞山区","label":"西塞山区"},{"value":"下陆区","label":"下陆区"},{"value":"铁山区","label":"铁山区"},{"value":"阳新县","label":"阳新县"},{"value":"大冶市","label":"大冶市"}]},{"value":"十堰市","label":"十堰市","children":[{"value":"茅箭区","label":"茅箭区"},{"value":"张湾区","label":"张湾区"},{"value":"郧阳区","label":"郧阳区"},{"value":"郧西县","label":"郧西县"},{"value":"竹山县","label":"竹山县"},{"value":"竹溪县","label":"竹溪县"},{"value":"房县","label":"房县"},{"value":"丹江口市","label":"丹江口市"}]},{"value":"宜昌市","label":"宜昌市","children":[{"value":"西陵区","label":"西陵区"},{"value":"伍家岗区","label":"伍家岗区"},{"value":"点军区","label":"点军区"},{"value":"猇亭区","label":"猇亭区"},{"value":"夷陵区","label":"夷陵区"},{"value":"远安县","label":"远安县"},{"value":"兴山县","label":"兴山县"},{"value":"秭归县","label":"秭归县"},{"value":"长阳土家族自治县","label":"长阳土家族自治县"},{"value":"五峰土家族自治县","label":"五峰土家族自治县"},{"value":"宜都市","label":"宜都市"},{"value":"当阳市","label":"当阳市"},{"value":"枝江市","label":"枝江市"},{"value":"经济开发区","label":"经济开发区"}]},{"value":"襄阳市","label":"襄阳市","children":[{"value":"襄城区","label":"襄城区"},{"value":"樊城区","label":"樊城区"},{"value":"襄州区","label":"襄州区"},{"value":"南漳县","label":"南漳县"},{"value":"谷城县","label":"谷城县"},{"value":"保康县","label":"保康县"},{"value":"老河口市","label":"老河口市"},{"value":"枣阳市","label":"枣阳市"},{"value":"宜城市","label":"宜城市"}]},{"value":"鄂州市","label":"鄂州市","children":[{"value":"梁子湖区","label":"梁子湖区"},{"value":"华容区","label":"华容区"},{"value":"鄂城区","label":"鄂城区"}]},{"value":"荆门市","label":"荆门市","children":[{"value":"东宝区","label":"东宝区"},{"value":"掇刀区","label":"掇刀区"},{"value":"京山县","label":"京山县"},{"value":"沙洋县","label":"沙洋县"},{"value":"钟祥市","label":"钟祥市"}]},{"value":"孝感市","label":"孝感市","children":[{"value":"孝南区","label":"孝南区"},{"value":"孝昌县","label":"孝昌县"},{"value":"大悟县","label":"大悟县"},{"value":"云梦县","label":"云梦县"},{"value":"应城市","label":"应城市"},{"value":"安陆市","label":"安陆市"},{"value":"汉川市","label":"汉川市"}]},{"value":"荆州市","label":"荆州市","children":[{"value":"沙市区","label":"沙市区"},{"value":"荆州区","label":"荆州区"},{"value":"公安县","label":"公安县"},{"value":"监利县","label":"监利县"},{"value":"江陵县","label":"江陵县"},{"value":"石首市","label":"石首市"},{"value":"洪湖市","label":"洪湖市"},{"value":"松滋市","label":"松滋市"}]},{"value":"黄冈市","label":"黄冈市","children":[{"value":"黄州区","label":"黄州区"},{"value":"团风县","label":"团风县"},{"value":"红安县","label":"红安县"},{"value":"罗田县","label":"罗田县"},{"value":"英山县","label":"英山县"},{"value":"浠水县","label":"浠水县"},{"value":"蕲春县","label":"蕲春县"},{"value":"黄梅县","label":"黄梅县"},{"value":"麻城市","label":"麻城市"},{"value":"武穴市","label":"武穴市"}]},{"value":"咸宁市","label":"咸宁市","children":[{"value":"咸安区","label":"咸安区"},{"value":"嘉鱼县","label":"嘉鱼县"},{"value":"通城县","label":"通城县"},{"value":"崇阳县","label":"崇阳县"},{"value":"通山县","label":"通山县"},{"value":"赤壁市","label":"赤壁市"}]},{"value":"随州市","label":"随州市","children":[{"value":"曾都区","label":"曾都区"},{"value":"随县","label":"随县"},{"value":"广水市","label":"广水市"}]},{"value":"恩施土家族苗族自治州","label":"恩施土家族苗族自治州","children":[{"value":"恩施市","label":"恩施市"},{"value":"利川市","label":"利川市"},{"value":"建始县","label":"建始县"},{"value":"巴东县","label":"巴东县"},{"value":"宣恩县","label":"宣恩县"},{"value":"咸丰县","label":"咸丰县"},{"value":"来凤县","label":"来凤县"},{"value":"鹤峰县","label":"鹤峰县"}]},{"value":"省直辖县","label":"省直辖县","children":[{"value":"仙桃市","label":"仙桃市"},{"value":"潜江市","label":"潜江市"},{"value":"天门市","label":"天门市"},{"value":"神农架林区","label":"神农架林区"}]}]},{"value":"湖南省","label":"湖南省","children":[{"value":"长沙市","label":"长沙市","children":[{"value":"芙蓉区","label":"芙蓉区"},{"value":"天心区","label":"天心区"},{"value":"岳麓区","label":"岳麓区"},{"value":"开福区","label":"开福区"},{"value":"雨花区","label":"雨花区"},{"value":"望城区","label":"望城区"},{"value":"长沙县","label":"长沙县"},{"value":"浏阳市","label":"浏阳市"},{"value":"宁乡市","label":"宁乡市"}]},{"value":"株洲市","label":"株洲市","children":[{"value":"荷塘区","label":"荷塘区"},{"value":"芦淞区","label":"芦淞区"},{"value":"石峰区","label":"石峰区"},{"value":"天元区","label":"天元区"},{"value":"株洲县","label":"株洲县"},{"value":"攸县","label":"攸县"},{"value":"茶陵县","label":"茶陵县"},{"value":"炎陵县","label":"炎陵县"},{"value":"醴陵市","label":"醴陵市"}]},{"value":"湘潭市","label":"湘潭市","children":[{"value":"雨湖区","label":"雨湖区"},{"value":"岳塘区","label":"岳塘区"},{"value":"湘潭县","label":"湘潭县"},{"value":"湘乡市","label":"湘乡市"},{"value":"韶山市","label":"韶山市"}]},{"value":"衡阳市","label":"衡阳市","children":[{"value":"珠晖区","label":"珠晖区"},{"value":"雁峰区","label":"雁峰区"},{"value":"石鼓区","label":"石鼓区"},{"value":"蒸湘区","label":"蒸湘区"},{"value":"南岳区","label":"南岳区"},{"value":"衡阳县","label":"衡阳县"},{"value":"衡南县","label":"衡南县"},{"value":"衡山县","label":"衡山县"},{"value":"衡东县","label":"衡东县"},{"value":"祁东县","label":"祁东县"},{"value":"耒阳市","label":"耒阳市"},{"value":"常宁市","label":"常宁市"}]},{"value":"邵阳市","label":"邵阳市","children":[{"value":"双清区","label":"双清区"},{"value":"大祥区","label":"大祥区"},{"value":"北塔区","label":"北塔区"},{"value":"邵东县","label":"邵东县"},{"value":"新邵县","label":"新邵县"},{"value":"邵阳县","label":"邵阳县"},{"value":"隆回县","label":"隆回县"},{"value":"洞口县","label":"洞口县"},{"value":"绥宁县","label":"绥宁县"},{"value":"新宁县","label":"新宁县"},{"value":"城步苗族自治县","label":"城步苗族自治县"},{"value":"武冈市","label":"武冈市"}]},{"value":"岳阳市","label":"岳阳市","children":[{"value":"岳阳楼区","label":"岳阳楼区"},{"value":"云溪区","label":"云溪区"},{"value":"君山区","label":"君山区"},{"value":"岳阳县","label":"岳阳县"},{"value":"华容县","label":"华容县"},{"value":"湘阴县","label":"湘阴县"},{"value":"平江县","label":"平江县"},{"value":"汨罗市","label":"汨罗市"},{"value":"临湘市","label":"临湘市"}]},{"value":"常德市","label":"常德市","children":[{"value":"武陵区","label":"武陵区"},{"value":"鼎城区","label":"鼎城区"},{"value":"安乡县","label":"安乡县"},{"value":"汉寿县","label":"汉寿县"},{"value":"澧县","label":"澧县"},{"value":"临澧县","label":"临澧县"},{"value":"桃源县","label":"桃源县"},{"value":"石门县","label":"石门县"},{"value":"津市市","label":"津市市"}]},{"value":"张家界市","label":"张家界市","children":[{"value":"永定区","label":"永定区"},{"value":"武陵源区","label":"武陵源区"},{"value":"慈利县","label":"慈利县"},{"value":"桑植县","label":"桑植县"}]},{"value":"益阳市","label":"益阳市","children":[{"value":"资阳区","label":"资阳区"},{"value":"赫山区","label":"赫山区"},{"value":"南县","label":"南县"},{"value":"桃江县","label":"桃江县"},{"value":"安化县","label":"安化县"},{"value":"沅江市","label":"沅江市"}]},{"value":"郴州市","label":"郴州市","children":[{"value":"北湖区","label":"北湖区"},{"value":"苏仙区","label":"苏仙区"},{"value":"桂阳县","label":"桂阳县"},{"value":"宜章县","label":"宜章县"},{"value":"永兴县","label":"永兴县"},{"value":"嘉禾县","label":"嘉禾县"},{"value":"临武县","label":"临武县"},{"value":"汝城县","label":"汝城县"},{"value":"桂东县","label":"桂东县"},{"value":"安仁县","label":"安仁县"},{"value":"资兴市","label":"资兴市"}]},{"value":"永州市","label":"永州市","children":[{"value":"零陵区","label":"零陵区"},{"value":"冷水滩区","label":"冷水滩区"},{"value":"祁阳县","label":"祁阳县"},{"value":"东安县","label":"东安县"},{"value":"双牌县","label":"双牌县"},{"value":"道县","label":"道县"},{"value":"江永县","label":"江永县"},{"value":"宁远县","label":"宁远县"},{"value":"蓝山县","label":"蓝山县"},{"value":"新田县","label":"新田县"},{"value":"江华瑶族自治县","label":"江华瑶族自治县"}]},{"value":"怀化市","label":"怀化市","children":[{"value":"鹤城区","label":"鹤城区"},{"value":"中方县","label":"中方县"},{"value":"沅陵县","label":"沅陵县"},{"value":"辰溪县","label":"辰溪县"},{"value":"溆浦县","label":"溆浦县"},{"value":"会同县","label":"会同县"},{"value":"麻阳苗族自治县","label":"麻阳苗族自治县"},{"value":"新晃侗族自治县","label":"新晃侗族自治县"},{"value":"芷江侗族自治县","label":"芷江侗族自治县"},{"value":"靖州苗族侗族自治县","label":"靖州苗族侗族自治县"},{"value":"通道侗族自治县","label":"通道侗族自治县"},{"value":"洪江市","label":"洪江市"}]},{"value":"娄底市","label":"娄底市","children":[{"value":"娄星区","label":"娄星区"},{"value":"双峰县","label":"双峰县"},{"value":"新化县","label":"新化县"},{"value":"冷水江市","label":"冷水江市"},{"value":"涟源市","label":"涟源市"}]},{"value":"湘西土家族苗族自治州","label":"湘西土家族苗族自治州","children":[{"value":"吉首市","label":"吉首市"},{"value":"泸溪县","label":"泸溪县"},{"value":"凤凰县","label":"凤凰县"},{"value":"花垣县","label":"花垣县"},{"value":"保靖县","label":"保靖县"},{"value":"古丈县","label":"古丈县"},{"value":"永顺县","label":"永顺县"},{"value":"龙山县","label":"龙山县"}]}]},{"value":"广东省","label":"广东省","children":[{"value":"广州市","label":"广州市","children":[{"value":"荔湾区","label":"荔湾区"},{"value":"越秀区","label":"越秀区"},{"value":"海珠区","label":"海珠区"},{"value":"天河区","label":"天河区"},{"value":"白云区","label":"白云区"},{"value":"黄埔区","label":"黄埔区"},{"value":"番禺区","label":"番禺区"},{"value":"花都区","label":"花都区"},{"value":"南沙区","label":"南沙区"},{"value":"从化区","label":"从化区"},{"value":"增城区","label":"增城区"}]},{"value":"韶关市","label":"韶关市","children":[{"value":"武江区","label":"武江区"},{"value":"浈江区","label":"浈江区"},{"value":"曲江区","label":"曲江区"},{"value":"始兴县","label":"始兴县"},{"value":"仁化县","label":"仁化县"},{"value":"翁源县","label":"翁源县"},{"value":"乳源瑶族自治县","label":"乳源瑶族自治县"},{"value":"新丰县","label":"新丰县"},{"value":"乐昌市","label":"乐昌市"},{"value":"南雄市","label":"南雄市"}]},{"value":"深圳市","label":"深圳市","children":[{"value":"罗湖区","label":"罗湖区"},{"value":"福田区","label":"福田区"},{"value":"南山区","label":"南山区"},{"value":"宝安区","label":"宝安区"},{"value":"龙岗区","label":"龙岗区"},{"value":"盐田区","label":"盐田区"},{"value":"龙华区","label":"龙华区"},{"value":"坪山区","label":"坪山区"}]},{"value":"珠海市","label":"珠海市","children":[{"value":"香洲区","label":"香洲区"},{"value":"斗门区","label":"斗门区"},{"value":"金湾区","label":"金湾区"}]},{"value":"汕头市","label":"汕头市","children":[{"value":"龙湖区","label":"龙湖区"},{"value":"金平区","label":"金平区"},{"value":"濠江区","label":"濠江区"},{"value":"潮阳区","label":"潮阳区"},{"value":"潮南区","label":"潮南区"},{"value":"澄海区","label":"澄海区"},{"value":"南澳县","label":"南澳县"}]},{"value":"佛山市","label":"佛山市","children":[{"value":"禅城区","label":"禅城区"},{"value":"南海区","label":"南海区"},{"value":"顺德区","label":"顺德区"},{"value":"三水区","label":"三水区"},{"value":"高明区","label":"高明区"}]},{"value":"江门市","label":"江门市","children":[{"value":"蓬江区","label":"蓬江区"},{"value":"江海区","label":"江海区"},{"value":"新会区","label":"新会区"},{"value":"台山市","label":"台山市"},{"value":"开平市","label":"开平市"},{"value":"鹤山市","label":"鹤山市"},{"value":"恩平市","label":"恩平市"}]},{"value":"湛江市","label":"湛江市","children":[{"value":"赤坎区","label":"赤坎区"},{"value":"霞山区","label":"霞山区"},{"value":"坡头区","label":"坡头区"},{"value":"麻章区","label":"麻章区"},{"value":"遂溪县","label":"遂溪县"},{"value":"徐闻县","label":"徐闻县"},{"value":"廉江市","label":"廉江市"},{"value":"雷州市","label":"雷州市"},{"value":"吴川市","label":"吴川市"},{"value":"经济技术开发区","label":"经济技术开发区"}]},{"value":"茂名市","label":"茂名市","children":[{"value":"茂南区","label":"茂南区"},{"value":"电白区","label":"电白区"},{"value":"高州市","label":"高州市"},{"value":"化州市","label":"化州市"},{"value":"信宜市","label":"信宜市"}]},{"value":"肇庆市","label":"肇庆市","children":[{"value":"端州区","label":"端州区"},{"value":"鼎湖区","label":"鼎湖区"},{"value":"高要区","label":"高要区"},{"value":"广宁县","label":"广宁县"},{"value":"怀集县","label":"怀集县"},{"value":"封开县","label":"封开县"},{"value":"德庆县","label":"德庆县"},{"value":"四会市","label":"四会市"}]},{"value":"惠州市","label":"惠州市","children":[{"value":"惠城区","label":"惠城区"},{"value":"惠阳区","label":"惠阳区"},{"value":"博罗县","label":"博罗县"},{"value":"惠东县","label":"惠东县"},{"value":"龙门县","label":"龙门县"}]},{"value":"梅州市","label":"梅州市","children":[{"value":"梅江区","label":"梅江区"},{"value":"梅县区","label":"梅县区"},{"value":"大埔县","label":"大埔县"},{"value":"丰顺县","label":"丰顺县"},{"value":"五华县","label":"五华县"},{"value":"平远县","label":"平远县"},{"value":"蕉岭县","label":"蕉岭县"},{"value":"兴宁市","label":"兴宁市"}]},{"value":"汕尾市","label":"汕尾市","children":[{"value":"城区","label":"城区"},{"value":"海丰县","label":"海丰县"},{"value":"陆河县","label":"陆河县"},{"value":"陆丰市","label":"陆丰市"}]},{"value":"河源市","label":"河源市","children":[{"value":"源城区","label":"源城区"},{"value":"紫金县","label":"紫金县"},{"value":"龙川县","label":"龙川县"},{"value":"连平县","label":"连平县"},{"value":"和平县","label":"和平县"},{"value":"东源县","label":"东源县"}]},{"value":"阳江市","label":"阳江市","children":[{"value":"江城区","label":"江城区"},{"value":"阳东区","label":"阳东区"},{"value":"阳西县","label":"阳西县"},{"value":"阳春市","label":"阳春市"}]},{"value":"清远市","label":"清远市","children":[{"value":"清城区","label":"清城区"},{"value":"清新区","label":"清新区"},{"value":"佛冈县","label":"佛冈县"},{"value":"阳山县","label":"阳山县"},{"value":"连山壮族瑶族自治县","label":"连山壮族瑶族自治县"},{"value":"连南瑶族自治县","label":"连南瑶族自治县"},{"value":"英德市","label":"英德市"},{"value":"连州市","label":"连州市"}]},{"value":"东莞市","label":"东莞市","children":[{"value":"中堂镇","label":"中堂镇"},{"value":"南城区","label":"南城区"},{"value":"长安镇","label":"长安镇"},{"value":"东坑镇","label":"东坑镇"},{"value":"樟木头镇","label":"樟木头镇"},{"value":"莞城区","label":"莞城区"},{"value":"石龙镇","label":"石龙镇"},{"value":"桥头镇","label":"桥头镇"},{"value":"万江区","label":"万江区"},{"value":"麻涌镇","label":"麻涌镇"},{"value":"虎门镇","label":"虎门镇"},{"value":"谢岗镇","label":"谢岗镇"},{"value":"石碣镇","label":"石碣镇"},{"value":"茶山镇","label":"茶山镇"},{"value":"东城区","label":"东城区"},{"value":"洪梅镇","label":"洪梅镇"},{"value":"道滘镇","label":"道滘镇"},{"value":"高埗镇","label":"高埗镇"},{"value":"企石镇","label":"企石镇"},{"value":"凤岗镇","label":"凤岗镇"},{"value":"大岭山镇","label":"大岭山镇"},{"value":"松山湖","label":"松山湖"},{"value":"清溪镇","label":"清溪镇"},{"value":"望牛墩镇","label":"望牛墩镇"},{"value":"厚街镇","label":"厚街镇"},{"value":"常平镇","label":"常平镇"},{"value":"寮步镇","label":"寮步镇"},{"value":"石排镇","label":"石排镇"},{"value":"横沥镇","label":"横沥镇"},{"value":"塘厦镇","label":"塘厦镇"},{"value":"黄江镇","label":"黄江镇"},{"value":"大朗镇","label":"大朗镇"},{"value":"沙田镇","label":"沙田镇"}]},{"value":"中山市","label":"中山市","children":[{"value":"南头镇","label":"南头镇"},{"value":"神湾镇","label":"神湾镇"},{"value":"东凤镇","label":"东凤镇"},{"value":"五桂山镇","label":"五桂山镇"},{"value":"黄圃镇","label":"黄圃镇"},{"value":"小榄镇","label":"小榄镇"},{"value":"石岐区街道","label":"石岐区街道"},{"value":"横栏镇","label":"横栏镇"},{"value":"三角镇","label":"三角镇"},{"value":"三乡镇","label":"三乡镇"},{"value":"港口镇","label":"港口镇"},{"value":"沙溪镇","label":"沙溪镇"},{"value":"板芙镇","label":"板芙镇"},{"value":"沙朗镇","label":"沙朗镇"},{"value":"东升镇","label":"东升镇"},{"value":"阜沙镇","label":"阜沙镇"},{"value":"民众镇","label":"民众镇"},{"value":"东区街道","label":"东区街道"},{"value":"火炬开发区","label":"火炬开发区"},{"value":"西区街道","label":"西区街道"},{"value":"南区街道","label":"南区街道"},{"value":"古镇","label":"古镇"},{"value":"坦洲镇","label":"坦洲镇"},{"value":"大涌镇","label":"大涌镇"},{"value":"南朗镇","label":"南朗镇"}]},{"value":"潮州市","label":"潮州市","children":[{"value":"湘桥区","label":"湘桥区"},{"value":"潮安区","label":"潮安区"},{"value":"饶平县","label":"饶平县"}]},{"value":"揭阳市","label":"揭阳市","children":[{"value":"榕城区","label":"榕城区"},{"value":"揭东区","label":"揭东区"},{"value":"揭西县","label":"揭西县"},{"value":"惠来县","label":"惠来县"},{"value":"普宁市","label":"普宁市"}]},{"value":"云浮市","label":"云浮市","children":[{"value":"云城区","label":"云城区"},{"value":"云安区","label":"云安区"},{"value":"新兴县","label":"新兴县"},{"value":"郁南县","label":"郁南县"},{"value":"罗定市","label":"罗定市"}]}]},{"value":"广西壮族自治区","label":"广西壮族自治区","children":[{"value":"南宁市","label":"南宁市","children":[{"value":"兴宁区","label":"兴宁区"},{"value":"青秀区","label":"青秀区"},{"value":"江南区","label":"江南区"},{"value":"西乡塘区","label":"西乡塘区"},{"value":"良庆区","label":"良庆区"},{"value":"邕宁区","label":"邕宁区"},{"value":"武鸣区","label":"武鸣区"},{"value":"隆安县","label":"隆安县"},{"value":"马山县","label":"马山县"},{"value":"上林县","label":"上林县"},{"value":"宾阳县","label":"宾阳县"},{"value":"横县","label":"横县"}]},{"value":"柳州市","label":"柳州市","children":[{"value":"城中区","label":"城中区"},{"value":"鱼峰区","label":"鱼峰区"},{"value":"柳南区","label":"柳南区"},{"value":"柳北区","label":"柳北区"},{"value":"柳江区","label":"柳江区"},{"value":"柳城县","label":"柳城县"},{"value":"鹿寨县","label":"鹿寨县"},{"value":"融安县","label":"融安县"},{"value":"融水苗族自治县","label":"融水苗族自治县"},{"value":"三江侗族自治县","label":"三江侗族自治县"}]},{"value":"桂林市","label":"桂林市","children":[{"value":"秀峰区","label":"秀峰区"},{"value":"叠彩区","label":"叠彩区"},{"value":"象山区","label":"象山区"},{"value":"七星区","label":"七星区"},{"value":"雁山区","label":"雁山区"},{"value":"临桂区","label":"临桂区"},{"value":"阳朔县","label":"阳朔县"},{"value":"灵川县","label":"灵川县"},{"value":"全州县","label":"全州县"},{"value":"兴安县","label":"兴安县"},{"value":"永福县","label":"永福县"},{"value":"灌阳县","label":"灌阳县"},{"value":"龙胜各族自治县","label":"龙胜各族自治县"},{"value":"资源县","label":"资源县"},{"value":"平乐县","label":"平乐县"},{"value":"荔浦县","label":"荔浦县"},{"value":"恭城瑶族自治县","label":"恭城瑶族自治县"}]},{"value":"梧州市","label":"梧州市","children":[{"value":"万秀区","label":"万秀区"},{"value":"长洲区","label":"长洲区"},{"value":"龙圩区","label":"龙圩区"},{"value":"苍梧县","label":"苍梧县"},{"value":"藤县","label":"藤县"},{"value":"蒙山县","label":"蒙山县"},{"value":"岑溪市","label":"岑溪市"}]},{"value":"北海市","label":"北海市","children":[{"value":"海城区","label":"海城区"},{"value":"银海区","label":"银海区"},{"value":"铁山港区","label":"铁山港区"},{"value":"合浦县","label":"合浦县"}]},{"value":"防城港市","label":"防城港市","children":[{"value":"港口区","label":"港口区"},{"value":"防城区","label":"防城区"},{"value":"上思县","label":"上思县"},{"value":"东兴市","label":"东兴市"}]},{"value":"钦州市","label":"钦州市","children":[{"value":"钦南区","label":"钦南区"},{"value":"钦北区","label":"钦北区"},{"value":"灵山县","label":"灵山县"},{"value":"浦北县","label":"浦北县"}]},{"value":"贵港市","label":"贵港市","children":[{"value":"港北区","label":"港北区"},{"value":"港南区","label":"港南区"},{"value":"覃塘区","label":"覃塘区"},{"value":"平南县","label":"平南县"},{"value":"桂平市","label":"桂平市"}]},{"value":"玉林市","label":"玉林市","children":[{"value":"玉州区","label":"玉州区"},{"value":"福绵区","label":"福绵区"},{"value":"容县","label":"容县"},{"value":"陆川县","label":"陆川县"},{"value":"博白县","label":"博白县"},{"value":"兴业县","label":"兴业县"},{"value":"北流市","label":"北流市"}]},{"value":"百色市","label":"百色市","children":[{"value":"右江区","label":"右江区"},{"value":"田阳县","label":"田阳县"},{"value":"田东县","label":"田东县"},{"value":"平果县","label":"平果县"},{"value":"德保县","label":"德保县"},{"value":"那坡县","label":"那坡县"},{"value":"凌云县","label":"凌云县"},{"value":"乐业县","label":"乐业县"},{"value":"田林县","label":"田林县"},{"value":"西林县","label":"西林县"},{"value":"隆林各族自治县","label":"隆林各族自治县"},{"value":"靖西市","label":"靖西市"}]},{"value":"贺州市","label":"贺州市","children":[{"value":"八步区","label":"八步区"},{"value":"平桂区","label":"平桂区"},{"value":"昭平县","label":"昭平县"},{"value":"钟山县","label":"钟山县"},{"value":"富川瑶族自治县","label":"富川瑶族自治县"}]},{"value":"河池市","label":"河池市","children":[{"value":"金城江区","label":"金城江区"},{"value":"宜州区","label":"宜州区"},{"value":"南丹县","label":"南丹县"},{"value":"天峨县","label":"天峨县"},{"value":"凤山县","label":"凤山县"},{"value":"东兰县","label":"东兰县"},{"value":"罗城仫佬族自治县","label":"罗城仫佬族自治县"},{"value":"环江毛南族自治县","label":"环江毛南族自治县"},{"value":"巴马瑶族自治县","label":"巴马瑶族自治县"},{"value":"都安瑶族自治县","label":"都安瑶族自治县"},{"value":"大化瑶族自治县","label":"大化瑶族自治县"}]},{"value":"来宾市","label":"来宾市","children":[{"value":"兴宾区","label":"兴宾区"},{"value":"忻城县","label":"忻城县"},{"value":"象州县","label":"象州县"},{"value":"武宣县","label":"武宣县"},{"value":"金秀瑶族自治县","label":"金秀瑶族自治县"},{"value":"合山市","label":"合山市"}]},{"value":"崇左市","label":"崇左市","children":[{"value":"江州区","label":"江州区"},{"value":"扶绥县","label":"扶绥县"},{"value":"宁明县","label":"宁明县"},{"value":"龙州县","label":"龙州县"},{"value":"大新县","label":"大新县"},{"value":"天等县","label":"天等县"},{"value":"凭祥市","label":"凭祥市"}]}]},{"value":"海南省","label":"海南省","children":[{"value":"海口市","label":"海口市","children":[{"value":"秀英区","label":"秀英区"},{"value":"龙华区","label":"龙华区"},{"value":"琼山区","label":"琼山区"},{"value":"美兰区","label":"美兰区"}]},{"value":"三亚市","label":"三亚市","children":[{"value":"海棠区","label":"海棠区"},{"value":"吉阳区","label":"吉阳区"},{"value":"天涯区","label":"天涯区"},{"value":"崖州区","label":"崖州区"}]},{"value":"三沙市","label":"三沙市","children":[{"value":"西沙群岛","label":"西沙群岛"},{"value":"南沙群岛","label":"南沙群岛"},{"value":"中沙群岛的岛礁及其海域","label":"中沙群岛的岛礁及其海域"}]},{"value":"儋州市","label":"儋州市","children":[{"value":"那大镇","label":"那大镇"},{"value":"和庆镇","label":"和庆镇"},{"value":"南丰镇","label":"南丰镇"},{"value":"大成镇","label":"大成镇"},{"value":"雅星镇","label":"雅星镇"},{"value":"兰洋镇","label":"兰洋镇"},{"value":"光村镇","label":"光村镇"},{"value":"木棠镇","label":"木棠镇"},{"value":"海头镇","label":"海头镇"},{"value":"峨蔓镇","label":"峨蔓镇"},{"value":"王五镇","label":"王五镇"},{"value":"白马井镇","label":"白马井镇"},{"value":"中和镇","label":"中和镇"},{"value":"排浦镇","label":"排浦镇"},{"value":"东成镇","label":"东成镇"},{"value":"新州镇","label":"新州镇"}]},{"value":"省直辖县","label":"省直辖县","children":[{"value":"五指山市","label":"五指山市"},{"value":"琼海市","label":"琼海市"},{"value":"文昌市","label":"文昌市"},{"value":"万宁市","label":"万宁市"},{"value":"东方市","label":"东方市"},{"value":"定安县","label":"定安县"},{"value":"屯昌县","label":"屯昌县"},{"value":"澄迈县","label":"澄迈县"},{"value":"临高县","label":"临高县"},{"value":"白沙黎族自治县","label":"白沙黎族自治县"},{"value":"昌江黎族自治县","label":"昌江黎族自治县"},{"value":"乐东黎族自治县","label":"乐东黎族自治县"},{"value":"陵水黎族自治县","label":"陵水黎族自治县"},{"value":"保亭黎族苗族自治县","label":"保亭黎族苗族自治县"},{"value":"琼中黎族苗族自治县","label":"琼中黎族苗族自治县"}]}]},{"value":"重庆市","label":"重庆市","children":[{"value":"重庆市","label":"重庆市","children":[{"value":"万州区","label":"万州区"},{"value":"涪陵区","label":"涪陵区"},{"value":"渝中区","label":"渝中区"},{"value":"大渡口区","label":"大渡口区"},{"value":"江北区","label":"江北区"},{"value":"沙坪坝区","label":"沙坪坝区"},{"value":"九龙坡区","label":"九龙坡区"},{"value":"南岸区","label":"南岸区"},{"value":"北碚区","label":"北碚区"},{"value":"綦江区","label":"綦江区"},{"value":"大足区","label":"大足区"},{"value":"渝北区","label":"渝北区"},{"value":"巴南区","label":"巴南区"},{"value":"黔江区","label":"黔江区"},{"value":"长寿区","label":"长寿区"},{"value":"江津区","label":"江津区"},{"value":"合川区","label":"合川区"},{"value":"永川区","label":"永川区"},{"value":"南川区","label":"南川区"},{"value":"璧山区","label":"璧山区"},{"value":"铜梁区","label":"铜梁区"},{"value":"潼南区","label":"潼南区"},{"value":"荣昌区","label":"荣昌区"},{"value":"开州区","label":"开州区"},{"value":"梁平区","label":"梁平区"},{"value":"武隆区","label":"武隆区"}]},{"value":"县","label":"县","children":[{"value":"城口县","label":"城口县"},{"value":"丰都县","label":"丰都县"},{"value":"垫江县","label":"垫江县"},{"value":"忠县","label":"忠县"},{"value":"云阳县","label":"云阳县"},{"value":"奉节县","label":"奉节县"},{"value":"巫山县","label":"巫山县"},{"value":"巫溪县","label":"巫溪县"},{"value":"石柱土家族自治县","label":"石柱土家族自治县"},{"value":"秀山土家族苗族自治县","label":"秀山土家族苗族自治县"},{"value":"酉阳土家族苗族自治县","label":"酉阳土家族苗族自治县"},{"value":"彭水苗族土家族自治县","label":"彭水苗族土家族自治县"}]}]},{"value":"四川省","label":"四川省","children":[{"value":"成都市","label":"成都市","children":[{"value":"锦江区","label":"锦江区"},{"value":"青羊区","label":"青羊区"},{"value":"金牛区","label":"金牛区"},{"value":"武侯区","label":"武侯区"},{"value":"成华区","label":"成华区"},{"value":"龙泉驿区","label":"龙泉驿区"},{"value":"青白江区","label":"青白江区"},{"value":"新都区","label":"新都区"},{"value":"温江区","label":"温江区"},{"value":"双流区","label":"双流区"},{"value":"郫都区","label":"郫都区"},{"value":"金堂县","label":"金堂县"},{"value":"大邑县","label":"大邑县"},{"value":"蒲江县","label":"蒲江县"},{"value":"新津县","label":"新津县"},{"value":"都江堰市","label":"都江堰市"},{"value":"彭州市","label":"彭州市"},{"value":"邛崃市","label":"邛崃市"},{"value":"崇州市","label":"崇州市"},{"value":"简阳市","label":"简阳市"},{"value":"高新区","label":"高新区"}]},{"value":"自贡市","label":"自贡市","children":[{"value":"自流井区","label":"自流井区"},{"value":"贡井区","label":"贡井区"},{"value":"大安区","label":"大安区"},{"value":"沿滩区","label":"沿滩区"},{"value":"荣县","label":"荣县"},{"value":"富顺县","label":"富顺县"}]},{"value":"攀枝花市","label":"攀枝花市","children":[{"value":"东区","label":"东区"},{"value":"西区","label":"西区"},{"value":"仁和区","label":"仁和区"},{"value":"米易县","label":"米易县"},{"value":"盐边县","label":"盐边县"}]},{"value":"泸州市","label":"泸州市","children":[{"value":"江阳区","label":"江阳区"},{"value":"纳溪区","label":"纳溪区"},{"value":"龙马潭区","label":"龙马潭区"},{"value":"泸县","label":"泸县"},{"value":"合江县","label":"合江县"},{"value":"叙永县","label":"叙永县"},{"value":"古蔺县","label":"古蔺县"}]},{"value":"德阳市","label":"德阳市","children":[{"value":"旌阳区","label":"旌阳区"},{"value":"罗江区","label":"罗江区"},{"value":"中江县","label":"中江县"},{"value":"广汉市","label":"广汉市"},{"value":"什邡市","label":"什邡市"},{"value":"绵竹市","label":"绵竹市"}]},{"value":"绵阳市","label":"绵阳市","children":[{"value":"涪城区","label":"涪城区"},{"value":"游仙区","label":"游仙区"},{"value":"安州区","label":"安州区"},{"value":"三台县","label":"三台县"},{"value":"盐亭县","label":"盐亭县"},{"value":"梓潼县","label":"梓潼县"},{"value":"北川羌族自治县","label":"北川羌族自治县"},{"value":"平武县","label":"平武县"},{"value":"江油市","label":"江油市"},{"value":"高新区","label":"高新区"}]},{"value":"广元市","label":"广元市","children":[{"value":"利州区","label":"利州区"},{"value":"昭化区","label":"昭化区"},{"value":"朝天区","label":"朝天区"},{"value":"旺苍县","label":"旺苍县"},{"value":"青川县","label":"青川县"},{"value":"剑阁县","label":"剑阁县"},{"value":"苍溪县","label":"苍溪县"}]},{"value":"遂宁市","label":"遂宁市","children":[{"value":"船山区","label":"船山区"},{"value":"安居区","label":"安居区"},{"value":"蓬溪县","label":"蓬溪县"},{"value":"射洪县","label":"射洪县"},{"value":"大英县","label":"大英县"}]},{"value":"内江市","label":"内江市","children":[{"value":"市中区","label":"市中区"},{"value":"东兴区","label":"东兴区"},{"value":"威远县","label":"威远县"},{"value":"资中县","label":"资中县"},{"value":"隆昌市","label":"隆昌市"}]},{"value":"乐山市","label":"乐山市","children":[{"value":"市中区","label":"市中区"},{"value":"沙湾区","label":"沙湾区"},{"value":"五通桥区","label":"五通桥区"},{"value":"金口河区","label":"金口河区"},{"value":"犍为县","label":"犍为县"},{"value":"井研县","label":"井研县"},{"value":"夹江县","label":"夹江县"},{"value":"沐川县","label":"沐川县"},{"value":"峨边彝族自治县","label":"峨边彝族自治县"},{"value":"马边彝族自治县","label":"马边彝族自治县"},{"value":"峨眉山市","label":"峨眉山市"}]},{"value":"南充市","label":"南充市","children":[{"value":"顺庆区","label":"顺庆区"},{"value":"高坪区","label":"高坪区"},{"value":"嘉陵区","label":"嘉陵区"},{"value":"南部县","label":"南部县"},{"value":"营山县","label":"营山县"},{"value":"蓬安县","label":"蓬安县"},{"value":"仪陇县","label":"仪陇县"},{"value":"西充县","label":"西充县"},{"value":"阆中市","label":"阆中市"}]},{"value":"眉山市","label":"眉山市","children":[{"value":"东坡区","label":"东坡区"},{"value":"彭山区","label":"彭山区"},{"value":"仁寿县","label":"仁寿县"},{"value":"洪雅县","label":"洪雅县"},{"value":"丹棱县","label":"丹棱县"},{"value":"青神县","label":"青神县"}]},{"value":"宜宾市","label":"宜宾市","children":[{"value":"翠屏区","label":"翠屏区"},{"value":"南溪区","label":"南溪区"},{"value":"宜宾县","label":"宜宾县"},{"value":"江安县","label":"江安县"},{"value":"长宁县","label":"长宁县"},{"value":"高县","label":"高县"},{"value":"珙县","label":"珙县"},{"value":"筠连县","label":"筠连县"},{"value":"兴文县","label":"兴文县"},{"value":"屏山县","label":"屏山县"}]},{"value":"广安市","label":"广安市","children":[{"value":"广安区","label":"广安区"},{"value":"前锋区","label":"前锋区"},{"value":"岳池县","label":"岳池县"},{"value":"武胜县","label":"武胜县"},{"value":"邻水县","label":"邻水县"},{"value":"华蓥市","label":"华蓥市"}]},{"value":"达州市","label":"达州市","children":[{"value":"通川区","label":"通川区"},{"value":"达川区","label":"达川区"},{"value":"宣汉县","label":"宣汉县"},{"value":"开江县","label":"开江县"},{"value":"大竹县","label":"大竹县"},{"value":"渠县","label":"渠县"},{"value":"万源市","label":"万源市"}]},{"value":"雅安市","label":"雅安市","children":[{"value":"雨城区","label":"雨城区"},{"value":"名山区","label":"名山区"},{"value":"荥经县","label":"荥经县"},{"value":"汉源县","label":"汉源县"},{"value":"石棉县","label":"石棉县"},{"value":"天全县","label":"天全县"},{"value":"芦山县","label":"芦山县"},{"value":"宝兴县","label":"宝兴县"}]},{"value":"巴中市","label":"巴中市","children":[{"value":"巴州区","label":"巴州区"},{"value":"恩阳区","label":"恩阳区"},{"value":"通江县","label":"通江县"},{"value":"南江县","label":"南江县"},{"value":"平昌县","label":"平昌县"}]},{"value":"资阳市","label":"资阳市","children":[{"value":"雁江区","label":"雁江区"},{"value":"安岳县","label":"安岳县"},{"value":"乐至县","label":"乐至县"}]},{"value":"阿坝藏族羌族自治州","label":"阿坝藏族羌族自治州","children":[{"value":"马尔康市","label":"马尔康市"},{"value":"汶川县","label":"汶川县"},{"value":"理县","label":"理县"},{"value":"茂县","label":"茂县"},{"value":"松潘县","label":"松潘县"},{"value":"九寨沟县","label":"九寨沟县"},{"value":"金川县","label":"金川县"},{"value":"小金县","label":"小金县"},{"value":"黑水县","label":"黑水县"},{"value":"壤塘县","label":"壤塘县"},{"value":"阿坝县","label":"阿坝县"},{"value":"若尔盖县","label":"若尔盖县"},{"value":"红原县","label":"红原县"}]},{"value":"甘孜藏族自治州","label":"甘孜藏族自治州","children":[{"value":"康定市","label":"康定市"},{"value":"泸定县","label":"泸定县"},{"value":"丹巴县","label":"丹巴县"},{"value":"九龙县","label":"九龙县"},{"value":"雅江县","label":"雅江县"},{"value":"道孚县","label":"道孚县"},{"value":"炉霍县","label":"炉霍县"},{"value":"甘孜县","label":"甘孜县"},{"value":"新龙县","label":"新龙县"},{"value":"德格县","label":"德格县"},{"value":"白玉县","label":"白玉县"},{"value":"石渠县","label":"石渠县"},{"value":"色达县","label":"色达县"},{"value":"理塘县","label":"理塘县"},{"value":"巴塘县","label":"巴塘县"},{"value":"乡城县","label":"乡城县"},{"value":"稻城县","label":"稻城县"},{"value":"得荣县","label":"得荣县"}]},{"value":"凉山彝族自治州","label":"凉山彝族自治州","children":[{"value":"西昌市","label":"西昌市"},{"value":"木里藏族自治县","label":"木里藏族自治县"},{"value":"盐源县","label":"盐源县"},{"value":"德昌县","label":"德昌县"},{"value":"会理县","label":"会理县"},{"value":"会东县","label":"会东县"},{"value":"宁南县","label":"宁南县"},{"value":"普格县","label":"普格县"},{"value":"布拖县","label":"布拖县"},{"value":"金阳县","label":"金阳县"},{"value":"昭觉县","label":"昭觉县"},{"value":"喜德县","label":"喜德县"},{"value":"冕宁县","label":"冕宁县"},{"value":"越西县","label":"越西县"},{"value":"甘洛县","label":"甘洛县"},{"value":"美姑县","label":"美姑县"},{"value":"雷波县","label":"雷波县"}]}]},{"value":"贵州省","label":"贵州省","children":[{"value":"贵阳市","label":"贵阳市","children":[{"value":"南明区","label":"南明区"},{"value":"云岩区","label":"云岩区"},{"value":"花溪区","label":"花溪区"},{"value":"乌当区","label":"乌当区"},{"value":"白云区","label":"白云区"},{"value":"观山湖区","label":"观山湖区"},{"value":"开阳县","label":"开阳县"},{"value":"息烽县","label":"息烽县"},{"value":"修文县","label":"修文县"},{"value":"清镇市","label":"清镇市"}]},{"value":"六盘水市","label":"六盘水市","children":[{"value":"钟山区","label":"钟山区"},{"value":"六枝特区","label":"六枝特区"},{"value":"水城县","label":"水城县"},{"value":"盘州市","label":"盘州市"}]},{"value":"遵义市","label":"遵义市","children":[{"value":"红花岗区","label":"红花岗区"},{"value":"汇川区","label":"汇川区"},{"value":"播州区","label":"播州区"},{"value":"桐梓县","label":"桐梓县"},{"value":"绥阳县","label":"绥阳县"},{"value":"正安县","label":"正安县"},{"value":"道真仡佬族苗族自治县","label":"道真仡佬族苗族自治县"},{"value":"务川仡佬族苗族自治县","label":"务川仡佬族苗族自治县"},{"value":"凤冈县","label":"凤冈县"},{"value":"湄潭县","label":"湄潭县"},{"value":"余庆县","label":"余庆县"},{"value":"习水县","label":"习水县"},{"value":"赤水市","label":"赤水市"},{"value":"仁怀市","label":"仁怀市"}]},{"value":"安顺市","label":"安顺市","children":[{"value":"西秀区","label":"西秀区"},{"value":"平坝区","label":"平坝区"},{"value":"普定县","label":"普定县"},{"value":"镇宁布依族苗族自治县","label":"镇宁布依族苗族自治县"},{"value":"关岭布依族苗族自治县","label":"关岭布依族苗族自治县"},{"value":"紫云苗族布依族自治县","label":"紫云苗族布依族自治县"}]},{"value":"毕节市","label":"毕节市","children":[{"value":"七星关区","label":"七星关区"},{"value":"大方县","label":"大方县"},{"value":"黔西县","label":"黔西县"},{"value":"金沙县","label":"金沙县"},{"value":"织金县","label":"织金县"},{"value":"纳雍县","label":"纳雍县"},{"value":"威宁彝族回族苗族自治县","label":"威宁彝族回族苗族自治县"},{"value":"赫章县","label":"赫章县"}]},{"value":"铜仁市","label":"铜仁市","children":[{"value":"碧江区","label":"碧江区"},{"value":"万山区","label":"万山区"},{"value":"江口县","label":"江口县"},{"value":"玉屏侗族自治县","label":"玉屏侗族自治县"},{"value":"石阡县","label":"石阡县"},{"value":"思南县","label":"思南县"},{"value":"印江土家族苗族自治县","label":"印江土家族苗族自治县"},{"value":"德江县","label":"德江县"},{"value":"沿河土家族自治县","label":"沿河土家族自治县"},{"value":"松桃苗族自治县","label":"松桃苗族自治县"}]},{"value":"黔西南布依族苗族自治州","label":"黔西南布依族苗族自治州","children":[{"value":"兴义市","label":"兴义市"},{"value":"兴仁县","label":"兴仁县"},{"value":"普安县","label":"普安县"},{"value":"晴隆县","label":"晴隆县"},{"value":"贞丰县","label":"贞丰县"},{"value":"望谟县","label":"望谟县"},{"value":"册亨县","label":"册亨县"},{"value":"安龙县","label":"安龙县"}]},{"value":"黔东南苗族侗族自治州","label":"黔东南苗族侗族自治州","children":[{"value":"凯里市","label":"凯里市"},{"value":"黄平县","label":"黄平县"},{"value":"施秉县","label":"施秉县"},{"value":"三穗县","label":"三穗县"},{"value":"镇远县","label":"镇远县"},{"value":"岑巩县","label":"岑巩县"},{"value":"天柱县","label":"天柱县"},{"value":"锦屏县","label":"锦屏县"},{"value":"剑河县","label":"剑河县"},{"value":"台江县","label":"台江县"},{"value":"黎平县","label":"黎平县"},{"value":"榕江县","label":"榕江县"},{"value":"从江县","label":"从江县"},{"value":"雷山县","label":"雷山县"},{"value":"麻江县","label":"麻江县"},{"value":"丹寨县","label":"丹寨县"}]},{"value":"黔南布依族苗族自治州","label":"黔南布依族苗族自治州","children":[{"value":"都匀市","label":"都匀市"},{"value":"福泉市","label":"福泉市"},{"value":"荔波县","label":"荔波县"},{"value":"贵定县","label":"贵定县"},{"value":"瓮安县","label":"瓮安县"},{"value":"独山县","label":"独山县"},{"value":"平塘县","label":"平塘县"},{"value":"罗甸县","label":"罗甸县"},{"value":"长顺县","label":"长顺县"},{"value":"龙里县","label":"龙里县"},{"value":"惠水县","label":"惠水县"},{"value":"三都水族自治县","label":"三都水族自治县"}]}]},{"value":"云南省","label":"云南省","children":[{"value":"昆明市","label":"昆明市","children":[{"value":"五华区","label":"五华区"},{"value":"盘龙区","label":"盘龙区"},{"value":"官渡区","label":"官渡区"},{"value":"西山区","label":"西山区"},{"value":"东川区","label":"东川区"},{"value":"呈贡区","label":"呈贡区"},{"value":"晋宁区","label":"晋宁区"},{"value":"富民县","label":"富民县"},{"value":"宜良县","label":"宜良县"},{"value":"石林彝族自治县","label":"石林彝族自治县"},{"value":"嵩明县","label":"嵩明县"},{"value":"禄劝彝族苗族自治县","label":"禄劝彝族苗族自治县"},{"value":"寻甸回族彝族自治县","label":"寻甸回族彝族自治县"},{"value":"安宁市","label":"安宁市"}]},{"value":"曲靖市","label":"曲靖市","children":[{"value":"麒麟区","label":"麒麟区"},{"value":"沾益区","label":"沾益区"},{"value":"马龙县","label":"马龙县"},{"value":"陆良县","label":"陆良县"},{"value":"师宗县","label":"师宗县"},{"value":"罗平县","label":"罗平县"},{"value":"富源县","label":"富源县"},{"value":"会泽县","label":"会泽县"},{"value":"宣威市","label":"宣威市"}]},{"value":"玉溪市","label":"玉溪市","children":[{"value":"红塔区","label":"红塔区"},{"value":"江川区","label":"江川区"},{"value":"澄江县","label":"澄江县"},{"value":"通海县","label":"通海县"},{"value":"华宁县","label":"华宁县"},{"value":"易门县","label":"易门县"},{"value":"峨山彝族自治县","label":"峨山彝族自治县"},{"value":"新平彝族傣族自治县","label":"新平彝族傣族自治县"},{"value":"元江哈尼族彝族傣族自治县","label":"元江哈尼族彝族傣族自治县"}]},{"value":"保山市","label":"保山市","children":[{"value":"隆阳区","label":"隆阳区"},{"value":"施甸县","label":"施甸县"},{"value":"龙陵县","label":"龙陵县"},{"value":"昌宁县","label":"昌宁县"},{"value":"腾冲市","label":"腾冲市"}]},{"value":"昭通市","label":"昭通市","children":[{"value":"昭阳区","label":"昭阳区"},{"value":"鲁甸县","label":"鲁甸县"},{"value":"巧家县","label":"巧家县"},{"value":"盐津县","label":"盐津县"},{"value":"大关县","label":"大关县"},{"value":"永善县","label":"永善县"},{"value":"绥江县","label":"绥江县"},{"value":"镇雄县","label":"镇雄县"},{"value":"彝良县","label":"彝良县"},{"value":"威信县","label":"威信县"},{"value":"水富县","label":"水富县"}]},{"value":"丽江市","label":"丽江市","children":[{"value":"古城区","label":"古城区"},{"value":"玉龙纳西族自治县","label":"玉龙纳西族自治县"},{"value":"永胜县","label":"永胜县"},{"value":"华坪县","label":"华坪县"},{"value":"宁蒗彝族自治县","label":"宁蒗彝族自治县"}]},{"value":"普洱市","label":"普洱市","children":[{"value":"思茅区","label":"思茅区"},{"value":"宁洱哈尼族彝族自治县","label":"宁洱哈尼族彝族自治县"},{"value":"墨江哈尼族自治县","label":"墨江哈尼族自治县"},{"value":"景东彝族自治县","label":"景东彝族自治县"},{"value":"景谷傣族彝族自治县","label":"景谷傣族彝族自治县"},{"value":"镇沅彝族哈尼族拉祜族自治县","label":"镇沅彝族哈尼族拉祜族自治县"},{"value":"江城哈尼族彝族自治县","label":"江城哈尼族彝族自治县"},{"value":"孟连傣族拉祜族佤族自治县","label":"孟连傣族拉祜族佤族自治县"},{"value":"澜沧拉祜族自治县","label":"澜沧拉祜族自治县"},{"value":"西盟佤族自治县","label":"西盟佤族自治县"}]},{"value":"临沧市","label":"临沧市","children":[{"value":"临翔区","label":"临翔区"},{"value":"凤庆县","label":"凤庆县"},{"value":"云县","label":"云县"},{"value":"永德县","label":"永德县"},{"value":"镇康县","label":"镇康县"},{"value":"双江拉祜族佤族布朗族傣族自治县","label":"双江拉祜族佤族布朗族傣族自治县"},{"value":"耿马傣族佤族自治县","label":"耿马傣族佤族自治县"},{"value":"沧源佤族自治县","label":"沧源佤族自治县"}]},{"value":"楚雄彝族自治州","label":"楚雄彝族自治州","children":[{"value":"楚雄市","label":"楚雄市"},{"value":"双柏县","label":"双柏县"},{"value":"牟定县","label":"牟定县"},{"value":"南华县","label":"南华县"},{"value":"姚安县","label":"姚安县"},{"value":"大姚县","label":"大姚县"},{"value":"永仁县","label":"永仁县"},{"value":"元谋县","label":"元谋县"},{"value":"武定县","label":"武定县"},{"value":"禄丰县","label":"禄丰县"}]},{"value":"红河哈尼族彝族自治州","label":"红河哈尼族彝族自治州","children":[{"value":"个旧市","label":"个旧市"},{"value":"开远市","label":"开远市"},{"value":"蒙自市","label":"蒙自市"},{"value":"弥勒市","label":"弥勒市"},{"value":"屏边苗族自治县","label":"屏边苗族自治县"},{"value":"建水县","label":"建水县"},{"value":"石屏县","label":"石屏县"},{"value":"泸西县","label":"泸西县"},{"value":"元阳县","label":"元阳县"},{"value":"红河县","label":"红河县"},{"value":"金平苗族瑶族傣族自治县","label":"金平苗族瑶族傣族自治县"},{"value":"绿春县","label":"绿春县"},{"value":"河口瑶族自治县","label":"河口瑶族自治县"}]},{"value":"文山壮族苗族自治州","label":"文山壮族苗族自治州","children":[{"value":"文山市","label":"文山市"},{"value":"砚山县","label":"砚山县"},{"value":"西畴县","label":"西畴县"},{"value":"麻栗坡县","label":"麻栗坡县"},{"value":"马关县","label":"马关县"},{"value":"丘北县","label":"丘北县"},{"value":"广南县","label":"广南县"},{"value":"富宁县","label":"富宁县"}]},{"value":"西双版纳傣族自治州","label":"西双版纳傣族自治州","children":[{"value":"景洪市","label":"景洪市"},{"value":"勐海县","label":"勐海县"},{"value":"勐腊县","label":"勐腊县"}]},{"value":"大理白族自治州","label":"大理白族自治州","children":[{"value":"大理市","label":"大理市"},{"value":"漾濞彝族自治县","label":"漾濞彝族自治县"},{"value":"祥云县","label":"祥云县"},{"value":"宾川县","label":"宾川县"},{"value":"弥渡县","label":"弥渡县"},{"value":"南涧彝族自治县","label":"南涧彝族自治县"},{"value":"巍山彝族回族自治县","label":"巍山彝族回族自治县"},{"value":"永平县","label":"永平县"},{"value":"云龙县","label":"云龙县"},{"value":"洱源县","label":"洱源县"},{"value":"剑川县","label":"剑川县"},{"value":"鹤庆县","label":"鹤庆县"}]},{"value":"德宏傣族景颇族自治州","label":"德宏傣族景颇族自治州","children":[{"value":"瑞丽市","label":"瑞丽市"},{"value":"芒市","label":"芒市"},{"value":"梁河县","label":"梁河县"},{"value":"盈江县","label":"盈江县"},{"value":"陇川县","label":"陇川县"}]},{"value":"怒江傈僳族自治州","label":"怒江傈僳族自治州","children":[{"value":"泸水市","label":"泸水市"},{"value":"福贡县","label":"福贡县"},{"value":"贡山独龙族怒族自治县","label":"贡山独龙族怒族自治县"},{"value":"兰坪白族普米族自治县","label":"兰坪白族普米族自治县"}]},{"value":"迪庆藏族自治州","label":"迪庆藏族自治州","children":[{"value":"香格里拉市","label":"香格里拉市"},{"value":"德钦县","label":"德钦县"},{"value":"维西傈僳族自治县","label":"维西傈僳族自治县"}]}]},{"value":"西藏自治区","label":"西藏自治区","children":[{"value":"拉萨市","label":"拉萨市","children":[{"value":"城关区","label":"城关区"},{"value":"堆龙德庆区","label":"堆龙德庆区"},{"value":"达孜区","label":"达孜区"},{"value":"林周县","label":"林周县"},{"value":"当雄县","label":"当雄县"},{"value":"尼木县","label":"尼木县"},{"value":"曲水县","label":"曲水县"},{"value":"墨竹工卡县","label":"墨竹工卡县"}]},{"value":"日喀则市","label":"日喀则市","children":[{"value":"桑珠孜区","label":"桑珠孜区"},{"value":"南木林县","label":"南木林县"},{"value":"江孜县","label":"江孜县"},{"value":"定日县","label":"定日县"},{"value":"萨迦县","label":"萨迦县"},{"value":"拉孜县","label":"拉孜县"},{"value":"昂仁县","label":"昂仁县"},{"value":"谢通门县","label":"谢通门县"},{"value":"白朗县","label":"白朗县"},{"value":"仁布县","label":"仁布县"},{"value":"康马县","label":"康马县"},{"value":"定结县","label":"定结县"},{"value":"仲巴县","label":"仲巴县"},{"value":"亚东县","label":"亚东县"},{"value":"吉隆县","label":"吉隆县"},{"value":"聂拉木县","label":"聂拉木县"},{"value":"萨嘎县","label":"萨嘎县"},{"value":"岗巴县","label":"岗巴县"}]},{"value":"昌都市","label":"昌都市","children":[{"value":"卡若区","label":"卡若区"},{"value":"江达县","label":"江达县"},{"value":"贡觉县","label":"贡觉县"},{"value":"类乌齐县","label":"类乌齐县"},{"value":"丁青县","label":"丁青县"},{"value":"察雅县","label":"察雅县"},{"value":"八宿县","label":"八宿县"},{"value":"左贡县","label":"左贡县"},{"value":"芒康县","label":"芒康县"},{"value":"洛隆县","label":"洛隆县"},{"value":"边坝县","label":"边坝县"}]},{"value":"林芝市","label":"林芝市","children":[{"value":"巴宜区","label":"巴宜区"},{"value":"工布江达县","label":"工布江达县"},{"value":"米林县","label":"米林县"},{"value":"墨脱县","label":"墨脱县"},{"value":"波密县","label":"波密县"},{"value":"察隅县","label":"察隅县"},{"value":"朗县","label":"朗县"}]},{"value":"山南市","label":"山南市","children":[{"value":"乃东区","label":"乃东区"},{"value":"扎囊县","label":"扎囊县"},{"value":"贡嘎县","label":"贡嘎县"},{"value":"桑日县","label":"桑日县"},{"value":"琼结县","label":"琼结县"},{"value":"曲松县","label":"曲松县"},{"value":"措美县","label":"措美县"},{"value":"洛扎县","label":"洛扎县"},{"value":"加查县","label":"加查县"},{"value":"隆子县","label":"隆子县"},{"value":"错那县","label":"错那县"},{"value":"浪卡子县","label":"浪卡子县"}]},{"value":"那曲市","label":"那曲市","children":[{"value":"色尼区","label":"色尼区"}]},{"value":"阿里地区","label":"阿里地区","children":[{"value":"普兰县","label":"普兰县"},{"value":"札达县","label":"札达县"},{"value":"噶尔县","label":"噶尔县"},{"value":"日土县","label":"日土县"},{"value":"革吉县","label":"革吉县"},{"value":"改则县","label":"改则县"},{"value":"措勤县","label":"措勤县"}]}]},{"value":"陕西省","label":"陕西省","children":[{"value":"西安市","label":"西安市","children":[{"value":"新城区","label":"新城区"},{"value":"碑林区","label":"碑林区"},{"value":"莲湖区","label":"莲湖区"},{"value":"灞桥区","label":"灞桥区"},{"value":"未央区","label":"未央区"},{"value":"雁塔区","label":"雁塔区"},{"value":"阎良区","label":"阎良区"},{"value":"临潼区","label":"临潼区"},{"value":"长安区","label":"长安区"},{"value":"高陵区","label":"高陵区"},{"value":"鄠邑区","label":"鄠邑区"},{"value":"蓝田县","label":"蓝田县"},{"value":"周至县","label":"周至县"}]},{"value":"铜川市","label":"铜川市","children":[{"value":"王益区","label":"王益区"},{"value":"印台区","label":"印台区"},{"value":"耀州区","label":"耀州区"},{"value":"宜君县","label":"宜君县"}]},{"value":"宝鸡市","label":"宝鸡市","children":[{"value":"渭滨区","label":"渭滨区"},{"value":"金台区","label":"金台区"},{"value":"陈仓区","label":"陈仓区"},{"value":"凤翔县","label":"凤翔县"},{"value":"岐山县","label":"岐山县"},{"value":"扶风县","label":"扶风县"},{"value":"眉县","label":"眉县"},{"value":"陇县","label":"陇县"},{"value":"千阳县","label":"千阳县"},{"value":"麟游县","label":"麟游县"},{"value":"凤县","label":"凤县"},{"value":"太白县","label":"太白县"}]},{"value":"咸阳市","label":"咸阳市","children":[{"value":"秦都区","label":"秦都区"},{"value":"杨陵区","label":"杨陵区"},{"value":"渭城区","label":"渭城区"},{"value":"三原县","label":"三原县"},{"value":"泾阳县","label":"泾阳县"},{"value":"乾县","label":"乾县"},{"value":"礼泉县","label":"礼泉县"},{"value":"永寿县","label":"永寿县"},{"value":"彬县","label":"彬县"},{"value":"长武县","label":"长武县"},{"value":"旬邑县","label":"旬邑县"},{"value":"淳化县","label":"淳化县"},{"value":"武功县","label":"武功县"},{"value":"兴平市","label":"兴平市"}]},{"value":"渭南市","label":"渭南市","children":[{"value":"临渭区","label":"临渭区"},{"value":"华州区","label":"华州区"},{"value":"潼关县","label":"潼关县"},{"value":"大荔县","label":"大荔县"},{"value":"合阳县","label":"合阳县"},{"value":"澄城县","label":"澄城县"},{"value":"蒲城县","label":"蒲城县"},{"value":"白水县","label":"白水县"},{"value":"富平县","label":"富平县"},{"value":"韩城市","label":"韩城市"},{"value":"华阴市","label":"华阴市"}]},{"value":"延安市","label":"延安市","children":[{"value":"宝塔区","label":"宝塔区"},{"value":"安塞区","label":"安塞区"},{"value":"延长县","label":"延长县"},{"value":"延川县","label":"延川县"},{"value":"子长县","label":"子长县"},{"value":"志丹县","label":"志丹县"},{"value":"吴起县","label":"吴起县"},{"value":"甘泉县","label":"甘泉县"},{"value":"富县","label":"富县"},{"value":"洛川县","label":"洛川县"},{"value":"宜川县","label":"宜川县"},{"value":"黄龙县","label":"黄龙县"},{"value":"黄陵县","label":"黄陵县"}]},{"value":"汉中市","label":"汉中市","children":[{"value":"汉台区","label":"汉台区"},{"value":"南郑区","label":"南郑区"},{"value":"城固县","label":"城固县"},{"value":"洋县","label":"洋县"},{"value":"西乡县","label":"西乡县"},{"value":"勉县","label":"勉县"},{"value":"宁强县","label":"宁强县"},{"value":"略阳县","label":"略阳县"},{"value":"镇巴县","label":"镇巴县"},{"value":"留坝县","label":"留坝县"},{"value":"佛坪县","label":"佛坪县"}]},{"value":"榆林市","label":"榆林市","children":[{"value":"榆阳区","label":"榆阳区"},{"value":"横山区","label":"横山区"},{"value":"府谷县","label":"府谷县"},{"value":"靖边县","label":"靖边县"},{"value":"定边县","label":"定边县"},{"value":"绥德县","label":"绥德县"},{"value":"米脂县","label":"米脂县"},{"value":"佳县","label":"佳县"},{"value":"吴堡县","label":"吴堡县"},{"value":"清涧县","label":"清涧县"},{"value":"子洲县","label":"子洲县"},{"value":"神木市","label":"神木市"}]},{"value":"安康市","label":"安康市","children":[{"value":"汉滨区","label":"汉滨区"},{"value":"汉阴县","label":"汉阴县"},{"value":"石泉县","label":"石泉县"},{"value":"宁陕县","label":"宁陕县"},{"value":"紫阳县","label":"紫阳县"},{"value":"岚皋县","label":"岚皋县"},{"value":"平利县","label":"平利县"},{"value":"镇坪县","label":"镇坪县"},{"value":"旬阳县","label":"旬阳县"},{"value":"白河县","label":"白河县"}]},{"value":"商洛市","label":"商洛市","children":[{"value":"商州区","label":"商州区"},{"value":"洛南县","label":"洛南县"},{"value":"丹凤县","label":"丹凤县"},{"value":"商南县","label":"商南县"},{"value":"山阳县","label":"山阳县"},{"value":"镇安县","label":"镇安县"},{"value":"柞水县","label":"柞水县"}]}]},{"value":"甘肃省","label":"甘肃省","children":[{"value":"兰州市","label":"兰州市","children":[{"value":"城关区","label":"城关区"},{"value":"七里河区","label":"七里河区"},{"value":"西固区","label":"西固区"},{"value":"安宁区","label":"安宁区"},{"value":"红古区","label":"红古区"},{"value":"永登县","label":"永登县"},{"value":"皋兰县","label":"皋兰县"},{"value":"榆中县","label":"榆中县"}]},{"value":"嘉峪关市","label":"嘉峪关市","children":[{"value":"市辖区","label":"市辖区"},{"value":"雄关区","label":"雄关区"},{"value":"长城区","label":"长城区"},{"value":"镜铁区","label":"镜铁区"},{"value":"新城镇","label":"新城镇"},{"value":"峪泉镇","label":"峪泉镇"},{"value":"文殊镇","label":"文殊镇"}]},{"value":"金昌市","label":"金昌市","children":[{"value":"金川区","label":"金川区"},{"value":"永昌县","label":"永昌县"}]},{"value":"白银市","label":"白银市","children":[{"value":"白银区","label":"白银区"},{"value":"平川区","label":"平川区"},{"value":"靖远县","label":"靖远县"},{"value":"会宁县","label":"会宁县"},{"value":"景泰县","label":"景泰县"}]},{"value":"天水市","label":"天水市","children":[{"value":"秦州区","label":"秦州区"},{"value":"麦积区","label":"麦积区"},{"value":"清水县","label":"清水县"},{"value":"秦安县","label":"秦安县"},{"value":"甘谷县","label":"甘谷县"},{"value":"武山县","label":"武山县"},{"value":"张家川回族自治县","label":"张家川回族自治县"}]},{"value":"武威市","label":"武威市","children":[{"value":"凉州区","label":"凉州区"},{"value":"民勤县","label":"民勤县"},{"value":"古浪县","label":"古浪县"},{"value":"天祝藏族自治县","label":"天祝藏族自治县"}]},{"value":"张掖市","label":"张掖市","children":[{"value":"甘州区","label":"甘州区"},{"value":"肃南裕固族自治县","label":"肃南裕固族自治县"},{"value":"民乐县","label":"民乐县"},{"value":"临泽县","label":"临泽县"},{"value":"高台县","label":"高台县"},{"value":"山丹县","label":"山丹县"}]},{"value":"平凉市","label":"平凉市","children":[{"value":"崆峒区","label":"崆峒区"},{"value":"泾川县","label":"泾川县"},{"value":"灵台县","label":"灵台县"},{"value":"崇信县","label":"崇信县"},{"value":"华亭县","label":"华亭县"},{"value":"庄浪县","label":"庄浪县"},{"value":"静宁县","label":"静宁县"}]},{"value":"酒泉市","label":"酒泉市","children":[{"value":"肃州区","label":"肃州区"},{"value":"金塔县","label":"金塔县"},{"value":"瓜州县","label":"瓜州县"},{"value":"肃北蒙古族自治县","label":"肃北蒙古族自治县"},{"value":"阿克塞哈萨克族自治县","label":"阿克塞哈萨克族自治县"},{"value":"玉门市","label":"玉门市"},{"value":"敦煌市","label":"敦煌市"}]},{"value":"庆阳市","label":"庆阳市","children":[{"value":"西峰区","label":"西峰区"},{"value":"庆城县","label":"庆城县"},{"value":"环县","label":"环县"},{"value":"华池县","label":"华池县"},{"value":"合水县","label":"合水县"},{"value":"正宁县","label":"正宁县"},{"value":"宁县","label":"宁县"},{"value":"镇原县","label":"镇原县"}]},{"value":"定西市","label":"定西市","children":[{"value":"安定区","label":"安定区"},{"value":"通渭县","label":"通渭县"},{"value":"陇西县","label":"陇西县"},{"value":"渭源县","label":"渭源县"},{"value":"临洮县","label":"临洮县"},{"value":"漳县","label":"漳县"},{"value":"岷县","label":"岷县"}]},{"value":"陇南市","label":"陇南市","children":[{"value":"武都区","label":"武都区"},{"value":"成县","label":"成县"},{"value":"文县","label":"文县"},{"value":"宕昌县","label":"宕昌县"},{"value":"康县","label":"康县"},{"value":"西和县","label":"西和县"},{"value":"礼县","label":"礼县"},{"value":"徽县","label":"徽县"},{"value":"两当县","label":"两当县"}]},{"value":"临夏回族自治州","label":"临夏回族自治州","children":[{"value":"临夏市","label":"临夏市"},{"value":"临夏县","label":"临夏县"},{"value":"康乐县","label":"康乐县"},{"value":"永靖县","label":"永靖县"},{"value":"广河县","label":"广河县"},{"value":"和政县","label":"和政县"},{"value":"东乡族自治县","label":"东乡族自治县"},{"value":"积石山保安族东乡族撒拉族自治县","label":"积石山保安族东乡族撒拉族自治县"}]},{"value":"甘南藏族自治州","label":"甘南藏族自治州","children":[{"value":"合作市","label":"合作市"},{"value":"临潭县","label":"临潭县"},{"value":"卓尼县","label":"卓尼县"},{"value":"舟曲县","label":"舟曲县"},{"value":"迭部县","label":"迭部县"},{"value":"玛曲县","label":"玛曲县"},{"value":"碌曲县","label":"碌曲县"},{"value":"夏河县","label":"夏河县"}]}]},{"value":"青海省","label":"青海省","children":[{"value":"西宁市","label":"西宁市","children":[{"value":"城东区","label":"城东区"},{"value":"城中区","label":"城中区"},{"value":"城西区","label":"城西区"},{"value":"城北区","label":"城北区"},{"value":"大通回族土族自治县","label":"大通回族土族自治县"},{"value":"湟中县","label":"湟中县"},{"value":"湟源县","label":"湟源县"}]},{"value":"海东市","label":"海东市","children":[{"value":"乐都区","label":"乐都区"},{"value":"平安区","label":"平安区"},{"value":"民和回族土族自治县","label":"民和回族土族自治县"},{"value":"互助土族自治县","label":"互助土族自治县"},{"value":"化隆回族自治县","label":"化隆回族自治县"},{"value":"循化撒拉族自治县","label":"循化撒拉族自治县"}]},{"value":"海北藏族自治州","label":"海北藏族自治州","children":[{"value":"门源回族自治县","label":"门源回族自治县"},{"value":"祁连县","label":"祁连县"},{"value":"海晏县","label":"海晏县"},{"value":"刚察县","label":"刚察县"}]},{"value":"黄南藏族自治州","label":"黄南藏族自治州","children":[{"value":"同仁县","label":"同仁县"},{"value":"尖扎县","label":"尖扎县"},{"value":"泽库县","label":"泽库县"},{"value":"河南蒙古族自治县","label":"河南蒙古族自治县"}]},{"value":"海南藏族自治州","label":"海南藏族自治州","children":[{"value":"共和县","label":"共和县"},{"value":"同德县","label":"同德县"},{"value":"贵德县","label":"贵德县"},{"value":"兴海县","label":"兴海县"},{"value":"贵南县","label":"贵南县"}]},{"value":"果洛藏族自治州","label":"果洛藏族自治州","children":[{"value":"玛沁县","label":"玛沁县"},{"value":"班玛县","label":"班玛县"},{"value":"甘德县","label":"甘德县"},{"value":"达日县","label":"达日县"},{"value":"久治县","label":"久治县"},{"value":"玛多县","label":"玛多县"}]},{"value":"玉树藏族自治州","label":"玉树藏族自治州","children":[{"value":"玉树市","label":"玉树市"},{"value":"杂多县","label":"杂多县"},{"value":"称多县","label":"称多县"},{"value":"治多县","label":"治多县"},{"value":"囊谦县","label":"囊谦县"},{"value":"曲麻莱县","label":"曲麻莱县"}]},{"value":"海西蒙古族藏族自治州","label":"海西蒙古族藏族自治州","children":[{"value":"格尔木市","label":"格尔木市"},{"value":"德令哈市","label":"德令哈市"},{"value":"乌兰县","label":"乌兰县"},{"value":"都兰县","label":"都兰县"},{"value":"天峻县","label":"天峻县"}]}]},{"value":"宁夏回族自治区","label":"宁夏回族自治区","children":[{"value":"银川市","label":"银川市","children":[{"value":"兴庆区","label":"兴庆区"},{"value":"西夏区","label":"西夏区"},{"value":"金凤区","label":"金凤区"},{"value":"永宁县","label":"永宁县"},{"value":"贺兰县","label":"贺兰县"},{"value":"灵武市","label":"灵武市"}]},{"value":"石嘴山市","label":"石嘴山市","children":[{"value":"大武口区","label":"大武口区"},{"value":"惠农区","label":"惠农区"},{"value":"平罗县","label":"平罗县"}]},{"value":"吴忠市","label":"吴忠市","children":[{"value":"利通区","label":"利通区"},{"value":"红寺堡区","label":"红寺堡区"},{"value":"盐池县","label":"盐池县"},{"value":"同心县","label":"同心县"},{"value":"青铜峡市","label":"青铜峡市"}]},{"value":"固原市","label":"固原市","children":[{"value":"原州区","label":"原州区"},{"value":"西吉县","label":"西吉县"},{"value":"隆德县","label":"隆德县"},{"value":"泾源县","label":"泾源县"},{"value":"彭阳县","label":"彭阳县"}]},{"value":"中卫市","label":"中卫市","children":[{"value":"沙坡头区","label":"沙坡头区"},{"value":"中宁县","label":"中宁县"},{"value":"海原县","label":"海原县"}]}]},{"value":"新疆维吾尔自治区","label":"新疆维吾尔自治区","children":[{"value":"乌鲁木齐市","label":"乌鲁木齐市","children":[{"value":"天山区","label":"天山区"},{"value":"沙依巴克区","label":"沙依巴克区"},{"value":"新市区","label":"新市区"},{"value":"水磨沟区","label":"水磨沟区"},{"value":"头屯河区","label":"头屯河区"},{"value":"达坂城区","label":"达坂城区"},{"value":"米东区","label":"米东区"},{"value":"乌鲁木齐县","label":"乌鲁木齐县"}]},{"value":"克拉玛依市","label":"克拉玛依市","children":[{"value":"独山子区","label":"独山子区"},{"value":"克拉玛依区","label":"克拉玛依区"},{"value":"白碱滩区","label":"白碱滩区"},{"value":"乌尔禾区","label":"乌尔禾区"}]},{"value":"吐鲁番市","label":"吐鲁番市","children":[{"value":"高昌区","label":"高昌区"},{"value":"鄯善县","label":"鄯善县"},{"value":"托克逊县","label":"托克逊县"}]},{"value":"哈密市","label":"哈密市","children":[{"value":"伊州区","label":"伊州区"},{"value":"巴里坤哈萨克自治县","label":"巴里坤哈萨克自治县"},{"value":"伊吾县","label":"伊吾县"}]},{"value":"昌吉回族自治州","label":"昌吉回族自治州","children":[{"value":"昌吉市","label":"昌吉市"},{"value":"阜康市","label":"阜康市"},{"value":"呼图壁县","label":"呼图壁县"},{"value":"玛纳斯县","label":"玛纳斯县"},{"value":"奇台县","label":"奇台县"},{"value":"吉木萨尔县","label":"吉木萨尔县"},{"value":"木垒哈萨克自治县","label":"木垒哈萨克自治县"}]},{"value":"博尔塔拉蒙古自治州","label":"博尔塔拉蒙古自治州","children":[{"value":"博乐市","label":"博乐市"},{"value":"阿拉山口市","label":"阿拉山口市"},{"value":"精河县","label":"精河县"},{"value":"温泉县","label":"温泉县"}]},{"value":"巴音郭楞蒙古自治州","label":"巴音郭楞蒙古自治州","children":[{"value":"库尔勒市","label":"库尔勒市"},{"value":"轮台县","label":"轮台县"},{"value":"尉犁县","label":"尉犁县"},{"value":"若羌县","label":"若羌县"},{"value":"且末县","label":"且末县"},{"value":"焉耆回族自治县","label":"焉耆回族自治县"},{"value":"和静县","label":"和静县"},{"value":"和硕县","label":"和硕县"},{"value":"博湖县","label":"博湖县"}]},{"value":"阿克苏地区","label":"阿克苏地区","children":[{"value":"阿克苏市","label":"阿克苏市"},{"value":"温宿县","label":"温宿县"},{"value":"库车县","label":"库车县"},{"value":"沙雅县","label":"沙雅县"},{"value":"新和县","label":"新和县"},{"value":"拜城县","label":"拜城县"},{"value":"乌什县","label":"乌什县"},{"value":"阿瓦提县","label":"阿瓦提县"},{"value":"柯坪县","label":"柯坪县"}]},{"value":"克孜勒苏柯尔克孜自治州","label":"克孜勒苏柯尔克孜自治州","children":[{"value":"阿图什市","label":"阿图什市"},{"value":"阿克陶县","label":"阿克陶县"},{"value":"阿合奇县","label":"阿合奇县"},{"value":"乌恰县","label":"乌恰县"}]},{"value":"喀什地区","label":"喀什地区","children":[{"value":"喀什市","label":"喀什市"},{"value":"疏附县","label":"疏附县"},{"value":"疏勒县","label":"疏勒县"},{"value":"英吉沙县","label":"英吉沙县"},{"value":"泽普县","label":"泽普县"},{"value":"莎车县","label":"莎车县"},{"value":"叶城县","label":"叶城县"},{"value":"麦盖提县","label":"麦盖提县"},{"value":"岳普湖县","label":"岳普湖县"},{"value":"伽师县","label":"伽师县"},{"value":"巴楚县","label":"巴楚县"},{"value":"塔什库尔干塔吉克自治县","label":"塔什库尔干塔吉克自治县"}]},{"value":"和田地区","label":"和田地区","children":[{"value":"和田市","label":"和田市"},{"value":"和田县","label":"和田县"},{"value":"墨玉县","label":"墨玉县"},{"value":"皮山县","label":"皮山县"},{"value":"洛浦县","label":"洛浦县"},{"value":"策勒县","label":"策勒县"},{"value":"于田县","label":"于田县"},{"value":"民丰县","label":"民丰县"}]},{"value":"伊犁哈萨克自治州","label":"伊犁哈萨克自治州","children":[{"value":"伊宁市","label":"伊宁市"},{"value":"奎屯市","label":"奎屯市"},{"value":"霍尔果斯市","label":"霍尔果斯市"},{"value":"伊宁县","label":"伊宁县"},{"value":"察布查尔锡伯自治县","label":"察布查尔锡伯自治县"},{"value":"霍城县","label":"霍城县"},{"value":"巩留县","label":"巩留县"},{"value":"新源县","label":"新源县"},{"value":"昭苏县","label":"昭苏县"},{"value":"特克斯县","label":"特克斯县"},{"value":"尼勒克县","label":"尼勒克县"}]},{"value":"塔城地区","label":"塔城地区","children":[{"value":"塔城市","label":"塔城市"},{"value":"乌苏市","label":"乌苏市"},{"value":"额敏县","label":"额敏县"},{"value":"沙湾县","label":"沙湾县"},{"value":"托里县","label":"托里县"},{"value":"裕民县","label":"裕民县"},{"value":"和布克赛尔蒙古自治县","label":"和布克赛尔蒙古自治县"}]},{"value":"阿勒泰地区","label":"阿勒泰地区","children":[{"value":"阿勒泰市","label":"阿勒泰市"},{"value":"布尔津县","label":"布尔津县"},{"value":"富蕴县","label":"富蕴县"},{"value":"福海县","label":"福海县"},{"value":"哈巴河县","label":"哈巴河县"},{"value":"青河县","label":"青河县"},{"value":"吉木乃县","label":"吉木乃县"}]},{"value":"自治区直辖县级行政区划","label":"自治区直辖县级行政区划","children":[{"value":"石河子市","label":"石河子市"},{"value":"阿拉尔市","label":"阿拉尔市"},{"value":"图木舒克市","label":"图木舒克市"},{"value":"五家渠市","label":"五家渠市"},{"value":"北屯市","label":"北屯市"},{"value":"铁门关市","label":"铁门关市"},{"value":"双河市","label":"双河市"},{"value":"可克达拉市","label":"可克达拉市"},{"value":"昆玉市","label":"昆玉市"}]}]},{"value":"台湾省","label":"台湾省","children":[{"value":"台北市","label":"台北市","children":[{"value":"中正区","label":"中正区"},{"value":"大同区","label":"大同区"},{"value":"中山区","label":"中山区"},{"value":"松山区","label":"松山区"},{"value":"大安区","label":"大安区"},{"value":"万华区","label":"万华区"},{"value":"信义区","label":"信义区"},{"value":"士林区","label":"士林区"},{"value":"北投区","label":"北投区"},{"value":"内湖区","label":"内湖区"},{"value":"南港区","label":"南港区"},{"value":"文山区","label":"文山区"},{"value":"其它区","label":"其它区"}]},{"value":"高雄市","label":"高雄市","children":[{"value":"新兴区","label":"新兴区"},{"value":"前金区","label":"前金区"},{"value":"芩雅区","label":"芩雅区"},{"value":"盐埕区","label":"盐埕区"},{"value":"鼓山区","label":"鼓山区"},{"value":"旗津区","label":"旗津区"},{"value":"前镇区","label":"前镇区"},{"value":"三民区","label":"三民区"},{"value":"左营区","label":"左营区"},{"value":"楠梓区","label":"楠梓区"},{"value":"小港区","label":"小港区"},{"value":"苓雅区","label":"苓雅区"},{"value":"仁武区","label":"仁武区"},{"value":"大社区","label":"大社区"},{"value":"冈山区","label":"冈山区"},{"value":"路竹区","label":"路竹区"},{"value":"阿莲区","label":"阿莲区"},{"value":"田寮区","label":"田寮区"},{"value":"燕巢区","label":"燕巢区"},{"value":"桥头区","label":"桥头区"},{"value":"梓官区","label":"梓官区"},{"value":"弥陀区","label":"弥陀区"},{"value":"永安区","label":"永安区"},{"value":"湖内区","label":"湖内区"},{"value":"凤山区","label":"凤山区"},{"value":"大寮区","label":"大寮区"},{"value":"林园区","label":"林园区"},{"value":"鸟松区","label":"鸟松区"},{"value":"大树区","label":"大树区"},{"value":"旗山区","label":"旗山区"},{"value":"美浓区","label":"美浓区"},{"value":"六龟区","label":"六龟区"},{"value":"内门区","label":"内门区"},{"value":"杉林区","label":"杉林区"},{"value":"甲仙区","label":"甲仙区"},{"value":"桃源区","label":"桃源区"},{"value":"那玛夏区","label":"那玛夏区"},{"value":"茂林区","label":"茂林区"},{"value":"茄萣区","label":"茄萣区"},{"value":"其它区","label":"其它区"}]},{"value":"台南市","label":"台南市","children":[{"value":"中西区","label":"中西区"},{"value":"东区","label":"东区"},{"value":"南区","label":"南区"},{"value":"北区","label":"北区"},{"value":"安平区","label":"安平区"},{"value":"安南区","label":"安南区"},{"value":"永康区","label":"永康区"},{"value":"归仁区","label":"归仁区"},{"value":"新化区","label":"新化区"},{"value":"左镇区","label":"左镇区"},{"value":"玉井区","label":"玉井区"},{"value":"楠西区","label":"楠西区"},{"value":"南化区","label":"南化区"},{"value":"仁德区","label":"仁德区"},{"value":"关庙区","label":"关庙区"},{"value":"龙崎区","label":"龙崎区"},{"value":"官田区","label":"官田区"},{"value":"麻豆区","label":"麻豆区"},{"value":"佳里区","label":"佳里区"},{"value":"西港区","label":"西港区"},{"value":"七股区","label":"七股区"},{"value":"将军区","label":"将军区"},{"value":"学甲区","label":"学甲区"},{"value":"北门区","label":"北门区"},{"value":"新营区","label":"新营区"},{"value":"后壁区","label":"后壁区"},{"value":"白河区","label":"白河区"},{"value":"东山区","label":"东山区"},{"value":"六甲区","label":"六甲区"},{"value":"下营区","label":"下营区"},{"value":"柳营区","label":"柳营区"},{"value":"盐水区","label":"盐水区"},{"value":"善化区","label":"善化区"},{"value":"大内区","label":"大内区"},{"value":"山上区","label":"山上区"},{"value":"新市区","label":"新市区"},{"value":"安定区","label":"安定区"},{"value":"其它区","label":"其它区"}]},{"value":"台中市","label":"台中市","children":[{"value":"中区","label":"中区"},{"value":"东区","label":"东区"},{"value":"南区","label":"南区"},{"value":"西区","label":"西区"},{"value":"北区","label":"北区"},{"value":"北屯区","label":"北屯区"},{"value":"西屯区","label":"西屯区"},{"value":"南屯区","label":"南屯区"},{"value":"太平区","label":"太平区"},{"value":"大里区","label":"大里区"},{"value":"雾峰区","label":"雾峰区"},{"value":"乌日区","label":"乌日区"},{"value":"丰原区","label":"丰原区"},{"value":"后里区","label":"后里区"},{"value":"石冈区","label":"石冈区"},{"value":"东势区","label":"东势区"},{"value":"和平区","label":"和平区"},{"value":"新社区","label":"新社区"},{"value":"潭子区","label":"潭子区"},{"value":"大雅区","label":"大雅区"},{"value":"神冈区","label":"神冈区"},{"value":"大肚区","label":"大肚区"},{"value":"沙鹿区","label":"沙鹿区"},{"value":"龙井区","label":"龙井区"},{"value":"梧栖区","label":"梧栖区"},{"value":"清水区","label":"清水区"},{"value":"大甲区","label":"大甲区"},{"value":"外埔区","label":"外埔区"},{"value":"大安区","label":"大安区"},{"value":"其它区","label":"其它区"}]},{"value":"金门县","label":"金门县","children":[{"value":"金沙镇","label":"金沙镇"},{"value":"金湖镇","label":"金湖镇"},{"value":"金宁乡","label":"金宁乡"},{"value":"金城镇","label":"金城镇"},{"value":"烈屿乡","label":"烈屿乡"},{"value":"乌坵乡","label":"乌坵乡"}]},{"value":"南投县","label":"南投县","children":[{"value":"南投市","label":"南投市"},{"value":"中寮乡","label":"中寮乡"},{"value":"草屯镇","label":"草屯镇"},{"value":"国姓乡","label":"国姓乡"},{"value":"埔里镇","label":"埔里镇"},{"value":"仁爱乡","label":"仁爱乡"},{"value":"名间乡","label":"名间乡"},{"value":"集集镇","label":"集集镇"},{"value":"水里乡","label":"水里乡"},{"value":"鱼池乡","label":"鱼池乡"},{"value":"信义乡","label":"信义乡"},{"value":"竹山镇","label":"竹山镇"},{"value":"鹿谷乡","label":"鹿谷乡"}]},{"value":"基隆市","label":"基隆市","children":[{"value":"仁爱区","label":"仁爱区"},{"value":"信义区","label":"信义区"},{"value":"中正区","label":"中正区"},{"value":"中山区","label":"中山区"},{"value":"安乐区","label":"安乐区"},{"value":"暖暖区","label":"暖暖区"},{"value":"七堵区","label":"七堵区"},{"value":"其它区","label":"其它区"}]},{"value":"新竹市","label":"新竹市","children":[{"value":"东区","label":"东区"},{"value":"北区","label":"北区"},{"value":"香山区","label":"香山区"},{"value":"其它区","label":"其它区"}]},{"value":"嘉义市","label":"嘉义市","children":[{"value":"东区","label":"东区"},{"value":"西区","label":"西区"},{"value":"其它区","label":"其它区"}]},{"value":"新北市","label":"新北市","children":[{"value":"万里区","label":"万里区"},{"value":"板桥区","label":"板桥区"},{"value":"汐止区","label":"汐止区"},{"value":"深坑区","label":"深坑区"},{"value":"瑞芳区","label":"瑞芳区"},{"value":"平溪区","label":"平溪区"},{"value":"双溪区","label":"双溪区"},{"value":"新店区","label":"新店区"},{"value":"坪林区","label":"坪林区"},{"value":"乌来区","label":"乌来区"},{"value":"永和区","label":"永和区"},{"value":"中和区","label":"中和区"},{"value":"土城区","label":"土城区"},{"value":"三峡区","label":"三峡区"},{"value":"树林区","label":"树林区"},{"value":"三重区","label":"三重区"},{"value":"新庄区","label":"新庄区"},{"value":"泰山区","label":"泰山区"},{"value":"林口区","label":"林口区"},{"value":"五股区","label":"五股区"},{"value":"八里区","label":"八里区"},{"value":"淡水区","label":"淡水区"},{"value":"三芝区","label":"三芝区"}]},{"value":"宜兰县","label":"宜兰县","children":[{"value":"宜兰市","label":"宜兰市"},{"value":"头城镇","label":"头城镇"},{"value":"礁溪乡","label":"礁溪乡"},{"value":"壮围乡","label":"壮围乡"},{"value":"员山乡","label":"员山乡"},{"value":"罗东镇","label":"罗东镇"},{"value":"三星乡","label":"三星乡"},{"value":"大同乡","label":"大同乡"},{"value":"五结乡","label":"五结乡"},{"value":"冬山乡","label":"冬山乡"},{"value":"苏澳镇","label":"苏澳镇"},{"value":"南澳乡","label":"南澳乡"},{"value":"钓鱼台","label":"钓鱼台"}]},{"value":"新竹县","label":"新竹县","children":[{"value":"竹北市","label":"竹北市"},{"value":"湖口乡","label":"湖口乡"},{"value":"新丰乡","label":"新丰乡"},{"value":"新埔镇","label":"新埔镇"},{"value":"关西镇","label":"关西镇"},{"value":"芎林乡","label":"芎林乡"},{"value":"宝山乡","label":"宝山乡"},{"value":"竹东镇","label":"竹东镇"},{"value":"五峰乡","label":"五峰乡"},{"value":"横山乡","label":"横山乡"},{"value":"尖石乡","label":"尖石乡"},{"value":"北埔乡","label":"北埔乡"},{"value":"峨眉乡","label":"峨眉乡"}]},{"value":"桃园县","label":"桃园县","children":[{"value":"中坜市","label":"中坜市"},{"value":"平镇市","label":"平镇市"},{"value":"龙潭乡","label":"龙潭乡"},{"value":"杨梅市","label":"杨梅市"},{"value":"新屋乡","label":"新屋乡"},{"value":"观音乡","label":"观音乡"},{"value":"桃园市","label":"桃园市"},{"value":"龟山乡","label":"龟山乡"},{"value":"八德市","label":"八德市"},{"value":"大溪镇","label":"大溪镇"},{"value":"复兴乡","label":"复兴乡"},{"value":"大园乡","label":"大园乡"},{"value":"芦竹乡","label":"芦竹乡"}]},{"value":"苗栗县","label":"苗栗县","children":[{"value":"竹南镇","label":"竹南镇"},{"value":"头份镇","label":"头份镇"},{"value":"三湾乡","label":"三湾乡"},{"value":"南庄乡","label":"南庄乡"},{"value":"狮潭乡","label":"狮潭乡"},{"value":"后龙镇","label":"后龙镇"},{"value":"通霄镇","label":"通霄镇"},{"value":"苑里镇","label":"苑里镇"},{"value":"苗栗市","label":"苗栗市"},{"value":"造桥乡","label":"造桥乡"},{"value":"头屋乡","label":"头屋乡"},{"value":"公馆乡","label":"公馆乡"},{"value":"大湖乡","label":"大湖乡"},{"value":"泰安乡","label":"泰安乡"},{"value":"铜锣乡","label":"铜锣乡"},{"value":"三义乡","label":"三义乡"},{"value":"西湖乡","label":"西湖乡"},{"value":"卓兰镇","label":"卓兰镇"}]},{"value":"彰化县","label":"彰化县","children":[{"value":"彰化市","label":"彰化市"},{"value":"芬园乡","label":"芬园乡"},{"value":"花坛乡","label":"花坛乡"},{"value":"秀水乡","label":"秀水乡"},{"value":"鹿港镇","label":"鹿港镇"},{"value":"福兴乡","label":"福兴乡"},{"value":"线西乡","label":"线西乡"},{"value":"和美镇","label":"和美镇"},{"value":"伸港乡","label":"伸港乡"},{"value":"员林镇","label":"员林镇"},{"value":"社头乡","label":"社头乡"},{"value":"永靖乡","label":"永靖乡"},{"value":"埔心乡","label":"埔心乡"},{"value":"溪湖镇","label":"溪湖镇"},{"value":"大村乡","label":"大村乡"},{"value":"埔盐乡","label":"埔盐乡"},{"value":"田中镇","label":"田中镇"},{"value":"北斗镇","label":"北斗镇"},{"value":"田尾乡","label":"田尾乡"},{"value":"埤头乡","label":"埤头乡"},{"value":"溪州乡","label":"溪州乡"},{"value":"竹塘乡","label":"竹塘乡"},{"value":"二林镇","label":"二林镇"},{"value":"大城乡","label":"大城乡"},{"value":"芳苑乡","label":"芳苑乡"},{"value":"二水乡","label":"二水乡"}]},{"value":"嘉义县","label":"嘉义县","children":[{"value":"番路乡","label":"番路乡"},{"value":"梅山乡","label":"梅山乡"},{"value":"竹崎乡","label":"竹崎乡"},{"value":"阿里山乡","label":"阿里山乡"},{"value":"中埔乡","label":"中埔乡"},{"value":"大埔乡","label":"大埔乡"},{"value":"水上乡","label":"水上乡"},{"value":"鹿草乡","label":"鹿草乡"},{"value":"太保市","label":"太保市"},{"value":"朴子市","label":"朴子市"},{"value":"东石乡","label":"东石乡"},{"value":"六脚乡","label":"六脚乡"},{"value":"新港乡","label":"新港乡"},{"value":"民雄乡","label":"民雄乡"},{"value":"大林镇","label":"大林镇"},{"value":"溪口乡","label":"溪口乡"},{"value":"义竹乡","label":"义竹乡"},{"value":"布袋镇","label":"布袋镇"}]},{"value":"云林县","label":"云林县","children":[{"value":"斗南镇","label":"斗南镇"},{"value":"大埤乡","label":"大埤乡"},{"value":"虎尾镇","label":"虎尾镇"},{"value":"土库镇","label":"土库镇"},{"value":"褒忠乡","label":"褒忠乡"},{"value":"东势乡","label":"东势乡"},{"value":"台西乡","label":"台西乡"},{"value":"仑背乡","label":"仑背乡"},{"value":"麦寮乡","label":"麦寮乡"},{"value":"斗六市","label":"斗六市"},{"value":"林内乡","label":"林内乡"},{"value":"古坑乡","label":"古坑乡"},{"value":"莿桐乡","label":"莿桐乡"},{"value":"西螺镇","label":"西螺镇"},{"value":"二仑乡","label":"二仑乡"},{"value":"北港镇","label":"北港镇"},{"value":"水林乡","label":"水林乡"},{"value":"口湖乡","label":"口湖乡"},{"value":"四湖乡","label":"四湖乡"},{"value":"元长乡","label":"元长乡"}]},{"value":"屏东县","label":"屏东县","children":[{"value":"屏东市","label":"屏东市"},{"value":"三地门乡","label":"三地门乡"},{"value":"雾台乡","label":"雾台乡"},{"value":"玛家乡","label":"玛家乡"},{"value":"九如乡","label":"九如乡"},{"value":"里港乡","label":"里港乡"},{"value":"高树乡","label":"高树乡"},{"value":"盐埔乡","label":"盐埔乡"},{"value":"长治乡","label":"长治乡"},{"value":"麟洛乡","label":"麟洛乡"},{"value":"竹田乡","label":"竹田乡"},{"value":"内埔乡","label":"内埔乡"},{"value":"万丹乡","label":"万丹乡"},{"value":"潮州镇","label":"潮州镇"},{"value":"泰武乡","label":"泰武乡"},{"value":"来义乡","label":"来义乡"},{"value":"万峦乡","label":"万峦乡"},{"value":"莰顶乡","label":"莰顶乡"},{"value":"新埤乡","label":"新埤乡"},{"value":"南州乡","label":"南州乡"},{"value":"林边乡","label":"林边乡"},{"value":"东港镇","label":"东港镇"},{"value":"琉球乡","label":"琉球乡"},{"value":"佳冬乡","label":"佳冬乡"},{"value":"新园乡","label":"新园乡"},{"value":"枋寮乡","label":"枋寮乡"},{"value":"枋山乡","label":"枋山乡"},{"value":"春日乡","label":"春日乡"},{"value":"狮子乡","label":"狮子乡"},{"value":"车城乡","label":"车城乡"},{"value":"牡丹乡","label":"牡丹乡"},{"value":"恒春镇","label":"恒春镇"},{"value":"满州乡","label":"满州乡"}]},{"value":"台东县","label":"台东县","children":[{"value":"台东市","label":"台东市"},{"value":"绿岛乡","label":"绿岛乡"},{"value":"兰屿乡","label":"兰屿乡"},{"value":"延平乡","label":"延平乡"},{"value":"卑南乡","label":"卑南乡"},{"value":"鹿野乡","label":"鹿野乡"},{"value":"关山镇","label":"关山镇"},{"value":"海端乡","label":"海端乡"},{"value":"池上乡","label":"池上乡"},{"value":"东河乡","label":"东河乡"},{"value":"成功镇","label":"成功镇"},{"value":"长滨乡","label":"长滨乡"},{"value":"金峰乡","label":"金峰乡"},{"value":"大武乡","label":"大武乡"},{"value":"达仁乡","label":"达仁乡"},{"value":"太麻里乡","label":"太麻里乡"}]},{"value":"花莲县","label":"花莲县","children":[{"value":"花莲市","label":"花莲市"},{"value":"新城乡","label":"新城乡"},{"value":"太鲁阁","label":"太鲁阁"},{"value":"秀林乡","label":"秀林乡"},{"value":"吉安乡","label":"吉安乡"},{"value":"寿丰乡","label":"寿丰乡"},{"value":"凤林镇","label":"凤林镇"},{"value":"光复乡","label":"光复乡"},{"value":"丰滨乡","label":"丰滨乡"},{"value":"瑞穗乡","label":"瑞穗乡"},{"value":"万荣乡","label":"万荣乡"},{"value":"玉里镇","label":"玉里镇"},{"value":"卓溪乡","label":"卓溪乡"},{"value":"富里乡","label":"富里乡"}]},{"value":"澎湖县","label":"澎湖县","children":[{"value":"马公市","label":"马公市"},{"value":"西屿乡","label":"西屿乡"},{"value":"望安乡","label":"望安乡"},{"value":"七美乡","label":"七美乡"},{"value":"白沙乡","label":"白沙乡"},{"value":"湖西乡","label":"湖西乡"}]},{"value":"连江县","label":"连江县","children":[{"value":"南竿乡","label":"南竿乡"},{"value":"北竿乡","label":"北竿乡"},{"value":"东引乡","label":"东引乡"},{"value":"莒光乡","label":"莒光乡"}]}]},{"value":"香港特别行政区","label":"香港特别行政区","children":[{"value":"香港岛","label":"香港岛","children":[{"value":"中西区","label":"中西区"},{"value":"湾仔","label":"湾仔"},{"value":"东区","label":"东区"},{"value":"南区","label":"南区"}]},{"value":"九龙","label":"九龙","children":[{"value":"九龙城区","label":"九龙城区"},{"value":"油尖旺区","label":"油尖旺区"},{"value":"深水埗区","label":"深水埗区"},{"value":"黄大仙区","label":"黄大仙区"},{"value":"观塘区","label":"观塘区"}]},{"value":"新界","label":"新界","children":[{"value":"北区","label":"北区"},{"value":"大埔区","label":"大埔区"},{"value":"沙田区","label":"沙田区"},{"value":"西贡区","label":"西贡区"},{"value":"元朗区","label":"元朗区"},{"value":"屯门区","label":"屯门区"},{"value":"荃湾区","label":"荃湾区"},{"value":"葵青区","label":"葵青区"},{"value":"离岛区","label":"离岛区"}]}]},{"value":"澳门特别行政区","label":"澳门特别行政区","children":[{"value":"澳门半岛","label":"澳门半岛","children":[{"value":"澳门半岛","label":"澳门半岛"}]},{"value":"离岛","label":"离岛","children":[{"value":"离岛","label":"离岛"}]}]},{"value":"海外","label":"海外","children":[]}] diff --git a/resources/frontend/src/util/echartUi.js b/resources/frontend/src/util/echartUi.js new file mode 100644 index 0000000..40584a0 --- /dev/null +++ b/resources/frontend/src/util/echartUi.js @@ -0,0 +1,36 @@ +// 引入 echarts 核心模块,核心模块提供了 echarts 使用必须要的接口。 +import * as echarts from 'echarts'; +// 引入柱状图图表,图表后缀都为 Chart +import { BarChart,LineChart,PieChart } from 'echarts/charts'; +// 引入提示框,标题,直角坐标系,数据集,内置数据转换器组件,组件后缀都为 Component +import { + TitleComponent, + TooltipComponent, + GridComponent, + DatasetComponent, + TransformComponent, + LegendComponent, + ToolboxComponent, +} from 'echarts/components'; +// 标签自动布局,全局过渡动画等特性 +import { LabelLayout, UniversalTransition } from 'echarts/features'; +// 引入 Canvas 渲染器,注意引入 CanvasRenderer 或者 SVGRenderer 是必须的一步 +import { CanvasRenderer } from 'echarts/renderers'; + +// 注册必须的组件 +echarts.use([ + ToolboxComponent, + LegendComponent, + TitleComponent, + TooltipComponent, + GridComponent, + DatasetComponent, + TransformComponent, + BarChart, + LabelLayout, + UniversalTransition, + CanvasRenderer, + LineChart, + PieChart +]); +export default echarts \ No newline at end of file diff --git a/resources/frontend/src/util/http.js b/resources/frontend/src/util/http.js index 88120fd..06d84cf 100644 --- a/resources/frontend/src/util/http.js +++ b/resources/frontend/src/util/http.js @@ -2,9 +2,15 @@ import axios from "axios"; import { getToken } from "@/util/auth"; import NProgress from "nprogress"; import "nprogress/nprogress.css"; +import qs from 'qs' +import merge from 'lodash/merge' import { Message } from "element-ui"; var instance = axios.create({ timeout: 360000, + headers: { + 'Content-Type': 'application/json; charset=utf-8', + 'Access-Control-Allow-Origin': '*', + } }); instance.interceptors.request.use( @@ -54,5 +60,43 @@ instance.interceptors.response.use( return Promise.reject(error); } ); +instance.adornParams = (params = {}, openDefultParams = false) => { + var defaults = { + 't': new Date().getTime() + } + return openDefultParams ? merge(defaults, params) : params +} +instance.adornData = (data = {}, openDefultdata = false, contentType = 'json') => { + var defaults = { + 't': new Date().getTime() + } + data = openDefultdata ? merge(defaults, data) : data + return contentType === 'json' ? JSON.stringify(data) : qs.stringify(data) +} +instance.adornUrl = (actionName) => { + //return (process.env.NODE_ENV !== 'production' && process.env.OPEN_PROXY ? 'proxyApi/' : process.env.VUE_APP_URL) + actionName + if (process.env.VUE_APP_API_NODE !== 'production' && process.env.VUE_APP_API_PROXY_PREFIX) { + console.log(111111111); + return `${actionName}` + } else { + console.log(111111111); + env.VUE_APP_BASE_URL + actionName + } +} +instance.get = (url, query) => { + return instance({ + url: instance.adornUrl(url), + method: 'get', + params: query + }) +} + +instance.post = (url, data = {}) => { + return instance({ + url: instance.adornUrl(url), + method: 'post', + data: data + }) +} export default instance; diff --git a/resources/frontend/src/util/https.js b/resources/frontend/src/util/https.js new file mode 100644 index 0000000..3efdf8d --- /dev/null +++ b/resources/frontend/src/util/https.js @@ -0,0 +1,106 @@ +import axios from "axios"; +import { getToken } from "@/util/auth"; +import NProgress from "nprogress"; +import "nprogress/nprogress.css"; +import qs from 'qs' +import merge from 'lodash/merge' +import { Message } from "element-ui"; + +const http = axios.create({ + timeout: 1000 * 50, + withCredentials: true, + headers: { + 'Content-Type': 'application/json; charset=utf-8' + } +}) + +axios.defaults.withCredentials = true; +axios.defaults.changeOrigin = true; + + +http.interceptors.request.use( + (config) => { + // config.headers['content-type'] = 'application/json' + + // config.headers['Shop-Id'] = localStorage.getItem('shopId') || 1 + + // 在发送请求之前做些什么 + // config.headers['content-type'] = 'application/json' + config.headers.Authorization = "Bearer " + getToken(); // 请求头 + NProgress.start(); + return config; + }, + (error) => { + // 对请求错误做些什么 + return Promise.reject(error); + } +); + +// 添加响应拦截器 +http.interceptors.response.use( + (response) => { + NProgress.done(); + console.log('添加响应拦截器'+response); + const res = response.status; + // 对响应数据做点什么 + if (res === 200 || res === 201) { + return response.data + } + }, + (error) => { + console.log(error.response); + NProgress.done(); + // 对响应错误做点什么 + if (error.response.status === 400) { + Message({ + message: error.response.data.errorMessage, + type: "error", + }); + } + + if (error.response.status === 500) { + Message({ + message: error.response.data.message, + type: "error", + }); + } + return Promise.reject(error); + } +); +http.adornParams = (params = {}, openDefultParams = false) => { + var defaults = { + 't': new Date().getTime() + } + return openDefultParams ? merge(defaults, params) : params +} + +http.adornData = (data = {}, openDefultdata = false, contentType = 'json') => { + var defaults = { + 't': new Date().getTime() + } + data = openDefultdata ? merge(defaults, data) : data + return contentType === 'json' ? JSON.stringify(data) : qs.stringify(data) +} +http.adornUrl = (actionName) => { + if (process.env.VUE_APP_API_NODE !== 'production' && process.env.VUE_APP_API_PROXY_PREFIX) { + return process.env.VUE_APP_API_PROXY_PREFIX+`${actionName}` + } else { + process.env.VUE_APP_BASE_URL + actionName + } +} +http.get = (url, query) => { + return http({ + url: http.adornUrl(url), + method: 'get', + params: query + }) +} + +http.post = (url, data = {}) => { + return http({ + url: http.adornUrl(url), + method: 'post', + data: data + }) +} +export default http; diff --git a/resources/frontend/src/util/msg.js b/resources/frontend/src/util/msg.js new file mode 100644 index 0000000..58891b4 --- /dev/null +++ b/resources/frontend/src/util/msg.js @@ -0,0 +1,58 @@ +import {MessageBox, Message} from 'element-ui' + +const message = (msg, type) => { + Message({ + showClose: true, + message: msg, + type: type + }); +} +//成功 +const success = (msg) => { + message(msg, 'success'); +} +//消息 +const info = (msg) => { + message(msg, 'info'); +} +//错误 +const error = (msg) => { + message(msg, 'error'); +} +//警告 +const warning = (msg) => { + message(msg, 'warning'); +} + +//ElMessageBox +const alert = ({title, msg, okBtnText, func}) => { + if (!title) { + title = '提示'; + } + if (!msg) { + msg = '错误'; + } + if (!okBtnText) { + okBtnText = '确定'; + } + MessageBox.alert(msg, title, { + confirmButtonText: okBtnText, + }).then(func ? func : () => {}) +} + +const confirm = ({title, msg, func, cFunc}) => { + MessageBox.confirm(msg, title ? title:'提示', { + confirmButtonText: '确定', + cancelButtonText: '取消', + }).then(func ? func : () => {}).catch(cFunc ? cFunc : () => {}); +} + +export default { + success, + info, + error, + warning, + alert, + confirm, +} + diff --git a/resources/frontend/src/views/Login.vue b/resources/frontend/src/views/Login.vue index 2038332..3590bf1 100644 --- a/resources/frontend/src/views/Login.vue +++ b/resources/frontend/src/views/Login.vue @@ -49,6 +49,7 @@ export default { type: "error", }); } else { + console.log(11111111); axios.post("/api/auth/login", this.form).then((res) => { let data = res.data; if (data.error) { diff --git a/resources/frontend/src/views/dataCenter/costChart.vue b/resources/frontend/src/views/dataCenter/costChart.vue new file mode 100644 index 0000000..bd58e94 --- /dev/null +++ b/resources/frontend/src/views/dataCenter/costChart.vue @@ -0,0 +1,202 @@ + + \ No newline at end of file diff --git a/resources/frontend/src/views/dataCenter/damageChart.vue b/resources/frontend/src/views/dataCenter/damageChart.vue new file mode 100644 index 0000000..39baebd --- /dev/null +++ b/resources/frontend/src/views/dataCenter/damageChart.vue @@ -0,0 +1,202 @@ + + \ No newline at end of file diff --git a/resources/frontend/src/views/dataCenter/flagChart.vue b/resources/frontend/src/views/dataCenter/flagChart.vue new file mode 100644 index 0000000..6828383 --- /dev/null +++ b/resources/frontend/src/views/dataCenter/flagChart.vue @@ -0,0 +1,146 @@ + + \ No newline at end of file diff --git a/resources/frontend/src/views/dataCenter/goodChart.vue b/resources/frontend/src/views/dataCenter/goodChart.vue new file mode 100644 index 0000000..45598db --- /dev/null +++ b/resources/frontend/src/views/dataCenter/goodChart.vue @@ -0,0 +1,90 @@ + + + \ No newline at end of file diff --git a/resources/frontend/src/views/dataCenter/salesChart.vue b/resources/frontend/src/views/dataCenter/salesChart.vue new file mode 100644 index 0000000..0f611e5 --- /dev/null +++ b/resources/frontend/src/views/dataCenter/salesChart.vue @@ -0,0 +1,201 @@ + + \ No newline at end of file diff --git a/resources/frontend/src/views/dataCenter/test.vue b/resources/frontend/src/views/dataCenter/test.vue new file mode 100644 index 0000000..3d33b67 --- /dev/null +++ b/resources/frontend/src/views/dataCenter/test.vue @@ -0,0 +1,1175 @@ + + + + + + \ No newline at end of file diff --git a/resources/frontend/src/views/index.vue b/resources/frontend/src/views/index.vue index 7afd54b..12d8d47 100644 --- a/resources/frontend/src/views/index.vue +++ b/resources/frontend/src/views/index.vue @@ -43,7 +43,7 @@ -
+
diff --git a/resources/frontend/src/views/message/message.vue b/resources/frontend/src/views/message/message.vue new file mode 100644 index 0000000..5ff33fa --- /dev/null +++ b/resources/frontend/src/views/message/message.vue @@ -0,0 +1,76 @@ + + \ No newline at end of file diff --git a/resources/frontend/src/views/stock/putWarehouse.vue b/resources/frontend/src/views/stock/putWarehouse.vue new file mode 100644 index 0000000..6382081 --- /dev/null +++ b/resources/frontend/src/views/stock/putWarehouse.vue @@ -0,0 +1,238 @@ + + \ No newline at end of file diff --git a/resources/frontend/src/views/stock/stockNotice.vue b/resources/frontend/src/views/stock/stockNotice.vue new file mode 100644 index 0000000..1c0f991 --- /dev/null +++ b/resources/frontend/src/views/stock/stockNotice.vue @@ -0,0 +1,129 @@ + + \ No newline at end of file diff --git a/resources/frontend/src/views/stock/stockTacks.vue b/resources/frontend/src/views/stock/stockTacks.vue new file mode 100644 index 0000000..d97981d --- /dev/null +++ b/resources/frontend/src/views/stock/stockTacks.vue @@ -0,0 +1,232 @@ + + \ No newline at end of file diff --git a/resources/frontend/src/views/supplier/good.vue b/resources/frontend/src/views/supplier/good.vue new file mode 100644 index 0000000..91fff58 --- /dev/null +++ b/resources/frontend/src/views/supplier/good.vue @@ -0,0 +1,123 @@ + + + + + + \ No newline at end of file diff --git a/resources/frontend/src/views/supplier/supplierList.vue b/resources/frontend/src/views/supplier/supplierList.vue index a196968..aea2ecc 100644 --- a/resources/frontend/src/views/supplier/supplierList.vue +++ b/resources/frontend/src/views/supplier/supplierList.vue @@ -1,7 +1,247 @@ \ No newline at end of file + + \ No newline at end of file diff --git a/resources/frontend/vue.config.js b/resources/frontend/vue.config.js index e4d8fb0..6f95add 100644 --- a/resources/frontend/vue.config.js +++ b/resources/frontend/vue.config.js @@ -7,8 +7,8 @@ module.exports = { proxy: { // 配置代理 "/api": { - // target: "http://erp.local", - target: "http://erp.chutang66.com", + target: "https://erp.lookthere.cn", + // target: "http://erp.chutang66.com", changeOrigin: true, // 开启代理 pathRewrite: { // 重命名 diff --git a/resources/lang/zh-CN/permission.php b/resources/lang/zh-CN/permission.php index a245aec..f68fcc0 100644 --- a/resources/lang/zh-CN/permission.php +++ b/resources/lang/zh-CN/permission.php @@ -477,4 +477,67 @@ return [ 'name' => '销售数据列表', 'parent_id' => 180, ], + // 供应商管理 + 'supplier' => [ + 'id' => 181, + 'name' => '供应商管理', + 'parent_id' => 0, + 'show' => 1, + ], + // 供应商管理-- + 'supplierList' => [ + 'id' => 182, + 'name' => '供应商列表', + 'parent_id' => 181, + 'show' => 1, + ], + // 库存管理 + 'stock' => [ + 'id' => 183, + 'name' => '库存管理', + 'parent_id' => 0, + 'show' => 1, + ], + 'putWarehouse' => [ + 'id' => 184, + 'name' => '商品入库', + 'parent_id' => 183, + 'show' => 1, + ], + 'stockNotice' => [ + 'id' => 185, + 'name' => '库存预警', + 'parent_id' => 183, + 'show' => 1, + ], + 'stockTacks' => [ + 'id' => 186, + 'name' => '盘点报损', + 'parent_id' => 183, + 'show' => 1, + ], + 'message' => [ + 'id' => 187, + 'name' => '消息列表', + 'parent_id' => 0, + 'show' => 1, + ], + 'dataChart' => [ + 'id' => 188, + 'name' => '数据报表', + 'parent_id' => 0, + 'show' => 1, + ], + 'salesData' => [ + 'id' => 189, + 'name' => '销售数据', + 'parent_id' => 188, + 'show' => 1, + ], + 'afterSales' => [ + 'id' => 190, + 'name' => '售后数据', + 'parent_id' => 188, + 'show' => 1, + ], ]; diff --git a/routes/api.php b/routes/api.php index e804ec4..720496a 100644 --- a/routes/api.php +++ b/routes/api.php @@ -12,7 +12,10 @@ use App\Http\Controllers\Group\GroupsController; use App\Http\Controllers\Business\BusinessOrderController; use App\Http\Controllers\Goods\GoodsSkuLocationController; use App\Http\Controllers\Goods\GoodsCombinationController; - +use App\Http\Controllers\Supplier\SupplierController; +use App\Http\Controllers\Warehouse\WarehouseController; +use App\Http\Controllers\Warehouse\StockNoticeControllers; +use App\Http\Controllers\DataCenter\DataChartControllers; /* |-------------------------------------------------------------------------- | API Routes @@ -23,7 +26,11 @@ use App\Http\Controllers\Goods\GoodsCombinationController; | is assigned the "api" middleware group. Enjoy building your API! | */ +Route::get('test', [ShopsController::class, 'test']); + Route::middleware(['auth:api', 'check.permissions'])->group(function () { + +// $api->post('index', 'IndexController@IndexHomeQueue'); // 用户 Route::resource('users', 'User\UsersController', ['only' => ['index', 'store', 'show', 'update', 'destroy']]); // 商品种类 @@ -73,6 +80,7 @@ Route::middleware(['auth:api', 'check.permissions'])->group(function () { // 数据中心 Route::get('data_center/sales_report', [DataCenterController::class, 'salesReport'])->name('sales_report.index'); }); + Route::get('stock/goods_skus', [GoodsSkusController::class, 'stockNum'])->middleware('auth:api'); Route::get('goods/filter/{title}', [GoodsCombinationController::class, 'goodsSkus'])->middleware('auth:api'); // 登录 @@ -99,6 +107,11 @@ Route::post('business', [ShopsController::class, 'business'])->name('shop.put.bu Route::post('inventory/goods_skus', [GoodsSkusController::class, 'inventoryImport'])->name('goods_sku.inventory'); // 上新导入 Route::post('new/set/goods_skus', [GoodsSkusController::class, 'newSetImport'])->name('goods_sku.new_set'); +// 报损导入 +Route::post('uploadStockTacks', [WarehouseController::class, 'uploadStockTacks'])->middleware('auth:api'); +// 入库导入 +Route::post('uploadPutWarehouse', [WarehouseController::class, 'uploadPutWarehouse'])->middleware('auth:api'); + // 商品货架导入 Route::post('goods_sku_location', [GoodsSkuLocationController::class, 'import'])->name('goods_sku_location.import'); // 组合商品导入 @@ -107,5 +120,42 @@ Route::post('combination/goods', [GoodsCombinationController::class, 'import'])- Route::post('today/price', [BusinessGoodsSkusController::class, 'todayPriceImport'])->name('plat.today_price.import'); // 文件上传 Route::post('upload', [UploadController::class, 'store'])->name('upload.file'); + // 商品列表 Route::get('goodsSkusList', [GoodsSkusController::class, 'goodsSkusList'])->name('goods_sku.list_for_goods_sku'); + +/* + * 供应商管理 + * + * */ +Route::get('listSupplier', [SupplierController::class, 'index'])->middleware('auth:api'); +Route::post('saveSupplier', [SupplierController::class, 'save'])->middleware('auth:api'); +Route::post('delSupplier', [SupplierController::class, 'delete'])->middleware('auth:api'); +Route::post('getSupplierType', [SupplierController::class, 'getSupplierType'])->middleware('auth:api'); +/* + * 库存管理 + * + * */ +Route::post('getProSku', [WarehouseController::class, 'getProSku'])->middleware('auth:api'); +Route::post('savePutWarehouse', [WarehouseController::class, 'savePutWarehouse'])->middleware('auth:api'); +Route::get('listPutWarehouse', [WarehouseController::class, 'listPutWarehouse'])->middleware('auth:api'); +Route::post('delPutWarehouse', [WarehouseController::class, 'delPutWarehouse'])->middleware('auth:api'); +Route::post('stockNoticeList', [StockNoticeControllers::class, 'stockNoticeList'])->middleware('auth:api'); +Route::post('saveStockNotice', [StockNoticeControllers::class, 'saveStockNotice'])->middleware('auth:api'); + +Route::post('getNoticeList', [StockNoticeControllers::class, 'getNoticeList'])->middleware('auth:api'); +Route::post('getSaveRead', [StockNoticeControllers::class, 'getSaveRead'])->middleware('auth:api'); +//报损 +Route::post('saveStockTacks', [WarehouseController::class, 'saveStockTacks'])->middleware('auth:api'); +Route::post('delStockTacks', [WarehouseController::class, 'delStockTacks'])->middleware('auth:api'); +Route::get('listStockTacks', [WarehouseController::class, 'listStockTacks'])->middleware('auth:api'); + +Route::post('goodChart', [DataChartControllers::class, 'goodChart'])->middleware('auth:api'); +Route::post('damageChart', [DataChartControllers::class, 'damageChart'])->middleware('auth:api'); +//销售图表 +Route::post('salesChart', [DataChartControllers::class, 'salesChart'])->middleware('auth:api'); +//交易趋势 +Route::post('flagChart', [DataChartControllers::class, 'flagChart'])->middleware('auth:api'); +//成本数据 +Route::post('costChart', [DataChartControllers::class, 'costChart'])->middleware('auth:api'); +Route::post('getOrderServerData', [DataChartControllers::class, 'getOrderServerData'])->middleware('auth:api'); diff --git a/routes/web.php b/routes/web.php index fc27246..7e79d3d 100644 --- a/routes/web.php +++ b/routes/web.php @@ -18,7 +18,8 @@ use App\Http\Controllers\Business\BusinessGoodsSkusController; */ Route::get('/', function () { - header('Location: ' . url()->current() . "/dist"); +// header('Location: ' . url()->current() . "/dist"); + return "hello"; }); Route::get('goods_skus/export', [GoodsSkusController::class, 'export'])->name('goods_skus.export');