From 84b21fd77eedc0e0433a9e2afcd6b717a030ff3a Mon Sep 17 00:00:00 2001 From: soumen1102 Date: Sun, 22 Sep 2013 22:29:53 +0530 Subject: [PATCH] testing --- 3D.C | 68 +++ 3DX.C | 132 +++++ A.C | 2 + A2.C | Bin 0 -> 7 bytes AC.C | 16 + ANA.C | 82 +++ ARR.C | 6 + ARUN.C | 204 +++++++ AS.C | 16 + ASSN1.C | 83 +++ ASSN2.C | 47 ++ ASSN3.C | 62 ++ ASSN4.C | 53 ++ ASSN5.C | 62 ++ ASSN6.C | 199 +++++++ ASSN7.C | 31 + ASSN8.C | 30 + AVL.C | 441 +++++++++++++++ BACK.C | 51 ++ BALL.C | 116 ++++ BALLCC.C | 117 ++++ BASECON.C | 79 +++ BGIDEMO.C | 1403 ++++++++++++++++++++++++++++++++++++++++++++++ BOX.C | 54 ++ BOX2.C | 54 ++ BUB.C | 82 +++ CALCU.C | 25 + CARD.C | 10 + CATCHME.C | 104 ++++ CH.C | 7 + CIRCLE.C | 29 + CLC.C | 20 + CLG.C | 51 ++ CLOCK.C | 94 ++++ CMOUSE.H | 101 ++++ CODE.C | 11 + CPP1.C | 18 + DBMS.C | 221 ++++++++ DISC.C | 103 ++++ DOSS.C | 8 + EDITOR.C | 397 +++++++++++++ EDITOR.EXE | Bin 0 -> 21779 bytes ES1.C | 14 + EXETIME.C | 26 + FACTREC.C | 16 + FF.C | 7 + FIB.C | 29 + FILEDOC.C | 117 ++++ FST.C | 25 + FTDT.C | 124 ++++ FTDT.EXE | Bin 0 -> 18817 bytes GAME1.C | 322 +++++++++++ GAME2.C | 289 ++++++++++ GETC.C | 27 + GETCH.C | 18 + GOD.C | 18 + GRA.C | 154 +++++ HACK.C | 16 + HCF.C | 26 + HELP.C | 28 + INS.C | 86 +++ KHULLJA.C | 25 + LINK.C | 54 ++ LINKDOUB.C | 217 +++++++ LINKLIST.C | 53 ++ LINKMENU.C | 209 +++++++ LINKMOH.C | 41 ++ LISTMOH1.C | 53 ++ MACRO.C | 8 + MAINGUI.EXE | Bin 0 -> 101048 bytes MAT.C | 47 ++ MOH11.C | 209 +++++++ MOH4.C | 60 ++ MOH5.C | 39 ++ MOH8.C | 43 ++ MOH9.C | 42 ++ MOUSE.C | 162 ++++++ MSCIRCLE.C | 114 ++++ MSELLIPS.C | 114 ++++ MSMENU.C | 42 ++ MSRECTAN.C | 114 ++++ NAMESORT.C | 37 ++ NEW.C | 10 + NW.C | 8 + ORA.C | 6 + PALLIN.C | 49 ++ PASSWD.C | 11 + PATSRC.C | 11 + PBRUSH.C | 571 +++++++++++++++++++ PBRUSH.EXE | Bin 0 -> 44296 bytes PERMUTE.C | 38 ++ PIANO.C | 111 ++++ PINBALL.C | 298 ++++++++++ PIX.C | 27 + POINTER.C | 13 + POINTER1.C | 15 + PORT.C | 45 ++ PPP.C | 7 + PR.C | 10 + PRINTER.C | 54 ++ PROB1.C | 61 ++ PROB2.C | 83 +++ PT.C | 7 + Prince.zip.3.spl | Bin 0 -> 424201 bytes QUICK.C | 186 ++++++ RDSK.C | 22 + READDISK.C | 20 + S1.C | 7 + SCHOOL1.C | 85 +++ SCHOOL2.C | 199 +++++++ SCHOOL3.C | 322 +++++++++++ SCHOOL4.C | 322 +++++++++++ SCROLL.C | 42 ++ SEG.C | 333 +++++++++++ SETUP.C | 21 + SHUFFEL.C | 85 +++ SINE.C | 29 + SM1.C | 49 ++ SM3.C | 41 ++ SND.C | 33 ++ SORT.C | 32 ++ SOUND.C | 11 + SPARSE.C | 103 ++++ SQ.C | 11 + STACK.C | 225 ++++++++ STAR.C | 33 ++ STR.C | 23 + STRUCT.C | 21 + TC0000.SWP | Bin 0 -> 53248 bytes TELE.C | 49 ++ TELLAR.C | 182 ++++++ TELLAR.H | 240 ++++++++ TEMPLATE.C | 36 ++ TES.C | 5 + TEST.C | 15 + TESTT.C | 8 + TEXTEDIT.C | 132 +++++ TFTDT.C | 22 + TRANS.C | 25 + TREE1.EXE | Bin 0 -> 17649 bytes TREE3.C | 479 ++++++++++++++++ TSR.C | 30 + TSR1.C | 58 ++ TSRV.C | 58 ++ TT.C | 12 + TT1.C | 18 + TT10.C | 11 + TT11.C | 26 + TT2.C | 23 + TT3.C | 40 ++ TT4.C | 11 + TT5.C | 11 + TT6.C | 37 ++ TT7.C | 24 + TT8.C | 28 + TT9.C | 23 + TUTU.C | 15 + VINEET.C | 25 + WEL.C | 87 +++ YY10.C | 6 + tree1.c | 473 ++++++++++++++++ tree2.c | 120 ++++ treeavl.c | 492 ++++++++++++++++ 163 files changed, 14225 insertions(+) create mode 100644 3D.C create mode 100644 3DX.C create mode 100644 A.C create mode 100644 A2.C create mode 100644 AC.C create mode 100644 ANA.C create mode 100644 ARR.C create mode 100644 ARUN.C create mode 100644 AS.C create mode 100644 ASSN1.C create mode 100644 ASSN2.C create mode 100644 ASSN3.C create mode 100644 ASSN4.C create mode 100644 ASSN5.C create mode 100644 ASSN6.C create mode 100644 ASSN7.C create mode 100644 ASSN8.C create mode 100644 AVL.C create mode 100644 BACK.C create mode 100644 BALL.C create mode 100644 BALLCC.C create mode 100644 BASECON.C create mode 100644 BGIDEMO.C create mode 100644 BOX.C create mode 100644 BOX2.C create mode 100644 BUB.C create mode 100644 CALCU.C create mode 100644 CARD.C create mode 100644 CATCHME.C create mode 100644 CH.C create mode 100644 CIRCLE.C create mode 100644 CLC.C create mode 100644 CLG.C create mode 100644 CLOCK.C create mode 100644 CMOUSE.H create mode 100644 CODE.C create mode 100644 CPP1.C create mode 100644 DBMS.C create mode 100644 DISC.C create mode 100644 DOSS.C create mode 100644 EDITOR.C create mode 100644 EDITOR.EXE create mode 100644 ES1.C create mode 100644 EXETIME.C create mode 100644 FACTREC.C create mode 100644 FF.C create mode 100644 FIB.C create mode 100644 FILEDOC.C create mode 100644 FST.C create mode 100644 FTDT.C create mode 100644 FTDT.EXE create mode 100644 GAME1.C create mode 100644 GAME2.C create mode 100644 GETC.C create mode 100644 GETCH.C create mode 100644 GOD.C create mode 100644 GRA.C create mode 100644 HACK.C create mode 100644 HCF.C create mode 100644 HELP.C create mode 100644 INS.C create mode 100644 KHULLJA.C create mode 100644 LINK.C create mode 100644 LINKDOUB.C create mode 100644 LINKLIST.C create mode 100644 LINKMENU.C create mode 100644 LINKMOH.C create mode 100644 LISTMOH1.C create mode 100644 MACRO.C create mode 100644 MAINGUI.EXE create mode 100644 MAT.C create mode 100644 MOH11.C create mode 100644 MOH4.C create mode 100644 MOH5.C create mode 100644 MOH8.C create mode 100644 MOH9.C create mode 100644 MOUSE.C create mode 100644 MSCIRCLE.C create mode 100644 MSELLIPS.C create mode 100644 MSMENU.C create mode 100644 MSRECTAN.C create mode 100644 NAMESORT.C create mode 100644 NEW.C create mode 100644 NW.C create mode 100644 ORA.C create mode 100644 PALLIN.C create mode 100644 PASSWD.C create mode 100644 PATSRC.C create mode 100644 PBRUSH.C create mode 100644 PBRUSH.EXE create mode 100644 PERMUTE.C create mode 100644 PIANO.C create mode 100644 PINBALL.C create mode 100644 PIX.C create mode 100644 POINTER.C create mode 100644 POINTER1.C create mode 100644 PORT.C create mode 100644 PPP.C create mode 100644 PR.C create mode 100644 PRINTER.C create mode 100644 PROB1.C create mode 100644 PROB2.C create mode 100644 PT.C create mode 100644 Prince.zip.3.spl create mode 100644 QUICK.C create mode 100644 RDSK.C create mode 100644 READDISK.C create mode 100644 S1.C create mode 100644 SCHOOL1.C create mode 100644 SCHOOL2.C create mode 100644 SCHOOL3.C create mode 100644 SCHOOL4.C create mode 100644 SCROLL.C create mode 100644 SEG.C create mode 100644 SETUP.C create mode 100644 SHUFFEL.C create mode 100644 SINE.C create mode 100644 SM1.C create mode 100644 SM3.C create mode 100644 SND.C create mode 100644 SORT.C create mode 100644 SOUND.C create mode 100644 SPARSE.C create mode 100644 SQ.C create mode 100644 STACK.C create mode 100644 STAR.C create mode 100644 STR.C create mode 100644 STRUCT.C create mode 100644 TC0000.SWP create mode 100644 TELE.C create mode 100644 TELLAR.C create mode 100644 TELLAR.H create mode 100644 TEMPLATE.C create mode 100644 TES.C create mode 100644 TEST.C create mode 100644 TESTT.C create mode 100644 TEXTEDIT.C create mode 100644 TFTDT.C create mode 100644 TRANS.C create mode 100644 TREE1.EXE create mode 100644 TREE3.C create mode 100644 TSR.C create mode 100644 TSR1.C create mode 100644 TSRV.C create mode 100644 TT.C create mode 100644 TT1.C create mode 100644 TT10.C create mode 100644 TT11.C create mode 100644 TT2.C create mode 100644 TT3.C create mode 100644 TT4.C create mode 100644 TT5.C create mode 100644 TT6.C create mode 100644 TT7.C create mode 100644 TT8.C create mode 100644 TT9.C create mode 100644 TUTU.C create mode 100644 VINEET.C create mode 100644 WEL.C create mode 100644 YY10.C create mode 100644 tree1.c create mode 100644 tree2.c create mode 100644 treeavl.c diff --git a/3D.C b/3D.C new file mode 100644 index 0000000..926773f --- /dev/null +++ b/3D.C @@ -0,0 +1,68 @@ +#include +void main() +{ +int x=320,y,r=2,gd=DETECT,gm; +initgraph(&gd,&gm,""); + +while(!kbhit()) +{ +for(y=200;y>50;y-=5) +{ +setcolor(LIGHTGRAY); +setbkcolor(BLACK); +setfillstyle(SOLID_FILL,LIGHTGRAY); +circle(x,y,r); +floodfill(x,y,LIGHTGRAY); +delay(40); +setfillstyle(SOLID_FILL,BLACK); +setcolor(BLACK); +circle(x,y,r); +floodfill(x,y,BLACK); +r++; +} +for(y=50;y<200;y+=5) +{ +setcolor(LIGHTGRAY); +setbkcolor(BLACK); +setfillstyle(SOLID_FILL,LIGHTGRAY); +circle(x,y,r); +floodfill(x,y,LIGHTGRAY); +delay(40); +setcolor(BLACK); +setfillstyle(SOLID_FILL,BLACK); +circle(x,y,r); +floodfill(x,y,BLACK); +r++; +} +for(y=200;y<350;y+=5) +{ +setcolor(LIGHTGRAY); +setbkcolor(BLACK); +setfillstyle(SOLID_FILL,LIGHTGRAY); +circle(x,y,r); +floodfill(x,y,LIGHTGRAY); +delay(40); +setcolor(BLACK); +setfillstyle(SOLID_FILL,BLACK); +circle(x,y,r); +floodfill(x,y,BLACK); +r--; +} +for(y=350;y>200;y-=5) +{ +setcolor(LIGHTGRAY); +setbkcolor(BLACK); +setfillstyle(SOLID_FILL,LIGHTGRAY); +circle(x,y,r); +floodfill(x,y,LIGHTGRAY); +delay(40); +setcolor(BLACK); +setfillstyle(SOLID_FILL,BLACK); +circle(x,y,r); +floodfill(x,y,BLACK); +r--; +} +} + closegraph(); + restorecrtmode(); +} \ No newline at end of file diff --git a/3DX.C b/3DX.C new file mode 100644 index 0000000..7209476 --- /dev/null +++ b/3DX.C @@ -0,0 +1,132 @@ +#include +void main() +{ +int x=250,y,r=20,rr,gd=DETECT,gm; +initgraph(&gd,&gm,""); + +setcolor(RED); +rectangle(10,10,630,470); +rectangle(11,11,629,469); +setcolor(LIGHTRED); +rectangle(9,9,631,471); +while(!kbhit()) +{ +r=20; +for(y=320;y>90;y-=7) +{ +setcolor(LIGHTGRAY); +setbkcolor(BLACK); +setfillstyle(SOLID_FILL,LIGHTGRAY); +circle(y,x,r); +rr=r; +while(rr>0) +{ +circle(y,x,rr); +rr--; +} + +//floodfill(y,x,LIGHTGRAY); +delay(50); +setfillstyle(SOLID_FILL,BLACK); +setcolor(BLACK); +circle(y,x,r); +rr=r; +while(rr>0) +{ +circle(y,x,rr); +rr--; +} + +//floodfill(y,x,BLACK); +r++; +} +delay(50); +for(y=90;y<320;y+=7) +{ +setcolor(LIGHTGRAY); +setbkcolor(BLACK); +//setfillstyle(SOLID_FILL,LIGHTGRAY); +circle(y,x,r); +rr=r; +while(rr>0) +{ +circle(y,x,rr); +rr--; +} + +//floodfill(y,x,LIGHTGRAY); +delay(50); +setcolor(BLACK); +setfillstyle(SOLID_FILL,BLACK); +circle(y,x,r); +rr=r; +while(rr>0) +{ +circle(y,x,rr); +rr--; +} + +//floodfill(y,x,BLACK); +r++; +} +for(y=320;y<570;y+=7) +{ +setcolor(LIGHTGRAY); +setbkcolor(BLACK); +setfillstyle(SOLID_FILL,LIGHTGRAY); +circle(y,x,r); +rr=r; +while(rr>0) +{ +circle(y,x,rr); +rr--; +} + +//floodfill(y,x,LIGHTGRAY); +delay(50); +setcolor(BLACK); +setfillstyle(SOLID_FILL,BLACK); +circle(y,x,r); +rr=r; +while(rr>0) +{ +circle(y,x,rr); +rr--; +} + +//floodfill(y,x,BLACK); +r--; +} +delay(50); +for(y=570;y>320;y-=7) +{ +setcolor(LIGHTGRAY); +setbkcolor(BLACK); +setfillstyle(SOLID_FILL,LIGHTGRAY); +circle(y,x,r); +rr=r; +while(rr>0) +{ +circle(y,x,rr); +rr--; +} + +//floodfill(y,x,LIGHTGRAY); +delay(50); +setcolor(BLACK); +setfillstyle(SOLID_FILL,BLACK); +circle(y,x,r); +rr=r; +while(rr>0) +{ +circle(y,x,rr); +rr--; +} + +//floodfill(y,x,BLACK); +r--; +} +} + closegraph(); + restorecrtmode(); +} \ No newline at end of file diff --git a/A.C b/A.C new file mode 100644 index 0000000..69df5be --- /dev/null +++ b/A.C @@ -0,0 +1,2 @@ + + 500 d \ No newline at end of file diff --git a/A2.C b/A2.C new file mode 100644 index 0000000000000000000000000000000000000000..c222a89a71d0075e85064682bfae5cc562722fd3 GIT binary patch literal 7 OcmZSJ<>KXHU;qFB*#Iv9 literal 0 HcmV?d00001 diff --git a/AC.C b/AC.C new file mode 100644 index 0000000..93fa848 --- /dev/null +++ b/AC.C @@ -0,0 +1,16 @@ +#include +main() +{ + +struct mystruct +{ + int i; + char ch; +}e; +FILE *pt ; +pt=fopen("a.c","a"); +e.i=500; +e.ch='d'; +fprintf(pt,"\n %d \t\t %c",e.i,e.ch); +fclose(pt); +} \ No newline at end of file diff --git a/ANA.C b/ANA.C new file mode 100644 index 0000000..91b4a65 --- /dev/null +++ b/ANA.C @@ -0,0 +1,82 @@ +#include +#include +#include +void main() +{ +int gd=DETECT,gm,x,y,p,q,cord[70][2]={ + {320,70}, + {334,76}, + {352,82}, + {374,88}, + {396,94}, + {410,110}, + {419,119}, + {428,128}, + {437,140}, + {446,152}, + {450,162}, + {456,179}, + {462,191}, + {468,208}, + {472,224}, + {479,240}, + {470,250}, + {460,260}, + {450,270}, {456,300}, + {440,280}, + {430,290}, + {420,300}, + {410,310}, + {400,320}, + {390,330}, + {380,340}, + {370,350}, + {360,360}, + {350,370}, + {320,390} + }; +initgraph(&gd,&gm,""); +cleardevice(); +setcolor(LIGHTGRAY); +setbkcolor(WHITE); +//circle(320,240,180); +//circle(320,240,185); +//setfillstyle(CLOSE_DOT_FILL,LIGHTRED); +//floodfill(503,423,LIGHTRED); +circle(320,240,5); +setfillstyle(SOLID_FILL,LIGHTGRAY); +floodfill(320,240,LIGHTGRAY); +settextstyle(3,0,3); +outtextxy(308,60,"12"); +outtextxy(315,390,"6"); +outtextxy(480,220,"3"); +outtextxy(150,225,"9"); +outtextxy(400,85,"1"); +outtextxy(455,145,"2"); +outtextxy(456,305,"4"); +outtextxy(400,365,"5"); +outtextxy(175,305,"8"); +outtextxy(227,365,"7"); +outtextxy(165,145,"10"); +outtextxy(220,85,"11"); +setlinestyle(SOLID_LINE,2,2); +line(320,240,320,80); +p=0; +q=0; +delay(580); +while(q<30) +{ + delay(590); + setcolor(WHITE); + line(320,240,cord[p][0],cord[p][1]); + setcolor(LIGHTGRAY); + p++; + line(320,240,cord[p][0],cord[p][1]); + + q++; +} + +getchar(); +closegraph(); +restorecrtmode(); +} \ No newline at end of file diff --git a/ARR.C b/ARR.C new file mode 100644 index 0000000..5cd00f0 --- /dev/null +++ b/ARR.C @@ -0,0 +1,6 @@ +void main() +{ +static char arr[]={"hhhhh"}; +printf("%s",arr); +getch(); +} diff --git a/ARUN.C b/ARUN.C new file mode 100644 index 0000000..a633599 --- /dev/null +++ b/ARUN.C @@ -0,0 +1,204 @@ +/* problem 1 : solution*/ +#include +struct tree +{ + int info; + struct tree *left; + struct tree *right; +}; + +typedef struct tree node; + +void preorder(node *root,int *arr); +void postorder(node *root,int *arr); +void inorder(node *root,int *arr); + +void main() +{ + node *root,*temp1,*temp2; + static int i=0,arr1[100],arr2[100],arr3[100]; + char ch,t[3]; + root=(node *)malloc(sizeof(node)); + root->left=NULL; + root->right=NULL; + temp1=root; + clrscr(); + gotoxy(10,4); + textcolor(12); + cprintf("BINARY SEARCH TREE "); + gotoxy(30,7); + textcolor(15); + cprintf("Enter the root element : "); + fflush(stdin); + scanf("%d",&root->info); + while(1) + { + gotoxy(30,9); + printf("any more element : Y / N "); + fflush(stdin); + ch=toupper(getch()); + if(ch=='N') + { + root->left=NULL; + root->right=NULL; + break; + } + root=temp1; + clrscr(); + gotoxy(25,7); + cprintf("enter the element : "); + fflush(stdin); + scanf("%d",&temp); + while(2) + { + if(temp>=root->info) + { + if(root->right==NULL) + { + root->right=(node *)malloc(sizeof(node)); + root=root->right; + root->info=temp; + root->left=NULL; + root->right=NULL; + break; + } + root=root->right; + } + if(tempinfo) + { + if(root->left==NULL) + { + root->left=(node *)malloc(sizeof(node)); + root=root->left; + root->info=temp; + root->left=NULL; + root->right=NULL; + break; + } + root=root->left; + } + } + } + again: + clrscr(); + printf("\n\tenter the first mode of traversal: (I/P/O)"); + scanf("%c",&t[0]); + fflush(stdin); + printf("\n\tenter the second mode of traversal:(I/P/O)"); + scanf("%c",&t[1]); + if(t[0]==t[1]) + goto again; + for(i=0;i<2;i++) + { + switch(toupper(t[i])) + { + case'I': + inorder(temp1,arr1); + break; + case'P': + preorder(temp1,arr2); + break; + case'O': + postorder(temp1,arr3); + break; + } + } + i=0; + printf("\n INORDER"); + while(arr1[i]!=NULL) + { + printf(" %d ",arr1[i++]); + } + i=0; + printf("\n PREORDER"); + while(arr2[i]!=NULL) + { + printf(" %d ",arr2[i++]); + } + i=0; + printf("\n POSTORDER"); + while(arr3[i]!=NULL) + { + printf(" %d ",arr3[i++]); + } + i=0; + if(arr1[i] && arr2[i]) + { + while(arr1[i]!=NULL) + { + if(arr1[i]==arr2[i+1]) + if(arr2[i]==arr1[i+1]) + { + printf("\nordered pair is %d <-> %d \n",arr1[i],arr1[i+1]); + } + i++; + } + getch(); + exit(1); + } + i=0; + if(arr1[i] && arr3[i]) + { + while(arr1[i]!=NULL) + { + if(arr1[i]==arr3[i+1]) + if(arr3[i]==arr1[i+1]) + { + printf("\nordered pair is %d <-> %d ",arr1[i],arr1[i+1]); + } + i++; + } + getch(); + exit(1); + } + i=0; + if(arr2[i] && arr3[i]) + { + while(arr2[i]!=NULL) + { + if(arr2[i]==arr3[i+1]) + if(arr3[i]==arr2[i+1]) + { + printf("\nordered pair is %d <-> %d ",arr2[i],arr2[i+1]); + } + i++; + } + getch(); + exit(1); + } + getch(); +} + + +void inorder(node *root,int *arr) +{ +static int i=0; +if(root) + { + inorder(root->left,arr); + *(arr+i++)=root->info; + inorder(root->right,arr); + } +} + +void preorder(node *root,int *arr) +{ +static int i=0; +if(root) + { + *(arr+i++)=root->info; + preorder(root->left,arr); + preorder(root->right,arr); + } +} + +void postorder(node *root,int *arr) +{ +static int i=0; +if(root) + { + postorder(root->left,arr); + postorder(root->right,arr); + *(arr+i++)=root->info; + } +} diff --git a/AS.C b/AS.C new file mode 100644 index 0000000..2ee97ae --- /dev/null +++ b/AS.C @@ -0,0 +1,16 @@ +#include +main() +{ + +struct mystruct +{ + int i; + char ch; +}e; +FILE *pt ; +pt=fopen("a.c","w"); +e.i=243; +e.ch='f'; +fprintf(pt,"\n %d \t\t %c",e.i,e.ch); +fclose(pt); +} \ No newline at end of file diff --git a/ASSN1.C b/ASSN1.C new file mode 100644 index 0000000..7506d68 --- /dev/null +++ b/ASSN1.C @@ -0,0 +1,83 @@ +// to arrange the numbers in ascending order and descending order :1(a)(b) +#include +#include +#include +void main() +{ + int *n,*tp,i=0,j=0,k=0,temp,h,it; + char an='Y',x; + n=(int *)malloc(1); + tp=n; + while(toupper(an)=='Y') + { + clrscr(); + gotoxy(5,5); + textcolor(LIGHTGRAY); + cprintf("enter the number :"); + textcolor(CYAN); + cscanf("%d",n); + n++; + i++; + textcolor(LIGHTGRAY); + gotoxy(5,7); + cprintf("another number y/n...? "); + fflush(stdin); + an=getchar(); + } + fflush(stdin); + n=tp; + textcolor(LIGHTGRAY); + gotoxy(5,8); + cprintf(" Arrange the numbers in ascending or descending order : A/D ...?"); + scanf("%c",&x); + it=x; + + x=toupper(x); + if(x=='A'|| it==10) + { + textcolor(WHITE); + if(it==10) + cprintf(" By default Ascending "); + textcolor(CYAN); + for(j=0;j *(n+k)) + { + temp=*(n+j); + *(n+j)=*(n+k); + *(n+k)=temp; + } + } + else + if(x=='D') + { + for(j=0;j *(n+k)) + { + temp=*(n+j); + *(n+j)=*(n+k); + *(n+k)=temp; + } + } + else + { + printf("don'nt play games with me , re run the program"); + exit(); + } + + gotoxy(5,10); + cprintf(" the numbers in the sorted order are :"); + n=tp; + for(h=0;h + +void main() +{ +int num,*bin,i=0; + + clrscr(); + gotoxy(25,3); + textcolor(LIGHTGREEN); + cprintf("DECIMAL TO BINARY CONVERTER"); + textcolor(LIGHTGRAY); + gotoxy(5,5); + cprintf("enter the number : "); + textcolor(CYAN); + cscanf("%d",&num); + if(num<0) + { + gotoxy(5,7); + textcolor(RED); + cprintf("the number you entered is negative,the negative sign is being ignored"); + num=num*(-1); + } + while(num>0) + { + *bin=num%2; + num=num/2; + bin++; + i++; + } + textcolor(LIGHTGRAY); + gotoxy(5,11); + cprintf("the binary equivalent of the number is:"); + textcolor(CYAN); + bin--; + while(i>0) + { + cprintf(" %d ",*bin); + bin--; + i--; + } + gotoxy(5,15); + printf("press any key to exit...."); + while(!kbhit()); +} + + diff --git a/ASSN3.C b/ASSN3.C new file mode 100644 index 0000000..cc41c25 --- /dev/null +++ b/ASSN3.C @@ -0,0 +1,62 @@ +//to calculate nCr +#include +#include +#define GR textcolor(LIGHTGRAY); +#define CY textcolor(CYAN); +long double fact(int n); +void main() +{ + int n,r,c; + long double nf,nrf,nr; + while(1) + { + clrscr(); + gotoxy(5,5); + GR; + cprintf("enter the value of 'n' :"); + CY; + fflush(stdin); + cscanf("%d",&n); + gotoxy(5,7); + GR; + cprintf("enter the value of 'r' :"); + CY; + fflush(stdin); + cscanf("%d",&r); + if(n<0 || n0) + { + temp=temp*n; + n--; + } + return(temp); + } diff --git a/ASSN4.C b/ASSN4.C new file mode 100644 index 0000000..79bfa56 --- /dev/null +++ b/ASSN4.C @@ -0,0 +1,53 @@ +//to calculate the number of characters, lines,blank spaces and vowels in text. +#include +#include +void main() +{ +char *str,*temp; +int nc=0,nl=1,nw=1,nv=0; +clrscr(); +gotoxy(2,2); +str=(char *)malloc(1); +temp=str; +textcolor(LIGHTRED); +cprintf(" terminate the text with CTRL+Z.. hit enter "); +gotoxy(5,5); + while((*str++=getchar())!=EOF); + str=temp; + while((*str++)!=EOF) + { + if(*str=='\n') + { + nl++; + nc--; + } + if(toupper(*str)=='A' || toupper(*str)=='E' || toupper(*str)=='I' || toupper(*str)=='O' || toupper(*str)=='U') + { + nv++; + } + if(*str==' ' || *str=='\t') + { + nw++; + nc=nc+0; + } + else + nc++; + } + textbackground(BLACK); + textcolor(CYAN); + gotoxy(15,20); + cprintf(" the number of characters in the above input are: %d",nc); + textcolor(RED ); + gotoxy(15,21); + cprintf(" the number of lines in the above input are : %d ",nl); + textcolor(MAGENTA); + gotoxy(15,22); + cprintf(" the number of words in the above input are : %d ",nw); + textcolor(YELLOW); + gotoxy(15,23); + cprintf(" the number of vovels in the above input are : %d ",nv); + textcolor(WHITE); + fflush(stdin); + while(!kbhit()); +} + diff --git a/ASSN5.C b/ASSN5.C new file mode 100644 index 0000000..425d3eb --- /dev/null +++ b/ASSN5.C @@ -0,0 +1,62 @@ +//digital clock using system time +#include +#include +#include +#include +void main() +{ +int hh,x=2,mm,ss,y=12,flag=0; +struct time t; +system("cls"); +clrscr(); +textcolor(YELLOW); +//textbackground(LIGHTMAGENTA); +//x=rand() % 65; +//y=rand() % 25; + +while(!kbhit()) +{ + //x=rand() % 65; + //y=rand() % 25; + gettime(&t); + gotoxy(x,y); + cprintf("%2d:%02d:%02d",t.ti_hour,t.ti_min,t.ti_sec); + delay(30); + //clrscr(); + //y=sqrt(sqrt(x*x-25)); + if(x<72 && flag==0) + { + x++; + } + if(x==72) + flag=1; + if(flag==1 && x>2) + { + x--; + } + if(x==2) + flag=0; + + + /*x++; + y++; + if(x==75) + { + x--; + y++; + if(y==25) + y--; + } + if(y==25) + { + y--; + x++; + if(x==75) + x--; + } + */ + } + getch(); +system("cls"); + +} diff --git a/ASSN6.C b/ASSN6.C new file mode 100644 index 0000000..7ce0e5a --- /dev/null +++ b/ASSN6.C @@ -0,0 +1,199 @@ +// digital clock allowing the user to set time +#include +#include +#include +int getkey(void); +void main() +{ +int h1=0,h2=0,m1=0,m2=0,s1=0,s2=0,x=22,k=0,sm=0;//time : h1h2:m1m2:s1s2 +char *n="DIGITAL_CLOCK_:_ENTER_THE_CURRENT_TIME"; +clrscr(); +gotoxy(x,2); +textcolor(LIGHTGREEN); +while(*n!=NULL) +{ + if(*n=='_') + *n=' '; + cprintf("%c",*n); + n++; + x++; + sound(950); + delay(200); + nosound(); +} + +gotoxy(50,23); +textcolor(LIGHTGRAY); +cprintf("use arrow keys to set time"); + while(1) + { + gotoxy(35,5); + cprintf("%d",h1); + gotoxy(36,5); + cprintf("%d",h2); + gotoxy(37,5); + cprintf(":%d",m1); + gotoxy(39,5); + cprintf("%d",m2); + gotoxy(35,5); + k=getkey(); + if(k==28) + break; + if(k==72) + { + gotoxy(35,5); + textcolor(GREEN); + cprintf("%d",h1); + h1++; + if(h1==3) + h1=0; + } + textcolor(LIGHTGREEN); + if(k==80) + { + gotoxy(35,5); + textcolor(GREEN); + cprintf("%d",h1); + h1--; + if(h1<0) + h1=2; + } + textcolor(LIGHTGREEN); + if(k==77) + { + sm=1; + while(1) + { + gotoxy(36,5); + textcolor(GREEN); + cprintf("%d",h2); + gotoxy(36,5); + k=getkey(); + if(k==72) + { + h2++; + if(h2==10) + h2=0; + if(h1==2 && h2>=4) + h2=0; + } + if(k==80) + { + h2--; + if(h2<0) + h2=9; + if(h1==2 && h2==9) + h2=3; + } + if(k==77) + break; + } + if(k==77 && sm==1) + { + while(1) + { + sm=2; + gotoxy(38,5); + cprintf("%d",m1); + gotoxy(38,5); + k=getkey(); + if(k==72) + { + m1++; + if(m1==6) + m1=0; + } + if(k==80) + { + m1--; + if(m1<0) + m1=5; + } + if(k==77) + break; + } + if(k==77 && sm==2) + { + while(1) + { + gotoxy(39,5); + textcolor(GREEN); + cprintf("%d",m2); + gotoxy(39,5); + k=getkey(); + if(k==72) + { + m2++; + if(m2==10) + m2=0; + } + if(k==80) + { + m2--; + if(m2<0) + m2=9; + } + if(k==77) + break; + } + } + } + textcolor(LIGHTGREEN); + } + } +textcolor(YELLOW); +clrscr(); + while(!kbhit()) + { + gotoxy(35,12); + cprintf("%d%d:%d%d:%d%d",h1,h2,m1,m2,s1,s2); + sound(750); + delay(10); + nosound(); + sleep(1); + s2++; + if(s2==10) + { + s2=0; + s1++; + } + if(s1==6) + { + sound(850); + delay(15); + nosound(); + s1=0; + m2++; + } + if(m2==10) + { + m2=0; + m1++; + } + if(m1==6) + { + m1=0; + h2++; + } + if(h2==10) + { + h2=0; + h1++; + } + if(h1==2 && h2==4) + { + h1=0; + h2=0; + } + } +} + int getkey(void) + { + union REGS i,o; + while(!kbhit()) + { + i.h.ah=0; + int86(22,&i,&o); + return(o.h.ah); + } + } diff --git a/ASSN7.C b/ASSN7.C new file mode 100644 index 0000000..2bc9153 --- /dev/null +++ b/ASSN7.C @@ -0,0 +1,31 @@ +#include +#include +void main() +{ +int n1,n2,*n,temp,i=0,t1; +scanf("%d%d",&n1,&n2); +if(n1>n2) +{ +t1=n1; +n1=n2; +} +else +t1=n2; +while(temp!=0) +{ +*n=n1; +printf("%d",*n); +temp=t1%n1; +t1=n1; +n1=temp; +n++; +i++; +} +//while(i>0) +//{ +printf(" %d ",*(n-1)); +//n--; +//i--; +//} +while(!kbhit()); +} \ No newline at end of file diff --git a/ASSN8.C b/ASSN8.C new file mode 100644 index 0000000..ff01850 --- /dev/null +++ b/ASSN8.C @@ -0,0 +1,30 @@ +// to display sine curve on the screen +#include +#include +#include +void main() +{ +int x=0,x1=40,y=1; +float z; +clrscr(); +while(1) +{ +textcolor(LIGHTRED); +z=sin(x); +z=z*5; +x1=x1+z; +gotoxy(x1,y); +cprintf("."); +textcolor(LIGHTGRAY); +gotoxy(40,y); +cprintf("|"); +delay(300); +x1=40; +y++; +if(y==25) +exit(); +x=x+7; +} + getchar(); + system("cls"); +} diff --git a/AVL.C b/AVL.C new file mode 100644 index 0000000..c685c96 --- /dev/null +++ b/AVL.C @@ -0,0 +1,441 @@ +/* Create AVL Binary TREE */ +/* AVL_TREE.C */ + +# include +# include +# include + +# define F 0 +# define T 1 + +struct NODE +{ + char Info; + int Flag; + struct NODE *Left_Child; + struct NODE *Right_Child; +}; + +struct NODE *Binary_Tree (char , struct NODE *, int *); +void Output(struct NODE *, int ); +struct NODE *Balance_Right_Heavy(struct NODE *, int *); +struct NODE *Balance_Left_Heavy(struct NODE *, int *); +struct NODE *DELETE(struct NODE *, struct NODE *, int *); +struct NODE *Delete_Element(struct NODE *, char , int *); +void preorder(struct NODE *show,int x,int y,char b,int h); +void layout(int x1,int y1,int x2,int y2,int ccb,int cct); +int univflag; + +/* Function to insert an element into tree */ + +struct NODE * Binary_Tree (char Info, struct NODE *Parent, int *H) +{ + struct NODE *Node1; + struct NODE *Node2; + if(!Parent) + { + Parent = (struct NODE *) malloc(sizeof(struct NODE)); + Parent->Info = Info; + Parent->Left_Child = NULL; + Parent->Right_Child = NULL; + Parent->Flag = 0; + *H = T; + return (Parent); + } + + if(Info < Parent->Info) + { + Parent->Left_Child = Binary_Tree(Info, Parent->Left_Child, H); + if(*H) + /* Left branch has grown higher */ + { + switch(Parent->Flag) + { + case 1: /* Right heavy */ + Parent->Flag = 0; + *H = F; + break; + case 0: /* Balanced tree */ + Parent->Flag = -1; + break; + case -1: /* Left heavy */ + Node1 = Parent->Left_Child; + if(Node1->Flag == -1) + { + //printf("\n Left to Left Rotation\n"); + Parent->Left_Child= Node1->Right_Child; + Node1->Right_Child = Parent; + Parent->Flag = 0; + Parent = Node1; + } + else + { + //printf("\n Left to right rotation\n"); + Node2 = Node1->Right_Child; + Node1->Right_Child = Node2->Left_Child; + Node2->Left_Child = Node1; + Parent->Left_Child = Node2->Right_Child; + Node2->Right_Child = Parent; + if(Node2->Flag == -1) + Parent->Flag = 1; + else + Parent->Flag = 0; + if(Node2->Flag == 1) + Node1->Flag = -1; + else + Node1->Flag = 0; + Parent = Node2; + } + + Parent->Flag = 0; + *H = F; + } + } + } + + if(Info > Parent->Info) + { + Parent->Right_Child = Binary_Tree(Info, Parent->Right_Child, H); + if(*H) + /* Right branch has grown higher */ + { + switch(Parent->Flag) + { + case -1: /* Left heavy */ + Parent->Flag = 0; + *H = F; + break; + case 0: /* Balanced tree */ + Parent->Flag = 1; + break; + + case 1: /* Right heavy */ + Node1 = Parent->Right_Child; + if(Node1->Flag == 1) + { + printf("\n Right to Right Rotation\n"); + Parent->Right_Child= Node1->Left_Child; + Node1->Left_Child = Parent; + Parent->Flag = 0; + Parent = Node1; + } + else + { + printf("\n Right to Left Rotation\n"); + Node2 = Node1->Left_Child; + Node1->Left_Child = Node2->Right_Child; + Node2->Right_Child = Node1; + Parent->Right_Child = Node2->Left_Child; + Node2->Left_Child = Parent; + + if(Node2->Flag == 1) + Parent->Flag = -1; + else + Parent->Flag = 0; + if(Node2->Flag == -1) + Node1->Flag = 1; + else + Node1->Flag = 0; + Parent = Node2; + } + + Parent->Flag = 0; + *H = F; + } + } + } + return(Parent); +} + +/* Output function */ + +void Output(struct NODE *Tree,int Level) +{ + int i; + if (Tree) + { + Output(Tree->Right_Child, Level+1); + printf("\n"); + for (i = 0; i < Level; i++) + printf(" "); + printf("%c", Tree->Info); + Output(Tree->Left_Child, Level+1); + } +} + +/* Balancing Right Heavy */ + +struct NODE * Balance_Right_Heavy(struct NODE *Parent, int *H) +{ + struct NODE *Node1, *Node2; + + switch(Parent->Flag) + { + case -1: + Parent->Flag = 0; + break; + + case 0: + Parent->Flag = 1; + *H= F; + break; + + case 1: /* Rebalance */ + Node1 = Parent->Right_Child; + if(Node1->Flag >= 0) + { + printf("\n Right to Right Rotation\n"); + Parent->Right_Child= Node1->Left_Child; + Node1->Left_Child = Parent; + if(Node1->Flag == 0) + { + Parent->Flag = 1; + Node1->Flag = -1; + *H = F; + } + else + { + Parent->Flag = Node1->Flag = 0; + } + Parent = Node1; + } + else + { + printf("\n Right to Left Rotation\n"); + Node2 = Node1->Left_Child; + Node1->Left_Child = Node2->Right_Child; + Node2->Right_Child = Node1; + Parent->Right_Child = Node2->Left_Child; + Node2->Left_Child = Parent; + + if(Node2->Flag == 1) + Parent->Flag = -1; + else + Parent->Flag = 0; + if(Node2->Flag == -1) + Node1->Flag = 1; + else + Node1->Flag = 0; + Parent = Node2; + Node2->Flag = 0; + } + } + return(Parent); +} + +/* Balancing Left Heavy */ + +struct NODE * Balance_Left_Heavy(struct NODE *Parent, int *H) +{ + struct NODE *Node1, *Node2; + + switch(Parent->Flag) + { + case 1: + Parent->Flag = 0; + break; + + case 0: + Parent->Flag = -1; + *H= F; + break; + + case -1: /* Rebalance */ + Node1 = Parent->Left_Child; + if(Node1->Flag <= 0) + { + printf("\n Left to Left Rotation\n"); + Parent->Left_Child= Node1->Right_Child; + Node1->Right_Child = Parent; + if(Node1->Flag == 0) + { + Parent->Flag = -1; + Node1->Flag = 1; + *H = F; + } + else + { + Parent->Flag = Node1->Flag = 0; + } + Parent = Node1; + } + else + { + printf("\n Left to Right Rotation\n"); + Node2 = Node1->Right_Child; + Node1->Right_Child = Node2->Left_Child; + Node2->Left_Child = Node1; + Parent->Left_Child = Node2->Right_Child; + Node2->Right_Child = Parent; + + if(Node2->Flag == -1) + Parent->Flag = 1; + else + Parent->Flag = 0; + + if(Node2->Flag == 1) + Node1->Flag = -1; + else + Node1->Flag = 0; + Parent = Node2; + Node2->Flag = 0; + } + } + return(Parent); +} + +/* Replace the node at which key is found with last right key of a left child */ + +struct NODE * DELETE(struct NODE *R, struct NODE *Temp, int *H) +{ + struct NODE *Dnode = R; + if( R->Right_Child != NULL) + { + R->Right_Child = DELETE(R->Right_Child, Temp, H); + if(*H) + R = Balance_Left_Heavy(R, H); + } + else + { + Dnode = R; + Temp->Info = R->Info; + R = R->Left_Child; + free(Dnode); + *H = T; + } + return(R); +} + +typedef struct NODE node; +void main() +{ + struct NODE *root,*temp1,*temp2; + int temp,cht=0,mk,xx,yy,flag=0,h; + char ch,info; + char choice[10][10]={"DELETE", + "ROTATE", + "INSERT", + "EXIT" + }; + //root=(struct NODE *)malloc(sizeof(node)); + //root->left=NULL; + //root->right=NULL; + temp1=NULL; + //temp2=root; + clrscr(); + system("cls"); + layout(2,1,78,25,15,15); + gotoxy(10,4); + textcolor(12); + cprintf("AVL TREE "); + gotoxy(30,7); + textcolor(15); + cprintf("Enter the root element : "); + fflush(stdin); + scanf("%c",&info); + temp1=Binary_Tree(info,temp1,&h); + printf("%u",temp1); + temp1->Left_Child=NULL; + temp1->Right_Child=NULL; + temp2=temp1; + while(1) + { + layout(2,1,78,25,15,15); + gotoxy(30,7); + cprintf("enter the element : "); + scanf("%c",&info); + temp1=Binary_Tree(info,temp1,&h); + gotoxy(30,9); + printf("any more element : Y / N "); + fflush(stdin); + ch=toupper(getch()); + if(ch=='N') + { + break; + } + clrscr(); + } + clrscr(); + layout(2,1,78,25,15,15); + gotoxy(10,4); + textcolor(12); + cprintf("AVL TREE "); + preorder(temp1,25,5,' ',0); + getch(); + +} + + +void preorder(struct NODE *show,int x,int y,char b,int h) +{ + static int k,nodes,leaves; + int x1,x2; + if(univflag==0) + { + k=0; + nodes=0; + leaves=0; + univflag=1; + } + x1=x+k++; + x2=y++; + if(show!=NULL) + { + delay(300); + gotoxy(x1,x2); + textcolor(15); + textbackground(RED); + if(show->Info!=NULL) + cprintf(" %c ",show->Info); + nodes++; + gotoxy(5,23); + cprintf("NODES : %2d",nodes); + gotoxy(x1+h,x2-1); + textcolor(YELLOW); + textbackground(0); + cprintf("%c",b); + preorder(show->Left_Child,x=x-5,++y,'/',2); + preorder(show->Right_Child,x+=10,y++,'\\',-1); + } + if(show->Left_Child==NULL && show->Right_Child==NULL) + { + leaves++; + textcolor(15); + textbackground(RED); + gotoxy(5,24); + cprintf("LEAVES: %2d",leaves); + } +} + +void layout(int x1,int y1,int x2,int y2,int ccb,int cct) +{ +int i,j; +window(x1,y1,x2,y2); +textmode(3); +textcolor(cct); +gotoxy(x1,y1); +cprintf("%c",218); +gotoxy(x1,y2); +cprintf("%c",192); +gotoxy(x2,y1); +cprintf("%c",191); +gotoxy(x2,y2); +cprintf("%c",217); +for(i=x1+1;i +#include +#include +void clock(void); +void main() +{ +int i,x=15,y=5,s; +char ch; +clrscr(); +while(1) +{ +s=kbhit(); +if(s==0) +continue; +else +{ +textcolor(WHITE); +textbackground(BLUE); +gotoxy(x,y); +ch=getche(); +if(ch==EOF) +exit(); +clock(); +s=0; +x++; +if(x==79) +{ +x=15; +y++; +} +} + +} +} + +void clock(void) +{ +int hh,mm,ss; +struct time t; +clrscr(); +textcolor(YELLOW); +textbackground(LIGHTMAGENTA); +//while(!kbhit()) +//{ + gettime(&t); + gotoxy(70,1); + cprintf("%2d:%02d:%02d",t.ti_hour,t.ti_min,t.ti_sec); + +// } +return(0); +} \ No newline at end of file diff --git a/BALL.C b/BALL.C new file mode 100644 index 0000000..3796401 --- /dev/null +++ b/BALL.C @@ -0,0 +1,116 @@ +#include +#include +#include +void main() +{ +int gd=DETECT,gm,x,y,x1,y1,ff,yy,flag=0,flag2=0,ch; +initgraph(&gd,&gm,""); +x1=getmaxx(); +y1=getmaxy(); +x=630/2; +y=6; +x1=2; +setcolor(WHITE); +setbkcolor(BLACK); + + while(1) + { + setcolor(YELLOW); + rectangle(2,2,638,478); + setcolor(WHITE); + settextstyle(4,0,2); + settextjustify(CENTER_TEXT,CENTER_TEXT); + outtextxy(getmaxx()/2,getmaxy()/2,"Designed by : Soumen mukherjee"); + setcolor(WHITE); + circle(x,y,5); + circle(x,y,4); + setcolor(LIGHTRED); + circle(x,y,3); + circle(x,y,2); + delay(25); + setcolor(BLACK); + circle(x,y,5); + circle(x,y,4); + circle(x,y,3); + circle(x,y,2); + + + if((y<476 && flag==0) || y<0 ) + y+=x1; + if(y==476 || y>476) + { + flag=1; + sound(4500); + delay(5); + nosound(); + } + if((y>6 && flag==1) || y>476) + y-=x1; + if(y==6 || y<6) + { + flag=0; + sound(4500); + delay(5); + nosound(); + } + if(flag2==1) + { + x+=x1; + if(x>630) + { + x=629; + flag2=2; + sound(4500); + delay(5); + nosound(); + } + + } + if(flag2==2) + { + x-=x1; + if(x<5) + { + x=6; + flag2=1; + sound(4500); + delay(5); + nosound(); + } + } + if(kbhit()) + { + ch=getch(); + if(ch==13) + break; + if(ch==77) + { + x+=5; + if(x>630) + x=629; + flag2=1; + } + if(ch==75) + { + x-=5; + if(x==5) + x=6; + flag2=2; + } + if(ch==72) + { + x1+=2; + if(x1==60) + x1=58; + } + if(ch==80) + { + x1-=2; + if(x1==0) + x1=2; + } + } + } + closegraph(); + restorecrtmode(); + } diff --git a/BALLCC.C b/BALLCC.C new file mode 100644 index 0000000..4df08d0 --- /dev/null +++ b/BALLCC.C @@ -0,0 +1,117 @@ +#include +#include +#include +void main() +{ +int gd=DETECT,gm,x,y,x1,y1,ff,yy,flag=0,flag2=0,ch,i; +initgraph(&gd,&gm,""); +x1=getmaxx(); +y1=getmaxy(); +x=630/2; +y=6; +x1=2; +setcolor(WHITE); +setbkcolor(BLACK); + + while(1) + { + setcolor(YELLOW); + rectangle(2,2,638,478); + setcolor(WHITE); + settextstyle(4,0,2); + settextjustify(CENTER_TEXT,CENTER_TEXT); + outtextxy(getmaxx()/2,getmaxy()/2,"Designed by : Soumen mukherjee"); + i=rand() % 15; + setcolor(i); + circle(x,y,5); + circle(x,y,4); + setcolor(i+1); + circle(x,y,3); + circle(x,y,2); + delay(25); + setcolor(BLACK); + circle(x,y,5); + circle(x,y,4); + circle(x,y,3); + circle(x,y,2); + + + if((y<476 && flag==0) || y<0 ) + y+=x1; + if(y==476 || y>476) + { + flag=1; + sound(4500); + delay(5); + nosound(); + } + if((y>6 && flag==1) || y>476) + y-=x1; + if(y==6 || y<6) + { + flag=0; + sound(4500); + delay(5); + nosound(); + } + if(flag2==1) + { + x+=x1; + if(x>630) + { + x=629; + flag2=2; + sound(4500); + delay(5); + nosound(); + } + + } + if(flag2==2) + { + x-=x1; + if(x<5) + { + x=6; + flag2=1; + sound(4500); + delay(5); + nosound(); + } + } + if(kbhit()) + { + ch=getch(); + if(ch==13) + break; + if(ch==77) + { + x+=5; + if(x>630) + x=629; + flag2=1; + } + if(ch==75) + { + x-=5; + if(x==5) + x=6; + flag2=2; + } + if(ch==72) + { + x1+=2; + if(x1==60) + x1=58; + } + if(ch==80) + { + x1-=2; + if(x1==0) + x1=2; + } + } + } + closegraph(); + restorecrtmode(); + } diff --git a/BASECON.C b/BASECON.C new file mode 100644 index 0000000..30f7fd5 --- /dev/null +++ b/BASECON.C @@ -0,0 +1,79 @@ +/*to calculate the equivalent of a decimal number in any BASE TILL 16*/ +#include +#include + +int hex(int temp); +void main() +{ +int num,i=0,temp,nbase; +char *bin; + + clrscr(); + gotoxy(30,3); + textcolor(LIGHTGREEN); + cprintf("BASE COVERSION TILL 16"); + textcolor(LIGHTGRAY); + gotoxy(5,5); + cprintf("enter the number in BASE 10 : "); + textcolor(CYAN); + cscanf("%d",&num); + gotoxy(5,6); + textcolor(LIGHTGRAY); + cprintf("enter the new base : "); + textcolor(CYAN); + cscanf("%d",&nbase); + if(num<0) + { + gotoxy(5,7); + textcolor(RED); + cprintf("the number you entered is negative,the negative sign is being ignored"); + num=num*(-1); + } + while(num>0) + { + temp=num%nbase; + if(nbase==16 && temp>9) + temp=hex(temp); + *bin=temp; + num=num/nbase; + bin++; + i++; + } + textcolor(LIGHTGRAY); + gotoxy(5,11); + cprintf("the equivalent of the number in BASE %d is: ",nbase); + textcolor(CYAN); + bin--; + while(i>0) + { + if(*bin<65) + cprintf("%d",*bin); + if(*bin>=65) + cprintf("%c",*bin); + bin--; + i--; + } + gotoxy(5,15); + fflush(stdin); + printf("press enter to exit...."); + getchar(); +} + int hex(int temp) + { + if(temp==10) + return(65); + if(temp==11) + return(66); + if(temp==12) + return(67); + if(temp==13) + return(68); + if(temp==14) + return(69); + if(temp==15) + return(70); + } + + + + diff --git a/BGIDEMO.C b/BGIDEMO.C new file mode 100644 index 0000000..eeb902f --- /dev/null +++ b/BGIDEMO.C @@ -0,0 +1,1403 @@ +/* + GRAPHICS DEMO FOR Borland C++ 3.0 + + Copyright (c) 1987,88,91 Borland International. All rights reserved. + + From the command line, use: + + bcc bgidemo graphics.lib + +*/ + +#ifdef __TINY__ +#error BGIDEMO will not run in the tiny model. +#endif + +#include +#include +#include +#include +#include +#include + +#include + +#define ESC 0x1b /* Define the escape key */ +#define TRUE 1 /* Define some handy constants */ +#define FALSE 0 /* Define some handy constants */ +#define PI 3.14159 /* Define a value for PI */ +#define ON 1 /* Define some handy constants */ +#define OFF 0 /* Define some handy constants */ + +#define NFONTS 11 + +char *Fonts[NFONTS] = { + "DefaultFont", "TriplexFont", "SmallFont", + "SansSerifFont", "GothicFont", "ScriptFont", "SimplexFont", "TriplexScriptFont", + "ComplexFont", "EuropeanFont", "BoldFont" +}; + +char *LineStyles[] = { + "SolidLn", "DottedLn", "CenterLn", "DashedLn", "UserBitLn" +}; + +char *FillStyles[] = { + "EmptyFill", "SolidFill", "LineFill", "LtSlashFill", + "SlashFill", "BkSlashFill", "LtBkSlashFill", "HatchFill", + "XHatchFill", "InterleaveFill", "WideDotFill", "CloseDotFill" +}; + +char *TextDirect[] = { + "HorizDir", "VertDir" +}; + +char *HorizJust[] = { + "LeftText", "CenterText", "RightText" +}; + +char *VertJust[] = { + "BottomText", "CenterText", "TopText" +}; + +struct PTS { + int x, y; +}; /* Structure to hold vertex points */ + +int GraphDriver; /* The Graphics device driver */ +int GraphMode; /* The Graphics mode value */ +double AspectRatio; /* Aspect ratio of a pixel on the screen*/ +int MaxX, MaxY; /* The maximum resolution of the screen */ +int MaxColors; /* The maximum # of colors available */ +int ErrorCode; /* Reports any graphics errors */ +struct palettetype palette; /* Used to read palette info */ + +/* */ +/* Function prototypes */ +/* */ + +void Initialize(void); +void ReportStatus(void); +void TextDump(void); +void Bar3DDemo(void); +void RandomBars(void); +void TextDemo(void); +void ColorDemo(void); +void ArcDemo(void); +void CircleDemo(void); +void PieDemo(void); +void BarDemo(void); +void LineRelDemo(void); +void PutPixelDemo(void); +void PutImageDemo(void); +void LineToDemo(void); +void LineStyleDemo(void); +void CRTModeDemo(void); +void UserLineStyleDemo(void); +void FillStyleDemo(void); +void FillPatternDemo(void); +void PaletteDemo(void); +void PolyDemo(void); +void SayGoodbye(void); +void Pause(void); +void MainWindow(char *header); +void StatusLine(char *msg); +void DrawBorder(void); +void changetextstyle(int font, int direction, int charsize); +int gprintf(int *xloc, int *yloc, char *fmt, ... ); + +/* */ +/* Begin main function */ +/* */ + +int main() +{ + + Initialize(); /* Set system into Graphics mode */ + ReportStatus(); /* Report results of the initialization */ + + ColorDemo(); /* Begin actual demonstration */ + if( GraphDriver==EGA || GraphDriver==EGALO || GraphDriver==VGA ) + PaletteDemo(); + PutPixelDemo(); + PutImageDemo(); + Bar3DDemo(); + BarDemo(); + RandomBars(); + ArcDemo(); + CircleDemo(); + PieDemo(); + LineRelDemo(); + LineToDemo(); + LineStyleDemo(); + UserLineStyleDemo(); + TextDump(); + TextDemo(); + CRTModeDemo(); + FillStyleDemo(); + FillPatternDemo(); + PolyDemo(); + SayGoodbye(); /* Give user the closing screen */ + + closegraph(); /* Return the system to text mode */ + return(0); +} + +/* */ +/* INITIALIZE: Initializes the graphics system and reports */ +/* any errors which occured. */ +/* */ + +void Initialize(void) +{ + int xasp, yasp; /* Used to read the aspect ratio*/ + + GraphDriver = DETECT; /* Request auto-detection */ + initgraph( &GraphDriver, &GraphMode, "" ); + ErrorCode = graphresult(); /* Read result of initialization*/ + if( ErrorCode != grOk ){ /* Error occured during init */ + printf(" Graphics System Error: %s\n", grapherrormsg( ErrorCode ) ); + exit( 1 ); + } + + getpalette( &palette ); /* Read the palette from board */ + MaxColors = getmaxcolor() + 1; /* Read maximum number of colors*/ + + MaxX = getmaxx(); + MaxY = getmaxy(); /* Read size of screen */ + + getaspectratio( &xasp, &yasp ); /* read the hardware aspect */ + AspectRatio = (double)xasp / (double)yasp; /* Get correction factor */ + +} + +/* */ +/* REPORTSTATUS: Report the current configuration of the system */ +/* after the auto-detect initialization. */ +/* */ + +void ReportStatus(void) +{ + struct viewporttype viewinfo; /* Params for inquiry procedures*/ + struct linesettingstype lineinfo; + struct fillsettingstype fillinfo; + struct textsettingstype textinfo; + struct palettetype palette; + + char *driver, *mode; /* Strings for driver and mode */ + int x, y; + + getviewsettings( &viewinfo ); + getlinesettings( &lineinfo ); + getfillsettings( &fillinfo ); + gettextsettings( &textinfo ); + getpalette( &palette ); + + x = 10; + y = 4; + + MainWindow( "Status report after InitGraph" ); + settextjustify( LEFT_TEXT, TOP_TEXT ); + + driver = getdrivername(); + mode = getmodename(GraphMode); /* get current setting */ + + gprintf( &x, &y, "Graphics device : %-20s (%d)", driver, GraphDriver ); + gprintf( &x, &y, "Graphics mode : %-20s (%d)", mode, GraphMode ); + gprintf( &x, &y, "Screen resolution : ( 0, 0, %d, %d )", getmaxx(), getmaxy() ); + + gprintf( &x, &y, "Current view port : ( %d, %d, %d, %d )", + viewinfo.left, viewinfo.top, viewinfo.right, viewinfo.bottom ); + gprintf( &x, &y, "Clipping : %s", viewinfo.clip ? "ON" : "OFF" ); + + gprintf( &x, &y, "Current position : ( %d, %d )", getx(), gety() ); + gprintf( &x, &y, "Colors available : %d", MaxColors ); + gprintf( &x, &y, "Current color : %d", getcolor() ); + + gprintf( &x, &y, "Line style : %s", LineStyles[ lineinfo.linestyle ] ); + gprintf( &x, &y, "Line thickness : %d", lineinfo.thickness ); + + gprintf( &x, &y, "Current fill style : %s", FillStyles[ fillinfo.pattern ] ); + gprintf( &x, &y, "Current fill color : %d", fillinfo.color ); + + gprintf( &x, &y, "Current font : %s", Fonts[ textinfo.font ] ); + gprintf( &x, &y, "Text direction : %s", TextDirect[ textinfo.direction ] ); + gprintf( &x, &y, "Character size : %d", textinfo.charsize ); + gprintf( &x, &y, "Horizontal justify : %s", HorizJust[ textinfo.horiz ] ); + gprintf( &x, &y, "Vertical justify : %s", VertJust[ textinfo.vert ] ); + + Pause(); /* Pause for user to read screen*/ + +} + +/* */ +/* TEXTDUMP: Display the all the characters in each of the */ +/* available fonts. */ +/* */ + +void TextDump() +{ + static int CGASizes[] = { + 1, 3, 7, 3, 3, 2, 2, 2, 2, 2, 2 }; + static int NormSizes[] = { + 1, 4, 7, 4, 4, 2, 2, 2, 2, 2, 2 }; + + char buffer[80]; + int font, ch, wwidth, lwidth, size; + struct viewporttype vp; + + for( font=0 ; font wwidth ) + moveto( 2, gety() + textheight("H") + 3 ); + ++ch; /* Goto the next character */ + } + } + else{ + + size = (MaxY < 200) ? CGASizes[font] : NormSizes[font]; + changetextstyle( font, HORIZ_DIR, size ); + + ch = '!'; /* Begin at 1st printable */ + while( ch < 256 ){ /* For each printable character */ + buffer[0] = ch; /* Put character into a string */ + outtext( buffer ); /* send string to screen */ + if( (lwidth+getx()) > wwidth ) /* Are we still in window? */ + moveto( 2, gety()+textheight("H")+3 ); + ++ch; /* Goto the next character */ + } + + } + + Pause(); /* Pause until user acks */ + + } /* End of FONT loop */ + +} + +/* */ +/* BAR3DDEMO: Display a 3-D bar chart on the screen. */ +/* */ + +void Bar3DDemo(void) +{ + static int barheight[] = { + 1, 3, 5, 4, 3, 2, 1, 5, 4, 2, 3 }; + struct viewporttype vp; + int xstep, ystep; + int i, j, h, color, bheight; + char buffer[10]; + + MainWindow( "Bar 3-D / Rectangle Demonstration" ); + + h = 3 * textheight( "H" ); + getviewsettings( &vp ); + settextjustify( CENTER_TEXT, TOP_TEXT ); + changetextstyle( TRIPLEX_FONT, HORIZ_DIR, 4 ); + outtextxy( MaxX/2, 6, "These are 3-D Bars" ); + changetextstyle( DEFAULT_FONT, HORIZ_DIR, 1 ); + setviewport( vp.left+50, vp.top+40, vp.right-50, vp.bottom-10, 1 ); + getviewsettings( &vp ); + + line( h, h, h, vp.bottom-vp.top-h ); + line( h, (vp.bottom-vp.top)-h, (vp.right-vp.left)-h, (vp.bottom-vp.top)-h ); + xstep = ((vp.right-vp.left) - (2*h)) / 10; + ystep = ((vp.bottom-vp.top) - (2*h)) / 5; + j = (vp.bottom-vp.top) - h; + settextjustify( CENTER_TEXT, CENTER_TEXT ); + + for( i=0 ; i<6 ; ++i ){ + line( h/2, j, h, j ); + itoa( i, buffer, 10 ); + outtextxy( 0, j, buffer ); + j -= ystep; + } + + j = h; + settextjustify( CENTER_TEXT, TOP_TEXT ); + + for( i=0 ; i<11 ; ++i ){ + color = random( MaxColors ); + setfillstyle( i+1, color ); + line( j, (vp.bottom-vp.top)-h, j, (vp.bottom-vp.top-3)-(h/2) ); + itoa( i, buffer, 10 ); + outtextxy( j, (vp.bottom-vp.top)-(h/2), buffer ); + if( i != 10 ){ + bheight = (vp.bottom-vp.top) - h - 1; + bar3d( j, (vp.bottom-vp.top-h)-(barheight[i]*ystep), j+xstep, bheight, 15, 1 ); + } + j += xstep; + } + + Pause(); /* Pause for user's response */ + +} + +/* */ +/* RANDOMBARS: Display random bars */ +/* */ + +void RandomBars(void) +{ + int color; + + MainWindow( "Random Bars" ); + StatusLine( "Esc aborts or press a key..." ); /* Put msg at bottom of screen */ + while( !kbhit() ){ /* Until user enters a key... */ + color = random( MaxColors-1 )+1; + setcolor( color ); + setfillstyle( random(11)+1, color ); + bar3d( random( getmaxx() ), random( getmaxy() ), + random( getmaxx() ), random( getmaxy() ), 0, OFF); + } + + Pause(); /* Pause for user's response */ + +} + + +/* */ +/* TEXTDEMO: Show each font in several sizes to the user. */ +/* */ + +void TextDemo(void) +{ + int charsize[] = { + 1, 3, 7, 3, 4, 2, 2, 2, 2, 2, 2 }; + int font, size; + int h, x, y, i; + struct viewporttype vp; + char buffer[80]; + + for( font=0 ; font vp.right) + x = vp.right-vp.left-width + 1; + else + if (x < 0) + x = 0; + if (vp.top + y + height - 1 > vp.bottom) + y = vp.bottom-vp.top-height + 1; + else + if (y < 0) + y = 0; + } + free( Saucer ); + Pause(); +} + + +/* */ +/* LINETODEMO: Display a pattern using moveto and lineto commands. */ +/* */ + +#define MAXPTS 15 + +void LineToDemo(void) +{ + struct viewporttype vp; + struct PTS points[MAXPTS]; + int i, j, h, w, xcenter, ycenter; + int radius, angle, step; + double rads; + + MainWindow( "MoveTo / LineTo Demonstration" ); + + getviewsettings( &vp ); + h = vp.bottom - vp.top; + w = vp.right - vp.left; + + xcenter = w / 2; /* Determine the center of circle */ + ycenter = h / 2; + radius = (h - 30) / (AspectRatio * 2); + step = 360 / MAXPTS; /* Determine # of increments */ + + angle = 0; /* Begin at zero degrees */ + for( i=0 ; i> i); /* Clear the Ith bit in word */ + + setlinestyle( USERBIT_LINE, style, NORM_WIDTH ); + line( x, y, x, h-y ); /* Draw the new line pattern */ + + x += 5; /* Move the X location of line */ + i = ++i % 16; /* Advance to next bit pattern */ + + if( style == 0xffff ){ /* Are all bits set? */ + flag = FALSE; /* begin removing bits */ + i = 0; /* Start with whole pattern */ + } + else{ /* Bits not all set... */ + if( style == 0 ) /* Are all bits clear? */ + flag = TRUE; /* begin setting bits */ + } + } + + settextjustify( LEFT_TEXT, TOP_TEXT ); + + Pause(); /* Wait for user's response */ + +} + +/* */ +/* FILLSTYLEDEMO: Display the standard fill patterns available. */ +/* */ + +void FillStyleDemo(void) +{ + int h, w, style; + int i, j, x, y; + struct viewporttype vp; + char buffer[40]; + + MainWindow( "Pre-defined Fill Styles" ); + + getviewsettings( &vp ); + w = 2 * ((vp.right + 1) / 13); + h = 2 * ((vp.bottom - 10) / 10); + + x = w / 2; + y = h / 2; /* Leave 1/2 blk margin */ + style = 0; + + for( j=0 ; j<3 ; ++j ){ /* Three rows of boxes */ + for( i=0 ; i<4 ; ++i ){ /* Four column of boxes */ + setfillstyle(style, MaxColors-1); /* Set the fill style and WHITE */ + bar( x, y, x+w, y+h ); /* Draw the actual box */ + rectangle( x, y, x+w, y+h ); /* Outline the box */ + itoa( style, buffer, 10 ); /* Convert style 3 to ASCII */ + outtextxy( x+(w / 2), y+h+4, buffer ); + ++style; /* Go on to next style # */ + x += (w / 2) * 3; /* Go to next column */ + } /* End of coulmn loop */ + x = w / 2; /* Put base back to 1st column */ + y += (h / 2) * 3; /* Advance to next row */ + } /* End of Row loop */ + + settextjustify( LEFT_TEXT, TOP_TEXT ); + + Pause(); /* Wait for user's response */ + +} + +/* */ +/* FILLPATTERNDEMO: Demonstrate how to use the user definable */ +/* fill patterns. */ +/* */ + +void FillPatternDemo(void) +{ + int style; + int h, w; + int x, y, i, j; + char buffer[40]; + struct viewporttype vp; + static char patterns[][8] = { + { 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55 }, + { 0x33, 0x33, 0xCC, 0xCC, 0x33, 0x33, 0xCC, 0xCC }, + { 0xF0, 0xF0, 0xF0, 0xF0, 0x0F, 0x0F, 0x0F, 0x0F }, + { 0x00, 0x10, 0x28, 0x44, 0x28, 0x10, 0x00, 0x00 }, + { 0x00, 0x70, 0x20, 0x27, 0x24, 0x24, 0x07, 0x00 }, + { 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00 }, + { 0x00, 0x00, 0x3C, 0x3C, 0x3C, 0x3C, 0x00, 0x00 }, + { 0x00, 0x7E, 0x7E, 0x7E, 0x7E, 0x7E, 0x7E, 0x00 }, + { 0x00, 0x00, 0x22, 0x08, 0x00, 0x22, 0x1C, 0x00 }, + { 0xFF, 0x7E, 0x3C, 0x18, 0x18, 0x3C, 0x7E, 0xFF }, + { 0x00, 0x10, 0x10, 0x7C, 0x10, 0x10, 0x00, 0x00 }, + { 0x00, 0x42, 0x24, 0x18, 0x18, 0x24, 0x42, 0x00 } + }; + + MainWindow( "User Defined Fill Styles" ); + + getviewsettings( &vp ); + w = 2 * ((vp.right + 1) / 13); + h = 2 * ((vp.bottom - 10) / 10); + + x = w / 2; + y = h / 2; /* Leave 1/2 blk margin */ + style = 0; + + for( j=0 ; j<3 ; ++j ){ /* Three rows of boxes */ + for( i=0 ; i<4 ; ++i ){ /* Four column of boxes */ + setfillpattern( &patterns[style][0], MaxColors-1 ); + bar( x, y, x+w, y+h ); /* Draw the actual box */ + rectangle( x, y, x+w, y+h ); /* Outline the box */ + itoa( style, buffer, 10 ); /* Convert style 3 to ASCII */ + outtextxy( x+(w / 2), y+h+4, buffer ); + ++style; /* Go on to next style # */ + x += (w / 2) * 3; /* Go to next column */ + } /* End of coulmn loop */ + x = w / 2; /* Put base back to 1st column */ + y += (h / 2) * 3; /* Advance to next row */ + } /* End of Row loop */ + + settextjustify( LEFT_TEXT, TOP_TEXT ); + + Pause(); /* Wait for user's response */ + +} + +/* */ +/* POLYDEMO: Display a random pattern of polygons on the screen */ +/* until the user says enough. */ +/* */ + +void PaletteDemo(void) +{ + int i, j, x, y, color; + struct viewporttype vp; + int height, width; + + MainWindow( "Palette Demonstration" ); + StatusLine( "Press any key to continue, ESC to Abort" ); + + getviewsettings( &vp ); + width = (vp.right - vp.left) / 15; /* get width of the box */ + height = (vp.bottom - vp.top) / 10; /* Get the height of the box */ + + x = y = 0; /* Start in upper corner */ + color = 1; /* Begin at 1st color */ + + for( j=0 ; j<10 ; ++j ){ /* For 10 rows of boxes */ + for( i=0 ; i<15 ; ++i ){ /* For 15 columns of boxes */ + setfillstyle( SOLID_FILL, color++ ); /* Set the color of box */ + bar( x, y, x+width, y+height ); /* Draw the box */ + x += width + 1; /* Advance to next col */ + color = 1 + (color % (MaxColors - 2)); /* Set new color */ + } /* End of COLUMN loop */ + x = 0; /* Goto 1st column */ + y += height + 1; /* Goto next row */ + } /* End of ROW loop */ + + while( !kbhit() ){ /* Until user enters a key... */ + setpalette( 1+random(MaxColors - 2), random( 65 ) ); + } + + setallpalette( &palette ); + + Pause(); /* Wait for user's response */ + +} + +/* */ +/* POLYDEMO: Display a random pattern of polygons on the screen */ +/* until the user says enough. */ +/* */ + +#define MaxPts 6 /* Maximum # of pts in polygon */ + +void PolyDemo(void) +{ + struct PTS poly[ MaxPts ]; /* Space to hold datapoints */ + int color; /* Current drawing color */ + int i; + + MainWindow( "DrawPoly / FillPoly Demonstration" ); + StatusLine( "ESC Aborts - Press a Key to stop" ); + + while( !kbhit() ){ /* Repeat until a key is hit */ + + color = 1 + random( MaxColors-1 ); /* Get a random color # (no blk)*/ + setfillstyle( random(10), color ); /* Set a random line style */ + setcolor( color ); /* Set the desired color */ + + for( i=0 ; i<(MaxPts-1) ; i++ ){ /* Determine a random polygon */ + poly[i].x = random( MaxX ); /* Set the x coord of point */ + poly[i].y = random( MaxY ); /* Set the y coord of point */ + } + + poly[i].x = poly[0].x; /* last point = first point */ + poly[i].y = poly[1].y; + + fillpoly( MaxPts, (int far *)poly ); /* Draw the actual polygon */ + } /* End of WHILE not KBHIT */ + + Pause(); /* Wait for user's response */ + +} + + +/* */ +/* SAYGOODBYE: Give a closing screen to the user before leaving. */ +/* */ + +void SayGoodbye(void) +{ + struct viewporttype viewinfo; /* Structure to read viewport */ + int h, w; + + MainWindow( "== Finale ==" ); + + getviewsettings( &viewinfo ); /* Read viewport settings */ + changetextstyle( TRIPLEX_FONT, HORIZ_DIR, 4 ); + settextjustify( CENTER_TEXT, CENTER_TEXT ); + + h = viewinfo.bottom - viewinfo.top; + w = viewinfo.right - viewinfo.left; + outtextxy( w/2, h/2, "That's all, folks!" ); + + StatusLine( "Press any key to EXIT" ); + getch(); + + cleardevice(); /* Clear the graphics screen */ + +} + +/* */ +/* PAUSE: Pause until the user enters a keystroke. If the */ +/* key is an ESC, then exit program, else simply return. */ +/* */ + +void Pause(void) +{ + static char msg[] = "Esc aborts or press a key..."; + int c; + + StatusLine( msg ); /* Put msg at bottom of screen */ + + c = getch(); /* Read a character from kbd */ + + if( ESC == c ){ /* Does user wish to leave? */ + closegraph(); /* Change to text mode */ + exit( 1 ); /* Return to OS */ + } + + if( 0 == c ){ /* Did use hit a non-ASCII key? */ + c = getch(); /* Read scan code for keyboard */ + } + + cleardevice(); /* Clear the screen */ + +} + +/* */ +/* MAINWINDOW: Establish the main window for the demo and set */ +/* a viewport for the demo code. */ +/* */ + +void MainWindow( char *header ) +{ + int height; + + cleardevice(); /* Clear graphics screen */ + setcolor( MaxColors - 1 ); /* Set current color to white */ + setviewport( 0, 0, MaxX, MaxY, 1 ); /* Open port to full screen */ + + height = textheight( "H" ); /* Get basic text height */ + + changetextstyle( DEFAULT_FONT, HORIZ_DIR, 1 ); + settextjustify( CENTER_TEXT, TOP_TEXT ); + outtextxy( MaxX/2, 2, header ); + setviewport( 0, height+4, MaxX, MaxY-(height+4), 1 ); + DrawBorder(); + setviewport( 1, height+5, MaxX-1, MaxY-(height+5), 1 ); + +} + +/* */ +/* STATUSLINE: Display a status line at the bottom of the screen. */ +/* */ + +void StatusLine( char *msg ) +{ + int height; + + setviewport( 0, 0, MaxX, MaxY, 1 ); /* Open port to full screen */ + setcolor( MaxColors - 1 ); /* Set current color to white */ + + changetextstyle( DEFAULT_FONT, HORIZ_DIR, 1 ); + settextjustify( CENTER_TEXT, TOP_TEXT ); + setlinestyle( SOLID_LINE, 0, NORM_WIDTH ); + setfillstyle( EMPTY_FILL, 0 ); + + height = textheight( "H" ); /* Detemine current height */ + bar( 0, MaxY-(height+4), MaxX, MaxY ); + rectangle( 0, MaxY-(height+4), MaxX, MaxY ); + outtextxy( MaxX/2, MaxY-(height+2), msg ); + setviewport( 1, height+5, MaxX-1, MaxY-(height+5), 1 ); + +} + +/* */ +/* DRAWBORDER: Draw a solid single line around the current */ +/* viewport. */ +/* */ + +void DrawBorder(void) +{ + struct viewporttype vp; + + setcolor( MaxColors - 1 ); /* Set current color to white */ + + setlinestyle( SOLID_LINE, 0, NORM_WIDTH ); + + getviewsettings( &vp ); + rectangle( 0, 0, vp.right-vp.left, vp.bottom-vp.top ); + +} + +/* */ +/* CHANGETEXTSTYLE: similar to settextstyle, but checks for */ +/* errors that might occur whil loading the font file. */ +/* */ + +void changetextstyle(int font, int direction, int charsize) +{ + int ErrorCode; + + graphresult(); /* clear error code */ + settextstyle(font, direction, charsize); + ErrorCode = graphresult(); /* check result */ + if( ErrorCode != grOk ){ /* if error occured */ + closegraph(); + printf(" Graphics System Error: %s\n", grapherrormsg( ErrorCode ) ); + exit( 1 ); + } +} + +/* */ +/* GPRINTF: Used like PRINTF except the output is sent to the */ +/* screen in graphics mode at the specified co-ordinate. */ +/* */ + +int gprintf( int *xloc, int *yloc, char *fmt, ... ) +{ + va_list argptr; /* Argument list pointer */ + char str[140]; /* Buffer to build sting into */ + int cnt; /* Result of SPRINTF for return */ + + va_start( argptr, fmt ); /* Initialize va_ functions */ + + cnt = vsprintf( str, fmt, argptr ); /* prints string to buffer */ + outtextxy( *xloc, *yloc, str ); /* Send string in graphics mode */ + *yloc += textheight( "H" ) + 2; /* Advance to next line */ + + va_end( argptr ); /* Close va_ functions */ + + return( cnt ); /* Return the conversion count */ + +} diff --git a/BOX.C b/BOX.C new file mode 100644 index 0000000..e146fc3 --- /dev/null +++ b/BOX.C @@ -0,0 +1,54 @@ +#include +#include +void layout(int x1,int y1,int x2,int y2,int ccb,int cct); +void main() +{ +delay(100); +clrscr(); +layout(1,1,79,25,2,3); +delay(1000); +layout(10,10,20,20,4,12); +layout(5,5,35,7,5,6); +gotoxy(6,6); +textcolor(WHITE); +getchar(); +} +void layout(int x1,int y1,int x2,int y2,int ccb,int cct) +{ +int i,j; +window(x1,y1,x2,y2); +/*textbackground(ccb); +for(i=x1;i<=x2;i++) + for(j=y1;j<=y2;j++) + { + gotoxy(i,j); + cprintf(" "); + }*/ +textmode(3); +textcolor(cct); +gotoxy(x1,y1); +cprintf("%c",201); +gotoxy(x1,y2); +cprintf("%c",200); +gotoxy(x2,y1); +cprintf("%c",187); +gotoxy(x2,y2); +cprintf("%c",188); +for(i=x1+1;i +#include +void layout(int x1,int y1,int x2,int y2,int ccb,int cct); +void main() +{ +clrscr(); +layout(1,1,79,25,15,15); +layout(10,10,20,20,12,11); +layout(5,5,35,7,5,5); +layout(25,5,33,12,9,5); +layout(45,15,55,17,9,4); +gotoxy(6,6); +textcolor(WHITE); +getchar(); +} +void layout(int x1,int y1,int x2,int y2,int ccb,int cct) +{ +int i,j; +window(x1,y1,x2,y2); +textbackground(ccb); +for(i=x1;i<=x2;i++) + for(j=y1;j<=y2;j++) + { + gotoxy(i,j); + cprintf(" "); + } + textmode(3); +textcolor(cct); +gotoxy(x1,y1); +cprintf("%c",218); +gotoxy(x1,y2); +cprintf("%c",192); +gotoxy(x2,y1); +cprintf("%c",191); +gotoxy(x2,y2); +cprintf("%c",217); +for(i=x1+1;i +#include +#include +void main() +{ + int n[90],i=0,j=0,k=0,temp,h,it; + char an='Y',x; + + while(toupper(an)=='Y') + { + clrscr(); + gotoxy(5,5); + textcolor(LIGHTGRAY); + cprintf("enter the number :"); + textcolor(CYAN); + cscanf("%d",&n[i]); + i++; + textcolor(LIGHTGRAY); + gotoxy(5,7); + cprintf("another number y/n...? "); + fflush(stdin); + an=getchar(); + } + fflush(stdin); + textcolor(LIGHTGRAY); + gotoxy(5,8); + cprintf(" Arrange the numbers in ascending or descending order : A/D ...?"); + scanf("%c",&x); + it=x; + + x=toupper(x); + if(x=='A'|| it==10) + { + textcolor(WHITE); + if(it==10) + cprintf(" By default Ascending "); + textcolor(CYAN); + + /* selection sort method */ + + for(j=0;j n[k+1]) + { + temp=n[k]; + n[k]=n[k+1]; + n[k+1]=temp; + } + } + else + if(x=='D') + { + for(j=0;j +#include +void main() +{ +while(!kbhit()) +{ +sleep(4); +printf("\a"); +} +} \ No newline at end of file diff --git a/CATCHME.C b/CATCHME.C new file mode 100644 index 0000000..6a4869e --- /dev/null +++ b/CATCHME.C @@ -0,0 +1,104 @@ +#include +#include +union REGS i,o; +main() +{ +int gd=DETECT,gm,maxx,maxy,x,y,xp,yp,button,ch=0,i=1,opt=0; +initgraph(&gd,&gm,""); +maxx=getmaxx(); +maxy=getmaxy(); +setbkcolor(BLACK); +setlinestyle(SOLID_LINE,1,3); +rectangle(0,56,maxx,maxy); +setviewport(1,1,maxx-1,maxy-1,1); +/*gotoxy(10,1); +printf("1=CIRCLE"); +gotoxy(20,1); +printf("2=LINE");*/ +setcolor(LIGHTCYAN); +settextstyle(5,0,3); +outtextxy(200,0,"CATCH ME IF YOU CAN"); + +if(initmouse()==0) +{ + closegraph(); + restorecrtmode(); + printf("mouse driver not loaded"); + getch(); + exit(1); +} +restrictmouseptr(1,57,maxx-1,maxy-1); +getmousepos(&button,&x,&y); +xp=x; +yp=y; +showmouseptr(); +while(!kbhit()) +{ +setcolor(RED); +setlinestyle(SOLID_LINE,0,2); +xp=x; +yp=y; +getmousepos(&button,&x,&y); +while((button & 1)==1) +{ +getmousepos(&button,&x,&y); +circle(xp,yp,x-xp); +} +//circle(xp,yp,x-xp); +if(xp!=x && yp!=y) +{ +setcolor(i); +settextstyle(5,0,1); +outtextxy(380,440,"designed by:Soumen Mukherjee"); +i++; +if(i==15) +i=1; +} +} +ch=getch(); +if(ch==13) +{ +closegraph(); +restorecrtmode(); +exit(1); +} +if(ch==1) +cleardevice(); +main(); +} + + +//initialize mouse +initmouse() +{ +i.x.ax=0; +int86(0x33,&i,&o); +return(o.x.ax); +} +showmouseptr() +{ +i.x.ax=1; +int86(0x33,&i,&o); +} +restrictmouseptr(int x1,int y1,int x2,int y2) +{ +i.x.ax=7; +i.x.cx=x1; +i.x.dx=x2; +int86(0x33,&i,&o); +i.x.ax=8; +i.x.cx=y1; +i.x.dx=y2; +int86(0x33,&i,&o); +} +getmousepos(int *button,int *x,int *y) +{ +i.x.ax=3; +int86(0x33,&i,&o); +*button=o.x.bx; +*x=o.x.cx; +*y=o.x.dx; +} + + + diff --git a/CH.C b/CH.C new file mode 100644 index 0000000..74bb692 --- /dev/null +++ b/CH.C @@ -0,0 +1,7 @@ +main() +{ +int x=4,y,z; +y=x=10; +z=x<10; +printf("%d %d %d",x,y,z); +} \ No newline at end of file diff --git a/CIRCLE.C b/CIRCLE.C new file mode 100644 index 0000000..c461d5e --- /dev/null +++ b/CIRCLE.C @@ -0,0 +1,29 @@ +#include +#include +#include +void main() +{ +int x=0,y=0,r=0,i=3,j=0,gd=DETECT,gm; +char ch; + + initgraph(&gd,&gm,""); + + while(!kbhit()) + { + + x=rand() %600; + y=rand() %400; + i=rand() %15; + r=rand() %100; + j=rand() %10; + //setbkcolor(i+2); + setcolor(i); + circle(x,y,r); + setfillstyle(j,i+1); + //circle(x,y,r); + floodfill(x,y,i); + delay(500); + } + closegraph(); + restorecrtmode(); +} diff --git a/CLC.C b/CLC.C new file mode 100644 index 0000000..3478cae --- /dev/null +++ b/CLC.C @@ -0,0 +1,20 @@ +#include +#include +#include +void main() +{ +int hh,mm,ss; +struct time t; +clrscr(); +textcolor(YELLOW); +textbackground(LIGHTMAGENTA); +while(!kbhit()) +{ + gettime(&t); + gotoxy(35,13); + delay(500); + cprintf("%2d:%02d:%02d",t.ti_hour,t.ti_min,t.ti_sec); + } +system("cls"); + +} diff --git a/CLG.C b/CLG.C new file mode 100644 index 0000000..8da4ce7 --- /dev/null +++ b/CLG.C @@ -0,0 +1,51 @@ +#include +#include +#include +void main() +{ +int h1=1,h2=8,m1=0,m2=0,s1=0,s2=0;//time : h1h2:m1m2:s1s2 + int gd=DETECT,gm; + initgraph(&gd,&gm,""); + + setcolor(YELLOW); + settextstyle(0,0,2); + while(!kbhit()) + { + outtextxy(35,12,"%d%d:%d%d:%d%d",h1,h2,m1,m2,s1,s2); + delay(1000); + s2++; + if(s2==10) + { + s2=0; + s1++; + } + if(s1==6) + { + s1=0; + m2++; + } + if(m2==10) + { + m2=0; + m1++; + } + if(m1==6) + { + m1=0; + h2++; + } + if(h2==10) + { + h2=0; + h1++; + } + if(h1==2 && h2==4) + { + h1=0; + h2=0; + } + } + closegraph(); + restorecrtmode(); + +} diff --git a/CLOCK.C b/CLOCK.C new file mode 100644 index 0000000..1f93267 --- /dev/null +++ b/CLOCK.C @@ -0,0 +1,94 @@ +#include +#include +#include +int getkey(void); +void main() +{ +int h1=0,h2=0,m1=0,m2=0,s1=0,s2=0,x=22,k=0;//time : h1h2:m1m2:s1s2 +char *n="DIGITAL_CLOCK_:_ENTER_THE_CURRENT_TIME"; +clrscr(); +gotoxy(x,2); +textcolor(LIGHTGREEN); +while(*n!=NULL) +{ + if(*n=='_') + *n=' '; + cprintf("%c",*n); + n++; + x++; + sound(250); + delay(75); + nosound(); +} + + while(1) + { + gotoxy(35,5); + cprintf("%d",h1); + gotoxy(36,5); + cprintf("%d",h2); + gotoxy(37,5); + cprintf(":%d",m1); + gotoxy(39,5); + cprintf("%d",m2); + gotoxy(35,5); + k=getkey(); + if(k==28) + break; + if(k==77) + { + gotoxy(36,5); + textcolor(BLINK); + cprintf("%d",h2); + } + } +textcolor(YELLOW); +clrscr(); + while(!kbhit()) + { + gotoxy(35,12); + cprintf("%d%d:%d%d:%d%d",h1,h2,m1,m2,s1,s2); + delay(1000); + s2++; + if(s2==10) + { + s2=0; + s1++; + } + if(s1==6) + { + s1=0; + m2++; + } + if(m2==10) + { + m2=0; + m1++; + } + if(m1==6) + { + m1=0; + h2++; + } + if(h2==10) + { + h2=0; + h1++; + } + if(h1==2 && h2==4) + { + h1=0; + h2=0; + } + } +} + int getkey(void) + { + union REGS i,o; + while(!kbhit()) + { + i.h.ah=0; + int86(22,&i,&o); + return(o.h.ah); + } + } diff --git a/CMOUSE.H b/CMOUSE.H new file mode 100644 index 0000000..04ac7fc --- /dev/null +++ b/CMOUSE.H @@ -0,0 +1,101 @@ +/******************************************************** +* Software : GWPat v1.0 * +* Author : N.V.Venkatarayalu * +* FileName : CMOUSE.H * +* File Content: Mouse Interface Functions * +********************************************************/ + +#include +int DetectMouse(void); +void InitMouse(void); +void ShowMouse(void); +void HideMouse(void); +void WhereMouse(int*,int*); +int ButtClicked(void); +int ButtReleased(void); +void NewCursor(void); + + +int DetectMouse(void){ + union REGS in,out; + in.x.ax=0; + int86(0x33,&in,&out); + if(out.x.ax==0) + return(0); + else + return(1); + } + +void InitMouse(void) +{ + union REGS in,out; + in.x.ax=33; + int86(0x33,&in,&out); + return; +} + +void HideMouse(void) +{ + union REGS in,out; + in.x.ax=2; + int86(0x33,&in,&out); + return; +} + +void ShowMouse(void) +{ + union REGS in,out; + in.x.ax=1; + int86(0x33,&in,&out); + return; +} + +void WhereMouse(int *x,int *y) +{ + union REGS in,out; + in.x.ax=3; + int86(0x33,&in,&out); + *x=(int)out.x.cx; + *y=(int)out.x.dx; + return; +} + +int ButtClicked(void){ + union REGS imouse,omouse; + int mc,mr; + imouse.x.ax = 3; + int86(0x33,&imouse,&omouse); + mc=omouse.x.bx; + return(mc); +} +int ButtReleased(void){ + int br; + br=ButtClicked(); + do{}while(ButtClicked()!=0); + return br; +} + +void NewCursor(void){ + static int pontr[]={ + 0x0003, 0x0007, 0x000f, 0x001f, + 0x003f, 0x007f, 0x00ff, 0x01ff, + 0x03ff, 0x07ff, 0x0fff, 0x1fff, + 0x3fff, 0x7fff, 0xffff, 0xffff, + + 0x0000, 0x7ff0, 0x7fe0, 0x7fc0, + 0x7f80, 0x7f00, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000 + }; + + union REGS regs; + struct SREGS sregs; + regs.x.ax=9; + regs.x.bx=0; + regs.x.cx=13; + regs.x.dx=(int)pontr; + segread(&sregs); + sregs.es=sregs.ds; + int86x(0x33,®s,®s,&sregs); + return; +} diff --git a/CODE.C b/CODE.C new file mode 100644 index 0000000..cb2df66 --- /dev/null +++ b/CODE.C @@ -0,0 +1,11 @@ +main() +{ +int ch; +while(1) +{ +ch=getch(); +printf("%d %c\n",ch,ch); +if(ch==27) +exit(2); +} +} diff --git a/CPP1.C b/CPP1.C new file mode 100644 index 0000000..079e98f --- /dev/null +++ b/CPP1.C @@ -0,0 +1,18 @@ +#include +void testing(void); +char sh; + void main() +{ + + printf("the old grey fox jumped over the lazy dog\n\n"); + getch(); + testing(); +} + + + void testing(void) + { + while((sh=getch())!='x') + printf("*"); + return(0); + } \ No newline at end of file diff --git a/DBMS.C b/DBMS.C new file mode 100644 index 0000000..e433914 --- /dev/null +++ b/DBMS.C @@ -0,0 +1,221 @@ +#include +#include +#include +struct list{ +char name[40]; +long int phone; +struct list *next; +}; + +typedef struct list node; +char target[40]; + +void main() +{ +node *origin; +node *disply; +node *insert; +node *remove; +node *previous; +node *ever; +node *add; +FILE *fp; +char choice; +int option,chk,flag=0,first; +long int size,curpos; +//fp=fopen("phone.rec","ab+"); +origin=(node *)malloc(sizeof(node)); +disply=origin; +insert=origin; +remove=origin; +size=sizeof(node); +if(fp==NULL) +{ +printf("error cannot open the file "); +exit(0); +} + while(2) + { + clrscr(); + printf("\n\t############ LINK LIST OPERATIONS MENU ############## "); + printf("\n\n\t\t 1: CREATE "); + printf("\n\t\t 2: DISPLAY "); + printf("\n\t\t 3: INSERT "); + printf("\n\t\t 4: REMOVE "); + printf("\n\t\t 5: EXIT "); + printf("\n"); + option=getch(); + switch(option) + { + case '1': + { + fp=fopen("phone.rec","wb+"); + origin=ever; + while(1) + { + clrscr(); + printf("\n\t\t########## CREATING LINK LIST ##########"); + printf("\n\tenter the name: "); + fflush(stdin); + gets(origin->name); + printf("\n\tenter the phone number: "); + fflush(stdin); + scanf("%ld",&origin->phone); + printf("\n\tNAME : %s ",origin->name); + printf("\n\tPHONE : %ld ",origin->phone); + fwrite(origin,size,1,fp); + printf("\n\n\t\tmore...y/n "); + fflush(stdin); + choice=getchar(); + if(toupper(choice)=='N') + { + origin->next=0; + break; + } + origin->next=(node *)malloc(sizeof(node)); + origin=origin->next; + } + fclose(fp); + break; + } + case '2': + { + fp=fopen("phone.rec","rb"); + disply=ever; + while(1) + { + clrscr(); + fread(disply,size,1,fp); + printf("\n\n\t ########## DISPLAYING LINKLIST ##########"); + printf("\n\tNAME : %s ",disply->name); + printf("\n\tPHONE : %ld ",disply->phone); + getch(); + if(disply->next==NULL) + break; + disply=disply->next; + fflush(stdin); + } + fclose(fp); + break; + } + case '3': + { + insert=ever; + while(3) + { + clrscr(); + fp=fopen("phone.rec","ab+"); + fflush(stdin); + printf(" \n\t\t ########## NODE INSERTION WINDOW ########## "); + printf("\n\n the name of the person after which you wish to insert : "); + gets(target); + while(4) + { + //fread(insert,size,1,fp); + curpos=ftell(fp); + chk=strcmpi(insert->name,target); + if(chk==0) + { + printf("\n\tmatch found.. "); + add=(node *)malloc(sizeof(node)); + printf("\n\tenter the name : "); + fflush(stdin); + gets(add->name); + printf("\n\tenter the phone number : "); + scanf("%ld",&add->phone); + printf("\n\tNAME : %s ",add->name); + printf("\n\tPHONE : %ld ",add->phone); + add->next=insert->next; + insert->next=add; + fseek(fp,curpos,SEEK_END); + fwrite(insert,size,1,fp); + getch(); + flag=1; + } + if(flag==1) + break; + //previous=insert; + insert=insert->next; + chk=strcmpi(insert->name,target); + if(chk==0) + continue; + if(insert->next==NULL ) + { + printf("\n\n\tmatch not found...."); + getch(); + break; + } + } + printf(" \n\t want to insert another "); + fflush(stdin); + insert=ever; + flag=0; + choice=getchar(); + if(toupper(choice)=='N') + break; + } + fclose(fp); + break; + } + case '4': + { + remove=ever; + previous=ever; + first=0; + while(3) + { + clrscr(); + fflush(stdin); + printf(" \n\t\t ########## NODE DELETION WINDOW ########## "); + printf(" Enter the name of the person whom you wish to delete : "); + gets(target); + while(4) + { + chk=strcmpi(remove->name,target); + if(chk==0) + { + printf("\n\tmatch found.. "); + if(first==0) + { + ever=remove->next; + getch(); + flag=1; + break; + } + if(flag==1) + break; + previous->next=remove->next; + getch(); + flag=1; + } + if(flag==1) + break; + previous=remove; + remove=remove->next; + first=1; + chk=strcmpi(remove->name,target); + if(chk==0) + continue; + if(remove->next==NULL ) + { + printf("\n\n\tmatch not found...."); + getch(); + break; + } + } + printf(" \n\t want to remove another "); + fflush(stdin); + remove=ever; + flag=0; + choice=getchar(); + if(toupper(choice)=='N') + break; + } + break; +} + case '5': + exit(0); +} +} +} + diff --git a/DISC.C b/DISC.C new file mode 100644 index 0000000..4b40841 --- /dev/null +++ b/DISC.C @@ -0,0 +1,103 @@ +#include +#include +union REGS i,o; +main() +{ +int gd=DETECT,gm,maxx,maxy,x,y,xp,yp,button,ch=0,i=1,opt=0; +initgraph(&gd,&gm,""); +maxx=getmaxx(); +maxy=getmaxy(); +setbkcolor(BLACK); +setlinestyle(SOLID_LINE,1,3); +rectangle(0,56,maxx,maxy); +setviewport(1,1,maxx-1,maxy-1,1); +/*gotoxy(10,1); +printf("1=CIRCLE"); +gotoxy(20,1); +printf("2=LINE");*/ +setcolor(LIGHTCYAN); +settextstyle(5,0,3); +outtextxy(200,0,"CATCH ME IF YOU CAN"); + +if(initmouse()==0) +{ + closegraph(); + restorecrtmode(); + printf("mouse driver not loaded"); + getch(); + exit(1); +} +restrictmouseptr(1,57,maxx-1,maxy-1); +getmousepos(&button,&x,&y); +xp=x; +yp=y; +showmouseptr(); +while(!kbhit()) +{ +setcolor(RED); +setlinestyle(SOLID_LINE,0,2); +xp=x; +yp=y; +getmousepos(&button,&x,&y); +while((button & 1)==1) +{ +getmousepos(&button,&x,&y); +circle(xp,yp,x-xp); +} +if(xp!=x && yp!=y) +{ +setcolor(i); +settextstyle(5,0,1); +outtextxy(380,440,"designed by:Soumen Mukherjee"); +i++; +if(i==15) +i=1; +} +} +ch=getch(); +if(ch==13) +{ +closegraph(); +restorecrtmode(); +exit(1); +} +if(ch==1) +cleardevice(); +main(); +} + + +//initialize mouse +initmouse() +{ +i.x.ax=0; +int86(0x33,&i,&o); +return(o.x.ax); +} +showmouseptr() +{ +i.x.ax=1; +int86(0x33,&i,&o); +} +restrictmouseptr(int x1,int y1,int x2,int y2) +{ +i.x.ax=7; +i.x.cx=x1; +i.x.dx=x2; +int86(0x33,&i,&o); +i.x.ax=8; +i.x.cx=y1; +i.x.dx=y2; +int86(0x33,&i,&o); +} +getmousepos(int *button,int *x,int *y) +{ +i.x.ax=3; +int86(0x33,&i,&o); +*button=o.x.bx; +*x=o.x.cx; +*y=o.x.dx; +} + + + diff --git a/DOSS.C b/DOSS.C new file mode 100644 index 0000000..aad74d1 --- /dev/null +++ b/DOSS.C @@ -0,0 +1,8 @@ +#include +void main() +{ +//system("set path=d:\games"); +system("cd d:\games"); +system("dir /p"); +} + diff --git a/EDITOR.C b/EDITOR.C new file mode 100644 index 0000000..cbc3207 --- /dev/null +++ b/EDITOR.C @@ -0,0 +1,397 @@ +#include +#include +#include + + +void type(char *st,int *ct,int *y); +void layout(void); +void layout1(int x1,int y1,int x2,int y2,int ccb,int cct); + + +int input(); +void save(void); + +void main() +{ +char ch1; +int cho,i,j,opt; +FILE *usr; +usr=fopen("temp.txt","w"); +layout(); +cho=input(); +switch(cho) +{ +case 1: +{ + opt=file(); + switch(opt) + { + case 3: + save(); + default: + save(); + } + break; // ''''''''''''' +} +default: +break; +} +clrscr(); +clrscr(); +system("cls"); +system("cls"); +} +int input() +{ +int choice1,y=1,ct=2,i=0; +char choice,prev,*start,*ss,*buf,c; +FILE *temp; +temp=fopen("temp.txt","wb+"); +start=(char *)malloc(1); +ss=start; +if(temp==NULL) +{ +printf("FATAL ERROR CANNOT OPEN THE FILE....contact your programe vendor"); +clrscr(); +system("cls"); +exit(2); +} +gotoxy(2,2); +y++; +while(1) +{ + + while(choice1!=27) + { + fflush(stdin); + gotoxy(10,24); + textcolor(LIGHTRED); + textbackground(CYAN); + cprintf("%2d:%2d",y-1,ct-1); + gotoxy(ct,y); + textbackground(RED); + textcolor(WHITE); + choice=getch(); + prev=choice; + choice1=choice; + ct++; + if(choice1==8) + { + if(ct==3 &&y==2) + { + y--; + if(y==1) + y=2; + gotoxy(2,y); + continue; + } + if(ct==3 &&y>2) + { + y--; + gotoxy(80,y); + } + textbackground(LIGHTGRAY); + printf("\b"); + cprintf(" "); + printf("\b"); + textcolor(WHITE); + ct-=2; + if(ct==1) + ct=79; + start--; + continue; + } + if(choice1==9 && ct<75) + { + ct+=4; + for(i=0;i<=4;i++) + { + *start=' '; + start++; + } + gotoxy(ct,y); + continue; + } + if(choice1==9 && ct>=75) + choice=' '; + if(choice!=NULL && choice1!=27) + { + cprintf("%c",choice); + *start=choice; + start++; + } + if(choice==NULL) + getch(); + if(choice1==13 || ct==80) + { + gotoxy(2,y++); + ct=2; + for(i=0;i<80-ct;i++) + { + *start=' '; + start++; + } + } + } + *start=EOF; + break; +} +while(*ss!=EOF) +{ +fputc(*ss,temp); +ss++; +} +fclose(temp); +return(1); +} +void layout(void) +{ +int i; +window(1,1,80,25); +textbackground(LIGHTGRAY); +textcolor(BLACK); +gotoxy(1,1); +cprintf("."); +clrscr(); +window(1,1,80,25); +gotoxy(1,2); +printf("%c",201); +gotoxy(1,25); +printf("%c",200); +gotoxy(80,2); +printf("%c",187); +gotoxy(80,25); +printf("%c",188); +for(i=2;i<80;i++) +{ +gotoxy(i,1); +printf("%c",205); +} +for(i=2;i<80;i++) +{ +gotoxy(i,24); +printf("%c",205); +} +for(i=2;i<24;i++) +{ +gotoxy(1,i); +printf("%c",186); +gotoxy(80,i); +printf("%c",186); +} +textbackground(LIGHTGRAY); +for(i=2;i<80;i++) +{ +gotoxy(i,25); +cprintf(" "); +} +textcolor(RED); +gotoxy(3,25); +cprintf("FILE"); +} +/*int getkey(void) + { + union REGS i,o; + while(kbhit()) + { + i.h.ah=0; + int86(22,&i,&o); + return(o.h.ah); + }*/ + int file() + { + int i,ch,flag=0,x=10; + char menu[10][20]={ + "New", + "Save", + "Save As", + "EXIT" + }; + textcolor(RED); + textbackground(LIGHTGRAY); + for(i=1;i<80;i++) + { + gotoxy(i,25); + cprintf(" "); + } + gotoxy(5,25); + cprintf("New"); + gotoxy(15,25); + cprintf("Save"); + gotoxy(25,25); + cprintf("Save As"); + gotoxy(35,25); + cprintf("EXIT"); + x=25; + flag=2; + gotoxy(x,25); + textbackground(CYAN); + cprintf("%s",menu[flag++]); + while(1) + { + fflush(stdin); + ch=getch(); + + if(ch==77) + { + + gotoxy(x,25); + textbackground(LIGHTGRAY); + cprintf("%s",menu[flag-1]); + if(flag==4) + flag=0; + + if(flag==0) + { + gotoxy(5,25); + textbackground(CYAN); + cprintf("%s",menu[flag++]); + x=5; + continue; + } + + if(flag==1) + { + gotoxy(15,25); + textbackground(CYAN); + cprintf("%s",menu[flag++]); + x=15; + continue; + } + + if(flag==2) + { + gotoxy(25,25); + textbackground(CYAN); + cprintf("%s",menu[flag++]); + x=25; + continue; + } + + if(flag==3) + { + gotoxy(35,25); + textbackground(CYAN); + cprintf("%s",menu[flag++]); + x=35; + continue; + } + + + } + if(ch==27) + return(-1); + if(ch==13) + return(flag); + + } + } + + void save(void) + { + FILE *ptr1,*ptr2; + char *name,ch; + char c; + ptr1=fopen("temp.txt","rb"); + + rewind(ptr1); + if(ptr1==NULL) + { + sound(400); + delay(200); + } + nosound(); + layout1(20,5,60,15,0,15); + gotoxy(22,6); + textcolor(LIGHTGRAY); + cprintf("SAVE FILE AS : "); + gets(name); + ptr2=fopen(name,"rb"); + if(ptr2!=NULL) + { + gotoxy(25,7); + textcolor(15); + cprintf("OVERWRITE FILE %s : Y/N",name); + ch=getch(); + if(toupper(ch)=='N') + return(0); + } + fclose(ptr2); + fflush(stdout); + ptr2=fopen(name,"wb"); + + while((c=fgetc(ptr1))!=EOF) + { + fputc(c,ptr2); + } + gotoxy(27,9); + cprintf("FILE SAVED SUCESSFULLY"); + getch(); + fclose(ptr1); + fclose(ptr2); + system("del temp.txt"); + return(0); + } + +void layout1(int x1,int y1,int x2,int y2,int ccb,int cct) +{ +int i,j; +window(x1,y1,x2,y2); +textmode(3); +textbackground(ccb); +textcolor(cct); +for(i=y1;i<=y2;i++) + for(j=x1;j2oQAn6x5_CdnUOPf} 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 Li#&|z!t4J4eL};1 literal 0 HcmV?d00001 diff --git a/ES1.C b/ES1.C new file mode 100644 index 0000000..57a0bd2 --- /dev/null +++ b/ES1.C @@ -0,0 +1,14 @@ +#include +main() +{ + // static float x=1,y=1,z=2; + static int x1=3,y1=0,z1=0; + //printf("\n%d %d %d ",x<<1,y>>1,~(x&y)); + //x=y=z++*3; + y1=x1=10; + z1=x1<10; + printf("\n %d %d %d ",x1,y1,z1); + getch(); +} + + diff --git a/EXETIME.C b/EXETIME.C new file mode 100644 index 0000000..5f7d76e --- /dev/null +++ b/EXETIME.C @@ -0,0 +1,26 @@ +//digital clock using system time +#include +#include +#include +void main() +{ +long int hh,mm,ss,y=13; +struct time t; +clrscr(); +textcolor(YELLOW); +textbackground(LIGHTMAGENTA); + + gettime(&t); + gotoxy(35,12); + cprintf("%2d:%02d:%02d::%02d",t.ti_hour,t.ti_min,t.ti_sec,t.ti_hund); + for (hh=0;hh<1000000;hh++); + printf("the difference is the time taken to count 10000000 instruction"); + gettime(&t); + gotoxy(35,13); + cprintf("%2d:%02d:%02d::%02d",t.ti_hour,t.ti_min,t.ti_sec,t.ti_hund); + + + getch(); +system("cls"); + +} diff --git a/FACTREC.C b/FACTREC.C new file mode 100644 index 0000000..b75a76e --- /dev/null +++ b/FACTREC.C @@ -0,0 +1,16 @@ +int facto(int x); + +void main() +{ +int *res,num; +scanf("%d",&num); +*res=facto(num); +printf("%d",*res); +} +int facto(int x) +{ +static int fact=1; +if(x==1) +return(fact); +fact=x*facto(x-1); +} diff --git a/FF.C b/FF.C new file mode 100644 index 0000000..67b10e2 --- /dev/null +++ b/FF.C @@ -0,0 +1,7 @@ +main() +{ +int a; +a=1; +//a=1< +#include +#include + + + + +struct node + { + char a[10]; + int lineno[10]; + int index; + struct node *link; + }; + +void store(struct node *,char [20],int); +void display(struct node *); +void main(void) + +{ + FILE *fp; + char c[20]; + char b; + int i,j,l=0; + struct node *first,*x; + clrscr(); + fp=fopen("abc.txt","r+"); + + j=1; + fscanf(fp,"%s",c); + x=(struct node *)malloc(sizeof(struct node)); + strcpy(x->a,c); + x->lineno[0]=j; + x->index=0; + x->link=NULL; + first=x; + fseek(fp,1,SEEK_CUR); + + while(!feof(fp)) + { + fscanf(fp,"%s",c); + b=fgetc(fp); + if ((b=='\n')||(b==' ')) + { + store(first,c,j); + if (b==' ') l++; + if (b=='\n') j++; + } + } + fclose(fp); + display(first); + +} + +/* creation of node and storing the value in the link list */ + +void store(struct node *first,char c[20],int j) +{ + struct node *n,*ptr; + int k; + + ptr=first; + + while((ptr->link!=NULL)&&(strcmpi(c,ptr->a)!=0)) + ptr=ptr->link; + + + if ((ptr->link==NULL)&&(strcmpi(c,ptr->a)!=0)) + { + n=(struct node *)malloc(sizeof(struct node)); + n->link=NULL; + k=0; + strcpy(n->a,c); + n->lineno[k]=j; + n->index=k; + ptr->link=n; + strcpy(c," "); + } + + if ((strcmpi(c,ptr->a)==0)) + { + (ptr->index)++; + ptr->lineno[ptr->index]=j; + } + return; +} + +/* display the actual list */ + +void display(struct node *first) +{ + struct node *ptr; + int i; + + ptr=first; + while (ptr!=NULL) + { + printf("\n"); + for(i=0;ia);i++) + printf("%c",ptr->a[i]); + printf(":"); + for(i=0;i<=ptr->index;i++) + { + printf("\n line no.%d ",ptr->lineno[i]); + } + printf("\n"); + ptr=ptr->link; + } +} \ No newline at end of file diff --git a/FST.C b/FST.C new file mode 100644 index 0000000..76abc86 --- /dev/null +++ b/FST.C @@ -0,0 +1,25 @@ +#include +#include +main() +{ +int i,j=1; +char *temp,ch='A'; +char far *mem1=0xb8000000,*mem; +*mem=0xb8000000; +while(!kbhit()) +{ +randomize(); +j=rand() % 80; +mem1=(0xb8000000 + (2*j)); +*temp=ch++; + for(i=0;i<24;i++) + { + mem1=mem1+160; + *(mem1)=*temp; + delay(100); + *(mem1)=' '; + } + *(mem1)=*temp; + } + getch(); +} diff --git a/FTDT.C b/FTDT.C new file mode 100644 index 0000000..8ecec30 --- /dev/null +++ b/FTDT.C @@ -0,0 +1,124 @@ +#include +#include +#include +#include +void layout(int x1,int y1,int x2,int y2,int ccb,int cct); +main() +{ + char options[10][40]={"ADMINISTRATOR ", + "TELLAR ", + "SAVINGS ACCOUNT ", + "CURRENT ACCOUNT ", + "DRAFTS AND DEPOSITS " + }; + static int opt=2,y=9,key=0; + clrscr(); + system("cls"); + layout(1,1,79,24,15,15); + + layout(1,1,79,3,15,15); + gotoxy(30,2); + cprintf("I C I C I B A N K"); + + gotoxy(1,3); + cprintf("%c",195); + + gotoxy(79,3); + cprintf("%c",180); + + layout(25,5,55,22,15,15); + + redraw: + + gotoxy(26,7); + cprintf("%s",options[0]); + + gotoxy(26,8); + cprintf("%s",options[1]); + + gotoxy(26,9); + cprintf("%s",options[2]); + + gotoxy(26,10); + cprintf("%s",options[3]); + + gotoxy(26,11); + cprintf("%s",options[4]); + + gotoxy(26,y); + textbackground(7); + cprintf("%s",options[opt]); + + gotoxy(65,22); + textcolor(8); + textbackground(RED); + cprintf(" EXIT "); + textcolor(15); + + while(1) + { + key=getch(); + + if(key==72) + { + gotoxy(26,y); + textbackground(BLACK); + cprintf("%s",options[opt]); + opt--; + y--; + if(opt<0) + { + opt=4; + y=11; + } + } + + if(key==80) + { + gotoxy(26,y); + textbackground(BLACK); + cprintf("%s",options[opt]); + opt++; + y++; + if(opt>4) + { + opt=0; + y=7; + } + } + + if(key==9) + { + gotoxy(26,y); + textbackground(BLACK); + cprintf("%s",options[opt]); + gotoxy(65,22); + textbackground(7); + cprintf(" EXIT "); + key=getch(); + gotoxy(65,22); + textbackground(RED); + cprintf(" EXIT "); + if(key==13) + { + system("cls"); + exit(1); + } + } + + if(key==13) + { + if(opt==1) + { + tellar(); + textbackground(0); + goto redraw; + } + } + + gotoxy(26,y); + textbackground(7); + cprintf("%s",options[opt]); + } + +} diff --git a/FTDT.EXE b/FTDT.EXE new file mode 100644 index 0000000000000000000000000000000000000000..36b313dc287b42889352a6472c114b682039b178 GIT binary patch literal 18817 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 bEQv? +#include +#include +#include +int getkey(void); +void info(void); +int pp(int sheet[4][4],int move); + +struct{ +char player[20]; +int moves1; +}mm; + + +int pp(int sheet[4][4],int move) +{ + FILE *fp; + int i,j,x,y=6,x1=7,y1=3,q,f=3000,true=0,rt,sheet1[4][4]={ 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,NULL} ; + long int recsize; + textcolor(LIGHTRED); + + for(i=0;i<4;i++) + { + x=30; + for(j=0;j<4;j++) + { + gotoxy(x,y); + if(sheet[i][j]==NULL) + textcolor(BLACK); + else + textcolor(LIGHTRED); + cprintf(" %d ",sheet[i][j]); + if(sheet[i][j]==sheet1[i][j]) + true++; + x=x+5; + } + + y=y+2; + if(true==16) + { + clrscr(); + for(q=0;q<=15;q++) + { + gotoxy(10,13); + textcolor(q); + cprintf(" CONGRATULATIONS YOU HAVE COMPLETED THE PUZZEL IN %d MOVES ",move); + sound(f); + delay(600); + nosound(); + f=f+40; + } + clrscr(); + fp=fopen("game.rec","ab+"); + if ( fp==NULL ) + { + fp=fopen("game.rec","ab+"); + + if(fp==NULL) + { + gotoxy(12,12); + textcolor(LIGHTGRAY); + cprintf("cannot open file .. sorry "); + exit(); + } + } + recsize =sizeof(mm); + clrscr(); + rewind(fp); + gotoxy(5,2); + textcolor(LIGHTGRAY); + cprintf(" PLAYER "); + gotoxy(20,2); + cprintf(" MOVES "); + while(fread(&mm,recsize,1,fp)==1) + { + gotoxy(x1,y1); + textcolor(BLUE); + cprintf(" %s ",mm.player); + gotoxy(x1+15,y1); + cprintf(" %d ",mm.moves1); + x1=7; + y1++; + if(y1==24) + { + printf("\n\t\t more ........"); + y1=3; + getch(); + } + } + fseek(fp,0,SEEK_END); + gotoxy(1,1); + textcolor(CYAN); + cprintf(" enter your name : "); + cscanf("%s",mm.player); + mm.moves1=move; + fwrite(&mm,recsize,1,fp); + fclose(fp); + rt=1; + clrscr(); + return(rt); + } + + } + return(0); + } + +void main() +{ +int sheet[4][4]={ 1,4,15,7,8,10,2,11,14,3,6,13,12,9,5,NULL},x,y=6,ch,xx,yy,posx,posy,i,j,temp,move=0,ex=0; +clrscr(); + for(i=0;i<=27;i++) + for(j=0;j<=80;j++) + { + gotoxy(j,i); + textbackground(RED); + cprintf("%c",176); + } + gotoxy(15,8); + textcolor(YELLOW); + cprintf(" NUMBER JUMBLE "); + gotoxy(15,10); + cprintf("developed by : SOUMEN MUKHERJEE "); + gotoxy(15,11); + cprintf(" MCA Ist semester ,M.E.R.I. (Indraprastha Univ.)"); + gotoxy(15,12); + textcolor(WHITE); + cprintf(" e-mail: soumen@soumenmukherjee.com "); + getch(); + info(); + clrscr(); + for(i=0;i<=25;i++) + for(j=0;j<=80;j++) + { + gotoxy(j,i); + textbackground(BLACK); + cprintf(" "); + } + gotoxy(15,1); + textcolor(LIGHTGRAY); + cprintf(" ###### NUMBER JUMBLE by Soumen Mukherjee #####"); + textcolor(LIGHTRED); + + for(i=0;i<4;i++) + { + x=30; + for(j=0;j<4;j++) + { + gotoxy(x,y); + if(sheet[i][j]==NULL) + textcolor(BLACK); + else + textcolor(LIGHTRED); + cprintf(" %d ",sheet[i][j]); + x=x+5; + } + + y=y+2; + } + + gotoxy(10,24); + textcolor(LIGHTGRAY); + cprintf(" Use Arrow Keys to Shift The Number %c %c %c %c ",24,25,26,27); + posx=4; + posy=4; + xx=3; + yy=3; + while(ch!=28) + { + + again : + gotoxy(1,1); + ch=getkey(); + move=move+1; + if(ch==80) + { + if(posx==1) + { + gotoxy(20,20); + textcolor(YELLOW); + cprintf(" move not possible...... "); + textcolor(RED); + sound(3000); + delay(500); + nosound(); + move--; + goto again; + } + gotoxy(20,20); + textcolor(YELLOW); + cprintf("NUMBER OF MOVES MADE :%d",move); + temp=sheet[xx][yy]; + sheet[xx][yy]=sheet[xx-1][yy]; + sheet[xx-1][yy]=temp; + posx=posx-1; + xx=xx-1; + gotoxy(20,20); + ex=pp(sheet,move); + if(ex==1) + exit(); + } + if(ch==72) + { + if(posx==4) + { + gotoxy(20,20); + textcolor(YELLOW); + cprintf(" move not possible...... "); + textcolor(RED); + sound(3000); + delay(500); + nosound(); + move--; + goto again; + } + gotoxy(20,20); + textcolor(YELLOW); + cprintf("NUMBER OF MOVES MADE :%d",move); + temp=sheet[xx][yy]; + sheet[xx][yy]=sheet[xx+1][yy]; + sheet[xx+1][yy]=temp; + posx=posx+1; + xx=xx+1; + ex=pp(sheet,move); + if(ex==1) + exit(); + } + if(ch==77) + { + if(posy==1) + { + gotoxy(20,20); + textcolor(YELLOW); + cprintf(" move not possible...... "); + textcolor(RED); + sound(3000); + delay(500); + nosound(); + move--; + goto again; + } + gotoxy(20,20); + textcolor(YELLOW); + cprintf("NUMBER OF MOVES MADE :%d",move); + temp=sheet[xx][yy]; + sheet[xx][yy]=sheet[xx][yy-1]; + sheet[xx][yy-1]=temp; + posy=posy-1; + yy=yy-1; + ex=pp(sheet,move); + if(ex==1) + exit(); + } + if(ch==75) + { + if(posy==4) + { + gotoxy(20,20); + textcolor(YELLOW); + cprintf(" move not possible...... "); + textcolor(RED); + sound(3000); + delay(500); + nosound(); + move--; + goto again; + } + gotoxy(20,20); + textcolor(YELLOW); + cprintf("NUMBER OF MOVES MADE :%d",move); + temp=sheet[xx][yy]; + sheet[xx][yy]=sheet[xx][yy+1]; + sheet[xx][yy+1]=temp; + posy=posy+1; + yy=yy+1; + ex=pp(sheet,move); + if(ex==1) + exit(); + } + } + getch(); + + system("cls"); + + } + + int getkey(void) + { + union REGS i,o; + while(!kbhit()) + { + i.h.ah=0; + int86(22,&i,&o); + return(o.h.ah); + } + } + + void info(void) +{ + int gd=DETECT,gm; + initgraph(&gd,&gm,""); + + rectangle(20,20,630,470); + setfillstyle(SOLID_FILL,BLACK); + floodfill(15,15,BLACK); + settextstyle(4,0,4); + setcolor(LIGHTGREEN); + outtextxy(30,30," Number Jumble "); + setcolor(WHITE); + setlinestyle(0,0,1); + line(20,65,630,65); + settextstyle(6,0,3); + setcolor(EGA_RED); + outtextxy(10,70," The Puzzle is quite simple yet challenging . The aim is to "); + outtextxy(10,110," arrange the numbers in order from 1 to 15 . Move the blank"); + outtextxy(10,150," with the help of arrow keys . Press the key corresponding "); + outtextxy(10,190," to the direction you wish to shift the blank . "); + setcolor(CYAN); + outtextxy(120,350," Double enter to EXIT the game,press any key.."); + getch(); + closegraph(); + restorecrtmode(); +} \ No newline at end of file diff --git a/GAME2.C b/GAME2.C new file mode 100644 index 0000000..315ea8d --- /dev/null +++ b/GAME2.C @@ -0,0 +1,289 @@ +#include +#include +#include +void bricks(int posx,int posy,int *flag2); +//int end(int ex,int ey,int x,int y); +void main() +{ +int gd=DETECT,gm,x,y,x1,y1,ff,yy,flag=0,flag2=0,ch,usr,x11=0,mid=0; +int hh=0,line1=280,line0=360; +initgraph(&gd,&gm,""); +x1=getmaxx(); +y1=getmaxy(); +x=630/2; +y=y1/2; +x1=20; +setcolor(WHITE); +setbkcolor(LIGHTGRAY); + setcolor(RED); + settextstyle(5,0,4); + settextjustify(CENTER_TEXT,CENTER_TEXT); + outtextxy(getmaxx()/2,getmaxy()/2,"Pinball Where the Fun begins...hit it"); + getch(); + cleardevice(); + setcolor(WHITE); + setcolor(WHITE); + setbkcolor(BLACK); + while(1) + { + if(hh==600) + { + clearviewport(); + hh=0; + } + setlinestyle(SOLID_LINE,1,1); + setcolor(YELLOW); + rectangle(1,1,639,480); + //setfillstyle(CLOSE_DOT_FILL,LIGHTRED); + //floodfill(1,1,LIGHTRED); + bricks(x,y,&flag); + setcolor(WHITE); + settextstyle(4,0,4); + settextjustify(CENTER_TEXT,CENTER_TEXT); + outtextxy(getmaxx()/2,getmaxy()/2,"Designed by : Soumen mukherjee"); + setcolor(WHITE); + circle(x,y,7); + circle(x,y,6); + circle(x,y,5); + circle(x,y,4); + setcolor(LIGHTRED); + circle(x,y,3); + circle(x,y,2); + delay(27); + setcolor(BLACK); + circle(x,y,7); + circle(x,y,6); + circle(x,y,5); + circle(x,y,4); + circle(x,y,3); + circle(x,y,2); + hh++; + usr=10; + setcolor(WHITE); + setlinestyle(SOLID_LINE,usr,3); + line(line0,477,line1,477); + //x11=end(line0,line1,x,y); + if(y>445) + { + setcolor(RED); + line(line0,477,line1,477); + if(x>=line1 && x<=line0) + { + x11=0; + mid=(int )(line0+line1)/2; + if(x>=mid) + { + x11+=2; + flag2=1; + } + else + if(xline0) + { + setcolor(BLACK); + circle(x,y,7); + circle(x,y,6); + circle(x,y,5); + circle(x,y,4); + circle(x,y,3); + circle(x,y,2); + sound(300); + sleep(1); + nosound(); + cleardevice(); + closegraph(); + restorecrtmode(); + exit(0); + } + + } + if((y<470 && flag==0) || y<0 ) + y+=x1; + if(y==474 || y>474) + { + flag=1; + sound(4500); + delay(5); + nosound(); + } + if((y>6 && flag==1) || y>470) + y-=x1; + if(y==6 || y<6) + { + flag=0; + sound(4500); + delay(2); + nosound(); + } + if(flag2==1) + { + x+=x11; + if(x>=630) + { + flag2=2; + sound(4500); + delay(2); + nosound(); + } + if(x>=630) + { + flag2=2; + sound(4500); + delay(2); + nosound(); + } + if(x<8) + { + flag2=1; + sound(4500); + delay(2); + nosound(); + } + } + if(flag2==2) + { + x-=x11; + if(x<8) + { + flag2=1; + sound(4500); + delay(2); + nosound(); + } + } + if(kbhit()) + { + setcolor(BLACK); + setlinestyle(SOLID_LINE,usr,3); + line(line0,477,line1,477); + ch=getch(); + if(ch==13) + break; + if(ch==75) + { + line0-=22; + if(line0<=15) + { + //line0=6; + line0+=22; + continue; + } + line1-=22; + } + if(ch==77) + { + line1+=22; + if(line1>=638) + { + //line1=634; + line1-=22; + continue; + } + line0+=22; + } + setcolor(WHITE); + setlinestyle(SOLID_LINE,usr,3); + line(line0,477,line1,477); + } + + } + closegraph(); + restorecrtmode(); + } + + void bricks(int posx,int posy,int *flagg) + { + int x1=10,y1=25,x2=70,y2=40,i,j,k=0,cc=5; + static int arr[150][8],flag=0,count=0; + setbkcolor(BLACK); + fflush(stdout); + //setcolor(cc); + //setfillstyle(SOLID_FILL,cc); + for(i=0;i<8;i++) + { + setcolor(cc); + setfillstyle(SOLID_FILL,cc); + for(j=0;j<=9;j++) + { + if(arr[k][4]==0) + if((posx-5>=arr[k][0] && posx-5<=arr[k][2])&&(posy+5>=arr[k][1] && posy+5<=arr[k][3]) || (posx>=arr[k][0] && posx<=arr[k][2])&&(posy>=arr[k][1] && posy<=arr[k][3]) || (posx+5>=arr[k][0] && posx+5<=arr[k][2])&&(posy-5>=arr[k][1] && posy-5<=arr[k][3])) + { + sound(1500); + setbkcolor(BLACK); + setcolor(BLACK); + rectangle(arr[k][0],arr[k][1],arr[k][2],arr[k][3]); + setfillstyle(SOLID_FILL,BLACK); + floodfill(arr[k][0]+2,arr[k][1]+2,BLACK); + arr[k][4]=1; + delay(2); + nosound(); + if(*flagg==1) + *flagg=0; + else + if(*flagg==0) + *flagg=1; + count++; + if(count==72) + { + sound(2000); + sleep(2); + nosound(); + closegraph(); + restorecrtmode(); + exit(1); + } + return(0); + } + if(arr[k][4]==0) + { + setcolor(cc); + rectangle(x1,y1,x2,y2); + floodfill(x1+2,y1+2,cc); + } + if(arr[k][4]==1) + { + setcolor(BLACK); + rectangle(x1,y1,x2,y2); + floodfill(x1+2,y1+2,BLACK); + } + if(flag!=1) + { + arr[k][0]=x1; + arr[k][1]=y1; + arr[k][2]=x2; + arr[k][3]=y2; + arr[k][4]=0; + } + x1+=70; + x2+=70; + k++; + } + x1=10; + x2=70; + y1+=20; + y2+=20; + cc++; + } + flag=1; + } diff --git a/GETC.C b/GETC.C new file mode 100644 index 0000000..034a533 --- /dev/null +++ b/GETC.C @@ -0,0 +1,27 @@ +#include + +int (dd)(void); +int main(void) +{ + int d=9; + + char dddd[]={"have a nice day"}; + clrscr(); + puts("you fool"); + d=dd(); + printf("%d",d); + printf("%s",dddd); + + /* + printf("Input a character:"); + read a character from the + standard input stream + ch = fgetc(stdin); + printf("The character input was: '%d'\n", ch); + return 0; */ +} + +int (dd)(void) +{ +return(45); +} \ No newline at end of file diff --git a/GETCH.C b/GETCH.C new file mode 100644 index 0000000..e4fc726 --- /dev/null +++ b/GETCH.C @@ -0,0 +1,18 @@ +#include + +void main() +{ +int ch=0; +fflush(stdin); +system("cls"); +clrscr(); +while(1) +{ +fflush(stdin); +ch=getche(); +printf("\t%d",ch); +if(ch==13) +break; +continue; +} +} \ No newline at end of file diff --git a/GOD.C b/GOD.C new file mode 100644 index 0000000..e0a80c7 --- /dev/null +++ b/GOD.C @@ -0,0 +1,18 @@ +#include +#include +#include +void main() +{ +int gd=DETECT,gm,x,y,i=0,r; + +initgraph(&gd,&gm,""); +while(!kbhit()) +{ +setcolor(i); +circle(100,100,60); +delay(0); +i++; +} +closegraph(); +restorecrtmode(); +} \ No newline at end of file diff --git a/GRA.C b/GRA.C new file mode 100644 index 0000000..dd2c35a --- /dev/null +++ b/GRA.C @@ -0,0 +1,154 @@ +#include +#include +#include +#include +#include + + +void main(void) +{ + /* request autodetection */ + int gdriver = DETECT, gmode, errorcode,f=1,t=0; + int x, y, maxx,maxy,maxx1,maxy1,k=0 ; + unsigned int size; + + /* initialize graphics and local variables */ + initgraph(&gdriver, &gmode, ""); + + /* read result of initialization */ + errorcode = graphresult(); + if (errorcode != grOk) /* an error occurred */ + { + printf("Graphics error: %s\n", grapherrormsg(errorcode)); + printf("Press any key to halt:"); + getch(); + exit(1); /* terminate with an error code */ + } + + + maxx = getmaxx()/8; + maxy = getmaxy()/8; + maxx1=maxx+30; + maxy1=maxy; + /* draw the image to be grabbed */ + + /* calculate the size of the image */ +// for(f=0;f<10;f++) + f=0; + while(!kbhit()) + { + + setcolor(CYAN); + settextstyle(10,0,10); + + if(f==0) + outtextxy(maxx1,maxy1,"0"); + if(f==1) + outtextxy(maxx1,maxy1,"1"); + if(f==2) + outtextxy(maxx1,maxy1,"2"); + if(f==3) + outtextxy(maxx1,maxy1,"3"); + if(f==4) + outtextxy(maxx1,maxy1,"4"); + if(f==5) + outtextxy(maxx1,maxy1,"5"); + if(f==6) + outtextxy(maxx1,maxy1,"6"); + if(f==7) + outtextxy(maxx1,maxy1,"7"); + if(f==8) + outtextxy(maxx1,maxy1,"8"); + if(f==9) + outtextxy(maxx1,maxy1,"9"); + delay(1000); + setcolor(BLACK); + settextstyle(10,0,10); + + if(f==0) + outtextxy(maxx1,maxy1,"0"); + if(f==1) + outtextxy(maxx1,maxy1,"1"); + if(f==2) + outtextxy(maxx1,maxy1,"2"); + if(f==3) + outtextxy(maxx1,maxy1,"3"); + if(f==4) + outtextxy(maxx1,maxy1,"4"); + if(f==5) + outtextxy(maxx1,maxy1,"5"); + if(f==6) + outtextxy(maxx1,maxy1,"6"); + if(f==7) + outtextxy(maxx1,maxy1,"7"); + if(f==8) + outtextxy(maxx1,maxy1,"8"); + if(f==9) + outtextxy(maxx1,maxy1,"9"); + delay(1); + if(f<=10) + { + f++; + if(f==10) + { + k++; + f=0; + } + } + + setcolor(CYAN); + settextstyle(10,0,10); + + if(k==0) + outtextxy(maxx,maxy,"0"); + if(k==1) + outtextxy(maxx,maxy,"1"); + if(k==2) + outtextxy(maxx,maxy,"2"); + if(k==3) + outtextxy(maxx,maxy,"3"); + if(k==4) + outtextxy(maxx,maxy,"4"); + if(k==5) + outtextxy(maxx,maxy,"5"); + if(k==6) + outtextxy(maxx,maxy,"6"); + if(k==7) + outtextxy(maxx,maxy,"7"); + if(k==8) + outtextxy(maxx,maxy,"8"); + if(k==9) + outtextxy(maxx,maxy,"9"); + delay(1000); + setcolor(BLACK); + settextstyle(10,0,10); + + if(k==0) + outtextxy(maxx,maxy,"0"); + if(k==1) + outtextxy(maxx,maxy,"1"); + if(k==2) + outtextxy(maxx,maxy,"2"); + if(k==3) + outtextxy(maxx,maxy,"3"); + if(k==4) + outtextxy(maxx,maxy,"4"); + if(k==5) + outtextxy(maxx,maxy,"5"); + if(k==6) + outtextxy(maxx,maxy,"6"); + if(k==7) + outtextxy(maxx,maxy,"7"); + if(k==8) + outtextxy(maxx,maxy,"8"); + if(k==9) + outtextxy(maxx,maxy,"9"); + delay(1); + } + + while(!kbhit()); + + closegraph(); + return 0; +} + diff --git a/HACK.C b/HACK.C new file mode 100644 index 0000000..5b01ea3 --- /dev/null +++ b/HACK.C @@ -0,0 +1,16 @@ +#include +#include +void main() +{ +FILE *fp; +char ch; +system("a:"); +fp=fopen("jba.rtf","r+"); +while(!kbhit()) +{ +ch=getc(fp); +printf("%c \t%d %s\n",ch,ch,ch*ch); +delay(50); +} +fclose(fp); +} diff --git a/HCF.C b/HCF.C new file mode 100644 index 0000000..38f04f0 --- /dev/null +++ b/HCF.C @@ -0,0 +1,26 @@ +/* to claculate H.C.F of two numbers */ +#include +void main() +{ +int a,b,c,rem; +clrscr(); +printf("\n\t\tEnter the first number : "); +scanf("%d",&a); +printf("\n\n\t\tEnter the second number : "); +scanf("%d",&b); +if(b>a) +{ +c=b; +b=a; +a=c; +} +rem=b%a; +while(rem!=0) +{ + b=a; + a=rem; + rem=b%a; +} +printf("\n\n\t\tThe H.C.F is %d .",a); +getch(); +} \ No newline at end of file diff --git a/HELP.C b/HELP.C new file mode 100644 index 0000000..27ce1be --- /dev/null +++ b/HELP.C @@ -0,0 +1,28 @@ +#include +#include +void info(void) +{ +int gd=DETECT,gm; + initgraph(&gd,&gm,""); + + rectangle(20,20,630,470); + setfillstyle(SOLID_FILL,BLUE); + floodfill(15,15,BLUE); + settextstyle(1,0,3); + setcolor(LIGHTGREEN); + outtextxy(30,30," Number Jumble "); + setcolor(WHITE); + setlinestyle(0,0,1); + line(20,65,610,65); + settextstyle(4,0,2); + setcolor(EGA_LIGHTRED); + outtextxy(10,70," The Puzzle is quite simple yet challenging . The aim is to "); + outtextxy(10,90," arrange the numbers in order from 1 to 15 . Shift the blank "); + outtextxy(10,110," with the help of arrow keys . Press the key corresponding "); + outtextxy(10,130," to the direction you wish to shift the blank . "); + setcolor(CYAN); + outtextxy(150,350," Double enter to EXIT the game"); + getchar(); + closegraph(); + restorecrtmode(); +} \ No newline at end of file diff --git a/INS.C b/INS.C new file mode 100644 index 0000000..eb5eba3 --- /dev/null +++ b/INS.C @@ -0,0 +1,86 @@ +// to arrange the numbers in ascending order and descending order :1(a)(b) +#include +#include +#include +void main() +{ + int n[90],i=0,j=0,k=0,temp,h,it; + char an='Y',x; + + while(toupper(an)=='Y') + { + clrscr(); + gotoxy(5,5); + textcolor(LIGHTGRAY); + cprintf("enter the number :"); + textcolor(CYAN); + cscanf("%d",&n[i]); + i++; + textcolor(LIGHTGRAY); + gotoxy(5,7); + cprintf("another number y/n...? "); + fflush(stdin); + an=getchar(); + } + fflush(stdin); + textcolor(LIGHTGRAY); + gotoxy(5,8); + cprintf(" Arrange the numbers in ascending or descending order : A/D ...?"); + scanf("%c",&x); + it=x; + + x=toupper(x); + if(x=='A'|| it==10) + { + textcolor(WHITE); + if(it==10) + cprintf(" By default Ascending "); + textcolor(CYAN); + + /* insertion sort method */ + + while(j n[k+1]) + { + temp=n[k]; + n[k]=n[k+1]; + n[k+1]=temp; + } + j++; + } + } + else + for(j=0;j +#include +void main() +{ +FILE *fp; +char c,*file; +int i=0,flag=0; +printf("enter the name of the file : "); +scanf("%s",file); +fp=fopen(file,"rb"); +clrscr(); + while((c=fgetc(fp))!=EOF) + { + printf("%c",c); + if(c==';'&& flag==1) + { + getch(); + i++; + if(i==25) + flag=1; + } + } + getch(); + fclose(fp); +} diff --git a/LINK.C b/LINK.C new file mode 100644 index 0000000..14e9b31 --- /dev/null +++ b/LINK.C @@ -0,0 +1,54 @@ +#include +#include +#include +struct list{ +char name[40]; +long int phone; +struct list *next; +}; + +typedef struct list node; + +void main() +{ +node *origin; +node *disply; +char choice; +origin=(node *)malloc(sizeof(node)); +disply=origin; + clrscr(); + while(1) + { + printf("\n\tenter the name "); + fflush(stdin); + gets(origin->name); + printf("\n\tenter the phone number "); + fflush(stdin); + scanf("%ld",&origin->phone); + printf("\n\tNAME : %s ",origin->name); + printf("\n\tPHONE : %ld ",origin->phone); + printf("\n\n\t\tmore...y/n"); + fflush(stdin); + choice=getchar(); + if(toupper(choice)=='N') + { + origin->next=0; + break; + } + origin->next=(node *)malloc(sizeof(node)); + origin=origin->next; + clrscr(); + } + getch(); + while(1) + { + clrscr(); + printf("\n\tNAME : %s ",disply->name); + printf("\n\tPHONE : %ld ",disply->phone); + getch(); + if(disply->next==NULL) + exit(0); + disply=disply->next; + fflush(stdin); + } +} \ No newline at end of file diff --git a/LINKDOUB.C b/LINKDOUB.C new file mode 100644 index 0000000..78922a9 --- /dev/null +++ b/LINKDOUB.C @@ -0,0 +1,217 @@ +#include +#include +#include +#include +#include +struct list{ +char name[40]; +long int phone; +struct list *prev; +struct list *next; +}; + +typedef struct list node; +char target[40]; + +void main() +{ +node *origin; +node *disply; +node *insert; +node *remove; +node *previous; +node *ever; +node *add; +node *temp; +char choice; +int option,chk,flag=0,first,ch=0; +origin=(node *)malloc(sizeof(node)); +origin->prev=0; +disply=origin; +insert=origin; +remove=origin; + while(2) + { + clrscr(); + printf("\n\t############ LINK LIST OPERATIONS MENU ############## "); + printf("\n\n\t\t 1: CREATE "); + printf("\n\t\t 2: DISPLAY "); + printf("\n\t\t 3: INSERT "); + printf("\n\t\t 4: REMOVE "); + printf("\n\t\t 5: EXIT "); + cprintf(""); + option=getch(); + switch(option) + { + case '1': + { + origin=ever; + while(1) + { + clrscr(); + printf("\n\t\t########## CREATING LINK LIST ##########"); + printf("\n\tenter the name: "); + fflush(stdin); + gets(origin->name); + printf("\n\tenter the phone number: "); + fflush(stdin); + scanf("%ld",&origin->phone); + printf("\n\tNAME : %s ",origin->name); + printf("\n\tPHONE : %ld ",origin->phone); + printf("\n\n\t\tmore...y/n "); + fflush(stdin); + choice=getchar(); + if(toupper(choice)=='N') + { + origin->next=0; + break; + } + origin->next=(node *)malloc(sizeof(node)); + temp=origin; + origin=origin->next; + origin->prev=temp; + } + break; + } + case '2': + { + disply=ever; + disply->prev=NULL; + while(1) + { + clrscr(); + printf("\n\n\t ########## DISPLAYING LINKLIST ##########"); + printf("\n\tNAME : %s ",disply->name); + printf("\n\tPHONE : %ld ",disply->phone); + ch=getch(); + if(ch==80) + { + if(disply->next==NULL) + break; + disply=disply->next; + } + if(ch==72) + { + if(disply->prev==NULL) + break; + disply=disply->prev; + } + fflush(stdin); + } + break; + } + case '3': + { + insert=ever; + while(3) + { + clrscr(); + fflush(stdin); + printf(" \n\t\t ########## NODE INSERTION WINDOW ########## "); + printf("\n\n the name of the person after which you wish to insert : "); + gets(target); + while(4) + { + chk=strcmpi(insert->name,target); + if(chk==0) + { + printf("\n\tmatch found.. "); + add=(node *)malloc(sizeof(node)); + printf("\n\tenter the name : "); + fflush(stdin); + gets(add->name); + printf("\n\tenter the phone number : "); + scanf("%ld",&add->phone); + printf("\n\tNAME : %s ",add->name); + printf("\n\tPHONE : %ld ",add->phone); + add->next=insert->next; + insert->next=add; + getch(); + flag=1; + } + if(flag==1) + break; + //previous=insert; + insert=insert->next; + chk=strcmpi(insert->name,target); + if(chk==0) + continue; + if(insert->next==NULL ) + { + printf("\n\n\tmatch not found...."); + getch(); + break; + } + } + printf(" \n\t want to insert another "); + fflush(stdin); + insert=ever; + flag=0; + choice=getchar(); + if(toupper(choice)=='N') + break; + } + break; + } + case '4': + { + remove=ever; + previous=ever; + first=0; + while(3) + { + clrscr(); + fflush(stdin); + printf(" \n\t\t ########## NODE DELETION WINDOW ########## "); + printf(" Enter the name of the person whom you wish to delete : "); + gets(target); + while(4) + { + chk=strcmpi(remove->name,target); + if(chk==0) + { + printf("\n\tmatch found.. "); + if(first==0) + { + ever=remove->next; + getch(); + flag=1; + break; + } + if(flag==1) + break; + previous->next=remove->next; + getch(); + flag=1; + } + if(flag==1) + break; + previous=remove; + remove=remove->next; + first=1; + chk=strcmpi(remove->name,target); + if(chk==0) + continue; + if(remove->next==NULL ) + { + printf("\n\n\tmatch not found...."); + getch(); + break; + } + } + printf(" \n\t want to remove another "); + fflush(stdin); + remove=ever; + flag=0; + choice=getchar(); + if(toupper(choice)=='N') + break; + } + break; +} + case '5': + exit(0); +} +} +} + diff --git a/LINKLIST.C b/LINKLIST.C new file mode 100644 index 0000000..13446fe --- /dev/null +++ b/LINKLIST.C @@ -0,0 +1,53 @@ +#include +#include +#include +struct list{ +char *name; +long int phone; +struct list *next; +}; + +typedef struct list node; + +void main() +{ +node *origin; +node *disply; +char choice; +origin=(node *)malloc(sizeof(node)); +disply=origin; + clrscr(); + while(1) + { + printf("\n\tenter the name "); + gets(origin->name); + printf("\n\tenter the phone number "); + fflush(stdin); + scanf("%ld",&origin->phone); + printf("\n\tNAME : %s ",origin->name); + printf("\n\tPHONE : %ld ",origin->phone); + printf("\n\n\t\tmore...y/n"); + fflush(stdin); + choice=getchar(); + if(toupper(choice)=='N') + { + origin->next=0; + break; + } + origin->next=(node *)malloc(sizeof(node)); + origin=origin->next; + clrscr(); + } + getch(); + while(1) + { + clrscr(); + printf("\n\tNAME : %s ",disply->name); + printf("\n\tPHONE : %ld ",disply->phone); + getch(); + if(disply->next==NULL) + exit(0); + disply=disply->next; + fflush(stdin); + } +} \ No newline at end of file diff --git a/LINKMENU.C b/LINKMENU.C new file mode 100644 index 0000000..5a42237 --- /dev/null +++ b/LINKMENU.C @@ -0,0 +1,209 @@ +#include +#include +#include +#include +#include +struct list{ +char name[40]; +long int phone; +struct list *next; +}; + +typedef struct list node; +char target[40]; + +void main() +{ +node *origin; +node *disply; +node *insert; +node *remove; +node *previous; +node *ever; +node *add; +char choice; +int option,chk,flag=0,first; +origin=(node *)malloc(sizeof(node)); +disply=origin; +insert=origin; +remove=origin; + while(2) + { + clrscr(); + window(1,1,79,24); + textcolor(BLUE); + textbackground(LIGHTGRAY); + cprintf(""); + printf("\n\t############ LINK LIST OPERATIONS MENU ############## "); + printf("\n\n\t\t 1: CREATE "); + printf("\n\t\t 2: DISPLAY "); + printf("\n\t\t 3: INSERT "); + printf("\n\t\t 4: REMOVE "); + printf("\n\t\t 5: EXIT "); + cprintf(""); + option=getch(); + switch(option) + { + case '1': + { + origin=ever; + while(1) + { + clrscr(); + printf("\n\t\t########## CREATING LINK LIST ##########"); + printf("\n\tenter the name: "); + fflush(stdin); + gets(origin->name); + printf("\n\tenter the phone number: "); + fflush(stdin); + scanf("%ld",&origin->phone); + printf("\n\tNAME : %s ",origin->name); + printf("\n\tPHONE : %ld ",origin->phone); + printf("\n\n\t\tmore...y/n "); + fflush(stdin); + choice=getchar(); + if(toupper(choice)=='N') + { + origin->next=0; + break; + } + origin->next=(node *)malloc(sizeof(node)); + origin=origin->next; + } + break; + } + case '2': + { + disply=ever; + while(1) + { + clrscr(); + window(5,5,75,15); + textbackground(BLACK); + + printf("\n\n\t ########## DISPLAYING LINKLIST ##########"); + printf("\n\tNAME : %s ",disply->name); + printf("\n\tPHONE : %ld ",disply->phone); + getch(); + if(disply->next==NULL) + break; + disply=disply->next; + fflush(stdin); + } + break; + } + case '3': + { + insert=ever; + while(3) + { + clrscr(); + fflush(stdin); + printf(" \n\t\t ########## NODE INSERTION WINDOW ########## "); + printf("\n\n the name of the person after which you wish to insert : "); + gets(target); + while(4) + { + chk=strcmpi(insert->name,target); + if(chk==0) + { + printf("\n\tmatch found.. "); + add=(node *)malloc(sizeof(node)); + printf("\n\tenter the name : "); + fflush(stdin); + gets(add->name); + printf("\n\tenter the phone number : "); + scanf("%ld",&add->phone); + printf("\n\tNAME : %s ",add->name); + printf("\n\tPHONE : %ld ",add->phone); + add->next=insert->next; + insert->next=add; + getch(); + flag=1; + } + if(flag==1) + break; + //previous=insert; + insert=insert->next; + chk=strcmpi(insert->name,target); + if(chk==0) + continue; + if(insert->next==NULL ) + { + printf("\n\n\tmatch not found...."); + getch(); + break; + } + } + printf(" \n\t want to insert another "); + fflush(stdin); + insert=ever; + flag=0; + choice=getchar(); + if(toupper(choice)=='N') + break; + } + break; + } + case '4': + { + remove=ever; + previous=ever; + first=0; + while(3) + { + clrscr(); + fflush(stdin); + printf(" \n\t\t ########## NODE DELETION WINDOW ########## "); + printf(" Enter the name of the person whom you wish to delete : "); + gets(target); + while(4) + { + chk=strcmpi(remove->name,target); + if(chk==0) + { + printf("\n\tmatch found.. "); + if(first==0) + { + ever=remove->next; + getch(); + flag=1; + break; + } + if(flag==1) + break; + previous->next=remove->next; + getch(); + flag=1; + } + if(flag==1) + break; + previous=remove; + remove=remove->next; + first=1; + chk=strcmpi(remove->name,target); + if(chk==0) + continue; + if(remove->next==NULL ) + { + printf("\n\n\tmatch not found...."); + getch(); + break; + } + } + printf(" \n\t want to remove another "); + fflush(stdin); + remove=ever; + flag=0; + choice=getchar(); + if(toupper(choice)=='N') + break; + } + break; +} + case '5': + exit(0); +} +} +} + diff --git a/LINKMOH.C b/LINKMOH.C new file mode 100644 index 0000000..630cdd1 --- /dev/null +++ b/LINKMOH.C @@ -0,0 +1,41 @@ +#define NULL 0 +struct list_element{ + char item[4]; + struct list_element *next; + }; + +typedef struct list_element node; + +void create(node *pt); +void display(node *pt); + +void main() +{ +node *start; +start=(node*)malloc(sizeof(node)); +create(start); +printf("\n"); +display(start); +} + +void create(node *record) +{ +printf("data item (type \'END\'when finished):"); +scanf("%[^\n]",record->item); +if(strcmp(record->item,"END")==0) +record->next=NULL; +else +{record->next=(node*)malloc(sizeof(node)); +create(record->next);} +} + +void display(node *record) +{ +if(record->next!=NULL) +{ +printf("%s\n",record->item); +display(record->next); +} +return; +} + diff --git a/LISTMOH1.C b/LISTMOH1.C new file mode 100644 index 0000000..1a4cdf1 --- /dev/null +++ b/LISTMOH1.C @@ -0,0 +1,53 @@ +#include +#include +#include +#define NULL 0 +struct class{ + char name[40]; + long int roll; + struct class *next; + }; + +typedef struct class node; + +void create(node *record); +void display(node *record); + +void main() +{ +node *start; +start=(node*)malloc(sizeof(node)); +create(start); +printf("\n"); +display(start); +} + +void create(node *record) +{ +char u; +fflush(stdin); +printf("enter the name"); +scanf("%[^\n]",record->name); +printf("enter the rollno"); +fflush(stdin); +scanf("%ld",&record->roll); +fflush(stdin); +printf("want to enter more data"); +printf("type y for yes & n for no"); +fflush(stdin); +scanf("%c",&u); +if (u=='y') +{ +record->next=(node*)malloc(sizeof(node)); +create(record->next);} +else +record->next=NULL; +} + +void display(node *record) +{ +printf("%s",record->name); +printf("\n%ld",record->roll); +if(record->next!=NULL) +display(record->next); +} diff --git a/MACRO.C b/MACRO.C new file mode 100644 index 0000000..bec4cc8 --- /dev/null +++ b/MACRO.C @@ -0,0 +1,8 @@ +#define EXCHANGE(x,y) x=x+y;y=x-y;x=x-y +void main() +{ +int x,y; +scanf("%d %d",&x,&y);;;;;; +EXCHANGE(x,y); +printf("\n\n%d\t%d",x,y); +} \ No newline at end of file diff --git a/MAINGUI.EXE b/MAINGUI.EXE new file mode 100644 index 0000000000000000000000000000000000000000..abba6d4f72c2d2a53f69fbcfd182e85e0771ea69 GIT binary patch literal 101048 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⪻ZM z*nm zgc)g=k%^4Bur*suv>vxo3((N3QCmn@Wj7djoANaYUyFvi2+fO1T5OU2Vx9y|e2y@n zR))Bs4nDQf@W5vPhe5|zjare=q%NoBKYuEt8GE)PG!t`A^2MH%i#@6R9_4JgC7-X= zM8+X9YNJDE;gc!NzYe{TCMC{LA|XbcOX&HA<~r|1YZT%Q@&fT0r+?kTF`bcP^vuIo z0<-{=TSChfuU0KLD=7B_(;8pz;Em5Qn~AHY*)3T2BF8%%fhv{BE3Qz2AYZHSCL`@i zaqgi7sxc%$DcMXKs#~5Wjb}Xjymy6qf!Kkls%6Xy9$V^zwH;W)vE zU#0k56y#|=PiZJ^ZZj_ufBX=ary>_xIE#E}*-L9twcNlnXe49jQN-0YFOnwI(`f3q z8{}607(~m#a2*C&nkT9DDa2|k46bRN;YW+$BO6(rj!#zN^Bc)2HF`O(1SKD%iH06k z`fY(1jz+b9zs+t@m}uVSQ5>|WmJ&i7RP;b4 z9fsKh)ji;Efa(UQs`XXW0eAf1r16PXELN!SK}9`O`k=BNs(esY57j=Xt_OviW=t;7 zL;u_s8Ge---Syi`Vsu9^)cB#w4}L#X`@t#-_&aJyv*@(ZO#~g_ucxbsYpS8EnIhEm zLVbvKHB;sYY$1d=f?J@f)dwA|-B1~*t)<%!#k&v0yo&b<`eWBTcq zOsJ$=6`MqkE{&)WaUZ|c2WqRKzSUO^m11C3fK)f|dtlorJ56-yD_yoM>XV8t_$vIJ zUarF1ugpvO>ZpJ%t=`sJZ}29`CTN7(PN?;Z5g?c)35bW4QytQ^g47yxNf5s}5`uRd zQZ-fAfS;1sAlV^YOCrcK*la6VG!^M43?%v|w3@XrxN +#include +void main() +{ +int gd=DETECT,gm,x,y,flag=0; +initgraph(&gd,&gm,""); +x=getmaxx(); +x=x/2; +y=66; +setcolor(EGA_RED); +setbkcolor(BLACK); + while(!kbhit()) + { + setcolor(RED); + circle(x,y,55); + setfillstyle(2,YELLOW); + circle(x,y,55); + floodfill(x,y,YELLOW); + /*delay(2); + setcolor(EGA_BLACK); + circle(x,y,5); + setfillstyle(SOLID_FILL,BLACK); + floodfill(x,y,BLACK); + if(y<477 && flag==0) + y++; + if(y==477) + { + flag=1; + sound(4000); + delay(10); + nosound(); + } + if(y>6 && flag==1) + y--; + if(y==6) + { + flag=0; + sound(4000); + delay(10); + nosound(); + } + */ + } + getch(); + closegraph(); + restorecrtmode(); + } \ No newline at end of file diff --git a/MOH11.C b/MOH11.C new file mode 100644 index 0000000..5a42237 --- /dev/null +++ b/MOH11.C @@ -0,0 +1,209 @@ +#include +#include +#include +#include +#include +struct list{ +char name[40]; +long int phone; +struct list *next; +}; + +typedef struct list node; +char target[40]; + +void main() +{ +node *origin; +node *disply; +node *insert; +node *remove; +node *previous; +node *ever; +node *add; +char choice; +int option,chk,flag=0,first; +origin=(node *)malloc(sizeof(node)); +disply=origin; +insert=origin; +remove=origin; + while(2) + { + clrscr(); + window(1,1,79,24); + textcolor(BLUE); + textbackground(LIGHTGRAY); + cprintf(""); + printf("\n\t############ LINK LIST OPERATIONS MENU ############## "); + printf("\n\n\t\t 1: CREATE "); + printf("\n\t\t 2: DISPLAY "); + printf("\n\t\t 3: INSERT "); + printf("\n\t\t 4: REMOVE "); + printf("\n\t\t 5: EXIT "); + cprintf(""); + option=getch(); + switch(option) + { + case '1': + { + origin=ever; + while(1) + { + clrscr(); + printf("\n\t\t########## CREATING LINK LIST ##########"); + printf("\n\tenter the name: "); + fflush(stdin); + gets(origin->name); + printf("\n\tenter the phone number: "); + fflush(stdin); + scanf("%ld",&origin->phone); + printf("\n\tNAME : %s ",origin->name); + printf("\n\tPHONE : %ld ",origin->phone); + printf("\n\n\t\tmore...y/n "); + fflush(stdin); + choice=getchar(); + if(toupper(choice)=='N') + { + origin->next=0; + break; + } + origin->next=(node *)malloc(sizeof(node)); + origin=origin->next; + } + break; + } + case '2': + { + disply=ever; + while(1) + { + clrscr(); + window(5,5,75,15); + textbackground(BLACK); + + printf("\n\n\t ########## DISPLAYING LINKLIST ##########"); + printf("\n\tNAME : %s ",disply->name); + printf("\n\tPHONE : %ld ",disply->phone); + getch(); + if(disply->next==NULL) + break; + disply=disply->next; + fflush(stdin); + } + break; + } + case '3': + { + insert=ever; + while(3) + { + clrscr(); + fflush(stdin); + printf(" \n\t\t ########## NODE INSERTION WINDOW ########## "); + printf("\n\n the name of the person after which you wish to insert : "); + gets(target); + while(4) + { + chk=strcmpi(insert->name,target); + if(chk==0) + { + printf("\n\tmatch found.. "); + add=(node *)malloc(sizeof(node)); + printf("\n\tenter the name : "); + fflush(stdin); + gets(add->name); + printf("\n\tenter the phone number : "); + scanf("%ld",&add->phone); + printf("\n\tNAME : %s ",add->name); + printf("\n\tPHONE : %ld ",add->phone); + add->next=insert->next; + insert->next=add; + getch(); + flag=1; + } + if(flag==1) + break; + //previous=insert; + insert=insert->next; + chk=strcmpi(insert->name,target); + if(chk==0) + continue; + if(insert->next==NULL ) + { + printf("\n\n\tmatch not found...."); + getch(); + break; + } + } + printf(" \n\t want to insert another "); + fflush(stdin); + insert=ever; + flag=0; + choice=getchar(); + if(toupper(choice)=='N') + break; + } + break; + } + case '4': + { + remove=ever; + previous=ever; + first=0; + while(3) + { + clrscr(); + fflush(stdin); + printf(" \n\t\t ########## NODE DELETION WINDOW ########## "); + printf(" Enter the name of the person whom you wish to delete : "); + gets(target); + while(4) + { + chk=strcmpi(remove->name,target); + if(chk==0) + { + printf("\n\tmatch found.. "); + if(first==0) + { + ever=remove->next; + getch(); + flag=1; + break; + } + if(flag==1) + break; + previous->next=remove->next; + getch(); + flag=1; + } + if(flag==1) + break; + previous=remove; + remove=remove->next; + first=1; + chk=strcmpi(remove->name,target); + if(chk==0) + continue; + if(remove->next==NULL ) + { + printf("\n\n\tmatch not found...."); + getch(); + break; + } + } + printf(" \n\t want to remove another "); + fflush(stdin); + remove=ever; + flag=0; + choice=getchar(); + if(toupper(choice)=='N') + break; + } + break; +} + case '5': + exit(0); +} +} +} + diff --git a/MOH4.C b/MOH4.C new file mode 100644 index 0000000..802a2c9 --- /dev/null +++ b/MOH4.C @@ -0,0 +1,60 @@ +#include +#include +#include +void main(int argc,char *argv[]) +{ +FILE *fp; +char ch,file[20]; +static int nl,nc,nw,nv; +if(argc<2) +{ +clrscr(); +printf("$ "); +scanf("%s",file); +fp=fopen(file,"rb+"); +if(fp==NULL) +printf("cannot open the file......"); +argv[1]=file; +} +if(argc>=2) +{ +fp=fopen(argv[1],"rb+"); +if(fp==NULL) +printf("cannot open the file......"); +} +while((ch=(char )fgetc(fp))!=EOF) + { + if(ch=='\n') + { + nl++; + nc--; + } + if(toupper(ch)=='A' || toupper(ch)=='E' || toupper(ch)=='I' || toupper(ch)=='O' || toupper(ch)=='U') + { + nv++; + } + if(ch==' ' || ch=='\t') + { + nw++; + nc=nc+0; + } + else + nc++; + } + textbackground(BLACK); + textcolor(CYAN); + gotoxy(15,20); + cprintf(" the number of characters in the file %s are: %d",argv[1],nc); + textcolor(RED ); + gotoxy(15,21); + cprintf(" the number of lines in the file %s are : %d ",argv[1],nl); + textcolor(MAGENTA); + gotoxy(15,22); + cprintf(" the number of words in the file %s are : %d ",argv[1],nw); + textcolor(YELLOW); + gotoxy(15,23); + cprintf(" the number of vovels in the file %s are : %d ",argv[1],nv); + textcolor(WHITE); + fflush(stdin); + while(!kbhit()); +} \ No newline at end of file diff --git a/MOH5.C b/MOH5.C new file mode 100644 index 0000000..6e8bcb9 --- /dev/null +++ b/MOH5.C @@ -0,0 +1,39 @@ +#include +void main() +{ +float mat1[10][10],mat2[10][10],mat3[10][10]; +static int r,c,i,j; +clrscr(); +printf("\n\n\n\tENTER THE NUMBER OF ROWS OF THE MATRIX : "); +scanf("%d",&r); +printf("\n\tENTER THE NUMBER OF COLOUMNS OF THE MATRIX : "); +scanf("%d",&c); + printf("\n\tenter the elememts of the matrix : "); + for(i=0;i +#include +#include +void main(int argc,char *argv[]) +{ +FILE *fp1,*fp2,*tp; +char ch,file1[20],file2[20]; +static int nl,nc,nw,nv; +if(argc<3) +{ +clrscr(); +printf("$ "); +scanf("%s%s",file1,file2); +fp1=fopen(file1,"rb+"); +fp2=fopen(file2,"rb+"); +if(fp1==NULL || fp2==NULL) +{ +printf("cannot open both or one of the file......"); +exit(1); +} +argv[1]=file1; +argv[2]=file2; +} +if(argc>=2) +{ +fp1=fopen(argv[1],"rb+"); +fp2=fopen(argv[2],"rb+"); +if(fp1==NULL || fp2==NULL) +printf("cannot open both or one of the file......"); +exit(1); +} +tp=fopen("joined.txt","wb"); +while((ch=getc(fp1))!=EOF) +fputc(ch,tp); +while((ch=getc(fp2))!=EOF) +fputc(ch,tp); +ch=EOF; +fputc(ch,tp); +fclose(fp1); +fclose(fp2); +fclose(tp); +system("edit joined.txt"); +} \ No newline at end of file diff --git a/MOH9.C b/MOH9.C new file mode 100644 index 0000000..352d1fb --- /dev/null +++ b/MOH9.C @@ -0,0 +1,42 @@ +#include +#include +void main() +{ +char names[100][20],temp[50],addr[100][40]; +int ch=0,c,j=0,i=0,num=0; +clrscr(); +printf("\n\tstart entering the names "); + while(1) + { + printf("\n\tenter the name: "); + gets(names[i]); + printf("\tenter the address: "); + gets(addr[i]); + printf("\t\t\t\t\tpress 1 to finish "); + i++; + fflush(stdin); + ch=getch(); + if(ch=='1') + break; + } + for(c=0;c0) + { + strcpy(temp,(names+c)); + strcpy((names+c),(names+j)); + strcpy((names+j),temp); + strcpy(temp,(addr+c)); + strcpy((addr+c),(addr+j)); + strcpy((addr+j),temp); + } + } + printf("\nThe names in sorted order are "); + for(c=0;c +#include +union REGS i,o; +main() +{ +int gd=DETECT,gm,maxx,maxy,x,y,xp,yp,button,ch=0,i=1,opt=0; +initgraph(&gd,&gm,""); +maxx=getmaxx(); +maxy=getmaxy(); +setbkcolor(DARKGRAY); +setlinestyle(SOLID_LINE,1,3); +rectangle(0,56,maxx,maxy); +setviewport(1,1,maxx-1,maxy-1,1); +/*gotoxy(10,1); +printf("1=CIRCLE"); +gotoxy(20,1); +printf("2=LINE");*/ +setcolor(LIGHTCYAN); +settextstyle(5,0,3); +outtextxy(200,0,"Elementary Slate Board"); + +if(initmouse()==0) +{ + closegraph(); + restorecrtmode(); + printf("mouse driver not loaded"); + getch(); + exit(1); +} +restrictmouseptr(1,57,maxx-1,maxy-1); +getmousepos(&button,&x,&y); +xp=x; +yp=y; +showmouseptr(); +while(!kbhit()) +{ +//hidemouseptr(); +setcolor(RED); +setlinestyle(SOLID_LINE,0,2); +xp=x; +yp=y; +getmousepos(&button,&x,&y); +//gotoxy(5,3); +if((button & 1)==1) +while(1) +{ +hidemouseptr(); +putpixel(x-2,y-2,RED); +setcolor(RED); +line(xp-2,yp-2,x-2,y-2); +getmousepos(&button,&x,&y); +if((button & 1)==0) +{ +showmouseptr(); +break; +} +} +//gotoxy(20,3); +setcolor(CYAN); +if((button & 2)==2) +{ +putpixel(x-2,y-2,CYAN); +line(xp-2,yp-2,x-2,y-2); + +} +if((button & 4)==4) +{ +putpixel(x-2,y-2,LIGHTGREEN); +setcolor(LIGHTGREEN); +line(xp-2,yp-2,x-2,y-2); + +} +if((button & 3)==3) +{ +putpixel(x-2,y-2,YELLOW); +setcolor(YELLOW); +line(xp-2,yp-2,x-2,y-2); +} +if((button & 5)==5) +{ +putpixel(x-2,y-2,LIGHTRED); +setcolor(LIGHTRED); +line(xp-2,yp-2,x-2,y-2); +} +if((button & 6)==6) +{ +putpixel(x-2,y-2,LIGHTMAGENTA); +setcolor(LIGHTMAGENTA); +line(xp-2,yp-2,x-2,y-2); +} + +if((button & 7)==7) +{ +putpixel(x-2,y-2,WHITE); +setcolor(WHITE); +line(xp-2,yp-2,x-2,y-2); +} + +gotoxy(65,2); +printf("X=%03d Y=%03d",x,y); +if(xp!=x && yp!=y) +{ +setcolor(i); +settextstyle(5,0,1); +outtextxy(380,440,"designed by:Soumen Mukherjee"); +i++; +if(i==15) +i=1; +} +} +ch=getch(); +if(ch==13) +{ +closegraph(); +restorecrtmode(); +exit(1); +} +if(ch==1) +cleardevice(); +main(); +} + + +//initialize mouse +initmouse() +{ +i.x.ax=0; +int86(0x33,&i,&o); +return(o.x.ax); +} +showmouseptr() +{ +i.x.ax=1; +int86(0x33,&i,&o); +} +hidemouseptr() +{ +i.x.ax=0; +int86(0x33,&i,&o); +} +restrictmouseptr(int x1,int y1,int x2,int y2) +{ +i.x.ax=7; +i.x.cx=x1; +i.x.dx=x2; +int86(0x33,&i,&o); +i.x.ax=8; +i.x.cx=y1; +i.x.dx=y2; +int86(0x33,&i,&o); +} +getmousepos(int *button,int *x,int *y) +{ +i.x.ax=3; +int86(0x33,&i,&o); +*button=o.x.bx; +*x=o.x.cx; +*y=o.x.dx; +} + + + diff --git a/MSCIRCLE.C b/MSCIRCLE.C new file mode 100644 index 0000000..7ab1790 --- /dev/null +++ b/MSCIRCLE.C @@ -0,0 +1,114 @@ +#include +#include +union REGS i,o; +main() +{ +int gd=DETECT,gm,maxx,maxy,x,y,xp,yp,button,ch=0,i=1,flag=0; +initgraph(&gd,&gm,""); +maxx=getmaxx(); +maxy=getmaxy(); +setbkcolor(BLACK); +setlinestyle(SOLID_LINE,1,3); +rectangle(0,56,maxx,maxy); +setviewport(1,1,maxx-1,maxy-1,1); +/*gotoxy(10,1); +printf("1=CIRCLE"); +gotoxy(20,1); +printf("2=LINE");*/ +setcolor(LIGHTCYAN); +settextstyle(5,0,3); +outtextxy(200,0,"CATCH ME IF YOU CAN"); + +if(initmouse()==0) +{ + closegraph(); + restorecrtmode(); + printf("mouse driver not loaded"); + getch(); + exit(1); +} +restrictmouseptr(1,57,maxx-1,maxy-1); +getmousepos(&button,&x,&y); +xp=x; +yp=y; +showmouseptr(); +while(!kbhit()) +{ +setcolor(i); +setlinestyle(SOLID_LINE,0,2); +xp=x; +yp=y; +getmousepos(&button,&x,&y); +while((button & 1)==1) +{ +setcolor(RED); +circle(xp,yp,x-xp); +delay(20); +setcolor(BLACK); +circle(xp,yp,x-xp); +getmousepos(&button,&x,&y); +flag=1; +} +if(flag==1) +{ +setcolor(RED); +circle(xp,yp,x-xp); +flag=0; +} +if(xp!=x && yp!=y) +{ +setcolor(i); +settextstyle(5,0,1); +outtextxy(380,440,"designed by:Soumen Mukherjee"); +i++; +if(i==15) +i=1; +} +} +ch=getch(); +if(ch==13) +{ +closegraph(); +restorecrtmode(); +exit(1); +} +if(ch==1) +cleardevice(); +main(); +} + + +//initialize mouse +initmouse() +{ +i.x.ax=0; +int86(0x33,&i,&o); +return(o.x.ax); +} +showmouseptr() +{ +i.x.ax=1; +int86(0x33,&i,&o); +} +restrictmouseptr(int x1,int y1,int x2,int y2) +{ +i.x.ax=7; +i.x.cx=x1; +i.x.dx=x2; +int86(0x33,&i,&o); +i.x.ax=8; +i.x.cx=y1; +i.x.dx=y2; +int86(0x33,&i,&o); +} +getmousepos(int *button,int *x,int *y) +{ +i.x.ax=3; +int86(0x33,&i,&o); +*button=o.x.bx; +*x=o.x.cx; +*y=o.x.dx; +} + + + diff --git a/MSELLIPS.C b/MSELLIPS.C new file mode 100644 index 0000000..93f3d60 --- /dev/null +++ b/MSELLIPS.C @@ -0,0 +1,114 @@ +#include +#include +union REGS i,o; +main() +{ +int gd=DETECT,gm,maxx,maxy,x,y,xp,yp,button,ch=0,i=1,flag=0; +initgraph(&gd,&gm,""); +maxx=getmaxx(); +maxy=getmaxy(); +setbkcolor(BLACK); +setlinestyle(SOLID_LINE,1,3); +rectangle(0,56,maxx,maxy); +setviewport(1,1,maxx-1,maxy-1,1); +/*gotoxy(10,1); +printf("1=CIRCLE"); +gotoxy(20,1); +printf("2=LINE");*/ +setcolor(LIGHTCYAN); +settextstyle(5,0,3); +outtextxy(200,0,"CATCH ME IF YOU CAN"); + +if(initmouse()==0) +{ + closegraph(); + restorecrtmode(); + printf("mouse driver not loaded"); + getch(); + exit(1); +} +restrictmouseptr(1,57,maxx-1,maxy-1); +getmousepos(&button,&x,&y); +xp=x; +yp=y; +showmouseptr(); +while(!kbhit()) +{ +setcolor(i); +setlinestyle(SOLID_LINE,0,2); +xp=x; +yp=y; +getmousepos(&button,&x,&y); +while((button & 1)==1) +{ +setcolor(RED); +ellipse(xp,yp,0,360,x-xp,y-yp); +delay(20); +setcolor(BLACK); +ellipse(xp,yp,0,360,x-xp,y-yp); +getmousepos(&button,&x,&y); +flag=1; +} +if(flag==1) +{ +setcolor(RED); +ellipse(xp,yp,0,360,x-xp,y-yp); +flag=0; +} +if(xp!=x && yp!=y) +{ +setcolor(i); +settextstyle(5,0,1); +outtextxy(380,440,"designed by:Soumen Mukherjee"); +i++; +if(i==15) +i=1; +} +} +ch=getch(); +if(ch==13) +{ +closegraph(); +restorecrtmode(); +exit(1); +} +if(ch==1) +cleardevice(); +main(); +} + + +//initialize mouse +initmouse() +{ +i.x.ax=0; +int86(0x33,&i,&o); +return(o.x.ax); +} +showmouseptr() +{ +i.x.ax=1; +int86(0x33,&i,&o); +} +restrictmouseptr(int x1,int y1,int x2,int y2) +{ +i.x.ax=7; +i.x.cx=x1; +i.x.dx=x2; +int86(0x33,&i,&o); +i.x.ax=8; +i.x.cx=y1; +i.x.dx=y2; +int86(0x33,&i,&o); +} +getmousepos(int *button,int *x,int *y) +{ +i.x.ax=3; +int86(0x33,&i,&o); +*button=o.x.bx; +*x=o.x.cx; +*y=o.x.dx; +} + + + diff --git a/MSMENU.C b/MSMENU.C new file mode 100644 index 0000000..1ec5b5c --- /dev/null +++ b/MSMENU.C @@ -0,0 +1,42 @@ +#include +union REGS i,o; +main() +{ +int x; +clrscr(); +x=initmouse(); +while(!kbhit()) +{ +showmouseptr(); +} +} +initmouse() +{ +i.x.ax=0; +int86(0x33,&i,&o); +return(o.x.ax); +} +showmouseptr() +{ +i.x.ax=1; +int86(0x33,&i,&o); +} +restrictmouseptr(int x1,int y1,int x2,int y2) +{ +i.x.ax=7; +i.x.cx=x1; +i.x.dx=x2; +int86(0x33,&i,&o); +i.x.ax=8; +i.x.cx=y1; +i.x.dx=y2; +int86(0x33,&i,&o); +} +getmousepos(int *button,int *x,int *y) +{ +i.x.ax=3; +int86(0x33,&i,&o); +*button=o.x.bx; +*x=o.x.cx; +*y=o.x.dx; +} diff --git a/MSRECTAN.C b/MSRECTAN.C new file mode 100644 index 0000000..2e98767 --- /dev/null +++ b/MSRECTAN.C @@ -0,0 +1,114 @@ +#include +#include +union REGS i,o; +main() +{ +int gd=DETECT,gm,maxx,maxy,x,y,xp,yp,button,ch=0,i=1,flag=0; +initgraph(&gd,&gm,""); +maxx=getmaxx(); +maxy=getmaxy(); +setbkcolor(BLACK); +setlinestyle(SOLID_LINE,1,3); +rectangle(0,56,maxx,maxy); +setviewport(1,1,maxx-1,maxy-1,1); +/*gotoxy(10,1); +printf("1=CIRCLE"); +gotoxy(20,1); +printf("2=LINE");*/ +setcolor(LIGHTCYAN); +settextstyle(5,0,3); +outtextxy(200,0,"CATCH ME IF YOU CAN"); + +if(initmouse()==0) +{ + closegraph(); + restorecrtmode(); + printf("mouse driver not loaded"); + getch(); + exit(1); +} +restrictmouseptr(1,57,maxx-1,maxy-1); +getmousepos(&button,&x,&y); +xp=x; +yp=y; +showmouseptr(); +while(!kbhit()) +{ +setcolor(i); +setlinestyle(SOLID_LINE,0,2); +xp=x; +yp=y; +getmousepos(&button,&x,&y); +while((button & 1)==1) +{ +setcolor(RED); +rectangle(xp,yp,x,y); +delay(20); +setcolor(BLACK); +rectangle(xp,yp,x,y); +getmousepos(&button,&x,&y); +flag=1; +} +if(flag==1) +{ +setcolor(RED); +rectangle(xp,yp,x,y); +flag=0; +} +if(xp!=x && yp!=y) +{ +setcolor(i); +settextstyle(5,0,1); +outtextxy(380,440,"designed by:Soumen Mukherjee"); +i++; +if(i==15) +i=1; +} +} +ch=getch(); +if(ch==13) +{ +closegraph(); +restorecrtmode(); +exit(1); +} +if(ch==1) +cleardevice(); +main(); +} + + +//initialize mouse +initmouse() +{ +i.x.ax=0; +int86(0x33,&i,&o); +return(o.x.ax); +} +showmouseptr() +{ +i.x.ax=1; +int86(0x33,&i,&o); +} +restrictmouseptr(int x1,int y1,int x2,int y2) +{ +i.x.ax=7; +i.x.cx=x1; +i.x.dx=x2; +int86(0x33,&i,&o); +i.x.ax=8; +i.x.cx=y1; +i.x.dx=y2; +int86(0x33,&i,&o); +} +getmousepos(int *button,int *x,int *y) +{ +i.x.ax=3; +int86(0x33,&i,&o); +*button=o.x.bx; +*x=o.x.cx; +*y=o.x.dx; +} + + + diff --git a/NAMESORT.C b/NAMESORT.C new file mode 100644 index 0000000..fa05119 --- /dev/null +++ b/NAMESORT.C @@ -0,0 +1,37 @@ +#include +#include +void main() +{ +char names[100][20],temp[20]; +int ch=0,c,j=0,i=0,num=0; +clrscr(); +printf("\n\tstart entering the names "); + while(1) + { + printf("\n\tenter the name: "); + gets(names[i]); + printf("\t\t\t\t\tpress 1 to finish "); + i++; + fflush(stdin); + ch=getch(); + if(ch=='1') + break; + } + for(c=0;c0) + { + strcpy(temp,names[c]); + strcpy(names[c],names[j]); + strcpy(names[j],temp); + } + } + printf("\nThe names in sorted order are "); + for(c=0;c +#include +void main() +{ +char ch='y'; +system("a:"); +system("del *.* "); +putchar(ch); +} + diff --git a/NW.C b/NW.C new file mode 100644 index 0000000..d048c7f --- /dev/null +++ b/NW.C @@ -0,0 +1,8 @@ +#include +#include +void main() +{ + float x=1.57; + + printf(" %f ",sin(x)); +} diff --git a/ORA.C b/ORA.C new file mode 100644 index 0000000..b1ed2d5 --- /dev/null +++ b/ORA.C @@ -0,0 +1,6 @@ +void main() +{ +system("cd.."); +system("cd ORAWIN95\\BIN"); +system("sqlplus scott/tiger"); +} \ No newline at end of file diff --git a/PALLIN.C b/PALLIN.C new file mode 100644 index 0000000..5c7a25f --- /dev/null +++ b/PALLIN.C @@ -0,0 +1,49 @@ +#include +#include +#include +void main() +{ +FILE *even,*odd; +char c; +int i,ch,flag=0; +even=fopen("even.num","w"); +odd=fopen("odd.num","w"); +for(i=100;i<=200;i++) +{ +if(i%2==0) +{ +fflush(stdout); +fputc(i,even); +printf("%d",i); +delay(40); +} +else +fputc(i,odd); +} +fclose(even); +fclose(odd); +even=fopen("even.num","a+"); +odd=fopen("odd.num","a+"); +clrscr(); +i=0; +rewind(even); +while(i<50) +{ +ch=fgetc(even); +if(ch=='26' && flag==0) +{ +printf(" 26 "); +flag=1; +i++; +continue; +} +printf(" %d ",ch); +i++; +} +printf("\n\n\n\a"); +while((ch=fgetc(odd))!=EOF) +printf(" %d ",ch); +fclose(even); +fclose(odd); +getch(); +} diff --git a/PASSWD.C b/PASSWD.C new file mode 100644 index 0000000..4669b92 --- /dev/null +++ b/PASSWD.C @@ -0,0 +1,11 @@ +#include + +int main(void) +{ + char *password; + clrscr(); + password = getpass("Input a password:"); + cprintf("The password is: %s\r\n", password); + return 0; +} + diff --git a/PATSRC.C b/PATSRC.C new file mode 100644 index 0000000..387e362 --- /dev/null +++ b/PATSRC.C @@ -0,0 +1,11 @@ +#include +void main() +{ +char sr[1000],cha[20],*p; +printf("enter "); +gets(sr); +printf("\n\aenter the string"); +gets(cha); +p=strpbrk(sr,cha); +puts(p); +} diff --git a/PBRUSH.C b/PBRUSH.C new file mode 100644 index 0000000..58e46e6 --- /dev/null +++ b/PBRUSH.C @@ -0,0 +1,571 @@ +#include +#include +#include +void myrectangle(void); +void mycircle(void); +void mydisc(void); +void myeraser(void); +union REGS i,o; + +FILE *ptr; +main() +{ +int gd=DETECT,gm,maxx,maxy,x,y,xp,yp,button,ch=0,i=1,opt=0,flag=0,j; +initgraph(&gd,&gm,""); +maxx=getmaxx(); +maxy=getmaxy(); + +ptr=fopen("first.bmp","wb+"); + +setbkcolor(BLACK); +setlinestyle(SOLID_LINE,1,3); +rectangle(0,0,maxx,maxy); +rectangle(0,56,maxx-2,maxy-2); +setviewport(1,1,maxx-1,maxy-1,1); +/*gotoxy(10,1); +printf("1=CIRCLE"); +gotoxy(20,1); +printf("2=LINE");*/ +setcolor(LIGHTCYAN); +//settextstyle(4,0,2); +//outtextxy(20,0,"Elementary Slate Board"); +rectangle(5,5,40,40); +circle(80,25,22); +ellipse(180,25,0,360,60,22); +line(270,15,340,40); +j=20; +while(j>0) +{ +setlinestyle(SOLID_FILL,1,1); +circle(380,22,j); +j--; +} +setcolor(WHITE); +rectangle(430,5,450,40); +if(initmouse()==0) +{ + closegraph(); + restorecrtmode(); + printf("mouse driver not loaded"); + getch(); + exit(1); +} +restrictmouseptr(1,1,maxx-1,maxy-1); +getmousepos(&button,&x,&y); +xp=x; +yp=y; +showmouseptr(); +while(!kbhit()) +{ +setcolor(CYAN); +setlinestyle(SOLID_LINE,1,3); +restrictmouseptr(1,1,maxx-1,maxy-1); +rectangle(5,5,40,40); +circle(80,25,22); +ellipse(180,25,0,360,60,22); +line(270,15,340,40); +j=20; +while(j>0) +{ +setlinestyle(SOLID_FILL,1,1); +circle(380,22,j); +j--; +} + +getmousepos(&button,&x,&y); +if((x>=5 && x<=40) && (y>=5 && y<=40)) +{ +setcolor(RED); +setlinestyle(SOLID_LINE,1,3); +rectangle(5,5,40,40); +delay(20); +myrectangle(); +} +if((x>=60 && x<=100) && (y>=5 && y<=40)) +{ +setcolor(RED); +setlinestyle(SOLID_LINE,1,3); +circle(80,25,22); +delay(20); +mycircle(); +} +if((x>=120 && x<=250) && (y>=5 && y<=40)) +{ +setcolor(i); +setlinestyle(SOLID_LINE,1,3); +ellipse(180,25,0,360,60,22); +delay(20); +myellipse(); +} +if((x>=270 && x<=340) && (y>=5 && y<=40)) +{ +setcolor(i); +setlinestyle(SOLID_LINE,1,3); +line(270,15,340,40); +delay(20); +myline(); +} +if((x>=380 && x<=420) && (y>=5 && y<=40)) +{ +setcolor(i); +j=20; +while(j>0) +{ +setlinestyle(SOLID_FILL,1,1); +circle(380,22,j); +j--; +} +delay(20); +mydisc(); +} + +if((x>=430 && x<=450) && (y>=5 && y<=40)) +{ +myeraser(); +delay(20); +} +fflush(stdin); +continue; +} +ch=getch(); +if(ch==13) +{ +closegraph(); +restorecrtmode(); +exit(1); +} +if(ch==1) +{ +cleardevice(); +main(); +} +closegraph(); +restorecrtmode(); +} + +//initialize mouse +initmouse() +{ +i.x.ax=0; +int86(0x33,&i,&o); +return(o.x.ax); +} +showmouseptr() +{ +i.x.ax=1; +int86(0x33,&i,&o); +} +restrictmouseptr(int x1,int y1,int x2,int y2) +{ +i.x.ax=7; +i.x.cx=x1; +i.x.dx=x2; +int86(0x33,&i,&o); +i.x.ax=8; +i.x.cx=y1; +i.x.dx=y2; +int86(0x33,&i,&o); +} +getmousepos(int *button,int *x,int *y) +{ +i.x.ax=3; +int86(0x33,&i,&o); +*button=o.x.bx; +*x=o.x.cx; +*y=o.x.dx; +} + +void myrectangle(void) +{ +int x,y,xp,yp,button,ch=0,i1=1,flag=0; +static int i=1; +setlinestyle(SOLID_LINE,1,3); +restrictmouseptr(1,57,639,479); +getmousepos(&button,&x,&y); +xp=x; +yp=y; +showmouseptr(); +while(!kbhit()) +{ +setcolor(i); +setlinestyle(SOLID_LINE,1,3); +rectangle(5,5,40,40); +delay(20); +setlinestyle(SOLID_LINE,0,2); +xp=x; +yp=y; +getmousepos(&button,&x,&y); +while((button & 1)==1) +{ +setcolor(i); +rectangle(xp,yp,x-2,y-2); +delay(20); +setcolor(BLACK); +rectangle(xp,yp,x-2,y-2); +getmousepos(&button,&x,&y); +flag=1; +} +if(flag==1) +{ +setcolor(i); +rectangle(xp,yp,x-2,y-2); +flag=0; +} +gotoxy(65,2); +printf("X=%03d Y=%03d",x,y); + +if(xp!=x && yp!=y) +{ +setcolor(i1); +settextstyle(5,0,1); +outtextxy(380,440,"designed by:Soumen Mukherjee"); +i1++; +if(i==15) +i=1; +} +} +ch=getch(); +if(ch==13) +{ +return(0); +} +if(ch==1) +{ +cleardevice(); +closegraph(); +main(); +} +if(ch==9) +{ +i++; +if(i==15) +i=1; +ch=NULL; +myrectangle(); +} +} + void mycircle(void) + { + int x,y,xp,yp,button,ch=0,i1=1,flag=0; + static int i=1; + setbkcolor(BLACK); + setlinestyle(SOLID_LINE,1,3); + restrictmouseptr(1,57,639,479); +getmousepos(&button,&x,&y); +xp=x; +yp=y; +showmouseptr(); +while(!kbhit()) +{ +setcolor(i); +setlinestyle(SOLID_LINE,1,3); +circle(80,25,22); +delay(20); +setlinestyle(SOLID_LINE,0,2); +xp=x; +yp=y; +getmousepos(&button,&x,&y); +while((button & 1)==1) +{ +setcolor(i); +circle(xp,yp,x-xp); +delay(20); +setcolor(BLACK); +circle(xp,yp,x-xp); +getmousepos(&button,&x,&y); +flag=1; +} +if(flag==1) +{ +setcolor(i); +circle(xp,yp,x-xp); +flag=0; +} +gotoxy(65,2); +printf("X=%03d Y=%03d",x,y); + +if(xp!=x && yp!=y) +{ +setcolor(i1); +settextstyle(5,0,1); +outtextxy(380,440,"designed by:Soumen Mukherjee"); +i1++; +if(i1==15) +i1=1; +} +} +ch=getch(); +if(ch==13) +{ +return(0); +} +if(ch==1) +{ +return(0); +} +if(ch==9) +{ +i++; +ch=NULL; +mycircle(); +} +} +myellipse() +{ +int x,y,xp,yp,button,ch=0,i1=1,flag=0; +static int i=1; +setbkcolor(BLACK); +setlinestyle(SOLID_LINE,1,3); +setcolor(i); +ellipse(180,25,0,360,60,22); +delay(20); +setlinestyle(SOLID_LINE,1,3); +restrictmouseptr(1,57,639,479); +getmousepos(&button,&x,&y); +xp=x; +yp=y; +showmouseptr(); +while(!kbhit()) +{ +setcolor(i); +setlinestyle(SOLID_LINE,0,2); +xp=x; +yp=y; +getmousepos(&button,&x,&y); +while((button & 1)==1) +{ +setcolor(i); +ellipse(xp,yp,0,360,x-xp,y-yp); +delay(20); +setcolor(BLACK); +ellipse(xp,yp,0,360,x-xp,y-yp); +getmousepos(&button,&x,&y); +flag=1; +} +if(flag==1) +{ +setcolor(i); +ellipse(xp,yp,0,360,x-xp,y-yp); +flag=0; +} +gotoxy(65,2); +printf("X=%03d Y=%03d",x,y); + +if(xp!=x && yp!=y) +{ +setcolor(i1); +settextstyle(5,0,1); +outtextxy(380,440,"designed by:Soumen Mukherjee"); +i1++; +if(i1==15) +i1=1; +} +} +ch=getch(); +if(ch==13) +{ +getimage(1,1,630,470,ptr); +} +if(ch==1) +{ +cleardevice(); +main(); +} +if(ch==9) +{ +i++; +ch=NULL; +myellipse(); +} +} + +myline() +{ +int x,y,xp,yp,button,ch=0,i1=1,opt=0; +static int i=1; +setlinestyle(SOLID_LINE,1,3); +restrictmouseptr(1,57,639,479); +getmousepos(&button,&x,&y); +xp=x; +yp=y; +showmouseptr(); +while(!kbhit()) +{ +setcolor(i); +setcolor(i); +setlinestyle(SOLID_LINE,1,3); +line(270,15,340,40); +setlinestyle(SOLID_LINE,0,2); +xp=x; +yp=y; +getmousepos(&button,&x,&y); +//gotoxy(5,3); +if((button & 1)==1) +{ +putpixel(x-2,y-2,i); +setcolor(i); +line(xp-2,yp-2,x-2,y-2); +} + +if((button & 2)==2) +{ +putpixel(x-2,y-2,CYAN); +setcolor(CYAN); +line(xp-2,yp-2,x-2,y-2); + +} +if((button & 4)==4) +{ +putpixel(x-2,y-2,LIGHTGREEN); +setcolor(LIGHTGREEN); +line(xp-2,yp-2,x-2,y-2); + +} +if((button & 3)==3) +{ +putpixel(x-2,y-2,YELLOW); +setcolor(YELLOW); +line(xp-2,yp-2,x-2,y-2); +} +if((button & 5)==5) +{ +putpixel(x-2,y-2,LIGHTRED); +setcolor(LIGHTRED); +line(xp-2,yp-2,x-2,y-2); +} +if((button & 6)==6) +{ +putpixel(x-2,y-2,LIGHTMAGENTA); +setcolor(LIGHTMAGENTA); +line(xp-2,yp-2,x-2,y-2); +} + +if((button & 7)==7) +{ +putpixel(x-2,y-2,WHITE); +setcolor(WHITE); +line(xp-2,yp-2,x-2,y-2); +} + +gotoxy(65,2); +printf("X=%03d Y=%03d",x,y); +if(xp!=x && yp!=y) +{ +setcolor(i1); +settextstyle(5,0,1); +outtextxy(380,440,"designed by:Soumen Mukherjee"); +i1++; +if(i1==15) +i1=1; +} +} +ch=getch(); +if(ch==13) +{ +return(0); +} +if(ch==1) +{ +cleardevice(); +main(); +} +if(ch==9) +{ +i++; +ch=NULL; +myline(); +} +} +void mydisc(void) +{ +int x,y,xp,yp,button,ch=0,i1=1,opt=0,j; +static int i=1; +setbkcolor(BLACK); +setcolor(i); +j=20; +while(j>0) +{ +setlinestyle(SOLID_FILL,1,1); +circle(380,22,j); +j--; +} +setlinestyle(SOLID_LINE,1,3); +getmousepos(&button,&x,&y); +xp=x; +yp=y; +showmouseptr(); +while(!kbhit()) +{ +setcolor(i); +setlinestyle(SOLID_LINE,0,2); +restrictmouseptr(1,57,639,479); +xp=x; +yp=y; +getmousepos(&button,&x,&y); +while((button & 1)==1) +{ +getmousepos(&button,&x,&y); +circle(xp,yp,x-xp); +} +gotoxy(65,2); +printf("X=%03d Y=%03d",x,y); + +if(xp!=x && yp!=y) +{ +setcolor(i1); +settextstyle(5,0,1); +outtextxy(380,440,"designed by:Soumen Mukherjee"); +i1++; +if(i1==15) +i1=1; +} +} +fflush(stdin); +ch=getch(); +if(ch==13) +{ +return(0); +} +if(ch==1) +{ +cleardevice(); +main(); +} +if(ch==9) +{ +i++; +ch=NULL; +mydisc(); +} +} +void myeraser(void) +{ +int x,y,x1,y1,button; +restrictmouseptr(1,57,639,479); +while(!kbhit()) +{ +getmousepos(&button,&x,&y); + +while((button & 1)==1) +{ +setcolor(WHITE); +setlinestyle(DOTTED_LINE,1,1); +rectangle(x-11,y-21,x+11,y+21); +setcolor(BLACK); +for(y1=y-20;y1nl`&~kBRzUTbE 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 TTTqxo)tF0sailUo2 +void main() +{ +int i=0,j=0,k=0,l=0,m=0,j1=0; +char word[50],temp,temp1; +printf("tyype in the word or the grrroup of letters:"); +while((word[i]=getchar())!='\n') +i++; +clrscr(); +printf("%s",&word[0]); +getch(); +//exit(); +k=i; + for(;k>0;k--) + { + temp1=word[i]; + for(j=0;j<=i-1;j++) + for(l=j+1;l<=i-1;l++) + { + printf("\n%s",&word[0]); + temp=word[l]; + for(m=l;m<=i-1;m++) + { + word[m]=word[m+1]; + } + word[i]=temp; + getch(); + } + for(j1=0;j1 +#include +#include +//int getkey(void); +void main() +{ +int ch; +clrscr(); +//textbaxkground(BLUE); +//for(i= +textcolor(LIGHTGREEN); +cprintf("press function keys F1 - F10 and play the mini piano \a "); +while(1) +{ +fflush(stdin); +ch=getch(); +switch(ch) +{ +case 59: +{ +sound(140); +delay(40); +nosound(); +break; +} +case 60: +{ +sound(256); +delay(40); +nosound(); +break; +} +case 61: +{ +sound(270); +delay(40); +nosound(); +break; +} +case 62: +{ +sound(288); +delay(40); +nosound(); +break; +} +case 63: +{ +sound(300); +delay(40); +nosound(); +break; +} +case 64: +{ +sound(320); +delay(40); +nosound(); +break; +} +case 65: +{ +sound(337.5); +delay(40); +nosound(); +break; +} +case 66: +{ +sound(360); +delay(40); +nosound(); +break; +} +case 67: +{ +sound(384); +delay(40); +nosound(); +break; +} +case 68: +{ +sound(400); +delay(40); +nosound(); +break; +} +case 13: +{ +nosound(); +exit(); +} +default : +break; +} +} +} +/*int getkey(void) + { + union REGS i,o; + while(!kbhit()) + { + fflush(stdin); + i.h.ah=0; + int86(22,&i,&o); + return(o.h.ah); + } + } + */ + diff --git a/PINBALL.C b/PINBALL.C new file mode 100644 index 0000000..186de02 --- /dev/null +++ b/PINBALL.C @@ -0,0 +1,298 @@ +#include +#include +#include +void bricks(int posx,int posy,int *flag2); +//int end(int ex,int ey,int x,int y); +void main() +{ +int gd=DETECT,gm,x,y,x1,y1,ff,yy,flag=0,flag2=0,ch,usr,x11=0,mid=0; +int hh=0,line1=280,line0=360; +initgraph(&gd,&gm,""); +x1=getmaxx(); +y1=getmaxy(); +x=630/2; +y=y1/2; +x1=20; +setcolor(WHITE); +setbkcolor(YELLOW); + setcolor(RED); + settextstyle(5,0,5); + settextjustify(CENTER_TEXT,CENTER_TEXT); + setlinestyle(SOLID_LINE,1,3); + outtextxy(getmaxx()/2,getmaxy()/2,"Pinball Where the Fun begins...hit it"); + getch(); + cleardevice(); + setcolor(WHITE); + setcolor(WHITE); + setbkcolor(BLACK); + while(1) + { + if(hh==600) + { + clearviewport(); + hh=0; + } + setlinestyle(SOLID_LINE,1,1); + setcolor(YELLOW); + rectangle(1,1,639,480); + //setfillstyle(CLOSE_DOT_FILL,LIGHTRED); + //floodfill(1,1,LIGHTRED); + bricks(x,y,&flag); + setcolor(WHITE); + settextstyle(4,0,4); + settextjustify(CENTER_TEXT,CENTER_TEXT); + outtextxy(getmaxx()/2,getmaxy()/2,"Designed by : Soumen mukherjee"); + setcolor(WHITE); + circle(x,y,7); + setcolor(CYAN); + circle(x,y,6); + setcolor(YELLOW); + circle(x,y,5); + setcolor(LIGHTGREEN); + circle(x,y,4); + setcolor(LIGHTRED); + circle(x,y,3); + circle(x,y,2); + delay(27); + setcolor(BLACK); + circle(x,y,7); + circle(x,y,6); + circle(x,y,5); + circle(x,y,4); + circle(x,y,3); + circle(x,y,2); + hh++; + usr=10; + setcolor(RED); + setlinestyle(SOLID_LINE,usr,3); + line(line0,477,line1,477); + //x11=end(line0,line1,x,y); + if(y>445) + { + setcolor(WHITE); + line(line0,477,line1,477); + mid=(int )(line0+line1)/2; + setcolor(YELLOW); + line(mid-5,477,mid+5,477); + if(x>=line1 && x<=line0) + { + x11=0; + mid=(int )(line0+line1)/2; + if(x>=mid) + { + x11+=2; + flag2=1; + } + else + if(xline0) + { + setcolor(BLACK); + circle(x,y,7); + circle(x,y,6); + circle(x,y,5); + circle(x,y,4); + circle(x,y,3); + circle(x,y,2); + sound(300); + sleep(1); + nosound(); + cleardevice(); + closegraph(); + restorecrtmode(); + exit(0); + } + + } + if((y<470 && flag==0) || y<0 ) + y+=x1; + if(y==474 || y>474) + { + flag=1; + sound(4500); + delay(5); + nosound(); + } + if((y>6 && flag==1) || y>470) + y-=x1; + if(y==6 || y<6) + { + flag=0; + sound(4500); + delay(2); + nosound(); + } + if(flag2==1) + { + x+=x11; + if(x>=630) + { + flag2=2; + sound(4500); + delay(2); + nosound(); + } + if(x>=630) + { + flag2=2; + sound(4500); + delay(2); + nosound(); + } + if(x<8) + { + flag2=1; + sound(4500); + delay(2); + nosound(); + } + } + if(flag2==2) + { + x-=x11; + if(x<8) + { + flag2=1; + sound(4500); + delay(2); + nosound(); + } + } + if(kbhit()) + { + setcolor(BLACK); + setlinestyle(SOLID_LINE,usr,3); + line(line0,477,line1,477); + ch=getch(); + if(ch==13) + break; + if(ch==75) + { + line0-=22; + if(line0<=15) + { + //line0=6; + line0+=22; + continue; + } + line1-=22; + } + if(ch==77) + { + line1+=22; + if(line1>=638) + { + //line1=634; + line1-=22; + continue; + } + line0+=22; + } + setcolor(WHITE); + setlinestyle(SOLID_LINE,usr,3); + line(line0,477,line1,477); + } + + } + closegraph(); + restorecrtmode(); + } + + void bricks(int posx,int posy,int *flagg) + { + int x1=10,y1=25,x2=70,y2=40,i,j,k=0,cc=5; + static int arr[150][8],flag=0,count=0; + setbkcolor(BLACK); + fflush(stdout); + //setcolor(cc); + //setfillstyle(SOLID_FILL,cc); + for(i=0;i<8;i++) + { + setcolor(cc); + setfillstyle(SOLID_FILL,cc); + for(j=0;j<=9;j++) + { + if(arr[k][4]==0) + if((posx-5>=arr[k][0] && posx-5<=arr[k][2])&&(posy+5>=arr[k][1] && posy+5<=arr[k][3]) || (posx>=arr[k][0] && posx<=arr[k][2])&&(posy>=arr[k][1] && posy<=arr[k][3]) || (posx+5>=arr[k][0] && posx+5<=arr[k][2])&&(posy-5>=arr[k][1] && posy-5<=arr[k][3])) + { + sound(1500); + setbkcolor(BLACK); + setcolor(BLACK); + rectangle(arr[k][0],arr[k][1],arr[k][2],arr[k][3]); + setfillstyle(SOLID_FILL,BLACK); + floodfill(arr[k][0]+2,arr[k][1]+2,BLACK); + arr[k][4]=1; + delay(2); + nosound(); + if(*flagg==1) + *flagg=0; + else + if(*flagg==0) + *flagg=1; + count++; + if(count==72) + { + sound(2000); + sleep(2); + nosound(); + closegraph(); + restorecrtmode(); + exit(1); + } + return(0); + } + if(arr[k][4]==0) + { + setcolor(cc); + rectangle(x1,y1,x2,y2); + floodfill(x1+2,y1+2,cc); + } + if(arr[k][4]==1) + { + setcolor(BLACK); + rectangle(x1,y1,x2,y2); + floodfill(x1+2,y1+2,BLACK); + } + if(flag!=1) + { + arr[k][0]=x1; + arr[k][1]=y1; + arr[k][2]=x2; + arr[k][3]=y2; + arr[k][4]=0; + } + x1+=70; + x2+=70; + k++; + } + x1=10; + x2=70; + y1+=20; + y2+=20; + cc++; + } + flag=1; + } diff --git a/PIX.C b/PIX.C new file mode 100644 index 0000000..86b3ef1 --- /dev/null +++ b/PIX.C @@ -0,0 +1,27 @@ +#include +#include +#include +#include +#include +void main() +{ +int gd=DETECT,gm,x1=0,y; +int x=2,y1=2,r=9; +double t=0; +initgraph(&gd,&gm,""); +while(!kbhit()) +{ +y=y1; +//r=r*r; +//y=y*y; +//t=r-y; +x=sqrt((r*r)-(y*y)); +//x1=x; +//putpixel(x,y,RED); +delay(30); +y1++; +} +getchar(); +closegraph(); +restorecrtmode(); +} \ No newline at end of file diff --git a/POINTER.C b/POINTER.C new file mode 100644 index 0000000..8b005c4 --- /dev/null +++ b/POINTER.C @@ -0,0 +1,13 @@ +#include +void main() +{ +int i=10,*j; +float k=1.50,*l; +j=&i; +l=&k; +clrscr(); +printf("the value of i = %d\n",*j); +printf("the address of i = %x\n",j); +printf("the value of k = %f\n",*l); +printf("the address of k = %x\n",l); +} \ No newline at end of file diff --git a/POINTER1.C b/POINTER1.C new file mode 100644 index 0000000..7aa52aa --- /dev/null +++ b/POINTER1.C @@ -0,0 +1,15 @@ +#include +void main() +{ + int i=3; + int *j; + + j = &i; + printf("Address of i =%d\n",&i); + printf("Address of i =%d\n",j); + printf("Address of j =%d\n",&j); + printf("Value of j = %d\n",j); + printf("Value of i = %d\n",i); + printf("Value of i = %d\n",*(&i)); + printf("Value of i = %d\n",*j); + } \ No newline at end of file diff --git a/PORT.C b/PORT.C new file mode 100644 index 0000000..d93dfc4 --- /dev/null +++ b/PORT.C @@ -0,0 +1,45 @@ +#include +#include +#include +#include +void main() +{ +//system("cls"); +int x=200,y=200,gd=DETECT,gm; +initgraph(&gd,&gm,""); +putpixel(x,y,YELLOW); +putpixel(x+1,y-1,YELLOW); +putpixel(x-1,y-1,YELLOW); +putpixel(x,y-2,YELLOW); +putpixel(x+1,y-2,YELLOW); +putpixel(x+2,y-1,YELLOW); +putpixel(x+3,y,YELLOW); +putpixel(x+4,y+1,YELLOW); +putpixel(x+5,y+2,YELLOW); +x=200; +y=196; +putpixel(x,y,14); +putpixel(x,y-1,14); +putpixel(x,y-2,14); +putpixel(x,y-3,14); +putpixel(x+1,y-3,14); +putpixel(x+2,y-3,14); +putpixel(x-1,y-3,14); +putpixel(x-2,y-3,14); +putpixel(x-1,y,14); +putpixel(x-2,y-1,14); +putpixel(x-3,y,14); +putpixel(x-2,y+1,14); +putpixel(x,y+1,14); +putpixel(x,y+2,14); +putpixel(x+1,y-1,14); +putpixel(x+2,y,14); +putpixel(x+2,y+1,14); +//putpixel(x+5,y+2,YELLOW); + + +//putpixel(x+1,y-2,YELLOW); +getchar(); +closegraph(); +restorecrtmode(); +} \ No newline at end of file diff --git a/PPP.C b/PPP.C new file mode 100644 index 0000000..d711edf --- /dev/null +++ b/PPP.C @@ -0,0 +1,7 @@ +void main() +{ + char c; + c=getchar(); + printf("%c %d ",c,c); + getch(); +} \ No newline at end of file diff --git a/PR.C b/PR.C new file mode 100644 index 0000000..6e69730 --- /dev/null +++ b/PR.C @@ -0,0 +1,10 @@ +main() +{ +int i=-1; +for(;i;) +{ +printf("********"); +printf("\b "); +} + +} \ No newline at end of file diff --git a/PRINTER.C b/PRINTER.C new file mode 100644 index 0000000..283c967 --- /dev/null +++ b/PRINTER.C @@ -0,0 +1,54 @@ +//to calculate the number of characters, lines,blank spaces and vowels in text. +#include +#include +void main() +{ +char c; +int nc=0,nl=1,nw=1,nv=0,d=0; +clrscr(); +gotoxy(2,2); +textcolor(LIGHTRED); +cprintf(" terminate the text with CTRL+Z.. hit enter "); +gotoxy(1,5); + while((c=getchar())!=EOF) + { + if(c=='\n') + { + nl++; + nc--; + } + if(toupper(c)=='A' || toupper(c)=='E' || toupper(c)=='I' || toupper(c)=='O' || toupper(c)=='U') + { + nv++; + } + if(c==' ' || c=='\t') + { + nw++; + nc=nc+0; + } + else + nc++; + fprintf(stdprn,"%c",c); + } + textbackground(BLACK); + textcolor(CYAN); + gotoxy(15,20); + cprintf(" the number of characters in the above input are: %d",nc); + fprintf(stdprn,"\n\tthe number of characters in the above input are: %d",nc); + textcolor(RED ); + gotoxy(15,21); + cprintf(" the number of lines in the above input are : %d ",nl); + fprintf(stdprn,"\n\t the number of lines in the above input are : %d ",nl); + textcolor(MAGENTA); + gotoxy(15,22); + cprintf(" the number of words in the above input are : %d ",nw); + fprintf(stdprn,"\n\t the number of words in the above input are : %d ",nw); + textcolor(YELLOW); + gotoxy(15,23); + cprintf(" the number of vovels in the above input are : %d ",nv); + fprintf(stdprn,"\n\t the number of vovels in the above input are : %d ",nv); + textcolor(WHITE); + fflush(stdin); + while(!kbhit()); +} + diff --git a/PROB1.C b/PROB1.C new file mode 100644 index 0000000..cf48ab2 --- /dev/null +++ b/PROB1.C @@ -0,0 +1,61 @@ +#include +void main() +{ +int i[4],j[4],k[4],gd=DETECT,gm,u=3000; + +initgraph(&gd,&gm,""); + +setcolor(RED); +setbkcolor(15); + +i[0]=320; +j[0]=160; +k[0]=480; +i[1]=50; +j[1]=210; +k[1]=210; +i[2]=320; +j[2]=250; +i[3]=240; +j[3]=250; +k[2]=400; +k[3]=250; + +while(!kbhit()) +{ +setcolor(RED); +sound(u); +setlinestyle(SOLID_LINE,1,3); +setfillstyle(SOLID_FILL,LIGHTRED); +line(i[0],i[1],j[0],j[1]); +line(j[0],j[1],k[0],k[1]); +line(k[0],k[1],i[0],i[1]); +line(i[0],i[1],i[2],j[2]); +line(i[3],j[3],k[2],k[3]); +delay(100); +setcolor(0); +line(i[0],i[1],j[0],j[1]); +line(j[0],j[1],k[0],k[1]); +line(k[0],k[1],i[0],i[1]); + +j[0]+=20; +k[0]-=20; +u=u+100; +setfillstyle(SOLID_FILL,WHITE); +if(k[0]<=160) +{ +k[0]=480; +j[0]=160; +u=3000; +} +delay(5); +nosound(); + +} + +getch(); +closegraph(); +restorecrtmode(); + +} + diff --git a/PROB2.C b/PROB2.C new file mode 100644 index 0000000..5b9edff --- /dev/null +++ b/PROB2.C @@ -0,0 +1,83 @@ +#include +void main() +{ +int x1,x2,x3,y1,y2,y3,x11,x22,x33,y11,y22,y33,gd=DETECT,gm,u=1,j=5; +static int X11[200],X22[200],X33[200],Y11[200],Y22[200],Y33[200],k=0,tp; +static int l,m; +initgraph(&gd,&gm,""); + +setcolor(RED); +setbkcolor(0); + +x1=320; +y1=100; +x2=160; +y2=250; +x3=480; +y3=250; +x11=320; +y11=100; +x22=160; +y22=250; +x33=480; +y33=250; +sleep(1); + +X11[0]=x22; +Y11[0]=y22; +X33[0]=x33; +Y33[0]=y33; +k++; +while(!kbhit()) +{ +while(u>0) +{ +setcolor(15); + +line(x1,y1,x2,y2); +sleep(1); +line(x2,y2,x3,y3); +sleep(1); +line(x3,y3,x1,y1); +sleep(1); + +X11[k]=x1; +X22[k]=x2; +X33[k]=x3; + +x1=(x11+x22)/2; +x2=(x22+x33)/2; +x3=(x11+x33)/2; +y1=(y11+y22)/2; +y2=(y22+y33)/2; +y3=(y11+y33)/2; + +//x22=x1; +//x33=x3; + + +//y22=y1; +//y33=y1; + +Y11[k]=y1; +Y22[k]=y2; +Y33[k]=y1; +k++; +} +x11=X11[l]; +x22=X22[l]; +x33=X33[l]; +y11=Y11[l]; +y22=Y22[l]; +y33=Y33[l]; +l++; +} +u=u*3; +} +} +getch(); +closegraph(); +restorecrtmode(); +system("cls"); +} + diff --git a/PT.C b/PT.C new file mode 100644 index 0000000..ff05e5d --- /dev/null +++ b/PT.C @@ -0,0 +1,7 @@ +#define SUM(X) (X*X) +void main() +{ +int j=20,i; +i=SUM(++j); +printf("%d",i); +} diff --git a/Prince.zip.3.spl b/Prince.zip.3.spl new file mode 100644 index 0000000000000000000000000000000000000000..c61c92bc1b983d9140d2cd9c46f063b964c242c9 GIT binary patch literal 424201 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.D3 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

+Bgm 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

}Su`bY(H-J6C>P!F^D8bus{b-LK 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%0D7605v%SXSOvYZ#yJLn(+|0gT57twq+Yw8Sd>* zq!#xCL17sD10KRTO^#llL-M!{-EJPOD`CwKf}KWVIWN15HmC3@deD_YG|<)*RD>Rt zyu*+^ub>x9*b(=v8ttJgH9w&}k}n9a20!D`ho{0p;@fc8+Cp7{7sI&QelWJfB{*vj z+UqU#^;0$V#AEgKtT}q3-cer<%;r+FP+~4ImKa%cCtX@vQdEe}Sp_?7E-fuIWD5#~ zEt$&CFB8g2%gSs#%op-sDq9Y3^^b?fLome~AeH`(7wAZNbel0fwGgaqkDn`hQK8z_ zfRh@w!fmImAxPhPy+qeAK$`m{d2W0UDi%MF>#)n|aQ0664%E?GMP;iNtmZ97v(M;x zLF$x0spnI4di>m6{6Wlq>IX#z*$YpSz9^|zEu!Z%974ZIPoJTFz!vx^ZX!_L%=WSxv!z6KO;T0qBJe^fz9Rl}`82*8XW8v``p>*PtLzzrTgp($eD=dS_ec;~cKh!?Od_P`j`0MH_X( zTxT_}iSjN4*0`_r8lG&HyaF6QkZl<$k)5QMWmZ0KQlc4AzSNRe2Suw|MR-B44h~xw zL8D7Mw>K;s`7KOe`=wucWvSgP6qcrC*Hl|-3hj7vsj*C+U5M}NG!~W`40(795=u+8 z_6<^{a`r?*@B(!&n~y5CZ_XE;hr@4=R+dM=UHHW%zUkJ;+l@s<`RVCGQTdV08_U!0 z>fE+&%a$#h@Y_#SunlawWLUt>KaPij_!C%a9f+FjKi7p<_qMn@L=zx!gJ?1KN12SKkJdTd#<9r zsCpZh&Xz;riE``Ks3*2QHT@LbcqF~MyL+r+?BCH>HsXs3b|9u71iH@kevemmbhtXO z&FcFx!QsN+QEfh(xv&nOsWzL5OBDW9u<*0fjpl2*=zlOpM$%JgjQWAe7-bYzCI(HV zDF4ROV2PSkq_C!hL7)QH5^L~$j-Id42m{s@7!K|WAD0)Glv?e0x)7A?+CZ5dwrLyU>^|}7<{#p=$vB?aCwrq(;1i(j92mEa`eQtP4{GY} z4yAYF4>*qW;3tIgt>vs(o-Yb)18i%vc2iShe#uE&c=1s1=K;D6_j;x0THLLIyTd)= z6UDK@;qp0I$9&?q-)t19D?y~u%l5#kQJ;_X0OE!6#7mL;(ZSdQ9KVgv5%TjZ%i^HqoN(^k__*Ki4+(a^%|o@e ziu~N}ZM0RPCxoghYkF*V+mWCc+K-c834U1+4+&!SX9rgF4vh4Z=USRuz>q5}%nms0 z9q~7h`doF6I^tKGEx`M%5f^C`!D~9jG-%atLWyZtaW={n^N}gn#7UDBXbl6G#@~k2 z%AIsZF2fx%aqzCo9BssUU2%%ZGDGSthh2@KkoPLwgrA1NU~PC&h3G&nEqy`ii5d7n zb)LbHov9pBM!$kM4+ZAhM2Ri4m&fttkA@W8Dax); z>z53BW@mkQyVJe)bcw7*Pqo;(2^6G;NcykQfg$U_YILrvOE}u%>gaNZ-GVRd3;KQj z?~gfsrCk0+H>hZo*H0{8WN+0sI9N0V2< zJGj9w#%rIi%4f6VLvxQsd;)s7&TVYIEGM7n=6Awi{!6J*P>wr=u`$1Y+#mAKpd%tl z`=tTTgg+1nfbs6#>3_z^KEXfG=SISzP({!ho@GV+&&109fqvrEu9l+{UBR#$?DUQJ zgD%5$LHwz)@}@TMkP#J@jrNW(~h;XMb$sj(<8gd zcYpS4^fdt!mTOGB&4qh+%r^RQmpu71)9`M;O=za|-VStJ?$=^yL)-j3NCGvZf^T5-jy_nlBg*6l=)mV5Pz^S{2&e7zy`=gJy3(s3#kCg{83O zcd*m#w82(;dBRT-ZsecyKOY)m%cNJ(cRo18<>&8F2q332A3{P9e~pE#elYg5H3lU)U(o84 z(mHTt24~s+eY?=x$rtmzre5&bp;lZ><-q4{rWpJjb2)>0RJvI)ds^=#rDWhECbiWh zEa6NHXW~su4)MH6BYzv^qy3`=Y2*G8^yav&Gh}a!ax{|fgfEBbHpuS@BX|8k!>;n! zn@*rFd0U`NnvehR$xgA#$z2LNz9NC(oM093SZHi)kKm68cmjUU@bkkSVyU+(ot8;| zM->}({0y9s^D3vB4z)3d;}EJ8@(G9nfskDgM1y4gp!*OzJ5K<_p+)U)dEs1ZIu$(!FOBR> zZ?7p0jlr8j-@~SmZ73q*w*HpsF5J;+3j-f3xS-Q%_etueeUb;NORQ#_u`|ZUYxF!Y z^-h|24%VAEn`s2$-ByN>*mg57Vv@6)Rx=FdKhc519%RvR;Dh3s*@GJNA%AH6xIY*~ z?ocS^c*HNT?HKGlMqV!x?(M7S&&9H@k2otIIwL)cf24jT{v`h1tBhVJ)>}?aP8`Hg zV7a-F7ITi!CkEbrn-JG|?%cUa3k#d6YW!f?NdWuzMtY>Wcg;4bQw>(Ty;@HIvU-|%p~T)M_Dc^@2s@4^52;gPHG z2=$4d4S{j%RES2OH#It%oC9olPEgEGtNrfj+Jw_SpBOvJev?H0!SisEO4}f4wPhl^ z=S%)6SV9p9ZQd**4gn)w9nJl2k;^*znrBCV_1FY5AeyBJJ=NW@>FtMw+MPy&!BDtf zFc^zU&7twCD=0lKabthWx&E*a9vKO{MW7Q%XQNXDb?Z#j*18h=Y%~#AWAyA%!Fu8A zR?eak3vB8TC);T<*%|Um^nqQp)1=I0P5xWxBa%xxaqI=TxT2#nyq&E(P0 zh};`QANx_WU<<)B$JoZ0jgCeK{uQ4GrDk$;z$(@rIU)PGTKNw~Ge$g9!g2Xm;rxWf zIXPAi7=_A`-vO!?1M=GrRJh$}FA^e*#m3@dbInv}jOt*;;)~~~jRW}SezZw42_Cfy zF6404+I`ej^dNph1n`Cb|8$uWjlOyZqp9X_rHPBStu#pvO5s$z!-i_W(a-HB8G2p% zAv(nJ0l9{wyNc1fhR~0!UxHeQ(a;Fn7Lr8|j)cZZU9@l}e%x0 zlClVx52JSF(*nnp@myI!{_l&HQ#md*?iNXz#6dNGm-yBx6x4miw~ z&Z3ecL#Y9!6$ysIQhQNMv2lsTSY$V&6I4h1-9N|UZ1_N@-MNZ9 zp$UO?w08t%O1}F8j7z>pU!ZS-_E7XU$Bq#f@$Y8(Vwvxsy$Hla&M(Ms;HG#EB;^-a zIqB87B*~(M@H$JWrNV5nSj^@k`Rb`6J6d6}TkQ5<=@iVEi;%`*E}cPl%8iyHW3hSK zEW6(pVu#>BrwC<<{rzZLOW@0q9@02MJ?8WYzFGCZvCbzr#5$`smsC&8eieZC8cPhF zn&N5=uSd1~58yNI5NegyFeYn=p(Krr0yvdS1*0}GR@2R>?mm-Fny;> zz;4NRM1c6_P4ErzEgM=S{Z1ARwxIhR$07^d^~6kB1#ee!`BXtP$)E@vZKUJ#3zp1_ zyk@kLTMTc+I*a}1Qmnx@7UR`Mv;7%#tGN_xGTSZq-m63*eXY5uNX#J%B8=z`g9UCx z_e<~oO+se%4?qLkvfvW+2sEOSky+-f@Qazh&Q}LbGvIxj*=me0DSiNoKWLCYgul?C z1D&&D_y`6cVFarJGKyVHN)&EqOltT_JdY2glS~`Y{StgGoZ^L8(CA%z@MWYyzF7uZfU}`GT z7$UY;gTl3vyGqUUwWW5+L(=DGV0me2ajC^%5Q?&kQNi=yj@3I zT6#JsM|#{uz0Wri6u$R(zOQ%qe9za_#k|LgzKv@Rm1I|^6%fZk2RCKvrH6HPQ)J4s zgfISM`nW{NsPTy(K!`PAgkIrI{AC^fhW<{&>S(=2<_(V9LkaS+$oNb6G988l>yIBF z4mCB${b4HyG5NkxrP7*D#HNx32k%@TUBGRN-6BuQ5njr_cD6lFS)sNWuCbI>)3@z5 zgAK&SQuqSgLzdfxQc?Aa3JryVVFQ~iNlo51y%jtc6c;=>^z#s~!@~q@LU;TJ|@QAu_QKJdI4G`}$E7>i``Z+K4nvm*Lq zMqy*dZX-nc!5hL4!>!v!*{yin7*SC*WU&s!!FRe^TJTTL!RvY?^(KGrqhE83;=n#y^mH2QB9rsBUIjNLRF*XVx`WE~G z{^tjmi)Hch;u$hY%wj$6o*tSFt;csoKR73zT7z!Mpo`(Ek!yF{@Y3RNK`O4O5fthA3#eD(^){3kwwrYx24|+qP}px)m=1e|=B2hGvfu zOt%eitp5rDy zKrGei@FJVpBulsv$M0fjkhT-AWJFBd#>uap6qyo5a2_2q404KT90(H6h1@r{INdGa zVK;pzedp`+{lrwnQ{%@7HY%N`%lR^NucU3^VQMon{eI&|wtOn8TwzZZg429s{xDa%wVu36Kl7f-?|M45ctQsReFBgnDq59iL3)Mk;wY{&jq_W zM+6Zx2#?$8s|ebBE9>ff(rbULt1cmAREE*0A2sp@o=4LnV9=rr(NWQII!+#I3o#@} zGpRxPP2A}0327Ys565>N;%49Z$Zyg7sM81VHt=+d%XPlPO}*7aJZuZm&w?Gq4xAh7 zI2Ode{~ldh&ga8pY(A-*^S_wr3Vx{@*JJWbv@N+(@ppo75!kzt!{HEY-E>D=W4=~U zr>d)xL8@KYikYnpQ?*r)F$^;%J}V(82DPf8xdXz`fQa@YRaCUJ1ZUA6Ulx3BSJ>y= zQ_thvgVsPE+UvxmHa`I-uyMkj_a4y^ol4k@WnFf$-!H-j=v%3Xr# zMka+%V@#r{imb)+y_1ZHjLV93DLNtK5BfzYZk}+9=~wcQOQZz1wMUft@z8XL$R7_K zbA(%F@HtTy%ggz4p^R55MOGj3QgLFWYND3 z1kbfJiMdryUv+^gm*5i(+qcwayWsPIXb>q@p85ZetF`C_-eCIolq+KvZm1t&nl}zY44@X`j0*Zijj7eu@tWydC z+`=eWh88jyF$9@RDFSQS#-ya^nAu|;ct#EH_skG?d33toUY%}I)9eTN!BCI$%A(?C zvZ%$?<8n{;fGuKH9|?s%Kh_wg09g%eWxh+2J#(C31Dg-ZSV0Rm>`ewr_Ch`-d0%=$ zQQ3TX0KM(xb6YNgJ57g(>v+awDy|agB!#?<%D}e@8Kw-@6s2Z_ z6rGOIX~f^;-HesLqZizb9+^S^2?m4yP{_Gcvd!&oc6A73kq$oLhR=qmJrvi7Ui}td ziFnyZ>}J6}m?IRh`Giub+^|FYN-~b9#yOx#V3VPux$@LhCt&?H2aHFdAORzf_--MVrr^QICZ+odDwVI)p&Aj6hFHgV76Og zyUkEpItKz{59`Nn;I-i|rz!BY=po(g)(g;pekIP^xy0nl$@K5^-=WaZP;eqVG&Dp{ z*~77dsHyH2cc1%whY!e|AlAt`1mv6D+X8KZk2TATMq{y1V9*;%3a31)V9BfEFD~f^F6%BbI7ChiDgzoJSrwi zZ~tuX%-Q0bg<-k^JnJ3@Mc?DSB5FETG?eE*i{B;=M;=jDCCg!}&@_JP)Tz_X`W^Z9 zWFUV>vXLAR6gERe<-sIaLALna{+1R*$8BUV-}xnR^RiHWswUFI}OF~8o{b3X5aE^jI#%& zYRKExpe>oPT9`>aY(gcdGzBDogtpOkq@(WQbl?HD)1%V)n)}FCLenll1wyl1mO94+ z-oRLZv^CT2o)CPMsDcfWz0~muzP!8)b+Y-?Rq_M)QB^XPH|Q2h3dhIUQ^@gS?MAD# zTXHBTCr3zCByTP<2P#Jg7ei?e+SAiB-2!5*e&}|yZGHs&Y`28?-XNrM1_R6ON#2)W z;6ex!|6DJd+Y6Dq2fZU(3KN`;Y*#&h*f0(`cx>WO}2W zu__)T?^KYPYu7xSVWM_q=+LwH)qZ_qWttyx^k*%uPVeCO*|TTxhXJFvYfLyJwYe~# zfvWLm$7Ibny@|#!{k^zOqci)wg+&uJ&c1Q#Tc;!EG8=tCdL$=DnVcz<*7Suchv&g5 z+=KqE>XEnfl=Y)M@C?Rmw^VYCz;FhRt4W533OQ>CQ$*6r#GUx&aJadn!-a1f@xcE$ zoDN{9t2*vmS|`7!%uGCP87}?vSja)Co-sqI!*tU9rd{GJd;N6 zVo)Z>YuZsI{rWXpp9{S|(&-Pm-Gk%c^I@Si5a=KGdb_>|dBJxs+>Z9Lq5TUR8<&6V zOFSW+Um%Evwrabr)KFn;8EmRADk5c_O^$rA^cMdwM^L8T-{f?jteh&H6M4P8CuVqX ztOvx9x6&k*uv^J#M!M0Kj74(mR$J-0xEn9VynSd258&%|h2vV>li{#STH-* z_4QT6BUZCbFcJofMWeBf>!rAkD2I++3}rE8DCklvvyA-kL%JNgnG{^11Mg}&8NE)! z^VD$fG>;t{bUs~c$4)RJI@;ja82(Tg@AGzq#>c(iw0iM7a3Umkj)a~M9fMbcv(w|g zx|;AuRCIyTnw+>@I9Zlm+B6(G`CegZJ(`A*wbV`QRDOgkIzKHn-z$Xb3oDDRgAp?k z5j~&v3=a$5Cboy_gSWaPZ)dK8Yv4u$XH6#Ug16t>T*M|PZOrBbB9&MxxqX0sYbx9i zHpB$O9X&tcxo`(=c7nWJKKNT5Iw&*33Zt<=;5m(j)i2U4MDI#o6kQEi0ZTOOoa1B} zYIXoZ!#dU!&8SlV3)?1ijE950EPuxg3X5LuPt&`mPWs`gkSj1I%z)3whrO-M;~^p7 z^|p?On%!@cfBEIo$SLr%IpH^U227%Y93`7PU&w4M%PVyr{H(%RSlV>3=`&JxmAWC~ zZ)rh6ex^dmYdT(3TIsyu3SHo)w>1q4_jNaU5aip zaAz)rMo>Aq**bv3Lb#=$4M&fR%uv7`cDX)tx~4on{3&6x`OMRGbf?kCbLm`kfmoBc zAHG7l$k$(o??-=++Ds|rd-ykcQUo^XN33aqdMYIacBJWeM%QWLx!yy(B)V7d>2ztW ztpBmeV5kNCEnaM(A~ZhO>g^8@H{2I;cen^8_51j|DLvT8mzPD!C`AFtok2Hcn)3|i z!C|4Pv`DN=ul)@}DO%;+9=Apon=fcn?>8H2`YNYF%aaO@I|JjhEgkqV^ebgxyU8mN zJWG7ob%qVmQ|<%kCXN$qA<--6VZy4-`M)XSle7(?c@;Cix@FP~$EFOo0LkT37d z%QHGcgMzteU+v)V;i4}}>*;l65vKTSHzbs=c|qM-YtL;Y*-M+n z+QlzOKIjBp){wM6qUE$O+rKc2Z^Dpmfb4JS50AFAuwfY(4Ev^BF1*ZB<)do_-|X?Z zv%5mgaXe?_h+p*;v&Y}@xqAF{G^G$Y`6P99 zcugHvOj^xrz;8TfDQKtWqNV;6T?)9YYu3G~FBI~=RG8wSFS=pt zF?R@do{bi(HafDGh$aUj5(^v*0sqa-nk^IVDE!dIl|HGGO+LoI(B>oa1WC0-iZJ~Pjip*DQG0q&2YGx(HZ>7n@hBA&+& zUL`*URx2Y>GR&k}OjX@BQxYd|hjBYaXTI6qwi&gX4VDEhpDv(!-I9d0rUg@rAl&qU|l zKR(`s)QYI}GOhTGGiyY>t_)4y1ZkO}$LVJGodsvCs0b>l$H_01nwVu{Bg73b&ody34;U>5)GvnU++q!< z(G;JdzJ>41wGb~8Ry#8x3;<}bxewnAe+YDrjRyvs zz2M6Zp|LR#8uvOI2gX~RA)p1KBi(ikr=rN9)3$IFwaFkX6@pTs zr~^?4_6hr{tDOTKN2|qWY}uakDu@txS7&vJPFFmo`x+$G0J^D3Xfo^7YTc_qxF75T z^wG{vq0=owat(+S8jm!(j&>eBDjangHYjrT0U_q#zJ2?hodc6Y{T<-GLSx}W--FV2 zr_&9RG&_-KiCHYPJ3qPymD)Anokv>^v%T?lH{@_2PN+TZJbJW0G$e$M)*W>nWquHpIa~LD zIL86u;J%~%Ljx`DiI&cz`|-KLhiU{sxm_-IolYobbyV@!Ut4D2t-Anq^5npPV0T#T zx;^4U+Pd|Lmq7*CTLB`z?EG?I0K6?6Y*H$7c7xc-&knjsa$un4sIdQNb;l2)5(`_c zcU`kFEj3lhRNR06hP>?j&P>II4QY9BJX1(hYPB2EQWb(~-KLFs`381M7YTM37i)Bu z>1wb?qqBqPw%_6L7Ka7|G_5+pqGPH6)#Dc2^)>3$mq3*ODgho=Dl>&$AhPA?m!Z&a zUxG^q4}y1J0(RkvIoSt|r8cv;=Ckz%gI+J_HK`9M6lq$4&9)U@TU1ymn2m*nh1uD8 zKW1ka0$)^_HZ4ua%r5>xm8wuoF=@niHl1Aqg^hQyTcg|32d=^;#CM&o)w*JhUA+Ips zn7JXZOfZP4S6i$r60(adc6J}Ne|kS0*nhO{U~JR$QBYP~U0ht8Jp=F3Xf!%jvsftB ziHT9iFv2=!Xf5O zr47tQpAU5iM{A0Uii*Trv3|Y5P>@|zIAttFf7^&Ud$mwq&F+&NJ?Ipg-0qIPmbZF@ zguWhkzq`Lh=;`n8Z|&-A6*{YrR##iB)zh&^qDkA3xj{dfmX?MWX>`Tb=NW_-v0J5W zSpA&=1oSxlO_V}~gp;;1Wojx5Iv3O$>&#{xVGy0oVm8}s^%DmUicjm6mi`{0gYB31 zh-fDaga$&PkO=-F37rku#^s%%iJ?$vJVL@gAJWChLZP8?Ae+G#2L}2>fj~g;23x&d zt${9~tE*LvSY2MBtKU6)6s-BU-BKX`FT>!)KL`r7vADCd+VY;R_-ne8QqW*QS%or9 zqp1XmC{HLVG8l}OYK!1(_J#)gyn*QezQm5>z);9IWDV7fW5LScY5Cj)G3M+J&6xr0 zKp+qd1pF7lb*%v)JvB5uSiy$aKy+&>er2-2V!#WSG^MhFVRgu$D@J!;K`HV0QjJ+- zC=?1UcFO^~qh;hIp0ti*qKTal@YqCnf*p?(#wNzc$HvFb31i{0F@MnR7vw&_&-cb` zA6j>t$M-5v3LGaw0>|<~LU)@l-Pg+r{;n=hYoN7N=<<5UPMu=UOwR=;1LFg|fullT z+~3-M)Ui`Aq@`&YhS8j3ar!G%3cloGEfvyz2Rg`2C+?3~2gp3qh#){nB z+zXFz@K(5%_j!7SUSGG*-{n6goH=#sRA788AdC+M#>TCINMStW^&T+mHK&MS4HIdK z#+TeJ1O5Gj<77387e5AhZu~5YXD0|DeD2&tm_0|%9vwDvF3kFc8@oq*9#6ODJ`eBV z;m731JaoT6wnBFBU?0*>}7wF9SWE0oyX3 zn9h)TOu2Rw;sle4<>Wl)8Ex(M^tK^iz$Wx!}sRTO(fWG{)lMUdJ zar7>GmZaPhXDezZz&UneDRteUbLT=~Kk}kf|FmaSn$N_0cA1QT=S&2;lo9nv+9Mh0 z(k{~~=_lkT5A!}aj8yVkzn@OHaOxDj1gt(<{E}|e4u~%ggO|Cp0qMk9eET`F#yT;5 z3tn45(~M6GJ9n1s%&narwVjfasn1Kz6EvBbnQ3X9 zQiw~_Y}|Z*&I7_`O{V4vP42b|Q$b3u%>>YJISm==ZrT1CR_J=y~t-B}I|Bf{iA~_#F6X*~+`rAZraybQ;*W>p%9cCeYr`cS~8S4ZeZ#J8` zT%%y%at%h_WEAqUH|J>dqQ+%t^`;D~GF~vv9tWq?ss*hnMah^_#4yC9n5+!QovhMC zQuPHIy~a{dz#%j1iHEDkeZAl#^aXx%YyjtllW1!u6=;i#{ze+F0cW^jQuOTmuQz(nj|^)y|Up{>xGSfwVz zBw=sPNK>x|wiHlLytG&H*miY~W%0 z>yn3K5!j(G0_EUYlaQfPD`(q6`v@DkAaa>{&MItXmi-QsnGBBfXK?Bn@{~@a)0p(8 zPENxduH`_BN3iJK`-zY65+PLi#M|H{@Z|4wyDvD7WMb6l92oEg2L@4e z%jJHQ2%qop_qzOFfnWT+4)7~@sLobpbNHy6$o+6Xr1Za2BYIN``Cmht=>^giJ2xd$ zsno(1G4L9&FY+d-cNO`K__@BGNXy`K=w&XAnSnoWCcdCRUmzxjPeglqq7qcR39R52 z|2X*e#Ub==&^IvX!*?6{gC6)&3m9|37ah%HC1f2AnJ?-FcFMd$3QBmB!4lBx4d6u+ ze0TPEY3Pcar_?L8>>J9|cw|zLYog`MNfY@^iZqB`#CtWSat?+OYvOAQkiBBN{|OPl z99Yx2FgPCc_~;G33xfl67CP47(%Woo4tDjr!MXT^pU)qt1rOQKnp(4IKWk2%^LhsP zcHFu3Sj{B80#~4Eas^Goo4pEolhnI3@*6V5=>DdcM;LjqmDlo~PCk#ff;X^6@;gG~ zK_Avx2P&%3C-}auqf{c*PVRL5K>X_C=|{=E_L90(bgOJFHDWZSAbZpg_i43^T5=2d z$$F|V85LqaW<$J-VPd}}{r)tx4KK&N#kf}|(cqINKFv`8%=GQ&r1;D@)}jBh0~K!s zee~}wU2&hzsdPXm^+S`r%r`7w6L4zC#+z`EF#R3d($qs|@kIzfO#b%YH0%#Y7) zlDG{f*$*j<-2PeI{U$U`6%fPJLkh(m3a}yJEb)gV4-*{Sb9;=uhtcsG;!&`5!ea&d zX$?O%B<8K%v<~a&-@8yt%ggd@&EPfk`BDToA|GouOQl(oc~-p~S52m9wPfk69>r?N zhayz)c?C6p9vitUQ!;_pgJ~176@9G%B`yspHu315*Rdw+2tS4lLvi^7#BQ(rXbbgd z2k|WsH8FuCEMP(HDHpkWAI834Qb$v)_F{{$Q{0N?}U9p>?Ip{~v>TCCYD z7=1q9>}ZfFj|VIlaYL`OXgQ9!h2uE+sVh{J3Ea(^k{LxhqmbMga~F}9c%v@v+xw#* zTKhpcM2ln zczjk5>g0J3%M&o$B=A-fNZDnggt5dGReBAWG- z&yRb%Jt98r<3*kUe}YG-vD|J`4$LNY#FDU*&6uEbGcv$arWETEQ+%$-l0j^Y>Yhq5 zfoN72X)-}e$2 z+IjkXa;4%Hd1qZ(@|^q5+mppRPYdm|Ah}slnY=w94;HYcJsxhyK;=7{^jbyW&FVa-Nsa&*Gu@l)W|hjHi0{w?cjBaSC* zqOaN%m!lG%l&n!Gs*)G}ckZ90O#SE%+-qJ*0l9tCg2CMGmqj$gPY zp+k|pTfxe3=iv_rV-ucS`8ZfL_rlk63gq)@@H7in>{gV;&6zJ<5dCXq@~gNrA;Gca zpSlLU9UNbJZ{gM?n?kzeQWX__%{_7CG$EZ|sdx)qNnSm7)lEzPOa}Rp%LF`av)}v8 zwQEkVe126D;eM@v`WXLeQvf85So+7+#ZA!+NPbDt3h43Vd24Q3@T=^h*!$*fS}s>a zt~Es7m-1Lr{MBVeszgGvV8JfMijCXm%?ro2RL6Zx=g>@*;%yB2*POWaF%%?P7g*_s z=2_=_vs6&nbi?zK7OWr<`feY+Z&^9KLUPL+e~EPL!OB{!Jg8_|0a}U+lT)I(7>Oo6 zDNcUC27kJhv@WfRKOnpDtED^kC=%{GBF|vh*giFY+dZpF$gq_7VwKUEwDHR;I-XFr>> zVqOd0J16e1vkAAyHrwZg>6|LXlGFv0%YI);?Ni7WTp(jE1L%l|7*MxC6JoslYQ4#UOb?@jigd$z_Y8|Ceyk zz9Dh`JFA|0k~|f)@NJ2PRV=;EnR>&?}L%2_2lDgO_(hw7@6-qbRon8PUU z{HKz6cm*I6ZQ#GM?Q?I=TXFyCMOEaQK1Jfa|1jKuLdGcI#mI}5ij9wgq-!UVwp{b} zJ~031J+bG=KN9ZxXOANKg~aWN#db!fVBkM%63GXEE%sc^!E|_$=9q+lTfQsZ9MJLNZ1=D4$u^o2Re7U#D!KvCDm zAb8Qr*uf36oCTjb$+9XBp>$xgW(9zjrm_Zvd_(G}4O)mB+?pXr!I;8BEESyi%(q-!PQ(z%Q7d6#B@r0wb5lK(a155HH; zxktB~BROzwZ1Ow_2|inP)(s!asLY z2JN4Feh=uVW7Bhlix<>)%lCb=?smO<#cN>vT0>QG$2W^00W z)yRTN>=YxNe=B2GK;}NhekNimPf$@ytOtpERlBq@YI&S%xSN@au1iXb&yedFRYfK9 zF?d%of788D)XR3oO*g)G13UM%C6n*H#>C9cOaOMt|MpfeP^GeKBjVm)ENfDAGiz?q z#NV|<{dba9e!B{F_kmi)qQva{-HPbzH%mT+ht{VQE^U$*$mhm1N9Q-9yAHj|0F^EN z^Q13q(W>{DJMSC1_RpmCHy%^R{~CWsrRqG8zpohG8?kD$Vpr@o%@@(fW4^ua?#K=* zPGOB|J<1q%sVKQtg&JexznWR#(^jh>qq1Qp|JKvdcWvUA%q&?Sx&G3e_pUvQv(Jkw zg_&d(k*mIA6je;wf@`LdUQepEGs_bmIg|8e^jq<@^7C*tP_%EwpD}h70Cr3(-ea}W zgy*O=IO;aIM5W!Ox^wAU3oa`6wW>dizjxk;tSWAO9h)!y&m!$&l9ejQ87q1eRhTNNXXHqz;z zzp9nVrlB6Z#xgJ6zVvvUb;&R3n-(?7AGD{b2>FAoN*+}i@!IEmRR2XyGBv!{rY(!Z z+PH`X)vt(49{zZUkbBlX`G&`Q~R@2c_vic_tDlvPW_JergsjRf^EHc0ma)2rY&iEYoT zDmsx(Sh_3nEqYr=wCW*{7`Zd?7V<^Oqn|f3iE-wbH)H2$RYUfOzsVe}Rq{lgwm~}Q zD=n^)OLs@^)>?*Dk4Yb_(gOI{Lb3r;Jaf~6b4v_!M%x#4&-qbYE|{d-?+2y^;x`i5 z(Y36s{2xr%S#W+pyVAOnA@-5pRtEu3makJoDd zw=6L+N*a|o&nJ15)vkjoZJR27{;P}PmS|s6wFCHs^f&bKE5rq=Eo()N36J>{>d8?Ie&S*Ew&z2RH_X9fQo&Qr6zX4%XF2BipP>W zQa&P2lUe6%(#;XEhoZ8q+E+h>kD*^wZuIyovhsP?U3Vb1lfF*{r{-OAG%*K7&9xDh zYriFvsOQAca`K#HejZD7(fUg5&}{&fQ3<oOqGgG$k=aHA^hkok_g%MeQpo{C#d*vHG>cHDyn}Uyw0Yb zbA8l;-|MXNk1b*)ClgjZyxV*3j?l(#jKf@#xla2b0L(7=J<{*j5Fx9$`qHhWEoO)19TgGNU9FN6 z@3tl`m+y|4v}&dEs#GiAr21=RfvCG};Cry{+r;zHuUO;%;^P0ZX?I61`HrmS;%BHQ zsbKvLU=KugNbLif_`Pc)tHn!>i`y%mjBD6v)y6FG#qW)teiIRO`{uq%?~%n=(O;;O zTfVf)9(_aNU9_?qbFrTudQJNz;1~Zb|3USJwn4H?YbTb`CwF5N8F@KY5m83GnfQ9b zw!7Yxm0>H3o9Eq9C7*eL{*7M#v6cmI$1v|%wX(QWx}b(S!LBC7@Z@nef_ ze5)Wnf7#R<3Sy^lBhNy27xE}3Jc)#@Q!as?$n3#W-d}-A#T%YhoQoQW{Y#d#qL7v5#Jsdy zzUJWw(ki>S{F?;9zG-o7gkeFv{Fc`xPmmGL&#fvc$RV;p&Uf0Xx4;~{iO!mPA@WDt z*@)i6cXrFdQT42L{;tL5<(8;;YxGS~>PVICr>Khy4@a&&K)z9@jcwKwKP-Mvem`dL zxo4n7he`qT1yPPre5p-6iXYmd)R%Qf=JD)ZLT^~Ikj{$Uy0vvVu zgKq8em7mKuMQvaCd8N+sUqI1+>$SR=^d9m`g1$zUNQdyTD(#&SHyrMaxmzaw<@M48 zWgYFe;^$%*z$KlFk_GFuw`G04vX6QwK1#Eyq*8kfM8rKPpHrugs);m3?|)P3oLitZ ztNLPh5cgOaPL{ZckpJ)sBabMjQo$W*3?Un1nY%&D%jeHT8JFiTh>DI%eEKMmS)*li zlpa16v7h{tyi)r%cyu>0HTOisroPx>+kIM=u~LVK0~}njs9ttEr^=CqWTWXdXEqem z@&)t_QA@~5?VIT!ioQkmGW;2T>5@zmWL4}1zcg3+6W$s1O5EVJw=ROtLepy_sY|SD{r`wO!dh}LO0o|&N zgFh=DNTjHF^y5!OU!VpU%FAjI3jAnO*ov875C%|!c_omlkK%5UdBHt*|QaOGaz2d@H2d^Y)*OzxLHpl>BN z(i`uOdPhsiZ`7vic0~Y5?VR%H2cx53n89CW>9Vr2bh;i`jVpKIr|BweQR!bMZ(b6E zXiMBz3m==a^uzmfwLlv8n(TTBcx5KyrGr|aw`uWTB_Vm{faC{{I+f`4&M{TiB?v7h! z)3Wnb;4b;w)TP)cxmA^|+DkT|Uon-#l9i)+ZM_c3zTU699nz>cbgxa5gxFG%s zCyvV^g2Xi52K2ASYa``Lm#(}a@_#oTx$~pnX`5At2|25a`*7h<;&ZxcaKVaiT?Od( zqu-OBkBor-z<=gN$Uhjt6cRlZ5ms#lr>fTO){*k}I`vgLt9CxkXZ|rqPF^DalAYGQ zoHaQBM9U&dqCGb4&l0eonyUxT0M*_vv`KQMKH{}i`>eXyMe~kmcTykBo7)+qo6~xN z;(^w#vx5tJ2DDW=Iw}P|pS9>r^s=a1=lmvqi1S*jYA+2JF$`Rdw!t;{O2jq2bz=`n}pc)H2E0 zDDd^)z`x)%7QC8i&!S%-HdBYIvOWeR9zQMHL|gzWJE79)EeD4H?ul~ zns>*h)Qsx(W>J~M=eo?KeY#g=-PaSx=`P{`v zR(+Th&}D#hXl9{>T!5dI6PIQrJ2JEMY!=8o4VS=wbeUCXBg(%!OOL7w@gcC;itO}3 z5EnB=_K|%Mfm9yq;7-9EMUn5|82AS9c3DJZ34Dl> z?aPXtxBU-9lclr;nr#fLI*zp}{704?FUem>XHmShaDG$=x(-&qVJHNb3$uug#HGC& zP_L_8?+3VnxOpmb7xk)EwOcEjOMXN4VX-E$6+JC|_xY?W@{O!&oiuU&XqIkI78!lX zrdx>+T_xK^?Uoa=q(^4xx>vK1UaPWS!bgcCv6-1!nYCGCaYS=WGtK~6K&HPU4yvk{ z&m&Y?2#6WDD$9Nq=dhayED1Olk-%m}>;giPfh?p@G;tQ}G|brpEpLGe8xGKM^8YT$ z(jCZ}o7hey5(g(46@!c_m2OvBA%bskg)!hL+2nW_c2nh9nYa$u#{a1!F5+degAZqA zJwAi~3o|n-@BR=7uj+t)w>CnzTA$Q`!9MWc=y*MTAS&u4nH2; z$t}aOcS&=YL@8*4vxp@Mr4TZ5QV10c+W5opPeq^O7@Z6g&ujjoMvw$$6f6bH3S_O# zpqRcFr;A**mp8%Xb2N$3k{odSa^yq_k8csD39e8^cMI)c$qpF-dS&TXs(=dKB<{uy z$&Io@RIH8#^LWbvuTx#{hyvxaa`*}(UrbA%Rp1HuWNfUM#B2m4x}pUf7>w0{0d<1x zCr~OAi&j938Cd2R6EU#BXQ`LxAP0JSw`^4OY2rbU7>YO|JyI-uPip>F_OVnjkxCSu zmC5y@5pP5x@BprX#|ZdAI*$JlfE%cZzCjF1B#aCW2me98#D~|?vf_M~}Hz#g!#NJ^C3L?*JMYhc7O!K>0PNtCo#07q;i;2$#ZzT~+L(#vYu z&;X!taH&kTRO{tKNiRdVljZo*PfVPXIHyFH7`L1bP1!_0D7h+&l=g`)(SNcsYMkVG zd67&6B0vNwEJ-hwJrfrty(yfq^fH(-LPt~y77LzdMf z09m0Nz8p0p`uVZ1M|}}pAW%paJ`^O<7Ya5E0<-KI0&RtYAns&jWRLW3MkY=l!N}gB z3uRMA>=k@Q-;S6NwRBg6WVdYWunEKdeBv+pb*(IFLa8K*m6OXQ%UOA(^!~&Yn#hPG z7P0ar@&AJNfjs8J0^<1*JtL%Xkx}!9l?py*24ooD-cTU>4{!%%V0mF8T0UO3TqBE# zi;^S?{-!mu$&(o2wdgHlcL+ud2;PYh%iht*;y+H0+&m#S;(z>&k6KbFxGQ;q{746L zL@(1Z7YrhJzCg}_ z3fWcBau6oMV6sN`A(&noV~+VfYR0hVV$VpnicKJT4+5egQ8qzQLr+CWHY73fVKG<6 zJTD3`XvJ9381x~*&eP56r`~Fw*2$?)O9lu9NBeF+L+(QqF_n(YzXJrT} zD91k87Ex>vyXUZp&%vjnA|s=xV<`MxF>KGU-SGzgACHxO7Iju&mLqEtc!weChA+lR zlE+6MV8m5gc~tzJn60u!=?ol;*9#Pcf&p8~C0ViWo8=J^8POjouCsEQs-Xf}*`yz$ z&X2ng8&t^Ok(9|6;A$~sWO2``V#F01*=y;^^bca^axmU7TtVq0zKNS7m5kaK|M?iy zM$cvBQ=>*syfA7?bc5PSq6h-u~jiC!k%RER3dC2dkI8ciz+3!;dh1K zP)j1MNU>42OHK-wrL*WgEpazpP8q2K$S5A4{#ckjG1}c2)tY&uTl`g zfsMuT@e01Klo9g#!*qf!VO)Xi6d3lnO7NnB$U10hS`S$|~>CBHAK1PVabXvwJ zqLm8eM_?_SEu8>+c!Y@*cx45OK7h#{rbRw(#1CUHOB#vBsnjWA$3KmFi10XipW-Npi*pUXC1m2jv%rr8&7+5XD+-X^0@dzkp}rYJ+xg>ET^OYl6`AX3{NJAG=XRuIg83i&Fx<2&gL87hw`B|hbQI%2`dV!2eN zmrq;%W9$XAQB-yk3~A*8dIDnPa{el&6KfgxP%hswS0Q=)mBWfj!@H(e{1bn0cu#(O zvq6oOUb#|TkQ}0hWM9C?M-ZP1u1S8Sj*0ImS`Bg`SO%-9nS122VbL1}xnoD~gjfOT z=cR%{R28)|T`LTUESF&}`WIb;e?B(qpyJ8DHdZ`!kh)4;)heNyQ|?!ja=r*u$;kzY zr$97Ww^j0|q(&|)k`vG^i1}pQj5o=X>^T|Y6sQ(cKkQU+P_EF*$I9fdpm}KC zur|RH!gA8cQloAYQ+6sMXH;kv<8FVno>3CmtyFw{61VJBM^k;MPp#}ztL2HHJTbAL zVO|@+g|cEXNiQ9qD%>WS!3h5x7i5U*zY^XFLkBNK#?>g~MR=z;3Q7razd=F8F59U9@+6HSmR64% ziw?*Ix=Z3|4vkVc=2NZmfME2&W~B)JZ}>&+fD*(1GC8NHmG{K~xX1&a@W zCu0AUu8w@?pddkhX&UfiMLv68;Jv6AB|=C$AQwBvMK- zB>F)Jg$2Z4S_L6Er&*55_9_5^^c5^kKRhh<-RClQ;zbU)%BNCm45V6_fhYIrWaLsX zuy}C+xAYhwmS&`9d;(*{BhSEd8hJEP^YMm=cH$gJWE7C>nnN}h;?sqS$5)dt&Fg2C zn0%5|Sd_g`k<28b#QfquC8dy~dosE1t}=E~*QkqLwa_rACj4q;W(F(2F3HR!hT}kn zOvWuOSZo7K1`|YO_&OQV(;e_Uqj*9fc@dst;BkqlGUl5SIir01_06w*jHb#Hw27EU z9^^sU-eheem8=kTm2yg)uTuTN z^uU}%>R_UrRgbw$G=k6wXXMeCAHG&Y&akD}pf@3d%4A?nQe_63@gNbN#leiFue?&w zmrxIeFI}%t>Lx4V;x~?dpWYar`B{|nx>gxMu0gw!lNDUPk|()DklfG8Na|u@^3KG$ zq+Db#R7X)Z;hmv~JL-I+y3_zUlR;x5%gaq%xy8g|G$`Z9k87rPO`6B%ub61Vw4X_U;C$nc0Nw^er zvS@Zm;&`CcsAD32AN?-0@paFkjP-ZMmex;!xxf~x!LcpL@knhGz8bEW!gk0nJkA4;21fE zU*LZHH`%TcuAtxhUQHVYwit*N<*X&r^ad^l&*Lw^VhcDa5G-l}i^~~{$R>EMoU`O- z$kfS4fyMLo`*>#jMKsJH{!_g%f0sI9#?*YF_`Q0iOwd5zlObSb`W1v656PIsh+pw; z;EwlD@m1aScuneY~{SYt3vAi77KH9Te@p4-C7lM7@%uuHj} zzMZd8g8UutG#2d|IU@GGVsKpe1^!fR83ref`6%L=U=k^iB(&(sI3WVn6EBT!vCZfPe&4Q!@zjqCV^zLTHR;TSpZrF)rRYOb?k7# zI9i?0o>KGp4Zg<%jGRM?%uGf}D!5E}Muv<{MjY<|IvGk%?3FQULIJGGa+Mk?6g!lH z7_G`=Vhp6EoG!Y@;IWv}Gp3z}I}&;nRVetoz;YDyL4#=*<+DIjwMC1^>LZ>g7ECCv zS4$@$!DfvbFDbff5t0X}FARK&*-dJw1jhj6O_`dMk%^|MMNhzYfa6`5{b&b?{w@(_ zf5jw5Q{xoE$!LlCo*F&L5;l1{qZoo|3Z0TwK=oZUgQufa8p~IPf6%K~pu{?0(pb_% ze0omViQWTvdKm&g7e@MrKQ=VsBW;iP-6A#If|u$|_w*=5fe*{o2KKCppjfyDQxo`$ zLT1P_GZhLA-wyQG3@=-@sL2ZipDB2<7(p=f;pwsr zg%Xdj;CYh6=l2*$`h=X`rC>P&V}UkHLHV?^KuYNzo58}{q9skVc840|mw?~(ZZ#pi zR;0#=HT?7?@@XviDSC{=RAtGRidR)UdTsg$Snvt<%5f)pLaQ7L-~1IY)NjdTH2F!gT=ANk{2Pz>64U`^ zIU0EvDDXImwZL)-9AJ@;QB#x)xpbTXnhZNkIztM9mZ}YC3yL%1U$z0PLu!L*Kk}7m zEfH$rMl=UT%MG`H!lios@h~84m zb%99q%Lv|srj<-h-dLM8)dij8}c_`#$YP6 zj2^>Bc)EPp$ApI5SS`y0ugft1H(q71EE4QNm(T=qh+2F6<|`B%^7CgX^Wh14 zIX}NrGPji6jGrc_P;>@8kBnw7CJF_4ayjHQ%B!@3dIiqHimCU|9?&}0w~3Fb?eiuVqQhGa4&A3l~|VB2XyD3?(`m`JS>SMbu2pKr+* zR-#XN{ar1CH#9BsC~%p&2K&Sdl9T&2i6oLOPnWZt5~-DPoeYjm#)%S{9Mw{pXabkX z$Tc#Yk)g`W)F^kTqwp^uXG%HzH1#X1hydFzWYBBT_(C&_=u{hjWV1_Iw4WHd$3_C>JM|CPu)dLd#>sOE3!v<@i(~`4cstUXzJ75p&4Lm{{d7pq1n<#rxqZ^1x?Q zFGf@Ou9*m5oe(((|AtBI7SRUbfbiW?coCD}J!BEU^TJPLyfzZp2{2SIM^o)eRxKdf z(}}apT)vJig^2?AGF+v^uP|~FG%1wm(2v8Z71Cs4CUW3cGGrxuSw%?#)DHgEm#B4y zVMI2(PbXWp3Ll8eN)ibk{Q5X1aR5M@U1zXR;yUueNYQ*0srVg#E}ax9QNXitN@a^& zPQDnGFPwx+u#7WUY}!ZI@-Kd~SWU*7v3#$Z_~->PXlYBTyT^{oJR7i;%~(^9V}L>3k_4m zFU0Z0dX2VxN=c6B#_5wL$4)H6S2zPVEi4OsGx}AMCz5(C?9w;tIK$KV@%b>qD zj42S$p=43;KQ=&o8w{4+jJEN4v-+40F>6)Z0XJbj}Jd5j@i z{E|YpR6LTCE7Xskw4ph|XAyXs=N-BaP3op=v7eD69Apj8j1+g8Oz3kZnMe%2N*u&5 z>j6dgQhzGYSO3u?~(gVMJm@Oiiqp*NrDw^>D4CQ24g6%+nMLAbHWa% z#e)90k8TKl#yzZoCx-z8rg(w|2HodsL`_vjDl!T2txUmK1s@$$vT}&HpyuaNz1wn$ zMV!tA#546KG0aDoUIJG{FA&cYk~Vn;n7)`!5nNH2Y8BEHN*iS{yd`1}-n2?aK2H8FBhU+ST>YWYj)eK3BykQH z&B-z{G87u6_*y3QYzC^s^##dvA7q>)x@)u8X}x7Md6q84Q>3i)?rrfs-e2f{3C zPe$J}1|eK6Jl;%dM$pUPZ^GedlA&sdIwD)1yqrlC{|-N;Cg46LJiwU5f7Ab{(LVUX zqiMcrF`yHan3c)cX>v&>9)U+H@i^-IF5(SYav{8mCZUlA72pMqkwxP-rz`W7nV>F% z(&M|=8H`Epru@tQ;tU()n@GNiwtgIn=5nH+p(Qu1~QlVut?S&rXEPiYh)?8R?q zMABLffBLUW1H^8u`yVwrLdLh_6j=t|T%qPuKaRdDx^JpCD8XT|Or|B*%QJ^F!ja32(x_PiY42$_MXh zP0zsnKPsSB@GP7R;w7w7{t+mJi}5g^Qs?J`hx`E;C9y%V;n;HgHF}Gci*aDNDslPp z<%u#GQ!d<80jpR4;dh8Xafh0oDbHj7$L{X>1Kl@CA}Qu3<0Gx3xpS(ZV4ioE%1Z~jhY zJOp4Aot~_;qg!rJ0YF6`>*N_Cf=L#BycDj3yTC)nAcz5SIoN%>lS2cZV@!Mcg`Q?tP#JYm=oi@`uw(%qlo9yfRp>9iT>k~heo$g_AR z_(G1^(bD2S;YPA2dAYdu9odE<^1gvl7b*L}C4}{Cas&}F*gv-!uwJ3A(h&naXo}8_ zooK4obVr0*1*bqX!_RIVz8y{Wz-JUDYNUOe2~@FFG4?7n{64jcnuyj|EJ{YUB_=wJ z_{LUh_Yt;nFbE5DQ^n!_B#&a130&~C8s2SKrfw|;QJH3fy zvch1eUl_5X&ID2E5 z&pLqfv>U6$mMZZPeu%H1l}YH!f;I(8Wew^$@@=%2dJfkR2k;R#K?(TQqlI$8=Nvz) zg}f{2xkM~C*_>MUvXLgZX^!v@d^{s2XMR31^W`%c9|AExIGgxG&==7jb5wj?qvU|1 zK-mkh=>{%liK8q|;iuMX+3RMV7^EsRS}<&wKofBdEs1#9kZNO`A{2|2c9^;y_!%dz zvY5~c4ptf1D#jjhx2g)ph#iWI4B2^BPQsH4EHy=4CT7A9X&d|iGmHhCG8C!BQ8v*p zZ1SK6CnxVpq?NWcPMgUfgH=KiWy?StlnjoNqUo8pGLT)Zrizt{!dY^hN!O`q@fWCk zPzS_!0an@Vrwojo7WLyUjqE(FRO3}P^rjl$rb4V8p?1bieFm4Az-O$CT1xfz$&z(4 z(3GsUoCJQ>si#JRw=8y!tOd(i zh5JbJN$El+ktR;@#v*$lh};DmSy^GC^*7s%l(NR-1jOd3#4 znpHex@gbFtp8h;>1b%V3Y`Kj7Wt9o7fxnv6;IDM-I6#P}YLaRCanh|FNEFaQrNwTs z4eD_U<7DiNvl`gpV{ZJR4vnt6R7Y>uSP1y0)1AP0bxw&LzJb*@=o}|lP2i1ooAz_d zZ1Tf=UZf*t0OA37h?;~DkEScpkLc&^$S+GySEp})zYkQI@Tb7W*daeW(EglLBFWo!iZMz1~*Ft92Ivu#Q-@h7RAtXI3G?uVI&8PWYWylGq_?0o5%-#e|FVW*CIfmq|EfBl zwu(#9DY=48kpBx_sH=me(TAV~wTO-oKZ>8DN^p(z&+k#U_&XLmgqhT`{CD9CGA5BA zmo62|j0CS1%VOa$e1-lK-)V84eD4YCEV?Fqk|&y z54%nHFVkia<1JNK1^==;^YmT>-ebK2{NdcXI${&!o-EX$?-6p^;a{{4o)+GR{}8pk z`D#`vAr31QTj`r1qCnXR2;q%Z);)q03WL&4wfrG}ffJR5Y95R}!!>f^r3`t#0X5zc zQ7PC&moqXZnJeO|3fBxf;duzKPs%E{}FD1f>LN=+&XU_(dxxTIxhfQDvI4Z zy%F#b6jTktdsTK@6^}Ft{7`wxR`?}ZrUI=RFX46qW~>&fbk1R<6?_3Uen+3QfZZl= zgvIlO_rVQNL;O*oz5&Q7!f(+fLUgP1|L0$k81y+ zU9eI^TNy9w-iF|pTJHp#30w=1C(AALPm%kmU+SE5oi=I`;~a&<=xLw$EcU?Tz(BnY z8yNK<0fJl91?88)TO@VI#=8iftVMW`Uxn!!xhO+^O9mdu9L@qe zJHPazD$y^c=pcL78;QQhVY}1qU4VYEnRIF)48zTl)PB}0#Es(5hytAF=Uw$P2JWZ+ z0$6L{CF)<8Ybh_V-$($lGMT~vexR=0N6#W1ep;i(N@cHHzDp(*zaq=nibbT*Zr53W z`1Kn=A|qzX;KT{Z$* znQJ2;YqK%%TkL)oozgi0VxobcDtn0Ti>~qlUEsc|2T{}$CZU#o41d557-)Rs(Nj8k zf3XY;66BA`)JasbR{WD`LGm<5(xCX+?c^gc8i z^lgxDxF}x^M~+=iJ+VQ)P=PVI41I;x5C`jsZ&zZcTQ5rU5{e=s`_67qh_s}Y=RN87 z_$N?qC%&^=K$yL&rr;_1C&szUeO>DmqH__)orUg(UNDZNVfqRb#5ua)Yf3z5AK?D^tWtKC3dQzc^OOQ#|kYNAb1M3d|Qf z`I6~M6`V=NkxPjbrB=;Bo~(IvU=w&**Lo4$LNB;YW@x=%;$+rMj1%j$c4-x;K<^U! zdxV8rCs_xMTFR&Kr9gzhX+Ia+5iPTuY23cR-fD+8Gctl=@WLV*NCTY{2T z21N$yBXmEL|6vz)Wvcnpx1Xo0>~zQiq{uSf##iJ>Y9Dn2iM~Bp!BxY4H6w`N&m{}J=Iz(Hi{OXAyW1U#Bm>Z3M?I*gid9*l z$)qzxA*Cx;y%wLM;0x;M;)m1*dLL{@-Iu9icxBwn!(Sy+ z3+n!n0zPZ80ap{dfNs2;H_lP?H1cKor{AFw&Lij9k*Z2-PvtqpCfoyN*(v=Ek+BNt z2>J{k_V-BomI7a6l2Ia;oXkElbM~&B#_<5E)!M2{n0|?M7vqE?=Qa#pvum8#4XM1H zZcOrLE(Vr+796tU(-ziLm}k(M;Go7ZTaYmVEFk9--`Z^G2_S>2-$4OAj-HrFkLTIx zzVHp{Ok#|VpYXah1**S*0Pk7)=sWq#*bJDdWG<@X@Ikc!98*{QK>dvjq?oZ|Ugieu zB*jyk)P@^C7SAH8M>yBa`mjz}tWU{RJbb5{T$+i?WAq2`(Yu2KXV>4|DXxwBvEF2S#=3d;ZL2gFjaTgm22?h8-D1?WkGTq7GR zRG>|Gj}70amBibkPn+l*i=8K0C}yr&q%mJn1;jfxjeQ%Y@>r9=kdIdk;Y0j*L%D)U zP_qWsM2pX$e|5VI5p)HbOt=8Wsvd1}X>0&>S21oHJ|=ptkhz#t zNbonB`VZj}?%sum^d?}i>rAj5oDfi9x5{hhzjPPjzaEf4j71tA=$WSs8p%yU+{@s9 zfOxu10`!MkFVrqg8w}QFjT0NbrGWuFZlB8oQXt02$i_8+h*I1AzW~J2pJ3QNtEW(Wh0D z`SfFIt>KOkn*c?8{{7z|jHa#^~JOJ15>oJc3jJ!(Q{V=Vw1rN0tu$s8N_f+)~fB(v$`5-BpVb`hE{ zZXZHcS7e0z^HDi#fw+x9h3|sQIFUCi|Mn>TFOZ+7;mD{kEvE7lP zC=`eGyWJM~cKGNe51GRQ>+l>DYQKR@I|4m&h2%|(u)!axWtZr7vo=l0RMs6XaUPlRb=5)21>YX z3x1o1QPjMz(Tig0FCKo^+VMrA3IFcqfo+8Jn)@L-FWsij=j$|6l_}3CkoN=p-4MRu z=7DLfMcJ!R$YnApl_g(BPm*zXKbT0>*6ExYfCi+L5lkJ0*eLY;dm+voxu2pAy1bm zA>(9nCB139&B=Hr_yXz>FU~8s=#X1u(h8g>>CagcLpNcS#nQ^ygy=F^gKBl|>!jC7 zZzn^9T0I2rspYo-?RE|cZrZi(7~bbs!oL&>QX(g%axjJ?l4VM}v($Y@EIdNYN4FTK z#(rnGs1Cdi{mj3}nY9$%7My|*=+2I}wkfj!?2?Mwb z#!#?ArBGX(8aE^_(~MIJN{C(J-C!z~+!4W@)Er8nmq{|X3?7P=nfY03^3{edS}LO) zo!5an2JFD&Nes+dt`&M)7#=Xk@A8guDo_a(D=cqBd#SH7lm-j_qxCxL#W)>3TWq5S z>TK9h=hWKbP7^<&!;$TfwUEyh+KMm=V+jp@Cy%2RX23!MnL1zo{~J(1UMLgFIfc^V zb{mxHPT+wi7{=g#>Flgzu?&vj@gaxk*+dF1dg&N}%^-@rWdLT{Eqz*{k)6_Hh%%8_ z_>OuDx7z@CSB@~q1vb8I%t zK)DHwDaiU8(1WtbNWQ(Evp8)^A|zMhUIX-3ZK;a+LsX_v8>*!Je|W|B1>Z=ijc%u* zi@LcK-L@1$Mj_guPol5=VIX zB6*K(y(XqUwP7FO&^ZatZnK!SsIzY60b(&FVdW!W?RkQepB=-pFupX!n zxIt`b>nQ4dw8M5$osZt&FX0%4d{qW@go=Jl4W`*qQ4e^_Y2$;e+vaou+)C!Qw6xG4 zyT`Y*Xx(B;2Xlo>2X~_dUR`Tsi!;e&vx9u}yQB<(d{u$_0hp4Ng*xQ<=sVu~$nlwy zpFDzXNMO|(18oAAh}pb;yo9qN1LUd5pA5rMw?QrVRZTVXGd1B8p(F#P z5kE5q5+1q{I~L*fT9nPUl6fauPkoeXaKVe0+}Y%U)K=Dkh?{`T4ENd;?0N z{)GL>$?n8t;+DYrP-AK{x|NZE>PE;js1ac*27bTv;$ua{lpaiDnk`|8R=R{na zuO2Wt;TT=(D7T>`KVL2*)&hvt&bu}f*el*!)yk$`hx0M|iUu9fv`eO|w5=m8>imr42QnZ*{FSkI z?f1cW_&vH(?7jz>MJ6fu3C3Uw)>)81^=Pw(bk^a0T-{DP;M-3#4>l3qtR=Dvw&M3( z^d0`tiik}7nmkV~lcO)>nMzPHUYV~^#({-o9bR8fJ|F!QbAlE=4`0we1VvyI>qTyF z3#Vy~^V;Rf$-fE|#4#J}1+A<_@)y1UNR$L*eB_V=85u;THWANByq;*-f#h%;_9|2| znI>aeW+wJ-1^*L1&nHiQCj94Tcpm}4SZu>f^zH=SrcI(MI1-LN=f+>@ksVQA+C@FI z(P=T5kb!ZFp%XPmP$#Gpz>H3+G>`m58A-3tM@#Ul!mX?!Mhz1`L$9i#gNH#o@!9yY z)+leQ)I^TP4-d4WsS!>C>Vbb{ngvIB=B^^fz@wJqG2knU=ydEB_<%`P!9?B(2?P23 znjNjO6M^{ExN{H)(AV>;$S+!Xq7l%N z-F@Cxy%)N)&fyz*2vriXas&O<5By3DV4v1LT41Xyvw*)`I63n-K2A zd%(G^;1g{0dP`cLAt)anf=(PDAl^sZX>HxuVmIZJ{TZ2X^>(Vt@@Q{)lvsP%21n7) z8OYBSxI15^%#`!#DZsA}p%>LA?~c~tZY)m}yn#|syYNNa3wl15@Ys1sRI0U6;Ir-6 z$YUT0MI;!C`jYVu^w=Co{v zB%Y;avWX*-cPi)vlYvZ!E9j@~_bkMJT2Rg-9xHWf?NQM;5Cos0KiqXJJfUgjztC`Q z;M~dML)U0mRRC$CwADMvVsmk;)az9LhGr<_)C}?!CYfjghm{Ie83EQCcALm+ z#P9F~fZw7{X24CrK_{PaAk|&yB?TNhD?p|u;;xgYV+{;b^YF)ft+DnvxDKXW$){t% z|KM|^l#x^0lvL1CrL)YVXLaH+3WYE-873qvVokQlCFnIT`MUTW@vJa@Ts+lgBOjm- zMW*}o3*Z`@%GjdnY=6-g1P{?ZBq*r61I|%GvK1dBrBzJpCQN_36I5E%3OI*T5|89V zu1S?e$rbb|@idFj-_LrB(7&y%8t=zK(XYZm`ck2n5dM3fj~{qz4-l~KdjeEoCx5ju zb~FUnJqiJxdTigLjZO4YMka42qA22X_%n>7Uj|L!)&EgPu`!w!ZWQ&`+QBeM73`fEUoBh$NU2d=2E%s}@ z@vW_`Ub-E3NYA!aw9OA0WaEY9An28i^;%nYRX_xtJQ{o z!D4Yfed`hId-M6~FpS0btNsItCVWq=&d<;9SLSEp+cKFfkxNWev@$0~wsI#dvczPW zJR_ZF06bu#`%U=%8XG@}qrhV}qU?f&et>^;)`7|H7OthvS;x8wCub`!FE7|~pRY+f z51KgWb#sh&Pb+0pDpiV1B`@I^?CCQwN(3?(gQ(Y3Rb{t>BW~}9ExW-;kvQOW)93pb zudoHTd!0_6RQa3)7Ur&r1l3@&&JDeNyfp!QQsYki4k9P`#zOQ}5qnGzY=Tn3hiWA+ zs;LTvA|GUc6az^4NAhLV2TJgXGLy~VCd-l&H?*EOF$6#J=F5_kWinl++8|s=Sc!dt znNa0)vNqn0fknkQW9&Bm!~O6O)Dy6!&SKb7a4L(06k*3f)_cCVl>+?1OBo9{!tS&g z6bj`&B`Jq9c}af_7BXVXaKT?r+$uf~w^D#?g>)2vR3sfD>WEXLN47kAX%5<8BKZ0~ z?x+6+`)sTe*pIVdwh$oPMbX9HyJEX&7Mx?@SKBE*ttgTgO;*W4wOVh0CQ}k)cn;*i zR5CRKe#Be2Om2uw@~Vr8ybQ9}hTahzmQ2G#z-}+L0lU`LPdaVjUMtf=4B^)DtOCV={+Q{S7V%94LF@0V)pC^md`An=5gABAjn!E*Pq5WIQ4DuI^o!~D9RPkwYqKJ>R zqk{}F+O6fYKjMNHO+!!A)xk2G{ivj{Y%O7#s51 zZ8nXC7QL^&WB~6nd}-a&n(m14J@P~NhMdo!ThEGD8*K1_Nv))LQ-i%kNlb;%579$3 z3`}v_>^p6O+eAGt0lk}9y+oWuBofI9`K+2zMw5REXMN+W z0@r;MO1IMGh-{tfk5%840-Qfm^;6HFCfcmzNA9WwhXWxkqJ zC}B4&WYaCY&sLITy&FFLGC@6o*045;ya)Zg+7`;&f~MJQ;|olqAc?*~--7x%c!vdi zs51?xJ0tJkCzC|~k+UB?Xcopr*Fk3y5{dXFv>1Ndr?U`t;#{GPI7yszGIbbX8DnW> zOcO;fN)6)sZi8Je+hBp5Q+(b~Ve_)BFQKQg%npdhh!-de87+`JdO?ebxlbREyh(g! z;!)snpYR5}NuMKc;1YCMuDFtq9>SNziS$=a)(uCCVuexSU3dp*AdW%M%e2s~t>8!7 zBlp@uLFjg$fAmc3fKz#N(^>fHI<;071Hak898iw!zC6h>}8>+Z1N~J=^B*$a9 znw||mm1L0L5i{^V380Q~$2-xhuwxvqZE?F>&?>4BOx?sp+($5Thk>Hg7l6H5i@;__ ztB9j2-jR9cpvk*O=(BvZz#kyQEgW{+_zBMx--HZ0B@%vYvs8I4mMX>qfQjCU2EaPI zg|U@u zB@!I688XSMk*(KSsC}&{QrM^Ye@Jml;UsY;*$7cdYms++w1=t!f7z~7QU8G#uqbkw z#wNULv7r@^Ew|`x>UjJn^`&?zT8tJ8x4Jo<7poH!6Im|#=|}mQktxmJVk!r}k?)h6 z$yGk|7MzKK(1Q<(4`@%|@h#X)dgeYDp@K!LbkMatm4!a2r7(jcB z0SD<;!+p?3rXs7}qP0bQM7@RPp|>f6#tnd2waXjlRwO2ZEq!vCEE(o2^3`6O*UhIQ z+U1mEqKvVLi8Xb&{5E}nIY9`jnG-^Rz{*3}uTne}G}Div2fOfFtSO2`h!C@_klM`5GhE9`S-$`avcy!~^G zOr+dmscYHh2D_Yfj4f8Y^9}Ge{VLuC_MZUX0`Tp}0$@d7;tIAEQ*WQwyN3(b*@<21 z^qYJjowb1!n^RZf)_O(c@AM7KX->6()}8n-_;*VkSK$5=uzbE>XIe%4a@O0Ox(YkX z>n->NiM+EktpqXBt^uKlQ>WBg!%nP$nHJmpa$H}|TH=XB(DWC0ojgzM6+YqBwLW!$ zuegyBPBoD)mk%hFXd~~OcK6+uI>9TEI~X@r_l>)S7y+*E;SH;Yy&|Xv7RmtYp_%+! z2XguuH-;etV-jfbT#E&)#wsiZfaSb^A3oUPy{1K7rQkojr=YI)Wq>jP|B0jEzu@LC zRKFb@12fS4DvgE1yyjGCoS@I9wM4|n84O#RfP{JU-!Xw#lfZ)oYl|n|!yo(#Lxj!_ zyNTOg?+&hYhj*k&A(L&C@d%DH75V7L`*Mqh1wDz6@`c??% zv`S{vi$wp>x3v~6_#Gvunizusk0gX@5Pb*3@5pcQv~qp`UnapcFo{oDAw;M9ioE=R z1mFaJVOeivi`$T2n-9kk0(hG>5o4kz;4M-;svutn-$fERaF$;r5iXI4`QL&wTU*n$ zEd=^~Jh7wYA-N8pYHckz(Fg{ZR_uTD+(PnDc%HXU z3u7v@6nMel!2Smat<#6gQ8)5h3jd+uoID~%zN4(x=3Sk0lMe`znf!N78 zZ9KD^OvMUI1fB_Q;E6o^Xb$Y78u;47rQ#jz26R>8YGq)0>uxyzmJZHmPJsN@mJ@SZ zzY-&D3rTLq+r2I76MTHp+wm^q1)W!jJ|)Xx1v3PGHu2HTnxZd*)AV9Mh>8HIH3)B- zY#_cI9xrEYscaqL25*6MGSXU93TlY8v0w|y;_G$uz?;Ibn{`Hunu(|Wq$~v6@(rBN zo}m7Yc}gd!p_X}1Xj=LnZP|;G)h8P60!%!G=h*CZ>)-*+T6xS@1h}za2#OF^^taFx5HPS3nV9s3f8aiHN5dNdG2zf$@TW@d1m4>9tW7 zo1HpX~9>sqprCR!1*jBp5%eL&Ceu8anLVt=PHxiQ)TD~}O3`FAn=G z+u0iB_O>|f@G$B?XNj9yi<2h~yST*7@ct;TlMJt`Yr&giM0aNskBO|pSe{5wJep~u z{yIs2*CHUM5mQ^aFHW2QeDB+@F_>Sb{rE+uDykdb6&x}dOgPzO+4!jRaYBS0wR`Qn z&Dd?Q#Zpnk(+ov?iOw>d4cFQ0+?u)v6kZP|@LUt^&GR~K6uZT+1y){Tk&(r3V|jVG zE>RNOsXz)Kb`Sf)S-!;!*!HHIv`vfI;zqM75 zsRj}GAB(@+0kjQkKt6zX#|-Bva1`iH{{T1rkAM;2FyM+$!!xI~XApP# z%xUHf+m5+2?Pty$24g{gB`A`f2knJtDkSY^+S}=e__ucMOeKf~-vIq>`h3wDLV)(P zf3p!x0tZ3l@H4pQPvY^Yr_P)aJaJ}sdmcD*5T7xF9k^|q4!7+%y{nxP5L`R|Tf;#) z_~{Ul(k>zh2|lym3#7mVs&LzvL-eohXG|at>~jMvZrj~1h+5AdbT5bjMo|4XZYvY4 zAfOS90(oWNJKR><9x1SP2-XWcWx!zo2Y0tW5RX`ouQToN%$YR?5DoT#g9hoZ{0A;N zvj>a=!*&Y}?g0r*luLq%vG(s_M-G9jaIhFW1&$XXl0m{@Vgb;!r|&uyF#bsmNgPO?kh2TY? z1G_~NXGDA(^(BK6z^{A%jwxkf8NPHz2j+}HKcKg@?b4C=qQ0a`=9|dHyW6AB5y!`6 z58j}?K0LSbse4Q7}dYM9esf)$c!#8UBRFaWsIEO-pC zzzYyd=<4ZWaTS68IjuXh=QK549EX0#A!Zlu zW`ISQO1=R=`#Cb=TrnK{QhZW(<`RQ*7*IvtX>b1;$F}1WktL#iI^yb%i>C>?^^8t9 zQFDg-0=x#k0EO)^2FJem6+M$O(BBcGBL4i9et;I9p|`*a%^7VITG)P0*Zu`O@x^?A zXPz^*6T~|4OO?pbu~Yn;;P`23UuOf;0bro$H2vKdy+8)kfau%PKAq}lZzsnV(sLz> z-{ItV2YppaOh0p`gX`$%?C9+5>_Lbr@t$T`c*@>k2(YI3-^;r zF>eXC^`AMjlW0Fv0J5c^06Z!DWa`-HPa~T0W3+<*#ct8JvmJ2#Bs6=RFiE%sCY>Gj z5WfBfUIW7PP~`e`=p!=1pT~A!@>8ZGX5575M8)Jbx*R|3m`Z*faqtyUedG${L7q`7 zgx_H5L>_yF0O9ub0u)b(5YiG|;8DJT?umB{Xj}RW)U)Wg)$sHZAeXxTVu5T~wfStcUJa+QrarN;}bTDVO z!}aa#=>o72ebl?7^Q(>`w4k&dJ_(6RJXzQYROgw_eI4)|rsiYx-MOOnXJR+S zN0-u*CgA9#(Nh^wA~AW53TQfo=Q}$=Z~<{*XNR^^BHSMN>AG_r8uC~4I@3uMJ0`3g zW15;4U)XU@FyV_+rxyV;g@q$@9c7pt&|s%j^!=Esv+-;vCZbtzZuH}DaF9U@zBs)c z?C!h}F$P5}g=Y~i?0k(PPs86BT!Se|{Fq&$6(ya~BjUhfQP!C?>eFukOufkn^8P0B z#UrBW3!UJsA)ynUYd@n!SIIBuN%Qfzv!$Ief~bi7Tj`yIr+^O)ggl#cAWsi}KF|rk z)omnVJ3G7hQ?ZnEm^!8L@#1B`Q!sFP3ch}{lWiB?ru)0PI#H^nGvdA^dUy*ZEC7X_ zgh|j=g+?*$pc75*Do2y4H;kQ>D3zK*ED%&_It#!edXXUSi^!aB(KBQbH3{#aRC+_F zM5ID*oTox4x@#*s1ftJ(GFgOz?bZXY@0Z{t&gH6K6&BvC-&_moJG6#8Re9I+=|vJ|`Ld zM>kro#`DyG{<3pyd?R%tE>*YQiFv}hXJ6&Xv6zd_=!P)fQQypIov z;jNz~;e^hgHJ$P2#gSt^W22JsOVP1v(N<{=)vfy-T@uWvQZ?w3woCkjn4*V3h8lc~ z4@~t%t)~YB*~EvBe-@d-bX^%Ha!1}8b&JkrxSPUl%I=dfq;h|yAcB{b} z@Z%SBMbz_>TIoOW1x(lbNH``c#y|Xa=Xv_?+3*?R)8x}kS48xa5!0u4@96qMIPbCX z%;amtbHCCrj;G5|igZK#NI^zEY=_UI?rv=tg3t6Dx-j|77a#+~GvIO2@=H;jadGh@ z?+dS!&toyu9o5zSD?9}rc7qH`cz%D^gW(Y+&%WB#b>R!}vJ3(8Po^stouE73rk}ta zBH{T$;T^5;)+glc5fe+EUA()CK(l+hyBP2c0fOL!4ay`brei$50I z{xkh~Uw3gA9V_nqw)?@z#Kppr?h7nfD&-4oxO8FMc=1^(u2tJ506(LRXd~Nwhd|Gv z8XVu%wWE7b^5o)u-5S0Uby^TZ9;b$(52J3KuZcTGUhm|u2|!0BLzBhbT?e~~p6(;~ zwicx0T1XX)r8~PW;rt1EBcsK6^p0(q-pzLH?2Z)QJ~`$|ZFkg^C+NNl+60ivS9P4| zF!~@aa*BBOC0r(g$BB_>_NlJI?zrckkUUw~eP_(lEp#7!TgP`7R|s_7pi9&JaV))C za9FUYyQd5HU1xg4BNB0+rbpNm*V)sp?GcQ4a?i$|LhuTx#TW4HKN$R{q)R;JN>4X? zwPyseWI}t~H$B}|To33j1kZw^X@I^+Gzv!yiyrsfXZLnOY=g6lz$|dR7*OO4e4FjI za6PcQgK0;dTz7AA57piE|E<=g>xsHN*z=5`rx;8GdJa_gfG%x2zRuSjxP-QMXxsa# zj&7l$v_}uP8DIxE+ygHUL6@YXqrIb}YY2YX)y}6<`|yD??QlkKPw(a4PH5=8JnYU6 zJa#9j02d8CanBgY+dW)Q7t1#i)!xsyEY@h+=`-8fsi)ez*vk>*m-jA@H0;Dvz_b`%_+P*h{-Q^fyJN%v<$xp zZwP-Mw-?^(W$s?a@HSMzjt=&2I|*y?=WHkFP?fZU9?fMc;!m!Jxm*I~fKnBJ7kf)C ziz2=pLTfK~YTKC(asln_>SnqyAd&MLCOb94Myj&ta;XcTEoev739o8~ksQV&!k?A43FLqtv zE_AXTsI&7dr|U!=?VZf!2PDXaU0;H^z&Hqy?s8A@W!Uo~M%2e6=nWSx0xPuqO?=Wt z-N#91wVkw!9%#o&Y`YPk*~y}UPZza^hNM>_eJsFNEwD-pns?fzzVLiT^#5%gXeg`d5As8 z2|L=^&PWy<0ats79AJko_(jiMrW@CRZ!UIUILLv=c{|dz3+74J0h^|W?nV#b`6I}I z_*)jhpyq<=8!!b_0tPlV(Th5}*&YPDb%ULvdOip)U%4`bMpS|c;5!hLMVvb)zD2!E z_5G|te+-erM^bhK5FKzDbxJ_rJ5SGHI)|ts-sGZy6P$YVgNn&xbpKIs%m-e9@b2^% zRpY^T;bFn>I@?z;3J zc*+tc16;BsH{&ft%N$11`vP6zwLka(RHER?pH ziHniV!Ddo2OtSNC&?AV(KOYFs0Y&@3ar!4laGWS0wwDY9F&WJ^gCN5-Gd|etW177% z*sKjUNq^zE@cwWLFovZ+41-aN1$iaGVZ)@yINvd!@0iPFB^ z8+!!Np`BqQ?$n3JuLNI)BjXN5oh80#BFW;Qws{yVs^@(5^{)DQheK84a=98BT(HN> zIDm^kcw%s%*#*A~21~+}I~amP!JrX$^(BPg1%_~Z{9o~>wo9^t;i4dHhRFku`{2*@ zE~~@AIT{)o{0(h2Tqxl8hXWoL=kfVGu6nC=jicV>^TEirxP?PP{^Ky=Y_R8>@NmiE z3GLFbF7gTTA>4;vU>%b@EsplBSQ!Z<; zx6R}6IK&aIaGT$ZU=#fbjtU1je=zI{xN2RhdY8lJ3!WBCzb)iK!BTK9^hY=;3+#+t zIQ;YYY8_nC&-h-1-8D5X&v<{p<99(0(}?Q}x@sNdpvd(g26tY&*ef7 zgYDr>f+%YUtbQNt5dHj5eD(NcTA0lG;_C0!i|X1i^!VBW1O5PbImiUY`G)A9U9PYz z81itQkU!)IghRb9e>fNr-)la9F-*{=&@TGm^>F-JpojTU!sgL-!Ng+-MhhOVcNoP# z`M3E|VjvLk`N6ca5;u!HMgKMg><)j(kB}cM()IeLcw9bQ{%?@c015sSIuq7%K={i|HIZkcD=f~mRgRM z`Dz{S!Z-)N@Cla(nDS9PzK7C+4PlIllCUmBgOfN~_+ls_crW}BD1;9qe=E~St`!b@ zGZJRN2!FrB>>w-w#zk;GSABIgYaPLvt=8&lv$f`3Jl^H1^??H+s4Z!5g;+dD8t92f zhTxGf6Dn(iA#WQK(uEQF?Vp6O7U;sU@wV~R=YwGu|2P+wxauA7EchOW!GWd#EOYhO zTdUFPva+&@A*9gf<`|7uqsnNu*4FcjdB3;8QQ6=LAxxhS20S9scR&#eacv=OTf~q4 zAO8jWfAmD|FY=={RmjhT{tK6&X@Ag?XyO-AvRxC5z1kcEJJ74}9ao@cpvD2}n;0MK z;-=PG&DGTvJGk63y|K(})Hj$_+0+fQ75-bluGY~&9>&HHL#c0*TbrA|MR9D~=!a-8 z{-D9b&+resa9=}1EuM@g)6=yB9t8HYp?|}B&H^np9(+p2A1w?%5DjmIk2C)1;lP~$ z6u~&W&gH7M4pEsqva^h(^**lDY&EY=$;x%B^wdU|%LC=E1jYkh9)==?hW_T@K@`Wd zQ9lmRV;X*79JsQQb2y4Bft9V~D2L-a#}5szeys&sME%rGApg8|SO z3Tb|T4QM5j9N=%@F6M5V5Rb-_9F9r{$5ayg_L=t9+PnOnkWlaE^SgHV>h2d-X zavl>DP43kMSB_3^BCq>BzCaUkr2cy_P4tvr5S5(`zbNaqT1!`_p!um;TxwR%mPfPp zxwRS>`yHV$c;=ML6KW9m(&pgqfiS>TG5#Mt4MSjgW#zWC*)wM@fWf!kvLuZ_C6MZy zxo}k}$g)<}ZgPzKhCsE!;8{59m?+XEsuJu7V<5~!&nTJ4x zd52!VBRAWVi~dQ?&NBjM4wsU$dUaOz>bzdPN?&FcM|eU?{1#scpeN`Z57y{bHYSsB#U*7mtPMkD=vI2Lq4fIclElr8=zx1pa??nRD(7c6LY5CA-WK}6acA=3&B`s zN5582k)zDjR+cM!B5y+$ADIJrS%^zrotm1>srW*2xg6$_8c%}}$Ag{Vsb-b0-W4nk zM+wT`6~B->d*(v)g@$l&C5yn^or{=d{bcGgG=3$U%Fa!T6?kW+mXd18FjZTK;WP9i zn08Ep{A2zo4rUCib|tvl+B|K3=pxd%dRKMzL2KELH1GkgN(F25*pvrn4`zYSv(od- zS*ct~YHCha+Uis;yR6L2!&oq(fgifs1{{v~X9$^ty0A3V_TxiPL41?DaAwllw}wQ~ zUoO%CcF_}emoB9y#GG4}nwpxsG7Ug7fA-8YynL(V1iiW^Tn8x0?cZZJ;Vtp1(YVkP z3Y_wXn*3BY`lz~ou$q3lY)4)mo4su&c3bu7S$UM2v*s;MDO07czL>TePRLb>8|z&I zwE-|H>< zt_HG*?m*cv20u*>)0LI&fFYEN^5En8fs`!xyxzPeHHBNDGOKb_dgFg^o)JE7uCMkr z+kN4h5Iz$EW9Z(X&sXoGsgU>~n2hMkRWlc^eQS^f&mRWVvZYIhsPSwnlNOb}#{I%I^j{GN}3S9^v0Ax^$^@NEv&(&L}o6W8o#Hip5xSy9MGmdox!~T%UBm@FP-(er6ZtCD7<_8RxqR5nQZ&xP~K0X+;qlIL|> zo{L-wEg`?B4dk2Qc%FByqEEr@y#LVtYCJbPTcy%-eClSa7`=GFTn1`XSy|btUZa_@ zJ^?S5m2o_Ggu;GDL$9%cS5Xo*x&{y73ZILovQ+~!R*Ban6)pM^G%(ACfvc&hs59-< zs(CX@hm~Wk2^{R06P^>(ef)^F^s zQKjbY0P?&Yy=B&VM=fH~n9s8?@g9@&TpIYOH!VkHt;bK8%T%hInl`^*1^?F@=EL4k za^WBss;xcbs&-ZOR$3P>`~XxGF1j89@no^2I%!o}%ZwbNK`?>%amo`#!QBbeed-rt zet`H5?J{yTt{R8K6E^o}&6&;whm9qHA^QaF1R zUdu-MD^7vo%Mt{K347YMSz~2q!e0SW^rup6C<+RNO1~eyvylzF?ZOUMEl7L_dhlPN zVAx@Fs2nv`2S1V^iw7j0$#YAsT&mt&mY18W>VaQp8!H{)a+#h}nXRsH^wJqGr%A?O=5%-uydM?X7}f{>hxa#l;FyPK zA{G5eD_wz|LHt`NfLGvDp!f6}9adOv%*xRZWUWTC%&t8DqrhC7qkm*Ae5yM9E>&4V zp37S655mc$c7R`xjn%xB8n-Q^(aN;KMQ2goy`@CeB5-8Ys+noi&6PDj2>&{TpPck% ze_?PWp5x+$g7Z`cngafS|EkXgUc<|wi}k;j=V@?ZU6==(?mmYx$Bh3|<(PY|9+lpM zeoo8n*PCnL1Z%y|%3pquBM@{{_O*HThCq?0&7*3lw(d5kEfkll(pG8~od?4rKl_cg zrOhCY3Ri|shUXh6KV1}5HjC%rZK?pz$-ZEa?&+^@_TjEJkITvj;qIMAwkA9TCWSo> zDn9f$zeB}~u*?518c|z~UUjuKgjL~sS19Oj!k4cH!9pjcTEk>;V1q6K^HY8;PSYF4X0`bA9D(MlXoW?p(YY#maqUAV+-t{I{yheBWS5XZEJCBa8eqN$PL;8%yjM<%K# zliwnJ!>u4`^!ag;m5&qNFI`Qp5LiA06O0W^_*K7g?0R}tFyw$ucm~*KxAH9vPlthY z@8Ej+j@97`ggoaRrKRw215!E6)Ay$3tc5pMl561F^SvN8;(i)FGH>AnGjQS`Li#Wa zeui74(eU8$U;s4@1VfP{*$@bReKl;yPYeFSFX)289=;hJ{BnDP2@Jl77Witd`m*}I zM?^~{2g41Ej44zGIT4hAl>yq%1w%f6z10=yckt&}Jt1X5xWCP41TY*nZuWX=+S>f3 zRB`Uzv=6YE`jT081$be?GA1>WNSwKSOcEQ`1nJ}Gcn=zWoR_w7Eg^Ow$mi8T-c&^8 z(F}D_6BLt?FvWigpPY%f$u4ezV3OY|CqSu?8kE;W?=BQh*vB z@YMrTFf>F?c(Ee9GaRn@50qKqd}BjyLj&h%aFkY>OViG7TSeZCG+rgwEn7DD4*GUg zDo;?3ZMBp=#Ct79fs*5zpb)j7W~zl*7K{{)4D%!te*iPL$DPv#pN;&bA?!cv_v2Pb zdC=cwWew&EGf-4J(2Q`u$Lzq*rC7rY#)oT|@XPo(>W2Gzd4IRIkrUh2bNX;YIHXx` z9jr#{!$xz1Dhut6EGARxX zFAuu`Jrr9QE(|{7^EqZByDN-_0!<);{+25)~yB`{A8rtxS&thRHTuD!w zg-7C6&hM)&%TWbG{jQWcG&U6S*KzBuuEuJ!BbaM6;tZrV8`E$?qwuD{c?~?10MMfO ziwJr~j=7Q)p}+*H3yc;u$Bc-(AeCGrleY_=51PV10wU(|`H|Ewyw&@OlW0yJ<4cF5 z$||bi1Wu(gJ1Q$34sR&b7VvzJjx^l#hp3N()I7i6$2rW|St?gejkna(7V_5+mPW4L ztm2!n)WKDH9F@7HtCr-$_mLsu!|UMr1hkJwEd1ueS-YjH1h)$?Mcl;y6V}B2g|l&v z^-oI%cWd3-)U9NA}9snVdt)!^W)HLiwQE8iz(eU3To@|1GM+`UF)>B6)J zYw<$rF=pBCU`$^^>Y`=n#k5uPglVtW9!d6|a_7b1fIBHSac>Yifo- zm9@s>_jp{rkEkzzW!6$om96qv%~r<{-e9eMw5w3c<<#&t<8Y)6!8NNEu3eRuwsK%) zI=cM_K#9w^Wz3>^X{%C}P$1~?ASymy@F(~MrTE0t#i8g*sTeFJ?M2}`64EU^Le><7 z&wxKjFeF6lQK8RKQ^Bh?4-{&g!C%07m(R?D8rSHm)vqqCG53IC9t1t0&EXg@m*N%| zAJ6pzE*JXIVKwHehR`9Sp658dzE7WN9!>3Cy6h%M6n>hP zgwxidL3A3jlB>`blYTjNq;zV`!q~I)lu(ep8jcn(9w$R@7KBf^0RquH<E@2#j($ z96^8B-z1pgb5+;6V29CD2HvPh%Q3=p2Zunir`BOM8}*#g%oDW7YVEhWeBidV-l*zV z<*ATAJ1r}1O)ifZX84o}207#2w9>S+g`01q-&dxli>Cbvh#^9^h)H{VMyWXl9`{o} zj1C_k{Z#xZw2o#&6UPt7BB25QMx~SwUkOAf07b;0ZQAp}sm+3s4luF7)r8gs0?n>! z@RW;RV0tSusnT*eW0|>($La+y!Vz$kmCmGN{)c-$)G%FO06 zeNK*p^EXtMmTs#_=>d6ZIV-ckwq?t>TL2~`u#1LmOiG%)O5DN^nav-;;t5gWIPnzm zZ=p~X8;lcB1QEikj^9V?z!W?I9A|^53C9(L{Q%)5MZLktn|UC7%w_C#ctXJ@VoI}X zu%7(es@Ff789qC5RD8Ou$;;E|XM(vk^oPCH>Uvi_dEZsd=~X#dIb~%Peb$OHJ^rxF zm^-kd6n|Zrn^v0BJ8$i(RoQSkv#hrdOqx3vzLS){*P(;V79_v$cc@#ey|>ybJDW(*7||!3UsvEYAjW`RYvMU>E=>u zR8HT@)U0KstPjk62(;+VqNG)`b1R`kVi;2)IZx(BsKr--c?@ZWhl&GILBGHoap)^` zxGrYxKU$z0m7aMfCvlJ$;I_Lmn-PFS=o75%+x*6cJhyx{SS zTrU+yik30KXfa9u6|oV|%G(>jbY?;L7jx8u{BdNaINjoGs5MpaYO|35&X+ykz9ygMsvwYlt1{6EZ;s?bq?rH8A`%}q;7 z`CwIFPFi*4lgGX@lb*(lWe)AJQ6^|7OTR*aP&Nu6i?9T2^m0 zGG**3^Fm`8E}~UsWut5TfDZUz42*`+L%2|{n!~SsW1q3isE3nWErKRrQ zyo!9`opkUyoU`;_d^9x`@}_65EHPKt))Q04>=mD5?gpQgUK96(jt3f5jg3c-9zAjd zE!>V4H6Cp|+SH7e_ct~+Q)x}jjRmK|kACQNQnbnE>|L-5mfgi0HJmRSOq#m1f>;YF&+&v0S(^j*R#)Vs$ule0b zdZRVKS@qd@d1ZQ4!s;cjzPh@MNTamemiiiNO-+rJtL00?rSdRz)@g6i*&ZaYFH9Mv>Rn#ip#a>H?`)&wZH zIq)p*E(qHs{vgo?%l{Lc_2YT2P^c+%TXLEA8u~RpK+bDi0PUHA-{l?7=PJv~%hRg{ zOToV@QkG)PeDkKkr*c;1cveOa-UZQ#k%Cos)8?UQ zbh+B4Y5Znk-o`Bflze3H2#yGaLm^Xm8^X?l@IgSv|Meh}evbUwGp)w#;Hr6LXB$TxIgRG=4KQW+#3oR5B+y?O zJ`g*V4UTLs2fyS0T#j0J2<5x(Hu=zJ@QjZMkOMv!JYi<7k>&w&1vs5+taUYWu0~%_ z6P_Au0@03oYnc_V&*`0$Rb#FJf4O}9K7Ru}%b1&*#^vO!%+6xcLEo}_AS&`~Qqs)9 zG_bzGQSD+H=f|UEM~-~oh!=z0hxj6z(scCO!vSkwxEx@*PZxabq4)v1?5U{u z|E*IOkL6x-X=={eRq0t-sgO*E-$h3s;nEhSm}@E>)o#c4a9rGxM*76}SC1YgAH#L< zrK7>a_kjuD#z%u;Ciq@cTvct2!`Og-HLr8I8gU{O=L?{(&+|bA*X;l=<>hj@x#ns< zw(1k=>nnEXoA5#)<@|g}`oh70x0cU$V;KnghS1jz|6Y${Z_Pk%3Iy4yS?@6R^m|~W zc>f~s-Ym{+uB>&`*1P%}zi$M(Mn0rAijN#^!kvL2Y>@`O3x7>65Z{H@1lC6p;PaS0 zjvnwKPYR9X1E1?53{u~?tYwToVKb8Em7!x5)@n4Z5x-5n5D56|!6_@}5BmK)l9_M1 z9Qb8F0DBuM6C7!|Devb95lZ?O-FosxNT;q$TQzOPY(4k@j&h;(n4bSVrW>0Zn{hQ7 zk#M~ENMrCjI1g>z998jLb4-z|&4@p1#<@+Xg?txo5m{W-sdSI-vh(yi2Fec6Z$08`>kuB`X^)p47spt~R=D!g%l?M@Yw%fg z-tTE>YeMsQ4@+4Kzh=2Cklqg-pSz6X7Z1;-vq~Rr!X9++VDT$@A6Fj*tLg8W14qh^ zB5)LB?5D@V%i5d4*XW<>VXDt)tnhgp{#vvj&ktO0YHUO=5IP@UD?G^Q3(5}FKX5?} zD6h8iS=eh{t=H#)L#3(Qizy9d>FIiNKVuyM#2(&OIZvghCdZibXsXh(v$C>O6HNH#PB?_x;hPAa*x>)p)cTd&h~#3oC*Tk&f5rdWX;9P?H5kAFouIC-b zfU8EOGn;+*3R;Di0&Vl44`tTZ^QDlxuL3P5XISg0Kgq)k*F4#G?AS5iv4Q4eu*O<# z%ry^M(H@V{ytj1k8e>{cN)9@hg}&x5PxM?~4i|ZnP;Kd>UBT|}IX;llkt0XgcaDnC z3xVV4xd7dGr)0!XOd?9oaX9>5vo+vq^rJriRbK%5kQ^*_)gN_N7vO*EeJ;@8>hl$c z30M&hvUkIy;9+>#XsoXFdi;*c1_uI;K2_@G97MBO|Mr8J7h@BXX6en_iB}GO@6t9# zq1LvhCOEzsze@!gzndH0N1fFKKM;N^{El;2gEdx{QNIU-Os%S?g05po zRZ*75gDP#o)qIu(>YIc0Wxg;M4jjr3)*s6993sDQSY2iCp8(h3@#N;_8cTIGIVm`Z zUq)h>1N!DNi==S#d}C#Ajic7#K=+!OxuQmKAb32`^dB5~9KCp$uK>DS2=I4oFbegc zBp(+tyBr~pF`#M+vH{xH3?_2bjg8v+S!H?GQ&kmk8vG_4@^OKA?;QK)g%|6Ga8BOK zA=xW0%7)O&a9&=$xzx;Ac{6Ruaa3;GjAx{7W^zb!J(rbr55y%dTQ3$Ek3vDAV3L~l2`svlG% z6`A2XRJLKo^&Gt)e;1*&mIeANW-i0k;SIAq{RQ(@pj+0wtUSAs*Cu2L;n%nImzr}y zmMTZJr9Ufc0~oponDkz0YF65MkXPdvYyhj;g27z@*xS^^1`sH<2O5UQgXrjbQ?T;GiwZZe=U?c91Xm}``bbh8-t;q$k(+&90Dna z!^c?Ss|Y0+r-^6=c$ZsLmWQo`JuV1|cUutl9 z{7ndhU}Lx-I=r@pad`!Y4po#DWOG?YKG_34|6m!~ zS8txDT3A28uiIVWplVh<7pSl2!z;avpUyaAjmP6J9VktK%Qu&%WbtyHvqdx=q_gOh zch!>BH8l?O*^ddKmarC(=za8lzb=?beEZ1WRSkZZzos;d9{$NE?*v~N7L?Uja}{~% zTg+yC-Vps#nVug_Ux4%J9ja0*FQvZb=6Zd7bNvt+p8TDwp$iX>k zdBJq}`Q~ghI)V;gkP8GnKHrYK0vGNY2`P?9tnjzQJYye7=Cs zXXO;>YM(V@j-I!MvKp1k)5euH@S3+UhmZG^oKjUzP8PRi17CSrcL4{p(%CHO`W$W^ zpGz(e|A#}5-g*pr!`>o5hQnd(*9`>M;u9__&m@mtLb7@q9RB_`PY_=U_!`aJ4!-Ov zD$26B^fGG&e=n>*}7AUy%bgMPbSmWnBp2}^NoB4IS%8|CyxI_iMzm)@?-LL^X$FEz} z`prw0@QX+AN`;?aIux-ST+njC%;sRTul~{VvIb9$C+z9O%}Ll+YRp-&nV1F_Zd7bg+#wpbWWj{q_3LLD&7`a?bpCi)gT0V=b4v4r zAY2DO^w;=HAH9g{^3?eK!NF$YLl8pS>-oB_GY5y&HPqT&gL@nfSswEFWldq$+V#cXX4NB= z!=YZA-|@pOs1~-NLy);+Q*mE)wms1AgBRN0b)d|QZq(VxC2SutsqcF$?fK^iAp>s` zzD1ACUf&8IuJQ!}@=BX*QhqqMdv^07d7KhdDK$>_oQq4jCS zWQ@b(^IpM4u!W4VN%c2ZQ-(ALJDPSC(@j~Mva+(RHG{3??cGFfEZ;e@6XM!4+FRSR zk1yZ2-ULZ#ZrakJK|oFN3!e|Lt<)jgcih;Peq zxZ2z2WVdHnt;^xvuqWyB8=n6Qq)oc)v`uT%HZE8ozBK3x_>ZCQL6!!U?eYskhR4xL z+ZoGQeF0ClOX>E=ejj?Ge38zQO-Jh(nt?I9FQJa8nH&y>G#y zMVqqH7tDizwRNRpM7$H z!mm_exmRgX<(tT+dW$^4E8}ZW8R+Y7s%h=^qZgC`nc0Pd?DTo8c#K2pNP=D*dvFvE z=M-1_Ywk^>3+B$7w`f6n7M(Y5URs(%RtCD2R+kU0>z4XlQQfWfY*?9HzjmW({aUyJ zucQq=|2xF$ENeGy>|HDV4eas*_Wj0ON;fT^iv|}jTE4Jv-ktN((q(i- z*+}kdZ$}qh?Txs7>oW31({j_swc?YP`7IlMhc`mf)~Ag|Z+8cFC=f8eEDI4SO-O@e zD15ybKc^dq#=H6hXmTmO$>Rz@JgMSumPc{6sbk8)>iX(|V&>CU_}5Zq*~QlNix$kg zcVOPawBmNu&HSvry}!M?(Ixe@N7Xo%IdF6K)dkq83Ehyk;rY|&;f-*t;KQ@aTOHek zseZp~RYGv`NI;V;%SvFka{3Uc)uHO$h4M?^p|}o*!%JTBIc8{4ztW1gbc0qKehqK- zKyycsV@I;URh*NRRntVX($_Cqm^ObNOY1z_~tK=8%>b$C6B20o2h3`M-xjI+3%&NEl-CJv*ACB>C%M@<}FZ&&lQ`P7iN~>7Nh5k$BWl^U{1TMW=^-<-|lEd$MB_vCizi6 zw-{%8@e6(JO~u&&WI&t0>(h}sgQlmYXJrQ;3R_s?3;29W>tGx9kY` zebndZZc1BZUOQ}B%k9{(;jIln4TB!XW|>ST^Fs5+2g@~ypapRJpyRF*z3>!y*(8%| z!c&LvH@Qj^XlIelp^M38i#!Hy*H(V(aKTw$jab;)?iNGjc1elWw)oD&5+6wTg{I)s zpf$zj?5N@zYlcI??Cb+yZsv3{-WLv|0clPI2$-@d^wc(`z%Lf&Z)(C&V};^=R6_1S$g%P;&4 z*Ei(R2cc~3dZ^m;)||J}HVi-ve-T|CF>wd2t?e$iyV=dJ1_y@sENEFlq#PCEfvaBK zDnSMBQ%OO=@6Y&uf>8bQ+D&A$NuGHfZbx114o|z!*VkIptvFn0pJS=)@WN9b^0tqA z@_(pKET?shRc%~tW;)iVIZTzGUeZO|z_Kmu`81v=kZa4)K z4`mf^BCCaiYta*}-=oFYERN^@qutDECoE7VkJn}jU*Ip`cIx#yz0O{*_c~rcYGt`l z>4%ee416LfoMtdz{vj3a6t3e3;C@AE{Q^IYunbT33k!U{Up#oFPk364m*iXj7x8Dr zdUBg9fR-r!J6jb${>`tTRy3y1*WGSiupHgFo~}(xlQyBZ-a7OxOcK-hN7j&IGK z(eWew>|U)3+k8egft?f7{!*D*{3@^C+uKF=?{D5Ob%pd^=yhs$Y4_$R3cRj2eyV*} z_?-nARQepg0~h#OTR~Gp9ttNvkRQaag=albMZOa!UMCYYXXJb(HQ+Of6poQOE?K0PV?>LWHi3+HzmB504@TRQbCsc(-G3tcR<>1>lhX0nfX;p4^Zt<64 zD^2`|FKt}E2z^R6xcgOe{~i0AB&)*biaC0n&Kdeu*k+TT^NMepYh|5Z-06jNc#OXk zkNXrN43nZCfwxV=@^obOIJ*6gk2x$mTqJ?)a5>t=dh!Lojo;#NksqYP3dW8SWd>i) z%KnQ$d+3XigP?b{f8O3|sDMASxuoJx&%i`(dbXy?ynfO4xq`jh%{8hc1c&!fu^gfw z40RNsvFdwuKcRp1N=`wzh|Uk0y+k;iqa253G2BcZN=-=d3wPNsL%FM;tZMJ?4s35n zugM*J26{tSC0+0kv>8n-Qljv#5kc;ocpLj8jkuLPA zLSxW3Im*}Y!~KSvCW+eB!gG#x-)V=V9c_e!c1IxIqsR^iegeIL7ysqLs~irL>ov<_ zsWJtpMNEeT&GVtR7W(l#^jl-r)_!*9zH9yEV|% z67h90T8)2#dXqOhNBIcM@{}0uEUh-`usFx%@v7S)sgH$g$-{{=<o z0)CT{Frg((e@*<^$7{OVTOTx0$-I5LWJ0^BN!o>;fAT2MxcQGfvXn*V!Ql5d;JKNz z*8Zvyef?-QFjmAp>J``!aZ`zG##786_{RyiPQMztOMOp{^6)1RKcy=Cdg#-B)xe-j z^62><7V}T}P=?3j<+e+{O#*5V>rFCJ;IDdM(ll{=mFm1QCC*Yw>xHrN>HPUim!_u$(-Diyb8nrs{ZMd?;|sFHkEcVKVv@D$d*F3pX5o+8 z4i%nDK7#r(8P1`#VvpJ`hU73!pM}PNvVxnfwx4BVw~Kfy`a<0lV` z+Lp*?%E*7rs6-Xjqnt3y@E0Y^oTfs;laX#7(Vi}nHJX`WeZ{hPci4Ac68#wEk9w%H1p=`efHH?c{b3c^dWleV(`Qcc>C(1k6gvw4+NU*+??wu#GNpD>Xg1 zal3i#`o(<<7n+xHPm;2cg|dIZEfv#Pjr*4$gr4GhTn=vw=niK z)j{Dd!JvD_~|=krDqklxr$Xa>8|-!)g4A%!2++KH2ZWZ#&3i zF!(0kuN|l&|1l}Lu%yY6sVHm;$qcRNXSUEnTgzw9TefV`;xlOrv5=;_^Q}#}$KHo2 zVzCg5wP{O>!W!0-L*2p`=t=Fzy>q=>E($}XjY5!_Uuh^5h|isdok$Iv-s=pXhSQD3uW-#c$TU2j^8(l(jXsI(N%Upl`TD3_JR z069NxbL3(%e9`P%XXE5?+*{)KQso}>9KKtdJgR*p(BKa)w#C~XzIU;ke@*v-@W@-n z+ru6u)6LF&Z|Jt~xsdQ<<31ewHd7am=LF+j{u2l8EMGi$--5LCsAnWO{{kbPqL4~O zG0V{*aqk3#FUN`>qI2ZM{4HOuGCTf1?T=r^r3rJ<#1L*}K77nkk>l^fl?iRsuT z@?+%i`sG66%sUpfS{<6yBly-jC0d*s7}dTV@R!_s@7$;3?BW!YHxl0&aw~*h=L_&G ze}Pxk>%8iO2vnA%drv1 zK7oGBm&?(=G@q)^g%$-=PVtLYTC@DYMH@FtYiU6myk$z`9vQ`<^Xou6fBqvwk32G8 z^}R{jWXMR{Bwm4YGv``~@gy0ixus5tLX}Ej6ejrn4Vh0r{J?t;KfKr>yn)G#>OL=c zOn!`CwVWldTwwa&Xp#+A!e2?)j=dg-WQ(K04P=|OxcrAElul&h;*f&{vgsa$aED4{ zwQ(6fIXftC~v&(;fa~yFOS0O9#2QTl%=8R z>BYfa4#&S?hDiogAkOCW+opn2BtEFxuF>{~99n9Y$MWU<>V|Ie)me4ZTC-UwTD!?a zP2sy(GTLRjx{3Rm{Fe60CiBt(E^TSr^YCT<{A|2%VVcPlDPBE3^VYfR;gbGTe}L{* zVghdKvWMxT%N{6^XFc$A_S4IjJi08?#-$7uvbwmizpZQkl4kLzE_~hzw-pn(TL|Y= zY|f{|RgGIYbMy zftnYr-Dsv8%_ft6&mNPNOEbSXN@eJ#=X(o!Mqm9(@`vRhip&7VJiVfK7!Va#Ha znQVD?k3-X?756WpD^@I9?3}xBarTl&A6>mB)6PF~MKhpI7S8nc zb~#ORy41bR&0QFgS%;V+p+7ZYKt`usF-%LC&sY0Bj*fa-T~eHtol#y+YnqxIo(fs~ z!H>@22e{kG$^tn$hA9`H&~JDM?ZJ;8v&j1B8vS0hUuqrVYD}1gP|bGAJZSs&J*G_~ ztiaLI`KG00ls{@tgXc|Y5?vU-bn(K4ix-cqg{rxC+&XJf_S<4dJLx{+JJQcTL3b%e zXT=luub|7;tX}r;;-??}PSv}m#1_C43zfJSto1s(;4|jTpZ|u3@L4!k0KX4{^nsjY zoHJ#@{MegQTkd-{X%i+!lhge+Cu1C%-~IF;}>s$oW;x2 zNY45NsG@uB!W!7q-p%iJ(IZEWNIh_57geGiJC{9i|NZp-B}4Wn^ymxMiP&U}q-tI!X zT|F(dpLs}8(MKPp%hqL-yj|7cIPTx4@Ng>}m%OWh zWtY#;kCXWO&xH?#U*_(|=NvYxjoKP)4zH|KYGsVa77(47puP*;d?*MxcZ6NH5Z!jF zB*^aP?=Nkp&HHMrb8>Pj`x<&&Jw5ICX)CRqgn^q19++KS(?RMB3>dSH}>C2m&cT3HvmL8~841spby6kmZ zx2{>YdNpaFYcjSpG}PN1gMmW|9~#97^#hoeI2d&)WK{gTsp+Z>8TqS9i46UlO0~a@ zbDL$gBBYMuTLW^rVm$ByeciUddGFrRZS?iG%gSmi_t}SCM}#Gfl9el_>(?)TP`Ve- z8(6SdTFb)&YuD1{+t(&6U$o%CId|Uq;Nt8W@&MXN+Z_&9x4og3R&L&0xx1luTUKS| zUPwD|v>MWBi)HK9bz3vGzM7GdnTZ~(XdquxHv=t@OO$K~)G6Ns;ZGlv~BpgY)L$mCJ{hr=hPFEn2>4EnP70!PyVap10uP z^~F}0h@U~@yU|42ZMRic7Btt=-EZH2|B4lx3r99XSm^<0L7@1$DqVkXW=Tm&MG0+a zbF?{}vgr&noDL~;#$M&OpCCk>ZY&3x8Tr;Q@pHS~;piOm4XdJ383QUJI(BKA$aDDX z@V)|tP7NIC54ex`sNdO^w{QRcW?Gp4)Qc~^@XQ)o`plXaOKfe95f{nsc68g@rQy~P zwYRuDWBr1&=yPc{A-gi9_4Mv#>o;aFS&M5&zM57mibEGkF7+L8+4t?O%%Qt??|${w z-Oc%ZD^}#^y|x#JF9I@iqKOe z?xsMEa+UNZ8Y^_Kj%ts3Ja)Uy<~ZzdkGP4j7b-%( zgEqGv$jg&nokMpwH}B3bdwMtRk`>qf=KZ_r3){N7ypAJBemH^$UC+QV!Qo1jE5zXYpSompB{18_SNQ;ln(4GZQkF@b$Hw8 zfzrLryUVsbL+^ij>oc#u`gm=2f1pr_?y(3)x;1lac}aCuEv>C}I-Fh3z(9q<1r!)t zt33QG@VX6Slfo-JcHe<0nZ3PU50l71zt1PRDC%~Uw8z*t&}SX~{+<_B zl(9P5*S0^+JY`8o3>`Zq-f;9&I5V*r0DH! zb=lHxoL}lM0-$efEwU696_sa~RMj?AH`GGpu)~8RKz>IV`T&xRkH)9q2k~NiM}3on zb)WXOhCjr)mi*Lk+5BnDgw?+lGVBg#Cm3v8H8>!wuc;G;% zjAus6?27jL{mon2dIx2%s~`W1g~K1Yy;E>2x+EU&*|2H2s}081tyrNClL zUzYp-AWJ1!RshQ^vg*2a1vkZ{VA*_*$bc7KK-f^=*j9iauk(WlmxVbx;pmd zyk6Vv9Z>vjo10OI+)N9acklKp%6?kd?DaPHZdYiS%VMe6Sz#TtHqb z6J*)jJLv7*yC0_XcJISS0wuUzHacxJ2(}PCwFK0j>s=7XA zx-i=_(ZQf8yS?4s-qh|e2yc$_;YbI{!Ixv*v=Ns3H<&av#Mtw{9&`!rFex zv{*hfL+>=KXtLdu=Z*tUT&`jrrS6d-uM) zS*2A_z90I9+rz(8Yr=mkPz36)$#BfQ zRW2S<#1hS4ifmR~ME_@RXnE>Q9V%Q3QTw;JhLocLsJB-%RJ>cEuC}$2 z4-Y_xbFZI2Fa+ul4fmaNSh*iQa(KL`&rX}HO^r^asPQSy^(KOiJ)Yy*S ztEp+6HRg+PWURxa=*NF%_;Qp#=V@AW-`4V52N!K;NT?hrSF(y^gRs)OuM3n>v?btU zDrIxIiBYlRc?~hj8{0FR5{|Z+M1i&sKefEYK(7p&F)7N zZTrf0qajWE5-n|TN~@j*I7G8+O%)kY+k3=JBk{7^-4&f+c)ex0y&L7 zx656hqo`1Fe5vrIf5`9gkUfqLd&i*FYH!E(8f()Yn5z3)QbH4s@@u3FIW+p)$S+Ka z2ER`o#dB9TE=cbl+^%T+!g0Ub-6zWdvn&X!_R#}gNuI3)SZ^|8di4cc8{N0Jxw&@V zK2P6~o^Drv8`)mig$lYlV9&y3+U-Y&-7Ye(zoog^O9Qf_W#`UDX|UGV&;w6;I~z_P z*nNQLVwN9m$e_U&er#8a_Bl*p8n>2+S@7CGgVXEwK$hP}<=sl?k&O>OI=Izh*@+(P zarO7fxe7r@{BG8FG38#5$Bi3reB+91ZL+r8nvPlReuHPi2NCR|u4*HEn&0vjwcJ6A z=ib*?lfFK1sSy7Xz{mZ5*-ryXr*hOR8^443{;syJ&~N;m+fY<(?cUN-KmLi%m75(6 zR;zCmcPie^ij&9B-)4T_2nQ3oQgRX1eM@?s(Uh<9&z1L(d9|!GVYj^o$zKHpF?D31?)nQ*2q2C-G>2v8^hhtfL zfihPc@WTZejo{TnBlqMz%)xhgyLwfRannZH;Hsmnxzwq!T%Q-$|7a>%*&`Sh9Mk#@f#RWKqt;R*XRM$NT); z;ww;3Qc#=CW@lh$vt}1to7!#EYVC1Je((-RewNeucZ!uug#W3K|Ju{hQBBhqr7ya5 zXTCCIW})i3*+0X(!|x?V4*SC*RZEPQ^ncVaqwWl!GVJZZPgw4m3sr9 zH+PXzV)Wp9J94ty8fxq7>nkB~xV{O-%SzjUqpS={n|HIw7T;-WYi=V(xB&Qq*DJ&e zuNse7EZO$1om;JrHnHG5+~Flksx zA>X4bStdV_>w??Qt8P zd2?Hr7pc+IUg{{_*S2q8*FM_YvA<*A!P94g;UY}gB=~VCj54XwSLG}-$ZUH zPG7umReE((lLt1aIh8vM^8I7ne%$7K*6$WHZZ~?Wmly|noxKOWC`DU4l7r&9x;lD$ zI|h4A9T*>!l!)QoU10Y1b~t+nItunVZ788b>g$c`sIBc1n*5`@c3+40sJ*KBEQ#?4 z{M%2b)>L1e zU0htvbR(;}I`~?k`o(Ek)i%^fI+T;3#%s3wIUMG9W}DpM4rgs8P8wC=-rCxIOk-(O z!?xNkzteezxXEPnjooH<1qLK#wzCqzw$4#Bb>G2*O)UCft;MT(EX(`% z?HiCgTXuKhXlF;6pIIRHC9Hu(&*37iqht~bTy}eleaJ0);d3TeG7Y?)?saxH)t>0-?15AV zOn1}`RMmF%I`Kj8{_Ktp+1*mRk6T3dz4Y=vDPU1X0If9!?2RpsL0f~vsovDp>Am1* z!i1l%Qq+#Vtwm34Z0yFDN^erGK|KFXAZ#Dz-bDMzf1PAHLo0MLyU8jwX-jI*;79}b ztQ9pf1#v268{jEtHL@)EAS3ToldHvEF(mreeM$VjyVh@DKcqjvnYb-2D>_@$(p zHST*Q#U(Z5+iLPx$5tCJSC>@R6yxuHuaEqL*u3~jv%=jYd(gJ+egkYJBiB_U_;^oe zNnu+v-B;UNH*pd1GgGr^9M(?`R`AXVs4}&VjrA zl?v7PGTzv@u{?wNlt7?Nxds zIebd#Gs&WNU%z^#G^}7E+*p2CCGB+BipWQ8p&6ri(C=i97bvHS)?L%RYG>o-au+U< z%akj++AZWFu9N(?`uu44wA=3{f0J|e_72))>j=I*GAld%*`@QBKKm@`VAuF;R!&Y< z4wGThgmNq%3`ll_`qm&p!Z=5xIkf7nM}FgrS7zHoPEZMM@aYy93`IO`^1 zG7}y`B3gz_c8%tGaAm6A&PZ2F1d(?h^utIIG2&4dZ1o=xFazUXAn_)dYI=M9E?3~_ zckqsEQh>V$eoobZF=LFoilxqFu6|1_tYg`UgA(tz|s8;?A*Z5I6 z*)apZjdiy2txFs2 ztt7b;L zEB@rj&Un~nZ*OTwIJ>c>)9df*(#>Ml&iudE!{VmT)zevK=SIn(!);bn-mcI0A3*20 zUx_%zWY>Ivm|}pDcTDUcXq5cI5iV9`X~ZV}Ev{ zGRG+Yh23FevD@~S4fa>(koNSP`mBzQ4m47(JOCek&iLh6biWgQ8GL_WvDWKZcI(W= z19p$Sy&e7B-k#mqCT3nv@Xg-CIz$ zugibrF~m7h2u}vF$_z6GSw8l|Lcd2EmLoXm?e#hx-@1KxjynKb3Kbd>Xx!P-*3?cL ztqo0fkL0`>LVgmSmfb#|j|PeqjmzgcGURJ_g>K+|uKp9g?sk4l2sh~W-6g{o_+N=X z0Y8H(uAvoP)xIXHt;sQpcXc#XSLf8%yKJaju23eUPvi^tS+(oIY-7DjtxQeJ%PXwZ z*3pr^@Lp>j^*9}-7Ik||MoSC&fIKMmhLE958UH5$)Zr+?{HRV%+RD0|l0sE&1+_Vq z`<+7#J?8L`BKtT;mV;ID#*W_o4zzGlAU5yoF`+zFo>-Hf_qkky)qRVL(MMSPJoa>c6KB16Jn!jIW z3hc?3{6<`b?Br0yUPp$<2|c(r-yec^+C5~JcsJ};n0!k^-e?DTtixt4nNwYyp1w2< zpM=xY9Z zC_39}VR}o8dB`5#LjG=SscoQTWiP$-Qfaeyjx6;`UJcm+uewRM`-s^;1z%BUz`D+| zv$4fW8yrnr%dJ-H4|Z`D4!{PixE!vbM!N)gK9|c!ef@#Pz)l6IoTFR^N!I=3k;R?- zesPcF4?Tysz{BXjs3-WiHg#y6j2~?cv_AOe085j=sh&G41jB&0Z$U)a=#vw&mo!KJ?OSwMfrcMxZS% zowXf)fBrE!Q9%{pMoDe8qrwB-jdhKUEe-U|H(y%$(wnulwDzF0tE;!y(#MQQ<@X8C z`Y!l==v~gF$o2}lb7x(-wbNG7S6)%tQWYH>|B{u-bBpCcesS9@T$ zG6cH+u}`YyY6E@}tUdpv3Vc& zu5A==EY4=gUQ$i#gT$M$Orq(UZO<}@@1PE+ztb)?h@;TaP~xz+6xn~$IPg-;bCDLW zVHESu-7mcK(wmjEvbLp@(RNQ?XHR9Vvy4PXP)ANlN#^EPH&aG|Z*Hz^>&Wiv>XLeq zmn>yQI>qmU!{SOfJQ6@B12RKeE3MdRwN^Oo8FbC!491{MZt7tM?sht?wA<0%SZ-I8 zkpNjM1wh`dL}OGNz-kX^5)Pr0L)-lreIz-?+ehs9gsrLCW^+)dtvV-*kU+MMW3+SyQ5QBhP>MJuYRG8^1>`-lxj z91h9O_pER;FwB?X-}!h6^>%f1?5nNJp|u54Wm0onb4FVmS%SC8PA|G?po=MR8$4QC zdc3)LZ!P|fEa`F{?(Ic-kR^C(?sy^9?f1FxasGtl?xe zmMsl-&t>$C+X2JvEVg91oki#g-r37P+AEO=c#7+FqDQ1NUKM)Gi5_ihv&45r9q@Y5 zWB6`z$JJi^FX3j!#b((Y2@x{CjQmHv3cu%~lKZ9#huvC2t+uD1F3HSn7$|vqO-2TC zwRdJaot;icLj@`7v-|xnzap*+WcloVvg<62fi<}vE)w?fhsYsKE8kYM*&i)-d);m) z4!Z++YzNWzy&iZ9$Mt!-EFClIp)Z|gr7xVHUgGQ=#l`N<&Q5z(18u0v%&h3}I%t=p z!Dh4B8%ANYp~~9OA$c!|3cjC<%=cn{yzJd2tMNf$kv6JVuenb%mo=v5UuG)vURhCO z`LxM@pYRO2;C8vGJK(lgY|XGzzrCTVq{v!DORAgNTN*MNSuZk!bvPY;cDuvf>Vh

28EzH(X z6R{0MvdDi>_^`T!rY~HWo>lE}_BotVr^-QAR?w2F2D`ZdSJA2>X?6U%b?Z)V-BKm0 z;A}~i?WazsI6+txmQW>&e+qYVM%H>^rC$6Yo?*fhRl-5?kk@URQT1{7oduw1Zortvqk-0 zk0fhInclXIyo-EplYgS7^A<00qhsiPr-wfP2SzpRveJ07-K^LRNP~`%PphlZrw#P& zs;ZKbk~JAr$_!y`*HA?pDvB~Q*Q{QhC1o1mbY@Wnd{3*a6m*<|bPaCqPjkBHm7C;azi5wDJvchnDMW#w?6bT*i) zs8CXpw)pAwYiLpCq%B*v6cybRR2#U|K{)ZJ%p#m$fh`pcot*e1N-}CE@uS+wy-ueC zO>~Ok7B3Me7oL`9Dr6^~*45nH+ZC!6THJ02KU=2u;IH@SZ!aHg_t~u|%Wikk*7p7* z?Pg`t!hqY|k6uOV6xfgs&!c5xo}GKXy+>f;vqQN65Rf+eF-eqUV*qaULa9$xN%oSh zaIeQb3VYXj{Z6m5>6+@}4)TV>!MOG#4|aMz;{B-1>lmod%CU8D``n$Bb)3DSp@oTO zM#h@;ix)19UzoNqBa{CHzUMBFRG^=Vwp2AV*cUQTZXq1{(++8)+|30t^2)W|6E*To zp}_^^dz-gtV&RrHTc_P2%%yV6*7hEk>j-TO{u&i~W7AN(-GS%z`@1cDiWHEPG3eF6 zkNDmItb^BuOn<;P+-?^>+@YKS<2kMqZVtH#@09}q|0vA$`+}@jIOx~0*xoIB9m6&& zeBzKgkS*IPRYzJoJYm_{eoseEdPxV@nO)#c>~we9g-fIGYexFhY4g*IzaqG(3VmM! ze{U(GB}JKAsw$)^TF`(UUT>v51d2qi<})ZgPhvD7m1Kw8CAo*xE;p?4D{ZBNU1oU_ zitS+9do&;)4V0H#sl(^0Y2TUALVFsSh}h&K+1*D1fmUBW+H%~ai2Xt~*_t0Xtaai2 z0ehqHT7XuvxP=0;6z4~3lN?S;xJ*)VpSs!~DD$rubJ6}`zn8r4VRBbpR$QD_O*+W? zu%ntjo6+HAire{qC%N4&oa}7Co7~5POHb$``6Xjv_QItZCDw*abdDAktzP}c>ecH; z;p>g-sw=Dw){!FNVgr*lw}U!59Ui7!`T25~Q}__Spa!gws9$pDyTE7q)^!_tiG`0Q zdGAQ2coWMtyPG?QT}L&0SodaRtlHVWvvDVWqJcb41O46Ifk1orV2L6IRR0dh1p@)W z&06sRzeE+}4pcC5jRtr*9DU$L9|%>#3j?xZ3h>+$0sk>m0F!K7h)?9pBZ;`q?Qz(e ziU%{Yic9eOO-h<@z zOB|95ar)b--|h2zE4_hX?_ON8yR=sBy3pnzQ%IU@-&#(sJFVqAckZmAnXT%Z!g!cgTKchtp5}4INHKG7Y0bS5-+x)s~ViOj{$0 zsu~*EeI%bh@X$l)4HdMZsHo0dWU1J!&xFq_Dk|#GxnY+R{&qM`4uSSK+?|fjUWt06 zds(9N_RjGhbvj%<_;*oz#^r(tjx)GS{((CJU0r@MLH5$Fw&q?hqvz}BCWr~xw{Epo z3|cdmm7_mPS{iSB$-ck8^~hki-R&cf2F%Kk6dpTvJ$FHq);_V1L&W*3yXRMVaO3`*QKeq4KR( z_^;&1?z{$nIz&xRm)qHO$xE=4Ai3A={;QMdoGyrE?*Ba(N5Ww;iG_FEvUigky-HHr zy1Ja;dcOzVuIAjvxvkWHi56z*}@?d^^c58CbV244_QohEr{P=6_7`GsjY z)g9Myx=`x$Hgx*sK0C8cM<;w)G%ETVwyasRCNuLI{FjdGly-T|+}%QQgk& zx}7`m{~BB1YQ;zexny_Pd(4i3gdWz~$k^fjx|yMY&f7(1I(oLi7_G|Tk{kjgj*>AR zlbiGVoqcZB{IlFR#b0l?wmXjERAIGal-yHM(_T?tkwLeXuV*03jHtD{ypek;p!nFm zm;ElEtA9?vTM9%f_&KrUFTe1lqHqtg9#=wW6cXitU-plZ4+`W;WxA}K3XtOryok@^ zr7XBQf^S@)PDh8s>G8@`mc6Xq>q}@>R=rIz$=NIweC4ot6=wr2s< zv^O+Thu`mWyM69K-%)oXOtM<-1ML;-mo0<+Ygg0t8*5scDmsGi^81rVEDb3m_v z$$cWgssYhxjjwN8zLl$K)af-v>Vh-$){p&&g*rV3D!k>y@bI)($7L zXeaf0JsrIr9reem8~pGS9|_<4?X*+zbg(LMj<`YBP?5>Fi?%gnt}$nhUGv_W%&M(0 zz5-^hq4O4IR5Ua;R1DTNv^d~jrk2nwyVC>z>10%t9 z5egkWx^1~VLJ7PHv*2;=O?bt%+2uvGtV``^|24?=@jv;4zY&C5>#RjJJ8P`8ai_J0 znY=`6qRMM_wg&c9qDLp`44_g<34Kg{ULtfO}4C=A%Ew%BCFG1$=1Pz9k?Egn|DMVT3y zMeBw$tN2+(OyDh}Xii1Z*7B_tmf<=J++J9>xT+xm7I=gV@*^zl75{(%|Av3T zd~Qx?8O)L4K8+PyU1B@;s@wIulivd+cJ!0k4TB7TdHCArax5*dhw^4WIw9kpkI8qY zfKH6$ehdWS+}O55QQ>RkJpOH!BtyU?a+2!wrcw-WUQ&z!bm}_#4t?WgmTj{gx3PGt zI!SKxCbM$FuQfRR0cES7%y%kEXBC;p$Z?w6@3uD-(KTBtwq_P>En;z}Xse}2TbIr9 zYhCaeiN|S0VO<;}lg{hHtHSGD&eGDZF1mYnm$$jJxs8z$mh5r3oZEv|T?yI8wWzaQ zPKVP~Z*tG@d-z?V$0{)G%CwBw_5RXsxb0>x0%+Cj+G{1%YsSWe{$jQtd z=r@diGs#-`_D^z)RaFUj0R{u>BI_>5ejXul1}*w|DLH+RT1-;cari~ps=a*KG6 ztTd4M?qMcu4+oQJ6}7W?#e}G6XiLQ!yr`n3qT)=E1#PG!YwB8B=F~OTt$Sl9yn-^W z^Lb=m5OSPO+T7e$+Pr&jGj(>AZZ7opc3o(0!>?)^B|CDI^%OWB77q&h)Q8>QIy~ep zj|W(29wnc;Sqs{G++64YH*i$=9=;GxYfkfj+zUuFh6Msg$@ki@z5okLZZlDDU!{yk zI)#r2=%NqG5Xy7s`RN>vRnDXFq8Np*GX&9H5%uEVIM(A~1ikbrk4!%GhCb`mqz(Ez z9e%aJSyeGm)gUW2_2Qz;mn$6niaM0uPy{c|Za}#$mO7Sp_%}!SthzTWmb%79T2L3# zP}kyY9z1%~eH0z&lDu=kDS2bM#2q2lKeW5;(B>xJnjBG!p$mE3EM)Ss6Mfnje4`U` z!_JV;wBPvoU(}O%;c+D}RHSGG@VnivKEF>kD@43#`WWjaMWs5=N98G}qmd>unZ-y& zyOT4b$(rfxXGS%%r4JZUf67OMC8Gqths zE_cW``0>!Vfq-lZXh{rn2Zzh$^7#Xn-xV|w{ZG;+f?OP?#37^VLg>866z${rvSPsx zs-72L;U-G^S>1l7yM*VM$(x2-@iSgw8Ik-ldIbM5O3bpYSpTMMbOf>tZc+T1O}P53Q>!UtiH!*F$^kJx-V1CDl5f?IeFV z;T-DfJg>UaDagWy4o6StF?Xj+Jc0c9XQzLj@SE3*#z6==^x9qvF`N0On=!{vl zZj0&-@#TPQ_TSHy%48FoNH#b{3HEi`ndvR_`|ou&G>o)BdqYb=_H;car>f+)jL`h5KTpLhC7idi}=riy12{Sg{NO$l}02O^$KS z=Q};*5B!DjqsJo-U+2n!ce$AxM=S|&;Xe3R042NOwof!C@B^TSTm1M5fB$n32g^+g zr(UrG9$A&As1T=m)&h^@n-!z>`M6?zF?rc?Ob$KDy)G^dsm=F4c{5a~D#&I(5HFfI z;FT4|7|Z=iwqLe(+B+TM(SaVt@3HgWm|E%|>^U0nqu)So(6SC2ZUHxZPCSGW+OfL2 z^@|oST0j>pShQ@}l4Xm-irejW{5|=Wd?So?19kLBj=O<6%bZL`Q7noPhn*OWcVk7k z2frASivsH8D||j)hZeisCKo;rTZ>iqYu;q!w(~vZIuLG|86L6hR}5n+r|*IS0vUn$ z0@>mp!|l?#xyql}fsT5~C)i_FB6h+qek)$>?BstyC#3gUG<6N)uWq=nhgw>sI;kb9 z=r=ryE`d;iu9OFVCCQ>i%cRx%W%aAqY^|sxlf#nTb2^=p1k{I;8x2I%ol1s791ywp0iL zWaj`}F94AoeGi?#o=^I7#p9M?P?4|j`SX99he1ugBG=EKzy7|7oXQh_IBz1S^V-BS zm(EKu*UzhXDI3V&=gy7fkyF_cNatWAR~5GkMx=AOr&LIE0@n)9p?UR;{JE_O76;#ktp1 za>TwI_P=vQ$h{W!)qXXI>_;Dg;6z_Dvxz>HL;6g?c}CaHT$66ha~`PNY@XQ>*j(kl z2hue*L3!FAaxih_kuzb}=Ku47lWrVkH1Ge8l6&JQqnk%_h$|OzN5j5kpCz!LyXXH- zOak$6@O;?ui66gr#FroE;p)Do2|e z#>V8bF**N?VWk3OjuvTyLq3l2LyY^?TVOUDvVpK6``ATQ6W73gFwq^_qh>l#$u8p^ z@+nTtN=&REUp7F#_S>Oy2q8Ze(1OHlOewX1mi$B|iV_pcsQEZVKz-!bVZTZ=(?q`9 zOMWR%G{cw^;b0|yTfoRoS~_teg)xz!Db#+OZKC`nIw^s>^OBAnD}i|llM*KOu>pEG zKz_;10&yBVIx!&uo}&gh#BL(ZISinBOPWUDw!}*oSZIUHX;Lcwdot+BFqBM9m6C@b zwUGQ}17T`*>a=OoX3Qvrg|r34l++oMCk;=U1omhsV8=>HDN5b}s+7Lel+?)+6S%&Z zVaNx6a&eL=`P6p!C?zFX^;r=N7{Lq}ey>P+xFlJ_{l=YvFACv2>n4<%Tnayybit2e zs*azO4_;}M53fq9OcqjSjKXab6HJhoFlH1@gVegD{AATA!pTWV$tg2(hCrH(?w%A4 zd2T+uI;kj`@Q+H_NhoDT2}J3h9jHnwPR0nEl3qs1Xv1XmEKcRqvvkQxag|9)+tr&_ znE98BVGMefLnXDzNrmc2!XtG~@!RlqE(%X6Ox`ikk(Dx|NG(IE8U5!_eln*9^|~TZ zu?Zyne`}LUqc7+eqw7dti*Dl73kpHCQk{&Fld8tVhVkKB_o7Ww5>8Hm{Vke1_MkL# z#J_ZC?(VlyT0VL?wFpAhbH5N)3UiA!FYZKL1xc4-D76IGh1MqZnUjl>xMX~P>Z$GI zFGy|Fl&7TrT?TiaO5<@k2~=R&yNw><@=rdGn&d0l8UHI@4@1>?{1 zFU=6XslvCLVMi*JfTwiQpnnYU;FUOQ$7Hg8NOXB?a*8KuSu= zw8`WzGYo~nKJtS&H8rU(DJgZ@jC?YB=x<;RyfWO<2;vl)I%CqLNz-N&jFK-8fNIK= z)Kofo;=}}2<&hLjU`nwhmk)v|nGb0%g0Ylo2TDmPPNGtBA#lmb$zLYHR~*WvOL;;0_pdzNEWF;pT!B@pe8aO$MSn(yNPBu*p7JfoP4*Zd` zhdYZRE0R@w2uR5^)ijxv`=p3$fRwr+eb)NkY%WfRK`uJd~1>iXzLCQObMCtnAcphr_4IhfFE8=vA~h8M>lJ;cRM(GzC(s zj#C9pVt=ZQ zfI{7%Mc=JHQM3>swF<69e`df@3t1PJ@cpRFq~6!Z3Og2xg=s}Ql6cig%}jz~@!ex6 zlmJdmPPXieNR`kc_!gOq;iHmT;8OVz2_4X^F&9O=T%uX3!kg50srMzHDiEGXP2CQE zY=;UW)W8p#T8ri(WG=ggnoF_4lwwZBS5x?PNSm5k4pEmiA4)0sqbaNn&RA0LpOxgx zGLW)UEmL5sc?OO-!xXlkCm&3nocLt5HbDM>Cu@jnSES)YE#spJgcuWdX0Y;~AbRUq z^-mDU#a+;S6WqtjznL(zdXJTO0Z=Wp0bw;xSuI`%ZyWnD5p`dJZ;18K_fJQ$|5aNJwQh!@Aha zidIT49S;LVpiPBuIR);1kI6S?q6+6s*HjmaVL(bk$;oWyRIH1Vl34W;(?kYk(ubpxCY<=rRVNh*%M9>q7O z?zSay>S;yj5rDH}Ht=Ps$<=6Ll1Y94()?sIdNu{lM)Mn1r6yMw6iH5rPhr|W9?lDy>IpU}6}?`FcA15-DMP^~NX!RI z>QspV+b?*w31#4Q*{P{zOh&8lyMMqprJ+3)xUU+xQ>pMvN=Y)#Os#Z)VJC8@7N-c` z?brsYT_B}eW(eP%ssckjh}`Xy60>H^s0LL%2%@-fQet9FOc>mgK*nCx5)5x9unMnz zE+$z#RSOz|Ir01BbSLW+EPhDqf{lX7pHp|i3pd{&p8>)sZqE&a7}&!qe6RLM84Q@2 zf=7~onZ8#D>O}HEA{j^=rY7x|7REj5>*5b#118onyMPu^Q(~}TGA-n{2tXB76Lxtp zXbt2yJ?x$XrBq53xiK*A8u>gL5`hK{hvu^$Mp3U-beCe@3do@8wHP|zdhkAtmN z?U5j1hK5~UH8nMLS|ay|1@55MAOYn<0cHNddL(5Uot(&~mpR5Dk3xQ<8}$mou@qBq5rbYG(d`Ck;%RlmoHqS>~jnLe?k=1&lK8Oiq^2 zycyeJ68xEMNh(P;Cv8VBT>|t#T6N)|P%`WyX03lmEi5bXwfqYevc{va#A5c0W&N;c*gCr#wjz2s+8c4A==mL&3N zy_HofYYcKV?<_g`4&7D!j!401HqI~0B=DGEn)0m&Ag;9^#*1^PxK#9 zQK4$7;Cw73^s&Av1S3>bm8x2bSua=_S$>~z4StSSeJUlRq@+{Dyh=*ux$h??WSfEp zn2^IAUzJ+Hq@3&HRReuD3`375)zGAJhQi4ysROC3R|~iUsimXfDPrIxBr)`3{lrAy z2$V^CWin1lxsWVD3%@dwrH-=XilnlnwOlEBtJ0RVJ!$PYcpJlBCYv6NmYI?f{|fmE zJ;z{XdmcKNn!0)?n#yhEUqvo9dJOBtJ zS*#_gunNcXpO%2JT(cbQFrC%)Y=>~X9;K!{TB_Ly`K5S`O&-5B^+M_nO|~$zD49#y2KlUjwNQa3^_2vpLM{2eaukcw445j-sAFYS z2OQ~7NZjQhM|VbC-OZGq5G(0V+{2`vh#&4nu>E1UgVpo}HLK}zCcpJS^-u~TWraKj zAxulb%&Hs4!FEtnit(5+V=x**w1}LfRHvgxqb`;qRD2Kxfl6ce5k!uo&;kfyT@f2= zjET`3vW>=Anhz7ml~(O3avbyIqE7qQxa@etID=Lj1JNUs$Q2F6V=$&z;CYUr1P!CH zI$cZ*r4i%e^?DZ3ufd}Ul$zL&gWA-@xIK5tPfSJS0m{yhn%O67m z&vB1LP@QogMz5#ixFv?j)F^l+m}a(%0Vw zIViczbsA&1Wn5f*ewH3-!9N*_VfL#6#~kq-3ye8iF;q%go*g@N#KQfO2h*VldbQl8 zs0$__+-p+3R!zql7)vfOY?ZiQa$yD(g4hI?;XHRy4Sr7iOMj=N4d-U)^{P~~!V1fC zAQiZ&P()8qwL1Dy0t;fyR2ya-H_k}uHT6vf?wK5#3i+ex2|*C3q~^E9y=^q=En1AW zZ^{*a2R)_QXjJ!0657kdXXK2eCZqggW{Pw%7VX~zHi4gfXo!o`UoxP&WV9EkiF+sv zWvSJVp?wfxi2HGDgb}`v)~he51n%?E2BI1ql+Y&+I zuNH-s8OOdx#d=M3Sl;wX(iSSFtR{gH%3}~4DpV1X9GLY_8+->fyR*#@UVjEu50#J7=q%NWn)Btb5kbe5z`+OY5!Sgn5-vdgSh z>$&|A@kJ`z)Z6Sv9Lw#5z4?o@A{>WDDH%zeX4l8TAKX15e-{chsFaMHn8MJw-bm6- z+AtlBi-Q)`y-c|`*z{(YfcU9XQ3|i8*vEDAcgEoi^k4KrOWZ@zWMrCpaV&p}bXbe= z5>uQO-8?qY7SANia^9{t z3`UzMhg@Tf(jfzi*7?a_C1`WZdH#!7Hg6ZBX>{~RG;&h4idFD;TsNnu(ZZ)ma7;&I z(I~n_WIvK6MT?=KDk@>u^iZQg_%sEj7*X!{>Ei`$G^J{+$M=aZeWiNHpjBVaff=#J zlj>#U<7jHYAvr8WQq!&L`NnYcjJkEER*Ti*V|lC`URHt}Bq)9nkTZq3fq|GD_;9JAdXZR6po$zy!_99wO28wV<9%_ye zsra3$aq>M-JfSo?CWf3slNRaqx(Co>F`AEy#SJ@RfSl5;$hqY?;dsgYWM2%rpR4Aj z*)NBpZP6xtxCkFMk(8R4OE@rKjm3K73gMP(4tamc`ihLNf)}`AAAd=Z3%!$#zYGjrLh3pU|%(133PSw)m zl;_kTj5}G)25ryCeCseXmwZEH6jyBOgCy7ip`4TZoKvZG!qGzUcbzy2pXyo9Mp*O% zHw+BADuetfNSubM{s{L7@EFha8)GD@Cp2hf`j?RwX;V>{o^n1LRmH{%P|CqOy6hN} zo_U!Oo-GG~-wo(vD9M?a9!u3du^UxSA*aq5%Z-};KSz68U2TA3 zZ4SK&h5dnMaHxS(8zm0Tq6QNsx@l%D3>wW;MAgjI9*V}%w`gL~zo$$zp{L$s)L|6v zARLw4VjyT}1{|IAAqtbwi-f-rx}4C%u~B#pb4K{gvJ&3l;-d99dOGQ&DrO~GZHVrD zon}KUu87h{RGUtN7{#xI_#Bw>)byr2xCuVe<3LnsO?DnI`!nXlj|=J`%&5a{n)Y09 zye0esMfh@*q!r+^8KR*O65uuMBtWkX^HduyX(1|qjuE0tAP!!GN$yA%5h5w&MhhL9 z+ERGD2rTdz85KcdkPsOenMEUvlU7cG0;HcqE&2i)Mp#SU$=r-=i8qq}Xx0ssvV5Em zSBmxZY6BfVo-EU5h`&(M5J&cpJv1FGk8@YZ9J4;YSGy~M$d|=^(fOL%G6o%2&2WVm zv|358v1_%CNH=+lGI@#L!Av_n3KgK+Ak-K}$H&DHD{c+j1qt7gbMf&;Q&jSFNHoEf zGAQsvLgY4E03(uZX*nB2^I?2RABrvR$nYael#kkX6^V8*kFW5(Ov2{g`KxoqF-b1&qkeYkShq`Eb8I>@nkxB z2Hxfm^_jIu&%&kKU?FeB#*(FCgkdTgE@BpBq+`bz$G31TCe4u@@Rtzrc+OSe=NhIM zqG^%A1kE^o4B}A}e67itS%f#~BDRL8Y?>roW;#wyhDZ`8>@?B~(Rvi7NupJ7`<74} znVAcr)G*$$nHkw{CK_qLFMUqqP!#?wddye1K!q6ku8JDeo;a0>3hzf7PD~GbEJlaU=2dClkAJQZUpL`R zh7-wS!XDG}1&r}@8g|$f#qc+!=1F@dpowQ#-RDX0qDjxap}AZ|UQ)eV4HF~3d|78C z->FftR;#&euDUF!wq9g90h^- zDq*%tZ}_Si^ly?YaF<>+J2FZS4-T1O3OTK!gj^EB7e{f=>Gb2q{mRW|rZ)#3WL7ma zff-sf8_b>NSS))SBpo|^(9H^18jCm3JeWvMlaImbfIVh-T&FW~Hf|^`z7RUJG#7@Z zLYek|EUXD1!#ifsK@8Z~_;F0F$HiOp!$b=YvX}y;KeJ=k)2LtJSzV0wZ!KJc?W!vV ziGfqJmU&MyY=0I)LaZt^oK~y$pV8?M=yg*iBR{~5oJOOYQ(;*N{H3aAk!+4u{|MCv z-OEJ9Y=gmQWX^+bKAi%^xsZg)5mX6lRa}GmUwPbL#u!+)O>Z*;G8)Zr@|W$X zLj{XD9{j~1i&mD1{6r{t4BbIha}46QWR_YxVJnSaSqziG!k^8z z=mlt-^cIrID)ZUMqNyyesq*#W2`wFuele0+S~?IB#R{K%7-780C}|0Ip$PF}Z?8$< ziHBvdu-hZ{(+Kfn*g;kqg_*_;32FMtyzN)f6CbZV$3p~-TTHH#H4$W0bcmP| z9$FVF%oIHl5#*|PC&wCVJZ0{wQiV}6D1K)`cW@7@TgZ`@r3iE&L^ats9+JOh_%s;7 zNcSdqI1k1%e|%m1(+CS@giK_q4GK-fEslJFmT~vw;i-}28a60(FNNj9s-1zZ7Nk;WOXs)Wjtmi^i2Z~{udJ+DFwc+7MnEkZ{C>e`fcoX{W z1nV5~M+sb3(;dtqz7StC;YDO)^jX{)6r`WW80j3dK^1Kyf0&Mj(7X6k@(n|! zHnJu<+JHNG98T-iszNFVW62-IAFD6L8g*#y_?ry+aT=}WUn-i9b(%-SlldtSB`n6t zQLl%l<=ugnurzl+EfDI2aSn1SQJtrYH9~}Hi|T;zf{BS^A=dpKjT=#*kaR^--LL3# zV@$|v5v$FBTTo3gS`rPTT6}EcXK0b0{H-~ujrdVdpR5)x;LF0b32-GGT`fmdaKPXc zqYc7kd@OFc>WUFvW7(3^c*{uq#8gQ!v+z-#JM zs0EM3$710XGCKZ8ZAH1}YS`}3A7>sK6Y>goP&ZlgJjvk1+1l|YHqn81a?lV~F^#UN z5}z@suqe(A8`NrQwcn8_vaB}-&Wrys10l(DtpvBgmo=Cf2~6Yl_?>ZZQ`q0!o!Z+% z{?!8N0TvWJ|dpcxIK}f#%0=Ka?G_o=uj3L&L+qH|w zwKo^udl)USKzC8dEqR(0FGJEIGEaynmqXrk)sT5H27L@ZGj=!Aws~4DJizPqqwqj= zFmc7e27D$4O4PFuRo{KJ8ntlun;{&wufs=k@X;F0Ulw@x-|#52u2?NgKiw>h6#)%} zE>O`}<3HglxbJF!26p4N0}U<~ve*+j#K4|>k`M7ft?-Y-QD$+)40f1>F>#MKjEiBB z*BHxOXcC3JHzFY!AUBNe^YGxBqb|l^pb^>stQy8Z2u*}N!LugA%{G$f%B`u&m(n;dGY5Aa$6UR5Ne5Uf(}y5<;}2 z;q(44f@S{`!4e>RRnYbXRarh%4>Q-=tq*3e!TjJdV$&q3&kn9o1{WwRKPDqOLky(C zn?~aa=2~1JPqkd44|4(!pK}k89}SQ?prtHqa=+_?tB8SI=4f>=G#~_x5B^sGxv}I2 z*n`yY2khZ~H;k%pVVUhFmXufM;0uAHy2)yCW{9UoBrsnHoAXcdQirL<`W$*I)R61k z3HlyYtJG+U8bbKzz=>{_v>dvJqA@PDdi{+B#kX#LP`3q6@VqIuNWYp>{j^mQ|GtsB z&|81ch@P+dYJuAXLev!SF-m=lkJFL?DElhFanr2WF{xbrEm6h92esMd?ji=!-HLi(y&&FEU++FUf$xU?|X{FGBZmmwA3Fg}(*b$C4E_=p$TXw!!WH_}iFI zE*TBqjK_0=_BLSFVrKUbi*$cf)Rgl=K^WE&HGMZy8y;_raE(m}?(3MMxJVii-*3zh zbx&a9cIrZgn9&e*q$x_6A4$c38;JlJtUz6Rv`EtGbtEimH}j5gI-dNSye3VLd~@>H zEtrH!F~#Egr^#zZEq9~{TK2>|$Fh2qDIz3_E@c)2Pe+g)@%Xu4wIA#TUJ`Q|>h*+u zsr`n07a_%qzfL}nwwS>ewi2i*;y52gBgofc6Q#*g1Wqf&vv&|g9_cgiG|tGfk8~*l zeH8(d#VFH+T|7FBnwd9dC4pt(2%LK0f5%+GCPlKx(oPZb^U@<#=5o zv)z{?$jWa>8Wn$tAmT`oele8e*=2a02|p!+>6pzD+4S%VoP(7(w_wK0th7~!IRF^1@9uHZy6l&H!$ zaxyNi+ho*;D?@bZv8FR|JikPXu48KWMs-Uu{)Neh%@Wruh$~TReq1P|X|JGD{4(6j zBq#;;77?UlP<&PN#2vFx72Zq+k;z2+i5@%5>b?ALH^aMyMZZ8ivQ%?n0@ndTFn;W~bkoGgGOmRJS^8XK!attS15CA5SJW5-gp z7pIjH9nL`0@tzsrG9$lH(jlP}SD_x^8H!fsVyoteY7#BSxxzlYCkcN=vfqitCvg(G zJM{NF{4PDH7CxvTfAK%%!%WlL*s8-%#p-B|`X#sFw8R9ta?(_3Jo3kyb%4+6(uLob z>Y4W4xnu0qNo2VRofAWhGoKg#B!Kr!>jmL8aTXJF@>pmSJg+a*{IO@OHA&kP%Si7% zJR$6TzJQ+|R)?>v?%;z{bW2ohTPjsLMr(?b?SQy$$ip0dVC$fL-vSo=Hi9X zp?IwY;&CpYhW@3>eN&hNI~wr9nCNJ@S)TxJ;3q&V!V87t{N^|K*X#McXodwQs1F@t zQBD0GUzw+Sx}iZCM1-WQ2s3 z>Ml#Vr=M(|l1M;vn*rY)MMi!Hd=(Ap4UaWJ_F1GyN*2x zk1-qH9klT-u&`F55zujCb1z#L8xzB>gY>gLih}<#kIs(OvFVM}2OojDv3?p2L+zju z63%-1B5`h_D+^1IYyW)&x{K`h&TxtD`fv)9ES0iLdbv)9@R2qrvJoAL-5h7#2c^> zq=g%>;Doz^S`?$@-ux$4ZVARpI_>|l0=$Gm&A^RNE{xGDi?MFh@|K zRRaA(eUA=mP3l)ofL0leIek6$8N?Llv@ohSDtI4qdgx@3BDbbVdNDIFyF| ztNw$3Uk!H=?jf^QcnzLrb9)HwWh#U|v4v3-%Aq2vKPjE$XOk;ttxErw(a0A;b1fR> z+tgpGzk{4+4o?&eBKLF@_=_u{xlTwztN4hSczI4IdJ$@4&;x=VKNht@Pd=CoyHRGi z{^Vc0u*|4~#VjIzCOj5}2FV9g@#cwCt&aUhldls>HIH()hwiGLf;Vdt4(5OZuhuOz z8#PhfF2j)o&4*i6vESr@WW+H23Edx|yM(u=T$0d>luL?=ctF@ygwO3knZgXBtb{{6 zjifN$GWDjBI4}Xt*Q#~(G`RYTCz2=O#uEa62lu&cn4u_3v09yWSf|sji;p*!XseO< z_IPc!k(kNvx-6D=$t#QsaKay9H50)`a7l=yT@p6-P+Zu1g<@9$+%vK_vYy$B6s2hs zk84>5wdaR@o!|jeqzBb${}TTeFG?)+pEj~4$+O1vMV63@#72$eZ#bxmiNDEYWJr`S zSv7^c!veI%cuO25r&-fU5nOzHd_+4W2muyy*Xv9nPt&jC(UaV2=2wCg@iDB)he;?0 z&!Xdd$U0mSzJ$g{aI2&;tx0c&1b&#L(|AV6x4Cz$>bJtwf$wRVTx66~G#k zK8%h(Jl==}V@L=-5)x12r3e+bO7L<&p3*}?3X9Wel3w9PxQp@e1$eRvBB}udB;~~OW7f&vQTnjO(Z{{rYKHXm?Ev9)z^5$@N&&?||V>ep|93X*27(Bq%^f1_KBXoarWSQf$3t!|AF7hQkz26dA~AF0lX zFp~d{ibq0pM#eqnpW?#MOIn?9ghuQ8ZtSg;leB`(dJGXJqZlV1*@(`Y3EO9B+=(!ZGIl zd&sMJr8JI5FTs~N1>8dQCs1ZWUyr$)PZ&QPPYxBz#$uBJj={@6NLY!pv}6!*K0Z9gXnBgvQVFXxSc2C}#oR6EG5npxWJD#LzK2EL^OYdtRRSqy z8ut2jZ6A6}_*kDI8Sr^+go^Hf%n?Im{B$T`L@~$`ODt-YwER-NJ{rEv9z`_P3`qK3 zJw~t@|HFN*dVoRDE^SgQ2WAj=jX}FU!vU>khw6b8*rlRP+>=m$+re7$B<0F-ig3W7 zQJeAK+!S$%Wf5qiufbon2*sfE@5yR%Vca?LC6V$$eO>pV_**S-G$zKZC(je4460)`$nMa!_XMZDukgRcgXx;kYnUPaff4F?>iaG~p0Qd=f{| zlGjKQl=E{nE5<;cVNKHZh$kc7JQUoIy&GLPL(2>sI1OrqnCI}eAgY#gOSS4Fk3_u3 z&m}39p&KH62XRQFa8E2Hb0hkAbvIqQ9}HSYjo}0j_uq%s?t@6E!#Tp@>!=2@86CU> z`V815+(sgq>G0|G??5Q*=6I5nlME6`7Rdb;Y+tnm7BEt{JxB@;kb=*X#TvtE58u(vWElek(F!vxy!e=8Y%2s2t4OTLLw$Ec>m zoOo_FcM)bo@OvCLL;e3ho!rD&B#wMzguftp8%+NvwyXLt8C1!6NU$h~7k4E#i&p>ypweTb6JJB8dW4hRddOiH2T8X9yvpau# z3e%zgTgDe&Vu*sGRfRF8SW|cKdvTS~dj9t5ZlwB$P8#z{Ik!=#*L9!-a0>5^gB6s* zFG(Ta(4~w`62BC6@p=?ZQIs(kAU>bMWY`G>ls_(Tyukm>e;uRmHKV7vb9$O17>X%O zg<6J;+%`lRnyA@dkAIJAd1c9r@l4oHWewd-hAr75eqSh=@hoU{NI)q3^=Jux2^AGV*G(yT$bBf1QgSUUp$NzCeHpYqbi7cKcbX#QLUM?LI5vg9=8W= zpyQ2E?~+p#dQ1_Vs;^Mr%d3AzCDWO%oK?Rxe!P(%)Lzq4B4-&{w7)Zs7IQ~S)njrY z6+euwifhK#8m0JfONjao-QD9a&=OsYFncCcGu??W>Bqt-ILRQnwo0oFF;ev`Bh-Ee z$$HKZjn3ukDGF}v+zeFLifBVUJcP9ukMp^oDp}7Q1l5C%W>o4=f_LrIFBFEJf5U^YJQ#oe}(lS74Oi!>7=(Mq~aGJ@-rr*%BRbXnMqZFLDpC zSbiJU(6RW~dwRWO;GQWp9LPlV8T;M^M%%{(FqkV326}-NL7aFg%4hMRsIp zxF%X0ODa)H72d=@g+pSdLK&>qp=O~=IMaeQ8p7tOwEvFbH%fynPi+^UU@Wi>HA}Dv z$RtiJKAK&1!!h-6DKSB7iWSnuQjXtqwhh0hWjVrbE3n4o$zxZTM;wS@4CEa9_=c&->; zSyl-1Nt-SfE@8AtZ{p5z`tXAI@N&|2+pf}3#RvsVTs{*&H_t-Z+;hZXV|nv)c>F=G z8sgNdo7MBUKk~UR_mKC*Vo*`l2#&IO;8UHNe9lJzr;BX`h7&5)>x6P&sBVp$g{GNM z$}NvrxYzh+qaWtSzWbVfJt-nzOnl^BFrZgI;vq3chqH8#QNspgGJ-jz(in>#eo$?I z1JU~T#a5J3$X#{l0tR%~7?w)r#~gqpzFDJdBT0JreQXCvj7^F;D)i)Rfw#$Y8^l2# zH)(E+Sftsfeoq)jNDCHCTx!U_OG!Q4N_fre<~%Iss9#4%NMh(y5%)BgF*|3mMR;n= zT}}DGuA@ow2BubU(zqe3w2p(Mmi<#ShrlBJA1iyT-lY*8RxtS6gT->i=A4J=O>jdmJ4Fugj zhJ0KNEb+Dl%|4bgRE>#=H|R&TKU6WVe;2}sX)GBu1`WM$9P|1Z9l6dB4#JpUGCLoa zt^a35pZqdlfL0*lSxNt`dK{OiH$YNV@XM$+h+vi(^Bv3%Iyu}IX&B}1kA)UixVn|9 z+q9I6Q{5W{FQ3@K((URHa#m*?)@xxRb8@qO1aVp8Zfr-KHi1q&3)8fE;~>l6@vz-M zE9pP043uX7v+174JwHlLnzX!eoIyWij5l$mm5>DV|28B@U(m&AuIhQ?oES+Ps@I2n z2otVx(<1Zr8iPTboda^Tc#qS`W6mjUiAy)QiF-5HVvgc z&;%18sT`6KVgLG%W%D=j9LRi<=I`bK=pnp9F z-ZvQI&csFYPfZKypaTCFrz_JLC)VbI@E(og;^5hG_^NsivulC5bsD&Tfs zZ=_KdxlDd>72LvcoD@$5X4O~&b^710s=2BBn^DFbkj4O=hI!`JX_^R4c&}RJ=EhmH zVnhP_5R?Kb=zY}13-@W}vJA@`9#fw;M%4~N0waLhFqP`#h&enjh-V|Rv_{5$wJ?!6 z_>i8e#}qR(prd41LKI}EtM@d?wC%*_ynrjK~ zO7MJ4j5f+N$m~5|__GSej^279FZex;n2H~TKX+(8oN}43h>WCtW+RH$oA95}OC=*j z-lWFwszc`tN>m+5=CPQ~Y&ybhlp@I1c(l2a-GJRVWvdoPXmvUrB@fX^X1Vd^2v`+w zqKIK>0wOmd8e$TQbm%&n$EuL(qw}fodo(wdYny@yrn>Q@DN08pBil(=#6+q$Ye6s3 z(u*Wpl#Qe*=-Wd=B%_`Ho*se}G3- zt^MEly~=L0XU}9$*?Uit$$<3UrB@Mf-uM4r*Zcon=Q`Iphl9x^v*-SNKWp9VUeN3)$&}GLf56?w z%{J0vd`5mGt`j_v4YY%{f#?AujJa;ZFH`Y##?sPSFt}_%dmp1^N!KgXV@5E}qCx4J zVL)TW+a4ytN-~;p-mbHRK3bW(66o-ckNdTk>BxX|dNMdX7(|_PHH)jNu(t{$#|`}n z^0DQf;T8t?EFb+l^mfi>UU{_9l!vUHnX{ld6ayr~X#GKC-Xw4Xp0=m|Ad`4J6TrfI^!Fx*NLQd7^TGH5)G5MF%Rsnvy>t)K{S znza1`^+fPTi{!I#8a7L9MpLDa3$zRNInA8`%g3YLxw>`N(*+H32%g4jqp(njkB(0p zUdBRcU#TCca%YT4v8)}@V~*2dMzHnb+$|4Lky$(0+7P4i67<>j$PKDiQ7 z-yq5yTpfQ~0a_}IW)q`le zdd&9Dv&ngmHDN9J+ro9dw}o$svbrbfk`1f0B)_mn@wA_h+e6J%cU=f*xWxUbr+_NYYqb95qVLkf*577o#b54A^51NI z(p{cSMsiHST#4tgzkk$G1I-LQC<^?^>%}&Z$x&&YAei#yrA_*obq4Ebkbzzmzh*+j zBAt}y;j0bsaIos6Tu2hSC=+aDijO{?r#wfytVhd*oz!2;V&j6Fg`-*S`Y<$D5Zt^D zEzgwequaP3RoOzn4nl_hk67ljW~~7YV)&xZT74V0oThis87qZFUYJhyEB#cwefjVB z=^3u)rOjmdGVt8SZ&L9Vi*jzKFXh@c6LN6u(o>bI_Vb;7>Sd5%9K1=egr_s6F-jgEmMyeoXNbd6+_?>ECi4Ai)FENUn*xYSM_t{L0AA@=@+gBT&pWl zJVqtwOqdTk`SuOX(m|unIh*V=HnmNIr_jE8qvZ}g~ggevkuDAioSvC8=j;09j| zvpN55_<-A1 zUDq@XT_X>3X4{Q?36?L3F}UPiULLLN(cT!g2QwljkHdwGiSO)(L|yMPl;=g)0{+ts zO$np7(O-EguI)<2IrN;3W=-<%^H=nbBnce9a#9oyzb(9-g}O{ab(oe^Yd?9%=N8bw zI8D;+&0NTZw=`GH~S9+by4u`GCE}OYwoz`D?%?@uTBOKi3(k?~^@e!Lff^qmy zq3J~}*N&)kty{B7SZGEREy^cdz-O01LrxVy3+zT}5(^8jMCe+y?-_#ZFg%v3EGQsd zDp08nm7SCk#+j`N<4|2;&~2$CjQ4TZj96(vYI2^n+U52hTm5t9w09`Eb1yJm|3S6EVn)60JNF?$vgUzR&6_9{z3K z5XU83Okc)HJz}a>oBdu6;3>NOnfke7|hQ zr)CAaI1PK}5^Z22Mo-v0K>sHGetLGWOEAUoPB-H0&|I|EP>pPuNcHo2kRHY;u?Uh5 za1bPuC!_eVs(0iR&><>6st(>x^-|758%~8zp?%`;7`hmVDoi_|X=*WE9u@DFLak)T z0)s5J&?wiiO{#DK-&+Nyy2W}!3t7k|g{TTG3nB;1kOoJ@AI&o<>EH~`(ky9lcN?g7oi$klhj4JE>D;6>*}A^*N~h{ z@}|?o@F|@kx(~CpNnPanp_S;AL*gSkTsLZxEh3}61R@GD9+9~&sKe`zq(TOLRI8%@ z9;&6m>!IFoY#js*#c!F?;wafhk0?V|+tSalUOpdWwEbFF==~5(j|J0%GtnTJJ|iAX zUjqSki?TiYBQ2diAKb^Gm=ipDWEBUaLZxGD+}z;NQuMy`wQxRP7xj^htso!TY&=7_fN_?)2!G82toN=aMmSnnw;4Gu7%$-IO~ca1?CKgAa&C^PIsH}nX?ie zV&g%a!yH!*{d;8Se~uOvf;bya2;_RmQt8VyJn;T{_`At4?21=*Lo)5|EQgPY(`W&= zx=CaQcYqHx7+~?j`XTf%3_8tO4|jU~>Tuxx2fnvLKXRA@HwmU2m!Tg09Zo~aIF3~Q z^ZhTCraxIXEHh4jtvn4YZ#Cpl9xoUZ(ku7tIlT|uK%NZwC(Vedn*?Zre9lU^pZ{vr zppaGvRg-VQfwfrBi1J`mM>S!ajQo}B;AyogP_=*8!Al*0lP?K%$KO@ncGkhugSs}V ze=&N`p>}qrQ1HHmicwoSDFy=cyu)L_)jGUv;g8WCo9u9)9b9u4slqnZ**PR5EgoFn ztqZxRfH?xqWQBEfxGgd`te?Cka<87m5ok@=4}a&9YbZy=Jhn8)GWx|v1tHB7luHI? z0kQ&O^*nN|I};ho7AbC|xIBwOn(pg@E@p~-iZ4M8$R|5oirighqU#l9oa-IgGpy9I ztP)r-p8qb6pG$*vl+xYu~t11oWV`-VjWkj!Z;)D?f%${z##O5Pl?5M2?cwm4hOoDC4IN#)7myA* zO%q`@QJ#q36+FXZ@RL-Qc^uvHUXQ6>se(mXbME3$wu*6xF5N`Pb}sEug7#}&pst4; zfTr%|IFum26`&nKTNe%p>(GvjW*n<~$vjTq+tU74w13i|z*|wBz+Y;;5|e(?4E_74s~~WjbajsgqwFjW zEDD@b$g_b!;9VNGRkz&VvS8qyv^26(WSrj5Cpf**4ZbAB@J-3Chw zThVDuQ;Ia6iG=C)vNWn}$_swn1lLNvDQ!cW$z})ZkuedWzq8HmLo*hmAMr+E^EmQ~ zP6js|4LQ=MdQ?p%OH+kwqOka~#7UfkfZ27D|&<&OXRBXZJF|x?6>ja3|J|>BQEC1W-8YR{?)=`L~#>`wr$YiBPO_Zn`CepVsO4J zuG=aPCVz!D33wA39%Ch_Pof^AxbDVapO?-QTijsDDbjGZ0FswM6wW6|RgZVG@gpOR zh?g`^^0$hsyz<&cf-QsvhT1CIy$^M^p(ZP1i#VmT)DN?7<1nE!SMidb$zQ(~($pw) zBKbyJXF_5~3n8EMRtwudBcv|SLeg?MrJfqaVN`3Qg?f>1_9MY2nCxFoUKQCai~CIo z^^)4sR@^}^;b%3L<*Eqa{vnmeRtN>64kiV_^-+hRh>$gC1z?#WD-6r zdcEJTaX&|H;^$gN<=52nYrw)E!iWVLO|p#-@uO?hEmD{PuQ;YWQO9z8R0jY5YjYS_ z;7`RD2ro-()h+M^bXj2Gf3l#1dP;{w=3-I=9qCRT{G$6Tdwv~c)9adv>zU-&CnWTN zI2tJi87tBkufmEd?kK#Jp@QA zK|0P~`>$BSqfy(Sl8|d@P502g>-1R2-BmAM2c7+-6eF9p^XPaot)s=M^>S4yd!e;Wb)8T6yw&27-x}kTWg_`ddoP+i#NJjNxShs zOTmM?(|Zi>t;G0}jvN6Kxl_M-@2SfD?XxcCfu)s0U+!h9JEn4sF9znAwN|Op9OF}X zez>y`$PrC5Ier|BYauqdj7PTlkVJmc(yjX(Cx0DFpeiXI3Ypu% z72?M1CwH8!Zu36EN9u+_j+H<%)cP?%4w4G6QfaE;zYu^3&kyc7Kr7^K_I-M@xQ;^x z2k8+DW|NbedRGrIoqyyVeBTSf@HDQ-QMM}vUh*?-Bppq)E>-So=T3myjB8%yzBNOY z`_??t@Q7yVc1XEYxy8MJ6TO1w7V$hj;Xn4SXCY@GD2#?+R1GD;LW2YDI@~13%Exo6 z7t!rRn1Nsu@?^mv2$vpMRHsM~!4HgVzJib5cwNO#?0)D&uw zpMpY@ku7;e8N^u%TmO6a`iMjAuSFr*FiZL4A<$kH`C1-;YE}ZiNhAHOF#>9Le@X{J0gEgzJr~fMTNXoM6*sE`@w4piLp+FS)|= zNWcnY120$EXm%lVRm6O;wX#?gq@RSpB$^gL0}>Z;BNhwcpW^V~JQz<-*4&66qvV3w zNKb?$yx*c(qHhL+EIUN$v#4Fm&G@9?Ib&0dCuaSPCK41NM>+ptRv;Qemi(uyXKV!X z`m#{-@u1=}x05$T$qqBXvj7X|!MGJ=!ULY3F*ql=$=A)1l9Kk1_7yWBD;TwsSj6Y^ zF%}FhGlITHve6+!%4&NRDXz$K@TZ$w^#~?4j7W2BMx|w?K|6$@cc#)R=91Q#`0oeh zW5!1D0rLGNzs;ri7!HOyhHO0=Qh4N0Z=-@JI^?)2+tvV9+ssz+Pnmb&1h|l#daBm`Rsa?U-9qyP(ol1|qr=>j7@6xnVCza!`E>IF-O>O`q)+IrsKkM%5nXowOe6laEuB60 znj({a6dLjmzteRmxDUi8qA$hgb$qB6yoA2;|092CtHc%YMWSUsYNe&6ArGi5Pajbi zUZNe~TP=1$S01!1v^ku{9)(o~8;4(@IrX9GSr?B)%YDw^nxs_uhu~ITOVD)UlCxut z$hNBZT{H;>3n$cFs_G^U^)13h-57?3Q!-Ur-3SVx{ZVw&fQR^#?zQah?j%bL3Y$G? zy7KoO)09>>g>g`Q4Sm3%39)S?0$*w4@d0HkeP5Jx^o{tuxeqs}2YF;2q{TullEpSY z+)cC4;RnWEN{#Sh+&l-Wjpl0qik=;EdFFJ$-B^lkxqMmT#>jN24LRc1>M497WV+^% z1t}?bl+Q+2XR#Sj9i+8zEU`;BL#`os6lTd*s!LQ|v)}>ZLwmte0D8LihH(X{Ajk3B z>5R>Rs*n(7-iDDF`D|TdX?JN?wYSU+o6Q>xDda^!L!%*hb|3Uj<7J}{sbFm2B3{_z zC_Rp6Fr@2I21e`>_dcIGJ*Fp~k>=Y5v|dR*jiNoLP%`;UfHYXM3IcZ^Q>e{C8cTeF zXQ!)rm3_+!6M-sGAZu|vStk&Ey< zJn>M-LQjxMNrm*E4EU`8`tnEsaq^9PW&M-zNd}^tslyQN@=N8S_2gov5HRsa<_j=H z)Y`HQ@JS}3$M`?-gsDMCiH!(KhK~AKkfk*Eo9?5vL}4hW(r0bRMO$dia}ge2BT>tM zn9vtyhQO!g1a&k%KwhM1jdWAV!BG4e`Bd0R-&T(iQ#mqT@{_QZpd&YsQvFI+!{F%+ zpsTGc7^44CwBBdBXDbKRVN>eQK7swd7HdI;Vx#$@HK5@qwRd&tkhhfcUD0wwxO~O$ z_?;5hdo&l#SPq_xIGu9-&8W2bW&dUK)4zWPdh;A`#KmM-b$|HVWd22$gUw~z!T%)i zUVK)=Aq_nHO7 zQTfV~X`J8JE%5rJ3a*m+MLET3ihp1Nq?W-vaF(GBbExjL#HSbrgg=A_xXIU?3vRi7 z1@zMIAE}O1T71#~8kFCWjP(~-!R(}D?8dN=#RB|9{3-_kHHBF zeuJC)Y0mj5lPmk$&xdvQ_4}vP(?WSQ15U8Njwjr&PpwWzr+G+f?lPsYlCB)?}5}JsH=|_Dp2SD zRD9HgkmJ^hcyL;3Kv^7@&sl7EdhJ65OtD4EpGP0dmc-q&%j_-DelG4;Cue;ctnpVC@dxl z88LEJJ?82G+x0sv!&P%4kL-EJ;bqa|WP)@hwut8pp%`g0eO4`ZR?H{iL;+lc7kDfX zDOK2*DB9}mR3z{tCse%L+34Dv3qni0CJ9f#o5VNqW^w4xndB#EWCdV(zOMo!gc|8kJM}^U6gicNU4=4YQZjw%yEQrL&Afg7#b#7PKHHJSPL>ig}&0#!RbCZ1H z?SncK&V1(2j)+4coDk=G2jldKSc1Ws_~-Fbce5uuho6whHb2gfM48jaW$SU(wNB_j zpERW7n0b#Ey&CB*xiirT>3Uii^-V_a#MDo11O3b$Cw&Hyj%L7va9e8SJ{DJT|3E-) z6b_$du$;D%P=}xq>=VS7xJP^FBc?dEe=|7jkp2bHJ@ArchcR%ekKPQtCtXVYq|(?s za9%l}hoLag8}Kt9OheB?Yus}l3&KdDtoqtUkSEOKtmB-A7v=AK^(>3Nt^?1m!*Tv6 z!k_9fo5zk4`p-5CzUChl2K(%JKCiBzYu-1qWnX*?)J8RIhL!q(8BCx)%NJ@b{GGdB z?^ze};E>-^p94Rtvxrb6y!sI|r7kpGV5R}$ zqr!q>h~Ru-r4I_P!rPiqM|g>+1y-Wd4|CB>6JnBHR1K=)eA+blt6MlL6h09at|>dU zJ0?l0hu7Sds-kZk_qSO%3BKm?F9`5Dx^@u`1IxpQvZ2mN7)MsP6|s{Y3BE^f;vdDw zgsUtyRXW;YDtB98+WzTl~XqmeNYbo5iG3ArTuD&Q2?r^0w~0?c$qzvhT)eOTYR`$zRbj@gG5{bpZOt*x3V1a zf_N9ZU}WX`eAX|*Ov?;q<1(a=W~<32XH6ZC+K+Oxp|yG#&dN4dG3IG1IiyYFF$vT?h#hWt~>5!0B^$U1UcwAYX`#63b z{zjQJV?EiI2P-B}5VT)|H!W!6qwDsdwRzGu+e3ti3Wp{bwb$S##YXMba7e?QBqdXq z_IhE-MD(IEMa3(ZqpwTux&~0eG&$8hH}Mdp;*T82FYS0A@;G^o@zR)_s1pxtK1`Z@}H*p zErZ)VGtEk{7nMPXKU{wDi&bu#dPD~gH+%>0!SRp+DR+X5TnjpEf1TFmaIXtNRsgVV zE;*`&EDP%X_rMh6B+Cyx0afUW9PamW;8m4FIu#DhAs0gQc@_F|^!|H#O|5{SGhkx^ zM60nJ2$SESkqSl7eY-sIKH!77rO*Ik>W+l87qLo+X9M|#>@ywIZ?Ubi`>3a1HFf6d zJG<39D8=qC*Z)iNINZKXpO4X#&RI73zh^i4j7Qa$1;kkmxGW9^ZvxlBgk+38dLs}y!DW>1+9}RL%_#?V1?;m>#OZT;ERw@b{T0-_DH*a&^nGPh#PC3Jk)%5ZL*h|i z{224{Um>GCRdy#BBomy24TT%gd2t##ZL5HnNq41XFfbfvF`XV$4d@V4#ltLkQEXHT z#!G#e<^C>Cdvi6UvUoovCH$ z(fUw}pc!}EF}V@vbi`L(cmUePptH~`6a7vfxt;WwfMz(9R+ng0g;#vEB||-9wUwUq zmh^cRsymU|_~?g_%OB^LY@bNq@ZfbZmC6rG)uA0;cA^fHa!Sh^G&a}$vIQ;4HuunM zTs7E>>3CTq{@q{n%g=mg!#EZRT!5WXwS-8oXX8F5!eVZd-=UU5(qW*c2Uz4i{);Y= zcZ&UVmLoJAX);sHZ2%L<(0YssoqRxT7)>u7cDLjoqdB?yOQv}vgEb} zA3BY4 zb{ee>auPiniA3nL`1IdUBI~K>FJ!Pu_+C^`d!TQlh|}Npav050-P^@? zr}CncjqfF<>B-{LVGI3)2c?{}lF@wSS!vTWNNdaStmf)I5u@HWaW3gZcR79RGqyk# z*Vi2D@Sbk~nv-UwrFjm@=s=~#hd80t5pf73@+S9me0ZCJe`50?s7kS`utyTFkS#`x zE&QINIp&%JH(B(AK^80lufKIn9TSrtUIs}JMe5Tz)}9rlr!CgZfzURLny=)pFOSfM zAu}8Hct<(PKJ-f~B*lei=@61s3fq!NiPL$6TVy;1Oxzqb7ntHmjSfF(ZdN^|L=Z{L z(w2l^nRl~o9!-%>h6+jG zT?NKcnqtXSqH^b$o2O&+gUOj|J*_TWMT7+z+;HF>nG*4+U8(}l8h0~LJAJnXgK5<) z;RoO5)o{Tg8I(axvqMix-(&m`EnY+JW}=}_l0QsHkaz~9Fwd45Ye;bx=<*@5R?9I- zW7m^wll}r*K4LB7RsNKYNPzVB{0&>^U`+_>DqHt985`p`XOr;CCsSD~pBf-6hW5PbrqXs@e-i($Ib06n^wEhRlCDyO6^rg@I^@StlH zsV28dj&Enfy@YUlC;jvkbmRE;JMC}tA;vxhUY6!MYt+tBG>xYxr(Ip=?yK@Yu}sr% znU={y{Mq)wY-bvcW;qM=<<5~aUS|VvV-|R%OU@4aC8zU^+?)i#3c|eHoOCO-?EXPB z=|)Kzcleq7D~E!WgJWFI&boHqX|KF2_{@)%K&12(Qyu3gxAgjS&^|zL4j(j-npW zE3Q)d0D9||zzuJe)83bO4}L*oQ3%#EQGnln70Mu4*$L0^usacM)lrTLXKlyG-*EQY zx1nB|hDz=U)U7jTEq)*7(w$8%pfQwnR)m%GB=%#UFi~<84@(jRMAo&s1s*9hhiPOD!pzLXlTYrlEnXu9d zxO##X2wPCQ2KS{4X)A@^YfvxK_c`9pqh9BRJ@F4JJ}4`H;&EB1M|x$0n>#>mbW|Pl z50IPg6^nAAfpNoFl_{k78D>6Tg5$i@X_Zr6U`S@M9Mm-*WvLCs9Q2m=jB`L;MJ;?j ztD|N4A~8#N6H1xk=wmk2-9w%c{q=0uarLcmcwn5xeJX;WTs0TOY&5a})`>B6)?TZ6 z$eZ42VMcGoFEO`|(FcOT;C5+c0_sDdXtHw4&E;JEidkc&y-}XvJVCPPJ?SW{;#o0V z8zzX`J|!15=}qQSZz5NGC9&-wsA7ZBD{XLEm>khb1yV`HjVQy=DhAa+DW-4I!BLt@KZH@__8DC- zK$Gz=F-U6&#T?o2P!zh;KEtgDxk-*pPyubvrtPKHa%US-)%TP3=mVo_o{mY1jh{(O z0F$_APk0FGxNpJ(up2&6$LVo)2&4HnygD8>M*~-UiJ&f3iIQF>xA?o# zx(d>pb2AcS`c*-7%YVpE=z1`^UwJ5@JVGANB2VSP1sVTh7-XgujeJY~fgzfOhvHF5yqfKHTxy*>|p+d|XG-Za)Wm4R)re7c!DJ|Yue&xWHMv{2_) zp+I^c-X;sxJ)F{qQl%q|26eQqKI~4=qwsgKa#b46tn(}d%?Jy59MqffFU3A@V~D## zk(+oH-s!9A?9`;p#to!Cq!df|8X-s6hzux-!O=Y3V^pmW`zKpm5NsBl1f5KASS{B` z{v;%(`h)_yHzft%5%Sm__NiFxtejN4!_DAm!jbJfox$QXc+#~BWzX1bY)y839oJ)Y zf7+iY8?P4E%!189us?;P+3>f-#Dgd=c8McgPZ4c~xH&lEpp#VbLJs^*4ROPA@ScY( zIGPK86J0%`vlS#I6FP;o&1!Q@N>@OT^pzfSt|lNypq}j?FpIMrT-t5?xVlV@a*dQ8 zO(tV#E_vI+Qv`2ZOjXBQlb|GIk>@hW6q+8Li1(`F4R=Whnu*^C2ceESC?q_hksobn z;+DtKbliunB%}RnYYRQ3g!jvp@&!lkP@1wnMqaD0(X6l{Aq2Z zEybaDFL1+ICD&tI7cEq33km=Aru4-Ol#pN1HI#|E)|H=KMSjmj2@~ywDL%ALB16<0 ztH>TY5vFa?G;+q-EX!tNR+BwhoCX$6d4`Lo~V3yV)dH|)b0YCnl zytA16>Hbl^sN;uKxEXrdl+WpK*^AC7a5GgtAebuTq7$SSy)@Yk zMdvGB3xYjY4MX(`wVw0?6~+f&9kCMCD+<240yOkV14*yOmXS^qP?~(+KyJ2}bShRp zmEMInK3fDHw1hIeomK9oFXVuhCPEI{+3M*^Kv!`9y%-XlkIV-PD^H76PI>cJ?xnLL z2*3ik=ON!}CbxAz^P5)4X;e!$xi;&Jk$ueMAFzm_8_aKU!!87iank#oZaHQJD|_Nn z%Q(jU9EYO$54d#ZPI4O9%PJ3(G4;ZnJ3ys>_=ByaK0}-820S<(a$ALlPWyU29nn|_ay`;Nw0XL!Ta|t5 z)0x4&J(cSVuUc{FsPWXm{yjTp-HAl$3}?J^5v$y9Pe$klW-&TU3&zyFTG0Ky!EOA( zd?>FE*?`HR=>4vC=OT{pxoO)l3|>sA9o@moGh{ar+-S_zwPU4}XZ<@M{X;m7EZvH$ z9_X{n*)v!Nx8cEYu)0arriuoqv4C9sN47$y9upo9_C3#-GN373Ec~7>r|byU;MtZZ~blU8_GtA zsFh92Ij&v!ci3s^r(hy#Be1}BYCAoDIm&mGRj#6QWZy=nAYC`P@QN=gXN3!3*$U*q zxP8K6$`lcVWg@#Nc1nI2{Z+ZQUS7n3p6g7y87ex<=npD3cAXHFF$q<2udu8W6L5SS zB#}dkyiFFHaP1awn~YK*RzRF1(iMSpixmTRYI34T5jTo&;MYWS5tRluc;*Hye1*rb zV+EJV?zCUUcBs?}aDSlqmea5frSsmkXCgk@yRq-m zyAiW6_;Wb5Js_q*A)4*_Rosf&jH2WZ+%A%D0f=X-kRf=yEInaUxQZ^ytcW(%>?~5F@pq zOd$VgpE>S)hyRU+_DMDF=|*+brY21M*lD%65#@}g&uw)#6npChT$!>sZ}d7e2=yl38{@ zy>6>+`uuf^@{kkH)xqEo2MO{}o_U@%AwQ;J*&hga0~}rQUbu~y$uD#hXwc?wez}s= zlnj|s1Iuar2d<8)S`oKfb6Y~)q!(~Xf(tR0#fIpd;2(DZBrgZ@PAd{^%M5tb;w6N^ zy@Qk}ZyC4_g`b%5bp{ILlA!|CqS44{7x~A+GQDeurOU_`-p0=;i}VauXFF~HEUptF z9_#NTL6%~pZ!yZ6%ySohMnGL)aK>%aJsZA==@C_Jr^FO4{3$8Q6cjp?s?1%;37I;Jq~eAX zZl|@Z?RvkmYkjcp@r1&jOqoIOHc2WbZ45ois&9dqa@tnCFd^+^nk7DmZBi6vlO`%3 zkmoJeH!)a8-iVc^CD^CJ2ReB^tsckt7YSJB5)YtI(13|E$QTnI63=^;fpL|mD-xP5 zrRAAsO7(1BREp5hxxb{e3OHB$F3HyUb3x!|wgBu$Az6n^s6zh9A+P)bF17-EWEf>f zxD?@TwttKtcr~dUl@dDc9fWVJ0E0{wSfSJT27gGZe_=42OhaFi*_o<~wpPD@$5>PY zcv$#DfM1f;^bogc4HXiKPV5W(th1H)FKJiEnxhelTfqtM!Ij>x%=zR7>VOe-U0+FF zKqj+n@>@)9rY>~X{8BSf0d$uD?*mq+l>gJ8nm8@Q|9bpll2FQH;Z%v4-4K68{CnJ% zUt0yS8kyv89gU|&5}F}P_1!aQt`#D)v&i3ask8dO+(9%dEHYs{mW2;>*eCV#{2=FX zZ2XGg#-qPf9p_+CUU^r*FAz~eIF3X4*)Kd&B1har}E|*!AGhAqO;~4krTD&j^ zX2LxxC*SXTW4`-CT#8mggBhSfvI!5W6;OrVALH^dj7o+v&eblERspqjmilk+`uOos z1q#WITiNt=2s`I~QnwfeUF4Yd_(H~wGynbx@X9Mm640w5Iqo#BFE*eRJ%1N2g15j~ z*!>?qUvgH$x%g{|0rYHTm)lN5u2r57O(3f7wxR4koq6#dV+lO9am9sJ<<1RqE+v_< z^J-A5VRIvD6dHTeYRwA;OTXv|qJZ^pGcxwNvutwy7&{T-)Hu5{{BXCOQ6Wuk|o z@1n6${S7t+Hi`%HWw?J5g{)suK)7FX%EkrxDkf@4xAwsh=oTYJV)FMZ(H33(1f0Pv+^yUJujtyUvu7tecSdSBOZGf|PRz@|O)QuZNLXcX|1|ji zS`*-q%a!F>mBruB8Hs7!{60no{3`9qor2Rk{6miG*`|h0vwQ|MS&n?5=1pv{Mm$m$ ziWjqlEZXsRsFIzM>N|v9Bg`N1vqH-Y3Dl5wxDyOYLlV#w3SJOzD0n3YvNsd0zvm|j z=Zsm*SLSnOzv${)#UoN-5A!U+YC5G0e89QQrGY&H4=$*&t?kQPWDQ>GNq1V zf+#oUOaejmKjScm0fB&eD%=n?OsEPejF7!#_cOv(W(X&1f=Iyi47e3WeHJx%fL}`X z1mQD68`!vK(Mt4zrMbyb7foWaEYew!B+E}_p|YZX(0WUQm)*9i{Q(_0 z*@vKNQC)l-Rg(&7I{G~mr%j-F4_ovl8&#)MlcqRV8K#NVft`Rhs--KOwle`0= zT|U`8V;?EbRw*eK8&Y`{9>i1mr{r8iI)te?=wnO@g`&Eew>~m3 ziQ7ULif#(kNtrw?jp@d?IyzbA^4qveU2>3GlTd2Fr$^j$Tku7_)X3L~=u43O`FT(k zpGX4>jnUGzD;6G}G)?-_Ihytp_To>~A96v=GmP!z4^DRGfdcDkOFC=0-_?mP7xDt6 zGg%&kliB1~@0Y@{L^R^TC&fj0CKzcx?MeZyOO{7nBT)!Op7sdGeCP$Vo~2mKiiLr3 z#4cg91?g%-B95%s9bFKrhn*2Ivm%wN-o4yL>Z4L;#uMd(4hB9u9Ya<&eqA_b*}e-& z;s?o=YjkQP^)^nQs#3wJNx%E_wj)lP!()s#bIQ73~OU)BE#R2kGN*cpvO&~Nv?-fZwxi3I!h~0 zOUq?*)H-HHDNE)bMJs`t+qIY&BwwTX3qh88Yzz4N@U*Q$&U8qOlcfeuCoQUp8*Ao?J!wi2%DY%Mg%ln#d$XMK0*Vh9d-s*C zmgsO!$6HnM6I>7VRPJsdt72G`zYc1ihrM`^LXXMoc#y{}ZsQ*`_pJ>aG&vjLbFl%o z*Ml4F7niZ1^5}ZhEf+oy_H^G`hn~(0JukdJF7*7a-AJEUF=aVGe=%T@NG1=3-WGd*1+$C&QdIhi%<4l5xC?*rXAGG94UotI2MN44dE zy;7fVaEg0F^we}`YOAwVZE*ai!hHUp+i4ZEvJtJ0@fYZ{ zF&A|n2;6t6NITx|Lu2~=(`4ptc$&&p99-WYzWRpB1(}6;k#J(*Jq!vjMC?B{t+#`b z&&z!Q*-_9P0*orq8wRDqBj@BP27D9*V;t0Fl_LtcLAP|~z|PZ{+yQ3a)7_un?@hbI zf^>I1$or3bEXxtg1Hs)crZRH>T95zUs;0X?s}E7>B3I~Kd!z&D!~F9}-%k%YcPVoG zHcp3sN3hPjQJ?4C_Z{K>In#X?4r2lK5O#^@nuO9d26V4wp?U@IZTOl0fwXXeB8f0^ zGOk9)qHa;=l8*`S?e!>nhYIx_k1i4Q5&=$x1g|hJtE_U@xfpIn&%yg5>X$`-;1+!m z^~(Vf)#LeVt3Dg@1I}5mo3S3~GCGIqWw>0zl{nlT&A+L0f_l@aa9TurfNh^rDc8<`J zzg5Kyp0!Z^Rb!JPjD%8CPpAVyclL-gA0TLz>lb6Ia6A&=9RIS)U>MI|uvFKkLifii z=eTx~tSAY;HW~jsUOXXA5-FX1FB4sMCcZO$Ot#r>5~Oj6_B4^@mR`<48`Uvr#`Qci zdm^giNb)7cSt1{s##mV-#=~aRn_cx3DMi!W-u2Q}4(4=UG!nOvic<&1ST@x5ey^G9 z?=i$}GRH?E!y^{zA=HhjNK9E@kCY0y4=+xW|)f_Y-VO#3$oy)depHI~vXv z1wk|tw>pJ?MEx6bc-FQ3v?L(?V?(V7w4nWRom(C!!L%T`NMPRYsDBHB&=q*u@3-IQ z9xZQ{KMyn8v+ywa(B_|(T=)JA`0YWwhQ17Y$#zcYGRLC%&oILM7_)tZenH!d;_Xr% zUdEwmrl2+b1joRL=`NN=$|{tqmhE<1%-7elhc zYh;uqksI8p(Q8YCuSKC9h6VY-5e@&uFVX|J4iR$fh;&@+Bh9saf{fMJ($HKRtxhNz zQEh8 zy&asRBr%k6CRa~NPDRyHQY>$>6%R{u@M4%Qn8SQG3Q&^x5GOgBecjX&5mcO#!ou%B zf)ZXtX7i*t;w*)7u@#`j%^`XbWpJ$^Bci%iTgahbxbkE&Ar(C)^l1i)YoIiO<>5}^ z$_n96=gfOF?7x=A@HjD_`$cL_D#>u}C7F)rk`YEjB-P;1&PWJn;qDtOng&f#a;lAn z-;(6HcxVn(gRFf*?}RR4H?Nlli!o#vxoqNedO~fH4Jo9(xXP|TvmqEWqHN|}=mqz5 zE+iq?mWg^>aXlNi4Ni`-`GMJSbqu+#??I0x#J0=i+44gnIFZ5KKntmJfaR>fv*>)= zT+5Tx>i9YI{z^Q{K#43!eiTM)W{4a?kHy5cn@Yu5cxWbs;e=L?3+~nolwqUIxLwgI zJPUn>kHG^7pPKT41T#ENQmLLK{J)WBpB3wlQhH*0cIi9nJ*Y z=V4jY|4c+>o4`=l!{@X&B~84~Z-Rm926s>Ltn_?6wplSmrMXGYkY^VJgPk(vZa6!W zoDWj9nKQ&SomaSGT2&eRs`zg31B+hNGJ{OZnQD;sbbQFv-qdDqnt(>wber2P3p0~$ z2fN@E6n(9~q0Od$#)RYFkRw&s(s6NdR)ZTGV6uKx8l2O;5u&G1^8f4nN>kr zt_2+mLEW6zk~!-iQPIF0+J z3pP44_gKg|s^)=pi~~pHf}~YAO>qB?VGlW%e)$b%I6K(69F4Gs15T^Fnb}|2TfUuq zk)%JZRuaIN(vpB@1pB|*GO&hMVR2U-P9AUthL8zGl ztzpy=>P*GSfJ~fRjzuPjup-8G#RWj^VH+ez)q6y1c0V$-WkI1`8z_KtaB4e@Nyf>H z3ph(xq5_EA<<_4=?TPSGTzI2$Wc&Tr_OPZ4?OFgmD>zrNeA19^ph^_dF{&yII8M%? z*PL-KBW!l5GCZtk3PoeJ%_6IW?Y8fDu#p4gC|J5a(pGKsYYaqD>L8D)4#nU?TZLOE z6m-|70JRZI4>07_+jW3e;Cn!Ddf=L2Mcaf!qz9FtImo72xiZVTt6bi!!3P zSZhMBY>WJjM@(GBsu6?ZLE$yXz)7N@2u%G{+7U&HrKt_^U*VBltIRejFx%`oRU%Dc3bWAb-sJGdL#YdhKvE^c9O45vY$--AT1=zjT zwji9{k6UB5VMrkra>k;wEXO&zm2`wvp2^M*M~5i;u zMC4=|LMIp=3psWwVFts0oN(6-B%lGV4y;*@E*a>Y9_K`keveqHO=|nPsjMU@?2MC0 zLV8%JjUsw*oDsuSpf6f_oQSTBS`a5YEbWjESvp!AbrrJl^NFp7G9Vr8iotWT2|joi4OQL;tAd;%C*pCQU7=uHFveBO2PRmfL^3P6|V^ zX(uP5(WEM*RtW7zFKg$$WmR5jkR}}rnWSzWspcMg-20Yr-DY9;MUtHg*SE7 zJ(c#Fo3us5pSl+Xz6+DvLX@lLwp>yT`)QW+wmHk>2A7ibH>sQZ7dfb4HVaQNS)mQd z^53Kmy&I0;TH^^AWHj6$8Mq1pt?I}%U~0Xc&hje5NKTNr%srx6PCrl0ZRnYUo zaNT5V6?!>KX^MZ+-_24ASD}W=RI*Zj6}^yg5TBu0rKq7z8d_Q_6sxfXO;`z*@*R2V zIa*i9)fTfA=;bJBxRD&Db;I*lKoBn`A7M!z6T0QH3U0S`E9Aq>92Aq-wjfIy!UD_}t7E!O<^ZT>q+CjI^`*7X7-PQ;|$ z&NbFAj)zPCb&a+6GiPPKg!6w&>=-nI5dx#5Smt@2*}hlY%bfY|!GG_vzN9Jl>^vN)mK1zSIsq8)u`^QOV?`RTS(EsbqdSynqQ3s}wvvKNThm@q_0w@AKW0`k& zxc;be9e<39>Neo-gs9O=%vL0MxhSw3IY42ZW=3@;uvD*?M}!LD$t;fjPXXsbBvU%8 zkaOBwC~BoM=JhfyMF0AWzn)8mA$+16_M^g+neZSv94vCt=iY&R@Eps4ks%X3a>=>d z8jayDHca@0*CCja0ZpoYxl+iBi!yyVB!unBY6hTBQsE_KoiPCT|6=vYE~-2@(!uq? z1S49vOQNcVgi|pl4M6Lh<~dxqVcmxJ66igzSF>!rzk<8-G9aYc((dy67hBh@1Fy|d za-*)-(eZ#c`TdP}6nu(^bE9?LdSgjhvLCfOl6)3q?_Tx$IZL^5u} z@VW4~#s7-?L0F(LII9QnH_6}eoQAytUR^iUc8wFaVz&l&jjvo+VUm|fzWGE7%b4O=x3)A^;rqUz@?b&yF7))j#A1Gl zg=a9iBpMRXDRp$MJ20L;?%Z#UDx`LZaqi0g-$}7otR;OYq!mEjJ5Y$sJY6=}B~D(y zZ;Ks}c1l|#Ug-le!@Ii?v@Q@#9E|Cb|7X&^%;OAb4My z)`Z1c-*@#uh;o6V?2L=#bqImu~4Xup>*}qPMX{63`>O`p=V$z z-B2OC-U4`3WT9s@E!26q4?c7Yd2PM?3pp3^^Kbnen}DAllZ6&LyMiI|PU` z;X$=tGB3=~S2pkkwdzEbC$OWxqm{NAkSwz=i^0$+Qw&mlRkJ5$mhO@_Yv<`u9N6z`i=B)R2ovdYhC$CSATJ$ zdr&+J)h|KK$q;$Cco*i>zW`G}tiOmBo2EvRY|zG818Gw>iO$3M&6n!$;VIr8)|a&T zBp`6$Ao0n|b(m9!tP|Md^5(!qG7%4(EP$a2>+ngKQ&0D47M>xGmHyH7AX9BTtY}J| zdUUncPD5Sr4EK{#Tt|P(d#5DLvteG8HW%7t!aUf7XVCdZKyItJrnZjNQ6_s1EA_hy zQ)u%~lYUgj$*XGO;^zq&gJ)nSG$JIqFPl~;MpswE#WFrn6vA5tijazlQa?IVtC+;? zQz}F6vvBZ*2deUCv{Uj!SU=~gr+b>H@O>4C&8L#s)kc6?e%f?+WH`iO-pe^@kU)Tq zT(wJa@-E>Ip)~meSOpJ!>AUy9KMg-C)$8+$I-R-Q%GwTcqlCXqBxdaSOnVzT_B z>3`ION4;;@rs+>76NIQ)Bo!4$)z=|xLfF4X8r5iyZzHJ;a^gfQ{trrI^fN z{$M@`&Z>SW#B+Bf44;7;9_AL>{S2iFv?F``yqs9hCE*d+Fc35*EATRfl3(2EGS3E( z%h_MK9Py{g6nV1fo{<9|SnS^$R*VYx!MQzk9eDqw z8{8-8Oa=0J4Y|ZpQzLNIAJ9GULlkPjUHRuQg_RX#k7ZQ$!FRk5d-*mwcSoV}6k7q7 zd4q=+)I;LR$tv$o<*@%*MLp;ti3#<19ul2fq%E7>P%Hzz;q2aTiNu9>v!EudiKa6o z2nia1m%Yw?Mkp7JgT-k4NX~ZQ-AtZ6*6=D}X_}iwhl;k40*yl&%K03vMB{~{!U?nz ze#n694dJecb~&eP%3~}|6rBsmubCGATWQWdfzuwh&Om9L@Yfr|UBUyiN~|qz3th08 zgaxa=?$i^E^-S8}mw!PYt_`==(#O$1oW#sI2~R95U_`I$_(ffLiE-H9;j|Ao;bAhq z5AsFk7p~)e8cSyZN3sL>wIARLt^-%#rhwiG>KAdi1e05UACG5YCMM&3Bdvfc&dvZLb-JEFJEqY#PLold?m->HcpLw&+4dck z;#io)RbZ9N5;@Rl3rxaIz!-<#RlD1|X%14~Q2tTXVPmpAGxMP(6w~NMOhQIT*rF!% zV=h&FIGjezXkY=wdo1-`>7|6Zv~@q2fL`J6(xDLA9I@579+Y;GZ>4=5?~6HUDb~6u z9cNa|GqV8NT!Zm&PQ7fJq0lh65+^T8vvtmTVVe(R=eAYtx_VBwq9h-nT3aaSjdXWC z%_N_}l^DsN98+cJY=K68@NLpu@uVjsmYvkE(=o`$T`dhQ(X{u(hNz88A$MY`4|Oyx zpG6;LRP)pz$1lRfsESc(A+)~(UV}X0YjP#T4SElnOz1G1yeQvEOKXKNqVPpDg4HAPQzLy5OJ(DsE2`SS z<>t8oF4(xMdo6G>yaNI;gohvlKa%>`LE%|ErwC@|;jW?3N;1PTO*~Hueh_P^Vgvt_ zCPSH!m}U8FD+zp1Xtg2>g=dtx9Uxa(stn#`vIMr}wfHTpA2STRF^vd&?8t{S%hFo> z+y-*ArB}79Ipi7o5d>|cE}q5s&q7{`p@Y)kx#$>!Lg6R1!EW~b++TF%5KB}LkR` zEuIK3IYiZq$~y_vI9L{B+0IPNDJb3GwK>X?P|-f= zz2vY=J`}f2gzk00hEi{kJS9j)&+0~=^w0z{8y))e}&!$&|$@H1i#X@5Py@#5pY*yXWXmX%1 z>VA0!y45&d-E%edGd*=-;M?i=7qYvj`)FGIodwb}fy*jfRH`+Y$};O7aI7{o0v)CY^bJ=Uo;Oq=uHw{TUlA zpq|S38?e<`mUsT;pgOmLoXvFB?{k19!)6X_Cg0!>3^e7)&SRBy=5Q|0=I_ZSayBM^ zPnbxdFZA|17o0mof*^bcHbQ$j%7J*DL5m#zML3)9q+0F|s&k@impHW*cvexAa%U7s z9Hu*M^OeqST6atpmeqz0;MoI@C=jDClP-?Jy(IdaRyjhB-M{ag#ZE$9_vbJ>b+-*Z zXCFb+IMBBP7Y=7z|5UUi)ZsC}OTUtLT^H#h#ogA{1e4tdw~p(n2HdTM44uxbkye2k zge1-4ACmNcyX@fZ&$W?3&M8!h*h;x`<~;;IX~t&wl|d2ra^aOM6&k?j577DYH$r!9 z^c`L(vvg;)+(jYV!SySdQ12o#WM;uUCeT;J1UwHvL%FJ>ocSnA$Tm34OEnyaIAH{Kx zu=4q^D){E=%zruo(3VJ{I5b=aGidv4+|=uR(7ML_;&OC7s%F4Fisv|YghQa* zL3TC@Oo1a&mWP{4s5C9@A{k)^C?2V~?F*`8`^j^7ic*%4+3 z1m92iNAGeH=NLYf4~tqrvDj7^%b+}aoj3@`z0z!71TXbn^ZCS)W_esidKoK#4p3xX zGYil+F{Ap|rzcYN2A8Ou7T@X%+Q* zTlcB%ZnPKkLqB14rB=b5%iDnRY47wg~i!*z6jz z$XMxn#tFZfRxN~@`QXxi)DDs-Q5hw7RLIOxLsV)Bdlesf5`Mt@e~aQ8@^RXlp6UeS z9;kBOMC09CXhk-iPlo>%0bTImPLzjb>nag^C=Hd4hxX7u&%GjQA=5QOX+KPAqIg>h zUfV~7r~br`YyE^lmhd{~ZYrK7Uy7O_ZVa{cBt}NVm^^9w{K$VtbBon2Uzq9tpg|D} zE#&+KT~+@Pn!yKg-wiP)&|jc=IBJRN5;vP{hb3}{K~J=>T{Xy-&kI-S@EmUg5m;1} zx#tK_;|y<5QEL0BNIIj65&;DGd4>~O-=293sRCtlHG$qF9oXa#>1HEHu+x)&{INKb4W*rHN_8~q8!?Z}5|a(GKwVM-XSld~ zb~~PM!@MBFuge*u3pJZxj`8vQtRnT zJ6KeWf8=iA?pa;rTRNHLt`q!7ZZ%UGwIBD$Na_&i6HDq=0NtHEtMhUv`L)SX*EWGs z3{EG*9Q?X8?8IZCM$|*Ble*jMe!{Bn1Jc3)!1VbCV2mO-}?wGg@er`5|Ot=k~ST_30 zHAG9TH4g%C8@J4XNu<-5EcMI+kYSB7_l;#Bq3?0a<$W zh&;t1@)!S$$dfsdcl;j^c?tsyKL1Z5=Ts8e*_h5|kjlZ&k$g%1FC^c~m3BL=a*SP% z!$aE~B2#vQQUL}=nd~puoi%lMF$R$u9Q1DJ2_2y~qk_Vs{6*hm@UgR`ZkabMQ*(c^ zg&Xx=uGE7mET;uo&Ukkg)fDDSzkhd`3Ik`=;}4MsdRAYVaUT3~i3T${mCGwN8g|E^ zMjiNGhvo80k*luN}yL%R${|bMbyopkktoV~kUt?qnl5riIxKr5D}HRF+2>76c&@ry*vc zA#@j-^8xx?m~CjEXFy#o^MXaUiZTQ!vntTksOohjdN7yhZw$JNv$-aJvn;oBKL>@zX_aKIJ)$P6rHGBWk)!r+#2M!H+F94pn2Tf&H)r&52CF?2)$;S- z10H|}S)*A1XPI2EeQ$pj0|C9ybX>c}ZB&b(lkTYMa+h1qEHb!a1-5$z$APj4bj&D) znmqC}psuXwNR_(94YrPP@tCOZbDV0WW*#BKj2q+5j90vadBbEu)a$exBSuSEmN*8mU%+oeM00oAL+bO-P?Z zx8&;-b?q4D?kxty0^H&vp%E+F^-exizrzW?rBD}HI6cjZFn=td*4*sPN%+UtgXwbn z{PVh|>S^jc9yLzdKD8!3tFA#hD=&chFct4)Y>7!`z&EP&txx(P_KS4H**eF|Bi4+# z_f#`3=?!U#mcn8<$b;Pg^|o4ZTRp_Yp9$l}8IE~RwSkG^FqrJxQvyVeLoL6%fmGrD zIsk74+#+(rL%Qwpo@xcfcqToA#$ZyWXR9%tNZ;CfeHiby{aIq1g>Ta?mZ}#(Ynad* zH-svhDHqe~7}vNJg&AaS)Q2LG9dWcJX%%ds8|CfoVE1_U<8*HnFGFWy`atL0gG-v@ zBdt8}RxIN4+0xT+jc)XiGo7Fit%9dWD?Gh56+CD`T&;>eB~QDxRDD3i!i}XHupYfP z()NMUx&UOQ^BK)DU0(_O>(bg%5(>hJFw70Me;Ez$sM@R$+M;ySX@&-Sxeh~$w~2ib z`2}5Me?(fKC*>cGhtQ>@n!tq!**Sh7ESJb)O z8gfCIPSb=0*I~sCnf3>esT^ZCHJ&DtXUd!*(NTsb={JmE0xR8khOFa)wsg0Ja>mie zgFkMsT&6V)Pha1ew6rv7G#+5Fls}Z-YC`m)Z<|A6A|9r7F>$9t{^>tR?-I@+BacY| zHjr1llw|TD64yq$Kos0^SlB6!{;?>y4-S&kS<E~cbNFG=sBJj^yr4Qi+(oE`0ttwkIMa*6nwPGZ@gV8xt|m}Xnj zlhF=m?N&4VOZ z7JgwRKDZcsXed?d##gHR;aG%*EZ6PCDdllt!U|sfXM17g2i|w2xeOI4Q0jfBd=)p~ zRf^5nu9cvoL(&$Kv>dv-VKuymZQN-YI&g2TwAmSG2BH_%K@`(--Fb~i*G@SI{*ohj zwu9gu|AF9H4uU`bUkIMb5nT5F6~X@hL2was{5KD(z`bo`hggYWMp^d1GtWzmk?C{&At@ z+?B_|@4P_N<7U3}Pq^g1BGeS+E>TUsV;Mq=N>`qYxhrSYK|Nraa!yNQ@NEV}?U3u1 zCA*i)PoB%NoNjgnNC+$D9yOZItSE7I>tOT26f@w9f_edXFh2B0ww1( zo|u@Ox9!;pV>7ShWY<|s|LZPuT@)rTrVKTJX&WQ$MjwFX3LQg=eRaIGy(US1A_zS0xfTa*iz(CTCuDsmuG$OWTidjViGRvc(#VTK&3lqwFJk+|NMuCB zvxv%fVk*T&V|-+NN5}_-ep_PUrc6A|jZm-V9NUC9$g7|T8*$%YW`j7KFqqtP94^uQ z=UD27 znK3J2MI$bf8fMamcncTKE&0$I>&qmjAIs5CVt6S#T?dvEj#;i2%xy82#`O3WRYpr# z(7-3hJq8^h2OTl`<|-#gMs-SGa_-&kKDi*QDYxBdJN`&NsmEMh#7rD-3)#8a5lfhv z2YcjS@hqL`!8n)VM0mFw-65~0xH9n;QJ)SUyT0lG3D*;@{rSnhDMXx;!(0nU1a0of zYiJ5Hur1EHDZeB&!H4@eN2#yEK?x1OKQbOmuBd1MTH>0`>>wIxFk3yDFw#gJ#*83y zI3G?%0}LZ5HFXbCJ9lpfS;7&qFPd3|r~GD+^Qf+?D~Yi7D{A94LkUR!|4x)O05*`9(1*gv2o0`frdP(68^WuIil?!$7Hca^~= zt%W$*07qgv205Zj!f}4QwB*fwn!YO zHq|%d)G8cLJbu1uKbrcH!h%u;%}&6ZBc_u_qO@fUsOyVI7NMueM;StzI5rM%9-1bv z1)S=15YPV=wvr~wAaNs_Qv;?Rly%xNC+XLD^iR{^eB$ zGf_fZ++>0e?kE}huyx;a8tLJ!+7rC;hrTb=AKwuEZM^>Y`laFDiuA|Vg@2o%Kfd9h!a*KXImoy1-|{R6Ho7! zcld9RO9v{XTkO6^U!*mIoN&(m^F6t8|G5y*5vMV|%?3xB?>L*!*^uDa;4(c9s>1p& zLFM7G5j+GB=D<+5bKZI^WAN$;2BWI;STb5xhCx3HMetx82sC0^G$i>s*Kb%M3kKAN zwQyF0&b5nmh~DpKzkhU`SthFl?vHD@tQE<{B1~nmwcIYb&YC*>5P8f&HXMK%4doLS zY;>QdpYjjU5%+FjTOzuA&mVBcw4CIx?F1bka<1umKLlgoJE5kUno94baFRZ)GL%A( zlXG|BFIrN$Ee$KYbdF}Cnku4U_V3(P_E{Exq}Osm?j)2`F`ILlfA=j>6#`tPb%?krD>!cJ4aq{mg_!L}s~tQ^VeQ)SVAR)ue!%fqfhAiF}W z;k2eph7qYe)`nH#H&44`s$1+TF`8}~p9O3SSJ!pnb$ejtaW?czUC2*&=x?hYJmjX5 zfd--MK-40EKX67A@Dga`tQ=du@lo!`mcPu;Y;JqFw>2;a!cdAQFf{QTE_Mqm0^)8S z3ijZPLNsX>45Bmr{!%~3v-q1N{^2xCX1gwohrH>opQ7B)4TIOp=r+H|1Gm74$|~@A z&R%D%%a|#sELV>jZj|@3crSp@h`*^#B9>PlQ3QDtQCYDrpuB;W(^BRs6G_vj!=!&g zYCQo~7n8GPlbs75(#Qva?*jo}!1XKi2(w+Bv}gq|lGg_AO@Q8NR7a{BiRqTA3NH&! zlgVx}Rhr@Rxju)Eq!(F!5oOz)?0M~>@Bv!R@I%T==Pc z8cTZl&v@4?YQ@3$KKjNY_oDmA1^!G}D)^(mrJgd6)Kiz1=}GlFy#o2TEp3CR={C7= z%f@5LH#W}&;S9Mq^-Dj=DS>{{pWZc{kH9z(c3Q572-}RB+2}i4m$dA#*NXa5a1(ME zPZZy}EcJv0o$p=K5%Qp|hrtFOh9$T3?ezrNE-N_}e+HQC!(3f$mhf9{+)@6`IxWAQ z`>On)d^-cyc=yCr^wS3E{b&U3_xaF)$V(CVsQL)S@;s{;t}Mxs-*ey2z!P+GAzneg zP}rB?C?>t+5hP0-!x{<~+Cz5I8WY>XS0iHRPn}e^ znM|sW=B3ijxvioTUS}s+r~x12cI4K(v`IDy@(mVMzC13E#>ZvGTo3EP$>W%epH5cy zNTtCs40kSo?huCuuQ2Ts&oHvXxkBwa!)lCdVYU%f^^o{PkiUX_dR~m(RNlg0;~nFm z55(HQgO+w923~IkT{07IF$|VKQSpnki@3eBL;P(@a?0dnmJAg^<0ui04tNdYqVo_w zAH4ouoD{`$yg(8Rwm#3Vdc`LUM#Ay|nc)odH4&EE!5hv*o~1d^7V@KLlNIuIMlsSv z{u^(R8tQmvE)$a{JB!+{X9}HNceC#>g1d9KY7TGNXp^|eB)n81IXR{HQ~Y_djhjhJ zg}0X^I3lNJqsv*5al@nCOfh2(#gM7$p^#BW>4 zWNHHP87-I(HsjYA{hX3~+>c2_%u-=Few!{K50Y_s zd(AAK;`z^UnT(RIiQQN+E7e0mR~7V`mK@#eJ-a$ok1$i{68Qkv(UN0?SK&2DtGX(E z#pPjKCn-yKbFI6I82TU$q(9|qTDFjkd)Ez*h`Xy~D{rjRL&Db+#Oo>eyj(RWv{PE2 zvy)B)1D_Y%g3DmR^?GPLI+{s!xsY);w9f*rB)$WuEw;@ zIA0t0>N5pkLOtA@)9@4NY;yYo@PmyX{zQBsxqUtt&WX@ZH_>GAISJ+AkHrbXq!AnC zL#D7g2_~uPg^kiTCXkIH93T)Q8?8rR2q*j&r{8)rC;W1U@EiYw@XH*+fA+r!zmyYx z!~el*`LbWkuPax{YpT$469~{mWaLYC>n+^2n=c19*(HAOoJ*1)btlX6GRA1XWr0Bq zg34lA(|agsq(V*xst;2t?=y|_$NY2^a@ZaC5c0Vr+~E-+tg43LFI#9bp8UvRS4EW- zQ4tFQD_}qu`iWsKQe2%RCU9P5heVBHt12aU;L5Bx3CKH$tTu&fwBfW@o;W18P=si&q2{6!%R z`7SXV>X5@4Q+_~w<)+XZ7PvXww0kBRa{s*AvmEiLW^MT?MHzD=DgX*N3lJZnm(dX9 zb55wCY2_-92F=JWfu&n+RpU;L>Rhq{nE>Z9K)R)(@xlb#;r&?j?};_!yO9BnwC^;x zs*bibat@-Fhz^eNqaiWX#e=~+70R_rm&j#>Arnv##u@>U)RzUnPmHnFotisA1&`20b8~Q6e zErrSrYL=eE1vu&~@okHuwUt5O_u7~E2N6S~8Bma5)Q_IVZJ;w=$X`I7igi7ZH^y?- z%^E-sex=-rXj5HZ2IoCGZWw;5+dg`@W*26i;DUZsfrhq>Dfc|s47c7&i*kY?Epp3Xl`50x#c5; z_ymVkcerjt15NlYA?t9+_AQ zT_H+piRzo$3DY|d)HwRxL9%9(=5f_4eeMfK@O+=oCyLTOnsO+r9w{Lwa>OqzyU=v` z7oyLk<u6jr?C zL#at786=D*t%bKn*}`JH&*`dEHr(+=aK|Y;g3mpOU(xp2=m-&7N5f%^dfC1tG=y{^ z4;-+3=pS@*D*kgWY?8Ha<%cps5L&Y`7IXHy@eJ(`$hO10IzKTL>Ys;sWO~%SKNI9K zwerY3R3u&rdkH4h#JfCS)>(;PtPAs{dNKU~y5y+2crqIHj0L|FAd;EzY&v7k%_Iw@ zdLwMIiHHx|2EoG~GZIV{mupEn-ms`PEDm&{Z)DQ<7>gMyM}8{1?OJB>hlx#t8imfy zPnuU4P3yQf8DzJ(l!aw+J3PjwLmF|rwh>`;dJe>xD>;SKI_zrB?X1aSlphT4^tE6G zD4%qbYB~FTGr@B1mpH?K0?w{gtJP|5#Qj?QmnHytL6tu-x@rQCU?s|GI z$y*^}GBFeEevAqOSj>NZ9(n)PO4liQDKoj~Y+*zgFrVXb1HA}em@J;OKWd`xI$I#G zgB1561-|%%9>iT2f(KT?+!Jwp#Wdp%@y>2_ZN*m%U<&N0f=}V$4@YQ4)s`;wfcwCq z1*rEIN&Dy5c}@iFOPD(!avy;=I5huppt<3{&SI_mzn{fg`~NtLwdVf-noIs0nqIiE z{ysF>%y-GzT=2q)5$X`M0-8_a?>ezUEi~wtDyPVdi+uBY6G7#^ z?03epXeRValT+Yv=kkzqU++i|)6TcZnQ`K|OMKlWLuS&+@>K&znPagM03``~$M@7dXHnSeFx% zMMSQkilV}!u$C}KA-KUWw9o7ZUJfx!=&qutN-I(Lq>6?% zz3W~lH)T|@nYB}UD-;q;p$2*?)k^<&k_%cklx0A3o&{K_usV7M)fRc_=pI#;qX#OK z)&F8|at3RreXb~l@My+KaHG}kb3%`pO79uk*-GHCUMz^NHX^&oIR)BBoTDfi_* zjJ%^~yNpWK{nscLboE|svP*V$n6)t)G>Tc2`B9G>98d5Amw!mt?@w|;Tkq9!KyGm| zGnJE>=>dOvj>W-cp%5I{e*d%0trX=*_r zaLH+?#t(8#-u6$Ax=xmGQe=JzeM}R^*&zx;nP%A<3bE{^xIvDvRF!u6q&?9?KKiU? zPP6^Lb%sq@M8mnUkbsV8t)wfk63=CMI?k6}3uRBhhJboV#oK+HM9ajPCA@4#%XmEV z`!zCJ(@o(Bj3MnbR2MfyCu&7?f6^n=L9kRPIv zq`-OnxzbAMpk$-2qz4a3=ux^|7^$i;9H=TKYp>~xJh@lg+DKTAIyh4P0jZ51v&j?K zG;!7@DolX_=PL6#_AMXsgjP5sRoDkm3d12;e=F4(B6g|kR^=^XtTO}i^j!*^{f z?n{bv!MPe*h08!DKTaXaj}z5ysH?ccMl*m#V&R14MQhM4ynVV{Dt4>`#ZounA^js5 zNArY4EF4RdMluI`VHVZXflY-PFf)1NZTz@FJA_?nX=yLwmvCV+i@8c3@J+iO!%tB9 zYS1=v_cB4;U_k-tJ{6ACgIT_>0LBUWUOgz z4OBG?a!Q$(bA`x6VjmK>p`s3TV2(F9DvHwFuQ`*MNd2P{(Onj=O~)p|$f__`>=xA} z`s#M!ZXR$7O4aF$989lPgZbXU0{LJcsyYrN{1P11*{!IQ1;yIGkK|YH7WA|FHL;;b38YnnC1g7NnKa9HC0Cmlo1fVJTTeur!_j1)Bn+HKyzTA5axUVOTng_AvPk9g01qt`W`7muo>V~`0A5!o6 zV8BXviU>(_?W9o)pnR2j?X*D`WYAht?}ebBht;WfY+SMkl1gC>xP*^_@@VITvWlul znOb!zw?kB2frm_aE?csM2e3n?G$Tm6E*h(J=2b2j45H`4fHW00NW1aJNL%EF&tyLx zvhVVD*SsY(t@<^0R=RMC7Quq5X)FXxu-`&WQT2edCu9wQt3j&AD~O4{h&eMC#KLz zHaW|`7Du-oat5XPO;hDn_TT1d^=mGmjrjNZ1tuwWI^&j<1u8VEpffEiWSUWxk$;aq zwO5sTYkBd4Ad>g-@XLQ^y_9ZIiy@wrRDq?Aupl!oJf8(E(4d!6(W}s$_CxP7U3lao zS{MrXQK}wSFSsg?ILCCuZYVsT$pL&Ogoe^)>tLcX)Iy8=7JOw!^lVkvX(sxUW>!ZR zU|9w#l#VboRGB<01Hj6lFQIa4n;)&vbJZktHuVTESIQ;>mZ}+}StEz(mRlqVfiaI4 zC8J;ALf#e?qd#LzLYvqTr;)2k9l5}Af2a(%E$C@kmay{se3dh7h117X*<;bMC{D^x6TvzRI|UDI@C>Va$r(iLL5{*(vdKu~}Ewyf0xDgp!;WrIb3*qpd=(8jO-p~00d%oD z)rXG<0SG`M9ze&&VQeW4e2jN`8hamgU1Eqg#A3nQE~V{9@icoup3U{+LcI8F zS8s*W!!hS-G+Wr&-iKn`AuaBr?T(V0Q7AJEvW|`43|$Jy_^64IWslT|3As_7N;f;Q z1UFbesW0rg#uTzmTkYI+S|&4IpAFi+@CdX7saWRmlikad+VXIjVA&VKWLt6y?k+R? zCuz0#Bq<37UH#j@oJmp?O+%l$-jCst@kU0R8E7NJSz`B7upm@w({8T*4PbIFh@-bf z{@H04C4Fz`xdwWKg=1_}Tx?F(#ejHzOuGhiTot%)OdY2WjI)G}VNt@USluKdk(+dZ zu8aK=7YtO_qS!Qo_MS#oZ6ZnHue6=5juPlR(!&_f1bI#yZ>oU@*5vH25TDGK{7sE0 z9w?T3Kg7;uY2oT5n$kapbM_hx9TL<5aFVbNI5eI|ka^OJ^!!)iX?62N=m!1K+cvvH z3^H~+)PnhI!JFKR4q!&LQ=%LBNh?-Fveet&BkE6kz*XX@$aEW!I{_jQSO6aH0PjzM zX4h5xz6~wHun^88hW`-dXLXiS8-~Eg^1x}(V-X!9y*?37qN6DCGw&!GtMWVKs^$Rq zNIK2b6W1Be)gc~&#V|@C+2V^qo#m4GV;IT>u6a6qcUSyC-IEV_YzAD{H{*^JuE zZ_=U9Abm0Pbg}R|Nx{6#;0sATU~r8&LZ5|t2Yum2H2vvCo{B8*?$6Nl#dVGx+5mqn zQU74U1?!=uAC{8ORTX9m4=)vcYmv279B#rG+qoiZ4T!KzgzIZyX)k#5zgC$YVP5us z7v`n^Phnp2|Bo>H{^OKXStZF+IN8f8(LTxP!Db=n>aCE|m(6Q0_vi{}Av*JNZFYk@ zF?4o1yvizxUWEgFD>Q>v#h^3V&zVqCImpCFH#vafP@NoR&Xo@eqwLIh2+$666bIRV zQ~kOM*|o_TnJMfz|7lwl@Q^i9vnpUVN3w(V4`B%poXcZSS6*|9zDJA4NxR)2*{W7~ zi`OED?91*&;pnPLo}Z_Jds8<3g;V{W2BW!_>de^?zCXF7a=ck7c-RDJNnxYBnZZxw zT<8Kp5j`$c=TN`ooR30{8^OvgK!jFNCeqDHgb6mwAiJTT5V?`9ig3db=0kCzUltlv zid;hU7KK9P-KZe5&{!qxv|A|*vMveYWEGkTf|jJ%-#cSH(IVKX>mwaj zXB)aMBg)x?A^P&_wMc;W~Qf! zl5>zCU_u221Oy`>>S8@S1e*b^fsRR%0pvS}@Hwhe|6F^V`e z9DQ10$w!ANSW~Prm*%V7Jh0Dj^_t`$Fc2fUGIM_t4oJS9qNNJ}hLk)`yc2%Mp2?jaH<0I;1uNSYSajfI_Mx}#AwsQ>fp5?G` zeAFrw-W?4crDMS>R5*gmp}U*hyxz*k6=NV1-GsB0S#}lQj49%5nn{|I7M=-Xp z!%Z+8^5`($6FZ`bWJHvbx15l}>11+nI@+$x_b+Qw4n?>QrAZr=sk9J1kgeUi5P|v-%5GZk^IVE_4IEFx5g^x zxLI!8QADlS;A`V?xEB)PhtpgSG~K{{{lm&I{e4d-M;Qs`8vW)os5#ZDyMcu?aoJtG!J!*Lg-N$P>k0mqe#<~SV4|lJhn8q` zGnn(ZR~?PK$#>l%eIR?3x5IqbtjSW*J>eE)`#!k2TQB*pt96+~ly^m*uQd@obfG4`LSCkj<&(NQy-f9An;B*w%ZK-C zJ_Ro`$S#%tDbJnSm0tQkccqv7Z@bcq|4)#;tL$9_ZgmM<@(*Iez}|qVdXA^%jI+91 zKCGY|B32sxC+B)RNYp(iweHmoyI2|02!%@7E^J#1Zb#T8GjOTmVW!&}lSP-Ru;6d< zt8~8%ZAZAYqj6hN8H!3$z=hY7@ZNo){>)u}LWh%cr7_#DLjHfSR@uaWTnpxN8GI?_ zna}=&qeXYQ+=OeC6{TOwNv~$_v~G1A>RaD(RN9$;SKM*Wi94GtM{!$wtTI|N=&p@H z1NaseEan91x(sJI>8^8?TWZ0tuvYtzP9M&Cs15yN%=G^#ABUC>@Ro*TEy67w=JIs8+w()- zV!&GESw>X(Q^yc70vfZhX==liO-Qp`nr@-nQ>DNJfJYRil;b!R{VY?ppQWlH)J!YJ zkADu|q;5KChF+UZAFrcusybMuI3TFZDm5z)6$&56AZGCg(YtPGuzJuRQ@4o(8lkBO zIfE^NYcg+~6h5xV#&eim1}>vl6k29OCC>^kUfn~&>s7qLLLw*BSRX3DdxtYO)1Q=6 zm6;!^IqGU`YM%CVv;tghcvQu!1<&~?Ht~Q1WAO1J+?v9J4!uZ7Rd0;c2vSB*vw(QQ(D^E^3t!72kHy2GU>Y zEVA>-YjILI40Ueejldh?Smwr8DgBC38=blFfy5(bx9Um0L=-i`&2Z`Aaq(f5LqZ0BmGR4+e39S;%w4(U8v!RgAVO-No ztxrMWY~?`Iu|PTTH$EWUO^O%n7|s7!YAPP2fws)(!V}MN9i>jt)roqa&*iE->)1Zj zB#7U!g$j92DQagC}KdbDbeJ82;jPIJAK)*?17@izf!-mQZ2CT#K4T8t3CK>+vXH zbOvWi-)|IZXj)tWv>qBT>b6Ig&S!8ZFQdxBL_85y04>x8W-`rkzw41F-QaH0bd;-G zk;qW3eS)b9wm7;k)~L6{M6XfwTCl>x{{mW|*>pQ2EI(NM7247C0cp5PlrKnV4)Xp< z9zq_nz8$hWRDIPn(Ly+hkMfkSbX$85qxEqs5RI1WI&xf_Oedj&2wI&-kxbST*5@^XQNmZ(9qA{B98(GznwV9_85z{MXed{~!JmpW{0yG% zSx^g~Cj2l5uVzzjqyZT*=BV+%&;_?QmYU6pwy>}oF>yPv(P-}HvN5z!SZ2lycocmZ zY?Yxr%vm@=VApaw3*xvx_PlAd@SH|o#T^8 z{!qLGUN$=_Kbpk!_#TuxEmP_iqwZn10~g-qEnI#|U#2oo-wqw#3f|vg1bg{0DBcE2 zcNi|!fvMY}S#hXkj~}4fuu#h#fi4c$X6%p9tSI#IPU$UAJGz+u1kDOVpZyFq3Kn^W zYIyF?(5xWz*{%X;mLK|TH#2Lqq#?gNW39n+e}Njwz!*dNWo*J4vj?m=@kry1QSg@+ zE{DeMwJJpK-gRKbGOq3gA4-=N1^(9HFF#6`#rm`XH8c~pYA9VPZ=a)_aLD8$stYf`0M;uT2eS(=2D)q3ZlaxQp)g6xJK+@-<4Xq+taFT z--YKK=69>X;@egO85%Js=%;Qw4fw>e)c>OKeH0dfN;#fC&oz>z!V&PQn>!t|q@c^= zKKFLBhb|)L-b%m{sc^V>&Qf6v6V3O`Z@FnnKQ3kj=Pz-EGA)F*$W*CgdR^SG z%Um4SW6Y6{2~xS+Tk1y4rr1F4hrb6+zP=NS!1Y#P*$D-E}^ke zn!1J@Zv?|jTv;^9R~S>uMJi0tLT23U<_V#=MM9s;p?@%q<7aC@F}w=TPXum_Fbr=; zkr1(vHtZ98u*ia?uI-KQt_wu~Pr^4gJvTup!^LrZN7S-Phr1SIZb?)0by93GT6y=1 zEItX7;Q3-m&~q`8?HlGH1rdez(8b|-{_(BJ`yOueM)+Q}RhkcN19y?;!jqx+!yulB zYl+EBsvz$MoxEzr6^t8?UJegJfdHy_z&=Vk!HgJS5=m$kym*GDh`U9(929SmTfuU1 zlt#yofrmlyNr6yMy@P7vjd_}n0k<{tmJhnbZGc|tLNhZdzbeo=isu$Uhjzg9RUq^X znNOE9@EGu>F5aOZdp|_SyxeDwCQ8{o$+u3FE4rV&@562lgrIVWe8R{U!SE)7F88kI z7J0hDg26G3QxxM_BV0rlw<7PW(!qD3yRd?qfiqFRcgdSfiVT9md1$j+Z+!^ia*CiC z!-U{3~Uvq1+X#Ako@^|E8m>3*np#n05(UG9>{oGAx$kRP|#S7?a z8h?GHhBrEROIz}LA+&_JI79tuE=2_#Hv~s9K9($r#4IH$G^FxkiJ}|Bh1PM%)NY_h z8iBw(xfQ!c^MnWamX4C3?eZeB3(|i0!}W}te^8p#KW{i1a-lDJt4R1;GzZk=QTX5_p!K{$+wK7R)t1MoN`(QKHwMw9Xd?^JOX2(@7-`Kx2;8< zk;uT8JP#E?2GPk7^gupGGKJ%L&;h-z)JfYLY!pXrNt=bJgK5qT`)iAxg@^DB4D%QD z4E8oPBBh(}IDFe@HM*GZV3LIX9&byIZD($=7(Yk0Y*fzu0Dc&z7KN9gen58+S|k@4^}X_s z5P-dc*FayGKz9;az!xDRdE!4ooA1HZ-!&S7=sWI3ik^{& z(cN@6Xt)D@$e;^zh3DY2J&+Zv>+Br`J+qbe8OeQ+MVgwuP>5Nx{ZN@#rtF72&qD{v ze#dBg2=Zn0o#&xnx#Orv+(N7WM)v1QyWq3KWIs1xm+UzL9;Az_C_Q!*Mc|igW!G`g zA4%OA8tOuH8H4CD7oto41ENb^h%Wwb5M9C`y6FGn1b1ogeZl{!x$n+1#BYx*3AvT86FUgEeIUm;4bag%ukUjuk=h1~gDr?wq1zXf+r~Q6-ps zKfC}x4dbO>963-SwSi+fze7H}2gBjKqsSLC`0AR0YB|ts7QDbi7x+SJ?J#L^k-}-J zqOOh_qZTr?nBt+U88=a%puxY|VmHhOPL}PDLUb1DtumpO&UaJcymo}avlbVTdxbQr zP?wDhU@)TaON??VmpJFJQ5<3M?0vbr@)ibTm!pT`8shgiAlor5wY)Jmx7bTB$zQYR z#Qn)^M7g4%?>VH+hlG#!R6=az)tw>SBzCH^L)Em{xhMW25ZF3D9lD9k`yQL6UIu})V z-wL7L!xgoimTFP0kAh#u-w%0Yhl!YYoZMFEueyDUJwwpeQpK?_USFW#U8r}AaknuZ zqbO!JZGrbmI1R1EbFWN7Z{se)QbIMWpT!J5&V>-Fco+4C$s)y#DHX+v=6IjmQqCgh zg(DN7BQZ0BQENy(sU5R~kb-NMxyJ?%7|ifA3lpg+-bdKt#8=bs+;I${oNx*+gS_Po z#6_fblGKm)CTSrqVi2hf-uJtgqDwHIcPP!LP)H@$vGxk#PHIfy>g#0c?^dC33mp(= zaWu3H?aii-;(aQgX09abgZ$Sp*`dO1Crj}eE@PD+mxn@B#mi*zpnf1K9!@GH!^kt) zu;L*+4cp?npaom(MQoYkrxNH{K?>06DZmN=QZ@4rG*4Hg8sa;eLCw)j8%*>0%ivLQ z1N(vnd<~|{GS^#C($-~cALlNaXl2r{L%G{r^(bavU<^ER0#6ffNDq^8vOcNRctZNf zJDRIbz0=4$UYLIa7KX!omaaR|H0kSB(l<}B-?THWq~=lJ0N;BTjB{x_QOxvO z<;>##71tn~*iFYmQ~aKA(sU*V34SV=$8{B(W(p`8^+R=h3YC&W++V#4h2~?SIet&% z9~wg{#NR3Zlqjde;dq;HB*Js_27fG8bAo2~oDa=9}6G|3nd4}s%clPuQr%7XC zo<6G{xmL(irl~#0eCs(m{=9)U5maDsPZjF3wpD}A9p5p}Ep#eD%VP#Qm1pG9;`;im z3>fV;gQ+Z@$VxCIB#i`oddfFDEjU1FjQ-50BXgD6+;thSTO1X zWgu?HcU8V&(HI(yx7b>562sNeMwm^PDTmM#Vo4!hf-m7$W11jalrH~~IK^aXfxMdN zdD?C9;gxundwbM>8TH45h>ojK`U6BXgm`MC?)*Hw_D85ERyK??HqXB51WgX@#|VYCXb(I(Tq z&{m-2w~V#>`a{5f$Xd4_6ykIad~*O~HpUwd!i~8J?}kHgj{ll+n|{^dTrQK6Q-6bV z+?UGXvcn+2N{1eW@9veB-0y;P5gWA?_u4J~FOYuWf^`0W1L<-G(s}!2c6qI8=%T@0L!@zyKSJRV;j~ts4Z&3Otpz>g*Ulq4_f?# zjn*-~K@RiW&@@&G*s@SnMAZ_t#34%x*29#_ga%5QW`QPYlv zP?L~Wgr-ogSHvTQGzBfHPBz`~7@m&7AWdrIE`FA|R3@6O5-WpIU3jN4jLkvSr@SSC0$U*RjR>AxB;_UyNN_EA%geVbP6LHl&eMYaBm@gs6BKpVUhqvvAGFR5|(xroMs_^AiWOdS07 zH1HP}h`*DmNU_Q39Q@m`?OH$~H_2`BuCBk%5l11vkk@pbe0nC2&2aKOo?(TuH%JPi8{B05yZ88~+B{GQ>t|q2?%}cyrUeTfl&BGC<%pPl=m#7 z!xl5+|C7SM9>nL=chn$xgqO>d1b1Rn>gF&Z+w}2{O_hyBCPtusO4 z7m=^ckBKSrAuSvxwZmjUB65wz>c2dTB6PUc+O66;44OkdviOwnnMrI#=kKscGTozv zLm^UMtT(a&o6;Cxi4j%dpKSzr=%pCB>X6qyh9Is<#CMCrBK*=DJsu7xHGC@R*+<=5 zkF{YW^unktp%8vtjI3iiZkTY=v4EDum~hKaUzQ1*^4&yejl33XtpQmwkrt2$zv2?U zQUqxv&S3sFjCDxq5_H`(`SHEN zM7;?OYs!h_9OZNJNDRFA)G}pz&LyekFt7rBs1t05!r?snCDOR(rVoQ4B#4U2l6B}h zsZki6)Lg7de1R8$gh7WK4 z6)!==dtL{jJvAlLfa@U(0r44FPtvvKn$O!s^pX_^ktGfkww&UOgTO{xYH|oXpW|j+ zW0U?05_>ao;BRcsr*?{0yJ^a+8Jp+1Y+m&rY@X|~`K$lN<~fYbU;baPdG7zt=6TTK zEA9dL7(?@Xx22Or%Q@cLX|jvjvw4uN+zhr!{V(o8)XN_dIX85`;bVUPzZY(qS`~@6vuH6l~AAaTtgl{mtnINv^K&OleyjuzKhn&K;0c^49hTT z*};LP{J*kcsM{(ea*J6PxNQBGg9`fjDez)aq?TxVr$mHA=^a-^YGcCryG8cg19JZP-jz$lH zimq!hdZ5@-PxU>WjfSOe83SXW8t&$M)j&C@dp7Pjl6&AT%vaeOXNz(__WxofMvmpN7^5l9Qyp?b(+;SRQP&Y+`204F`9k>-kn%w~k_6zkO zTg4+O^S8w%n&4WK71Vh(7$MC(x%`hbqCDK)3W-mVP8uu{h+gKhEbTGKho1Nuo98YE z$@>`nIAFNwi;%(0(~3e^r*NqZU+%#k*L`Dj3y88n4K zNZQ)p6qhVXp33cbmJ9 zC~nCl&z+5hR8Lu;Mug@Kg}&4+#+8fy?vo9VLpJ)`j~;tk_|x+|5M~<0@o^B(0Q5=c z-s0Y6N~4S02#Pcn6JGJNaw~~$j)W&6XCoS>s*Wvtrvy&{$rhK9_1qFi32e|LpKFa_ zoqilPxJ@BExvF(Z+7)MCcFIWTjDU2(Ux?L64d_8?irsyl8JglqeNcNbkLU8;Y5l$q zAIS?yQDixdS}`r!mMlwjS0%2S)FYQHE5P2em=@-7Bx31jEMBJE7Sxyd+5TLn`ZhSD z;87U4f#6~@9t1Sc*(;SopclwqWvdmvOGdErC`1MC=tDjCeZp<8f6gAxp@7pQ~3;Xh}w{Z=dzr-=M^#Ng4isD(?Kz}P~REJTF_wL{-I zJE&OCb5Vqkg;*rnoqCjBVu0e3rldm$fp6>ig1};6>be3{)}C<|BH2G!#nWOYX(r{xpdSC4Y6uSH6x?h8$TLFV%+m&nUe~ zS1N`pSuGbrl?V|J#0*((hi8f5K{jsTeP9`LVcw6Q)o7SsXxHgsx%tu(7(WuS9kOwtX*%MK^&oNIeI3}527JOXNjG|pe&e0bjn$Y+oEn6`5_FSy z3%5fnCbxX>qjVg`!ua98gC9jyzqF$m0+V5^Gi^zwd3Q0nZr&11ku=3A&@BIIH-aGGqKkuFU|K_~+KPW!$ zKPkQ^MRD=F6>g(L3!0Lx-ZaL&&Tg5DkD;lz_uPQUalG~Z(lm0`OSz#k*O||{=c2P= zN>)D9aFc$eE|)^17?Ry0mu`-;#f&kvvMk2;Jg5fq26GgeFq#V7%NuxZwb$*XxJB&= zTWl3})+J{HaC{B7U+M!@C{0T1P?qbhWYva?ZK2fN9j`+U!h~12<1ubL1W`0-!L~cn z1=wmaH*H#nm@q(Yu%Z<2c7W3R?s?X-OyV{_PIcU_;fqGD}3i-V;1!zto zWb%!8X*2&2dc^#%jqy!N(Dlx8XXZ3qzQ%lrv#wBNz;^V$>1c9R#y!Ujo5ni!qJ$hv zhX%Z9t%LI>{|htJ{4TA+Kzm(fPzXa3XwWb^90+RtFk0#3Tcbzh^XRIBuJ?0oGOA!M z8I?T>`Dhts5xWejD*VcPf3U<&@YZk}TJ%2bu`DlI>7}^CSMnDAN*wKFYN0%|o|)$b zt(d@GrfyObc0xr+(jq*6-Q5DMj)U^bvyR2XALtGf)miQ?xof8fuWtjqXPAwFg%=Gu zxCX-ap{PW!1%vQCo*Gj`dWYMFuBOz4QHQCCuMCuE<@v^w9BM9V9%tjvZGwiKfLw7`ijUtztoNU8bn->JwuMp+PIu zfawd(U&}yu&|Whex{>=eej{(7N4|mcqza8|BD$`0=C8+7@BuXPzsAW<-g%UCo z9+%1cS#D*q&fwrcXY^-67>JqVN2FpvR#Wa{WB?cEo z&POR1eg<+sgLQF2f{w+Z7T1F)!Atd(m?nIsj1=A#ah*&H`a02&pHUipp)7~40~ISK z@d>u@eXbAzqZ{PF-)J8)O?26`tat%hfXU+yc}iNU*U0=bGZXqU`=sOF)MeIe#R_>w z=HUq;(`}(`JPB_@1jkPyk%*6Tzxq!)isyjg{X>VpVu7n(^`KjE;&#@d!K$ z*QmS^HFn8v@h#{K6vH-t4KhhrOME<((k*!mzFjAPLOu{bQ0$ss^}C8FIh2ArUIzEY zs6@I(`4e>hNN9{M%9ZjURyC81VUi>hOW1>c^x)P}{Chh3l}z(wpk>?dXXa{)dR@wk zX@fktsjsD8kYk1L13G>p&AOhZ z$8{VT1x=yXWN9B$<>Wg<+1kgTvCK5IJriyJ2DipJRF>#{>l>cHKWLTk6i_{T9U32) z=|s?vF6}SoNWKLA)-&9JgMj*Qkz`)t!JYDr5O;G@r{LnzjMM z9LL}&R_OXXBYpXOFdp^=H@VfEX_0?>9@V&1{f)#vO;p#{IK@owaHvlnbBuWKc07cI zVp;>nF~1cIw(^EXFr8(H{L|j*$Am!LQOqCR@1gU<%-?(Xr$?iCq?dvFIT->R2;qbC zV+s-~i+^zNnsys4;H0(KcLkG1>!@x#|xl!m2MK5`{;nEl( zVAV#434da&kBs2PkQL7sfq@QVoIcJ+28wOrI0W%HUK~JS z%Q=pFi+rf#R~WMwo8Y-+qLU83wEia270vXyMP@emp#6A=k=oBZ1#dAy&|mqd8rFjU zSq*Fc|6UDi-v4DatoanYuoeVLO(qMx_pR~PgZkok8&;DYlEi+0lLfcI{u&}2m1J5| zdfHzGO=RdSD|$^LoK@kyz~Q^h)F*+sIbgO!6_qK7E^byB(vh!@x8jz} zV~(j8>cFO$ss~jS1#QYqekwKWkYQTLSC<@&({hPNZczctD#-@P3c?ll26fO;z2<); zZI`&$o|}-fsZ(P|;r`496t%1z$UqOFH~6>8EXzdw-K$a;Gtg(uSq_Oqqq~|Dcl86n z3G^y@Po99@M6)zU8R(@M{HJct*ylT9@_l?FfxhLpTh=XA-YL(HxwobMeGA$+j#}1a zLJxjtOi|HBRmecI(2xAwBvt;o|6Gm~)Up8-fis!TB0GXXoGDb|?|M2i(?t|TsnCRO z_cF*f3a#Bn&jnmPI}-)n+;%u4bP%4pgEo3P+;in;JsL$%32$hI(^hDm1MQgmji?V( zw~nb>WMz|<^neMK>MDZv_fj(BKKndVC4K)9za0DMmL$cus$a8C<^6v(Nd}X>J zU-+h2;|vz2*2aWwIO-@e-W^#@6$S6lQ_x^*Uq%M%b7{wI@pir;)e>8ohufyi#R`IN9<=&dCNQyG2i7Ud>Sug<2Aks?CLsQ7MG zFikR%w4+dJ7Bc_WJ(6ifqm6O5O#B6wb9iDic*>HFo1nXJMK5I5WDBnuL*~cJ;)1(~7a!xbdoyaDw(Ps%I zHU}Nz##_*dROpaz4Y5KCqOK@GpS7c-nYDJ@&E0nHSxk_Vl4$FCrq}w$v`nvLy`x*) z6dLH{^}@3^iOt>Nz8nLcA*UQT(#Ea5jj0(7#wZ^QzJzX~EtqO#5by8yC3^(Vh%Z=C zv`;UIMq|_~1}u6<@IZOYtq?x;cW95Fz}N6~Gfroa5@?3|alev5aWcqz(rpVk1ZAOm zPLv$Sovav}-m)HDYbiU>q(>ne4^ZovCcIaGAC2JwVvix3yq3kU%t{dYFv@R(v*eCN z)5YA{^$xZ|oiV&O4m~ZLt>wT80b*!##3Rae{jL%qxlo20^M|KuxKU%6>}kTk9XrfF zrlG5uZZ)guX|xP?Ppi_C>=_45XTubsiF`0WO2!c6Jlxzs(;t{C>@| z^aK7|xP>nZ8{-;5zqX?j7<8xc*A>qh2l^N!EIfb=qc^$C+4Pht=5J4!qemTyRX zxegg`&sDhR4gZ_)YDT3uMiTH!BQwTw9Z0@Ny^Cv-4!#5MYG%g95$HNzx)+bl7GL-7 zk3xM+$A+b?#nvA=!Pf(2qq8(_?C8PMrHg6Gn_wuUwy+`IJM} zGD8`wpZP@^%<+g6E(!fjlaAMao$T3<9u$7Rsh@&RJvS$U0dvnQQ%v#VM1KJ2giTBX z%!e2}76VeHW`~ppXyR&swf{~6U;RImz`y?AlE7E}Uub{@|5*`p&Ht!~x$vKgn6jLz zh$+jh-HMnCK=-}^Pu+#L*+OwIIHyOi<1Qr*NzH<^vvmieC* zORl@6F|7ib7O@ZPHgC36Yty|XZ&;VS;MS=0R@#|LHwrS6+qOzo%d%X0(|bwY38<*s z@GrM8zXKHnzP25=A5`kH74or}t(|4S&iKo%oheWu#=F=yZ^LRE5z7?<$1-@YOYA@l zuG9`BAcQ)}af-_=0X+{iZi#o%zqEVQPL;&0Ri7NJD!txN&4Q*#LSRuO@S~|);l!o( zvu+kmty*L|&pr1nrE&CZOx$7djh8cdAfPuaC`nx9f6hg-_yd+#QL>b{+tE2k+_7F& z`Ezl_gWfQX8T>W(>ebIVaJ>%Mjxk{YUd^H^WhT?+&#lf=0$hov@z;#c@smi)cI!|= z_R{&Nj-}#eGOV&HY$TeRo9pcYc(tdJfdWc)DXk9$;yDY^GCCK~SE|>`;;}?&$W07n zwr`l5^F5fswo)qRJ6Ul*eu=OtZ#u)77MsC!Kxc6?PZo8{W@;LqH$0T5aQqlli~MMm zrc%F?tsuG4_k+!BKSt8Dy-c@oRCt}kGlP^mikn&PD1(S_O1Pf7{hW+Gz%)TX1^#9E zWoj|)GK@;Wzlo$zAflMK*Pbx}A`&yAL*2qA53sd?M=g)pii$W@?rm+94!B8D92y@P zNMk{seJh6qjuS~MP%wHuX=UX>8*o6u?|lwOc}D)2MZ~NjdAJd!MVb$dzYOc~e*cqV zcbZA_mnpMG!h>Xqi0Z3ZZds9-Df0XSWH4+6w=Tp~eoSj-$=An198humE>u^id19vc z$3yUQE__UFwzxtG`k{b$#G!}W>Mdf0==I*~6!~f>go!wjlvoLGwSlADV_TWp!aL(l z)kGglC~byz(j(3VRpfGm zhyfx|1y)A58`2-#c`7}}{axV=-Ez4Ok3R|7B$gv>6;2CSdy4#xE09GJ+zMW8Q06w1 zJkM;s{yzE2>$Rj?41~h__|#Z8dJh2xf|r?D9qw_;1!U&+@T(e6zlR4 z`s_GphyMmNHxE5OU!bP6k6)vv@sU6H9~~XfBZrtE_!F}q7OGl8t@<#2ISWsDAo7Bs zmC;y)faU1HJK`I-S6W7f9-$XCT$O$P+6`dxI@n6Fz%)7<>-5(+GzeXZ#4Pk$Z=uL? zA|jqc;oJ;;GV%xlNy17IjdlAF70&z@6YU1C`uz z7}-z9+@$gy>9`acQpn)(czCEDo(`GvhV&rO<7C!!!-!LXR1-=Q%lOU{poZrc1JBVm zB^A&ThWw3Crm=UsX(cH1me(?2P&N9m1o@yONn?!cPtpt~3vhlO-+2;LzwG~)__pX1 zYPgAR^Wz4OZj#kWzVqaEPz5G|pR88izQd0dY7{~N1>*;J9nU7qBjhkjH}GjZNA5J9 z`;EyJL#a=eSB8nGRPz$0ZD&c1DS~($4Vp++44c43H2DPVAkh&i&0^ zQXihq!d#4fQ?YR5D79xob3#An2s25CSZ#7J5}uJ%drm|>rMXiv&YuA$ngKlRk*7K1 z)dLIBsS#?=0r_graePmOE|SX^@n;J(XN*r>j7|+dul6iddye+0OTd_AG$@k)5Za=* zm!MO{AE`ZusXgVH3SEjH%hmf9%YUTxORKNH$=@{_3m>Q91~AJs@f*U@>J(>l{3!fr z8mjPZ=v2gk37(a{O+Hi+j^QqG{6-8vYCq1RBf2(1rXCp0p7rZ@KF%rTIKJTR2aC_kd|}E9^*gNItB!8S?9fHXnD7M-kaENKJ3@eME!X}&CN+mJn zZ+&#;$~3YGQ7cxaATOM8mGMWJE7LtQg)P{tqF@gq{E?@xGJSum_;??;#UG@LR=P$( zbtn!7>1|UoqP1x}2-Yc6N+)Oe)rvubPDuy{qn7biCTu7|hxkky)Hgd>p;Sl4guZHX zHS`6l%C%Fnh$+)PE*WXGsE~}0ml-mO_ng%Yab&#DS$f4nV7az;R6v$Zd>9teF2vaIm!x4=xKqc-czudBsG=a z4VK@V{()2lYd!ROYN?}7@n%Qi$r5;WeM}=;938;ZU^kOBndIfrRGN7S=KKAAE>lsw>n#ea+#-+$ z{R(}`wQ$hWMi9ixBCKF^Y|_afq!cFpFTTLa&(oDzrnY2(X{q&Ekte zMq?|@zYNbaq_FUihAIk2Ge0mHoiy~u>YyCTA{@uwD&pt!sUSQACZA>WYAUZ$2gT7! zl8y($EiHk1dWLvq-P2opUhDXbFdys)4ku9!Ds-C#o~ryx{EG03qs`0v5r3GEdWP|D zs3ITERtF7zMLf){yyTriM(4BO^Kv1oaUe{l+4yE9lpCP6g}#Ouu>Ii)Vii)|Bi719 z&-jFT!YgP2zp(2>zJ^#G-^`GovBVyQ22}@5;%?&K@XfTFa&_F7$u65otnlQhW5W#v zeI>S(7tEgmoUjPrwBUy43G^KNC@+{Qu2*Uru&uj9(HeQdwDbdE*p@;1i>=%?kL%H* z;I#+INU;@QxJ3pjM;!5^N0rlF%S2KC7V$PEFHR#DM7A`cxp2)MimI~(%i@aAW9`&H zM=~hSt)K2JrrB^)aB*`HSQw;Dh{M&`PvO=t0)$)w3xGMl>o>g@$7gVgXrYKSS8$R$^y?i$Hbgp+n*h zgR>e3FtVYX$>X*Gw`yRi!Q2%*Vp&>0Ee3x08d>miIj6v8BMDwOln($eW7wPzzi6oe zYl*1D1`K1&m&L&=ZjvaUO9AX0(3qhDBBh3mjR@6MHbU3^?PYBxKux@9B>p5rRBOV_0SY%$g{vvnI;GB{(YJO-N_M+ z>(7QCL*E2oP0>mi(ZU9p8e8@{GrLGrHpSdd7)D@5@GdMM8jBbX9AN`BgZ+8U54Q?n z7VI$G78w03x5DTiHoOP2z+!%k@pO@B6~H8oi6eCFNmL@SNruUmBvg2nO_X=o&@oZr zXVc9+sgT{z&Ax}4%VuB^cs9vYmTi@sR7%;0*T|oWOiS48QWZiKWk@#pV;Fe6UQW0x zaoOzI=Yg*sQ|$~vz;WR+_jn<~T&!JU8*Wi8HqI3?i|Xu~Y0k8aM&_ zia_Ody4{li8x|Y1SO4dfLltrV1}boI@KH8kskz1m528k_FfAi5KdvMI>spi$!P3K$?Ow49AvfV$1k%A?ujBpWw2gH-p1 zE@m%kxnQvA7ASG2n*z0|ev5L|*%Y+cSVq}wqb6H1PeL~~a1Mp217&O)N=>tY3*UiC z+!evkWB(pd?@(y|-dPdn*AmVO0;5iCw3L~a4D;2v^=TQM*#o-7B6xLa`?3v<4I z=9-Y>enC6eo##bB*x*q%hj>+uZc^Ofrjk=mg-rfpi`2+b*n&GHxb0wUHbOBPU^AO? zLARTlqqu!cEf(#dgvAg=gIWqLqah0Q6-8r1p|N2@s#+3b!_Beju3V2nt6cH0#X=f; zLtT%vctyi({zV1YUu5YzQk1@EAGlk3loiY1nOfa~Bc@NEUk< zcOlm>@&GByCHTx>4|p6KF*j%sLomF=>OVlq*-|^Caq+n^b@uITXm-} ze6h*3CaOiw{8Q42oJ<0n9?LY|m8W(~g&SX)E&4W_vs3JV_U)2$rM>)p0umpInjb&0tBQ$Vt zx6p=nEa=BU6{?ysjc13?UGb= z2l$H8^>!GMOjrN~*0XH(^8v#3ap3HxR4-ctk+hFdHTXV+>L!>AcyvPoJ`6;{npR0X z4pl;K_uEb}xF&|Uab#yUi>IsSgM<`QLjyv0)y}!@e8)lgH*TfRz8}M zO7V0vr1EHfPzcRKe@88JTy9hho0E6pxk62Fb4uK6)A=DjNLxm5D9x%43GO-ceOX-N zJauBBxc-}nn+m~jQtmPw&enlAJjcCm+fJD#+P*rWq%N<+S_A@7hT;apcS2pyJ9&_U z2MDwz(=`;hr#Cbpwn}d*r$a-aYd%e8l7&HK694pQ{FV@yl6@9bN|eA5BTSn26wT)orFj^TAL@NwbGfop>WSljeFj}Tr zwL$#Y`#1L!hCPlg!kkNT^CZMjTjp2B@ZY11TI8rea=1rw?nt|>g9a^vBz;E+ht2!c zA*KqCcF2|PM23%nZDF&zI%KLQo@DYvEmWJ0eWCJqmBi>dLCavAUs0`4*fKxKwLuGF8RKu}S7DKOqh zVE_&+b1_f_wlWOZy}8~FlMOH~gIu|t!hn)Zqj3F8DDX?42#ON8#O?lv1j^Jf5~{#T zt^oO+^_q-~KtN$I7z%&hgMloVD}kT}e!D4p0MeH7@Hr#FlM+<%M?zfK32@;)FrMsW zjv*tJtNaJF)BKzf9>T=b&XAvLz5;#3j|=$+hLl)jhCdXC)2o*O;)`^O#%tryYJW(3 zNrP@^Vd5@qUdSxITi}RNGzrXrd_?Yp{-l0?67GXhP>~?#lQh8sX#0qEJ0Ji*5T;>t z^m-ng9>MQQXi3V@;DnfwiQGZAV0SEllu&~DA>@{*8lIvA=Tc%5jR%tUvHON6i>6 z#^CbZF+Ci@Q-$3My`}qR=|>wfuY)&|o%tHmowzizKH?X~#6w|pBO2BH5gPC}!k-w& zM&_Ze8eM?JQ^g$ z$_Qi;jA!lETyCu3U$die| zR}=pdSNPAB#$<0B20kwuyI8f!Aj+r_2v)v~uRNNmNN_^e-TEWavJvNLfcQWnYg!$Br) z`Jr+vItm&yl`p$T!fg5Gz~ez0_7?Ev_(+&Py(y7d6hWC#!gZFGjD|+uzu-{|Zd}*B zw>6u2AT577EzFdu&_y~udNM6KPiII48m2{Ej3O$@chskvsofWmg%)n) z3-?uIPV1MT2?Mu{`Gvgxl7ZUF?~Z{MsJqEii)-)5efU?yTYUA)dfh_ zR#dGI+-7n_{#Mk!$AuLbeO}1I7>@R!{ERRz1hlG-dhN1&pWIu=!4@MSpY9XFo|b4; zLt;2;Gu*k(81kzThH`E*#}D*9DM~q>I{a`Sk(KU0J z)5el{bI?+_!OM@~sdYg%8sm4X&s~)zU7C?~Nm$;61s% z1Hu%w7P`h$&uL>L+E1qO=4TbL-6ildXCO4vw6IAP2lh;;(?dAof4!DU z-h~@p{(B8Nc&^W#p#SXPpM8_+pzhog!YQ~R>@winVB?9cm*>|~HgoNB{5`}iyk}BP zymMmtypr$D~A%4G9Yb?B$)PLp&iHF9H_mrF3 zrzRe%jx--KwT0*#aanjhzkakl;$hs?#9g(c{Oo!=b-3Ikj{l64?lE{Vh7R7nhpo3< zY;6JeOosXxwj9c=+dXRK0Zl=R(TUCGd)T6unxfWvms+Z&lGFdD)}DmB3$+dchPXE@c(=s8%&Ecvo|b0#{TbfR znJrw;aFtYT3!azPKm&4{8y(XyG+>6s&DwQQ_55-#v#~J7fa?A-*8o{SroYV$&0%Kd z&{xc|T(-HkF{Lex&TvnVNEz&I>mK-Lz?a-ia-0z}u7E#AuS?u$1OCM*R`qv=sw6ok zEnt}1pm6PSL88(Z%7HLStBf*b_`tH-0%M~SV9bI}7e%-di9o$<8u^$7hRrs*50seN zjai!a-DCum7JYsx5W9YjxaeElW-r|<}+a3>wbrN6nB@>4N;H1cP}is7hBt(kB# zyp$iR)@O7J`QtE^y2O$hur5%){8Zc?4gSO?sLEiKAb&C(C4wT2`2FSnP_w-Wr~xDH z^4nZaF-*}Er>H;l7Y>E@`(ym^B-AN~;m|z=Dc8%mkdnU^T15SDA>@P)I2-xndC-Jm zs=HR=C~-{?UJM4aTu|x3kkDed3o7AlR9AQ`mjVv?{rS*hCk*rC@N77CINEwa@f9*` z;j#2ZMy*MH1uyf<4SHmImK5Tri=cbHTwJQT;M&i?H9V>NL%uzDGJaFZVj%SoV}9t; z3b*fLFI*f7;nCriAv|8#r%>H9MXjI0Umn?!kNO=;;9C)fuHty8B8)EFL)RLA3!?cS zZU9Lc)2qI#aTrc|Mj5;I_{l5eHPSpFj*j}DLhqCIjes8nAF252RamWX#iXYm&7+%x zWQ;Nn)gxX!MKfB{5oBPTF={p$daHmhHrJ&P_On0uBSTnA@z)mc0{@%}AF}0jwu-W$ zvY%WF)ZiM3%@mO;Ej{G72f*h=`4B`i_^0A=|GCPz{ORg^UDA^F8R^oCNkDRXstR{_ zhOcKr&*6=@{2sf?_`kf(_)!|=a+*T!II+aC$ch|N!j0ALkhRMBd+?ebVesMt%jJ(p zohAzc-lTLW{qmb*t4(eSv&op+>&Qn{wBC$g0bbm3xgL ztG(QR473C}TiVQZapc$exACKD*MB3+7@k7ba-?Z%>fa}S%T{y9dn`;C^oR3Kp^46qpmoYw7 z`i@sx{1S}_oGqTRmgC={GSS*pZe9<%cG0SHud5AfD*2?RxA9o`CaE9fhu0QQj8`~Q zD>m^n>U@V$VH4UbejVP!?-`vb&tvi3MAx*d{MtqJPU`5VIKC1mFUByu5kr4P?g6UP z|HpmRCD&Ko+gjUj&sDjm>dAYq>fYX3id5I!y)|WT%2WMgsdh6@^`*PBCMfHb0JrO& zqZ&w+Fd`{ObqNMI%uxjys&1$D*HVt^fPqLQR8xaCmi3Di=9{CIkd|^)dlAV*HQ{?3 zH3a2x*ID&)omDp6e{uzEgLd3{dk|ZDeO&IOp<;<2wN47h>?w>muzA^RMyGuEGrW@L zduex=pPHLs2wn*E9-gTGsuYfEgXNQM+50jVPbn*vmBN!hRQcc#ho6%NHDLt5gZ@LP zP}V<$!q)NduT1@6{BS;$)n<%(?!Pf=m?5-bjM|MY^+jz6#Sa%U)G;r$NxKKBzCoID zQ@RqmE3|PTr6{4Se8!WMp}NeyjwT|_H^MbkeS#@NHQkRw8@2oYZK#gR<5O7rF&K)5 zQhsVXo*}#+Vm9nhUC;61s4??Xqo?8PDL*wu*r8mbx^Jd_(DhRXF!NJrU;>|uM2`7| z(XO2;jq1ZwcB&5UXB^7=fgd40geJIl>d7d5+_h8BlIKaSfSBAD^`lRe7D-;V)XVsk z@D(#tPyU0WJf#4I@f|!XM&I?wKh?wQH09l>a*xP%GmLk6L#W%%mMNQ*eK~duECp1leIU zdQ@CYK7|hWLZU$mNauZ_fARNUr`$(PVW8U~Hg17?WXi?3$E6~m_smoze}f->am|!` zKb?NhOcB)0%yPYyYo%g;^MB(5VX>LZrVC6m{l-c2n3a0Q`v&}VVx3~b~!3;~w8J8$O zDU1ss7cH-&UX&}z&uMppjYm#rUW!4f30mH883{Nl?p%Eg*=tk|!*y;w|DmtFC=K>h zxA=UuLaxt{^ag5C`~6|HJ)c{ar#fu#6eg;W31i6&G#@VW@`HH%kh(z3l$H9%R@3su zCd^80CvP_2Rat`zY9j5d_{KQ$0p9smu5Y(6t`@q;tkm(E#u~JXOc*a#GyJts{STO2 z$`BcbT`N^*lS?LMrFKquqD~j#fd6HcybhPW{I|6!41Ya1<^J zKQI%}F<5tE>xH$H^<29gf0swaZ+LE!eqH&(v;RK$<9UKs!)3;%?gT@3#-@eBfvWI_ zgtD73FEvA|#H>^e<>_8AZJdY~yznS=W2k!P-(HG2CqHaT<+M@LWfi4K_v~x~xF`Nh?4?*m z8Nm{+m&$TUWvLoDLESWS(@IrdbF~8{qtvg-amJ`4 zT!ecxbUg&mJMP6g&ds>HN2x5=Ohw}wbUO@hu7Z5VsE;ItDt?AlzdyVw#=u5%rD>$h zwNuY}7^C)+n@~OKUM5=`y=SG4*<2e(p*|xc!*4|Wx4EB~8_$6Ve0h|cC4CrERJiD; zBMnZ2YfzQ}<(y!ZI9h_e-j329Q5a`%e`mw5E8%FV?UrwEn^16XNEs|xk)bv^R~fZ{ zZ*5drRs#D10r&yhIdGIM&q$Q1?QB}<8my3bcos49RUY8vw_c?=hK&|>E2EjOnji!;)KoMJN|`@MqBHp#tXC5Fn(M9# z;^iR|olCi^GXZ~VKP*9t-(R#F8nLxI3PhFJtiR$glJxnlwZ11CXaOJRMvy-L>=MpYW}`QVfG4=Sgu}_x{x!CBhZNS?`tNPRU)fWCK>VX6 zI7{Ri(2p&L5tdG_qaU_P==M z@9LEvlV3xRkHmv=(5OGiH$(DEVfg?9nMcjEuFz2=mj|gA>^-BiWzX-I zO@^^{`S-R2*GXk(M?qbn+)tK8+0;&fY`WIr-}b6h>wUHvWXsLOYYfESMEc9UQXH!t z>*N=PGLChXhmMAHfgh{75uzVIAiNNNL}ULjtSU2C>rlG3wZ6KOtF{;Q6Sd!P4knKk zLZ5gFVJpKphX=I1PMW~&K_BU1{WsTGxd?j-Z9mY+f6?yTb_~2=gr7z}ek`BQf8UU- zHTgXaxjp<$pCLca7?y*&>b3J~G3h$a=BL5|&)i6YtQZTNuu7W5zwi;xsw?~;jdMUv zn=J^P8Ng1UNUO7m_f5}82R>sQvsD4u>pABUhSu~~w)qEq`_NgkqWyTWjp2V7J&v<# zr&k`715w;Q<*I^A_D`tuhHyz}20xiENE5vLZyHq|)5u8OchbQpe4p3#&n1gsQa9nG zf%AgxC$|2!78>&qC;SWcDsPHM`HV?H-)qWt&&3)6;PxvmZK3Z)x6s3SLneW}#JaZ!R~F z^qwB#h;ZP7y~n_ zz@NU8{7CWKc*SQn)<&4PkGhZ%Yctyar?@G+kKZ>+UclVdOcPz#{^r-$`&~!7;W{bJ~ncrPz|zsQia_}=!P9~Rt0mi12>Hf5H0z6%I?FY_8P$CU&P=DC-$-96+C z!zr_oN&X1K94JZUSd%MJtz6T@-3)Ce%%2S!ISNFR#9(4Cmvk9OBP-_3=NQhFc^Ut~ZBCBQ<)ri_eK z^7HG~K<0gUr0DtuJ%lBiS*;MN42C@PF|$@YJkySbLUCQ@DUMfppir+w}5Xm|uO75lV>XAZ2-6xvWn ztH#~>Lx@GA!dD)V8MtTIBS5ncb@hFHRsLxqhRa}w6GY#)i)K=rNu0lg@9X0) z3!paM=M|cJ%kJX1qr3e9X^9YxTABEAOuK|%WN}%k7lXiMveRrXe1RwG@hDj)J{8kM zaSw$Z1^wVYaL_g*2=c8MdP?{r7|hqXUzMj|E1p8bp53`n%5;G(G>_Y%+Wzsnxz!3j zB}iq$3|h}kR;IQUHq12<@_w|*HgT@6>*{KdEgZ0je+{=0_sz^Kw20U#zF6ZtR||22 zY;?gmYuT264PFq*&+N`c@GInLURWB&&m71gU)nI&#)sl|7l#%{gauH~<_oS@!$adC zgJ?#$)L_9E9Z9&QO7hu^#>3)s!=b^>+h zjwio|Q4JW7kLqhvpcQ(?woHFBTxY@}@?{t|w^64`5D0`Rx69yPuq*dLZ}IQNGs#IG zH=ElH^|=NU7l>c-Z=v@yl#>=e(P&S-;v}&U)j;p3DJ$;4E@+d=G@e`#*>0131zPb# zr21331IH8ezD4pqXL5a03;-YwkZhk0J`K`PfcKnn3Wp}%oCgm3x& z2%-WwoWLjZ(*vG{=%>WP_^W(q0f)IQsDg*ttu+%?8EnC|@KpSWM@{B*6F$c$i(ova zrt<1!M1_&@)(}wMp=JzKkQk6kp2wg$3(TLm31xHt9hhg`3(P8$y=p2j>o6nbC2aO+ zOwF*U&pD6zyyo!Zn;YXP=New(o_d;GsBVF9&fG|hS7?Hpc-GX<*n#N(P%rcXz#!Q3N-O{18yL&Zk0ypx4WoaF< z`A4l>xPYS2D~$RG)NXC+sC&%jp*s5TPywi@50A3h@ag$(;2sCdT!UvMZBDb#LyIDE zek>YGgS54wMHXu?MqY!yDJ!tCw$07QDPhr!THymBUL9>ZTfp6h&|9k_`=b+fwpZ3-_(L!eZp;id8V+-2|6?|gWST)kmI@J z`Mq|lbJ2D&8jMCm?8QeqMDfc+ve~NHn5%Csvo%||t|y|H84Dw3dvIKA@)D_vH&lZh z-lM@+6`beqq|Su0(JyYxn)reqRbIJXBl@Oa_&aC?^_IFgoeWOeBFQ1#4(i#E{#Jkm zt0`8534=U74~{4W*|6-Gg=@xa9i9nB7c)No7!e_kkD-p@;VPtrhcA@(2)VF4l4tQ% zZ-()P%IhS_7Ee1iM$Z?T5zY{%#n2K#6)Jxv$==39sFNSz^TX@B4~Mb8h&}zG>NVTM z6S?Qvl!{YIf?>D+?Q9hGzKNG|AL`sE_D{H`=c_Pte2p(w`e&lz8$FQ$B;Tfn^@(q!W`{p6;vE_xHxujz+8|{ujvhi01`rO){^Og&37S>ti|s+di7+T$`4g04ScK2`-SI)+-$Lt$KN5}-zX-$0>8k=aO@d` zs=iU+8AwTU0*i}@$x~Cv75XZ*sYK z;ky+*j2|`0HqqjQc9(pB!ZBhN5Hk+rCwESz^u8+puasUNd<~M@BHgr%RJS;)!0(yhx5S$==qj$tWYbEpTnn%J~YJ-O~qaep4HA5NjAURT&4e8oTTHNOE zO8KdFZ`rVzh2qx&P|lI7A*#h}2*s?za_~brw#-n{v`7dFnQG>H!KUqbHj1o*%Gwq` zWG!~LuPm$Hp7lX$pA5hvI2J4o(x|0v(P80T)G!zdy3sO{RJSsl0$s6=L&w>3h%>IV zDTMhMFoz=;LPD*~zp;TEIC_&xFclgks1+0*)_v`Tx;JnG%jP~TfXYxZg+=0o=V4uc zkG+qTNmwYxPu_~6LbA0AOa@d!sT0Kb(YXGh>dE&E!y|PkDokX`aU9vqMT8nm%gVx| zIE;(%)8vR#p`(%c3}mC>u5dJFa5NI7!-I*C2lo-a7QTp=*bYTHK3x}9jYPdE{B8)) zCi4^2pM~z~G#d5M;Y>5T3Ze}@ommbe@Q{3sqnU2CcBUBdSiKVwz9`VhgLuktJcJ41 z9Pv@zN=D-y{ZBh^ns6TqXNrS;$^@DzK4#_X0u2V;j-)i+UE{^3;^+0#b1bp2Ha2xK zRwrvM+*=vHtWJXlFbofgqnxTO#P(!UbgdPPiWB&bJ-InyBf2jEr#E`yhEl6A4d{2FA^J1iH0`Cr3bkIH5WrZ-`i#}mE4~wHS#DyA5h2G zNOa1)A@NSEyO_Kp-5!_$1|+)j)C~<7`ku= z=q$jK&|N-=)F^6)$1~xE+EeAI+HLX==qPuYe;~&DVYhAkPO~K?{B-2A%HRxzUUr;C zk(_|ik?*F}8su=F^KV-nzWkZ}ikcvuL&Gd1YBL+{BcVWDxqGuI_Mf%ntG0!1!Q2N` zD&7{Gs2kA>+{7gQqh1c2H*MH$!5(}*N7Fv^wM4x$AI6=eibN$(4}Kl$jsu?8H2o1i z(7<2<6RC=?uA!W&QkX4d^0)D{Jn+o$J|%DP1nP}6@NkRv4CVcEWAt24FLcYise$?e)6%&>!^|FQaq&co`h6P35Bz86% zr*{`%7kfkn4FB(UgxMwVApI~1hb^7UT%i+ZK69^(*5X8kvv!nRiD2I!uWCYUa|K@xoHb_CSq=XSCs!8Ess6r$A;!KJ!gFyy(Az-_kHsS7u0j9Xm0bwcGQD(FMYj11+ zv1_v-H}t$^nKt(?yDSpThxgoVn~Ul2B1bvDV+%BO$vq>Q7_1Q(O0yYxUfdCsMoU98 zpbJy^4%Kkj-M7i;4@3I z0(1it3Q_YsIBUQn?jpGvx20X$YnD|&O8Jj1YZ3pM$aM?B)IvF*{~E=a&bTIMXmaR` zMz)&jEUt@VOWpX%A@n-gYN7r*>^T8X%agcf>Q24@QDb-9@`Sjd;on0LT?meap|;vr z-C4|k#8b-E(#G&R3tm7UE<{R@LhZzT)u@?jYZMGF45B!013s?!x~EX`kD9>?;_u45noom&@T^$&0WnT2>vV-62{sWs4nCrebX~x zb_RM8cXAk4#tJKiRht|uW+RJSteVAqV~iR>yrfXqg=H3AsqDjFM@wTCijs>}U}^=R z#zDqoUHrpW8lm_I^whcNz-Uw_7puW!xm7QR_~N>Rmq!sAC#DfiY^ak=k)OC2B(gIT zcM6e!=Wo0Wzom5TYB(J(7!f@Ix64Q zfKj*I3nlX+5i6>9Nk(HjNs4W#`dU`Z##EyTGWD`}oy^5$q#|GU1y2Ua*BK%l3xpfN zNP&3b8oDmt3Dk#;+>66?$CAAY|9Yrh{bK2fgr)|%;#}^MZE-SI%9P4*aVGl;8RSpi)QlqBp7aPz>*KH$SWN00T0ec7xgYgYitG$ zxTfu*Vf7F$LzS=R;*$mVHRdGEm(W7-Jg*u2&B^$+QWm2O52+3LnI46O5erqXG+sz+ zZ{VnaCgJ-~)_u5s7IPJrV*sk&f~&+YLpKdN$x}J4TR2ZpEZodMGsK^(yt6>Qi=W|} zB*`-t|Cb#$P!{pt;NWNDBQp3ij#kHu5Vhm@mCcUwld9++qISO7wV+W#o`;IzNl?5K zytBGa5?+$4d*;-|QYlOL)zac(I=9pxrxw~c%Vq#4K7WvUU4RaQW4`Ng`*MBvEw#15r%92d;(Exce zo-^%gs9GivwAM5%>rZGA((#<>{3}VY=Sf{GQz!_$K&4j}e#x8!;kPp>(4YHUXl$l0 zWbxdQKI~xQYTOtN4H17f@SJ}wfcG5!dl*2AP>nUHoj6O{mr5uOhKF`@(kt`8de2b0{*4R>&C$xY#3oRVw-K|xh3-9gcrr@2U!%<$c=QJlo?As`-o+;v`(`qCvUU{8&N1-a~KUU$E&rfbvc(343pxu-c1o+JNx-!ehyQsB6V z6}t-q?Nlpn`x4|@uq2Qd*Z!;hHaGqd!>%;VAjjg`8!~&_N>G!zwDE^xYzOI#AoSYT~6i(iyI9u2cs745;c{V0^2sAvK3h zVA;p48gEzDGNDwfc|p_Qx?3t)g&=!T&7Q z=IVsVwPE%R%L7X0jV%yA!>3V7!tnBL^JZEI8NjGTL|xlujl)Y zF>sz9m`NSsQ7ukk!d>C&JV;ex?;L7m;>oP{JqY|S%GJ8cS!XC zaZ*czH>=p6BpPQsFr}T=>YARMTAhC^b*^aMw!>bXOo(68%|Nu zDGt?O+Dq`h=T=%lcRbt=+DpZukrF2 zxPBi@Bt1&`%uEYSPX?7S!ZbWt7grRDBa~A)?VtvXXBK@ddL}E=a+ozFB+ahkcsrzR1ssr(hwG~Xv1t1#w%XW97CN}Nfmi@eZ~YzyON zWI|a@C?wxm3wS|yL zKFlWr3WQuw-_5zGnrEF@Q}|A3YSOX-sN~t}9s(~Cju6gF=$nZ!sBk5|p3naM!-h>Z z;woUq#I?etpcW0<_~DHEtEwMakOwz$U*VMxKJ)shpbtc(0)~$-L%talORBk`d zsG;3ePL5%yTMB`4=JiS~7igO@GMH^N$er+Q06)VBTWcAcQmsR5@w8D2ETW2+98JEM z!By7`s5J(xevB(R&In{)(fnIj-lnfG(Yp(`Ic zO)l~onTY2a8*%%Xpw-I;5rra=GvROsL7~cz=YY_KhU^I073pQlPrL-vF8oAI4T@L?DO0{3fF*+WCcjO02NuDi) zEbCCn*2tbPERR{&q!3KQq7`!N3rHhpg3@x+v^Rxf3~NcD@|bc^5sxV~NB%8T<_67& zM!_JBmslvQ#c<`Yv)BUo)W%PF@Y6v`qi)AzJ>JK1bP`4Pk0N*P`Z@&}iK20R6GUSa zS+F?m0?ZTM2;r`g2yLf@lT-+EHMm95D2t>)JjFK+&%UcI)Z#X14n0r|+vku&LA*8; ztf1)G2z6{n8^5YN1svqNier9E# zbJ$lslLgf6Qaf4Cy)3@1JRyAGIhn74v5Cd=aG0X5+%maE3>uR{-fzd&hkW|mRxqg4 zNR(;BAhr{BjN7D5HrL4A|7tjxsmuOu);DQ(8F%%6=-=bnY=jeZdMqp&25PLFzrP=h z1DUY+if2+QnxI@X8k`=qVmjwL$t{StX7L9?ilYyj^gEVH`=06)%`B{_Ev*uzL4r3GK1p?PHSH~iR+@ua!IQFGTOj>Gf{q)yF$IrkR(` zfPB2@HVh5v8435O|8wDQ)VF{|hhb9LcS2>{ZYJcT;kYyd+7*Gw;u_aS8T@|jXCqJu z)fix`l{_CaKH`VbLY!0ZG*>EZg#u5pw+!Dgyxn-4{N+`N?YT-<;*JZ1EUlkB6z+*lYenLgO6Aswy_Oog^m7z$MnneOQo;q^LMdm9)6>0f37{LG%6Sqpim5c zrHmD`tvs=^n4do1jIQv{Qs&c&Rl(&hjt#Ru=^--7F<&Dm{6Bt{eohdtu|WAX?${wF zydkbJmDvq_X3fl18Uzh61uE{f)?lW0Na$+_SL#sk1l}snm)bkhlOidUlq$mYRnUhU zBz$kd#lZXBxM8`z64bRg^xjv{XLF9H1eT&6();44VYreVSjguFcCG{!7RJ%iz|IwL zesb`NmPP4u@U!I@uPgcRJ9G(>rpjL7y=A!1V(_7Kj$cD*jInAFQ~pfD=Kf_tXO;Y9S!C};jhwZjFxa3Y zvcQI!z*DG4-Sj25`DAGdLZ6R-^xH6%gKm}?v(=G?cM*8G&~SK4TI)8;j@w>?`C5je z9k7R6P2e|!z2<{D2H7d?Ap54f?ImZxbgrK^GsfKxRgh!6oPm7Y$6OL_I@~yyMJ(P% z!n~ZO*0Z>>R0|zOB>F5P5hVLDu6 zxa#Lv`8IA!V`yd{*H~xb2SxlS4Z66>w_@9)h@uB@UFfFKGkK`abo8Roo6W7^(WK7f z?&MG0g0^2IKbZ*-}SO(qVUnDsg6Xr-D3~2K6bfwC6|uT!en5l;4WGR0lf6 zHD69hxe%o2;Rx4F(+X$XSRRe@xR8VQOgboZWefChR6nk1X9_&$Vz7?CFBj@AXMV@T z-Gg|QJ~f1=(5UV^&J5T*;hg5+CGfY6o^QMx#)2*0hgXI4k4asjkDlHnZp+a2B;|JE zTz(yTo9Z|Jb_SJ6D1&=0KYWEC9z8%#y0Ln7V;Jdq zFEbO53ceVk;*Fq1iY?FayC@?ZE}&dEd|O_Mas6!C0E+M6m7W53Z!~A`*J3cl+g1F*4^dH( z4#|}idI^YtVxdb2p{TTg(px}U5ClW9fPnNG_BWFR{<%*cv$JpKcINxu?%a$bi+NG2 z&Q!i!9NvS1wq9{7jD5av%q#7-HHKbs^^qe2ht1vhaq@^xh(+Fvub7*TZ4!0p2~$^-2abhHO3+2ivF7oBqGm zox+m6*syR50kG7O#R^%F&$KI9x4nyx+ZGTR_sC6Jln$je>}|`0%hN#=-VpvPKsC}@ z#)Dp;o3v;G&dWsY60mkNA&WvxwS=dlJOi7j{2sQ?iYJjFba_akIbuKB+7@79l0fY; z$q)=xdok^_@A=yAm9^q!Hb=JDZ!wH<+l#XvlOY11CTy+j3T}wwW7ro%^S9uSR)Gg% z(q(y!qdL9B#UhI5KFy)SRIhj;dC0uuH9|$-Ps)~>m!z;H- zGikoKKW7`6mDF6S=g($x(J$Md zo6o}1?E;-W(VFDXT?KXM1Yz;y+P-Zbs(Y|=8Xn;MZ5%9NLga#6+aKd-S4FXwK?>Y{ z$O5m!Wg<0xDO0K0Or*T;q?OIv7|NHLUJ5a50^hzNw`>lxg;*RaiF3O}Vx3jWo)?}B@b_>oR)7ueil=M}on~o@#Wm?03;1G=GE*>5#dE>O((xHgLB0mx zL(3xf6#iVWuxtW{49u(PP?@PqKuEeO)Z)`OWZCDx1DZ7r=vRDh0)MZ{e-~P@_mU=W zw59@G2qL+yJybQpD0?{gEYe_TB^c&n0m1PtLi_TEgRv<^eC-1G7@DZ+uBhgKR3Qaq zIeJNmO|~r(gyBq&;%=BP!?VH>I8IJXI^*A=s!BpQtgH8gXKY8L;}iLV#Q)g#$Sgq; zp&{J4n+^`!T_)av2O`$1N?enoqrnEx@QHLHKBggw2uTThlQ^uTFh1ZBapmMx^#{}y zd4<_=5TPUAPWZg1y>L~0PxDwWm92&uwhh(N?^9?f%#Je6nlTSld#WZUe{IXns1Hc> z2UmMMo6wX+>Ef=LGaD|{@CO!tb|pNE+djLZL}?gDp1}Anz$tq+Ruzll>SE%JjQvLTZ1? z=Od|1dzMqHJ<~2UN@_r+q~o@C>%er{$@0bhe@1;N&SJkiWJOPS1eQ%DlAeyk_qAav zZi_>Bi0=+Q6AqIPy-DHlN>vDWWFeI8PpezRWXO(2p;xWYOF=bZIm6_n;K>t)MMHvZ z>O_B9{i%=xN%TkbDoF&xK{Xb3-~<^d3|k6|@EKv+B>ag7kF7TvvZ>;UX*ymU2!fjp z!9Lqpqy*$Uw$0XLcgeGm1yfo7&qh<&NIFF2tFhh}g{b9BLoQqX_yqsa64<0J;~e*6 znrH=8Sny|5O~$uGi3O_{!#I12qk(XtCM2$6CC4Mue!*b$p-RO5QH#n}Cq0Y?O`{D+ zZUWDLERN*j#lp__H7gO6`o?9c?a#H>UAeezCInRb zt~hStkm8~QTgS(&MG$}(8g(p_thT4DmvQ!TxX%V2Jc^BC$f|FB$8^TZa;=8&u{`YO z)0%PJm^PM3@q9M6rQ;pDWKDLoCbe-#85T^yJ2aM44WxCVIo>xlhauy0)RZp9a^M=O z{)tNZ6Fb4tTj&6ux*89lma5IvR4JKa!HK;q)h}5bZ)Mo`$c38j$QMpC&7ui=C&y2j zl|Z6<@dbRyaar5s`-85OEQJZVngvh6xs*u-t^i&~La{XGQ;wwt=)6s8DANOjqJdOY zrNA*lvPh@)nyffq^IdSZoq$q9u$Aw{gZYBZ2ik+R#xa77$Ciq=)ylvR9bb9K3LrXf>?6km@T~hg-Q_Q z`zY3ZsO#YKFhTQdAxCGimK&jhj%&VnA(BwH&j*uQ*s_~6Pg z^o;YmS7r*=Mpf?W;W!M`^cnDHnB_~&!J#SYLrsIWTxxySe3~~ZFewc^f^UQmL5XT^ z^)X*qH0;%Va$h(?j!uIr@C_C0<5ixlxfPi82Nd}IPztT4ArHEoD)abIRBoEWjNUVBhz+g4dQJf+|UHhjH^a!tg34+aTUm>ho6$Ru$ z-|K;mo+Sy53a24I9j(iJAL4qJ?VO;C$#)Z)ExANhJ&8PWT93=vk?>sCUSe5vCQIGU zfop7x+L=(uIvRPg1`HL1S!k-w>%HwwK9^zp05R=fp$n*yjyqL{G*YN59xdiYJ+-Nx zxJKXx45JOAv&7N#jdc9hLUA;H$8!}mRZ|rBhh=Irbq!v{y)&`l$f$A0cERVvla!bm zzZ({Oc)lLh=q21+gO}sfQ1l5m;c0I^Uau#@i3Hwm_t4%#9W;_2R_;#Ft5!P6x^aA?KabFbC7(ZSYeJ_ZbX)!!q^bqfD4>^Frl?k<=Z~=IA-6z#lyQ)kx z=@(EpE}p$Wn$aEvj$lu1nE%+B%0*KTdj(&2sgDGybQx-nm%4_u{v4XSK5>q6jf1*T z`|I~`8ZC0psl{T#m{a%SGhSt}Z>8OX8~&E1%&N{(yAR^Nv*3;T30@bD-t-F2?#}hH zo&y`PPQR_edfo@ouD*mnAb?ctlg2Fykphig_WP=Xj;G+YTo}(tE65@5H8m8{VUw&+ zJm~h92Cx(_ zM#2uMDCrdZE=&^)|D`3*!bBm2r&lIY&;dPF=;^baW`SK_A?u+&3Fc)(HOP4d+nErq zMhKRwaOz*=5?hgX$pC#GJTsMzI5we)qZ(mbj;vt0WU&L7d*6#AHw7=97LHvO3m&KzC*?5xKo!m(5f zp%Dc8x}zoOut6LXC+iT6lveW2R`d*z^tU`?S;!c`hD>KKN8?m718`dbjaMFELvb8X zys91>Y(FoG9*5gPQ*n$3caR^dt#GWeWFHsWjXx)IF)7HS9|iO^c%MXz z)ERhaLQGTIDZVa9NhH}v+Q;f^@p;F15|+dmI!c!Y$Y?rR>gre*pM*CikJi_rvyQO@ zYu_+2yCN+{;{qg48Hc+`Y!FuhaHV$)&vtCq*Q2xPXyj6YQPY$k0(5hLoKveohVw5% z$fk5Wo7{DvqVMtfsI!QWCP`A^$Mi7SG@*)1hIq>C(|Swoopo4LUDxo31_$XLN6Gpc3HgSb$Kv*Rzwh7gy57TeCgA+mT6^ui z*V)BBpU*r|X=-yB9FlO4MZxybh+Bp&%Gt4nkQ1r5z}#uV%N6qS)Q%M9(WM&lecwuq zkzN{Ht-bF<C{GF+ZJFmrEBm!o)LTBqni6r`peW*=1s z^FtIiqc>M3g$mm2WH``WMwpT7>%ZR%H_MkjiO{I}G+u3dx4BuAM zE*Q)W&7+zTW{9GAu$x)GCi@-NR&3#n?y&Hgox7<4XzZxDlZ@X3K3(CXgo^?k@_j~^ zP%crn9)qR+d~MY48Ri&S6*A1C3@$6Ggou{~50+HRRIm@k%rO?BqW!Y;E>_1xh##^z zLL8*ACFK$%(k!T~lJuAQTOXiW40422^@2mRELH+ACl3hyf+lM*rxc*2m_D;?$LdQK z2wO`sTbAKW`CU|p$~v=qvKM9el~jYX`ba*6*6tN9uqZelUjl>F?Dp8iFAC$ zcKqfoTW4gjbV-*Lw>b45N6o)v5nF>abL~Dz4`o1tlqrRmyoe75LvlFwVD)jTWnF+?6d3qqml3knKQ=1uTijF z<>y{JntTj+HE+^%U{ZfxY!u-ShYqSd3{}%==zrxqB@>BB?6&0IJ=$2z(>5QRYr0au z3u!VQRWZ|rO}m@w-es>b_S!)Y)~J~dmtIaJ8s3NZCC(%drf1!$h#tdh((c@ei5`b< zVsWUot2DB(f6G~8noRC@XQE*zmwm^VNZt;;i1-}^IKC6}Y=oXXD1)KsxGI_>e&gG)Xd@!jUY*;|YPkbd6#5YNA9sNzt7SyK_GOSEMg`VvrD* z_B1l%-+ZDqw(agWZ-ru8bpR`S(!$VGq2w-o4Diby=7uhd#PCw*&B87l+lUzZu?I;8 z+c-q8n%RuE?!qU34e3}im7}LX!yDSh>O4!b36q1b=}A)IMDau%?FDLbte+u`wg5G` zw@cafk!7Z8GEry0zC!9jd4)*S*A?8YCI)A?gw$wZBJ1~k@?i_Q4t_cVt6q=Sg*6-$ zpTle1>j=KAibxnN?Ql!g70|S1@je9gIEHwbtxZyrmnYdosm!-T_xtTH9E8bu8QhL* z<4X>~o4mrdZ_gRUZ$n+Xmx;<}bw|!aO>m)y-C5{)&iRg8mM0`_$QCP_Qs%dNFwiGp zJ7O!Fj>dz*E=*0*q)G8S#02|58=EZ=>P9fMFX2pHGN-d>(__CA3EK?H8sBI{rGP}l z%^A-63~MLqyGx%GmtoLf&byEqUG!X0@-x!W|J2wkR6ULKC?$-Bp3H#gd=KL%|ShZe;f z7#8H@*M3tW2{I?u=o#~7*q9q_Al=~(f`^hR%|zXz;7?cq#}2t{*s)M3neeyi^bn}s zA||bl58}gfbJ?)5=t);?EJ@-!ak-_$TW8_(4L^v7&y9zIIm;;mjJdBW98>|Deo^vG z?@ydxU&;=`Gh7-SntcC4oUzUDt$S3XAk;D5h%B%2WO}LklbX|hxbG0Db2R+iXd9_Z zkhlTVyJxY2!ERn@s*iLpR2;zvRBO&cpS1|l^xgjqhD9d0w;&pKe{l1LAB|PZ0GmrO zV(5r*;tM;R{N&kr-X-E>x{#V3 z<&Pg5mS$PPPMa(H#O`gL1xzgCsRGRxj2My_)KoQi+P{M?n+ zu@uXPysGYqn;UIh9W(AA49R)eL~j=BmJ#wzK13Jrr&0K*Rk?3r2En2Jk4AA`8MUdY zB#Wm;dU-jMv`r=hk!NB|W;YPwk1xhg88*{+77$yi5b_i!0Aui79wp6VwAU*nuO5ft zhwUtpX9i%%$5nlBP$LkZuc}lgGju$vmCL!!kN0>7;=YqKb2)z@vZR#BoRss88SBZL z1bER-b*~G1f(yB~rjfQZ4TG}iZ*fA?DGk#7UJj5TfyXW$Va?bQ_BN)?z3jvj4ZSEB z*zAxa`mz_3mxVje|1yf=K0Qe>sY(-`^^U2dOzd*kTk{&st#(Ql5STiqh=$k{%{_)B zS=*T3{vMl#lYQ;#G%+)1WP&=jGFjMJHDEfn|(1HrgA>@=?v6LASjN#7mC z|ERYO=lFSChhiNGaQr#eb7qDC1~KDwhRhN`^0Vniv)49JUBhCyTx zr4w)x0k0EoKuY7x)?gD@HYq@XXc-f$M&Dol@}NWhz_tJr&4JX7SLawWBuIpBLAoZ3 zpQdv6^X>9znx}n;kSM|7Z^A5{-WqRv&J0H9@T#Q*LA2yH{TM|&nYD581MR}2QIkg- z)e<$+hw*2(_mK|{Loy<=qqHKia)^?Svu6iH>z<1=tv-d{@xeQ+;usY=DGgjND~ma% zP0f6U`Ng)x*P$KeFmx<1GFqJ5num2Q=G9uW&SEr<>=JaT*W z*BYi;?X0dX9~&K^TH6`QcBZ6kL;xwJKl8(!Ts+M`Wy zl+%=Fk7~<)JcytlWIWOs9WE{aPt=z`vjTqtSK3v2#RX{C2x4Q$cA`20!xt+Dxs~FwLzS<zyxZBkJdFe`jqP9Kq5!M(xzF1qzBRhW}%efpTq*N~i}P<_e~9}_)n>*+vN6+30&QMkhkcVkWcO?(|!XII6?xZ+M} zmE&O7MSEdyf$E`qN?hGFjkG7!Wt05dH*Jm4I_m-U#GW-7-ekA?sG*oDaGG7?3MQ6F??NXi`A z71bR(=2mT1O36u(YUne0GJzC>h4{dPGlueAZkW2-1k!i<-kkh=ySjXRh_nVbnoX^( z08lG~gyTZ)%{+gyRwOvZpYUmE6at@}jG2H`@OVg5rf=3M$c#y$x@oMocQYxQTiUUT6PvF)0wPO_6O=Wi z>YG@Ya6mkX^R@IdHE}a983i0#r7B`67oJMeVi7X|5;~=imWG1t%myXpBWGLUb6@vQ-{E(FXQ;5oKkS=qcbL&sN&-d6*J9V-7nrG##n2|~_?((YOlMt$ zy1AWC5#<>zaZDAGK#;&h&aNAe#%D8?I3xX~qE$)IcYu)$HPiemo`{1I%U|>7-pB(23WmL1t8Yw>e(N zX>=cN!mmuS5Xr2{MwY3z>c&@lT@H_9=N`!F&=4VgDQxd05l7~KNRpL2AJa@nI9oYq zPNwDZYTQUt8_!=eRVGJ!=mX`T7UEz@;fxpo$3&Ay@Ov?#uWmU8i_Dei>+v40;8MS; z{!Cjt>Cg@F>I{m{%Vof4BdSsYo23TXvAJS0_e2Rqkx};YRJfMQ4xZIMIx^(P_COTb zlU9(SQ|rhdch@|j~{Q_c5P-Edh!OywQBhPjX( zJu^x{LCjvBhxa5p@m81H-|>H{`ry0sXeNqp2mcYRVDgFd(m;*>OHGIr^_YMly#b+M za*$1HW7$DM#x0`zYU`nfmQh<=dX*nKlm`WXr!*bx4)$MPD7M{mffST)$9&lhwJstH zD|qW{b!1Gknq=qbi1|{+pb9#sHPwqVcGRLL`<3TQ5o0-{j``+n_rAm)HHU(^No<*_ z?M7%<_(;O~r$I84B0wCpqmrfGqb;S}4UsDd0%wmg)T_%b0IzNxF#e5n1-c?#t6duH z0eQ;6DQ*rWET%3$fyVD{BM|Q@I}@xC1J@}E3j<%?GHWo`Jr&oTbu+QYx!g_pe8H!y zn}ps!CN5&xV7q|Lqtg)C-Jw*RHjboFw8`<(y4;5T*i_L*V&wIO!S0(_e%o~mxAn%` zJr;^ZpLxEZ5D>QCc}9aybNEErGjeJwbA8Ay?3`XLGq1|T;gY44Ru{w-g*i*D%m)-^ zdOq4+;|)ng>wM2GKDLQHyS*;15oYBSBm9_MK}6|WUKG1c;>yMd2n3pk^J3j65)gN_ za|N~c7n&F8tHa^S-TUP-J)O}R-y z*5idfi;UDVEH=SKk5h@I#6jaWq+*^by@iJ-pnD|WjF}(15CjCX6mNQ*jJQOf6Bux&5dG1`N4eY6qwRS*wIKM8FQCfp&W>x z9E1fnS^c_UvA;(p0hZwjpHJ8J1A4GRzE<{r^?EA$ePgr)T81?@_OiE(L8l?1r#NA( zdzHC_fhvh3x>LPblps~fyo*^V$>uBb`-?`ttoHngODq-Z2e|=4i`p#Jr)356+sQ#h z;5!LENyvjP;$BT^fc1BY~(eF`QwmEp>dJ~s*nz)+B7QLVdlZn4}ZT;zpEIS zg&PHo^O$|DIA*K6A|Z<)m5bDoA8?<4LT27pq4=OQ#)+Ucf^7F_PpP#ZsaipOwGwFz zDTR$7_k4;|<92(1S*hPcF6i-xns&l=_!Nd_s+6w&${G<#@XO~&YvL%?Sn*%XUVeM$ zlt5PR_Vn(4Xjzmob9b77Ido`w`6ZH;spDfTlx86th`i6IzL8fh`Z1$yt{I+at|qu^ zN||M-3nUW5XbY;Il8Km*mVGLN_;b<2bE~9sZV~!db=1?32x#+98+(+NIw!FYYU_>S z-CDmg)isY=ef6PG!<c=SLi+1UXBtwSrIoYR5Bb#ff>Up}l487OxVr%}B?fA^tBEGp;1 z`(rd3#YPG77arARc%HY<>GR-E`O17=ufL~#SIq}pdVMe9fGEq?H-yXQ2$(6wLDZNm3w}+f#w< zECE4`)V7C4t`0QM)8&#kQF{ZN&+!PF=^l4Y^53fNmmb+mE-8lXj-KT;>^vAohLVXN zIqXdYT{BTbFfT|HQ|^UkOMgDt+E7|bETPQ9Ieu8lT!A_6Y3qG_CSYX# zSpvAG`hMh=C}R9`bK%!-0R)Ee!U5C@mSS_vf}Fa%A_DB20blFZslD!VC9Rz)bAL(K z9(~soD1R}5%8xl{CUz90Ta!MR+}`y*r-ug>sFBiiOr7-7?I6$$#g6Q=2FrNQS!{O> z@Im_AyEpJnyQ^PbJzZn~Z8Y#lL5)Q3THd*0teXQLe{xMcYFo*~q{}=^9mCZu1u4IF#@kKtaq5R4ZEl3v}S<%jvSca%aW+aHXwgWG^Ola*esxMnkqx920Al&zcu zx$@%AQdvg1o=bR+dC`1Zd6)^WJIb{w9;g`@`+ea=OmGpUx3SRJ}mm)|6J zugH94FvzI|Q09z8{an!um1J{rM$SL2tC8H&#HhG9zK%)^_M{@Or;W^7mB=U_F(-x3 za}+rUbYG;|-mhZ9Ecqlh#H@aT@N3E1I^WTh4`+6pNBAw)QLvOk!h@cBo}O4{gg{efaR! z5w^-lmgYP*PC@?w?`HO6YwA{m3MFDA|1y0d?5k#du$W zjEiwD6@6p~;U6U_&6muhN|bX+iWymX$ACWi(7AoiAH{yu4E1+3ZBxS*u;Frh>_iaS zAM~;7IpO;)RPf__C*M4g z9qGfvWZGBW7Rntq6ClzQ-%0N-nG^3^=~y(jg(vL0;yD5t(UBn?3=m#mwzP$JOBgT$ zN$%EqFU~qJOGXK^p^@KmjQR8&=n1Han#lMT6&@DtK!AlsL+ z^**R%6Up#AW3k#oZ3zvOY2e>0+ksVYYlrbcxBmX&2x<=1dZ_N{WifR#WD+(Erf*1; zMH~Bo6I9XVCi$KY{&co^e$tkY=mYbGYJxQ(-a6;HF+?OHf>p3%6Fky(Z^0O8|0Tps z8xr|)bsyn-aB_Q~8WSBw0DofSbhL-aBkxJ^M2;57gTgIIrR8|-adUk6_WZdW;*^0V zv*E0@fKhCofS@msgmBv`>enV))o-5DiBdo@*Glx$;6E)SxQ1Z&G>%uKKDtk+-V6O+r#N9*6qHjQQkc?e+h8~)W1L}E8QY~lbYgsZIZ>&XNp;m)58YC5t zR519~o-D~#PayBhmv8hOM#vE3aV@!h=}{gT_!l`+4hAhbW!(>;?P9^`fy4shO8O%z zhEdJY=45A0^^ZQaB?rwQ0=Xi-H=tIPsuD;dPO&}PzPm?>eQ?KeZaW}ovrFMKQbgiw zS|INmnJ)(ED&BEHJQ-WGXaKnYG8ye>^B)9oVsPDsG!m(wBjM_8E!a20OR73XFU9 zUA%ohu!IixFiPWXvDBR5=|vE7>-l52(>S~tqnx)hMwG7SaS%bu2KyAVvWd|Q`cfJu z?rMoI$!i50wLyK62kc1or)1M=~_N!4m@ZRkX zSrcPpV+2#_R+PFsQe&d6T)~&!f^bp^9v$zt>YjYGwno2{(8VPZo%KZoQole%X}T1( z@S#Hq#>{s;OpchDAmc91W^>|W1N6uvCAK!Dx7K5&G!|p$tfQkUQwV z&I4%t?}+>Vj=2B-HsY>X%FmEZjFzwiE7olY0Ko5)Vp5t~sw}Fo{VZ}&-EO1ZR;@=O zi6>!b6v@h{4DiSjM}q!%jg zmwmNsz5q3X#2s*Dc3QZvdvQQXP(naSDjWjSkbWyVvg&L$8xi~YWgnnb5nd5}?`Z)g zalIYp{-G8d-1zs)Ph3MJ(v7F>2%^4cRVb?;PfoD36-bT6O+oCG0;J6r=22$G7Q78R z0SV9ifhnT!@?iX@d*hFC~$d&uhM(Cu`a<#{2UEte(TYz<6_8 zgZ~W?0`GvBKW-qd1lf>$Vh}ww!atS&ddjdV@zEbshOlXgpHqfc-jNj3WKmI+yowh8 zS3p8VSz6{_fC9|_FrhyWY}lv&OiIE$ucD=Sl>xux=iZpZMEUJ<1vq#-z;y)1f(5OQ z)2!+hMgTyZHvoY7Q$8Gk#{cTee{_h;sY|lJj8gp#wvSvSv6>C^6_9`jyy}7n;QRqE zz(oEBmJrjHQdfqBy+8S0bp;TbjeWobj5~#$S4p})-~jgiDsSL_@`_U0Qi?1RDoVer zPgIozK~z<5UHO_4cK(jj_&><}g~J>wCv#J~Bh2~~=^`%#BRBwV9NY~&=@%{uo4Zxl zyoo=D;Z^je9~x+p0FNn<|EUi@jHmJMK|uUrytJIMnBqtKz;v^b=Q*`gbl?xw%5wiI>C7;_8x|Le1{(mt z*}~1T*4a<|8_TIJaWlW}!Em~wH1w~qN*l_0Gu7I)B){P>zum-nV0bFYYy|#103f@8 zbi?PCgFo@>>UtBGf#G6FwD4lV@Blb>#6NI*|GW>NAKL$eOX*7eUQOlAtx0X+Lh{LB zUZ#MZKXM%IAD@E+$#3AYDzGs2D?(jqUr-A75`~rZ@37SjKk(};v-%e<+cSDnuy89fO#9Vc?@#=e@J;-m82rolahP_2 zk_#ywm}Vrpo4AO`OQD)1X=->B`16^sgkoj(Lz>n|Mmw}2ZK z48ZCPmJxm`^%NYyjvxM~fa}bY8T=_gT}4G&Q$_V(6=&os$^v2A_$D9#?lU9ah_XpV zls^iOx|ZC(Z!lL5NMA0sm&FGFx>U^Wn05dq?7V6+T_0D`=C5&L`eNHvMfqmZ$6*2{ zh@%}p_`m_g+HZy|8n&MTG^LbO760YAtt;H!6B-YX3~;eR`NMh|f7Bw{ANn=b#eUDY z>stG_6TrS>GwX})!MFKlA=rh zV#l>4&Z{oo?~?wuVC72EbxCsm@ZTg|FJHMS>1L<-mrXn!|5egIUFhE>{jJCPOA=z| zf0G2OrGF;wZ+(MnL6m@U|M~7;f`0TAuFbg4?7y|0uV^?}r78D^>;04d*)YD!@BbG8 z9KQto*|Pp6;BRf~UlxFW3HZIG{R{tFTl+fsSEV)PH(UV;7DNC57TC`dAOKJS`x5~0 Fe*p2T4Lbk; literal 0 HcmV?d00001 diff --git a/QUICK.C b/QUICK.C new file mode 100644 index 0000000..d4b8e3e --- /dev/null +++ b/QUICK.C @@ -0,0 +1,186 @@ +#include +#include + +void layout(int x1,int y1,int x2,int y2,int ccb,int cct); +void main() +{ +static int arr[40],st,ed,n,i,up[40],lp1[40],tp,lp; +char ch; +clrscr(); +layout(2,2,78,25,15,15); + while(2) + { + gotoxy(25,4); + textcolor(LIGHTRED); + cprintf("Q U I C K S O R T O P E R A T I O N"); + gotoxy(35,7); + textcolor(WHITE); + cprintf("Enter the %d number : ",n+1); + gotoxy(57,7); + scanf("%d",&arr[i]); + i++; + n++; + gotoxy(25,11); + cprintf("\n another number "); + ch=getch(); + if(toupper(ch)=='N') + { + n--; + break; + } + } + + clrscr(); +tp=0; + +if(n>1) +{ + tp++; + lp1[1]=0; + up[1]=n; +} + while(tp!=0) + { + st=lp1[tp]; + ed=up[tp]; + tp--; + lp=quicksort(arr,n,st,ed); + if(stlp+1) + { + tp++; + lp1[tp]=lp+1; + up[tp]=ed; + } + } + gotoxy(30,3); + cprintf("sorting completed \a"); + getch(); + system("cls"); +} + + quicksort(int arr[40],int n,int st,int ed) + { + int left , right ,lp,temp,i; + left=st; + right=ed; + lp=st; + layout(2,2,78,7,15,15); + gotoxy(30,3); + cprintf("Sorting in progress"); + gotoxy(5,5); + + while(1) + { + while( arr[lp]<=arr[right] && lp!=right ) + { + right--; + gotoxy(5,5); + for(i=0;i<=n;i++) + { + if(i==lp) + textbackground(CYAN); + else + textbackground(0); + cprintf(" %d ",arr[i]); + delay(100); + } + } + + if(lp==right) + return(lp); + + if(arr[lp]>arr[right]) + { + temp=arr[lp]; + arr[lp]=arr[right]; + arr[right]=temp; + lp=right; + gotoxy(5,5); + for(i=0;i<=n;i++) + { + if(i==lp) + textbackground(CYAN); + else + textbackground(0); + cprintf(" %d ",arr[i]); + delay(100); + } + } + + while( arr[lp]>=arr[left] && lp!=left ) + { + left++; + gotoxy(5,5); + for(i=0;i<=n;i++) + { + if(i==lp) + textbackground(CYAN); + else + textbackground(0); + cprintf(" %d ",arr[i]); + delay(100); + } + } + + if(lp==left) + return(lp); + + if(arr[lp] +union REGS i,o; +int *buffer; +main() +{ + static int ah,al; + ah=readdisk(); + al=readdisk(); + printf("%d ",al); + getch(); +} +readdisk() +{ + i.h.ah=0x02; + i.h.al=0x01; + i.x.cx=0x00; + i.x.dx=0x00; + i.h.dl=0x03; + i.x.bx=buffer; + int86(13,&i,&o); + return(i.h.al); +} \ No newline at end of file diff --git a/READDISK.C b/READDISK.C new file mode 100644 index 0000000..5e019d6 --- /dev/null +++ b/READDISK.C @@ -0,0 +1,20 @@ +#include +union REGS i,o; +int *buffer; +main() +{ + static int ah,al; + ah=readdisk(); + al=readdisk(); + printf(" %x %x ",ah,al); + getch(); +} +readdisk() +{ + i.h.ah=0x02; + i.h.al=0x01; + i.x.cx=0x00; + i.x.dx=0x00; + i.x.bx=buffer; + int86(13,&i,&o); +} \ No newline at end of file diff --git a/S1.C b/S1.C new file mode 100644 index 0000000..d85941c --- /dev/null +++ b/S1.C @@ -0,0 +1,7 @@ +#include +void main() +{ +int a,b; +a=9;b=999; +printf("%d %d %d",a,b,a+b); +} \ No newline at end of file diff --git a/SCHOOL1.C b/SCHOOL1.C new file mode 100644 index 0000000..c8a8646 --- /dev/null +++ b/SCHOOL1.C @@ -0,0 +1,85 @@ +#include +#include +void main() +{ +char *message,*p; +int i,x,c1,c=0,flag=0,dd=0; + clrscr(); + gotoxy(5,2); + printf(" left to right and right to left message scrolling "); + gotoxy(10,4); + textcolor(LIGHTGRAY); + cprintf(" TYPE THE MESSAGE : "); + + message =malloc(200); + p=message; + while(( *message=getchar())!='\n') + { + message++; + c++; + if(c>79) + { + printf("more than I can handle I QUIT "); + getch(); + exit(); + } + } + *message=NULL; + sorry: + gotoxy(5,5); + cprintf("colors available"); + printf("\n"); + for(i=1;i<=15;i++) + { + textcolor(i); + cprintf(" COLOUR %d ",i); + printf("\n"); + } + printf("enter the corresponding number : "); + scanf("%d",&i); + if(i>15 || i<1) + { + printf(" not valid number..try again "); + getch(); + clrscr(); + goto sorry; + } + printf(" select scrolling speed (1-FASTEST 10-SLOWEST) "); + scanf("%d",&dd); + if(dd>10 || dd<1) + dd=5; + clrscr(); + c1=80-c; + c1=c1/2; + x=c1; + while(!kbhit()) + { + gotoxy(1,1); + textcolor(WHITE); + cprintf("hit any key to exit"); + textcolor(i); + gotoxy(x,12); + cprintf("%s",p); + + if(x+c==80 && flag==1) + { + flag=0; + } + if(x>1 && flag==0) + x--; + if(x==1 && flag==0) + { + flag=1; + x++; + } + if(x+c<80 && flag==1) + { + x++; + } + delay(dd*50); + clrscr(); + } + system("cls"); + textcolor(LIGHTGRAY); + } + diff --git a/SCHOOL2.C b/SCHOOL2.C new file mode 100644 index 0000000..7ce0e5a --- /dev/null +++ b/SCHOOL2.C @@ -0,0 +1,199 @@ +// digital clock allowing the user to set time +#include +#include +#include +int getkey(void); +void main() +{ +int h1=0,h2=0,m1=0,m2=0,s1=0,s2=0,x=22,k=0,sm=0;//time : h1h2:m1m2:s1s2 +char *n="DIGITAL_CLOCK_:_ENTER_THE_CURRENT_TIME"; +clrscr(); +gotoxy(x,2); +textcolor(LIGHTGREEN); +while(*n!=NULL) +{ + if(*n=='_') + *n=' '; + cprintf("%c",*n); + n++; + x++; + sound(950); + delay(200); + nosound(); +} + +gotoxy(50,23); +textcolor(LIGHTGRAY); +cprintf("use arrow keys to set time"); + while(1) + { + gotoxy(35,5); + cprintf("%d",h1); + gotoxy(36,5); + cprintf("%d",h2); + gotoxy(37,5); + cprintf(":%d",m1); + gotoxy(39,5); + cprintf("%d",m2); + gotoxy(35,5); + k=getkey(); + if(k==28) + break; + if(k==72) + { + gotoxy(35,5); + textcolor(GREEN); + cprintf("%d",h1); + h1++; + if(h1==3) + h1=0; + } + textcolor(LIGHTGREEN); + if(k==80) + { + gotoxy(35,5); + textcolor(GREEN); + cprintf("%d",h1); + h1--; + if(h1<0) + h1=2; + } + textcolor(LIGHTGREEN); + if(k==77) + { + sm=1; + while(1) + { + gotoxy(36,5); + textcolor(GREEN); + cprintf("%d",h2); + gotoxy(36,5); + k=getkey(); + if(k==72) + { + h2++; + if(h2==10) + h2=0; + if(h1==2 && h2>=4) + h2=0; + } + if(k==80) + { + h2--; + if(h2<0) + h2=9; + if(h1==2 && h2==9) + h2=3; + } + if(k==77) + break; + } + if(k==77 && sm==1) + { + while(1) + { + sm=2; + gotoxy(38,5); + cprintf("%d",m1); + gotoxy(38,5); + k=getkey(); + if(k==72) + { + m1++; + if(m1==6) + m1=0; + } + if(k==80) + { + m1--; + if(m1<0) + m1=5; + } + if(k==77) + break; + } + if(k==77 && sm==2) + { + while(1) + { + gotoxy(39,5); + textcolor(GREEN); + cprintf("%d",m2); + gotoxy(39,5); + k=getkey(); + if(k==72) + { + m2++; + if(m2==10) + m2=0; + } + if(k==80) + { + m2--; + if(m2<0) + m2=9; + } + if(k==77) + break; + } + } + } + textcolor(LIGHTGREEN); + } + } +textcolor(YELLOW); +clrscr(); + while(!kbhit()) + { + gotoxy(35,12); + cprintf("%d%d:%d%d:%d%d",h1,h2,m1,m2,s1,s2); + sound(750); + delay(10); + nosound(); + sleep(1); + s2++; + if(s2==10) + { + s2=0; + s1++; + } + if(s1==6) + { + sound(850); + delay(15); + nosound(); + s1=0; + m2++; + } + if(m2==10) + { + m2=0; + m1++; + } + if(m1==6) + { + m1=0; + h2++; + } + if(h2==10) + { + h2=0; + h1++; + } + if(h1==2 && h2==4) + { + h1=0; + h2=0; + } + } +} + int getkey(void) + { + union REGS i,o; + while(!kbhit()) + { + i.h.ah=0; + int86(22,&i,&o); + return(o.h.ah); + } + } diff --git a/SCHOOL3.C b/SCHOOL3.C new file mode 100644 index 0000000..594e1d8 --- /dev/null +++ b/SCHOOL3.C @@ -0,0 +1,322 @@ +#include +#include +#include +#include +int getkey(void); +void info(void); +int pp(int sheet[4][4],int move); + +struct{ +char player[20]; +int moves1; +}mm; + + +int pp(int sheet[4][4],int move) +{ + FILE *fp; + int i,j,x,y=6,x1=7,y1=3,q,f=3000,true=0,rt,sheet1[4][4]={ 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,NULL} ; + long int recsize; + textcolor(LIGHTRED); + + for(i=0;i<4;i++) + { + x=30; + for(j=0;j<4;j++) + { + gotoxy(x,y); + if(sheet[i][j]==NULL) + textcolor(BLACK); + else + textcolor(LIGHTRED); + cprintf(" %d ",sheet[i][j]); + if(sheet[i][j]==sheet1[i][j]) + true++; + x=x+5; + } + + y=y+2; + if(true==16) + { + clrscr(); + for(q=0;q<=15;q++) + { + gotoxy(10,13); + textcolor(q); + cprintf(" CONGRATULATIONS YOU HAVE COMPLETED THE PUZZEL IN %d MOVES ",move); + sound(f); + delay(600); + nosound(); + f=f+40; + } + clrscr(); + fp=fopen("game.rec","ab+"); + if ( fp==NULL ) + { + fp=fopen("game.rec","ab+"); + + if(fp==NULL) + { + gotoxy(12,12); + textcolor(LIGHTGRAY); + cprintf("cannot open file .. sorry "); + exit(); + } + } + recsize =sizeof(mm); + clrscr(); + rewind(fp); + gotoxy(5,2); + textcolor(LIGHTGRAY); + cprintf(" PLAYER "); + gotoxy(20,2); + cprintf(" MOVES "); + while(fread(&mm,recsize,1,fp)==1) + { + gotoxy(x1,y1); + textcolor(BLUE); + cprintf(" %s ",mm.player); + gotoxy(x1+15,y1); + cprintf(" %d ",mm.moves1); + x1=7; + y1++; + if(y1==24) + { + printf("\n\t\t more ........"); + y1=3; + getch(); + } + } + fseek(fp,0,SEEK_END); + gotoxy(1,1); + textcolor(CYAN); + cprintf(" enter your name : "); + cscanf("%s",mm.player); + mm.moves1=move; + fwrite(&mm,recsize,1,fp); + fclose(fp); + rt=1; + clrscr(); + return(rt); + } + + } + return(0); + } + +void main() +{ +int sheet[4][4]={ 1,4,15,7,8,10,2,11,14,3,6,13,12,9,5,NULL},x,y=6,ch,xx,yy,posx,posy,i,j,temp,move=0,ex=0; +clrscr(); + for(i=0;i<=27;i++) + for(j=0;j<=80;j++) + { + gotoxy(j,i); + textbackground(RED); + cprintf("%c",176); + } + gotoxy(15,8); + textcolor(YELLOW); + cprintf(" NUMBER JUMBLE "); + gotoxy(15,10); + cprintf("developed by : SOUMEN MUKHERJEE "); + gotoxy(15,11); + cprintf(" MCA Ist semester ,M.E.R.I. (Indraprastha Univ.)"); + gotoxy(15,12); + textcolor(WHITE); + cprintf(" e-mail: soumen@soumenmukherjee.com "); + getch(); + info(); + clrscr(); + for(i=0;i<=25;i++) + for(j=0;j<=80;j++) + { + gotoxy(j,i); + textbackground(BLACK); + cprintf(" "); + } + gotoxy(15,1); + textcolor(LIGHTGRAY); + cprintf(" ###### NUMBER JUMBLE by Soumen Mukherjee #####"); + textcolor(LIGHTRED); + + for(i=0;i<4;i++) + { + x=30; + for(j=0;j<4;j++) + { + gotoxy(x,y); + if(sheet[i][j]==NULL) + textcolor(BLACK); + else + textcolor(LIGHTRED); + cprintf(" %d ",sheet[i][j]); + x=x+5; + } + + y=y+2; + } + + gotoxy(10,24); + textcolor(LIGHTGRAY); + cprintf(" Use Arrow Keys to Shift The Number %c %c %c %c ",24,25,26,27); + posx=4; + posy=4; + xx=3; + yy=3; + while(ch!=28) + { + + again : + gotoxy(1,1); + ch=getkey(); + move=move+1; + if(ch==80) + { + if(posx==1) + { + gotoxy(20,20); + textcolor(YELLOW); + cprintf(" move not possible...... "); + textcolor(RED); + sound(3000); + delay(500); + nosound(); + move--; + goto again; + } + gotoxy(20,20); + textcolor(YELLOW); + cprintf("NUMBER OF MOVES MADE :%d",move); + temp=sheet[xx][yy]; + sheet[xx][yy]=sheet[xx-1][yy]; + sheet[xx-1][yy]=temp; + posx=posx-1; + xx=xx-1; + gotoxy(20,20); + ex=pp(sheet,move); + if(ex==1) + exit(); + } + if(ch==72) + { + if(posx==4) + { + gotoxy(20,20); + textcolor(YELLOW); + cprintf(" move not possible...... "); + textcolor(RED); + sound(3000); + delay(500); + nosound(); + move--; + goto again; + } + gotoxy(20,20); + textcolor(YELLOW); + cprintf("NUMBER OF MOVES MADE :%d",move); + temp=sheet[xx][yy]; + sheet[xx][yy]=sheet[xx+1][yy]; + sheet[xx+1][yy]=temp; + posx=posx+1; + xx=xx+1; + ex=pp(sheet,move); + if(ex==1) + exit(); + } + if(ch==77) + { + if(posy==1) + { + gotoxy(20,20); + textcolor(YELLOW); + cprintf(" move not possible...... "); + textcolor(RED); + sound(3000); + delay(500); + nosound(); + move--; + goto again; + } + gotoxy(20,20); + textcolor(YELLOW); + cprintf("NUMBER OF MOVES MADE :%d",move); + temp=sheet[xx][yy]; + sheet[xx][yy]=sheet[xx][yy-1]; + sheet[xx][yy-1]=temp; + posy=posy-1; + yy=yy-1; + ex=pp(sheet,move); + if(ex==1) + exit(); + } + if(ch==75) + { + if(posy==4) + { + gotoxy(20,20); + textcolor(YELLOW); + cprintf(" move not possible...... "); + textcolor(RED); + sound(3000); + delay(500); + nosound(); + move--; + goto again; + } + gotoxy(20,20); + textcolor(YELLOW); + cprintf("NUMBER OF MOVES MADE :%d",move); + temp=sheet[xx][yy]; + sheet[xx][yy]=sheet[xx][yy+1]; + sheet[xx][yy+1]=temp; + posy=posy+1; + yy=yy+1; + ex=pp(sheet,move); + if(ex==1) + exit(); + } + } + getch(); + + system("cls"); + + } + + int getkey(void) + { + union REGS i,o; + while(!kbhit()) + { + i.h.ah=0; + int86(22,&i,&o); + return(o.h.ah); + } + } + + void info(void) +{ + int gd=DETECT,gm; + initgraph(&gd,&gm,""); + + rectangle(20,20,630,470); + setfillstyle(SOLID_FILL,BLACK); + floodfill(15,15,BLACK); + settextstyle(4,0,4); + setcolor(LIGHTGREEN); + outtextxy(30,30," Number Jumble "); + setcolor(WHITE); + setlinestyle(0,0,1); + line(20,65,630,65); + settextstyle(6,0,3); + setcolor(EGA_RED); + outtextxy(10,70," The Puzzle is quite simple yet challenging . The aim is to "); + outtextxy(10,110," arrange the numbers in order from 1 to 15 . Move the blank"); + outtextxy(10,150," with the help of arrow keys . Press the key corresponding "); + outtextxy(10,190," to the direction you wish to shift the blank . "); + setcolor(CYAN); + outtextxy(120,350," Double enter to EXIT the game,press any key.."); + getch(); + closegraph(); + restorecrtmode(); +} \ No newline at end of file diff --git a/SCHOOL4.C b/SCHOOL4.C new file mode 100644 index 0000000..b13ac05 --- /dev/null +++ b/SCHOOL4.C @@ -0,0 +1,322 @@ +#include +#include +#include +void seg(int x,int y,int i); +int getkey(void); +void main() +{ +int s1=0,s2=0,m1=0,m2=0,h1=0,h2=0,x=22,k=0,sm=0,t; +char *n="DIGITAL CLOCK : ENTER THE CURRENT TIME"; + + clrscr(); + gotoxy(x,2); + textcolor(LIGHTGREEN); + while(*n!=NULL) + { + cprintf("%c",*n); + n++; + x++; + sound(950); + delay(50); + nosound(); + } + + gotoxy(50,23); + textcolor(LIGHTGRAY); + cprintf("use arrow keys to set time"); + while(1) + { + gotoxy(35,5); + cprintf("%d",h1); + gotoxy(36,5); + cprintf("%d",h2); + gotoxy(37,5); + cprintf(":%d",m1); + gotoxy(39,5); + cprintf("%d",m2); + gotoxy(35,5); + + k=getkey(); + + if(k==28) + break; + + if(k==72) + { + gotoxy(35,5); + textcolor(GREEN); + cprintf("%d",h1); + h1++; + if(h1==3) + h1=0; + } + + textcolor(LIGHTGREEN); + + if(k==80) + { + gotoxy(35,5); + textcolor(GREEN); + cprintf("%d",h1); + h1--; + if(h1<0) + h1=2; + } + textcolor(LIGHTGREEN); + + if(k==77) + { + sm=1; + while(1) + { + gotoxy(36,5); + textcolor(GREEN); + cprintf("%d",h2); + gotoxy(36,5); + + k=getkey(); + if(k==72) + { + h2++; + if(h2==10) + h2=0; + if(h1==2 && h2>=4) + h2=0; + } + + if(k==80) + { + h2--; + if(h2<0) + h2=9; + if(h1==2 && h2==9) + h2=3; + } + + if(k==77) + break; + } + + if(k==77 && sm==1) + { + while(1) + { + sm=2; + gotoxy(38,5); + cprintf("%d",m1); + gotoxy(38,5); + + k=getkey(); + + if(k==72) + { + m1++; + if(m1==6) + m1=0; + } + if(k==80) + { + m1--; + if(m1<0) + m1=5; + } + if(k==77) + break; + } + if(k==77 && sm==2) + { + while(1) + { + gotoxy(39,5); + textcolor(GREEN); + cprintf("%d",m2); + gotoxy(39,5); + + k=getkey(); + if(k==72) + { + m2++; + if(m2==10) + m2=0; + } + if(k==80) + { + m2--; + if(m2<0) + m2=9; + } + if(k==77) + break; + } + } + } + + textcolor(LIGHTGREEN); + } + } + /*corrrecting for variaable mismatch ,the programme being written on + different days. */ + t=h1; + h1=h2; + h2=t; + t=m1; + m1=m2; + m2=t; + + clrscr(); + /* initial display of time set by user */ + + seg(30,12,h2);//higher order hour + seg(33,12,h1);//lower order hour + seg(37,12,m2);//higer order min + seg(40,12,m1);//lower order min + seg(44,12,s2);//higher order second + seg(47,12,s1);//lower order second + + /* continue as long as there is no key hit */ + + while(!kbhit()) + + { +sound(600); +delay(2); +nosound(); +sleep(1); +s1++; +if(s1==10) +{ +s1=0; +s2++; +seg(44,12,s2); +seg(47,12,s1); +} +if(s2==6) +{ +s2=0; +m1++; +seg(44,12,s2); +seg(47,12,s1); +seg(40,12,m1); +} +if(m1==10) +{ +m1=0; +m2++; +seg(44,12,s2); +seg(47,12,s1); +seg(40,12,m1); +seg(37,12,m2); +} +if(m2==6) +{ +m2=0; +h1++; +if(h2==2 && h1==4) +{ +h2=0; +h1=0; +} +seg(44,12,s2); +seg(47,12,s1); +seg(40,12,m1); +seg(37,12,m2); +seg(33,12,h1); +seg(30,12,h2); +} +if(h1==10) +{ +h1=0; +h2++; +seg(44,12,s2); +seg(47,12,s1); +seg(40,12,m1); +seg(37,12,m2); +seg(33,12,h1); +seg(30,12,h2); +} +seg(47,12,s1); +} +} +void seg(int x,int y,int i) +{ + +/*array declaration for all the digits*/ + +int num[11][7]={ {1,0,1,1,1,1,1}, + {0,0,0,1,0,0,1}, + {0,1,1,1,1,1,0}, + {0,1,1,1,0,1,1}, + {1,1,0,1,0,0,1}, + {1,1,1,0,0,1,1}, + {1,1,1,0,1,1,1}, + {0,0,1,1,0,0,1}, + {1,1,1,1,1,1,1}, + {1,1,1,1,0,1,1}, + {1,1,1,1,1,1,1} + }; + +/* symbols to be displayed */ + +char v='|',h='_'; +/*deleting the previous symbol*/ + +textcolor(BLACK); +gotoxy(x,y); +if(num[10][0]==1) +cprintf("%c",v); +gotoxy(x+1,y); +if(num[10][1]==1) +cprintf("%c",h); +gotoxy(x+1,y-1); +if(num[10][2]==1) +cprintf("%c",h); +gotoxy(x+2,y); +if(num[10][3]==1) +cprintf("%c",v); +gotoxy(x,y+1); +if(num[10][4]==1) +cprintf("%c",v); +gotoxy(x+1,y+1); +if(num[10][5]==1) +cprintf("%c",h); +gotoxy(x+2,y+1); +if(num[10][6]==1) +cprintf("%c",v); +/* disolaing the present symbol*/ + +textcolor(LIGHTMAGENTA); +gotoxy(x,y); +if(num[i][0]==1) +cprintf("%c",v); +gotoxy(x+1,y); +if(num[i][1]==1) +cprintf("%c",h); +gotoxy(x+1,y-1); +if(num[i][2]==1) +cprintf("%c",h); +gotoxy(x+2,y); +if(num[i][3]==1) +cprintf("%c",v); +gotoxy(x,y+1); +if(num[i][4]==1) +cprintf("%c",v); +gotoxy(x+1,y+1); +if(num[i][5]==1) +cprintf("%c",h); +gotoxy(x+2,y+1); +if(num[i][6]==1) +cprintf("%c",v); + +} +/* returns the scan code of the hit key */ + +int getkey(void) + { + union REGS i,o; + while(!kbhit()) + { + i.h.ah=0; + int86(22,&i,&o); + return(o.h.ah); + } + } diff --git a/SCROLL.C b/SCROLL.C new file mode 100644 index 0000000..96b69bd --- /dev/null +++ b/SCROLL.C @@ -0,0 +1,42 @@ +#include +#include +#include +#include +void main() +{ +char *arr; +char temp; +int i=0,t=0,p=1; +clrscr(); +printf("enter the text you wish to scroll: "); +while((*arr=getchar())!='\n') +{ +arr++; +t++; +} +*arr=NULL; +while(t>=1) +{ +arr--; +t--; +} +//arr--; +while(!kbhit()) +{ +p=rand()%15; +textcolor(p); +gotoxy(20,12); +cprintf("%s",arr); +temp=arr[0]; +i=0; +while(arr[i]!=NULL) +{ +arr[i]=arr[i+1]; +i++; +} +arr[i-1]=temp; +delay(200); +/*gotoxy(20,12); +cprintf("%s",*arr);*/ +} +} \ No newline at end of file diff --git a/SEG.C b/SEG.C new file mode 100644 index 0000000..c04a5ed --- /dev/null +++ b/SEG.C @@ -0,0 +1,333 @@ +#include +#include +#include +void seg(int x,int y,int i); +int getkey(void); +void main() +{ +int s1=0,s2=0,m1=0,m2=0,h1=0,h2=0,x=22,k=0,sm=0,t; +char *n="DIGITAL CLOCK : ENTER THE CURRENT TIME"; + + clrscr(); + gotoxy(x,2); + textcolor(LIGHTGREEN); + while(*n!=NULL) + { + cprintf("%c",*n); + n++; + x++; + sound(950); + delay(50); + nosound(); + } + + gotoxy(50,23); + textcolor(LIGHTGRAY); + cprintf("use arrow keys to set time"); + while(1) + { + gotoxy(35,5); + cprintf("%d",h1); + gotoxy(36,5); + cprintf("%d",h2); + gotoxy(37,5); + cprintf(":%d",m1); + gotoxy(39,5); + cprintf("%d",m2); + gotoxy(35,5); + + k=getkey(); + + if(k==28) + break; + + if(k==72) + { + gotoxy(35,5); + textcolor(GREEN); + cprintf("%d",h1); + h1++; + if(h1==3) + h1=0; + } + + textcolor(LIGHTGREEN); + + if(k==80) + { + gotoxy(35,5); + textcolor(GREEN); + cprintf("%d",h1); + h1--; + if(h1<0) + h1=2; + } + textcolor(LIGHTGREEN); + + if(k==77) + { + sm=1; + while(1) + { + gotoxy(36,5); + textcolor(GREEN); + cprintf("%d",h2); + gotoxy(36,5); + + k=getkey(); + if(k==72) + { + h2++; + if(h2==10) + h2=0; + if(h1==2 && h2>=4) + h2=0; + } + + if(k==80) + { + h2--; + if(h2<0) + h2=9; + if(h1==2 && h2==9) + h2=3; + } + + if(k==77) + break; + } + + if(k==77 && sm==1) + { + while(1) + { + sm=2; + gotoxy(38,5); + cprintf("%d",m1); + gotoxy(38,5); + + k=getkey(); + + if(k==72) + { + m1++; + if(m1==6) + m1=0; + } + if(k==80) + { + m1--; + if(m1<0) + m1=5; + } + if(k==77) + break; + } + if(k==77 && sm==2) + { + while(1) + { + gotoxy(39,5); + textcolor(GREEN); + cprintf("%d",m2); + gotoxy(39,5); + + k=getkey(); + if(k==72) + { + m2++; + if(m2==10) + m2=0; + } + if(k==80) + { + m2--; + if(m2<0) + m2=9; + } + if(k==77) + break; + } + } + } + + textcolor(LIGHTGREEN); + } + } + /*corrrecting for variaable mismatch ,the programme being written on + different days. */ + t=h1; + h1=h2; + h2=t; + t=m1; + m1=m2; + m2=t; + + clrscr(); + /* initial display of time set by user */ + + seg(30,12,h2);//higher order hour + seg(33,12,h1);//lower order hour + seg(37,12,m2);//higer order min + seg(40,12,m1);//lower order min + seg(44,12,s2);//higher order second + seg(47,12,s1);//lower order second + + /* continue as long as there is no key hit */ + + while(!kbhit()) + + { +sound(600); +gotoxy(36,12); +textcolor(WHITE); +cprintf("_"); +delay(2); +nosound(); +gotoxy(36,12); +sleep(1); +textcolor(BLACK); +cprintf("_"); +//delay(500); +gotoxy(36,12); +textcolor(WHITE); +cprintf("_"); +delay(2); +s1++; +if(s1==10) +{ +s1=0; +s2++; +seg(44,12,s2); +seg(47,12,s1); +} +if(s2==6) +{ +s2=0; +m1++; +seg(44,12,s2); +seg(47,12,s1); +seg(40,12,m1); +} +if(m1==10) +{ +m1=0; +m2++; +seg(44,12,s2); +seg(47,12,s1); +seg(40,12,m1); +seg(37,12,m2); +} +if(m2==6) +{ +m2=0; +h1++; +if(h2==2 && h1==4) +{ +h2=0; +h1=0; +} +seg(44,12,s2); +seg(47,12,s1); +seg(40,12,m1); +seg(37,12,m2); +seg(33,12,h1); +seg(30,12,h2); +} +if(h1==10) +{ +h1=0; +h2++; +seg(44,12,s2); +seg(47,12,s1); +seg(40,12,m1); +seg(37,12,m2); +seg(33,12,h1); +seg(30,12,h2); +} +seg(47,12,s1); +} +} +void seg(int x,int y,int i) +{ + +/*array declaration for all the digits*/ + +int num[11][7]={ {1,0,1,1,1,1,1}, + {0,0,0,1,0,0,1}, + {0,1,1,1,1,1,0}, + {0,1,1,1,0,1,1}, + {1,1,0,1,0,0,1}, + {1,1,1,0,0,1,1}, + {1,1,1,0,1,1,1}, + {0,0,1,1,0,0,1}, + {1,1,1,1,1,1,1}, + {1,1,1,1,0,1,1}, + {1,1,1,1,1,1,1} + }; + +/* symbols to be displayed */ + +char v='|',h='_'; +/*deleting the previous symbol*/ + +textcolor(BLACK); +gotoxy(x,y); +if(num[10][0]==1) +cprintf("%c",v); +gotoxy(x+1,y); +if(num[10][1]==1) +cprintf("%c",h); +gotoxy(x+1,y-1); +if(num[10][2]==1) +cprintf("%c",h); +gotoxy(x+2,y); +if(num[10][3]==1) +cprintf("%c",v); +gotoxy(x,y+1); +if(num[10][4]==1) +cprintf("%c",v); +gotoxy(x+1,y+1); +if(num[10][5]==1) +cprintf("%c",h); +gotoxy(x+2,y+1); +if(num[10][6]==1) +cprintf("%c",v); +/* disolaing the present symbol*/ + +textcolor(LIGHTMAGENTA); +gotoxy(x,y); +if(num[i][0]==1) +cprintf("%c",v); +gotoxy(x+1,y); +if(num[i][1]==1) +cprintf("%c",h); +gotoxy(x+1,y-1); +if(num[i][2]==1) +cprintf("%c",h); +gotoxy(x+2,y); +if(num[i][3]==1) +cprintf("%c",v); +gotoxy(x,y+1); +if(num[i][4]==1) +cprintf("%c",v); +gotoxy(x+1,y+1); +if(num[i][5]==1) +cprintf("%c",h); +gotoxy(x+2,y+1); +if(num[i][6]==1) +cprintf("%c",v); + +} +/* returns the scan code of the hit key */ + +int getkey(void) + { + union REGS i,o; + while(!kbhit()) + { + i.h.ah=0; + int86(22,&i,&o); + return(o.h.ah); + } + } diff --git a/SETUP.C b/SETUP.C new file mode 100644 index 0000000..0361704 --- /dev/null +++ b/SETUP.C @@ -0,0 +1,21 @@ +#include +void main() + +{ +int x,y; +clrscr(); +while(!kbhit()) +{ + +x=rand() % 70; +y=rand() % 23; +textbackground(BLACK); +gotoxy(x,y); +textcolor(YELLOW); +cprintf("*"); +delay(100); +textcolor(BLACK); +gotoxy(x,y); +cprintf("*"); +} +} \ No newline at end of file diff --git a/SHUFFEL.C b/SHUFFEL.C new file mode 100644 index 0000000..c8a8646 --- /dev/null +++ b/SHUFFEL.C @@ -0,0 +1,85 @@ +#include +#include +void main() +{ +char *message,*p; +int i,x,c1,c=0,flag=0,dd=0; + clrscr(); + gotoxy(5,2); + printf(" left to right and right to left message scrolling "); + gotoxy(10,4); + textcolor(LIGHTGRAY); + cprintf(" TYPE THE MESSAGE : "); + + message =malloc(200); + p=message; + while(( *message=getchar())!='\n') + { + message++; + c++; + if(c>79) + { + printf("more than I can handle I QUIT "); + getch(); + exit(); + } + } + *message=NULL; + sorry: + gotoxy(5,5); + cprintf("colors available"); + printf("\n"); + for(i=1;i<=15;i++) + { + textcolor(i); + cprintf(" COLOUR %d ",i); + printf("\n"); + } + printf("enter the corresponding number : "); + scanf("%d",&i); + if(i>15 || i<1) + { + printf(" not valid number..try again "); + getch(); + clrscr(); + goto sorry; + } + printf(" select scrolling speed (1-FASTEST 10-SLOWEST) "); + scanf("%d",&dd); + if(dd>10 || dd<1) + dd=5; + clrscr(); + c1=80-c; + c1=c1/2; + x=c1; + while(!kbhit()) + { + gotoxy(1,1); + textcolor(WHITE); + cprintf("hit any key to exit"); + textcolor(i); + gotoxy(x,12); + cprintf("%s",p); + + if(x+c==80 && flag==1) + { + flag=0; + } + if(x>1 && flag==0) + x--; + if(x==1 && flag==0) + { + flag=1; + x++; + } + if(x+c<80 && flag==1) + { + x++; + } + delay(dd*50); + clrscr(); + } + system("cls"); + textcolor(LIGHTGRAY); + } + diff --git a/SINE.C b/SINE.C new file mode 100644 index 0000000..dda7720 --- /dev/null +++ b/SINE.C @@ -0,0 +1,29 @@ +#include +#include +#include +void main() +{ +int x=0,x1=40,y=1; +float z; +clrscr(); +while(1) +{ +textcolor(LIGHTRED); +z=sin(x); +z=z*5; +x1=x1+z; +gotoxy(x1,y); +cprintf("."); +textcolor(LIGHTGRAY); +gotoxy(40,y); +cprintf("|"); +delay(300); +x1=40; +y++; +if(y==25) +exit(); +x=x+7; +} + getchar(); + system("cls"); +} diff --git a/SM1.C b/SM1.C new file mode 100644 index 0000000..c0f955f --- /dev/null +++ b/SM1.C @@ -0,0 +1,49 @@ +#include +#include +#define CAV toupper(c) +void main() +{ +char c; +int nc=0,nl=1,nw=1,nv=0; +clrscr(); +gotoxy(2,2); +textcolor(LIGHTRED); +cprintf(" terminate the text with CTRL+Z.. hit enter "); +gotoxy(5,5); + while((c=getchar())!=EOF) + { + if(c=='\n' || c=='.') + { + nl++; + nc--; + } + if(toupper(c)=='A' || toupper(c)=='E' || toupper(c)=='I' || toupper(c)=='O' || toupper(c)=='U') + { + nv++; + } + if(c==' ' || c=='\t') + { + nw++; + nc=nc+0; + } + else + nc++; + } + textbackground(BLACK); + textcolor(CYAN); + gotoxy(15,20); + cprintf(" the number of characters in the above input are: %d",nc); + textcolor(RED ); + gotoxy(15,21); + cprintf(" the number of lines in the above input are : %d ",nl); + textcolor(MAGENTA); + gotoxy(15,22); + cprintf(" the number of words in the above input are : %d ",nw); + textcolor(YELLOW); + gotoxy(15,23); + cprintf(" the number of vovels in the above input are : %d ",nv); + textcolor(WHITE); + fflush(stdin); + while(!kbhit()); +} + diff --git a/SM3.C b/SM3.C new file mode 100644 index 0000000..d1e9324 --- /dev/null +++ b/SM3.C @@ -0,0 +1,41 @@ +#include +#include +#include +#include +void main() +{ + int gd=DETECT,gm,x,y,h,i,j,x1,k=0; + + initgraph(&gd,&gm,""); + x=getmaxx(); + y=getmaxy(); + h=getmaxy(); + for(j=5;j<=50;j=j+5) + { + for(i=10,x1=10;i<=100;i=i+10,x1+=10) + { + for(h=15;h<=150;h+=35) + { + setcolor(k); + + delay(25); + sound((k*j)/3); + circle((x+j)/3,(y+j)/15,x1); + circle((x+j)/15,(y+j)/3,x1); + circle((x+j)/3,(y+j)/15,x1); + circle((x+j)/3, + (y+j)/3 + ,x1); + delay(10); + nosound(); + } + } + k+=20; + } + delay(200); + getch(); + nosound(); + + closegraph(); + restorecrtmode(); + } \ No newline at end of file diff --git a/SND.C b/SND.C new file mode 100644 index 0000000..bfc873e --- /dev/null +++ b/SND.C @@ -0,0 +1,33 @@ +#include +void asm1(void); +char *start; +union REGS i,o; +int x; +main() +{ +int ch; +asm1(); +ch=getch(); + +} +void asm1(void) +{ +asm mov ah,0x0C; +asm mov al,0x50; +asm mov CX,0x22; +asm mov BX,0x24; +asm mov BH,0x22; +asm int 0x10; +getch(); +/*asm mov dh,0x16; +asm mov dl,0x28; +asm int 0x10; +asm mov ah,0x02; +asm mov al,0x01; +asm mov ch,0x00; +asm mov cl,0x02; +asm mov dh,0x08; +asm mov dl,0x00; +i.x.bx=start; +asm int 0x13;*/ +} diff --git a/SORT.C b/SORT.C new file mode 100644 index 0000000..c01fe33 --- /dev/null +++ b/SORT.C @@ -0,0 +1,32 @@ +#include +#include +#include +void main() +{ + +int a[8],i,j,min=0,p=0,temp=0; +clrscr(); +for(i=0;i<=7;++i) +{ + +printf("\nenter the %d no.",i); +scanf("%d",&a[i]); +} +for(i=0;i<=8;i++) +{ +min=a[i]; + +for (j=i;j<=8;++j) +{ +if(a[j] +void main() +{ +while(!kbhit()) +{ +sound(950000); +//delay(50); +nosound(); +delay(1); +} +} \ No newline at end of file diff --git a/SPARSE.C b/SPARSE.C new file mode 100644 index 0000000..318e073 --- /dev/null +++ b/SPARSE.C @@ -0,0 +1,103 @@ +#include +#include +#include + +void main(void) +{ + int *a, *b, *c; + int i=0; + struct sparse + { + int element[3]; + } *s,tmp; + int x,y,non_zero,px, row,col; + + clrscr(); + printf("\n\tEnter number of rows of sparse matrix\t"); + scanf("%d",&row); + printf("\n\tEnter number of columns of sparse matrix\t"); + scanf("%d",&col); + a=(int *) malloc(sizeof (int) *row*col); + b=(int *) malloc(sizeof (int) *row*col); + c=(int *) malloc(sizeof (int) *row*col); + clrscr(); + printf("\n\tEnter element of sparse matrix a"); + for(y=0;y +#include +void main() +{ +double x; +int z; +//float y; +puts("enter the number"); +scanf("%lf",&x); +printf("%lf %d %lf",sqrt(x),z=sqrt(x),x); +} diff --git a/STACK.C b/STACK.C new file mode 100644 index 0000000..2b025ae --- /dev/null +++ b/STACK.C @@ -0,0 +1,225 @@ +#include +#include +void layout(int x1,int y1,int x2,int y2,int ccb,int cct); +void main() +{ + int arr[200],bot=200,c=0,i=7,y=21,cc=0; + char ch; + while(1) + { + clrscr(); + layout(2,2,78,23,8,15); + gotoxy(25,3); + cprintf("S T A C K O P E R A T I O N S"); + textcolor(LIGHTGRAY); + gotoxy(30,5); + cprintf("INSERT ELEMENT"); + textcolor(RED); + gotoxy(30,5); + cprintf("I"); + textcolor(LIGHTGRAY); + gotoxy(30,7); + cprintf("DELETE ELEMENT"); + textcolor(RED); + gotoxy(30,7); + cprintf("D"); + gotoxy(30,9); + textcolor(LIGHTGRAY); + cprintf("QUIT"); + textcolor(RED); + gotoxy(30,9); + cprintf("Q"); + gotoxy(40,20); + ch=getch(); + clrscr(); + switch(toupper(ch)) + { + case 81: + case 113: + exit(1); + case 105: + case 73: + { + y=21; + i=5; + cc--; + while(cc>=0) + { + textcolor(15); + gotoxy(i,y--); + delay(35); + cprintf("%d",arr[bot+cc]); + if(y==3) + { + y=21; + i+=8; + } + cc--; + } + y++; + while(2) + { + layout(2,2,78,23,8,15); + gotoxy(25,4); + cprintf("I N S E R T E L E M E N T S"); + layout(22,7,55,12,8,15); + gotoxy(25,8); + if(bot==164) + { + cprintf("O V E R F L O W"); + getch(); + break; + } + cprintf("PUSH: "); + fflush(stdin); + textcolor(RED); + cprintf(" "); + gotoxy(32,8); + scanf("%d",&arr[--bot]); + c++; + cc=c; + gotoxy(25,9); + textcolor(15); + cprintf("INSERT ANOTHER TAB TO END"); + gotoxy(i,y--); + if(y==3) + { + y=21; + i+=8; + } + gotoxy(i-2,y); + cprintf("%c",26); + gotoxy(i,y); + cprintf("%d",arr[bot]); + gotoxy(50,9); + ch=getch(); + if(ch==9) + break; + else + { + textcolor(0); + gotoxy(i-2,y); + cprintf("%c",26); + gotoxy(25,9); + cprintf("INSERT ANOTHER TAB TO END"); + textcolor(15); + gotoxy(20,8); + cprintf(" "); + continue; + } + } + } + break; + case 68: + case 100: + { + clrscr(); + y=21; + i=5; + cc--; + while(cc>=0) + { + textcolor(15); + gotoxy(i,y--); + delay(35); + cprintf("%d",arr[bot+cc]); + if(y==3) + { + y=21; + i+=8; + } + cc--; + } + y++; + while(2) + { + layout(2,2,78,23,8,15); + gotoxy(25,4); + cprintf("D E L E T E E L E M E N T S"); + layout(20,7,55,12,8,15); + gotoxy(25,8); + if(bot==200 && ch==13) + { + cprintf("U N D E R F L O W"); + getch(); + break; + } + cprintf("POP "); + textbackground(CYAN); + cprintf("YES"); + fflush(stdin); + textbackground(0); + gotoxy(25,9); + cprintf("HIT TAB TO END"); + ch=getch(); + if(ch==13 && bot<200) + { + bot++; + c--; + cc=c; + textcolor(0); + gotoxy(i-2,y++); + cprintf(" "); + textcolor(15); + if(y==22) + { + y=4; + i=5; + } + gotoxy(i-2,y); + cprintf("%c",26); + continue; + } + if(ch==9) + break; + } + } + } + } +} + + + + + + + + + + + + + + +void layout(int x1,int y1,int x2,int y2,int ccb,int cct) +{ +int i,j; +window(x1,y1,x2,y2); +textmode(3); +textcolor(cct); +gotoxy(x1,y1); +cprintf("%c",218); +gotoxy(x1,y2); +cprintf("%c",192); +gotoxy(x2,y1); +cprintf("%c",191); +gotoxy(x2,y2); +cprintf("%c",217); +for(i=x1+1;i +#include +void main() +{ +int x,y,z,gd=DETECT,gm,i,j,k,l=0; + +initgraph(&gd,&gm,""); +while(l<30000) +{ +//for(i=0,j=480;i<=640,j>=0;i+=10,j-=10) +i=rand() %480; +j=rand() %640; +k=rand() %16; +{ +setcolor(k); +circle(100+i,100+j,2); +setfillstyle(SOLID_FILL,k); +floodfill(100+i,100+j,k); +//delay(10); +/*setcolor(BLACK); +circle(100+i,100+j,2); +setfillstyle(SOLID_FILL,BLACK); +floodfill(100+i,100+j,BLACK); +//delay(3);*/ +} + + l++; +//cleardevice(); +} +getch(); +closegraph(); +restorecrtmode(); +} \ No newline at end of file diff --git a/STR.C b/STR.C new file mode 100644 index 0000000..01b2aae --- /dev/null +++ b/STR.C @@ -0,0 +1,23 @@ +#include +#include +void get(void); +struct test +{ +char *name; +int *age; +}; +struct test *tt; +void main() +{ +tt->name=malloc(100); +tt->age=malloc(100); +get(); +printf("\n %s %u",tt->name,tt->name); +printf("\n\t %d %u",*tt->age,tt->age); +getch(); +} +void get(void) +{ +scanf("%s",tt->name); +scanf("%d",tt->age); +} diff --git a/STRUCT.C b/STRUCT.C new file mode 100644 index 0000000..b50b6c4 --- /dev/null +++ b/STRUCT.C @@ -0,0 +1,21 @@ +#include +#include +void get(void); +struct test +{ +char *name; +int age; +}; +struct test tt; +void main() +{ +tt.name=malloc(200); +get(); +printf(" %c %d",*tt.name,tt.age); +getch(); +} +void get(void) +{ +scanf("%s",*tt.name); +scanf("%d",&tt.age); +} diff --git a/TC0000.SWP b/TC0000.SWP new file mode 100644 index 0000000000000000000000000000000000000000..32203421b8a9d42780b9e54bc4e28d321c0dcc32 GIT binary patch literal 53248 zcmeIuJx&5q5CGs=5ZFT5El9MZwIi|eA8!B+B^WC!4YsPR(ZkJTIe)b( z#!KdN literal 0 HcmV?d00001 diff --git a/TELE.C b/TELE.C new file mode 100644 index 0000000..5377430 --- /dev/null +++ b/TELE.C @@ -0,0 +1,49 @@ +//to calculate the number of characters, lines,blank spaces and vowels in text. +#include +#include +void main() +{ +char c; +int nc=0,nl=1,nw=1,nv=0,d=0; +clrscr(); +gotoxy(2,2); +textcolor(LIGHTRED); +cprintf(" terminate the text with CTRL+Z.. hit enter "); +gotoxy(5,5); + while((d=c=getche())!=EOF) + { + if(c=='\n') + { + nl++; + nc--; + } + if(toupper(c)=='A' || toupper(c)=='E' || toupper(c)=='I' || toupper(c)=='O' || toupper(c)=='U') + { + nv++; + } + if(c==' ' || c=='\t') + { + nw++; + nc=nc+0; + } + else + nc++; + } + textbackground(BLACK); + textcolor(CYAN); + gotoxy(15,20); + cprintf(" the number of characters in the above input are: %d",nc); + textcolor(RED ); + gotoxy(15,21); + cprintf(" the number of lines in the above input are : %d ",nl); + textcolor(MAGENTA); + gotoxy(15,22); + cprintf(" the number of words in the above input are : %d ",nw); + textcolor(YELLOW); + gotoxy(15,23); + cprintf(" the number of vovels in the above input are : %d ",nv); + textcolor(WHITE); + fflush(stdin); + while(!kbhit()); +} + diff --git a/TELLAR.C b/TELLAR.C new file mode 100644 index 0000000..87c3837 --- /dev/null +++ b/TELLAR.C @@ -0,0 +1,182 @@ +#include +#include +void tellsav(void); +void tellcur(void); +void layout(int x1,int y1,int x2,int y2,int ccb,int cct); + +void main() +{ + char options[10][40]={ + "SAVINGS ACCOUNT", + "CURRENT ACCOUNT", + " ", + " ", + " " + }; + + int key=0,y=7,opt=0; + + + layout(25,5,55,22,15,15); + + gotoxy(26,7); + cprintf("%s",options[0]); + + gotoxy(26,8); + cprintf("%s",options[1]); + + gotoxy(26,9); + cprintf("%s",options[2]); + + gotoxy(26,10); + cprintf("%s",options[3]); + + gotoxy(26,11); + cprintf("%s",options[4]); + + gotoxy(26,y); + textbackground(7); + cprintf("%s",options[opt]); + + + gotoxy(65,22); + textcolor(8); + textbackground(RED); + cprintf(" EXIT "); + textcolor(15); + + while(1) + { + key=getch(); + + if(key==13) + { + if(opt==0) + { + tellsav(); + } + if(opt==1) + { + tellcur(); + } + } + + if(key==72) + { + gotoxy(26,y); + textbackground(BLACK); + cprintf("%s",options[opt]); + opt--; + y--; + if(opt<0) + { + opt=1; + y=8; + } + } + + if(key==80) + { + gotoxy(26,y); + textbackground(BLACK); + cprintf("%s",options[opt]); + opt++; + y++; + if(opt>1) + { + opt=0; + y=7; + } + } + + if(key==9) + { + gotoxy(26,y); + textbackground(BLACK); + cprintf("%s",options[opt]); + gotoxy(65,22); + textbackground(7); + cprintf(" EXIT "); + key=getch(); + gotoxy(65,22); + textbackground(RED); + cprintf(" EXIT "); + if(key==13) + return(0); + } + + gotoxy(26,y); + textbackground(7); + cprintf("%s",options[opt]); + } +} + + +void layout(int x1,int y1,int x2,int y2,int ccb,int cct) +{ +int i,j; +window(x1,y1,x2,y2); +textmode(3); +textcolor(cct); +gotoxy(x1,y1); +cprintf("%c",218); +gotoxy(x1,y2); +cprintf("%c",192); +gotoxy(x2,y1); +cprintf("%c",191); +gotoxy(x2,y2); +cprintf("%c",217); +for(i=x1+1;i +#include + +void layout(int x1,int y1,int x2,int y2,int ccb,int cct); +void tellsav(void); +void tellcur(void); +void tellar() +{ + char options[10][40]={ + "SAVINGS ACCOUNT ", + "CURRENT ACCOUNT ", + " ", + " ", + " " + }; + + + int key=0,y=7,opt=0,i=0,c=0,j=0; + + char pawd[2][10]={"soumen"}; + int *get,*set; + + get=(char *)malloc(sizeof(char)); + set=get; + layout(10,18,30,20,15,15); + gotoxy(11,19); + cprintf("PASSWORD:"); + while(i<10) + { + cprintf(" "); + i++; + } + + gotoxy(21,19); + + while((*get=getch())!=13) + { + c++; + sound(4000); + delay(3); + cprintf("*"); + get++; + nosound(); + if(c==7) + break; + } + if(!(*set++==115 && *set++==111 && *set++==117 && *set++==109 && *set++==101 && *set++==110)) + return(0); + textcolor(0); + layout(10,18,30,20,0,0); + gotoxy(11,19); + i=0; + while(i<20) + { + cprintf(" "); + i++; + } + + + + redraw1: + layout(25,5,55,22,15,15); + + gotoxy(26,7); + cprintf("%s",options[0]); + + gotoxy(26,8); + cprintf("%s",options[1]); + + gotoxy(26,9); + cprintf("%s",options[2]); + + gotoxy(26,10); + cprintf("%s",options[3]); + + gotoxy(26,11); + cprintf("%s",options[4]); + + gotoxy(26,y); + textbackground(7); + cprintf("%s",options[opt]); + + + gotoxy(65,22); + textcolor(8); + textbackground(RED); + cprintf(" EXIT "); + textcolor(15); + + while(1) + { + key=getch(); + + if(key==72) + { + gotoxy(26,y); + textbackground(BLACK); + cprintf("%s",options[opt]); + opt--; + y--; + if(opt<0) + { + opt=1; + y=8; + } + } + + if(key==80) + { + gotoxy(26,y); + textbackground(BLACK); + cprintf("%s",options[opt]); + opt++; + y++; + if(opt>1) + { + opt=0; + y=7; + } + } + + if(key==13) + { + if(opt==0) + { + tellsav(); + for(i=4;i<77;i++) + for(j=5;j<23;j++) + { + gotoxy(i,j); + cprintf(" "); + } + goto redraw1; + } + if(opt==1) + { + tellcur(); + for(i=4;i<77;i++) + for(j=5;j<23;j++) + { + gotoxy(i,j); + cprintf(" "); + } + goto redraw1; + } + } + + if(key==9) + { + gotoxy(26,y); + textbackground(BLACK); + cprintf("%s",options[opt]); + gotoxy(65,22); + textbackground(7); + cprintf(" EXIT "); + key=getch(); + gotoxy(65,22); + textbackground(RED); + cprintf(" EXIT "); + if(key==13) + return(0); + } + + gotoxy(26,y); + textbackground(7); + cprintf("%s",options[opt]); + } +} + + +void layout(int x1,int y1,int x2,int y2,int ccb,int cct) +{ +int i,j; +window(x1,y1,x2,y2); +textmode(3); +textcolor(cct); +gotoxy(x1,y1); +cprintf("%c",218); +gotoxy(x1,y2); +cprintf("%c",192); +gotoxy(x2,y1); +cprintf("%c",191); +gotoxy(x2,y2); +cprintf("%c",217); +for(i=x1+1;i +#include +#include +void main() +{ + + char text[40]; + int gd=DETECT,gm,c=0,x=40,i=0; + while(i<20) + { + scanf("%c",&text[i]); + i++; + } + initgraph(&gd,&gm,""); + + rectangle(10,10,630,470); + i=0; + while(text[i]!=NULL) + { + c++; + i++; + } + + while(c!=0) + { + x--; + c--; + } + getch(); + //textcolor(LIGHTGRAY); + gotoxy(x,13); + cputs(text); + while(!kbhit()) + closegraph(); + restorecrtmode(); + } \ No newline at end of file diff --git a/TES.C b/TES.C new file mode 100644 index 0000000..448de2e --- /dev/null +++ b/TES.C @@ -0,0 +1,5 @@ +#include +void main() +{ +printf("this is dos mode"); +} diff --git a/TEST.C b/TEST.C new file mode 100644 index 0000000..b853ad2 --- /dev/null +++ b/TEST.C @@ -0,0 +1,15 @@ +#include + +int main(void) +{ + int i; + + clrscr(); + for (i=0; i<9; i++) + { + textattr(i + ((i+1) << 4)); + cprintf("This is a test\r\n"); + } + + return 0; +} diff --git a/TESTT.C b/TESTT.C new file mode 100644 index 0000000..8608b41 --- /dev/null +++ b/TESTT.C @@ -0,0 +1,8 @@ +#include +void main() +{ +char line[111]; +clrscr(); +scanf("%[]",line); +puts(line); +} \ No newline at end of file diff --git a/TEXTEDIT.C b/TEXTEDIT.C new file mode 100644 index 0000000..aa027fd --- /dev/null +++ b/TEXTEDIT.C @@ -0,0 +1,132 @@ +#include +#include +#include +int getkey(void); +void layout(void); +void main() +{ +char ch1; +int cho,i,j; +FILE *usr; +layout(); +input(); +clrscr(); +clrscr(); +system("cls"); +system("cls"); +} +int input(char *start) +{ +int choice1,y=2,ct=0; +char choice,prev; +FILE *temp; +temp=fopen("temp.txt","ab+"); +if(temp==NULL) +{ +printf("FATAL ERROR CANNOT OPEN THE FILE....contact your programe vendor"); +clrscr(); +system("cls"); +exit(2); +} +gotoxy(2,2); +y++; +while(1) +{ + + while(choice1!=27) + { + fflush(stdin); + textbackground(GREEN); + textcolor(WHITE); + choice=getch(); + prev=choice; + choice1=choice; + ct++; + if(choice1==8) + { + textbackground(GREEN); + printf("\b"); + cprintf(" "); + printf("\b"); + textcolor(WHITE); + ct--; + rewind(temp); + + fputc(NULL,temp); + continue; + } + if(choice!=NULL && choice1!=27) + { + cprintf("%c",choice); + putc(choice,temp); + } + if(choice==NULL) + getch(); + if(choice1==13 || ct==76) + { + gotoxy(2,y++); + ct=0; + } + } + break; +} +putc(EOF,temp); +close(temp); +return(0); +} +void layout(void) +{ +int i; +window(1,1,80,25); +textbackground(LIGHTGREEN); +textcolor(BLACK); +gotoxy(1,1); +cprintf("."); +clrscr(); +window(1,1,80,25); +gotoxy(1,2); +printf("%c",201); +gotoxy(1,25); +printf("%c",200); +gotoxy(80,2); +printf("%c",187); +gotoxy(80,25); +printf("%c",188); +for(i=2;i<80;i++) +{ +gotoxy(i,1); +printf("%c",205); +} +for(i=2;i<80;i++) +{ +gotoxy(i,24); +printf("%c",205); +} +for(i=2;i<24;i++) +{ +gotoxy(1,i); +printf("%c",186); +gotoxy(80,i); +printf("%c",186); +} +textbackground(LIGHTGRAY); +for(i=2;i<80;i++) +{ +gotoxy(i,25); +cprintf(" "); +} +textcolor(RED); +gotoxy(3,25); +cprintf("FILE"); +} +/*int getkey(void) + { + union REGS i,o; + while(kbhit()) + { + i.h.ah=0; + int86(22,&i,&o); + return(o.h.ah); + }*/ + + diff --git a/TFTDT.C b/TFTDT.C new file mode 100644 index 0000000..bd1a049 --- /dev/null +++ b/TFTDT.C @@ -0,0 +1,22 @@ +#include +#include +#include + struct entity{ + + char name[50]; + long int accno; + + struct trans{ + char parti[40]; + long int amt[1][2]; + }tt; + + }et; + + void main() + { + FILE *tp,*pt; + + tp=fopen("temp.rec","a+"); + + } \ No newline at end of file diff --git a/TRANS.C b/TRANS.C new file mode 100644 index 0000000..f8e8577 --- /dev/null +++ b/TRANS.C @@ -0,0 +1,25 @@ +void main() +{ +static int arr[3][3]={1,2,3,4,5,6,7,8,9},i,j,temp; +for(i=0;i<3;i++) +{ +for(j=0;j<3;j++) +printf(" %d ",arr[i][j]); +printf("\n"); +} +printf("\n\t TRANSPOSE \n"); +for(i=0;i<2;i++) +for(j=2;j>0;j--) +if(i!=j) +{ +temp=arr[i][j]; +arr[i][j]=arr[j][i]; +arr[j][i]=temp; +} +for(i=0;i<3;i++) +{ +for(j=0;j<3;j++) +printf(" %d ",arr[i][j]); +printf("\n"); +} +} \ No newline at end of file diff --git a/TREE1.EXE b/TREE1.EXE new file mode 100644 index 0000000000000000000000000000000000000000..80b8799fa6f41d7a1be767337bac1ca4cacdd183 GIT binary patch literal 17649 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

DA3w2XVsA^lyL4;kC^jl`l3a%1Rv4hERlav9* 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 literal 0 HcmV?d00001 diff --git a/TREE3.C b/TREE3.C new file mode 100644 index 0000000..9080015 --- /dev/null +++ b/TREE3.C @@ -0,0 +1,479 @@ +#include +#include +#include +struct tree +{ + int info; + struct tree *left; + struct tree *right; + char balance; +}; + +typedef struct tree node; + +void preorder(node *show,int x,int y,char b,int h); +void layout(int x1,int y1,int x2,int y2,int ccb,int cct); +void delete(node *root); +void rotate(node *root); +void insertavl(node *root,int *tall,int *value); +void insert(); +int univflag; + +void main() +{ + node *root,*temp1,*temp2; + int temp,cht=0,mk,xx,yy,flag=0,tall=1,tem; + char ch; + char choice[10][10]={"DELETE", + "ROTATE", + "INSERT", + "EXIT" + }; + root=NULL; + // root->left=NULL; + // root->right=NULL; + // temp1=root; + clrscr(); + system("cls"); + layout(2,1,78,25,15,15); + gotoxy(10,4); + textcolor(12); + cprintf("AVL TREE "); + gotoxy(30,7); + textcolor(15); + //cprintf("Enter the root element : "); + fflush(stdin); + scanf("%d",&tem); + while(1) + { + gotoxy(30,9); + printf("any more element : Y / N "); + fflush(stdin); + ch=toupper(getch()); + if(ch=='N') + { + root->left=NULL; + root->right=NULL; + break; + } + root=temp1; + clrscr(); + layout(2,1,78,25,15,15); + gotoxy(25,7); + cprintf("enter the element : "); + fflush(stdin); + scanf("%d",&temp); + insertavl(root,&tall,&tem); + + } + clrscr(); + gotoxy(30,1); + textcolor(LIGHTGRAY); + cprintf("BINARY SEARCH TREE"); + preorder(temp1,25,5,' ',0); + gotoxy(15,25); + textcolor(YELLOW); + textbackground(CYAN); + cprintf("%s",choice[0]); + gotoxy(25,25); + textcolor(YELLOW); + textbackground(RED); + cprintf("%s",choice[1]); + gotoxy(35,25); + textcolor(YELLOW); + textbackground(RED); + cprintf("%s",choice[2]); + gotoxy(45,25); + textcolor(YELLOW); + textbackground(RED); + cprintf("%s",choice[3]); + + xx=15; + while(2) + { + fflush(stdin); + mk=getch(); + if(mk==9) + { + gotoxy(xx,25); + textbackground(RED); + cprintf("%s",choice[cht]); + if(flag==0) + { + cht++; + xx+=10; + if(cht==3) + flag=1; + gotoxy(xx,25); + textbackground(CYAN); + textcolor(YELLOW); + cprintf("%s",choice[cht]); + continue; + } + if(flag==1) + { + cht--; + xx-=10; + if(cht==0) + flag=0; + gotoxy(xx,25); + textbackground(CYAN); + textcolor(YELLOW); + cprintf("%s",choice[cht]); + continue; + } + } + if(mk==13) + { + if(cht==0) + { + delete(temp1); + system("cls"); + gotoxy(30,1); + textcolor(LIGHTGRAY); + textbackground(0); + cprintf("BINARY SEARCH TREE"); + univflag=0; + preorder(temp1,25,5,' ',0); + gotoxy(15,25); + textcolor(YELLOW); + textbackground(RED); + cprintf("%s",choice[0]); + gotoxy(25,25); + textcolor(YELLOW); + textbackground(RED); + cprintf("%s",choice[1]); + gotoxy(35,25); + textcolor(YELLOW); + textbackground(RED); + cprintf("%s",choice[2]); + gotoxy(45,25); + textcolor(YELLOW); + textbackground(RED); + cprintf("%s",choice[3]); + + continue; + } + if(cht==1) + { + clrscr(); + system("cls"); + rotate(temp1); + gotoxy(30,1); + textcolor(LIGHTGRAY); + textbackground(0); + univflag=0; + cprintf("BINARY SEARCH TREE"); + preorder(temp1,25,5,' ',0); + gotoxy(15,25); + textcolor(YELLOW); + textbackground(RED); + cprintf("%s",choice[0]); + gotoxy(25,25); + textcolor(YELLOW); + textbackground(RED); + cprintf("%s",choice[1]); + gotoxy(35,25); + textcolor(YELLOW); + textbackground(RED); + cprintf("%s",choice[2]); + gotoxy(45,25); + textcolor(YELLOW); + textbackground(RED); + cprintf("%s",choice[3]); + + continue; + } + if(cht==2) + { + insert(temp1); + gotoxy(30,1); + textcolor(LIGHTGRAY); + textbackground(0); + univflag=0; + cprintf("BINARY SEARCH TREE"); + preorder(temp1,25,5,' ',0); + gotoxy(15,25); + textcolor(YELLOW); + textbackground(RED); + cprintf("%s",choice[0]); + gotoxy(25,25); + textcolor(YELLOW); + textbackground(RED); + cprintf("%s",choice[1]); + gotoxy(35,25); + textcolor(YELLOW); + textbackground(RED); + cprintf("%s",choice[2]); + gotoxy(45,25); + textcolor(YELLOW); + textbackground(RED); + cprintf("%s",choice[3]); + + continue; + } + if(cht==3) + exit(3); + } + } +} + +void preorder(node *show,int x,int y,char b,int h) +{ + static int k,nodes,leaves; + int x1,x2; + if(univflag==0) + { + k=0; + nodes=0; + leaves=0; + univflag=1; + } + x1=x+k++; + x2=y++; + if(show!=NULL) + { + delay(300); + gotoxy(x1,x2); + textcolor(15); + textbackground(RED); + cprintf(" %d ",show->info); + nodes++; + gotoxy(5,23); + cprintf("NODES : %2d",nodes); + gotoxy(x1+h,x2-1); + textcolor(YELLOW); + textbackground(0); + cprintf("%c",b); + preorder(show->left,x=x-5,++y,'/',2); + preorder(show->right,x+=10,y++,'\\',-1); + } + if(show->left==NULL && show->right==NULL) + { + leaves++; + textcolor(15); + textbackground(RED); + gotoxy(5,24); + cprintf("LEAVES: %2d",leaves); + } +} + +void layout(int x1,int y1,int x2,int y2,int ccb,int cct) +{ +int i,j; +window(x1,y1,x2,y2); +textmode(3); +textcolor(cct); +gotoxy(x1,y1); +cprintf("%c",218); +gotoxy(x1,y2); +cprintf("%c",192); +gotoxy(x2,y1); +cprintf("%c",191); +gotoxy(x2,y2); +cprintf("%c",217); +for(i=x1+1;iroot->info) + { + prev=root; + root=root->right; + } + else if(delinfo) + { + prev=root; + root=root->left; + } + else + break; + } + if(prev->inforight==NULL && root->left==NULL) + { + prev->right=root->right; + } + else + { + if(root->right!=NULL) + { + temp1=root->left; + prev->right=root->right; + root=root->right; + while(root!=NULL) + { + temp2=root; + root=root->left; + } + temp2->left=temp1; + } + } + } + if(prev->info>del) + { + if(root->left==NULL && root->right==NULL) + { + prev->left=root->left; + } + else + { + if(root->left!=NULL) + { + temp1=root->right; + prev->left=root->left; + root=root->left; + while(root!=NULL) + { + temp2=root; + root=root->right; + } + temp2->right=temp1; + } + } + } + return(0); + } + + + + +void rotate(node *root) +{ + node *temp; + if(root!=NULL) + { + temp=root->left; + root->left=root->right; + root->right=temp; + rotate(root->left); + rotate(root->right); + } +} + +void insert(node *root) +{ +int temp; +clrscr(); +system("cls"); + +layout(2,1,78,25,15,15); +gotoxy(25,7); +cprintf("enter the element : "); +fflush(stdin); +scanf("%d",&temp); +while(2) +{ +if(temp>=root->info) +{ + if(root->right==NULL) + { + root->right=(node *)malloc(sizeof(node)); + root=root->right; + root->info=temp; + root->left=NULL; + root->right=NULL; + break; + } + root=root->right; +} +if(tempinfo) +{ + if(root->left==NULL) + { + root->left=(node *)malloc(sizeof(node)); + root=root->left; + root->info=temp; + root->left=NULL; + root->right=NULL; + break; + } + root=root->left; +} +} +clrscr(); +system("cls"); +} + +void insertavl(node *root,int *tall,int *value) +{ +node *prev; + + if(root->left==NULL && root->right==NULL) + { + if(root->info<*value) + { + root->left=(node *)malloc(sizeof(node)); + root=root->left; + root->info=*value; + root->left=NULL; + root->right=NULL; + root->balance='E'; + *tall=1; + return(0); + } + else if(root->info>value) + { + insertavl(root->left,&tall,&value); + + if(*tall) + { + if(root->balance=='E') + { + root->balance='L'; + *tall=1; + } + if(root->balance=='R') + { + root->balance='E'; + *tall=0; + } + + } + *tall=0; + } + else if(root->info<=value) + { + insertavl(root->right,&tall,&value); + if(*tall) + { + if(root->balance=='L') + { + root->balance='E'; + *tall=1; + } + if(root->balance=='E') + { + root->balance='R'; + *tall=0; + } + } + *tall=0; + } +} diff --git a/TSR.C b/TSR.C new file mode 100644 index 0000000..a711ba7 --- /dev/null +++ b/TSR.C @@ -0,0 +1,30 @@ +#include +#include +void interrupt our(void); +void interrupt(*prev)(); +char far *mem= 0xb8000001L; + +main() +{ +unsigned long int far *ptr; +ptr=(char far *)36; +prev=*ptr; +*ptr=our; +our(); +keep(0,500); +} +void interrupt our(void) +{ +int i,j=1; +sound(5000); +delay(2); +for(i=0;i<=3999;i+=2) +{ +*(mem)=j++; +mem=mem+2; +if(j==15) +j=1; +} +nosound(); +(*prev)(); +} diff --git a/TSR1.C b/TSR1.C new file mode 100644 index 0000000..1e42da6 --- /dev/null +++ b/TSR1.C @@ -0,0 +1,58 @@ +#include +#include +void interrupt our(void); +void interrupt new1(void); +void interrupt(*prev)(); +void interrupt(*old)(); +char far *mem= 0xb8000001L; +int j=1,flag=0; +main() +{ +unsigned long int far *ptr; +ptr=(char far *)36; +old=getvect(0x08); +setvect(0x08,new1); +prev=*ptr; +*ptr=our; +keep(0,1000); +} +void interrupt our(void) +{ +int i,jj=1; +static char *temp,ch='A'; +char far *mem1=0xb8000000,*mem2; +if(flag==1) +{ +for(i=0;i<=3999;i+=2) +{ +*(mem)=jj++; +mem=mem+2; +if(jj==15) +jj=1; +} +randomize(); +jj=rand() % 80; +mem1=(0xb8000000 + (2*jj)); +*temp=ch++; + for(i=0;i<24;i++) + { + mem1=mem1+160; + *(mem1)=*temp; + *(mem1)=' '; + } + *(mem1)=*temp; +} + flag=0; + (*prev)(); +} + +void interrupt new1(void) +{ +j++; +if(j==19) +{ +j=1; +flag=1; +} +(*old)(); +} diff --git a/TSRV.C b/TSRV.C new file mode 100644 index 0000000..1e42da6 --- /dev/null +++ b/TSRV.C @@ -0,0 +1,58 @@ +#include +#include +void interrupt our(void); +void interrupt new1(void); +void interrupt(*prev)(); +void interrupt(*old)(); +char far *mem= 0xb8000001L; +int j=1,flag=0; +main() +{ +unsigned long int far *ptr; +ptr=(char far *)36; +old=getvect(0x08); +setvect(0x08,new1); +prev=*ptr; +*ptr=our; +keep(0,1000); +} +void interrupt our(void) +{ +int i,jj=1; +static char *temp,ch='A'; +char far *mem1=0xb8000000,*mem2; +if(flag==1) +{ +for(i=0;i<=3999;i+=2) +{ +*(mem)=jj++; +mem=mem+2; +if(jj==15) +jj=1; +} +randomize(); +jj=rand() % 80; +mem1=(0xb8000000 + (2*jj)); +*temp=ch++; + for(i=0;i<24;i++) + { + mem1=mem1+160; + *(mem1)=*temp; + *(mem1)=' '; + } + *(mem1)=*temp; +} + flag=0; + (*prev)(); +} + +void interrupt new1(void) +{ +j++; +if(j==19) +{ +j=1; +flag=1; +} +(*old)(); +} diff --git a/TT.C b/TT.C new file mode 100644 index 0000000..829b56a --- /dev/null +++ b/TT.C @@ -0,0 +1,12 @@ +#include +#include + +int main(void) +{ + struct time t; + + gettime(&t); + printf("The current time is: %2d:%02d:%02d.%02d\n", + t.ti_hour, t.ti_min, t.ti_sec, t.ti_hund); + return 0; +} diff --git a/TT1.C b/TT1.C new file mode 100644 index 0000000..d979013 --- /dev/null +++ b/TT1.C @@ -0,0 +1,18 @@ +#include +main() + +{ +char *arr="rhombus"; +int i,j=0; +system("cls"); +while(j<6) +{ +for (i=0;i<=7;i++) +{ +printf("%s",*arr); +arr++; +} +printf("\n"); +j++; +} +} \ No newline at end of file diff --git a/TT10.C b/TT10.C new file mode 100644 index 0000000..d4c4f88 --- /dev/null +++ b/TT10.C @@ -0,0 +1,11 @@ +main() +{ +int a[20],i=2,j=3; +a[2]=9; +a[3]=13; +a[i]=j+i++; + +printf("\n%d %d",a[2],a[3]); +printf("\n%d %d",a[i],i); +} + diff --git a/TT11.C b/TT11.C new file mode 100644 index 0000000..f10c763 --- /dev/null +++ b/TT11.C @@ -0,0 +1,26 @@ + +#include +#include +#include + +int main(void) +{ + char *str; + + /* allocate memory for string */ + str = (char *) malloc(10); + + /* copy "Hello" into string */ + strcpy(str, "Hello"); + str+=2; + strcpy(str,"namaskar"); + + printf("String is %s\n Address is %p\n", str, str); + str = (char *) realloc(str, 20); + printf("String is %s\n New address is %p\n", str, str); + + /* free memory */ + free(str); + + return 0; +} \ No newline at end of file diff --git a/TT2.C b/TT2.C new file mode 100644 index 0000000..ca53e23 --- /dev/null +++ b/TT2.C @@ -0,0 +1,23 @@ +#include +#include +main() +{ +char *s; +int i=0; +s=malloc(200); +gets(s); +while(*s!=0) +{ +if(*s==' ' && *(s+1)==' ') +*(s+1)=*(s+2); +s++; +i++; +} +while(i>0) +{ +s--; +i--; +} +printf("%s",s); +} + diff --git a/TT3.C b/TT3.C new file mode 100644 index 0000000..bdfd357 --- /dev/null +++ b/TT3.C @@ -0,0 +1,40 @@ +main() +{ +static int a[3][3][3]={ + { + 1,2,3, + 4,5,6, + 7,8,9 + }, + { + 2,4,6, + 8,10,12, + 14,16,18 + }, + { + 3,6,9, + 12,15,18, + 21,24,27 + } + }; + static int *ptr[]={ + a[0][0],a[0][1],a[0][2], + a[1][0],a[1][1],a[1][2], + a[2][0],a[2][1],a[2][2] + }; + int *ptr1[]={a[0],a[1],a[2]}; + int **ptr2=ptr,i; + + for(i=0;i<=8;i++) + { + printf(" %u ",*ptr[i]); + ptr2++; + } + + printf("\n"); + for(i=0;i<=8;i++) + { + printf("^* %d %d %d*^",&a[0][1][i],a[0][1][i],*(ptr[i])); +// printf("%d",*(ptr[i])); + } +} \ No newline at end of file diff --git a/TT4.C b/TT4.C new file mode 100644 index 0000000..b4560c6 --- /dev/null +++ b/TT4.C @@ -0,0 +1,11 @@ +main() +{ +static int a[]={97,98,99,100,101,102,103,104}; +int *pt=a+1; +printf("\n\n%u %d",pt,*pt); +ppt(++pt,pt--,pt,pt++,pt++); +} +ppt(int *a,int *b,int *c,int *d,int *e) +{ +printf("\t %d %d %d %d %d",*a,*b,*c,*d,*e); +} \ No newline at end of file diff --git a/TT5.C b/TT5.C new file mode 100644 index 0000000..dbc62be --- /dev/null +++ b/TT5.C @@ -0,0 +1,11 @@ +main() +{ +static int a[]={0,1,2,3,4}; +static int *p[]={a,a+2,a+1,a+4,a+3}; +int **ptr; + +ptr = p; +**++ptr; + +printf("\n%d %d %d",**ptr,ptr -p ,*ptr - a); +} diff --git a/TT6.C b/TT6.C new file mode 100644 index 0000000..ef3d3f3 --- /dev/null +++ b/TT6.C @@ -0,0 +1,37 @@ +#include +void main() +{ +char *s; +char *a,*t,*b; +int flag=0,ti; +s=malloc(200); +gets(s); +a=s; +t=s+strlen(s)-1; +b=t; +ti=strlen(s); +ti=ti/2; +while(ti!=0) +{ +if(*a==*b) +{ +b--; +a++; +ti--; +continue; +} +else +{ +flag=1; +b--; +a++; +break; +} +} +if(flag==1) +printf(" %s ...... is not a pallindrome ",s); +else +printf(" %s ...... is a pallindrome ",s); +} + + diff --git a/TT7.C b/TT7.C new file mode 100644 index 0000000..e710ebe --- /dev/null +++ b/TT7.C @@ -0,0 +1,24 @@ +main() +{ +char s[]="haveA"; +char t[]="NiceDay"; +char u[200]; +char *ss=s,*tt=t,*uu=u; +while(*ss || *tt) +{ + while(*ss) + { + if((*uu++=*ss++)==' ') + break; + } + while(*tt) + { + if((*uu++=*tt++)==' ') + break; + } +} +*uu='\0'; +puts(u); +} + + diff --git a/TT8.C b/TT8.C new file mode 100644 index 0000000..2646665 --- /dev/null +++ b/TT8.C @@ -0,0 +1,28 @@ +main() +{ +int i,j; +system("cls"); +for(i=1;i<=3;i++) + for(j=1;j<=3;j++) + { + if(i+j<2) + { + printf("\n 1 i= %d , j= %d ",i,j); + //continue; + } + else + if(i+j<3) + { + printf("\n 2 i= %d , j= %d,continue ",i,j); + // continue; + continue; + } + else + { + printf("\n3 i= %d,j=%d,break",i,j); + break; + } + printf("\n4 i=%d,j=%d",i,j); + } + } + diff --git a/TT9.C b/TT9.C new file mode 100644 index 0000000..668b311 --- /dev/null +++ b/TT9.C @@ -0,0 +1,23 @@ +#include +int rec(int x,int y,int c); +main() +{ +int x,y,c,sum; +printf("enter the value of a r and n:"); +scanf(" %d %d %d",&x,&y,&c); +sum=rec(x,y,c); +printf("the sum is %d",sum); +} +int rec(int x,int y,int c) +{ +static int sum=0; +int p,q; +c=c-1; +p=pow(y,c); +q=x*p; +sum=sum+q; +if(c>=1) +rec(x,y,c); +else +return(sum); +} diff --git a/TUTU.C b/TUTU.C new file mode 100644 index 0000000..ed5b8b3 --- /dev/null +++ b/TUTU.C @@ -0,0 +1,15 @@ +void main() +{ +int f; +union + { + float i; + char ch[3]; + } hey; + hey.i=256; + clrscr(); + printf("\n%f",hey.i); + for(f=0;f<4;f++) + printf("\n%c",hey.ch[f]); + + } \ No newline at end of file diff --git a/VINEET.C b/VINEET.C new file mode 100644 index 0000000..7e64b1e --- /dev/null +++ b/VINEET.C @@ -0,0 +1,25 @@ +assn(1,2,3,8).c covers topics like sorting of number , base conversions , nCr and printing sine curve. +basecon.c converts a decimal number into any base till 16. +bub.c bubble sorting +factrec.c calculation of factorial using recursion. +fib.c calculate 'n' fibonacci terms using recursion. +ins.c insertion sort +hcf.c calculate the H.C.F of two numbers. +pallin.c to check if a string is a pallindrome or not. +namesort.c to sort any goven number of names lexically. +scroll.c to scroll a text message on the screen. +trans.c to find the transpose of a matrix using a single matrix. +printer.c accepts a text from the user counts the number of characters,blanks +,new lines and words and printf this simultaneously on the paper . + + + +All other files can be opened up and compiled to view the results +,if found useful they are most welcomed to be used any where. + + + +Soumen Mukherjee. + + + diff --git a/WEL.C b/WEL.C new file mode 100644 index 0000000..56bad27 --- /dev/null +++ b/WEL.C @@ -0,0 +1,87 @@ +#include +#include +#include +#include +#include + + +void draw_arrow(int x, int y); +int az=5; +int main(void) +{ + /* request autodetection */ + int gdriver = DETECT, gmode, errorcode,f=1,t=0; + void *arrow; + int x, y, maxx,maxy ; + unsigned int size; + + /* initialize graphics and local variables */ + initgraph(&gdriver, &gmode, ""); + + /* read result of initialization */ + errorcode = graphresult(); + if (errorcode != grOk) /* an error occurred */ + { + printf("Graphics error: %s\n", grapherrormsg(errorcode)); + printf("Press any key to halt:"); + getch(); + exit(1); /* terminate with an error code */ + } + + + maxx = getmaxx(); + maxy = getmaxy(); + x = 0; + y = getmaxy()/2; + + // setbkcolor(LIGHTGRAY); + setcolor(YELLOW); + + /* draw the image to be grabbed */ + draw_arrow(x, y); + + /* calculate the size of the image */ + size = imagesize(x, y-az, x+(4*az), y+az); + + /* allocate memory to hold the image */ + arrow = malloc(size); + /* grab the image */ + getimage(x, y-az, x+(4*az), y+az, arrow); + + /* repeat until a key is pressed */ + while(!kbhit()) + { /* erase old image */ + putimage(x, y-az, arrow, XOR_PUT); + + x +=az; + if (x >= maxx) + { + x = 0; + } + + delay(100); + az++; + x++; + y++; + /* plot new image */ + putimage(x, y-az, arrow, XOR_PUT); + delay(100); + + + } + + /* clean up */ + free(arrow); + closegraph(); + return 0; +} + +void draw_arrow(int x, int y) +{ + /* draw an arrow on the screen */ + moveto(x, y); + linerel(4*az, 0); + linerel(-2*az, -1*az); + linerel(0, 2*az); + linerel(2*az, -1*az); +} diff --git a/YY10.C b/YY10.C new file mode 100644 index 0000000..211a61e --- /dev/null +++ b/YY10.C @@ -0,0 +1,6 @@ +main() +{ +int c; +c=getche(); +printf(" %d ",c); +} \ No newline at end of file diff --git a/tree1.c b/tree1.c new file mode 100644 index 0000000..cc7b124 --- /dev/null +++ b/tree1.c @@ -0,0 +1,473 @@ +#include +#include +#include +struct tree +{ + int info; + struct tree *left; + struct tree *right; +}; + +typedef struct tree node; + +void preorder(node *show,int x,int y,char b,int h); +void layout(int x1,int y1,int x2,int y2,int ccb,int cct); +void delete(node *root); +void rotate(node *root); +void insert(); +void ht(node *root,int level); +int univflag,height; + +void main() +{ + node *root,*temp1,*temp2; + int temp,cht=0,mk,xx,yy,flag=0; + char ch; + char choice[10][10]={"DELETE", + "ROTATE", + "INSERT", + "EXIT" + }; + root=(node *)malloc(sizeof(node)); + root->left=NULL; + root->right=NULL; + temp1=root; + clrscr(); + system("cls"); + layout(2,1,78,25,15,15); + gotoxy(10,4); + textcolor(12); + cprintf("BINARY SEARCH TREE "); + gotoxy(30,7); + textcolor(15); + cprintf("Enter the root element : "); + fflush(stdin); + scanf("%d",&root->info); + while(1) + { + gotoxy(30,9); + printf("any more element : Y / N "); + fflush(stdin); + ch=toupper(getch()); + if(ch=='N') + { + root->left=NULL; + root->right=NULL; + break; + } + root=temp1; + clrscr(); + layout(2,1,78,25,15,15); + gotoxy(25,7); + cprintf("enter the element : "); + fflush(stdin); + scanf("%d",&temp); + while(2) + { + if(temp>=root->info) + { + if(root->right==NULL) + { + root->right=(node *)malloc(sizeof(node)); + root=root->right; + root->info=temp; + root->left=NULL; + root->right=NULL; + break; + } + root=root->right; + } + if(tempinfo) + { + if(root->left==NULL) + { + root->left=(node *)malloc(sizeof(node)); + root=root->left; + root->info=temp; + root->left=NULL; + root->right=NULL; + break; + } + root=root->left; + } + } + } + clrscr(); + gotoxy(30,1); + textcolor(LIGHTGRAY); + cprintf("BINARY SEARCH TREE"); + preorder(temp1,25,5,' ',0); + ht(temp1,0); + gotoxy(5,22); + textbackground(RED); + textcolor(15); + cprintf("HEIGHT: %d",height); + gotoxy(15,25); + textcolor(YELLOW); + textbackground(CYAN); + cprintf("%s",choice[0]); + gotoxy(25,25); + textcolor(YELLOW); + textbackground(RED); + cprintf("%s",choice[1]); + gotoxy(35,25); + textcolor(YELLOW); + textbackground(RED); + cprintf("%s",choice[2]); + gotoxy(45,25); + textcolor(YELLOW); + textbackground(RED); + cprintf("%s",choice[3]); + + xx=15; + while(2) + { + fflush(stdin); + ht(temp1,0); + gotoxy(5,22); + textbackground(RED); + textcolor(15); + cprintf("HEIGHT: %2d",height); + mk=getch(); + + if(mk==9) + { + gotoxy(xx,25); + textbackground(RED); + cprintf("%s",choice[cht]); + if(flag==0) + { + cht++; + xx+=10; + if(cht==3) + flag=1; + gotoxy(xx,25); + textbackground(CYAN); + textcolor(YELLOW); + cprintf("%s",choice[cht]); + continue; + } + if(flag==1) + { + cht--; + xx-=10; + if(cht==0) + flag=0; + gotoxy(xx,25); + textbackground(CYAN); + textcolor(YELLOW); + cprintf("%s",choice[cht]); + continue; + } + } + if(mk==13) + { + if(cht==0) + { + delete(temp1); + system("cls"); + gotoxy(30,1); + textcolor(LIGHTGRAY); + textbackground(0); + cprintf("BINARY SEARCH TREE"); + univflag=0; + preorder(temp1,25,5,' ',0); + gotoxy(15,25); + textcolor(YELLOW); + textbackground(RED); + cprintf("%s",choice[0]); + gotoxy(25,25); + textcolor(YELLOW); + textbackground(RED); + cprintf("%s",choice[1]); + gotoxy(35,25); + textcolor(YELLOW); + textbackground(RED); + cprintf("%s",choice[2]); + gotoxy(45,25); + textcolor(YELLOW); + textbackground(RED); + cprintf("%s",choice[3]); + + continue; + } + if(cht==1) + { + clrscr(); + system("cls"); + rotate(temp1); + gotoxy(30,1); + textcolor(LIGHTGRAY); + textbackground(0); + univflag=0; + cprintf("BINARY SEARCH TREE"); + preorder(temp1,25,5,' ',0); + gotoxy(15,25); + textcolor(YELLOW); + textbackground(RED); + cprintf("%s",choice[0]); + gotoxy(25,25); + textcolor(YELLOW); + textbackground(RED); + cprintf("%s",choice[1]); + gotoxy(35,25); + textcolor(YELLOW); + textbackground(RED); + cprintf("%s",choice[2]); + gotoxy(45,25); + textcolor(YELLOW); + textbackground(RED); + cprintf("%s",choice[3]); + + continue; + } + if(cht==2) + { + insert(temp1); + gotoxy(30,1); + textcolor(LIGHTGRAY); + textbackground(0); + univflag=0; + cprintf("BINARY SEARCH TREE"); + preorder(temp1,25,5,' ',0); + gotoxy(15,25); + textcolor(YELLOW); + textbackground(RED); + cprintf("%s",choice[0]); + gotoxy(25,25); + textcolor(YELLOW); + textbackground(RED); + cprintf("%s",choice[1]); + gotoxy(35,25); + textcolor(YELLOW); + textbackground(RED); + cprintf("%s",choice[2]); + gotoxy(45,25); + textcolor(YELLOW); + textbackground(RED); + cprintf("%s",choice[3]); + + continue; + } + if(cht==3) + exit(3); + } + } +} + +void preorder(node *show,int x,int y,char b,int h) +{ + static int k,nodes,leaves; + int x1,x2; + if(univflag==0) + { + k=0; + nodes=0; + leaves=0; + univflag=1; + } + x1=x+k++; + x2=y++; + if(show!=NULL) + { + delay(300); + gotoxy(x1,x2); + textcolor(15); + textbackground(RED); + cprintf(" %d ",show->info); + nodes++; + gotoxy(5,23); + cprintf("NODES : %2d",nodes); + gotoxy(x1+h,x2-1); + textcolor(YELLOW); + textbackground(0); + cprintf("%c",b); + preorder(show->left,x=x-5,++y,'/',2); + preorder(show->right,x+=10,y++,'\\',-1); + } + if(show->left==NULL && show->right==NULL) + { + leaves++; + textcolor(15); + textbackground(RED); + gotoxy(5,24); + cprintf("LEAVES: %2d",leaves); + } +} + +void layout(int x1,int y1,int x2,int y2,int ccb,int cct) +{ +int i,j; +window(x1,y1,x2,y2); +textmode(3); +textcolor(cct); +gotoxy(x1,y1); +cprintf("%c",218); +gotoxy(x1,y2); +cprintf("%c",192); +gotoxy(x2,y1); +cprintf("%c",191); +gotoxy(x2,y2); +cprintf("%c",217); +for(i=x1+1;iroot->info) + { + prev=root; + root=root->right; + } + else if(delinfo) + { + prev=root; + root=root->left; + } + else + break; + } + if(prev->inforight==NULL && root->left==NULL) + { + prev->right=root->right; + } + else + { + if(root->right!=NULL) + { + temp1=root->left; + prev->right=root->right; + root=root->right; + while(root!=NULL) + { + temp2=root; + root=root->left; + } + temp2->left=temp1; + } + } + } + if(prev->info>del) + { + if(root->left==NULL && root->right==NULL) + { + prev->left=root->left; + } + else + { + if(root->left!=NULL) + { + temp1=root->right; + prev->left=root->left; + root=root->left; + while(root!=NULL) + { + temp2=root; + root=root->right; + } + temp2->right=temp1; + } + } + } + return(0); + } + + + + +void rotate(node *root) +{ + node *temp; + if(root!=NULL) + { + temp=root->left; + root->left=root->right; + root->right=temp; + rotate(root->left); + rotate(root->right); + } +} + +void insert(node *root) +{ +int temp; +clrscr(); +system("cls"); + +layout(2,1,78,25,15,15); +gotoxy(25,7); +cprintf("enter the element : "); +fflush(stdin); +scanf("%d",&temp); +while(2) +{ +if(temp>=root->info) +{ + if(root->right==NULL) + { + root->right=(node *)malloc(sizeof(node)); + root=root->right; + root->info=temp; + root->left=NULL; + root->right=NULL; + break; + } + root=root->right; +} +if(tempinfo) +{ + if(root->left==NULL) + { + root->left=(node *)malloc(sizeof(node)); + root=root->left; + root->info=temp; + root->left=NULL; + root->right=NULL; + break; + } + root=root->left; +} +} +clrscr(); +system("cls"); +} + +void ht(node *root,int level) +{ + if(root!=NULL) + { + if(heightleft,level++); + ht(root->right,level++); + } +} \ No newline at end of file diff --git a/tree2.c b/tree2.c new file mode 100644 index 0000000..683f726 --- /dev/null +++ b/tree2.c @@ -0,0 +1,120 @@ +/*binary threaded tree application */ + +#include +#include +#include + +struct tree{ + int info; + struct tree *left; + struct tree *right; + int thread; + }; + +typedef struct tree node; + +void inorder(node *,int ct); + +void main() +{ +node *root,*temp,*prev1,*temp2; +int tem,ct=0; +char more; + +root=(node *)malloc(sizeof(node)); +clrscr(); +gotoxy(5,5); +cprintf("Enter the root element : "); +scanf("%d",&root->info); +root->left=NULL; +root->right=NULL; +root->thread=1; +temp=root; +prev1=root; +while(1) + { + clrscr(); + gotoxy(5,5); + ct++; + cprintf("Enter the element: "); + scanf("%d",&tem); + + while(root!=NULL && prev1->thread==0) + { + if(tem>=root->info) + { + prev1=root; + root=root->right; + } + else if(teminfo) + { + prev1=root; + root=root->left; + } + } + + root=(node *)malloc(sizeof(node)); + + if(prev1->info>tem) + { + root->info=tem; + prev1->left=root; + root->right=prev1; + root->left=NULL; + root->thread=1; + } + else if(prev1->info<=tem) + { + temp2=prev1->right; + prev1->thread=0; + root->info=tem; + root->left=NULL; + prev1->right=root; + root->thread=1; + root->right=temp2; + } + + gotoxy(5,7); + cprintf("any other element Y/N "); + fflush(stdin); + more=getch(); + if(toupper(more)=='N') + { + break; + } + + root=temp; + } + inorder(temp,ct); + getch(); +} + +void inorder(node *start,int ct) +{ +node *p,*q; +p=start; +q=start; +do + { + q=NULL; + while(p!=NULL) + { + q=p; + p=p->left; + } + + if(q!=NULL) + { + printf("\n%d %d",q->info,q->thread); + ct--; + p=q->right; + while(q->thread && p!=NULL) + { + printf("\n%d %d",p->info,p->thread); + ct--; + q=p; + p=p->right; + } + } + }while(q!=NULL); +} \ No newline at end of file diff --git a/treeavl.c b/treeavl.c new file mode 100644 index 0000000..66fbec4 --- /dev/null +++ b/treeavl.c @@ -0,0 +1,492 @@ +#include +#include +#include +struct tree +{ + int info; + struct tree *left; + struct tree *right; + char balance; +}; + +typedef struct tree node; + +void preorder(node *show,int x,int y,char b,int h); +void layout(int x1,int y1,int x2,int y2,int ccb,int cct); +void delete(node *root); +void rotate(node *root); +void insertavl(node *root,int *tall,int *value); +void insert(); +int univflag; + +void main() +{ + node *root,*temp2,*temp1; + int temp,cht=0,mk,xx,yy,flag=0,tall=1,tem; + char ch; + char choice[10][10]={"DELETE", + "ROTATE", + "INSERT", + "EXIT" + }; + root=(node *)malloc(sizeof(node)); + root->left=NULL; + root->right=NULL; + temp1=root; + clrscr(); + system("cls"); + layout(2,1,78,25,15,15); + gotoxy(10,4); + textcolor(12); + cprintf("AVL TREE "); + gotoxy(30,7); + textcolor(15); + cprintf("Enter the root element : "); + fflush(stdin); + scanf("%d",&root->info); + root->balance='E'; + while(1) + { + gotoxy(30,9); + printf("any more element : Y / N "); + fflush(stdin); + ch=toupper(getch()); + if(ch=='N') + { + root->left=NULL; + root->right=NULL; + break; + } + clrscr(); + layout(2,1,78,25,15,15); + gotoxy(25,7); + cprintf("enter the element : "); + fflush(stdin); + scanf("%d",&temp); + insertavl(root,&tall,&tem); + + } + clrscr(); + gotoxy(30,1); + textcolor(LIGHTGRAY); + cprintf("BINARY SEARCH TREE"); + preorder(temp1,25,5,' ',0); + gotoxy(15,25); + textcolor(YELLOW); + textbackground(CYAN); + cprintf("%s",choice[0]); + gotoxy(25,25); + textcolor(YELLOW); + textbackground(RED); + cprintf("%s",choice[1]); + gotoxy(35,25); + textcolor(YELLOW); + textbackground(RED); + cprintf("%s",choice[2]); + gotoxy(45,25); + textcolor(YELLOW); + textbackground(RED); + cprintf("%s",choice[3]); + + xx=15; + while(2) + { + fflush(stdin); + mk=getch(); + if(mk==9) + { + gotoxy(xx,25); + textbackground(RED); + cprintf("%s",choice[cht]); + if(flag==0) + { + cht++; + xx+=10; + if(cht==3) + flag=1; + gotoxy(xx,25); + textbackground(CYAN); + textcolor(YELLOW); + cprintf("%s",choice[cht]); + continue; + } + if(flag==1) + { + cht--; + xx-=10; + if(cht==0) + flag=0; + gotoxy(xx,25); + textbackground(CYAN); + textcolor(YELLOW); + cprintf("%s",choice[cht]); + continue; + } + } + if(mk==13) + { + if(cht==0) + { + delete(temp1); + system("cls"); + gotoxy(30,1); + textcolor(LIGHTGRAY); + textbackground(0); + cprintf("BINARY SEARCH TREE"); + univflag=0; + preorder(temp1,25,5,' ',0); + gotoxy(15,25); + textcolor(YELLOW); + textbackground(RED); + cprintf("%s",choice[0]); + gotoxy(25,25); + textcolor(YELLOW); + textbackground(RED); + cprintf("%s",choice[1]); + gotoxy(35,25); + textcolor(YELLOW); + textbackground(RED); + cprintf("%s",choice[2]); + gotoxy(45,25); + textcolor(YELLOW); + textbackground(RED); + cprintf("%s",choice[3]); + + continue; + } + if(cht==1) + { + clrscr(); + system("cls"); + rotate(temp1); + gotoxy(30,1); + textcolor(LIGHTGRAY); + textbackground(0); + univflag=0; + cprintf("BINARY SEARCH TREE"); + preorder(temp1,25,5,' ',0); + gotoxy(15,25); + textcolor(YELLOW); + textbackground(RED); + cprintf("%s",choice[0]); + gotoxy(25,25); + textcolor(YELLOW); + textbackground(RED); + cprintf("%s",choice[1]); + gotoxy(35,25); + textcolor(YELLOW); + textbackground(RED); + cprintf("%s",choice[2]); + gotoxy(45,25); + textcolor(YELLOW); + textbackground(RED); + cprintf("%s",choice[3]); + + continue; + } + if(cht==2) + { + insert(temp1); + gotoxy(30,1); + textcolor(LIGHTGRAY); + textbackground(0); + univflag=0; + cprintf("BINARY SEARCH TREE"); + preorder(temp1,25,5,' ',0); + gotoxy(15,25); + textcolor(YELLOW); + textbackground(RED); + cprintf("%s",choice[0]); + gotoxy(25,25); + textcolor(YELLOW); + textbackground(RED); + cprintf("%s",choice[1]); + gotoxy(35,25); + textcolor(YELLOW); + textbackground(RED); + cprintf("%s",choice[2]); + gotoxy(45,25); + textcolor(YELLOW); + textbackground(RED); + cprintf("%s",choice[3]); + + continue; + } + if(cht==3) + exit(3); + } + } +} + +void preorder(node *show,int x,int y,char b,int h) +{ + static int k,nodes,leaves; + int x1,x2; + if(univflag==0) + { + k=0; + nodes=0; + leaves=0; + univflag=1; + } + x1=x+k++; + x2=y++; + if(show!=NULL) + { + delay(300); + gotoxy(x1,x2); + textcolor(15); + textbackground(RED); + cprintf(" %d ",show->info); + nodes++; + gotoxy(5,23); + cprintf("NODES : %2d",nodes); + gotoxy(x1+h,x2-1); + textcolor(YELLOW); + textbackground(0); + cprintf("%c",b); + preorder(show->left,x=x-5,++y,'/',2); + preorder(show->right,x+=10,y++,'\\',-1); + } + if(show->left==NULL && show->right==NULL) + { + leaves++; + textcolor(15); + textbackground(RED); + gotoxy(5,24); + cprintf("LEAVES: %2d",leaves); + } +} + +void layout(int x1,int y1,int x2,int y2,int ccb,int cct) +{ +int i,j; +window(x1,y1,x2,y2); +textmode(3); +textcolor(cct); +gotoxy(x1,y1); +cprintf("%c",218); +gotoxy(x1,y2); +cprintf("%c",192); +gotoxy(x2,y1); +cprintf("%c",191); +gotoxy(x2,y2); +cprintf("%c",217); +for(i=x1+1;iroot->info) + { + prev=root; + root=root->right; + } + else if(delinfo) + { + prev=root; + root=root->left; + } + else + break; + } + if(prev->inforight==NULL && root->left==NULL) + { + prev->right=root->right; + } + else + { + if(root->right!=NULL) + { + temp1=root->left; + prev->right=root->right; + root=root->right; + while(root!=NULL) + { + temp2=root; + root=root->left; + } + temp2->left=temp1; + } + } + } + if(prev->info>del) + { + if(root->left==NULL && root->right==NULL) + { + prev->left=root->left; + } + else + { + if(root->left!=NULL) + { + temp1=root->right; + prev->left=root->left; + root=root->left; + while(root!=NULL) + { + temp2=root; + root=root->right; + } + temp2->right=temp1; + } + } + } + return(0); + } + + + + +void rotate(node *root) +{ + node *temp; + if(root!=NULL) + { + temp=root->left; + root->left=root->right; + root->right=temp; + rotate(root->left); + rotate(root->right); + } +} + +void insert(node *root) +{ +int temp; +clrscr(); +system("cls"); + +layout(2,1,78,25,15,15); +gotoxy(25,7); +cprintf("enter the element : "); +fflush(stdin); +scanf("%d",&temp); +while(2) +{ +if(temp>=root->info) +{ + if(root->right==NULL) + { + root->right=(node *)malloc(sizeof(node)); + root=root->right; + root->info=temp; + root->left=NULL; + root->right=NULL; + break; + } + root=root->right; +} +if(tempinfo) +{ + if(root->left==NULL) + { + root->left=(node *)malloc(sizeof(node)); + root=root->left; + root->info=temp; + root->left=NULL; + root->right=NULL; + break; + } + root=root->left; +} +} +clrscr(); +system("cls"); +} + +void insertavl(node *root,int *tall,int *value) +{ +node *prev; + + if(root->left==NULL && root->right==NULL) + { + if(root->info<*value) + { + root->left=(node *)malloc(sizeof(node)); + root=root->left; + root->info=*value; + root->left=NULL; + root->right=NULL; + root->balance='E'; + *tall=1; + return(0); + } + if(root->info>=value) + { + root->right=(node *)malloc(sizeof(node)); + root=root->right; + root->info=*value; + root->left=NULL; + root->right=NULL; + root->balance='E'; + *tall=1; + return(0); + } + } + else if(root->info>value) + { + insertavl(root->left,&tall,&value); + + if(*tall) + { + if(root->balance=='E') + { + root->balance='L'; + *tall=1; + } + if(root->balance=='R') + { + root->balance='E'; + *tall=0; + } + + } + *tall=0; + } + else if(root->info<=value) + { + insertavl(root->right,&tall,&value); + if(*tall) + { + if(root->balance=='L') + { + root->balance='E'; + *tall=1; + } + if(root->balance=='E') + { + root->balance='R'; + *tall=0; + } + } + *tall=0; + } +}