From a03b32a2b03d098ad73c3bc49819be9b1a8c4fb2 Mon Sep 17 00:00:00 2001 From: enadhilal Date: Tue, 28 Sep 2021 14:43:32 +0300 Subject: [PATCH] fixing favruite in worklist and my team --- Mohem/src/app/app.component.html | 4 +- .../app/my-team/details/details.component.ts | 162 ++++++++--------- .../work-list-replacement-roll.component.html | 5 +- .../work-list-replacement-roll.component.ts | 166 +++++++++--------- .../src/assets/imgs/business-card-design.png | Bin 0 -> 4183 bytes 5 files changed, 166 insertions(+), 171 deletions(-) create mode 100644 Mohem/src/assets/imgs/business-card-design.png diff --git a/Mohem/src/app/app.component.html b/Mohem/src/app/app.component.html index b9633c40..37e31ee2 100644 --- a/Mohem/src/app/app.component.html +++ b/Mohem/src/app/app.component.html @@ -78,7 +78,7 @@ - + {{ts.trPK('general','business-card')}} @@ -177,7 +177,7 @@ - + {{ts.trPK('general','business-card')}} diff --git a/Mohem/src/app/my-team/details/details.component.ts b/Mohem/src/app/my-team/details/details.component.ts index 4a2b0d4a..4bd1e2fc 100644 --- a/Mohem/src/app/my-team/details/details.component.ts +++ b/Mohem/src/app/my-team/details/details.component.ts @@ -14,6 +14,7 @@ import { GetTimeCardSummaryRequest } from 'src/app/time-card/service/models/get- import { DashboredService } from 'src/app/hmg-common/services/dashbored/dashbored.service'; import { AttendanceTrackingResponse } from 'src/app/hmg-common/services/dashbored/attendance-tracking.response'; import { WorklistService } from 'src/app/notification/service/worklist.service'; +import { element } from 'protractor'; @Component({ selector: 'app-details', templateUrl: './details.component.html', @@ -93,9 +94,9 @@ export class DetailsComponent implements OnInit { public itemType = ''; public monthNo: any; isFavorite = false; - public EmpNumer:any; - public isFavor:any; - public EmployeeTotal:any; + public EmpNumer: any; + public isFavor: any; + public EmployeeTotal: any; // public activeSegment = 'About'; @@ -247,7 +248,7 @@ export class DetailsComponent implements OnInit { let jobTitle = this.employee.POSITION_NAME.split('.'); if (jobTitle && jobTitle.length > 1) { this.jobName = jobTitle[0] + " " + jobTitle[1]; - }​ + } const request = { P_SELECTED_EMPLOYEE_NUMBER: this.employee.EMPLOYEE_NUMBER @@ -266,12 +267,12 @@ export class DetailsComponent implements OnInit { this.common.startLoading(); this.initAttendance(); } - else if(this.activeSegment != 'Attendance' && this.activeSegment != 'TeamMembers'){ + else if (this.activeSegment != 'Attendance' && this.activeSegment != 'TeamMembers') { this.activeSegment = 'About'; } } - + initAttendance() { @@ -323,7 +324,7 @@ export class DetailsComponent implements OnInit { } monthCardSliders(monthNo) { - + /* change */ @@ -336,7 +337,7 @@ export class DetailsComponent implements OnInit { //end this.calendarConfig(this.getMonthName(monthNo), this.currentYear); - + } @@ -364,7 +365,7 @@ export class DetailsComponent implements OnInit { this.preMonth = 12; } this.currentDate = new Date(this.currentYear, (this.preMonth - 1), 1); - + this.calendarConfig(this.getMonthName(this.preMonth), this.currentYear); this.preMonth = this.preMonth - 1; this.nextMonth = this.preMonth + 2; @@ -539,7 +540,7 @@ export class DetailsComponent implements OnInit { this.isSpecialist = this.common.sharedService.getSharedData('isSpecialist', false) ? true : false; if (this.employee) { this.getEmpSubordinate(userID); - this.isFavorite = false; + // this.isFavorite = false; this.getFavorit(); } } @@ -603,7 +604,7 @@ export class DetailsComponent implements OnInit { }; this.getEmployeeSubordinatesRequestObject = body; this.myTeamService.getEmployeeSubordinates(body).subscribe((result: any) => { - + if (this.common.validResponse(result)) { this.handleEmpResult(result.GetEmployeeSubordinatesList); } @@ -611,7 +612,7 @@ export class DetailsComponent implements OnInit { } handleEmpResult(result) { - this.EmployeeTotal = result.length; + this.EmployeeTotal = result.length; const lastItemIndex = result.length - 1; const lastItem = result[lastItemIndex]; if (lastItem) { @@ -642,7 +643,7 @@ export class DetailsComponent implements OnInit { doInfinite(infiniteScroll) { if (!this.isReachEnd) { this.myTeamService.getEmployeeSubordinates(this.getEmployeeSubordinatesRequestObject).subscribe((result: any) => { - + if (this.common.validResponse(result)) { this.handleEmpResult(result.GetEmployeeSubordinatesList); } @@ -750,11 +751,11 @@ export class DetailsComponent implements OnInit { // handleRespondSuborinatesAttStatusResult(result) { // // this.EmpTotal = result.GetSubordinatesAttdStatusList.length; // this.EmpTotal = result.GetSubordinatesAttdStatusList[0].NUMBER_OF_EMPLOYEES; - + // } activeFilter(index: number) { - + if (this.currentActiveIndex !== index) { this.previousActiveIndex = this.currentActiveIndex; this.currentActiveIndex = index; @@ -790,90 +791,75 @@ export class DetailsComponent implements OnInit { selEmp.EMPLOYEE_DISPLAY_NAME = selEmp.EMPLOYEE_DISPLAY_NAME ? selEmp.EMPLOYEE_DISPLAY_NAME : selEmp.NAME; selEmp.EMPLOYEE_IMAGE = selEmp.EMPLOYEE_IMAGE ? selEmp.EMPLOYEE_IMAGE : ''; selEmp.EMAIL_ADDRESS = selEmp.EMAIL_ADDRESS ? selEmp.EMAIL_ADDRESS : ''; - var confirmBoxhtml = `
-

Do you want to add ` + selEmp.EMPLOYEE_DISPLAY_NAME + ` in your favorite list

-
-
-
`; - if (selEmp.EMPLOYEE_IMAGE) - confirmBoxhtml += '
'; - if (!selEmp.EMPLOYEE_IMAGE) - confirmBoxhtml += '
'; - - confirmBoxhtml += `
- - ` + selEmp.EMPLOYEE_DISPLAY_NAME + ` - - - -
-
` - let userIndex = this.favoriteUserList.findIndex(x => x['USER_NAME'] == selEmp.USER_NAME) - if (userIndex == -1) - this.common.presentConfirmDialog( - confirmBoxhtml - , () => { - - var request = - [ { "USER_NAME": this.employee.EMPLOYEE_NUMBER, "EMPLOYEE_DISPLAY_NAME": this.employee.EMPLOYEE_DISPLAY_NAME, "EMAIL_ADDRESS": this.employee.EMAIL_ADDRESS, "EMPLOYEE_IMAGE": this.employee.EMPLOYEE_IMAGE, "IsFavorite": !this.isFavorite}]; - - this.saveUserFavruiteList(request); - // this.isFavorite = false; - - }, () => { - - }) - - // if (selectValue == "1" || selectValue == "2" || selectValue == "3") { - // this.isSelect = true; - // } - // else { - // this.isSelect = false; - - - - // } - } - - getFavruite() { - - this.worklistService.getFavorite({}, () => { - }).subscribe((result) => { - if (this.common.validResponse(result)) { - this.common.stopLoading(); - this.favoriteUserList = result['Mohemm_GetFavoriteReplacementsList']; - - - + if(!this.isFavorite) { + let confirmBoxhtml = `
+

Do you want to add ` + selEmp.EMPLOYEE_DISPLAY_NAME + ` in your favorite list

+
+
+
`; + if (selEmp.EMPLOYEE_IMAGE) { + confirmBoxhtml += '
'; } - }) + if (!selEmp.EMPLOYEE_IMAGE) { + confirmBoxhtml += '
'; + } + + confirmBoxhtml += `
+ ` + selEmp.EMPLOYEE_DISPLAY_NAME + ` + +
+
`; + const userIndex = this.favoriteUserList.findIndex(x => x['USER_NAME'] === selEmp.USER_NAME) + if (userIndex === -1) { + this.common.presentConfirmDialog( + confirmBoxhtml + , () => { + const request = + [ + { + "USER_NAME": this.employee.EMPLOYEE_NUMBER, + "EMPLOYEE_DISPLAY_NAME": this.employee.EMPLOYEE_DISPLAY_NAME, + "EMAIL_ADDRESS": this.employee.EMAIL_ADDRESS, + "EMPLOYEE_IMAGE": this.employee.EMPLOYEE_IMAGE, + "IsFavorite": true + } + ]; + + this.saveUserFavruiteList(request); + }, + () => {}); + } + } else { + const request = + [ + { + "USER_NAME": this.employee.EMPLOYEE_NUMBER, + "EMPLOYEE_DISPLAY_NAME": this.employee.EMPLOYEE_DISPLAY_NAME, + "EMAIL_ADDRESS": this.employee.EMAIL_ADDRESS, + "EMPLOYEE_IMAGE": this.employee.EMPLOYEE_IMAGE, + "IsFavorite": false + } + ]; + this.saveUserFavruiteList(request); + } } + saveUserFavruiteList(request) { this.worklistService.saveFavoriteList(request, () => { }).subscribe((result) => { if (this.common.validResponse(result)) { this.common.toastPK("replacementRoll", "favorite-saved"); - this.isFavorite = !this.isFavorite; - + this.getFavorit(); } - }) + }); } - getFavorit(){ + getFavorit() { this.worklistService.getFavoriteMyTeam({}, () => { - }).subscribe((result) => { - this.EmpNumer = result.Mohemm_GetFavoriteReplacementsList; - - this.EmpNumer.forEach(element => { - if(element.USER_NAME === this.employee.EMPLOYEE_NUMBER){ - - this.isFavorite = true; - - } - }); - + }).subscribe((result) => { + this.EmpNumer = result.Mohemm_GetFavoriteReplacementsList; + this.isFavorite = this.EmpNumer.some(element => element.USER_NAME === this.employee.EMPLOYEE_NUMBER); + this.common.stopLoading(); }); } - - } diff --git a/Mohem/src/app/notification/work-list-replacement-roll/work-list-replacement-roll.component.html b/Mohem/src/app/notification/work-list-replacement-roll/work-list-replacement-roll.component.html index 72f61e70..d23640aa 100644 --- a/Mohem/src/app/notification/work-list-replacement-roll/work-list-replacement-roll.component.html +++ b/Mohem/src/app/notification/work-list-replacement-roll/work-list-replacement-roll.component.html @@ -94,9 +94,12 @@ {{employee.NAME}}
-
+
+
+ +
diff --git a/Mohem/src/app/notification/work-list-replacement-roll/work-list-replacement-roll.component.ts b/Mohem/src/app/notification/work-list-replacement-roll/work-list-replacement-roll.component.ts index 88cd77b1..df8aa22c 100644 --- a/Mohem/src/app/notification/work-list-replacement-roll/work-list-replacement-roll.component.ts +++ b/Mohem/src/app/notification/work-list-replacement-roll/work-list-replacement-roll.component.ts @@ -53,26 +53,26 @@ export class WorkListReplacementRollComponent implements OnInit { this.P_PAGE_NUM = 1; this.P_PAGE_LIMIT = 50; this.getPassActionMode = this.cs.sharedService.getSharedData('passActionMode', false); - console.log(this.getPassActionMode); // this.getFavruite(); this.getPassNotificationDetails = this.cs.sharedService.getSharedData('passNotificationInfo', false); this.getpassResAttr = this.cs.sharedService.getSharedData('passResAttr', false); - console.log(this.getpassResAttr); this.pQuestion = this.cs.sharedService.getSharedData('pQuestion', false); // tslint:disable-next-line: max-line-length this.arr = this.cs.sharedService.getSharedData('actionHistoryData', false) ? this.cs.sharedService.getSharedData('actionHistoryData', false) : []; - var lookupObject = {}; - - for(var i in this.arr) { + var lookupObject = {}; + + // tslint:disable-next-line: forin + for (var i in this.arr) { lookupObject[this.arr[i]['USER_NAME']] = this.arr[i]; - } + } + + // tslint:disable-next-line: forin + for (i in lookupObject) { + this.actionHistory.push(lookupObject[i]); + } - for(i in lookupObject) { - this.actionHistory.push(lookupObject[i]); - } - console.log(this.actionHistory); if (this.getPassActionMode === 'ANSWER_INFO') { this.isAnswer = true; @@ -214,7 +214,6 @@ export class WorkListReplacementRollComponent implements OnInit { select(selectEmp, index) { - console.log(selectEmp.EMPLOYEE_DISPLAY_NAME); this.selEmp = selectEmp this.active = index; this.userSelected = true; @@ -251,11 +250,7 @@ export class WorkListReplacementRollComponent implements OnInit { if (this.selEmp && this.isAnswer == false) { // this.selectedUserInf = this.ReplacementList[this.selEmp]; this.selectedUserInf = this.selEmp; - console.log("selEmp " + this.selEmp.USER_NAME); - if (this.selectedUserInf && this.selectedUserInf.USER_NAME) { - - console.log("userInfo " + this.selectedUserInf.USER_NAME); if (this.userNote) { if (this.getPassActionMode == "APPROVE_AND_FORWARD" || this.getPassActionMode == "FORWARD") { @@ -267,7 +262,6 @@ export class WorkListReplacementRollComponent implements OnInit { this.getpassResAttr[index_Note].ATTRIBUTE_TEXT_VALUE = this.userNote; this.P_RESPOND_ATTRIBUTES_TBL = this.getpassResAttr; - console.log(this.P_RESPOND_ATTRIBUTES_TBL); this.WorkListActionObj.P_FORWARD_TO_USER_NAME = this.selectedUserInf.USER_NAME; this.WorkListActionObj.P_ACTION_MODE = this.getPassActionMode; this.WorkListActionObj.P_COMMENTS = ""// response Attr @@ -353,8 +347,9 @@ export class WorkListReplacementRollComponent implements OnInit { 'dismissed': true, data: "Success" }); - if (this.selEmp && this.isAnswer == false) + if (this.selEmp && this.isAnswer == false) { this.setFavorite(this.selEmp); + } }, 5000); this.cs.openNotificationPage(); @@ -416,15 +411,16 @@ export class WorkListReplacementRollComponent implements OnInit { } } //this.P_PAGE_NUM++; - if (infiniteScroll) + if (infiniteScroll) { infiniteScroll.target.complete(); + } - // console.log(resFlag); }, (Error) => console.log(Error), () => infiniteScroll.target.complete()); } else { - if (infiniteScroll) + if (infiniteScroll) { infiniteScroll.target.complete(); + } } } @@ -438,7 +434,6 @@ export class WorkListReplacementRollComponent implements OnInit { selectedType; onChangeSelect(select) { - console.log(select.detail.value); let selectValue = select.detail.value; if (selectValue == '1') { @@ -446,14 +441,13 @@ export class WorkListReplacementRollComponent implements OnInit { this.isFilter = true; this.selectedType = 1; this.listOfRealted = this.actionHistory; - } else if(selectValue === '4'){ - console.log(this.listOfFav.length) - if(this.favoriteUserList.length === 0 || this.favoriteUserList === undefined ) { + } else if (selectValue === '4') { + if (this.favoriteUserList.length === 0 || this.favoriteUserList === undefined) { this.getFavruite(); } this.isFilter = true; this.selectedType = 4; - } else if( selectValue === '2' || selectValue === '3' || selectValue === '5'){ + } else if (selectValue === '2' || selectValue === '3' || selectValue === '5') { this.isSelect = true; this.isFilter = false; this.selectedType = 0; @@ -494,8 +488,20 @@ export class WorkListReplacementRollComponent implements OnInit { this.cs.stopLoading(); this.favoriteUserList = result['Mohemm_GetFavoriteReplacementsList']; this.listOfFav = this.favoriteUserList; + + /**** THIS CODE TO CHECK STAR OF EMPLOYEE IF THE IT IS IN FAVOORIT LIST AND SHOW IN WORKFLOW LIST****/ + // this.actionHistory.forEach((obj, i) => { + // if(this.favoriteUserList.some(x => x['USER_NAME'] === obj.USER_NAME)) { + // this.actionHistory[i].isInFavorite = true; + // } else { + // this.actionHistory[i].isInFavorite = false; + // } + // }); + // console.log(this.actionHistory); + /**** END ****/ + } - }) + }); } saveUserFavruiteList(request) { this.worklistService.saveFavoriteList(request, () => { @@ -511,80 +517,80 @@ export class WorkListReplacementRollComponent implements OnInit { selEmp.EMPLOYEE_DISPLAY_NAME = selEmp.EMPLOYEE_DISPLAY_NAME ? selEmp.EMPLOYEE_DISPLAY_NAME : selEmp.NAME; selEmp.EMPLOYEE_IMAGE = selEmp.EMPLOYEE_IMAGE ? selEmp.EMPLOYEE_IMAGE : ''; selEmp.EMAIL_ADDRESS = selEmp.EMAIL_ADDRESS ? selEmp.EMAIL_ADDRESS : ''; - var confirmBoxhtml = `
-

Do you want to add ` + selEmp.EMPLOYEE_DISPLAY_NAME + ` in your favorite list

-
-
-
`; - if (selEmp.EMPLOYEE_IMAGE) - confirmBoxhtml += '
'; - if (!selEmp.EMPLOYEE_IMAGE) - confirmBoxhtml += '
'; - - confirmBoxhtml += `
- - ` + selEmp.EMPLOYEE_DISPLAY_NAME + ` - - - -
-
` - let userIndex = this.favoriteUserList.findIndex(x => x['USER_NAME'] == selEmp.USER_NAME) - if (userIndex == -1) - this.cs.presentConfirmDialog( - confirmBoxhtml - , () => { - var request = - [{ "USER_NAME": selEmp['USER_NAME'], "EMPLOYEE_DISPLAY_NAME": selEmp['EMPLOYEE_DISPLAY_NAME'], "EMAIL_ADDRESS": selEmp.EMAIL_ADDRESS, "EMPLOYEE_IMAGE": selEmp.EMPLOYEE_IMAGE, "IsFavorite": true }]; - - this.saveUserFavruiteList(request); - }, () => { - - }) - - // if (selectValue == "1" || selectValue == "2" || selectValue == "3") { - // this.isSelect = true; - // } - // else { - // this.isSelect = false; - + if (this.favoriteUserList.some(x => x['USER_NAME'] === selEmp.USER_NAME)) { + let confirmBoxhtml = `
+

Do you want to add ` + selEmp.EMPLOYEE_DISPLAY_NAME + ` in your favorite list

+
+
+
`; + if (selEmp.EMPLOYEE_IMAGE) { + confirmBoxhtml += '
'; + } + if (!selEmp.EMPLOYEE_IMAGE) { + confirmBoxhtml += '
'; + } + confirmBoxhtml += `
+ ` + selEmp.EMPLOYEE_DISPLAY_NAME + ` + +
+
`; + const userIndex = this.favoriteUserList.findIndex(x => x['USER_NAME'] === selEmp.USER_NAME) + if (userIndex === -1) { + this.cs.presentConfirmDialog( + confirmBoxhtml + , () => { + const request = + [ + { + 'USER_NAME': selEmp['USER_NAME'], + 'EMPLOYEE_DISPLAY_NAME': selEmp['EMPLOYEE_DISPLAY_NAME'], + 'EMAIL_ADDRESS': selEmp.EMAIL_ADDRESS, + 'EMPLOYEE_IMAGE': selEmp.EMPLOYEE_IMAGE, + 'IsFavorite': true + } + ]; - // } + this.saveUserFavruiteList(request); + }, () => { }); + } + } else { + const request = + [ + { + 'USER_NAME': selEmp['USER_NAME'], + 'EMPLOYEE_DISPLAY_NAME': selEmp['EMPLOYEE_DISPLAY_NAME'], + 'EMAIL_ADDRESS': selEmp.EMAIL_ADDRESS, + 'EMPLOYEE_IMAGE': selEmp.EMPLOYEE_IMAGE, + 'IsFavorite': false + } + ]; + this.saveUserFavruiteList(request); + } } - // onChangeInput() { - // if (this.inputSearch.length > 0) { - // this.searchKeyEnter = true; - - // } else { - // this.searchKeyEnter = false; - - // } - // } - listOfRealted: any = []; listOfFav: any = []; - filterList(event){ + filterList(event) { const val = event.target.value; - if(this.selectedType === 1){ - if(val === '') { + if (this.selectedType === 1) { + if (val === '') { this.actionHistory = this.listOfRealted; } else { this.actionHistory = this.listOfRealted.filter((item) => { return (item.NAME.toLowerCase().indexOf(val.toLowerCase()) > -1); }); } - } else if(this.selectedType === 4) { - if(val === '') { + } else if (this.selectedType === 4) { + if (val === '') { this.favoriteUserList = this.listOfFav; } else { this.favoriteUserList = this.listOfFav.filter((item) => { return (item.EMPLOYEE_DISPLAY_NAME.toLowerCase().indexOf(val.toLowerCase()) > -1); }); } - }else{ + } else { return; } } diff --git a/Mohem/src/assets/imgs/business-card-design.png b/Mohem/src/assets/imgs/business-card-design.png new file mode 100644 index 0000000000000000000000000000000000000000..77743c136c52582cd2ffa288cce59c7b7cbb2e8f GIT binary patch literal 4183 zcmd5<3s)1@7Ty!1hN^(rswhS<1JPRr1yLhJKvWnWfht0(yi^ohtoQ<2YAEq?`{0uclgJRT}TD-@JixE?ZRi181FA*0Zgy6 zKjQG`rV}w}xn;3*%d*Yuw#2QHt%bO_IQy?QZHQg7DrT+yW?A&nHrELNW_PJY9zpTh zuNxDqdbWmDytzMWTy(AX7rRyIvwZf*s;{Q!#Q2B!-)kKvIvqIkjd?sLEH`lCW1Ep< zrTc*J$QJ!n>0B8al~Lsw9m~JPxoth#d{^gpJr#4GbXUGCE9|?R+}_^am+V^HH+X;Y z{g#Br=H{MG3X}VYE`{#FLFQfSXb60iMQ&dyK7PxGey{cd_Z?yC;X!{KlLKhuu?G_@ z0BR2cC{nlpvq=Dz4S_u}0a))1;O_a+z7m{2T(e`4l6iLVR{Y^+XsZ)I@ETL1<0V;h zhVS9K{Rp!QSFdgv{l6}&)~5@Lv96p<3`#S{s!22LM91Ync>R}kW9$`m4Koa7b%J$F zF*!FR4PGn+O;ZcCAY8oKu1zA7azTGJo~!>fJA=u?PHmY2r@LFo?LlIWY9itO^DAX` zDBcPP_rrZks~o1G&J*TaKu~WZnODFkY7c|zY6O`O*Tqv*b7AkcW%M}VgP@WjDrZ7J zJ8eaftd!cd@txI<-)6%BdG9|VvZu!0yLQ}%8h=qkS=rJ`+zn)JeS#vU5Jn8D7s>{ z(!T7Fn_SrNT1`pv`Go$&7|{Hj=vdM|nA2(luJZ}~iunSATW}gYI%fj+ZsiF@7v)@7 z=>^)cW$DafYEFn55&4P-#rIE=4t~b7IBKJq(09*wG6)e|`wbTwo@}Q3!*K=0xULIj zIn1A=SrCqDFhMrN(qrh*2r*YtHySiIMAU!=;nhN@56<&9vf9`Gqaw zr5p28VY-0OuhF>}Zjcv4%q&F?hP35rAPwdyDvY9n0#zJUY&<_XtiLYYp-9HhUZ6 zaN^ud<}Mquf$@E>{MsAey{Aju3@KP84AuYUPaW_tIwQY1cH7O4%E8^pmS>BgBkU+` zmB}2f^IXz&h{?n%R_%vJSE?n(H#oOjW=kgzG_weII?2v(RPD9zUpY(>=@M*4WZ~k@ zT88&tDMZ9Mq;8&pU=e*F#)mFko;F@I!_bMOtvUiPUiXtB7)e+{#|5Q9mJ3mPe;i$M zQhxnruH}JujXF6`|IkE{+g25GqA3g$vG8N>HB1oWdn-5x~27$gH5W z@x5ImpPPd=lA}sZTPv@r?+K8t!nq2#`u^_(h7rn*1^l8P50fEwy#rXcFcU>W!=aYU z!HfB+`$}dQTCg|s$3SOyF`0LoKg+oHFYc>ch?x=h*YOn75|*Z%NDg~5BG3=2exG3} zsY_I`_4by1Nq?tK1#5V={y!XyV&0PFC||`6$ja-n)3MbE5GHIu=JH8+_Vhdz9wA=M z^wFV*qfW8v@P?|2Nm#DZQ}UZPhf<~*6i|-^bbjkYJFw-pHQZsfHkFuZHcqH3K{y+# zX&Ea_A!Ia%(Ag`*tE19JhV-`uqX5`ogP59Qrz=G`9hDo5Z+h8bP)#Ql;NTmikk#QG z6UEc6Q&e>!F81!F$KxWW@f1(Dc+yIi3Wr+0-<8Jt!U{U7KI$t4unJZ=a!ZBg8wMW23tiOSbLK)A{XkxbadRL4S_Rvigb9 zw2s!C5vzyKHtrai8vhF!&z)8oJcvkUMGrC;w=lsr0*SotPC?--D#ZFgBnnw;cV~)zlw5O(HRWcQwy@93fcT- z5Hm;h*ox*DzG0=PWL~m(iJZs@;h9W3rq%y-N-PhuY>2@2HB|K(Wc+s8_wk+x#RCht zu&JuUr0;f}XR(%Uf#X8f@ZR$j^N%{Z_LQH)1|OkJ3z0AHEMRL>E>nm`)4z~*Vl8uk z>%M=3vg88hqIAq&-iCm~xcbM9^ata7a5ZJ*aP!wIkutxU!`=&`YpDYRClK+aWq98Z zl?kDhKL0>oC#TX1bX6xpJ1?&$=26Wd*9F(UD0g8U`y5xl`eAz1niO^NDP|`*9ElbA z24f|&4QM#~N=U;9OeN40H08c@XfV?L;K*_Bq4p3+BO?5bE?CWNw>!!P+t6T63*cUj z*fO`TIb0mYl#r*S1DtywN&(`j2NO1r43P%L^KwU-oMs_qxfljc*Hup3Z+j;zdjH%_M&q(0MLb19y}(dsS@3SC zq5_SiWhd#j0@e7`23=q;Z56@ZPeGlhk)lE*W2F~NFAPJTG^2Tbc#0Dy$gy4-N{~v* zX=W`;#BfezZ+|51`(#f96n_s=`_HKYKjROW(Db>4HnfRmqS5TN{an5A&t9@njd{7E zQ)mNdGx7l|%T8-Jx!IH6OZU5@=AU_jU-JgKe+AC-Y%%yXI4Mg?F`G^l@2fYgCY~d7 z6@DxVI+a#Z%sIgVe%~Ua*C0`5Mxe?}DVc;F><@mG1yq4|Q6dY=KIy3BA{I&rC!frv zvvIei;B)n}tqwA2m||@zoW4ji`D7w8Q)Px~(vUT{8F6>usP4roOD^M3RyqL^*|#YT z0}y!(1u}^a&1I$``(AwYv)p}Is!(TZNX<{Jy1u_|NJhPL-4N;50lu=pE?%$~+`ZI2 zIN)(XpdPNhTP=}cC4(yjf7|96_o@nK?1Dh;Rr}k5x*_)z?URZtJTT)@5m$eVTCh~i z$vD(LY5lFgFUSAOVPgfw?kQkuM^`IxIG9e-VV|{9KJmAmXz;l5X<{(#%X0Eoa@`OM zLhD6;kM!0bPr#Gc$8g~K=Tfn%zLDB=8q4&NT@A0c6U!D%=UZo4wX>;FizSN+7Dn#; EHxv2C5dZ)H literal 0 HcmV?d00001