aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Stubs Collection/stubs/Scripts
diff options
context:
space:
mode:
authorShlomo Hecht <shlomo@twine-s.com>2020-09-06 15:24:39 +0300
committerShlomo Hecht <shlomo@twine-s.com>2020-09-06 15:24:39 +0300
commitdc3e9a8e3936f24d01d85652ff2fb9b8c320261c (patch)
treed58239e55ba1eaf0a27788c0d20f004c72fa6355 /Software/Stubs Collection/stubs/Scripts
parentb68b34d6247175678f76cc40bb60019685740dd9 (diff)
downloadTango-dc3e9a8e3936f24d01d85652ff2fb9b8c320261c.tar.gz
Tango-dc3e9a8e3936f24d01d85652ff2fb9b8c320261c.zip
some fixes in dispenser handling, implement setheaterstate, procedures and stubs updated
Diffstat (limited to 'Software/Stubs Collection/stubs/Scripts')
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/ArcHead/clean_motor_ls.cs278
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Blowe_RMO_LOG.CSV5399
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Encoder.cs55
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_SSR.cs28
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Tset.CSV24523
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Tset1.CSV1600
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Tset111.CSV29654
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/blower_rpm.cs62
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test_dryer_heater.cs2
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/Actuator_In_new set point.cs34
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/Write SYLKO to head eeprom.cs (renamed from Software/Stubs Collection/stubs/Scripts/Write SYLKO to head eeprom.cs)0
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/ElectricalEnclosure/ElectricalEnclosure_Fans1.cs80
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/DO_NOT_WORK_New_Calibrate_Midtank_pressure_sensors.cs266
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/New_Calibrate_Midtank_pressure_sensors.cs393
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/New_Calibrate_Midtank_pressure_sensors1.cs423
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/New_Calibrate_Midtank_pressure_sensors2.cs447
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/midtanksetparams.cs79
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/New_DyeHead/Test_Actuator.cs42
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/New_DyeHead/Test_Lid.cs145
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Get_PowerStep01_Parameters.cs227
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Motor_GMotor_Get_Param_Powerstep01_rev3.cs237
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Assemblies/WHS/fan1-4.cs3
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Head_Type_Indification_2.cs25
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Jig_Tester/JIG_TESTER.cs291
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Jig_Tester/Jig-TesterV 1.0.docxbin0 -> 2159500 bytes
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Jig_Tester/Jig-TesterV 1.1.docxbin0 -> 3989402 bytes
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Jig_Tester/LTFU_Jig.cs10
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Jig_Tester/MidTank_Jig.cs4
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Jig_Tester/RTFU_Jig.cs4
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Main card Watchdog test.cs24
-rw-r--r--Software/Stubs Collection/stubs/Scripts/MidTank Calibration.pproj1
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Priming.pproj1
-rw-r--r--Software/Stubs Collection/stubs/Scripts/Set cleaning sequence.cs23
-rw-r--r--Software/Stubs Collection/stubs/Scripts/WHS_waste_Tank_Calibration_Save_V0.pproj1
-rw-r--r--Software/Stubs Collection/stubs/Scripts/config head type to hed card eeprom.cs118
-rw-r--r--Software/Stubs Collection/stubs/Scripts/progress_test.pproj1
-rw-r--r--Software/Stubs Collection/stubs/Scripts/test halt.cs24
37 files changed, 58847 insertions, 5657 deletions
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/ArcHead/clean_motor_ls.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/ArcHead/clean_motor_ls.cs
new file mode 100644
index 000000000..2a0fc12cf
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/ArcHead/clean_motor_ls.cs
@@ -0,0 +1,278 @@
+using System;
+using System.Text;
+using System.Linq;
+using System.Drawing;
+using System.Diagnostics;
+using System.Windows.Forms;
+using System.Threading;
+using System.Threading.Tasks;
+using System.Collections.Generic;
+using Tango.PMR.Stubs;
+using Tango.Stubs;
+
+
+const Int32 LS_FRONT=0X460110;
+const Int32 LS_REAR=0X460120;
+const Int32 LS_UPPER=0X460140;
+const Int32 LS_SPARE=0X460180;
+
+const Int32 DyeingHeadLid_Motor = 2;
+
+const Int32 F1_MOTO_DH_LID_A1_TX_00 = 0x600002F0 ;
+const Int32 F1_MOTO_DH_LID_A1_TX_01 = 0x600002F2 ;
+const Int32 F1_MOTO_DH_LID_A1_RX_00 = 0x600002F4 ;
+const Int32 F1_MOTO_DH_LID_A1_RX_01 = 0x600002F6 ;
+
+//---------------------Start Command ----------------
+const Int32 CMD_RUN = 0; //Run on Pulse Per Secound .positive run Up and negative run Down
+const Int32 CMD_STOP= 1; //0;Hard stop(Defualt);1-Soft stop;2-Hard Hiz;3-Soft Hiz
+const Int32 CMD_HOME= 2; //Run until home .positive run Up and negative run Down
+const Int32 CMD_DLY = 3; //delay in Seconds .
+const Int32 CMD_MOVE= 4; //Move step. positive move Up and negative move Down
+const Int32 CMD_MAX_SPEED = 5; //set Maximum speed.motor will stop before that command
+
+const Int32 CMD_LOOP_NM=6; //NUMBER OF counter
+const Int32 CMD_LOOP= 7; //jump up(+) or down(-) command u
+const Int32 CMD_END = 13; //end loop .
+
+
+const Int32 x_STEP_MODE = 0x16;
+const Int32 x_STATUS = 0x19;
+const Int32 x_GET_PARAM = 0x20;
+const Int32 x_POWERSTEP01_STATUS = 0x1B;
+
+
+//-------------------------------------------- Flow Test Double PBU ------------------------------------------------
+
+Int32[] Start_Table = new int []
+{
+ CMD_RUN,-40,
+ CMD_DLY,200,
+ CMD_STOP,0,
+ CMD_DLY,10,
+ CMD_HOME,40,
+ CMD_END,3,
+};
+
+////////////////////////////////////
+
+public void OnExecute(StubManager stubManager)
+{
+Int32 COMMAND=0;
+Int32 Data=0;
+Int32 Index=0;
+Int32 speed=0;
+Int32 Loop_cnt=1;
+Int32 j=0;
+
+
+
+ var stopwatch = new Stopwatch();
+ stopwatch.Start();
+
+ long elapsed_time = stopwatch.ElapsedMilliseconds;
+ stubManager.WriteLine(elapsed_time);
+
+ while (j!=-1)
+ {
+ {
+ COMMAND=Start_Table[j];
+ Data=Start_Table[j+1];
+
+ switch (COMMAND)
+ {
+ case CMD_RUN:
+ stubManager.WriteLine("CMD_RUN");
+ Motor_Run(Data);
+ break;
+
+ case CMD_STOP:
+ stubManager.WriteLine("CMD_stop");
+ Motor_Stop(Data);
+ break;
+
+ case CMD_DLY:
+ stubManager.WriteLine("CMD_delay");
+
+ for (;Data>0;Data--)
+ {
+ Thread.Sleep(100); //100msec delay
+ stubManager.WriteLine("CMD_delay " + Data );
+ }
+ break;
+
+
+ case CMD_MOVE:
+ stubManager.WriteLine("CMD_move");
+
+ Motor_Move(Data);
+ break;
+
+ case CMD_END:
+ stubManager.WriteLine("CMD_end");
+
+ j=-3;
+ break;
+
+ case CMD_MAX_SPEED:
+ stubManager.WriteLine("CMD_MAX_SPEED");
+
+ Motor_Max_speed(Data);
+ break;
+
+ case CMD_HOME:
+ stubManager.WriteLine("CMD_home");
+
+ Move_Home(Data);
+ break;
+
+
+ case CMD_LOOP_NM:
+ stubManager.WriteLine("LOOP_NM" + Data );
+
+ Loop_cnt=Data-1;
+ break;
+
+ case CMD_LOOP:
+ stubManager.WriteLine("CMD_loop");
+
+ if (Loop_cnt!=0)
+ {
+ j = j+2*Data;
+ Loop_cnt-- ;
+ }
+ break;
+
+ default:
+ break;
+
+ }
+
+ j = j + 2;
+
+
+ }
+
+ }
+
+}
+Int32 Motor_Max_speed(Int32 speed)
+{
+ UInt32 i=Convert.ToUInt32((speed *4/61)*256*256 ) ;
+ stubManager.WriteHex(i,8);
+
+ stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DyeingHeadLid_Motor,0); //hold motor
+
+
+ Motor_SetParam(F1_MOTO_DH_LID_A1_TX_01,F1_MOTO_DH_LID_A1_TX_00,0x07,i); //set max speed
+
+ return 1;
+}
+
+
+int Motor_SetParam(Int32 HighAdr, Int32 LowAdr, Int32 ParaAddr, uint ParaData1)
+{
+
+ Int32 Temp = 0;
+ Temp = (ParaAddr << 8 ) + ( (Int32) ParaData1 >> 24);
+
+ stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,HighAdr, (Temp & 0xffff));
+ Temp = ((Int32)ParaData1 >> 8) & 0xffff;
+ stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,LowAdr, (Temp));
+
+ return 1;
+}
+
+Int32 Move_Home(Int32 speed)
+{
+ Int32 Bit = 1;
+ if (speed <0 )
+ stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,DyeingHeadLid_Motor, false, (-speed) );
+ else
+ stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,DyeingHeadLid_Motor, true, speed);
+ int i=0;
+ while ((Bit != 0x0)&& (i<20000) ) //wait until Limit Switch or timeout 200*50msec=10sec
+ {
+ Bit=read_pio (LS_FRONT); // read LS_FRONT
+ Thread.Sleep(20);
+ i++;
+ }
+ stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DyeingHeadLid_Motor,0); //hold motor
+ return 0;
+}
+
+Int32 read_pio(Int32 i2c_input)
+{
+ Int32 temp=0;
+ var response = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,i2c_input); // read break
+
+ temp = (Int32) (response.Progress);
+ stubManager.WriteHex(temp, 4);
+ stubManager.WriteLine(" ");
+ temp =temp & (i2c_input& 0xff); //if break ok
+
+ return temp;
+}
+
+
+
+//////////////////////////////////////////////////////////////
+Int32 Motor_Move (Int32 position)
+
+ {
+ Int32 x=16;
+ var response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,DyeingHeadLid_Motor, (x_GET_PARAM | x_STEP_MODE)<<8, 0, 0);
+
+ response.RecivedData=response.RecivedData & 0x0007;
+ if (response.RecivedData == 0)
+ x=1;
+ if (response.RecivedData == 1)
+ x=2;
+ if (response.RecivedData == 2)
+ x=4;
+ if (response.RecivedData == 3)
+ x=8;
+
+
+ int i=0;
+ if (position<0 )
+ stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,DyeingHeadLid_Motor, false, (-position * x) );
+ else
+ stubManager.Run<StubMotorMovResponse>("StubMotorMovRequest" ,DyeingHeadLid_Motor, true, position * x);
+
+ Thread.Sleep(100); //100msec delay
+
+ while (i==0)
+ {
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,DyeingHeadLid_Motor, (x_GET_PARAM | x_POWERSTEP01_STATUS)<<16, 0, 0);
+
+ stubManager.WriteHex(response.RecivedData,4);
+ response.RecivedData=response.RecivedData & 0x0002;
+ if (response.RecivedData==0x0002)
+ i=1;
+ Thread.Sleep(100); //100msec delay
+
+
+ }
+ return 0;
+ }
+
+//////////////////////////////////////////////////////////////
+Int32 Motor_Run (Int32 speed)
+
+ {
+ if (speed<0 )
+ stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,DyeingHeadLid_Motor, false, (-speed) );
+ else
+ stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,DyeingHeadLid_Motor, true, speed);
+ return 0;
+ }
+
+//---------------------------------------
+
+ Int32 Motor_Stop(Int32 Stop_Value )
+{
+ stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DyeingHeadLid_Motor, Stop_Value);
+ return 1;
+}
+
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Blowe_RMO_LOG.CSV b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Blowe_RMO_LOG.CSV
index 414b0f976..c6461ea3e 100644
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Blowe_RMO_LOG.CSV
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Blowe_RMO_LOG.CSV
@@ -1,5401 +1,2 @@
,RPM
0,2688
-1,2688
-2,2675
-3,2688
-4,2688
-5,2688
-6,2688
-7,2688
-8,2688
-9,2688
-10,2688
-11,2688
-12,2700
-13,2688
-14,2675
-15,2688
-16,2688
-17,2688
-18,2688
-19,2688
-20,2688
-21,2688
-22,2688
-23,2675
-24,2688
-25,2688
-26,2688
-27,2688
-28,2688
-29,2688
-30,2688
-31,2688
-32,2688
-33,2688
-34,2688
-35,2688
-36,2688
-37,2688
-38,2688
-39,2675
-40,2688
-41,2688
-42,2688
-43,2675
-44,2688
-45,2688
-46,2688
-47,2688
-48,2688
-49,2688
-50,2688
-51,2688
-52,2688
-53,2688
-54,2688
-55,2688
-56,2675
-57,2675
-58,2688
-59,2688
-60,2688
-61,2688
-62,2688
-63,2688
-64,2688
-65,2675
-66,2688
-67,2688
-68,2688
-69,2688
-70,2675
-71,2688
-72,2688
-73,2688
-74,2688
-75,2688
-76,2688
-77,2688
-78,2688
-79,2688
-80,2688
-81,2688
-82,2688
-83,2688
-84,2688
-85,2688
-86,2688
-87,2688
-88,2688
-89,2688
-90,2688
-91,2688
-92,2688
-93,2688
-94,2675
-95,2688
-96,2688
-97,2688
-98,2688
-99,2688
-100,2688
-101,2688
-102,2688
-103,2688
-104,2688
-105,2688
-106,2688
-107,2688
-108,2688
-109,2688
-110,2688
-111,2688
-112,2688
-113,2688
-114,2675
-115,2688
-116,2688
-117,2688
-118,2675
-119,2688
-120,2688
-121,2675
-122,2688
-123,2688
-124,2688
-125,2688
-126,2688
-127,2688
-128,2688
-129,2688
-130,2688
-131,2675
-132,2688
-133,2688
-134,2688
-135,2688
-136,2688
-137,2688
-138,2688
-139,2688
-140,2688
-141,2688
-142,2688
-143,2688
-144,2688
-145,2688
-146,2688
-147,2688
-148,2688
-149,2688
-150,2675
-151,2688
-152,2688
-153,2675
-154,2688
-155,2688
-156,2688
-157,2688
-158,2688
-159,2675
-160,2688
-161,2688
-162,2688
-163,2688
-164,2675
-165,2688
-166,2688
-167,2688
-168,2688
-169,2688
-170,2688
-171,2688
-172,2688
-173,2688
-174,2688
-175,2675
-176,2688
-177,2688
-178,2688
-179,2688
-180,2688
-181,2675
-182,2688
-183,2688
-184,2688
-185,2688
-186,2688
-187,2675
-188,2675
-189,2688
-190,2688
-191,2688
-192,2688
-193,2675
-194,2688
-195,2688
-196,2688
-197,2688
-198,2675
-199,2688
-200,2688
-201,2700
-202,2688
-203,2688
-204,2688
-205,2688
-206,2675
-207,2688
-208,2675
-209,2688
-210,2675
-211,2688
-212,2688
-213,2675
-214,2688
-215,2688
-216,2688
-217,2688
-218,2675
-219,2688
-220,2688
-221,2688
-222,2688
-223,2688
-224,2688
-225,2688
-226,2675
-227,2688
-228,2688
-229,2675
-230,2688
-231,2675
-232,2688
-233,2688
-234,2688
-235,2688
-236,2688
-237,2688
-238,2688
-239,2688
-240,2688
-241,2688
-242,2688
-243,2688
-244,2688
-245,2688
-246,2688
-247,2688
-248,2688
-249,2688
-250,2675
-251,2688
-252,2688
-253,2688
-254,2688
-255,2688
-256,2675
-257,2688
-258,2688
-259,2688
-260,2688
-261,2688
-262,2688
-263,2688
-264,2688
-265,2688
-266,2688
-267,2688
-268,2688
-269,2688
-270,2688
-271,2688
-272,2688
-273,2688
-274,2688
-275,2688
-276,2688
-277,2688
-278,2688
-279,2688
-280,2688
-281,2688
-282,2688
-283,2688
-284,2675
-285,2675
-286,2688
-287,2688
-288,2688
-289,2688
-290,2688
-291,2688
-292,2688
-293,2688
-294,2688
-295,2688
-296,2675
-297,2688
-298,2688
-299,2688
-300,2688
-301,2688
-302,2688
-303,2688
-304,2688
-305,2688
-306,2688
-307,2688
-308,2688
-309,2688
-310,2675
-311,2688
-312,2688
-313,2688
-314,2675
-315,2688
-316,2688
-317,2688
-318,2688
-319,2688
-320,2688
-321,2688
-322,2688
-323,2688
-324,2688
-325,2688
-326,2688
-327,2688
-328,2688
-329,2688
-330,2688
-331,2688
-332,2688
-333,2688
-334,2700
-335,2688
-336,2688
-337,2688
-338,2688
-339,2688
-340,2700
-341,2688
-342,2688
-343,2688
-344,2688
-345,2700
-346,2688
-347,2675
-348,2688
-349,2688
-350,2675
-351,2688
-352,2688
-353,2688
-354,2688
-355,2688
-356,2688
-357,2688
-358,2688
-359,2688
-360,2688
-361,2688
-362,2688
-363,2688
-364,2688
-365,2688
-366,2688
-367,2688
-368,2688
-369,2688
-370,2688
-371,2675
-372,2700
-373,2688
-374,2688
-375,2675
-376,2688
-377,2688
-378,2688
-379,2688
-380,2688
-381,2688
-382,2688
-383,2688
-384,2688
-385,2688
-386,2688
-387,2688
-388,2688
-389,2675
-390,2688
-391,2688
-392,2675
-393,2688
-394,2688
-395,2688
-396,2700
-397,2688
-398,2688
-399,2688
-400,2688
-401,2688
-402,2688
-403,2688
-404,2688
-405,2688
-406,2688
-407,2688
-408,2688
-409,2688
-410,2688
-411,2688
-412,2688
-413,2688
-414,2688
-415,2688
-416,2688
-417,2688
-418,2688
-419,2688
-420,2688
-421,2688
-422,2688
-423,2688
-424,2688
-425,2688
-426,2688
-427,2688
-428,2688
-429,2675
-430,2700
-431,2675
-432,2688
-433,2688
-434,2688
-435,2688
-436,2688
-437,2688
-438,2688
-439,2688
-440,2688
-441,2688
-442,2675
-443,2688
-444,2688
-445,2688
-446,2688
-447,2688
-448,2675
-449,2675
-450,2675
-451,2688
-452,2688
-453,2688
-454,2688
-455,2688
-456,2688
-457,2688
-458,2688
-459,2688
-460,2688
-461,2688
-462,2688
-463,2688
-464,2688
-465,2688
-466,2688
-467,2688
-468,2688
-469,2688
-470,2688
-471,2688
-472,2688
-473,2688
-474,2688
-475,2688
-476,2688
-477,2675
-478,2688
-479,2688
-480,2688
-481,2688
-482,2688
-483,2688
-484,2688
-485,2688
-486,2688
-487,2688
-488,2688
-489,2688
-490,2688
-491,2688
-492,2688
-493,2688
-494,2688
-495,2688
-496,2688
-497,2688
-498,2688
-499,2688
-500,2675
-501,2688
-502,2675
-503,2688
-504,2688
-505,2688
-506,2688
-507,2688
-508,2688
-509,2688
-510,2688
-511,2688
-512,2688
-513,2688
-514,2688
-515,2688
-516,2700
-517,2688
-518,2688
-519,2688
-520,2688
-521,2688
-522,2688
-523,2688
-524,2675
-525,2688
-526,2688
-527,2675
-528,2688
-529,2675
-530,2688
-531,2688
-532,2688
-533,2688
-534,2688
-535,2688
-536,2688
-537,2688
-538,2688
-539,2688
-540,2688
-541,2688
-542,2688
-543,2688
-544,2688
-545,2688
-546,2688
-547,2688
-548,2688
-549,2688
-550,2688
-551,2688
-552,2688
-553,2688
-554,2688
-555,2688
-556,2688
-557,2675
-558,2688
-559,2688
-560,2700
-561,2688
-562,2688
-563,2688
-564,2688
-565,2688
-566,2688
-567,2688
-568,2675
-569,2688
-570,2688
-571,2688
-572,2688
-573,2688
-574,2688
-575,2688
-576,2688
-577,2688
-578,2688
-579,2688
-580,2688
-581,2688
-582,2675
-583,2675
-584,2688
-585,2675
-586,2688
-587,2688
-588,2688
-589,2688
-590,2688
-591,2688
-592,2688
-593,2688
-594,2688
-595,2688
-596,2688
-597,2688
-598,2688
-599,2688
-600,2688
-601,2675
-602,2688
-603,2688
-604,2688
-605,2688
-606,2688
-607,2688
-608,2688
-609,2688
-610,2688
-611,2688
-612,2688
-613,2688
-614,2688
-615,2688
-616,2688
-617,2688
-618,2688
-619,2688
-620,2688
-621,2688
-622,2688
-623,2688
-624,2675
-625,2688
-626,2688
-627,2688
-628,2688
-629,2675
-630,2688
-631,2675
-632,2688
-633,2688
-634,2688
-635,2675
-636,2675
-637,2688
-638,2688
-639,2688
-640,2688
-641,2688
-642,2688
-643,2688
-644,2688
-645,2688
-646,2688
-647,2675
-648,2688
-649,2688
-650,2688
-651,2688
-652,2688
-653,2675
-654,2688
-655,2688
-656,2688
-657,2688
-658,2688
-659,2688
-660,2688
-661,2688
-662,2688
-663,2688
-664,2688
-665,2675
-666,2688
-667,2675
-668,2688
-669,2688
-670,2688
-671,2688
-672,2688
-673,2688
-674,2688
-675,2688
-676,2675
-677,2688
-678,2688
-679,2688
-680,2675
-681,2675
-682,2688
-683,2688
-684,2688
-685,2688
-686,2688
-687,2688
-688,2688
-689,2688
-690,2688
-691,2688
-692,2688
-693,2688
-694,2688
-695,2688
-696,2688
-697,2688
-698,2688
-699,2688
-700,2688
-701,2688
-702,2688
-703,2688
-704,2688
-705,2688
-706,2688
-707,2675
-708,2688
-709,2688
-710,2688
-711,2688
-712,2688
-713,2675
-714,2688
-715,2688
-716,2688
-717,2675
-718,2688
-719,2688
-720,2688
-721,2688
-722,2688
-723,2688
-724,2688
-725,2688
-726,2688
-727,2688
-728,2675
-729,2688
-730,2688
-731,2688
-732,2675
-733,2675
-734,2675
-735,2688
-736,2688
-737,2675
-738,2688
-739,2688
-740,2688
-741,2688
-742,2688
-743,2688
-744,2688
-745,2688
-746,2688
-747,2688
-748,2688
-749,2688
-750,2688
-751,2688
-752,2688
-753,2688
-754,2688
-755,2688
-756,2688
-757,2688
-758,2688
-759,2688
-760,2688
-761,2688
-762,2688
-763,2688
-764,2688
-765,2675
-766,2688
-767,2688
-768,2688
-769,2688
-770,2688
-771,2688
-772,2688
-773,2688
-774,2688
-775,2675
-776,2688
-777,2688
-778,2688
-779,2688
-780,2700
-781,2688
-782,2688
-783,2688
-784,2688
-785,2688
-786,2688
-787,2688
-788,2688
-789,2675
-790,2688
-791,2688
-792,2688
-793,2688
-794,2688
-795,2688
-796,2675
-797,2688
-798,2688
-799,2688
-800,2675
-801,2688
-802,2688
-803,2688
-804,2688
-805,2675
-806,2688
-807,2688
-808,2688
-809,2688
-810,2688
-811,2688
-812,2688
-813,2688
-814,2688
-815,2688
-816,2688
-817,2688
-818,2688
-819,2688
-820,2688
-821,2688
-822,2688
-823,2688
-824,2675
-825,2688
-826,2688
-827,2688
-828,2688
-829,2688
-830,2688
-831,2675
-832,2688
-833,2688
-834,2688
-835,2688
-836,2688
-837,2688
-838,2688
-839,2688
-840,2688
-841,2688
-842,2688
-843,2688
-844,2675
-845,2688
-846,2675
-847,2688
-848,2688
-849,2675
-850,2688
-851,2688
-852,2688
-853,2688
-854,2688
-855,2688
-856,2688
-857,2688
-858,2688
-859,2688
-860,2688
-861,2688
-862,2688
-863,2688
-864,2688
-865,2688
-866,2688
-867,2688
-868,2688
-869,2675
-870,2688
-871,2688
-872,2688
-873,2688
-874,2688
-875,2688
-876,2688
-877,2688
-878,2688
-879,2688
-880,2688
-881,2688
-882,2700
-883,2688
-884,2675
-885,2688
-886,2675
-887,2688
-888,2688
-889,2688
-890,2688
-891,2688
-892,2688
-893,2688
-894,2688
-895,2688
-896,2688
-897,2688
-898,2688
-899,2675
-900,2688
-901,2688
-902,2675
-903,2688
-904,2688
-905,2688
-906,2675
-907,2688
-908,2688
-909,2688
-910,2688
-911,2688
-912,2688
-913,2688
-914,2688
-915,2675
-916,2688
-917,2675
-918,2688
-919,2688
-920,2688
-921,2688
-922,2675
-923,2688
-924,2688
-925,2688
-926,2688
-927,2688
-928,2688
-929,2688
-930,2688
-931,2688
-932,2675
-933,2688
-934,2688
-935,2688
-936,2688
-937,2688
-938,2688
-939,2688
-940,2688
-941,2688
-942,2688
-943,2688
-944,2675
-945,2688
-946,2688
-947,2688
-948,2688
-949,2688
-950,2688
-951,2688
-952,2688
-953,2688
-954,2688
-955,2688
-956,2688
-957,2688
-958,2688
-959,2688
-960,2688
-961,2688
-962,2688
-963,2688
-964,2688
-965,2688
-966,2688
-967,2688
-968,2688
-969,2675
-970,2688
-971,2688
-972,2688
-973,2688
-974,2688
-975,2688
-976,2688
-977,2688
-978,2688
-979,2688
-980,2675
-981,2688
-982,2688
-983,2688
-984,2688
-985,2688
-986,2688
-987,2688
-988,2688
-989,2688
-990,2688
-991,2688
-992,2688
-993,2688
-994,2688
-995,2688
-996,2688
-997,2688
-998,2688
-999,2688
-1000,2688
-1001,2688
-1002,2688
-1003,2688
-1004,2688
-1005,2688
-1006,2688
-1007,2688
-1008,2688
-1009,2688
-1010,2688
-1011,2688
-1012,2688
-1013,2688
-1014,2688
-1015,2675
-1016,2688
-1017,2688
-1018,2688
-1019,2675
-1020,2675
-1021,2688
-1022,2675
-1023,2675
-1024,2688
-1025,2688
-1026,2675
-1027,2688
-1028,2688
-1029,2688
-1030,2688
-1031,2688
-1032,2688
-1033,2688
-1034,2688
-1035,2688
-1036,2688
-1037,2688
-1038,2688
-1039,2688
-1040,2688
-1041,2688
-1042,2688
-1043,2688
-1044,2688
-1045,2688
-1046,2688
-1047,2688
-1048,2688
-1049,2688
-1050,2688
-1051,2688
-1052,2688
-1053,2688
-1054,2688
-1055,2675
-1056,2688
-1057,2688
-1058,2688
-1059,2675
-1060,2675
-1061,2688
-1062,2675
-1063,2688
-1064,2688
-1065,2688
-1066,2688
-1067,2688
-1068,2688
-1069,2688
-1070,2675
-1071,2688
-1072,2688
-1073,2688
-1074,2688
-1075,2688
-1076,2688
-1077,2688
-1078,2688
-1079,2688
-1080,2688
-1081,2688
-1082,2688
-1083,2688
-1084,2675
-1085,2688
-1086,2688
-1087,2688
-1088,2688
-1089,2688
-1090,2688
-1091,2688
-1092,2688
-1093,2688
-1094,2688
-1095,2688
-1096,2688
-1097,2688
-1098,2688
-1099,2688
-1100,2675
-1101,2688
-1102,2688
-1103,2688
-1104,2688
-1105,2675
-1106,2688
-1107,2688
-1108,2675
-1109,2688
-1110,2688
-1111,2688
-1112,2688
-1113,2688
-1114,2688
-1115,2675
-1116,2688
-1117,2688
-1118,2688
-1119,2688
-1120,2688
-1121,2688
-1122,2688
-1123,2688
-1124,2688
-1125,2688
-1126,2688
-1127,2688
-1128,2688
-1129,2688
-1130,2688
-1131,2688
-1132,2688
-1133,2688
-1134,2688
-1135,2675
-1136,2688
-1137,2688
-1138,2688
-1139,2688
-1140,2688
-1141,2688
-1142,2688
-1143,2688
-1144,2688
-1145,2688
-1146,2688
-1147,2688
-1148,2675
-1149,2688
-1150,2688
-1151,2688
-1152,2688
-1153,2688
-1154,2688
-1155,2688
-1156,2688
-1157,2688
-1158,2688
-1159,2688
-1160,2688
-1161,2688
-1162,2688
-1163,2688
-1164,2688
-1165,2688
-1166,2688
-1167,2675
-1168,2688
-1169,2688
-1170,2688
-1171,2688
-1172,2688
-1173,2688
-1174,2688
-1175,2688
-1176,2675
-1177,2688
-1178,2675
-1179,2675
-1180,2688
-1181,2688
-1182,2688
-1183,2688
-1184,2688
-1185,2688
-1186,2688
-1187,2675
-1188,2688
-1189,2688
-1190,2675
-1191,2688
-1192,2675
-1193,2688
-1194,2688
-1195,2688
-1196,2688
-1197,2688
-1198,2688
-1199,2688
-1200,2688
-1201,2688
-1202,2688
-1203,2688
-1204,2688
-1205,2688
-1206,2688
-1207,2675
-1208,2688
-1209,2688
-1210,2688
-1211,2688
-1212,2688
-1213,2688
-1214,2688
-1215,2688
-1216,2688
-1217,2688
-1218,2688
-1219,2688
-1220,2688
-1221,2688
-1222,2688
-1223,2700
-1224,2688
-1225,2688
-1226,2688
-1227,2675
-1228,2688
-1229,2688
-1230,2688
-1231,2688
-1232,2688
-1233,2688
-1234,2688
-1235,2688
-1236,2688
-1237,2688
-1238,2688
-1239,2688
-1240,2675
-1241,2688
-1242,2688
-1243,2688
-1244,2688
-1245,2675
-1246,2675
-1247,2688
-1248,2688
-1249,2688
-1250,2688
-1251,2688
-1252,2688
-1253,2688
-1254,2675
-1255,2688
-1256,2688
-1257,2700
-1258,2688
-1259,2688
-1260,2688
-1261,2688
-1262,2688
-1263,2688
-1264,2688
-1265,2688
-1266,2688
-1267,2688
-1268,2688
-1269,2688
-1270,2688
-1271,2688
-1272,2688
-1273,2688
-1274,2688
-1275,2675
-1276,2688
-1277,2688
-1278,2688
-1279,2688
-1280,2688
-1281,2688
-1282,2688
-1283,2688
-1284,2675
-1285,2688
-1286,2688
-1287,2675
-1288,2688
-1289,2688
-1290,2688
-1291,2688
-1292,2688
-1293,2688
-1294,2675
-1295,2688
-1296,2688
-1297,2688
-1298,2688
-1299,2688
-1300,2688
-1301,2688
-1302,2688
-1303,2688
-1304,2688
-1305,2688
-1306,2688
-1307,2688
-1308,2688
-1309,2688
-1310,2675
-1311,2688
-1312,2688
-1313,2700
-1314,2688
-1315,2675
-1316,2688
-1317,2688
-1318,2688
-1319,2688
-1320,2688
-1321,2688
-1322,2675
-1323,2688
-1324,2688
-1325,2688
-1326,2688
-1327,2688
-1328,2688
-1329,2688
-1330,2688
-1331,2688
-1332,2688
-1333,2688
-1334,2688
-1335,2688
-1336,2688
-1337,2688
-1338,2688
-1339,2688
-1340,2688
-1341,2688
-1342,2688
-1343,2688
-1344,2688
-1345,2688
-1346,2688
-1347,2688
-1348,2688
-1349,2688
-1350,2688
-1351,2688
-1352,2675
-1353,2688
-1354,2675
-1355,2688
-1356,2688
-1357,2688
-1358,2688
-1359,2688
-1360,2688
-1361,2688
-1362,2688
-1363,2688
-1364,2688
-1365,2688
-1366,2675
-1367,2675
-1368,2675
-1369,2688
-1370,2675
-1371,2688
-1372,2688
-1373,2688
-1374,2688
-1375,2688
-1376,2688
-1377,2688
-1378,2688
-1379,2688
-1380,2688
-1381,2688
-1382,2688
-1383,2688
-1384,2688
-1385,2688
-1386,2688
-1387,2688
-1388,2688
-1389,2688
-1390,2688
-1391,2688
-1392,2688
-1393,2688
-1394,2688
-1395,2688
-1396,2675
-1397,2688
-1398,2688
-1399,2688
-1400,2675
-1401,2688
-1402,2688
-1403,2688
-1404,2688
-1405,2688
-1406,2688
-1407,2688
-1408,2688
-1409,2688
-1410,2700
-1411,2688
-1412,2675
-1413,2688
-1414,2688
-1415,2688
-1416,2700
-1417,2688
-1418,2688
-1419,2688
-1420,2688
-1421,2688
-1422,2688
-1423,2688
-1424,2688
-1425,2688
-1426,2688
-1427,2688
-1428,2688
-1429,2688
-1430,2688
-1431,2688
-1432,2688
-1433,2675
-1434,2688
-1435,2688
-1436,2675
-1437,2688
-1438,2688
-1439,2688
-1440,2688
-1441,2688
-1442,2688
-1443,2688
-1444,2688
-1445,2688
-1446,2688
-1447,2688
-1448,2688
-1449,2688
-1450,2688
-1451,2688
-1452,2688
-1453,2688
-1454,2688
-1455,2688
-1456,2675
-1457,2688
-1458,2688
-1459,2688
-1460,2688
-1461,2688
-1462,2675
-1463,2688
-1464,2688
-1465,2688
-1466,2675
-1467,2688
-1468,2688
-1469,2688
-1470,2688
-1471,2688
-1472,2688
-1473,2688
-1474,2675
-1475,2688
-1476,2688
-1477,2675
-1478,2675
-1479,2688
-1480,2688
-1481,2688
-1482,2688
-1483,2688
-1484,2688
-1485,2688
-1486,2688
-1487,2688
-1488,2688
-1489,2688
-1490,2688
-1491,2688
-1492,2688
-1493,2688
-1494,2688
-1495,2688
-1496,2688
-1497,2688
-1498,2688
-1499,2688
-1500,2688
-1501,2688
-1502,2688
-1503,2688
-1504,2688
-1505,2688
-1506,2688
-1507,2688
-1508,2688
-1509,2688
-1510,2688
-1511,2675
-1512,2688
-1513,2688
-1514,2688
-1515,2688
-1516,2688
-1517,2688
-1518,2688
-1519,2688
-1520,2688
-1521,2688
-1522,2688
-1523,2688
-1524,2688
-1525,2688
-1526,2688
-1527,2688
-1528,2688
-1529,2688
-1530,2688
-1531,2688
-1532,2688
-1533,2688
-1534,2688
-1535,2675
-1536,2675
-1537,2688
-1538,2688
-1539,2688
-1540,2688
-1541,2688
-1542,2675
-1543,2688
-1544,2688
-1545,2688
-1546,2688
-1547,2688
-1548,2688
-1549,2688
-1550,2688
-1551,2688
-1552,2688
-1553,2688
-1554,2688
-1555,2688
-1556,2688
-1557,2688
-1558,2688
-1559,2688
-1560,2688
-1561,2688
-1562,2688
-1563,2675
-1564,2675
-1565,2688
-1566,2688
-1567,2688
-1568,2688
-1569,2688
-1570,2688
-1571,2688
-1572,2688
-1573,2688
-1574,2675
-1575,2688
-1576,2688
-1577,2675
-1578,2688
-1579,2688
-1580,2688
-1581,2688
-1582,2675
-1583,2688
-1584,2688
-1585,2688
-1586,2688
-1587,2688
-1588,2688
-1589,2688
-1590,2688
-1591,2688
-1592,2675
-1593,2688
-1594,2688
-1595,2688
-1596,2688
-1597,2688
-1598,2688
-1599,2688
-1600,2688
-1601,2688
-1602,2688
-1603,2688
-1604,2675
-1605,2688
-1606,2688
-1607,2688
-1608,2688
-1609,2688
-1610,2675
-1611,2688
-1612,2688
-1613,2688
-1614,2675
-1615,2688
-1616,2688
-1617,2688
-1618,2688
-1619,2688
-1620,2688
-1621,2688
-1622,2688
-1623,2688
-1624,2688
-1625,2688
-1626,2688
-1627,2688
-1628,2688
-1629,2688
-1630,2688
-1631,2688
-1632,2675
-1633,2688
-1634,2688
-1635,2675
-1636,2688
-1637,2688
-1638,2688
-1639,2688
-1640,2688
-1641,2688
-1642,2675
-1643,2688
-1644,2688
-1645,2688
-1646,2688
-1647,2688
-1648,2688
-1649,2688
-1650,2688
-1651,2688
-1652,2688
-1653,2688
-1654,2688
-1655,2688
-1656,2688
-1657,2688
-1658,2688
-1659,2688
-1660,2688
-1661,2688
-1662,2688
-1663,2688
-1664,2688
-1665,2688
-1666,2688
-1667,2688
-1668,2688
-1669,2688
-1670,2688
-1671,2688
-1672,2688
-1673,2688
-1674,2688
-1675,2688
-1676,2688
-1677,2688
-1678,2688
-1679,2688
-1680,2688
-1681,2688
-1682,2688
-1683,2688
-1684,2675
-1685,2688
-1686,2688
-1687,2688
-1688,2688
-1689,2688
-1690,2688
-1691,2688
-1692,2675
-1693,2688
-1694,2688
-1695,2688
-1696,2688
-1697,2688
-1698,2688
-1699,2688
-1700,2688
-1701,2675
-1702,2688
-1703,2688
-1704,2700
-1705,2688
-1706,2688
-1707,2688
-1708,2688
-1709,2688
-1710,2688
-1711,2688
-1712,2675
-1713,2688
-1714,2688
-1715,2688
-1716,2688
-1717,2688
-1718,2688
-1719,2688
-1720,2688
-1721,2688
-1722,2688
-1723,2688
-1724,2675
-1725,2688
-1726,2688
-1727,2688
-1728,2688
-1729,2688
-1730,2688
-1731,2688
-1732,2688
-1733,2688
-1734,2688
-1735,2688
-1736,2688
-1737,2688
-1738,2688
-1739,2688
-1740,2688
-1741,2688
-1742,2700
-1743,2688
-1744,2688
-1745,2688
-1746,2688
-1747,2688
-1748,2688
-1749,2688
-1750,2688
-1751,2688
-1752,2688
-1753,2688
-1754,2688
-1755,2688
-1756,2675
-1757,2688
-1758,2688
-1759,2688
-1760,2688
-1761,2675
-1762,2688
-1763,2688
-1764,2688
-1765,2675
-1766,2688
-1767,2688
-1768,2688
-1769,2688
-1770,2688
-1771,2688
-1772,2688
-1773,2688
-1774,2688
-1775,2688
-1776,2675
-1777,2688
-1778,2688
-1779,2688
-1780,2688
-1781,2688
-1782,2688
-1783,2688
-1784,2675
-1785,2688
-1786,2688
-1787,2688
-1788,2675
-1789,2688
-1790,2688
-1791,2688
-1792,2675
-1793,2675
-1794,2688
-1795,2688
-1796,2688
-1797,2688
-1798,2675
-1799,2688
-1800,2688
-1801,2688
-1802,2688
-1803,2688
-1804,2688
-1805,2688
-1806,2688
-1807,2688
-1808,2688
-1809,2688
-1810,2688
-1811,2688
-1812,2688
-1813,2688
-1814,2688
-1815,2688
-1816,2688
-1817,2688
-1818,2688
-1819,2675
-1820,2688
-1821,2688
-1822,2688
-1823,2688
-1824,2688
-1825,2688
-1826,2688
-1827,2688
-1828,2688
-1829,2688
-1830,2688
-1831,2688
-1832,2688
-1833,2688
-1834,2688
-1835,2688
-1836,2688
-1837,2688
-1838,2688
-1839,2688
-1840,2688
-1841,2688
-1842,2688
-1843,2688
-1844,2688
-1845,2688
-1846,2675
-1847,2688
-1848,2688
-1849,2688
-1850,2688
-1851,2688
-1852,2688
-1853,2688
-1854,2688
-1855,2688
-1856,2688
-1857,2688
-1858,2688
-1859,2688
-1860,2688
-1861,2688
-1862,2688
-1863,2688
-1864,2688
-1865,2688
-1866,2688
-1867,2688
-1868,2688
-1869,2688
-1870,2688
-1871,2688
-1872,2688
-1873,2688
-1874,2688
-1875,2688
-1876,2688
-1877,2700
-1878,2675
-1879,2688
-1880,2675
-1881,2688
-1882,2688
-1883,2688
-1884,2688
-1885,2688
-1886,2688
-1887,2688
-1888,2688
-1889,2700
-1890,2688
-1891,2688
-1892,2688
-1893,2675
-1894,2688
-1895,2688
-1896,2688
-1897,2688
-1898,2688
-1899,2688
-1900,2688
-1901,2688
-1902,2688
-1903,2688
-1904,2688
-1905,2688
-1906,2688
-1907,2688
-1908,2688
-1909,2688
-1910,2675
-1911,2688
-1912,2688
-1913,2675
-1914,2688
-1915,2688
-1916,2688
-1917,2688
-1918,2688
-1919,2688
-1920,2688
-1921,2688
-1922,2688
-1923,2688
-1924,2688
-1925,2688
-1926,2688
-1927,2688
-1928,2688
-1929,2675
-1930,2688
-1931,2688
-1932,2688
-1933,2675
-1934,2688
-1935,2688
-1936,2688
-1937,2688
-1938,2688
-1939,2688
-1940,2675
-1941,2688
-1942,2688
-1943,2688
-1944,2688
-1945,2688
-1946,2688
-1947,2688
-1948,2688
-1949,2688
-1950,2688
-1951,2688
-1952,2688
-1953,2688
-1954,2688
-1955,2688
-1956,2688
-1957,2688
-1958,2688
-1959,2688
-1960,2688
-1961,2688
-1962,2688
-1963,2688
-1964,2688
-1965,2675
-1966,2688
-1967,2688
-1968,2688
-1969,2688
-1970,2688
-1971,2688
-1972,2688
-1973,2675
-1974,2688
-1975,2688
-1976,2688
-1977,2675
-1978,2688
-1979,2688
-1980,2688
-1981,2688
-1982,2688
-1983,2688
-1984,2688
-1985,2675
-1986,2688
-1987,2688
-1988,2688
-1989,2688
-1990,2675
-1991,2688
-1992,2688
-1993,2688
-1994,2675
-1995,2675
-1996,2688
-1997,2688
-1998,2688
-1999,2675
-2000,2688
-2001,2688
-2002,2688
-2003,2688
-2004,2688
-2005,2688
-2006,2688
-2007,2688
-2008,2688
-2009,2688
-2010,2688
-2011,2688
-2012,2688
-2013,2688
-2014,2688
-2015,2688
-2016,2688
-2017,2688
-2018,2688
-2019,2688
-2020,2675
-2021,2675
-2022,2675
-2023,2688
-2024,2688
-2025,2688
-2026,2688
-2027,2688
-2028,2675
-2029,2688
-2030,2688
-2031,2688
-2032,2675
-2033,2688
-2034,2688
-2035,2688
-2036,2688
-2037,2688
-2038,2688
-2039,2675
-2040,2688
-2041,2688
-2042,2675
-2043,2688
-2044,2688
-2045,2688
-2046,2688
-2047,2700
-2048,2688
-2049,2675
-2050,2688
-2051,2688
-2052,2688
-2053,2688
-2054,2688
-2055,2675
-2056,2688
-2057,2688
-2058,2688
-2059,2688
-2060,2688
-2061,2688
-2062,2688
-2063,2688
-2064,2675
-2065,2675
-2066,2700
-2067,2688
-2068,2688
-2069,2688
-2070,2688
-2071,2688
-2072,2688
-2073,2688
-2074,2688
-2075,2688
-2076,2688
-2077,2688
-2078,2688
-2079,2688
-2080,2688
-2081,2688
-2082,2688
-2083,2688
-2084,2675
-2085,2688
-2086,2688
-2087,2688
-2088,2688
-2089,2688
-2090,2688
-2091,2688
-2092,2688
-2093,2688
-2094,2688
-2095,2688
-2096,2688
-2097,2688
-2098,2688
-2099,2688
-2100,2688
-2101,2688
-2102,2688
-2103,2688
-2104,2688
-2105,2688
-2106,2688
-2107,2688
-2108,2688
-2109,2688
-2110,2688
-2111,2688
-2112,2688
-2113,2688
-2114,2688
-2115,2688
-2116,2688
-2117,2688
-2118,2688
-2119,2688
-2120,2688
-2121,2688
-2122,2688
-2123,2688
-2124,2688
-2125,2688
-2126,2688
-2127,2688
-2128,2688
-2129,2688
-2130,2675
-2131,2688
-2132,2688
-2133,2688
-2134,2688
-2135,2688
-2136,2688
-2137,2688
-2138,2688
-2139,2688
-2140,2688
-2141,2688
-2142,2688
-2143,2688
-2144,2688
-2145,2688
-2146,2688
-2147,2688
-2148,2688
-2149,2688
-2150,2688
-2151,2688
-2152,2688
-2153,2688
-2154,2688
-2155,2688
-2156,2688
-2157,2688
-2158,2688
-2159,2688
-2160,2688
-2161,2688
-2162,2675
-2163,2688
-2164,2688
-2165,2688
-2166,2688
-2167,2688
-2168,2688
-2169,2688
-2170,2688
-2171,2688
-2172,2688
-2173,2675
-2174,2688
-2175,2688
-2176,2688
-2177,2688
-2178,2688
-2179,2688
-2180,2688
-2181,2675
-2182,2688
-2183,2688
-2184,2688
-2185,2688
-2186,2688
-2187,2688
-2188,2688
-2189,2688
-2190,2688
-2191,2688
-2192,2688
-2193,2688
-2194,2688
-2195,2675
-2196,2688
-2197,2688
-2198,2688
-2199,2688
-2200,2675
-2201,2688
-2202,2688
-2203,2688
-2204,2688
-2205,2688
-2206,2675
-2207,2688
-2208,2688
-2209,2675
-2210,2688
-2211,2688
-2212,2688
-2213,2688
-2214,2688
-2215,2688
-2216,2688
-2217,2688
-2218,2688
-2219,2688
-2220,2688
-2221,2688
-2222,2688
-2223,2688
-2224,2688
-2225,2675
-2226,2675
-2227,2688
-2228,2688
-2229,2688
-2230,2688
-2231,2688
-2232,2688
-2233,2688
-2234,2688
-2235,2688
-2236,2688
-2237,2688
-2238,2688
-2239,2688
-2240,2688
-2241,2688
-2242,2688
-2243,2688
-2244,2688
-2245,2688
-2246,2688
-2247,2688
-2248,2688
-2249,2688
-2250,2688
-2251,2688
-2252,2688
-2253,2688
-2254,2688
-2255,2688
-2256,2688
-2257,2675
-2258,2688
-2259,2688
-2260,2688
-2261,2688
-2262,2688
-2263,2688
-2264,2688
-2265,2688
-2266,2688
-2267,2688
-2268,2688
-2269,2688
-2270,2688
-2271,2675
-2272,2688
-2273,2688
-2274,2688
-2275,2675
-2276,2688
-2277,2688
-2278,2688
-2279,2688
-2280,2688
-2281,2688
-2282,2688
-2283,2688
-2284,2688
-2285,2688
-2286,2688
-2287,2675
-2288,2688
-2289,2688
-2290,2688
-2291,2688
-2292,2688
-2293,2688
-2294,2700
-2295,2688
-2296,2688
-2297,2688
-2298,2688
-2299,2688
-2300,2675
-2301,2688
-2302,2688
-2303,2688
-2304,2688
-2305,2688
-2306,2688
-2307,2688
-2308,2688
-2309,2688
-2310,2688
-2311,2688
-2312,2688
-2313,2688
-2314,2688
-2315,2675
-2316,2675
-2317,2688
-2318,2688
-2319,2688
-2320,2688
-2321,2688
-2322,2688
-2323,2688
-2324,2688
-2325,2688
-2326,2675
-2327,2688
-2328,2688
-2329,2688
-2330,2688
-2331,2688
-2332,2675
-2333,2675
-2334,2688
-2335,2688
-2336,2688
-2337,2688
-2338,2688
-2339,2688
-2340,2688
-2341,2688
-2342,2688
-2343,2688
-2344,2688
-2345,2688
-2346,2688
-2347,2688
-2348,2675
-2349,2688
-2350,2688
-2351,2675
-2352,2688
-2353,2688
-2354,2688
-2355,2688
-2356,2688
-2357,2688
-2358,2688
-2359,2675
-2360,2688
-2361,2688
-2362,2688
-2363,2688
-2364,2688
-2365,2675
-2366,2688
-2367,2688
-2368,2688
-2369,2688
-2370,2675
-2371,2675
-2372,2688
-2373,2688
-2374,2688
-2375,2688
-2376,2675
-2377,2688
-2378,2675
-2379,2688
-2380,2688
-2381,2688
-2382,2688
-2383,2675
-2384,2675
-2385,2688
-2386,2688
-2387,2688
-2388,2688
-2389,2688
-2390,2688
-2391,2688
-2392,2688
-2393,2688
-2394,2688
-2395,2688
-2396,2688
-2397,2688
-2398,2688
-2399,2688
-2400,2688
-2401,2688
-2402,2688
-2403,2688
-2404,2688
-2405,2688
-2406,2688
-2407,2688
-2408,2688
-2409,2675
-2410,2688
-2411,2688
-2412,2688
-2413,2688
-2414,2675
-2415,2688
-2416,2688
-2417,2688
-2418,2688
-2419,2688
-2420,2688
-2421,2688
-2422,2688
-2423,2688
-2424,2688
-2425,2688
-2426,2688
-2427,2688
-2428,2688
-2429,2688
-2430,2688
-2431,2688
-2432,2700
-2433,2688
-2434,2688
-2435,2688
-2436,2688
-2437,2688
-2438,2675
-2439,2688
-2440,2688
-2441,2688
-2442,2688
-2443,2688
-2444,2688
-2445,2688
-2446,2688
-2447,2688
-2448,2688
-2449,2688
-2450,2688
-2451,2688
-2452,2688
-2453,2688
-2454,2688
-2455,2688
-2456,2688
-2457,2688
-2458,2688
-2459,2675
-2460,2688
-2461,2688
-2462,2688
-2463,2675
-2464,2700
-2465,2688
-2466,2675
-2467,2688
-2468,2688
-2469,2688
-2470,2688
-2471,2688
-2472,2688
-2473,2688
-2474,2688
-2475,2688
-2476,2688
-2477,2688
-2478,2675
-2479,2688
-2480,2688
-2481,2688
-2482,2688
-2483,2688
-2484,2688
-2485,2688
-2486,2675
-2487,2688
-2488,2688
-2489,2688
-2490,2688
-2491,2688
-2492,2688
-2493,2688
-2494,2688
-2495,2688
-2496,2688
-2497,2688
-2498,2688
-2499,2675
-2500,2688
-2501,2688
-2502,2675
-2503,2675
-2504,2688
-2505,2688
-2506,2688
-2507,2688
-2508,2688
-2509,2688
-2510,2675
-2511,2688
-2512,2688
-2513,2688
-2514,2675
-2515,2688
-2516,2688
-2517,2688
-2518,2688
-2519,2688
-2520,2675
-2521,2688
-2522,2688
-2523,2688
-2524,2675
-2525,2688
-2526,2688
-2527,2688
-2528,2688
-2529,2688
-2530,2688
-2531,2688
-2532,2688
-2533,2688
-2534,2688
-2535,2688
-2536,2675
-2537,2688
-2538,2688
-2539,2688
-2540,2688
-2541,2688
-2542,2675
-2543,2688
-2544,2688
-2545,2688
-2546,2688
-2547,2675
-2548,2688
-2549,2675
-2550,2688
-2551,2688
-2552,2688
-2553,2688
-2554,2688
-2555,2688
-2556,2700
-2557,2688
-2558,2688
-2559,2688
-2560,2688
-2561,2688
-2562,2675
-2563,2688
-2564,2688
-2565,2688
-2566,2688
-2567,2688
-2568,2688
-2569,2688
-2570,2688
-2571,2688
-2572,2688
-2573,2688
-2574,2688
-2575,2688
-2576,2688
-2577,2688
-2578,2688
-2579,2688
-2580,2688
-2581,2688
-2582,2688
-2583,2688
-2584,2688
-2585,2688
-2586,2688
-2587,2688
-2588,2688
-2589,2688
-2590,2688
-2591,2688
-2592,2688
-2593,2688
-2594,2688
-2595,2688
-2596,2688
-2597,2688
-2598,2688
-2599,2688
-2600,2688
-2601,2688
-2602,2675
-2603,2675
-2604,2688
-2605,2688
-2606,2688
-2607,2688
-2608,2688
-2609,2700
-2610,2688
-2611,2688
-2612,2688
-2613,2675
-2614,2688
-2615,2688
-2616,2688
-2617,2688
-2618,2688
-2619,2688
-2620,2688
-2621,2688
-2622,2688
-2623,2688
-2624,2688
-2625,2688
-2626,2688
-2627,2688
-2628,2688
-2629,2688
-2630,2688
-2631,2688
-2632,2688
-2633,2688
-2634,2688
-2635,2688
-2636,2688
-2637,2688
-2638,2688
-2639,2688
-2640,2688
-2641,2688
-2642,2688
-2643,2688
-2644,2688
-2645,2688
-2646,2688
-2647,2675
-2648,2688
-2649,2688
-2650,2675
-2651,2688
-2652,2688
-2653,2688
-2654,2688
-2655,2688
-2656,2688
-2657,2688
-2658,2688
-2659,2688
-2660,2688
-2661,2688
-2662,2688
-2663,2675
-2664,2688
-2665,2688
-2666,2688
-2667,2675
-2668,2688
-2669,2688
-2670,2688
-2671,2688
-2672,2675
-2673,2688
-2674,2688
-2675,2675
-2676,2688
-2677,2688
-2678,2688
-2679,2688
-2680,2688
-2681,2688
-2682,2688
-2683,2688
-2684,2675
-2685,2688
-2686,2688
-2687,2688
-2688,2688
-2689,2688
-2690,2688
-2691,2688
-2692,2688
-2693,2688
-2694,2675
-2695,2688
-2696,2688
-2697,2688
-2698,2688
-2699,2688
-2700,2675
-2701,2688
-2702,2688
-2703,2675
-2704,2688
-2705,2688
-2706,2688
-2707,2675
-2708,2688
-2709,2688
-2710,2688
-2711,2688
-2712,2688
-2713,2688
-2714,2688
-2715,2675
-2716,2675
-2717,2688
-2718,2688
-2719,2688
-2720,2688
-2721,2688
-2722,2688
-2723,2688
-2724,2688
-2725,2688
-2726,2688
-2727,2688
-2728,2688
-2729,2675
-2730,2688
-2731,2675
-2732,2688
-2733,2688
-2734,2688
-2735,2688
-2736,2688
-2737,2688
-2738,2688
-2739,2688
-2740,2688
-2741,2688
-2742,2688
-2743,2688
-2744,2688
-2745,2688
-2746,2688
-2747,2688
-2748,2688
-2749,2688
-2750,2688
-2751,2688
-2752,2688
-2753,2688
-2754,2675
-2755,2688
-2756,2675
-2757,2688
-2758,2675
-2759,2688
-2760,2688
-2761,2688
-2762,2688
-2763,2688
-2764,2688
-2765,2675
-2766,2675
-2767,2688
-2768,2688
-2769,2688
-2770,2688
-2771,2688
-2772,2688
-2773,2688
-2774,2688
-2775,2688
-2776,2688
-2777,2688
-2778,2688
-2779,2688
-2780,2688
-2781,2688
-2782,2688
-2783,2675
-2784,2688
-2785,2688
-2786,2688
-2787,2688
-2788,2688
-2789,2688
-2790,2675
-2791,2688
-2792,2688
-2793,2688
-2794,2688
-2795,2688
-2796,2688
-2797,2688
-2798,2688
-2799,2688
-2800,2688
-2801,2688
-2802,2688
-2803,2688
-2804,2688
-2805,2688
-2806,2688
-2807,2688
-2808,2688
-2809,2688
-2810,2688
-2811,2675
-2812,2688
-2813,2688
-2814,2675
-2815,2688
-2816,2688
-2817,2675
-2818,2688
-2819,2688
-2820,2688
-2821,2688
-2822,2688
-2823,2688
-2824,2675
-2825,2688
-2826,2688
-2827,2688
-2828,2688
-2829,2688
-2830,2688
-2831,2688
-2832,2688
-2833,2688
-2834,2688
-2835,2688
-2836,2688
-2837,2675
-2838,2688
-2839,2675
-2840,2688
-2841,2688
-2842,2688
-2843,2688
-2844,2688
-2845,2688
-2846,2688
-2847,2688
-2848,2688
-2849,2688
-2850,2688
-2851,2688
-2852,2688
-2853,2688
-2854,2688
-2855,2688
-2856,2688
-2857,2688
-2858,2688
-2859,2675
-2860,2688
-2861,2688
-2862,2675
-2863,2688
-2864,2688
-2865,2675
-2866,2688
-2867,2688
-2868,2688
-2869,2688
-2870,2688
-2871,2688
-2872,2688
-2873,2688
-2874,2688
-2875,2688
-2876,2688
-2877,2675
-2878,2688
-2879,2688
-2880,2688
-2881,2688
-2882,2688
-2883,2688
-2884,2688
-2885,2688
-2886,2688
-2887,2688
-2888,2688
-2889,2688
-2890,2688
-2891,2688
-2892,2688
-2893,2688
-2894,2688
-2895,2688
-2896,2688
-2897,2688
-2898,2688
-2899,2688
-2900,2688
-2901,2688
-2902,2688
-2903,2688
-2904,2688
-2905,2688
-2906,2688
-2907,2688
-2908,2688
-2909,2688
-2910,2688
-2911,2688
-2912,2688
-2913,2688
-2914,2688
-2915,2688
-2916,2688
-2917,2675
-2918,2688
-2919,2688
-2920,2688
-2921,2688
-2922,2688
-2923,2675
-2924,2688
-2925,2688
-2926,2688
-2927,2688
-2928,2688
-2929,2688
-2930,2675
-2931,2688
-2932,2688
-2933,2688
-2934,2688
-2935,2700
-2936,2688
-2937,2688
-2938,2688
-2939,2688
-2940,2675
-2941,2688
-2942,2688
-2943,2688
-2944,2688
-2945,2675
-2946,2688
-2947,2688
-2948,2688
-2949,2688
-2950,2688
-2951,2688
-2952,2688
-2953,2688
-2954,2688
-2955,2688
-2956,2688
-2957,2688
-2958,2688
-2959,2688
-2960,2688
-2961,2688
-2962,2688
-2963,2688
-2964,2675
-2965,2688
-2966,2688
-2967,2675
-2968,2688
-2969,2688
-2970,2688
-2971,2688
-2972,2688
-2973,2688
-2974,2688
-2975,2688
-2976,2688
-2977,2688
-2978,2675
-2979,2688
-2980,2688
-2981,2688
-2982,2688
-2983,2688
-2984,2688
-2985,2688
-2986,2688
-2987,2688
-2988,2688
-2989,2688
-2990,2688
-2991,2688
-2992,2688
-2993,2688
-2994,2688
-2995,2688
-2996,2688
-2997,2688
-2998,2688
-2999,2688
-3000,2688
-3001,2688
-3002,2688
-3003,2688
-3004,2688
-3005,2688
-3006,2688
-3007,2688
-3008,2688
-3009,2688
-3010,2688
-3011,2688
-3012,2688
-3013,2688
-3014,2688
-3015,2688
-3016,2688
-3017,2688
-3018,2688
-3019,2675
-3020,2688
-3021,2688
-3022,2688
-3023,2700
-3024,2688
-3025,2688
-3026,2688
-3027,2688
-3028,2688
-3029,2688
-3030,2688
-3031,2688
-3032,2688
-3033,2688
-3034,2688
-3035,2688
-3036,2688
-3037,2688
-3038,2688
-3039,2688
-3040,2688
-3041,2688
-3042,2700
-3043,2688
-3044,2675
-3045,2688
-3046,2688
-3047,2688
-3048,2688
-3049,2688
-3050,2688
-3051,2688
-3052,2675
-3053,2688
-3054,2675
-3055,2688
-3056,2688
-3057,2688
-3058,2688
-3059,2675
-3060,2688
-3061,2688
-3062,2688
-3063,2675
-3064,2688
-3065,2688
-3066,2688
-3067,2675
-3068,2688
-3069,2688
-3070,2688
-3071,2688
-3072,2688
-3073,2675
-3074,2688
-3075,2688
-3076,2675
-3077,2688
-3078,2688
-3079,2688
-3080,2688
-3081,2688
-3082,2688
-3083,2688
-3084,2688
-3085,2688
-3086,2675
-3087,2688
-3088,2688
-3089,2688
-3090,2688
-3091,2688
-3092,2688
-3093,2688
-3094,2688
-3095,2688
-3096,2688
-3097,2688
-3098,2688
-3099,2675
-3100,2675
-3101,2688
-3102,2688
-3103,2688
-3104,2688
-3105,2688
-3106,2688
-3107,2688
-3108,2688
-3109,2688
-3110,2675
-3111,2688
-3112,2688
-3113,2688
-3114,2688
-3115,2688
-3116,2688
-3117,2675
-3118,2688
-3119,2688
-3120,2688
-3121,2688
-3122,2688
-3123,2688
-3124,2675
-3125,2688
-3126,2688
-3127,2688
-3128,2688
-3129,2688
-3130,2688
-3131,2688
-3132,2675
-3133,2700
-3134,2688
-3135,2688
-3136,2688
-3137,2675
-3138,2688
-3139,2675
-3140,2688
-3141,2688
-3142,2688
-3143,2675
-3144,2688
-3145,2688
-3146,2688
-3147,2688
-3148,2688
-3149,2688
-3150,2688
-3151,2688
-3152,2688
-3153,2688
-3154,2688
-3155,2688
-3156,2688
-3157,2688
-3158,2688
-3159,2688
-3160,2688
-3161,2688
-3162,2688
-3163,2688
-3164,2688
-3165,2688
-3166,2688
-3167,2688
-3168,2700
-3169,2688
-3170,2675
-3171,2688
-3172,2688
-3173,2688
-3174,2675
-3175,2688
-3176,2675
-3177,2688
-3178,2688
-3179,2688
-3180,2688
-3181,2688
-3182,2675
-3183,2688
-3184,2688
-3185,2688
-3186,2688
-3187,2688
-3188,2688
-3189,2688
-3190,2688
-3191,2688
-3192,2688
-3193,2675
-3194,2688
-3195,2688
-3196,2688
-3197,2675
-3198,2688
-3199,2688
-3200,2675
-3201,2688
-3202,2688
-3203,2688
-3204,2688
-3205,2688
-3206,2675
-3207,2688
-3208,2688
-3209,2688
-3210,2688
-3211,2688
-3212,2688
-3213,2688
-3214,2688
-3215,2688
-3216,2688
-3217,2688
-3218,2688
-3219,2688
-3220,2688
-3221,2688
-3222,2675
-3223,2688
-3224,2675
-3225,2688
-3226,2688
-3227,2688
-3228,2688
-3229,2688
-3230,2688
-3231,2688
-3232,2688
-3233,2688
-3234,2688
-3235,2688
-3236,2688
-3237,2688
-3238,2688
-3239,2688
-3240,2688
-3241,2688
-3242,2688
-3243,2688
-3244,2675
-3245,2688
-3246,2688
-3247,2688
-3248,2688
-3249,2688
-3250,2688
-3251,2688
-3252,2688
-3253,2688
-3254,2688
-3255,2688
-3256,2688
-3257,2688
-3258,2688
-3259,2688
-3260,2688
-3261,2688
-3262,2688
-3263,2688
-3264,2688
-3265,2688
-3266,2688
-3267,2688
-3268,2675
-3269,2688
-3270,2688
-3271,2688
-3272,2688
-3273,2688
-3274,2675
-3275,2688
-3276,2688
-3277,2688
-3278,2688
-3279,2688
-3280,2688
-3281,2688
-3282,2688
-3283,2688
-3284,2688
-3285,2688
-3286,2675
-3287,2688
-3288,2688
-3289,2688
-3290,2688
-3291,2688
-3292,2688
-3293,2688
-3294,2675
-3295,2688
-3296,2688
-3297,2688
-3298,2688
-3299,2688
-3300,2688
-3301,2688
-3302,2688
-3303,2688
-3304,2688
-3305,2688
-3306,2688
-3307,2688
-3308,2688
-3309,2688
-3310,2688
-3311,2675
-3312,2688
-3313,2675
-3314,2688
-3315,2675
-3316,2688
-3317,2688
-3318,2688
-3319,2688
-3320,2688
-3321,2688
-3322,2675
-3323,2675
-3324,2688
-3325,2688
-3326,2688
-3327,2688
-3328,2688
-3329,2688
-3330,2675
-3331,2688
-3332,2688
-3333,2688
-3334,2675
-3335,2688
-3336,2688
-3337,2688
-3338,2688
-3339,2688
-3340,2688
-3341,2688
-3342,2688
-3343,2688
-3344,2688
-3345,2688
-3346,2688
-3347,2688
-3348,2675
-3349,2688
-3350,2688
-3351,2688
-3352,2688
-3353,2688
-3354,2688
-3355,2675
-3356,2675
-3357,2675
-3358,2688
-3359,2688
-3360,2688
-3361,2688
-3362,2688
-3363,2688
-3364,2688
-3365,2688
-3366,2688
-3367,2688
-3368,2688
-3369,2675
-3370,2688
-3371,2688
-3372,2688
-3373,2688
-3374,2688
-3375,2688
-3376,2688
-3377,2688
-3378,2688
-3379,2688
-3380,2688
-3381,2688
-3382,2688
-3383,2675
-3384,2688
-3385,2688
-3386,2688
-3387,2688
-3388,2688
-3389,2688
-3390,2675
-3391,2688
-3392,2688
-3393,2688
-3394,2688
-3395,2688
-3396,2675
-3397,2688
-3398,2688
-3399,2675
-3400,2688
-3401,2688
-3402,2675
-3403,2688
-3404,2688
-3405,2688
-3406,2675
-3407,2688
-3408,2675
-3409,2688
-3410,2688
-3411,2675
-3412,2688
-3413,2688
-3414,2688
-3415,2688
-3416,2688
-3417,2688
-3418,2688
-3419,2675
-3420,2688
-3421,2688
-3422,2688
-3423,2675
-3424,2688
-3425,2688
-3426,2688
-3427,2700
-3428,2688
-3429,2675
-3430,2675
-3431,2688
-3432,2688
-3433,2688
-3434,2688
-3435,2688
-3436,2688
-3437,2688
-3438,2688
-3439,2688
-3440,2688
-3441,2688
-3442,2688
-3443,2675
-3444,2688
-3445,2675
-3446,2688
-3447,2688
-3448,2688
-3449,2688
-3450,2688
-3451,2675
-3452,2688
-3453,2688
-3454,2688
-3455,2688
-3456,2688
-3457,2675
-3458,2688
-3459,2688
-3460,2675
-3461,2675
-3462,2688
-3463,2688
-3464,2688
-3465,2688
-3466,2688
-3467,2688
-3468,2688
-3469,2688
-3470,2688
-3471,2688
-3472,2688
-3473,2688
-3474,2688
-3475,2688
-3476,2688
-3477,2688
-3478,2688
-3479,2688
-3480,2688
-3481,2675
-3482,2688
-3483,2675
-3484,2688
-3485,2688
-3486,2688
-3487,2688
-3488,2688
-3489,2675
-3490,2688
-3491,2675
-3492,2675
-3493,2688
-3494,2688
-3495,2688
-3496,2688
-3497,2688
-3498,2688
-3499,2675
-3500,2688
-3501,2688
-3502,2688
-3503,2688
-3504,2688
-3505,2688
-3506,2688
-3507,2688
-3508,2688
-3509,2688
-3510,2688
-3511,2675
-3512,2688
-3513,2688
-3514,2688
-3515,2688
-3516,2688
-3517,2688
-3518,2688
-3519,2688
-3520,2688
-3521,2675
-3522,2675
-3523,2688
-3524,2688
-3525,2688
-3526,2688
-3527,2675
-3528,2688
-3529,2688
-3530,2688
-3531,2688
-3532,2688
-3533,2688
-3534,2688
-3535,2688
-3536,2688
-3537,2688
-3538,2688
-3539,2675
-3540,2688
-3541,2675
-3542,2675
-3543,2688
-3544,2688
-3545,2688
-3546,2688
-3547,2688
-3548,2688
-3549,2688
-3550,2688
-3551,2688
-3552,2675
-3553,2688
-3554,2688
-3555,2675
-3556,2688
-3557,2675
-3558,2688
-3559,2688
-3560,2688
-3561,2688
-3562,2688
-3563,2688
-3564,2688
-3565,2688
-3566,2688
-3567,2688
-3568,2675
-3569,2688
-3570,2688
-3571,2688
-3572,2688
-3573,2675
-3574,2675
-3575,2688
-3576,2688
-3577,2688
-3578,2688
-3579,2688
-3580,2688
-3581,2688
-3582,2688
-3583,2688
-3584,2688
-3585,2688
-3586,2675
-3587,2688
-3588,2688
-3589,2688
-3590,2688
-3591,2688
-3592,2688
-3593,2688
-3594,2688
-3595,2688
-3596,2688
-3597,2688
-3598,2675
-3599,2688
-3600,2688
-3601,2675
-3602,2688
-3603,2675
-3604,2675
-3605,2675
-3606,2688
-3607,2675
-3608,2688
-3609,2688
-3610,2688
-3611,2688
-3612,2688
-3613,2688
-3614,2688
-3615,2688
-3616,2688
-3617,2675
-3618,2688
-3619,2688
-3620,2675
-3621,2688
-3622,2688
-3623,2688
-3624,2688
-3625,2688
-3626,2688
-3627,2688
-3628,2688
-3629,2688
-3630,2688
-3631,2688
-3632,2688
-3633,2688
-3634,2688
-3635,2688
-3636,2688
-3637,2688
-3638,2688
-3639,2675
-3640,2688
-3641,2688
-3642,2688
-3643,2688
-3644,2688
-3645,2688
-3646,2688
-3647,2688
-3648,2688
-3649,2688
-3650,2688
-3651,2688
-3652,2688
-3653,2688
-3654,2688
-3655,2688
-3656,2688
-3657,2675
-3658,2688
-3659,2688
-3660,2688
-3661,2688
-3662,2688
-3663,2688
-3664,2675
-3665,2688
-3666,2688
-3667,2688
-3668,2688
-3669,2688
-3670,2688
-3671,2688
-3672,2688
-3673,2688
-3674,2688
-3675,2688
-3676,2688
-3677,2688
-3678,2688
-3679,2688
-3680,2688
-3681,2688
-3682,2688
-3683,2688
-3684,2675
-3685,2688
-3686,2688
-3687,2688
-3688,2688
-3689,2688
-3690,2675
-3691,2688
-3692,2688
-3693,2688
-3694,2688
-3695,2688
-3696,2688
-3697,2688
-3698,2688
-3699,2688
-3700,2688
-3701,2688
-3702,2688
-3703,2675
-3704,2688
-3705,2688
-3706,2688
-3707,2688
-3708,2688
-3709,2675
-3710,2688
-3711,2688
-3712,2688
-3713,2688
-3714,2688
-3715,2688
-3716,2688
-3717,2688
-3718,2688
-3719,2700
-3720,2688
-3721,2675
-3722,2688
-3723,2675
-3724,2688
-3725,2688
-3726,2688
-3727,2675
-3728,2688
-3729,2688
-3730,2688
-3731,2675
-3732,2688
-3733,2688
-3734,2688
-3735,2688
-3736,2688
-3737,2675
-3738,2688
-3739,2688
-3740,2688
-3741,2688
-3742,2688
-3743,2688
-3744,2688
-3745,2688
-3746,2688
-3747,2688
-3748,2688
-3749,2675
-3750,2688
-3751,2688
-3752,2688
-3753,2688
-3754,2688
-3755,2688
-3756,2688
-3757,2675
-3758,2688
-3759,2688
-3760,2688
-3761,2688
-3762,2688
-3763,2688
-3764,2688
-3765,2688
-3766,2688
-3767,2675
-3768,2688
-3769,2688
-3770,2688
-3771,2688
-3772,2688
-3773,2688
-3774,2688
-3775,2688
-3776,2688
-3777,2688
-3778,2688
-3779,2688
-3780,2688
-3781,2688
-3782,2688
-3783,2688
-3784,2688
-3785,2688
-3786,2688
-3787,2688
-3788,2688
-3789,2688
-3790,2688
-3791,2688
-3792,2688
-3793,2688
-3794,2688
-3795,2688
-3796,2688
-3797,2688
-3798,2688
-3799,2688
-3800,2688
-3801,2688
-3802,2675
-3803,2688
-3804,2688
-3805,2688
-3806,2688
-3807,2688
-3808,2688
-3809,2688
-3810,2688
-3811,2688
-3812,2688
-3813,2688
-3814,2688
-3815,2688
-3816,2688
-3817,2688
-3818,2675
-3819,2688
-3820,2688
-3821,2688
-3822,2688
-3823,2688
-3824,2688
-3825,2675
-3826,2688
-3827,2688
-3828,2688
-3829,2688
-3830,2688
-3831,2688
-3832,2688
-3833,2688
-3834,2688
-3835,2688
-3836,2688
-3837,2688
-3838,2688
-3839,2688
-3840,2688
-3841,2675
-3842,2688
-3843,2675
-3844,2688
-3845,2675
-3846,2688
-3847,2688
-3848,2675
-3849,2675
-3850,2688
-3851,2688
-3852,2688
-3853,2688
-3854,2688
-3855,2688
-3856,2675
-3857,2688
-3858,2688
-3859,2688
-3860,2688
-3861,2688
-3862,2675
-3863,2688
-3864,2688
-3865,2688
-3866,2688
-3867,2675
-3868,2688
-3869,2688
-3870,2688
-3871,2688
-3872,2675
-3873,2688
-3874,2688
-3875,2675
-3876,2688
-3877,2688
-3878,2688
-3879,2688
-3880,2688
-3881,2688
-3882,2688
-3883,2688
-3884,2688
-3885,2688
-3886,2688
-3887,2688
-3888,2688
-3889,2688
-3890,2688
-3891,2688
-3892,2688
-3893,2688
-3894,2688
-3895,2688
-3896,2688
-3897,2688
-3898,2688
-3899,2688
-3900,2700
-3901,2688
-3902,2688
-3903,2688
-3904,2688
-3905,2688
-3906,2688
-3907,2675
-3908,2688
-3909,2675
-3910,2688
-3911,2688
-3912,2688
-3913,2688
-3914,2688
-3915,2688
-3916,2688
-3917,2688
-3918,2688
-3919,2675
-3920,2688
-3921,2688
-3922,2688
-3923,2688
-3924,2688
-3925,2688
-3926,2688
-3927,2688
-3928,2688
-3929,2688
-3930,2688
-3931,2688
-3932,2688
-3933,2688
-3934,2688
-3935,2688
-3936,2688
-3937,2675
-3938,2675
-3939,2688
-3940,2688
-3941,2688
-3942,2675
-3943,2688
-3944,2688
-3945,2688
-3946,2688
-3947,2688
-3948,2675
-3949,2675
-3950,2688
-3951,2688
-3952,2688
-3953,2688
-3954,2688
-3955,2688
-3956,2688
-3957,2688
-3958,2688
-3959,2688
-3960,2688
-3961,2675
-3962,2688
-3963,2688
-3964,2688
-3965,2688
-3966,2700
-3967,2688
-3968,2688
-3969,2688
-3970,2688
-3971,2688
-3972,2688
-3973,2688
-3974,2675
-3975,2675
-3976,2688
-3977,2688
-3978,2688
-3979,2688
-3980,2688
-3981,2688
-3982,2688
-3983,2688
-3984,2688
-3985,2675
-3986,2675
-3987,2688
-3988,2688
-3989,2688
-3990,2688
-3991,2688
-3992,2688
-3993,2688
-3994,2688
-3995,2688
-3996,2688
-3997,2688
-3998,2688
-3999,2688
-4000,2688
-4001,2688
-4002,2688
-4003,2688
-4004,2688
-4005,2675
-4006,2688
-4007,2688
-4008,2688
-4009,2688
-4010,2688
-4011,2688
-4012,2675
-4013,2688
-4014,2688
-4015,2688
-4016,2688
-4017,2688
-4018,2688
-4019,2688
-4020,2675
-4021,2675
-4022,2688
-4023,2688
-4024,2688
-4025,2688
-4026,2688
-4027,2688
-4028,2688
-4029,2688
-4030,2688
-4031,2688
-4032,2688
-4033,2688
-4034,2688
-4035,2688
-4036,2688
-4037,2688
-4038,2688
-4039,2688
-4040,2675
-4041,2688
-4042,2688
-4043,2675
-4044,2688
-4045,2688
-4046,2688
-4047,2688
-4048,2688
-4049,2688
-4050,2675
-4051,2688
-4052,2688
-4053,2688
-4054,2688
-4055,2688
-4056,2688
-4057,2688
-4058,2688
-4059,2688
-4060,2688
-4061,2688
-4062,2675
-4063,2700
-4064,2688
-4065,2688
-4066,2688
-4067,2688
-4068,2675
-4069,2688
-4070,2675
-4071,2688
-4072,2688
-4073,2688
-4074,2688
-4075,2688
-4076,2688
-4077,2688
-4078,2688
-4079,2688
-4080,2688
-4081,2688
-4082,2700
-4083,2688
-4084,2700
-4085,2688
-4086,2688
-4087,2688
-4088,2688
-4089,2675
-4090,2688
-4091,2688
-4092,2688
-4093,2688
-4094,2688
-4095,2688
-4096,2688
-4097,2688
-4098,2688
-4099,2688
-4100,2688
-4101,2688
-4102,2688
-4103,2688
-4104,2688
-4105,2688
-4106,2688
-4107,2700
-4108,2688
-4109,2688
-4110,2688
-4111,2688
-4112,2675
-4113,2675
-4114,2688
-4115,2688
-4116,2688
-4117,2688
-4118,2688
-4119,2688
-4120,2700
-4121,2688
-4122,2688
-4123,2688
-4124,2688
-4125,2688
-4126,2688
-4127,2688
-4128,2688
-4129,2675
-4130,2688
-4131,2688
-4132,2688
-4133,2688
-4134,2688
-4135,2688
-4136,2688
-4137,2675
-4138,2688
-4139,2675
-4140,2688
-4141,2688
-4142,2688
-4143,2688
-4144,2675
-4145,2688
-4146,2688
-4147,2675
-4148,2688
-4149,2688
-4150,2688
-4151,2688
-4152,2688
-4153,2700
-4154,2675
-4155,2688
-4156,2675
-4157,2675
-4158,2688
-4159,2688
-4160,2688
-4161,2675
-4162,2688
-4163,2688
-4164,2688
-4165,2688
-4166,2688
-4167,2688
-4168,2688
-4169,2675
-4170,2688
-4171,2688
-4172,2688
-4173,2688
-4174,2688
-4175,2688
-4176,2688
-4177,2675
-4178,2688
-4179,2688
-4180,2688
-4181,2688
-4182,2675
-4183,2688
-4184,2688
-4185,2688
-4186,2688
-4187,2688
-4188,2688
-4189,2688
-4190,2688
-4191,2688
-4192,2688
-4193,2688
-4194,2675
-4195,2688
-4196,2688
-4197,2688
-4198,2688
-4199,2688
-4200,2688
-4201,2688
-4202,2675
-4203,2688
-4204,2688
-4205,2688
-4206,2675
-4207,2688
-4208,2688
-4209,2688
-4210,2688
-4211,2688
-4212,2688
-4213,2688
-4214,2688
-4215,2675
-4216,2675
-4217,2688
-4218,2675
-4219,2688
-4220,2688
-4221,2688
-4222,2688
-4223,2688
-4224,2688
-4225,2688
-4226,2688
-4227,2688
-4228,2688
-4229,2688
-4230,2688
-4231,2675
-4232,2688
-4233,2688
-4234,2675
-4235,2675
-4236,2688
-4237,2688
-4238,2688
-4239,2688
-4240,2675
-4241,2688
-4242,2688
-4243,2675
-4244,2688
-4245,2688
-4246,2688
-4247,2688
-4248,2688
-4249,2688
-4250,2700
-4251,2675
-4252,2688
-4253,2688
-4254,2688
-4255,2688
-4256,2688
-4257,2688
-4258,2688
-4259,2688
-4260,2688
-4261,2688
-4262,2688
-4263,2688
-4264,2688
-4265,2675
-4266,2688
-4267,2688
-4268,2688
-4269,2688
-4270,2688
-4271,2675
-4272,2688
-4273,2700
-4274,2688
-4275,2675
-4276,2688
-4277,2688
-4278,2688
-4279,2688
-4280,2675
-4281,2688
-4282,2688
-4283,2688
-4284,2688
-4285,2675
-4286,2688
-4287,2688
-4288,2675
-4289,2688
-4290,2675
-4291,2688
-4292,2688
-4293,2688
-4294,2688
-4295,2688
-4296,2688
-4297,2688
-4298,2688
-4299,2688
-4300,2688
-4301,2688
-4302,2688
-4303,2688
-4304,2688
-4305,2688
-4306,2688
-4307,2675
-4308,2675
-4309,2688
-4310,2688
-4311,2688
-4312,2675
-4313,2675
-4314,2688
-4315,2688
-4316,2688
-4317,2688
-4318,2688
-4319,2675
-4320,2688
-4321,2688
-4322,2688
-4323,2688
-4324,2675
-4325,2688
-4326,2688
-4327,2688
-4328,2688
-4329,2688
-4330,2675
-4331,2688
-4332,2688
-4333,2688
-4334,2688
-4335,2688
-4336,2688
-4337,2700
-4338,2688
-4339,2688
-4340,2688
-4341,2688
-4342,2688
-4343,2700
-4344,2688
-4345,2675
-4346,2688
-4347,2688
-4348,2675
-4349,2675
-4350,2688
-4351,2688
-4352,2688
-4353,2688
-4354,2688
-4355,2688
-4356,2688
-4357,2688
-4358,2688
-4359,2688
-4360,2688
-4361,2688
-4362,2688
-4363,2688
-4364,2688
-4365,2688
-4366,2688
-4367,2688
-4368,2688
-4369,2688
-4370,2688
-4371,2688
-4372,2688
-4373,2675
-4374,2675
-4375,2688
-4376,2688
-4377,2675
-4378,2688
-4379,2688
-4380,2688
-4381,2688
-4382,2688
-4383,2688
-4384,2688
-4385,2688
-4386,2675
-4387,2688
-4388,2688
-4389,2688
-4390,2688
-4391,2688
-4392,2688
-4393,2688
-4394,2688
-4395,2688
-4396,2688
-4397,2688
-4398,2700
-4399,2688
-4400,2688
-4401,2688
-4402,2688
-4403,2688
-4404,2688
-4405,2688
-4406,2688
-4407,2688
-4408,2675
-4409,2688
-4410,2688
-4411,2688
-4412,2688
-4413,2688
-4414,2688
-4415,2675
-4416,2688
-4417,2688
-4418,2688
-4419,2688
-4420,2688
-4421,2688
-4422,2688
-4423,2688
-4424,2688
-4425,2688
-4426,2688
-4427,2688
-4428,2688
-4429,2688
-4430,2688
-4431,2688
-4432,2688
-4433,2688
-4434,2688
-4435,2688
-4436,2688
-4437,2688
-4438,2688
-4439,2688
-4440,2688
-4441,2688
-4442,2688
-4443,2675
-4444,2688
-4445,2675
-4446,2675
-4447,2688
-4448,2688
-4449,2688
-4450,2688
-4451,2675
-4452,2688
-4453,2688
-4454,2675
-4455,2688
-4456,2688
-4457,2688
-4458,2688
-4459,2688
-4460,2688
-4461,2688
-4462,2688
-4463,2688
-4464,2688
-4465,2688
-4466,2688
-4467,2688
-4468,2688
-4469,2688
-4470,2688
-4471,2688
-4472,2688
-4473,2688
-4474,2688
-4475,2688
-4476,2675
-4477,2688
-4478,2688
-4479,2688
-4480,2688
-4481,2688
-4482,2688
-4483,2688
-4484,2688
-4485,2688
-4486,2688
-4487,2688
-4488,2688
-4489,2688
-4490,2688
-4491,2688
-4492,2675
-4493,2688
-4494,2688
-4495,2688
-4496,2688
-4497,2688
-4498,2688
-4499,2688
-4500,2688
-4501,2688
-4502,2688
-4503,2688
-4504,2688
-4505,2688
-4506,2688
-4507,2688
-4508,2688
-4509,2688
-4510,2688
-4511,2688
-4512,2688
-4513,2688
-4514,2688
-4515,2675
-4516,2688
-4517,2675
-4518,2688
-4519,2688
-4520,2688
-4521,2688
-4522,2688
-4523,2688
-4524,2688
-4525,2688
-4526,2688
-4527,2688
-4528,2688
-4529,2688
-4530,2688
-4531,2688
-4532,2688
-4533,2688
-4534,2688
-4535,2688
-4536,2688
-4537,2675
-4538,2675
-4539,2688
-4540,2688
-4541,2688
-4542,2688
-4543,2688
-4544,2688
-4545,2688
-4546,2688
-4547,2688
-4548,2688
-4549,2688
-4550,2688
-4551,2688
-4552,2688
-4553,2688
-4554,2675
-4555,2688
-4556,2688
-4557,2688
-4558,2688
-4559,2688
-4560,2688
-4561,2688
-4562,2688
-4563,2688
-4564,2688
-4565,2675
-4566,2688
-4567,2688
-4568,2688
-4569,2688
-4570,2688
-4571,2688
-4572,2688
-4573,2688
-4574,2688
-4575,2688
-4576,2688
-4577,2688
-4578,2700
-4579,2688
-4580,2688
-4581,2688
-4582,2688
-4583,2688
-4584,2688
-4585,2688
-4586,2688
-4587,2688
-4588,2688
-4589,2675
-4590,2675
-4591,2675
-4592,2688
-4593,2688
-4594,2688
-4595,2688
-4596,2688
-4597,2688
-4598,2688
-4599,2688
-4600,2688
-4601,2688
-4602,2688
-4603,2688
-4604,2688
-4605,2688
-4606,2700
-4607,2688
-4608,2688
-4609,2688
-4610,2688
-4611,2688
-4612,2688
-4613,2688
-4614,2688
-4615,2675
-4616,2688
-4617,2688
-4618,2688
-4619,2688
-4620,2688
-4621,2688
-4622,2688
-4623,2688
-4624,2688
-4625,2688
-4626,2688
-4627,2688
-4628,2688
-4629,2688
-4630,2688
-4631,2688
-4632,2688
-4633,2688
-4634,2688
-4635,2688
-4636,2688
-4637,2688
-4638,2688
-4639,2688
-4640,2688
-4641,2688
-4642,2688
-4643,2688
-4644,2688
-4645,2688
-4646,2688
-4647,2688
-4648,2688
-4649,2688
-4650,2688
-4651,2688
-4652,2688
-4653,2688
-4654,2688
-4655,2688
-4656,2688
-4657,2688
-4658,2688
-4659,2688
-4660,2675
-4661,2688
-4662,2688
-4663,2688
-4664,2688
-4665,2688
-4666,2675
-4667,2688
-4668,2688
-4669,2688
-4670,2688
-4671,2688
-4672,2688
-4673,2688
-4674,2688
-4675,2688
-4676,2688
-4677,2688
-4678,2688
-4679,2688
-4680,2688
-4681,2688
-4682,2688
-4683,2688
-4684,2688
-4685,2688
-4686,2688
-4687,2675
-4688,2688
-4689,2688
-4690,2688
-4691,2688
-4692,2688
-4693,2688
-4694,2700
-4695,2675
-4696,2688
-4697,2688
-4698,2688
-4699,2675
-4700,2688
-4701,2675
-4702,2688
-4703,2688
-4704,2688
-4705,2688
-4706,2675
-4707,2688
-4708,2688
-4709,2688
-4710,2688
-4711,2688
-4712,2675
-4713,2688
-4714,2688
-4715,2688
-4716,2688
-4717,2688
-4718,2688
-4719,2688
-4720,2688
-4721,2688
-4722,2688
-4723,2688
-4724,2688
-4725,2675
-4726,2688
-4727,2688
-4728,2675
-4729,2688
-4730,2688
-4731,2688
-4732,2688
-4733,2688
-4734,2688
-4735,2688
-4736,2688
-4737,2688
-4738,2688
-4739,2688
-4740,2688
-4741,2688
-4742,2688
-4743,2688
-4744,2688
-4745,2688
-4746,2688
-4747,2688
-4748,2688
-4749,2688
-4750,2688
-4751,2688
-4752,2688
-4753,2688
-4754,2688
-4755,2688
-4756,2688
-4757,2688
-4758,2688
-4759,2688
-4760,2688
-4761,2688
-4762,2688
-4763,2688
-4764,2688
-4765,2688
-4766,2688
-4767,2688
-4768,2688
-4769,2688
-4770,2688
-4771,2675
-4772,2688
-4773,2688
-4774,2688
-4775,2688
-4776,2688
-4777,2688
-4778,2688
-4779,2688
-4780,2688
-4781,2688
-4782,2688
-4783,2675
-4784,2688
-4785,2688
-4786,2688
-4787,2675
-4788,2688
-4789,2688
-4790,2688
-4791,2688
-4792,2688
-4793,2688
-4794,2688
-4795,2688
-4796,2688
-4797,2688
-4798,2688
-4799,2688
-4800,2688
-4801,2688
-4802,2688
-4803,2700
-4804,2688
-4805,2688
-4806,2688
-4807,2688
-4808,2688
-4809,2688
-4810,2688
-4811,2688
-4812,2688
-4813,2688
-4814,2688
-4815,2688
-4816,2688
-4817,2675
-4818,2688
-4819,2688
-4820,2688
-4821,2675
-4822,2688
-4823,2688
-4824,2688
-4825,2688
-4826,2688
-4827,2675
-4828,2688
-4829,2688
-4830,2688
-4831,2688
-4832,2688
-4833,2675
-4834,2688
-4835,2688
-4836,2688
-4837,2688
-4838,2688
-4839,2688
-4840,2688
-4841,2688
-4842,2675
-4843,2688
-4844,2688
-4845,2688
-4846,2688
-4847,2688
-4848,2688
-4849,2675
-4850,2688
-4851,2675
-4852,2688
-4853,2688
-4854,2688
-4855,2688
-4856,2688
-4857,2688
-4858,2688
-4859,2688
-4860,2688
-4861,2688
-4862,2688
-4863,2688
-4864,2688
-4865,2688
-4866,2688
-4867,2675
-4868,2688
-4869,2688
-4870,2688
-4871,2675
-4872,2688
-4873,2675
-4874,2675
-4875,2688
-4876,2688
-4877,2688
-4878,2688
-4879,2688
-4880,2688
-4881,2688
-4882,2688
-4883,2688
-4884,2688
-4885,2688
-4886,2688
-4887,2688
-4888,2688
-4889,2688
-4890,2688
-4891,2688
-4892,2688
-4893,2688
-4894,2688
-4895,2688
-4896,2688
-4897,2688
-4898,2688
-4899,2688
-4900,2688
-4901,2688
-4902,2675
-4903,2688
-4904,2688
-4905,2688
-4906,2688
-4907,2688
-4908,2688
-4909,2688
-4910,2688
-4911,2688
-4912,2688
-4913,2688
-4914,2688
-4915,2688
-4916,2688
-4917,2688
-4918,2688
-4919,2688
-4920,2688
-4921,2688
-4922,2688
-4923,2688
-4924,2688
-4925,2688
-4926,2688
-4927,2688
-4928,2688
-4929,2688
-4930,2688
-4931,2688
-4932,2688
-4933,2688
-4934,2688
-4935,2675
-4936,2675
-4937,2688
-4938,2688
-4939,2688
-4940,2688
-4941,2688
-4942,2688
-4943,2688
-4944,2675
-4945,2675
-4946,2688
-4947,2675
-4948,2688
-4949,2675
-4950,2688
-4951,2688
-4952,2688
-4953,2688
-4954,2688
-4955,2688
-4956,2675
-4957,2688
-4958,2688
-4959,2688
-4960,2675
-4961,2688
-4962,2688
-4963,2688
-4964,2688
-4965,2688
-4966,2675
-4967,2688
-4968,2688
-4969,2675
-4970,2688
-4971,2688
-4972,2688
-4973,2688
-4974,2688
-4975,2688
-4976,2675
-4977,2688
-4978,2688
-4979,2688
-4980,2688
-4981,2688
-4982,2688
-4983,2688
-4984,2675
-4985,2688
-4986,2688
-4987,2688
-4988,2688
-4989,2675
-4990,2688
-4991,2675
-4992,2688
-4993,2688
-4994,2675
-4995,2688
-4996,2688
-4997,2688
-4998,2688
-4999,2688
-5000,2675
-5001,2688
-5002,2688
-5003,2688
-5004,2688
-5005,2675
-5006,2700
-5007,2688
-5008,2688
-5009,2688
-5010,2688
-5011,2688
-5012,2688
-5013,2688
-5014,2688
-5015,2675
-5016,2688
-5017,2688
-5018,2688
-5019,2688
-5020,2688
-5021,2675
-5022,2688
-5023,2688
-5024,2688
-5025,2688
-5026,2688
-5027,2675
-5028,2688
-5029,2688
-5030,2688
-5031,2688
-5032,2688
-5033,2688
-5034,2688
-5035,2688
-5036,2688
-5037,2688
-5038,2688
-5039,2688
-5040,2688
-5041,2688
-5042,2688
-5043,2688
-5044,2688
-5045,2688
-5046,2688
-5047,2688
-5048,2688
-5049,2688
-5050,2688
-5051,2688
-5052,2688
-5053,2688
-5054,2688
-5055,2688
-5056,2688
-5057,2688
-5058,2688
-5059,2688
-5060,2675
-5061,2688
-5062,2688
-5063,2688
-5064,2688
-5065,2688
-5066,2688
-5067,2688
-5068,2675
-5069,2675
-5070,2688
-5071,2688
-5072,2688
-5073,2688
-5074,2688
-5075,2688
-5076,2688
-5077,2688
-5078,2688
-5079,2675
-5080,2675
-5081,2688
-5082,2688
-5083,2688
-5084,2688
-5085,2688
-5086,2688
-5087,2688
-5088,2675
-5089,2688
-5090,2688
-5091,2688
-5092,2688
-5093,2688
-5094,2688
-5095,2688
-5096,2688
-5097,2675
-5098,2688
-5099,2688
-5100,2688
-5101,2688
-5102,2688
-5103,2688
-5104,2688
-5105,2688
-5106,2688
-5107,2688
-5108,2688
-5109,2675
-5110,2688
-5111,2688
-5112,2688
-5113,2688
-5114,2688
-5115,2688
-5116,2675
-5117,2688
-5118,2688
-5119,2688
-5120,2688
-5121,2688
-5122,2688
-5123,2688
-5124,2688
-5125,2688
-5126,2675
-5127,2700
-5128,2688
-5129,2688
-5130,2688
-5131,2688
-5132,2688
-5133,2688
-5134,2688
-5135,2688
-5136,2688
-5137,2688
-5138,2688
-5139,2688
-5140,2688
-5141,2688
-5142,2688
-5143,2688
-5144,2688
-5145,2688
-5146,2675
-5147,2688
-5148,2688
-5149,2688
-5150,2688
-5151,2688
-5152,2675
-5153,2688
-5154,2688
-5155,2688
-5156,2688
-5157,2688
-5158,2688
-5159,2675
-5160,2688
-5161,2688
-5162,2688
-5163,2688
-5164,2688
-5165,2675
-5166,2688
-5167,2675
-5168,2688
-5169,2675
-5170,2688
-5171,2688
-5172,2688
-5173,2688
-5174,2688
-5175,2675
-5176,2675
-5177,2675
-5178,2688
-5179,2675
-5180,2688
-5181,2688
-5182,2675
-5183,2688
-5184,2688
-5185,2688
-5186,2688
-5187,2688
-5188,2688
-5189,2688
-5190,2688
-5191,2688
-5192,2688
-5193,2688
-5194,2688
-5195,2675
-5196,2688
-5197,2688
-5198,2688
-5199,2688
-5200,2675
-5201,2675
-5202,2688
-5203,2688
-5204,2688
-5205,2688
-5206,2688
-5207,2688
-5208,2675
-5209,2688
-5210,2688
-5211,2688
-5212,2688
-5213,2688
-5214,2688
-5215,2688
-5216,2688
-5217,2688
-5218,2688
-5219,2688
-5220,2688
-5221,2675
-5222,2688
-5223,2688
-5224,2688
-5225,2688
-5226,2688
-5227,2688
-5228,2688
-5229,2688
-5230,2688
-5231,2675
-5232,2688
-5233,2688
-5234,2688
-5235,2688
-5236,2688
-5237,2688
-5238,2688
-5239,2688
-5240,2675
-5241,2688
-5242,2688
-5243,2688
-5244,2688
-5245,2688
-5246,2688
-5247,2688
-5248,2688
-5249,2688
-5250,2688
-5251,2688
-5252,2688
-5253,2688
-5254,2688
-5255,2688
-5256,2688
-5257,2688
-5258,2688
-5259,2688
-5260,2675
-5261,2688
-5262,2688
-5263,2688
-5264,2688
-5265,2688
-5266,2675
-5267,2688
-5268,2688
-5269,2688
-5270,2688
-5271,2688
-5272,2675
-5273,2688
-5274,2688
-5275,2688
-5276,2688
-5277,2688
-5278,2688
-5279,2688
-5280,2688
-5281,2688
-5282,2688
-5283,2688
-5284,2688
-5285,2688
-5286,2675
-5287,2675
-5288,2688
-5289,2688
-5290,2688
-5291,2688
-5292,2688
-5293,2688
-5294,2688
-5295,2688
-5296,2688
-5297,2688
-5298,2688
-5299,2688
-5300,2688
-5301,2688
-5302,2688
-5303,2688
-5304,2688
-5305,2675
-5306,2688
-5307,2688
-5308,2688
-5309,2688
-5310,2688
-5311,2688
-5312,2688
-5313,2688
-5314,2688
-5315,2688
-5316,2688
-5317,2688
-5318,2688
-5319,2688
-5320,2688
-5321,2688
-5322,2688
-5323,2688
-5324,2688
-5325,2688
-5326,2688
-5327,2688
-5328,2688
-5329,2688
-5330,2675
-5331,2688
-5332,2688
-5333,2688
-5334,2688
-5335,2688
-5336,2688
-5337,2688
-5338,2688
-5339,2688
-5340,2688
-5341,2688
-5342,2688
-5343,2688
-5344,2688
-5345,2688
-5346,2688
-5347,2688
-5348,2688
-5349,2688
-5350,2675
-5351,2688
-5352,2675
-5353,2688
-5354,2688
-5355,2688
-5356,2688
-5357,2675
-5358,2688
-5359,2688
-5360,2688
-5361,2688
-5362,2688
-5363,2675
-5364,2688
-5365,2688
-5366,2688
-5367,2675
-5368,2688
-5369,2688
-5370,2688
-5371,2688
-5372,2688
-5373,2688
-5374,2688
-5375,2688
-5376,2688
-5377,2688
-5378,2688
-5379,2688
-5380,2688
-5381,2688
-5382,2688
-5383,2675
-5384,2688
-5385,2688
-5386,2688
-5387,2688
-5388,2688
-5389,2688
-5390,2688
-5391,2688
-5392,2688
-5393,2688
-5394,2688
-5395,2688
-5396,2688
-5397,2688
-5398,2688
-5399,2675
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Encoder.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Encoder.cs
new file mode 100644
index 000000000..d2eb00cb6
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Encoder.cs
@@ -0,0 +1,55 @@
+using System;
+using System.Text;
+using System.Linq;
+using System.Drawing;
+using System.Diagnostics;
+using System.Windows.Forms;
+using System.Threading;
+using System.Threading.Tasks;
+using System.Collections.Generic;
+using Tango.PMR.Stubs;
+using Tango.Stubs;
+
+include "..\..\Defines\Tango_Defines_Basic.cs"
+include "Tango_Defines_SSI.cs"
+//include "C:\To_Backup\Mulberry\Mulberry_current\Customers\Twine\Tango\LAB_Tests\Main_PCB\ATP_Test\Scripts\Defines\Tango_Defines_Basic.cs"
+//include "C:\To_Backup\Mulberry\Mulberry_current\Customers\Twine\Tango\LAB_Tests\Main_PCB\ATP_Test\Scripts\Defines\Tango_Defines_SSI.cs"
+
+
+public void OnExecute(StubManager stubManager)
+{
+ int k = 0;
+ Fpga_Read_Reg(FPGA1, F1_Prescaler1_reg1, 0);
+ Fpga_Read_Reg(FPGA1, F1_Prescaler1_reg2, 0);
+
+ //Set output clock frequency to about 200 kHz
+ Fpga_Write_Reg(FPGA1, F1_Prescaler1_reg1, 0x0024, 0);
+ Fpga_Write_Reg(FPGA1, F1_Prescaler1_reg2, 0x0024, 0);
+
+ Fpga_Read_Reg(FPGA1, F1_Prescaler1_reg1, 0);
+ Fpga_Read_Reg(FPGA1, F1_Prescaler1_reg2, 0);
+
+ for (int i = 0; i < 1000; i++)
+ {
+
+ stubManager.Write(ReadEncoder_Dryer() +"\n");
+
+ Thread.Sleep(100);
+ }
+
+
+}
+
+Int32 ReadEncoder_Dryer()
+{
+ Int32 temp;
+ Int32 temp1;
+ stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x6000019e, 0x0000); //triggers a TX transmission
+
+ var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000190);
+ var response1 = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,0x60000192);
+
+ temp = Convert.ToInt32 (((((response1.Value <<16) + response.Value)>>10 ) & 0x3fff));
+
+ return temp;
+}
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_SSR.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_SSR.cs
index b059a170f..b092d6a20 100644
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_SSR.cs
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_SSR.cs
@@ -26,17 +26,16 @@ float temp1=4096*95*5;
stubManager.WriteHex(response.TemperatureCMultBy100,4);
SetBit (FPGA2, F2_CTRL, 10, 1);
stubManager.Write("\tTesting SSR no. 1\t");
- Thread.Sleep(1000);
-
-
+ Thread.Sleep(10000);
+
var response1 = stubManager.Run<StubIntADCReadResponse>("StubIntADCReadRequest" ,16);
temp=Convert.ToUInt32 (response1.SamplingInBits);
- temp=temp*800*3*100;
+
+ temp=temp*2400*60*100;
temp=temp/(4096*95*50);
- stubManager.Write("Current = "+ temp + "A\n");
- temp=temp*60;
- stubManager.Write("Voltage = "+ temp + " Volt\n");
+ stubManager.Write("Voltage = "+ temp + "Volt/n");
+ stubManager.Write("Current = "+ temp*100/6 + "mA/n");
SetBit (FPGA2, F2_CTRL, 10, 0);
@@ -50,17 +49,16 @@ var response1 = stubManager.Run<StubIntADCReadResponse>("StubIntADCReadRequest"
stubManager.WriteHex(response.TemperatureCMultBy100,4);
SetBit (FPGA2, F2_CTRL, 9, 1);
stubManager.Write("\tTesting SSR no. 2\t");
- Thread.Sleep(1000);
+ Thread.Sleep(10000);
-response1 = stubManager.Run<StubIntADCReadResponse>("StubIntADCReadRequest" ,17);
+ response1 = stubManager.Run<StubIntADCReadResponse>("StubIntADCReadRequest" ,17);
temp=Convert.ToUInt32 (response1.SamplingInBits);
- stubManager.WriteLine(temp);
- temp=temp*800*3*100;
- temp=temp/(4096*95*120);
- stubManager.Write("Current = "+ temp + "A\n");
- temp=temp*120;
- stubManager.Write("Voltage = "+ temp + " Volt\n");
+
+ temp=temp*2400*1000;
+ temp=temp/(4096*95*100);
+ stubManager.Write("Current = "+ temp*100/6 + "mA/n");
+
SetBit (FPGA2, F2_CTRL, 9, 0);
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Tset.CSV b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Tset.CSV
index daadff892..de439d914 100644
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Tset.CSV
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Tset.CSV
@@ -1,6 +1,1796 @@
-24/06/2020 9:51:30
+03/09/2020 22:34:12
Heating to 190
-24/06/2020 9:51:30
+03/09/2020 22:34:12
+ 59
+ 59
+ 59
+ 59
+ 59
+ 59
+ 59
+ 59
+ 59
+ 59
+ 59
+ 59
+ 59
+ 59
+ 59
+ 60
+ 60
+ 60
+ 60
+ 61
+ 61
+ 61
+ 62
+ 62
+ 63
+ 63
+ 64
+ 64
+ 65
+ 65
+ 66
+ 66
+ 67
+ 67
+ 68
+ 68
+ 69
+ 69
+ 70
+ 71
+ 71
+ 72
+ 72
+ 73
+ 73
+ 74
+ 74
+ 75
+ 75
+ 76
+ 76
+ 77
+ 78
+ 78
+ 79
+ 80
+ 80
+ 81
+ 81
+ 82
+ 82
+ 83
+ 83
+ 84
+ 84
+ 85
+ 85
+ 86
+ 86
+ 87
+ 87
+ 88
+ 88
+ 89
+ 89
+ 89
+ 90
+ 90
+ 91
+ 91
+ 92
+ 92
+ 93
+ 93
+ 93
+ 94
+ 94
+ 95
+ 95
+ 96
+ 96
+ 97
+ 97
+ 98
+ 98
+ 98
+ 99
+ 99
+ 99
+ 100
+ 101
+ 101
+ 101
+ 102
+ 102
+ 102
+ 103
+ 103
+ 103
+ 104
+ 104
+ 105
+ 105
+ 105
+ 106
+ 106
+ 106
+ 107
+ 107
+ 107
+ 108
+ 108
+ 108
+ 109
+ 109
+ 109
+ 110
+ 110
+ 110
+ 111
+ 111
+ 111
+ 112
+ 112
+ 112
+ 112
+ 113
+ 113
+ 113
+ 114
+ 114
+ 114
+ 115
+ 115
+ 115
+ 115
+ 116
+ 116
+ 117
+ 117
+ 117
+ 117
+ 118
+ 118
+ 118
+ 119
+ 119
+ 119
+ 119
+ 120
+ 120
+ 120
+ 120
+ 121
+ 121
+ 121
+ 122
+ 122
+ 122
+ 122
+ 123
+ 123
+ 123
+ 124
+ 124
+ 124
+ 124
+ 125
+ 125
+ 125
+ 125
+ 125
+ 126
+ 126
+ 126
+ 126
+ 127
+ 127
+ 127
+ 127
+ 128
+ 128
+ 128
+ 128
+ 129
+ 129
+ 129
+ 129
+ 129
+ 130
+ 130
+ 130
+ 130
+ 131
+ 131
+ 131
+ 131
+ 132
+ 132
+ 132
+ 132
+ 132
+ 133
+ 133
+ 133
+ 133
+ 134
+ 134
+ 134
+ 134
+ 134
+ 135
+ 135
+ 135
+ 135
+ 136
+ 136
+ 136
+ 136
+ 137
+ 137
+ 137
+ 137
+ 137
+ 138
+ 138
+ 138
+ 138
+ 138
+ 139
+ 139
+ 139
+ 139
+ 139
+ 140
+ 140
+ 140
+ 140
+ 140
+ 141
+ 141
+ 141
+ 141
+ 142
+ 142
+ 142
+ 142
+ 142
+ 143
+ 143
+ 143
+ 143
+ 143
+ 144
+ 144
+ 144
+ 144
+ 144
+ 145
+ 145
+ 145
+ 145
+ 145
+ 145
+ 146
+ 146
+ 146
+ 146
+ 147
+ 147
+ 147
+ 147
+ 147
+ 147
+ 148
+ 148
+ 148
+ 148
+ 148
+ 149
+ 149
+ 149
+ 149
+ 149
+ 149
+ 150
+ 150
+ 150
+ 150
+ 150
+ 151
+ 151
+ 151
+ 151
+ 151
+ 152
+ 152
+ 152
+ 152
+ 152
+ 152
+ 153
+ 153
+ 153
+ 153
+ 153
+ 153
+ 154
+ 154
+ 154
+ 154
+ 154
+ 155
+ 155
+ 155
+ 155
+ 155
+ 155
+ 156
+ 156
+ 156
+ 156
+ 156
+ 157
+ 157
+ 157
+ 157
+ 157
+ 157
+ 158
+ 158
+ 158
+ 158
+ 158
+ 158
+ 159
+ 159
+ 159
+ 159
+ 159
+ 159
+ 160
+ 160
+ 160
+ 160
+ 160
+ 160
+ 161
+ 161
+ 161
+ 161
+ 161
+ 161
+ 162
+ 162
+ 162
+ 162
+ 162
+ 162
+ 163
+ 163
+ 163
+ 163
+ 163
+ 163
+ 164
+ 164
+ 164
+ 164
+ 164
+ 164
+ 165
+ 165
+ 165
+ 165
+ 165
+ 165
+ 166
+ 166
+ 166
+ 166
+ 166
+ 166
+ 166
+ 167
+ 167
+ 167
+ 167
+ 167
+ 167
+ 167
+ 168
+ 168
+ 168
+ 168
+ 168
+ 168
+ 168
+ 169
+ 169
+ 169
+ 169
+ 169
+ 170
+ 170
+ 170
+ 170
+ 170
+ 170
+ 170
+ 171
+ 171
+ 171
+ 171
+ 171
+ 171
+ 171
+ 172
+ 172
+ 172
+ 172
+ 172
+ 172
+ 172
+ 173
+ 173
+ 173
+ 173
+ 173
+ 173
+ 174
+ 174
+ 174
+ 174
+ 174
+ 174
+ 175
+ 175
+ 175
+ 175
+ 175
+ 175
+ 175
+ 176
+ 176
+ 176
+ 176
+ 176
+ 176
+ 176
+ 176
+ 177
+ 177
+ 177
+ 177
+ 177
+ 177
+ 177
+ 177
+ 177
+ 177
+ 177
+ 178
+ 178
+ 178
+ 178
+ 178
+ 178
+ 178
+ 178
+ 178
+ 179
+ 179
+ 179
+ 179
+ 179
+ 179
+ 179
+ 179
+ 179
+ 180
+ 180
+ 180
+ 180
+ 180
+ 180
+ 180
+ 180
+ 181
+ 181
+ 181
+ 181
+ 181
+ 181
+ 181
+ 181
+ 182
+ 182
+ 182
+ 182
+ 182
+ 182
+ 182
+ 183
+ 183
+ 183
+ 183
+ 183
+ 183
+ 183
+ 184
+ 184
+ 184
+ 184
+ 184
+ 184
+ 184
+ 185
+ 185
+ 185
+ 185
+ 185
+ 185
+ 185
+ 186
+ 186
+ 186
+ 186
+ 186
+ 186
+ 186
+ 187
+ 187
+ 187
+ 187
+ 187
+ 187
+ 187
+ 188
+ 188
+ 188
+ 188
+ 188
+ 188
+ 188
+ 188
+ 189
+03/09/2020 22:43:52
+cooling down
+03/09/2020 22:45:53
+ 190
+ 190
+ 190
+ 190
+ 190
+ 190
+ 190
+ 190
+ 190
+ 190
+ 190
+ 190
+ 190
+ 189
+ 189
+ 189
+ 189
+ 189
+ 189
+ 189
+ 188
+ 188
+ 188
+ 188
+ 187
+ 187
+ 187
+ 187
+ 186
+ 186
+ 186
+ 186
+ 185
+ 185
+ 185
+ 184
+ 184
+ 183
+ 183
+ 183
+ 182
+ 182
+ 182
+ 181
+ 181
+ 181
+ 180
+ 180
+ 180
+ 179
+ 179
+ 179
+ 178
+ 178
+ 177
+ 177
+ 177
+ 176
+ 176
+ 175
+ 175
+ 175
+ 174
+ 174
+ 174
+ 173
+ 173
+ 173
+ 173
+ 172
+ 172
+ 172
+ 171
+ 171
+ 171
+ 170
+ 170
+ 170
+ 169
+ 169
+ 169
+ 168
+ 168
+ 168
+ 167
+ 167
+ 167
+ 167
+ 166
+ 166
+ 166
+ 165
+ 165
+ 165
+ 165
+ 164
+ 164
+ 164
+ 163
+ 163
+ 163
+ 163
+ 162
+ 162
+ 162
+ 162
+ 161
+ 161
+ 161
+ 161
+ 160
+ 160
+ 160
+ 160
+ 160
+ 159
+ 159
+ 159
+ 159
+ 158
+ 158
+ 158
+ 158
+ 157
+ 157
+ 157
+ 157
+ 157
+ 156
+ 156
+ 156
+ 156
+ 156
+ 155
+ 155
+ 155
+ 155
+ 155
+ 154
+ 154
+ 154
+ 154
+ 154
+ 153
+ 153
+ 153
+ 153
+ 153
+ 152
+ 152
+ 152
+ 152
+ 152
+ 152
+ 151
+ 151
+ 151
+ 151
+ 151
+ 151
+ 150
+ 150
+ 150
+ 150
+ 150
+ 150
+ 149
+ 149
+ 149
+ 149
+ 149
+ 149
+ 149
+ 148
+ 148
+ 148
+ 148
+ 148
+ 148
+ 148
+ 147
+ 147
+ 147
+ 147
+ 147
+ 147
+ 147
+ 146
+ 146
+ 146
+ 146
+ 146
+ 146
+ 146
+ 145
+ 145
+ 145
+ 145
+ 145
+ 145
+ 145
+ 145
+ 144
+ 144
+ 144
+ 144
+ 144
+ 144
+ 144
+ 143
+ 143
+ 143
+ 143
+ 143
+ 143
+ 143
+ 143
+ 143
+ 142
+ 142
+ 142
+ 142
+ 142
+ 142
+ 142
+ 142
+ 142
+ 142
+ 141
+ 141
+ 141
+ 141
+ 141
+ 141
+ 141
+ 141
+ 140
+ 140
+ 140
+ 140
+ 140
+ 140
+ 140
+ 140
+ 140
+ 140
+ 139
+ 139
+ 139
+ 139
+ 139
+ 139
+ 139
+ 139
+ 139
+ 139
+ 138
+ 138
+ 138
+ 138
+ 138
+ 138
+ 138
+ 138
+ 138
+ 138
+ 138
+ 137
+ 137
+ 137
+ 137
+ 137
+ 137
+ 137
+ 137
+ 137
+ 137
+ 137
+ 136
+ 136
+ 136
+ 136
+ 136
+ 136
+ 136
+ 136
+ 136
+ 136
+ 136
+ 136
+ 135
+ 135
+ 135
+ 135
+ 135
+ 135
+ 135
+ 135
+ 135
+ 135
+ 135
+ 135
+ 134
+ 134
+ 134
+ 134
+ 134
+ 134
+ 134
+ 134
+ 134
+ 134
+ 134
+ 134
+ 134
+ 133
+ 133
+ 133
+ 133
+ 133
+ 133
+ 133
+ 133
+ 133
+ 133
+ 133
+ 133
+ 133
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
99
99
99
@@ -8,34 +1798,3287 @@ Heating to 190
99
99
99
+ 99
+ 99
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
98
98
98
98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 59
+04/09/2020 0:00:34
+Heating to 190
+04/09/2020 0:00:34
+ 59
+ 59
+ 59
+ 59
+ 59
+ 59
+ 59
+ 59
+ 59
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 61
+ 61
+ 61
+ 61
+ 62
+ 62
+ 62
+ 63
+ 63
+ 64
+ 64
+ 65
+ 65
+ 65
+ 66
+ 66
+ 67
+ 67
+ 68
+ 69
+ 69
+ 70
+ 70
+ 71
+ 71
+ 72
+ 72
+ 73
+ 73
+ 74
+ 75
+ 75
+ 76
+ 76
+ 77
+ 77
+ 78
+ 78
+ 79
+ 79
+ 80
+ 80
+ 81
+ 81
+ 82
+ 82
+ 83
+ 83
+ 84
+ 84
+ 85
+ 85
+ 86
+ 87
+ 87
+ 88
+ 88
+ 89
+ 89
+ 90
+ 90
+ 91
+ 91
+ 92
+ 92
+ 92
+ 93
+ 93
+ 94
+ 94
+ 95
+ 95
+ 96
+ 96
+ 97
+ 97
+ 97
+ 98
+ 98
99
99
99
100
100
- 100
+ 101
+ 101
101
102
+ 102
+ 103
103
103
104
104
105
105
+ 105
+ 106
106
106
107
107
+ 107
+ 108
108
108
109
109
110
110
+ 110
+ 111
111
111
112
@@ -43,6 +5086,9 @@ Heating to 190
112
113
113
+ 113
+ 114
+ 114
114
114
115
@@ -50,8 +5096,12 @@ Heating to 190
116
116
116
+ 116
117
117
+ 117
+ 118
+ 118
118
118
119
@@ -59,45 +5109,65 @@ Heating to 190
119
120
120
+ 120
+ 120
+ 121
121
121
121
122
122
+ 122
+ 123
123
123
123
124
124
+ 124
+ 124
+ 125
125
125
125
126
126
126
+ 126
127
127
127
128
128
+ 128
+ 128
+ 129
129
129
129
130
130
130
+ 130
+ 130
131
131
131
+ 131
+ 132
132
132
132
133
133
133
+ 133
+ 134
134
134
134
+ 134
+ 135
135
135
135
@@ -108,12 +5178,18 @@ Heating to 190
137
137
137
+ 137
+ 137
+ 138
+ 138
138
138
138
139
139
139
+ 139
+ 140
140
140
140
@@ -121,12 +5197,18 @@ Heating to 190
141
141
141
+ 141
+ 142
142
142
142
+ 142
+ 143
143
143
143
+ 143
+ 144
144
144
144
@@ -138,6 +5220,10 @@ Heating to 190
146
146
146
+ 146
+ 146
+ 147
+ 147
147
147
147
@@ -146,6 +5232,7 @@ Heating to 190
148
148
148
+ 148
149
149
149
@@ -154,10 +5241,16 @@ Heating to 190
150
150
150
+ 150
+ 150
+ 151
151
151
151
151
+ 151
+ 152
+ 152
152
152
152
@@ -171,10 +5264,15 @@ Heating to 190
154
154
154
+ 154
+ 154
+ 155
155
155
155
155
+ 155
+ 156
156
156
156
@@ -184,6 +5282,8 @@ Heating to 190
157
157
157
+ 157
+ 158
158
158
158
@@ -193,11 +5293,15 @@ Heating to 190
159
159
159
+ 159
+ 159
160
160
160
160
160
+ 160
+ 161
161
161
161
@@ -208,6 +5312,7 @@ Heating to 190
162
162
162
+ 162
163
163
163
@@ -218,6 +5323,9 @@ Heating to 190
164
164
164
+ 164
+ 165
+ 165
165
165
165
@@ -228,6 +5336,9 @@ Heating to 190
166
166
166
+ 166
+ 167
+ 167
167
167
167
@@ -243,6 +5354,9 @@ Heating to 190
169
169
169
+ 169
+ 170
+ 170
170
170
170
@@ -259,6 +5373,8 @@ Heating to 190
172
172
172
+ 172
+ 172
173
173
173
@@ -271,6 +5387,8 @@ Heating to 190
174
174
174
+ 174
+ 175
175
175
175
@@ -282,6 +5400,9 @@ Heating to 190
176
176
176
+ 176
+ 176
+ 176
177
177
177
@@ -316,6 +5437,4982 @@ Heating to 190
180
180
180
+ 181
+ 181
+ 181
+ 181
+ 181
+ 181
+ 181
+ 181
+ 182
+ 182
+ 182
+ 182
+ 182
+ 182
+ 183
+ 183
+ 183
+ 183
+ 183
+ 183
+ 183
+ 184
+ 184
+ 184
+ 184
+ 184
+ 184
+ 184
+ 185
+ 185
+ 185
+ 185
+ 185
+ 185
+ 185
+ 186
+ 186
+ 186
+ 186
+ 186
+ 186
+ 186
+ 187
+ 187
+ 187
+ 187
+ 187
+ 187
+ 187
+ 188
+ 188
+ 188
+ 188
+ 188
+ 188
+ 188
+ 188
+ 189
+04/09/2020 0:10:05
+cooling down
+04/09/2020 0:12:05
+ 190
+ 190
+ 190
+ 190
+ 190
+ 190
+ 190
+ 190
+ 190
+ 190
+ 190
+ 190
+ 190
+ 189
+ 189
+ 189
+ 189
+ 189
+ 189
+ 189
+ 188
+ 188
+ 188
+ 188
+ 187
+ 187
+ 187
+ 187
+ 186
+ 186
+ 186
+ 185
+ 185
+ 185
+ 184
+ 184
+ 184
+ 183
+ 183
+ 183
+ 182
+ 182
+ 181
+ 181
+ 181
+ 180
+ 180
+ 180
+ 179
+ 179
+ 179
+ 178
+ 178
+ 178
+ 177
+ 177
+ 177
+ 176
+ 176
+ 175
+ 175
+ 175
+ 174
+ 174
+ 174
+ 173
+ 173
+ 173
+ 172
+ 172
+ 172
+ 171
+ 171
+ 171
+ 170
+ 170
+ 169
+ 169
+ 169
+ 169
+ 168
+ 168
+ 168
+ 167
+ 167
+ 167
+ 167
+ 166
+ 166
+ 166
+ 165
+ 165
+ 165
+ 165
+ 164
+ 164
+ 164
+ 163
+ 163
+ 163
+ 163
+ 162
+ 162
+ 162
+ 162
+ 161
+ 161
+ 161
+ 161
+ 160
+ 160
+ 160
+ 160
+ 160
+ 159
+ 159
+ 159
+ 158
+ 158
+ 158
+ 158
+ 158
+ 157
+ 157
+ 157
+ 157
+ 157
+ 156
+ 156
+ 156
+ 156
+ 156
+ 155
+ 155
+ 155
+ 155
+ 154
+ 154
+ 154
+ 154
+ 154
+ 154
+ 153
+ 153
+ 153
+ 153
+ 153
+ 152
+ 152
+ 152
+ 152
+ 152
+ 151
+ 151
+ 151
+ 151
+ 151
+ 151
+ 150
+ 150
+ 150
+ 150
+ 150
+ 150
+ 150
+ 149
+ 149
+ 149
+ 149
+ 149
+ 149
+ 148
+ 148
+ 148
+ 148
+ 148
+ 148
+ 148
+ 147
+ 147
+ 147
+ 147
+ 147
+ 147
+ 146
+ 146
+ 146
+ 146
+ 146
+ 146
+ 146
+ 146
+ 145
+ 145
+ 145
+ 145
+ 145
+ 145
+ 145
+ 145
+ 144
+ 144
+ 144
+ 144
+ 144
+ 144
+ 144
+ 143
+ 143
+ 143
+ 143
+ 143
+ 143
+ 143
+ 143
+ 143
+ 142
+ 142
+ 142
+ 142
+ 142
+ 142
+ 142
+ 142
+ 141
+ 141
+ 141
+ 141
+ 141
+ 141
+ 141
+ 141
+ 141
+ 141
+ 140
+ 140
+ 140
+ 140
+ 140
+ 140
+ 140
+ 140
+ 140
+ 139
+ 139
+ 139
+ 139
+ 139
+ 139
+ 139
+ 139
+ 139
+ 138
+ 138
+ 138
+ 138
+ 138
+ 138
+ 138
+ 138
+ 138
+ 138
+ 138
+ 137
+ 137
+ 137
+ 137
+ 137
+ 137
+ 137
+ 137
+ 137
+ 137
+ 137
+ 136
+ 136
+ 136
+ 136
+ 136
+ 136
+ 136
+ 136
+ 136
+ 136
+ 136
+ 135
+ 135
+ 135
+ 135
+ 135
+ 135
+ 135
+ 135
+ 135
+ 135
+ 135
+ 135
+ 135
+ 134
+ 134
+ 134
+ 134
+ 134
+ 134
+ 134
+ 134
+ 134
+ 134
+ 134
+ 133
+ 133
+ 133
+ 133
+ 133
+ 133
+ 133
+ 133
+ 133
+ 133
+ 133
+ 133
+ 133
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 59
+04/09/2020 1:27:04
+Heating to 190
+04/09/2020 1:27:04
+ 59
+ 59
+ 59
+ 59
+ 59
+ 59
+ 59
+ 59
+ 59
+ 59
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 61
+ 61
+ 61
+ 62
+ 62
+ 63
+ 63
+ 63
+ 64
+ 64
+ 65
+ 65
+ 66
+ 66
+ 67
+ 67
+ 68
+ 68
+ 69
+ 69
+ 70
+ 70
+ 71
+ 71
+ 72
+ 72
+ 73
+ 74
+ 74
+ 75
+ 75
+ 76
+ 76
+ 77
+ 77
+ 78
+ 78
+ 79
+ 80
+ 80
+ 81
+ 81
+ 82
+ 82
+ 83
+ 83
+ 84
+ 84
+ 85
+ 85
+ 86
+ 86
+ 87
+ 87
+ 88
+ 88
+ 89
+ 89
+ 89
+ 90
+ 90
+ 91
+ 91
+ 92
+ 92
+ 93
+ 93
+ 94
+ 94
+ 94
+ 95
+ 95
+ 96
+ 96
+ 96
+ 97
+ 97
+ 98
+ 98
+ 98
+ 99
+ 99
+ 100
+ 100
+ 100
+ 101
+ 101
+ 102
+ 102
+ 102
+ 103
+ 103
+ 104
+ 104
+ 104
+ 105
+ 105
+ 105
+ 106
+ 106
+ 106
+ 107
+ 107
+ 107
+ 108
+ 108
+ 108
+ 109
+ 109
+ 109
+ 110
+ 110
+ 110
+ 111
+ 111
+ 111
+ 112
+ 112
+ 112
+ 113
+ 113
+ 113
+ 114
+ 114
+ 114
+ 114
+ 115
+ 115
+ 115
+ 116
+ 116
+ 117
+ 117
+ 117
+ 117
+ 118
+ 118
+ 118
+ 119
+ 119
+ 119
+ 119
+ 120
+ 120
+ 120
+ 121
+ 121
+ 121
+ 121
+ 122
+ 122
+ 122
+ 122
+ 123
+ 123
+ 123
+ 124
+ 124
+ 124
+ 124
+ 125
+ 125
+ 125
+ 125
+ 126
+ 126
+ 126
+ 126
+ 127
+ 127
+ 127
+ 127
+ 128
+ 128
+ 128
+ 128
+ 129
+ 129
+ 129
+ 129
+ 130
+ 130
+ 130
+ 130
+ 131
+ 131
+ 131
+ 131
+ 131
+ 132
+ 132
+ 132
+ 132
+ 133
+ 133
+ 133
+ 133
+ 134
+ 134
+ 134
+ 134
+ 135
+ 135
+ 135
+ 135
+ 135
+ 136
+ 136
+ 136
+ 136
+ 137
+ 137
+ 137
+ 137
+ 137
+ 138
+ 138
+ 138
+ 138
+ 138
+ 139
+ 139
+ 139
+ 139
+ 140
+ 140
+ 140
+ 140
+ 140
+ 141
+ 141
+ 141
+ 141
+ 141
+ 142
+ 142
+ 142
+ 142
+ 142
+ 143
+ 143
+ 143
+ 143
+ 143
+ 144
+ 144
+ 144
+ 144
+ 144
+ 145
+ 145
+ 145
+ 145
+ 145
+ 146
+ 146
+ 146
+ 146
+ 147
+ 147
+ 147
+ 147
+ 147
+ 148
+ 148
+ 148
+ 148
+ 148
+ 148
+ 149
+ 149
+ 149
+ 149
+ 149
+ 150
+ 150
+ 150
+ 150
+ 150
+ 150
+ 151
+ 151
+ 151
+ 151
+ 151
+ 152
+ 152
+ 152
+ 152
+ 152
+ 153
+ 153
+ 153
+ 153
+ 153
+ 153
+ 154
+ 154
+ 154
+ 154
+ 154
+ 155
+ 155
+ 155
+ 155
+ 155
+ 155
+ 156
+ 156
+ 156
+ 156
+ 156
+ 156
+ 157
+ 157
+ 157
+ 157
+ 157
+ 157
+ 158
+ 158
+ 158
+ 158
+ 158
+ 158
+ 159
+ 159
+ 159
+ 159
+ 159
+ 159
+ 160
+ 160
+ 160
+ 160
+ 160
+ 160
+ 161
+ 161
+ 161
+ 161
+ 161
+ 161
+ 162
+ 162
+ 162
+ 162
+ 162
+ 162
+ 163
+ 163
+ 163
+ 163
+ 163
+ 163
+ 163
+ 164
+ 164
+ 164
+ 164
+ 164
+ 164
+ 165
+ 165
+ 165
+ 165
+ 165
+ 165
+ 166
+ 166
+ 166
+ 166
+ 166
+ 166
+ 166
+ 167
+ 167
+ 167
+ 167
+ 167
+ 168
+ 168
+ 168
+ 168
+ 168
+ 168
+ 168
+ 169
+ 169
+ 169
+ 169
+ 169
+ 169
+ 169
+ 170
+ 170
+ 170
+ 170
+ 170
+ 170
+ 171
+ 171
+ 171
+ 171
+ 171
+ 171
+ 171
+ 172
+ 172
+ 172
+ 172
+ 172
+ 172
+ 172
+ 173
+ 173
+ 173
+ 173
+ 173
+ 173
+ 173
+ 174
+ 174
+ 174
+ 174
+ 174
+ 174
+ 174
+ 175
+ 175
+ 175
+ 175
+ 175
+ 175
+ 175
+ 176
+ 176
+ 176
+ 176
+ 176
+ 176
+ 176
+ 176
+ 176
+ 177
+ 177
+ 177
+ 177
+ 177
+ 177
+ 177
+ 177
+ 177
+ 177
+ 178
+ 178
+ 178
+ 178
+ 178
+ 178
+ 178
+ 178
+ 178
+ 178
+ 179
+ 179
+ 179
+ 179
+ 179
+ 179
+ 179
+ 179
+ 179
+ 179
+ 180
+ 180
+ 180
+ 180
+ 180
+ 180
+ 180
180
181
181
@@ -345,6 +10442,9 @@ Heating to 190
184
184
184
+ 184
+ 184
+ 185
185
185
185
@@ -374,10 +10474,9 @@ Heating to 190
188
188
189
-24/06/2020 9:57:48
+04/09/2020 1:36:30
cooling down
-24/06/2020 9:59:48
- 190
+04/09/2020 1:38:30
190
190
190
@@ -410,7 +10509,6 @@ cooling down
186
186
186
- 186
185
185
185
@@ -423,7 +10521,7 @@ cooling down
182
182
182
- 182
+ 181
181
181
180
@@ -441,6 +10539,4992 @@ cooling down
176
176
176
+ 175
+ 175
+ 175
+ 174
+ 174
+ 174
+ 173
+ 173
+ 173
+ 172
+ 172
+ 172
+ 171
+ 171
+ 171
+ 170
+ 170
+ 169
+ 169
+ 169
+ 169
+ 168
+ 168
+ 168
+ 167
+ 167
+ 167
+ 167
+ 166
+ 166
+ 166
+ 165
+ 165
+ 165
+ 165
+ 164
+ 164
+ 164
+ 164
+ 163
+ 163
+ 163
+ 163
+ 162
+ 162
+ 162
+ 162
+ 161
+ 161
+ 161
+ 161
+ 160
+ 160
+ 160
+ 160
+ 160
+ 159
+ 159
+ 159
+ 159
+ 158
+ 158
+ 158
+ 158
+ 158
+ 157
+ 157
+ 157
+ 157
+ 157
+ 156
+ 156
+ 156
+ 156
+ 156
+ 155
+ 155
+ 155
+ 155
+ 155
+ 154
+ 154
+ 154
+ 154
+ 154
+ 153
+ 153
+ 153
+ 153
+ 153
+ 153
+ 152
+ 152
+ 152
+ 152
+ 152
+ 151
+ 151
+ 151
+ 151
+ 151
+ 151
+ 150
+ 150
+ 150
+ 150
+ 150
+ 150
+ 149
+ 149
+ 149
+ 149
+ 149
+ 149
+ 149
+ 148
+ 148
+ 148
+ 148
+ 148
+ 148
+ 148
+ 147
+ 147
+ 147
+ 147
+ 147
+ 147
+ 147
+ 146
+ 146
+ 146
+ 146
+ 146
+ 146
+ 146
+ 146
+ 145
+ 145
+ 145
+ 145
+ 145
+ 145
+ 145
+ 145
+ 144
+ 144
+ 144
+ 144
+ 144
+ 144
+ 144
+ 144
+ 144
+ 143
+ 143
+ 143
+ 143
+ 143
+ 143
+ 143
+ 143
+ 142
+ 142
+ 142
+ 142
+ 142
+ 142
+ 142
+ 142
+ 142
+ 142
+ 141
+ 141
+ 141
+ 141
+ 141
+ 141
+ 141
+ 141
+ 140
+ 140
+ 140
+ 140
+ 140
+ 140
+ 140
+ 140
+ 140
+ 140
+ 139
+ 139
+ 139
+ 139
+ 139
+ 139
+ 139
+ 139
+ 139
+ 139
+ 139
+ 138
+ 138
+ 138
+ 138
+ 138
+ 138
+ 138
+ 138
+ 138
+ 138
+ 137
+ 137
+ 137
+ 137
+ 137
+ 137
+ 137
+ 137
+ 137
+ 137
+ 137
+ 137
+ 136
+ 136
+ 136
+ 136
+ 136
+ 136
+ 136
+ 136
+ 136
+ 136
+ 136
+ 136
+ 135
+ 135
+ 135
+ 135
+ 135
+ 135
+ 135
+ 135
+ 135
+ 135
+ 135
+ 135
+ 135
+ 134
+ 134
+ 134
+ 134
+ 134
+ 134
+ 134
+ 134
+ 134
+ 134
+ 134
+ 134
+ 133
+ 133
+ 133
+ 133
+ 133
+ 133
+ 133
+ 133
+ 133
+ 133
+ 133
+ 133
+ 133
+ 133
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 59
+04/09/2020 2:53:13
+Heating to 190
+04/09/2020 2:53:13
+ 59
+ 59
+ 59
+ 59
+ 59
+ 59
+ 59
+ 59
+ 59
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 61
+ 61
+ 61
+ 61
+ 62
+ 62
+ 63
+ 63
+ 63
+ 64
+ 64
+ 65
+ 65
+ 66
+ 66
+ 67
+ 67
+ 68
+ 68
+ 69
+ 69
+ 70
+ 70
+ 71
+ 71
+ 72
+ 72
+ 73
+ 73
+ 74
+ 75
+ 75
+ 76
+ 76
+ 77
+ 78
+ 78
+ 79
+ 79
+ 80
+ 80
+ 81
+ 81
+ 82
+ 82
+ 83
+ 83
+ 84
+ 84
+ 85
+ 85
+ 86
+ 86
+ 87
+ 87
+ 88
+ 88
+ 89
+ 89
+ 90
+ 90
+ 90
+ 91
+ 91
+ 92
+ 92
+ 93
+ 93
+ 93
+ 94
+ 94
+ 95
+ 95
+ 96
+ 96
+ 96
+ 97
+ 97
+ 98
+ 98
+ 98
+ 99
+ 99
+ 99
+ 100
+ 100
+ 101
+ 101
+ 101
+ 102
+ 102
+ 102
+ 103
+ 103
+ 103
+ 104
+ 104
+ 105
+ 105
+ 105
+ 106
+ 106
+ 106
+ 107
+ 107
+ 107
+ 108
+ 108
+ 108
+ 109
+ 109
+ 109
+ 109
+ 110
+ 110
+ 110
+ 111
+ 111
+ 111
+ 112
+ 112
+ 112
+ 113
+ 113
+ 113
+ 113
+ 114
+ 114
+ 114
+ 115
+ 115
+ 115
+ 115
+ 116
+ 116
+ 116
+ 117
+ 117
+ 117
+ 117
+ 118
+ 118
+ 118
+ 119
+ 119
+ 119
+ 119
+ 120
+ 120
+ 120
+ 121
+ 121
+ 121
+ 121
+ 122
+ 122
+ 122
+ 122
+ 123
+ 123
+ 123
+ 123
+ 124
+ 124
+ 124
+ 124
+ 125
+ 125
+ 125
+ 125
+ 126
+ 126
+ 126
+ 126
+ 127
+ 127
+ 127
+ 127
+ 128
+ 128
+ 128
+ 128
+ 129
+ 129
+ 129
+ 129
+ 130
+ 130
+ 130
+ 130
+ 130
+ 131
+ 131
+ 131
+ 131
+ 132
+ 132
+ 132
+ 132
+ 132
+ 133
+ 133
+ 133
+ 133
+ 134
+ 134
+ 134
+ 134
+ 134
+ 135
+ 135
+ 135
+ 135
+ 135
+ 136
+ 136
+ 136
+ 136
+ 136
+ 137
+ 137
+ 137
+ 137
+ 138
+ 138
+ 138
+ 138
+ 138
+ 139
+ 139
+ 139
+ 139
+ 139
+ 140
+ 140
+ 140
+ 140
+ 140
+ 141
+ 141
+ 141
+ 141
+ 141
+ 142
+ 142
+ 142
+ 142
+ 142
+ 142
+ 143
+ 143
+ 143
+ 143
+ 143
+ 144
+ 144
+ 144
+ 144
+ 144
+ 145
+ 145
+ 145
+ 145
+ 145
+ 146
+ 146
+ 146
+ 146
+ 146
+ 147
+ 147
+ 147
+ 147
+ 147
+ 147
+ 148
+ 148
+ 148
+ 148
+ 148
+ 149
+ 149
+ 149
+ 149
+ 149
+ 149
+ 150
+ 150
+ 150
+ 150
+ 150
+ 151
+ 151
+ 151
+ 151
+ 151
+ 151
+ 152
+ 152
+ 152
+ 152
+ 152
+ 152
+ 153
+ 153
+ 153
+ 153
+ 153
+ 153
+ 154
+ 154
+ 154
+ 154
+ 154
+ 154
+ 155
+ 155
+ 155
+ 155
+ 155
+ 155
+ 156
+ 156
+ 156
+ 156
+ 156
+ 156
+ 156
+ 157
+ 157
+ 157
+ 157
+ 157
+ 157
+ 158
+ 158
+ 158
+ 158
+ 158
+ 158
+ 159
+ 159
+ 159
+ 159
+ 159
+ 159
+ 160
+ 160
+ 160
+ 160
+ 160
+ 160
+ 161
+ 161
+ 161
+ 161
+ 161
+ 161
+ 161
+ 162
+ 162
+ 162
+ 162
+ 162
+ 162
+ 163
+ 163
+ 163
+ 163
+ 163
+ 163
+ 163
+ 164
+ 164
+ 164
+ 164
+ 164
+ 164
+ 165
+ 165
+ 165
+ 165
+ 165
+ 165
+ 165
+ 166
+ 166
+ 166
+ 166
+ 166
+ 166
+ 167
+ 167
+ 167
+ 167
+ 167
+ 167
+ 168
+ 168
+ 168
+ 168
+ 168
+ 168
+ 168
+ 169
+ 169
+ 169
+ 169
+ 169
+ 169
+ 169
+ 170
+ 170
+ 170
+ 170
+ 170
+ 170
+ 170
+ 171
+ 171
+ 171
+ 171
+ 171
+ 171
+ 171
+ 172
+ 172
+ 172
+ 172
+ 172
+ 172
+ 172
+ 173
+ 173
+ 173
+ 173
+ 173
+ 173
+ 173
+ 174
+ 174
+ 174
+ 174
+ 174
+ 174
+ 174
+ 175
+ 175
+ 175
+ 175
+ 175
+ 175
+ 175
+ 176
+ 176
+ 176
+ 176
+ 176
+ 176
+ 176
+ 176
+ 176
+ 177
+ 177
+ 177
+ 177
+ 177
+ 177
+ 177
+ 177
+ 177
+ 177
+ 177
+ 178
+ 178
+ 178
+ 178
+ 178
+ 178
+ 178
+ 178
+ 178
+ 178
+ 179
+ 179
+ 179
+ 179
+ 179
+ 179
+ 179
+ 179
+ 179
+ 180
+ 180
+ 180
+ 180
+ 180
+ 180
+ 180
+ 180
+ 180
+ 181
+ 181
+ 181
+ 181
+ 181
+ 181
+ 181
+ 181
+ 182
+ 182
+ 182
+ 182
+ 182
+ 182
+ 182
+ 183
+ 183
+ 183
+ 183
+ 183
+ 183
+ 183
+ 184
+ 184
+ 184
+ 184
+ 184
+ 184
+ 184
+ 184
+ 184
+ 185
+ 185
+ 185
+ 185
+ 185
+ 185
+ 185
+ 186
+ 186
+ 186
+ 186
+ 186
+ 186
+ 186
+ 186
+ 187
+ 187
+ 187
+ 187
+ 187
+ 187
+ 187
+ 188
+ 188
+ 188
+ 188
+ 188
+ 188
+ 188
+ 188
+ 189
+04/09/2020 3:02:59
+cooling down
+04/09/2020 3:04:59
+ 190
+ 190
+ 190
+ 190
+ 190
+ 190
+ 190
+ 190
+ 190
+ 190
+ 190
+ 190
+ 190
+ 189
+ 189
+ 189
+ 189
+ 189
+ 189
+ 189
+ 188
+ 188
+ 188
+ 188
+ 187
+ 187
+ 187
+ 187
+ 186
+ 186
+ 186
+ 186
+ 185
+ 185
+ 185
+ 184
+ 184
+ 184
+ 183
+ 183
+ 183
+ 182
+ 182
+ 182
+ 181
+ 181
+ 181
+ 180
+ 180
+ 180
+ 179
+ 179
+ 179
+ 178
+ 178
+ 178
+ 177
+ 177
+ 177
+ 176
+ 176
176
175
175
@@ -451,6 +15535,5046 @@ cooling down
173
173
173
+ 172
+ 172
+ 172
+ 171
+ 171
+ 170
+ 170
+ 170
+ 170
+ 169
+ 169
+ 169
+ 168
+ 168
+ 168
+ 167
+ 167
+ 167
+ 167
+ 166
+ 166
+ 166
+ 166
+ 165
+ 165
+ 165
+ 165
+ 164
+ 164
+ 164
+ 163
+ 163
+ 163
+ 163
+ 162
+ 162
+ 162
+ 162
+ 162
+ 161
+ 161
+ 161
+ 161
+ 160
+ 160
+ 160
+ 160
+ 159
+ 159
+ 159
+ 159
+ 159
+ 158
+ 158
+ 158
+ 158
+ 158
+ 157
+ 157
+ 157
+ 157
+ 157
+ 156
+ 156
+ 156
+ 156
+ 156
+ 155
+ 155
+ 155
+ 155
+ 155
+ 154
+ 154
+ 154
+ 154
+ 154
+ 154
+ 153
+ 153
+ 153
+ 153
+ 153
+ 152
+ 152
+ 152
+ 152
+ 152
+ 151
+ 151
+ 151
+ 151
+ 151
+ 151
+ 151
+ 150
+ 150
+ 150
+ 150
+ 150
+ 150
+ 149
+ 149
+ 149
+ 149
+ 149
+ 149
+ 149
+ 148
+ 148
+ 148
+ 148
+ 148
+ 148
+ 148
+ 147
+ 147
+ 147
+ 147
+ 147
+ 147
+ 147
+ 147
+ 146
+ 146
+ 146
+ 146
+ 146
+ 146
+ 146
+ 146
+ 145
+ 145
+ 145
+ 145
+ 145
+ 145
+ 145
+ 145
+ 144
+ 144
+ 144
+ 144
+ 144
+ 144
+ 144
+ 144
+ 144
+ 143
+ 143
+ 143
+ 143
+ 143
+ 143
+ 143
+ 143
+ 142
+ 142
+ 142
+ 142
+ 142
+ 142
+ 142
+ 142
+ 142
+ 141
+ 141
+ 141
+ 141
+ 141
+ 141
+ 141
+ 141
+ 141
+ 141
+ 140
+ 140
+ 140
+ 140
+ 140
+ 140
+ 140
+ 140
+ 140
+ 140
+ 139
+ 139
+ 139
+ 139
+ 139
+ 139
+ 139
+ 139
+ 139
+ 139
+ 139
+ 138
+ 138
+ 138
+ 138
+ 138
+ 138
+ 138
+ 138
+ 138
+ 138
+ 138
+ 137
+ 137
+ 137
+ 137
+ 137
+ 137
+ 137
+ 137
+ 137
+ 137
+ 137
+ 137
+ 136
+ 136
+ 136
+ 136
+ 136
+ 136
+ 136
+ 136
+ 136
+ 136
+ 136
+ 136
+ 135
+ 135
+ 135
+ 135
+ 135
+ 135
+ 135
+ 135
+ 135
+ 135
+ 135
+ 135
+ 135
+ 134
+ 134
+ 134
+ 134
+ 134
+ 134
+ 134
+ 134
+ 134
+ 134
+ 134
+ 134
+ 133
+ 133
+ 133
+ 133
+ 133
+ 133
+ 133
+ 133
+ 133
+ 133
+ 133
+ 133
+ 133
+ 133
+ 133
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 59
+04/09/2020 4:20:17
+Heating to 190
+04/09/2020 4:20:17
+ 59
+ 59
+ 59
+ 59
+ 59
+ 59
+ 59
+ 59
+ 59
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 61
+ 61
+ 61
+ 61
+ 62
+ 62
+ 62
+ 63
+ 63
+ 64
+ 64
+ 64
+ 65
+ 65
+ 66
+ 66
+ 67
+ 67
+ 68
+ 68
+ 69
+ 69
+ 70
+ 70
+ 71
+ 71
+ 72
+ 72
+ 73
+ 74
+ 74
+ 75
+ 75
+ 76
+ 76
+ 77
+ 77
+ 78
+ 78
+ 79
+ 79
+ 80
+ 80
+ 81
+ 81
+ 82
+ 82
+ 83
+ 83
+ 84
+ 84
+ 85
+ 85
+ 86
+ 86
+ 87
+ 87
+ 88
+ 88
+ 89
+ 89
+ 89
+ 90
+ 90
+ 91
+ 91
+ 92
+ 92
+ 93
+ 93
+ 93
+ 94
+ 94
+ 95
+ 95
+ 95
+ 96
+ 96
+ 97
+ 97
+ 97
+ 98
+ 98
+ 99
+ 99
+ 99
+ 100
+ 100
+ 100
+ 101
+ 101
+ 102
+ 102
+ 102
+ 103
+ 103
+ 103
+ 104
+ 104
+ 104
+ 105
+ 105
+ 105
+ 106
+ 106
+ 107
+ 107
+ 107
+ 108
+ 108
+ 108
+ 109
+ 109
+ 109
+ 110
+ 110
+ 110
+ 111
+ 111
+ 111
+ 112
+ 112
+ 112
+ 112
+ 113
+ 113
+ 113
+ 114
+ 114
+ 114
+ 115
+ 115
+ 115
+ 115
+ 116
+ 116
+ 116
+ 117
+ 117
+ 117
+ 117
+ 118
+ 118
+ 118
+ 118
+ 119
+ 119
+ 119
+ 120
+ 120
+ 120
+ 120
+ 121
+ 121
+ 121
+ 121
+ 122
+ 122
+ 122
+ 122
+ 123
+ 123
+ 123
+ 123
+ 124
+ 124
+ 124
+ 124
+ 125
+ 125
+ 125
+ 125
+ 126
+ 126
+ 126
+ 126
+ 127
+ 127
+ 127
+ 127
+ 127
+ 128
+ 128
+ 128
+ 128
+ 129
+ 129
+ 129
+ 129
+ 130
+ 130
+ 130
+ 130
+ 130
+ 131
+ 131
+ 131
+ 131
+ 132
+ 132
+ 132
+ 132
+ 132
+ 133
+ 133
+ 133
+ 133
+ 133
+ 134
+ 134
+ 134
+ 134
+ 134
+ 135
+ 135
+ 135
+ 135
+ 136
+ 136
+ 136
+ 136
+ 136
+ 137
+ 137
+ 137
+ 137
+ 137
+ 138
+ 138
+ 138
+ 138
+ 138
+ 139
+ 139
+ 139
+ 139
+ 139
+ 140
+ 140
+ 140
+ 140
+ 140
+ 141
+ 141
+ 141
+ 141
+ 142
+ 142
+ 142
+ 142
+ 142
+ 142
+ 143
+ 143
+ 143
+ 143
+ 143
+ 144
+ 144
+ 144
+ 144
+ 144
+ 144
+ 145
+ 145
+ 145
+ 145
+ 145
+ 146
+ 146
+ 146
+ 146
+ 146
+ 146
+ 147
+ 147
+ 147
+ 147
+ 147
+ 148
+ 148
+ 148
+ 148
+ 148
+ 148
+ 149
+ 149
+ 149
+ 149
+ 149
+ 149
+ 150
+ 150
+ 150
+ 150
+ 150
+ 150
+ 151
+ 151
+ 151
+ 151
+ 151
+ 152
+ 152
+ 152
+ 152
+ 152
+ 152
+ 153
+ 153
+ 153
+ 153
+ 153
+ 153
+ 154
+ 154
+ 154
+ 154
+ 154
+ 154
+ 155
+ 155
+ 155
+ 155
+ 155
+ 156
+ 156
+ 156
+ 156
+ 156
+ 156
+ 156
+ 157
+ 157
+ 157
+ 157
+ 157
+ 157
+ 158
+ 158
+ 158
+ 158
+ 158
+ 158
+ 158
+ 159
+ 159
+ 159
+ 159
+ 159
+ 159
+ 160
+ 160
+ 160
+ 160
+ 160
+ 160
+ 160
+ 161
+ 161
+ 161
+ 161
+ 161
+ 161
+ 161
+ 162
+ 162
+ 162
+ 162
+ 162
+ 162
+ 163
+ 163
+ 163
+ 163
+ 163
+ 163
+ 163
+ 164
+ 164
+ 164
+ 164
+ 164
+ 164
+ 164
+ 165
+ 165
+ 165
+ 165
+ 165
+ 166
+ 166
+ 166
+ 166
+ 166
+ 166
+ 166
+ 167
+ 167
+ 167
+ 167
+ 167
+ 167
+ 167
+ 168
+ 168
+ 168
+ 168
+ 168
+ 168
+ 168
+ 169
+ 169
+ 169
+ 169
+ 169
+ 169
+ 169
+ 170
+ 170
+ 170
+ 170
+ 170
+ 170
+ 170
+ 171
+ 171
+ 171
+ 171
+ 171
+ 171
+ 171
+ 172
+ 172
+ 172
+ 172
+ 172
+ 172
+ 172
+ 173
+ 173
+ 173
+ 173
+ 173
+ 173
+ 173
+ 174
+ 174
+ 174
+ 174
+ 174
+ 174
+ 174
+ 175
+ 175
+ 175
+ 175
+ 175
+ 175
+ 175
+ 175
+ 176
+ 176
+ 176
+ 176
+ 176
+ 176
+ 176
+ 176
+ 177
+ 177
+ 177
+ 177
+ 177
+ 177
+ 177
+ 177
+ 177
+ 177
+ 177
+ 178
+ 178
+ 178
+ 178
+ 178
+ 178
+ 178
+ 178
+ 178
+ 178
+ 178
+ 179
+ 179
+ 179
+ 179
+ 179
+ 179
+ 179
+ 179
+ 179
+ 179
+ 180
+ 180
+ 180
+ 180
+ 180
+ 180
+ 180
+ 180
+ 181
+ 181
+ 181
+ 181
+ 181
+ 181
+ 181
+ 181
+ 181
+ 182
+ 182
+ 182
+ 182
+ 182
+ 182
+ 182
+ 182
+ 183
+ 183
+ 183
+ 183
+ 183
+ 183
+ 183
+ 184
+ 184
+ 184
+ 184
+ 184
+ 184
+ 184
+ 185
+ 185
+ 185
+ 185
+ 185
+ 185
+ 185
+ 186
+ 186
+ 186
+ 186
+ 186
+ 186
+ 186
+ 186
+ 187
+ 187
+ 187
+ 187
+ 187
+ 187
+ 187
+ 187
+ 188
+ 188
+ 188
+ 188
+ 188
+ 188
+ 188
+ 188
+ 189
+04/09/2020 4:30:11
+cooling down
+04/09/2020 4:32:11
+ 190
+ 190
+ 190
+ 190
+ 190
+ 190
+ 190
+ 190
+ 190
+ 190
+ 190
+ 190
+ 190
+ 189
+ 189
+ 189
+ 189
+ 189
+ 189
+ 189
+ 188
+ 188
+ 188
+ 188
+ 187
+ 187
+ 187
+ 187
+ 186
+ 186
+ 186
+ 186
+ 185
+ 185
+ 185
+ 184
+ 184
+ 184
+ 183
+ 183
+ 183
+ 182
+ 182
+ 182
+ 181
+ 181
+ 181
+ 180
+ 180
+ 180
+ 179
+ 179
+ 179
+ 178
+ 178
+ 178
+ 177
+ 177
+ 177
+ 176
+ 176
+ 176
+ 175
+ 175
+ 175
+ 174
+ 174
+ 174
+ 173
+ 173
173
172
172
@@ -465,7 +20589,6 @@ cooling down
169
169
169
- 169
168
168
168
@@ -476,7 +20599,6 @@ cooling down
166
166
166
- 166
165
165
165
@@ -489,7 +20611,6 @@ cooling down
163
163
163
- 163
162
162
162
@@ -512,8 +20633,6 @@ cooling down
158
158
158
- 158
- 158
157
157
157
@@ -542,15 +20661,12 @@ cooling down
153
153
153
- 153
152
152
152
152
152
152
- 152
- 151
151
151
151
@@ -569,8 +20685,6 @@ cooling down
149
149
149
- 149
- 149
148
148
148
@@ -579,8 +20693,6 @@ cooling down
148
148
148
- 148
- 147
147
147
147
@@ -588,8 +20700,6 @@ cooling down
147
147
147
- 147
- 146
146
146
146
@@ -606,8 +20716,6 @@ cooling down
145
145
145
- 145
- 144
144
144
144
@@ -626,9 +20734,6 @@ cooling down
143
143
143
- 143
- 142
- 142
142
142
142
@@ -656,3 +20761,4367 @@ cooling down
140
140
140
+ 140
+ 140
+ 140
+ 139
+ 139
+ 139
+ 139
+ 139
+ 139
+ 139
+ 139
+ 139
+ 139
+ 138
+ 138
+ 138
+ 138
+ 138
+ 138
+ 138
+ 138
+ 138
+ 138
+ 138
+ 137
+ 137
+ 137
+ 137
+ 137
+ 137
+ 137
+ 137
+ 137
+ 137
+ 137
+ 137
+ 137
+ 136
+ 136
+ 136
+ 136
+ 136
+ 136
+ 136
+ 136
+ 136
+ 136
+ 136
+ 136
+ 135
+ 135
+ 135
+ 135
+ 135
+ 135
+ 135
+ 135
+ 135
+ 135
+ 135
+ 135
+ 135
+ 134
+ 134
+ 134
+ 134
+ 134
+ 134
+ 134
+ 134
+ 134
+ 134
+ 134
+ 134
+ 133
+ 133
+ 133
+ 133
+ 133
+ 133
+ 133
+ 133
+ 133
+ 133
+ 133
+ 133
+ 133
+ 133
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 59
+04/09/2020 5:47:35
+Heating to 190
+04/09/2020 5:47:35
+ 59
+ 59
+ 59
+ 59
+ 59
+ 59
+ 59
+ 59
+ 59
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 61
+ 61
+ 61
+ 62
+ 62
+ 62
+ 63
+ 63
+ 63
+ 64
+ 64
+ 65
+ 65
+ 66
+ 66
+ 67
+ 67
+ 68
+ 68
+ 69
+ 69
+ 70
+ 70
+ 71
+ 71
+ 72
+ 72
+ 73
+ 73
+ 74
+ 75
+ 75
+ 76
+ 76
+ 77
+ 77
+ 78
+ 78
+ 79
+ 79
+ 80
+ 80
+ 81
+ 81
+ 82
+ 82
+ 83
+ 83
+ 84
+ 84
+ 85
+ 85
+ 86
+ 86
+ 87
+ 87
+ 88
+ 88
+ 88
+ 89
+ 90
+ 90
+ 91
+ 91
+ 92
+ 92
+ 92
+ 93
+ 93
+ 94
+ 94
+ 94
+ 95
+ 95
+ 96
+ 96
+ 96
+ 97
+ 97
+ 98
+ 98
+ 98
+ 99
+ 99
+ 100
+ 100
+ 100
+ 101
+ 101
+ 101
+ 102
+ 102
+ 102
+ 103
+ 103
+ 104
+ 104
+ 104
+ 105
+ 105
+ 105
+ 106
+ 106
+ 106
+ 107
+ 107
+ 107
+ 108
+ 108
+ 108
+ 109
+ 109
+ 109
+ 109
+ 110
+ 110
+ 110
+ 111
+ 111
+ 111
+ 112
+ 112
+ 112
+ 113
+ 113
+ 113
+ 113
+ 114
+ 114
+ 114
+ 115
+ 115
+ 115
+ 115
+ 116
+ 116
+ 116
+ 117
+ 117
+ 117
+ 117
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Tset1.CSV b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Tset1.CSV
new file mode 100644
index 000000000..6d1a7862c
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Tset1.CSV
@@ -0,0 +1,1600 @@
+06/07/2020 9:43:12
+Heating to 190
+06/07/2020 9:43:12
+ 23
+ 23
+ 23
+ 23
+ 23
+ 23
+ 23
+ 23
+ 23
+ 23
+ 23
+ 23
+ 23
+ 23
+ 23
+ 23
+ 23
+ 23
+ 23
+ 23
+ 23
+ 23
+ 23
+ 23
+ 23
+ 23
+ 24
+ 24
+ 24
+ 24
+ 24
+ 24
+ 25
+ 25
+ 25
+ 26
+ 26
+ 26
+ 27
+ 27
+ 28
+ 28
+ 29
+ 29
+ 30
+ 30
+ 31
+ 31
+ 32
+ 32
+ 33
+ 33
+ 34
+ 34
+ 35
+ 35
+ 36
+ 37
+ 37
+ 38
+ 38
+ 39
+ 39
+ 40
+ 41
+ 41
+ 42
+ 42
+ 43
+ 43
+ 44
+ 44
+ 45
+ 46
+ 46
+ 47
+ 47
+ 48
+ 48
+ 49
+ 49
+ 50
+ 50
+ 51
+ 52
+ 52
+ 53
+ 53
+ 54
+ 54
+ 55
+ 55
+ 56
+ 56
+ 56
+ 57
+ 57
+ 58
+ 58
+ 59
+ 59
+ 60
+ 60
+ 60
+ 61
+ 61
+ 62
+ 62
+ 63
+ 63
+ 63
+ 64
+ 64
+ 65
+ 65
+ 65
+ 66
+ 66
+ 66
+ 67
+ 67
+ 68
+ 68
+ 68
+ 69
+ 69
+ 69
+ 70
+ 70
+ 71
+ 71
+ 71
+ 72
+ 72
+ 72
+ 73
+ 73
+ 73
+ 74
+ 74
+ 74
+ 75
+ 75
+ 75
+ 76
+ 76
+ 76
+ 77
+ 77
+ 77
+ 78
+ 78
+ 78
+ 79
+ 79
+ 79
+ 79
+ 80
+ 80
+ 80
+ 81
+ 81
+ 81
+ 82
+ 82
+ 82
+ 82
+ 83
+ 83
+ 83
+ 84
+ 84
+ 84
+ 84
+ 85
+ 85
+ 85
+ 86
+ 86
+ 86
+ 86
+ 87
+ 87
+ 87
+ 88
+ 88
+ 88
+ 88
+ 89
+ 89
+ 89
+ 89
+ 90
+ 90
+ 90
+ 91
+ 91
+ 91
+ 92
+ 92
+ 92
+ 92
+ 93
+ 93
+ 93
+ 93
+ 94
+ 94
+ 94
+ 94
+ 95
+ 95
+ 95
+ 95
+ 96
+ 96
+ 96
+ 96
+ 97
+ 97
+ 97
+ 97
+ 98
+ 98
+ 98
+ 98
+ 98
+ 99
+ 99
+ 99
+ 99
+ 100
+ 100
+ 100
+ 100
+ 101
+ 101
+ 101
+ 101
+ 102
+ 102
+ 102
+ 102
+ 102
+ 103
+ 103
+ 103
+ 103
+ 104
+ 104
+ 104
+ 104
+ 105
+ 105
+ 105
+ 105
+ 105
+ 106
+ 106
+ 106
+ 106
+ 106
+ 107
+ 107
+ 107
+ 107
+ 107
+ 108
+ 108
+ 108
+ 108
+ 108
+ 109
+ 109
+ 109
+ 109
+ 110
+ 110
+ 110
+ 110
+ 110
+ 111
+ 111
+ 111
+ 111
+ 111
+ 112
+ 112
+ 112
+ 112
+ 112
+ 113
+ 113
+ 113
+ 113
+ 113
+ 114
+ 114
+ 114
+ 114
+ 114
+ 115
+ 115
+ 115
+ 115
+ 115
+ 116
+ 116
+ 116
+ 116
+ 116
+ 117
+ 117
+ 117
+ 117
+ 117
+ 118
+ 118
+ 118
+ 118
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 120
+ 120
+ 120
+ 120
+ 120
+ 121
+ 121
+ 121
+ 121
+ 121
+ 122
+ 122
+ 122
+ 122
+ 122
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 124
+ 124
+ 124
+ 124
+ 124
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 126
+ 126
+ 126
+ 126
+ 126
+ 127
+ 127
+ 127
+ 127
+ 127
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 129
+ 129
+ 129
+ 129
+ 129
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 133
+ 133
+ 133
+ 133
+ 133
+ 134
+ 134
+ 134
+ 134
+ 134
+ 134
+ 135
+ 135
+ 135
+ 135
+ 135
+ 135
+ 136
+ 136
+ 136
+ 136
+ 136
+ 136
+ 137
+ 137
+ 137
+ 137
+ 137
+ 137
+ 138
+ 138
+ 138
+ 138
+ 138
+ 138
+ 139
+ 139
+ 139
+ 139
+ 139
+ 139
+ 140
+ 140
+ 140
+ 140
+ 140
+ 140
+ 141
+ 141
+ 141
+ 141
+ 141
+ 141
+ 142
+ 142
+ 142
+ 142
+ 142
+ 142
+ 143
+ 143
+ 143
+ 143
+ 143
+ 143
+ 144
+ 144
+ 144
+ 144
+ 144
+ 144
+ 145
+ 145
+ 145
+ 145
+ 145
+ 145
+ 145
+ 146
+ 146
+ 146
+ 146
+ 146
+ 146
+ 147
+ 147
+ 147
+ 147
+ 147
+ 147
+ 147
+ 148
+ 148
+ 148
+ 148
+ 148
+ 148
+ 149
+ 149
+ 149
+ 149
+ 149
+ 149
+ 150
+ 150
+ 150
+ 150
+ 150
+ 150
+ 150
+ 151
+ 151
+ 151
+ 151
+ 151
+ 151
+ 151
+ 152
+ 152
+ 152
+ 152
+ 152
+ 152
+ 152
+ 153
+ 153
+ 153
+ 153
+ 153
+ 153
+ 153
+ 154
+ 154
+ 154
+ 154
+ 154
+ 154
+ 155
+ 155
+ 155
+ 155
+ 155
+ 155
+ 155
+ 156
+ 156
+ 156
+ 156
+ 156
+ 156
+ 156
+ 157
+ 157
+ 157
+ 157
+ 157
+ 157
+ 157
+ 158
+ 158
+ 158
+ 158
+ 158
+ 158
+ 158
+ 159
+ 159
+ 159
+ 159
+ 159
+ 159
+ 160
+ 160
+ 160
+ 160
+ 160
+ 160
+ 160
+ 161
+ 161
+ 161
+ 161
+ 161
+ 161
+ 161
+ 162
+ 162
+ 162
+ 162
+ 162
+ 162
+ 162
+ 163
+ 163
+ 163
+ 163
+ 163
+ 163
+ 163
+ 164
+ 164
+ 164
+ 164
+ 164
+ 164
+ 164
+ 165
+ 165
+ 165
+ 165
+ 165
+ 165
+ 165
+ 166
+ 166
+ 166
+ 166
+ 166
+ 166
+ 166
+ 166
+ 167
+ 167
+ 167
+ 167
+ 167
+ 167
+ 167
+ 167
+ 168
+ 168
+ 168
+ 168
+ 168
+ 168
+ 168
+ 169
+ 169
+ 169
+ 169
+ 169
+ 169
+ 169
+ 170
+ 170
+ 170
+ 170
+ 170
+ 170
+ 170
+ 170
+ 171
+ 171
+ 171
+ 171
+ 171
+ 171
+ 171
+ 172
+ 172
+ 172
+ 172
+ 172
+ 172
+ 172
+ 172
+ 173
+ 173
+ 173
+ 173
+ 173
+ 173
+ 173
+ 174
+ 174
+ 174
+ 174
+ 174
+ 174
+ 174
+ 175
+ 175
+ 175
+ 175
+ 175
+ 175
+ 175
+ 175
+ 176
+ 176
+ 176
+ 176
+ 176
+ 176
+ 176
+ 176
+ 176
+ 177
+ 177
+ 177
+ 177
+ 177
+ 177
+ 177
+ 177
+ 177
+ 177
+ 177
+ 178
+ 178
+ 178
+ 178
+ 178
+ 178
+ 178
+ 178
+ 178
+ 178
+ 178
+ 179
+ 179
+ 179
+ 179
+ 179
+ 179
+ 179
+ 179
+ 179
+ 179
+ 180
+ 180
+ 180
+ 180
+ 180
+ 180
+ 180
+ 180
+ 180
+ 180
+ 181
+ 181
+ 181
+ 181
+ 181
+ 181
+ 181
+ 181
+ 181
+ 181
+ 182
+ 182
+ 182
+ 182
+ 182
+ 182
+ 182
+ 182
+ 182
+ 182
+ 183
+ 183
+ 183
+ 183
+ 183
+ 183
+ 183
+ 183
+ 183
+ 183
+ 184
+ 184
+ 184
+ 184
+ 184
+ 184
+ 184
+ 184
+ 184
+ 185
+ 185
+ 185
+ 185
+ 185
+ 185
+ 185
+ 185
+ 185
+ 185
+ 186
+ 186
+ 186
+ 186
+ 186
+ 186
+ 186
+ 186
+ 186
+ 187
+ 187
+ 187
+ 187
+ 187
+ 187
+ 187
+ 187
+ 187
+ 188
+ 188
+ 188
+ 188
+ 188
+ 188
+ 188
+ 188
+ 188
+ 188
+ 189
+06/07/2020 9:56:54
+cooling down
+06/07/2020 9:58:54
+ 191
+ 191
+ 191
+ 191
+ 191
+ 191
+ 191
+ 191
+ 191
+ 191
+ 191
+ 190
+ 190
+ 190
+ 190
+ 190
+ 190
+ 190
+ 189
+ 189
+ 189
+ 189
+ 188
+ 188
+ 188
+ 188
+ 187
+ 187
+ 186
+ 186
+ 186
+ 185
+ 185
+ 185
+ 184
+ 184
+ 184
+ 183
+ 183
+ 183
+ 182
+ 182
+ 182
+ 181
+ 181
+ 181
+ 180
+ 180
+ 179
+ 179
+ 179
+ 178
+ 178
+ 178
+ 177
+ 177
+ 177
+ 176
+ 176
+ 175
+ 175
+ 175
+ 174
+ 174
+ 174
+ 173
+ 173
+ 173
+ 172
+ 172
+ 172
+ 171
+ 171
+ 171
+ 170
+ 170
+ 170
+ 169
+ 169
+ 169
+ 168
+ 168
+ 168
+ 167
+ 167
+ 167
+ 167
+ 166
+ 166
+ 166
+ 165
+ 165
+ 165
+ 164
+ 164
+ 164
+ 164
+ 163
+ 163
+ 163
+ 162
+ 162
+ 162
+ 161
+ 161
+ 161
+ 161
+ 160
+ 160
+ 160
+ 160
+ 159
+ 159
+ 159
+ 159
+ 158
+ 158
+ 158
+ 158
+ 157
+ 157
+ 157
+ 157
+ 157
+ 156
+ 156
+ 156
+ 156
+ 155
+ 155
+ 155
+ 155
+ 155
+ 154
+ 154
+ 154
+ 154
+ 153
+ 153
+ 153
+ 153
+ 153
+ 152
+ 152
+ 152
+ 152
+ 152
+ 152
+ 151
+ 151
+ 151
+ 151
+ 151
+ 150
+ 150
+ 150
+ 150
+ 150
+ 149
+ 149
+ 149
+ 149
+ 149
+ 149
+ 148
+ 148
+ 148
+ 148
+ 148
+ 148
+ 147
+ 147
+ 147
+ 147
+ 147
+ 147
+ 146
+ 146
+ 146
+ 146
+ 146
+ 146
+ 145
+ 145
+ 145
+ 145
+ 145
+ 145
+ 145
+ 144
+ 144
+ 144
+ 144
+ 144
+ 144
+ 144
+ 143
+ 143
+ 143
+ 143
+ 143
+ 143
+ 143
+ 142
+ 142
+ 142
+ 142
+ 142
+ 142
+ 142
+ 142
+ 141
+ 141
+ 141
+ 141
+ 141
+ 141
+ 141
+ 141
+ 141
+ 140
+ 140
+ 140
+ 140
+ 140
+ 140
+ 140
+ 140
+ 139
+ 139
+ 139
+ 139
+ 139
+ 139
+ 139
+ 139
+ 139
+ 138
+ 138
+ 138
+ 138
+ 138
+ 138
+ 138
+ 138
+ 138
+ 137
+ 137
+ 137
+ 137
+ 137
+ 137
+ 137
+ 137
+ 137
+ 136
+ 136
+ 136
+ 136
+ 136
+ 136
+ 136
+ 136
+ 136
+ 136
+ 135
+ 135
+ 135
+ 135
+ 135
+ 135
+ 135
+ 135
+ 135
+ 135
+ 134
+ 134
+ 134
+ 134
+ 134
+ 134
+ 134
+ 134
+ 134
+ 134
+ 134
+ 133
+ 133
+ 133
+ 133
+ 133
+ 133
+ 133
+ 133
+ 133
+ 133
+ 133
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Tset111.CSV b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Tset111.CSV
new file mode 100644
index 000000000..4ab057b1c
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/Dryer_Tset111.CSV
@@ -0,0 +1,29654 @@
+16/08/2020 18:49:18
+Heating to 190
+16/08/2020 18:49:18
+ 24
+ 24
+ 24
+ 24
+ 24
+ 24
+ 24
+ 24
+ 24
+ 24
+ 24
+ 24
+ 24
+ 25
+ 25
+ 25
+ 25
+ 25
+ 26
+ 26
+ 26
+ 26
+ 27
+ 27
+ 27
+ 28
+ 28
+ 29
+ 29
+ 29
+ 30
+ 30
+ 31
+ 31
+ 32
+ 32
+ 33
+ 33
+ 33
+ 34
+ 34
+ 35
+ 36
+ 36
+ 37
+ 38
+ 38
+ 39
+ 39
+ 40
+ 40
+ 41
+ 41
+ 42
+ 42
+ 43
+ 43
+ 44
+ 44
+ 45
+ 45
+ 46
+ 46
+ 47
+ 47
+ 48
+ 48
+ 49
+ 49
+ 50
+ 50
+ 51
+ 51
+ 52
+ 52
+ 53
+ 53
+ 53
+ 54
+ 54
+ 55
+ 55
+ 56
+ 56
+ 57
+ 57
+ 57
+ 58
+ 58
+ 59
+ 59
+ 60
+ 60
+ 60
+ 61
+ 61
+ 62
+ 62
+ 63
+ 63
+ 63
+ 64
+ 64
+ 65
+ 65
+ 66
+ 66
+ 66
+ 67
+ 67
+ 67
+ 68
+ 68
+ 69
+ 69
+ 69
+ 70
+ 70
+ 70
+ 71
+ 71
+ 71
+ 72
+ 72
+ 72
+ 73
+ 73
+ 73
+ 74
+ 74
+ 74
+ 75
+ 75
+ 75
+ 76
+ 76
+ 76
+ 77
+ 77
+ 77
+ 78
+ 78
+ 78
+ 79
+ 79
+ 79
+ 79
+ 80
+ 80
+ 80
+ 81
+ 81
+ 81
+ 81
+ 82
+ 82
+ 82
+ 83
+ 83
+ 83
+ 84
+ 84
+ 84
+ 84
+ 85
+ 85
+ 85
+ 85
+ 86
+ 86
+ 86
+ 87
+ 87
+ 87
+ 87
+ 88
+ 88
+ 88
+ 88
+ 89
+ 89
+ 89
+ 89
+ 90
+ 90
+ 90
+ 91
+ 91
+ 91
+ 91
+ 92
+ 92
+ 92
+ 92
+ 93
+ 93
+ 93
+ 93
+ 94
+ 94
+ 94
+ 94
+ 95
+ 95
+ 95
+ 95
+ 95
+ 96
+ 96
+ 96
+ 96
+ 97
+ 97
+ 97
+ 97
+ 98
+ 98
+ 98
+ 98
+ 98
+ 99
+ 99
+ 99
+ 99
+ 100
+ 100
+ 100
+ 100
+ 100
+ 101
+ 101
+ 101
+ 101
+ 102
+ 102
+ 102
+ 102
+ 102
+ 103
+ 103
+ 103
+ 103
+ 104
+ 104
+ 104
+ 104
+ 104
+ 105
+ 105
+ 105
+ 105
+ 105
+ 106
+ 106
+ 106
+ 106
+ 106
+ 107
+ 107
+ 107
+ 107
+ 107
+ 108
+ 108
+ 108
+ 108
+ 108
+ 109
+ 109
+ 109
+ 109
+ 110
+ 110
+ 110
+ 110
+ 110
+ 111
+ 111
+ 111
+ 111
+ 111
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 113
+ 113
+ 113
+ 113
+ 113
+ 114
+ 114
+ 114
+ 114
+ 114
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 116
+ 116
+ 116
+ 116
+ 116
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 118
+ 118
+ 118
+ 118
+ 118
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 121
+ 121
+ 121
+ 121
+ 121
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 132
+ 132
+ 132
+ 132
+ 132
+ 133
+ 133
+ 133
+ 133
+ 133
+ 133
+ 133
+ 134
+ 134
+ 134
+ 134
+ 134
+ 134
+ 135
+ 135
+ 135
+ 135
+ 135
+ 135
+ 135
+ 136
+ 136
+ 136
+ 136
+ 136
+ 136
+ 136
+ 137
+ 137
+ 137
+ 137
+ 137
+ 137
+ 138
+ 138
+ 138
+ 138
+ 138
+ 138
+ 138
+ 139
+ 139
+ 139
+ 139
+ 139
+ 139
+ 139
+ 140
+ 140
+ 140
+ 140
+ 140
+ 140
+ 140
+ 141
+ 141
+ 141
+ 141
+ 141
+ 141
+ 141
+ 142
+ 142
+ 142
+ 142
+ 142
+ 142
+ 142
+ 143
+ 143
+ 143
+ 143
+ 143
+ 143
+ 143
+ 143
+ 144
+ 144
+ 144
+ 144
+ 144
+ 144
+ 144
+ 145
+ 145
+ 145
+ 145
+ 145
+ 145
+ 146
+ 146
+ 146
+ 146
+ 146
+ 146
+ 146
+ 147
+ 147
+ 147
+ 147
+ 147
+ 147
+ 147
+ 147
+ 148
+ 148
+ 148
+ 148
+ 148
+ 148
+ 148
+ 148
+ 149
+ 149
+ 149
+ 149
+ 149
+ 149
+ 149
+ 150
+ 150
+ 150
+ 150
+ 150
+ 150
+ 150
+ 150
+ 151
+ 151
+ 151
+ 151
+ 151
+ 151
+ 151
+ 151
+ 152
+ 152
+ 152
+ 152
+ 152
+ 152
+ 152
+ 152
+ 153
+ 153
+ 153
+ 153
+ 153
+ 153
+ 154
+ 154
+ 154
+ 154
+ 154
+ 154
+ 154
+ 154
+ 155
+ 155
+ 155
+ 155
+ 155
+ 155
+ 155
+ 155
+ 155
+ 156
+ 156
+ 156
+ 156
+ 156
+ 156
+ 156
+ 156
+ 156
+ 157
+ 157
+ 157
+ 157
+ 157
+ 157
+ 157
+ 157
+ 157
+ 158
+ 158
+ 158
+ 158
+ 158
+ 158
+ 158
+ 158
+ 158
+ 159
+ 159
+ 159
+ 159
+ 159
+ 159
+ 159
+ 159
+ 159
+ 160
+ 160
+ 160
+ 160
+ 160
+ 160
+ 160
+ 160
+ 160
+ 161
+ 161
+ 161
+ 161
+ 161
+ 161
+ 161
+ 161
+ 161
+ 162
+ 162
+ 162
+ 162
+ 162
+ 162
+ 162
+ 162
+ 163
+ 163
+ 163
+ 163
+ 163
+ 163
+ 163
+ 163
+ 164
+ 164
+ 164
+ 164
+ 164
+ 164
+ 164
+ 164
+ 164
+ 165
+ 165
+ 165
+ 165
+ 165
+ 165
+ 165
+ 165
+ 165
+ 166
+ 166
+ 166
+ 166
+ 166
+ 166
+ 166
+ 166
+ 167
+ 167
+ 167
+ 167
+ 167
+ 167
+ 167
+ 167
+ 167
+ 168
+ 168
+ 168
+ 168
+ 168
+ 168
+ 168
+ 168
+ 168
+ 169
+ 169
+ 169
+ 169
+ 169
+ 169
+ 169
+ 169
+ 169
+ 170
+ 170
+ 170
+ 170
+ 170
+ 170
+ 170
+ 170
+ 170
+ 171
+ 171
+ 171
+ 171
+ 171
+ 171
+ 171
+ 171
+ 171
+ 172
+ 172
+ 172
+ 172
+ 172
+ 172
+ 172
+ 172
+ 172
+ 173
+ 173
+ 173
+ 173
+ 173
+ 173
+ 173
+ 173
+ 173
+ 174
+ 174
+ 174
+ 174
+ 174
+ 174
+ 174
+ 174
+ 174
+ 174
+ 175
+ 175
+ 175
+ 175
+ 175
+ 175
+ 175
+ 175
+ 175
+ 175
+ 176
+ 176
+ 176
+ 176
+ 176
+ 176
+ 176
+ 176
+ 176
+ 176
+ 177
+ 177
+ 177
+ 177
+ 177
+ 177
+ 177
+ 177
+ 177
+ 177
+ 177
+ 177
+ 178
+ 178
+ 178
+ 178
+ 178
+ 178
+ 178
+ 178
+ 178
+ 178
+ 179
+ 179
+ 179
+ 179
+ 179
+ 179
+ 179
+ 179
+ 179
+ 180
+ 180
+ 180
+ 180
+ 180
+ 180
+ 180
+ 180
+ 180
+ 180
+ 181
+ 181
+ 181
+ 181
+ 181
+ 181
+ 181
+ 181
+ 181
+ 182
+ 182
+ 182
+ 182
+ 182
+ 182
+ 182
+ 182
+ 182
+ 183
+ 183
+ 183
+ 183
+ 183
+ 183
+ 183
+ 183
+ 183
+ 183
+ 184
+ 184
+ 184
+ 184
+ 184
+ 184
+ 184
+ 184
+ 184
+ 185
+ 185
+ 185
+ 185
+ 185
+ 185
+ 185
+ 185
+ 185
+ 185
+ 186
+ 186
+ 186
+ 186
+ 186
+ 186
+ 186
+ 186
+ 186
+ 186
+ 187
+ 187
+ 187
+ 187
+ 187
+ 187
+ 187
+ 187
+ 187
+ 188
+ 188
+ 188
+ 188
+ 188
+ 188
+ 188
+ 188
+ 188
+ 188
+ 189
+16/08/2020 19:04:08
+cooling down
+16/08/2020 19:06:08
+ 193
+ 193
+ 193
+ 193
+ 193
+ 193
+ 192
+ 192
+ 192
+ 192
+ 192
+ 192
+ 192
+ 192
+ 191
+ 191
+ 191
+ 191
+ 191
+ 191
+ 190
+ 190
+ 190
+ 190
+ 190
+ 189
+ 189
+ 189
+ 189
+ 188
+ 188
+ 188
+ 188
+ 187
+ 187
+ 187
+ 186
+ 186
+ 186
+ 185
+ 185
+ 185
+ 185
+ 184
+ 184
+ 184
+ 183
+ 183
+ 183
+ 182
+ 182
+ 182
+ 181
+ 181
+ 181
+ 180
+ 180
+ 180
+ 179
+ 179
+ 179
+ 178
+ 178
+ 178
+ 178
+ 177
+ 177
+ 176
+ 176
+ 176
+ 175
+ 175
+ 175
+ 174
+ 174
+ 174
+ 174
+ 173
+ 173
+ 173
+ 172
+ 172
+ 172
+ 171
+ 171
+ 171
+ 171
+ 170
+ 170
+ 170
+ 169
+ 169
+ 169
+ 169
+ 168
+ 168
+ 168
+ 167
+ 167
+ 167
+ 167
+ 166
+ 166
+ 166
+ 166
+ 165
+ 165
+ 165
+ 165
+ 164
+ 164
+ 164
+ 164
+ 163
+ 163
+ 163
+ 163
+ 162
+ 162
+ 162
+ 162
+ 161
+ 161
+ 161
+ 161
+ 160
+ 160
+ 160
+ 160
+ 159
+ 159
+ 159
+ 159
+ 158
+ 158
+ 158
+ 158
+ 158
+ 157
+ 157
+ 157
+ 157
+ 157
+ 156
+ 156
+ 156
+ 156
+ 156
+ 155
+ 155
+ 155
+ 155
+ 155
+ 154
+ 154
+ 154
+ 154
+ 154
+ 153
+ 153
+ 153
+ 153
+ 153
+ 153
+ 152
+ 152
+ 152
+ 152
+ 152
+ 151
+ 151
+ 151
+ 151
+ 151
+ 151
+ 150
+ 150
+ 150
+ 150
+ 150
+ 150
+ 149
+ 149
+ 149
+ 149
+ 149
+ 149
+ 149
+ 148
+ 148
+ 148
+ 148
+ 148
+ 148
+ 147
+ 147
+ 147
+ 147
+ 147
+ 147
+ 146
+ 146
+ 146
+ 146
+ 146
+ 146
+ 146
+ 146
+ 145
+ 145
+ 145
+ 145
+ 145
+ 145
+ 145
+ 144
+ 144
+ 144
+ 144
+ 144
+ 144
+ 144
+ 144
+ 143
+ 143
+ 143
+ 143
+ 143
+ 143
+ 143
+ 143
+ 142
+ 142
+ 142
+ 142
+ 142
+ 142
+ 142
+ 142
+ 141
+ 141
+ 141
+ 141
+ 141
+ 141
+ 141
+ 141
+ 141
+ 140
+ 140
+ 140
+ 140
+ 140
+ 140
+ 140
+ 140
+ 140
+ 139
+ 139
+ 139
+ 139
+ 139
+ 139
+ 139
+ 139
+ 139
+ 138
+ 138
+ 138
+ 138
+ 138
+ 138
+ 138
+ 138
+ 138
+ 137
+ 137
+ 137
+ 137
+ 137
+ 137
+ 137
+ 137
+ 137
+ 137
+ 136
+ 136
+ 136
+ 136
+ 136
+ 136
+ 136
+ 136
+ 136
+ 136
+ 136
+ 135
+ 135
+ 135
+ 135
+ 135
+ 135
+ 135
+ 135
+ 135
+ 135
+ 135
+ 134
+ 134
+ 134
+ 134
+ 134
+ 134
+ 134
+ 134
+ 134
+ 134
+ 134
+ 133
+ 133
+ 133
+ 133
+ 133
+ 133
+ 133
+ 133
+ 133
+ 133
+ 133
+ 133
+ 133
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 132
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 131
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 130
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 129
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 128
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 127
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 126
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 125
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 124
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 123
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 122
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 121
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 120
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 119
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 118
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 117
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 116
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 115
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 114
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 113
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 112
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 111
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 110
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 109
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 108
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 107
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 106
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 105
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 104
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 103
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 102
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 101
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 100
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 99
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 98
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 97
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 95
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 94
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 93
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 92
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 91
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 90
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 88
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 87
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 86
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 85
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 84
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 83
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 82
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 81
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 80
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 79
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 78
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 77
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 76
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 75
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 74
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 73
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 72
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 71
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 70
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 69
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 68
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 67
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 66
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 65
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 63
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 62
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 61
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 59
+16/08/2020 20:12:40
+Heating to 190
+16/08/2020 20:12:40
+ 59
+ 59
+ 59
+ 59
+ 59
+ 59
+ 59
+ 59
+ 59
+ 59
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 60
+ 61
+ 61
+ 61
+ 61
+ 62
+ 62
+ 62
+ 62
+ 63
+ 63
+ 64
+ 64
+ 64
+ 65
+ 65
+ 66
+ 66
+ 66
+ 67
+ 67
+ 68
+ 68
+ 69
+ 69
+ 70
+ 70
+ 71
+ 71
+ 71
+ 72
+ 72
+ 73
+ 73
+ 74
+ 74
+ 75
+ 75
+ 76
+ 76
+ 77
+ 77
+ 78
+ 78
+ 79
+ 80
+ 80
+ 81
+ 81
+ 82
+ 82
+ 82
+ 83
+ 83
+ 84
+ 84
+ 85
+ 85
+ 86
+ 86
+ 87
+ 87
+ 87
+ 88
+ 88
+ 89
+ 89
+ 90
+ 90
+ 90
+ 91
+ 91
+ 92
+ 92
+ 93
+ 93
+ 93
+ 94
+ 94
+ 95
+ 95
+ 95
+ 96
+ 96
+ 97
+ 97
+ 97
+ 98
+ 98
+ 98
+ 99
+ 99
+ 99
+ 100
+ 100
+ 101
+ 101
+ 101
+ 102
+ 102
+ 102
+ 103
+ 103
+ 103
+ 104
+ 104
+ 104
+ 105
+ 105
+ 105
+ 106
+ 106
+ 106
+ 107
+ 107
+ 107
+ 108
+ 108
+ 108
+ 109
+ 109
+ 109
+ 109
+ 110
+ 110
+ 110
+ 111
+ 111
+ 111
+ 112
+ 112
+ 113
+ 113
+ 113
+ 113
+ 114
+ 114
+ 114
+ 115
+ 115
+ 115
+ 115
+ 116
+ 116
+ 116
+ 116
+ 117
+ 117
+ 117
+ 118
+ 118
+ 118
+ 118
+ 119
+ 119
+ 119
+ 119
+ 120
+ 120
+ 120
+ 120
+ 121
+ 121
+ 121
+ 121
+ 122
+ 122
+ 122
+ 122
+ 123
+ 123
+ 123
+ 123
+ 124
+ 124
+ 124
+ 124
+ 125
+ 125
+ 125
+ 125
+ 126
+ 126
+ 126
+ 126
+ 126
+ 127
+ 127
+ 127
+ 127
+ 128
+ 128
+ 128
+ 128
+ 129
+ 129
+ 129
+ 129
+ 129
+ 130
+ 130
+ 130
+ 130
+ 131
+ 131
+ 131
+ 131
+ 131
+ 132
+ 132
+ 132
+ 132
+ 133
+ 133
+ 133
+ 133
+ 134
+ 134
+ 134
+ 134
+ 134
+ 135
+ 135
+ 135
+ 135
+ 135
+ 136
+ 136
+ 136
+ 136
+ 136
+ 137
+ 137
+ 137
+ 137
+ 137
+ 138
+ 138
+ 138
+ 138
+ 138
+ 139
+ 139
+ 139
+ 139
+ 139
+ 140
+ 140
+ 140
+ 140
+ 140
+ 140
+ 141
+ 141
+ 141
+ 141
+ 141
+ 142
+ 142
+ 142
+ 142
+ 142
+ 142
+ 143
+ 143
+ 143
+ 143
+ 143
+ 144
+ 144
+ 144
+ 144
+ 144
+ 144
+ 145
+ 145
+ 145
+ 145
+ 145
+ 145
+ 146
+ 146
+ 146
+ 146
+ 146
+ 146
+ 147
+ 147
+ 147
+ 147
+ 147
+ 147
+ 148
+ 148
+ 148
+ 148
+ 148
+ 148
+ 149
+ 149
+ 149
+ 149
+ 149
+ 149
+ 150
+ 150
+ 150
+ 150
+ 150
+ 150
+ 151
+ 151
+ 151
+ 151
+ 151
+ 151
+ 151
+ 152
+ 152
+ 152
+ 152
+ 152
+ 152
+ 153
+ 153
+ 153
+ 153
+ 153
+ 153
+ 154
+ 154
+ 154
+ 154
+ 154
+ 154
+ 155
+ 155
+ 155
+ 155
+ 155
+ 155
+ 156
+ 156
+ 156
+ 156
+ 156
+ 156
+ 156
+ 157
+ 157
+ 157
+ 157
+ 157
+ 157
+ 157
+ 158
+ 158
+ 158
+ 158
+ 158
+ 158
+ 159
+ 159
+ 159
+ 159
+ 159
+ 159
+ 159
+ 160
+ 160
+ 160
+ 160
+ 160
+ 160
+ 160
+ 161
+ 161
+ 161
+ 161
+ 161
+ 161
+ 161
+ 162
+ 162
+ 162
+ 162
+ 162
+ 162
+ 162
+ 163
+ 163
+ 163
+ 163
+ 163
+ 163
+ 163
+ 164
+ 164
+ 164
+ 164
+ 164
+ 164
+ 164
+ 164
+ 165
+ 165
+ 165
+ 165
+ 165
+ 165
+ 165
+ 166
+ 166
+ 166
+ 166
+ 166
+ 166
+ 166
+ 166
+ 167
+ 167
+ 167
+ 167
+ 167
+ 167
+ 167
+ 168
+ 168
+ 168
+ 168
+ 168
+ 168
+ 168
+ 169
+ 169
+ 169
+ 169
+ 169
+ 169
+ 169
+ 169
+ 170
+ 170
+ 170
+ 170
+ 170
+ 170
+ 170
+ 171
+ 171
+ 171
+ 171
+ 171
+ 171
+ 171
+ 171
+ 172
+ 172
+ 172
+ 172
+ 172
+ 172
+ 172
+ 173
+ 173
+ 173
+ 173
+ 173
+ 173
+ 173
+ 173
+ 173
+ 174
+ 174
+ 174
+ 174
+ 174
+ 174
+ 174
+ 174
+ 175
+ 175
+ 175
+ 175
+ 175
+ 175
+ 175
+ 175
+ 176
+ 176
+ 176
+ 176
+ 176
+ 176
+ 176
+ 176
+ 176
+ 177
+ 177
+ 177
+ 177
+ 177
+ 177
+ 177
+ 177
+ 177
+ 177
+ 178
+ 178
+ 178
+ 178
+ 178
+ 178
+ 178
+ 178
+ 178
+ 178
+ 178
+ 179
+ 179
+ 179
+ 179
+ 179
+ 179
+ 179
+ 179
+ 179
+ 180
+ 180
+ 180
+ 180
+ 180
+ 180
+ 180
+ 180
+ 180
+ 181
+ 181
+ 181
+ 181
+ 181
+ 181
+ 181
+ 181
+ 181
+ 182
+ 182
+ 182
+ 182
+ 182
+ 182
+ 182
+ 182
+ 182
+ 183
+ 183
+ 183
+ 183
+ 183
+ 183
+ 183
+ 183
+ 184
+ 184
+ 184
+ 184
+ 184
+ 184
+ 184
+ 184
+ 185
+ 185
+ 185
+ 185
+ 185
+ 185
+ 185
+ 185
+ 185
+ 186
+ 186
+ 186
+ 186
+ 186
+ 186
+ 186
+ 186
+ 187
+ 187
+ 187
+ 187
+ 187
+ 187
+ 187
+ 187
+ 187
+ 188
+ 188
+ 188
+ 188
+ 188
+ 188
+ 188
+ 189
+16/08/2020 20:23:12
+cooling down
+17/08/2020 0:35:05
+ 42
+17/08/2020 0:35:06
+Heating to 190
+17/08/2020 0:35:06
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 42
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 41
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 39
+ 40
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 39
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 38
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 37
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 35
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 34
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 33
+ 32
+ 33
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 32
+ 31
+ 32
+ 32
+ 32
+ 31
+ 31
+ 31
+ 32
+ 31
+ 31
+ 31
+ 31
+ 32
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 31
+ 30
+ 30
+ 31
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 29
+ 30
+ 30
+ 30
+ 30
+ 30
+ 30
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
+ 29
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/blower_rpm.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/blower_rpm.cs
new file mode 100644
index 000000000..13e6af513
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/blower_rpm.cs
@@ -0,0 +1,62 @@
+using System;
+using System.Text;
+using System.Linq;
+using System.Drawing;
+using System.Diagnostics;
+using System.Windows.Forms;
+using System.Threading;
+using System.Threading.Tasks;
+using System.Collections.Generic;
+using Tango.PMR.Stubs;
+using Tango.Stubs;
+
+include "..\..\Defines\Tango_Defines_Basic.cs"
+include "Tango_Defines_SSR.cs"
+include "Tango_Defines_Tacho.cs"
+
+const int Time_Test_On_Second= 60*30*3 ; //1.5 hour
+const string File_Name = @"P:\Scripts\Assemblies\Dryer\Blowe_RMO_LOG.CSV"; //3 hour
+
+
+public void OnExecute(StubManager stubManager)
+{
+
+
+/*
+ const int LOW = 75;//0 - 100%
+ var response = stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000400 | 0x112, 0xFF);//Freq 8 bit
+ var response1 = stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000400 | 0x3EC, LOW+1);//Low 8 bit
+ var response2 = stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000400 | 0x3EE, 101 - LOW);//High 8 bit
+*/
+
+
+
+
+
+
+
+ var RetVal=Fpga_Read_Reg(FPGA1, F1_Tacho_reg8, 0);
+ UInt32 temp;
+
+
+// stubManager.WriteToFile(File_Name,",RPM ");
+
+
+ for (int i=0;i<Time_Test_On_Second;i++)
+
+ {
+
+ Thread.Sleep(1000);
+ RetVal=Fpga_Read_Reg(FPGA1, F1_Tacho_reg8, 0);
+ temp=60/12; //60 sec
+ temp=temp *29166667;
+ temp=temp/RetVal.Value;
+ temp=temp/250;
+// stubManager.AppendToFile(File_Name,i+ ","+ temp );
+
+ stubManager.Write("Fan5 Speed- \t"+temp + "\n");
+// stubManager.WriteHex(RetVal.Value,4);
+
+ }
+
+} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test_dryer_heater.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test_dryer_heater.cs
index c9945fb1e..1977c13a6 100644
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test_dryer_heater.cs
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dryer/test_dryer_heater.cs
@@ -21,7 +21,7 @@ public void OnExecute(StubManager stubManager)
stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,3,true, 2200);
- for (int i=0;i<5;i++)
+ for (int i=0;i<10;i++)
{
stubManager.WriteLine("--------------------loop number " + i +" ---------------------" );
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/Actuator_In_new set point.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/Actuator_In_new set point.cs
new file mode 100644
index 000000000..dc5d5af07
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/Actuator_In_new set point.cs
@@ -0,0 +1,34 @@
+using System;
+using System.Text;
+using System.Linq;
+using System.Drawing;
+using System.Diagnostics;
+using System.Windows.Forms;
+using System.Threading;
+using System.Threading.Tasks;
+using System.Collections.Generic;
+using Tango.PMR.Stubs;
+using Tango.Stubs;
+
+public void OnExecute(StubManager stubManager)
+{
+int Delay_UP=200; //msec
+int Delay_stop=500;
+int Delay_limit=1000;
+
+ stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf000); //mov ACTUATOR-IN down up to limit switch
+ Thread.Sleep(2000);
+// while (true)
+// {
+
+ stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf003); //mov ACTUATOR-IN up
+ Thread.Sleep(Delay_UP);
+ stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf008); //stop ACTUATOR-IN
+ Thread.Sleep(Delay_stop);
+ // stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf000); //mov ACTUATOR-IN down up to limit switch
+// Thread.Sleep(Delay_limit);
+
+ // }
+
+
+} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Write SYLKO to head eeprom.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/Write SYLKO to head eeprom.cs
index d7729ca2f..d7729ca2f 100644
--- a/Software/Stubs Collection/stubs/Scripts/Write SYLKO to head eeprom.cs
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/Dye head/Write SYLKO to head eeprom.cs
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/ElectricalEnclosure/ElectricalEnclosure_Fans1.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/ElectricalEnclosure/ElectricalEnclosure_Fans1.cs
index af5a07543..ba39cb2b0 100644
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/ElectricalEnclosure/ElectricalEnclosure_Fans1.cs
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/ElectricalEnclosure/ElectricalEnclosure_Fans1.cs
@@ -73,7 +73,7 @@ public void OnExecute(StubManager stubManager)
for (int i = 0; i<1000; i++)
{
- stubManager.Write("----------------------------------------\n");
+ stubManager.Write("\n----------------------------------------\n");
// Fpga_Read_Reg(FPGA1, F1_Tacho_reg0, 0); stubManager.Write("\n");
// Fpga_Read_Reg(FPGA1, F1_Tacho_reg1, 1); stubManager.Write("\n");
// Fpga_Read_Reg(FPGA1, F1_Tacho_reg2, 1); stubManager.Write("\n");
@@ -83,61 +83,85 @@ public void OnExecute(StubManager stubManager)
var RetVal=Fpga_Read_Reg(FPGA1, F1_Tacho_reg0, 0);
stubManager.Write("\nFan5 Speed-");
stubManager.WriteHex(RetVal.Value,4);
-
-
+ if (RetVal.Value>0x440 && RetVal.Value<0x4d0)
+ stubManager.Write("\t Pass");
+ else
+ stubManager.Write("\t Fail");
RetVal=Fpga_Read_Reg(FPGA1, F1_Tacho_reg1, 0);
stubManager.Write("\nFan1 Speed-");
stubManager.WriteHex(RetVal.Value,4);
+ if (RetVal.Value>0x220 && RetVal.Value<0x300)
+ stubManager.Write("\t Pass");
+ else
+ stubManager.Write("\t Fail");
+
+
+
- RetVal = Fpga_Read_Reg(FPGA1, F1_gpi_FANS, 0);
- Temp1=RetVal.Value & 0x0001;
- if (Temp1 !=0x0001)
- stubManager.Write("\tFan1 Running ");
- else
- stubManager.Write("\tFan1 Stop");
+// RetVal = Fpga_Read_Reg(FPGA1, F1_gpi_FANS, 0);
+// Temp1=RetVal.Value & 0x0001;
+// if (Temp1 !=0x0001)
+// stubManager.Write("\tFan1 Running ");
+// else
+// stubManager.Write("\tFan1 Stop");
RetVal=Fpga_Read_Reg(FPGA1, F1_Tacho_reg2, 0);
stubManager.Write("\nFan2 Speed-");
stubManager.WriteHex(RetVal.Value,4);
+ if (RetVal.Value>0x220 && RetVal.Value<0x300)
+ stubManager.Write("\t Pass");
+ else
+ stubManager.Write("\t Fail");
+
- Temp1=RetVal.Value & 0x0002;
- if (Temp1 !=0x0002)
- stubManager.Write("\tFan2 Running ");
- else
- stubManager.Write("\tFan2 Stop");
+// Temp1=RetVal.Value & 0x0002;
+// if (Temp1 !=0x0002)
+// stubManager.Write("\tFan2 Running ");
+// else
+// stubManager.Write("\tFan2 Stop");
RetVal=Fpga_Read_Reg(FPGA1, F1_Tacho_reg3, 0);
stubManager.Write("\nFan3 Speed-");
stubManager.WriteHex(RetVal.Value,4);
+ if (RetVal.Value>0x220 && RetVal.Value<0x300)
+ stubManager.Write("\t Pass");
+ else
+ stubManager.Write("\t Fail");
+
- Temp1=RetVal.Value & 0x0004;
- if (Temp1 !=0x0004)
- stubManager.Write("\tFan3 Running ");
- else
- stubManager.Write("\tFan3 Stop");
+// Temp1=RetVal.Value & 0x0004;
+// if (Temp1 !=0x0004)
+// stubManager.Write("\tFan3 Running ");
+// else
+// stubManager.Write("\tFan3 Stop");
RetVal=Fpga_Read_Reg(FPGA1, F1_Tacho_reg4, 0);
stubManager.Write("\nFan4 Speed-");
stubManager.WriteHex(RetVal.Value,4);
+ if (RetVal.Value>0x220 && RetVal.Value<0x300)
+ stubManager.Write("\t Pass");
+ else
+ stubManager.Write("\t Fail");
+
- Temp1=RetVal.Value & 0x0008;
- if (Temp1 !=0x0008)
- stubManager.Write("\tFan4 Running ");
- else
- stubManager.Write("\tFan4 Stop");
+// Temp1=RetVal.Value & 0x0008;
+// if (Temp1 !=0x0008)
+// stubManager.Write("\tFan4 Running ");
+// else
+// stubManager.Write("\tFan4 Stop");
- Fpga_Read_Reg(FPGA1, F1_Tacho_reg5, 1); stubManager.Write("\n");
- Fpga_Read_Reg(FPGA1, F1_Tacho_reg6, 1); stubManager.Write("\n");
- Fpga_Read_Reg(FPGA1, F1_Tacho_reg7, 1); stubManager.Write("\n");
- Fpga_Read_Reg(FPGA2, F2_Tacho_reg0, 1); stubManager.Write("\n");
+// Fpga_Read_Reg(FPGA1, F1_Tacho_reg5, 1); stubManager.Write("\n");
+// Fpga_Read_Reg(FPGA1, F1_Tacho_reg6, 1); stubManager.Write("\n");
+// Fpga_Read_Reg(FPGA1, F1_Tacho_reg7, 1); stubManager.Write("\n");
+// Fpga_Read_Reg(FPGA2, F2_Tacho_reg0, 1); stubManager.Write("\n");
//stubManager.Write("\n\n");
Thread.Sleep(1000);
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/DO_NOT_WORK_New_Calibrate_Midtank_pressure_sensors.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/DO_NOT_WORK_New_Calibrate_Midtank_pressure_sensors.cs
index 254a3143b..2acbe7d71 100644
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/DO_NOT_WORK_New_Calibrate_Midtank_pressure_sensors.cs
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/DO_NOT_WORK_New_Calibrate_Midtank_pressure_sensors.cs
@@ -13,6 +13,7 @@ using Tango.PMR.EmbeddedParameters;
using Tango.Stubs;
//----------------------
+const double Slop=0.92;
const double MIN_SLOP=0.7;
const double MAX_SLOP=1.4;
const double ERROR_SLOP=-1;
@@ -39,6 +40,7 @@ private const string FILE_PATH = @"C:\MidTankLog\";
string File_name;
double [,] voltage_array = new double[9,9];
string [] Parameter = new string[5] {"\t","Empty [V]","100cc [V]","800cc [V]"," b [L/V] "};
+ double Full_Cartridge=1; // 1 litter less 100 cc
//----------------------
const Int32 I2C_ID = 2;
@@ -58,9 +60,11 @@ const Int32 I2C_ID = 2;
public void OnExecute(StubManager stubManager)
{
Int32 midtankno = 0;
- double Slop;
- double Zero_Point;
-
+ double Full_Point=0; //on Voltage
+ double resualt;
+ double Sum=0 ;
+ double Old_Sum=0 ;
+
if (!Directory.Exists(FILE_PATH))
{
@@ -73,9 +77,9 @@ public void OnExecute(StubManager stubManager)
stubManager.Write("\n");
Machine_SN = response;
stubManager.WriteLine(Machine_SN);
- File_name= FILE_PATH +Machine_SN + DateTime.Now.ToString("MM_dd_yyyy_HH_mm_ss")+".LOG";
+ File_name= FILE_PATH +Machine_SN + DateTime.Now.ToString("MM_dd_yyyy_HH_mm_ss")+".csv";
stubManager.Write(File_name);
- stubManager.WriteToFile(File_name,"MidTank S/N:" + Machine_SN);
+ stubManager.WriteToFile(File_name,"MidTank S/N:," + Machine_SN);
// voltage_array[1,0]=1;
// voltage_array[2,0]=2;
@@ -91,59 +95,79 @@ public void OnExecute(StubManager stubManager)
var response1 = stubManager.ShowResponseWindow("Enter Midtank number to calibrate (1-8):", "");
stubManager.WriteLine(response1);
midtankno = Int32.Parse(response1);
- stubManager.WriteToFile(File_name,"MidTank Number:\t" + response1);
+ stubManager.AppendToFile(File_name,"MidTank Number:\t" + response1);
- string box_msg = "Please Insert cartridge ";
+ string box_msg = "Please Insert cartridge with 1000cc except Lubbricant add 500cc only ";
// string box_title = "Midatnk empty";
// MessageBox.Show(box_msg, box_title);
MessageBox.Show(box_msg);
- open_valve(midtankno,1,1) ; //open Air valve
- open_valve(midtankno,0,1) ; //open Ink valve
-
-
-
-
-
-
-
-
+ open_valve(midtankno,1,1) ; //open Air valve
+ open_valve(midtankno,0,1) ; //open Ink valve
+ Int32 i=0;
+ while (i<60*15) //check for 15 minitus
+ {
+ Sum=0;
+ for (Int32 j=0;j<30;j++)
+ {
+ resualt=read_pressure_sensor(midtankno);
+ stubManager.AppendToFile(File_name,resualt+",mV");
+ Sum=Sum+resualt;
+ Thread.Sleep(1000);
+ }
+ i=i+1;
+ if (Sum>Old_Sum)
+ Old_Sum=Sum-Old_Sum;
+ else
+ Old_Sum=Old_Sum-Sum;
+
+ if ( Old_Sum <0.02)
+ i=60*15; //end
+ Old_Sum=Sum;
+ }
+ Full_Point=Sum/30;
+ box_msg = "Send file" + File_name +"to Mati";
+ MessageBox.Show(box_msg);
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F3_VALVE_OUT, 0x000f); // open all valve air of midtank and close all ink of midtank
- Thread.Sleep(500);
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F3_VALVE_OUT, 0x00ff); // open all valve air of midtank and close all ink of midtank
- Thread.Sleep(500);
- stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F3_VALVE_OUT, 0x0fff); // open all valve air of midtank and close all ink of midtank
- Thread.Sleep(500);
- stubManager.Run<StubFpgaWriteRegResponse>("stubFpgaWriteRegRequest" ,F3_VALVE_OUT, 0xffff); // open all valve air and ink of midtank
- Thread.Sleep(2500);
+ // stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F3_VALVE_OUT, 0x000f); // open all valve air of midtank and close all ink of midtank
+ // Thread.Sleep(500);
+ // stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F3_VALVE_OUT, 0x00ff); // open all valve air of midtank and close all ink of midtank
+ // Thread.Sleep(500);
+ // stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F3_VALVE_OUT, 0x0fff); // open all valve air of midtank and close all ink of midtank
+ // Thread.Sleep(500);
+ // stubManager.Run<StubFpgaWriteRegResponse>("stubFpgaWriteRegRequest" ,F3_VALVE_OUT, 0xffff); // open all valve air and ink of midtank
+ //
+ // Thread.Sleep(2500);
- Thread.Sleep(1000);
+ // Thread.Sleep(1000);
- read_pressure_sensor(1);
+ // read_pressure_sensor(1);
- box_msg ="Insert 100cc of appropriate ink/lube to each midtank\n\t1.black ink\n\t2. Magenta ink\n\t3. Transparent ink\n\t4. Cleaner\n\t5. Cyan ink\n\t6. Yellow ink\n\t7. Spot color\n\t8. Lubricant/n";
- MessageBox.Show(box_msg);
-
- read_pressure_sensor(2);
+ // box_msg ="Insert 100cc of appropriate ink/lube to each midtank\n\t1.black ink\n\t2. Magenta ink\n\t3. Transparent ink\n\t4. Cleaner\n\t5. Cyan ink\n\t6. Yellow ink\n\t7. Spot color\n\t8. Lubricant/n";
+ // MessageBox.Show(box_msg);
+//
+ // read_pressure_sensor(2);
// voltage_array[3,2]=2.5;
- box_msg = "Add another 700cc for ink and TI \nFor Lubbricant add 500cc only.";
- MessageBox.Show(box_msg);
- read_pressure_sensor(3);
- stubManager.Run<StubFpgaWriteRegResponse>("stubFpgaWriteRegRequest" ,F3_VALVE_OUT, 0x0000); // close all valve air and ink of midtank
+// box_msg = "Add another 700cc for ink and TI \nFor Lubbricant add 500cc only.";
+// MessageBox.Show(box_msg);
+// read_pressure_sensor(3);
+// stubManager.Run<StubFpgaWriteRegResponse>("stubFpgaWriteRegRequest" ,F3_VALVE_OUT, 0x0000); // close all valve air and ink of midtank
// voltage_array[3,3]=4.5;
+ close_valve(midtankno,1,1) ; //close Air valve
+ close_valve(midtankno,0,1) ; //close Ink valve
- calc_slop();
- print_table();
+// calc_slop();
+// print_table();
- insert_slop_t_eeprom();
+// insert_slop_t_eeprom(Full_Point, midtankno);
+ insert_slop_t_eeprom(Full_Point, midtankno);
box_msg ="Turn Power Off and On to finish the calibration.";
MessageBox.Show(box_msg);
@@ -178,54 +202,55 @@ int calc_slop()
}
- int insert_slop_t_eeprom()
+ int insert_slop_t_eeprom( double FullPoint,Int32 midtankno)
{
- stubManager.Write("\n ");
+// stubManager.Write("\n ");
MidTankDataSetupRequest midTankDataSetupRequest = new MidTankDataSetupRequest();
- for (uint i=1;i<9;i++)
- {
- if (voltage_array[i,4]!= ERROR_SLOP)
- {
+// for (uint i=1;i<9;i++)
+// {
+// if (voltage_array[i,4]!= ERROR_SLOP)
+// {
MidTankData midTankData = new MidTankData();
- midTankData.MidTankId = i-1;
- midTankData.InitialOffsetA = voltage_array[i,2];
- midTankData.SlopeB = voltage_array[i,4];
+ midTankData.MidTankId = Convert.ToUInt32 (midtankno-1);
+ midTankData.InitialOffsetA =FullPoint - (Full_Cartridge-0.1)/Slop;
+ midTankData.SlopeB = Slop;
- stubManager.Write("\nMidtank No:" + i+ "=\tA="+voltage_array[i,2]+"\tSlop="+voltage_array[i,4]);
+ stubManager.Write("\nMidtank No:" + midtankno + "=\tVoltage Zero is ="+(FullPoint - (Full_Cartridge-0.1)/Slop)+"\tSlop="+ Slop);
+ stubManager.AppendToFile(File_name,"\nMidtank No:" + midtankno + "=\tVoltage Zero is ="+(FullPoint - (Full_Cartridge-0.1)/Slop)+"\tSlop="+ Slop);
midTankDataSetupRequest.MidTankInfo.Add(midTankData);
- }
+ // }
var response = stubManager.Run<MidTankDataSetupResponse>(midTankDataSetupRequest);
- }
+ //}
return 1;
}
+//
+//
+//int print_table()
+// {
+//
+// for (uint i=0;i<5;i++)
+// {
+// stubManager.AppendToFile(File_name,Parameter[i]+"\t"+voltage_array[1,i]+"\t"+voltage_array[2,i]+"\t"+voltage_array[3,i]+"\t"+voltage_array[4,i]+"\t"+voltage_array[5,i]+"\t"+voltage_array[6,i]+"\t"+voltage_array[7,i]+"\t"+voltage_array[8,i]) ;
+// }
+//
+//
+// return 1;
+//
+// }
-
-int print_table()
- {
-
- for (uint i=0;i<5;i++)
- {
- stubManager.AppendToFile(File_name,Parameter[i]+"\t"+voltage_array[1,i]+"\t"+voltage_array[2,i]+"\t"+voltage_array[3,i]+"\t"+voltage_array[4,i]+"\t"+voltage_array[5,i]+"\t"+voltage_array[6,i]+"\t"+voltage_array[7,i]+"\t"+voltage_array[8,i]) ;
- }
-
-
- return 1;
-
- }
-
-
+//start mat
int adc_configuration(uint I2C_Slave_Add,uint channel )
{
@@ -261,7 +286,7 @@ int adc_set_for_read_ch(uint I2C_Slave_Add)
-int adc_read_ch(uint I2C_Slave_Add,uint table_index_x,uint table_index_y)
+double adc_read_ch(uint I2C_Slave_Add)
{
StubI2CReadBytesRequest stubI2CReadBytesRequest = new StubI2CReadBytesRequest();
stubI2CReadBytesRequest.I2CId = I2C_ID;
@@ -281,67 +306,80 @@ int adc_read_ch(uint I2C_Slave_Add,uint table_index_x,uint table_index_y)
temp=temp & 0x0fff;
calc = (double)temp *2.5 / 4096.0;
- stubManager.Write("ADC [volts]:\t");
- stubManager.Write(calc+"\t");
+// stubManager.Write("ADC [volts]:\t");
+// stubManager.Write(calc+"\t");
calc1 = (1.96- calc) * 4.64 + 1.96;
stubManager.Write("Vsensor [volts]:\t");
- stubManager.Write(calc1);
+ stubManager.Write(calc1 + "\n");
- voltage_array[table_index_x,table_index_y]=calc1;
+ // voltage_array[table_index_x,table_index_y]=calc1;
- return 1;
+ return calc1;
}
-int read_pressure_sensor(uint i )
+double read_pressure_sensor(Int32 i )
{
-
- stubManager.Write("\n-----------MIDTANK_PRESSESENS-------test_no= "+i);
-
- stubManager.Write("\n1_1= ");
+double resualt =0 ;
+ switch (i)
+ {
+ case 1:
+ adc_configuration(0x44,0x20); //a2d_address 0x44 channel channel 2
+ adc_set_for_read_ch(0x44);
+ resualt=adc_read_ch(0x44);
+ break;
- adc_configuration(0x44,0x20); //a2d_address 0x44 channel channel 2
- adc_set_for_read_ch(0x44);
- adc_read_ch(0x44,1,i);
-
- stubManager.Write("\n2_1= ");
- adc_configuration(0x44,0x08); //a2d_address 0x44 channel channel 4
- adc_set_for_read_ch(0x44);
- adc_read_ch(0x44,2,i);
-
- stubManager.Write("\n3_1= ");
- adc_configuration(0x46,0x80); //a2d_address 0x46 channel channel 0
- adc_set_for_read_ch(0x46);
- adc_read_ch(0x46,3,i);
-
- stubManager.Write("\n4_1= ");
- adc_configuration(0x46,0x20); //a2d_address 0x46 channel channel 2
- adc_set_for_read_ch(0x46);
- adc_read_ch(0x46,4,i);
+ case 2:
+ adc_configuration(0x44,0x08); //a2d_address 0x44 channel channel 4
+ adc_set_for_read_ch(0x44);
+ resualt=adc_read_ch(0x44);
+ break;
- stubManager.Write("\n1_2= ");
- adc_configuration(0x44,0x10); //a2d_address 0x44 channel channel 3
- adc_set_for_read_ch(0x44);
- adc_read_ch(0x44,5,i);
-
- stubManager.Write("\n2_2= ");
- adc_configuration(0x44,0x04); //a2d_address 0x44 channel channel 5
- adc_set_for_read_ch(0x44);
- adc_read_ch(0x44,6,i);
-
- stubManager.Write("\n3_2= ");
- adc_configuration(0x46,0x40); //a2d_address 0x46 channel channel 1
- adc_set_for_read_ch(0x46);
- adc_read_ch(0x46,7,i);
+ case 3:
+ adc_configuration(0x46,0x80); //a2d_address 0x46 channel channel 0
+ adc_set_for_read_ch(0x46);
+ resualt=adc_read_ch(0x46);
+ break;
+
+ case 4:
+ adc_configuration(0x46,0x20); //a2d_address 0x46 channel channel 2
+ adc_set_for_read_ch(0x46);
+ resualt=adc_read_ch(0x46);
+ break;
+
+ case 5:
+ adc_configuration(0x44,0x10); //a2d_address 0x44 channel channel 3
+ adc_set_for_read_ch(0x44);
+ resualt=adc_read_ch(0x44);
+ break;
+
+ case 6:
+ adc_configuration(0x44,0x04); //a2d_address 0x44 channel channel 5
+ adc_set_for_read_ch(0x44);
+ resualt=adc_read_ch(0x44);
+ break;
+
+ case 7:
+ adc_configuration(0x46,0x40); //a2d_address 0x46 channel channel 1
+ adc_set_for_read_ch(0x46);
+ resualt=adc_read_ch(0x46);
+ break;
+
+ case 8:
+ adc_configuration(0x46,0x10); //a2d_address 0x46 channel channel 3
+ adc_set_for_read_ch(0x46);
+ resualt=adc_read_ch(0x46);
+ break;
+
+ default:
+ stubManager.Write("Error");
- stubManager.Write("\n4_2= ");
- adc_configuration(0x46,0x10); //a2d_address 0x46 channel channel 3
- adc_set_for_read_ch(0x46);
- adc_read_ch(0x46,8,i);
+ break;
+ }
- return 1;
+ return resualt;
}
-//strat mat
+
//--------------------------------
int open_valve (int valve_nm,int valve_type,int check_valve) //valve_type=0 is Air ,1 is Ink ; check_valve=1 send feedbak
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/New_Calibrate_Midtank_pressure_sensors.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/New_Calibrate_Midtank_pressure_sensors.cs
new file mode 100644
index 000000000..62d0e017f
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/New_Calibrate_Midtank_pressure_sensors.cs
@@ -0,0 +1,393 @@
+using System;
+using System.IO;
+using System.Text;
+using System.Linq;
+using System.Drawing;
+using System.Diagnostics;
+using System.Windows.Forms;
+using System.Threading;
+using System.Threading.Tasks;
+using System.Collections.Generic;
+using Tango.PMR.Stubs;
+using Tango.PMR.EmbeddedParameters;
+using Tango.Stubs;
+
+//----------------------
+const double MIN_SLOP=0.7;
+const double MAX_SLOP=1.4;
+const double ERROR_SLOP=-1;
+const double MIN_50cc_on_volt=2.3;
+const double MAX_50cc_on_volt=3.2;
+const double ERROR_50cc_on_volt=-1;
+
+int [] Convert_Midtank_No = new Int32 [8] {1,3,5,7,2,4,6,8};
+uint [,] ADC_Add_Chnl = new uint [8,2] {
+ {0x44,0x20},
+ {0x44,0x08},
+ {0x46,0x80},
+ {0x46,0x20},
+ {0x44,0x10},
+ {0x44,0x04},
+ {0x46,0x40},
+ {0x46,0x10},
+ };
+
+
+const Int32 F3_VALVE_OUT = 0x600008E2 ;
+string Machine_SN ;
+private const string FILE_PATH = @"C:\MidTankLog\";
+string File_name;
+double Full_Cartridge=1000; // on CC
+double Slop=0.92;
+
+//----------------------
+const Int32 I2C_ID = 2;
+//const Int32 I2C_Slave_Add = 0x46; //must be 0x40, 0x44 or 0x46
+//----------------------
+
+
+public void OnExecute(StubManager stubManager)
+{
+ Int32 midtankno = 0;
+ double Full_Point=0; //on Voltage
+ double resualt;
+ double Sum=0 ;
+ double Old_Sum=0 ;
+
+
+ if (!Directory.Exists(FILE_PATH))
+ {
+ Directory.CreateDirectory(FILE_PATH);
+ }
+
+
+
+ var response = stubManager.ShowResponseWindow("Enter Midtank S/N: ", "");
+ stubManager.Write("\n");
+ Machine_SN = response;
+ stubManager.WriteLine(Machine_SN);
+ File_name= FILE_PATH +Machine_SN + DateTime.Now.ToString("MM_dd_yyyy_HH_mm_ss")+".csv";
+ stubManager.Write(File_name);
+ stubManager.WriteToFile(File_name,"MidTank S/N:," + Machine_SN);
+
+
+ var response1 = stubManager.ShowResponseWindow("Enter Midtank number to calibrate (1-8):", "");
+ stubManager.WriteLine(response1);
+ midtankno = Int32.Parse(response1);
+ stubManager.AppendToFile(File_name,"MidTank Number:\t" + response1);
+ if (midtankno==8)
+ Slop=1;
+ else
+ Slop=0.92;
+
+ var response10 = stubManager.ShowResponseWindow("Enter Cartridge Valume on CC (500-1500):", "");
+ stubManager.WriteLine(response10);
+ Full_Cartridge = double.Parse(response10);
+ stubManager.AppendToFile(File_name,"Cartridge Valume:\t" + response10);
+ stubManager.AppendToFile(File_name,"Slop value:\t" + Slop);
+
+
+ DialogResult result = MessageBox.Show("Are you sure to calibrate Midtank No: "+ midtankno + " with "+ Full_Cartridge +" CC" , "Warning",MessageBoxButtons.YesNo);
+ if(result == DialogResult.Yes)
+ {
+
+
+
+ string box_msg = "Please Insert cartridge ";
+
+ MessageBox.Show(box_msg);
+
+ open_valve(midtankno,1,1) ; //open Air valve
+ open_valve(midtankno,0,1) ; //open Ink valve
+ Int32 i=0;
+ while (i<60*15) //check for 15 minitus
+ {
+ Sum=0;
+ for (Int32 j=0;j<30;j++)
+ {
+ resualt=read_pressure_sensor(midtankno);
+ stubManager.AppendToFile(File_name,resualt+",V");
+ Sum=Sum+resualt;
+ Thread.Sleep(1000);
+ }
+ i=i+1;
+ if (Sum>Old_Sum)
+ Old_Sum=Sum-Old_Sum;
+ else
+ Old_Sum=Old_Sum-Sum;
+
+ if ( Old_Sum <0.02)
+ i=60*15; //end
+ Old_Sum=Sum;
+ }
+ Full_Point=Sum/30;
+
+
+ close_valve(midtankno,1,1) ; //close Air valve
+ close_valve(midtankno,0,1) ; //close Ink valve
+
+
+ insert_slop_t_eeprom(Full_Point, midtankno);
+ box_msg ="Turn Power Off and On to finish the calibration.";
+ MessageBox.Show(box_msg);
+ }
+
+
+}
+
+
+ int insert_slop_t_eeprom( double FullPoint,Int32 midtankno)
+{
+// stubManager.Write("\n ");
+
+ MidTankDataSetupRequest midTankDataSetupRequest = new MidTankDataSetupRequest();
+
+ MidTankData midTankData = new MidTankData();
+ midTankData.MidTankId = Convert.ToUInt32 (midtankno-1);
+ midTankData.InitialOffsetA =FullPoint - (Full_Cartridge/1000-0.1)/Slop;
+ midTankData.SlopeB = Slop;
+
+ stubManager.Write("\nMidtank No:" + midtankno + "=\tVoltage Zero is ="+(FullPoint - (Full_Cartridge/1000-0.1)/Slop)+"\tSlop="+ Slop);
+ stubManager.AppendToFile(File_name,"\nMidtank No:" + midtankno + "=\tVoltage Zero is ="+(FullPoint - (Full_Cartridge/1000-0.1)/Slop)+"\tSlop="+ Slop);
+
+
+ midTankDataSetupRequest.MidTankInfo.Add(midTankData);
+
+
+var response = stubManager.Run<MidTankDataSetupResponse>(midTankDataSetupRequest);
+
+return 1;
+}
+
+
+int adc_configuration(uint I2C_Slave_Add,uint channel )
+ {
+ StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();
+ stubI2CWriteBytesRequest.I2CId = I2C_ID;
+ stubI2CWriteBytesRequest.SlaveAddress = I2C_Slave_Add;
+
+ UInt32 uInt32 = new UInt32();
+ stubI2CWriteBytesRequest.BytesTWrite.Add(0x00);//Byte 0 to write
+ stubI2CWriteBytesRequest.BytesTWrite.Add(channel);//Byte 1 to Write, must be 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02 or 0x01 for different channels
+ stubI2CWriteBytesRequest.BytesTWrite.Add(0x80);//Byte 2 to Write
+
+ var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
+
+ return 1;
+ }
+
+
+int adc_set_for_read_ch(uint I2C_Slave_Add)
+ {
+ StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();
+ stubI2CWriteBytesRequest.I2CId = I2C_ID;
+ stubI2CWriteBytesRequest.SlaveAddress = I2C_Slave_Add;
+
+ UInt32 uInt32 = new UInt32();
+ stubI2CWriteBytesRequest.BytesTWrite.Add(0x01);//Byte 0 to write
+
+ var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
+
+ return 1;
+ }
+
+
+
+
+double adc_read_ch(uint I2C_Slave_Add)
+ {
+ StubI2CReadBytesRequest stubI2CReadBytesRequest = new StubI2CReadBytesRequest();
+ stubI2CReadBytesRequest.I2CId = I2C_ID;
+ stubI2CReadBytesRequest.SlaveAddress = I2C_Slave_Add;
+ stubI2CReadBytesRequest.NumberOfBytesToRead = 2; // Number of bytes to read
+
+ var response1 = stubManager.Run<StubI2CReadBytesResponse>(stubI2CReadBytesRequest);
+ uint temph=0;
+ uint templ=0;
+ uint temp;
+ double calc;
+ double calc1;
+ double calc2;
+ temph=response1.ReadBytes[0];
+ templ=response1.ReadBytes[1];
+ temp = (temph << 8) | templ;
+ temp=temp & 0x0fff;
+
+ calc = (double)temp *2.5 / 4096.0;
+
+ calc1 = (1.96- calc) * 4.64 + 1.96;
+ stubManager.Write("Vsensor [volts]:\t");
+ stubManager.Write(calc1 + "\n");
+
+
+ return calc1;
+ }
+
+double read_pressure_sensor(Int32 i )
+ {
+double resualt =0 ;
+ switch (i)
+ {
+ case 1:
+ adc_configuration(0x44,0x20); //a2d_address 0x44 channel channel 2
+ adc_set_for_read_ch(0x44);
+ resualt=adc_read_ch(0x44);
+ break;
+
+ case 2:
+ adc_configuration(0x44,0x08); //a2d_address 0x44 channel channel 4
+ adc_set_for_read_ch(0x44);
+ resualt=adc_read_ch(0x44);
+ break;
+
+ case 3:
+ adc_configuration(0x46,0x80); //a2d_address 0x46 channel channel 0
+ adc_set_for_read_ch(0x46);
+ resualt=adc_read_ch(0x46);
+ break;
+
+ case 4:
+ adc_configuration(0x46,0x20); //a2d_address 0x46 channel channel 2
+ adc_set_for_read_ch(0x46);
+ resualt=adc_read_ch(0x46);
+ break;
+
+ case 5:
+ adc_configuration(0x44,0x10); //a2d_address 0x44 channel channel 3
+ adc_set_for_read_ch(0x44);
+ resualt=adc_read_ch(0x44);
+ break;
+
+ case 6:
+ adc_configuration(0x44,0x04); //a2d_address 0x44 channel channel 5
+ adc_set_for_read_ch(0x44);
+ resualt=adc_read_ch(0x44);
+ break;
+
+ case 7:
+ adc_configuration(0x46,0x40); //a2d_address 0x46 channel channel 1
+ adc_set_for_read_ch(0x46);
+ resualt=adc_read_ch(0x46);
+ break;
+
+ case 8:
+ adc_configuration(0x46,0x10); //a2d_address 0x46 channel channel 3
+ adc_set_for_read_ch(0x46);
+ resualt=adc_read_ch(0x46);
+ break;
+
+ default:
+ stubManager.Write("Error");
+
+ break;
+ }
+
+ return resualt;
+ }
+
+
+//--------------------------------
+int open_valve (int valve_nm,int valve_type,int check_valve) //valve_type=0 is Air ,1 is Ink ; check_valve=1 send feedbak
+{
+ int temp1=Convert_Midtank_No[valve_nm-1] ;
+
+ string temp;
+ SetBit (F3_VALVE_OUT,(((valve_type+1)*8)- temp1), 1);
+
+ if (check_valve!=0)
+ {
+ temp="Air";
+ if (valve_type==1)
+ temp="Ink";
+
+ DialogResult result = MessageBox.Show("Did " + temp + "Valve of Midtank " + valve_nm +" open?", "Warning",MessageBoxButtons.YesNo);
+ if(result == DialogResult.No)
+ {
+// Units_status[(valve_nm-1)*3+valve_type,1]="Fail";
+ stubManager.Write(temp +"Valve\tFail\n");
+ return 0;
+ }
+ else
+ {
+// Units_status[(valve_nm-1)*3+valve_type,1]="Pass";
+ stubManager.Write(temp +"Valve\tOpen\n");
+ return 1;
+ }
+
+ }
+ return 1;
+
+}
+//--------------------------------
+int close_valve (int valve_nm,int valve_type,int check_valve)
+{
+ int temp1=Convert_Midtank_No[valve_nm-1];
+
+ string temp;
+ SetBit (F3_VALVE_OUT,(((valve_type+1)*8)- temp1), 0);
+ if (check_valve!=0)
+ {
+ temp="Air";
+ if (valve_type==1)
+ temp="Ink";
+
+ DialogResult result = MessageBox.Show("Did " + temp +" Valve of Midtank " + valve_nm +" close?", "Warning",MessageBoxButtons.YesNo);
+ if(result == DialogResult.No)
+ {
+// Units_status[(valve_nm-1)*3+valve_type,1]="Fail";
+ stubManager.Write(temp +"Valve\tFail\n");
+ return 0;
+ }
+ else
+ {
+// Units_status[(valve_nm-1)*3+valve_type,1]="Pass";
+ stubManager.Write(temp +"Valve\tclose\n");
+ return 1;
+ }
+ }
+ return 1;
+
+}
+
+public Int32 SetBit(Int32 Adr, Int32 BitNo, Int32 Bit)
+{
+ Int32 BitMask;
+ var RetVal = Fpga_Read_Reg(Adr);
+ Int32 RV = (Int32) RetVal.Value;
+
+ if (Bit == 0x1)
+ {
+ BitMask = 0x1 << BitNo;
+ RV = RV | BitMask;
+ Fpga_Write_Reg( Adr, RV );
+ }
+ else if (Bit == 0x0)
+ {
+ BitMask = ~(0x1 << BitNo);
+ RV = RV & BitMask;
+ Fpga_Write_Reg(Adr, RV );
+ }
+ return 1;
+}
+
+int Fpga_Write_Reg(Int32 Addr, Int32 Data)
+{
+ var response = stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,Addr, Data);
+
+ return 1;
+}
+
+
+
+StubFpgaReadRegResponse Fpga_Read_Reg(Int32 Addr)
+{
+ var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,Addr);
+ response.Value = response.Value & 0xffff;
+
+ return response;
+}
+
+
+
+
+//end mati \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/New_Calibrate_Midtank_pressure_sensors1.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/New_Calibrate_Midtank_pressure_sensors1.cs
new file mode 100644
index 000000000..9edb49e03
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/New_Calibrate_Midtank_pressure_sensors1.cs
@@ -0,0 +1,423 @@
+using System;
+using System.IO;
+using System.Text;
+using System.Linq;
+using System.Drawing;
+using System.Diagnostics;
+using System.Windows.Forms;
+using System.Threading;
+using System.Threading.Tasks;
+using System.Collections.Generic;
+using Tango.PMR.Stubs;
+using Tango.PMR.EmbeddedParameters;
+using Tango.Stubs;
+
+//----------------------
+const double MIN_SLOP=0.7;
+const double MAX_SLOP=1.4;
+const double ERROR_SLOP=-1;
+const double MIN_50cc_on_volt=2.3;
+const double MAX_50cc_on_volt=3.2;
+const double ERROR_50cc_on_volt=-1;
+
+int [] Convert_Midtank_No = new Int32 [8] {1,3,5,7,2,4,6,8};
+uint [,] ADC_Add_Chnl = new uint [8,2] {
+ {0x44,0x20},
+ {0x44,0x08},
+ {0x46,0x80},
+ {0x46,0x20},
+ {0x44,0x10},
+ {0x44,0x04},
+ {0x46,0x40},
+ {0x46,0x10},
+ };
+
+
+const Int32 F3_VALVE_OUT = 0x600008E2 ;
+string Machine_SN ;
+private const string FILE_PATH = @"C:\MidTankLog\";
+string File_name;
+double Full_Cartridge=1000; // on CC
+double Slop=0.92;
+
+//----------------------
+const Int32 I2C_ID = 2;
+//const Int32 I2C_Slave_Add = 0x46; //must be 0x40, 0x44 or 0x46
+//----------------------
+
+
+public void OnExecute(StubManager stubManager)
+{
+ Int32 Timout ;
+ Int32 Interval;
+ Int32 midtankno = 0;
+ double Full_Point=0; //on Voltage
+ double resualt;
+ double Sum=0 ;
+ double Old_Sum=0 ;
+
+
+ if (!Directory.Exists(FILE_PATH))
+ {
+ Directory.CreateDirectory(FILE_PATH);
+ }
+
+
+
+ var response = stubManager.ShowResponseWindow("Enter Midtank S/N: ", "");
+ stubManager.Write("\n");
+ Machine_SN = response;
+ stubManager.WriteLine(Machine_SN);
+ File_name= FILE_PATH +Machine_SN + DateTime.Now.ToString("MM_dd_yyyy_HH_mm_ss")+".csv";
+ stubManager.Write(File_name);
+ stubManager.WriteToFile(File_name,"MidTank S/N:," + Machine_SN);
+
+
+ var response1 = stubManager.ShowResponseWindow("Enter Midtank number to calibrate (1-8):", "");
+ stubManager.WriteLine(response1);
+ midtankno = Int32.Parse(response1);
+ stubManager.AppendToFile(File_name,"MidTank Number:\t" + response1);
+ if (midtankno==8)
+ {
+ Slop=1;
+ Timout=60; //60 minutes
+ Interval=60; //60 second
+ }
+ else
+ {
+ Slop=0.92;
+ Timout=10*2; //10 minutes
+ Interval=30; //30 second
+
+ }
+ var response10 = stubManager.ShowResponseWindow("Enter Cartridge Valume on CC (500-1500):", "");
+ stubManager.WriteLine(response10);
+ Full_Cartridge = double.Parse(response10);
+ stubManager.AppendToFile(File_name,"Cartridge Valume:\t" + response10);
+ stubManager.AppendToFile(File_name,"Slop value:\t" + Slop);
+
+
+ DialogResult result = MessageBox.Show("Are you sure to calibrate Midtank No: "+ midtankno + " with "+ Full_Cartridge +" CC" , "Warning",MessageBoxButtons.YesNo);
+ if(result == DialogResult.Yes)
+ {
+
+
+
+ string box_msg = "Please Insert cartridge ";
+
+ MessageBox.Show(box_msg);
+
+ open_valve(midtankno,1,1) ; //open Air valve
+ open_valve(midtankno,0,1) ; //open Ink valve
+ Int32 i=0;
+ while (i<Timout) //check for 15 minitus
+ {
+ Sum=0;
+ for (Int32 j=0;j<Interval;j++)
+ {
+ resualt=read_pressure_sensor(midtankno);
+ stubManager.AppendToFile(File_name,resualt+",V");
+ Sum=Sum+resualt;
+ Thread.Sleep(1000);
+ }
+ if (Sum>Old_Sum)
+ Old_Sum=Sum-Old_Sum;
+ else
+ Old_Sum=Old_Sum-Sum;
+
+ if ((check_valve(midtankno,1) == 0) && (check_valve(midtankno,0) == 0))
+ {
+ i++;
+ if ( Old_Sum <0.02)
+ i=Timout; //end
+ Old_Sum=Sum;
+ }
+ else
+ {
+ open_valve(midtankno,1,0) ; //open Air valve
+ open_valve(midtankno,0,0) ; //open Ink valve
+ Old_Sum=0;
+ }
+ }
+ Full_Point=Sum/Interval;
+
+
+ close_valve(midtankno,1,1) ; //close Air valve
+ close_valve(midtankno,0,1) ; //close Ink valve
+
+
+ insert_slop_t_eeprom(Full_Point, midtankno);
+ box_msg ="Turn Power Off and On to finish the calibration.";
+ MessageBox.Show(box_msg);
+ }
+
+
+}
+
+
+ int insert_slop_t_eeprom( double FullPoint,Int32 midtankno)
+{
+// stubManager.Write("\n ");
+
+ MidTankDataSetupRequest midTankDataSetupRequest = new MidTankDataSetupRequest();
+
+ MidTankData midTankData = new MidTankData();
+ midTankData.MidTankId = Convert.ToUInt32 (midtankno-1);
+ midTankData.InitialOffsetA =FullPoint - (Full_Cartridge/1000-0.1)/Slop;
+ midTankData.SlopeB = Slop;
+
+ stubManager.Write("\nMidtank No:" + midtankno + "=\tVoltage Zero is ="+(FullPoint - (Full_Cartridge/1000-0.1)/Slop)+"\tSlop="+ Slop);
+ stubManager.AppendToFile(File_name,"\nMidtank No:" + midtankno + "=\tVoltage Zero is ="+(FullPoint - (Full_Cartridge/1000-0.1)/Slop)+"\tSlop="+ Slop);
+
+
+ midTankDataSetupRequest.MidTankInfo.Add(midTankData);
+
+
+var response = stubManager.Run<MidTankDataSetupResponse>(midTankDataSetupRequest);
+
+return 1;
+}
+
+
+int adc_configuration(uint I2C_Slave_Add,uint channel )
+ {
+ StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();
+ stubI2CWriteBytesRequest.I2CId = I2C_ID;
+ stubI2CWriteBytesRequest.SlaveAddress = I2C_Slave_Add;
+
+ UInt32 uInt32 = new UInt32();
+ stubI2CWriteBytesRequest.BytesTWrite.Add(0x00);//Byte 0 to write
+ stubI2CWriteBytesRequest.BytesTWrite.Add(channel);//Byte 1 to Write, must be 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02 or 0x01 for different channels
+ stubI2CWriteBytesRequest.BytesTWrite.Add(0x80);//Byte 2 to Write
+
+ var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
+
+ return 1;
+ }
+
+
+int adc_set_for_read_ch(uint I2C_Slave_Add)
+ {
+ StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();
+ stubI2CWriteBytesRequest.I2CId = I2C_ID;
+ stubI2CWriteBytesRequest.SlaveAddress = I2C_Slave_Add;
+
+ UInt32 uInt32 = new UInt32();
+ stubI2CWriteBytesRequest.BytesTWrite.Add(0x01);//Byte 0 to write
+
+ var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
+
+ return 1;
+ }
+
+
+
+
+double adc_read_ch(uint I2C_Slave_Add)
+ {
+ StubI2CReadBytesRequest stubI2CReadBytesRequest = new StubI2CReadBytesRequest();
+ stubI2CReadBytesRequest.I2CId = I2C_ID;
+ stubI2CReadBytesRequest.SlaveAddress = I2C_Slave_Add;
+ stubI2CReadBytesRequest.NumberOfBytesToRead = 2; // Number of bytes to read
+
+ var response1 = stubManager.Run<StubI2CReadBytesResponse>(stubI2CReadBytesRequest);
+ uint temph=0;
+ uint templ=0;
+ uint temp;
+ double calc;
+ double calc1;
+ double calc2;
+ temph=response1.ReadBytes[0];
+ templ=response1.ReadBytes[1];
+ temp = (temph << 8) | templ;
+ temp=temp & 0x0fff;
+
+ calc = (double)temp *2.5 / 4096.0;
+
+ calc1 = (1.96- calc) * 4.64 + 1.96;
+ stubManager.Write("Vsensor [volts]:\t");
+ stubManager.Write(calc1 + "\n");
+
+
+ return calc1;
+ }
+
+double read_pressure_sensor(Int32 i )
+ {
+double resualt =0 ;
+ switch (i)
+ {
+ case 1:
+ adc_configuration(0x44,0x20); //a2d_address 0x44 channel channel 2
+ adc_set_for_read_ch(0x44);
+ resualt=adc_read_ch(0x44);
+ break;
+
+ case 2:
+ adc_configuration(0x44,0x08); //a2d_address 0x44 channel channel 4
+ adc_set_for_read_ch(0x44);
+ resualt=adc_read_ch(0x44);
+ break;
+
+ case 3:
+ adc_configuration(0x46,0x80); //a2d_address 0x46 channel channel 0
+ adc_set_for_read_ch(0x46);
+ resualt=adc_read_ch(0x46);
+ break;
+
+ case 4:
+ adc_configuration(0x46,0x20); //a2d_address 0x46 channel channel 2
+ adc_set_for_read_ch(0x46);
+ resualt=adc_read_ch(0x46);
+ break;
+
+ case 5:
+ adc_configuration(0x44,0x10); //a2d_address 0x44 channel channel 3
+ adc_set_for_read_ch(0x44);
+ resualt=adc_read_ch(0x44);
+ break;
+
+ case 6:
+ adc_configuration(0x44,0x04); //a2d_address 0x44 channel channel 5
+ adc_set_for_read_ch(0x44);
+ resualt=adc_read_ch(0x44);
+ break;
+
+ case 7:
+ adc_configuration(0x46,0x40); //a2d_address 0x46 channel channel 1
+ adc_set_for_read_ch(0x46);
+ resualt=adc_read_ch(0x46);
+ break;
+
+ case 8:
+ adc_configuration(0x46,0x10); //a2d_address 0x46 channel channel 3
+ adc_set_for_read_ch(0x46);
+ resualt=adc_read_ch(0x46);
+ break;
+
+ default:
+ stubManager.Write("Error");
+
+ break;
+ }
+
+ return resualt;
+ }
+
+
+//--------------------------------
+int open_valve (int valve_nm,int valve_type,int check_valve) //valve_type=0 is Air ,1 is Ink ; check_valve=1 send feedbak
+{
+ int temp1=Convert_Midtank_No[valve_nm-1] ;
+
+ string temp;
+ SetBit (F3_VALVE_OUT,(((valve_type+1)*8)- temp1), 1);
+
+ if (check_valve!=0)
+ {
+ temp="Air";
+ if (valve_type==1)
+ temp="Ink";
+
+ DialogResult result = MessageBox.Show("Did " + temp + "Valve of Midtank " + valve_nm +" open?", "Warning",MessageBoxButtons.YesNo);
+ if(result == DialogResult.No)
+ {
+// Units_status[(valve_nm-1)*3+valve_type,1]="Fail";
+ stubManager.Write(temp +"Valve\tFail\n");
+ return 0;
+ }
+ else
+ {
+// Units_status[(valve_nm-1)*3+valve_type,1]="Pass";
+ stubManager.Write(temp +"Valve\tOpen\n");
+ return 1;
+ }
+
+ }
+ return 1;
+
+}
+//--------------------------------
+int close_valve (int valve_nm,int valve_type,int check_valve)
+{
+ int temp1=Convert_Midtank_No[valve_nm-1];
+
+ string temp;
+ SetBit (F3_VALVE_OUT,(((valve_type+1)*8)- temp1), 0);
+ if (check_valve!=0)
+ {
+ temp="Air";
+ if (valve_type==1)
+ temp="Ink";
+
+ DialogResult result = MessageBox.Show("Did " + temp +" Valve of Midtank " + valve_nm +" close?", "Warning",MessageBoxButtons.YesNo);
+ if(result == DialogResult.No)
+ {
+// Units_status[(valve_nm-1)*3+valve_type,1]="Fail";
+ stubManager.Write(temp +"Valve\tFail\n");
+ return 0;
+ }
+ else
+ {
+// Units_status[(valve_nm-1)*3+valve_type,1]="Pass";
+ stubManager.Write(temp +"Valve\tclose\n");
+ return 1;
+ }
+ }
+ return 1;
+
+}
+
+public Int32 SetBit(Int32 Adr, Int32 BitNo, Int32 Bit)
+{
+ Int32 BitMask;
+ var RetVal = Fpga_Read_Reg(Adr);
+ Int32 RV = (Int32) RetVal.Value;
+
+ if (Bit == 0x1)
+ {
+ BitMask = 0x1 << BitNo;
+ RV = RV | BitMask;
+ Fpga_Write_Reg( Adr, RV );
+ }
+ else if (Bit == 0x0)
+ {
+ BitMask = ~(0x1 << BitNo);
+ RV = RV & BitMask;
+ Fpga_Write_Reg(Adr, RV );
+ }
+ return 1;
+}
+
+int Fpga_Write_Reg(Int32 Addr, Int32 Data)
+{
+ var response = stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,Addr, Data);
+
+ return 1;
+}
+
+
+Int32 check_valve (Int32 valve_nm,int valve_type)
+{
+ Int32 temp1=Convert_Midtank_No[valve_nm-1];
+
+ var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F3_VALVE_OUT);
+ Int32 RV =(Int32) response.Value & 0xffff ;
+ RV = RV & ( 0x1 << (((valve_type+1)*8)- temp1));
+ return RV;
+
+}
+
+
+StubFpgaReadRegResponse Fpga_Read_Reg(Int32 Addr)
+{
+ var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,Addr);
+ response.Value = response.Value & 0xffff;
+
+ return response;
+}
+
+
+
+
+//end mati \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/New_Calibrate_Midtank_pressure_sensors2.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/New_Calibrate_Midtank_pressure_sensors2.cs
new file mode 100644
index 000000000..403d0b818
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/New_Calibrate_Midtank_pressure_sensors2.cs
@@ -0,0 +1,447 @@
+using System;
+using System.IO;
+using System.Text;
+using System.Linq;
+using System.Drawing;
+using System.Diagnostics;
+using System.Windows.Forms;
+using System.Threading;
+using System.Threading.Tasks;
+using System.Collections.Generic;
+using Tango.PMR.Stubs;
+using Tango.PMR.EmbeddedParameters;
+using Tango.Stubs;
+
+//----------------------
+const double MIN_SLOP=0.7;
+const double MAX_SLOP=1.4;
+const double ERROR_SLOP=-1;
+const double MIN_50cc_on_volt=2.3;
+const double MAX_50cc_on_volt=3.2;
+const double ERROR_50cc_on_volt=-1;
+
+int [] Convert_Midtank_No = new Int32 [8] {1,3,5,7,2,4,6,8};
+uint [,] ADC_Add_Chnl = new uint [8,2] {
+ {0x44,0x20},
+ {0x44,0x08},
+ {0x46,0x80},
+ {0x46,0x20},
+ {0x44,0x10},
+ {0x44,0x04},
+ {0x46,0x40},
+ {0x46,0x10},
+ };
+
+
+const Int32 F3_VALVE_OUT = 0x600008E2 ;
+string Machine_SN ;
+private const string FILE_PATH = @"C:\MidTankLog\";
+string File_name;
+double Full_Cartridge=1000; // on CC
+double Slop=0.92;
+//----------------------
+const Int32 I2C_ID = 2;
+//const Int32 I2C_Slave_Add = 0x46; //must be 0x40, 0x44 or 0x46
+//----------------------
+
+
+public void OnExecute(StubManager stubManager)
+{
+ Int32 Timout ;
+ Int32 Interval;
+ Int32 midtankno = 0;
+ double Full_Point=0; //on Voltage
+ double resualt;
+ double Sum=0 ;
+ double Old_Sum=0 ;
+ double Start_Point=0;
+
+
+ if (!Directory.Exists(FILE_PATH))
+ {
+ Directory.CreateDirectory(FILE_PATH);
+ }
+
+
+
+ var response = stubManager.ShowResponseWindow("Enter Midtank S/N: ", "");
+ stubManager.Write("\n");
+ Machine_SN = response;
+ stubManager.WriteLine(Machine_SN);
+ File_name= FILE_PATH +Machine_SN + DateTime.Now.ToString("MM_dd_yyyy_HH_mm_ss")+".csv";
+ stubManager.Write(File_name);
+ stubManager.WriteToFile(File_name,"MidTank S/N:," + Machine_SN);
+
+
+ var response1 = stubManager.ShowResponseWindow("Enter Midtank number to calibrate (1-8):", "");
+ stubManager.WriteLine(response1);
+ midtankno = Int32.Parse(response1);
+ stubManager.AppendToFile(File_name,"MidTank Number:\t" + response1);
+ if (midtankno==8)
+ {
+ Slop=1;
+ Timout=60; //60 minutes
+ Interval=60; //60 second
+ }
+ else
+ {
+ Slop=0.92;
+ Timout=10*2; //10 minutes
+ Interval=30; //30 second
+
+ }
+ var response10 = stubManager.ShowResponseWindow("Enter Cartridge Valume on CC (500-1500):", "");
+ stubManager.WriteLine(response10);
+ Full_Cartridge = double.Parse(response10);
+ stubManager.AppendToFile(File_name,"Cartridge Valume:\t" + response10);
+ stubManager.AppendToFile(File_name,"Slop value:\t" + Slop);
+
+
+ DialogResult result = MessageBox.Show("Are you sure to calibrate Midtank No: "+ midtankno + " with "+ Full_Cartridge +" CC" , "Warning",MessageBoxButtons.YesNo);
+ if(result == DialogResult.Yes)
+ {
+
+
+
+ string box_msg = "Please Insert cartridge ";
+
+ MessageBox.Show(box_msg);
+
+ open_valve(midtankno,1,1) ; //open Air valve
+ open_valve(midtankno,0,1) ; //open Ink valve
+ Int32 i=0;
+ while (i<Timout) //check for 15 minitus
+ {
+ Sum=0;
+ for (Int32 j=0;j<Interval;j++)
+ {
+ resualt=read_pressure_sensor(midtankno);
+ stubManager.AppendToFile(File_name,resualt+",V");
+ Sum=Sum+resualt;
+ Thread.Sleep(1000);
+ }
+
+
+ if (i==0)
+ Start_Point=Sum/Interval;
+
+ if (Sum>Old_Sum)
+ Old_Sum=Sum-Old_Sum;
+ else
+ Old_Sum=Old_Sum-Sum;
+
+
+ if ((check_valve(midtankno,1) != 0) && (check_valve(midtankno,0) != 0))
+ {
+ i++;
+ if ( Old_Sum <0.02)
+ i=Timout+1; //end
+ Old_Sum=Sum;
+ }
+ else
+ {
+ open_valve(midtankno,1,0) ; //open Air valve
+ open_valve(midtankno,0,0) ; //open Ink valve
+ Old_Sum=0;
+
+ }
+ }
+ Full_Point=Sum/Interval;
+
+
+ close_valve(midtankno,1,1) ; //close Air valve
+ close_valve(midtankno,0,1) ; //close Ink valve
+
+
+ if (insert_slop_t_eeprom(Full_Point, midtankno,Start_Point)==0)
+ {
+ box_msg ="Turn Power Off and On to finish the calibration.";
+ MessageBox.Show(box_msg);
+ }
+ else
+ {
+ box_msg ="Calibration error";
+ MessageBox.Show(box_msg);
+
+ }
+ }
+
+}
+
+
+ int insert_slop_t_eeprom( double FullPoint,Int32 midtankno, double StartPoint)
+{
+// stubManager.Write("\n ");
+
+ StartPoint=FullPoint-StartPoint;
+ StartPoint=StartPoint/Full_Cartridge;
+ if ((StartPoint>0.7 ) && (StartPoint>1.3 ))
+ {
+ MidTankDataSetupRequest midTankDataSetupRequest = new MidTankDataSetupRequest();
+
+ MidTankData midTankData = new MidTankData();
+ midTankData.MidTankId = Convert.ToUInt32 (midtankno-1);
+ midTankData.InitialOffsetA =FullPoint - (Full_Cartridge/1000-0.1)/Slop;
+ midTankData.SlopeB = Slop;
+
+ stubManager.Write("\nMidtank No:" + midtankno + "=\tVoltage Zero is ="+(FullPoint - (Full_Cartridge/1000-0.1)/Slop)+"\tSlop="+ Slop);
+ stubManager.AppendToFile(File_name,"\nMidtank No:" + midtankno + "=\tVoltage Zero is ="+(FullPoint - (Full_Cartridge/1000-0.1)/Slop)+"\tSlop="+ Slop);
+
+
+ midTankDataSetupRequest.MidTankInfo.Add(midTankData);
+
+
+ var response = stubManager.Run<MidTankDataSetupResponse>(midTankDataSetupRequest);
+
+ return 0;
+ }
+ else
+ stubManager.Write("\nError");
+ stubManager.AppendToFile(File_name,"\n Slop Error");
+ return 1;
+
+}
+
+
+int adc_configuration(uint I2C_Slave_Add,uint channel )
+ {
+ StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();
+ stubI2CWriteBytesRequest.I2CId = I2C_ID;
+ stubI2CWriteBytesRequest.SlaveAddress = I2C_Slave_Add;
+
+ UInt32 uInt32 = new UInt32();
+ stubI2CWriteBytesRequest.BytesTWrite.Add(0x00);//Byte 0 to write
+ stubI2CWriteBytesRequest.BytesTWrite.Add(channel);//Byte 1 to Write, must be 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02 or 0x01 for different channels
+ stubI2CWriteBytesRequest.BytesTWrite.Add(0x80);//Byte 2 to Write
+
+ var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
+
+ return 1;
+ }
+
+
+int adc_set_for_read_ch(uint I2C_Slave_Add)
+ {
+ StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();
+ stubI2CWriteBytesRequest.I2CId = I2C_ID;
+ stubI2CWriteBytesRequest.SlaveAddress = I2C_Slave_Add;
+
+ UInt32 uInt32 = new UInt32();
+ stubI2CWriteBytesRequest.BytesTWrite.Add(0x01);//Byte 0 to write
+
+ var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
+
+ return 1;
+ }
+
+
+
+
+double adc_read_ch(uint I2C_Slave_Add)
+ {
+ StubI2CReadBytesRequest stubI2CReadBytesRequest = new StubI2CReadBytesRequest();
+ stubI2CReadBytesRequest.I2CId = I2C_ID;
+ stubI2CReadBytesRequest.SlaveAddress = I2C_Slave_Add;
+ stubI2CReadBytesRequest.NumberOfBytesToRead = 2; // Number of bytes to read
+
+ var response1 = stubManager.Run<StubI2CReadBytesResponse>(stubI2CReadBytesRequest);
+ uint temph=0;
+ uint templ=0;
+ uint temp;
+ double calc;
+ double calc1;
+ double calc2;
+ temph=response1.ReadBytes[0];
+ templ=response1.ReadBytes[1];
+ temp = (temph << 8) | templ;
+ temp=temp & 0x0fff;
+
+ calc = (double)temp *2.5 / 4096.0;
+
+ calc1 = (1.96- calc) * 4.64 + 1.96;
+ stubManager.Write("Vsensor [volts]:\t");
+ stubManager.Write(calc1 + "\n");
+
+
+ return calc1;
+ }
+
+double read_pressure_sensor(Int32 i )
+ {
+double resualt =0 ;
+ switch (i)
+ {
+ case 1:
+ adc_configuration(0x44,0x20); //a2d_address 0x44 channel channel 2
+ adc_set_for_read_ch(0x44);
+ resualt=adc_read_ch(0x44);
+ break;
+
+ case 2:
+ adc_configuration(0x44,0x08); //a2d_address 0x44 channel channel 4
+ adc_set_for_read_ch(0x44);
+ resualt=adc_read_ch(0x44);
+ break;
+
+ case 3:
+ adc_configuration(0x46,0x80); //a2d_address 0x46 channel channel 0
+ adc_set_for_read_ch(0x46);
+ resualt=adc_read_ch(0x46);
+ break;
+
+ case 4:
+ adc_configuration(0x46,0x20); //a2d_address 0x46 channel channel 2
+ adc_set_for_read_ch(0x46);
+ resualt=adc_read_ch(0x46);
+ break;
+
+ case 5:
+ adc_configuration(0x44,0x10); //a2d_address 0x44 channel channel 3
+ adc_set_for_read_ch(0x44);
+ resualt=adc_read_ch(0x44);
+ break;
+
+ case 6:
+ adc_configuration(0x44,0x04); //a2d_address 0x44 channel channel 5
+ adc_set_for_read_ch(0x44);
+ resualt=adc_read_ch(0x44);
+ break;
+
+ case 7:
+ adc_configuration(0x46,0x40); //a2d_address 0x46 channel channel 1
+ adc_set_for_read_ch(0x46);
+ resualt=adc_read_ch(0x46);
+ break;
+
+ case 8:
+ adc_configuration(0x46,0x10); //a2d_address 0x46 channel channel 3
+ adc_set_for_read_ch(0x46);
+ resualt=adc_read_ch(0x46);
+ break;
+
+ default:
+ stubManager.Write("Error");
+
+ break;
+ }
+
+ return resualt;
+ }
+
+
+//--------------------------------
+int open_valve (int valve_nm,int valve_type,int check_valve) //valve_type=0 is Air ,1 is Ink ; check_valve=1 send feedbak
+{
+ int temp1=Convert_Midtank_No[valve_nm-1] ;
+
+ string temp;
+ SetBit (F3_VALVE_OUT,(((valve_type+1)*8)- temp1), 1);
+
+ if (check_valve!=0)
+ {
+ temp="Air";
+ if (valve_type==1)
+ temp="Ink";
+
+ DialogResult result = MessageBox.Show("Did " + temp + "Valve of Midtank " + valve_nm +" open?", "Warning",MessageBoxButtons.YesNo);
+ if(result == DialogResult.No)
+ {
+// Units_status[(valve_nm-1)*3+valve_type,1]="Fail";
+ stubManager.Write(temp +"Valve\tFail\n");
+ return 0;
+ }
+ else
+ {
+// Units_status[(valve_nm-1)*3+valve_type,1]="Pass";
+ stubManager.Write(temp +"Valve\tOpen\n");
+ return 1;
+ }
+
+ }
+ return 1;
+
+}
+//--------------------------------
+int close_valve (int valve_nm,int valve_type,int check_valve)
+{
+ int temp1=Convert_Midtank_No[valve_nm-1];
+
+ string temp;
+ SetBit (F3_VALVE_OUT,(((valve_type+1)*8)- temp1), 0);
+ if (check_valve!=0)
+ {
+ temp="Air";
+ if (valve_type==1)
+ temp="Ink";
+
+ DialogResult result = MessageBox.Show("Did " + temp +" Valve of Midtank " + valve_nm +" close?", "Warning",MessageBoxButtons.YesNo);
+ if(result == DialogResult.No)
+ {
+// Units_status[(valve_nm-1)*3+valve_type,1]="Fail";
+ stubManager.Write(temp +"Valve\tFail\n");
+ return 0;
+ }
+ else
+ {
+// Units_status[(valve_nm-1)*3+valve_type,1]="Pass";
+ stubManager.Write(temp +"Valve\tclose\n");
+ return 1;
+ }
+ }
+ return 1;
+
+}
+
+public Int32 SetBit(Int32 Adr, Int32 BitNo, Int32 Bit)
+{
+ Int32 BitMask;
+ var RetVal = Fpga_Read_Reg(Adr);
+ Int32 RV = (Int32) RetVal.Value;
+
+ if (Bit == 0x1)
+ {
+ BitMask = 0x1 << BitNo;
+ RV = RV | BitMask;
+ Fpga_Write_Reg( Adr, RV );
+ }
+ else if (Bit == 0x0)
+ {
+ BitMask = ~(0x1 << BitNo);
+ RV = RV & BitMask;
+ Fpga_Write_Reg(Adr, RV );
+ }
+ return 1;
+}
+
+int Fpga_Write_Reg(Int32 Addr, Int32 Data)
+{
+ var response = stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,Addr, Data);
+
+ return 1;
+}
+
+
+Int32 check_valve (Int32 valve_nm,int valve_type)
+{
+ Int32 temp1=Convert_Midtank_No[valve_nm-1];
+
+ var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,F3_VALVE_OUT);
+ Int32 RV =(Int32) response.Value & 0xffff ;
+ RV = RV & ( 0x1 << (((valve_type+1)*8)- temp1));
+ return RV;
+
+}
+
+
+StubFpgaReadRegResponse Fpga_Read_Reg(Int32 Addr)
+{
+ var response = stubManager.Run<StubFpgaReadRegResponse>("StubFpgaReadRegRequest" ,Addr);
+ response.Value = response.Value & 0xffff;
+
+ return response;
+}
+
+
+
+
+//end mati \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/midtanksetparams.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/midtanksetparams.cs
index 352666c85..d3aa81e83 100644
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/midtanksetparams.cs
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/MidTank/midtanksetparams.cs
@@ -13,13 +13,50 @@ using Tango.PMR.EmbeddedParameters;
public void OnExecute(StubManager stubManager)
{
+ uint midtankno = 0;
+ double Slop;
+ double Zero_Point;
+
+MidTankDataSetupRequest midTankDataSetupRequest = new MidTankDataSetupRequest();
+ var response = stubManager.ShowResponseWindow("Enter Midtank number to calibrate (1-8):", "");
+ //stubManager.WriteLine(response);
+ stubManager.Write("\n");
+ midtankno = uint.Parse(response);
-MidTankDataSetupRequest midTankDataSetupRequest = new MidTankDataSetupRequest();
+ var response1 = stubManager.ShowResponseWindow("Enter Midtank Slop ", "");
+ //stubManager.WriteLine(response);
+ stubManager.Write("\n");
+ Slop = double.Parse(response1);
+
+ var response2= stubManager.ShowResponseWindow("Enter Zero point (100cc)", "");
+ //stubManager.WriteLine(response);
+ stubManager.Write("\n");
+ Zero_Point = double.Parse(response2);
+
+ DialogResult result = MessageBox.Show("Are you sure to calibrate Midtank No: "+ midtankno + "with Slop "+ Slop +" and Zero_Point " + Zero_Point , "Warning",MessageBoxButtons.YesNo);
+ if(result == DialogResult.Yes)
+ {
+ MidTankData midTankData = new MidTankData();
+ midTankData.MidTankId = midtankno-1;
+ midTankData.InitialOffsetA = Zero_Point;
+ midTankData.SlopeB = Slop;
+ midTankDataSetupRequest.MidTankInfo.Add(midTankData);
+ var response3 = stubManager.Run<MidTankDataSetupResponse>(midTankDataSetupRequest);
+ string box_msg ="Turn Power Off and On to finish the calibration.";
+ MessageBox.Show(box_msg);
+
+ }
+
+}
+
+
+
+//MidTankDataSetupRequest midTankDataSetupRequest = new MidTankDataSetupRequest();
//50cc [V] 1.93242734375 1.94375546875 1.9295953125 1.935259375 1.92109921875 2.8245171875 1.92676328125 1.92676328125
//b [mL/V] -1 -1 -1 -1 -1 0.885922630082808 -1 -1
-
+/*
MidTankData midTankData = new MidTankData();
midTankData.MidTankId = 0;
midTankData.InitialOffsetA = 2.64273428916931;
@@ -76,9 +113,39 @@ midTankDataSetupRequest.MidTankInfo.Add(midTankData7);
var response = stubManager.Run<MidTankDataSetupResponse>(midTankDataSetupRequest);
-
-
-
+ */
+//}
+
+/*
+ int insert_slop_t_eeprom()
+{
+ stubManager.Write("\n ");
+
+ MidTankDataSetupRequest midTankDataSetupRequest = new MidTankDataSetupRequest();
+
+
+ for (uint i=1;i<9;i++)
+ {
+ if (voltage_array[i,4]!= ERROR_SLOP)
+ {
+ MidTankData midTankData = new MidTankData();
+ midTankData.MidTankId = i-1;
+ midTankData.InitialOffsetA = voltage_array[i,2];
+ midTankData.SlopeB = voltage_array[i,4];
+
+ stubManager.Write("\nMidtank No:" + i+ "=\tA="+voltage_array[i,2]+"\tSlop="+voltage_array[i,4]);
+
+
+ midTankDataSetupRequest.MidTankInfo.Add(midTankData);
-} \ No newline at end of file
+ }
+var response = stubManager.Run<MidTankDataSetupResponse>(midTankDataSetupRequest);
+
+
+
+ }
+}
+
+*/
+
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/New_DyeHead/Test_Actuator.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/New_DyeHead/Test_Actuator.cs
new file mode 100644
index 000000000..f9555a05b
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/New_DyeHead/Test_Actuator.cs
@@ -0,0 +1,42 @@
+using System;
+using System.Text;
+using System.Linq;
+using System.Drawing;
+using System.Diagnostics;
+using System.Windows.Forms;
+using System.Threading;
+using System.Threading.Tasks;
+using System.Collections.Generic;
+using Tango.PMR.Stubs;
+using Tango.Stubs;
+
+public void OnExecute(StubManager stubManager)
+{
+ int sleep_up=2000;//2 second
+ int sleep_dn=2000;//2 second
+ var response = stubManager.ShowResponseWindow("Enter Loop Number for Actuator.", "");
+ //stubManager.WriteLine(response);
+ int Loop_Nm = int.Parse(response);
+
+ for (int i=0;i<Loop_Nm;i++)
+ {
+
+
+ stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf000); //mov ACTUATOR-IN down
+ Thread.Sleep(sleep_dn);
+ stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf101); //mov ACTUATOR-OUT up
+ Thread.Sleep(sleep_dn);
+ stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf001); //mov ACTUATOR-IN up
+ Thread.Sleep(sleep_up);
+ stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf100); //mov ACTUATOR-OUT down
+ Thread.Sleep(sleep_up);
+
+ }
+ // stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf100); //mov ACTUATOR-OUTdown
+ // stubManager.Run<ProgressResponse>("ProgressRequest" ,0xfead, 0xcaf101); //mov ACTUATOR-OUT up
+
+
+
+
+
+} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/New_DyeHead/Test_Lid.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/New_DyeHead/Test_Lid.cs
new file mode 100644
index 000000000..110a0f09b
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/New_DyeHead/Test_Lid.cs
@@ -0,0 +1,145 @@
+using System;
+using System.Text;
+using System.IO;
+using System.Linq;
+using System.Drawing;
+using System.Diagnostics;
+using System.Windows.Forms;
+using System.Threading;
+using System.Threading.Tasks;
+using System.Collections.Generic;
+using Tango.PMR.Stubs;
+using Tango.Stubs;
+
+const int New_DyeHead_UNDER_TEST=48;
+
+const Int32 MGNET_OPEN=0x42F801;
+const Int32 MGNET_EN=0x42F701;
+const Int32 MGNET_CLOSE=0x42F800;
+const Int32 MGNET_DIS=0x42F700;
+
+const Int32 LS_FRONT=0X460110;
+const Int32 LS_REAR=0X460120;
+const Int32 LS_UPPER=0X460140;
+const Int32 LS_SPARE=0X460180;
+
+const Int32 DyeingHeadLid_Motor = 2;
+
+//--------------------------------------------------------------------------------
+
+public void OnExecute(StubManager stubManager)
+{
+ var response = stubManager.ShowResponseWindow("Enter Loop Number for Dye Head Lead.", "");
+ //stubManager.WriteLine(response);
+ int Loop_Nm = int.Parse(response);
+
+ for (int i=0;i<Loop_Nm;i++)
+ {
+ if (Test_Magnet_Motor_LS_New_DyeHead() != 0 )
+ {
+ i=Loop_Nm;
+ stubManager.Write("Error");
+ }
+ Thread.Sleep(2000);
+ }
+}
+
+//-------------------------------------------------------------
+
+//--------------------------------------------
+ int Test_Magnet_Motor_LS_New_DyeHead()
+{
+ Int32 temp;
+ int i=0;
+
+//---------------------- open Magnet ----------------------------
+ stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,MGNET_OPEN); // turn magnet on
+ Thread.Sleep(100);
+
+ stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,MGNET_EN); // magnet enable
+ Thread.Sleep(100);
+
+ Thread.Sleep(1000);
+//---------------------- chekc Magnet is open ----------------------------
+// DialogResult result = MessageBox.Show("Make shure, Magnet is open and DyeHead cover on front.", "Warning",MessageBoxButtons.YesNo);
+// if(result == DialogResult.No)
+// {
+// stubManager.Write("Magnet is close\n");
+// return 0;
+// }
+ temp=read_pio (LS_UPPER); // read LS_UPPER
+ if (temp != 0)
+ {
+ stubManager.Write("LS_UPPER of Magnet is close\n");
+ return 1;
+ }
+ stubManager.Write("Magnet is Open\n");
+
+
+//---------------------- Move DyeingHead Lid Motor rear----------------------------
+ stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,DyeingHeadLid_Motor, true, 250);
+ stubManager.Write("*** Open Lid Head ********* \n");
+
+ temp = 0;
+ i=0;
+ while ((temp == 0x0)&& (i<200) ) //wait until Limit Switch or timeout 200*50msec=10sec
+ {
+ temp=read_pio (LS_REAR); // read LS_REAR
+ Thread.Sleep(50);
+
+ i++;
+ }
+
+ stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DyeingHeadLid_Motor,3); //stop motor
+ if(i==200)
+ {
+ stubManager.Write("LS_REAR Not calibrate\n");
+ return 1;
+ }
+
+//---------------------- Move DyeingHead Lid Motor front----------------------------
+ stubManager.Write("*** Close Lid Head \n");
+ stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,DyeingHeadLid_Motor, false, 250);
+ temp = 0;
+ i=0;
+ while ((temp == 0x0)&& (i<200) ) //wait until Limit Switch or timeout 200*50msec=10sec
+ {
+ temp=read_pio (LS_FRONT); // read LS_FRONT
+ Thread.Sleep(50);
+ i++;
+ }
+ stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DyeingHeadLid_Motor,3); //stop motor
+ if(i==200)
+ {
+ stubManager.Write("LS_FRONT Not calibrate\n");
+ return 1;
+ }
+//---------------------- Close Magnet ----------------------------
+ stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,MGNET_CLOSE); // turn magnet off
+ Thread.Sleep(2000);
+ stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,MGNET_DIS); // magnet Disable
+
+ stubManager.Write("Magnet is Close\n");
+ Thread.Sleep(1000);
+
+ temp=read_pio (LS_UPPER); // read LS_UPPER
+ if (temp == 0)
+ {
+ stubManager.Write("LS_UPPER of Magnet is open\n");
+ return 1;
+ }
+ stubManager.Write("LS_UPPER of Magnet is close\n");
+ return 0;
+ }
+
+Int32 read_pio(Int32 i2c_input)
+{
+ Int32 temp=0;
+ var response = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,i2c_input); // read break
+
+ temp = (Int32) (response.Progress);
+ temp =temp & (i2c_input& 0xff); //if break ok
+
+ return temp;
+}
+//end mati
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Get_PowerStep01_Parameters.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Get_PowerStep01_Parameters.cs
new file mode 100644
index 000000000..ebe0dbf0f
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Get_PowerStep01_Parameters.cs
@@ -0,0 +1,227 @@
+using System;
+using System.Text;
+using System.Linq;
+using System.Drawing;
+using System.Diagnostics;
+using System.Windows.Forms;
+using System.Threading;
+using System.Threading.Tasks;
+using System.Collections.Generic;
+using Tango.PMR.Stubs;
+using Tango.Stubs;
+
+//unmark Auto logging !
+
+const Int32 x_POWERSTEP01_CONFIG = 0x1A;
+const Int32 x_POWERSTEP01_STATUS = 0x1B;
+const Int32 x_POWERSTEP01_GATECFG1 = 0x18;
+const Int32 x_POWERSTEP01_GATECFG2 = 0x19;
+
+const Int32 x_ABS_POS = 0x01;
+const Int32 x_EL_POS = 0x02;
+const Int32 x_MARK = 0x03;
+const Int32 x_SPEED = 0x04;
+const Int32 x_ACC = 0x05;
+const Int32 x_DEC = 0x06;
+const Int32 x_MAX_SPEED = 0x07;
+const Int32 x_MIN_SPEED = 0x08;
+const Int32 x_FS_SPD = 0x15;
+const Int32 x_KVAL_HOLD = 0x09;
+const Int32 x_KVAL_RUN = 0x0A;
+const Int32 x_KVAL_ACC = 0x0B;
+const Int32 x_KVAL_DEC = 0x0C;
+const Int32 x_INT_SPD = 0x0D;
+const Int32 x_ST_SLP = 0x0E;
+const Int32 x_FN_SLP_ACC = 0x0F;
+const Int32 x_FN_SLP_DEC = 0x10;
+const Int32 x_K_THERM = 0x11;
+const Int32 x_ADC_OUT = 0x12;
+const Int32 x_OCD_TH = 0x13;
+const Int32 x_STALL_TH = 0x14;
+const Int32 x_STEP_MODE = 0x16;
+const Int32 x_ALARM_EN = 0x17;
+const Int32 x_CONFIG = 0x18;
+const Int32 x_STATUS = 0x19;
+//-------------------------------
+const Int32 x_GET_PARAM = 0x20;
+//-------------------------------
+const Int32 Max_Motor_ID = 25;
+
+string[] Motor_ID = new string[30];
+
+
+Motor_ID[0] ="DH_CLEANHEAD ";
+Motor_ID[1] ="DH_CLEANMECH ";
+Motor_ID[2] ="DH_LID ";
+Motor_ID[3] ="DRYER_DRIVING";
+Motor_ID[4] ="DRYER_LID ";
+Motor_ID[5] ="DRYER_LOADARM";
+Motor_ID[6] ="DISPENCER_1 ";
+Motor_ID[7] ="DISPENCER_2 ";
+Motor_ID[8] ="DISPENCER_3 ";
+Motor_ID[9] ="DISPENCER_4 ";
+Motor_ID[10]="DISPENCER_5 ";
+Motor_ID[11]="DISPENCER_6 ";
+Motor_ID[12]="DISPENCER_7 ";
+Motor_ID[13]="DISPENCER_8 ";
+Motor_ID[14]="SCREW ";
+Motor_ID[15]="WINDER ";
+Motor_ID[16]="LDANCER1 ";
+Motor_ID[17]="LDANCER2 ";
+Motor_ID[18]="LDRIVING ";
+Motor_ID[19]="LLODING ";
+Motor_ID[20]="LPIVOT ";
+Motor_ID[21]="RDANCER ";
+Motor_ID[22]="RDRIVING ";
+Motor_ID[23]="RLOADARM ";
+Motor_ID[24]="RLODING ";
+Motor_ID[25]="SPARE1_1 ";
+Motor_ID[26]="SPARE1_2 ";
+Motor_ID[27]="SPARE2_1 ";
+Motor_ID[28]="SPARE2_2 ";
+Motor_ID[29]="SPARE3 ";
+
+public void OnExecute(StubManager stubManager)
+{
+
+ var i = stubManager.ShowResponseWindow("Please Enter Motor ID:");
+
+ stubManager.Write("Motor_ID:\t\t ");
+ stubManager.Write(i);
+ stubManager.Write("\n");
+
+ stubManager.Write("ABS_POS:\t\t");
+ var response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ABS_POS)<<24, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\n");
+
+ stubManager.Write("EL_POS:\t\t");
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_EL_POS)<<16, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\n");
+
+ stubManager.Write("MARK:\t\t\t");
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_MARK)<<24, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\n");
+
+ stubManager.Write("SPEED:\t\t\t");
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_SPEED)<<24, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\n");
+
+ stubManager.Write("ACC:\t\t\t");
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ACC)<<16, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\n");
+
+ stubManager.Write("DEC:\t\t\t");
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_DEC)<<16, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\n");
+
+ stubManager.Write("MAX_SPEED:\t\t");
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_MAX_SPEED)<<16, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\n");
+
+ stubManager.Write("MIN_SPEED:\t\t");
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_MIN_SPEED)<<16, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\n");
+
+ stubManager.Write("FS_SPD:\t\t");
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_FS_SPD)<<16, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\n");
+
+ stubManager.Write("KVAL\\TVAL_HOLD:\t");
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KVAL_HOLD)<<8, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\n");
+
+ stubManager.Write("KVAL\\TVAL_RUN:\t");
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KVAL_RUN)<<8, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\n");
+
+ stubManager.Write("KVAL\\TVAL_ACC:\t");
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KVAL_ACC)<<8, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\n");
+
+ stubManager.Write("KVAL\\TVAL_DEC:\t");
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KVAL_DEC)<<8, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\n");
+
+ stubManager.Write("INT_SPEED:\t\t");
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_INT_SPD)<<16, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\n");
+
+ stubManager.Write("ST_SLP\\T_FAST:\t");
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ST_SLP)<<8, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\n");
+
+ stubManager.Write("FN_SLP_ACC\\TON_MIN:\t");
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_FN_SLP_ACC)<<8, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\n");
+
+ stubManager.Write("FN_SLP_DEC\\TOFF_MIN:");
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_FN_SLP_DEC)<<8, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\n");
+
+ stubManager.Write("K_THERM:\t\t");
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_K_THERM)<<8, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\n");
+
+ stubManager.Write("ADC_OUT:\t\t");
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ADC_OUT)<<8, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\n");
+
+ stubManager.Write("OCD_TH:\t\t");
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_OCD_TH)<<8, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\n");
+
+ stubManager.Write("STALL_TH:\t\t");
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_STALL_TH)<<8, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\n");
+
+ stubManager.Write("STEP_MODE:\t\t");
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_STEP_MODE)<<8, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\n");
+
+ stubManager.Write("ALARM_EN:\t\t");
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ALARM_EN)<<8, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\n");
+
+ stubManager.Write("GATECFG1:\t\t");
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_GATECFG1)<<16, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\n");
+
+ stubManager.Write("GATECFG2:\t\t");
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_GATECFG2)<<8, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\n");
+
+ stubManager.Write("CONFIG:\t\t");
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_CONFIG)<<16, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\n");
+
+ stubManager.Write("STATUS:\t\t");
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_STATUS)<<16, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\n");
+} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Motor_GMotor_Get_Param_Powerstep01_rev3.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Motor_GMotor_Get_Param_Powerstep01_rev3.cs
new file mode 100644
index 000000000..384c079fa
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/PowerStep01/Motor_GMotor_Get_Param_Powerstep01_rev3.cs
@@ -0,0 +1,237 @@
+using System;
+using System.Text;
+using System.Linq;
+using System.Drawing;
+using System.Diagnostics;
+using System.Windows.Forms;
+using System.Threading;
+using System.Threading.Tasks;
+using System.Collections.Generic;
+using Tango.PMR.Stubs;
+using Tango.Stubs;
+
+//unmark Auto logging !
+
+//General Configuration
+const Int32 x_ABS_POS = 0x01;
+const Int32 x_EL_POS = 0x02;
+const Int32 x_MARK = 0x03;
+const Int32 x_SPEED = 0x04;
+const Int32 x_ACC = 0x05;
+const Int32 x_DEC = 0x06;
+const Int32 x_MAX_SPEED = 0x07;
+const Int32 x_MIN_SPEED = 0x08;
+//VOLTAGE / CURRENT
+const Int32 x_KTVAL_HOLD = 0x09;
+const Int32 x_KTVAL_RUN = 0x0A;
+const Int32 x_KTVAL_ACC = 0x0B;
+const Int32 x_KTVAL_DEC = 0x0C;
+const Int32 x_INT_SPD = 0x0D;//voltage
+const Int32 x_ST_SLP_T_FAST = 0x0E;
+const Int32 x_FN_SLP_ACC_TON_MIN = 0x0F;
+const Int32 x_FN_SLP_DEC_TOFF_MIN = 0x10;
+const Int32 x_K_THERM = 0x11;//VOLTAGE
+const Int32 x_ADC_OUT = 0x12;
+const Int32 x_OCD_TH = 0x13;
+const Int32 x_STALL_TH = 0x14;//VOLTAGE
+const Int32 x_FS_SPD = 0x15;
+const Int32 x_STEP_MODE = 0x16;
+const Int32 x_ALARM_EN = 0x17;
+const Int32 x_POWERSTEP01_GATECFG1 = 0x18;
+const Int32 x_POWERSTEP01_GATECFG2 = 0x19;
+const Int32 x_POWERSTEP01_CONFIG = 0x1A;
+const Int32 x_POWERSTEP01_STATUS = 0x1B;
+//VOLTAGE / CURRENT
+
+//-------------------------------
+const Int32 x_GET_PARAM = 0x20;
+//-------------------------------
+Int32 Start_index = 0; // start from motor
+
+const Int32 Max_Motor_ID = 25;
+
+string[] Motor_ID = new string[30];
+
+
+Motor_ID[0] ="DH_CLEANHEAD ";
+Motor_ID[1] ="DH_CLEANMECH ";
+Motor_ID[2] ="DH_LID ";
+Motor_ID[3] ="DRYER_DRIVING";
+Motor_ID[4] ="DRYER_LID ";
+Motor_ID[5] ="DRYER_LOADARM";
+Motor_ID[6] ="DISPENCER_1 ";
+Motor_ID[7] ="DISPENCER_2 ";
+Motor_ID[8] ="DISPENCER_3 ";
+Motor_ID[9] ="DISPENCER_4 ";
+Motor_ID[10]="DISPENCER_5 ";
+Motor_ID[11]="DISPENCER_6 ";
+Motor_ID[12]="DISPENCER_7 ";
+Motor_ID[13]="DISPENCER_8 ";
+Motor_ID[14]="SCREW ";
+Motor_ID[15]="WINDER ";
+Motor_ID[16]="LDANCER1 ";
+Motor_ID[17]="LDANCER2 ";
+Motor_ID[18]="LDRIVING ";
+Motor_ID[19]="LLODING ";
+Motor_ID[20]="LPIVOT ";
+Motor_ID[21]="RDANCER ";
+Motor_ID[22]="RDRIVING ";
+Motor_ID[23]="RLOADARM ";
+Motor_ID[24]="RLODING ";
+Motor_ID[25]="SPARE1_1 ";
+Motor_ID[26]="SPARE1_2 ";
+Motor_ID[27]="SPARE2_1 ";
+Motor_ID[28]="SPARE2_2 ";
+Motor_ID[29]="SPARE3 ";
+
+
+
+
+public void OnExecute(StubManager stubManager)
+{
+ Int32 i = 0;
+
+ Int32 motname = 0;
+//stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000380 , 0x06b9); //7ff mati
+//stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000390 , 0x003f);
+//stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000550 , 0x0003); //ff mati
+//stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,0x60000b80 , 0x001f);
+
+
+// stubManager.Write("\n\n");
+ stubManager.Write("MoTor\tABS_POS\tEL_POS\tMARK\tSPEED\tACC\tDEC\tMAX_SPEED\tMIN_SPEED\tKTVAL_HOLD\tKTVAL_RUN\tTKVAL_ACC\tTKVAL_DEC\tINT_SPD\tT_FAST\t TON_MIN\tTOFF_MIN\tK_THERM\tADC_OUT\tOCD_TH\tSTALL_TH\tFS_SPD\tSTEP_MODE\tALARM_EN\tGATECFG1\tGATECFG2\tCONFIG\tSTATUS\n");
+// stubManager.Write("------\t\t\t--------\t--------\t----------\t---\t\t---\t\t----------\t---------\t---------\t---------\t------\t\t--------\t------\n");
+
+
+
+ for (i = Start_index; i < Max_Motor_ID; i++)
+ {
+
+// if((i%8 ==0) )
+// {
+// }
+ //stubManager.Write(i);
+
+ stubManager.Write(Motor_ID[i]);
+ stubManager.Write("\t\t");
+
+ var response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ABS_POS)<<24, 0, 0);
+ stubManager.WriteHex(response.RecivedData,6);
+ stubManager.Write("\t");
+
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_EL_POS)<<16, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\t");
+
+
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_MARK)<<24, 0, 0);
+ stubManager.WriteHex(response.RecivedData,6);
+ stubManager.Write("\t");
+
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_SPEED)<<24, 0, 0);
+ stubManager.WriteHex(response.RecivedData,6);
+ stubManager.Write("\t");
+
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ACC)<<16, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\t");
+
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_DEC)<<16, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\t");
+
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_MAX_SPEED)<<16, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\t");
+
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_MIN_SPEED)<<16, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\t");
+
+
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KTVAL_HOLD)<<8, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\t");
+
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KTVAL_RUN)<<8, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\t");
+
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KTVAL_ACC)<<8, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\t");
+
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_KTVAL_DEC)<<8, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\t");
+
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_INT_SPD)<<16, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\t");
+
+
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ST_SLP_T_FAST)<<8, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\t");
+
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_FN_SLP_ACC_TON_MIN)<<8, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\t");
+
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_FN_SLP_DEC_TOFF_MIN)<<8, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\t");
+
+
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_K_THERM)<<8, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\t");
+
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ADC_OUT)<<8, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\t");
+
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_OCD_TH)<<8, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\t");
+
+
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_STALL_TH)<<8, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\t");
+
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_FS_SPD)<<16, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\t");
+
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_STEP_MODE)<<8, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\t");
+
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_ALARM_EN)<<8, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\t");
+
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_GATECFG1)<<16, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\t");
+
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_GATECFG2)<<8, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\t");
+
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_CONFIG)<<16, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\t");
+
+ response = stubManager.Run<StubMotorResponse>("StubMotorRequest" ,i, (x_GET_PARAM | x_POWERSTEP01_STATUS)<<16, 0, 0);
+ stubManager.WriteHex(response.RecivedData,4);
+ stubManager.Write("\n");
+
+
+
+
+ }
+
+
+} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Assemblies/WHS/fan1-4.cs b/Software/Stubs Collection/stubs/Scripts/Assemblies/WHS/fan1-4.cs
index 6e7617cc0..69f8e4d13 100644
--- a/Software/Stubs Collection/stubs/Scripts/Assemblies/WHS/fan1-4.cs
+++ b/Software/Stubs Collection/stubs/Scripts/Assemblies/WHS/fan1-4.cs
@@ -12,7 +12,7 @@ using Tango.Stubs;
public void OnExecute(StubManager stubManager)
{
- int x=80;
+ int x=0;
// var response1 = stubManager.ShowResponseWindow("Please Enter fan value from 0 to 255:");
// int x = Int32.Parse(response1);
@@ -23,6 +23,7 @@ public void OnExecute(StubManager stubManager)
stubManager.Run<ProgressResponse>("ProgressRequest" ,0xffac4, x); //whs fan3 full
stubManager.Run<ProgressResponse>("ProgressRequest" ,0xffac5, x); //whs fan4 full
+ var response = stubManager.Run<ProgressResponse>("ProgressRequest" ,0x3ea, 6); //whs fan4 full
} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Head_Type_Indification_2.cs b/Software/Stubs Collection/stubs/Scripts/Head_Type_Indification_2.cs
new file mode 100644
index 000000000..a5f28a01d
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Head_Type_Indification_2.cs
@@ -0,0 +1,25 @@
+using System;
+using System.Text;
+using System.Linq;
+using System.Drawing;
+using System.Diagnostics;
+using System.Windows.Forms;
+using System.Threading;
+using System.Threading.Tasks;
+using System.Collections.Generic;
+using Tango.PMR.Stubs;
+using Tango.Stubs;
+
+public void OnExecute(StubManager stubManager)
+{
+
+ var response = stubManager.Run<ProgressResponse>("ProgressRequest" ,0xFEAD, 0);
+
+ /* Response:
+ HEAD_TYPE_UNKNOWN // 0
+ HEAD_TYPE_FLAT_WITHOUT_CARD// 1
+ HEAD_TYPE_UNKNOWN_WITH_CARD// 2
+ HEAD_TYPE_FLAT// 3
+ HEAD_TYPE_ARC// 4
+ */
+} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/JIG_TESTER.cs b/Software/Stubs Collection/stubs/Scripts/Jig_Tester/JIG_TESTER.cs
index 7841b09eb..a90acd902 100644
--- a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/JIG_TESTER.cs
+++ b/Software/Stubs Collection/stubs/Scripts/Jig_Tester/JIG_TESTER.cs
@@ -28,6 +28,7 @@ System.Timers.Timer timer;
string [,] Units_status = new string[50,2];
+string File_Name2;
string File_Name1 ;
string Status;
@@ -36,7 +37,7 @@ const int Winder =0 ;
const int LTFU =1 ;
string path;
-string path1="C:\\Jig_Log\\";
+string path1="C:\\Jig_Log\\";;
bool BlinkOn = false;
bool timer_started = false;
@@ -47,6 +48,10 @@ int UNIT_UNDER_TEST ;
public void OnExecute(StubManager stubManager)
{
+ string u =System.Environment.UserName;
+
+
+
Label Run_text = new Label ()
{
Width = 110,
@@ -219,7 +224,7 @@ public void OnExecute(StubManager stubManager)
Height = 20,
Text =" S/N"
};
- SN_lbl.Location = new Point (30, 10);
+ SN_lbl.Location = new Point (40, 10);
form1.Controls.Add(SN_lbl);
TextBox SN_TexstBox = new TextBox ()
{
@@ -229,6 +234,27 @@ public void OnExecute(StubManager stubManager)
};
SN_TexstBox.Location = new Point (40, 40);
form1.Controls.Add(SN_TexstBox);
+ //-----Create Lable to Part Number -----------
+
+ Label PN_lbl = new Label ()
+ {
+ Width = 150,
+ Height = 20,
+ Text =" P/N"
+ };
+ PN_lbl.Location = new Point (190, 10);
+ form1.Controls.Add(PN_lbl);
+
+ TextBox PN_TexstBox = new TextBox ()
+ {
+ Width = 150,
+ Height = 20,
+ Text =""
+ };
+ PN_TexstBox.Location = new Point (190, 40);
+ PN_TexstBox.CharacterCasing = CharacterCasing.Upper;
+
+ form1.Controls.Add(PN_TexstBox);
//----------Create Lable to LOCATION----------
Label Location_lbl = new Label ()
{
@@ -236,7 +262,7 @@ public void OnExecute(StubManager stubManager)
Height = 20,
Text ="LOCATION"
};
- Location_lbl.Location = new Point (300, 10);
+ Location_lbl.Location = new Point (440, 10);
form1.Controls.Add(Location_lbl);
TextBox Location_TexstBox = new TextBox ()
@@ -245,7 +271,7 @@ public void OnExecute(StubManager stubManager)
Height = 20,
Text =Location_str
};
- Location_TexstBox.Location = new Point (300, 40);
+ Location_TexstBox.Location = new Point (440, 40);
form1.Controls.Add(Location_TexstBox);
Run_text.Location = new System.Drawing.Point(300, 100);
@@ -254,6 +280,25 @@ public void OnExecute(StubManager stubManager)
Run_text.Font = new Font("Areal", 16, System.Drawing.FontStyle.Bold);
form1.Controls.Add(Run_text);
//--------------------------------------------------------------------------------
+ Button Open_Log_btm = new Button()
+ {
+ Width = 100,
+ Height = 40,
+ };
+ Open_Log_btm.Text = "Open Log File";
+ Open_Log_btm.BackColor = System.Drawing.Color.Red;
+ Open_Log_btm.Location = new System.Drawing.Point(300, 286);
+ Open_Log_btm.Enabled= false;
+ form1.Controls.Add(Open_Log_btm);
+
+
+ Open_Log_btm.Click += (_, __) =>
+ {
+ System.Diagnostics.Process.Start(File_Name2 );
+ };
+
+
+//--------------------------------------------------------------------------------
Button Stop_btm = new Button()
{
Width = 260,
@@ -263,6 +308,10 @@ public void OnExecute(StubManager stubManager)
Stop_btm.BackColor = System.Drawing.Color.Red;
Stop_btm.Location = new System.Drawing.Point(4, 286);
Stop_btm.Enabled= false;
+
+
+
+
Stop_btm.Click += (_, __) =>
{
timer.Stop();
@@ -273,7 +322,7 @@ public void OnExecute(StubManager stubManager)
};
form1.Controls.Add(Stop_btm);
-
+ disable_test();
void disable_test()
{
Winder_btm.Enabled = false;
@@ -286,23 +335,23 @@ public void OnExecute(StubManager stubManager)
Mixer_btm.Enabled= false;
NewMixer_btm.Enabled= false;
NewDyeHead_btm.Enabled= false;
- Stop_btm.Enabled= true;
- }
-
- void enable_test()
- {
- Winder_btm.Enabled = true;
- LTFU_btm.Enabled = true;
- RTFU_btm.Enabled = true;
- Dryer_btm.Enabled = true;
- MidTank_btm.Enabled= true;
- DyeHead_btm.Enabled= true;
- WHS_btm.Enabled= true;
- Mixer_btm.Enabled= true;
- NewMixer_btm.Enabled= true;
- NewDyeHead_btm.Enabled= true;
Stop_btm.Enabled= false;
}
+
+// void enable_test()
+// {
+// Winder_btm.Enabled = true;
+// LTFU_btm.Enabled = true;
+// RTFU_btm.Enabled = true;
+// Dryer_btm.Enabled = true;
+// MidTank_btm.Enabled= true;
+// DyeHead_btm.Enabled= true;
+// WHS_btm.Enabled= true;
+// Mixer_btm.Enabled= true;
+// NewMixer_btm.Enabled= true;
+// NewDyeHead_btm.Enabled= true;
+// Stop_btm.Enabled= false;
+// }
void Timer_en()
{
if (timer_started == false)
@@ -320,9 +369,11 @@ public void OnExecute(StubManager stubManager)
}
}
void end_test()
- { enable_test();
+ { disable_test();
+ //enable_test();
+
Timer_dis();
-
+ Open_Log_btm.Enabled= true;
Run_text.Text = Status;
if (Status=="Pass")
{
@@ -337,22 +388,126 @@ public void OnExecute(StubManager stubManager)
}
}
+PN_TexstBox.TextChanged += (_,__)=>
+
+ {
+ string temp;
+
+ if (SN_TexstBox.Text.Length!=15)
+ {
+ disable_test();
+ return;
+ }
+
+ if (PN_TexstBox.Text.Contains("-"))
+
+ {
+ temp=PN_TexstBox.Text.Substring(0, PN_TexstBox.Text.IndexOf("-"));
+ switch (temp)
+ {
+ case "AM00315": //DyeHead
+ NewDyeHead_btm.Enabled= true;
+ break;
+ case "AM00103": //Winder
+ Winder_btm.Enabled = true;
+ break;
+ case "AM00087": //MidTank
+ MidTank_btm.Enabled = true;
+ break;
+ case "AM00031": //LTFU
+ LTFU_btm.Enabled = true;
+ break;
+ case "AM00007": //Dryer
+ Dryer_btm.Enabled = true;
+ break;
+ case "AM00030": //RTFU
+ RTFU_btm.Enabled = true;
+ break;
+ case "AM00281": //New Mixer
+ NewMixer_btm.Enabled= true;
+ break;
+ // case "AM00281": // Mixer
+ // Mixer_btm.Enabled= true;
+ // break;
+ default:
+ disable_test();
+ break;
+ }
+ }
+ else
+ disable_test();
+
+
+ };
+ SN_TexstBox.TextChanged += (_,__)=>
+
+ {
+ string temp;
+ if (SN_TexstBox.Text.Length!=15)
+ {
+ disable_test();
+ return;
+ }
+ if (PN_TexstBox.Text.Contains("-"))
+ {
+
+ temp=PN_TexstBox.Text.Substring(0, PN_TexstBox.Text.IndexOf("-"));
+
+ switch (temp)
+ {
+ case "AM00315": //DyeHead
+ NewDyeHead_btm.Enabled= true;
+ break;
+ case "AM00103": //Winder
+ Winder_btm.Enabled = true;
+ break;
+ case "AM00087": //MidTank
+ MidTank_btm.Enabled = true;
+ break;
+ case "AM00031": //LTFU
+ LTFU_btm.Enabled = true;
+ break;
+ case "AM00007": //Dryer
+ Dryer_btm.Enabled = true;
+ break;
+ case "AM00030": //RTFU
+ RTFU_btm.Enabled = true;
+ break;
+ case "AM00286": //New Mixer
+ NewMixer_btm.Enabled= true;
+ break;
+ default:
+ disable_test();
+ break;
+// case "AM00281": // Mixer
+// Mixer_btm.Enabled= true;
+// break;
+ }
+ }
+ else
+ disable_test();
+ };
//-----------------------------------------
Winder_btm.Click += async(_,__) =>
{
+ Open_Log_btm.Enabled= false;
Run_text.Text = "Run";
stubManager.WriteLine("DUT- Winder ");
- path="C:\\Users\\lp4\\Dropbox\\"+Location_TexstBox.Text +"_Bench_Tester"+"\\Winder\\" ;
+// path="C:\\Users\\" + u + "\\Dropbox\\"+Location_TexstBox.Text +"_Bench_Tester"+"\\Winder\\" ;
+ path="C:\\Users\\" + u + "\\Dropbox\\"+Location_TexstBox.Text +"_Bench_Tester"+"\\Winder\\" ;
+
Timer_en();
_cancellationTokenSource = new CancellationTokenSource();
try
{
- disable_test();
+ // disable_test();
+ Winder_btm.Enabled = false;
+ Stop_btm.Enabled= true;
var longRunningTask = await Winder_test(setLabel1TextSafe, _cancellationTokenSource.Token, SN_TexstBox.Text ,Location_TexstBox.Text );
}
catch (OperationCanceledException)
{
- enable_test();
+ disable_test();
Status="Cancel";
stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,WINDER_Motor,3); //stop motor
stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,SCREW,3); //stop motor
@@ -368,23 +523,27 @@ public void OnExecute(StubManager stubManager)
//-----------------------------------------
LTFU_btm.Click += async(_,__) =>
{
+ Open_Log_btm.Enabled= false;
Run_text.Text = "Run";
stubManager.WriteLine("DUT- LTFU ");
- path="C:\\Users\\lp4\\Dropbox\\"+Location_TexstBox.Text +"_Bench_Tester"+"\\LTFU\\" ;
+ path="C:\\Users\\" + u + "\\Dropbox\\"+Location_TexstBox.Text +"_Bench_Tester"+"\\LTFU\\" ;
Timer_en();
_cancellationTokenSource = new CancellationTokenSource();
try
{
- disable_test();
+// disable_test();
+ LTFU_btm.Enabled = false;
+ Stop_btm.Enabled= true;
var longRunningTask = await LTFU_test(setLabel1TextSafe, _cancellationTokenSource.Token, SN_TexstBox.Text ,Location_TexstBox.Text );
}
catch (OperationCanceledException)
{
- enable_test();
+ disable_test();
Status="Cancel";
stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,LLOADING_Motor, 3); //hold LRoading high z
stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,LDANCER1_Motor, 3); //hold Lloading high z
+ stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,LDANCER2_Motor, 3); //hold Lloading high z
stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,LDRIVING_Motor,3); //stop motor
Thread.Sleep(100);
@@ -402,21 +561,24 @@ public void OnExecute(StubManager stubManager)
//-----------------------------------------
Dryer_btm.Click += async(_,__) =>
{
+ Open_Log_btm.Enabled= false;
Run_text.Text = "Run";
stubManager.WriteLine("DUT- Dryer ");
- path="C:\\Users\\lp4\\Dropbox\\"+Location_TexstBox.Text +"_Bench_Tester"+"\\Dryer\\" ;
+ path="C:\\Users\\" + u + "\\Dropbox\\"+Location_TexstBox.Text +"_Bench_Tester"+"\\Dryer\\" ;
Timer_en();
_cancellationTokenSource = new CancellationTokenSource();
try
{
- disable_test();
- var longRunningTask = await Dryer_test(setLabel1TextSafe, _cancellationTokenSource.Token, SN_TexstBox.Text ,Location_TexstBox.Text );
+// disable_test();
+ Dryer_btm.Enabled = false;
+ Stop_btm.Enabled= true;
+ var longRunningTask = await Dryer_test(setLabel1TextSafe, _cancellationTokenSource.Token, SN_TexstBox.Text ,Location_TexstBox.Text );
}
catch (OperationCanceledException)
{
- enable_test();
+ disable_test();
Status="Cancel";
stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DryerLid_Motor, 2); //Hard stop hiZ motor
stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DryerMain_Motor,3); //stop motor
@@ -436,20 +598,23 @@ public void OnExecute(StubManager stubManager)
//-----------------------------------------
DyeHead_btm.Click += async(_,__) =>
{
+ Open_Log_btm.Enabled= false;
Run_text.Text = "Run";
stubManager.WriteLine("DUT- DyeHead ");
- path="C:\\Users\\lp4\\Dropbox\\"+Location_TexstBox.Text +"_Bench_Tester"+"\\DyeHead\\" ;
+ path="C:\\Users\\" + u + "\\Dropbox\\"+Location_TexstBox.Text +"_Bench_Tester"+"\\DyeHead\\" ;
Timer_en();
_cancellationTokenSource = new CancellationTokenSource();
try
{
- disable_test();
- var longRunningTask = await DyeHead_test(setLabel1TextSafe, _cancellationTokenSource.Token, SN_TexstBox.Text ,Location_TexstBox.Text );
+// disable_test();
+ DyeHead_btm.Enabled= false;
+ Stop_btm.Enabled= true;
+ var longRunningTask = await DyeHead_test(setLabel1TextSafe, _cancellationTokenSource.Token, SN_TexstBox.Text ,Location_TexstBox.Text );
}
catch (OperationCanceledException)
{
- enable_test();
+ disable_test();
Status="Cancel";
stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,MAGNET_Driver,3); //stop magnet
stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DyeingHeadLid_Motor,3); //stop motor
@@ -472,28 +637,29 @@ public void OnExecute(StubManager stubManager)
//-----------------------------------------
NewDyeHead_btm.Click += async(_,__) =>
{
+ Open_Log_btm.Enabled= false;
Run_text.Text = "Run";
stubManager.WriteLine("DUT- New DyeHead ");
-// path="C:\\Users\\lp4\\Dropbox\\"+Location_TexstBox.Text +"_Bench_Tester"+"\\NewDyeHead\\" ;
- path="C:\\Users\\lp4\\Dropbox\\"+Location_TexstBox.Text +"_Bench_Tester"+"\\DyeHead\\" ;
+ path="C:\\Users\\" + u + "\\Dropbox\\"+Location_TexstBox.Text +"_Bench_Tester"+"\\NewDyeHead\\" ;
Timer_en();
_cancellationTokenSource = new CancellationTokenSource();
try
{
- disable_test();
-//mf var longRunningTask = await NewDyeHead_test(setLabel1TextSafe, _cancellationTokenSource.Token, SN_TexstBox.Text ,Location_TexstBox.Text );
+// disable_test();
+ NewDyeHead_btm.Enabled= false;
+ Stop_btm.Enabled= true;
+ var longRunningTask = await NewDyeHead_test(setLabel1TextSafe, _cancellationTokenSource.Token, SN_TexstBox.Text ,Location_TexstBox.Text );
}
catch (OperationCanceledException)
{
- enable_test();
+ disable_test();
Status="Cancel";
stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,MAGNET_Driver,3); //stop magnet
stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,DyeingHeadLid_Motor,3); //stop motor
for (Int32 i = 0; i < 12; i++) //???MF
{
-
stubManager.Run<ProgressResponse>("ProgressRequest" ,0x0EAD,0x40F000 + i*0x100); // turn all heaters OFF
Thread.Sleep(10);
}
@@ -509,19 +675,22 @@ public void OnExecute(StubManager stubManager)
//-----------------------------------------
RTFU_btm.Click += async(_,__) =>
{
+ Open_Log_btm.Enabled= false;
Run_text.Text = "Run";
stubManager.WriteLine("DUT- RTFU ");
- path="C:\\Users\\lp4\\Dropbox\\"+Location_TexstBox.Text +"_Bench_Tester"+"\\RTFU\\" ;
+ path="C:\\Users\\" + u + "\\Dropbox\\"+Location_TexstBox.Text +"_Bench_Tester"+"\\RTFU\\" ;
Timer_en();
_cancellationTokenSource = new CancellationTokenSource();
try
{
- disable_test();
+// disable_test();
+ RTFU_btm.Enabled= false;
+ Stop_btm.Enabled= true;
var longRunningTask = await RTFU_test(setLabel1TextSafe, _cancellationTokenSource.Token, SN_TexstBox.Text ,Location_TexstBox.Text );
}
catch (OperationCanceledException)
{
- enable_test();
+ disable_test();
Status="Cancel";
stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,RLOADING_Motor, 3); //hold Rloading high z
Thread.Sleep(100);
@@ -539,19 +708,22 @@ public void OnExecute(StubManager stubManager)
//-----------------------------------------
MidTank_btm.Click += async(_,__) =>
{
+ Open_Log_btm.Enabled= false;
Run_text.Text = "Run";
stubManager.WriteLine("DUT- MidTank ");
- path="C:\\Users\\lp4\\Dropbox\\"+Location_TexstBox.Text +"_Bench_Tester"+"\\MidTank\\" ;
+ path="C:\\Users\\" + u + "\\Dropbox\\"+Location_TexstBox.Text +"_Bench_Tester"+"\\MidTank\\" ;
Timer_en();
_cancellationTokenSource = new CancellationTokenSource();
try
{
- disable_test();
+// disable_test();
+ MidTank_btm.Enabled= false;
+ Stop_btm.Enabled= true;
var longRunningTask = await MidTank_test(setLabel1TextSafe, _cancellationTokenSource.Token, SN_TexstBox.Text ,Location_TexstBox.Text );
}
catch (OperationCanceledException)
{
- enable_test();
+ disable_test();
Status="Cancel";
stubManager.Run<StubFpgaWriteRegResponse>("StubFpgaWriteRegRequest" ,F3_VALVE_OUT, 0); //close all valve
@@ -566,20 +738,23 @@ public void OnExecute(StubManager stubManager)
//---------------------------Mixer--------------
Mixer_btm.Click += async(_,__) =>
{
+ Open_Log_btm.Enabled= false;
Run_text.Text = "Run";
stubManager.WriteLine("DUT- Mixer ");
- path="C:\\Users\\lp4\\Dropbox\\"+Location_TexstBox.Text +"_Bench_Tester"+"\\Mixer\\" ;
+ path="C:\\Users\\" + u + "\\Dropbox\\"+Location_TexstBox.Text +"_Bench_Tester"+"\\Mixer\\" ;
Timer_en();
_cancellationTokenSource = new CancellationTokenSource();
try
{
- disable_test();
+// disable_test();
+ Mixer_btm.Enabled= false;
+ Stop_btm.Enabled= true;
var longRunningTask = await Mixer_test(setLabel1TextSafe, _cancellationTokenSource.Token, SN_TexstBox.Text ,Location_TexstBox.Text );
}
catch (OperationCanceledException)
{
- enable_test();
+ disable_test();
Status="Cancel";
SetBit (F1_gpo_01, 7, 0); //clear bit F1_VALVE_MIXCHIP_WASTECH
SetBit (F2_CTRL, 7, 0); //clear bit mixer SSR
@@ -594,20 +769,23 @@ public void OnExecute(StubManager stubManager)
//---------------------------new Mixer--------------
NewMixer_btm.Click += async(_,__) =>
{
+ Open_Log_btm.Enabled= false;
Run_text.Text = "Run";
stubManager.WriteLine("DUT- New Mixer ");
- path="C:\\Users\\lp4\\Dropbox\\"+Location_TexstBox.Text +"_Bench_Tester"+"\\Mixer\\" ;
+ path="C:\\Users\\" + u + "\\Dropbox\\"+Location_TexstBox.Text +"_Bench_Tester"+"\\Mixer\\" ;
Timer_en();
_cancellationTokenSource = new CancellationTokenSource();
try
{
- disable_test();
- var longRunningTask = await New_Mixer_test(setLabel1TextSafe, _cancellationTokenSource.Token, SN_TexstBox.Text ,Location_TexstBox.Text );
+// disable_test();
+ NewMixer_btm.Enabled= false;
+ Stop_btm.Enabled= true;
+ var longRunningTask = await New_Mixer_test(setLabel1TextSafe, _cancellationTokenSource.Token, SN_TexstBox.Text ,Location_TexstBox.Text );
}
catch (OperationCanceledException)
{
- enable_test();
+ disable_test();
Status="Cancel";
// SetBit (F1_gpo_01, 7, 0); ????????????//clear bit F1_VALVE_MIXCHIP_WASTECH
// SetBit (F2_CTRL, 7, 0); //????????????clear bit mixer SSR
@@ -630,7 +808,6 @@ public void OnExecute(StubManager stubManager)
form1.Controls.Add(_calc_text);
// stubManager.WriteLine("Start dialog!");
form1.ShowDialog();
-
return ;
@@ -661,7 +838,7 @@ if (!Directory.Exists(path))
-string File_Name2=Environment.ExpandEnvironmentVariables(path +Stemp1+"_"+ s_n +"_"+DUT +"_"+ DateTime.Now.ToString("MM_dd_yyyy_HH_mm_ss")+".log" );
+ File_Name2=Environment.ExpandEnvironmentVariables(path +Stemp1+"_"+ s_n +"_"+DUT +"_"+ DateTime.Now.ToString("MM_dd_yyyy_HH_mm_ss")+".log" );
stubManager.Write(File_Name2 +"\n");
diff --git a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/Jig-TesterV 1.0.docx b/Software/Stubs Collection/stubs/Scripts/Jig_Tester/Jig-TesterV 1.0.docx
new file mode 100644
index 000000000..f7aa53997
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Jig_Tester/Jig-TesterV 1.0.docx
Binary files differ
diff --git a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/Jig-TesterV 1.1.docx b/Software/Stubs Collection/stubs/Scripts/Jig_Tester/Jig-TesterV 1.1.docx
new file mode 100644
index 000000000..948efd86b
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Jig_Tester/Jig-TesterV 1.1.docx
Binary files differ
diff --git a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/LTFU_Jig.cs b/Software/Stubs Collection/stubs/Scripts/Jig_Tester/LTFU_Jig.cs
index 3f9f2a346..ba072b955 100644
--- a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/LTFU_Jig.cs
+++ b/Software/Stubs Collection/stubs/Scripts/Jig_Tester/LTFU_Jig.cs
@@ -52,7 +52,7 @@ public Task<decimal> LTFU_test( Action<string> settext, CancellationToken cancel
Test_LLOADING_LTFU();
stubManager.Run<StubMotorStopResponse>("StubMotorStopRequest" ,LLOADING_Motor, 3); //hold LRoading high z
delay(100);
- Motor_SetParam(F1_MOTO_LLOADING_TX1,F1_MOTO_LLOADING_TX0,0x0a,0x14000000); //set kval ran to 0x14,0.65A
+// Motor_SetParam(F1_MOTO_LLOADING_TX1,F1_MOTO_LLOADING_TX0,0x0a,0x14000000); //set kval ran to 0x14,0.65A
settext("Test LDRIVING LTFU");
Test_LDRIVING_LTFU();
@@ -355,9 +355,9 @@ int Test_DANCER_LTFU()
}
- if (temp_right_after>temp_right_before)
- temp_right_before=temp_right_before+0x4000;
- temp_right_before=temp_right_before-temp_right_after;
+ if (temp_right_after<temp_right_before)
+ temp_right_after=temp_right_after+0x4000;
+ temp_right_before=temp_right_after-temp_right_before;
if ((temp_right_before< 5000) && (temp_right_before >200))
{
Units_status[8,1]="Pass";
@@ -465,7 +465,7 @@ int Test_DANCER_LTFU()
return 12;
}
Units_status[8,1]="Fail";
- stubManager.Write("LDANCER2_SSI\tFail\n");
+ stubManager.Write("LDANCER_Right_SSI\tFail\n");
return 12;
diff --git a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/MidTank_Jig.cs b/Software/Stubs Collection/stubs/Scripts/Jig_Tester/MidTank_Jig.cs
index 27e17ed93..16139df2c 100644
--- a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/MidTank_Jig.cs
+++ b/Software/Stubs Collection/stubs/Scripts/Jig_Tester/MidTank_Jig.cs
@@ -143,9 +143,9 @@ int open_valve (int valve_nm,int valve_type,int check_valve) //valve_type=0 is
if (check_valve!=0)
{
- temp="Air";
+ temp="Air ";
if (valve_type==1)
- temp="Ink";
+ temp="Ink ";
DialogResult result = MessageBox.Show("Did " + temp + "Valve of Midtank " + valve_nm +" open?", "Warning",MessageBoxButtons.YesNo);
if(result == DialogResult.No)
diff --git a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/RTFU_Jig.cs b/Software/Stubs Collection/stubs/Scripts/Jig_Tester/RTFU_Jig.cs
index 9863a2ea1..4f47a1cd0 100644
--- a/Software/Stubs Collection/stubs/Scripts/Jig_Tester/RTFU_Jig.cs
+++ b/Software/Stubs Collection/stubs/Scripts/Jig_Tester/RTFU_Jig.cs
@@ -76,7 +76,7 @@ int Test_RLOADING_RTFU()
int temp=1;
int counter;
-// Motor_SetParam(F1_MOTO_RLOADING_TX1,F1_MOTO_RLOADING_TX0,0x0a,0x40000000); //set kval ran to 0x40- 1.9A
+// Motor_SetParam(F1_MOTO_RLOADING_TX1,F1_MOTO_RLOADING_TX0,0x0a,0x2c000000); //set kval ran to 0x40- 1.9A
delay(100);
stubManager.Run<StubMotorRunResponse>("StubMotorRunRequest" ,RLOADING_Motor, true,200); //move Rloading down
delay(3000);
@@ -317,7 +317,7 @@ int Test_DANCER_RTFU()
stubManager.Write("temp="+temp + "\temp1="+temp1 +"\n");
- DialogResult result = MessageBox.Show("SSI Dancer led is Green(not blinking)?", "Warning",MessageBoxButtons.YesNo);
+ DialogResult result = MessageBox.Show("SSI Dancer led is Green(Not blinking)?", "Warning",MessageBoxButtons.YesNo);
if(result == DialogResult.No)
{
Units_status[8,1]="Fail";
diff --git a/Software/Stubs Collection/stubs/Scripts/Main card Watchdog test.cs b/Software/Stubs Collection/stubs/Scripts/Main card Watchdog test.cs
new file mode 100644
index 000000000..3db075678
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Main card Watchdog test.cs
@@ -0,0 +1,24 @@
+using System;
+using System.Text;
+using System.Linq;
+using System.Drawing;
+using System.Diagnostics;
+using System.Windows.Forms;
+using System.Threading;
+using System.Threading.Tasks;
+using System.Collections.Generic;
+using Tango.PMR.Stubs;
+using Tango.Stubs;
+
+public void OnExecute(StubManager stubManager)
+{
+
+//"Set WFCF Value
+ProgressRequest progressRequest = new ProgressRequest();
+progressRequest.Amount = 0xAD9;
+progressRequest.Delay = 0;
+
+var response = stubManager.Run<ProgressResponse>(progressRequest);
+
+
+} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/MidTank Calibration.pproj b/Software/Stubs Collection/stubs/Scripts/MidTank Calibration.pproj
new file mode 100644
index 000000000..ce80c8a70
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/MidTank Calibration.pproj
@@ -0,0 +1 @@
+{"$id":"1","Name":"MidTank Calibration","Description":null,"Scripts":{"$id":"2","$values":[{"$id":"3","Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing System.Drawing;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Entities;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.FSE.Common.Connection;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.FSE.Procedures;\r\nusing System.IO;\r\nusing System.Windows.Forms;\r\nusing Tango.PMR.EmbeddedParameters;\r\n\r\npublic class Program\r\n{\r\nconst double\tMIN_SLOP=0.7;\r\nconst double\tMAX_SLOP=1.4;\r\nconst double\tERROR_SLOP=-1;\r\nconst double\tMIN_50cc_on_volt=2.3;\r\nconst double\tMAX_50cc_on_volt=3.2;\r\nconst double\tERROR_50cc_on_volt=-1;\r\n\r\nint [] Convert_Midtank_No = new Int32 [8] {1,3,5,7,2,4,6,8};\r\nuint [,] ADC_Add_Chnl = new uint [8,2]\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t{0x44,0x20},\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{0x44,0x08},\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{0x46,0x80},\r\n\t\t\t\t\t\t\t\t\t\t\t\t{0x46,0x20},\r\n\t\t\t\t\t\t\t\t\t\t\t\t{0x44,0x10},\r\n\t\t\t\t\t\t\t\t\t\t\t\t{0x44,0x04},\r\n\t\t\t\t\t\t\t\t\t\t\t\t{0x46,0x40},\r\n\t\t\t\t\t\t\t\t\t\t\t\t{0x46,0x10},\r\n\t\t\t\t\t\t\t\t\t\t};\r\n\r\n\r\nconst Int32\tF3_VALVE_OUT\t=\t0x600008E2\t;\r\nstring Machine_SN\t;\r\nprivate const string FILE_PATH = @\"C:\\MidTankLog\\\";\r\nstring File_name;\r\ndouble Full_Cartridge=1000;\t// on CC \r\ndouble \tSlop=0.92;\r\n//----------------------\r\nconst Int32 I2C_ID = 2;\r\n//const Int32 I2C_Slave_Add = 0x46; //must be 0x40, 0x44 or 0x46\r\n//----------------------\r\n\r\n\r\nprivate IProcedureContext context;\r\n\r\n\r\n\r\n\r\n public void OnExecute(IProcedureContext context)\r\n {\r\n \r\n\r\n\tInt32 Timout ;\r\n\tInt32 Interval;\r\n\tInt32 midtankno = 0;\r\n\tdouble Full_Point=0;\t\t\t//on Voltage\r\n\tdouble resualt;\r\n\tdouble Sum=0 ;\r\n\tdouble Old_Sum=0 ;\r\n\tdouble Start_Point=0;\r\n\t\r\n\r\n\tif (!Directory.Exists(FILE_PATH))\r\n\t\t{\r\n\t\t\tDirectory.CreateDirectory(FILE_PATH);\r\n\t\t}\t\t\t\r\n\r\n\r\n\r\n var response =context.RequestUserInputFor<String>(\"Enter Midtank S/N: \", \"\");\r\n\tcontext.Write(\"\\n\");\r\n\tMachine_SN = response;\r\n\tcontext.WriteLine(Machine_SN);\r\n\tFile_name= FILE_PATH +Machine_SN + DateTime.Now.ToString(\"MM_dd_yyyy_HH_mm_ss\")+\".csv\";\r\n\tcontext.Write(File_name);\r\n \tcontext.WriteToFile(File_name,\"MidTank S/N:,\" + Machine_SN);\r\n\t\r\n\r\n var response1 =context.RequestUserInputFor<String>(\"Enter Midtank number to calibrate (1-8):\", \"\");\r\n context.WriteLine(response1);\r\n\tmidtankno = Int32.Parse(response1);\r\n \tcontext.AppendToFile(File_name,\"MidTank Number:\\t\" + response1);\r\n\tif (midtankno==8)\r\n\t{\r\n\t\tSlop=1;\r\n\t\tTimout=60;\t\t//60 minutes\r\n\t\tInterval=60;\t//60 second\r\n\t}\r\n\telse\r\n\t{\r\n\t\tSlop=0.92;\r\n\t\tTimout=10*2;\t\t//10 minutes\r\n\t\tInterval=30;\t//30 second\r\n\r\n\t}\r\n var response10 =context.RequestUserInputFor<String>(\"Enter Cartridge Valume on CC (500-1500):\", \"\");\r\n context.WriteLine(response10);\r\n\tFull_Cartridge = double.Parse(response10);\r\n \tcontext.AppendToFile(File_name,\"Cartridge Valume:\\t\" + response10);\r\n \tcontext.AppendToFile(File_name,\"Slop value:\\t\" + Slop);\r\n\r\n\r\n\tDialogResult result = MessageBox.Show(\"Are you sure to calibrate Midtank No: \"+ midtankno + \" with \"+ Full_Cartridge +\" CC\" , \"Warning\",MessageBoxButtons.YesNo);\r\n\tif(result == DialogResult.Yes)\r\n\t{\r\n\r\n\r\n\r\n\t\tstring box_msg = \"Please Insert cartridge \";\r\n\r\n\t\tMessageBox.Show(box_msg);\r\n\t\t\r\n\t\topen_valve(midtankno,1,1)\t\t;\t//open Air valve\r\n\t\topen_valve(midtankno,0,1)\t\t;\t//open Ink valve\r\n\t\tInt32 i=0; \r\n\t\twhile (i<Timout)\t\t\t\t\t//check for 15 minitus \r\n\t\t{\r\n\t\t\tSum=0;\r\n\t\t\tfor (Int32 j=0;j<Interval;j++)\r\n\t\t\t{\r\n\t\t\t\tresualt=read_pressure_sensor(midtankno);\r\n\t\t\t\tcontext.AppendToFile(File_name,resualt+\",V\");\r\n\t\t\t\tSum=Sum+resualt;\r\n\t\t\t\tThread.Sleep(1000);\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\tif (i==0) \r\n\t\t\t\tStart_Point=Sum/Interval;\r\n\t\t\t\r\n\t\t\tif (Sum>Old_Sum)\r\n\t\t\t\tOld_Sum=Sum-Old_Sum;\r\n\t\t\telse\r\n\t\t\t\tOld_Sum=Old_Sum-Sum;\r\n\t\t\r\n \r\n\t\t\tif ((check_valve(midtankno,1) != 0) && (check_valve(midtankno,0) != 0))\r\n\t\t\t{\r\n\t\t\t\ti++;\r\n\t\t\t\tif ( Old_Sum <0.02)\t\r\n\t\t\t\t\ti=Timout+1;\t\t//end \r\n\t\t\t\tOld_Sum=Sum;\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\topen_valve(midtankno,1,0)\t\t;\t//open Air valve\r\n\t\t\topen_valve(midtankno,0,0)\t\t;\t//open Ink valve\r\n\t\t\tOld_Sum=0;\r\n\t\t\t\r\n\t\t\t}\t\r\n\t\t}\r\n\t\tFull_Point=Sum/Interval;\r\n\t\t\r\n\r\n\t\tclose_valve(midtankno,1,1)\t\t;\t//close Air valve\r\n\t\tclose_valve(midtankno,0,1)\t\t;\t//close Ink valve\r\n\r\n\t\t\t\r\n\t\tif (insert_slop_t_eeprom(Full_Point, midtankno,Start_Point)==0)\r\n\t\t{\r\n\t\t\t\tbox_msg =\"Turn Power Off and On to finish the calibration.\";\r\n\t\t\t\tMessageBox.Show(box_msg);\r\n\r\n\r\n \tcontext.AddResult(ResultType.Passed, \"Test passed\", \"Test passed.\");\r\n\t\t\t\t\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\t\tbox_msg =\"Calibration error\";\r\n\t\t\t\tMessageBox.Show(box_msg);\r\n\r\n\r\n \tcontext.AddResult(ResultType.Failed, \"Test Fail\", \"Test Fail.\");\r\n\t\t\t\t\r\n\t\t}\r\n\t}\r\n\r\n}\r\n\r\n\r\n\tint\tinsert_slop_t_eeprom( double FullPoint,Int32 midtankno, double StartPoint)\r\n{\r\n//\tcontext.Write(\"\\n \");\r\n\r\n\t\tStartPoint=FullPoint-StartPoint;\r\n\t\tStartPoint=StartPoint/Full_Cartridge;\r\n\t\tif ((StartPoint>0.7 ) && (StartPoint>1.3 ))\r\n\t\t{\r\n\t\t\tMidTankDataSetupRequest midTankDataSetupRequest = new MidTankDataSetupRequest();\r\n\r\n\t\t\tMidTankData midTankData = new MidTankData();\r\n\t\t\tmidTankData.MidTankId = Convert.ToUInt32 (midtankno-1);\r\n\t\t\tmidTankData.InitialOffsetA =FullPoint - (Full_Cartridge/1000-0.1)/Slop;\r\n\t\t\tmidTankData.SlopeB = Slop;\r\n\t\t\t\r\n\t\t\tcontext.Write(\"\\nMidtank No:\" + midtankno + \"=\\tVoltage Zero is =\"+(FullPoint - (Full_Cartridge/1000-0.1)/Slop)+\"\\tSlop=\"+ Slop);\r\n\t\t\tcontext.AppendToFile(File_name,\"\\nMidtank No:\" + midtankno + \"=\\tVoltage Zero is =\"+(FullPoint - (Full_Cartridge/1000-0.1)/Slop)+\"\\tSlop=\"+ Slop);\r\n\r\n\t\t\t\r\n\t\t\tmidTankDataSetupRequest.MidTankInfo.Add(midTankData);\r\n\t\t\r\n\r\n\t\t\tvar response =context.Send<MidTankDataSetupResponse>(midTankDataSetupRequest);\r\n\r\n\t\t\treturn\t0;\r\n\t\t}\r\n\t\telse\r\n\t\t\tcontext.Write(\"\\nError\");\r\n\t\t\tcontext.AppendToFile(File_name,\"\\n Slop Error\");\r\n\t\t\treturn\t1;\r\n\t\r\n\r\n }\r\n\r\n\r\n\r\nint adc_configuration(uint I2C_Slave_Add,uint channel ) \r\n\t{\r\n\tStubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();\r\n\tstubI2CWriteBytesRequest.I2CId = I2C_ID;\r\n\tstubI2CWriteBytesRequest.SlaveAddress = I2C_Slave_Add;\r\n\t\r\n\tUInt32 uInt32 = new UInt32();\r\n\tstubI2CWriteBytesRequest.BytesTWrite.Add(0x00);//Byte 0 to write\r\n\tstubI2CWriteBytesRequest.BytesTWrite.Add(channel);//Byte 1 to Write, must be 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02 or 0x01 for different channels\r\n\tstubI2CWriteBytesRequest.BytesTWrite.Add(0x80);//Byte 2 to Write\r\n\t\r\n\tvar response =context.Send<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);\r\n\t\r\n\treturn 1;\r\n\t}\r\n\r\n\r\nint adc_set_for_read_ch(uint I2C_Slave_Add) \r\n\t{\r\n\tStubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();\r\n\tstubI2CWriteBytesRequest.I2CId = I2C_ID;\r\n\tstubI2CWriteBytesRequest.SlaveAddress = I2C_Slave_Add;\r\n\t\r\n\tUInt32 uInt32 = new UInt32();\r\n\tstubI2CWriteBytesRequest.BytesTWrite.Add(0x01);//Byte 0 to write\r\n\r\n\tvar response =context.Send<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);\r\n\t\r\n\treturn 1;\r\n\t}\r\n\r\n\r\n\r\n\r\ndouble adc_read_ch(uint I2C_Slave_Add) \r\n\t{\r\n\tStubI2CReadBytesRequest stubI2CReadBytesRequest = new StubI2CReadBytesRequest();\r\n\tstubI2CReadBytesRequest.I2CId = I2C_ID;\r\n\tstubI2CReadBytesRequest.SlaveAddress = I2C_Slave_Add;\r\n\tstubI2CReadBytesRequest.NumberOfBytesToRead = 2; // Number of bytes to read\r\n\r\n\tvar response1 =context.Send<StubI2CReadBytesResponse>(stubI2CReadBytesRequest);\r\n\tuint temph=0;\r\n\tuint templ=0;\r\n\tuint temp;\r\n\tdouble calc;\r\n\tdouble calc1;\r\n\tdouble calc2;\r\n\t\t\ttemph=response1.ReadBytes[0];\r\n\t\t\ttempl=response1.ReadBytes[1];\r\n\t\t\ttemp = (temph << 8) | templ;\r\n\t\t\ttemp=temp & 0x0fff;\r\n\t\t\t\t\r\n\t\t\tcalc = (double)temp *2.5 / 4096.0;\r\n\t\t\r\n\t\t\tcalc1 = (1.96- calc) * 4.64 + 1.96;\r\n\t\t\tcontext.Write(\"Vsensor [volts]:\\t\");\r\n\t\t\tcontext.Write(calc1 + \"\\n\");\r\n\r\n\t\r\n\treturn calc1;\r\n\t}\r\n\r\ndouble\t\tread_pressure_sensor(Int32 i )\r\n\t{\r\ndouble resualt =0 ;\r\n\t\t switch (i)\r\n {\r\n case 1:\r\n\t\t\tadc_configuration(0x44,0x20);\t\t//a2d_address 0x44 channel channel 2\r\n\t\t\tadc_set_for_read_ch(0x44);\r\n\t\t\tresualt=adc_read_ch(0x44);\r\n\t\tbreak;\r\n\t\t\r\n\t\tcase 2:\r\n\t\t\tadc_configuration(0x44,0x08);\t\t//a2d_address 0x44 channel channel 4\r\n\t\t\tadc_set_for_read_ch(0x44);\r\n\t\t\tresualt=adc_read_ch(0x44);\r\n\t\tbreak;\r\n\t\t\r\n\t\tcase 3:\r\n\t\t\tadc_configuration(0x46,0x80);\t\t//a2d_address 0x46 channel channel 0\r\n\t\t\tadc_set_for_read_ch(0x46);\r\n\t\t\tresualt=adc_read_ch(0x46);\r\n\t\tbreak;\r\n\t\t\r\n\t\tcase 4:\r\n\t\t\tadc_configuration(0x46,0x20);\t\t//a2d_address 0x46 channel channel 2\r\n\t\t\tadc_set_for_read_ch(0x46);\r\n\t\t\tresualt=adc_read_ch(0x46);\r\n\t\tbreak;\r\n\t\t\r\n\t\tcase 5:\r\n\t\t\tadc_configuration(0x44,0x10);\t\t//a2d_address 0x44 channel channel 3\r\n\t\t\tadc_set_for_read_ch(0x44);\r\n\t\t\tresualt=adc_read_ch(0x44);\r\n\t\tbreak;\r\n\t\t\r\n\t\tcase 6:\r\n\t\t\tadc_configuration(0x44,0x04);\t\t//a2d_address 0x44 channel channel 5\r\n\t\t\tadc_set_for_read_ch(0x44);\r\n\t\t\tresualt=adc_read_ch(0x44);\r\n\t\tbreak;\r\n\t\t\r\n\t\tcase 7:\r\n\t\t\tadc_configuration(0x46,0x40);\t\t//a2d_address 0x46 channel channel 1\r\n\t\t\tadc_set_for_read_ch(0x46);\r\n\t\t\tresualt=adc_read_ch(0x46);\r\n\t\tbreak;\r\n\t\t\r\n\t\tcase 8:\r\n\t\t\tadc_configuration(0x46,0x10);\t\t//a2d_address 0x46 channel channel 3\r\n\t\t\tadc_set_for_read_ch(0x46);\r\n\t\t\tresualt=adc_read_ch(0x46);\r\n\t\tbreak;\r\n\t\t\r\n default:\r\n context.Write(\"Error\");\r\n\r\n break;\r\n\t }\t\r\n\t\t\r\n\t\treturn resualt;\r\n\t}\t\r\n\r\n\r\n//--------------------------------\r\nint open_valve (int valve_nm,int valve_type,int check_valve)\t\t//valve_type=0 is Air ,1 is Ink ; check_valve=1 send feedbak\r\n{\r\n\tint temp1=Convert_Midtank_No[valve_nm-1]\t;\r\n\r\n\tstring temp;\r\n\tSetBit (F3_VALVE_OUT,(((valve_type+1)*8)- temp1), 1);\t\r\n\t\r\n\t\tif (check_valve!=0)\r\n\t\t{\r\n\t\t\ttemp=\"Air\";\r\n\t\t\tif (valve_type==1)\r\n\t\t\ttemp=\"Ink\";\r\n\t\t\t\t\r\n\t\t\tDialogResult result = MessageBox.Show(\"Did \" + temp + \"Valve of Midtank \" + valve_nm +\" open?\", \"Warning\",MessageBoxButtons.YesNo);\r\n\t\t\tif(result == DialogResult.No)\r\n\t\t\t\t{\r\n//\t\t\t\t\tUnits_status[(valve_nm-1)*3+valve_type,1]=\"Fail\";\r\n\t\t\t\t\tcontext.Write(temp +\"Valve\\tFail\\n\");\t\r\n\t\t\t\t\treturn 0;\r\n\t\t\t\t}\r\n\t\t\telse \r\n\t\t\t\t{\r\n//\t\t\t\t\tUnits_status[(valve_nm-1)*3+valve_type,1]=\"Pass\";\r\n\t\t\t\t\tcontext.Write(temp +\"Valve\\tOpen\\n\");\t\r\n\t\t\t\t\treturn 1;\r\n\t\t\t\t}\r\n\t\t\t\r\n\t\t}\r\n\t\treturn 1;\r\n\r\n}\r\n//--------------------------------\t\r\nint close_valve (int valve_nm,int valve_type,int check_valve)\r\n{\r\n\tint temp1=Convert_Midtank_No[valve_nm-1];\t\r\n\r\n\tstring temp;\r\n\tSetBit (F3_VALVE_OUT,(((valve_type+1)*8)- temp1), 0);\r\n\tif (check_valve!=0)\r\n\t\t{\r\n\t\t\ttemp=\"Air\";\r\n\t\t\tif (valve_type==1)\r\n\t\t\ttemp=\"Ink\";\r\n\t\t\t\t\r\n\t\t\tDialogResult result = MessageBox.Show(\"Did \" + temp +\" Valve of Midtank \" + valve_nm +\" close?\", \"Warning\",MessageBoxButtons.YesNo);\r\n\t\t\tif(result == DialogResult.No)\r\n\t\t\t\t{\r\n//\t\t\t\t\tUnits_status[(valve_nm-1)*3+valve_type,1]=\"Fail\";\r\n\t\t\t\t\tcontext.Write(temp +\"Valve\\tFail\\n\");\t\r\n\t\t\t\t\treturn 0;\r\n\t\t\t\t}\r\n\t\t\telse \r\n\t\t\t\t{\r\n//\t\t\t\t\tUnits_status[(valve_nm-1)*3+valve_type,1]=\"Pass\";\r\n\t\t\t\t\tcontext.Write(temp +\"Valve\\tclose\\n\");\t\r\n\t\t\t\t\treturn 1;\r\n\t\t\t\t}\t\t\t\r\n\t\t}\r\n\treturn 1;\r\n\r\n}\r\n\r\npublic Int32 SetBit(Int32 Adr, Int32 BitNo, Int32 Bit)\r\n{\r\n\tInt32 BitMask;\r\n\tInt32 RetVal;\r\n\tRetVal = Fpga_Read_Reg(Adr);\r\n\tInt32 RV = RetVal ;\r\n\t\r\n\tif (Bit == 0x1) \r\n\t{\r\n\t\tBitMask = 0x1 << BitNo;\r\n\t\tRV = RV | BitMask;\r\n\t\tFpga_Write_Reg( Adr, RV );\r\n\t}\r\n\telse if (Bit == 0x0)\r\n\t{\r\n\t\tBitMask = ~(0x1 << BitNo);\r\n\t\tRV = RV & BitMask;\r\n\t\tFpga_Write_Reg(Adr, RV );\t\r\n\t}\r\n\treturn 1;\r\n}\r\n\r\nint Fpga_Write_Reg(Int32 Addr, Int32 Data)\r\n{\r\n\tvar response =context.Send<StubFpgaWriteRegResponse>(\"StubFpgaWriteRegRequest\" ,Addr, Data);\r\n\t\r\n\treturn 1;\r\n}\r\n\r\n\r\nInt32 check_valve (Int32 valve_nm,int valve_type)\r\n{\r\n\tInt32 temp1=Convert_Midtank_No[valve_nm-1];\t\r\n\t\r\n var response =context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F3_VALVE_OUT);\r\n\tInt32 RV =(Int32) response.Value & 0xffff ;\r\n\tRV = RV & ( 0x1 << (((valve_type+1)*8)- temp1));\r\n\treturn RV;\r\n\r\n}\r\n\r\n\r\nInt32 Fpga_Read_Reg(Int32 Addr)\r\n{\r\n \r\ncontext.Write(\"123\");\r\n\r\n\tvar response =context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,Addr);\r\n\tcontext.Write(\"456\");\r\n\r\n\tInt32 RV= (Int32) response.Value & 0xffff;\r\n\tcontext.Write(\"789\");\r\n\r\n\treturn RV;\r\n} \r\n \r\n \r\n \r\n}","Name":"Program.csx","IsEntryPoint":true},{"$id":"4","Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing System.Drawing;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Entities;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.FSE.Common.Connection;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.FSE.Procedures;\r\n\r\npublic class Service\r\n{\r\n public double Calc(double a, double b)\r\n {\r\n return a + b;\r\n }\r\n}","Name":"Service.csx","IsEntryPoint":false}]},"Inputs":{"$id":"5","$values":[]},"Variables":{"$id":"6","$values":[]},"ReferenceAssemblies":{"$id":"7","$values":[{"$id":"8","File":"C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\mscorlib.dll","HintType":"System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"9","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Core\\v4.0_4.0.0.0__b77a5c561934e089\\System.Core.dll","HintType":"System.Linq.Enumerable, System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"10","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Windows.Forms\\v4.0_4.0.0.0__b77a5c561934e089\\System.Windows.Forms.dll","HintType":"System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"11","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.FSE.Procedures.dll","HintType":"Tango.FSE.Procedures.ProcedureProject, Tango.FSE.Procedures, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"12","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.FSE.Common.dll","HintType":"Tango.FSE.Common.Diagnostics.IDiagnosticsProvider, Tango.FSE.Common, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"13","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.BL.dll","HintType":"Tango.BL.Enumerations.TechMonitors, Tango.BL, Version=2.0.36.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"14","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.PMR.dll","HintType":"Tango.PMR.Common.MessageType, Tango.PMR, Version=2.0.40.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"15","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.Transport.dll","HintType":"Tango.Transport.ITransporter, Tango.Transport, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"16","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.Integration.dll","HintType":"Tango.Integration.Operation.IMachineOperator, Tango.Integration, Version=2.0.31.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"17","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Google.Protobuf.dll","HintType":"Google.Protobuf.IMessage, Google.Protobuf, Version=3.4.1.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604"},{"$id":"18","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Drawing\\v4.0_4.0.0.0__b03f5f7f11d50a3a\\System.Drawing.dll","HintType":"System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"}]},"Resources":{"$id":"19","$values":[]},"Dialogs":{"$id":"20","$values":[]},"ID":"e2c3c81d-1914-4d45-b031-d054af33a18e","ApartmentState":"STA"} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Priming.pproj b/Software/Stubs Collection/stubs/Scripts/Priming.pproj
new file mode 100644
index 000000000..309dae73e
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Priming.pproj
@@ -0,0 +1 @@
+{"$id":"1","Name":"Priming","Description":null,"Scripts":{"$id":"2","$values":[{"$id":"3","Name":"Program.csx","Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing System.Drawing;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Entities;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.FSE.Common.Connection;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.FSE.Procedures;\r\nusing System.IO;\r\nusing System.Diagnostics;\r\nusing System.Windows.Forms;\r\n\r\n\r\npublic class Program\r\n{\r\n\r\n\r\nprivate IProcedureContext context;\r\n\r\n//---------------------Start Command ----------------\r\nconst Int32\tCMD_RUN\t=\t0;\t\t//Run on Pulse Per Secound .positive run Up and negative run Down b\r\nconst Int32\tCMD_STOP=\t1;\t\t//0;Hard stop(Defualt);1-Soft stop;2-Hard Hiz;3-Soft Hiz\r\nconst Int32\tCMD_VALVE=\t2;\t\t//0-to Midtank ,1-to head \r\nconst Int32\tCMD_DLY\t=\t3;\t\t//delay in Seconds .\r\nconst Int32\tCMD_TIME=\t4;\t\t//Print Time .\r\nconst Int32\tCMD_PRESS=\t5;\t\t//return from Delay loop when pressure is high (on mBAR) .\r\nconst Int32 CMD_LOOP_NM=6;\t\t//NUMBER OF counter\r\nconst Int32 CMD_LOOP=\t7;\t\t//jump up(+) or down(-) command u\r\nconst Int32 CMD_MTV_OPEN =\t8;\t\t//0 Air ; 1 Ink\r\nconst Int32 CMD_MTV_CLOSE=\t9;\t\t//0 Air ; 1 Ink\r\nconst Int32 CMD_LBL=\t10;\t//label for user \r\nconst Int32 CMD_SMP=\t11; //sample rate ,defualt 100msec (1); for 1 second is 10.\r\nconst Int32 CMD_PRESL=\t12; //return from Delay loop when pressure is low (on mBAR) .\r\n\r\nconst Int32\tCMD_END\t=\t13;\t//end loop .\r\n \r\n\r\nInt32[] BuildUp_Table = new int []\r\n{\r\n\tCMD_VALVE,1,\r\n\tCMD_PRESL,200,\r\n\tCMD_DLY,200, \r\n\r\n\tCMD_LOOP_NM,3,\r\n\r\n\tCMD_VALVE,0,\r\n\tCMD_DLY,1, \r\n\tCMD_VALVE,1,\r\n\tCMD_DLY,1, \r\n\tCMD_LOOP,-4,\r\n\r\n\tCMD_VALVE,0,\r\n\tCMD_RUN,1068,\r\n\tCMD_PRESS,1000,\t//mbar --> 1000 = 100% work, 4000 = 200% work, 350 = 20% work\r\n\tCMD_DLY,150, \t\t\r\n\tCMD_LBL,1,\r\n\tCMD_PRESS,2000,\t//mbar --> 2000 = 100% work, 4000 = 200% work, 350 = 20% work\r\n\tCMD_DLY,60, \t\t\r\n\tCMD_LBL,2,\r\n\tCMD_PRESS,3000,\r\n\tCMD_DLY,60, // to limit\r\n\tCMD_STOP,0,\r\n\tCMD_VALVE,1,\r\n\tCMD_END,3,\r\n};\r\n\t\r\n\r\nInt32[] Up_Table = new int []\r\n{\r\n\tCMD_VALVE,1,\r\n\tCMD_PRESL,200,\r\n\tCMD_DLY,200, \r\n\t\r\n\tCMD_PRESS,3000,\t//mbar --> 1000 = 100% work, 4000 = 200% work, 350 = 20% work\r\n\tCMD_RUN,534, // 100%\r\n\tCMD_DLY,120,\r\n\tCMD_STOP,0,\r\n\tCMD_END,3,\r\n};\r\nInt32 Dispenser_sample_rate= 1; \r\n\r\n\tstring path = @\"C:\\Dispenser_setup\\Log\\\"; \t\r\n//----------------------\r\nconst UInt32 I2C_ID \t\t\t= \t4;\t\t\t\t\t//MCU_I2C4 \r\nconst UInt32 TCA9548A_address \t=\t0xE2;\t \t\r\nconst UInt32 I2C_Slave_Low_Add \t= \t0xA0;\t\t\t\t//eeprom address - 64k low \r\nconst UInt32 I2C_Slave_High_Add = \t0xA2;\t\t\t\t//eeprom address - 64k High\r\n//----------------------\r\nbyte [] EEPROM_Data = new byte [128];\r\n\r\n\r\n//---------------------End Command ----------------\r\n\r\nconst Int32\tDispenser_Motor1\t=\t6;\t\t \r\nconst Int32\tDispenser_Motor2\t=\t7;\t\t \r\nconst Int32\tDispenser_Motor3\t=\t8;\t\t \r\nconst Int32\tDispenser_Motor4\t=\t9;\t\t \r\nconst Int32\tDispenser_Motor5\t=\t10;\t\t \r\nconst Int32\tDispenser_Motor6\t=\t11;\t\t \r\nconst Int32\tDispenser_Motor7\t=\t12;\t\t \r\nconst Int32\tDispenser_Motor8\t=\t13;\t\t \r\n\r\nconst Int32 AN_IDS_PRESSENS_1\t=\t2;\r\nconst Int32 AN_IDS_PRESSENS_2\t=\t3;\r\nconst Int32 AN_IDS_PRESSENS_3\t=\t4;\r\nconst Int32 AN_IDS_PRESSENS_4\t=\t5;\r\nconst Int32 AN_IDS_PRESSENS_5\t=\t6;\r\nconst Int32 AN_IDS_PRESSENS_6\t=\t7;\r\nconst Int32 AN_IDS_PRESSENS_7\t=\t8;\r\nconst Int32 AN_IDS_PRESSENS_8\t=\t9;\r\n\r\nconst Int32\tF2_LS_01_Direct\t=\t0x60000420\t;\t//\tReads the direct values that are currently being sent to the fpga.\trsv\t\trsv\t\trsv\t\t\t\t\t\trsv\t\t\t\t\t\tF2_LS_DISPENSER_UP_2\tF2_LS_DISPENSER_25_2\tF2_LS_DISPENSER_75_2\tF2_LS_DISPENSER_DOWN_2 \tF2_LS_DISPENSER_50_2\tF2_LS_DISPENSER_SPARE_2\tF2_LS_DISPENSER_UP_1\tF2_LS_DISPENSER_25_1 \tF2_LS_DISPENSER_75_1\tF2_LS_DISPENSER_DOWN_1\tF2_LS_DISPENSER_50_1\tF2_LS_DISPENSER_SPARE_1\t\t\t\r\nconst Int32\tF2_LS_02_Direct\t=\t0x60000430\t;\t//\tReads the direct values that are currently being sent to the fpga.\trsv\t\trsv\t\trsv\t\t\t\t\t\trsv\t\t\t\t\t\tF2_LS_DISPENSER_UP_4\tF2_LS_DISPENSER_25_4\tF2_LS_DISPENSER_75_4\tF2_LS_DISPENSER_DOWN_4\tF2_LS_DISPENSER_50_4\tF2_LS_DISPENSER_SPARE_4\tF2_LS_DISPENSER_UP_3\tF2_LS_DISPENSER_25_3 \tF2_LS_DISPENSER_75_3\tF2_LS_DISPENSER_DOWN_3\tF2_LS_DISPENSER_50_3\tF2_LS_DISPENSER_SPARE_3\t\t\t\r\nconst Int32\tF2_LS_03_Direct\t=\t0x60000440\t;\t//\tReads the direct values that are currently being sent to the fpga.\trsv\t\trsv\t\trsv\t\t\t\t\t\trsv\t\t\t\t\t\tF2_LS_DISPENSER_UP_6 \tF2_LS_DISPENSER_25_6 \tF2_LS_DISPENSER_75_6 \tF2_LS_DISPENSER_DOWN_6\tF2_LS_DISPENSER_50_6\tF2_LS_DISPENSER_SPARE_6\tF2_LS_DISPENSER_UP_5\tF2_LS_DISPENSER_25_5 \tF2_LS_DISPENSER_75_5\tF2_LS_DISPENSER_DOWN_5\tF2_LS_DISPENSER_50_5\tF2_LS_DISPENSER_SPARE_5\t\t\t\r\nconst Int32\tF2_LS_04_Direct =\t0x60000480\t;\t//\tReads the direct values that are currently being sent to the fpga.\trsv\t\trsv\t\trsv\t\t\t\t\t\trsv\t\t\t\t\t\tF2_LS_DISPENSER_UP_8\tF2_LS_DISPENSER_25_8\tF2_LS_DISPENSER_75_8\tF2_LS_DISPENSER_DOWN_8\tF2_LS_DISPENSER_50_8\tF2_LS_DISPENSER_SPARE_8\tF2_LS_DISPENSER_UP_7\tF2_LS_DISPENSER_25_7 \tF2_LS_DISPENSER_75_7\tF2_LS_DISPENSER_DOWN_7\tF2_LS_DISPENSER_50_7\tF2_LS_DISPENSER_SPARE_7\t\t\t\r\n\r\nconst Int32 Dispenser_Valve1\t=\t0;\r\nconst Int32 Dispenser_Valve2\t=\t1;\r\nconst Int32 Dispenser_Valve3\t=\t2;\r\nconst Int32 Dispenser_Valve4\t=\t3;\r\nconst Int32 Dispenser_Valve5\t=\t4;\r\nconst Int32 Dispenser_Valve6\t=\t5;\r\nconst Int32 Dispenser_Valve7\t=\t6;\r\nconst Int32 Dispenser_Valve8\t=\t7;\r\n\r\nconst ushort MinPress_Mbar_Add =0x5c ;\r\nconst ushort MaxPress_Mbar_Add =0x60 ;\r\n\r\nconst Int32 F3_VALVE_OUT\t= 0x600000e2;\t\t\r\n\r\n//string path = \"C:\\\\Dispenser_setup\\\\Log\\\\\"; \r\n\r\n\r\n//Int32[] Start_Table;\r\n\r\nInt32[] Start_Table = new Int32 [10000];\r\n\r\nUInt32 [] Motor_Dir=new UInt32 [8] {0,0,0,0,0,0,0,0};\r\n\r\nstring Dispenser_Fname ;\r\n\r\nInt32 Dispenser_ptr =-1;\r\n\r\nInt32 [] Dispenser_press= new Int32[8]{0,0,0,0,0,0,0,0};\r\nInt32 max_pressure_level = 20000;\r\nInt32 min_pressure_level = -20000;\r\n\t\r\nInt32 [] A2D_Dispenser= new Int32[8]{0,0,0,0,0,0,0,0};\r\nInt32 Loop_cnt= 1;\r\nInt32 Loop_length=1;\r\n\r\nInt32 PressureSensorType= 1;\t\t//1- new -1up +10 . 0-old 0 to +10\r\nInt32\tTemp_Delay=0;\r\n\r\n\r\nUInt32 RD_LS_01_Direct;\r\nUInt32 RD_LS_02_Direct;\r\nUInt32 RD_LS_03_Direct;\r\nUInt32 RD_LS_04_Direct;\r\n\r\nlong Lebel1_time;\r\nlong Lebel2_time;\r\n\r\nlong time_Table;\r\n\r\nInt32 msec_index=0;\r\n\r\nInt32 MaxPress_Mbar;\r\nInt32 MinPress_Mbar;\r\nstring state;\r\n\r\n\tpublic Int32 OnExecute(IProcedureContext context)\r\n {\r\n\t\tlong Max_PBU;\r\n\t\tInt32 Index=0;\r\n\t\tInt32 speed=0;\r\n\t\tInt32 Dispenser_Nm;\r\n\t\tthis.context = context;\r\n\t\r\n\t\tstring box_msg = \"Make sure Mixer Hot \";\r\n\t\tMessageBox.Show(box_msg);\r\n\t\t\r\n\t\tvar response1 = context.RequestUserInputFor<String>(\"Dispenser Number\", \"Enter Dispenser number to make priming (1-8):\");\r\n\t\tcontext.WriteLine(response1);\r\n\t\tDispenser_Nm = Int32.Parse(response1);\r\n\t\t\r\n\t\tcheck_Min_Max_Mbar(Dispenser_Nm);\r\n\t\r\n\t\tif (Dispenser_Nm==8)\r\n\t\t\tMax_PBU=6000;\r\n\t\telse\r\n\t\t\tMax_PBU=4000;\r\n\t\t\t\r\n\t\r\n\tif (!Directory.Exists(path))\r\n\t\t{\r\n\t\t\tDirectory.CreateDirectory(path);\r\n\t\t}\t\r\n\t\t\tcontext.WriteLine(path);\r\n\t\t\t\r\n\tcontext.Send<ProgressResponse>(\"ProgressRequest\" ,0xe0, 1);\r\n\r\n\tDispenser_Fname=path + \"Dispenser_Nm_\" + Dispenser_Nm+\"_\" + DateTime.Now.ToString(\"MM-dd-yy hh-mm\")+ \".csv\" ;\r\n\r\n\tcontext.WriteLine(Dispenser_Fname);\r\n\r\n\tcontext.WriteToFile(Dispenser_Fname,\"Dispenser Nm,\" + Dispenser_Nm + \"\\n\" );\r\n\tcontext.AppendToFile(Dispenser_Fname,\"Pressure,Command,Value,DateTime,Remark\\n\" ); \r\n\t\tfor(int j=0; j<2;j++)\r\n\t\t{\r\n\t\t\tfor(int i=0; i<4;i++)\r\n\t\t\t{\r\n\t\t\t\tstate=\"PBU No. \"+ (4*j+i+1 );\r\n\t\t\t\tStart_Table=BuildUp_Table;\r\n\t\t\t\tTable_Run(Dispenser_Nm );\r\n\t\t\t\tif (time_Table>300000)\r\n\t\t\t\t{\r\n\t\t\t\t\tcontext.AddResult(ResultType.Failed,\"PBU\", \"PBU No.\"+ (4*j+i+1 ) + \" Fail\");\r\n\t\t\t\t\treturn 0;\r\n\t\t\t\t}\r\n\t\t\t\t context.AddResult(ResultType.Passed,\"PBU\",\"PBU No.\"+ (4*j+i+1 ) + \" Pass\");\r\n\t\t\t\t\t\r\n\t\t\t}\r\n\t\t\tstate=\"Flow No.\"+ (j+1 ) ;\r\n\t\t\tStart_Table=Up_Table;\r\n\t\t\tTable_Run(Dispenser_Nm );\r\n\t\t\tif (time_Table<115000)\r\n\t\t\t\t{\r\n\t\t\t\t\tcontext.WriteLine(\"time_Table= \" +time_Table);\r\n\t\t\t\t\tcontext.AddResult(ResultType.Failed,\"Flow\", \"Flow No.\"+ (j+1) + \" Fail\");\r\n\t\t\t\t\treturn 0;\r\n\t\t\t\t}\r\n\t\t\t\t context.AddResult(ResultType.Passed,\"Flow\",\"Flow No.\"+ (j+1 ) + \" Pass\");\r\n\t\t\t\t\t\t\r\n\t\t}\r\n\t\t\t\t state=\"Last PBU \" ;\r\n\t\t\t\tStart_Table=BuildUp_Table; \r\n\t\t\t\tTable_Run(Dispenser_Nm );\r\n\t\t\t\tlong Time=Lebel2_time-Lebel1_time;\r\n\t\t\t\tif (Time>Max_PBU)\r\n\t\t\t\t { \r\n\t\t\t\t context.AddResult(ResultType.Failed,\"PBU\", \"PBU = \" +Time + \"msec \");\r\n\t\t\t\t state=\"PBU = \" +Time + \"msec \\tFail\";\r\n\t\t\t\t }\r\n\t\t\t\telse\r\n\t\t\t\t{\r\n\t\t\t\t context.AddResult(ResultType.Passed,\"PBU\", \"PBU = \" +Time + \"msec \");\r\n\t\t\t\t state=\"PBU = \" +Time + \"msec \\tPass\";\r\n\t\t\t\t}\t\r\n\t\treturn 0;\r\n\t\t\r\n }\r\n\r\n/////////////////////////////////////////////\r\nvoid \t\tcheck_Min_Max_Mbar(Int32 i )\r\n{\r\n\tint k;\r\n\tstring s ;\r\n\ti--;\r\n\r\n\t\t\t\t\tcontext.WriteLine(\"-------------- write Enable Channel ------------\");\t//debug\r\n\t\tenable_channel(i); // Chanel 0-7 => Disp0enser 0-7 \r\n\t\t\t\t\tcontext.WriteLine(\"-------------- Read_header ------------\");\t//debug\r\n\r\n\t\t\t\t\tcontext.WriteLine(\"-------------- write_address_eeprom ------------\");\t//debug\r\n\t\twrite_address_eeprom (I2C_Slave_Low_Add,MinPress_Mbar_Add);\r\n\t\t\t\t\tcontext.WriteLine(\"-------------- read_data_from_eeprom ------------\");\t//debug\r\n\t\tread_data_from_eeprom (I2C_Slave_Low_Add,1);\r\n\t\tif \t(EEPROM_Data[0]==0\t)\r\n\t\t{\tPressureSensorType=0;\r\n\t\t\tcontext.WriteLine(\"PressureSensorType=0\" );\t//debug\r\n\t\t}\r\n\t\telse\t\r\n\t\t{\t\r\n\t\t\tPressureSensorType=1;\t\t\t\t\t\r\n\t\t\tcontext.WriteLine(\"PressureSensorType=1\" );\t//debug\r\n\t\t}\r\n\t\r\n}\t\r\n//----------------write address eeprom -------------------------\r\npublic void write_address_eeprom (UInt32 I2C_Add, UInt32 Eeprom_Add)\r\n{\t\r\n\tStubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();\r\n\tstubI2CWriteBytesRequest.I2CId = I2C_ID;\r\n\tstubI2CWriteBytesRequest.SlaveAddress = I2C_Add;\r\n\t\r\n\tUInt32 uInt32 = new UInt32();\r\n\tstubI2CWriteBytesRequest.BytesTWrite.Add(Convert.ToByte( (Eeprom_Add & 0xff00) >>8));\t//Byte High add to write\r\n\tstubI2CWriteBytesRequest.BytesTWrite.Add(Convert.ToByte(Eeprom_Add & 0xff));\t\t\t//Byte Low add to write\r\n\t\t\t\t\tcontext.WriteLine( (Eeprom_Add & 0xff00) >>8) ;\t//debug\r\n\t\t\t\t\tcontext.WriteLine( Eeprom_Add & 0xff);\t//debug\r\n\r\n\tcontext.Send<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);\t\r\n}\r\n//------------------- read Data from EEprom--------------------------\r\n\r\npublic void read_data_from_eeprom ( UInt32 I2C_Add, UInt32 cnt )\r\n{\r\n\tStubI2CReadBytesRequest stubI2CReadBytesRequest = new StubI2CReadBytesRequest();\r\n\tstubI2CReadBytesRequest.I2CId = I2C_ID;\r\n\tstubI2CReadBytesRequest.SlaveAddress = (I2C_Add + 1);\r\n\tstubI2CReadBytesRequest.NumberOfBytesToRead = cnt; // Number of bytes to read\r\n\r\n\tvar response1 = context.Send<StubI2CReadBytesResponse>(stubI2CReadBytesRequest);\r\n\r\n\tfor(int i=0; i<cnt;i++)\r\n\t\t{\r\n\t\t\tEEPROM_Data[i]=Convert.ToByte(response1.ReadBytes[i]);\r\n\t\t\tcontext.WriteLine(EEPROM_Data[i] );\t//debug\r\n\r\n\t\t}\t\t\r\n}\t\r\n\r\n\r\n///////////////////////////////////////////////\r\n//----------- enable I2c channel --------------\r\npublic int enable_channel(Int32 Channel_ID) \r\n{\r\n\tuint Const_temp = 0x01;\t\r\n\t\r\n\tStubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();\r\n\tstubI2CWriteBytesRequest.I2CId = I2C_ID;\r\n\tstubI2CWriteBytesRequest.SlaveAddress = TCA9548A_address;\r\n\t\r\n\tConst_temp = Const_temp << Channel_ID;\r\n\tstubI2CWriteBytesRequest.BytesTWrite.Add(Const_temp);//enable i2c channel 0 Dispenser 1\r\n\r\n\tvar response = context.Send<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);\r\n\t\r\n\treturn 1;\r\n}\r\n\r\n\r\n////////////////////////////////////////////////////////////// \r\nInt32 Table_Run(Int32 Dispenser )\r\n\r\n{\r\n\tInt32 COMMAND=0;\r\n\tInt32 Data=0;\r\n\tInt32 count=0;\r\n\t\r\n\tDispenser--;\t\t//check from 0-7\r\n\t\r\n\tint j=0;\r\n\tvar stopwatch = new Stopwatch();\r\n\t\tstopwatch.Start();\r\n\t\r\n\t\tlong elapsed_time = stopwatch.ElapsedMilliseconds;\r\n\t\tcontext.WriteLine(elapsed_time);\r\n\t\t\r\n\twhile (count!=-1) \r\n\t{\r\n\tmsec_index=msec_index+1;\r\n\t\t\r\n\t\tif (Dispenser<2) \r\n\t\t\t{\r\n\t\t\t\tvar response1 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_01_Direct);\r\n\t\t\t\tRD_LS_01_Direct=response1.Value\t ;\r\n\t\t\t}\r\n\t\telse if ( (Dispenser<4) )\r\n\t\t\t{\r\n\t\t\t\tvar response1 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_02_Direct);\r\n\t\t\t\tRD_LS_02_Direct=response1.Value\t ;\r\n\t\t\t}\r\n\t\telse if ( (Dispenser<6) )\r\n\t\t\t{\r\n\t\t\t\tvar response1 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_03_Direct);\r\n\t\t\t\tRD_LS_03_Direct=response1.Value\t ;\r\n\t\t\t}\r\n\t\telse\r\n\t\t\t{\r\n\t\t\t\tvar response1 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_04_Direct);\r\n\t\t\t\tRD_LS_04_Direct=response1.Value\t ;\r\n\t\t\t}\r\n\t\tif (Dispenser<4) \r\n\t\t\t{\r\n\t\t\tvar response2 = context.Send<StubIntADCReadResponse>(\"StubIntADCReadRequest\" ,0x8000 + AN_IDS_PRESSENS_1);\r\n\t\t\t\tA2D_Dispenser[0]=(response2.SamplingInBits)>>16;\r\n\t\t\t\tA2D_Dispenser[1] =(response2.SamplingInBits) & 0x0000ffff;\r\n\t\t\t\tA2D_Dispenser[2] =(response2.VoltageSamplingMv)>>16;\r\n\t\t\t\tA2D_Dispenser[3] =(response2.VoltageSamplingMv) & 0x0000ffff;\r\n\t\t\t}\r\n\t\telse\r\n\t\t\t{\r\n\t\t\tvar\tresponse3 = context.Send<StubIntADCReadResponse>(\"StubIntADCReadRequest\" ,0x8000 + AN_IDS_PRESSENS_5);\r\n\t\t\t\tA2D_Dispenser[4] =(response3.SamplingInBits)>>16;\r\n\t\t\t\tA2D_Dispenser[5] =(response3.SamplingInBits)& 0x0000ffff;\r\n\t\t\t\tA2D_Dispenser[6] =(response3.VoltageSamplingMv)>>16;\r\n\t\t\t\tA2D_Dispenser[7] =(response3.VoltageSamplingMv)& 0x0000ffff;\r\n\t\t\t}\r\n\t\t\t\t\r\n\t\t\tCOMMAND=Start_Table[count];\r\n\t\t\tData=Start_Table[(count+1)];\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t//Index=Index+2;\r\n\t\t\tswitch (COMMAND)\r\n\t\t\t\t{\r\n\t\t\t\tcase CMD_RUN:\r\n\t\t\t\t\tMotor_Run(Data,Dispenser);\r\n\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\t\r\n\t\t\t\tcase CMD_VALVE:\r\n\t\t\t\t\tValve_3W(Data,Dispenser);\r\n\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\t\r\n\t\t\t\tcase CMD_STOP:\r\n\t\t\t\t\tMotor_Stop(Data,Dispenser);\r\n\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\t\r\n\t\t\t\tcase CMD_DLY:\r\n\t\t\t\t\tDelay_on_second(Data,Dispenser);\r\n\t\t\t\t\tif (Temp_Delay ==0)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tmax_pressure_level=20000;\t\r\n\t\t\t\t\t\tmin_pressure_level=-20000;\t\r\n\t\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\t\r\n\t\t\t\tcase CMD_TIME:\r\n\t\t\t\t\tPrint_Time();\r\n\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\t\r\n\t\t\t\tcase CMD_PRESS:\r\n\t\t\t\t\tmax_pressure_level=Data;\r\n\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",Max_pressure_level is, \" + Data +\",\"+DateTime.Now+\"\\n\");\r\n\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\t\r\n\t\t\t\tcase CMD_PRESL:\r\n\t\t\t\t\tmin_pressure_level=Data;\r\n\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",Min_pressure_level is, \" + Data +\",\"+DateTime.Now+\"\\n\");\r\n\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\t\r\n\t\t\t\tcase CMD_LBL:\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",Label,\" + Data+\",\"+DateTime.Now+\"\\n\");\r\n\t\t\t\t\tif(Data==1)\r\n\t\t\t\t\t\tLebel1_time=stopwatch.ElapsedMilliseconds;\r\n\t\t\t\t\tif(Data==2)\r\n\t\t\t\t\t\tLebel2_time=stopwatch.ElapsedMilliseconds;\r\n\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\tcase CMD_SMP:\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",SampleRate,\" + Data+\",\"+DateTime.Now+\"\\n\");\r\n\t\t\t\t\tDispenser_sample_rate =Data;\r\n\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\t\r\n\t\t\t\tcase CMD_END:\r\n\t\t\t\t\tcount=-1;\r\n\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",End testing,,\"+DateTime.Now+\"\\n\");\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\r\n\t\t\t\tcase CMD_MTV_OPEN:\r\n\t\t\t\t\topen_midtank_valve(Data,Dispenser);\r\n\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",OPEN MIDTANK, \" + Dispenser+\",\"+DateTime.Now+\"\\n\");\r\n\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t\tcase CMD_MTV_CLOSE:\r\n\t\t\t\t\tclose_midtank_valve(Data,Dispenser);\r\n\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",CLOSE MIDTANK, \" + Dispenser+\",\"+DateTime.Now+\"\\n\");\r\n\t\t\t\t\tcount = count+2;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t\r\n\t\t\t\tcase CMD_LOOP_NM:\r\n\t\t\t\t\r\n\t\t\t\t\tLoop_cnt=Data-1;\r\n\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",Counter Loop,\"+ Data+\",\"+DateTime.Now +\"\\n\");\r\n\t\t\t\t\tcount = count+2;\t\t\t\t\t\t\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t\tcase CMD_LOOP:\r\n\t\t\t\t\r\n\t\t\t\t\tif (Loop_cnt!=0)\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\"Counter Loop,\"+ Loop_cnt+\",\"+DateTime.Now+\"\\n\" );\r\n\t\t\t\t\t\tcount = count+2*Data;\r\n\t\t\t\t\t\tLoop_cnt--;\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",End loop,,\"+DateTime.Now +\"\\n\");\r\n\t\t\t\t\t\tcount = count+2;\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t\tdefault:\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t}\t\r\n\t\t\t\r\n\t\t\tlong elapsed_time1 = stopwatch.ElapsedMilliseconds;\r\n\t\t\tlong elapsed_time2= elapsed_time1-elapsed_time;\r\n\t\t\tif (elapsed_time2>95)\r\n\t\t\telapsed_time2=95;\t\t//minimum time\r\n\t\t\t\tThread.Sleep(100-(int )(elapsed_time2));\r\n\r\n\t\t\telapsed_time = stopwatch.ElapsedMilliseconds;\t\t\r\n\r\n\r\n\t\t\tj++;\r\n\t\t\t\tif (j==10)\r\n\t\t\t\t{\r\n\t\t\t\t\tj=0;\r\n\t\t\t\t\tcontext.WriteLine(Dispenser_press[Dispenser]+ \" mBar\\t\"+state + \"\\tTime-\" + (elapsed_time/1000));\r\n\t\t\t\t}\r\n\t}\r\n\ttime_Table=elapsed_time;\r\n\treturn 0;\r\n}\r\n\r\n///////////////////////////////////////////////////////////////////\t\r\nInt32 Motor_Run(Int32 speed,Int32 Dispenser)\r\n\r\n{\r\n\r\n\tswitch (Dispenser)\r\n\t\t{\r\n\t\tcase 0:\r\n\t\t\t\tif ( speed<0)\r\n\t\t\t\t{\r\n\t\t\t\t\tMotor_Dir[0]=2;\r\n\t\t\t\t\tif ((RD_LS_01_Direct & 0x04)!=0x04)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor1, false, (-speed));\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\t\r\n\t\t\t\t\tMotor_Dir[0]=1;\r\n\t\t\t\t\tif ((RD_LS_01_Direct & 0x20)!=0x20)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor1, true, (speed));\r\n\t\t\t\t}\r\n\t\t\tbreak;\r\n\r\n\t\tcase 1:\r\n\t\t\t\tif ( speed<0)\r\n\t\t\t\t{\r\n\t\t\t\t\tMotor_Dir[1]=2;\r\n\t\t\t\t\tif ((RD_LS_01_Direct & 0x100)!=0x100)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor2, false, (-speed));\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\t\r\n\t\t\t\t\tMotor_Dir[1]=1;\r\n\t\t\t\t\tif ((RD_LS_01_Direct & 0x800)!=0x800)\r\n\t\t\t\t\t{\t\t\t\t\t\t\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor2, true, (speed));\r\n\t\t\t\t}\r\n\t\t\tbreak;\r\n\r\n\t\tcase 2:\r\n\t\t\t\tif ( speed<0)\r\n\t\t\t\t{\r\n\t\t\t\t\tMotor_Dir[2]=2;\r\n\t\t\t\t\tif ((RD_LS_02_Direct & 0x04)!=0x04)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor3, false, (-speed));\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\t\r\n\t\t\t\t\tMotor_Dir[2]=1;\r\n\t\t\t\t\tif ((RD_LS_02_Direct & 0x20)!=0x20)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now+ \",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor3, true, (speed));\r\n\t\t\t\t}\r\n\t\t\tbreak;\r\n\r\n\t\tcase 3:\r\n\t\t\t\tif ( speed<0)\r\n\t\t\t\t{\r\n\t\t\t\t\tMotor_Dir[3]=2;\r\n\r\n\t\t\t\t\tif ((RD_LS_02_Direct & 0x100)!=0x100)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now+ \",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor4, false, (-speed));\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\t\r\n\t\t\t\t\tMotor_Dir[3]=1;\r\n\r\n\t\t\t\t\tif ((RD_LS_02_Direct & 0x800)!=0x800)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor4, true, (speed));\r\n\t\t\t\t}\r\n\t\t\tbreak;\r\n\t\t\r\n\t\tcase 4:\r\n\t\t\t\tif ( speed<0)\r\n\t\t\t\t{\r\n\t\t\t\t\tMotor_Dir[4]=2;\r\n\t\t\t\t\tif ((RD_LS_03_Direct & 0x04)!=0x04)\r\n\t\t\t\t\t{ \r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now+ \",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor5, false, (-speed));\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\t\r\n\t\t\t\t\tMotor_Dir[4]=1;\r\n\t\t\t\t\tif ((RD_LS_03_Direct & 0x20)!=0x20)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now+ \",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor5, true, (speed));\r\n\t\t\t\t}\r\n\t\t\tbreak;\r\n\r\n\t\tcase 5:\r\n\t\t\t\tif ( speed<0)\r\n\t\t\t\t{\r\n\t\t\t\t\tMotor_Dir[5]=2;\r\n\t\t\t\t\tif ((RD_LS_03_Direct & 0x100)!=0x100)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor6, false, (-speed));\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\t\r\n\t\t\t\t\tMotor_Dir[5]=1;\r\n\t\t\t\t\tif ((RD_LS_03_Direct & 0x800)!=0x800)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now+ \",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor6, true, (speed));\r\n\t\t\t\t}\r\n\t\t\tbreak;\r\n\r\n\t\tcase 6:\r\n\t\t\t\tif ( speed<0)\r\n\t\t\t\t{\r\n\t\t\t\t\tMotor_Dir[6]=2;\r\n\t\t\t\t\tif ((RD_LS_04_Direct & 0x04)!=0x04)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor7, false, (-speed));\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\t\r\n\t\t\t\t\tMotor_Dir[6]=1;\r\n\t\t\t\t\tif ((RD_LS_04_Direct & 0x20)!=0x20)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor7, true, (speed));\r\n\t\t\t\t}\r\n\t\t\tbreak;\r\n\r\n\t\tcase 7:\r\n\t\t\t\tif ( speed<0)\r\n\t\t\t\t{\r\n\t\t\t\t\tMotor_Dir[7]=2;\r\n\r\n\t\t\t\t\tif ((RD_LS_04_Direct & 0x100)!=0x100)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor8, false, (-speed));\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\t\r\n\t\t\t\t\tMotor_Dir[7]=1;\r\n\r\n\t\t\t\t\tif ((RD_LS_04_Direct & 0x800)!=0x800)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Motor on Limit\\n\");\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.Send<StubMotorRunResponse>(\"StubMotorRunRequest\" ,Dispenser_Motor8, true, (speed));\r\n\t\t\t\t}\r\n\t\t\tbreak;\r\n\t\t\t\r\n\t\tdefault:\r\n\t\t\tbreak;\r\n\r\n\t\t}\r\n \tcontext.AppendToFile(Dispenser_Fname,\",Run,\" +speed+\",\"+DateTime.Now +\"\\n\" ); \r\n\r\n\treturn 1;\r\n} \r\n \r\n \t\r\n Int32 Valve_3W(Int32 Valve_Value,Int32 Dispenser)\r\n{\r\n\tif ( Valve_Value==1)\r\n\t\tcontext.Send<StubValveResponse>(\"StubValveRequest\" ,Dispenser_Valve1+Dispenser, 3, true);\t//3 3Way\r\n\telse\t\r\n\t\tcontext.Send<StubValveResponse>(\"StubValveRequest\" ,Dispenser_Valve1+Dispenser, 3, false); //3 3Way\r\n \r\n\tcontext.AppendToFile(Dispenser_Fname,\",Dispenser Valve position is, \" + Valve_Value+\",\"+DateTime.Now +\"\\n\" );\r\n\r\n\treturn 1;\t\r\n}\t\r\n//--------------------------------------- \r\n\r\n Int32 Motor_Stop(Int32 Stop_Value,Int32 Dispenser )\r\n{\r\n\tcontext.Send<StubMotorStopResponse>(\"StubMotorStopRequest\" ,Dispenser_Motor1+Dispenser, Stop_Value);\r\n\t\r\n\tcontext.AppendToFile(Dispenser_Fname,\",Motor Stop,\" + Stop_Value+\",\"+DateTime.Now +\"\\n\");\r\n\tMotor_Dir[Dispenser]=0;\r\n\treturn 1;\t\r\n}\r\n\r\n//--------------------------------------- \r\n\r\n Int32 Delay_on_second(Int32 Delay,Int32 Dispenser )\r\n{\r\n//Int32 temp1;\r\nInt32 pressure_om_mBAR=0;\r\n\tif \t(Temp_Delay ==0)\r\n\t{\r\n\t\tcontext.AppendToFile(Dispenser_Fname,\",DLY, \" + Delay +\",\"+DateTime.Now+\"\\n\");\r\n\t\tTemp_Delay = Delay *10 -1;\r\n//\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontext.Write(\"A\");\t\t//debug\r\n\t}\r\n\telse\t\r\n\t\t\tTemp_Delay--;\r\n\t\t\t\r\n\tif ( LimitSW_Dispenser(Dispenser)==0)\r\n \t {\t\r\n \t \tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now+\",Warning Motor on Limit\\n\");\r\n\t\t\tMotorStop(Dispenser);\r\n\t\t\tTemp_Delay =0;\t//end delay\r\n//\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontext.Write(\"C\");\t\t//debug\r\n\r\n\t\t\treturn 0 ;\r\n \t }\r\n\t\t\t\t\t\r\n\tpressure_om_mBAR=Calc_mBAR(Dispenser,true);\r\n \tif (pressure_om_mBAR > max_pressure_level)\r\n \t \t{\r\n\t\t//\tMotorStop(Dispenser);\r\n\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Pressure too high\\n\");\r\n\t\t\tTemp_Delay =0;\t//end delay\r\n//\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontext.Write(\"D\");\t\t//debug\r\n\t\t\t\r\n\t\t\treturn 0;\r\n\t\t}\r\n \tif (pressure_om_mBAR < min_pressure_level)\r\n \t \t{\r\n\t\t//\tMotorStop(Dispenser);\r\n\t\t\tcontext.AppendToFile(Dispenser_Fname,\",,,\"+DateTime.Now +\",Warning Pressure too low\\n\");\r\n\t\t\tTemp_Delay =0;\t//end delay\r\n//\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontext.Write(\"D\");\t\t//debug\r\n\t\t\t\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t\t\r\n\t\t\r\n \treturn 1;\r\n}\t\r\n \t \t\r\nInt32 LimitSW_Dispenser(Int32 Dispenser) \r\n{\r\n\r\n\tif (Dispenser==0)\r\n\t\t\r\n\t\t{\r\n\t\t\t\r\n//\t\tvar response1 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_01_Direct);\r\n\r\n\t\t\t\tif (((RD_LS_01_Direct & 0x04)!=0x04) && (Motor_Dir[0]==2))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\tif (((RD_LS_01_Direct & 0x20)!=0x20) && (Motor_Dir[0]==1))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\treturn 1;\t\t\r\n\t\t}\r\n\t\t\r\n\tif (Dispenser==1)\r\n\t\t\r\n\t\t{\r\n//\t\tvar response2 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_01_Direct);\r\n\t\t\t\tif (((RD_LS_01_Direct & 0x100)!=0x100) && (Motor_Dir[1]==2))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\tif (((RD_LS_01_Direct & 0x800)!=0x800) && (Motor_Dir[1]==1))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\treturn 1;\t\t\r\n\t\t}\r\n\t\t\r\n\r\n\tif (Dispenser==2)\r\n\t\t\r\n\t\t{\r\n\t\t\t\t\r\n\t\t//var response3 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_02_Direct);\r\n\t\t\t\tif (((RD_LS_02_Direct & 0x04)!=0x04) && (Motor_Dir[2]==2))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\tif (((RD_LS_02_Direct & 0x20)!=0x20) && (Motor_Dir[2]==1))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\treturn 1;\t\t\r\n\t\t\t\r\n\t\t}\r\n\t\t\r\n\tif (Dispenser==3)\r\n\t\t\r\n\t\t{\r\n\t\t\t\tvar response4 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_02_Direct);\r\n\t\t\t\tif (((RD_LS_02_Direct & 0x100)!=0x100) && (Motor_Dir[3]==2))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\tif (((RD_LS_02_Direct & 0x800)!=0x800) && (Motor_Dir[3]==1))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\treturn 1;\t\t\r\n\t\t}\r\n\t\t\r\n\t\t\r\n\t\t\r\n\r\n\tif (Dispenser==4)\r\n\t\t\r\n\t\t{\r\n\t\t\t\r\n//\t\tvar response1 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_01_Direct);\r\n\t\t\t\tif (((RD_LS_03_Direct & 0x04)!=0x04) && (Motor_Dir[4]==2))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\tif (((RD_LS_03_Direct & 0x20)!=0x20) && (Motor_Dir[4]==1))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\treturn 1;\t\t\r\n\t\t}\r\n\t\t\r\n\tif (Dispenser==5)\r\n\t\t\r\n\t\t{\r\n//\t\tvar response2 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_01_Direct);\r\n\t\t\t\tif (((RD_LS_03_Direct & 0x100)!=0x100) && (Motor_Dir[5]==2))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\tif (((RD_LS_03_Direct & 0x800)!=0x800) && (Motor_Dir[5]==1))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\treturn 1;\t\t\r\n\t\t}\r\n\t\t\r\n\r\n\tif (Dispenser==6)\r\n\t\t\r\n\t\t{\r\n\t\t\t\t\r\n\t\t//var response3 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_02_Direct);\r\n\t\t\t\tif (((RD_LS_04_Direct & 0x04)!=0x04) && (Motor_Dir[6]==2))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\tif (((RD_LS_04_Direct & 0x20)!=0x20) && (Motor_Dir[6]==1))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\treturn 1;\t\t\r\n\t\t\t\r\n\t\t}\r\n\t\t\r\n\tif (Dispenser==7)\r\n\t\t\r\n\t\t{\r\n//\t\tvar response4 = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" ,F2_LS_02_Direct);\r\n\t\t\t\tif (((RD_LS_04_Direct & 0x100)!=0x100) && (Motor_Dir[7]==2))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\tif (((RD_LS_04_Direct & 0x800)!=0x800) && (Motor_Dir[7]==1))\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\telse\r\n\t\t\t\treturn 1;\t\t\r\n\t\t}\r\n\t\t\r\n\t\t\r\n\t\treturn 0;\r\n}\t\t\r\n\t\t\r\n\t \t\r\nInt32 Print_Time() \r\n{\t\r\n\t\tcontext.AppendToFile(Dispenser_Fname,\",Time is\\t,,\"+ DateTime.Now +\"\\n\" ); \r\n\r\n\t\treturn 1;\r\n}\t\r\n\r\n\r\n\r\nInt32 Calc_mBAR(Int32 Dispenser, bool save_press)\r\n{\t\t\r\nInt32 Data;\r\nInt32 Sense1;\r\nInt32 temp=0;\r\n\r\n\t\tData =A2D_Dispenser[Dispenser];\r\n\t\tif (Data<100)\r\n\t\t\ttemp=-1;\r\n\t\tData=Data-710;\r\n\t\tif (Data<0)\r\n\t\tData=0;\r\n\r\n\t\tData=Data*(10000+PressureSensorType*1000)/2840;\t//\tfor -1 to 10 bar Press_Sensor_Type=1 else 0\r\n\t\tData=Data-1000*PressureSensorType; \t\t\t// for -1 to 10 bar\r\n\r\n\t\tif (temp==-1)\t\t\t\t\t\t//if SamplingInBits <100 then No pressure sensor exist\r\n\t\tSense1=-9999\t;\r\n\t\telse\t\r\n\t\tSense1=Data\t;\r\n\t\tif (\t((msec_index) % (Dispenser_sample_rate)) == 0)\r\n\t\t{\r\n\t\t\tcontext.AppendToFile(Dispenser_Fname,\"\" + Sense1+\"\\n\");\r\n\t\t}\r\n\t\tDispenser_press[Dispenser]=Sense1;\r\n\treturn Sense1;\r\n\t\t\t\r\n } \t\r\n\r\n \r\n//--------------------------------\r\nint open_midtank_valve (Int32 valve_type,Int32 valve_nm)\t\t//valve_type=0 is Air ,1 is Ink ; valve_nm 0-7\r\n{\r\n\tSetBit (F3_VALVE_OUT,((valve_type+1)*8)- valve_nm-1, 1);\r\n\treturn 1;\r\n\r\n}\r\n//--------------------------------\t\r\nint close_midtank_valve (Int32 valve_type,Int32 valve_nm)\t\t//valve_type=0 is Air ,1 is Ink ; valve_nm 0-7\r\n{\r\n\tSetBit (F3_VALVE_OUT,((valve_type+1)*8)- valve_nm-1, 0);\r\n\treturn 1;\r\n}\r\n//--------------------------------\r\nInt32 SetBit(Int32 Adr, Int32 BitNo, Int32 Bit)\r\n{\r\n\tInt32 BitMask;\r\n\r\n var response = context.Send<StubFpgaReadRegResponse>(\"StubFpgaReadRegRequest\" , F3_VALVE_OUT);\r\n\tInt32 RV = (Int32) response.Value & 0xffff;\r\n\t\r\n\t\r\n\tif (Bit == 0x1) \r\n\t{\r\n\t\tBitMask = 0x1 << BitNo;\r\n\t\tRV = RV | BitMask;\r\n\t\tcontext.Send<StubFpgaWriteRegResponse>(\"StubFpgaWriteRegRequest\" ,F3_VALVE_OUT , RV);\r\n\t}\r\n\telse if (Bit == 0x0)\r\n\t{\r\n\t\tBitMask = ~(0x1 << BitNo);\r\n\t\tRV = RV & BitMask;\r\n\t\tcontext.Send<StubFpgaWriteRegResponse>(\"StubFpgaWriteRegRequest\" ,F3_VALVE_OUT , RV);\r\n\t}\r\n\treturn 1;\r\n}\r\n//---------------------------------- \r\n void MotorStop(Int32 i)\r\n{\r\n \r\ncontext.Send<StubMotorStopResponse>(\"StubMotorStopRequest\" ,Dispenser_Motor1+i, 2);\r\nMotor_Dir[i]=0;\t//0 stop 1- up 2-dn\r\n\r\n}\r\n \r\n}","IsEntryPoint":true},{"$id":"4","Name":"Service.csx","Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing System.Drawing;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Entities;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.FSE.Common.Connection;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.FSE.Procedures;\r\n\r\npublic class Service\r\n{\r\n public double Calc(double a, double b)\r\n {\r\n return a + b;\r\n }\r\n}","IsEntryPoint":false}]},"Inputs":{"$id":"5","$values":[]},"Variables":{"$id":"6","$values":[{"$id":"7","Name":null,"Value":null}]},"ReferenceAssemblies":{"$id":"8","$values":[{"$id":"9","File":"C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\mscorlib.dll","HintType":"System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"10","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Core\\v4.0_4.0.0.0__b77a5c561934e089\\System.Core.dll","HintType":"System.Linq.Enumerable, System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"11","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Windows.Forms\\v4.0_4.0.0.0__b77a5c561934e089\\System.Windows.Forms.dll","HintType":"System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"12","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.FSE.Procedures.dll","HintType":"Tango.FSE.Procedures.ProcedureProject, Tango.FSE.Procedures, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"13","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.FSE.Common.dll","HintType":"Tango.FSE.Common.Diagnostics.IDiagnosticsProvider, Tango.FSE.Common, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"14","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.BL.dll","HintType":"Tango.BL.Enumerations.TechMonitors, Tango.BL, Version=2.0.36.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"15","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.PMR.dll","HintType":"Tango.PMR.Common.MessageType, Tango.PMR, Version=2.0.40.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"16","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.Transport.dll","HintType":"Tango.Transport.ITransporter, Tango.Transport, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"17","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.Integration.dll","HintType":"Tango.Integration.Operation.IMachineOperator, Tango.Integration, Version=2.0.31.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"18","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Google.Protobuf.dll","HintType":"Google.Protobuf.IMessage, Google.Protobuf, Version=3.4.1.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604"},{"$id":"19","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Drawing\\v4.0_4.0.0.0__b03f5f7f11d50a3a\\System.Drawing.dll","HintType":"System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"}]},"Resources":{"$id":"20","$values":[]},"Dialogs":{"$id":"21","$values":[]},"ID":"b5924fbd-808a-41e3-99fb-980cd8df910c","ApartmentState":"STA"} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/Set cleaning sequence.cs b/Software/Stubs Collection/stubs/Scripts/Set cleaning sequence.cs
new file mode 100644
index 000000000..6f5357535
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/Set cleaning sequence.cs
@@ -0,0 +1,23 @@
+using System;
+using System.Text;
+using System.Linq;
+using System.Drawing;
+using System.Diagnostics;
+using System.Windows.Forms;
+using System.Threading;
+using System.Threading.Tasks;
+using System.Collections.Generic;
+using Tango.PMR.Stubs;
+using Tango.Stubs;
+
+public void OnExecute(StubManager stubManager)
+{
+
+
+ProgressRequest progressRequest = new ProgressRequest();
+progressRequest.Amount = 0xAD7;
+progressRequest.Delay = 1; // 1 - active, 0 - disabled
+
+var response = stubManager.Run<ProgressResponse>(progressRequest);
+
+} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/WHS_waste_Tank_Calibration_Save_V0.pproj b/Software/Stubs Collection/stubs/Scripts/WHS_waste_Tank_Calibration_Save_V0.pproj
new file mode 100644
index 000000000..5932b58a0
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/WHS_waste_Tank_Calibration_Save_V0.pproj
@@ -0,0 +1 @@
+{"$id":"1","Name":"untitled","Description":null,"Scripts":{"$id":"2","$values":[{"$id":"3","Name":"Program.csx","Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing System.Drawing;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Entities;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.FSE.Common.Connection;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.FSE.Procedures;\r\n\r\n\r\npublic class Program\r\n{\r\n\tdouble V0_default_ml = 8.7433;\r\n\r\n public void OnExecute(IProcedureContext context)\r\n {\r\n \r\n\tvar response1 = context.RequestUserInputFor<String>(\"Warning - you are going to change the value of Vo in the eeprom !!!\\nPlease Enter Password to confirme:\",\"\");\r\n\tif (response1==\"Aa123456\")\r\n\t{\r\n\t\tcontext.WriteLine(response1);\r\n\t\t\r\n\t\t//Write_0_Vo_in_ml_to_eeprom\r\n\t\tcontext.WriteLine(\"\\nWrite_0_Vo_in_ml_to_eeprom\");\t\r\n\t\tStubWhsEEpromRequest stubWhsEEpromRequest = new StubWhsEEpromRequest();\r\n\t\tstubWhsEEpromRequest.BurnRequest = true; //write\r\n\t\tStubWhsEEpromData stubWhsEEpromData = new StubWhsEEpromData();\r\n\t\tstubWhsEEpromData.Orifice1Flow = 0;\r\n\t\tstubWhsEEpromRequest.WhsEEprom = stubWhsEEpromData;\r\n\t\tvar response = context.Send<StubWhsEEpromResponse>(stubWhsEEpromRequest);\r\n\t\t\t\t\r\n\t\t//wait_10mSec\r\n\t\tcontext.WriteLine(\"\\nwait_10mSec\");\t\r\n\t\tThread.Sleep(100); //Sleep for 10 milli.\r\n\t\t\r\n\t\t//Read_Vo_in_ml_from_eeprom\t& verify it is 0\r\n\t\tcontext.WriteLine(\"\\nRead_Vo_in_ml_from_eeprom\t& verify it is 0\");\r\n\t\tstubWhsEEpromRequest.BurnRequest = false; //write\r\n\t\tstubWhsEEpromRequest.WhsEEprom = stubWhsEEpromData;\r\n\t\tvar response2 = context.Send<StubWhsEEpromResponse>(stubWhsEEpromRequest);\r\n\t\t\r\n\t\t//Read_Vo_in_mV\r\n\t\tcontext.WriteLine(\"\\nRead_Vo_in_mV\");\r\n\t\tvar response3 = context.Send<ProgressResponse>(\"ProgressRequest\" ,0x3EC, 0x01);\r\n\t\t//Print_Vo_in_mV\r\n\t\tcontext.WriteLine(response3.Progress);\r\n\t\t\r\n\t\t//check validity\r\n\t\tcontext.WriteLine(\"\\ncheck validity\");\r\n\t\t if((response3.Progress <= 800) || (response3.Progress >=1200))\r\n\t\t {\r\n\t\t \tresponse3.Progress = 1076; //default\r\n\t\t \tcontext.Write(\"\\nERROR ------ Vreading value outside the defined range !!! ------\");\r\n\t\t \t context.AddResult(ResultType.Failed , \"Error\", \"ERROR ------ Vreading value outside the defined range !!! ------\");\r\n\t\t }\r\n\t\telse\r\n\t\t{\t\t\t\r\n\t\t\t//calculate_V0_in_ml\r\n\t\t\tcontext.WriteLine(\"\\ncalculate_V0_in_ml\");\r\n\t\t\tV0_default_ml = V0_default_ml * response3.Progress;\r\n\t\t\t\r\n\t\t\t//print_Vo_in_ml\r\n\t\t\tcontext.WriteLine(\"\\nprint_Vo_in_ml\");\r\n\t\t\tcontext.WriteLine(V0_default_ml);\r\n\t\t\tcontext.WriteLine(\"\");\r\n\t\t\t\r\n\t\t\t//Write_Vo_in_ml_to_eeprom\r\n\t\t\tcontext.WriteLine(\"\\nWrite_Vo_in_ml_to_eeprom\");\r\n\t\t\tstubWhsEEpromRequest.BurnRequest = true; //write\r\n\t\r\n\t\t\tstubWhsEEpromData.Orifice1Flow = V0_default_ml;\r\n\t\t\tstubWhsEEpromRequest.WhsEEprom = stubWhsEEpromData;\r\n\t\t\tvar response4 = context.Send<StubWhsEEpromResponse>(stubWhsEEpromRequest);\r\n\t\t\t\t\r\n\t\t\t//wait_10mSec\r\n\t\t\tcontext.WriteLine(\"\\nwait_10mSec\");\t\r\n\t\t\t Thread.Sleep(100); //Sleep for 10 milli.\r\n\t\t\t \t\t\r\n\t\t\t //Read_Vo_in_ml_from_eeprom\r\n\t\t\tcontext.WriteLine(\"\\nRead_Vo_in_ml_from_eeprom\");\r\n\t\t\tstubWhsEEpromRequest.BurnRequest = false; //write\r\n\t\t\tstubWhsEEpromRequest.WhsEEprom = stubWhsEEpromData;\r\n\t\t\tvar response5 = context.Send<StubWhsEEpromResponse>(stubWhsEEpromRequest);\r\n\t\t\t\r\n\t\t\t//Check if we read the correct value\r\n\t\t\tcontext.WriteLine(\"\\nVerify that we read the correct value of Orifice1Flow!!\");\r\n\t\t\t context.AddResult(ResultType.Passed , \"Pass\", \"Calibration Pass.\");\r\n\r\n\t\t\t}\r\n\t}\r\n\t\telse\r\n \t{\r\n\t\t\tcontext.AddResult(ResultType.Failed , \"Error\", \"Password Fail.\");\r\n\t\t}\r\n\t\tcontext.WriteLine(\"\\n -- END OF SCRIPT -- \");\r\n }\r\n}\r\n\r\n\r\n","IsEntryPoint":true},{"$id":"4","Name":"Service.csx","Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing System.Drawing;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Entities;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.FSE.Common.Connection;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.FSE.Procedures;\r\n\r\npublic class Service\r\n{\r\n public double Calc(double a, double b)\r\n {\r\n return a + b;\r\n }\r\n}","IsEntryPoint":false}]},"Inputs":{"$id":"5","$values":[]},"Variables":{"$id":"6","$values":[]},"ReferenceAssemblies":{"$id":"7","$values":[{"$id":"8","File":"C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\mscorlib.dll","HintType":"System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"9","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Core\\v4.0_4.0.0.0__b77a5c561934e089\\System.Core.dll","HintType":"System.Linq.Enumerable, System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"10","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Windows.Forms\\v4.0_4.0.0.0__b77a5c561934e089\\System.Windows.Forms.dll","HintType":"System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"11","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.FSE.Procedures.dll","HintType":"Tango.FSE.Procedures.ProcedureProject, Tango.FSE.Procedures, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"12","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.FSE.Common.dll","HintType":"Tango.FSE.Common.Diagnostics.IDiagnosticsProvider, Tango.FSE.Common, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"13","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.BL.dll","HintType":"Tango.BL.Enumerations.TechMonitors, Tango.BL, Version=2.0.36.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"14","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.PMR.dll","HintType":"Tango.PMR.Common.MessageType, Tango.PMR, Version=2.0.40.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"15","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.Transport.dll","HintType":"Tango.Transport.ITransporter, Tango.Transport, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"16","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.Integration.dll","HintType":"Tango.Integration.Operation.IMachineOperator, Tango.Integration, Version=2.0.31.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"17","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Google.Protobuf.dll","HintType":"Google.Protobuf.IMessage, Google.Protobuf, Version=3.4.1.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604"},{"$id":"18","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Drawing\\v4.0_4.0.0.0__b03f5f7f11d50a3a\\System.Drawing.dll","HintType":"System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"}]},"Resources":{"$id":"19","$values":[]},"Dialogs":{"$id":"20","$values":[]},"ID":"605a2ef0-71a6-450d-92f7-9b6d22850ad1","ApartmentState":"STA"} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/config head type to hed card eeprom.cs b/Software/Stubs Collection/stubs/Scripts/config head type to hed card eeprom.cs
new file mode 100644
index 000000000..fd0f7fcf7
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/config head type to hed card eeprom.cs
@@ -0,0 +1,118 @@
+using System;
+using System.Text;
+using System.Linq;
+using System.Drawing;
+using System.Diagnostics;
+using System.Windows.Forms;
+using System.Threading;
+using System.Threading.Tasks;
+using System.Collections.Generic;
+using Tango.PMR.Stubs;
+using Tango.Stubs;
+
+//----------------------
+const Int32 I2C_ID = 3; //MCU_I2C3
+const Int32 TCA9548A_address = 0xE2;
+const Int32 I2C_Slave_Add = 0xA0; // //eeprom address - 32kByte
+int Head_Mux_Channel_ID = 4; //Head MUX channel
+//----------------------
+
+const Int32 SerialNum = 0x01;
+
+
+int enable_channel(int Channel_ID)
+{
+ uint Const_temp = 0x01;
+
+ StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();
+ stubI2CWriteBytesRequest.I2CId = I2C_ID;
+ stubI2CWriteBytesRequest.SlaveAddress = TCA9548A_address;
+
+ Const_temp = Const_temp << Channel_ID;
+ stubI2CWriteBytesRequest.BytesTWrite.Add(Const_temp);
+
+ var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
+
+ return 1;
+}
+
+
+int adc_write(uint I2C_Slave_Add, uint Page)
+{
+ StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();
+ stubI2CWriteBytesRequest.I2CId = I2C_ID;
+ stubI2CWriteBytesRequest.SlaveAddress = I2C_Slave_Add;
+
+ UInt32 uInt32 = new UInt32();
+ stubI2CWriteBytesRequest.BytesTWrite.Add(0);//Byte 0 to write
+ stubI2CWriteBytesRequest.BytesTWrite.Add(Page);//Byte 0 to write
+ //--------------------------------------------------------------
+
+ stubI2CWriteBytesRequest.BytesTWrite.Add(SerialNum);//S/N
+ //stubI2CWriteBytesRequest.BytesTWrite.Add(0x03);//HEAD_TYPE_FLAT
+ stubI2CWriteBytesRequest.BytesTWrite.Add(0x04);//HEAD_TYPE_ARC
+
+ var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
+
+ return 1;
+}
+
+int adc_set_for_read_ch(uint I2C_Slave_Add, uint Page)
+{
+ StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest();
+ stubI2CWriteBytesRequest.I2CId = I2C_ID;
+ stubI2CWriteBytesRequest.SlaveAddress = I2C_Slave_Add;
+
+
+ UInt32 uInt32 = new UInt32();
+ stubI2CWriteBytesRequest.BytesTWrite.Add(0);//Byte 0 to write
+ stubI2CWriteBytesRequest.BytesTWrite.Add(Page);//Byte 0 to write
+
+ var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest);
+
+ return 1;
+}
+
+int adc_read_ch(uint I2C_Slave_Add)
+{
+ StubI2CReadBytesRequest stubI2CReadBytesRequest = new StubI2CReadBytesRequest();
+ stubI2CReadBytesRequest.I2CId = I2C_ID;
+ stubI2CReadBytesRequest.SlaveAddress = I2C_Slave_Add + 1;
+ stubI2CReadBytesRequest.NumberOfBytesToRead = 10; // Number of bytes to read
+
+ var response1 = stubManager.Run<StubI2CReadBytesResponse>(stubI2CReadBytesRequest);
+ uint temph=0;
+
+ for(int i=0; i<stubI2CReadBytesRequest.NumberOfBytesToRead;i++)
+ {
+ temph=response1.ReadBytes[i];
+ stubManager.WriteHex(temph,2);
+ }
+
+ return 1;
+}
+
+
+public void OnExecute(StubManager stubManager)
+{
+
+ //enable_all_channel();
+ enable_channel(Head_Mux_Channel_ID); // Chanel 0-7 => Disp0enser 0-7
+
+ for (int i = 0; i<1; i++)
+ {
+
+ adc_write(I2C_Slave_Add,0x00);
+ Thread.Sleep(10); //Sleep for 5 milli. - must! otherwise read 0xff (See data sheet )
+
+ stubManager.Write("\nPage 0x00 #");
+ stubManager.Write(i);
+ stubManager.Write("\t- The Buffer is: ");
+ adc_set_for_read_ch(I2C_Slave_Add, 0x00);
+ //Thread.Sleep(1); //Sleep for 10 milli.
+ adc_read_ch(I2C_Slave_Add);
+
+ Thread.Sleep(1000);
+
+ }
+} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/progress_test.pproj b/Software/Stubs Collection/stubs/Scripts/progress_test.pproj
new file mode 100644
index 000000000..29d02caa2
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/progress_test.pproj
@@ -0,0 +1 @@
+{"$id":"1","Name":"untitled","Description":null,"Scripts":{"$id":"2","$values":[{"$id":"3","Name":"Program.csx","Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing System.Drawing;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Entities;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.FSE.Common.Connection;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.FSE.Procedures;\r\n\r\npublic class Program\r\n{\r\n public void OnExecute(IProcedureContext context)\r\n {\r\n context.AddResult(ResultType.Passed, \"My Value Name\", \"Test for this value has passed.\");\r\n\t\t\r\nfor (int i=0;i<10;i++)\r\n{\r\n Thread.Sleep(10000);\r\n context.UpdateProgress(\"11111\",true,i,10);\r\n\t}\t\r\n }\r\n}","IsEntryPoint":true},{"$id":"4","Name":"Service.csx","Code":"using System;\r\nusing System.Collections.Generic;\r\nusing System.Collections.ObjectModel;\r\nusing System.ComponentModel;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing System.Drawing;\r\nusing Google.Protobuf;\r\nusing Tango.BL.Entities;\r\nusing Tango.BL.Enumerations;\r\nusing Tango.PMR.Stubs;\r\nusing Tango.PMR.Diagnostics;\r\nusing Tango.FSE.Common.Connection;\r\nusing Tango.FSE.Common.Diagnostics;\r\nusing Tango.FSE.Procedures;\r\n\r\npublic class Service\r\n{\r\n public double Calc(double a, double b)\r\n {\r\n return a + b;\r\n }\r\n}","IsEntryPoint":false}]},"Inputs":{"$id":"5","$values":[]},"Variables":{"$id":"6","$values":[]},"ReferenceAssemblies":{"$id":"7","$values":[{"$id":"8","File":"C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\mscorlib.dll","HintType":"System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"9","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Core\\v4.0_4.0.0.0__b77a5c561934e089\\System.Core.dll","HintType":"System.Linq.Enumerable, System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"10","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Windows.Forms\\v4.0_4.0.0.0__b77a5c561934e089\\System.Windows.Forms.dll","HintType":"System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"},{"$id":"11","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.FSE.Procedures.dll","HintType":"Tango.FSE.Procedures.ProcedureProject, Tango.FSE.Procedures, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"12","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.FSE.Common.dll","HintType":"Tango.FSE.Common.Diagnostics.IDiagnosticsProvider, Tango.FSE.Common, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"13","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.BL.dll","HintType":"Tango.BL.Enumerations.TechMonitors, Tango.BL, Version=2.0.36.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"14","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.PMR.dll","HintType":"Tango.PMR.Common.MessageType, Tango.PMR, Version=2.0.40.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"15","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.Transport.dll","HintType":"Tango.Transport.ITransporter, Tango.Transport, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"},{"$id":"16","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Tango.Integration.dll","HintType":"Tango.Integration.Operation.IMachineOperator, Tango.Integration, Version=2.0.31.1608, Culture=neutral, PublicKeyToken=null"},{"$id":"17","File":"C:\\Program Files (x86)\\Twine Solutions LTD\\Tango FSE\\Google.Protobuf.dll","HintType":"Google.Protobuf.IMessage, Google.Protobuf, Version=3.4.1.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604"},{"$id":"18","File":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Drawing\\v4.0_4.0.0.0__b03f5f7f11d50a3a\\System.Drawing.dll","HintType":"System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"}]},"Resources":{"$id":"19","$values":[]},"Dialogs":{"$id":"20","$values":[]},"ID":"b99ea8ff-f5ff-44d5-8b33-4b534a14647b","ApartmentState":"STA"} \ No newline at end of file
diff --git a/Software/Stubs Collection/stubs/Scripts/test halt.cs b/Software/Stubs Collection/stubs/Scripts/test halt.cs
new file mode 100644
index 000000000..289eb612a
--- /dev/null
+++ b/Software/Stubs Collection/stubs/Scripts/test halt.cs
@@ -0,0 +1,24 @@
+using System;
+using System.Text;
+using System.Linq;
+using System.Drawing;
+using System.Diagnostics;
+using System.Windows.Forms;
+using System.Threading;
+using System.Threading.Tasks;
+using System.Collections.Generic;
+using Tango.PMR.Stubs;
+using Tango.Stubs;
+
+public void OnExecute(StubManager stubManager)
+{
+
+//CF - initialize FFS
+//DF - reset
+ProgressRequest progressRequest = new ProgressRequest();
+progressRequest.Amount = 0xAD9;
+progressRequest.Delay = 0xAD9;
+
+ var response = stubManager.Run<ProgressResponse>(progressRequest);
+
+} \ No newline at end of file