Diff of /branches/SBSI/Main_Escape_PLC/Plc Logic/Application/Function Blocks/Puzzle/VtemStateMachine/svnobj [r38] .. [r39]  Maximize  Restore

Switch to side-by-side view

--- a/branches/SBSI/Main_Escape_PLC/Plc Logic/Application/Function Blocks/Puzzle/VtemStateMachine/svnobj
+++ b/branches/SBSI/Main_Escape_PLC/Plc Logic/Application/Function Blocks/Puzzle/VtemStateMachine/svnobj
@@ -1,20 +1,20 @@
-Gx_l“Ý!0…jüo±‘¸-jºK×câSystem.StringL{6f9dac99-8de1-4efc-8465-68ac443b7d08}SpecialFuncL{0db3d7bb-cde0-4416-9a7b-ce49a0124323}NoneImplementationL{3b83b776-fb25-43b8-99f2-3c507c9143fc}TextDocument	L{f3878285-8e4f-490b-bb1b-9acbb7eb04db}
+Gx_låá!0…jüoG”IY-vM1ÛP¼System.StringL{6f9dac99-8de1-4efc-8465-68ac443b7d08}SpecialFuncL{0db3d7bb-cde0-4416-9a7b-ce49a0124323}NoneImplementationL{3b83b776-fb25-43b8-99f2-3c507c9143fc}TextDocument	L{f3878285-8e4f-490b-bb1b-9acbb7eb04db}
 TextLinesL{a5de0b0b-1cb5-4913-ac21-9d70293ec00d}Id
longTagText$IF NOT xInit THEN	N	UM				(		sName := 'Normal Operation', ì							dwSupportedStates := PACK_ML.State.All - PACK_ML.State.Suspending - PACK_ML.State.Suspended - PACK_ML.State.UnSuspending - PACK_ML.Holding - PACK_ML.Held - PACK_ML.UnHolding, Ô							dwAllowsLeavingFromStates := PACK_ML.State.Stopped OR PACK_ML.State.Aborted OR PACK_ML.State.Idle, Ö							dwAllowsEnteringIntoStates := PACK_ML.State.Stopped OR PACK_ML.State.Aborted OR PACK_ML.State.Idle, \							eInitialState := PACK_ML.State.Aborted,0							xActive := TRUE);(	ItfUnitMode := UM; 	xInit := TRUE;	END_IF4IF Client.bReadyToPLC THEN:	CASE Client.iCommandToPLC OF"	0 : 	//Handshake	1 : 	//Lock 		IF SysStrCmp(Client.sCommandToPLC, Client.LockCommands[0]) =  0 THEN		!0			//First Lock Function"2			xLockLoadConfig:=TRUE;#â			SendCommand(Command:= CommandType.Hint, 'Release the valvecontrol to let us load the correct configuration.');$			%			;&–		ELSIF SysStrCmp(Client.sCommandToPLC, Client.LockCommands[1]) =  0 THEN		'2			//Second Lock Function(
 			;	)		END_IF*	2 : 	//Key+Ž		IF SysStrCmp(Client.sCommandToPLC, Client.KeyCommands[0]) =  0 THEN		,6			//Echo first key example-Ž			SendCommand(Command:= CommandType.Key,Value:=Client.KeyCommands[0]);.		END_IF	/	3 : 	//IO0	4 : 	//Media1	5 : 	//Hint2	6 : 	//State	3l		IF SysStrCmp(Client.sCommandToPLC, 'SC') =  0 THEN		4&			StateComplete();5x		ELSIF SysStrCmp(Client.sCommandToPLC, 'Start') =  0 THEN		6			Start();7v		ELSIF SysStrCmp(Client.sCommandToPLC, 'Stop') =  0 THEN		8			Stop();9x		ELSIF SysStrCmp(Client.sCommandToPLC, 'Reset') =  0 THEN		:			Reset();;x		ELSIF SysStrCmp(Client.sCommandToPLC, 'Abort') =  0 THEN		<			Abort();=x		ELSIF SysStrCmp(Client.sCommandToPLC, 'Clear') =  0 THEN		>			Clear();?v		ELSIF SysStrCmp(Client.sCommandToPLC, 'Hold') =  0 THEN		@			Hold();Az		ELSIF SysStrCmp(Client.sCommandToPLC, 'UnHold') =  0 THEN		B			Unhold();	C|		ELSIF SysStrCmp(Client.sCommandToPLC, 'Suspend') =  0 THEN		D			Suspend();E€		ELSIF SysStrCmp(Client.sCommandToPLC, 'UnSuspend') =  0 THEN		F			UnSuspend();G		H	END_CASEI6	Client.iCommandToPLC := 0;J8	Client.sCommandToPLC := '';K:	Client.bReadyToPLC := FALSE;L*CheckConfiguration();M`tonCheckWebAppActive(IN:=Client.ActualStep=120);N.CASE UM.CurrentState OFO,PACK_ML.State.Stopped:P	;Q.PACK_ML.State.Aborted: R&PACK_ML.State.Idle:S(	gxhideStart:=FALSE;T(	IF waitTimer.Q THENU		wait:=FALSE;V0		bySetAppControlAll:=0;W	END_IFX(	IF gxGameStart THENY0PACK_ML.State.Complete :Z,bySetAppControlAll:=3;[&			iTarBackLeft:=0;\(			iTarFrontLeft:=0;]*			iTarFrontRight:=0;^*			iTarBackRight:=0;	_.PACK_ML.State.Execute :`b		gstElapsedTime:= CleanTime(ElapsedGameTime.ET);a8		IF iNumTargetsLeft<=0 THENb<			gxhideMissionSucces:=FALSE;c>			gxhideCrossandTargets:=TRUE;d4			gxhideNumTargets:=TRUE;ef			gstElapsedTime:=CleanTime(ElapsedGameTime.ET);		f.			xGameRunning:=FALSE;g2			bySetAppControlAll:=3;h(			iTarBackRight:=0;iH			StateComplete(); // -> Completingj		END_IF		k		;l2PACK_ML.State.Resetting :m4	CASE Client.ActualStep OFn		1000:o*			xExecuteFB:=FALSE;p>			xDownloadConfigDone1:=FALSE;q4			xDownloadError1:=FALSE;r>			xDownloadConfigDone2:=FALSE;s4			xDownloadError2:=FALSE;t,			iResponseConfig:=0;u<			Client.ActualStep:=1010;			v
-					w		1010:x,			iVTEMComsRights:=2;yf			IF NOT xTransferDone AND NOT xTransferError THENz*				xExecuteFB:=TRUE;{6			ELSIF xTransferDone THEN|8				client.ActualStep:=1020;},				xExecuteFB:=FALSE;~d			ELSIF xTransferError OR tonConfigTimeout.Q THEN			END_IF€		1020:,			iVTEMComsRights:=3;‚8				client.ActualStep:=1030;ƒ		1030:„,			iVTEMComsRights:=4;…8				client.ActualStep:=1040;† 		1040:‡,			iVTEMComsRights:=5;ˆ8				client.ActualStep:=1100;‰		1100:Š:			xCheckConfiguration:=TRUE;‹6			client.ActualStep:=1105;Œ		1105:Z			IF NOT xCheckConfiguration AND xMatch THENŽ8				Client.ActualStep:=1110;b			IF NOT xCheckConfiguration AND NOT xMatch THEN8				Client.ActualStep:=1100;‘		1110:’,			iVTEMComsRights:=1;“D			xUseGlobalSetpointValues:=TRUE;”4			bySetValveModeAll:= 61;•4			bySetAppControlAll:= 0;–2			bySetAppOptionAll:= 0;—6			gxHidecalibration:=TRUE;˜$			gxhideGo:=TRUE;™:			gxhideMissionSucces:=TRUE;š*			gxhideStart:=TRUE;›d			gstElapsedTime:= CleanTime(ElapsedGameTime.ET);œ6			Client.ActualStep:=1120;		1120:ž2			bySetValveModeAll:= 3;Ÿ4			bySetAppControlAll:= 3; 0			bySetAppOptionAll:=0;¡6			IF iAvgPressure<100 THEN¢(				StateComplete();£		END_CASE¤0PACK_ML.State.Starting :¥6	CASE Client.ActualStep OF ¦		0:§:		IF client.Mode = Mode1 THEN¨.		Client.ActualStep:=5;©		ELSEª4			client.ActualStep:=100;«º				SendCommand(Command:= CommandType.Media,Value:= 'http://10.0.0.13/cgi-bin/vtem-welcome');¬			END_IF;­		5:®®		SendCommand(Command:= CommandType.Media,Value:= 'http://10.0.0.10:8080/webvisu.htm');¯*		iVTEMComsRights:=1;°H		xUseGlobalSetpointValues := false;±:		gxHidecalibration := FALSE;²,		gxhideStart := TRUE;³8		gxhideMissionSucces:=TRUE;´2		bySetValveModeAll :=3	;µ0		bySetAppControlAll:=3;¶*		iTarBackLeft:=4000;·,		iTarFrontLeft:=3000;¸.		iTarFrontRight:=2000;¹,		iTarBackRight:=3000;º		wait:=TRUE;»$		ONETIME:=FALSE;	¼0		Client.ActualStep:=10;½
-		10:¾*		IF waitTimer.Q THEN¿			wait:=FALSE;À2			Client.ActualStep:=20;Á
-		20:Â*		iTarBackLeft:=3000;Ã,		iTarFrontLeft:=4000;Ä.		iTarFrontRight:=3000;Å,		iTarBackRight:=2000;Æ0		Client.ActualStep:=30;Ç
-		30:È2			Client.ActualStep:=40;É			40:Ê*		iTarBackLeft:=2000;Ë.		iTarFrontRight:=4000;Ì0		Client.ActualStep:=50;Í
-		50:Î2			Client.ActualStep:=60;Ï
-		60:Ð,		iTarFrontLeft:=2000;Ñ,		iTarBackRight:=4000;Ò0		Client.ActualStep:=70;Ó
-		70:Ôj			Client.ActualStep:=80; // Go to step dance game :)Õ
-		80:Öp		atp1(iTar:=4000, iVar:=iValve_BackLeft, iOffset:= 30);×r		atp2(iTar:=4000, iVar:=iValve_BackRight, iOffset:= 30);Ør		atp3(iTar:=4000, iVar:=iValve_FrontLeft, iOffset:= 30);Ùt		atp4(iTar:=4000, iVar:=iValve_FrontRight, iOffset:= 30);ÚÖ		gitotalTime:=(TIME_TO_LINT(atp1.timerprogress+atp2.timerprogress+atp3.timerprogress+atp4.timerprogress));Û				ܺ		IF atp1.atTargetPres AND atp2.atTargetPres AND atp3.atTargetPres AND atp4.atTargetPres THENÝ”			SendCommand(Command:= CommandType.Key, Value := Client.KeyCommands[0]);Þ,			iNumTargetsLeft:=5;ß2			bySetAppControlAll:=0;à*			gxhideGo := FALSE;á6			gxhideNumTargets:=FALSE;â@			gxhideCrossandTargets:=FALSE;ã			wait:=TRUE;ä			wait:=false;å,			xGameRunning:=TRUE;æ		100:ç*		iVTEMComsRights:=8;è6				client.ActualStep:=110;é		110:ê,			iVTEMComsRights:=9;ë6				client.ActualStep:=111;ì		111:í0			iVTEMComsRights := 1;î0			bySetValveModeAll:=1;ï4			Client.ActualStep:=112;ð			112:ñr			IF FB_ValveControl_1.iResponseToValveModeSet=1033 THENòN				iVTEMComsRights:=0; //do something.ó6				Client.ActualStep:=120;ô\			// repeat trying to match the configurationõ		120:öˆ			iVTEMComsRights:=0; // No control, leave to let webapp take over.÷B			IF tonCheckWebAppActive.Q THENø6				Client.ActualStep:=125;ù.				iVTEMComsRights:=1;ú		125:û2		IF xLockLoadConfig THENü6			Client.ActualStep:=1010;ý¼			IF FB_ValveControl_1.iResponseToValveModeSet = FestoVTEMdc.eResponseToValveModeSet.access_denied_WebConfig OR  FB_ValveControl_2.iResponseToValveModeSet = FestoVTEMdc.eResponseToValveModeSet.access_denied_WebConfig THENþ>				xPlayerInWebConfig := TRUE;ÿ			ELSE€@				xPlayerInWebConfig := FALSE;.				iVTEMComsRights:=0;‚>				Client.ActualStep:=140;				ƒ		140:„4			client.ActualStep:=150;…		150:†2				Client.ActualStep:=5;‡˜			//SendCommand(Command:= CommandType.Key, Value := Client.KeyCommands[2]);ˆ			1010:‰6				client.ActualStep:=140;Š		END_CASE;‹4PACK_ML.State.Completing :Œ"	StateComplete();0PACK_ML.State.Aborting :Ž.			xGameRunning:=false;*bySetValveModeAll:=3; iTarBackLeft:=0;‘.PACK_ML.State.Stopping:’2PACK_ML.State.Clearing :	“END_CASE”fIF NOT (DI_EmergencyGF AND NOT DI_EmergencyFF) THEN•(	// Emergency Abort.–	UM.Abort();	—END_IF ˜LClient.ActualState := UM.CurrentState;™BwaitTimer(IN:=wait,PT:=T#1000MS);šZElapsedGameTime(IN:=xGameRunning, PT:=T#30M);›$//Average on sidesœjiAvgPrsLeft		:=	(iValve_FrontLeft+iValve_BackLeft)/2;liAvgPrsTop		:=	(iValve_FrontLeft+iValve_FrontRight)/2;žniAvgPrsRight	:=	(iValve_FrontRight+iValve_BackRight)/2;ŸliAvgPrsBottom	:=	(iValve_BackRight+iValve_BackLeft)/2; //Total average¡¬iSumPressure := iValve_BackLeft + iValve_BackRight+iValve_frontleft+iValve_frontright;¢\iAvgPressure:= LINT_TO_INT( iSumPressure / 4);£BIF (xUseGlobalSetpointValues)THEN¤L	iTarBackLeft:=iSetPointValue_1Global;¥N	iTarBackRight:=iSetPointValue_1Global;¦N	iTarFrontLeft:=iSetPointValue_1Global;§P	iTarFrontRight:=iSetPointValue_1Global;¨ðxAllValvesRunning:= FB_ValveControl_1.iResponseToValveModeSet =1033 AND FB_ValveControl_2.iResponseToValveModeSet =1033;©¢FB_ValveControl_1.xManualAcknowledge := NOT FB_ValveControl_1.xManualAcknowledge;ªšFB_ValveControl_2.xManualAcknowledge := FB_ValveControl_1.xManualAcknowledge;«¾xAnyValveNotReady:=NOT(FB_ValveControl_1.iErrorCode=0 AND (FB_ValveControl_1.iResponseToValveModeSet =1033 OR FB_ValveControl_1.iResponseToValveModeSet =1041) ¬¨					AND FB_ValveControl_2.iErrorCode =0 AND (FB_ValveControl_2.iResponseToValveModeSet =1033 OR FB_ValveControl_2.iResponseToValveModeSet =1041) );­4IF  xAnyValveNotReady THEN®8	xVtemReset:=NOT xVtemReset;¯ELSE°&	xVtemReset:=FALSE;±$CheckParameters();²VTEM_Control();³// VTEM_Control´(*µ&FB_ValveControl_1 (¶j	awBusDataFromVTEM:=	GVL_In_Outputs.awData_Valve1_in,·j	xEnable:=NOT( UM.CurrentState = pack_ml.Resetting) ,¸F	bySetValveMode:=bySetValveModeAll,¹J	bySetAppControl:=bySetAppControlAll,ºF	bySetAppOption:=bySetAppOptionAll,»T	iSetpointValue1:=iSetPointValue_BackLeft,¼V	iSetpointValue2:=iSetPointValue_BackRight,½f	awBusDataToVTEM:=GVL_In_Outputs.awData_Valve1_out,¾@	iActualValue1=>iValve_BackLeft,¿@	iActualValue2=>iValve_BackRightÀ);Á&FB_ValveControl_2 (Âj	awBusDataFromVTEM:=	GVL_In_Outputs.awData_Valve2_in,ÃV	iSetpointValue1:=iSetPointValue_FrontLeft,ÄX	iSetpointValue2:=iSetPointValue_FrontRight,Åf	awBusDataToVTEM:=GVL_In_Outputs.awData_Valve2_out,ÆB	iActualValue1=>iValve_FrontLeft,ÇB	iActualValue2=>iValve_FrontRightÈ);*)É((*	CASE resetstep OFÊþ			FB_WriteConfig_MA03_Valve2 (iParameterSet:=1 ,awBusDataFromVTEM := GVL_In_Outputs.awData_Valve2_in,xExecute:=xExecuteConfig,iCharacteristicAt2:=1,iCharacteristicAt4:=1,awBusDataToVTEM:=GVL_In_Outputs.awData_Valve2_out, xDownloadDone=>xDownloadConfigDone, xDownloadError=> xDownloadError,iResponse=> iResponseConfig);Ë		30:	Ì„			FB_WriteConfig_MA08_Valve1 (iParameterSet:=1 ,awBusDataFromVTEM :=  GVL_In_Outputs.awData_Valve1_in,xExecute:=xExecuteConfig,iLoadRetracting:=200,iLoadAdvancing:=200,iSoftStartFunction:=1, iTubingLengthAt2:=1000, iTubingLengthAt4:=1000 ,iTubingInnerDiameterAt2:=570,iTubingInnerDiameterAt4:=570,iDriveStroke:=180,iDriveType:=901,iInstallationPositionDrive :=9000,awBusDataToVTEM:=GVL_In_Outputs.awData_Valve1_out, xDownloadDone=>xDownloadConfigDone, xDownloadError=> xDownloadError,iResponse=> iResponseConfig);Í		40:	΄			FB_WriteConfig_MA08_Valve2 (iParameterSet:=1 ,awBusDataFromVTEM := GVL_In_Outputs.awData_Valve2_in,xExecute:=xExecuteConfig, iLoadRetracting:=200,iLoadAdvancing:=200,iSoftStartFunction:=1, iTubingLengthAt2:=1000, iTubingLengthAt4:=1000 ,iTubingInnerDiameterAt2:=570,iTubingInnerDiameterAt4:=570,iDriveStroke:=180,iDriveType:=901,iInstallationPositionDrive :=9000,awBusDataToVTEM:=GVL_In_Outputs.awData_Valve2_out, xDownloadDone=>xDownloadConfigDone, xDownloadError=> xDownloadError,iResponse=> iResponseConfig);Ï
-				;ÐEND_CASE*)Ñ// Gamevisu PRGÒ//Timers ÓPtargetTimer(IN:=xAtTarget, PT:=T#600MS);ÔBtonConfigTimeout(IN:=xExecuteFB);ÕpgxGameVisuOffset.X := LIMIT(-600,gpOffsetRaw.X*5/2,600);ÖpgxGameVisuOffset.Y := LIMIT(-600,gpOffsetRaw.Y*5/2,600);×&IF NOT onetime THENØ`	pStaticTarget.X:= pStaticTarget.X+randomNumber;Ùb	pStaticTarget.Y:= pStaticTarget.Y+randomNumber2;Ú–	IF pStaticTarget.X > 500 THEN pStaticTarget.X:=pStaticTarget.X-1000;END_IFÛ–	IF pStaticTarget.Y > 500 THEN pStaticTarget.Y:=pStaticTarget.Y-1000;END_IFÜ	onetime:=TRUE;Ý:randomNumber:=randomNumber+3;Þ0IF randomNumber>500 THENß@	randomNumber:=randomNumber-200;à>randomNumber2:=randomNumber2+3;á2IF randomNumber2>500 THENâD	randomNumber2:=randomNumber2-200;ã,IF targetTimer.Q THEN	äL	iNumTargetsLeft:=iNumTargetsLeft -1;	å*CASE Client.Level OF æ	1:ç2	//no changes to the dataè˜	IF pStaticTarget.X > 500 THEN pStaticTarget.X:=pstaticTarget.X-1000; END_IFéš	IF pStaticTarget.X < -500 THEN pStaticTarget.X:=pstaticTarget.X+1000;	END_IFê@	pNextTarget.X:=pStaticTarget.X;ë@	pNextTarget.Y:=pStaticTarget.Y;ì	2:í4	IF xMovementPositive THENîN		pStaticTarget.X := pStaticTarget.X+1;ï
-	ELSEðR		pStaticTarget.X := pStaticTarget.X-1;		ñ	3:òN		pStaticTarget.X := pStaticTarget.X+2;óR		pStaticTarget.X := pStaticTarget.X-2;		ô	4:õ®	pNextTarget.Y := pStaticTarget.Y+REAL_TO_INT(SIN(DINT_TO_REAL(pNextTarget.X)/100)*50);ö	5:÷°	pNextTarget.Y := pStaticTarget.Y+REAL_TO_INT(SIN(DINT_TO_REAL(pNextTarget.X)/50)*100);	ø&// target approach.ùþxAtTarget:=(gxGameVisuOffset.X > (pNextTarget.x - gxGameAccuracy) AND gxGameVisuOffset.X < (pNextTarget.X + gxGameAccuracy) ANDúâgxGameVisuOffset.Y > (pNextTarget.Y - gxGameAccuracy) AND gxGameVisuOffset.Y < (pNextTarget.Y + gxGameAccuracy));û//END_IFü&// VTEM_Druk_PID 'sý.IF NOT gxDisablePD THENþüDruk_PD_BackLeft(target := iTarBackLeft, xAllValvesRunning:=xAllValvesRunning,bySetAppControlAll:=bySetAppControlAll, actualPressure := iValve_BackLeft, setpoint => iSetPointValue_BackLeft);ÿ„Druk_PD_backRight(target := iTarbackRight, xAllValvesRunning:=xAllValvesRunning,bySetAppControlAll:=bySetAppControlAll, actualPressure := iValve_backRight, setpoint => iSetPointValue_backRight);€„Druk_PD_frontLeft(target := iTarfrontLeft, xAllValvesRunning:=xAllValvesRunning,bySetAppControlAll:=bySetAppControlAll, actualPressure := iValve_frontLeft, setpoint => iSetPointValue_frontLeft);ŒDruk_PD_frontRight(target := iTarfrontRight, xAllValvesRunning:=xAllValvesRunning,bySetAppControlAll:=bySetAppControlAll, actualPressure := iValve_frontRight, setpoint => iSetPointValue_frontRight);‚TgpOffsetRaw.X:=(iAvgPrsRight-iAvgPrsLeft);ƒTgpOffsetRaw.Y:=(iAvgPrsBottom-iAvgPrsTop);„.//offset for debug visu…HgpOffsetDebug.X := gpOffsetRaw.X/10;†HgpOffsetDebug.Y := gpOffsetRaw.Y/10;‡InterfaceˆL{a9ed5b7e-75c5-4651-af16-d2c27e98cb94}‰>FUNCTION_BLOCK VtemStateMachineŠVAR‹2	UM			: PACK_ML.UnitMode;Œf	xInit		: BOOL := FALSE; // Flag for initialization0	//VTEM ValveControl FBsŽ`	FB_ValveControl_1: FestoVTEMdc.FB_ValveControl;`	FB_ValveControl_2: FestoVTEMdc.FB_ValveControl;`	FB_ValveControl_3: FestoVTEMdc.FB_ValveControl;‘`	FB_ValveControl_4: FestoVTEMdc.FB_ValveControl;’~	FB_WriteConfig_MA03_Valve1: FestoVTEMdc.FB_Write_config_MA_03;“~	FB_WriteConfig_MA03_Valve2: FestoVTEMdc.FB_Write_config_MA_03;”’	FB_WriteConfig_MA03_Valve1_Incorrect: FestoVTEMdc.FB_Write_config_MA_03;•’	FB_WriteConfig_MA03_Valve2_Incorrect: FestoVTEMdc.FB_Write_config_MA_03;–~	FB_WriteConfig_MA08_Valve1: FestoVTEMdc.FB_Write_config_MA_08;—~	FB_WriteConfig_MA08_Valve2: FestoVTEMdc.FB_Write_config_MA_08;˜ 	FB_Upload_Multiple_Parameters_Valve1:FestoVTEMdc.FB_Upload_Multiple_Parameters;™ 	FB_Upload_Multiple_Parameters_Valve2:FestoVTEMdc.FB_Upload_Multiple_Parameters;šš	aTransferPackagesResult: ARRAY[0..100] OF FestoVTEMdc.stTransferPackage := [›l(iChannel := 1, iAddressedTarget := 3, iIndex := 220),œl(iChannel := 1, iAddressedTarget := 3, iIndex := 221),j(iChannel := 1, iAddressedTarget := 8, iIndex := 12),žj(iChannel := 1, iAddressedTarget := 8, iIndex := 13),Ÿj(iChannel := 1, iAddressedTarget := 8, iIndex := 14), j(iChannel := 1, iAddressedTarget := 8, iIndex := 15),¡j(iChannel := 1, iAddressedTarget := 8, iIndex := 20),¢j(iChannel := 1, iAddressedTarget := 8, iIndex := 21),£j(iChannel := 1, iAddressedTarget := 8, iIndex := 60),¤l(iChannel := 1, iAddressedTarget := 8, iIndex := 100),¥l(iChannel := 1, iAddressedTarget := 8, iIndex := 101),¦~(iChannel := 1, iAddressedTarget := 8, iIndex := 222), 89(())];§0	iVTEMComsRights:INT:=1;¨(	xTransferDone:BOOL;©*	xTransferError:BOOL;ªL	CheckParameters : FB_CheckParameters;«2	xExecuteFB :BOOL:=FALSE;¬D	xDownloadConfigDone1:BOOL:=FALSE;­:	xDownloadError1:BOOL:=FALSE;®D	xDownloadConfigDone2:BOOL:=FALSE;¯:	xDownloadError2:BOOL:=FALSE;°D	xDownloadConfigDone3:BOOL:=FALSE;±:	xDownloadError3:BOOL:=FALSE;²D	xDownloadConfigDone4:BOOL:=FALSE;³:	xDownloadError4:BOOL:=FALSE;´0	iResponseConfig:INT:=0;µd	tonConfigTimeout:TON:=(In:=xExecuteFB,PT:=T#15S);¶@	iStepCheckConfiguration:INT:=0;·	xMatch:BOOL;¸,	xLockLoadConfig:BOOL;¹4	xCheckConfiguration:BOOL;º$	xVtemReset: BOOL;»8	bySetValveModeAll:	BYTE:=3;¼:	bySetAppControlAll:	BYTE:=0;½2	bySetAppOptionAll:	BYTE;¾B	xUseGlobalSetpointValues	:	BOOL;¿>	iSetPointValue_1Global		:	INT;À@	iSetPointValue_BackLeft		:	INT;Á@	iSetPointValue_BackRight	:	INT;Â@	iSetPointValue_FrontLeft	:	INT;ÃB	iSetPointValue_FrontRight	:	INT;Ä$	iAvgPrsLeft :INT;Å"	iAvgPrsTop :INT;Æ$	iAvgPrsRight:INT;Ç&	iAvgPrsBottom:INT;È,	iValve_BackLeft: INT;É.	iValve_BackRight: INT;Ê.	iValve_FrontLeft: INT;Ë0	iValve_FrontRight: INT;Ì$	iTarBackLeft:INT;Í&	iTarBackRight:INT;Î&	iTarFrontLeft:INT;Ï(	iTarFrontRight:INT;Ð&	iAvgPressure: INT;Ñ&	gxDisablePD: BOOL;Ò(	gpOffsetRaw: POINT;Ó,	gpOffsetDebug: POINT;Ô2	gxGameVisuOffset: POINT;Õ2	gxGameAccuracy: INT:=40;Ö"	factorA:INT:=20;×"	factorB:INT:=20;Ø 	xAtTarget:BOOL;Ù(	pNextTarget :Point;Ú	//tempÛ 	targetHit:BOOL;Ü$	gxGameStart:BOOL;Ý2	gxhideStart: BOOL:=TRUE;Þ,	gxhideGo: BOOL:=TRUE;ß:	gxhideNumTargets:BOOL:=true;à6	iNumTargetsLeft: INT := 5;áB	gxhideMissionSucces: BOOL:=true;âF	gxhideCrossandTargets: BOOL:=true;ã&	gitotalTime: LINT;ä>	gxHidecalibration: BOOL:=TRUE;å6	gxHideSBlocker:BOOL:=TRUE;æ6	gtimeElapsedGametime:LINT;ç.	gstElapsedTime:STRING;è*	ONETIME:BOOL:=TRUE;	é	// Gamevisuê$	randomNumber:INT;ë,	iScaleFactor:INT:=1;	ì0	randomNumber2: INT:=80;í$	targetTimer: TON;î"	// VTEM_Druk_PIDï6	Druk_PD_BackLeft: DRUK_PD;ð8	Druk_PD_backRight: DRUK_PD;ñ8	Druk_PD_frontLeft: Druk_pd;ò:	Druk_PD_frontRight: DRUK_PD;ó	// GameDataô		//Stepsõ&	iSumPressure: INT;ö	wait: BOOL;÷d	waitTimer: TON := (IN := wait, PT := TIME#400ms);ø0	atp1: attargetpressure;ù0	atp2: attargetpressure;ú0	atp3: attargetpressure;û0	atp4: attargetpressure;ü,	ElapsedGameTime: TON;ýR	tonCheckWebAppActive :TON := (PT:=T#2S);þ.	pStaticTarget: Point;	ÿ2	xMovementPositive: BOOL;€(	xGameRunning: BOOL;2	xPlayerInWebConfig:BOOL;‚END_VARƒVAR_IN_OUT„.	Client : PuzzleClient;…VAR_OUTPUT†r	ItfUnitMode	: PACK_ML.IUnitMode; // UnitMode of the axis‡0	xAllValvesRunning:BOOL;ˆ2	xAnyValveNotReady: BOOL;‰"UniqueIdGeneratorŠ7375‹POULevelŒL{8e575c5b-1d37-49c6-941b-5c0ec7874787}StandardŽ ChildObjectGuids8System.Collections.ArrayList,AddAttributeSubsequent‘boolÐÐ-ÐÐ	E
-þÐÐ
­½ÚÐ-ÐÐ
­¾ÚÐ-ÐÐ
­¿ÚÐ-ÐÐ
­ÀÚÐ-ÐÐ
­ÁÚÐ-ÐÐ
­ÂÚÐ-ÐÐ
­ÃÚÐ-ÐÐ
­ÄÚÐ-ÐÐ
­ÅÚÐ-ÐÐ
­ÆÚÐ-ÐÐ
­ÇÚÐ-ÐÐ
­ÈÚÐ-ÐÐ
­ÉÚÐ-ÐÐ
­ÊÚÐ-ÐÐ
­ËÚÐ-ÐÐ
­ÌÚÐ-ÐÐ
­ÍÚÐ-ÐÐ
­ÎÚÐ-ÐÐ
­ÏÚÐ- ÐÐ
­FÚÐ-!ÐÐ
­qÚÐ-"ÐÐ
­ËÚÐ-#ÐÐ
­ÌÚÐ-$ÐÐ
­EÚÐ-%ÐÐ
­ÒÚÐ-&ÐÐ
­ÓÚÐ-'ÐÐ
­ÔÚÐ-(ÐÐ
­ÕÚÐ-)ÐÐ
­ÖÚÐ-*ÐÐ
­×ÚÐ-+ÐÐ
­ØÚÐ-,ÐÐ
­ÙÚÐ--ÐÐ
­ÚÚÐ-.ÐÐ
­ÛÚÐ-/ÐÐ
­ÜÚÐ-0ÐÐ
­ÝÚÐ-1ÐÐ
­ÞÚÐ-2ÐÐ
­ßÚÐ-3ÐÐ
­àÚÐ-4ÐÐ
­áÚÐ-5ÐÐ
­âÚÐ-6ÐÐ
­ãÚÐ-7ÐÐ
­äÚÐ-8ÐÐ
­åÚÐ-9ÐÐ
­æÚÐ-:ÐÐ
­çÚÐ-;ÐÐ
­èÚÐ-<ÐÐ
­éÚÐ-=ÐÐ
­êÚÐ->ÐÐ
­ëÚÐ-?ÐÐ
­ìÚÐ-@ÐÐ
­íÚÐ-AÐÐ
­îÚÐ-BÐÐ
­ïÚÐ-CÐÐ
­ðÚÐ-DÐÐ
­ñÚÐ-EÐÐ
­òÚÐ-FÐÐ
­óÚÐ-)ÐÐ
­ôÚÐ-GÐÐ
­õÚÐ-HÐÐ
­öÚÐ-ÐÐ
­÷ÚÐ-IÐÐ
­øÚÐ-JÐÐ
­ùÚÐ-KÐÐ
­úÚÐ-ÐÐ
­ûÚÐ-ÐÐ
­üÚÐ-ÐÐ
­þÚÐ-LÐÐ
­!ÚÐ-MÐÐ
­ÿÚÐ-ÐÐ
­ÚÐ-NÐÐ
­ÚÐ-OÐÐ
­ÚÐ-PÐÐ
­ÚÐ-QÐÐ
­ÚÐ-PÐÐ
­ÚÐ-RÐÐ
­ÚÐ-SÐÐ
­ÚÐ-TÐÐ
­ÚÐ-UÐÐ
­	ÚÐ-VÐÐ
­
-ÚÐ-WÐÐ
­ÚÐ-XÐÐ
­ÚÐ-PÐÐ
­
ÚÐ-WÐÐ
­ÚÐ-PÐÐ
­ÚÐ-YÐÐ
­ÚÐ-ZÐÐ
­ÚÐ-[ÐÐ
­ÚÐ-\ÐÐ
­ÚÐ-]ÐÐ
­ÚÐ-^ÐÐ
­ÚÐ-PÐÐ
­ÚÐ-_ÐÐ
­ÚÐ-`ÐÐ
­ÚÐ-aÐÐ
­ÚÐ-bÐÐ
­ÚÐ-cÐÐ
­ÚÐ-dÐÐ
­ÚÐ-eÐÐ
­ÚÐ-fÐÐ
­ÚÐ-$ÐÐ
­ÚÐ-gÐÐ
­ ÚÐ-[ÐÐ
­!ÚÐ-\ÐÐ
­"ÚÐ-]ÐÐ
­#ÚÐ-hÐÐ
­$ÚÐ-$ÐÐ
­%ÚÐ-iÐÐ
­&ÚÐ-jÐÐ
­'ÚÐ-kÐÐ
­(ÚÐ-ÐÐ
­)ÚÐ-lÐÐ
­*ÚÐ-ÐÐ
­+ÚÐ-mÐÐ
­,ÚÐ-GÐÐ
­-ÚÐ-nÐÐ
­\ÚÐ-oÐÐ
­/ÚÐ-pÐÐ
­0ÚÐ-qÐÐ
­1ÚÐ-rÐÐ
­2ÚÐ-sÐÐ
­3ÚÐ-tÐÐ
­4ÚÐ-uÐÐ
­5ÚÐ-vÐÐ
­7ÚÐ-wÐÐ
­ðÚÐ-xÐÐ
­fÚÐ-yÐÐ
­gÚÐ-zÐÐ
­hÚÐ-{ÐÐ
­jÚÐ-|ÐÐ
­kÚÐ-}ÐÐ
­pÚÐ-~ÐÐ
­lÚÐ-}ÐÐ
­oÚÐ-ÐÐ
­qÚÐ-$ÐÐ
­òÚÐ-€ÐÐ
­õÚÐ-ÐÐ
­ÚÐ-yÐÐ
­‚ÚÐ-zÐÐ
­ƒÚÐ-{ÐÐ
­„ÚÐ-‚ÐÐ
­…ÚÐ-}ÐÐ
­‡ÚÐ-~ÐÐ
­ˆÚÐ-}ÐÐ
­yÚÐ-ÐÐ
­÷ÚÐ-ƒÐÐ
­ûÚÐ-„ÐÐ
­ŠÚÐ-yÐÐ
­‹ÚÐ-zÐÐ
­ŒÚÐ-{ÐÐ
­ÚÐ-…ÐÐ
­ÚÐ-}ÐÐ
­ÚÐ-~ÐÐ
­‘ÚÐ-}ÐÐ
­rÚÐ-ÐÐ
­¤ÚÐ-$ÐÐ
­›ÚÐ-†ÐÐ
­üÚÐ-‡ÐÐ
­ÀÚÐ-yÐÐ
­ÁÚÐ-zÐÐ
­ÂÚÐ-{ÐÐ
­ÃÚÐ-ˆÐÐ
­ÅÚÐ-}ÐÐ
­ÆÚÐ-~ÐÐ
­ÇÚÐ-}ÐÐ
­nÚÐ-ÐÐ
­§ÚÐ-$ÐÐ
­þÚÐ-‰ÐÐ
­eÚÐ-oÐÐ
­ÎÚÐ-ŠÐÐ
­ÑÚÐ-‹ÐÐ
­ÒÚÐ-$ÐÐ
­ÓÚÐ-ŒÐÐ
­ÕÚÐ-ÐÐ
­×ÚÐ-ŽÐÐ
­ØÚÐ-ÐÐ
­ÔÚÐ-ÐÐ
­ÛÚÐ-ÐÐ
­lÚÐ-ÐÐ
­mÚÐ-$ÐÐ
­nÚÐ-‘ÐÐ
­oÚÐ-’ÐÐ
­pÚÐ-“ÐÐ
­qÚÐ-”ÐÐ
­rÚÐ-•ÐÐ
­sÚÐ-–ÐÐ
­tÚÐ-ÐÐ
­uÚÐ-[ÐÐ
­vÚÐ-\ÐÐ
­wÚÐ-]ÐÐ
­xÚÐ-hÐÐ
­yÚÐ-—ÐÐ
­zÚÐ-cÐÐ
­{ÚÐ-˜ÐÐ
­|ÚÐ-™ÐÐ
­}ÚÐ-dÐÐ
­~ÚÐ-šÐÐ
­ÚÐ-›ÐÐ
­€ÚÐ-œÐÐ
­ÚÐ-ÐÐ
­‚ÚÐ-žÐÐ
­ƒÚÐ-ŸÐÐ
­„ÚÐ- ÐÐ
­…ÚÐ-GÐÐ
­†ÚÐ-¡ÐÐ
­‡ÚÐ-¢ÐÐ
­‰ÚÐ-ÐÐ
­ÌÚÐ-$ÐÐ
­ÍÚÐ-$ÐÐ
­ŠÚÐ-£ÐÐ
­‹ÚÐ-¤ÐÐ
­ŒÚÐ-¥ÐÐ
­ÚÐ-¦ÐÐ
­ŽÚÐ-§ÐÐ
­ÚÐ-¨ÐÐ
­ÚÐ-©ÐÐ
­‘ÚÐ-ªÐÐ
­ÎÚÐ-«ÐÐ
­’ÚÐ-¬ÐÐ
­“ÚÐ-­ÐÐ
­ÍÚÐ-®ÐÐ
­ÚÐ-¯ÐÐ
­”ÚÐ-°ÐÐ
­•ÚÐ-`ÐÐ
­–ÚÐ-±ÐÐ
­—ÚÐ-²ÐÐ
­˜ÚÐ-³ÐÐ
­™ÚÐ-´ÐÐ
­šÚÐ-µÐÐ
­›ÚÐ-¶ÐÐ
­œÚÐ-·ÐÐ
­ÚÐ-¸ÐÐ
­žÚÐ-¹ÐÐ
­ŸÚÐ-ºÐÐ
­ ÚÐ-»ÐÐ
­¡ÚÐ-¼ÐÐ
­¢ÚÐ-GÐÐ
­£ÚÐ-½ÐÐ
­¤ÚÐ-¾ÐÐ
­¥ÚÐ-¿ÐÐ
­¦ÚÐ-ÀÐÐ
­§ÚÐ-)ÐÐ
­¨ÚÐ-GÐÐ
­©ÚÐ-ÁÐÐ
­ªÚÐ-ÂÐÐ
­«ÚÐ-ÃÐÐ
­¬ÚÐ-ÄÐÐ
­­ÚÐ-ÅÐÐ
­®ÚÐ-ºÐÐ
­¯ÚÐ-ÆÐÐ
­°ÚÐ-GÐÐ
­±ÚÐ-ÇÐÐ
­²ÚÐ-¾ÐÐ
­³ÚÐ-¿ÐÐ
­´ÚÐ-ÈÐÐ
­µÚÐ-)ÐÐ
­¶ÚÐ-ÉÐÐ
­·ÚÐ-ÊÐÐ
­¸ÚÐ-·ÐÐ
­¹ÚÐ-ËÐÐ
­ºÚÐ-¹ÐÐ
­»ÚÐ-ºÐÐ
­¼ÚÐ-ÌÐÐ
­½ÚÐ-GÐÐ
­¾ÚÐ-ÍÐÐ
­¿ÚÐ-¾ÐÐ
­ÀÚÐ-¿ÐÐ
­ÁÚÐ-ÎÐÐ
­ÂÚÐ-)ÐÐ
­ÃÚÐ-GÐÐ
­ÄÚÐ-ÏÐÐ
­ÅÚÐ-ÂÐÐ
­ÆÚÐ-ÐÐÐ
­ÇÚÐ-ÄÐÐ
­ÈÚÐ-ÑÐÐ
­ÉÚÐ-ºÐÐ
­ÊÚÐ-ÒÐÐ
­ËÚÐ-GÐÐ
­ÌÚÐ-ÓÐÐ
­ÍÚÐ-¾ÐÐ
­ÎÚÐ-¿ÐÐ
­ÏÚÐ-ÔÐÐ
­ÐÚÐ-µÐÐ
­ÑÚÐ-)ÐÐ
­ÒÚÐ-ÕÐÐ
­ÓÚÐ-²ÐÐ
­ÔÚÐ-GÐÐ
­ÕÚÐ-¶ÐÐ
­ÖÚÐ-ÃÐÐ
­×ÚÐ-ËÐÐ
­ØÚÐ-ÑÐÐ
­ÙÚÐ-ÖÐÐ
­ÚÚÐ-×ÐÐ
­ÛÚÐ-ØÐÐ
­ÜÚÐ-ÙÐÐ
­ÝÚÐ-GÐÐ
­ÞÚÐ-ÚÐÐ
­ßÚÐ-ÛÐÐ
­àÚÐ-ÜÐÐ
­áÚÐ-ÝÐÐ
­âÚÐ-ÞÐÐ
­ãÚÐ-ßÐÐ
­äÚÐ-àÐÐ
­åÚÐ-áÐÐ
­æÚÐ-âÐÐ
­çÚÐ-—ÐÐ
­èÚÐ-ãÐÐ
­éÚÐ-)ÐÐ
­êÚÐ-¾ÐÐ
­ëÚÐ-˜ÐÐ
­ìÚÐ-äÐÐ
­íÚÐ-4ÐÐ
­îÚÐ-åÐÐ
­ïÚÐ-)ÐÐ
­ÞÚÐ-$ÐÐ
­ßÚÐ-æÐÐ
­ÚÐ-çÐÐ
­ÚÐ-yÐÐ
­ÚÐ-zÐÐ
­ÚÐ-{ÐÐ
­ÚÐ-èÐÐ
­ÚÐ-}ÐÐ
­	ÚÐ-~ÐÐ
­
-ÚÐ-}ÐÐ
­ÚÐ-ÐÐ
­
ÚÐ-$ÐÐ
­ÚÐ-éÐÐ
­ÚÐ-êÐÐ
­ÚÐ-yÐÐ
­ÚÐ-zÐÐ
­ÚÐ-{ÐÐ
­ÚÐ-ëÐÐ
­ÚÐ-}ÐÐ
­ÚÐ-~ÐÐ
­ÚÐ-}ÐÐ
­ÚÐ-ÐÐ
­6ÚÐ-ìÐÐ
­8ÚÐ-íÐÐ
­9ÚÐ-îÐÐ
­:ÚÐ-ïÐÐ
­;ÚÐ-ðÐÐ
­=ÚÐ-ñÐÐ
­>ÚÐ-òÐÐ
­ÏÚÐ-óÐÐ
­?ÚÐ-ÐÐ
­7ÚÐ-$ÐÐ
­ÚÐ-ôÐÐ
­ÚÐ-õÐÐ
­ÚÐ-öÐÐ
­ÚÐ-÷ÐÐ
­$ÚÐ-øÐÐ
­'ÚÐ-ùÐÐ
­#ÚÐ-ÐÐ
­%ÚÐ-úÐÐ
­rÚÐ-ûÐÐ
­sÚÐ-üÐÐ
­tÚÐ-)ÐÐ
­(ÚÐ-ýÐÐ
­)ÚÐ-þÐÐ
­*ÚÐ-ÿÐÐ
­3ÚÐ-€ÐÐ
­-ÚÐ-ÐÐ
­2ÚÐ-‚ÐÐ
­.ÚÐ-ÐÐ
­&ÚÐ-GÐÐ
­ÚÐ-$ÐÐ
­ÚÐ-$ÐÐ
­ÚÐ-ƒÐÐ
­àÚÐ-oÐÐ
­áÚÐ-ŠÐÐ
­âÚÐ-„ÐÐ
­ãÚÐ-$ÐÐ
­äÚÐ-…ÐÐ
­åÚÐ-ÐÐ
­æÚÐ-†ÐÐ
­CÚÐ-ÛÐÐ
­DÚÐ-‡ÐÐ
­èÚÐ-ÐÐ
­ÚÐ-$ÐÐ
­éÚÐ-ÐÐ
­êÚÐ-óÐÐ
­ÝÚÐ-ÐÐ
­ŸÚÐ-$ÐÐ
­¡ÚÐ-ˆÐÐ
­¢ÚÐ-xÐÐ
­£ÚÐ-yÐÐ
­¤ÚÐ-zÐÐ
­¥ÚÐ-{ÐÐ
­¦ÚÐ-|ÐÐ
­§ÚÐ-}ÐÐ
­¨ÚÐ-~ÐÐ
­©ÚÐ-}ÐÐ
­ªÚÐ-ÐÐ
­«ÚÐ-$ÐÐ
­¬ÚÐ-€ÐÐ
­­ÚÐ-ÐÐ
­®ÚÐ-yÐÐ
­¯ÚÐ-zÐÐ
­°ÚÐ-{ÐÐ
­±ÚÐ-‚ÐÐ
­²ÚÐ-}ÐÐ
­³ÚÐ-~ÐÐ
­´ÚÐ-}ÐÐ
­µÚÐ-ÐÐ
­¶ÚÐ-ƒÐÐ
­·ÚÐ-„ÐÐ
­¸ÚÐ-yÐÐ
­¹ÚÐ-zÐÐ
­ºÚÐ-{ÐÐ
­»ÚÐ-…ÐÐ
­¼ÚÐ-}ÐÐ
­½ÚÐ-~ÐÐ
­¾ÚÐ-}ÐÐ
­¿ÚÐ-ÐÐ
­ÀÚÐ-$ÐÐ
­ÁÚÐ-†ÐÐ
­ÂÚÐ-‡ÐÐ
­ÃÚÐ-yÐÐ
­ÄÚÐ-zÐÐ
­ÅÚÐ-{ÐÐ
­ÆÚÐ-‰ÐÐ
­ÇÚÐ-}ÐÐ
­ÈÚÐ-~ÐÐ
­ÉÚÐ-}ÐÐ
­ÊÚÐ-ÐÐ
­ ÚÐ-$ÐÐ
­öÚÐ-$ÐÐ
­÷ÚÐ-GÐÐ
­øÚÐ-ŠÐÐ
­ùÚÐ-‹ÐÐ
­úÚÐ-ÐÐ
­ûÚÐ-ŒÐÐ
­üÚÐ-ÐÐ
­ýÚÐ-—ÐÐ
­þÚÐ-cÐÐ
­ÿÚÐ-˜ÐÐ
­ÚÐ-™ÐÐ
­ÚÐ-dÐÐ
­ÚÐ-šÐÐ
­ÚÐ-ŽÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ZÐÐ
­ÚÐ-ÐÐ
­ÚÐ-\ÐÐ
­ÚÐ-]ÐÐ
­	ÚÐ-hÐÐ
­
-ÚÐ-ŒÐÐ
­ÚÐ-‘ÐÐ
­ÚÐ-fÐÐ
­
ÚÐ-—ÐÐ
­ÚÐ-cÐÐ
­ÚÐ-˜ÐÐ
­ÚÐ-™ÐÐ
­ÚÐ-dÐÐ
­ÚÐ-šÐÐ
­ÚÐ-ŒÐÐ
­ÚÐ-’ÐÐ
­ÚÐ-ŒÐÐ
­ÚÐ-“ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-”ÐÐ
­ÚÐ-•ÐÐ
­ÚÐ-–ÐÐ
­ÚÐ-—ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-˜ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ ÚÐ-™ÐÐ
­!ÚÐ-šÐÐ
­"ÚÐ-›ÐÐ
­#ÚÐ-œÐÐ
­$ÚÐ-ÐÐ
­%ÚÐ-žÐÐ
­&ÚÐ-ŸÐÐ
­'ÚÐ- ÐÐ
­(ÚÐ-¡ÐÐ
­)ÚÐ-¢ÐÐ
­*ÚÐ-ÐÐ
­+ÚÐ-£ÐÐ
­,ÚÐ-¤ÐÐ
­-ÚÐ-¥ÐÐ
­.ÚÐ-¦ÐÐ
­/ÚÐ-§ÐÐ
­0ÚÐ-ÐÐ
­1ÚÐ-ÐÐ
­2ÚÐ-ÐÐ
­3ÚÐ-¨ÐÐ
­4ÚÐ-©ÐÐ
­5ÚÐ-ªÐÐ
­6ÚÐ-«ÐÐ
­7ÚÐ-¬ÐÐ
­8ÚÐ-­ÐÐ
­9ÚÐ-®ÐÐ
­:ÚÐ-¯ÐÐ
­;ÚÐ-°ÐÐ
­<ÚÐ-ÐÐ
­=ÚÐ-±ÐÐ
­>ÚÐ-²ÐÐ
­?ÚÐ-³ÐÐ
­@ÚÐ-´ÐÐ
­AÚÐ-µÐÐ
­BÚÐ-¶ÐÐ
­CÚÐ-·ÐÐ
­DÚÐ-¸ÐÐ
­EÚÐ-¹ÐÐ
­FÚÐ-ºÐÐ
­GÚÐ-»ÐÐ
­HÚÐ-¼ÐÐ
­IÚÐ-½ÐÐ
­JÚÐ-¾ÐÐ
­KÚÐ-¿ÐÐ
­LÚÐ-ÀÐÐ
­MÚÐ-ÐÐ
­NÚÐ-ÁÐÐ
­OÚÐ-ÂÐÐ
­PÚÐ-·ÐÐ
­QÚÐ-¸ÐÐ
­RÚÐ-¹ÐÐ
­SÚÐ-ºÐÐ
­TÚÐ-ÃÐÐ
­UÚÐ-ÄÐÐ
­VÚÐ-ÅÐÐ
­WÚÐ-ÆÐÐ
­XÚÐ-ÇÐÐ
­YÚÐ-ÈÐÐ
­ZÚÐ-ÐÐ
­[ÚÐ-ÉÐÐ
­\ÚÐ-½ÐÐ
­]ÚÐ-ÁÐÐ
­^ÚÐ-ÊÐÐ
­_ÚÐ-ËÐÐ
­`ÚÐ-ÌÐÐ
­aÚÐ-ÍÐÐ
­bÚÐ-ÎÐÐ
­cÚÐ-ÍÐÐ
­dÚÐ-ÏÐÐ
­eÚÐ-ÐÐÐ
­fÚÐ-ÐÐ
­gÚÐ-ÑÐÐ
­hÚÐ-ÒÐÐ
­iÚÐ-ÓÐÐ
­kÚÐ-ÔÐÐ
­lÚÐ-ÕÐÐ
­mÚÐ-ÖÐÐ
­nÚÐ-×ÐÐ
­oÚÐ-ØÐÐ
­pÚÐ-ÙÐÐ
­qÚÐ-ÚÐÐ
­rÚÐ-ÛÐÐ
­sÚÐ-ÜÐÐ
­tÚÐ-—ÐÐ
­uÚÐ-ÝÐÐ
­vÚÐ-ÞÐÐ
­wÚÐ-ßÐÐ
­xÚÐ-ÐÐ
­yÚÐ-àÐÐ
­zÚÐ-áÐÐ
­{ÚÐ-âÐÐ
­|ÚÐ-ÐÐ
­}ÚÐ-ÐÐ
­~ÚÐ-ãÐÐ
­ÚÐ-äÐÐ
­€ÚÐ-ØÐÐ
­ÚÐ-ÙÐÐ
­‚ÚÐ-ÚÐÐ
­ƒÚÐ-ÛÐÐ
­„ÚÐ-ÐÐ
­…ÚÐ-ÐÐ
­†ÚÐ-åÐÐ
­‡ÚÐ-æÐÐ
­ˆÚÐ-çÐÐ
­‰ÚÐ-èÐÐ
­ŠÚÐ-éÐÐ
­‹ÚÐ-êÐÐ
­ŒÚÐ-ëÐÐ
­ÚÐ-ìÐÐ
­ŽÚÐ-íÐÐ
­ÚÐ-îÐÐ
­ÚÐ-ïÐÐ
­‘ÚÐ-ðÐÐ
­’ÚÐ-WÐÐ
­“ÚÐ-èÐÐ
­”ÚÐ-éÐÐ
­•ÚÐ-êÐÐ
­–ÚÐ-ëÐÐ
­—ÚÐ-ñÐÐ
­˜ÚÐ-íÐÐ
­™ÚÐ-òÐÐ
­šÚÐ-ïÐÐ
­›ÚÐ-óÐÐ
­œÚÐ-WÐÐ
­ÚÐ-èÐÐ
­žÚÐ-éÐÐ
­ŸÚÐ-êÐÐ
­ ÚÐ-ëÐÐ
­¡ÚÐ-ôÐÐ
­¢ÚÐ-íÐÐ
­£ÚÐ-îÐÐ
­¤ÚÐ-ïÐÐ
­¥ÚÐ-ðÐÐ
­¦ÚÐ-WÐÐ
­§ÚÐ-èÐÐ
­¨ÚÐ-éÐÐ
­©ÚÐ-êÐÐ
­ªÚÐ-õÐÐ
­«ÚÐ-öÐÐ
­¬ÚÐ-íÐÐ
­­ÚÐ-òÐÐ
­®ÚÐ-ïÐÐ
­¯ÚÐ-óÐÐ
­°ÚÐ-WÐÐ
­±ÚÐ-èÐÐ
­²ÚÐ-éÐÐ
­³ÚÐ-êÐÐ
­´ÚÐ-÷ÐÐ
­µÚÐ-“ÐÐ
­¶ÚÐ-ÐÐ
­·ÚÐ-øÐÐ
­¸ÚÐ-ùÐÐ
­¹ÚÐ-úÐÐ
­ºÚÐ-ÐÐ
­»ÚÐ-ûÐÐ
­¼ÚÐ-ÐÐ
­½ÚÐ-üÐÐ
­¾ÚÐ-ýÐÐ
­¿ÚÐ-þÐÐ
­ÀÚÐ-ÿÐÐ
­ÁÚÐ-€ÐÐ
­ÂÚÐ-ÐÐ
­ÃÚÐ-ÐÐ
­ÄÚÐ-‚ÐÐ
­ÅÚÐ-ƒÐÐ
­ÆÚÐ-ÐÐ
­ÇÚÐ-„ÐÐ
­ÈÚÐ-…ÐÐ
­ÉÚÐ-†ÐÐ
­
-ÚÐ-ЇˆÐ	E
-“ÐÐ
­ËÚÐ-‰ÐÐ
­ÌÚÐ-ŠÐÐ
­ÍÚÐ-‹ÐÐ
­ÎÚÐ-ŒÐÐ
­ÏÚÐ-ÐÐ
­ÐÚÐ-ŽÐÐ
­ÑÚÐ-ÐÐ
­ÒÚÐ-ÐÐ
­ëÚÐ-‘ÐÐ
­ìÚÐ-’ÐÐ
­íÚÐ-“ÐÐ
­îÚÐ-”ÐÐ
­ÕÚÐ-•ÐÐ
­ÖÚÐ-–ÐÐ
­×ÚÐ-—ÐÐ
­ØÚÐ-˜ÐÐ
­ÙÚÐ-™ÐÐ
­ÚÚÐ-šÐÐ
­ÛÚÐ-›ÐÐ
­ÜÚÐ-œÐÐ
­ÝÚÐ-ÐÐ
­ÞÚÐ-žÐÐ
­ßÚÐ-ŸÐÐ
­àÚÐ- ÐÐ
­áÚÐ-¡ÐÐ
­âÚÐ-¢ÐÐ
­ãÚÐ-£ÐÐ
­äÚÐ-¤ÐÐ
­åÚÐ-¥ÐÐ
­æÚÐ-¦ÐÐ
­çÚÐ-§ÐÐ
­vÚÐ-¨ÐÐ
­wÚÐ-©ÐÐ
­èÚÐ-ªÐÐ
­éÚÐ-ÐÐ
­êÚÐ-«ÐÐ
­ëÚÐ-¬ÐÐ
­ìÚÐ-­ÐÐ
­íÚÐ-®ÐÐ
­îÚÐ-¯ÐÐ
­ïÚÐ-°ÐÐ
­ðÚÐ-±ÐÐ
­ñÚÐ-²ÐÐ
­òÚÐ-³ÐÐ
­óÚÐ-´ÐÐ
­ôÚÐ-µÐÐ
­ÐÚÐ-¶ÐÐ
­ÖÚÐ-·ÐÐ
­õÚÐ-¸ÐÐ
­øÚÐ-ÐÐ
­ùÚÐ-¹ÐÐ
­úÚÐ-ºÐÐ
­ûÚÐ-»ÐÐ
­üÚÐ-¼ÐÐ
­ýÚÐ-½ÐÐ
­þÚÐ-¾ÐÐ
­ÿÚÐ-¿ÐÐ
­ÚÐ-ÀÐÐ
­ÚÐ-ÁÐÐ
­ÚÐ-ÂÐÐ
­ÚÐ-ÃÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÄÐÐ
­ÚÐ-ÅÐÐ
­ÚÐ-ÆÐÐ
­ÚÐ-ÇÐÐ
­	ÚÐ-ÐÐ
­
-ÚÐ-ÈÐÐ
­ÚÐ-ÉÐÐ
­ÚÐ-ÊÐÐ
­
ÚÐ-ËÐÐ
­ÚÐ-ÌÐÐ
­ÚÐ-ÍÐÐ
­ÚÐ-ÎÐÐ
­ÚÐ-ÏÐÐ
­ÚÐ-ÐÐÐ
­ÚÐ-ÑÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÒÐÐ
­ÚÐ-ÓÐÐ
­ÚÐ-ÔÐÐ
­ÚÐ-ÕÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÖÐÐ
­ÚÐ-×ÐÐ
­ÚÐ-ØÐÐ
­ÚÐ-ÙÐÐ
­ÚÐ-ÚÐÐ
­ÚÐ-ÛÐÐ
­ ÚÐ-ÜÐÐ
­!ÚÐ-ÝÐÐ
­"ÚÐ-ÞÐÐ
­#ÚÐ-ßÐÐ
­$ÚÐ-àÐÐ
­%ÚÐ-áÐÐ
­&ÚÐ-âÐÐ
­'ÚÐ-ãÐÐ
­(ÚÐ-äÐÐ
­)ÚÐ-åÐÐ
­*ÚÐ-æÐÐ
­+ÚÐ-çÐÐ
­,ÚÐ-èÐÐ
­-ÚÐ-ÐÐ
­.ÚÐ-éÐÐ
­/ÚÐ-êÐÐ
­0ÚÐ-ëÐÐ
­1ÚÐ-ìÐÐ
­2ÚÐ-íÐÐ
­3ÚÐ-ÐÐ
­4ÚÐ-îÐÐ
­5ÚÐ-ïÐÐ
­6ÚÐ-ðÐÐ
­7ÚÐ-ñÐÐ
­8ÚÐ-òÐÐ
­9ÚÐ-ÐÐ
­:ÚÐ-óÐÐ
­;ÚÐ-ôÐÐ
­=ÚÐ-ÐÐ
­>ÚÐ-ÐÐ
­?ÚÐ-ÐÐ
­@ÚÐ-ÐÐ
­AÚÐ-ÐÐ
­BÚÐ-õÐÐ
­CÚÐ-öÐÐ
­DÚÐ-÷ÐÐ
­EÚÐ-øÐÐ
­FÚÐ-ùÐÐ
­GÚÐ-úÐÐ
­HÚÐ-ûÐÐ
­IÚÐ-üÐÐ
­ ÚÐ-ýÐÐ
­KÚÐ-þÐÐ
­LÚÐ-ÿÐÐ
­,ÚÐ-€ÐÐ
­NÚÐ-ÐÐ
­OÚÐ-‚ÐÐ
­PÚÐ-ƒÐÐ
­QÚÐ-„ÐÐ
­RÚÐ-‚ÐÐ
­SÚÐ-…ÐÐ
­TÚÐ-†ÐÐ
­UÚÐ-ÐÐ
­VÚÐ-‡ÐÐ
­WÚÐ-ˆÐÐ
­XÚÐ-‚ÐÐ
­YÚÐ-ÐÐ
­ÚÐ-Љ-ŠЋŒ-ŽА‘­
\ No newline at end of file
+					w		1010:x,			iVTEMComsRights:=2;yf			IF NOT xTransferDone AND NOT xTransferError THENz*				xExecuteFB:=TRUE;{6			ELSIF xTransferDone THEN|8				client.ActualStep:=1020;},				xExecuteFB:=FALSE;~d			ELSIF xTransferError OR tonConfigTimeout.Q THEN			END_IF€		1020:,			iVTEMComsRights:=3;‚8				client.ActualStep:=1030;ƒ		1030:„,			iVTEMComsRights:=4;…8				client.ActualStep:=1040;† 		1040:‡,			iVTEMComsRights:=5;ˆ8				client.ActualStep:=1100;‰		1100:Š:			xCheckConfiguration:=TRUE;‹6			client.ActualStep:=1105;Œ		1105:Z			IF NOT xCheckConfiguration AND xMatch THENŽ8				Client.ActualStep:=1110;b			IF NOT xCheckConfiguration AND NOT xMatch THEN8				Client.ActualStep:=1100;‘		1110:’,			iVTEMComsRights:=1;“D			xUseGlobalSetpointValues:=TRUE;”4			bySetValveModeAll:= 61;•4			bySetAppControlAll:= 0;–2			bySetAppOptionAll:= 0;—6			gxHidecalibration:=TRUE;˜$			gxhideGo:=TRUE;™:			gxhideMissionSucces:=TRUE;š*			gxhideStart:=TRUE;›d			gstElapsedTime:= CleanTime(ElapsedGameTime.ET);œ6			Client.ActualStep:=1120;		1120:ž2			bySetValveModeAll:= 3;Ÿ4			bySetAppControlAll:= 3; 0			bySetAppOptionAll:=0;¡6			IF iAvgPressure<100 THEN¢(				StateComplete();£		END_CASE¤0PACK_ML.State.Starting :¥6	CASE Client.ActualStep OF ¦		0:§:		IF client.Mode = Mode1 THEN¨.		Client.ActualStep:=5;©		ELSEªD		//	IF NOT xSendCommandReply THEN«ä				xSendCommandReply := SendCommand(Command:= CommandType.Media,Value:= 'http://10.0.0.13/cgi-bin/vtem-welcome');¬		//	ELSE­B			//	xSendCommandReply := FALSE;®6				client.ActualStep:=100;¯		//	END_IF°		5:±B	//	IF NOT xSendCommandReply THEN²Ø			xSendCommandReply:=	SendCommand(Command:= CommandType.Media,Value:= 'http://10.0.0.10:8080/webvisu.htm');³	(*ELSE´<			xSendCommandReply:=FALSE;*)µ0			Client.ActualStep:=6;¶	//	END_IF·		6:¸*		iVTEMComsRights:=1;¹H		xUseGlobalSetpointValues := false;º:		gxHidecalibration := FALSE;»,		gxhideStart := TRUE;¼8		gxhideMissionSucces:=TRUE;½2		bySetValveModeAll :=3	;¾0		bySetAppControlAll:=3;¿*		iTarBackLeft:=4000;À,		iTarFrontLeft:=3000;Á.		iTarFrontRight:=2000;Â,		iTarBackRight:=3000;Ã		wait:=TRUE;Ä$		ONETIME:=FALSE;	Å0		Client.ActualStep:=10;Æ
+		10:Ç*		IF waitTimer.Q THENÈ			wait:=FALSE;É2			Client.ActualStep:=20;Ê
+		20:Ë*		iTarBackLeft:=3000;Ì,		iTarFrontLeft:=4000;Í.		iTarFrontRight:=3000;Î,		iTarBackRight:=2000;Ï0		Client.ActualStep:=30;Ð
+		30:Ñ2			Client.ActualStep:=40;Ò			40:Ó*		iTarBackLeft:=2000;Ô.		iTarFrontRight:=4000;Õ0		Client.ActualStep:=50;Ö
+		50:×2			Client.ActualStep:=60;Ø
+		60:Ù,		iTarFrontLeft:=2000;Ú,		iTarBackRight:=4000;Û0		Client.ActualStep:=70;Ü
+		70:Ýj			Client.ActualStep:=80; // Go to step dance game :)Þ
+		80:ßp		atp1(iTar:=4000, iVar:=iValve_BackLeft, iOffset:= 30);àr		atp2(iTar:=4000, iVar:=iValve_BackRight, iOffset:= 30);ár		atp3(iTar:=4000, iVar:=iValve_FrontLeft, iOffset:= 30);ât		atp4(iTar:=4000, iVar:=iValve_FrontRight, iOffset:= 30);ãÖ		gitotalTime:=(TIME_TO_LINT(atp1.timerprogress+atp2.timerprogress+atp3.timerprogress+atp4.timerprogress));ä				åº		IF atp1.atTargetPres AND atp2.atTargetPres AND atp3.atTargetPres AND atp4.atTargetPres THENæ”			SendCommand(Command:= CommandType.Key, Value := Client.KeyCommands[0]);ç,			iNumTargetsLeft:=5;è2			bySetAppControlAll:=0;é*			gxhideGo := FALSE;ê6			gxhideNumTargets:=FALSE;ë@			gxhideCrossandTargets:=FALSE;ì			wait:=TRUE;í			wait:=false;î,			xGameRunning:=TRUE;ï		100:ð*		iVTEMComsRights:=8;ñ6				client.ActualStep:=110;ò		110:ó,			iVTEMComsRights:=9;ô6				client.ActualStep:=111;õ		111:ö0			iVTEMComsRights := 1;÷0			bySetValveModeAll:=1;ø4			Client.ActualStep:=112;ù			112:úr			IF FB_ValveControl_1.iResponseToValveModeSet=1033 THENûN				iVTEMComsRights:=0; //do something.ü6				Client.ActualStep:=120;ý\			// repeat trying to match the configurationþ		120:ÿˆ			iVTEMComsRights:=0; // No control, leave to let webapp take over.€B			IF tonCheckWebAppActive.Q THEN6				Client.ActualStep:=125;‚.				iVTEMComsRights:=1;ƒ		125:„2		IF xLockLoadConfig THEN…6			Client.ActualStep:=1010;†¼			IF FB_ValveControl_1.iResponseToValveModeSet = FestoVTEMdc.eResponseToValveModeSet.access_denied_WebConfig OR  FB_ValveControl_2.iResponseToValveModeSet = FestoVTEMdc.eResponseToValveModeSet.access_denied_WebConfig THEN‡>				xPlayerInWebConfig := TRUE;ˆ			ELSE‰@				xPlayerInWebConfig := FALSE;Š.				iVTEMComsRights:=0;‹>				Client.ActualStep:=140;				Œ		140:4			client.ActualStep:=150;Ž		150:2				Client.ActualStep:=5;˜			//SendCommand(Command:= CommandType.Key, Value := Client.KeyCommands[2]);‘			1010:’6				client.ActualStep:=140;“		END_CASE;”4PACK_ML.State.Completing :•"	StateComplete();–0PACK_ML.State.Aborting :—.			xGameRunning:=false;˜*bySetValveModeAll:=3;™ iTarBackLeft:=0;š.PACK_ML.State.Stopping:›2PACK_ML.State.Clearing :	œEND_CASEfIF NOT (DI_EmergencyGF AND NOT DI_EmergencyFF) THENž(	// Emergency Abort.Ÿ	UM.Abort();	 END_IF ¡LClient.ActualState := UM.CurrentState;¢>messageQueue(Client := Client);£BwaitTimer(IN:=wait,PT:=T#1000MS);¤ZElapsedGameTime(IN:=xGameRunning, PT:=T#30M);¥$//Average on sides¦jiAvgPrsLeft		:=	(iValve_FrontLeft+iValve_BackLeft)/2;§liAvgPrsTop		:=	(iValve_FrontLeft+iValve_FrontRight)/2;¨niAvgPrsRight	:=	(iValve_FrontRight+iValve_BackRight)/2;©liAvgPrsBottom	:=	(iValve_BackRight+iValve_BackLeft)/2;ª//Total average«¬iSumPressure := iValve_BackLeft + iValve_BackRight+iValve_frontleft+iValve_frontright;¬\iAvgPressure:= LINT_TO_INT( iSumPressure / 4);­BIF (xUseGlobalSetpointValues)THEN®L	iTarBackLeft:=iSetPointValue_1Global;¯N	iTarBackRight:=iSetPointValue_1Global;°N	iTarFrontLeft:=iSetPointValue_1Global;±P	iTarFrontRight:=iSetPointValue_1Global;²ðxAllValvesRunning:= FB_ValveControl_1.iResponseToValveModeSet =1033 AND FB_ValveControl_2.iResponseToValveModeSet =1033;³¢FB_ValveControl_1.xManualAcknowledge := NOT FB_ValveControl_1.xManualAcknowledge;´šFB_ValveControl_2.xManualAcknowledge := FB_ValveControl_1.xManualAcknowledge;µ¾xAnyValveNotReady:=NOT(FB_ValveControl_1.iErrorCode=0 AND (FB_ValveControl_1.iResponseToValveModeSet =1033 OR FB_ValveControl_1.iResponseToValveModeSet =1041) ¶¨					AND FB_ValveControl_2.iErrorCode =0 AND (FB_ValveControl_2.iResponseToValveModeSet =1033 OR FB_ValveControl_2.iResponseToValveModeSet =1041) );·4IF  xAnyValveNotReady THEN¸8	xVtemReset:=NOT xVtemReset;¹ELSEº&	xVtemReset:=FALSE;»$CheckParameters();¼VTEM_Control();½// VTEM_Control¾(*¿&FB_ValveControl_1 (Àj	awBusDataFromVTEM:=	GVL_In_Outputs.awData_Valve1_in,Áj	xEnable:=NOT( UM.CurrentState = pack_ml.Resetting) ,ÂF	bySetValveMode:=bySetValveModeAll,ÃJ	bySetAppControl:=bySetAppControlAll,ÄF	bySetAppOption:=bySetAppOptionAll,ÅT	iSetpointValue1:=iSetPointValue_BackLeft,ÆV	iSetpointValue2:=iSetPointValue_BackRight,Çf	awBusDataToVTEM:=GVL_In_Outputs.awData_Valve1_out,È@	iActualValue1=>iValve_BackLeft,É@	iActualValue2=>iValve_BackRightÊ);Ë&FB_ValveControl_2 (Ìj	awBusDataFromVTEM:=	GVL_In_Outputs.awData_Valve2_in,ÍV	iSetpointValue1:=iSetPointValue_FrontLeft,ÎX	iSetpointValue2:=iSetPointValue_FrontRight,Ïf	awBusDataToVTEM:=GVL_In_Outputs.awData_Valve2_out,ÐB	iActualValue1=>iValve_FrontLeft,ÑB	iActualValue2=>iValve_FrontRightÒ);*)Ó((*	CASE resetstep OFÔþ			FB_WriteConfig_MA03_Valve2 (iParameterSet:=1 ,awBusDataFromVTEM := GVL_In_Outputs.awData_Valve2_in,xExecute:=xExecuteConfig,iCharacteristicAt2:=1,iCharacteristicAt4:=1,awBusDataToVTEM:=GVL_In_Outputs.awData_Valve2_out, xDownloadDone=>xDownloadConfigDone, xDownloadError=> xDownloadError,iResponse=> iResponseConfig);Õ		30:	Ö„			FB_WriteConfig_MA08_Valve1 (iParameterSet:=1 ,awBusDataFromVTEM :=  GVL_In_Outputs.awData_Valve1_in,xExecute:=xExecuteConfig,iLoadRetracting:=200,iLoadAdvancing:=200,iSoftStartFunction:=1, iTubingLengthAt2:=1000, iTubingLengthAt4:=1000 ,iTubingInnerDiameterAt2:=570,iTubingInnerDiameterAt4:=570,iDriveStroke:=180,iDriveType:=901,iInstallationPositionDrive :=9000,awBusDataToVTEM:=GVL_In_Outputs.awData_Valve1_out, xDownloadDone=>xDownloadConfigDone, xDownloadError=> xDownloadError,iResponse=> iResponseConfig);×		40:	Ø„			FB_WriteConfig_MA08_Valve2 (iParameterSet:=1 ,awBusDataFromVTEM := GVL_In_Outputs.awData_Valve2_in,xExecute:=xExecuteConfig, iLoadRetracting:=200,iLoadAdvancing:=200,iSoftStartFunction:=1, iTubingLengthAt2:=1000, iTubingLengthAt4:=1000 ,iTubingInnerDiameterAt2:=570,iTubingInnerDiameterAt4:=570,iDriveStroke:=180,iDriveType:=901,iInstallationPositionDrive :=9000,awBusDataToVTEM:=GVL_In_Outputs.awData_Valve2_out, xDownloadDone=>xDownloadConfigDone, xDownloadError=> xDownloadError,iResponse=> iResponseConfig);Ù
+				;ÚEND_CASE*)Û// Gamevisu PRGÜ//Timers ÝPtargetTimer(IN:=xAtTarget, PT:=T#600MS);ÞBtonConfigTimeout(IN:=xExecuteFB);ßpgxGameVisuOffset.X := LIMIT(-600,gpOffsetRaw.X*5/2,600);àpgxGameVisuOffset.Y := LIMIT(-600,gpOffsetRaw.Y*5/2,600);á&IF NOT onetime THENâ`	pStaticTarget.X:= pStaticTarget.X+randomNumber;ãb	pStaticTarget.Y:= pStaticTarget.Y+randomNumber2;ä–	IF pStaticTarget.X > 500 THEN pStaticTarget.X:=pStaticTarget.X-1000;END_IFå–	IF pStaticTarget.Y > 500 THEN pStaticTarget.Y:=pStaticTarget.Y-1000;END_IFæ	onetime:=TRUE;ç:randomNumber:=randomNumber+3;è0IF randomNumber>500 THENé@	randomNumber:=randomNumber-200;ê>randomNumber2:=randomNumber2+3;ë2IF randomNumber2>500 THENìD	randomNumber2:=randomNumber2-200;í,IF targetTimer.Q THEN	îL	iNumTargetsLeft:=iNumTargetsLeft -1;	ï*CASE Client.Level OF ð	1:ñ2	//no changes to the dataò˜	IF pStaticTarget.X > 500 THEN pStaticTarget.X:=pstaticTarget.X-1000; END_IFóš	IF pStaticTarget.X < -500 THEN pStaticTarget.X:=pstaticTarget.X+1000;	END_IFô@	pNextTarget.X:=pStaticTarget.X;õ@	pNextTarget.Y:=pStaticTarget.Y;ö	2:÷4	IF xMovementPositive THENøN		pStaticTarget.X := pStaticTarget.X+1;ù
+	ELSEúR		pStaticTarget.X := pStaticTarget.X-1;		û	3:üN		pStaticTarget.X := pStaticTarget.X+2;ýR		pStaticTarget.X := pStaticTarget.X-2;		þ	4:ÿ®	pNextTarget.Y := pStaticTarget.Y+REAL_TO_INT(SIN(DINT_TO_REAL(pNextTarget.X)/100)*50);€	5:°	pNextTarget.Y := pStaticTarget.Y+REAL_TO_INT(SIN(DINT_TO_REAL(pNextTarget.X)/50)*100);	‚&// target approach.ƒþxAtTarget:=(gxGameVisuOffset.X > (pNextTarget.x - gxGameAccuracy) AND gxGameVisuOffset.X < (pNextTarget.X + gxGameAccuracy) AND„âgxGameVisuOffset.Y > (pNextTarget.Y - gxGameAccuracy) AND gxGameVisuOffset.Y < (pNextTarget.Y + gxGameAccuracy));…//END_IF†&// VTEM_Druk_PID 's‡.IF NOT gxDisablePD THENˆüDruk_PD_BackLeft(target := iTarBackLeft, xAllValvesRunning:=xAllValvesRunning,bySetAppControlAll:=bySetAppControlAll, actualPressure := iValve_BackLeft, setpoint => iSetPointValue_BackLeft);‰„Druk_PD_backRight(target := iTarbackRight, xAllValvesRunning:=xAllValvesRunning,bySetAppControlAll:=bySetAppControlAll, actualPressure := iValve_backRight, setpoint => iSetPointValue_backRight);Š„Druk_PD_frontLeft(target := iTarfrontLeft, xAllValvesRunning:=xAllValvesRunning,bySetAppControlAll:=bySetAppControlAll, actualPressure := iValve_frontLeft, setpoint => iSetPointValue_frontLeft);‹ŒDruk_PD_frontRight(target := iTarfrontRight, xAllValvesRunning:=xAllValvesRunning,bySetAppControlAll:=bySetAppControlAll, actualPressure := iValve_frontRight, setpoint => iSetPointValue_frontRight);ŒTgpOffsetRaw.X:=(iAvgPrsRight-iAvgPrsLeft);TgpOffsetRaw.Y:=(iAvgPrsBottom-iAvgPrsTop);Ž.//offset for debug visuHgpOffsetDebug.X := gpOffsetRaw.X/10;HgpOffsetDebug.Y := gpOffsetRaw.Y/10;‘Interface’L{a9ed5b7e-75c5-4651-af16-d2c27e98cb94}“>FUNCTION_BLOCK VtemStateMachine”VAR•2	UM			: PACK_ML.UnitMode;–f	xInit		: BOOL := FALSE; // Flag for initialization—0	//VTEM ValveControl FBs˜`	FB_ValveControl_1: FestoVTEMdc.FB_ValveControl;™`	FB_ValveControl_2: FestoVTEMdc.FB_ValveControl;š`	FB_ValveControl_3: FestoVTEMdc.FB_ValveControl;›`	FB_ValveControl_4: FestoVTEMdc.FB_ValveControl;œ~	FB_WriteConfig_MA03_Valve1: FestoVTEMdc.FB_Write_config_MA_03;~	FB_WriteConfig_MA03_Valve2: FestoVTEMdc.FB_Write_config_MA_03;ž’	FB_WriteConfig_MA03_Valve1_Incorrect: FestoVTEMdc.FB_Write_config_MA_03;Ÿ’	FB_WriteConfig_MA03_Valve2_Incorrect: FestoVTEMdc.FB_Write_config_MA_03; ~	FB_WriteConfig_MA08_Valve1: FestoVTEMdc.FB_Write_config_MA_08;¡~	FB_WriteConfig_MA08_Valve2: FestoVTEMdc.FB_Write_config_MA_08;¢ 	FB_Upload_Multiple_Parameters_Valve1:FestoVTEMdc.FB_Upload_Multiple_Parameters;£ 	FB_Upload_Multiple_Parameters_Valve2:FestoVTEMdc.FB_Upload_Multiple_Parameters;¤š	aTransferPackagesResult: ARRAY[0..100] OF FestoVTEMdc.stTransferPackage := [¥l(iChannel := 1, iAddressedTarget := 3, iIndex := 220),¦l(iChannel := 1, iAddressedTarget := 3, iIndex := 221),§j(iChannel := 1, iAddressedTarget := 8, iIndex := 12),¨j(iChannel := 1, iAddressedTarget := 8, iIndex := 13),©j(iChannel := 1, iAddressedTarget := 8, iIndex := 14),ªj(iChannel := 1, iAddressedTarget := 8, iIndex := 15),«j(iChannel := 1, iAddressedTarget := 8, iIndex := 20),¬j(iChannel := 1, iAddressedTarget := 8, iIndex := 21),­j(iChannel := 1, iAddressedTarget := 8, iIndex := 60),®l(iChannel := 1, iAddressedTarget := 8, iIndex := 100),¯l(iChannel := 1, iAddressedTarget := 8, iIndex := 101),°~(iChannel := 1, iAddressedTarget := 8, iIndex := 222), 89(())];±0	iVTEMComsRights:INT:=1;²(	xTransferDone:BOOL;³*	xTransferError:BOOL;´L	CheckParameters : FB_CheckParameters;µ2	xSendCommandReply :BOOL;¶2	xExecuteFB :BOOL:=FALSE;·D	xDownloadConfigDone1:BOOL:=FALSE;¸:	xDownloadError1:BOOL:=FALSE;¹D	xDownloadConfigDone2:BOOL:=FALSE;º:	xDownloadError2:BOOL:=FALSE;»D	xDownloadConfigDone3:BOOL:=FALSE;¼:	xDownloadError3:BOOL:=FALSE;½D	xDownloadConfigDone4:BOOL:=FALSE;¾:	xDownloadError4:BOOL:=FALSE;¿0	iResponseConfig:INT:=0;Àd	tonConfigTimeout:TON:=(In:=xExecuteFB,PT:=T#15S);Á@	iStepCheckConfiguration:INT:=0;Â	xMatch:BOOL;Ã,	xLockLoadConfig:BOOL;Ä4	xCheckConfiguration:BOOL;Å$	xVtemReset: BOOL;Æ8	bySetValveModeAll:	BYTE:=3;Ç:	bySetAppControlAll:	BYTE:=0;È2	bySetAppOptionAll:	BYTE;ÉB	xUseGlobalSetpointValues	:	BOOL;Ê>	iSetPointValue_1Global		:	INT;Ë@	iSetPointValue_BackLeft		:	INT;Ì@	iSetPointValue_BackRight	:	INT;Í@	iSetPointValue_FrontLeft	:	INT;ÎB	iSetPointValue_FrontRight	:	INT;Ï$	iAvgPrsLeft :INT;Ð"	iAvgPrsTop :INT;Ñ$	iAvgPrsRight:INT;Ò&	iAvgPrsBottom:INT;Ó,	iValve_BackLeft: INT;Ô.	iValve_BackRight: INT;Õ.	iValve_FrontLeft: INT;Ö0	iValve_FrontRight: INT;×$	iTarBackLeft:INT;Ø&	iTarBackRight:INT;Ù&	iTarFrontLeft:INT;Ú(	iTarFrontRight:INT;Û&	iAvgPressure: INT;Ü&	gxDisablePD: BOOL;Ý(	gpOffsetRaw: POINT;Þ,	gpOffsetDebug: POINT;ß2	gxGameVisuOffset: POINT;à2	gxGameAccuracy: INT:=40;á"	factorA:INT:=20;â"	factorB:INT:=20;ã 	xAtTarget:BOOL;ä(	pNextTarget :Point;å	//tempæ 	targetHit:BOOL;ç$	gxGameStart:BOOL;è2	gxhideStart: BOOL:=TRUE;é,	gxhideGo: BOOL:=TRUE;ê:	gxhideNumTargets:BOOL:=true;ë6	iNumTargetsLeft: INT := 5;ìB	gxhideMissionSucces: BOOL:=true;íF	gxhideCrossandTargets: BOOL:=true;î&	gitotalTime: LINT;ï>	gxHidecalibration: BOOL:=TRUE;ð6	gxHideSBlocker:BOOL:=TRUE;ñ6	gtimeElapsedGametime:LINT;ò.	gstElapsedTime:STRING;ó*	ONETIME:BOOL:=TRUE;	ô	// Gamevisuõ$	randomNumber:INT;ö,	iScaleFactor:INT:=1;	÷0	randomNumber2: INT:=80;ø$	targetTimer: TON;ù"	// VTEM_Druk_PIDú6	Druk_PD_BackLeft: DRUK_PD;û8	Druk_PD_backRight: DRUK_PD;ü8	Druk_PD_frontLeft: Druk_pd;ý:	Druk_PD_frontRight: DRUK_PD;þ	// GameDataÿ		//Steps€&	iSumPressure: INT;	wait: BOOL;‚d	waitTimer: TON := (IN := wait, PT := TIME#400ms);ƒ0	atp1: attargetpressure;„0	atp2: attargetpressure;…0	atp3: attargetpressure;†0	atp4: attargetpressure;‡,	ElapsedGameTime: TON;ˆR	tonCheckWebAppActive :TON := (PT:=T#2S);‰.	pStaticTarget: Point;	Š2	xMovementPositive: BOOL;‹(	xGameRunning: BOOL;Œ2	xPlayerInWebConfig:BOOL;:	messageQueue : MessageQueue;ŽEND_VARVAR_IN_OUT.	Client : PuzzleClient;‘VAR_OUTPUT’r	ItfUnitMode	: PACK_ML.IUnitMode; // UnitMode of the axis“0	xAllValvesRunning:BOOL;”2	xAnyValveNotReady: BOOL;•"UniqueIdGenerator–7400—POULevel˜L{8e575c5b-1d37-49c6-941b-5c0ec7874787}™Standardš ChildObjectGuids›8System.Collections.ArrayListœ,AddAttributeSubsequentboolÐÐ-ÐÐ	E
+ŒÐÐ
­½ÚÐ-ÐÐ
­¾ÚÐ-ÐÐ
­¿ÚÐ-ÐÐ
­ÀÚÐ-ÐÐ
­ÁÚÐ-ÐÐ
­ÂÚÐ-ÐÐ
­ÃÚÐ-ÐÐ
­ÄÚÐ-ÐÐ
­ÅÚÐ-ÐÐ
­ÆÚÐ-ÐÐ
­ÇÚÐ-ÐÐ
­ÈÚÐ-ÐÐ
­ÉÚÐ-ÐÐ
­ÊÚÐ-ÐÐ
­ËÚÐ-ÐÐ
­ÌÚÐ-ÐÐ
­ÍÚÐ-ÐÐ
­ÎÚÐ-ÐÐ
­ÏÚÐ- ÐÐ
­FÚÐ-!ÐÐ
­qÚÐ-"ÐÐ
­ËÚÐ-#ÐÐ
­ÌÚÐ-$ÐÐ
­EÚÐ-%ÐÐ
­ÒÚÐ-&ÐÐ
­ÓÚÐ-'ÐÐ
­ÔÚÐ-(ÐÐ
­ÕÚÐ-)ÐÐ
­ÖÚÐ-*ÐÐ
­×ÚÐ-+ÐÐ
­ØÚÐ-,ÐÐ
­ÙÚÐ--ÐÐ
­ÚÚÐ-.ÐÐ
­ÛÚÐ-/ÐÐ
­ÜÚÐ-0ÐÐ
­ÝÚÐ-1ÐÐ
­ÞÚÐ-2ÐÐ
­ßÚÐ-3ÐÐ
­àÚÐ-4ÐÐ
­áÚÐ-5ÐÐ
­âÚÐ-6ÐÐ
­ãÚÐ-7ÐÐ
­äÚÐ-8ÐÐ
­åÚÐ-9ÐÐ
­æÚÐ-:ÐÐ
­çÚÐ-;ÐÐ
­èÚÐ-<ÐÐ
­éÚÐ-=ÐÐ
­êÚÐ->ÐÐ
­ëÚÐ-?ÐÐ
­ìÚÐ-@ÐÐ
­íÚÐ-AÐÐ
­îÚÐ-BÐÐ
­ïÚÐ-CÐÐ
­ðÚÐ-DÐÐ
­ñÚÐ-EÐÐ
­òÚÐ-FÐÐ
­óÚÐ-)ÐÐ
­ôÚÐ-GÐÐ
­õÚÐ-HÐÐ
­öÚÐ-ÐÐ
­÷ÚÐ-IÐÐ
­øÚÐ-JÐÐ
­ùÚÐ-KÐÐ
­úÚÐ-ÐÐ
­ûÚÐ-ÐÐ
­üÚÐ-ÐÐ
­þÚÐ-LÐÐ
­!ÚÐ-MÐÐ
­ÿÚÐ-ÐÐ
­ÚÐ-NÐÐ
­ÚÐ-OÐÐ
­ÚÐ-PÐÐ
­ÚÐ-QÐÐ
­ÚÐ-PÐÐ
­ÚÐ-RÐÐ
­ÚÐ-SÐÐ
­ÚÐ-TÐÐ
­ÚÐ-UÐÐ
­	ÚÐ-VÐÐ
­
+ÚÐ-WÐÐ
­ÚÐ-XÐÐ
­ÚÐ-PÐÐ
­
ÚÐ-WÐÐ
­ÚÐ-PÐÐ
­ÚÐ-YÐÐ
­ÚÐ-ZÐÐ
­ÚÐ-[ÐÐ
­ÚÐ-\ÐÐ
­ÚÐ-]ÐÐ
­ÚÐ-^ÐÐ
­ÚÐ-PÐÐ
­ÚÐ-_ÐÐ
­ÚÐ-`ÐÐ
­ÚÐ-aÐÐ
­ÚÐ-bÐÐ
­ÚÐ-cÐÐ
­ÚÐ-dÐÐ
­ÚÐ-eÐÐ
­ÚÐ-fÐÐ
­ÚÐ-$ÐÐ
­ÚÐ-gÐÐ
­ ÚÐ-[ÐÐ
­!ÚÐ-\ÐÐ
­"ÚÐ-]ÐÐ
­#ÚÐ-hÐÐ
­$ÚÐ-$ÐÐ
­%ÚÐ-iÐÐ
­&ÚÐ-jÐÐ
­'ÚÐ-kÐÐ
­(ÚÐ-ÐÐ
­)ÚÐ-lÐÐ
­*ÚÐ-ÐÐ
­+ÚÐ-mÐÐ
­,ÚÐ-GÐÐ
­-ÚÐ-nÐÐ
­\ÚÐ-oÐÐ
­/ÚÐ-pÐÐ
­0ÚÐ-qÐÐ
­1ÚÐ-rÐÐ
­2ÚÐ-sÐÐ
­3ÚÐ-tÐÐ
­4ÚÐ-uÐÐ
­5ÚÐ-vÐÐ
­7ÚÐ-wÐÐ
­ðÚÐ-xÐÐ
­fÚÐ-yÐÐ
­gÚÐ-zÐÐ
­hÚÐ-{ÐÐ
­jÚÐ-|ÐÐ
­kÚÐ-}ÐÐ
­pÚÐ-~ÐÐ
­lÚÐ-}ÐÐ
­oÚÐ-ÐÐ
­qÚÐ-$ÐÐ
­òÚÐ-€ÐÐ
­õÚÐ-ÐÐ
­ÚÐ-yÐÐ
­‚ÚÐ-zÐÐ
­ƒÚÐ-{ÐÐ
­„ÚÐ-‚ÐÐ
­…ÚÐ-}ÐÐ
­‡ÚÐ-~ÐÐ
­ˆÚÐ-}ÐÐ
­yÚÐ-ÐÐ
­÷ÚÐ-ƒÐÐ
­ûÚÐ-„ÐÐ
­ŠÚÐ-yÐÐ
­‹ÚÐ-zÐÐ
­ŒÚÐ-{ÐÐ
­ÚÐ-…ÐÐ
­ÚÐ-}ÐÐ
­ÚÐ-~ÐÐ
­‘ÚÐ-}ÐÐ
­rÚÐ-ÐÐ
­¤ÚÐ-$ÐÐ
­›ÚÐ-†ÐÐ
­üÚÐ-‡ÐÐ
­ÀÚÐ-yÐÐ
­ÁÚÐ-zÐÐ
­ÂÚÐ-{ÐÐ
­ÃÚÐ-ˆÐÐ
­ÅÚÐ-}ÐÐ
­ÆÚÐ-~ÐÐ
­ÇÚÐ-}ÐÐ
­nÚÐ-ÐÐ
­§ÚÐ-$ÐÐ
­þÚÐ-‰ÐÐ
­eÚÐ-oÐÐ
­ÎÚÐ-ŠÐÐ
­ÑÚÐ-‹ÐÐ
­ÒÚÐ-$ÐÐ
­ÓÚÐ-ŒÐÐ
­ÕÚÐ-ÐÐ
­×ÚÐ-ŽÐÐ
­ØÚÐ-ÐÐ
­ÔÚÐ-ÐÐ
­ÛÚÐ-ÐÐ
­lÚÐ-ÐÐ
­mÚÐ-$ÐÐ
­nÚÐ-‘ÐÐ
­oÚÐ-’ÐÐ
­pÚÐ-“ÐÐ
­qÚÐ-”ÐÐ
­rÚÐ-•ÐÐ
­sÚÐ-–ÐÐ
­tÚÐ-ÐÐ
­uÚÐ-[ÐÐ
­vÚÐ-\ÐÐ
­wÚÐ-]ÐÐ
­xÚÐ-hÐÐ
­yÚÐ-—ÐÐ
­zÚÐ-cÐÐ
­{ÚÐ-˜ÐÐ
­|ÚÐ-™ÐÐ
­}ÚÐ-dÐÐ
­~ÚÐ-šÐÐ
­ÚÐ-›ÐÐ
­€ÚÐ-œÐÐ
­ÚÐ-ÐÐ
­‚ÚÐ-žÐÐ
­ƒÚÐ-ŸÐÐ
­„ÚÐ- ÐÐ
­…ÚÐ-GÐÐ
­†ÚÐ-¡ÐÐ
­‡ÚÐ-¢ÐÐ
­‰ÚÐ-ÐÐ
­ÌÚÐ-$ÐÐ
­ÍÚÐ-$ÐÐ
­ŠÚÐ-£ÐÐ
­‹ÚÐ-¤ÐÐ
­ŒÚÐ-¥ÐÐ
­ÚÐ-¦ÐÐ
­ŽÚÐ-§ÐÐ
­ÚÐ-¨ÐÐ
­ÚÐ-©ÐÐ
­ÐÚÐ-ªÐÐ
­ÎÚÐ-«ÐÐ
­’ÚÐ-¬ÐÐ
­ÙÚÐ-­ÐÐ
­ÕÚÐ-®ÐÐ
­“ÚÐ-¯ÐÐ
­âÚÐ-.ÐÐ
­ãÚÐ-$ÐÐ
­ÖÚÐ-°ÐÐ
­×ÚÐ-±ÐÐ
­ÚÚÐ-²ÐÐ
­ÞÚÐ-³ÐÐ
­ßÚÐ-´ÐÐ
­àÚÐ-µÐÐ
­ÛÚÐ-¶ÐÐ
­áÚÐ-GÐÐ
­ØÚÐ-·ÐÐ
­ÚÐ-¸ÐÐ
­”ÚÐ-¹ÐÐ
­•ÚÐ-`ÐÐ
­–ÚÐ-ºÐÐ
­—ÚÐ-»ÐÐ
­˜ÚÐ-¼ÐÐ
­™ÚÐ-½ÐÐ
­šÚÐ-¾ÐÐ
­›ÚÐ-¿ÐÐ
­œÚÐ-ÀÐÐ
­ÚÐ-ÁÐÐ
­žÚÐ-ÂÐÐ
­ŸÚÐ-ÃÐÐ
­ ÚÐ-ÄÐÐ
­¡ÚÐ-ÅÐÐ
­¢ÚÐ-GÐÐ
­£ÚÐ-ÆÐÐ
­¤ÚÐ-ÇÐÐ
­¥ÚÐ-ÈÐÐ
­¦ÚÐ-ÉÐÐ
­§ÚÐ-)ÐÐ
­¨ÚÐ-GÐÐ
­©ÚÐ-ÊÐÐ
­ªÚÐ-ËÐÐ
­«ÚÐ-ÌÐÐ
­¬ÚÐ-ÍÐÐ
­­ÚÐ-ÎÐÐ
­®ÚÐ-ÃÐÐ
­¯ÚÐ-ÏÐÐ
­°ÚÐ-GÐÐ
­±ÚÐ-ÐÐÐ
­²ÚÐ-ÇÐÐ
­³ÚÐ-ÈÐÐ
­´ÚÐ-ÑÐÐ
­µÚÐ-)ÐÐ
­¶ÚÐ-ÒÐÐ
­·ÚÐ-ÓÐÐ
­¸ÚÐ-ÀÐÐ
­¹ÚÐ-ÔÐÐ
­ºÚÐ-ÂÐÐ
­»ÚÐ-ÃÐÐ
­¼ÚÐ-ÕÐÐ
­½ÚÐ-GÐÐ
­¾ÚÐ-ÖÐÐ
­¿ÚÐ-ÇÐÐ
­ÀÚÐ-ÈÐÐ
­ÁÚÐ-×ÐÐ
­ÂÚÐ-)ÐÐ
­ÃÚÐ-GÐÐ
­ÄÚÐ-ØÐÐ
­ÅÚÐ-ËÐÐ
­ÆÚÐ-ÙÐÐ
­ÇÚÐ-ÍÐÐ
­ÈÚÐ-ÚÐÐ
­ÉÚÐ-ÃÐÐ
­ÊÚÐ-ÛÐÐ
­ËÚÐ-GÐÐ
­ÌÚÐ-ÜÐÐ
­ÍÚÐ-ÇÐÐ
­ÎÚÐ-ÈÐÐ
­ÏÚÐ-ÝÐÐ
­ÐÚÐ-¾ÐÐ
­ÑÚÐ-)ÐÐ
­ÒÚÐ-ÞÐÐ
­ÓÚÐ-»ÐÐ
­ÔÚÐ-GÐÐ
­ÕÚÐ-¿ÐÐ
­ÖÚÐ-ÌÐÐ
­×ÚÐ-ÔÐÐ
­ØÚÐ-ÚÐÐ
­ÙÚÐ-ßÐÐ
­ÚÚÐ-àÐÐ
­ÛÚÐ-áÐÐ
­ÜÚÐ-âÐÐ
­ÝÚÐ-GÐÐ
­ÞÚÐ-ãÐÐ
­ßÚÐ-äÐÐ
­àÚÐ-åÐÐ
­áÚÐ-æÐÐ
­âÚÐ-çÐÐ
­ãÚÐ-èÐÐ
­äÚÐ-éÐÐ
­åÚÐ-êÐÐ
­æÚÐ-ëÐÐ
­çÚÐ-—ÐÐ
­èÚÐ-ìÐÐ
­éÚÐ-)ÐÐ
­êÚÐ-ÇÐÐ
­ëÚÐ-˜ÐÐ
­ìÚÐ-íÐÐ
­íÚÐ-4ÐÐ
­îÚÐ-îÐÐ
­ïÚÐ-)ÐÐ
­ÞÚÐ-$ÐÐ
­ßÚÐ-ïÐÐ
­ÚÐ-ðÐÐ
­ÚÐ-yÐÐ
­ÚÐ-zÐÐ
­ÚÐ-{ÐÐ
­ÚÐ-ñÐÐ
­ÚÐ-}ÐÐ
­	ÚÐ-~ÐÐ
­
+ÚÐ-}ÐÐ
­ÚÐ-ÐÐ
­
ÚÐ-$ÐÐ
­ÚÐ-òÐÐ
­ÚÐ-óÐÐ
­ÚÐ-yÐÐ
­ÚÐ-zÐÐ
­ÚÐ-{ÐÐ
­ÚÐ-ôÐÐ
­ÚÐ-}ÐÐ
­ÚÐ-~ÐÐ
­ÚÐ-}ÐÐ
­ÚÐ-ÐÐ
­6ÚÐ-õÐÐ
­8ÚÐ-öÐÐ
­9ÚÐ-÷ÐÐ
­:ÚÐ-øÐÐ
­;ÚÐ-ùÐÐ
­=ÚÐ-úÐÐ
­>ÚÐ-ûÐÐ
­ÏÚÐ-üÐÐ
­?ÚÐ-ÐÐ
­7ÚÐ-$ÐÐ
­ÚÐ-ýÐÐ
­ÚÐ-þÐÐ
­ÚÐ-ÿÐÐ
­ÚÐ-€ÐÐ
­$ÚÐ-ÐÐ
­'ÚÐ-‚ÐÐ
­#ÚÐ-ÐÐ
­%ÚÐ-ƒÐÐ
­rÚÐ-„ÐÐ
­sÚÐ-…ÐÐ
­tÚÐ-)ÐÐ
­(ÚÐ-†ÐÐ
­)ÚÐ-‡ÐÐ
­*ÚÐ-ˆÐÐ
­3ÚÐ-‰ÐÐ
­-ÚÐ-ŠÐÐ
­2ÚÐ-‹ÐÐ
­.ÚÐ-ÐÐ
­&ÚÐ-GÐÐ
­ÚÐ-$ÐÐ
­ÚÐ-$ÐÐ
­ÚÐ-ŒÐÐ
­àÚÐ-oÐÐ
­áÚÐ-ŠÐÐ
­âÚÐ-ÐÐ
­ãÚÐ-$ÐÐ
­äÚÐ-ŽÐÐ
­åÚÐ-ÐÐ
­æÚÐ-ÐÐ
­CÚÐ-äÐÐ
­DÚÐ-ÐÐ
­èÚÐ-ÐÐ
­ÚÐ-$ÐÐ
­éÚÐ-ÐÐ
­êÚÐ-üÐÐ
­ÝÚÐ-ÐÐ
­ŸÚÐ-$ÐÐ
­¡ÚÐ-‘ÐÐ
­¢ÚÐ-xÐÐ
­£ÚÐ-yÐÐ
­¤ÚÐ-zÐÐ
­¥ÚÐ-{ÐÐ
­¦ÚÐ-|ÐÐ
­§ÚÐ-}ÐÐ
­¨ÚÐ-~ÐÐ
­©ÚÐ-}ÐÐ
­ªÚÐ-ÐÐ
­«ÚÐ-$ÐÐ
­¬ÚÐ-€ÐÐ
­­ÚÐ-ÐÐ
­®ÚÐ-yÐÐ
­¯ÚÐ-zÐÐ
­°ÚÐ-{ÐÐ
­±ÚÐ-‚ÐÐ
­²ÚÐ-}ÐÐ
­³ÚÐ-~ÐÐ
­´ÚÐ-}ÐÐ
­µÚÐ-ÐÐ
­¶ÚÐ-ƒÐÐ
­·ÚÐ-„ÐÐ
­¸ÚÐ-yÐÐ
­¹ÚÐ-zÐÐ
­ºÚÐ-{ÐÐ
­»ÚÐ-…ÐÐ
­¼ÚÐ-}ÐÐ
­½ÚÐ-~ÐÐ
­¾ÚÐ-}ÐÐ
­¿ÚÐ-ÐÐ
­ÀÚÐ-$ÐÐ
­ÁÚÐ-†ÐÐ
­ÂÚÐ-‡ÐÐ
­ÃÚÐ-yÐÐ
­ÄÚÐ-zÐÐ
­ÅÚÐ-{ÐÐ
­ÆÚÐ-’ÐÐ
­ÇÚÐ-}ÐÐ
­ÈÚÐ-~ÐÐ
­ÉÚÐ-}ÐÐ
­ÊÚÐ-ÐÐ
­ ÚÐ-$ÐÐ
­öÚÐ-$ÐÐ
­÷ÚÐ-GÐÐ
­øÚÐ-“ÐÐ
­ùÚÐ-”ÐÐ
­úÚÐ-ÐÐ
­ûÚÐ-•ÐÐ
­üÚÐ-–ÐÐ
­ýÚÐ-—ÐÐ
­þÚÐ-cÐÐ
­ÿÚÐ-˜ÐÐ
­ÚÐ-™ÐÐ
­ÚÐ-dÐÐ
­ÚÐ-šÐÐ
­ÚÐ-—ÐÐ
­ÚÐ-˜ÐÐ
­ÚÐ-ZÐÐ
­ÚÐ-™ÐÐ
­ÚÐ-\ÐÐ
­ÚÐ-]ÐÐ
­	ÚÐ-hÐÐ
­
+ÚÐ-•ÐÐ
­ÚÐ-šÐÐ
­ÚÐ-fÐÐ
­
ÚÐ-—ÐÐ
­ÚÐ-cÐÐ
­ÚÐ-˜ÐÐ
­ÚÐ-™ÐÐ
­ÚÐ-dÐÐ
­ÚÐ-šÐÐ
­ÚÐ-•ÐÐ
­ÚÐ-›ÐÐ
­ÚÐ-•ÐÐ
­ÚÐ-œÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-žÐÐ
­ÚÐ-ŸÐÐ
­ÚÐ- ÐÐ
­ÚÐ-ÐÐ
­çÚÐ-¡ÐÐ
­èÚÐ-ÐÐ
­ÚÐ-¢ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ ÚÐ-£ÐÐ
­!ÚÐ-¤ÐÐ
­"ÚÐ-¥ÐÐ
­#ÚÐ-¦ÐÐ
­$ÚÐ-§ÐÐ
­%ÚÐ-¨ÐÐ
­&ÚÐ-©ÐÐ
­'ÚÐ-ªÐÐ
­(ÚÐ-«ÐÐ
­)ÚÐ-¬ÐÐ
­*ÚÐ-ÐÐ
­+ÚÐ-­ÐÐ
­,ÚÐ-®ÐÐ
­-ÚÐ-¯ÐÐ
­.ÚÐ-°ÐÐ
­/ÚÐ-±ÐÐ
­0ÚÐ-ÐÐ
­1ÚÐ-ÐÐ
­2ÚÐ-ÐÐ
­3ÚÐ-²ÐÐ
­4ÚÐ-³ÐÐ
­5ÚÐ-´ÐÐ
­6ÚÐ-µÐÐ
­7ÚÐ-¶ÐÐ
­8ÚÐ-·ÐÐ
­9ÚÐ-¸ÐÐ
­:ÚÐ-¹ÐÐ
­;ÚÐ-ºÐÐ
­<ÚÐ-ÐÐ
­=ÚÐ-»ÐÐ
­>ÚÐ-¼ÐÐ
­?ÚÐ-½ÐÐ
­@ÚÐ-¾ÐÐ
­AÚÐ-¿ÐÐ
­BÚÐ-ÀÐÐ
­CÚÐ-ÁÐÐ
­DÚÐ-ÂÐÐ
­EÚÐ-ÃÐÐ
­FÚÐ-ÄÐÐ
­GÚÐ-ÅÐÐ
­HÚÐ-ÆÐÐ
­IÚÐ-ÇÐÐ
­JÚÐ-ÈÐÐ
­KÚÐ-ÉÐÐ
­LÚÐ-ÊÐÐ
­MÚÐ-ÐÐ
­NÚÐ-ËÐÐ
­OÚÐ-ÌÐÐ
­PÚÐ-ÁÐÐ
­QÚÐ-ÂÐÐ
­RÚÐ-ÃÐÐ
­SÚÐ-ÄÐÐ
­TÚÐ-ÍÐÐ
­UÚÐ-ÎÐÐ
­VÚÐ-ÏÐÐ
­WÚÐ-ÐÐÐ
­XÚÐ-ÑÐÐ
­YÚÐ-ÒÐÐ
­ZÚÐ-ÐÐ
­[ÚÐ-ÓÐÐ
­\ÚÐ-ÆÐÐ
­]ÚÐ-ÊÐÐ
­^ÚÐ-ÔÐÐ
­_ÚÐ-ÕÐÐ
­`ÚÐ-ÖÐÐ
­aÚÐ-×ÐÐ
­bÚÐ-ØÐÐ
­cÚÐ-ÖÐÐ
­dÚÐ-ÙÐÐ
­eÚÐ-ÚÐÐ
­fÚÐ-ÐÐ
­gÚÐ-ÛÐÐ
­hÚÐ-ÜÐÐ
­iÚÐ-ÝÐÐ
­kÚÐ-ÞÐÐ
­lÚÐ-ßÐÐ
­mÚÐ-àÐÐ
­nÚÐ-áÐÐ
­oÚÐ-âÐÐ
­pÚÐ-ãÐÐ
­qÚÐ-äÐÐ
­rÚÐ-åÐÐ
­sÚÐ-æÐÐ
­tÚÐ- ÐÐ
­uÚÐ-çÐÐ
­vÚÐ-èÐÐ
­wÚÐ-éÐÐ
­xÚÐ-ÐÐ
­yÚÐ-êÐÐ
­zÚÐ-ëÐÐ
­{ÚÐ-ìÐÐ
­|ÚÐ-ÐÐ
­}ÚÐ-ÐÐ
­~ÚÐ-íÐÐ
­ÚÐ-îÐÐ
­€ÚÐ-âÐÐ
­ÚÐ-ãÐÐ
­‚ÚÐ-äÐÐ
­ƒÚÐ-åÐÐ
­„ÚÐ-ÐÐ
­…ÚÐ-ÐÐ
­†ÚÐ-ïÐÐ
­‡ÚÐ-ðÐÐ
­ˆÚÐ-ñÐÐ
­‰ÚÐ-òÐÐ
­ŠÚÐ-óÐÐ
­‹ÚÐ-ôÐÐ
­ŒÚÐ-õÐÐ
­ÚÐ-öÐÐ
­ŽÚÐ-÷ÐÐ
­ÚÐ-øÐÐ
­ÚÐ-ùÐÐ
­‘ÚÐ-úÐÐ
­’ÚÐ-WÐÐ
­“ÚÐ-òÐÐ
­”ÚÐ-óÐÐ
­•ÚÐ-ôÐÐ
­–ÚÐ-õÐÐ
­—ÚÐ-ûÐÐ
­˜ÚÐ-÷ÐÐ
­™ÚÐ-üÐÐ
­šÚÐ-ùÐÐ
­›ÚÐ-ýÐÐ
­œÚÐ-WÐÐ
­ÚÐ-òÐÐ
­žÚÐ-óÐÐ
­ŸÚÐ-ôÐÐ
­ ÚÐ-õÐÐ
­¡ÚÐ-þÐÐ
­¢ÚÐ-÷ÐÐ
­£ÚÐ-øÐÐ
­¤ÚÐ-ùÐÐ
­¥ÚÐ-úÐÐ
­¦ÚÐ-WÐÐ
­§ÚÐ-òÐÐ
­¨ÚÐ-óÐÐ
­©ÚÐ-ôÐÐ
­ªÚÐ-ÿÐÐ
­«ÚÐ-€ÐÐ
­¬ÚÐ-÷ÐÐ
­­ÚÐ-üÐÐ
­®ÚÐ-ùÐÐ
­¯ÚÐ-ýÐÐ
­°ÚÐ-WÐÐ
­±ÚÐ-òÐÐ
­²ÚÐ-óÐÐ
­³ÚÐ-ôÐÐ
­´ÚÐ-ÐÐ
­µÚÐ-œÐÐ
­¶ÚÐ-ÐÐ
­·ÚÐ-‚ÐÐ
­¸ÚÐ-ƒÐÐ
­¹ÚÐ-„ÐÐ
­ºÚÐ-ÐÐ
­»ÚÐ-…ÐÐ
­¼ÚÐ-ÐÐ
­½ÚÐ-†ÐÐ
­¾ÚÐ-‡ÐÐ
­¿ÚÐ-ˆÐÐ
­ÀÚÐ-‰ÐÐ
­ÁÚÐ-ŠÐÐ
­ÂÚÐ-‹ÐÐ
­ÃÚÐ-ÐÐ
­ÄÚÐ-ŒÐÐ
­ÅÚÐ-ÐÐ
­ÆÚÐ-ÐÐ
­ÇÚÐ-ŽÐÐ
­ÈÚÐ-ÐÐ
­ÉÚÐ-ÐÐ
­
+ÚÐ-Б’Ð	E
+—ÐÐ
­ËÚÐ-“ÐÐ
­ÌÚÐ-”ÐÐ
­ÍÚÐ-•ÐÐ
­ÎÚÐ-–ÐÐ
­ÏÚÐ-—ÐÐ
­ÐÚÐ-˜ÐÐ
­ÑÚÐ-™ÐÐ
­ÒÚÐ-šÐÐ
­ëÚÐ-›ÐÐ
­ìÚÐ-œÐÐ
­íÚÐ-ÐÐ
­îÚÐ-žÐÐ
­ÕÚÐ-ŸÐÐ
­ÖÚÐ- ÐÐ
­×ÚÐ-¡ÐÐ
­ØÚÐ-¢ÐÐ
­ÙÚÐ-£ÐÐ
­ÚÚÐ-¤ÐÐ
­ÛÚÐ-¥ÐÐ
­ÜÚÐ-¦ÐÐ
­ÝÚÐ-§ÐÐ
­ÞÚÐ-¨ÐÐ
­ßÚÐ-©ÐÐ
­àÚÐ-ªÐÐ
­áÚÐ-«ÐÐ
­âÚÐ-¬ÐÐ
­ãÚÐ-­ÐÐ
­äÚÐ-®ÐÐ
­åÚÐ-¯ÐÐ
­æÚÐ-°ÐÐ
­çÚÐ-±ÐÐ
­vÚÐ-²ÐÐ
­wÚÐ-³ÐÐ
­èÚÐ-´ÐÐ
­ÜÚÐ-µÐÐ
­éÚÐ-ÐÐ
­êÚÐ-¶ÐÐ
­ëÚÐ-·ÐÐ
­ìÚÐ-¸ÐÐ
­íÚÐ-¹ÐÐ
­îÚÐ-ºÐÐ
­ïÚÐ-»ÐÐ
­ðÚÐ-¼ÐÐ
­ñÚÐ-½ÐÐ
­òÚÐ-¾ÐÐ
­óÚÐ-¿ÐÐ
­ôÚÐ-ÀÐÐ
­ÐÚÐ-ÁÐÐ
­ÖÚÐ-ÂÐÐ
­õÚÐ-ÃÐÐ
­øÚÐ-ÐÐ
­ùÚÐ-ÄÐÐ
­úÚÐ-ÅÐÐ
­ûÚÐ-ÆÐÐ
­üÚÐ-ÇÐÐ
­ýÚÐ-ÈÐÐ
­þÚÐ-ÉÐÐ
­ÿÚÐ-ÊÐÐ
­ÚÐ-ËÐÐ
­ÚÐ-ÌÐÐ
­ÚÐ-ÍÐÐ
­ÚÐ-ÎÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÏÐÐ
­ÚÐ-ÐÐÐ
­ÚÐ-ÑÐÐ
­ÚÐ-ÒÐÐ
­	ÚÐ-ÐÐ
­
+ÚÐ-ÓÐÐ
­ÚÐ-ÔÐÐ
­ÚÐ-ÕÐÐ
­
ÚÐ-ÖÐÐ
­ÚÐ-×ÐÐ
­ÚÐ-ØÐÐ
­ÚÐ-ÙÐÐ
­ÚÐ-ÚÐÐ
­ÚÐ-ÛÐÐ
­ÚÐ-ÜÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÝÐÐ
­ÚÐ-ÞÐÐ
­ÚÐ-ßÐÐ
­ÚÐ-àÐÐ
­ÚÐ-ÐÐ
­ÚÐ-áÐÐ
­ÚÐ-âÐÐ
­ÚÐ-ãÐÐ
­ÚÐ-äÐÐ
­ÚÐ-åÐÐ
­ÚÐ-æÐÐ
­ ÚÐ-çÐÐ
­!ÚÐ-èÐÐ
­"ÚÐ-éÐÐ
­#ÚÐ-êÐÐ
­$ÚÐ-ëÐÐ
­%ÚÐ-ìÐÐ
­&ÚÐ-íÐÐ
­'ÚÐ-îÐÐ
­(ÚÐ-ïÐÐ
­)ÚÐ-ðÐÐ
­*ÚÐ-ñÐÐ
­+ÚÐ-òÐÐ
­,ÚÐ-óÐÐ
­-ÚÐ-ÐÐ
­.ÚÐ-ôÐÐ
­/ÚÐ-õÐÐ
­0ÚÐ-öÐÐ
­1ÚÐ-÷ÐÐ
­2ÚÐ-øÐÐ
­3ÚÐ-ÐÐ
­4ÚÐ-ùÐÐ
­5ÚÐ-úÐÐ
­6ÚÐ-ûÐÐ
­7ÚÐ-üÐÐ
­8ÚÐ-ýÐÐ
­9ÚÐ-ÐÐ
­:ÚÐ-þÐÐ
­;ÚÐ-ÿÐÐ
­=ÚÐ-ÐÐ
­>ÚÐ-ÐÐ
­?ÚÐ-ÐÐ
­@ÚÐ-ÐÐ
­AÚÐ-ÐÐ
­BÚÐ-€ÐÐ
­CÚÐ-ÐÐ
­DÚÐ-‚ÐÐ
­EÚÐ-ƒÐÐ
­FÚÐ-„ÐÐ
­GÚÐ-…ÐÐ
­HÚÐ-†ÐÐ
­IÚÐ-‡ÐÐ
­ ÚÐ-ˆÐÐ
­KÚÐ-‰ÐÐ
­LÚÐ-ŠÐÐ
­,ÚÐ-‹ÐÐ
­NÚÐ-ŒÐÐ
­äÚÐ-ÐÐ
­åÚÐ-ÐÐ
­æÚÐ-ÐÐ
­OÚÐ-ŽÐÐ
­PÚÐ-ÐÐ
­QÚÐ-ÐÐ
­RÚÐ-ŽÐÐ
­SÚÐ-‘ÐÐ
­TÚÐ-’ÐÐ
­UÚÐ-ÐÐ
­VÚÐ-“ÐÐ
­WÚÐ-”ÐÐ
­XÚÐ-ŽÐÐ
­YÚÐ-ÐÐ
­ÚÐ-Е-–З˜-™š›М­
\ No newline at end of file