From f9d4785b0cb947c0fbe74caac4efa2365916991a Mon Sep 17 00:00:00 2001 From: zhouyuejun <505127606@qq.com> Date: Sun, 30 Dec 2018 15:03:42 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=BC=82=E5=B8=B8=E6=8A=9B?= =?UTF-8?q?=E5=87=BA=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/pages/main/main.component.scss | 12 - .../personal-settings.component.ts | 17 +- src/app/utils/flights-data-handle.ts | 911 +- src/assets/images/Vlad.png | Bin 47573 -> 0 bytes src/assets/images/page-loading.gif | Bin 1324443 -> 0 bytes src/assets/mock-data/aircraft-code.json | 42 - src/assets/mock-data/aircraft-data.json | 171 - src/assets/mock-data/aircraft-type-code.json | 67 - src/assets/mock-data/aircraft-type-data.json | 171 - src/assets/mock-data/airline-code-data.json | 171 - src/assets/mock-data/airline-code.json | 47 - src/assets/mock-data/airline-col_code.json | 162 - src/assets/mock-data/airline-color.json | 6 - src/assets/mock-data/airline-data.json | 15898 ---------------- src/assets/mock-data/airport-code.json | 52 - src/assets/mock-data/airport-data.json | 171 - src/assets/mock-data/carousel-code.json | 22 - src/assets/mock-data/carousel-data.json | 171 - src/assets/mock-data/checkin-data.json | 171 - src/assets/mock-data/checkin-group.json | 12 - src/assets/mock-data/checkindesk-code.json | 27 - src/assets/mock-data/checkindesk-data.json | 171 - src/assets/mock-data/chut-code.json | 12 - src/assets/mock-data/chut-data.json | 171 - src/assets/mock-data/city-code.json | 22 - src/assets/mock-data/city-data.json | 171 - src/assets/mock-data/gate-code.json | 22 - src/assets/mock-data/gate-data.json | 171 - src/assets/mock-data/historical-code.json | 108 - src/assets/mock-data/historical-data.json | 139 - src/assets/mock-data/seasonal-code.json | 87 - src/assets/mock-data/seasonal-data.json | 139 - src/assets/mock-data/stand-code.json | 27 - src/assets/mock-data/stand-data.json | 171 - src/assets/mock-data/terminal-area-code.json | 12 - src/assets/mock-data/terminal-area-data.json | 171 - src/assets/mock-data/terminal-code.json | 12 - src/assets/mock-data/terminal-data.json | 171 - 38 files changed, 471 insertions(+), 19607 deletions(-) delete mode 100644 src/assets/images/Vlad.png delete mode 100644 src/assets/images/page-loading.gif delete mode 100644 src/assets/mock-data/aircraft-code.json delete mode 100644 src/assets/mock-data/aircraft-data.json delete mode 100644 src/assets/mock-data/aircraft-type-code.json delete mode 100644 src/assets/mock-data/aircraft-type-data.json delete mode 100644 src/assets/mock-data/airline-code-data.json delete mode 100644 src/assets/mock-data/airline-code.json delete mode 100644 src/assets/mock-data/airline-col_code.json delete mode 100644 src/assets/mock-data/airline-color.json delete mode 100644 src/assets/mock-data/airline-data.json delete mode 100644 src/assets/mock-data/airport-code.json delete mode 100644 src/assets/mock-data/airport-data.json delete mode 100644 src/assets/mock-data/carousel-code.json delete mode 100644 src/assets/mock-data/carousel-data.json delete mode 100644 src/assets/mock-data/checkin-data.json delete mode 100644 src/assets/mock-data/checkin-group.json delete mode 100644 src/assets/mock-data/checkindesk-code.json delete mode 100644 src/assets/mock-data/checkindesk-data.json delete mode 100644 src/assets/mock-data/chut-code.json delete mode 100644 src/assets/mock-data/chut-data.json delete mode 100644 src/assets/mock-data/city-code.json delete mode 100644 src/assets/mock-data/city-data.json delete mode 100644 src/assets/mock-data/gate-code.json delete mode 100644 src/assets/mock-data/gate-data.json delete mode 100644 src/assets/mock-data/historical-code.json delete mode 100644 src/assets/mock-data/historical-data.json delete mode 100644 src/assets/mock-data/seasonal-code.json delete mode 100644 src/assets/mock-data/seasonal-data.json delete mode 100644 src/assets/mock-data/stand-code.json delete mode 100644 src/assets/mock-data/stand-data.json delete mode 100644 src/assets/mock-data/terminal-area-code.json delete mode 100644 src/assets/mock-data/terminal-area-data.json delete mode 100644 src/assets/mock-data/terminal-code.json delete mode 100644 src/assets/mock-data/terminal-data.json diff --git a/src/app/pages/main/main.component.scss b/src/app/pages/main/main.component.scss index 5c34736..7b3944a 100644 --- a/src/app/pages/main/main.component.scss +++ b/src/app/pages/main/main.component.scss @@ -136,18 +136,6 @@ } } -.page-loading{ - width: 100%; - height: 100%; - background-image: url('../../../assets/images/page-loading.gif'); - background-repeat: no-repeat; - background-size: 100% 100%; - position: absolute; - top: 0; - left: 0; - z-index: 999; -} - // @media screen and (min-width: 1200px){ // .line-operator-right{ // text-align: left; diff --git a/src/app/pages/system-management/personal-settings/personal-settings.component.ts b/src/app/pages/system-management/personal-settings/personal-settings.component.ts index 74c3bc2..68a48e1 100644 --- a/src/app/pages/system-management/personal-settings/personal-settings.component.ts +++ b/src/app/pages/system-management/personal-settings/personal-settings.component.ts @@ -71,14 +71,13 @@ export class PersonalSettingsComponent implements OnInit { {"COL_CODE":"FLNO", "COL_CN":"航班号", "COL_ORDER":"22"}, {"COL_CODE":"FTSS", "COL_CN":"运营状态", "COL_ORDER":"23"}, {"COL_CODE":"FLIN", "COL_CN":"航线类别", "COL_ORDER":"24"}, - {"COL_CODE":"IMPA", "COL_CN":"重要提示", "COL_ORDER":"25"}, - {"COL_CODE":"SODT", "COL_CN":"计划到达/出发", "COL_ORDER":"26"}, - {"COL_CODE":"TRML", "COL_CN":"航站楼", "COL_ORDER":"27"}, - {"COL_CODE":"FLTY", "COL_CN":"航班类别", "COL_ORDER":"28"}, - {"COL_CODE":"GTDT", "COL_CN":"登机门号 ", "COL_ORDER":"29"}, - {"COL_CODE":"PADT", "COL_CN":"前站起飞时间", "COL_ORDER":"30"}, - {"COL_CODE":"CSFT", "COL_CN":"共享航班号", "COL_ORDER":"31"}, - {"COL_CODE":"STND", "COL_CN":"当前机位", "COL_ORDER":"32"}, + {"COL_CODE":"SODT", "COL_CN":"计划到达/出发", "COL_ORDER":"25"}, + {"COL_CODE":"TRML", "COL_CN":"航站楼", "COL_ORDER":"26"}, + {"COL_CODE":"FLTY", "COL_CN":"航班类别", "COL_ORDER":"27"}, + {"COL_CODE":"GTDT", "COL_CN":"登机门号 ", "COL_ORDER":"28"}, + {"COL_CODE":"PADT", "COL_CN":"前站起飞时间", "COL_ORDER":"29"}, + {"COL_CODE":"CSFT", "COL_CN":"共享航班号", "COL_ORDER":"30"}, + {"COL_CODE":"STND", "COL_CN":"当前机位", "COL_ORDER":"31"}, ] /* 备注:实际数据中,把原始数据录入到临时变量中,方便取消按钮,重置数据 @@ -220,7 +219,7 @@ export class PersonalSettingsComponent implements OnInit { item.COL_ORDER=index+1 }) let content={ - allCols:this.defaultCols, + defaultData:this.defaultCols, sourceList:this.sourceList, targetList:this.targetList, } diff --git a/src/app/utils/flights-data-handle.ts b/src/app/utils/flights-data-handle.ts index ff4b7c6..5908774 100644 --- a/src/app/utils/flights-data-handle.ts +++ b/src/app/utils/flights-data-handle.ts @@ -80,250 +80,375 @@ export class FlightsDataHandle { render_rea_flight = {}, flights_item = Object.assign({}, item) - if (flights_item['preFlight'] && !flights_item['reaFlight']) { - render_flight['FLID'] = flights_item['preFlight']['FLID'] - for (let i = 0; i < col_lists.length; i++) { - let key = col_lists[i]['COL_CODE']; - render_flight[key] = this.formatter.hasOwnProperty(key) ? this.formatter[key](flights_item['preFlight']) : flights_item['preFlight'][key]; - } - flights_item['renderFlight'] = render_flight; - } else if (!flights_item['preFlight'] && flights_item['reaFlight']) { - render_flight['FLID'] = flights_item['reaFlight']['FLID'] - for (let i = 0; i < col_lists.length; i++) { - let key = col_lists[i]['COL_CODE'] - render_flight[key] = this.formatter.hasOwnProperty(key) ? this.formatter[key](flights_item['reaFlight']) : flights_item['reaFlight'][key]; - } - flights_item['renderFlight'] = render_flight; - } else { - render_flight['FLID'] = flights_item['preFlight']['FLID'] + ' / ' + flights_item['reaFlight']['FLID']; - render_pre_flight['FLID'] = flights_item['preFlight']['FLID']; - render_rea_flight['FLID'] = flights_item['reaFlight']['FLID']; - for (let i = 0; i < col_lists.length; i++) { - let preHasValue, reaHasValue; - let key = col_lists[i]['COL_CODE']; - if (this.formatter.hasOwnProperty(key)) { - preHasValue = this.formatter[key](flights_item['preFlight']); - reaHasValue = this.formatter[key](flights_item['reaFlight']); - } else { - preHasValue = flights_item['preFlight'][key]; - reaHasValue = flights_item['reaFlight'][key]; + try { + if (flights_item['preFlight'] && !flights_item['reaFlight']) { + render_flight['FLID'] = flights_item['preFlight']['FLID'] + for (let i = 0; i < col_lists.length; i++) { + let key = col_lists[i]['COL_CODE']; + render_flight[key] = this.formatter.hasOwnProperty(key) ? this.formatter[key](flights_item['preFlight']) : flights_item['preFlight'][key]; } + flights_item['renderFlight'] = render_flight; + } else if (!flights_item['preFlight'] && flights_item['reaFlight']) { + render_flight['FLID'] = flights_item['reaFlight']['FLID'] + for (let i = 0; i < col_lists.length; i++) { + let key = col_lists[i]['COL_CODE'] + render_flight[key] = this.formatter.hasOwnProperty(key) ? this.formatter[key](flights_item['reaFlight']) : flights_item['reaFlight'][key]; + } + flights_item['renderFlight'] = render_flight; + } else { + render_flight['FLID'] = flights_item['preFlight']['FLID'] + ' / ' + flights_item['reaFlight']['FLID']; + render_pre_flight['FLID'] = flights_item['preFlight']['FLID']; + render_rea_flight['FLID'] = flights_item['reaFlight']['FLID']; + for (let i = 0; i < col_lists.length; i++) { + let preHasValue, reaHasValue; + let key = col_lists[i]['COL_CODE']; + if (this.formatter.hasOwnProperty(key)) { + preHasValue = this.formatter[key](flights_item['preFlight']); + reaHasValue = this.formatter[key](flights_item['reaFlight']); + } else { + preHasValue = flights_item['preFlight'][key]; + reaHasValue = flights_item['reaFlight'][key]; + } - if (preHasValue && !reaHasValue) { - if (key === 'SODT' || key === 'ESTT' || key === 'ACTT') { - render_flight[key] = preHasValue + ' / '; - } else { - render_flight[key] = preHasValue; - } - } else if (!preHasValue && reaHasValue) { - if (key === 'SODT' || key === 'ESTT' || key === 'ACTT') { - render_flight[key] = ' / ' + reaHasValue; - } else { - render_flight[key] = reaHasValue; - } - } else if (preHasValue && reaHasValue) { - if (preHasValue === reaHasValue) { - render_flight[key] = preHasValue; - } else { - if (key === 'ERUT') { - render_flight[key] = preHasValue.split(' - ').slice(0, -1).join(' - ') + ' - ' + reaHasValue; + if (preHasValue && !reaHasValue) { + if (key === 'SODT' || key === 'ESTT' || key === 'ACTT') { + render_flight[key] = preHasValue + ' / '; } else { - render_flight[key] = preHasValue + ' / ' + reaHasValue; + render_flight[key] = preHasValue; } + } else if (!preHasValue && reaHasValue) { + if (key === 'SODT' || key === 'ESTT' || key === 'ACTT') { + render_flight[key] = ' / ' + reaHasValue; + } else { + render_flight[key] = reaHasValue; + } + } else if (preHasValue && reaHasValue) { + if (preHasValue === reaHasValue) { + render_flight[key] = preHasValue; + } else { + if (key === 'ERUT') { + render_flight[key] = preHasValue.split(' - ').slice(0, -1).join(' - ') + ' - ' + reaHasValue; + } else { + render_flight[key] = preHasValue + ' / ' + reaHasValue; + } + } + } else { + render_flight[key] = ''; } - } else { - render_flight[key] = ''; + render_pre_flight[key] = preHasValue; + render_rea_flight[key] = reaHasValue; } - render_pre_flight[key] = preHasValue; - render_rea_flight[key] = reaHasValue; + flights_item['renderPreFlight'] = render_pre_flight; + flights_item['renderReaFlight'] = render_rea_flight; + flights_item['renderFlight'] = Object.assign({}, render_flight); } - flights_item['renderPreFlight'] = render_pre_flight; - flights_item['renderReaFlight'] = render_rea_flight; - flights_item['renderFlight'] = Object.assign({}, render_flight); + } catch (error) { + alert('数据有误,处理失败,请检查数据'); + throw error; + } finally { + return flights_item; } - - return flights_item; } public basicDataTransHandle(item, airports, citys, airlines, flightStatus, flightTypes) { - if (this.orderHandle.isArriFlight(item) || this.orderHandle.isDeptFlight(item)) { - //航线处理 - let erutCodeArray = item['renderFlight']['ERUT'].split(' - '); - let erutChnArray = [] - for (let i = 0; i < erutCodeArray.length; i++) { - try { - let airportIndex = airports.findIndex(val => val.airportCodeIata === erutCodeArray[i]); - let cityIndex = citys.findIndex(val => airports[airportIndex].cityId === val.cityId); - erutChnArray.push(citys[cityIndex].cityNameChn); - } catch (error) { - erutChnArray.push(erutCodeArray[i]); + try { + if (this.orderHandle.isArriFlight(item) || this.orderHandle.isDeptFlight(item)) { + //航线处理 + let erutCodeArray = item['renderFlight']['ERUT'].split(' - '); + let erutChnArray = [] + for (let i = 0; i < erutCodeArray.length; i++) { + try { + let airportIndex = airports.findIndex(val => val.airportCodeIata === erutCodeArray[i]); + let cityIndex = citys.findIndex(val => airports[airportIndex].cityId === val.cityId); + erutChnArray.push(citys[cityIndex].cityNameChn); + } catch (error) { + erutChnArray.push(erutCodeArray[i]); + } } - } - item['renderFlight']['ERUT'] = erutChnArray.join(' - '); - //航空公司处理 - let airlineIndex = airlines.findIndex(val => val.airlineCode === item['renderFlight']['ALCD']); - item['renderFlight']['ALCD'] = airlines[airlineIndex].airlineName; - //运营状态处理 - item['renderFlight']['FTSS'] = flightStatus.find(val => val.sttc === item['renderFlight']['FTSS']).stdc; - //航班类型处理 - item['renderFlight']['FLTY'] = flightTypes.find(val => val.flightTypeCode === item['renderFlight']['FLTY']).flightTypeNameCn; - } else { - //航线处理 - let erutLinkCodeArray = item['renderFlight']['ERUT'].split(' - '); - let erutLinkChnArray = [] - for (let i = 0; i < erutLinkCodeArray.length; i++) { - try { - let airportIndex = airports.findIndex(val => val.airportCodeIata === erutLinkCodeArray[i]); - let cityIndex = citys.findIndex(val => airports[airportIndex].cityId === val.cityId); - erutLinkChnArray.push(citys[cityIndex].cityNameChn); - } catch (error) { - erutLinkChnArray.push(erutLinkCodeArray[i]); + item['renderFlight']['ERUT'] = erutChnArray.join(' - '); + //航空公司处理 + let airlineIndex = airlines.findIndex(val => val.airlineCode === item['renderFlight']['ALCD']); + item['renderFlight']['ALCD'] = airlines[airlineIndex].airlineName; + //运营状态处理 + item['renderFlight']['FTSS'] = flightStatus.find(val => val.sttc === item['renderFlight']['FTSS']).stdc; + //航班类型处理 + item['renderFlight']['FLTY'] = flightTypes.find(val => val.flightTypeCode === item['renderFlight']['FLTY']).flightTypeNameCn; + } else { + //航线处理 + let erutLinkCodeArray = item['renderFlight']['ERUT'].split(' - '); + let erutLinkChnArray = [] + for (let i = 0; i < erutLinkCodeArray.length; i++) { + try { + let airportIndex = airports.findIndex(val => val.airportCodeIata === erutLinkCodeArray[i]); + let cityIndex = citys.findIndex(val => airports[airportIndex].cityId === val.cityId); + erutLinkChnArray.push(citys[cityIndex].cityNameChn); + } catch (error) { + erutLinkChnArray.push(erutLinkCodeArray[i]); + } } - } - item['renderFlight']['ERUT'] = erutLinkChnArray.join(' - '); - //航空公司处理 - let airlineLinkIndex = airlines.findIndex(val => val.airlineCode === item['renderFlight']['ALCD']); - item['renderFlight']['ALCD'] = airlines[airlineLinkIndex].airlineName; - //运营状态处理 - let ftssLinkCodeArray = item['renderFlight']['FTSS'].split(' / '); - let ftssLinkChnArray = []; - for (let i = 0; i < ftssLinkCodeArray.length; i++) { - ftssLinkChnArray.push(flightStatus.find(val => val.sttc === ftssLinkCodeArray[i]).stdc) - } - item['renderFlight']['FTSS'] = ftssLinkChnArray.join(' / '); + item['renderFlight']['ERUT'] = erutLinkChnArray.join(' - '); + //航空公司处理 + let airlineLinkIndex = airlines.findIndex(val => val.airlineCode === item['renderFlight']['ALCD']); + item['renderFlight']['ALCD'] = airlines[airlineLinkIndex].airlineName; + //运营状态处理 + let ftssLinkCodeArray = item['renderFlight']['FTSS'].split(' / '); + let ftssLinkChnArray = []; + for (let i = 0; i < ftssLinkCodeArray.length; i++) { + ftssLinkChnArray.push(flightStatus.find(val => val.sttc === ftssLinkCodeArray[i]).stdc) + } + item['renderFlight']['FTSS'] = ftssLinkChnArray.join(' / '); - //航班类型处理 - let fltyLinkCodeArray = item['renderFlight']['FLTY'].split(' / '); - let fltyLinkChnArray = []; - for (let i = 0; i < fltyLinkCodeArray.length; i++) { - fltyLinkChnArray.push(flightTypes.find(val => val.flightTypeCode === fltyLinkCodeArray[i]).flightTypeNameCn) - } - item['renderFlight']['FLTY'] = fltyLinkChnArray.join(' / '); - - //航线处理 - let erutPreCodeArray = item['renderPreFlight']['ERUT'].split(' - '); - let erutPreChnArray = [] - for (let i = 0; i < erutPreCodeArray.length; i++) { - try { - let airportIndex = airports.findIndex(val => val.airportCodeIata === erutPreCodeArray[i]); - let cityIndex = citys.findIndex(val => airports[airportIndex].cityId === val.cityId); - erutPreChnArray.push(citys[cityIndex].cityNameChn); - } catch (error) { - erutPreChnArray.push(erutPreCodeArray[i]); + //航班类型处理 + let fltyLinkCodeArray = item['renderFlight']['FLTY'].split(' / '); + let fltyLinkChnArray = []; + for (let i = 0; i < fltyLinkCodeArray.length; i++) { + fltyLinkChnArray.push(flightTypes.find(val => val.flightTypeCode === fltyLinkCodeArray[i]).flightTypeNameCn) } - } - item['renderPreFlight']['ERUT'] = erutPreChnArray.join(' - '); - //航空公司处理 - let airlinePreIndex = airlines.findIndex(val => val.airlineCode === item['renderPreFlight']['ALCD']); - item['renderPreFlight']['ALCD'] = airlines[airlinePreIndex].airlineName; - //运营状态处理 - item['renderPreFlight']['FTSS'] = flightStatus.find(val => val.sttc === item['renderPreFlight']['FTSS']).stdc - //航班类型处理 - item['renderPreFlight']['FLTY'] = flightTypes.find(val => val.flightTypeCode === item['renderPreFlight']['FLTY']).flightTypeNameCn; + item['renderFlight']['FLTY'] = fltyLinkChnArray.join(' / '); + + //航线处理 + let erutPreCodeArray = item['renderPreFlight']['ERUT'].split(' - '); + let erutPreChnArray = [] + for (let i = 0; i < erutPreCodeArray.length; i++) { + try { + let airportIndex = airports.findIndex(val => val.airportCodeIata === erutPreCodeArray[i]); + let cityIndex = citys.findIndex(val => airports[airportIndex].cityId === val.cityId); + erutPreChnArray.push(citys[cityIndex].cityNameChn); + } catch (error) { + erutPreChnArray.push(erutPreCodeArray[i]); + } + } + item['renderPreFlight']['ERUT'] = erutPreChnArray.join(' - '); + //航空公司处理 + let airlinePreIndex = airlines.findIndex(val => val.airlineCode === item['renderPreFlight']['ALCD']); + item['renderPreFlight']['ALCD'] = airlines[airlinePreIndex].airlineName; + //运营状态处理 + item['renderPreFlight']['FTSS'] = flightStatus.find(val => val.sttc === item['renderPreFlight']['FTSS']).stdc + //航班类型处理 + item['renderPreFlight']['FLTY'] = flightTypes.find(val => val.flightTypeCode === item['renderPreFlight']['FLTY']).flightTypeNameCn; - //航线处理 - let erutReaCodeArray = item['renderReaFlight']['ERUT'].split(' - '); - let erutReaChnArray = [] - for (let i = 0; i < erutReaCodeArray.length; i++) { - try { - let airportIndex = airports.findIndex(val => val.airportCodeIata === erutReaCodeArray[i]); - let cityIndex = citys.findIndex(val => airports[airportIndex].cityId === val.cityId); - erutReaChnArray.push(citys[cityIndex].cityNameChn); - } catch (error) { - erutReaChnArray.push(erutReaCodeArray[i]); + //航线处理 + let erutReaCodeArray = item['renderReaFlight']['ERUT'].split(' - '); + let erutReaChnArray = [] + for (let i = 0; i < erutReaCodeArray.length; i++) { + try { + let airportIndex = airports.findIndex(val => val.airportCodeIata === erutReaCodeArray[i]); + let cityIndex = citys.findIndex(val => airports[airportIndex].cityId === val.cityId); + erutReaChnArray.push(citys[cityIndex].cityNameChn); + } catch (error) { + erutReaChnArray.push(erutReaCodeArray[i]); + } } + item['renderReaFlight']['ERUT'] = erutReaChnArray.join(' - '); + //航空公司处理 + let airlineReaIndex = airlines.findIndex(val => val.airlineCode === item['renderReaFlight']['ALCD']); + item['renderReaFlight']['ALCD'] = airlines[airlineReaIndex].airlineName; + //运营状态处理 + item['renderReaFlight']['FTSS'] = flightStatus.find(val => val.sttc === item['renderReaFlight']['FTSS']).stdc + //航班类型处理 + item['renderReaFlight']['FLTY'] = flightTypes.find(val => val.flightTypeCode === item['renderReaFlight']['FLTY']).flightTypeNameCn; } - item['renderReaFlight']['ERUT'] = erutReaChnArray.join(' - '); - //航空公司处理 - let airlineReaIndex = airlines.findIndex(val => val.airlineCode === item['renderReaFlight']['ALCD']); - item['renderReaFlight']['ALCD'] = airlines[airlineReaIndex].airlineName; - //运营状态处理 - item['renderReaFlight']['FTSS'] = flightStatus.find(val => val.sttc === item['renderReaFlight']['FTSS']).stdc - //航班类型处理 - item['renderReaFlight']['FLTY'] = flightTypes.find(val => val.flightTypeCode === item['renderReaFlight']['FLTY']).flightTypeNameCn; + } catch (error) { + alert('数据有误,处理失败,请检查数据'); + throw error; + } finally { + return item; } - - return item; } public dynamicMessageHandle(message, render_data, col_lists, filterItems, LASTSEARCH, LAST_SEL_COL, airports, citys, airlines, flightStatus, flightTypes) { - if (message.MVIN === 'A') { - //针对render_data的处理 - let index1 = render_data.findIndex(element => { - if (this.orderHandle.isArriFlight(element) || this.orderHandle.isLinked(element)) { - if (element['preFlight']['FLID'] === message.FLID) { - return true; + try { + if (message.MVIN === 'A') { + //针对render_data的处理 + let index1 = render_data.findIndex(element => { + if (this.orderHandle.isArriFlight(element) || this.orderHandle.isLinked(element)) { + if (element['preFlight']['FLID'] === message.FLID) { + return true; + } else { + return false; + } } else { return false; } - } else { - return false; - } - }) - if (index1 > -1) { - render_data[index1]['preFlight'] = message; - render_data[index1] = this.flightsRenderTransfer(render_data[index1], col_lists); - render_data[index1] = this.basicDataTransHandle(render_data[index1], airports, citys, airlines, flightStatus, flightTypes); + }) + if (index1 > -1) { + render_data[index1]['preFlight'] = message; + render_data[index1] = this.flightsRenderTransfer(render_data[index1], col_lists); + render_data[index1] = this.basicDataTransHandle(render_data[index1], airports, citys, airlines, flightStatus, flightTypes); - let is_satis = true; - for (const key in filterItems) { - if (filterItems.hasOwnProperty(key) && filterItems[key]) { - if (key === 'Abnormal_state') { - if (render_data[index1]['preFlight'][filterItems[key]]) { - is_satis = true; - continue; + let is_satis = true; + for (const key in filterItems) { + if (filterItems.hasOwnProperty(key) && filterItems[key]) { + if (key === 'Abnormal_state') { + if (render_data[index1]['preFlight'][filterItems[key]]) { + is_satis = true; + continue; + } else { + is_satis = false; + break; + } } else { - is_satis = false; - break; - } - } else { - if (render_data[index1]['preFlight'][key] === filterItems[key]) { - is_satis = true; - continue; - } else { - is_satis = false; - break; + if (render_data[index1]['preFlight'][key] === filterItems[key]) { + is_satis = true; + continue; + } else { + is_satis = false; + break; + } } } } - } - let search_satis = true; - if (LASTSEARCH) { - if (LAST_SEL_COL) { - if (render_data[index1]['preFlight'][LAST_SEL_COL]) { - if (render_data[index1]['preFlight'][LAST_SEL_COL].toString().match(new RegExp(LASTSEARCH, 'i'))) { - search_satis = true; + let search_satis = true; + if (LASTSEARCH) { + if (LAST_SEL_COL) { + if (render_data[index1]['preFlight'][LAST_SEL_COL]) { + if (render_data[index1]['preFlight'][LAST_SEL_COL].toString().match(new RegExp(LASTSEARCH, 'i'))) { + search_satis = true; + } else { + search_satis = false; + } } else { search_satis = false; } } else { - search_satis = false; - } - } else { - let cols = col_lists; - for (let i = 0; i < cols.length; i++) { - if (render_data[index1]['renderFlight'][cols[i]['COL_CODE']]) { - if (render_data[index1]['renderFlight'][cols[i]['COL_CODE']].toString().match(new RegExp(LASTSEARCH, 'i'))) { - search_satis = true; - break; + let cols = col_lists; + for (let i = 0; i < cols.length; i++) { + if (render_data[index1]['renderFlight'][cols[i]['COL_CODE']]) { + if (render_data[index1]['renderFlight'][cols[i]['COL_CODE']].toString().match(new RegExp(LASTSEARCH, 'i'))) { + search_satis = true; + break; + } else { + search_satis = false; + continue; + } } else { search_satis = false; continue; } - } else { - search_satis = false; - continue; } } } - } - if (is_satis && search_satis) { - // if (message.UPTP === 'FLOP-TAOP') { - if (message.TAID) { + if (is_satis && search_satis) { + // if (message.UPTP === 'FLOP-TAOP') { + if (message.TAID) { + if (this.orderHandle.isArriFlight(render_data[index1])) { + let i = render_data.findIndex(element => { + if (this.orderHandle.isDeptFlight(element)) { + if (message.TAID === element['reaFlight']['FLID']) { + return true; + } else { + return false; + } + } else { + return false; + } + }) + + if (i > -1) { + // render_data.splice(index1, 1); + render_data[i]['reaFlight']['TAID'] = message.FLID; + render_data[i]['preFlight'] = message; + render_data.splice(index1, 1); + // let newFlight = {}; + // newFlight['preFlight'] = message; + // newFlight['reaFlight'] = render_data[i]['reaFlight']; + // render_data.splice(i, 1); + render_data[i] = this.flightsRenderTransfer(render_data[i], col_lists); + render_data[i] = this.basicDataTransHandle(render_data[i], airports, citys, airlines, flightStatus, flightTypes); + // render_data.push(newFlight) + } + } + } else { + if (this.orderHandle.isLinked(render_data[index1])) { + let newPreFlight = {}, + newReaFlight = {}; + + delete render_data[index1]['preFlight']['TAID']; + newPreFlight['preFlight'] = render_data[index1]['preFlight']; + newPreFlight['renderFlight'] = render_data[index1]['renderPreFlight']; + delete render_data[index1]['reaFlight']['TAID']; + newPreFlight['reaFlight'] = render_data[index1]['reaFlight']; + newPreFlight['renderFlight'] = render_data[index1]['renderReaFlight']; + render_data.splice(index1, 1); + render_data.push(newPreFlight); + render_data.push(newReaFlight); + } + } + // } + } else { if (this.orderHandle.isArriFlight(render_data[index1])) { + render_data.splice(index1, 1); + } else if (this.orderHandle.isLinked(render_data[index1])) { + delete render_data[index1]['preFlight']; + delete render_data[index1]['renderPreFlight']; + render_data[index1] = this.flightsRenderTransfer(render_data[index1], col_lists); + render_data[index1] = this.basicDataTransHandle(render_data[index1], airports, citys, airlines, flightStatus, flightTypes); + } + } + } else { + let newFlight = {}; + newFlight['preFlight'] = message; + newFlight = this.flightsRenderTransfer(newFlight, col_lists); + newFlight = this.basicDataTransHandle(newFlight, airports, citys, airlines, flightStatus, flightTypes); + + let is_satis = true; + for (const key in filterItems) { + if (filterItems.hasOwnProperty(key) && filterItems[key]) { + if (key === 'Abnormal_state') { + if (newFlight['preFlight'][filterItems[key]]) { + is_satis = true; + continue; + } else { + is_satis = false; + break; + } + } else { + if (newFlight['preFlight'][key] === filterItems[key]) { + is_satis = true; + continue; + } else { + is_satis = false; + break; + } + } + } + } + + let search_satis = true; + if (LASTSEARCH) { + if (LAST_SEL_COL) { + if (newFlight['preFlight'][LAST_SEL_COL]) { + if (newFlight['preFlight'][LAST_SEL_COL].toString().match(new RegExp(LASTSEARCH, 'i'))) { + search_satis = true; + } else { + search_satis = false; + } + } else { + search_satis = false; + } + } else { + let cols = col_lists; + for (let i = 0; i < cols.length; i++) { + if (newFlight['renderFlight'][cols[i]['COL_CODE']]) { + if (newFlight['renderFlight'][cols[i]['COL_CODE']].toString().match(new RegExp(LASTSEARCH, 'i'))) { + search_satis = true; + break; + } else { + search_satis = false; + continue; + } + } else { + search_satis = false; + continue; + } + } + } + } + if (is_satis && search_satis) { + if (message.TAID) { let i = render_data.findIndex(element => { if (this.orderHandle.isDeptFlight(element)) { if (message.TAID === element['reaFlight']['FLID']) { @@ -337,110 +462,159 @@ export class FlightsDataHandle { }) if (i > -1) { - // render_data.splice(index1, 1); - render_data[i]['reaFlight']['TAID'] = message.FLID; - render_data[i]['preFlight'] = message; - render_data.splice(index1, 1); - // let newFlight = {}; - // newFlight['preFlight'] = message; - // newFlight['reaFlight'] = render_data[i]['reaFlight']; - // render_data.splice(i, 1); - render_data[i] = this.flightsRenderTransfer(render_data[i], col_lists); - render_data[i] = this.basicDataTransHandle(render_data[i], airports, citys, airlines, flightStatus, flightTypes); - // render_data.push(newFlight) + render_data[i]['preFlight'] = newFlight['preFlight']; + render_data[i]['renderPreFlight'] = newFlight['renderPreFlight']; + } else { + render_data.push(newFlight); } + } else { + render_data.push(newFlight); } - } else { - if (this.orderHandle.isLinked(render_data[index1])) { - let newPreFlight = {}, - newReaFlight = {}; - - delete render_data[index1]['preFlight']['TAID']; - newPreFlight['preFlight'] = render_data[index1]['preFlight']; - newPreFlight['renderFlight'] = render_data[index1]['renderPreFlight']; - delete render_data[index1]['reaFlight']['TAID']; - newPreFlight['reaFlight'] = render_data[index1]['reaFlight']; - newPreFlight['renderFlight'] = render_data[index1]['renderReaFlight']; - render_data.splice(index1, 1); - render_data.push(newPreFlight); - render_data.push(newReaFlight); - } - } - // } - } else { - if (this.orderHandle.isArriFlight(render_data[index1])) { - render_data.splice(index1, 1); - } else if (this.orderHandle.isLinked(render_data[index1])) { - delete render_data[index1]['preFlight']; - delete render_data[index1]['renderPreFlight']; - render_data[index1] = this.flightsRenderTransfer(render_data[index1], col_lists); - render_data[index1] = this.basicDataTransHandle(render_data[index1], airports, citys, airlines, flightStatus, flightTypes); } } } else { - let newFlight = {}; - newFlight['preFlight'] = message; - newFlight = this.flightsRenderTransfer(newFlight, col_lists); - newFlight = this.basicDataTransHandle(newFlight, airports, citys, airlines, flightStatus, flightTypes); - - let is_satis = true; - for (const key in filterItems) { - if (filterItems.hasOwnProperty(key) && filterItems[key]) { - if (key === 'Abnormal_state') { - if (newFlight['preFlight'][filterItems[key]]) { - is_satis = true; - continue; - } else { - is_satis = false; - break; - } + //针对render_data的处理 + let index1 = render_data.findIndex(element => { + if (this.orderHandle.isDeptFlight(element) || this.orderHandle.isLinked(element)) { + if (element['reaFlight']['FLID'] === message.FLID) { + return true; } else { - if (newFlight['preFlight'][key] === filterItems[key]) { - is_satis = true; - continue; + return false; + } + } else { + return false; + } + }); + if (index1 > -1) { + render_data[index1]['reaFlight'] = message; + render_data[index1] = this.flightsRenderTransfer(render_data[index1], col_lists); + render_data[index1] = this.basicDataTransHandle(render_data[index1], airports, citys, airlines, flightStatus, flightTypes); + + let is_satis = true; + for (const key in filterItems) { + if (filterItems.hasOwnProperty(key) && filterItems[key]) { + if (key === 'Abnormal_state') { + if (render_data[index1]['reaFlight'][filterItems[key]]) { + is_satis = true; + continue; + } else { + is_satis = false; + break; + } } else { - is_satis = false; - break; + if (render_data[index1]['reaFlight'][key] === filterItems[key]) { + is_satis = true; + continue; + } else { + is_satis = false; + break; + } } } } - } - - let search_satis = true; - if (LASTSEARCH) { - if (LAST_SEL_COL) { - if (newFlight['preFlight'][LAST_SEL_COL]) { - if (newFlight['preFlight'][LAST_SEL_COL].toString().match(new RegExp(LASTSEARCH, 'i'))) { - search_satis = true; + let search_satis = true; + if (LASTSEARCH) { + if (LAST_SEL_COL) { + if (render_data[index1]['reaFlight'][LAST_SEL_COL]) { + if (render_data[index1]['reaFlight'][LAST_SEL_COL].toString().match(new RegExp(LASTSEARCH, 'i'))) { + search_satis = true; + } else { + search_satis = false; + } } else { search_satis = false; } } else { - search_satis = false; - } - } else { - let cols = col_lists; - for (let i = 0; i < cols.length; i++) { - if (newFlight['renderFlight'][cols[i]['COL_CODE']]) { - if (newFlight['renderFlight'][cols[i]['COL_CODE']].toString().match(new RegExp(LASTSEARCH, 'i'))) { - search_satis = true; - break; + let cols = col_lists; + for (let i = 0; i < cols.length; i++) { + if (render_data[index1]['renderFlight'][cols[i]['COL_CODE']]) { + if (render_data[index1]['renderFlight'][cols[i]['COL_CODE']].toString().match(new RegExp(LASTSEARCH, 'i'))) { + search_satis = true; + break; + } else { + search_satis = false; + continue; + } } else { search_satis = false; continue; } - } else { - search_satis = false; - continue; } } } - } - if (is_satis && search_satis) { - if (message.TAID) { + if (!is_satis || !search_satis) { + if (this.orderHandle.isDeptFlight(render_data[index1])) { + render_data.splice(index1, 1); + } else if (this.orderHandle.isLinked(render_data[index1])) { + delete render_data[index1]['reaFlight']; + delete render_data[index1]['renderReaFlight']; + + render_data[index1] = this.flightsRenderTransfer(render_data[index1], col_lists); + render_data[index1] = this.basicDataTransHandle(render_data[index1], airports, citys, airlines, flightStatus, flightTypes); + } + } + } else { + let newFlight = {}; + newFlight['reaFlight'] = message; + newFlight = this.flightsRenderTransfer(newFlight, col_lists); + newFlight = this.basicDataTransHandle(newFlight, airports, citys, airlines, flightStatus, flightTypes); + + let is_satis = true; + for (const key in filterItems) { + if (filterItems.hasOwnProperty(key) && filterItems[key]) { + if (key === 'Abnormal_state') { + if (newFlight['reaFlight'][filterItems[key]]) { + is_satis = true; + continue; + } else { + is_satis = false; + break; + } + } else { + if (newFlight['reaFlight'][key] === filterItems[key]) { + is_satis = true; + continue; + } else { + is_satis = false; + break; + } + } + } + } + let search_satis = true; + if (LASTSEARCH) { + if (LAST_SEL_COL) { + if (newFlight['reaFlight'][LAST_SEL_COL]) { + if (newFlight['reaFlight'][LAST_SEL_COL].toString().match(new RegExp(LASTSEARCH, 'i'))) { + search_satis = true; + } else { + search_satis = false; + } + } else { + search_satis = false; + } + } else { + let cols = col_lists; + for (let i = 0; i < cols.length; i++) { + if (newFlight['renderFlight'][cols[i]['COL_CODE']]) { + if (newFlight['renderFlight'][cols[i]['COL_CODE']].toString().match(new RegExp(LASTSEARCH, 'i'))) { + search_satis = true; + break; + } else { + search_satis = false; + continue; + } + } else { + search_satis = false; + continue; + } + } + } + } + if (is_satis && search_satis) { let i = render_data.findIndex(element => { - if (this.orderHandle.isDeptFlight(element)) { - if (message.TAID === element['reaFlight']['FLID']) { + if (this.orderHandle.isArriFlight(element)) { + if (message.TAID === element['preFlight']['FLID']) { return true; } else { return false; @@ -449,181 +623,22 @@ export class FlightsDataHandle { return false; } }) - if (i > -1) { - render_data[i]['preFlight'] = newFlight['preFlight']; - render_data[i]['renderPreFlight'] = newFlight['renderPreFlight']; + render_data[i]['reaFlight'] = newFlight['reaFlight']; + render_data[i]['renderReaFlight'] = newFlight['renderReaFlight']; } else { render_data.push(newFlight); } - } else { - render_data.push(newFlight); } } } - } else { - //针对render_data的处理 - let index1 = render_data.findIndex(element => { - if (this.orderHandle.isDeptFlight(element) || this.orderHandle.isLinked(element)) { - if (element['reaFlight']['FLID'] === message.FLID) { - return true; - } else { - return false; - } - } else { - return false; - } - }); - if (index1 > -1) { - render_data[index1]['reaFlight'] = message; - render_data[index1] = this.flightsRenderTransfer(render_data[index1], col_lists); - render_data[index1] = this.basicDataTransHandle(render_data[index1], airports, citys, airlines, flightStatus, flightTypes); - - let is_satis = true; - for (const key in filterItems) { - if (filterItems.hasOwnProperty(key) && filterItems[key]) { - if (key === 'Abnormal_state') { - if (render_data[index1]['reaFlight'][filterItems[key]]) { - is_satis = true; - continue; - } else { - is_satis = false; - break; - } - } else { - if (render_data[index1]['reaFlight'][key] === filterItems[key]) { - is_satis = true; - continue; - } else { - is_satis = false; - break; - } - } - } - } - let search_satis = true; - if (LASTSEARCH) { - if (LAST_SEL_COL) { - if (render_data[index1]['reaFlight'][LAST_SEL_COL]) { - if (render_data[index1]['reaFlight'][LAST_SEL_COL].toString().match(new RegExp(LASTSEARCH, 'i'))) { - search_satis = true; - } else { - search_satis = false; - } - } else { - search_satis = false; - } - } else { - let cols = col_lists; - for (let i = 0; i < cols.length; i++) { - if (render_data[index1]['renderFlight'][cols[i]['COL_CODE']]) { - if (render_data[index1]['renderFlight'][cols[i]['COL_CODE']].toString().match(new RegExp(LASTSEARCH, 'i'))) { - search_satis = true; - break; - } else { - search_satis = false; - continue; - } - } else { - search_satis = false; - continue; - } - } - } - } - if (!is_satis || !search_satis) { - if (this.orderHandle.isDeptFlight(render_data[index1])) { - render_data.splice(index1, 1); - } else if (this.orderHandle.isLinked(render_data[index1])) { - delete render_data[index1]['reaFlight']; - delete render_data[index1]['renderReaFlight']; - - render_data[index1] = this.flightsRenderTransfer(render_data[index1], col_lists); - render_data[index1] = this.basicDataTransHandle(render_data[index1], airports, citys, airlines, flightStatus, flightTypes); - } - } - } else { - let newFlight = {}; - newFlight['reaFlight'] = message; - newFlight = this.flightsRenderTransfer(newFlight, col_lists); - newFlight = this.basicDataTransHandle(newFlight, airports, citys, airlines, flightStatus, flightTypes); - - let is_satis = true; - for (const key in filterItems) { - if (filterItems.hasOwnProperty(key) && filterItems[key]) { - if (key === 'Abnormal_state') { - if (newFlight['reaFlight'][filterItems[key]]) { - is_satis = true; - continue; - } else { - is_satis = false; - break; - } - } else { - if (newFlight['reaFlight'][key] === filterItems[key]) { - is_satis = true; - continue; - } else { - is_satis = false; - break; - } - } - } - } - let search_satis = true; - if (LASTSEARCH) { - if (LAST_SEL_COL) { - if (newFlight['reaFlight'][LAST_SEL_COL]) { - if (newFlight['reaFlight'][LAST_SEL_COL].toString().match(new RegExp(LASTSEARCH, 'i'))) { - search_satis = true; - } else { - search_satis = false; - } - } else { - search_satis = false; - } - } else { - let cols = col_lists; - for (let i = 0; i < cols.length; i++) { - if (newFlight['renderFlight'][cols[i]['COL_CODE']]) { - if (newFlight['renderFlight'][cols[i]['COL_CODE']].toString().match(new RegExp(LASTSEARCH, 'i'))) { - search_satis = true; - break; - } else { - search_satis = false; - continue; - } - } else { - search_satis = false; - continue; - } - } - } - } - if (is_satis && search_satis) { - let i = render_data.findIndex(element => { - if (this.orderHandle.isArriFlight(element)) { - if (message.TAID === element['preFlight']['FLID']) { - return true; - } else { - return false; - } - } else { - return false; - } - }) - if (i > -1) { - render_data[i]['reaFlight'] = newFlight['reaFlight']; - render_data[i]['renderReaFlight'] = newFlight['renderReaFlight']; - } else { - render_data.push(newFlight); - } - } + } catch (error) { + alert('航班号为:' + message.FLNO + ' - 消息有误,处理失败,请检查消息数据'); + throw error; + } finally { + return { + 'render_data': render_data } } - - return { - 'render_data': render_data - } } } \ No newline at end of file diff --git a/src/assets/images/Vlad.png b/src/assets/images/Vlad.png deleted file mode 100644 index 9f1cde6f2a9a4f5a3c943ace5af03281098f1d3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47573 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%0AuYbQRcGMqDasdDvE!aep!!P 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

BrKhiCd02_o{a;t0S_$?TSwxrmN6L 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 bVzx+yfb{E2pP51A5#E}lFv$b*pb!7q?Bbn8 diff --git a/src/assets/images/page-loading.gif b/src/assets/images/page-loading.gif deleted file mode 100644 index 4e6ad967fe4f12b6a38c129063bc9e257ba41811..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1324443 zcmaI7byyqSw>FFuf+fMFK!PQBf(9qJLvSk^iaW*1Q=H)LP~4@s6bck8Uc5kQi?&!> zpwxwr=bZC9-}}dVz5Ab;S?gZ=zSrJ+?U}i*8BJ{s8MI>*xeUp-8v+bk9Lh|OGnLT7 z@SCXe1>@8ukxZT0ZaK+bK{#nO6k|>z))Fh}>+iAAN)Yd9mUQ1@;gNr13O30drK5>y z&mcu(kX@B63Ar|^G zaGJb<)>;N?^!Xv?3GV7vR%Y=L_X4sq_z);l8JMdn+yZCfpXeVJWZBnO?`le&6GD+6 zsumWcE-0n$q9b1KA=VJCW$Nl@cOP$I0uM2R13&<6tOgv(_;r$i8w#i^jStb}c9VfN zSs>=!g)}U@ypW82YfFXvEQ8MDrvmfp@zqtpNaXEk;m?HVTPA7P_g}JIg?sp-3n|M;~T_MkZOxGc$wQHCRCafLo9{ z6v~`ZTvanNUQzDvtbplu}Baz2!VjsM>&E(05lQ`0)dbSC<4K3#?L(S zKpp{QzHQK3GXR9uF|BdtfI^`dGy;i)B9RE@TQ3xZL?Y2h1c(_B6&0<6L5HiW+C{dRT|-G1ceGf5g;8M5l?FcPpl4-3j~7FI$JAXu^22? z4~a&I-HJwY=>O|rMna*ow=5WpwY5%!r}eE?PpkqOf$;Yy2{$lx4)=6MyTFtb zx#UA-L%sdHaY2q;q269TfwG|rFh>_(C!Fl<`M+jS7}tM6f;<&qD*rmT{^eBl4Zv|p zibx4NBgJL7q|qWsNwf?~LWm0`hLjQ&LyICMgvF4uVrW@0B-j5m*ezRti>oYFP2+#K zZm$$zZb3nQvZA6PAt53m;v&8Q_e7DmlPoHR5=EheZxO=P*RUkQmg`+AFpI{JwsMZ`qCz5mVY zztDj}Sls_F@&`#Z@%aFyd-zDrk+{g8WacwohP?qmMK0KiuxO-2W4c z{C~#Ess`X3gM0%_eSN+DvkHvde1m)g-F*GHR8{|-b!jfRzN53d&%Z{*zZ3P}d8^?9 z-0$ODGy;6Rx&CXUW!?WTDr6*FC8V5gQ${&SI|@snTx5hDU8P)wQ7ELCw3xKGlcajAUi@!y;e2i@D&V$s2yg!W`TgtXkMG~Ue!2d9 zb$RjWdNxci^YZcx!IZN=Tnmt<73Z8 zM~0sc4L%v@@9XX9?&|Dlf85sE(%jV8P+wPDQ(aYAQU0i`w4}JGupmD#HzzwQGb24M zH6=L-pO_FI7aJ2D_3)p_2NB_6p&|E!g8~Em{d|4Ay*xeK-R`;KT%4U89qjMg+1glJ zSz4HznVMjYjSLO+^>lT#wKO%<)l@Mm%1Vj~@^Z3h8EGj=3Gv&378MZ|5)?qd`T2Nx zxM5H(PL4b5Y^*HIOpFZlbPzCzmWG;&5=a3cCnF^xCc52#pg%}Ri3x59gl_jDf`4z* z1b`cY5DNP5J}(DjUcK?Q=})V8=KP7nD?+&grVe1}b8Nx;S5GD}iYgir62=TO3SjHv zDmrWD3Iwdi9w55-v~xK4Ia0r**T0BWj-F!O?mB)^spYJ%vJEv~tu>U>D%0s{TC=Td z@u)2h_H1jkmy7$O^VK6!AGeTPww))i(c{tQ`a#yh zkJLHw-fijk-+!h}%m12T&f#d5C?o#xJ3+nXB1;A}yS^178PQ;(bhmXa_iVMpV9xx* zlim;d{efq1;&elN(M>VFSjp1<3&Sbt859S5zW{npNxeLMDE#7d)hu%RueM3Z$5&4u z-n>*B9{Tb5_<1vvD97*nANmyu%QJM%{`~rSd9eM0lgaOI`2@d1)cOF^8~)+Y_jCL$ zT>V^v)IZ0PWu`+xg&y)YXQWR1=ts`8qHdd8VF`-2OubHsq zh7<2-%@PoEWjkk7aK#*C5>Ht2q-oNiom2H_5H9IzvRenacvJVIJWJQcqkOac7<|E9 zSC)5$cF9)n3hre$*22w_u{!W{za*{FsvvAVckM(YKg_EQeGl%lxR2+Kpz=7bETd1Z zuZm@CIu@$EPU0<0m)(C?8was&$ZI1(*H^tc-{a0OlPYekOyy{Dt8H=JZmLe|zY!2@ ziSTNwuPomH>cR%cR-RW3Cd{63B!L74O0r=PomM~Kwm^PbvJ;{teZ#uBC6O`WxHK+d z|3J9LI?R(Za@QX?5Sm${1v~6L6B)el*{+AL$m)oecTahIs93o=5$!a)JI4R?nugW0 zBl*12hjZe|tB=plzIL=VN8kg_MzGL+eYtc%uT+`*)dG;AOM`)>S8>djc%}2>l zOVrHcz|N9R-sp+c&c!3^mFF{vYO0_`W#Xse9BS2i-Mkw0XPv7?<+j~RdfbtpXVCn1 z!5gyTAA-5ikDKw_PKLVo2ONHZ@!KApWdQ>@-DN$TW_``5*`s&*ZBz9;H&t4k$!>ma zt4B|Sk+Vs=S)u!^1Rq28eGV#Bo+N7tiVZI0PEf(XC4cuX5&x6# zY3IIcDW$I_n9z-l7x4n6wy<}7UF#ptU8>!zPGE_Hdb^9X)zfjbH}wg!6=@n0)X`e1 zL9pVObEl-iOn|y_RaVlHgE)5HNu#|XBdx)KM?g7=d0a~)cb@duCPCbmRFHeMjvy#`i>il5MWCz_DN>yi&C99vou)zzLiVf{Qi z&2^OV+zsGb)z6Y+RFiJmjd#@&FDBA^RzxbME@E@SI(e8)Y%?}PtLaishn-5EvWCuMwN7|zHq^D>Jx;Ctg8;(_OK z06W@n$m|mFoi&B+BzUycW%X2nV@!`7)D0rD((>M|)e7V#ipE)E?fV-T1!X-_9VECJ84&liVCrf2 z;{e$2(@o}21=6Z`*4fiMG&RPSGe)0OcLFJz&GK@rkLc?}qfc7PLg@-y*33~`>-s?- zuw`n5^~1762KLD&ljkn{qsdLJ;SA>-I{w1)Up#4}*0XDYM=g3#m|37sZo$4azlzno zLFQ3TAG;&JPh*pF{>oZK(_wOp6QyA_>!=XWOy2v(uGzYHOn4j>FXogbY(Jcq_iQ7+ zeQl%JbVH|YVuzGceRK>Qd2H5NdS)Zo;cgV>k=u|f*_=$F)AN#atIb^fuCtkrQNinR zp<&WCfoBMtu-M}9cY+<48lH?V_04)9b!~QG=Q=NgO+30m zAtf!rx@SV4|9&;=3Ev6uw&))tUAVWQ`)d18S47Pr-OE9j?RCpN3PyWTkX|hEb@o(G zO^47_!|L|@qx-7$N9Uee&8)B66S{jQWv0A{OW0O4+Ej7PF1~D?_?J@BOg}4Wa{#O_ zGw&ZI{z>&qIxaaN=<8!V1^H*Ql@&9DNK7*r-#BG-<&IJXzg|Qb5Ua_QCWhR9viboO zJP>G?=R$7x7w2>@!sil7giL--sNYXy(7Ld4)Mt+n4KGZvrrt{=e~+N0{eAEjipm=P z^5G-sALTC}1KyG8?zVZ_b&>pVNh80`l8r1!%sKK!9Ve>3^4)wtKK?P3T1|fF2_EBIr}Aj}f>*$0FC-VnAT92n zX>^!u(;cccycv@-f0-(NBBQhGmYp?%!N*YF~GbaKw`rL1c3UrcjBB92-HuTyB8#^de zeC7Ni&b`o@6(!iJ_siMoWOn*{2kLp|fU-~(ZAz{h&&*EhSQbp*TI8KXihHe-5tqI@ z=RVh|79$R(Q8!dCx$F zdiG8NEU5DFCj-?H)rdq!i7JjS8IeRTWZt#yGxmt-2FWAT0p-IVfA*>9gLXP~~A&@4?eJ zeA8$qoc*^R$lIwQ*?Q4uP87-;XlCIC0g@hz=44xt%7{9T@kQbIeIfjD!B!6;@P`mY z7K%S8o<9x?%tYD5u24LTx3J$Aj-C{b&*o2s2{f4@@#;}g*ci5BUI5;XQCzTrf!`tq zeX?#TZ^^CHAaGP0`?yL}>wC=4D>3?N;esnf!<9(=h3)dBAk_i&Gl(6#iSTTU=*tz+ zvv@$85pPSU=+{mGQgisHN%+~m4TGvx`U=IzJTsPFLCbd%IRv<4lsJvEV^{m#%rT2D zGX&QGjl916lGm4q3n( z!}1v)zv`qzCoaG(88n`3x{A9?M9@ZHr@VoBTb&#&Mj<2af;D%s?UgjI#x)m8h|t+j z_oF1FT+E%Fk@-#z;;DYBA}@Fo%t`G4<}SLuE_cUMHx818Rb^jtOZut0j}SXXh`X*j z%PBDWwy0915NBLW%MQenTk#=T$3<7JWLaZTP8#kNIjAHPnJYf@S&Z~QjBXSgeB@Rc zJqdDy+!CvRdw4FfER0Z2g2bz8Om6$VPleKHftgY~o+l>R$0nYQ<`P0KN%c_0c$7H;QIt1>alq)u|OcJi>}tm}7<-X@s?UA~X` zRL7@$6yi{c_uYm!+;b}k$IZQ}#el5Jh1ZrDMgA4xDHjn(9@6A>~kYV|s8A5=5%ZLK>yJoO>Ui$Qu2UdB+79 z_g;TRB6OF>fb1vLK{wTqaoA7?#fvC|a|y!>62nK&4L`-PSMuMvFbyZbg>OU2r=dpN zUyKf+5q!lQydE5T%N(bK#-EVv0qqr>d7Q%q22Z6Quunz=5U>MKT+kjaGDswnm-fX= zEMg4HydNof1bs;kyQ(lz4~A(zF`>JvF=VCbQT|7G1tx~2G~_iik>r*~@yKG#6tQL| z!RF`{v#%jMrs~{Zzy0&+p1DP~nU!Qz=xmf*XFU>cQM=3gPcolF03xa>n*BHie9Q;H z1I})6h^VS)pQ>mMnMQ~VKaqxLR(wq6zGYE%Y`#EahEs!kFmIWqKnAPj{mxjmegvOX z6FxH^_|*a)N+DEevt4CZZv-#VLXKb&ct4(`*EVxYSfYGmE+KMof}lLizZu$RoHg0YUX}Ua%c`pnoL5hTH+ZuPw6VT!>W^zxDzr*^6qDx5}&k{Nmu*LX6pR+ zXYdX{+-fa{16BKs`; zJ6t3-*4Ir+sd_alB#E4&2zRz3N-U+Swv`d$+M_{?9$n26P)kp8;4Sk5{tk5A50LSRTQACJfGy}DgNkqx8hiwufS`SGvunUmE-XdAjw)I{=Q2Qga$^7c}UDC z%6;}UFH+tiD=dmocrcUw*Ah+01Faw+fbryEPja!^c@#mwC$Gp&jsfq96fV^jK7Cdy z0Oe;XQypfR%ItGjiV;+TfL-lENe%?|8ftPRvPao6R`;Dn*L)+aRI6_ey!)K}_L~b1 zfB9Z<4V2$t4l=>Tc?2S&s_%gWMpejca|WoXIO8LUp87=NHW%Do& zENNSZXy1$0E|dsrS{o~J(M}0sve6v(?_e;wp!Xzy73d4ma@LnR;Zw zNw*!r^o0GJMEDE;JMyfC>yDMJ77>E15$z#WZJH4j>s6n?Tx>UzoX`3=DYrR)M^|T- zKIfF>n)&uzP(5;|pr%DR5`={=Yr-ndxgJr~u&-dTrzZQ)friDf$Gb3XGs-@$IWZ@0 z&!61#G5`1h>z&PbEY|06@pI4S>*PDRKakHm=he>+Mfuk9**IC)ukb%SHMi?*xC;|t z=(pPb-DD4gXI(X9XIrPl+l5|5@c@!jYolVm)IaQjrv?k$C9+A+zG~UDjHhyr zj~s3JG%GeI+meVC{fQI4*CfQ`Dg3Z-sea#UF`-2_#g^_S$7dQV7@(CfwPFX5vOh@{ z$|AzkMd0tt2n~=5QY5U=1;WX7;e)|aBQeXTX8Ex)!i*+@kESj1I=jpRx<%GfZM(KiUZE}}k)Jz-fYs8G znNLJbMF^9m8=k6?dm^2=g;)GCS-WITvXLVus_>k9f+jMr870rmdj=MUT)LFxR^9rE zGb&{8F9Tj(_GD|^cO$m&6#m+g{2^b^)RPyXC~|XO!mKO%z%!?AO7Ykvr}}>OR2^Ws z*PGh~6Z1K}`M~3>OHsfDAsj&2LI7-wQU=s0PgT%R<|=m^?ap)!9#?IiIALZFq^p(? zKNVnoVtXV;dkk%qb<{1`E?-T$%m;LDrFj&uHay{hewwO%)y;YD4y2mrWTRr0>e!UR zOLDHARm;+(St|-Dr9qzvz-f(YuQEq&*dUA+McEXiYU%0%&x>1lo z5c7{kzK5f1NHEA46mdu=^S&(p@|oUp;6KPQ_2=V!w&SDdQknB0xGjVDQ0YNUX-SPv zl^O$=@|g89L;Zw~cVFO6(xbNnx`zWy-8XB5tET$doUUx-lc7G`I!(|hs;2NP8Lhtu9(VFRNTClY5LP0v1E8wA)sDA6>m zwlJJlnfaq;G%UjT3R)$kGaX}F)%h*_$Z>k{pXrV0%CE-8U%=IwEylkpr+;@ugr8HU zwuJ8?O@t=7cHTqRzD2&#ggy2%!2)4$Oe9q{R{1DWI^I-feHI;WYWowWW5#_PGWU_Z z{<-|T^Orh|3@=Frj}0mB&%U86riXJw<`nP-yDL8W5#D-P3-2rQT2xzHFe0F#Eo;om z|H$e-W~s~#!FC)S2zjxELsZ1~S>HtR=L?+AcL1NeTVBAVBcY$?3( zV}zXyqUQ>Mb`$=aw?wrn_~NMT&ym0fr^K30N5G9L87m86!Q{~7kxm=OPI9z@jVoI88mX-kC3;5KE~6|GU5Q?JBSK%7&hm$`u<87O9 z-0S}Cua)l22j;%dT01_(prniM9o^*1QAQCEV^+Lo?5JWWM4L|1fdHlnq*E_-p)gd9 zi55z_7H_I4S4|X3>vWl+<;aMHY5e}~U(1^(NjorL)x|enBxV2ew~PSJAVW+Tr!y0j zTT+Hl!eUK(jLoR)CBzO-b0D>?>i+rH{Su8ZO}ug|so#l*S#vULSrwbbvZhk>@AEIK z{Kha%x8|>n#T)C^6O6RkoeeUTgd_iWrvGf%YfHcrJ=0hdE9xwnQ54^+v|ZzOd>qOQ z!ELe#arAe)**#fHmb$SW@VR5B(8KykQ$3$<5;lCcIcPVP#{IT8<;UQ`s~XLR?X5q* zkZ*P=MPdXH^AtL4TPwR$<6;+WD43|gGAAWlChxq#SK**=XHwq+Q)`&r) zj9gL5L*D5rxB~CYh(s9xcdB191@t^h1}M5FmQN#leW40cnx9lPk%f0m&;+XZPtaKE zU8;esOqVC^VLfrbxp>oR%Z~ixschzQr(Y*pE_5c4_)o=d@MUpZxq*;&q=wOC#q9+1k%jz zWNXupxnT9wCS7i(a`l-dNelF)qD`?n{H@nmEwe2(27S4-H4{VWEOiRq{`v>|3452gX1$Gff`b>5~ zd-{Eh;qi{Oj4_ma%(>PZuqb*XM!tB*DOfslE+Jn6Gd*6AgTOhBdwAL@RmG~sDGQm- z48|I1sNwQNt$*MOo%30;j2uKrvq~(6!|s)ZO%2c+gD9+zOCuR;kIVfvCb(kRDQa`A zqC}3|jT=7R93EF!KO#L-(3zP&QE(k7J}nve`ozaA_ynD~ut^%}#aEwqST<K$D`C<5@Zec^NgM{5v!0X(|t0wBI?;=$6*J#c{}^~X(1jj5Geu0X++B>Ht%c^QC1?glx4#`(7b1-A^= zs?B0J9}7!C5IB)I$yq<)DqD5;8MRO}R2QC;+bPe>>k~EW_K)hkfJP1+oy(_pe=Mi? zrnHJrn}UynrgGlVKwVO-GSzqL2ZQN9>fq*+Br$(Lo|!BWL4}*HS$G%2%kMRrQjYJ8 z9Fn9zkh=0E0}{C1h-KEpxF25UP;eww5zf2d%4yf@4B;llE1*5;U|Sp_sj9fes7ksY zt?tFDQli_yU7J=BFF_x@(rX*T_>6E4uJMc^iw31XZM+yzHO@uWflvvmGKrlEH2vV9 zDNFUlpk$k;Ui!;>g}?4E!dqCm7%bNn&RCWr-Z*o8wq0-j1~m+Qv&Tg)3}>Wmg5! zl3Kbe#r02gi~>Aeb>n#XB~LKAW7$PAH8n`dB;8`+#hC2RcmCw^_r5A>4LNtIx0B~G z9Lxm8_q*`X)6W`qC`ac29e{g$Kx6xWHNHY{qn17pn?E}lgye1Xj83*LMy=Nkoi*vB zQ%nwO%|p!?ntgk87&-|G+VEfQI+C6}9cjwzNX=_DU!S#kQ*8dQD}~Zy=9%^5pBrKJ zI6?m;U9)#O?L!jAZ4VT_+g(?Q4GGDMl6|7I{~S&_@H_9Z1%ciK0o&#%4Flg|ZJDnol%uya`CSl$~7{qKQiCK zB(HrdluRXE7CbGBF z9r3gMu;v|U8k0j>v zCel8b)t#Q=y2?zl655}(|BjI-Q$LQ-t00uTr#$p}&;vskFY%R{iTFM)Qtjc4JsE`& zp{zolByv}kZ69FKKt$i=cc`hvO1~jPBATR3(khBlDt?-p-+dF`MgR1i z`gaoVd*&TMF~bL@=sW9ZjXWA`x%H#pQFOmY1sIkRiPUJnfk2VF8KgV3TSUr_JDV=s z(+^|>AIS<*RAy7Tv{L#*KzpE>m8_YcVAdod*nl7pQiXM^nSLgIj1|nt4CdU+VgU;= zCkb&AX5TSZd4AO_#?ne#6tjEB6|=qD-nJn;q?`vH)A(Gp}~s@$6vk>PW3bvYMpigcVL2v2fY2SX^`zL~G<1O+jBx!6R6CR$2IeO{ssL zs=1uvr!3}=U~Qf$mR@D8pJ8oiEbhkhUN&}$%9Y|)JLB-R3Jnz_KY9etSPR1{nj2Ze zTG)OJu%9-f5*~DgO%zpTiJ#1rh^7=567t*-Xt7*1Y7``u7N9w`i%Y6gY72}3CoE;D z%4ILNqzGmoMSSk2mX)>K15mKnjD_%$}(+bsjythl;cO_D0Zs|_N+!O13IqL%U+$pay)^I0t6-~t0x=It>2kc zY*bB$0#sHGu!kq%S7kT?cw}I($sIWNDSoaCRvK=Gd1hfLEmu_urU>>phf9YrjtMV&hruDmTFoEN!tu17)`NWawFk zlS(;^nR(_zDbk+s;D1scL{JzLkh&4XtL;*j_fs8lC$CYFs529g;a}X=`Nxy#SzFlC z?^Pl?$;)EARUm*FFfDqMVg;X^JDRkWGCxmAvLK#Z4Hz1IC7;*MbN?rPTvd+iN{&dO zvVK>d*1OK33V1=Rq{D0sQCBEg8se{_cq$e(4UPu~)cGg#VIfb(RpL^Ec=6vU{85XF zmNmveV03>;397DWetR~Z$uz%eqPhL9L{2zEy0Z0Sd&W1* z3?iz`FPj-;xdMdqG=K4obG-X@6PfY9xOJ!)?aL=U0=y~cGSIEw-g z2dJ1n1vAkL4au5;8e3pL1lgZ~!6aZ1D4R1545G@?H*2K==TiDN180QZvbOSF3k&^t zrjLUd*tM=Z3CkmzYET*5u#BB2=5ouzA`hZOTgH$=boL)|5a3({oWS4@-P@RPwW4t` zXp4MH?pV`!$b!hl{`gf)zW#2${#M(C00X9m@#_lxpHoJ&fyWx``3{wjovbVqo~k99 zF>3Nyx)*J_@8#Zn*q-=1_V{y5zWx{Yg^^|zls$>I%|X+@kR~Qn4TYK=`ELv=-i^2OV%HioLe)mKKtts zJ(0dfa9d(iZhAuHlx@mL_PNIocLGZ|Gk>!!ka8ZX+iikhzbMio^3dj+tC(SV)5@+j zeDsP8HQlehV-#BQBW%t%M{0b&x&S`7{~#$w^#xzJo*8yvSSw}59bOKH&WX#Qf8xI# zRjy7{+hN~w#XvWj7Zbwkg|}0bwWMDlNG&aSEH4sX_RLg-*5{d2@<0YM4k~5$Dfv!$ zyFVM6R8i1LRUCEKH`2+1wmCmEa$Qvx4kJsUI(=#1xrwlgi^m3hvOJML4L6TDm>Fun z#LX{6l#ggh52faSFa#9=$6PlH4jUY0Lvxcl= z07vWO;!Fx+0OwI0ek=+d?+532J&5&4(`ZWtlOZ6z!-4zD4`%xl3Kdt36qmkJ;K$Oa zXK&vt;B%XbnuXNcp_H+wH8bFN9n8Lb<%mz7(tC#-hksW83ci#1u=?9G^Lw+BP%hnO zmGH;V97dT@LK4u&?-?4c=4i0s?@T&b|MYGcP4C#+8yF1;F9_N(HBQR{4?TlC$g+%F zr&SRG+paTp-{VFL!5YCKQ-ZMQtOsq)Q%)iy+3!cPn`x*v`nI!|k_ANwG3&Dsx)aC^ z)XNRx?$+0dx!g?G%**jw*zne;x%xilBWxi~@>1y;#Q%>l%J@Xu^d;KGLa&3-vt#^h zCD*VeU+J9QY{udqdcuI>^pT>d35%MBshU-kCH^S`u1HOXp3!_aufZT+*Xz`7W&&Gk z={@6aHo%zb&8R=&VWuT!YN~EO&17k76i*3{EB=Bn48kJhKSQmn_)t)Z`qN?0Un23S&TCHzQgrlwc|)kr20CCw~s^$5~Q zoFUrOFJvgc25FdLNI#7%3K zR&q4BRH&Hf6jrjatFzn>tY~*HIZf+^4R+M3^r#)*p~Uo3jp08LR=C@67MCvkoxvAT zapdc1lL+*b)s$^0_?p@9ETRD{A4`^xd~$YrT6ZLm7<~5r>FL*F83{f*I0Cpef4q72 zyorLXaO-2P{M-)OcZVAO%(R>!;3<5HZNss*wwdK{@0C@<2RXs=waaeWQ>m}o(tGra z^1vrwZ7UT4yL*SVWcmCSe(_l5O2S_MQp!ax)_y#EVUJ2irs?VSL9OU)%H!+Vl?S~` z(Y^$JB)*|iD@g#VH?XYFvFKr$EYJDaoXU*A%I`-{A-z0wf0y^>qzLS=H*MThlC(WP zerO(ql`I*P)X%Zw9bm=3_MS%I6O}1XuMIOnf%2?Xg@GhST1?DxHfj~|qfzJx7?35+ z`TeW?VuG{=t%DkZ+GXV=M{DP<&7|C4e5DTZ3(oS=(%mTZRUE6 zS8`7?IobSnu^A#PsD?rY;lx;^lAz9O<(s4e(32}uTI2Um zs-BGkRoHpJ(*i2&(crOd@FYyg`Uq@t$1L16H%8HI6tYf7@q?58IHVWiunuwhvJUfd z<9Eq+5;hlN5r$ufEyaLB-Lyq(1z6lE6WBEbogR2* z+u&Y8F8jCnvUo69=L9S*cvjNc+M6*{-2Q`o^qH?h?1zyso3kJ1pI-X*Q@$+rWjjVsTk!SokvG1VheV!T2+gd*tBjdn~e>F2ql){-O4 z63jGqYSQ62p_s%D#YjZu3aUlO2Ga*GEepkxgWH05l53UY04B4k6st!n>SUfDZ8zWZ zKPqR9{b+R@SUs!22TnRY?yi|Glp_bm1!GTJ>hyCy3JJ6y@Txf$C8ONC_{NMl@~A_% zCA?N!Tp3ns1=naFX{$*7U2B$xbBx9alYWVnHrgEvy}0@Ng$|y{sac>5wZ=2kI!*lZ zlbxnzEBoL@)Grdg1vJQQG?P>A>%mmo!BCj6e)tgZ%M`X|tarx*yL|F8l-Q;-j+J(A zqTo-IM(G3O@o|Tws6k6Xx5MgI53zoYo1>FFE5wsa;h(^AlX^W9o%4ISoS*c`sR+~u z&cA)y`{MKFSW%uMDfOFuR5J4>N7OnCW1$@oF_sM@ z1yaaaM5PH!2JQ#Lq8id5)6md<#~Jtw+(m6ZEB3 zTAz6>@GZGqF-gWT??OLNusY#S8^d(M9uU??M@PZ~bYQsv*2d6>FrY)&?FTUx`6YaH zxC|s;-5bOQ1&@lT8f`Kio|Y)0C~k%?Dl>?Q1=(YffvL_px#!p0f{zEix>6nw10&Ac zXRb~?J3o0HoXgRAakqBA@Dcyev#F^3p?5W4P`H0Dd9W2ot6X77dDMHMJOEO5_}IVO z#`bZL_W1MY(4~{yxm?HhSC2;s$>rlmNkbfTgzoU{5ROyJ?f8j+#M%8t>h$D0CRsRl z+9#Quhc2f|g7o}F=tGPG$V=4b{hrsU3Ef;x@%eW8&(X^5bS%hpv3E|2ee&uWV|nfb z9Ao2`j~^p3j22r_4QUS&A}PW6Em4T;U$0mh>UXc(itD$J3|tAe^j@Y9&JjQNN|AcC z3n>xY>7WPojOZ8|6KsaOza#kut`{BiHkwXBW)D`kDHQc|SCfYX3*R)H7K1$Z* zKp&MiR3)=#&Vj?;H$5Qw`L5U(mLgP@B9ij1{6SUHaa(g$(plT;-Ct+LOKlM!pZt0= z_-SawNA6?aL3+e_>&x^x{s6tdzu&!({uKUx`ru>A+2*gYS^iOj8Ts?IX9za(yKTdX6Y)Lg>Sp=xFK$e-raT5n0J-445#QC^UQr^B8GA@7 z&xIq~n=BwzdmK@C=IFDN$Yx79atMl9Lk3aTPLudz0K<;Esm02d&sT>xEDXf3a{ zS``-Pr0qTh&ai$)LGxn2#HeCLkxuO$)f|RD79J=5v}KW}JIBEO4XNCCB~2j8gmp}) zL6TK_n#bCieM5OlY%YsGkmexqfk(Z>qi1@`DhD&2ep8YeVS2*U`&zM7?cC%)DDDEf ziXo(9)U;(ZuJXynOJdK()3^9tD*~%xoDyr3v`J!Pvf+iU$r57mh_HDR!O{eBxybNF zGC(#%9euofC>O>lt}`pZ2UtH&aT@Z^6XtQDX%%o&j_wdKhoP)GVgCbdgWc}+Q?I5b z1aLk|!*pW~f2uBd6Jx-4m%du)4;*v>&bG;zsD@vzON!5uq`f<>5wfb%3Gjw+^dHum zKRAK7qB4slqTs}&)nE?~Az`YxoX%@x9xo!r#f^|(v$nqC#WU4b*St+(q)rnc-~-}` zTFRESIfg9R+l!WWYh3`-Ieh0uRPP$OKB0v?#c6K+-_>QJ;7 z!&hSk|9r;1^}IZ_4;EyOp?mkZ29fGWNnAW`UMHTR^4*a;}(T*tr* zesc~xeEaA9QwqKTcwO6lp63G#>L2NH&UW|?mt?2i(*tA8U-MfQ$Zvo@g{HN={+Pft zq