#include<graphics.h>
#include<conio.h>
#include<dos.h>
#include<stdlib.h>
#include<process.h>
main()
{
int gd=DETECT,gm;initgraph(&gd,&gm,"c:\tc\bgi");
int h=40;
line(0,440,639,440);
//line(20,30+h,619,30+h);
//line(25,400,38,120);
//line(85,400,78,120);
//line(85,400,78,120);
//=================================Ist tower========================//
//=================================IIst
tower============================//
//#################TOWER%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%//
int l=-20;
line(28+l,400+h,33+l,333+h);
line(86+l,400+h,80+l,333+h);
//||||||||||||||||||||||||||||||Ist
stage||||||||||||||||||||||||||||||||||||||||||||//
line(23+l,328+h,32+l,334+h); // slant
line(88+l,328+h,80+l,334+h); // slant
line(83+l,323+h,75+l,334+h); // slant
line(75+l,323+h,70+l,332+h);
line(66+l,323+h,65+l,332+h); // slant
line(57+l,323+h,57+l,332+h); // slant
line(30+l,323+h,39+l,334+h); // slant
line(38+l,323+h,45+l,332+h);
line(48+l,323+h,51+l,332+h); // slant
ellipse(57+l,320+h,350,190,34,5);
ellipse(57+l,327+h,350,190,34,5);
ellipse(57+l,337+h,0,180,25,5);
line(22+l,320+h,22+l,328+h);
line(91+l,320+h,91+l,327+h);
setfillstyle(6,15);
floodfill(60+l,320+h,15);
setfillstyle(10,15);
floodfill(60+l,320+h+15,15);
//||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
||//
//+++++++++++++++++++++++++++++++++++2nd+++++++++++++++++++++++++++
line(35+l,315+h,38+l,242+h);
line(80+l,315+h,75+l,242+h);
//||||||||||||||||||||||||||||||2st
stage||||||||||||||||||||||||||||||||||||||||||||//
int t=-93;
line(23+4+l,328+t+3+h,32+5+l,334+t+h); // slant
line(88+l,328+t+2+h,76+l,334+t+h); // slant
//line(+l83,323+t+4,75,334+t); // slant
line(78+l,323+t+3+h,71+l,332+t+h);
line(66+l,323+t+2+h,65+l,332+t+h); // slant
line(57+l,323+t+2+h,57+l,332+t-2+h); // slant
//line(30,323+t+2,39,334+t); // slant
line(35+l,323+t+3+h,45-3+l,332+t+h);
line(48+l,323+t+2+h,51+l,332+t-2+h); // slant
ellipse(57+l,320+t+3+h,360,190,30,5);
ellipse(57+l,327+t+3+h,360,190,30,5);
ellipse(57+l,337+t-1+h,0,180,18,5);
line(26+l,320+t+3+h,26+l,328+t+2+h);
line(88+l,320+t+3+h,88+l,327+t+3+h);
//||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|//
setfillstyle(6,15);
floodfill(60+l,320+h+t,15); ////////////////
setfillstyle(10,15);
floodfill(60+l,320+h-35,15);
//||||||||||||||||||||||||||||||3rd
stage||||||||||||||||||||||||||||||||||||||||||||//
line(38+l,225+h,41+l,152+h);
line(75+l,225+h,72+l,152+h);
t=-182;
line(32+l,328+t+4+h,32+7+l,334+t+h); // slant
line(80+l,328+t+4+h,73+l,334+t+h); // slant
//line(+l83,323+t+4,75,334+t); // slant
line(76+l,323+t+5+h,71+l,332+t+h);
line(66+l,323+t+4+h,65+l,332+t+h); // slant
line(57+l,323+t+4+h,57+l,332+t-2+h); // slant
//line(30,323+t+2,39,334+t); // slant
line(39+l,323+t+6+h,45+l,332+t+1+h);
line(48+l,323+t+4+h,51+l,332+t+h); // slant
ellipse(57+l,320+t+6+h,360,190,24,5);
ellipse(57+l,327+t+4+h,360,190,24,5);
ellipse(57+l,337+t-1+h,0,170,16,5);
line(32+l,320+t+6+h,32+l,328+t+3+h);
line(81+l,320+t+6+h,81+l,327+t+3+h);
setfillstyle(6,15);
floodfill(60+l,322+h+t,15);
//||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
||//
setfillstyle(10,15);
floodfill(60+l,322+h+t+30,15);
//GGF################TOWER%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%//
ellipse(51+l,132+h,340,216,4,15);
ellipse(62+l,131+h,327,216,4,15);
ellipse(72+l,132+h,327,216,2,15);
ellipse(42+l,132+h,327,216,2,15);
ellipse(57+l,107+h,0,170,16,5);
line(40+l,107+h,40+l,140+h);
line(75+l,107+h,75+l,140+h);
line(34+l,107+h,40+l,107+h);
line(75+l,107+h,81+l,107+h);
line(34+l,107+h,28+l,102+h); //slant
line(81+l,107+h,87+l,102+h);
line(28+l,102+h,34+l,98+h);
line(87+l,102+h,81+l,98+h);
line(34+l,98+h,58+l,95+h);
line(58+l,95+h,81+l,98+h);
ellipse(65+l,92+h,104,190,30,30);
ellipse(50+l,92+h,350,76,30,30);
line(58+l,61+h,58+l,63+h);
circle(58+l,58+h,3);
line(58+l,55+h,58+l,53+h);
circle(58+l,50+h,2);
line(58+l,48+h,58+l,47+h);
circle(58+l,45+h,1);
line(58+l,44+h,58+l,41+h);
setfillstyle(6,15);
floodfill(60+l-2,322+h+t-60,15);
setfillstyle(10,15);
floodfill(60+l-2,322+h+t-30,15);
//=================================IIst
tower============================//
//#################TOWER%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%//
l=547;
line(28+l,400+h,33+l,333+h);
line(86+l,400+h,80+l,333+h);
//||||||||||||||||||||||||||||||Ist
stage||||||||||||||||||||||||||||||||||||||||||||//
line(23+l,328+h,32+l,334+h); // slant
line(88+l,328+h,80+l,334+h); // slant
line(83+l,323+h,75+l,334+h); // slant
line(75+l,323+h,70+l,332+h);
line(66+l,323+h,65+l,332+h); // slant
line(57+l,323+h,57+l,332+h); // slant
line(30+l,323+h,39+l,334+h); // slant
line(38+l,323+h,45+l,332+h);
line(48+l,323+h,51+l,332+h); // slant
ellipse(57+l,320+h,350,190,34,5);
ellipse(57+l,327+h,350,190,34,5);
ellipse(57+l,337+h,0,180,25,5);
line(22+l,320+h,22+l,328+h);
line(91+l,320+h,91+l,327+h);
setfillstyle(6,15);
floodfill(60+l,320+h,15);
setfillstyle(10,15);
floodfill(60+l,320+h+15,15);
//||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
||//
//+++++++++++++++++++++++++++++++++++2nd+++++++++++++++++++++++++++
line(35+l,315+h,38+l,242+h);
line(80+l,315+h,75+l,242+h);
//||||||||||||||||||||||||||||||2st
stage||||||||||||||||||||||||||||||||||||||||||||//
t=-93;
line(23+4+l,328+t+3+h,32+5+l,334+t+h); // slant
line(88+l,328+t+2+h,76+l,334+t+h); // slant
//line(+l83,323+t+4,75,334+t); // slant
line(78+l,323+t+3+h,71+l,332+t+h);
line(66+l,323+t+2+h,65+l,332+t+h); // slant
line(57+l,323+t+2+h,57+l,332+t-2+h); // slant
//line(30,323+t+2,39,334+t); // slant
line(35+l,323+t+3+h,45-3+l,332+t+h);
line(48+l,323+t+2+h,51+l,332+t-2+h); // slant
ellipse(57+l,320+t+3+h,360,190,30,5);
ellipse(57+l,327+t+3+h,360,190,30,5);
ellipse(57+l,337+t-1+h,0,180,18,5);
line(26+l,320+t+3+h,26+l,328+t+2+h);
line(88+l,320+t+3+h,88+l,327+t+3+h);
//||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
||//
setfillstyle(6,15);
floodfill(60+l,320+h+t,15); ////////////////
setfillstyle(10,15);
floodfill(60+l,320+h-35,15);
//||||||||||||||||||||||||||||||3rd
stage||||||||||||||||||||||||||||||||||||||||||||//
line(38+l,225+h,41+l,152+h);
line(75+l,225+h,72+l,152+h);
t=-182;
line(32+l,328+t+4+h,32+7+l,334+t+h); // slant
line(80+l,328+t+4+h,73+l,334+t+h); // slant
//line(+l83,323+t+4,75,334+t); // slant
line(76+l,323+t+5+h,71+l,332+t+h);
line(66+l,323+t+4+h,65+l,332+t+h); // slant
line(57+l,323+t+4+h,57+l,332+t-2+h); // slant
//line(30,323+t+2,39,334+t); // slant
line(39+l,323+t+6+h,45+l,332+t+1+h);
line(48+l,323+t+4+h,51+l,332+t+h); // slant
ellipse(57+l,320+t+6+h,360,190,24,5);
ellipse(57+l,327+t+4+h,360,190,24,5);
ellipse(57+l,337+t-1+h,0,170,16,5);
line(32+l,320+t+6+h,32+l,328+t+3+h);
line(81+l,320+t+6+h,81+l,327+t+3+h);
setfillstyle(6,15);
floodfill(60+l,322+h+t,15);
//||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
||//
setfillstyle(10,15);
floodfill(60+l,322+h+t+30,15);
//GGF################TOWER%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%//
ellipse(51+l,132+h,340,216,4,15);
ellipse(62+l,131+h,327,216,4,15);
ellipse(72+l,132+h,327,216,2,15);
ellipse(42+l,132+h,327,216,2,15);
ellipse(57+l,107+h,0,170,16,5);
line(40+l,107+h,40+l,140+h);
line(75+l,107+h,75+l,140+h);
line(34+l,107+h,40+l,107+h);
line(75+l,107+h,81+l,107+h);
line(34+l,107+h,28+l,102+h); //slant
line(81+l,107+h,87+l,102+h);
line(28+l,102+h,34+l,98+h);
line(87+l,102+h,81+l,98+h);
line(34+l,98+h,58+l,95+h);
line(58+l,95+h,81+l,98+h);
ellipse(65+l,92+h,104,190,30,30);
ellipse(50+l,92+h,350,76,30,30);
line(58+l,61+h,58+l,63+h);
circle(58+l,58+h,3);
line(58+l,55+h,58+l,53+h);
circle(58+l,50+h,2);
line(58+l,48+h,58+l,47+h);
circle(58+l,45+h,1);
line(58+l,44+h,58+l,41+h);
setfillstyle(6,15);
floodfill(60+l-2,322+h+t-60,15);
setfillstyle(10,15);
floodfill(60+l-2,322+h+t-30,15);
//||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
||//
//GGF################TOWER%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%//
ellipse(51+l,132+h,340,216,4,15);
ellipse(62+l,131+h,327,216,4,15);
ellipse(72+l,132+h,327,216,2,15);
ellipse(42+l,132+h,327,216,2,15);
ellipse(57+l,107+h,0,170,16,5);
line(40+l,107+h,40+l,140+h);
line(75+l,107+h,75+l,140+h);
line(34+l,107+h,40+l,107+h);
line(75+l,107+h,81+l,107+h);
line(34+l,107+h,28+l,102+h); //slant
line(81+l,107+h,87+l,102+h);
line(28+l,102+h,34+l,98+h);
line(87+l,102+h,81+l,98+h);
line(34+l,98+h,58+l,95+h);
line(58+l,95+h,81+l,98+h);
ellipse(65+l,92+h,104,190,30,30);
ellipse(50+l,92+h,350,76,30,30);
line(58+l,61+h,58+l,63+h);
circle(58+l,58+h,3);
line(58+l,55+h,58+l,53+h);
circle(58+l,50+h,2);
line(58+l,48+h,58+l,47+h);
circle(58+l,45+h,1);
line(58+l,44+h,58+l,41+h);
//=================================Ist tower========================//
//+++++++++++++++++++++++++++++++++TAJ mahal++++++++++++++++++++++++//
////setcolor(15);
rectangle(275,290,365,440); // inner
rectangle(268,283,372,440); // //inner
setfillstyle(1,15);
floodfill(274,294,15);
line(280,440,280,350);
//line(283,440,283,350);
ellipse(315,349,130,180,35,40);
ellipse(275,280,290,326,53,40);
line(360,440,360,350);
ellipse(325,349,360,50,35,40);
ellipse(361,280,216,255,53,40);
setfillstyle(9,7);
floodfill(277,386,15);
putpixel(277,386,14);
line(280,360,359,360);
line(280,364,359,364);
setfillstyle(1,15);
floodfill(281,362,15);
rectangle(295+4,370,345-4,440);
rectangle(292+4,367,348-4,440);
setfillstyle(1,15);
floodfill(294+4,369,15);
rectangle(296,378,344,380);
floodfill(301,379,15);
line(302,405,302,440);
line(338,405,338,440);
ellipse(327,405,108,180,25,20);
ellipse(313,405,360,74,25,20);
setfillstyle(7,15);
//putpixel(312,416,11);
//floodfill(312,406,15);
line(329,390,329,440);
line(310,391,310,440);
line(311,402,329,402);
line(311,422,329,422);
line(302,412,310,412);
line(329,412,338,412);
line(302,428,310,428);
line(329,428,338,428);
//setfillstyle(7,15);
int p=-60;
line(302,405+p,302,440+p-20);
line(338,405+p,338,440+p-20);
ellipse(327,405+p,108,180,25,20);
ellipse(313,405+p,360,74,25,20);
setfillstyle(7,15);
floodfill(311,406,15);
line(329,390+p,329,440+p-20);
line(310,391+p,310,440+p-20);
line(311,402+p,329,402+p);
line(311,422+p-7,329,422+p-7);
line(302,412+p,310,412+p);
line(329,412+p,338,412+p);
//??//////////////////////////////////2nd portion/////////////////////
rectangle(245,260,400,440); // inner
rectangle(230,245,415,440); // //inner
rectangle(230,425,275,440);
setfillstyle(1,15);
floodfill(231,426,15);
floodfill(249,426,15);
////setcolor(8);
rectangle(230+135,425,275+140,440);
//setfillstyle(1,15);
floodfill(231+160,426,15);
floodfill(249+159,426,15);
////setcolor(15);
line(415,290,415,440);
line(420,245,420,440);
line(415,240,415,205);
line(420,240,420,205);
line(225,245,225,440); //vertical
line(230,250,230,440);
line(225,240,225,205); //vertical
line(230,240,230,205);
line(222,240,425,240);
line(222,245,425,245); //horz
ellipse(222,242.5,90,270,2.5,2.5);
ellipse(425,242.5,270,90,2.5,2.5);
rectangle(231,230,414,239);
ellipse(227,206,0,180,9,1);
ellipse(227,204,0,180,9,1);
putpixel(220,204,15);
putpixel(220,205,15);
putpixel(220,206,15);
putpixel(235,204,15);
putpixel(235,205,15);
putpixel(235,206,15);
ellipse(227,203,0,180,6,7);
line(227,195,227,192);
int r=190;
ellipse(227+r,206,0,180,9,1);
ellipse(227+r,204,0,180,9,1);
putpixel(220+r,204,15);
putpixel(220+r,205,15);
putpixel(220+r,206,15);
putpixel(235+r,204,15);
putpixel(235+r,205,15);
putpixel(235+r,206,15);
ellipse(227+r,203,0,180,6,7);
line(227+r,195,227+r,192);
/*
//floodfill(305,424,15);
//floodfill(305,429,15);
//floodfill(325,424,15);
//floodfill(325,421,15);
//floodfill(332,420,15);
//floodfill(332,429,15);
*/
ellipse(315,170,140,210,105,100);
ellipse(330,170,330,40,105,100);
ellipse(292,167,105,140,75,95);
ellipse(353,167,40,75,75,95);
ellipse(323,78,350,190,60,8);
ellipse(323,77,350,190,60,8);
//ellipse(259,24,295,358,58,51);
ellipse(240,24,321,358,78,71);
ellipse(192,40,342,7,128,100);
ellipse(448,30,180,203,128,100);
ellipse(443,5,194,220,128,100);
ellipse(438,-9,203,234,128,100);
ellipse(198,-6,310,340,128,100);
ellipse(319,30,0,360,7,2);
floodfill(320,29,15);
circle(319,24,3);
line(319,20,319,18);
circle(319,14,4);
line(319,9,319,0);
//ellipse(319,4,0,360,2,3);
circle(319,2,1);
line(316,6,322,6);
line(316,6,314,4);
line(322,6,324,4);
//???????????????????????????????????
//////////////////////////////////////////////////////////
//ellipse();
ellipse(321,258,48,130,140,50);
ellipse(321,255,48,130,140,50);
ellipse(321,241,48,130,140,50);
ellipse(321,238,48,130,140,50);
//setfillstyle(6,11);
// line(265,79,277,70);
//////setcolor(4);
//line(385,81,380,76);
//while(!kbhit())
//{
delay(300);
setfillstyle(10,15);
floodfill(322,160,15);
setfillstyle(6,15);
floodfill(322,193,15);
//}
//line(319,26,319,480+h);//center
///////////////////////////////////////////new////////////////////////////
rectangle(150,283,225,294);
//line(146,294,225,294);
line(150,298,225,298);
line(150,240,150,440); //pole
line(146,240,146,440);
line(150,299,150,440); //pole
line(146,299,146,440);
r=-80;
int n=34;
ellipse(227+r,206+n,0,180,9,1);
ellipse(227+r,204+n,0,180,9,1);
putpixel(220+r,204+n,15);
putpixel(220+r,205+n,15);
putpixel(220+r,206+n,15);
putpixel(235+r,204+n,15);
putpixel(235+r,205+n,15);
putpixel(235+r,206+n,15);
ellipse(227+r,203+n,0,180,6,7);
line(227+r,195+n,227+r,192+n);
l=128;
h=150;
ellipse(51+l,132+h-7,340,216,4,15);
ellipse(62+l,131+h-7,327,216,4,15);
ellipse(72+l,132+h-7,327,216,2,15);
ellipse(42+l,132+h-7,327,216,2,15);
ellipse(57+l,107+h,0,170,16,5);
line(40+l,107+h,40+l,140+h-7);
line(75+l,107+h,75+l,140+h-7);
line(34+l,107+h,40+l,107+h);
line(75+l,107+h,81+l,107+h);
line(34+l,107+h,28+l,102+h); //slant
line(81+l,107+h,87+l,102+h);
line(28+l,102+h,34+l,98+h);
line(87+l,102+h,81+l,98+h);
line(34+l,98+h,58+l,95+h);
line(58+l,95+h,81+l,98+h);
ellipse(65+l,92+h,104,190,30,30);
ellipse(50+l,92+h,350,76,30,30);
line(58+l,61+h,58+l,63+h);
circle(58+l,58+h,3);
line(58+l,55+h,58+l,53+h);
circle(58+l,50+h,2);
line(58+l,48+h,58+l,47+h);
circle(58+l,45+h,1);
line(58+l,44+h,58+l,41+h);
line(100-5,240+15,100-5,440); //pole
line(96-5,240+15,96-5,440);
r=-134;
n=49;
ellipse(227+r,206+n,0,180,9,1);
ellipse(227+r,204+n,0,180,9,1);
putpixel(220+r,204+n,15);
putpixel(220+r,205+n,15);
putpixel(220+r,206+n,15);
putpixel(235+r,204+n,15);
putpixel(235+r,205+n,15);
putpixel(235+r,206+n,15);
ellipse(227+r,203+n,0,180,6,7);
line(227+r,195+n,227+r,192+n);
line(146,294,97,302);
line(146,298,97,306);
line(146,283,97,291);
///////////////////////////////////////inner/////////////////
//rectangle(275+k,290,365+k,440); // inner
//rectangle(268+k,283,372+k,440); // //inner
//line(225,367,151,367);
rectangle(155,302,220,364);
rectangle(155,302+70,220,364+75);
int q=-133;
int d=-2;
line(302+q-5,405+d,302+q-5,440+d);
line(338+q+5,405+d,338+q+5,440+d);
ellipse(327+q+5,405+d,108,180,35,30);
ellipse(313+q-5,406+d,360,74,35,30);
d=-77;
line(302+q-5,405+d,302+q-5,440+d);
line(338+q+5,405+d,338+q+5,440+d);
ellipse(327+q,405+d,105,180,30,25);
ellipse(313+q,405+d,360,80,30,25);
putpixel(163,300,11);
setfillstyle(6,15);
floodfill(163,330,15);
floodfill(160,380,15);
line(141,305,141,360);
line(101,310,101,365);
line(141,305,101,310);
line(141,360,101,365);
int x=70;
line(141,305+x,141,440);
line(101,310+x,101,440);
line(141,305+x,101,310+x);
q=-200;
line(302+q+4,405+d,302+q+4,440+d);
line(338+q-1,405+d,338+q-1,440+d-2);
ellipse(327+q,405+d,105,180,20,15);
ellipse(313+q+4,405+d,360,80,20,15);
d=1;
line(302+q+4,405+d,302+q+4,440+d-2);
line(338+q-1,405+d,338+q-1,440+d-2);
ellipse(327+q,405+d,105,180,20,15);
ellipse(313+q+4,405+d,360,80,20,15);
rectangle(178,415,197,439);
setfillstyle(7,15);
floodfill(179,416,15);
rectangle(178,415-75,197,440-76);
setfillstyle(7,15);
floodfill(179,415-75+1,15);
line(130-3,417,130-3,440);
line(113+3,420,113+3,440);
line(113+3,420,130-3,417);
putpixel(114,423,4);
line(113,440,130,440);
floodfill(114+3,423,15);
int a=-76;
line(130-3,417+a,130-3,440+a-3);
line(113+3,420+a,113+3,440+a);
line(113+3,420+a,130-3,417+a);
putpixel(114,423,4);
floodfill(114+3,423+a,15);
line(10,400+h,615,400+h);
//////////////////////////////////////////////right\\\\\\\\\\\
int e=270;
rectangle(150+e,283,226+e,294);
line(146+e+4,294,225+e,294);
line(146+e+4,298,225+e,298);
line(150+e+80,240,150+e+80,440); //pole
line(146+e+80,240,146+e+80,440);
line(150+e+80,299,150+e+80,440); //pole
line(146+e+80,299,146+e+80,440);
l=400;
h=+149;
ellipse(51+l,132+h-7,340,216,4,15);
ellipse(62+l,131+h-7,327,216,4,15);
ellipse(72+l,132+h-7,327,216,2,15);
ellipse(42+l,132+h-7,327,216,2,15);
ellipse(57+l,107+h,0,170,16,5);
line(40+l,107+h,40+l,140+h-7);
line(75+l,107+h,75+l,140+h-7);
line(34+l,107+h,40+l,107+h);
line(75+l,107+h,81+l,107+h);
line(34+l,107+h,28+l,102+h); //slant
line(81+l,107+h,87+l,102+h);
line(28+l,102+h,34+l,98+h);
line(87+l,102+h,81+l,98+h);
line(34+l,98+h,58+l,95+h);
line(58+l,95+h,81+l,98+h);
ellipse(65+l,92+h,104,190,30,30);
ellipse(50+l,92+h,350,76,30,30);
line(58+l,61+h,58+l,63+h);
circle(58+l,58+h,3);
line(58+l,55+h,58+l,53+h);
circle(58+l,50+h,2);
line(58+l,48+h,58+l,47+h);
circle(58+l,45+h,1);
line(58+l,44+h,58+l,41+h);
r=270;
n=n-15;
ellipse(227+r,206+n,0,180,9,1);
ellipse(227+r,204+n,0,180,9,1);
putpixel(220+r,204+n,15);
putpixel(220+r,205+n,15);
putpixel(220+r,206+n,15);
putpixel(235+r,204+n,15);
putpixel(235+r,205+n,15);
putpixel(235+r,206+n,15);
ellipse(227+r,203+n,0,180,6,7);
line(227+r,195+n,227+r,192+n);
line(146+e+135,302,97+e+135,294);
line(146+e+135,306,97+e+135,298);
line(146+e+135,291,97+e+135,283);
line(100-5+e+190,240+15,100-5+e+190,440); //pole
line(96-5+e+190,240+15,96-5+e+190,440);
r=325;
n+=15;
ellipse(227+r,206+n,0,180,9,1);
ellipse(227+r,204+n,0,180,9,1);
putpixel(220+r,204+n,15);
putpixel(220+r,205+n,15);
putpixel(220+r,206+n,15);
putpixel(235+r,204+n,15);
putpixel(235+r,205+n,15);
putpixel(235+r,206+n,15);
ellipse(227+r,203+n,0,180,6,7);
line(227+r,195+n,227+r,192+n);
rectangle(155+e,302,220+e,364);
rectangle(155+e,302+70,220+e,364+75);
q=140;
d-=1;
line(302+q-5,405+d,302+q-5,440+d);
line(338+q+5,405+d,338+q+5,440+d);
ellipse(327+q+5,405+d,108,180,35,30);
ellipse(313+q-5,406+d,360,74,35,30);
d=-77;
line(302+q-5,405+d,302+q-5,440+d);
line(338+q+5,405+d,338+q+5,440+d);
ellipse(327+q,405+d,105,180,30,25);
ellipse(313+q,405+d,360,80,30,25);
putpixel(163,300,11);
setfillstyle(6,15);
floodfill(163,330,15);
floodfill(160,380,15);
/////////////////////////////
e=e-15;
line(141+e+150,305+5,141+e+150,360+5);
line(101+e+150,310-5,101+e+150,365-5);
line(101+e+150,305,141+e+150,310);
line(101+e+150,360,141+e+150,365);
int v=75;
line(141+e+150,305+5+v-5,141+e+150,440);
line(101+e+150,310-5+v-5,101+e+150,440);
line(101+e+150,305+v-5,141+e+150,310+v-5);
//line(101+e+150,360+v,141+e+150,365+v);
e=e+18;
rectangle(178+e,415,197+e,439);
setfillstyle(7,15);
floodfill(179+e,416,15);
int f=-75;
rectangle(178+e,415+f,197+e,439+f);
setfillstyle(7,15);
floodfill(179+e,416+f,15);
e+=130;
line(130-3+e,440+a-2,130-3+e,417+a+2);
line(113+3+e,440+a-2,113+3+e,420+a-2);
line(113+3+e,417+a,130-3+e,420+a);
putpixel(114+e,423,4);
floodfill(114+3+e,423+a,15);
a=1;
line(130-3+e,440+a-2,130-3+e,417+a+2);
line(113+3+e,440+a-2,113+3+e,420+a-2);
line(113+3+e,417+a,130-3+e,420+a);
putpixel(114+e,423,4);
line(113+3+e,440,130-3+e,440);
floodfill(114+3+e,423+a,15);
q=204;
line(302+q+4,405+d,302+q+4,440+d-2);
line(338+q-1,405+d,338+q-1,440+d+2);
ellipse(327+q,405+d,105,180,20,15);
ellipse(313+q+4,405+d,360,80,20,15);
q=204;
d=0;
line(302+q+4,405+d,302+q+4,440+d-1);
line(338+q-1,405+d,338+q-1,440+d);
ellipse(327+q,405+d,105,180,20,15);
ellipse(313+q+4,405+d,360,80,20,15);
line(302+q+4,440,302+q+4,440);
setfillstyle(10,15);
floodfill(322,160,15);
setfillstyle(6,15);
floodfill(322,193,15);
///////////////////////////////////////////////walls//////////////
setfillstyle(9,15);
floodfill(110,294,15);
floodfill(210,290,15);
floodfill(430,290,15);
floodfill(520,290,15);
/////////////////////////////////////////////poles
setfillstyle(6,15);
floodfill(93,394,15);
floodfill(148,394,15);
floodfill(227,394,15);
floodfill(417,394,15);
floodfill(498,394,15);
floodfill(553,394,15);
setfillstyle(9,15);
floodfill(185,224,15);
floodfill(465,224,15);
while(!kbhit())
{
delay(40);
putpixel(random(640),random(248),random(15));
}
cleardevice();
setcolor(13);
rectangle(1,1,639,479);
rectangle(15,15,624,464);
//setcolor(LIGHTBLUE);
setfillstyle(6,11);
floodfill(2,2,13);
settextstyle(7,0,3);
setcolor(12);
outtextxy(150,200,"MADE BY : MEDDE.MEGHA CHANDRA") ;
outtextxy(175,300,"DIPLOMA 3RD YEAR");
//delay(1000);
return 0;
}
I2luY2x1ZGU8Z3JhcGhpY3MuaD4KI2luY2x1ZGU8Y29uaW8uaD4KI2luY2x1ZGU8ZG9zLmg+CiNpbmNsdWRlPHN0ZGxpYi5oPgojaW5jbHVkZTxwcm9jZXNzLmg+CgptYWluKCkKewppbnQgZ2Q9REVURUNULGdtO2luaXRncmFwaCgmZ2QsJmdtLCJjOlx0Y1xiZ2kiKTsKaW50IGg9NDA7CmxpbmUoMCw0NDAsNjM5LDQ0MCk7CgovL2xpbmUoMjAsMzAraCw2MTksMzAraCk7CgovL2xpbmUoMjUsNDAwLDM4LDEyMCk7Ci8vbGluZSg4NSw0MDAsNzgsMTIwKTsKLy9saW5lKDg1LDQwMCw3OCwxMjApOwoKCi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09SXN0IHRvd2VyPT09PT09PT09PT09PT09PT09PT09PT09Ly8KLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1JSXN0CnRvd2VyPT09PT09PT09PT09PT09PT09PT09PT09PT09PS8vCi8vIyMjIyMjIyMjIyMjIyMjIyNUT1dFUiUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJS8vCmludCBsPS0yMDsKbGluZSgyOCtsLDQwMCtoLDMzK2wsMzMzK2gpOwpsaW5lKDg2K2wsNDAwK2gsODArbCwzMzMraCk7Ci8vfHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8SXN0CnN0YWdlfHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHwvLwpsaW5lKDIzK2wsMzI4K2gsMzIrbCwzMzQraCk7ICAgICAgICAgICAgICAgLy8gc2xhbnQKbGluZSg4OCtsLDMyOCtoLDgwK2wsMzM0K2gpOyAgICAgICAgICAgICAgICAgICAgICAgLy8gc2xhbnQKbGluZSg4MytsLDMyMytoLDc1K2wsMzM0K2gpOyAgICAgICAgICAgICAgICAgICAgICAgLy8gc2xhbnQKbGluZSg3NStsLDMyMytoLDcwK2wsMzMyK2gpOwpsaW5lKDY2K2wsMzIzK2gsNjUrbCwzMzIraCk7ICAgICAgICAgICAgICAgICAgICAgICAvLyBzbGFudApsaW5lKDU3K2wsMzIzK2gsNTcrbCwzMzIraCk7ICAgICAgICAgICAgICAgICAgICAgICAvLyBzbGFudApsaW5lKDMwK2wsMzIzK2gsMzkrbCwzMzQraCk7ICAgICAgICAgICAgICAgICAgICAgICAvLyBzbGFudApsaW5lKDM4K2wsMzIzK2gsNDUrbCwzMzIraCk7CmxpbmUoNDgrbCwzMjMraCw1MStsLDMzMitoKTsgICAgICAvLyBzbGFudAoKZWxsaXBzZSg1NytsLDMyMCtoLDM1MCwxOTAsMzQsNSk7CmVsbGlwc2UoNTcrbCwzMjcraCwzNTAsMTkwLDM0LDUpOwplbGxpcHNlKDU3K2wsMzM3K2gsMCwxODAsMjUsNSk7CmxpbmUoMjIrbCwzMjAraCwyMitsLDMyOCtoKTsKbGluZSg5MStsLDMyMCtoLDkxK2wsMzI3K2gpOwpzZXRmaWxsc3R5bGUoNiwxNSk7CmZsb29kZmlsbCg2MCtsLDMyMCtoLDE1KTsKCnNldGZpbGxzdHlsZSgxMCwxNSk7CgpmbG9vZGZpbGwoNjArbCwzMjAraCsxNSwxNSk7CgoKLy98fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHwKfHwvLwovLysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrMm5kKysrKysrKysrKysrKysrKysrKysrKysrKysrCgpsaW5lKDM1K2wsMzE1K2gsMzgrbCwyNDIraCk7CmxpbmUoODArbCwzMTUraCw3NStsLDI0MitoKTsKCi8vfHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8MnN0CnN0YWdlfHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHwvLwppbnQgdD0tOTM7CmxpbmUoMjMrNCtsLDMyOCt0KzMraCwzMis1K2wsMzM0K3QraCk7ICAgICAgICAgICAgICAgLy8gc2xhbnQKbGluZSg4OCtsLDMyOCt0KzIraCw3NitsLDMzNCt0K2gpOyAgICAgICAgICAgICAgICAgICAgICAgLy8gc2xhbnQKLy9saW5lKCtsODMsMzIzK3QrNCw3NSwzMzQrdCk7ICAgICAgICAgICAgICAgICAgICAgICAvLyBzbGFudApsaW5lKDc4K2wsMzIzK3QrMytoLDcxK2wsMzMyK3QraCk7CmxpbmUoNjYrbCwzMjMrdCsyK2gsNjUrbCwzMzIrdCtoKTsgICAgICAgICAgICAgICAgICAgICAgIC8vIHNsYW50CmxpbmUoNTcrbCwzMjMrdCsyK2gsNTcrbCwzMzIrdC0yK2gpOyAgICAgICAgICAgICAgICAgICAgICAgLy8gc2xhbnQKLy9saW5lKDMwLDMyMyt0KzIsMzksMzM0K3QpOyAgICAgICAgICAgICAgICAgICAgICAgLy8gc2xhbnQKbGluZSgzNStsLDMyMyt0KzMraCw0NS0zK2wsMzMyK3QraCk7CmxpbmUoNDgrbCwzMjMrdCsyK2gsNTErbCwzMzIrdC0yK2gpOyAgICAgIC8vIHNsYW50CgplbGxpcHNlKDU3K2wsMzIwK3QrMytoLDM2MCwxOTAsMzAsNSk7CmVsbGlwc2UoNTcrbCwzMjcrdCszK2gsMzYwLDE5MCwzMCw1KTsKZWxsaXBzZSg1NytsLDMzNyt0LTEraCwwLDE4MCwxOCw1KTsKCmxpbmUoMjYrbCwzMjArdCszK2gsMjYrbCwzMjgrdCsyK2gpOwpsaW5lKDg4K2wsMzIwK3QrMytoLDg4K2wsMzI3K3QrMytoKTsKLy98fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHwKfC8vCnNldGZpbGxzdHlsZSg2LDE1KTsKZmxvb2RmaWxsKDYwK2wsMzIwK2grdCwxNSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vLy8vLy8vLy8vLy8vLy8Kc2V0ZmlsbHN0eWxlKDEwLDE1KTsKZmxvb2RmaWxsKDYwK2wsMzIwK2gtMzUsMTUpOwoKLy98fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHwzcmQKc3RhZ2V8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fC8vCgpsaW5lKDM4K2wsMjI1K2gsNDErbCwxNTIraCk7CmxpbmUoNzUrbCwyMjUraCw3MitsLDE1MitoKTsKCgoKIHQ9LTE4MjsKbGluZSgzMitsLDMyOCt0KzQraCwzMis3K2wsMzM0K3QraCk7ICAgICAgICAgICAgICAgLy8gc2xhbnQKbGluZSg4MCtsLDMyOCt0KzQraCw3MytsLDMzNCt0K2gpOyAgICAgICAgICAgICAgICAgICAgICAgLy8gc2xhbnQKLy9saW5lKCtsODMsMzIzK3QrNCw3NSwzMzQrdCk7ICAgICAgICAgICAgICAgICAgICAgICAvLyBzbGFudApsaW5lKDc2K2wsMzIzK3QrNStoLDcxK2wsMzMyK3QraCk7CmxpbmUoNjYrbCwzMjMrdCs0K2gsNjUrbCwzMzIrdCtoKTsgICAgICAgICAgICAgICAgICAgICAgIC8vIHNsYW50CmxpbmUoNTcrbCwzMjMrdCs0K2gsNTcrbCwzMzIrdC0yK2gpOyAgICAgICAgICAgICAgICAgICAgICAgLy8gc2xhbnQKLy9saW5lKDMwLDMyMyt0KzIsMzksMzM0K3QpOyAgICAgICAgICAgICAgICAgICAgICAgLy8gc2xhbnQKbGluZSgzOStsLDMyMyt0KzYraCw0NStsLDMzMit0KzEraCk7CmxpbmUoNDgrbCwzMjMrdCs0K2gsNTErbCwzMzIrdCtoKTsgICAgICAvLyBzbGFudAoKZWxsaXBzZSg1NytsLDMyMCt0KzYraCwzNjAsMTkwLDI0LDUpOwplbGxpcHNlKDU3K2wsMzI3K3QrNCtoLDM2MCwxOTAsMjQsNSk7CmVsbGlwc2UoNTcrbCwzMzcrdC0xK2gsMCwxNzAsMTYsNSk7CgpsaW5lKDMyK2wsMzIwK3QrNitoLDMyK2wsMzI4K3QrMytoKTsKbGluZSg4MStsLDMyMCt0KzYraCw4MStsLDMyNyt0KzMraCk7CgpzZXRmaWxsc3R5bGUoNiwxNSk7CmZsb29kZmlsbCg2MCtsLDMyMitoK3QsMTUpOwovL3x8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fAp8fC8vCnNldGZpbGxzdHlsZSgxMCwxNSk7CmZsb29kZmlsbCg2MCtsLDMyMitoK3QrMzAsMTUpOwovL0dHRiMjIyMjIyMjIyMjIyMjIyNUT1dFUiUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJS8vCgplbGxpcHNlKDUxK2wsMTMyK2gsMzQwLDIxNiw0LDE1KTsKZWxsaXBzZSg2MitsLDEzMStoLDMyNywyMTYsNCwxNSk7CmVsbGlwc2UoNzIrbCwxMzIraCwzMjcsMjE2LDIsMTUpOwplbGxpcHNlKDQyK2wsMTMyK2gsMzI3LDIxNiwyLDE1KTsKZWxsaXBzZSg1NytsLDEwNytoLDAsMTcwLDE2LDUpOwpsaW5lKDQwK2wsMTA3K2gsNDArbCwxNDAraCk7CmxpbmUoNzUrbCwxMDcraCw3NStsLDE0MCtoKTsKCmxpbmUoMzQrbCwxMDcraCw0MCtsLDEwNytoKTsKbGluZSg3NStsLDEwNytoLDgxK2wsMTA3K2gpOwoKbGluZSgzNCtsLDEwNytoLDI4K2wsMTAyK2gpOyAgICAgICAgICAgICAgICAgICAgICAvL3NsYW50CmxpbmUoODErbCwxMDcraCw4NytsLDEwMitoKTsKCmxpbmUoMjgrbCwxMDIraCwzNCtsLDk4K2gpOwpsaW5lKDg3K2wsMTAyK2gsODErbCw5OCtoKTsKCmxpbmUoMzQrbCw5OCtoLDU4K2wsOTUraCk7CmxpbmUoNTgrbCw5NStoLDgxK2wsOTgraCk7CgoKZWxsaXBzZSg2NStsLDkyK2gsMTA0LDE5MCwzMCwzMCk7CgplbGxpcHNlKDUwK2wsOTIraCwzNTAsNzYsMzAsMzApOwoKbGluZSg1OCtsLDYxK2gsNTgrbCw2MytoKTsKY2lyY2xlKDU4K2wsNTgraCwzKTsKbGluZSg1OCtsLDU1K2gsNTgrbCw1MytoKTsKY2lyY2xlKDU4K2wsNTAraCwyKTsKbGluZSg1OCtsLDQ4K2gsNTgrbCw0NytoKTsKY2lyY2xlKDU4K2wsNDUraCwxKTsKbGluZSg1OCtsLDQ0K2gsNTgrbCw0MStoKTsKc2V0ZmlsbHN0eWxlKDYsMTUpOwpmbG9vZGZpbGwoNjArbC0yLDMyMitoK3QtNjAsMTUpOwoKc2V0ZmlsbHN0eWxlKDEwLDE1KTsKZmxvb2RmaWxsKDYwK2wtMiwzMjIraCt0LTMwLDE1KTsKCgovLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PUlJc3QKdG93ZXI9PT09PT09PT09PT09PT09PT09PT09PT09PT09Ly8KLy8jIyMjIyMjIyMjIyMjIyMjI1RPV0VSJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlLy8KIGw9NTQ3OwoKCmxpbmUoMjgrbCw0MDAraCwzMytsLDMzMytoKTsKbGluZSg4NitsLDQwMCtoLDgwK2wsMzMzK2gpOwovL3x8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fElzdApzdGFnZXx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8Ly8KbGluZSgyMytsLDMyOCtoLDMyK2wsMzM0K2gpOyAgICAgICAgICAgICAgIC8vIHNsYW50CmxpbmUoODgrbCwzMjgraCw4MCtsLDMzNCtoKTsgICAgICAgICAgICAgICAgICAgICAgIC8vIHNsYW50CmxpbmUoODMrbCwzMjMraCw3NStsLDMzNCtoKTsgICAgICAgICAgICAgICAgICAgICAgIC8vIHNsYW50CmxpbmUoNzUrbCwzMjMraCw3MCtsLDMzMitoKTsKbGluZSg2NitsLDMyMytoLDY1K2wsMzMyK2gpOyAgICAgICAgICAgICAgICAgICAgICAgLy8gc2xhbnQKbGluZSg1NytsLDMyMytoLDU3K2wsMzMyK2gpOyAgICAgICAgICAgICAgICAgICAgICAgLy8gc2xhbnQKbGluZSgzMCtsLDMyMytoLDM5K2wsMzM0K2gpOyAgICAgICAgICAgICAgICAgICAgICAgLy8gc2xhbnQKbGluZSgzOCtsLDMyMytoLDQ1K2wsMzMyK2gpOwpsaW5lKDQ4K2wsMzIzK2gsNTErbCwzMzIraCk7ICAgICAgLy8gc2xhbnQKCmVsbGlwc2UoNTcrbCwzMjAraCwzNTAsMTkwLDM0LDUpOwplbGxpcHNlKDU3K2wsMzI3K2gsMzUwLDE5MCwzNCw1KTsKZWxsaXBzZSg1NytsLDMzNytoLDAsMTgwLDI1LDUpOwpsaW5lKDIyK2wsMzIwK2gsMjIrbCwzMjgraCk7CmxpbmUoOTErbCwzMjAraCw5MStsLDMyNytoKTsKc2V0ZmlsbHN0eWxlKDYsMTUpOwpmbG9vZGZpbGwoNjArbCwzMjAraCwxNSk7CgpzZXRmaWxsc3R5bGUoMTAsMTUpOwoKZmxvb2RmaWxsKDYwK2wsMzIwK2grMTUsMTUpOwoKCi8vfHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8Cnx8Ly8KLy8rKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKzJuZCsrKysrKysrKysrKysrKysrKysrKysrKysrKwoKbGluZSgzNStsLDMxNStoLDM4K2wsMjQyK2gpOwpsaW5lKDgwK2wsMzE1K2gsNzUrbCwyNDIraCk7CgovL3x8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fDJzdApzdGFnZXx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8Ly8KdD0tOTM7CmxpbmUoMjMrNCtsLDMyOCt0KzMraCwzMis1K2wsMzM0K3QraCk7ICAgICAgICAgICAgICAgLy8gc2xhbnQKbGluZSg4OCtsLDMyOCt0KzIraCw3NitsLDMzNCt0K2gpOyAgICAgICAgICAgICAgICAgICAgICAgLy8gc2xhbnQKLy9saW5lKCtsODMsMzIzK3QrNCw3NSwzMzQrdCk7ICAgICAgICAgICAgICAgICAgICAgICAvLyBzbGFudApsaW5lKDc4K2wsMzIzK3QrMytoLDcxK2wsMzMyK3QraCk7CmxpbmUoNjYrbCwzMjMrdCsyK2gsNjUrbCwzMzIrdCtoKTsgICAgICAgICAgICAgICAgICAgICAgIC8vIHNsYW50CmxpbmUoNTcrbCwzMjMrdCsyK2gsNTcrbCwzMzIrdC0yK2gpOyAgICAgICAgICAgICAgICAgICAgICAgLy8gc2xhbnQKLy9saW5lKDMwLDMyMyt0KzIsMzksMzM0K3QpOyAgICAgICAgICAgICAgICAgICAgICAgLy8gc2xhbnQKbGluZSgzNStsLDMyMyt0KzMraCw0NS0zK2wsMzMyK3QraCk7CmxpbmUoNDgrbCwzMjMrdCsyK2gsNTErbCwzMzIrdC0yK2gpOyAgICAgIC8vIHNsYW50CgplbGxpcHNlKDU3K2wsMzIwK3QrMytoLDM2MCwxOTAsMzAsNSk7CmVsbGlwc2UoNTcrbCwzMjcrdCszK2gsMzYwLDE5MCwzMCw1KTsKZWxsaXBzZSg1NytsLDMzNyt0LTEraCwwLDE4MCwxOCw1KTsKCmxpbmUoMjYrbCwzMjArdCszK2gsMjYrbCwzMjgrdCsyK2gpOwpsaW5lKDg4K2wsMzIwK3QrMytoLDg4K2wsMzI3K3QrMytoKTsKLy98fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHwKfHwvLwpzZXRmaWxsc3R5bGUoNiwxNSk7CmZsb29kZmlsbCg2MCtsLDMyMCtoK3QsMTUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLy8vLy8vLy8vLy8vLy8vCnNldGZpbGxzdHlsZSgxMCwxNSk7CmZsb29kZmlsbCg2MCtsLDMyMCtoLTM1LDE1KTsKCi8vfHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8M3JkCnN0YWdlfHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHwvLwoKbGluZSgzOCtsLDIyNStoLDQxK2wsMTUyK2gpOwpsaW5lKDc1K2wsMjI1K2gsNzIrbCwxNTIraCk7CgoKCiB0PS0xODI7CmxpbmUoMzIrbCwzMjgrdCs0K2gsMzIrNytsLDMzNCt0K2gpOyAgICAgICAgICAgICAgIC8vIHNsYW50CmxpbmUoODArbCwzMjgrdCs0K2gsNzMrbCwzMzQrdCtoKTsgICAgICAgICAgICAgICAgICAgICAgIC8vIHNsYW50Ci8vbGluZSgrbDgzLDMyMyt0KzQsNzUsMzM0K3QpOyAgICAgICAgICAgICAgICAgICAgICAgLy8gc2xhbnQKbGluZSg3NitsLDMyMyt0KzUraCw3MStsLDMzMit0K2gpOwpsaW5lKDY2K2wsMzIzK3QrNCtoLDY1K2wsMzMyK3QraCk7ICAgICAgICAgICAgICAgICAgICAgICAvLyBzbGFudApsaW5lKDU3K2wsMzIzK3QrNCtoLDU3K2wsMzMyK3QtMitoKTsgICAgICAgICAgICAgICAgICAgICAgIC8vIHNsYW50Ci8vbGluZSgzMCwzMjMrdCsyLDM5LDMzNCt0KTsgICAgICAgICAgICAgICAgICAgICAgIC8vIHNsYW50CmxpbmUoMzkrbCwzMjMrdCs2K2gsNDUrbCwzMzIrdCsxK2gpOwpsaW5lKDQ4K2wsMzIzK3QrNCtoLDUxK2wsMzMyK3QraCk7ICAgICAgLy8gc2xhbnQKCmVsbGlwc2UoNTcrbCwzMjArdCs2K2gsMzYwLDE5MCwyNCw1KTsKZWxsaXBzZSg1NytsLDMyNyt0KzQraCwzNjAsMTkwLDI0LDUpOwplbGxpcHNlKDU3K2wsMzM3K3QtMStoLDAsMTcwLDE2LDUpOwoKbGluZSgzMitsLDMyMCt0KzYraCwzMitsLDMyOCt0KzMraCk7CmxpbmUoODErbCwzMjArdCs2K2gsODErbCwzMjcrdCszK2gpOwoKc2V0ZmlsbHN0eWxlKDYsMTUpOwpmbG9vZGZpbGwoNjArbCwzMjIraCt0LDE1KTsKLy98fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHwKfHwvLwpzZXRmaWxsc3R5bGUoMTAsMTUpOwpmbG9vZGZpbGwoNjArbCwzMjIraCt0KzMwLDE1KTsKLy9HR0YjIyMjIyMjIyMjIyMjIyMjVE9XRVIlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUvLwoKZWxsaXBzZSg1MStsLDEzMitoLDM0MCwyMTYsNCwxNSk7CmVsbGlwc2UoNjIrbCwxMzEraCwzMjcsMjE2LDQsMTUpOwplbGxpcHNlKDcyK2wsMTMyK2gsMzI3LDIxNiwyLDE1KTsKZWxsaXBzZSg0MitsLDEzMitoLDMyNywyMTYsMiwxNSk7CmVsbGlwc2UoNTcrbCwxMDcraCwwLDE3MCwxNiw1KTsKbGluZSg0MCtsLDEwNytoLDQwK2wsMTQwK2gpOwpsaW5lKDc1K2wsMTA3K2gsNzUrbCwxNDAraCk7CgpsaW5lKDM0K2wsMTA3K2gsNDArbCwxMDcraCk7CmxpbmUoNzUrbCwxMDcraCw4MStsLDEwNytoKTsKCmxpbmUoMzQrbCwxMDcraCwyOCtsLDEwMitoKTsgICAgICAgICAgICAgICAgICAgICAgLy9zbGFudApsaW5lKDgxK2wsMTA3K2gsODcrbCwxMDIraCk7CgpsaW5lKDI4K2wsMTAyK2gsMzQrbCw5OCtoKTsKbGluZSg4NytsLDEwMitoLDgxK2wsOTgraCk7CgpsaW5lKDM0K2wsOTgraCw1OCtsLDk1K2gpOwpsaW5lKDU4K2wsOTUraCw4MStsLDk4K2gpOwoKCmVsbGlwc2UoNjUrbCw5MitoLDEwNCwxOTAsMzAsMzApOwoKZWxsaXBzZSg1MCtsLDkyK2gsMzUwLDc2LDMwLDMwKTsKCmxpbmUoNTgrbCw2MStoLDU4K2wsNjMraCk7CmNpcmNsZSg1OCtsLDU4K2gsMyk7CmxpbmUoNTgrbCw1NStoLDU4K2wsNTMraCk7CmNpcmNsZSg1OCtsLDUwK2gsMik7CmxpbmUoNTgrbCw0OCtoLDU4K2wsNDcraCk7CmNpcmNsZSg1OCtsLDQ1K2gsMSk7CmxpbmUoNTgrbCw0NCtoLDU4K2wsNDEraCk7CnNldGZpbGxzdHlsZSg2LDE1KTsKZmxvb2RmaWxsKDYwK2wtMiwzMjIraCt0LTYwLDE1KTsKCnNldGZpbGxzdHlsZSgxMCwxNSk7CmZsb29kZmlsbCg2MCtsLTIsMzIyK2grdC0zMCwxNSk7Ci8vfHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8Cnx8Ly8KCi8vR0dGIyMjIyMjIyMjIyMjIyMjI1RPV0VSJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlLy8KCmVsbGlwc2UoNTErbCwxMzIraCwzNDAsMjE2LDQsMTUpOwplbGxpcHNlKDYyK2wsMTMxK2gsMzI3LDIxNiw0LDE1KTsKZWxsaXBzZSg3MitsLDEzMitoLDMyNywyMTYsMiwxNSk7CmVsbGlwc2UoNDIrbCwxMzIraCwzMjcsMjE2LDIsMTUpOwplbGxpcHNlKDU3K2wsMTA3K2gsMCwxNzAsMTYsNSk7CmxpbmUoNDArbCwxMDcraCw0MCtsLDE0MCtoKTsKbGluZSg3NStsLDEwNytoLDc1K2wsMTQwK2gpOwoKbGluZSgzNCtsLDEwNytoLDQwK2wsMTA3K2gpOwpsaW5lKDc1K2wsMTA3K2gsODErbCwxMDcraCk7CgpsaW5lKDM0K2wsMTA3K2gsMjgrbCwxMDIraCk7ICAgICAgICAgICAgICAgICAgICAgIC8vc2xhbnQKbGluZSg4MStsLDEwNytoLDg3K2wsMTAyK2gpOwoKbGluZSgyOCtsLDEwMitoLDM0K2wsOTgraCk7CmxpbmUoODcrbCwxMDIraCw4MStsLDk4K2gpOwoKbGluZSgzNCtsLDk4K2gsNTgrbCw5NStoKTsKbGluZSg1OCtsLDk1K2gsODErbCw5OCtoKTsKCgplbGxpcHNlKDY1K2wsOTIraCwxMDQsMTkwLDMwLDMwKTsKCmVsbGlwc2UoNTArbCw5MitoLDM1MCw3NiwzMCwzMCk7CgpsaW5lKDU4K2wsNjEraCw1OCtsLDYzK2gpOwpjaXJjbGUoNTgrbCw1OCtoLDMpOwpsaW5lKDU4K2wsNTUraCw1OCtsLDUzK2gpOwpjaXJjbGUoNTgrbCw1MCtoLDIpOwpsaW5lKDU4K2wsNDgraCw1OCtsLDQ3K2gpOwpjaXJjbGUoNTgrbCw0NStoLDEpOwpsaW5lKDU4K2wsNDQraCw1OCtsLDQxK2gpOwoKCi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09SXN0IHRvd2VyPT09PT09PT09PT09PT09PT09PT09PT09Ly8KCi8vKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrVEFKIG1haGFsKysrKysrKysrKysrKysrKysrKysrKysrLy8KCi8vLy9zZXRjb2xvcigxNSk7CgpyZWN0YW5nbGUoMjc1LDI5MCwzNjUsNDQwKTsgICAgICAgICAvLyAgaW5uZXIKcmVjdGFuZ2xlKDI2OCwyODMsMzcyLDQ0MCk7ICAgICAgICAgICAvLyAgICAgLy9pbm5lcgpzZXRmaWxsc3R5bGUoMSwxNSk7CmZsb29kZmlsbCgyNzQsMjk0LDE1KTsKbGluZSgyODAsNDQwLDI4MCwzNTApOwovL2xpbmUoMjgzLDQ0MCwyODMsMzUwKTsKZWxsaXBzZSgzMTUsMzQ5LDEzMCwxODAsMzUsNDApOwplbGxpcHNlKDI3NSwyODAsMjkwLDMyNiw1Myw0MCk7CgpsaW5lKDM2MCw0NDAsMzYwLDM1MCk7CmVsbGlwc2UoMzI1LDM0OSwzNjAsNTAsMzUsNDApOwplbGxpcHNlKDM2MSwyODAsMjE2LDI1NSw1Myw0MCk7CnNldGZpbGxzdHlsZSg5LDcpOwpmbG9vZGZpbGwoMjc3LDM4NiwxNSk7CnB1dHBpeGVsKDI3NywzODYsMTQpOwoKbGluZSgyODAsMzYwLDM1OSwzNjApOwpsaW5lKDI4MCwzNjQsMzU5LDM2NCk7CnNldGZpbGxzdHlsZSgxLDE1KTsKZmxvb2RmaWxsKDI4MSwzNjIsMTUpOwoKcmVjdGFuZ2xlKDI5NSs0LDM3MCwzNDUtNCw0NDApOwpyZWN0YW5nbGUoMjkyKzQsMzY3LDM0OC00LDQ0MCk7CnNldGZpbGxzdHlsZSgxLDE1KTsKZmxvb2RmaWxsKDI5NCs0LDM2OSwxNSk7CnJlY3RhbmdsZSgyOTYsMzc4LDM0NCwzODApOwpmbG9vZGZpbGwoMzAxLDM3OSwxNSk7CgoKbGluZSgzMDIsNDA1LDMwMiw0NDApOwpsaW5lKDMzOCw0MDUsMzM4LDQ0MCk7CmVsbGlwc2UoMzI3LDQwNSwxMDgsMTgwLDI1LDIwKTsKCmVsbGlwc2UoMzEzLDQwNSwzNjAsNzQsMjUsMjApOwoKc2V0ZmlsbHN0eWxlKDcsMTUpOwovL3B1dHBpeGVsKDMxMiw0MTYsMTEpOwovL2Zsb29kZmlsbCgzMTIsNDA2LDE1KTsKbGluZSgzMjksMzkwLDMyOSw0NDApOwpsaW5lKDMxMCwzOTEsMzEwLDQ0MCk7CmxpbmUoMzExLDQwMiwzMjksNDAyKTsKbGluZSgzMTEsNDIyLDMyOSw0MjIpOwpsaW5lKDMwMiw0MTIsMzEwLDQxMik7CmxpbmUoMzI5LDQxMiwzMzgsNDEyKTsKCmxpbmUoMzAyLDQyOCwzMTAsNDI4KTsKbGluZSgzMjksNDI4LDMzOCw0MjgpOwovL3NldGZpbGxzdHlsZSg3LDE1KTsKCgogaW50IHA9LTYwOwpsaW5lKDMwMiw0MDUrcCwzMDIsNDQwK3AtMjApOwpsaW5lKDMzOCw0MDUrcCwzMzgsNDQwK3AtMjApOwplbGxpcHNlKDMyNyw0MDUrcCwxMDgsMTgwLDI1LDIwKTsKCmVsbGlwc2UoMzEzLDQwNStwLDM2MCw3NCwyNSwyMCk7CnNldGZpbGxzdHlsZSg3LDE1KTsKZmxvb2RmaWxsKDMxMSw0MDYsMTUpOwpsaW5lKDMyOSwzOTArcCwzMjksNDQwK3AtMjApOwpsaW5lKDMxMCwzOTErcCwzMTAsNDQwK3AtMjApOwpsaW5lKDMxMSw0MDIrcCwzMjksNDAyK3ApOwpsaW5lKDMxMSw0MjIrcC03LDMyOSw0MjIrcC03KTsKbGluZSgzMDIsNDEyK3AsMzEwLDQxMitwKTsKbGluZSgzMjksNDEyK3AsMzM4LDQxMitwKTsKCgoKLy8/Py8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8ybmQgcG9ydGlvbi8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCnJlY3RhbmdsZSgyNDUsMjYwLDQwMCw0NDApOyAgICAgICAgIC8vICBpbm5lcgpyZWN0YW5nbGUoMjMwLDI0NSw0MTUsNDQwKTsgICAgICAgICAgIC8vICAgICAvL2lubmVyCgpyZWN0YW5nbGUoMjMwLDQyNSwyNzUsNDQwKTsKc2V0ZmlsbHN0eWxlKDEsMTUpOwpmbG9vZGZpbGwoMjMxLDQyNiwxNSk7CmZsb29kZmlsbCgyNDksNDI2LDE1KTsKLy8vL3NldGNvbG9yKDgpOwpyZWN0YW5nbGUoMjMwKzEzNSw0MjUsMjc1KzE0MCw0NDApOwovL3NldGZpbGxzdHlsZSgxLDE1KTsKCmZsb29kZmlsbCgyMzErMTYwLDQyNiwxNSk7CmZsb29kZmlsbCgyNDkrMTU5LDQyNiwxNSk7CgoKCi8vLy9zZXRjb2xvcigxNSk7CmxpbmUoNDE1LDI5MCw0MTUsNDQwKTsKbGluZSg0MjAsMjQ1LDQyMCw0NDApOwoKbGluZSg0MTUsMjQwLDQxNSwyMDUpOwpsaW5lKDQyMCwyNDAsNDIwLDIwNSk7CgoKbGluZSgyMjUsMjQ1LDIyNSw0NDApOyAgICAgICAgICAvL3ZlcnRpY2FsCmxpbmUoMjMwLDI1MCwyMzAsNDQwKTsKCmxpbmUoMjI1LDI0MCwyMjUsMjA1KTsgICAgICAgICAgLy92ZXJ0aWNhbApsaW5lKDIzMCwyNDAsMjMwLDIwNSk7CgpsaW5lKDIyMiwyNDAsNDI1LDI0MCk7CmxpbmUoMjIyLDI0NSw0MjUsMjQ1KTsgICAgICAgICAgICAgICAgICAgIC8vaG9yegoKZWxsaXBzZSgyMjIsMjQyLjUsOTAsMjcwLDIuNSwyLjUpOwplbGxpcHNlKDQyNSwyNDIuNSwyNzAsOTAsMi41LDIuNSk7CgpyZWN0YW5nbGUoMjMxLDIzMCw0MTQsMjM5KTsKCgoKZWxsaXBzZSgyMjcsMjA2LDAsMTgwLDksMSk7CmVsbGlwc2UoMjI3LDIwNCwwLDE4MCw5LDEpOwpwdXRwaXhlbCgyMjAsMjA0LDE1KTsKcHV0cGl4ZWwoMjIwLDIwNSwxNSk7CnB1dHBpeGVsKDIyMCwyMDYsMTUpOwpwdXRwaXhlbCgyMzUsMjA0LDE1KTsKcHV0cGl4ZWwoMjM1LDIwNSwxNSk7CnB1dHBpeGVsKDIzNSwyMDYsMTUpOwplbGxpcHNlKDIyNywyMDMsMCwxODAsNiw3KTsKbGluZSgyMjcsMTk1LDIyNywxOTIpOwppbnQgcj0xOTA7CgplbGxpcHNlKDIyNytyLDIwNiwwLDE4MCw5LDEpOwplbGxpcHNlKDIyNytyLDIwNCwwLDE4MCw5LDEpOwpwdXRwaXhlbCgyMjArciwyMDQsMTUpOwpwdXRwaXhlbCgyMjArciwyMDUsMTUpOwpwdXRwaXhlbCgyMjArciwyMDYsMTUpOwpwdXRwaXhlbCgyMzUrciwyMDQsMTUpOwpwdXRwaXhlbCgyMzUrciwyMDUsMTUpOwpwdXRwaXhlbCgyMzUrciwyMDYsMTUpOwoKZWxsaXBzZSgyMjcrciwyMDMsMCwxODAsNiw3KTsKbGluZSgyMjcrciwxOTUsMjI3K3IsMTkyKTsKCi8qCgovL2Zsb29kZmlsbCgzMDUsNDI0LDE1KTsKLy9mbG9vZGZpbGwoMzA1LDQyOSwxNSk7Ci8vZmxvb2RmaWxsKDMyNSw0MjQsMTUpOwovL2Zsb29kZmlsbCgzMjUsNDIxLDE1KTsKLy9mbG9vZGZpbGwoMzMyLDQyMCwxNSk7Ci8vZmxvb2RmaWxsKDMzMiw0MjksMTUpOwoqLwoKZWxsaXBzZSgzMTUsMTcwLDE0MCwyMTAsMTA1LDEwMCk7CmVsbGlwc2UoMzMwLDE3MCwzMzAsNDAsMTA1LDEwMCk7CgplbGxpcHNlKDI5MiwxNjcsMTA1LDE0MCw3NSw5NSk7CmVsbGlwc2UoMzUzLDE2Nyw0MCw3NSw3NSw5NSk7CgplbGxpcHNlKDMyMyw3OCwzNTAsMTkwLDYwLDgpOwplbGxpcHNlKDMyMyw3NywzNTAsMTkwLDYwLDgpOwoKCi8vZWxsaXBzZSgyNTksMjQsMjk1LDM1OCw1OCw1MSk7CmVsbGlwc2UoMjQwLDI0LDMyMSwzNTgsNzgsNzEpOwplbGxpcHNlKDE5Miw0MCwzNDIsNywxMjgsMTAwKTsKCmVsbGlwc2UoNDQ4LDMwLDE4MCwyMDMsMTI4LDEwMCk7CmVsbGlwc2UoNDQzLDUsMTk0LDIyMCwxMjgsMTAwKTsKZWxsaXBzZSg0MzgsLTksMjAzLDIzNCwxMjgsMTAwKTsKZWxsaXBzZSgxOTgsLTYsMzEwLDM0MCwxMjgsMTAwKTsKCmVsbGlwc2UoMzE5LDMwLDAsMzYwLDcsMik7CgpmbG9vZGZpbGwoMzIwLDI5LDE1KTsKY2lyY2xlKDMxOSwyNCwzKTsKbGluZSgzMTksMjAsMzE5LDE4KTsKY2lyY2xlKDMxOSwxNCw0KTsKbGluZSgzMTksOSwzMTksMCk7Ci8vZWxsaXBzZSgzMTksNCwwLDM2MCwyLDMpOwpjaXJjbGUoMzE5LDIsMSk7CmxpbmUoMzE2LDYsMzIyLDYpOwpsaW5lKDMxNiw2LDMxNCw0KTsKbGluZSgzMjIsNiwzMjQsNCk7Ci8vPz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9lbGxpcHNlKCk7CmVsbGlwc2UoMzIxLDI1OCw0OCwxMzAsMTQwLDUwKTsKZWxsaXBzZSgzMjEsMjU1LDQ4LDEzMCwxNDAsNTApOwoKZWxsaXBzZSgzMjEsMjQxLDQ4LDEzMCwxNDAsNTApOwplbGxpcHNlKDMyMSwyMzgsNDgsMTMwLDE0MCw1MCk7Ci8vc2V0ZmlsbHN0eWxlKDYsMTEpOwovLyAgbGluZSgyNjUsNzksMjc3LDcwKTsKLy8vLy8vc2V0Y29sb3IoNCk7CiAgLy9saW5lKDM4NSw4MSwzODAsNzYpOwoKLy93aGlsZSgha2JoaXQoKSkKLy97CiBkZWxheSgzMDApOwpzZXRmaWxsc3R5bGUoMTAsMTUpOwoKZmxvb2RmaWxsKDMyMiwxNjAsMTUpOwpzZXRmaWxsc3R5bGUoNiwxNSk7CgpmbG9vZGZpbGwoMzIyLDE5MywxNSk7CgovL30KLy9saW5lKDMxOSwyNiwzMTksNDgwK2gpOy8vY2VudGVyCgoKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9uZXcvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCnJlY3RhbmdsZSgxNTAsMjgzLDIyNSwyOTQpOwoKLy9saW5lKDE0NiwyOTQsMjI1LDI5NCk7CmxpbmUoMTUwLDI5OCwyMjUsMjk4KTsKCmxpbmUoMTUwLDI0MCwxNTAsNDQwKTsgICAgICAgICAgICAvL3BvbGUKbGluZSgxNDYsMjQwLDE0Niw0NDApOwoKbGluZSgxNTAsMjk5LDE1MCw0NDApOyAgICAgICAgICAgIC8vcG9sZQpsaW5lKDE0NiwyOTksMTQ2LDQ0MCk7CgoKcj0tODA7CmludCBuPTM0OwoKZWxsaXBzZSgyMjcrciwyMDYrbiwwLDE4MCw5LDEpOwplbGxpcHNlKDIyNytyLDIwNCtuLDAsMTgwLDksMSk7CnB1dHBpeGVsKDIyMCtyLDIwNCtuLDE1KTsKcHV0cGl4ZWwoMjIwK3IsMjA1K24sMTUpOwpwdXRwaXhlbCgyMjArciwyMDYrbiwxNSk7CnB1dHBpeGVsKDIzNStyLDIwNCtuLDE1KTsKcHV0cGl4ZWwoMjM1K3IsMjA1K24sMTUpOwpwdXRwaXhlbCgyMzUrciwyMDYrbiwxNSk7CgplbGxpcHNlKDIyNytyLDIwMytuLDAsMTgwLDYsNyk7CmxpbmUoMjI3K3IsMTk1K24sMjI3K3IsMTkyK24pOwoKbD0xMjg7Cmg9MTUwOwoKZWxsaXBzZSg1MStsLDEzMitoLTcsMzQwLDIxNiw0LDE1KTsKZWxsaXBzZSg2MitsLDEzMStoLTcsMzI3LDIxNiw0LDE1KTsKZWxsaXBzZSg3MitsLDEzMitoLTcsMzI3LDIxNiwyLDE1KTsKZWxsaXBzZSg0MitsLDEzMitoLTcsMzI3LDIxNiwyLDE1KTsKZWxsaXBzZSg1NytsLDEwNytoLDAsMTcwLDE2LDUpOwpsaW5lKDQwK2wsMTA3K2gsNDArbCwxNDAraC03KTsKbGluZSg3NStsLDEwNytoLDc1K2wsMTQwK2gtNyk7CgpsaW5lKDM0K2wsMTA3K2gsNDArbCwxMDcraCk7CmxpbmUoNzUrbCwxMDcraCw4MStsLDEwNytoKTsKCmxpbmUoMzQrbCwxMDcraCwyOCtsLDEwMitoKTsgICAgICAgICAgICAgICAgICAgICAgLy9zbGFudApsaW5lKDgxK2wsMTA3K2gsODcrbCwxMDIraCk7CgpsaW5lKDI4K2wsMTAyK2gsMzQrbCw5OCtoKTsKbGluZSg4NytsLDEwMitoLDgxK2wsOTgraCk7CgpsaW5lKDM0K2wsOTgraCw1OCtsLDk1K2gpOwpsaW5lKDU4K2wsOTUraCw4MStsLDk4K2gpOwoKCmVsbGlwc2UoNjUrbCw5MitoLDEwNCwxOTAsMzAsMzApOwoKZWxsaXBzZSg1MCtsLDkyK2gsMzUwLDc2LDMwLDMwKTsKCmxpbmUoNTgrbCw2MStoLDU4K2wsNjMraCk7CmNpcmNsZSg1OCtsLDU4K2gsMyk7CmxpbmUoNTgrbCw1NStoLDU4K2wsNTMraCk7CmNpcmNsZSg1OCtsLDUwK2gsMik7CmxpbmUoNTgrbCw0OCtoLDU4K2wsNDcraCk7CmNpcmNsZSg1OCtsLDQ1K2gsMSk7CmxpbmUoNTgrbCw0NCtoLDU4K2wsNDEraCk7CgoKbGluZSgxMDAtNSwyNDArMTUsMTAwLTUsNDQwKTsgICAgICAgICAgICAvL3BvbGUKbGluZSg5Ni01LDI0MCsxNSw5Ni01LDQ0MCk7CgpyPS0xMzQ7CiBuPTQ5OwplbGxpcHNlKDIyNytyLDIwNituLDAsMTgwLDksMSk7CmVsbGlwc2UoMjI3K3IsMjA0K24sMCwxODAsOSwxKTsKcHV0cGl4ZWwoMjIwK3IsMjA0K24sMTUpOwpwdXRwaXhlbCgyMjArciwyMDUrbiwxNSk7CnB1dHBpeGVsKDIyMCtyLDIwNituLDE1KTsKcHV0cGl4ZWwoMjM1K3IsMjA0K24sMTUpOwpwdXRwaXhlbCgyMzUrciwyMDUrbiwxNSk7CnB1dHBpeGVsKDIzNStyLDIwNituLDE1KTsKCmVsbGlwc2UoMjI3K3IsMjAzK24sMCwxODAsNiw3KTsKbGluZSgyMjcrciwxOTUrbiwyMjcrciwxOTIrbik7CgoKbGluZSgxNDYsMjk0LDk3LDMwMik7CmxpbmUoMTQ2LDI5OCw5NywzMDYpOwoKbGluZSgxNDYsMjgzLDk3LDI5MSk7CgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vaW5uZXIvLy8vLy8vLy8vLy8vLy8vLwoKLy9yZWN0YW5nbGUoMjc1K2ssMjkwLDM2NStrLDQ0MCk7ICAgICAgICAgLy8gIGlubmVyCi8vcmVjdGFuZ2xlKDI2OCtrLDI4MywzNzIrayw0NDApOyAgICAgICAgICAgLy8gICAgIC8vaW5uZXIKCi8vbGluZSgyMjUsMzY3LDE1MSwzNjcpOwpyZWN0YW5nbGUoMTU1LDMwMiwyMjAsMzY0KTsKcmVjdGFuZ2xlKDE1NSwzMDIrNzAsMjIwLDM2NCs3NSk7CgppbnQgcT0tMTMzOwppbnQgZD0tMjsKbGluZSgzMDIrcS01LDQwNStkLDMwMitxLTUsNDQwK2QpOwpsaW5lKDMzOCtxKzUsNDA1K2QsMzM4K3ErNSw0NDArZCk7CmVsbGlwc2UoMzI3K3ErNSw0MDUrZCwxMDgsMTgwLDM1LDMwKTsKCmVsbGlwc2UoMzEzK3EtNSw0MDYrZCwzNjAsNzQsMzUsMzApOwoKCmQ9LTc3OwpsaW5lKDMwMitxLTUsNDA1K2QsMzAyK3EtNSw0NDArZCk7CmxpbmUoMzM4K3ErNSw0MDUrZCwzMzgrcSs1LDQ0MCtkKTsKZWxsaXBzZSgzMjcrcSw0MDUrZCwxMDUsMTgwLDMwLDI1KTsKCmVsbGlwc2UoMzEzK3EsNDA1K2QsMzYwLDgwLDMwLDI1KTsKcHV0cGl4ZWwoMTYzLDMwMCwxMSk7CnNldGZpbGxzdHlsZSg2LDE1KTsKZmxvb2RmaWxsKDE2MywzMzAsMTUpOwpmbG9vZGZpbGwoMTYwLDM4MCwxNSk7CgpsaW5lKDE0MSwzMDUsMTQxLDM2MCk7CmxpbmUoMTAxLDMxMCwxMDEsMzY1KTsKbGluZSgxNDEsMzA1LDEwMSwzMTApOwpsaW5lKDE0MSwzNjAsMTAxLDM2NSk7CgoKaW50IHg9NzA7CmxpbmUoMTQxLDMwNSt4LDE0MSw0NDApOwpsaW5lKDEwMSwzMTAreCwxMDEsNDQwKTsKbGluZSgxNDEsMzA1K3gsMTAxLDMxMCt4KTsKCgoKcT0tMjAwOwpsaW5lKDMwMitxKzQsNDA1K2QsMzAyK3ErNCw0NDArZCk7CmxpbmUoMzM4K3EtMSw0MDUrZCwzMzgrcS0xLDQ0MCtkLTIpOwplbGxpcHNlKDMyNytxLDQwNStkLDEwNSwxODAsMjAsMTUpOwplbGxpcHNlKDMxMytxKzQsNDA1K2QsMzYwLDgwLDIwLDE1KTsKCmQ9MTsKbGluZSgzMDIrcSs0LDQwNStkLDMwMitxKzQsNDQwK2QtMik7CmxpbmUoMzM4K3EtMSw0MDUrZCwzMzgrcS0xLDQ0MCtkLTIpOwplbGxpcHNlKDMyNytxLDQwNStkLDEwNSwxODAsMjAsMTUpOwplbGxpcHNlKDMxMytxKzQsNDA1K2QsMzYwLDgwLDIwLDE1KTsKCnJlY3RhbmdsZSgxNzgsNDE1LDE5Nyw0MzkpOwpzZXRmaWxsc3R5bGUoNywxNSk7CmZsb29kZmlsbCgxNzksNDE2LDE1KTsKIHJlY3RhbmdsZSgxNzgsNDE1LTc1LDE5Nyw0NDAtNzYpOwpzZXRmaWxsc3R5bGUoNywxNSk7CmZsb29kZmlsbCgxNzksNDE1LTc1KzEsMTUpOwoKbGluZSgxMzAtMyw0MTcsMTMwLTMsNDQwKTsKbGluZSgxMTMrMyw0MjAsMTEzKzMsNDQwKTsKCmxpbmUoMTEzKzMsNDIwLDEzMC0zLDQxNyk7CnB1dHBpeGVsKDExNCw0MjMsNCk7CmxpbmUoMTEzLDQ0MCwxMzAsNDQwKTsKZmxvb2RmaWxsKDExNCszLDQyMywxNSk7CgoKCmludCBhPS03NjsKbGluZSgxMzAtMyw0MTcrYSwxMzAtMyw0NDArYS0zKTsKbGluZSgxMTMrMyw0MjArYSwxMTMrMyw0NDArYSk7CgpsaW5lKDExMyszLDQyMCthLDEzMC0zLDQxNythKTsKcHV0cGl4ZWwoMTE0LDQyMyw0KTsKZmxvb2RmaWxsKDExNCszLDQyMythLDE1KTsKCgoKbGluZSgxMCw0MDAraCw2MTUsNDAwK2gpOwoKCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vcmlnaHRcXFxcXFxcXFxcXAoKCmludCBlPTI3MDsKcmVjdGFuZ2xlKDE1MCtlLDI4MywyMjYrZSwyOTQpOwpsaW5lKDE0NitlKzQsMjk0LDIyNStlLDI5NCk7CmxpbmUoMTQ2K2UrNCwyOTgsMjI1K2UsMjk4KTsKCgpsaW5lKDE1MCtlKzgwLDI0MCwxNTArZSs4MCw0NDApOyAgICAgICAgICAgIC8vcG9sZQpsaW5lKDE0NitlKzgwLDI0MCwxNDYrZSs4MCw0NDApOwoKbGluZSgxNTArZSs4MCwyOTksMTUwK2UrODAsNDQwKTsgICAgICAgICAgICAvL3BvbGUKbGluZSgxNDYrZSs4MCwyOTksMTQ2K2UrODAsNDQwKTsKCgoKCgpsPTQwMDsKaD0rMTQ5OwplbGxpcHNlKDUxK2wsMTMyK2gtNywzNDAsMjE2LDQsMTUpOwplbGxpcHNlKDYyK2wsMTMxK2gtNywzMjcsMjE2LDQsMTUpOwplbGxpcHNlKDcyK2wsMTMyK2gtNywzMjcsMjE2LDIsMTUpOwplbGxpcHNlKDQyK2wsMTMyK2gtNywzMjcsMjE2LDIsMTUpOwplbGxpcHNlKDU3K2wsMTA3K2gsMCwxNzAsMTYsNSk7CmxpbmUoNDArbCwxMDcraCw0MCtsLDE0MCtoLTcpOwpsaW5lKDc1K2wsMTA3K2gsNzUrbCwxNDAraC03KTsKCmxpbmUoMzQrbCwxMDcraCw0MCtsLDEwNytoKTsKbGluZSg3NStsLDEwNytoLDgxK2wsMTA3K2gpOwoKbGluZSgzNCtsLDEwNytoLDI4K2wsMTAyK2gpOyAgICAgICAgICAgICAgICAgICAgICAvL3NsYW50CmxpbmUoODErbCwxMDcraCw4NytsLDEwMitoKTsKCmxpbmUoMjgrbCwxMDIraCwzNCtsLDk4K2gpOwpsaW5lKDg3K2wsMTAyK2gsODErbCw5OCtoKTsKCmxpbmUoMzQrbCw5OCtoLDU4K2wsOTUraCk7CmxpbmUoNTgrbCw5NStoLDgxK2wsOTgraCk7CgoKZWxsaXBzZSg2NStsLDkyK2gsMTA0LDE5MCwzMCwzMCk7CgplbGxpcHNlKDUwK2wsOTIraCwzNTAsNzYsMzAsMzApOwoKbGluZSg1OCtsLDYxK2gsNTgrbCw2MytoKTsKY2lyY2xlKDU4K2wsNTgraCwzKTsKbGluZSg1OCtsLDU1K2gsNTgrbCw1MytoKTsKY2lyY2xlKDU4K2wsNTAraCwyKTsKbGluZSg1OCtsLDQ4K2gsNTgrbCw0NytoKTsKY2lyY2xlKDU4K2wsNDUraCwxKTsKbGluZSg1OCtsLDQ0K2gsNTgrbCw0MStoKTsKCnI9MjcwOwpuPW4tMTU7CgplbGxpcHNlKDIyNytyLDIwNituLDAsMTgwLDksMSk7CmVsbGlwc2UoMjI3K3IsMjA0K24sMCwxODAsOSwxKTsKcHV0cGl4ZWwoMjIwK3IsMjA0K24sMTUpOwpwdXRwaXhlbCgyMjArciwyMDUrbiwxNSk7CnB1dHBpeGVsKDIyMCtyLDIwNituLDE1KTsKcHV0cGl4ZWwoMjM1K3IsMjA0K24sMTUpOwpwdXRwaXhlbCgyMzUrciwyMDUrbiwxNSk7CnB1dHBpeGVsKDIzNStyLDIwNituLDE1KTsKCmVsbGlwc2UoMjI3K3IsMjAzK24sMCwxODAsNiw3KTsKbGluZSgyMjcrciwxOTUrbiwyMjcrciwxOTIrbik7CgoKCmxpbmUoMTQ2K2UrMTM1LDMwMiw5NytlKzEzNSwyOTQpOwpsaW5lKDE0NitlKzEzNSwzMDYsOTcrZSsxMzUsMjk4KTsKCmxpbmUoMTQ2K2UrMTM1LDI5MSw5NytlKzEzNSwyODMpOwoKCgpsaW5lKDEwMC01K2UrMTkwLDI0MCsxNSwxMDAtNStlKzE5MCw0NDApOyAgICAgICAgICAgIC8vcG9sZQpsaW5lKDk2LTUrZSsxOTAsMjQwKzE1LDk2LTUrZSsxOTAsNDQwKTsKCgoKCgpyPTMyNTsKbis9MTU7CmVsbGlwc2UoMjI3K3IsMjA2K24sMCwxODAsOSwxKTsKZWxsaXBzZSgyMjcrciwyMDQrbiwwLDE4MCw5LDEpOwpwdXRwaXhlbCgyMjArciwyMDQrbiwxNSk7CnB1dHBpeGVsKDIyMCtyLDIwNStuLDE1KTsKcHV0cGl4ZWwoMjIwK3IsMjA2K24sMTUpOwpwdXRwaXhlbCgyMzUrciwyMDQrbiwxNSk7CnB1dHBpeGVsKDIzNStyLDIwNStuLDE1KTsKcHV0cGl4ZWwoMjM1K3IsMjA2K24sMTUpOwoKZWxsaXBzZSgyMjcrciwyMDMrbiwwLDE4MCw2LDcpOwpsaW5lKDIyNytyLDE5NStuLDIyNytyLDE5MituKTsKCgpyZWN0YW5nbGUoMTU1K2UsMzAyLDIyMCtlLDM2NCk7CnJlY3RhbmdsZSgxNTUrZSwzMDIrNzAsMjIwK2UsMzY0Kzc1KTsKCgpxPTE0MDsKZC09MTsKbGluZSgzMDIrcS01LDQwNStkLDMwMitxLTUsNDQwK2QpOwpsaW5lKDMzOCtxKzUsNDA1K2QsMzM4K3ErNSw0NDArZCk7CmVsbGlwc2UoMzI3K3ErNSw0MDUrZCwxMDgsMTgwLDM1LDMwKTsKCmVsbGlwc2UoMzEzK3EtNSw0MDYrZCwzNjAsNzQsMzUsMzApOwoKZD0tNzc7CmxpbmUoMzAyK3EtNSw0MDUrZCwzMDIrcS01LDQ0MCtkKTsKbGluZSgzMzgrcSs1LDQwNStkLDMzOCtxKzUsNDQwK2QpOwplbGxpcHNlKDMyNytxLDQwNStkLDEwNSwxODAsMzAsMjUpOwoKZWxsaXBzZSgzMTMrcSw0MDUrZCwzNjAsODAsMzAsMjUpOwpwdXRwaXhlbCgxNjMsMzAwLDExKTsKc2V0ZmlsbHN0eWxlKDYsMTUpOwpmbG9vZGZpbGwoMTYzLDMzMCwxNSk7CmZsb29kZmlsbCgxNjAsMzgwLDE1KTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KZT1lLTE1OwpsaW5lKDE0MStlKzE1MCwzMDUrNSwxNDErZSsxNTAsMzYwKzUpOwpsaW5lKDEwMStlKzE1MCwzMTAtNSwxMDErZSsxNTAsMzY1LTUpOwpsaW5lKDEwMStlKzE1MCwzMDUsMTQxK2UrMTUwLDMxMCk7CmxpbmUoMTAxK2UrMTUwLDM2MCwxNDErZSsxNTAsMzY1KTsKCmludCB2PTc1OwpsaW5lKDE0MStlKzE1MCwzMDUrNSt2LTUsMTQxK2UrMTUwLDQ0MCk7CmxpbmUoMTAxK2UrMTUwLDMxMC01K3YtNSwxMDErZSsxNTAsNDQwKTsKbGluZSgxMDErZSsxNTAsMzA1K3YtNSwxNDErZSsxNTAsMzEwK3YtNSk7Ci8vbGluZSgxMDErZSsxNTAsMzYwK3YsMTQxK2UrMTUwLDM2NSt2KTsKCmU9ZSsxODsKcmVjdGFuZ2xlKDE3OCtlLDQxNSwxOTcrZSw0MzkpOwpzZXRmaWxsc3R5bGUoNywxNSk7CmZsb29kZmlsbCgxNzkrZSw0MTYsMTUpOwppbnQgZj0tNzU7CnJlY3RhbmdsZSgxNzgrZSw0MTUrZiwxOTcrZSw0MzkrZik7CnNldGZpbGxzdHlsZSg3LDE1KTsKZmxvb2RmaWxsKDE3OStlLDQxNitmLDE1KTsKCgplKz0xMzA7CmxpbmUoMTMwLTMrZSw0NDArYS0yLDEzMC0zK2UsNDE3K2ErMik7CmxpbmUoMTEzKzMrZSw0NDArYS0yLDExMyszK2UsNDIwK2EtMik7CgpsaW5lKDExMyszK2UsNDE3K2EsMTMwLTMrZSw0MjArYSk7CnB1dHBpeGVsKDExNCtlLDQyMyw0KTsKZmxvb2RmaWxsKDExNCszK2UsNDIzK2EsMTUpOwoKYT0xOwpsaW5lKDEzMC0zK2UsNDQwK2EtMiwxMzAtMytlLDQxNythKzIpOwpsaW5lKDExMyszK2UsNDQwK2EtMiwxMTMrMytlLDQyMCthLTIpOwoKbGluZSgxMTMrMytlLDQxNythLDEzMC0zK2UsNDIwK2EpOwpwdXRwaXhlbCgxMTQrZSw0MjMsNCk7CmxpbmUoMTEzKzMrZSw0NDAsMTMwLTMrZSw0NDApOwpmbG9vZGZpbGwoMTE0KzMrZSw0MjMrYSwxNSk7CgoKcT0yMDQ7CmxpbmUoMzAyK3ErNCw0MDUrZCwzMDIrcSs0LDQ0MCtkLTIpOwpsaW5lKDMzOCtxLTEsNDA1K2QsMzM4K3EtMSw0NDArZCsyKTsKZWxsaXBzZSgzMjcrcSw0MDUrZCwxMDUsMTgwLDIwLDE1KTsKZWxsaXBzZSgzMTMrcSs0LDQwNStkLDM2MCw4MCwyMCwxNSk7CnE9MjA0OwoKZD0wOwpsaW5lKDMwMitxKzQsNDA1K2QsMzAyK3ErNCw0NDArZC0xKTsKbGluZSgzMzgrcS0xLDQwNStkLDMzOCtxLTEsNDQwK2QpOwplbGxpcHNlKDMyNytxLDQwNStkLDEwNSwxODAsMjAsMTUpOwplbGxpcHNlKDMxMytxKzQsNDA1K2QsMzYwLDgwLDIwLDE1KTsKbGluZSgzMDIrcSs0LDQ0MCwzMDIrcSs0LDQ0MCk7CgoKCgpzZXRmaWxsc3R5bGUoMTAsMTUpOwpmbG9vZGZpbGwoMzIyLDE2MCwxNSk7CnNldGZpbGxzdHlsZSg2LDE1KTsKCmZsb29kZmlsbCgzMjIsMTkzLDE1KTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy93YWxscy8vLy8vLy8vLy8vLy8vCnNldGZpbGxzdHlsZSg5LDE1KTsKZmxvb2RmaWxsKDExMCwyOTQsMTUpOwpmbG9vZGZpbGwoMjEwLDI5MCwxNSk7CmZsb29kZmlsbCg0MzAsMjkwLDE1KTsKZmxvb2RmaWxsKDUyMCwyOTAsMTUpOwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9wb2xlcwpzZXRmaWxsc3R5bGUoNiwxNSk7CmZsb29kZmlsbCg5MywzOTQsMTUpOwpmbG9vZGZpbGwoMTQ4LDM5NCwxNSk7CmZsb29kZmlsbCgyMjcsMzk0LDE1KTsKZmxvb2RmaWxsKDQxNywzOTQsMTUpOwpmbG9vZGZpbGwoNDk4LDM5NCwxNSk7CmZsb29kZmlsbCg1NTMsMzk0LDE1KTsKCgpzZXRmaWxsc3R5bGUoOSwxNSk7CmZsb29kZmlsbCgxODUsMjI0LDE1KTsKZmxvb2RmaWxsKDQ2NSwyMjQsMTUpOwoKCgp3aGlsZSgha2JoaXQoKSkKewpkZWxheSg0MCk7CnB1dHBpeGVsKHJhbmRvbSg2NDApLHJhbmRvbSgyNDgpLHJhbmRvbSgxNSkpOwogfQoKICBnZXRjaCgpOwpjbGVhcmRldmljZSgpOwoKc2V0Y29sb3IoMTMpOwpyZWN0YW5nbGUoMSwxLDYzOSw0NzkpOwpyZWN0YW5nbGUoMTUsMTUsNjI0LDQ2NCk7Ci8vc2V0Y29sb3IoTElHSFRCTFVFKTsKc2V0ZmlsbHN0eWxlKDYsMTEpOwoKZmxvb2RmaWxsKDIsMiwxMyk7CnNldHRleHRzdHlsZSg3LDAsMyk7CnNldGNvbG9yKDEyKTsKCgpvdXR0ZXh0eHkoMTUwLDIwMCwiTUFERSBCWSA6IE1FRERFLk1FR0hBIENIQU5EUkEiKSA7Cm91dHRleHR4eSgxNzUsMzAwLCJESVBMT01BIDNSRCBZRUFSIik7Ci8vZGVsYXkoMTAwMCk7CmdldGNoKCk7CgoKCgogcmV0dXJuIDA7Cn0=