From a45fd3a3d1a4f9e6355c816cb032ff4b6fc5f9a5 Mon Sep 17 00:00:00 2001 From: Gavin Date: Wed, 22 Nov 2017 14:56:49 +0800 Subject: [PATCH 1/3] add clear.bat --- Document/FAQ.doc | Bin 35328 -> 35328 bytes SCADA/Database/mysql.sql | 802 ++- .../HMIControl/bin/Debug/DataHelper.dll | Bin 44544 -> 0 bytes .../HMIControl/bin/Debug/DataService.dll | Bin 81920 -> 0 bytes .../HMIControl/bin/Debug/Femiani.Forms.UI.dll | Bin 36864 -> 0 bytes .../Debug/HMIControl.Expression.Design.dll | Bin 73728 -> 0 bytes .../Debug/HMIControl.VisualStudio.Design.dll | Bin 76800 -> 0 bytes .../HMIControl.VisualStudio.Design.dll.config | 10 - .../HMIControl/bin/Debug/HMIControl.dll | Bin 901632 -> 0 bytes .../Debug/Microsoft.Expression.Controls.dll | Bin 54272 -> 0 bytes .../Debug/Microsoft.Expression.Drawing.dll | Bin 122880 -> 0 bytes ...Microsoft.Windows.Design.Extensibility.dll | Bin 121736 -> 0 bytes ...Microsoft.Windows.Design.Extensibility.xml | 1119 ---- .../Microsoft.Windows.Design.Interaction.dll | Bin 416648 -> 0 bytes .../Microsoft.Windows.Design.Interaction.xml | 5841 ----------------- .../HMIControl/bin/Debug/MySql.Data.dll | Bin 424448 -> 0 bytes ...Windows.Design.Extensibility.resources.dll | Bin 14752 -> 0 bytes ...t.Windows.Design.Interaction.resources.dll | Bin 21920 -> 0 bytes .../SiemensPLCDriver/SiemensPLCDriver.csproj | 2 +- SCADA/Program/clear.bat | 13 + SCADA/dll/SiemensPLCDriver.dll | Bin 22528 -> 22528 bytes 21 files changed, 406 insertions(+), 7381 deletions(-) delete mode 100644 SCADA/Program/HMIControl/bin/Debug/DataHelper.dll delete mode 100644 SCADA/Program/HMIControl/bin/Debug/DataService.dll delete mode 100644 SCADA/Program/HMIControl/bin/Debug/Femiani.Forms.UI.dll delete mode 100644 SCADA/Program/HMIControl/bin/Debug/HMIControl.Expression.Design.dll delete mode 100644 SCADA/Program/HMIControl/bin/Debug/HMIControl.VisualStudio.Design.dll delete mode 100644 SCADA/Program/HMIControl/bin/Debug/HMIControl.VisualStudio.Design.dll.config delete mode 100644 SCADA/Program/HMIControl/bin/Debug/HMIControl.dll delete mode 100644 SCADA/Program/HMIControl/bin/Debug/Microsoft.Expression.Controls.dll delete mode 100644 SCADA/Program/HMIControl/bin/Debug/Microsoft.Expression.Drawing.dll delete mode 100644 SCADA/Program/HMIControl/bin/Debug/Microsoft.Windows.Design.Extensibility.dll delete mode 100644 SCADA/Program/HMIControl/bin/Debug/Microsoft.Windows.Design.Extensibility.xml delete mode 100644 SCADA/Program/HMIControl/bin/Debug/Microsoft.Windows.Design.Interaction.dll delete mode 100644 SCADA/Program/HMIControl/bin/Debug/Microsoft.Windows.Design.Interaction.xml delete mode 100644 SCADA/Program/HMIControl/bin/Debug/MySql.Data.dll delete mode 100644 SCADA/Program/HMIControl/bin/Debug/zh-Hans/Microsoft.Windows.Design.Extensibility.resources.dll delete mode 100644 SCADA/Program/HMIControl/bin/Debug/zh-Hans/Microsoft.Windows.Design.Interaction.resources.dll create mode 100644 SCADA/Program/clear.bat diff --git a/Document/FAQ.doc b/Document/FAQ.doc index ae8806abe2fa759868650e75f60c3546e2a5da80..72e92d72bf8a3ab3e703c6fad81475bf8de779f4 100644 GIT binary patch delta 1343 zcmbW1TS!z}7{|Z0_jbFJY`o5l(~NUdO9`E9y3oa}M4}i?N4lb==E*F&kx>*Wb;yFl zq56D~9u9O!Du^!b=$;Wta1I1Q4?zV*A%ua@OHe&@{@;uP2hMqjzRhp_*ZS7&zt(2& z-hQpOU%T$rR4x0o3N6FnI&H+9@Du%^IG~4kp&p2}qNx#4J5=IFvrQ2dWxbQ2BpIwPDTF8&=c5396!r7}R`zun2a zEW8%gQvPVv_YC@y*|;mI-w{%)&VKW$rTw`|W{IANCqzdCS!K5n(@W~cfSgHT+X+)w;nf{WCtQX1n$W_^ZSphTY^ zw^*X#1|VE!xzz-JGasp)_WksSj=*dxr}W0Q_DEw5bx<31(>4lrIW}vNOsYg5|L$@+ z=b-ZJ%=Hd`cUIf}jlz5pWg^fGa@ejR2YZ61)aEIAI=e0uS(l00@B+FcXx68c+*9kB_|_d-Zng z`QO8LZ(JTsKId;FFMzny8u6OW&hsrth@f|l;x#+;F6mCRcvtbtbVq(?#V-$tZx{Q_ zDNd>LXmLf0OMHnZ@#6;Krx1vrA|QUsz$_r1BA^mP!91`4ECh=|6{rTwLBhM;TrxgW zh3%E~JCq9Z%{6g+Tvo%3G}*P*jyCL;^o7P1OQsk^8Iw$f3Yn8QpjjXXl=6E6Z#G|Vp=tO^k7vLRu4}NC#B7@F01v#^6nlkLdrfz-4R$MB!BnylI zi73chkWKGrxoC4&0pSJkt#zk#x#Oz!UutA$Igf;VRo|;suS)n5Z?yh+nnFHNM>D0G z7mY+kC=L&y8fe*of3<$C}C delta 1271 zcmbW1S!k0%5XWb~@5`51v}sLj(~xKqZ9LJ~iWVatC|HGBn-pu6rnW(?m3kDsz@r|Z zf_RO`n^dief_QvBc%otv1bxxIDI!Qg>YIwhTCM*{j0pN5PWbK2&hG5YPO@n`rnMc@ zuKF|;X1_K;>(zOI)@gPPBRZuxpoe&>9;ld$sYXQephf;gkHEgxAki5Fx-prKc?;r$ ze8h0^ZGEO{;jj9X;)C!NU@hv!@E3i-Lv)jCjNyZ&ir*#bWo4T@S~iIMxt#IK!HZxP z@_VCl2m3SLcwt8OL&SR1{_a4c@rBBGi5^K!kouyGu0h%R%=12oYT85#EVGSLC z;xP`7>f*2FeHF9r*zY;V*<+2#NNf%*r$*X9D=FCQtk)tBnz~o6TfQdAi3uyh)vpho zOKOopWOWu!)41ITT=(WV26PM|Iu9ziYG@Hp4tcpQl*^}#{G)A#wKjBEt+Fk_@hYNc zO{WuEC8+63(+MJ{-YoY|&p1(Bt_JYsVn25kk4?CxZb>eQQ$P}b2a?zTk~jwp1d==t z3IiS0NNC|M4<vy316m+1j#uulWPT80vWd diff --git a/SCADA/Database/mysql.sql b/SCADA/Database/mysql.sql index 504c9e0..a9c6d19 100644 --- a/SCADA/Database/mysql.sql +++ b/SCADA/Database/mysql.sql @@ -1,410 +1,392 @@ -/* -SQLyog Enterprise Trial - MySQL GUI v7.11 -MySQL - 5.7.20-log : Database - scada -********************************************************************* -*/ - -/*!40101 SET NAMES utf8 */; - -/*!40101 SET SQL_MODE=''*/; - -/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; -/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; - -CREATE DATABASE /*!32312 IF NOT EXISTS*/`scada` /*!40100 DEFAULT CHARACTER SET utf8 */; - -USE `scada`; - -/*Table structure for table `dictionary` */ - -DROP TABLE IF EXISTS `dictionary`; - -CREATE TABLE `dictionary` ( - `DictType` varchar(50) COLLATE latin1_german1_ci NOT NULL DEFAULT '', - `Code` varchar(50) COLLATE latin1_german1_ci NOT NULL DEFAULT '', - `Description` varchar(50) COLLATE latin1_german1_ci DEFAULT '' -) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci; - -/*Data for the table `dictionary` */ - -/*Table structure for table `log_alarm` */ - -DROP TABLE IF EXISTS `log_alarm`; - -CREATE TABLE `log_alarm` ( - `StartTime` datetime DEFAULT NULL, - `Source` varchar(50) COLLATE latin1_german1_ci DEFAULT '', - `ConditionID` int(11) DEFAULT '0', - `AlarmText` varchar(128) COLLATE latin1_german1_ci DEFAULT '', - `AlarmValue` text COLLATE latin1_german1_ci, - `Duration` int(11) DEFAULT '0', - `Severity` int(11) DEFAULT '0', - `SubAlarmType` int(11) DEFAULT '0' -) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci; - -/*Data for the table `log_alarm` */ - -/*Table structure for table `log_event` */ - -DROP TABLE IF EXISTS `log_event`; - -CREATE TABLE `log_event` ( - `EventType` int(11) DEFAULT NULL, - `Severity` int(11) DEFAULT NULL, - `IsAcked` bit(1) DEFAULT NULL, - `ActiveTime` datetime DEFAULT NULL, - `Source` varchar(50) DEFAULT NULL, - `Comment` varchar(50) DEFAULT NULL, - `SQLCounter` int(11) NOT NULL AUTO_INCREMENT, - PRIMARY KEY (`SQLCounter`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8; - -/*Data for the table `log_event` */ - -/*Table structure for table `log_hdata` */ - -DROP TABLE IF EXISTS `log_hdata`; - -CREATE TABLE `log_hdata` ( - `ID` int(11) NOT NULL DEFAULT '0', - `TimeStamp` datetime NOT NULL, - `Value` text COLLATE latin1_german1_ci -) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci; - -/*Data for the table `log_hdata` */ - -/*Table structure for table `membership` */ - -DROP TABLE IF EXISTS `membership`; - -CREATE TABLE `membership` ( - `ID` int(11) NOT NULL AUTO_INCREMENT, - `UserName` varchar(50) COLLATE latin1_german1_ci NOT NULL DEFAULT '', - `Password` varchar(50) COLLATE latin1_german1_ci NOT NULL DEFAULT '', - `Role` int(11) NOT NULL DEFAULT '0', - `Email` varchar(50) COLLATE latin1_german1_ci DEFAULT '', - `Phone` varchar(50) COLLATE latin1_german1_ci DEFAULT '', - PRIMARY KEY (`ID`) -) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci; - -/*Data for the table `membership` */ - -insert into `membership`(`ID`,`UserName`,`Password`,`Role`,`Email`,`Phone`) values (1,'admin','c4ca4238a0b923820dcc509a6f75849b',4,NULL,NULL),(2,'op','c4ca4238a0b923820dcc509a6f75849b',1,NULL,NULL),(3,'everyone','c4ca4238a0b923820dcc509a6f75849b',1,NULL,NULL); - -/*Table structure for table `meta_condition` */ - -DROP TABLE IF EXISTS `meta_condition`; - -CREATE TABLE `meta_condition` ( - `TypeID` int(11) NOT NULL AUTO_INCREMENT, - `Source` varchar(50) COLLATE latin1_german1_ci NOT NULL DEFAULT '', - `AlarmType` int(11) NOT NULL DEFAULT '0', - `EventType` tinyint(4) NOT NULL DEFAULT '0', - `ConditionType` tinyint(4) NOT NULL DEFAULT '0', - `Para` text COLLATE latin1_german1_ci, - `IsEnabled` tinyint(4) NOT NULL DEFAULT '1', - `DeadBand` text COLLATE latin1_german1_ci, - `Delay` int(11) NOT NULL DEFAULT '0', - `Comment` varchar(50) COLLATE latin1_german1_ci DEFAULT '', - PRIMARY KEY (`TypeID`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci; - -/*Data for the table `meta_condition` */ - -/*Table structure for table `meta_driver` */ - -DROP TABLE IF EXISTS `meta_driver`; - -CREATE TABLE `meta_driver` ( - `DriverID` int(11) NOT NULL DEFAULT '0', - `DriverType` int(11) NOT NULL DEFAULT '0', - `DriverName` varchar(64) COLLATE latin1_german1_ci NOT NULL DEFAULT '', - `TimeOut` int(11) NOT NULL DEFAULT '0', - `Server` varchar(128) COLLATE latin1_german1_ci DEFAULT '', - `Spare1` varchar(50) COLLATE latin1_german1_ci DEFAULT '', - `Spare2` varchar(50) COLLATE latin1_german1_ci DEFAULT '' -) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci; - -/*Data for the table `meta_driver` */ - -insert into `meta_driver`(`DriverID`,`DriverType`,`DriverName`,`TimeOut`,`Server`,`Spare1`,`Spare2`) values (1,3,'S1',1000,'127.0.0.1','{6E6170F0-FF2D-11D2-8087-00105AA8F840}','9600'),(2,5,'Modbus',1000,'127.0.0.1','','2'); - -/*Table structure for table `meta_group` */ - -DROP TABLE IF EXISTS `meta_group`; - -CREATE TABLE `meta_group` ( - `GroupID` int(11) NOT NULL DEFAULT '0', - `DriverID` int(11) DEFAULT '0', - `GroupName` varchar(20) COLLATE latin1_german1_ci DEFAULT '', - `UpdateRate` int(11) DEFAULT '0', - `DeadBand` text COLLATE latin1_german1_ci, - `IsActive` tinyint(4) NOT NULL DEFAULT '1' -) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci; - -/*Data for the table `meta_group` */ - -insert into `meta_group`(`GroupID`,`DriverID`,`GroupName`,`UpdateRate`,`DeadBand`,`IsActive`) values (20001,1,'Receiving1',300,'0',0),(20002,1,'Receiving2',0,'0',0),(20003,2,'test',1000,'0',1); - -/*Table structure for table `meta_scale` */ - -DROP TABLE IF EXISTS `meta_scale`; - -CREATE TABLE `meta_scale` ( - `ScaleID` int(11) NOT NULL DEFAULT '0', - `ScaleType` tinyint(4) NOT NULL DEFAULT '0', - `EUHi` text COLLATE latin1_german1_ci, - `EULo` text COLLATE latin1_german1_ci, - `RawHi` text COLLATE latin1_german1_ci, - `RawLo` text COLLATE latin1_german1_ci -) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci; - -/*Data for the table `meta_scale` */ - -/*Table structure for table `meta_subcondition` */ - -DROP TABLE IF EXISTS `meta_subcondition`; - -CREATE TABLE `meta_subcondition` ( - `ConditionID` int(11) NOT NULL DEFAULT '0', - `SubAlarmType` int(11) NOT NULL DEFAULT '0', - `Threshold` text COLLATE latin1_german1_ci, - `Severity` tinyint(4) NOT NULL DEFAULT '0', - `Message` varchar(250) COLLATE latin1_german1_ci DEFAULT '', - `IsEnable` tinyint(4) NOT NULL DEFAULT '1' -) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci; - -/*Data for the table `meta_subcondition` */ - -/*Table structure for table `meta_tag` */ - -DROP TABLE IF EXISTS `meta_tag`; - -CREATE TABLE `meta_tag` ( - `TagID` smallint(5) NOT NULL AUTO_INCREMENT, - `TagName` varchar(512) NOT NULL, - `DataType` tinyint(3) unsigned NOT NULL, - `DataSize` smallint(5) NOT NULL DEFAULT '0', - `Address` varchar(64) NOT NULL, - `GroupID` smallint(5) NOT NULL DEFAULT '0', - `IsActive` bit(1) NOT NULL, - `Archive` bit(1) NOT NULL, - `DefaultValue` blob, - `Description` varchar(128) DEFAULT NULL, - `Maximum` float(24,2) NOT NULL DEFAULT '0.00', - `Minimum` float(24,2) NOT NULL DEFAULT '0.00', - `Cycle` int(10) NOT NULL DEFAULT '0', - `RowVersion` blob NOT NULL, - UNIQUE KEY `TagID` (`TagID`) -) ENGINE=InnoDB AUTO_INCREMENT=159 DEFAULT CHARSET=utf8; - -/*Data for the table `meta_tag` */ - -insert into `meta_tag`(`TagID`,`TagName`,`DataType`,`DataSize`,`Address`,`GroupID`,`IsActive`,`Archive`,`DefaultValue`,`Description`,`Maximum`,`Minimum`,`Cycle`,`RowVersion`) values (2,'Receiving1_AlmAck',1,1,'Channel4.Receiving1.K0008.10',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0划'),(3,'Receiving1_888',1,1,'Channel4.Receiving1.K0006.14',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0化'),(4,'Receiving1_Conveyor3_Running',1,1,'Channel4.Receiving1.K0006.10',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0话'),(5,'Receiving1_Conveyor4_Alarm',1,1,'Channel4.Receiving1.K0001.04',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0槐'),(6,'Receiving1_Conveyor4_Running',1,1,'Channel4.Receiving1.K0001.03',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0徊'),(7,'Receiving1_Conveyor5_Alarm',1,1,'Channel4.Receiving1.K0008.00',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0怀'),(8,'Receiving1_Conveyor5_Running',1,1,'Channel4.Receiving1.K0007.10',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0淮'),(9,'Receiving1_Conveyor6_Alarm',1,1,'Channel4.Receiving1.K0008.08',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0坏'),(10,'Receiving1_Conveyor6_Running',1,1,'Channel4.Receiving1.K0005.14',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0欢'),(11,'Receiving1_Conveyor7_Alarm',1,1,'Channel4.Receiving1.K0006.13',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0环'),(12,'Receiving1_Conveyor7_Running',1,1,'Channel4.Receiving1.K0006.12',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0桓'),(13,'Receiving1_Conveyor8_Running',1,1,'Channel4.Receiving1.K0001.12',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0还'),(14,'Receiving1_Conveyor9_Alarm',1,1,'Channel4.Receiving1.K0001.08',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0缓'),(15,'Receiving1_Conveyor9_Running',1,1,'Channel4.Receiving1.K0001.08',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0换'),(16,'Receiving1_DF01SQH_Alarm',1,1,'Channel4.Receiving1.K0002.06',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0患'),(17,'Receiving1_DF01SQL_Alarm',1,1,'Channel4.Receiving1.K0003.02',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0唤'),(18,'Receiving1_DF02SQH_Alarm',1,1,'Channel4.Receiving1.K0002.05',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0痪'),(19,'Receiving1_DF02SQL_Alarm',1,1,'Channel4.Receiving1.K0003.03',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0豢'),(20,'Receiving1_DF03SQH_Alarm',1,1,'Channel4.Receiving1.K0002.04',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0焕'),(21,'Receiving1_DF03SQL_Alarm',1,1,'Channel4.Receiving1.K0003.04',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0涣'),(22,'Receiving1_DF04SQH_Alarm',1,1,'Channel4.Receiving1.K0002.03',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0宦'),(23,'Receiving1_DF04SQL_Alarm',1,1,'Channel4.Receiving1.K0003.05',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0幻'),(24,'Receiving1_DF05SQH_Alarm',1,1,'Channel4.Receiving1.K0002.02',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0荒'),(25,'Receiving1_DF05SQL_Alarm',1,1,'Channel4.Receiving1.K0003.06',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0慌'),(26,'Receiving1_DF06SQL_Alarm',1,1,'Channel4.Receiving1.K0002.02',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0黄'),(27,'Receiving1_F01SQH_Alarm',1,1,'Channel4.Receiving1.K0007.09',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0磺'),(28,'Receiving1_F02SQH_Alarm',1,1,'Channel4.Receiving1.K0007.08',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0蝗'),(29,'Receiving1_F03SQH_Alarm',1,1,'Channel4.Receiving1.K0007.07',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0簧'),(30,'Receiving1_F04SQH_Alarm',1,1,'Channel4.Receiving1.K0007.06',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0皇'),(31,'Receiving1_F05SQH_Alarm',1,1,'Channel4.Receiving1.K0007.05',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0凰'),(32,'Receiving1_F06SQH_Alarm',1,1,'Channel4.Receiving1.K0007.03',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0惶'),(33,'Receiving1_Fan1_Alarm',1,1,'Channel4.Receiving1.K0008.07',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0煌'),(34,'Receiving1_Fan1_Running',1,1,'Channel4.Receiving1.K0008.06',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0晃'),(35,'Receiving1_Fan2_Running',1,1,'Channel4.Receiving1.K0008.07',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0幌'),(36,'Receiving1_Fan3_Running',1,1,'Channel4.Receiving1.K0001.13',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0恍'),(37,'Receiving1_FourWays_Left',1,1,'Channel4.Receiving1.K0006.08',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0谎'),(38,'Receiving1_FourWays_MID',1,1,'Channel4.Receiving1.K0006.09',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0灰'),(39,'Receiving1_FourWays_Right',1,1,'Channel4.Receiving1.K0006.15',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0挥'),(40,'Receiving1_Gate1_Ols',1,1,'Channel4.Receiving1.K0000.01',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0辉'),(41,'Receiving1_Gate10_Alarm',1,1,'Channel4.Receiving1.K0003.11',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0徽'),(42,'Receiving1_Gate10_Cls',1,1,'Channel4.Receiving1.K0004.07',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0恢'),(43,'Receiving1_Gate10_Ols',1,1,'Channel4.Receiving1.K0004.00',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0蛔'),(44,'Receiving1_Gate11_Alarm',1,1,'Channel4.Receiving1.K0005.04',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0回'),(45,'Receiving1_Gate11_Cls',1,1,'Channel4.Receiving1.K0001.00',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0毁'),(46,'Receiving1_Gate11_Ols',1,1,'Channel4.Receiving1.K0005.03',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0悔'),(47,'Receiving1_Gate12_Alarm',1,1,'Channel4.Receiving1.K0005.02',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0慧'),(48,'Receiving1_Gate12_Cls',1,1,'Channel4.Receiving1.K0001.01',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0卉'),(49,'Receiving1_Gate12_Ols',1,1,'Channel4.Receiving1.K0005.02',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0惠'),(50,'Receiving1_Gate13_Alarm',1,1,'Channel4.Receiving1.K0005.01',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0晦'),(51,'Receiving1_Gate13_Cls',1,1,'Channel4.Receiving1.K0001.02',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0贿'),(52,'Receiving1_Gate13_Ols',1,1,'Channel4.Receiving1.K0005.00',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0秽'),(53,'Receiving1_Gate14_Alarm',1,1,'Channel4.Receiving1.K0005.07',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0会'),(54,'Receiving1_Gate14_Cls',1,1,'Channel4.Receiving1.K0000.15',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0烩'),(55,'Receiving1_Gate14_Ols',1,1,'Channel4.Receiving1.K0005.05',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0汇'),(56,'Receiving1_Gate15_Alarm',1,1,'Channel4.Receiving1.K0005.06',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0讳'),(57,'Receiving1_Gate15_Cls',1,1,'Channel4.Receiving1.K0000.14',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0诲'),(58,'Receiving1_Gate15_Ols',1,1,'Channel4.Receiving1.K0005.08',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0绘'),(59,'Receiving1_Gate16_Ols',1,1,'Channel4.Receiving1.K0000.11',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0荤'),(60,'Receiving1_Gate17_Ols',1,1,'Channel4.Receiving1.K0000.10',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0昏'),(61,'Receiving1_Gate18_Ols',1,1,'Channel4.Receiving1.K0000.09',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0婚'),(62,'Receiving1_Gate19_Ols',1,1,'Channel4.Receiving1.K0000.08',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0魂'),(63,'Receiving1_Gate20_Ols',1,1,'Channel4.Receiving1.K0000.07',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0浑'),(64,'Receiving1_Gate21_Ols',1,1,'Channel4.Receiving1.K0000.01',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0混'),(65,'Receiving1_Gate3_Alarm',1,1,'Channel4.Receiving1.K0005.12',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0豁'),(66,'Receiving1_Gate3_Cls',1,1,'Channel4.Receiving1.K0000.12',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0活'),(67,'Receiving1_Gate3_Ols',1,1,'Channel4.Receiving1.K0005.11',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0伙'),(68,'Receiving1_Gate4_Alarm',1,1,'Channel4.Receiving1.K0005.10',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0火'),(69,'Receiving1_Gate4_Cls',1,1,'Channel4.Receiving1.K0000.13',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0获'),(70,'Receiving1_Gate4_Ols',1,1,'Channel4.Receiving1.K0005.09',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0或'),(71,'Receiving1_Gate5_Alarm',1,1,'Channel4.Receiving1.K0003.07',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0惑'),(72,'Receiving1_Gate5_Cls',1,1,'Channel4.Receiving1.K0004.01',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0霍'),(73,'Receiving1_Gate5_Ols',1,1,'Channel4.Receiving1.K0000.06',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0货'),(74,'Receiving1_Gate6_Alarm',1,1,'Channel4.Receiving1.K0003.08',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0祸'),(75,'Receiving1_Gate6_Cls',1,1,'Channel4.Receiving1.K0004.02',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0击'),(76,'Receiving1_Gate6_Ols',1,1,'Channel4.Receiving1.K0000.05',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0圾'),(77,'Receiving1_Gate7_Alarm',1,1,'Channel4.Receiving1.K0003.09',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0基'),(78,'Receiving1_Gate7_Cls',1,1,'Channel4.Receiving1.K0004.04',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0机'),(79,'Receiving1_Gate7_Ols',1,1,'Channel4.Receiving1.K0000.04',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0畸'),(80,'Receiving1_Gate8_Alarm',1,1,'Channel4.Receiving1.K0003.09',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0稽'),(81,'Receiving1_Gate8_Cls',1,1,'Channel4.Receiving1.K0004.05',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0积'),(82,'Receiving1_Gate8_Ols',1,1,'Channel4.Receiving1.K0000.03',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0箕'),(83,'Receiving1_Gate9_Alarm',1,1,'Channel4.Receiving1.K0003.10',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(84,'Receiving1_Gate9_Cls',1,1,'Channel4.Receiving1.K0004.06',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(85,'Receiving1_Gate9_Ols',1,1,'Channel4.Receiving1.K0000.02',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(86,'Receiving1_Gate9_Ols4',1,1,'Channel4.Receiving1.K0000.02',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(87,'Receiving1_Gate9_Ols5',1,1,'Channel4.Receiving1.K0000.02',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(88,'Receiving1_Gate9_Ols6',1,1,'Channel4.Receiving1.K0000.02',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(89,'Receiving1_Gate9_Ols7',1,1,'Channel4.Receiving1.K0000.02',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(90,'Receiving1_Gate9_Ols8',1,1,'Channel4.Receiving1.K0000.02',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(91,'Receiving1_Gate9_Ols9',1,1,'Channel4.Receiving1.K0000.02',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(92,'Receiving1_leg1alm',1,1,'Channel4.Receiving1.K0010.00',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0 '),(93,'Receiving1_LegMotor1_Overload',8,4,'Channel4.Receiving1.R0016',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0糪n'),(94,'Receiving1_LegMotor1_Running',1,1,'Channel4.Receiving1.K0006.01',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0 '),(95,'Receiving1_LegMotor2_Overload',8,4,'Channel4.Receiving1.R0024',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0 '),(96,'Receiving1_LegMotor2_Running',1,1,'Channel4.Receiving1.K0005.15',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0糪r'),(97,'Receiving1_Legmotor2Speed_Speed',8,4,'Channel4.Receiving1.R0028',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(98,'Receiving1_LegMotor3_Overload',8,4,'Channel4.Receiving1.R0044',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(99,'Receiving1_LegMotor3_Running',1,1,'Channel4.Receiving1.K0006.00',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(100,'Receiving1_Legmotor3Curr_Digi',8,4,'Channel4.Receiving1.R0036',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(101,'Receiving1_Legmotor3Speed_Speed',8,4,'Channel4.Receiving1.R0048',20001,'','',NULL,'鎻愬崌鏈烘祴閫',0.00,0.00,0,'\0\0\0\0\0'),(102,'Receiving1_LegMotor4_Overload',8,4,'Channel4.Receiving1.R0004',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(103,'Receiving1_LegMotor4_Running',1,1,'Channel4.Receiving1.K0001.06',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(104,'Receiving1_Legmotor4Curr_Digi',8,4,'Channel4.Receiving1.R0000',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(105,'Receiving1_LocalRemote',1,1,'Channel4.Receiving1.K0008.09',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(106,'Receiving1_MagicRoll1_Alarm',1,1,'Channel4.Receiving1.K0007.02',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(107,'Receiving1_MagicRoll1_Running',1,1,'Channel4.Receiving1.K0006.11',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(108,'Receiving1_MagicRoll2_Alarm',1,1,'Channel4.Receiving1.K0007.01',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(109,'Receiving1_MagicRoll2_Running',1,1,'Channel4.Receiving1.K0006.06',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0糪Z'),(110,'Receiving1_MagicRoll3_Alarm',1,1,'Channel4.Receiving1.K0007.00',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(111,'Receiving1_MagicRoll3_Running',1,1,'Channel4.Receiving1.K0006.04',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(112,'Receiving1_MagicRoll4_Alarm',1,1,'Channel4.Receiving1.K0001.09',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(113,'Receiving1_MagicRoll4_Running',1,1,'Channel4.Receiving1.K0001.09',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(114,'Receiving1_Sifter1_Running',1,1,'Channel4.Receiving1.K0006.07',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(115,'Receiving1_Sifter2_Running',1,1,'Channel4.Receiving1.K0006.05',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0 '),(116,'Receiving1_Sifter3_Alarm',1,1,'Channel4.Receiving1.K0001.10',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0!'),(117,'Receiving1_Sifter3_Running',1,1,'Channel4.Receiving1.K0001.10',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0糪"'),(118,'Receiving1_ThreeWays1_Left',1,1,'Channel4.Receiving1.K0001.07',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0#'),(119,'Receiving1_ThreeWays1_Right',1,1,'Channel4.Receiving1.K0001.05',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0$'),(120,'Receiving1_ThreeWays2_Left',1,1,'Channel4.Receiving1.K0006.03',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0%'),(121,'Receiving1_ThreeWays2_Right',1,1,'Channel4.Receiving1.K0006.02',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0&'),(122,'Receiving2_LegCUR102_Digi',8,4,'Channel4.Receiving1.R0020',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0糪''),(123,'Receiving2_LegCUR106_Digi',8,4,'Channel4.Receiving1.R0012',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0('),(124,'Receiving1_Conveyor1_Alarm',1,1,'Channel4.Receiving2.K0002.11',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0)'),(125,'Receiving1_Conveyor1_Running',1,1,'Channel4.Receiving2.K0002.10',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0*'),(126,'Receiving1_Conveyor2_Alarm',1,1,'Channel4.Receiving2.K0002.09',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0+'),(127,'Receiving1_Conveyor2_Running',1,1,'Channel4.Receiving2.K0002.04',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0,'),(128,'Receiving1_Gate1_Alarm',1,1,'Channel4.Receiving2.K0001.14',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0-'),(129,'Receiving1_Gate1_Cls',1,1,'Channel4.Receiving2.K0001.13',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0.'),(130,'Receiving1_Gate1_Ols',1,1,'Channel4.Receiving2.K0001.11',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0/'),(131,'Receiving1_Gate2_Alarm',1,1,'Channel4.Receiving2.K0001.08',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\00'),(132,'Receiving1_Gate2_Cls',1,1,'Channel4.Receiving2.K0001.09',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\01'),(133,'Receiving1_Gate2_Ols',1,1,'Channel4.Receiving2.K0001.10',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\02'),(134,'Receiving2_Airport1_Alarm',1,1,'Channel4.Receiving2.K0002.08',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\03'),(135,'Receiving2_Airport1_Running',1,1,'Channel4.Receiving2.K0001.05',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\04'),(136,'Receiving2_Airport2_Alarm',1,1,'Channel4.Receiving2.K0001.00',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\05'),(137,'Receiving2_Airport2_Running',1,1,'Channel4.Receiving2.K0001.01',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\06'),(138,'Receiving2_AlmAck',1,1,'Channel4.Receiving2.K0002.02',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\07'),(139,'Receiving2_Converyor1_Running',1,1,'Channel4.Receiving2.K0001.15',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\08'),(140,'Receiving2_Converyor2_Alarm',1,1,'Channel4.Receiving2.K0002.12',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\09'),(141,'Receiving2_Converyor2_Running',1,1,'Channel4.Receiving2.K0002.13',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0:'),(142,'Receiving2_Fan1_Alarm',1,1,'Channel4.Receiving2.K0001.02',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0;'),(143,'Receiving2_Fan1_Running',1,1,'Channel4.Receiving2.K0001.03',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0<'),(144,'Receiving2_Gate1_Alarm',1,1,'Channel4.Receiving2.K0001.04',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0='),(145,'Receiving2_Gate1_Cls',1,1,'Channel4.Receiving2.K0001.06',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0>'),(146,'Receiving2_Gate1_Ols',1,1,'Channel4.Receiving2.K0001.07',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0?'),(147,'Receiving2_Gate2_Ols',1,1,'Channel4.Receiving2.K0002.05',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0粿'),(148,'Receiving2_LegMotor1_Overload',8,4,'Channel4.Receiving2.R0008',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0糀'),(149,'Receiving2_Legmotor1Speed_Speed',8,4,'Channel4.Receiving2.R0012',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0糂'),(150,'Receiving2_LegMotor2_Overload',8,4,'Channel4.Receiving2.R0000',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0糃'),(151,'Receiving2_LegMotor2_Running',1,1,'Channel4.Receiving2.K0002.01',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0糄'),(152,'Receiving2_Legmotor2Speed_Speed',8,4,'Channel4.Receiving2.R0004',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0糆'),(153,'Receiving2_LocalRemote',1,1,'Channel4.Receiving2.K0002.03',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0糉'),(154,'Receiving2_MagicRoll1_Alarm',1,1,'Channel4.Receiving2.K0002.14',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0糋'),(155,'Receiving2_MagicRoll1_Running',1,1,'Channel4.Receiving2.K0002.00',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0糎'),(156,'Receiving2_Sifter1_Alarm',1,1,'Channel4.Receiving2.K0002.15',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0糏'),(157,'Receiving2_Sifter1_Running',1,1,'Channel4.Receiving2.K0002.07',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0糐'),(158,'Receiving2_Sifter1_Running8',1,1,'Channel4.Receiving2.K0002.07',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0糑'); - -/*Table structure for table `registermodule` */ - -DROP TABLE IF EXISTS `registermodule`; - -CREATE TABLE `registermodule` ( - `DriverID` int(10) NOT NULL AUTO_INCREMENT, - `AssemblyName` varchar(255) DEFAULT NULL, - `ClassName` varchar(50) DEFAULT NULL, - `ClassFullName` varchar(128) DEFAULT NULL, - `Description` varchar(50) DEFAULT NULL, - UNIQUE KEY `DriverID` (`DriverID`) -) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8; - -/*Data for the table `registermodule` */ - -insert into `registermodule`(`DriverID`,`AssemblyName`,`ClassName`,`ClassFullName`,`Description`) values (4,'E:\\SCADA\\dll\\OPCDriver.dll','OPCReader','OPCDriver.OPCReader','OPC鍗忚'),(5,'E:\\SCADA\\dll\\FileDriver.dll','DataBaseReader','FileDriver.DataBaseReader','SQL 鏁版嵁搴'),(6,'E:\\SCADA\\dll\\FileDriver.dll','TagDriver','FileDriver.TagDriver','鏍囩鐩存帴璇诲啓'),(8,'E:\\SCADA\\dll\\ModbusDriver.dll','ModbusRTUReader','ModbusDriver.ModbusRTUReader','Modbus RTU鍗忚'),(9,'E:\\SCADA\\dll\\ModbusDriver.dll','ModbusTCPReader','ModbusDriver.ModbusTCPReader','Modbus Tcp鍗忚'),(10,'E:\\SCADA\\dll\\SiemensPLCDriver.dll','SiemensTCPReader','SiemensPLCDriver.SiemensTCPReader','S7 浠ュお缃戝崗璁'); - -/* Procedure structure for procedure `AddEventLog` */ - -/*!50003 DROP PROCEDURE IF EXISTS `AddEventLog` */; - -DELIMITER $$ - -/*!50003 CREATE DEFINER=`root`@`localhost` PROCEDURE `AddEventLog`(IN pStartTime DATETIME, - IN pSource NVARCHAR(50) , - IN pComment NVARCHAR(50)) -BEGIN -IF pComment<>IFNULL((SELECT Comment FROM LOG_EVENT WHERE EVENTTYPE=2 AND Source=Source ORDER BY SQLCOUNTER DESC LIMIT 1),'') THEN - INSERT INTO LOG_EVENT(EVENTTYPE,SEVERITY,ACTIVETIME,SOURCE,COMMENT) VALUES(2,0,pStartTime,pSource,pComment); -END IF; - -END */$$ -DELIMITER ; - -/* Procedure structure for procedure `GetAlarm` */ - -/*!50003 DROP PROCEDURE IF EXISTS `GetAlarm` */; - -DELIMITER $$ - -/*!50003 CREATE DEFINER=`root`@`localhost` PROCEDURE `GetAlarm`(IN pStartTime DATETIME, - IN pEndTime DATETIME ) -BEGIN -SELECT StartTime,AlarmText,AlarmValue,SubAlarmType,Severity,ConditionID,Source,Duration FROM LOG_ALARM WHERE StartTime BETWEEN pStartTime AND pEndTime ORDER BY StartTime; - -END */$$ -DELIMITER ; - -/* Procedure structure for procedure `GetEventTime` */ - -/*!50003 DROP PROCEDURE IF EXISTS `GetEventTime` */; - -DELIMITER $$ - -/*!50003 CREATE DEFINER=`root`@`localhost` PROCEDURE `GetEventTime`(IN pEVENTTYPE int, - IN pSOURCE nvarchar(50), - IN pCOMMENT nvarchar(50), - OUT pSTARTTIME DATETIME, - OUT pENDTIME DATETIME) -BEGIN -DECLARE _ID INT DEFAULT 0; - -SELECT SQLCOUNTER,ACTIVETIME INTO _ID,pSTARTTIME FROM LOG_EVENT WHERE EVENTTYPE=pEVENTTYPE AND SOURCE=pSOURCE AND COMMENT=pCOMMENT ORDER BY ACTIVETIME DESC LIMIT 1; - -SET @sql = CONCAT('SELECT ACTIVETIME INTO ', pENDTIME, ' FROM LOG_EVENT WHERE EVENTTYPE = "', - pEVENTTYPE, '" AND SOURCE = "', pSOURCE, '" AND SQLCOUNTER> ',_ID,' ORDER BY ACTIVETIME DESC LIMIT 1'); - PREPARE stmt FROM @sql; - EXECUTE stmt; - DEALLOCATE PREPARE stmt; -END */$$ -DELIMITER ; - -/* Procedure structure for procedure `InitServer` */ - -/*!50003 DROP PROCEDURE IF EXISTS `InitServer` */; - -DELIMITER $$ - -/*!50003 CREATE DEFINER=`root`@`localhost` PROCEDURE `InitServer`(IN pTYPE int) -BEGIN - - IF pTYPE<>1 THEN - SELECT M.DRIVERID,DRIVERNAME,SERVER,TIMEOUT,R.AssemblyName,R.ClassFullName,Spare1,Spare2 FROM META_DRIVER M INNER JOIN RegisterModule R ON M.DRIVERTYPE=R.DriverID; - END IF; - - SELECT COUNT(*) FROM META_TAG; - - SELECT TAGID,GROUPID,RTRIM(TAGNAME),ADDRESS,DATATYPE,DATASIZE,ARCHIVE,MAXIMUM,MINIMUM,CYCLE FROM META_TAG WHERE ISACTIVE=1; - - IF pTYPE<>1 THEN - SELECT DRIVERID,GROUPNAME,GROUPID,UPDATERATE,DEADBAND,ISACTIVE FROM META_GROUP ; - END IF; - - IF pTYPE=0 THEN - SELECT SOURCE FROM META_Condition WHERE EVENTTYPE=2; - END IF; - - IF pTYPE<>2 THEN - SELECT TYPEID,SOURCE,ALARMTYPE,A.ISENABLED,CONDITIONTYPE,PARA,IFNULL(COMMENT,''),DEADBAND,DELAY,SUBALARMTYPE,Threshold,SEVERITY, - IFNULL(MESSAGE,''),B.ISENABLE FROM META_Condition a LEFT OUTER JOIN META_SUBCONDITION b ON a.TypeID=b.ConditionID WHERE EVENTTYPE<>2; - END IF; - - -- LEFT OUTER JOIN META_TAG c ON a.SOURCEID=c.TAGID - SELECT SCALEID,SCALETYPE,EUHI,EULO,RAWHI,RAWLO FROM META_SCALE; - -END */$$ -DELIMITER ; - -/* Procedure structure for procedure `ReadALL` */ - -/*!50003 DROP PROCEDURE IF EXISTS `ReadALL` */; - -DELIMITER $$ - -/*!50003 CREATE DEFINER=`root`@`localhost` PROCEDURE `ReadALL`(IN pGroupID SMALLINT) -BEGIN - -SELECT COUNT(*) FROM META_TAG WHERE GROUPID=pGroupID AND IsActive=1; -SELECT TAGID,DATATYPE,IFNULL(DEFAULTVALUE,0) FROM META_TAG WHERE IsActive=1 AND GROUPID=pGroupID ORDER BY TAGID; - -END */$$ -DELIMITER ; - -/* Procedure structure for procedure `ReadHData` */ - -/*!50003 DROP PROCEDURE IF EXISTS `ReadHData` */; - -DELIMITER $$ - -/*!50003 CREATE DEFINER=`root`@`localhost` PROCEDURE `ReadHData`(IN pStartTime DATETIME, - IN pEndTime DATETIME, - IN pID INT) -BEGIN - - IF pID IS NULL THEN - SELECT ID,TIMESTAMP,VALUE,M.DATATYPE FROM LOG_HDATA L INNER JOIN META_TAG M ON L.ID=M.TAGID WHERE TIMESTAMP BETWEEN pStartTime AND pEndTime ORDER BY ID,TIMESTAMP; - ELSE - SELECT TIMESTAMP,VALUE,M.DATATYPE FROM LOG_HDATA L INNER JOIN META_TAG M ON L.ID=M.TAGID WHERE ID=pID AND TIMESTAMP BETWEEN pStartTime AND pEndTime ORDER BY TIMESTAMP; - -- select ID,TIMESTAMP,VALUE from HDADATA WHERE TIMESTAMP BETWEEN @StartTime AND @EndTime order by TIMESTAMP - END IF; - -END */$$ -DELIMITER ; - -/* Procedure structure for procedure `ReadValueByID` */ - -/*!50003 DROP PROCEDURE IF EXISTS `ReadValueByID` */; - -DELIMITER $$ - -/*!50003 CREATE DEFINER=`root`@`localhost` PROCEDURE `ReadValueByID`(IN pID SMALLINT, - IN pDATATYPE TinyInt) -BEGIN - - -- 寰呭畬鍠 --- IF @DATATYPE=1 --- SELECT CAST(DEFAULTVALUE AS BIT) FROM META_TAG WHERE TAGID=@ID --- ELSE IF @DATATYPE=3 --- SELECT CAST(DEFAULTVALUE AS TINYINT) FROM META_TAG WHERE TAGID=@ID --- ELSE IF @DATATYPE=4 --- SELECT CAST(DEFAULTVALUE AS SMALLINT) FROM META_TAG WHERE TAGID=@ID --- ELSE IF @DATATYPE=7 --- SELECT CAST(DEFAULTVALUE AS INT) FROM META_TAG WHERE TAGID=@ID --- ELSE IF @DATATYPE=8 --- SELECT CAST(DEFAULTVALUE AS REAL) FROM META_TAG WHERE TAGID=@ID --- ELSE IF @DATATYPE=11 --- SELECT CAST(DEFAULTVALUE AS VARCHAR) FROM META_TAG WHERE TAGID=@ID - -END */$$ -DELIMITER ; - -/* Procedure structure for procedure `UpdateValueByID` */ - -/*!50003 DROP PROCEDURE IF EXISTS `UpdateValueByID` */; - -DELIMITER $$ - -/*!50003 CREATE DEFINER=`root`@`localhost` PROCEDURE `UpdateValueByID`(IN pID SMALLINT, - IN pValue varchar(50)) -BEGIN - - UPDATE META_TAG SET DEFAULTVALUE=pValue WHERE TAGID=pID; - -END */$$ -DELIMITER ; - -/* Procedure structure for procedure `WriteHData` */ - -/*!50003 DROP PROCEDURE IF EXISTS `WriteHData` */; - -DELIMITER $$ - -/*!50003 CREATE DEFINER=`root`@`localhost` PROCEDURE `WriteHData`(IN pDATE DATETIME) -BEGIN - - -- DELETE FROM LOG_HDATA FROM LOG_HDATA L INNER JOIN META_TAG T ON T.TAGID=L.ID WHERE T.DATATYPE=11 - -- SELECT COUNT(*),COUNT(DISTINCT ID) FROM LOG_HDATA WHERE DATEDIFF(DAY,@DATE,TIMESTAMP)=0; - -- SELECT H.ID,T.DATATYPE,C FROM( SELECT ID,COUNT(*)C FROM LOG_HDATA WHERE DATEDIFF(DAY,@DATE,TIMESTAMP)=0 GROUP BY ID)H INNER JOIN META_TAG T ON H.ID=T.TAGID ORDER BY ID --WITH ROLLUP - -- SELECT TIMESTAMP,VALUE FROM LOG_HDATA WHERE DATEDIFF(DAY,@DATE,TIMESTAMP)=0 ORDER BY ID,TIMESTAMP - - -- DELETE FROM LOG_HDATA WHERE DATEDIFF(DAY,@DATE,TIMESTAMP)=0; -END */$$ -DELIMITER ; - -/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; -/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `dictionary` ( + `DictType` varchar(50) COLLATE latin1_german1_ci NOT NULL DEFAULT '', + `Code` varchar(50) COLLATE latin1_german1_ci NOT NULL DEFAULT '', + `Description` varchar(50) COLLATE latin1_german1_ci DEFAULT '' +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci; +/*!40101 SET character_set_client = @saved_cs_client */; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `log_alarm` ( + `StartTime` datetime DEFAULT NULL, + `Source` varchar(50) COLLATE latin1_german1_ci DEFAULT '', + `ConditionID` int(11) DEFAULT '0', + `AlarmText` varchar(128) COLLATE latin1_german1_ci DEFAULT '', + `AlarmValue` text COLLATE latin1_german1_ci, + `Duration` int(11) DEFAULT '0', + `Severity` int(11) DEFAULT '0', + `SubAlarmType` int(11) DEFAULT '0' +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci; +/*!40101 SET character_set_client = @saved_cs_client */; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `log_event` ( + `EventType` int(11) DEFAULT NULL, + `Severity` int(11) DEFAULT NULL, + `IsAcked` bit(1) DEFAULT NULL, + `ActiveTime` datetime DEFAULT NULL, + `Source` varchar(50) DEFAULT NULL, + `Comment` varchar(50) DEFAULT NULL, + `SQLCounter` int(11) NOT NULL AUTO_INCREMENT, + PRIMARY KEY (`SQLCounter`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `log_hdata` ( + `ID` int(11) NOT NULL DEFAULT '0', + `TimeStamp` datetime NOT NULL, + `Value` text COLLATE latin1_german1_ci +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci; +/*!40101 SET character_set_client = @saved_cs_client */; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `membership` ( + `ID` int(11) NOT NULL AUTO_INCREMENT, + `UserName` varchar(50) COLLATE latin1_german1_ci NOT NULL DEFAULT '', + `Password` varchar(50) COLLATE latin1_german1_ci NOT NULL DEFAULT '', + `Role` int(11) NOT NULL DEFAULT '0', + `Email` varchar(50) COLLATE latin1_german1_ci DEFAULT '', + `Phone` varchar(50) COLLATE latin1_german1_ci DEFAULT '', + PRIMARY KEY (`ID`) +) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci; +/*!40101 SET character_set_client = @saved_cs_client */; +INSERT INTO `membership` VALUES (1,'admin','c4ca4238a0b923820dcc509a6f75849b',4,NULL,NULL),(2,'op','c4ca4238a0b923820dcc509a6f75849b',1,NULL,NULL),(3,'everyone','c4ca4238a0b923820dcc509a6f75849b',1,NULL,NULL); +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `meta_condition` ( + `TypeID` int(11) NOT NULL AUTO_INCREMENT, + `Source` varchar(50) COLLATE latin1_german1_ci NOT NULL DEFAULT '', + `AlarmType` int(11) NOT NULL DEFAULT '0', + `EventType` tinyint(4) NOT NULL DEFAULT '0', + `ConditionType` tinyint(4) NOT NULL DEFAULT '0', + `Para` text COLLATE latin1_german1_ci, + `IsEnabled` tinyint(4) NOT NULL DEFAULT '1', + `DeadBand` text COLLATE latin1_german1_ci, + `Delay` int(11) NOT NULL DEFAULT '0', + `Comment` varchar(50) COLLATE latin1_german1_ci DEFAULT '', + PRIMARY KEY (`TypeID`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci; +/*!40101 SET character_set_client = @saved_cs_client */; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `meta_driver` ( + `DriverID` int(11) NOT NULL DEFAULT '0', + `DriverType` int(11) NOT NULL DEFAULT '0', + `DriverName` varchar(64) COLLATE latin1_german1_ci NOT NULL DEFAULT '', + `TimeOut` int(11) NOT NULL DEFAULT '0', + `Server` varchar(128) COLLATE latin1_german1_ci DEFAULT '', + `Spare1` varchar(50) COLLATE latin1_german1_ci DEFAULT '', + `Spare2` varchar(50) COLLATE latin1_german1_ci DEFAULT '' +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci; +/*!40101 SET character_set_client = @saved_cs_client */; +INSERT INTO `meta_driver` VALUES (1,3,'S1',1000,'127.0.0.1','{6E6170F0-FF2D-11D2-8087-00105AA8F840}','9600'),(2,5,'Modbus',1000,'127.0.0.1','','2'); +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `meta_group` ( + `GroupID` int(11) NOT NULL DEFAULT '0', + `DriverID` int(11) DEFAULT '0', + `GroupName` varchar(20) COLLATE latin1_german1_ci DEFAULT '', + `UpdateRate` int(11) DEFAULT '0', + `DeadBand` text COLLATE latin1_german1_ci, + `IsActive` bit(1) NOT NULL DEFAULT b'1' +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci; +/*!40101 SET character_set_client = @saved_cs_client */; +INSERT INTO `meta_group` VALUES (20001,1,'Receiving1',300,'0',''),(20002,1,'Receiving2',0,'0',''),(20003,2,'test',1000,'0',''); +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `meta_scale` ( + `ScaleID` int(11) NOT NULL DEFAULT '0', + `ScaleType` tinyint(4) NOT NULL DEFAULT '0', + `EUHi` text COLLATE latin1_german1_ci, + `EULo` text COLLATE latin1_german1_ci, + `RawHi` text COLLATE latin1_german1_ci, + `RawLo` text COLLATE latin1_german1_ci +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci; +/*!40101 SET character_set_client = @saved_cs_client */; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `meta_subcondition` ( + `ConditionID` int(11) NOT NULL DEFAULT '0', + `SubAlarmType` int(11) NOT NULL DEFAULT '0', + `Threshold` text COLLATE latin1_german1_ci, + `Severity` tinyint(4) NOT NULL DEFAULT '0', + `Message` varchar(250) COLLATE latin1_german1_ci DEFAULT '', + `IsEnable` tinyint(4) NOT NULL DEFAULT '1' +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci; +/*!40101 SET character_set_client = @saved_cs_client */; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `meta_tag` ( + `TagID` smallint(5) NOT NULL AUTO_INCREMENT, + `TagName` varchar(512) NOT NULL, + `DataType` tinyint(3) unsigned NOT NULL, + `DataSize` smallint(5) NOT NULL DEFAULT '0', + `Address` varchar(64) NOT NULL, + `GroupID` smallint(5) NOT NULL DEFAULT '0', + `IsActive` bit(1) NOT NULL, + `Archive` bit(1) NOT NULL, + `DefaultValue` blob, + `Description` varchar(128) DEFAULT NULL, + `Maximum` float(24,2) NOT NULL DEFAULT '0.00', + `Minimum` float(24,2) NOT NULL DEFAULT '0.00', + `Cycle` int(10) NOT NULL DEFAULT '0', + `RowVersion` blob NOT NULL, + UNIQUE KEY `TagID` (`TagID`) +) ENGINE=InnoDB AUTO_INCREMENT=159 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; +INSERT INTO `meta_tag` VALUES (2,'Receiving1_AlmAck',1,1,'Channel4.Receiving1.K0008.10',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0划'),(3,'Receiving1_888',1,1,'Channel4.Receiving1.K0006.14',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0化'),(4,'Receiving1_Conveyor3_Running',1,1,'Channel4.Receiving1.K0006.10',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0话'),(5,'Receiving1_Conveyor4_Alarm',1,1,'Channel4.Receiving1.K0001.04',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0槐'),(6,'Receiving1_Conveyor4_Running',1,1,'Channel4.Receiving1.K0001.03',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0徊'),(7,'Receiving1_Conveyor5_Alarm',1,1,'Channel4.Receiving1.K0008.00',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0怀'),(8,'Receiving1_Conveyor5_Running',1,1,'Channel4.Receiving1.K0007.10',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0淮'),(9,'Receiving1_Conveyor6_Alarm',1,1,'Channel4.Receiving1.K0008.08',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0坏'),(10,'Receiving1_Conveyor6_Running',1,1,'Channel4.Receiving1.K0005.14',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0欢'),(11,'Receiving1_Conveyor7_Alarm',1,1,'Channel4.Receiving1.K0006.13',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0环'),(12,'Receiving1_Conveyor7_Running',1,1,'Channel4.Receiving1.K0006.12',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0桓'),(13,'Receiving1_Conveyor8_Running',1,1,'Channel4.Receiving1.K0001.12',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0还'),(14,'Receiving1_Conveyor9_Alarm',1,1,'Channel4.Receiving1.K0001.08',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0缓'),(15,'Receiving1_Conveyor9_Running',1,1,'Channel4.Receiving1.K0001.08',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0换'),(16,'Receiving1_DF01SQH_Alarm',1,1,'Channel4.Receiving1.K0002.06',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0患'),(17,'Receiving1_DF01SQL_Alarm',1,1,'Channel4.Receiving1.K0003.02',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0唤'),(18,'Receiving1_DF02SQH_Alarm',1,1,'Channel4.Receiving1.K0002.05',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0痪'),(19,'Receiving1_DF02SQL_Alarm',1,1,'Channel4.Receiving1.K0003.03',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0豢'),(20,'Receiving1_DF03SQH_Alarm',1,1,'Channel4.Receiving1.K0002.04',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0焕'),(21,'Receiving1_DF03SQL_Alarm',1,1,'Channel4.Receiving1.K0003.04',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0涣'),(22,'Receiving1_DF04SQH_Alarm',1,1,'Channel4.Receiving1.K0002.03',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(23,'Receiving1_DF04SQL_Alarm',1,1,'Channel4.Receiving1.K0003.05',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(24,'Receiving1_DF05SQH_Alarm',1,1,'Channel4.Receiving1.K0002.02',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(25,'Receiving1_DF05SQL_Alarm',1,1,'Channel4.Receiving1.K0003.06',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(26,'Receiving1_DF06SQL_Alarm',1,1,'Channel4.Receiving1.K0002.02',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(27,'Receiving1_F01SQH_Alarm',1,1,'Channel4.Receiving1.K0007.09',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(28,'Receiving1_F02SQH_Alarm',1,1,'Channel4.Receiving1.K0007.08',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(29,'Receiving1_F03SQH_Alarm',1,1,'Channel4.Receiving1.K0007.07',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(30,'Receiving1_F04SQH_Alarm',1,1,'Channel4.Receiving1.K0007.06',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(31,'Receiving1_F05SQH_Alarm',1,1,'Channel4.Receiving1.K0007.05',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(32,'Receiving1_F06SQH_Alarm',1,1,'Channel4.Receiving1.K0007.03',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(33,'Receiving1_Fan1_Alarm',1,1,'Channel4.Receiving1.K0008.07',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(34,'Receiving1_Fan1_Running',1,1,'Channel4.Receiving1.K0008.06',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(35,'Receiving1_Fan2_Running',1,1,'Channel4.Receiving1.K0008.07',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(36,'Receiving1_Fan3_Running',1,1,'Channel4.Receiving1.K0001.13',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(37,'Receiving1_FourWays_Left',1,1,'Channel4.Receiving1.K0006.08',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(38,'Receiving1_FourWays_MID',1,1,'Channel4.Receiving1.K0006.09',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(39,'Receiving1_FourWays_Right',1,1,'Channel4.Receiving1.K0006.15',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(40,'Receiving1_Gate1_Ols',1,1,'Channel4.Receiving1.K0000.01',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(41,'Receiving1_Gate10_Alarm',1,1,'Channel4.Receiving1.K0003.11',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(42,'Receiving1_Gate10_Cls',1,1,'Channel4.Receiving1.K0004.07',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(43,'Receiving1_Gate10_Ols',1,1,'Channel4.Receiving1.K0004.00',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(44,'Receiving1_Gate11_Alarm',1,1,'Channel4.Receiving1.K0005.04',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(45,'Receiving1_Gate11_Cls',1,1,'Channel4.Receiving1.K0001.00',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(46,'Receiving1_Gate11_Ols',1,1,'Channel4.Receiving1.K0005.03',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(47,'Receiving1_Gate12_Alarm',1,1,'Channel4.Receiving1.K0005.02',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(48,'Receiving1_Gate12_Cls',1,1,'Channel4.Receiving1.K0001.01',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(49,'Receiving1_Gate12_Ols',1,1,'Channel4.Receiving1.K0005.02',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(50,'Receiving1_Gate13_Alarm',1,1,'Channel4.Receiving1.K0005.01',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(51,'Receiving1_Gate13_Cls',1,1,'Channel4.Receiving1.K0001.02',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(52,'Receiving1_Gate13_Ols',1,1,'Channel4.Receiving1.K0005.00',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(53,'Receiving1_Gate14_Alarm',1,1,'Channel4.Receiving1.K0005.07',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(54,'Receiving1_Gate14_Cls',1,1,'Channel4.Receiving1.K0000.15',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(55,'Receiving1_Gate14_Ols',1,1,'Channel4.Receiving1.K0005.05',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(56,'Receiving1_Gate15_Alarm',1,1,'Channel4.Receiving1.K0005.06',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(57,'Receiving1_Gate15_Cls',1,1,'Channel4.Receiving1.K0000.14',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(58,'Receiving1_Gate15_Ols',1,1,'Channel4.Receiving1.K0005.08',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(59,'Receiving1_Gate16_Ols',1,1,'Channel4.Receiving1.K0000.11',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(60,'Receiving1_Gate17_Ols',1,1,'Channel4.Receiving1.K0000.10',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(61,'Receiving1_Gate18_Ols',1,1,'Channel4.Receiving1.K0000.09',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(62,'Receiving1_Gate19_Ols',1,1,'Channel4.Receiving1.K0000.08',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(63,'Receiving1_Gate20_Ols',1,1,'Channel4.Receiving1.K0000.07',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(64,'Receiving1_Gate21_Ols',1,1,'Channel4.Receiving1.K0000.01',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(65,'Receiving1_Gate3_Alarm',1,1,'Channel4.Receiving1.K0005.12',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(66,'Receiving1_Gate3_Cls',1,1,'Channel4.Receiving1.K0000.12',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(67,'Receiving1_Gate3_Ols',1,1,'Channel4.Receiving1.K0005.11',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(68,'Receiving1_Gate4_Alarm',1,1,'Channel4.Receiving1.K0005.10',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0火'),(69,'Receiving1_Gate4_Cls',1,1,'Channel4.Receiving1.K0000.13',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0获'),(70,'Receiving1_Gate4_Ols',1,1,'Channel4.Receiving1.K0005.09',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0或'),(71,'Receiving1_Gate5_Alarm',1,1,'Channel4.Receiving1.K0003.07',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0惑'),(72,'Receiving1_Gate5_Cls',1,1,'Channel4.Receiving1.K0004.01',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0霍'),(73,'Receiving1_Gate5_Ols',1,1,'Channel4.Receiving1.K0000.06',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0货'),(74,'Receiving1_Gate6_Alarm',1,1,'Channel4.Receiving1.K0003.08',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0祸'),(75,'Receiving1_Gate6_Cls',1,1,'Channel4.Receiving1.K0004.02',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0击'),(76,'Receiving1_Gate6_Ols',1,1,'Channel4.Receiving1.K0000.05',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0圾'),(77,'Receiving1_Gate7_Alarm',1,1,'Channel4.Receiving1.K0003.09',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0基'),(78,'Receiving1_Gate7_Cls',1,1,'Channel4.Receiving1.K0004.04',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0机'),(79,'Receiving1_Gate7_Ols',1,1,'Channel4.Receiving1.K0000.04',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0畸'),(80,'Receiving1_Gate8_Alarm',1,1,'Channel4.Receiving1.K0003.09',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0稽'),(81,'Receiving1_Gate8_Cls',1,1,'Channel4.Receiving1.K0004.05',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0积'),(82,'Receiving1_Gate8_Ols',1,1,'Channel4.Receiving1.K0000.03',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0箕'),(83,'Receiving1_Gate9_Alarm',1,1,'Channel4.Receiving1.K0003.10',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(84,'Receiving1_Gate9_Cls',1,1,'Channel4.Receiving1.K0004.06',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(85,'Receiving1_Gate9_Ols',1,1,'Channel4.Receiving1.K0000.02',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(86,'Receiving1_Gate9_Ols4',1,1,'Channel4.Receiving1.K0000.02',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(87,'Receiving1_Gate9_Ols5',1,1,'Channel4.Receiving1.K0000.02',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(88,'Receiving1_Gate9_Ols6',1,1,'Channel4.Receiving1.K0000.02',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(89,'Receiving1_Gate9_Ols7',1,1,'Channel4.Receiving1.K0000.02',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(90,'Receiving1_Gate9_Ols8',1,1,'Channel4.Receiving1.K0000.02',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(91,'Receiving1_Gate9_Ols9',1,1,'Channel4.Receiving1.K0000.02',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(92,'Receiving1_leg1alm',1,1,'Channel4.Receiving1.K0010.00',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0 '),(93,'Receiving1_LegMotor1_Overload',8,4,'Channel4.Receiving1.R0016',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0糪n'),(94,'Receiving1_LegMotor1_Running',1,1,'Channel4.Receiving1.K0006.01',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0 '),(95,'Receiving1_LegMotor2_Overload',8,4,'Channel4.Receiving1.R0024',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0 '),(96,'Receiving1_LegMotor2_Running',1,1,'Channel4.Receiving1.K0005.15',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0糪r'),(97,'Receiving1_Legmotor2Speed_Speed',8,4,'Channel4.Receiving1.R0028',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(98,'Receiving1_LegMotor3_Overload',8,4,'Channel4.Receiving1.R0044',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(99,'Receiving1_LegMotor3_Running',1,1,'Channel4.Receiving1.K0006.00',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(100,'Receiving1_Legmotor3Curr_Digi',8,4,'Channel4.Receiving1.R0036',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(101,'Receiving1_Legmotor3Speed_Speed',8,4,'Channel4.Receiving1.R0048',20001,'','',NULL,'鎻愬崌鏈烘祴閫',0.00,0.00,0,'\0\0\0\0\0'),(102,'Receiving1_LegMotor4_Overload',8,4,'Channel4.Receiving1.R0004',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(103,'Receiving1_LegMotor4_Running',1,1,'Channel4.Receiving1.K0001.06',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(104,'Receiving1_Legmotor4Curr_Digi',8,4,'Channel4.Receiving1.R0000',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(105,'Receiving1_LocalRemote',1,1,'Channel4.Receiving1.K0008.09',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(106,'Receiving1_MagicRoll1_Alarm',1,1,'Channel4.Receiving1.K0007.02',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(107,'Receiving1_MagicRoll1_Running',1,1,'Channel4.Receiving1.K0006.11',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(108,'Receiving1_MagicRoll2_Alarm',1,1,'Channel4.Receiving1.K0007.01',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(109,'Receiving1_MagicRoll2_Running',1,1,'Channel4.Receiving1.K0006.06',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0糪Z'),(110,'Receiving1_MagicRoll3_Alarm',1,1,'Channel4.Receiving1.K0007.00',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(111,'Receiving1_MagicRoll3_Running',1,1,'Channel4.Receiving1.K0006.04',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(112,'Receiving1_MagicRoll4_Alarm',1,1,'Channel4.Receiving1.K0001.09',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(113,'Receiving1_MagicRoll4_Running',1,1,'Channel4.Receiving1.K0001.09',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(114,'Receiving1_Sifter1_Running',1,1,'Channel4.Receiving1.K0006.07',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(115,'Receiving1_Sifter2_Running',1,1,'Channel4.Receiving1.K0006.05',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0 '),(116,'Receiving1_Sifter3_Alarm',1,1,'Channel4.Receiving1.K0001.10',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0!'),(117,'Receiving1_Sifter3_Running',1,1,'Channel4.Receiving1.K0001.10',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0糪"'),(118,'Receiving1_ThreeWays1_Left',1,1,'Channel4.Receiving1.K0001.07',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0#'),(119,'Receiving1_ThreeWays1_Right',1,1,'Channel4.Receiving1.K0001.05',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0$'),(120,'Receiving1_ThreeWays2_Left',1,1,'Channel4.Receiving1.K0006.03',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0%'),(121,'Receiving1_ThreeWays2_Right',1,1,'Channel4.Receiving1.K0006.02',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0&'),(122,'Receiving2_LegCUR102_Digi',8,4,'Channel4.Receiving1.R0020',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0糪''),(123,'Receiving2_LegCUR106_Digi',8,4,'Channel4.Receiving1.R0012',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0('),(124,'Receiving1_Conveyor1_Alarm',1,1,'Channel4.Receiving2.K0002.11',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0)'),(125,'Receiving1_Conveyor1_Running',1,1,'Channel4.Receiving2.K0002.10',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0*'),(126,'Receiving1_Conveyor2_Alarm',1,1,'Channel4.Receiving2.K0002.09',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0+'),(127,'Receiving1_Conveyor2_Running',1,1,'Channel4.Receiving2.K0002.04',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0,'),(128,'Receiving1_Gate1_Alarm',1,1,'Channel4.Receiving2.K0001.14',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0-'),(129,'Receiving1_Gate1_Cls',1,1,'Channel4.Receiving2.K0001.13',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0.'),(130,'Receiving1_Gate1_Ols',1,1,'Channel4.Receiving2.K0001.11',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0/'),(131,'Receiving1_Gate2_Alarm',1,1,'Channel4.Receiving2.K0001.08',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\00'),(132,'Receiving1_Gate2_Cls',1,1,'Channel4.Receiving2.K0001.09',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\01'),(133,'Receiving1_Gate2_Ols',1,1,'Channel4.Receiving2.K0001.10',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\02'),(134,'Receiving2_Airport1_Alarm',1,1,'Channel4.Receiving2.K0002.08',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\03'),(135,'Receiving2_Airport1_Running',1,1,'Channel4.Receiving2.K0001.05',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\04'),(136,'Receiving2_Airport2_Alarm',1,1,'Channel4.Receiving2.K0001.00',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\05'),(137,'Receiving2_Airport2_Running',1,1,'Channel4.Receiving2.K0001.01',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\06'),(138,'Receiving2_AlmAck',1,1,'Channel4.Receiving2.K0002.02',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\07'),(139,'Receiving2_Converyor1_Running',1,1,'Channel4.Receiving2.K0001.15',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\08'),(140,'Receiving2_Converyor2_Alarm',1,1,'Channel4.Receiving2.K0002.12',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\09'),(141,'Receiving2_Converyor2_Running',1,1,'Channel4.Receiving2.K0002.13',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0:'),(142,'Receiving2_Fan1_Alarm',1,1,'Channel4.Receiving2.K0001.02',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0;'),(143,'Receiving2_Fan1_Running',1,1,'Channel4.Receiving2.K0001.03',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0<'),(144,'Receiving2_Gate1_Alarm',1,1,'Channel4.Receiving2.K0001.04',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0='),(145,'Receiving2_Gate1_Cls',1,1,'Channel4.Receiving2.K0001.06',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0>'),(146,'Receiving2_Gate1_Ols',1,1,'Channel4.Receiving2.K0001.07',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0?'),(147,'Receiving2_Gate2_Ols',1,1,'Channel4.Receiving2.K0002.05',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0粿'),(148,'Receiving2_LegMotor1_Overload',8,4,'Channel4.Receiving2.R0008',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0糀'),(149,'Receiving2_Legmotor1Speed_Speed',8,4,'Channel4.Receiving2.R0012',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0糂'),(150,'Receiving2_LegMotor2_Overload',8,4,'Channel4.Receiving2.R0000',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0糃'),(151,'Receiving2_LegMotor2_Running',1,1,'Channel4.Receiving2.K0002.01',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0糄'),(152,'Receiving2_Legmotor2Speed_Speed',8,4,'Channel4.Receiving2.R0004',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0糆'),(153,'Receiving2_LocalRemote',1,1,'Channel4.Receiving2.K0002.03',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0糉'),(154,'Receiving2_MagicRoll1_Alarm',1,1,'Channel4.Receiving2.K0002.14',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0糋'),(155,'Receiving2_MagicRoll1_Running',1,1,'Channel4.Receiving2.K0002.00',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0糎'),(156,'Receiving2_Sifter1_Alarm',1,1,'Channel4.Receiving2.K0002.15',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0糏'),(157,'Receiving2_Sifter1_Running',1,1,'Channel4.Receiving2.K0002.07',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0糐'),(158,'Receiving2_Sifter1_Running8',1,1,'Channel4.Receiving2.K0002.07',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0糑'); +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `registermodule` ( + `DriverID` int(10) NOT NULL AUTO_INCREMENT, + `AssemblyName` varchar(255) DEFAULT NULL, + `ClassName` varchar(50) DEFAULT NULL, + `ClassFullName` varchar(128) DEFAULT NULL, + `Description` varchar(50) DEFAULT NULL, + UNIQUE KEY `DriverID` (`DriverID`) +) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; +INSERT INTO `registermodule` VALUES (4,'E:\\SCADA\\dll\\OPCDriver.dll','OPCReader','OPCDriver.OPCReader','OPC鍗忚'),(5,'E:\\SCADA\\dll\\FileDriver.dll','DataBaseReader','FileDriver.DataBaseReader','SQL 鏁版嵁搴'),(6,'E:\\SCADA\\dll\\FileDriver.dll','TagDriver','FileDriver.TagDriver','鏍囩鐩存帴璇诲啓'),(8,'E:\\SCADA\\dll\\ModbusDriver.dll','ModbusRTUReader','ModbusDriver.ModbusRTUReader','Modbus RTU鍗忚'),(9,'E:\\SCADA\\dll\\ModbusDriver.dll','ModbusTCPReader','ModbusDriver.ModbusTCPReader','Modbus Tcp鍗忚'),(10,'E:\\SCADA\\dll\\SiemensPLCDriver.dll','SiemensTCPReader','SiemensPLCDriver.SiemensTCPReader','S7 浠ュお缃戝崗璁'); +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8 */ ; +/*!50003 SET character_set_results = utf8 */ ; +/*!50003 SET collation_connection = utf8_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO' */ ; +DELIMITER ;; +CREATE DEFINER=`root`@`localhost` PROCEDURE `AddEventLog`(IN pStartTime DATETIME, + IN pSource NVARCHAR(50) , + IN pComment NVARCHAR(50)) +BEGIN +IF pComment<>IFNULL((SELECT Comment FROM LOG_EVENT WHERE EVENTTYPE=2 AND Source=Source ORDER BY SQLCOUNTER DESC LIMIT 1),'') THEN + INSERT INTO LOG_EVENT(EVENTTYPE,SEVERITY,ACTIVETIME,SOURCE,COMMENT) VALUES(2,0,pStartTime,pSource,pComment); +END IF; + +END ;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8 */ ; +/*!50003 SET character_set_results = utf8 */ ; +/*!50003 SET collation_connection = utf8_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO' */ ; +DELIMITER ;; +CREATE DEFINER=`root`@`localhost` PROCEDURE `GetAlarm`(IN pStartTime DATETIME, + IN pEndTime DATETIME ) +BEGIN +SELECT StartTime,AlarmText,AlarmValue,SubAlarmType,Severity,ConditionID,Source,Duration FROM LOG_ALARM WHERE StartTime BETWEEN pStartTime AND pEndTime ORDER BY StartTime; + +END ;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8 */ ; +/*!50003 SET character_set_results = utf8 */ ; +/*!50003 SET collation_connection = utf8_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO' */ ; +DELIMITER ;; +CREATE DEFINER=`root`@`localhost` PROCEDURE `GetEventTime`(IN pEVENTTYPE int, + IN pSOURCE nvarchar(50), + IN pCOMMENT nvarchar(50), + OUT pSTARTTIME DATETIME, + OUT pENDTIME DATETIME) +BEGIN +DECLARE _ID INT DEFAULT 0; + +SELECT SQLCOUNTER,ACTIVETIME INTO _ID,pSTARTTIME FROM LOG_EVENT WHERE EVENTTYPE=pEVENTTYPE AND SOURCE=pSOURCE AND COMMENT=pCOMMENT ORDER BY ACTIVETIME DESC LIMIT 1; + +SET @sql = CONCAT('SELECT ACTIVETIME INTO ', pENDTIME, ' FROM LOG_EVENT WHERE EVENTTYPE = "', + pEVENTTYPE, '" AND SOURCE = "', pSOURCE, '" AND SQLCOUNTER> ',_ID,' ORDER BY ACTIVETIME DESC LIMIT 1'); + PREPARE stmt FROM @sql; + EXECUTE stmt; + DEALLOCATE PREPARE stmt; +END ;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8 */ ; +/*!50003 SET character_set_results = utf8 */ ; +/*!50003 SET collation_connection = utf8_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO' */ ; +DELIMITER ;; +CREATE DEFINER=`root`@`localhost` PROCEDURE `InitServer`(IN pTYPE int) +BEGIN + + IF pTYPE<>1 THEN + SELECT M.DRIVERID,DRIVERNAME,SERVER,TIMEOUT,R.AssemblyName,R.ClassFullName,Spare1,Spare2 FROM META_DRIVER M INNER JOIN RegisterModule R ON M.DRIVERTYPE=R.DriverID; + END IF; + + SELECT COUNT(*) FROM META_TAG; + + SELECT TAGID,GROUPID,RTRIM(TAGNAME),ADDRESS,DATATYPE,DATASIZE,ARCHIVE,MAXIMUM,MINIMUM,CYCLE FROM META_TAG WHERE ISACTIVE=1; + + IF pTYPE<>1 THEN + SELECT DRIVERID,GROUPNAME,GROUPID,UPDATERATE,DEADBAND,ISACTIVE FROM META_GROUP ; + END IF; + + IF pTYPE=0 THEN + SELECT SOURCE FROM META_Condition WHERE EVENTTYPE=2; + END IF; + + IF pTYPE<>2 THEN + SELECT TYPEID,SOURCE,ALARMTYPE,A.ISENABLED,CONDITIONTYPE,PARA,IFNULL(COMMENT,''),DEADBAND,DELAY,SUBALARMTYPE,Threshold,SEVERITY, + IFNULL(MESSAGE,''),B.ISENABLE FROM META_Condition a LEFT OUTER JOIN META_SUBCONDITION b ON a.TypeID=b.ConditionID WHERE EVENTTYPE<>2; + END IF; + + + SELECT SCALEID,SCALETYPE,EUHI,EULO,RAWHI,RAWLO FROM META_SCALE; + +END ;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8 */ ; +/*!50003 SET character_set_results = utf8 */ ; +/*!50003 SET collation_connection = utf8_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO' */ ; +DELIMITER ;; +CREATE DEFINER=`root`@`localhost` PROCEDURE `ReadALL`(IN pGroupID SMALLINT) +BEGIN + +SELECT COUNT(*) FROM META_TAG WHERE GROUPID=pGroupID AND IsActive=1; +SELECT TAGID,DATATYPE,IFNULL(DEFAULTVALUE,0) FROM META_TAG WHERE IsActive=1 AND GROUPID=pGroupID ORDER BY TAGID; + +END ;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8 */ ; +/*!50003 SET character_set_results = utf8 */ ; +/*!50003 SET collation_connection = utf8_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO' */ ; +DELIMITER ;; +CREATE DEFINER=`root`@`localhost` PROCEDURE `ReadHData`(IN pStartTime DATETIME, + IN pEndTime DATETIME, + IN pID INT) +BEGIN + + IF pID IS NULL THEN + SELECT ID,TIMESTAMP,VALUE,M.DATATYPE FROM LOG_HDATA L INNER JOIN META_TAG M ON L.ID=M.TAGID WHERE TIMESTAMP BETWEEN pStartTime AND pEndTime ORDER BY ID,TIMESTAMP; + ELSE + SELECT TIMESTAMP,VALUE,M.DATATYPE FROM LOG_HDATA L INNER JOIN META_TAG M ON L.ID=M.TAGID WHERE ID=pID AND TIMESTAMP BETWEEN pStartTime AND pEndTime ORDER BY TIMESTAMP; + + END IF; + +END ;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8 */ ; +/*!50003 SET character_set_results = utf8 */ ; +/*!50003 SET collation_connection = utf8_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO' */ ; +DELIMITER ;; +CREATE DEFINER=`root`@`localhost` PROCEDURE `ReadValueByID`(IN pID SMALLINT, + IN pDATATYPE TinyInt) +BEGIN + + + + + + + + + + + + + + + +END ;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8 */ ; +/*!50003 SET character_set_results = utf8 */ ; +/*!50003 SET collation_connection = utf8_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO' */ ; +DELIMITER ;; +CREATE DEFINER=`root`@`localhost` PROCEDURE `UpdateValueByID`(IN pID SMALLINT, + IN pValue varchar(50)) +BEGIN + + UPDATE META_TAG SET DEFAULTVALUE=pValue WHERE TAGID=pID; + +END ;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8 */ ; +/*!50003 SET character_set_results = utf8 */ ; +/*!50003 SET collation_connection = utf8_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO' */ ; +DELIMITER ;; +CREATE DEFINER=`root`@`localhost` PROCEDURE `WriteHData`(IN pDATE DATETIME) +BEGIN + + + + + + + +END ;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; diff --git a/SCADA/Program/HMIControl/bin/Debug/DataHelper.dll b/SCADA/Program/HMIControl/bin/Debug/DataHelper.dll deleted file mode 100644 index 5ab722fb77478592f7c256f841b170306d063747..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44544 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 diff --git a/SCADA/Program/HMIControl/bin/Debug/DataService.dll b/SCADA/Program/HMIControl/bin/Debug/DataService.dll deleted file mode 100644 index 5e2ae615c7cf96e94e3cf07e347daaa10df398f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 81920 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 _j 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 diff --git a/SCADA/Program/HMIControl/bin/Debug/HMIControl.VisualStudio.Design.dll b/SCADA/Program/HMIControl/bin/Debug/HMIControl.VisualStudio.Design.dll deleted file mode 100644 index 529fb0c76dbd032fa57b920e34d5556a38543896..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 76800 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

u19%W1Ka1 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 a@1MW_Zxrz1IXjg3Ivuk3^Y{Ob0{;VF5<7DM diff --git a/SCADA/Program/HMIControl/bin/Debug/HMIControl.VisualStudio.Design.dll.config b/SCADA/Program/HMIControl/bin/Debug/HMIControl.VisualStudio.Design.dll.config deleted file mode 100644 index 243a005..0000000 --- a/SCADA/Program/HMIControl/bin/Debug/HMIControl.VisualStudio.Design.dll.config +++ /dev/null @@ -1,10 +0,0 @@ -锘 - - - - - - - \ No newline at end of file diff --git a/SCADA/Program/HMIControl/bin/Debug/HMIControl.dll b/SCADA/Program/HMIControl/bin/Debug/HMIControl.dll deleted file mode 100644 index d3c90cc95964b2dc465dc0f9e39ad97a57ea7279..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 901632 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�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

ip=KEXs^_{Mkw|B^p=Mc7U5A?GnBy|k^tU*n zL(TFau+A%>C_2{xETR^cNyIYhWu!l-C-TUDPL^;ScXWf+X2$PfcCWO(b6HzGCtZdv@_)sc7WNB{8p3Dtrc4}4|Y zcB^mnjvs8MLNIW42pL!Hc#IKTMS|7601fb%tYM1oFX9hIx0lP&0CN=)bmGjz3Ov|U zmB8G64gq5!C%sTz81691rFSU6mR0^WEc+6^EN0nn zi4?G`3bd>6U;?)}_!HE9t#)iK4tpkYxm?^2Jtw>@Ccy~n$MczVG7qQ4*s%?$A93su z0C6mKAWxz3Q4+d#EG@Xe{@At|hZA&I8+Is|VTMhm3I?D>mto9lc4y4@IQWyb0hPhm zHP0_{tL&xd{$@Q?75uOsP8P$i4#l7D2247&lJ9A?-J<-BHw-H5-!AGk4! zY}idvB*R9%Q7H9QrO_xYp-P*f)C;8!QEv+rJFA0RqEw4gyK@jQ+Zv!fzcbSL#jV*$}9uC!tW@5(&X)c?-l+H_~RyTN5)ZaCzSj@duNpR&mM!K|7Y)t zlKk1b1Mr_cy6|U@#nEDa_8vGcfA*dL{AYuz|Lk!%s{ZVO=zcma9*OQbW&G|4$F59I(+=ZiHJcC0`9zI#2b(Em!`|a#L3$WfKFVhclWKv@3;S$iJMOyGj;6xQzq>{ zxv43(RK%Nr6O@VYi{o8 z0@vm3%NJSE3(Oi9IHlwTnty8H;`Up>#o1ND7dTa4;7ho`1M~&XiI)PL=M@IYbg_LHbuxogS=zWqD20yK%d7 z3MjQhbMlS^ptiMCmkuNM(Jd>QAv;ICqwu8~ Rn4WOE7uWmyoj+wHz-Aa$)pF}@) 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 diff --git a/SCADA/Program/HMIControl/bin/Debug/Microsoft.Expression.Controls.dll b/SCADA/Program/HMIControl/bin/Debug/Microsoft.Expression.Controls.dll deleted file mode 100644 index 48e23317c25adeec3ab00609ebe24f8cfa8a6cf0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54272 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 QVHMr_1nzwn9JKbo09Wv#HUIzs diff --git a/SCADA/Program/HMIControl/bin/Debug/Microsoft.Windows.Design.Extensibility.xml b/SCADA/Program/HMIControl/bin/Debug/Microsoft.Windows.Design.Extensibility.xml deleted file mode 100644 index f9446f4..0000000 --- a/SCADA/Program/HMIControl/bin/Debug/Microsoft.Windows.Design.Extensibility.xml +++ /dev/null @@ -1,1119 +0,0 @@ -锘 - - - Microsoft.Windows.Design.Extensibility - - - -

A context item that maintains the set of references the designer is using to resolve type information. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with the specified set of references. - The new set of references. This may not be null and it may not contain null values. - - is null, or if one of the values in the array is null. - - - Initializes a new instance of the class with the specified local assembly name and set of references. - The local assembly name. This can only be set one time. - The new set of references. This may not be null and it may not contain null values. - - is null, or if one of the values in the array is null. - - - Returns all the types in the set of referenced assemblies that derive from or implement the specified base type. - An enumeration of types. An empty enumeration is returned if there are no matching types. - The base type that all returned types should derive from. If is an interface, all returned types will implement the interface. - - is null. - - - Gets a key in the context item manager that is used to determine what type of context item this object is. - A key in the context item manager that is used to determine what type of context item this object is. - - - Gets the local assembly name. - The local assembly name. - - - Called on a context item before it is stored in the context item manager. - The editing context that is receiving this object. - The existing object. - - - Gets an enumerable that can be used to enumerate the set of referenced assemblies. - An enumerable that can be used to enumerate the set of referenced assemblies. - - - Represents a single piece of state in the designer. - - - Initializes a new instance of the class. - - - When overridden in a derived class, gets the item type for this editing context item. - The for this editing context item. - - - Called on a context item before it is stored in the context item manager. - The editing context that is making this change. - The previously active item in the context. - - - Maintains a set of context items. - - - Initializes a new instance of the class. - - - Returns a value indicating whether the context item manager contains an item of the specified type. - true if the context contains an instance of this item type; otherwise, false. - - - - When overridden in a derived class, returns a value indicating whether the context item manager contains an item of the specified type. - true if the context contains an instance of this item type; otherwise, false. - The type of item to check. - - is null. - - - When overridden in a derived class, gets an enumeration of context items in the editing context. - An enumeration of context items. - - - A utility method that returns the target object for a delegate. - The target object of the callback. - The callback whose target you want. - - is null. - - - Returns an instance of the requested item type. - A context item of the requested type. If there is no item in the context of this type, a default one will be created. - - - - When overridden in a derived class, returns an instance of the requested item type. - A context item of the requested type. If there is no item in the context of this type, a default one will be created. - The type of item to return. - - is null. - - - Invokes the protected method on the specified . - The editing context in use. - The new context item. - The previous context item. - - , , or is null. - - - A helper method that performs a Delegate.Remove, but knows how to unwrap delegates that are proxies to generic callbacks. - The new delegate that should be assigned to existing. - The existing delegate. - The delegate to be removed from existing. - - - When overridden in a derived class, sets a context item to the specified value. - The value to set into the context item manager. Cannot be null. - - - Adds a callback that is invoked when a context item of the specified item type changes. - A callback that is invoked when changes. - - - is null. - - - When overridden in a derived class, adds a callback that is invoked when a context item of the specified item type changes. - The type of item to subscribe to. - A callback that will be invoked when changes. - - or is null. - - - For a description of this member, see . - An enumeration of context items. - - - Removes a subscription. - The callback to remove. - - - is null. - - - When overridden in a derived class, removes a subscription. - The type of context item to remove the callback from. - The callback to remove. - - or is null. - - - Contains contextual state about a designer. - - - Initializes a new instance of the class. - - - Creates an instance of the context item manager to be returned from the property. - An implementation of the class. - - - Creates an instance of the service manager to be returned from the property. - An implementation of the class. - - - Releases all resources used by the . - - - Releases the unmanaged resources used by the and optionally releases the managed resources. - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - Occurs when the method is called. - - - Finalizer that implements the pattern. - - - Gets the local collection of context items offered by this editing context. - A of context items offered by this editing context. - The method returned a null. - - - Gets the service manager for this editing context. - A for this editing context. - The method returned a null. - - - A delegate that is called back when an object should publish an instance of a service. - An instance of type . - The type of service to be published. - - - A generic delegate that is called back when an object should publish an instance of a service. - An instance of the specified service type. - - - - Defines attributes used by the class. - - - Initializes a new instance of the class. - - - Gets a value indicating whether all requirement attributes of the same type are required. - true if all requirement attributes of the same type are required; otherwise, false. - - - Returns a object that can be used to be notified when the requirement contained in this attribute has changed. - A new object. - The editing context to check. - - is null. - - - Determines if the meets the requirements specified in this attribute. - true if the attribute's requirements are met; otherwise, false. - The editing context to check. - - is null. - - - Provides a notification when changes in the editing context may have satisfied the attached requirement. - - - Initializes a new instance of the class. - The requirement to create a subscription for. - - is null. - - - Raises the event. - - - Gets the requirement attribute that is attached to this subscription. - A that is attached to this subscription. - - - Occurs when the requirement has changed. - - - Subscribes to context events. - - - Removes subscriptions to context events. - - - Determines whether the required context and services are available for the specified type. - - - Initializes a new instance of the class for the specified and type. - The feature manager to validate requirements against. - The type to get requirement attributes from. - - - Gets a value that indicates whether the type requirements exist in the editing context. - true if the type requirements exist in the editing context, or false if one or more requirements is missing. - - - Gets a list of pending requirement attributes. - A list of pending requirement attributes. These are requirements that have not yet been met. - - - Gets an enumeration of all requirements for the type contained in this validator. - An enumeration of objects for . - - - Occurs when the set of requirements necessary to use the type have changed. - - - Gets the type of object to validate requirements for. - A representing the object to validate requirements for. - - - Indicates that the class relies on the specified context. - - - Initializes a new instance of the class. - The type of context that is required. - - - Gets the context item type the class requires. - A that indicates the type the class requires. - - - Creates an object that enables notification when the requirement specified by this attribute is fulfilled by the editing context. - A object that you can use to handle events. - The editing context to check. - - is null. - - - Indicates whether the editing context contains a context item of type . - true if the attribute's requirements are met; otherwise, false. - The editing context to check. - - is null. - - - Gets the type ID of this attribute. - An object that indicates the type ID of this attribute. - - - Indicates that the class relies on the specified service. - - - Initializes a new instance of the class. - The type of service the class requires. - - - Creates an object that enables notification when the requirement specified by this attribute is fulfilled by the editing context. - A object that you can use to handle events. - The editing context to check. - - is null. - - - Indicates whether the editing context contains a service of type . - true if the attribute's requirements are met; otherwise, false. - The editing context to check. - - is null. - - - Gets the service type the class requires. - A that indicates the service type the class requires. - - - Gets the type ID of this attribute. - An object that indicates the type ID of this attribute. - - - Represents the behavior associated with an . - - - Initializes a new instance of the class. - - - Determines if the contains a service of the specified type. - true if contains ; otherwise, false. - - - - When overridden in a derived class, determines whether the contains a service of the specified type. - true if contains ; otherwise, false. - The type of service to search for. - - - When overridden in a derived class, retrieves an enumerator of the published services of this . - An enumeration of published services. - - - Retrieves an instance of a service of the specified type. - An instance of the type of service requested. This method never returns null. - - There is no service of the type requested. - - - Retrieves an instance of a service of the specified generic type. - An instance of the type of service requested; otherwise, null. - - - - When overridden in a derived class, retrieves an instance of a service of the specified type. - An instance of the type of service requested; otherwise, null. - The type of service to retrieve. - - - A helper method that gets the target object for a delegate. - The target of . - The delegate for which to get the target. - - is null. - - - Publishes a service of the specified type, represented by the specified method. - The method to invoke when the service is requested. - - - is null. - - - When overridden in a derived class, publishes a service of the specified type, represented by the specified method. - The type of service that is being published. - The method to invoke when the service is requested. - - - When overridden in a derived class, publishes the specified service instance of the specified type. - The type of service that is being published. - An instance of the service. - - - Publishes the specified service instance of the specified type. - An instance of the service. - - - is null. - - - Removes a callback method from a delegate. - A new delegate to replace the existing delegate. If is null, returns null. If is null, returns . - The delegate to remove the callback from. - The callback method to remove from the delegate. - - - Requests that the specified method is called when a service of the specified type is available. - The method to invoke when the service is available. - - - is null. - - - When overridden in a derived class, requests that the specified method is called when a service of the specified type is available. - The type of service to subscribe to. - The method to invoke when the service is available. - - - For a description of this member, see . - An enumeration of published services. - - - Requests that the specified method is no longer called when a service of the specified type is available. - The method to no longer invoke when the service is available. - - - is null. - - - When overridden in a derived class, requests that the specified method is no longer called when a service of the specified type is available. - The type of service to unsubscribe from. - The method to no longer invoke when the service is available. - - - Defines a callback method that is invoked when a context item changes. - The context item that has changed. - - - Defines a callback method that is invoked when a context item changes. - The context item that has changed. - - - - A delegate that is a callback for service subscriptions. - The type of service that has just been published. - The instance of the service. - - - A generic delegate that is a callback for service subscriptions. - The instance of the service. - - - - Stores a object that represents a type. - - - Initializes a new instance of the class. - The type of feature provider this attribute describes. - - is null. - The feature provider is not assignable from . - - - true if the specified object equals this attribute; otherwise, false. - The object to compare to. - - - Gets the type to instantiate. - A representing the class of the feature provider to attach to the target control. - - - The hash code for this object. - - - Gets a unique identifier for this attribute. - An that is a unique identifier for the attribute. - - - Provides data for the event. - - - Initializes a new instance of the class. - The type of feature provider that is now available to be created. - - is null. - - - Gets the type of feature provider that is available for creation. - A object that represents the feature provider that is available for creation. - - - Provides a base implementation for all feature connector-based extensibility. - The type of feature provider. - - - Initializes a new instance of the class. - The feature manager associated with this feature connector. - - - Gets the editing context for the feature connector. - An associated with the feature connector. - - - Creates a new list of feature providers associated with the feature connector, based on the provided type. - An enumeration of feature providers. - The to query for feature providers. - - is null. - - - Creates a new list of feature providers associated with the feature connector, based on the provided type and subtype. - An enumeration of feature providers, filtered by the subtype. - The to query for feature providers. - The subtype of the feature provider type. - - is null. - - - Releases all resources used by the . - - - Releases the unmanaged resources used by the and optionally releases the managed resources. - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Gets the for the feature connector. - A associated with the feature connector. - - - Indicates the type of required to handle the . - - - Initializes a new instance of the class. - The type of feature manager. - - is null. - - - true if the object is equal to this object; otherwise, false. - The object to compare. - - - Gets the type of to instantiate. - A object that represents the type to instantiate. - - - A hash code for this object. - - - Gets an object that is used to determine unique attributes. - A object that is used to determine unique attributes. - - - Contains information describing a specified feature connector. - - - Initializes a new instance of the class. - - - Gets the type of feature connector this describes. - A object that represents the type of feature connector for this object. - - - Gets a list of context items that are required by the feature connector, but are not yet available in the editing context. - An enumeration of required context item types that are not available in the editing context. - - - Gets a list of services that are required by the feature connector, but are not yet available in the editing context. - An enumeration of required service types that are not available in the editing context. - - - Gets a list of context items the feature connector requires. - An enumeration of required context item types that must be available in the editing context before the feature connector is created. - - - Gets a list of services the feature connector requires. - An enumeration of required service types that must be available in the editing context before the feature connector is created. - - - Manages feature providers and feature connectors. - - - Initializes a new instance of the class. - The editing context this feature manager uses to resolve services and context items. - - is null. - - - Gets the editing context for this feature manager. - An for this feature manager. - - - Creates and returns a set of feature providers for the specified type. - An enumeration of feature providers. If no feature providers for are available, this method returns an empty enumeration. - The type of feature provider to return. - - is null. - - does not derive from . - - - Creates and returns a set of feature providers for the specified type. - An enumeration of feature providers. If no feature providers for or are available, this method returns an empty enumeration. - The type of feature provider to return. - A predicate to use when creating feature providers. If the predicate returns true, the feature provider will be included in the enumeration. - - or is null. - - does not derive from . - - - Creates and returns a set of feature providers that exist for the specified type. - An enumeration of feature providers. If no feature providers for or are available, this method returns an empty enumeration. - The type of feature provider to return. - The type to create feature providers for. - - or is null. - - does not derive from . - - - Creates and returns a set of feature providers that exist for the specified type. - An enumeration of feature providers. If no feature providers for , , or are available, this method returns an empty enumeration. - The type of feature provider to return. - The type to create feature providers for. - A predicate to use when creating feature providers. If the predicate returns true, the feature provider will be included in the enumeration. - - , or is null. - - does not derive from . - - - Releases all resources used by the . - - - Disposes all running feature connectors. - true if this object is being disposed, false if it is being finalized. - - - Occurs when a new type of feature is available. - - - Finalizer that calls . - - - Enumerates attributes on the specified type. - An enumeration of custom attributes. - The type whose attributes are to be enumerated. - The type of attribute to return. - - - Initializes any feature connectors for the feature providers defined on the specified type. - The type to initialize feature connectors for. - - is null. - - - Gets or sets a custom metadata provider that can provide type metadata for this feature manager. - A that provides the type metadata. - - - Raises the event. - The to pass to the event. - - - Gets an enumeration of all connectors that have not been activated yet because they are waiting on context items or services. - An enumeration of feature connectors that are waiting for services or context items to become available in the editing context. - - - Gets an enumeration of all connectors that are currently running. - An enumeration of feature connectors that are currently running. - - - Adds a class-specific contribution to a feature. - - - Initializes a new instance of the class. - - - Specifies a custom mechanism for providing metadata attributes to the class. - An enumeration of attributes. - The type to get attributes for. - The type of attribute to enumerate. Can not be null. - - - Called when attributes are needed for a type. - An that can be used to add attributes. delegates can build attributes only for the type that is requesting metadata. - - - An instance of this class is passed to callback delegates to lazily populate the attributes for a type. - - - Adds the contents of the specified attributes to this builder. - An array of new attributes to add. - - is null. - - - Adds attributes to the member with the specified name. - The member to add attributes for. Only property and event members are supported; all others will be ignored. - An array of new attributes to add. - - or is null. - - - Gets the type this callback is being invoked for. - The type this callback is being invoked for. - - - A table of metadata attributes for defining design-time appearance and behavior. - - - Gets an enumeration of all types which have attribute overrides of some kind, for example, on a property or on the type itself. - An enumeration of types which have attribute overrides. - - - Returns a value indicating whether this table contains any metadata for the specified type. - true if the table contains attributes for the specified type; otherwise, false. - The type to check for metadata attributes. - - is null. - - - Returns an enumeration of all attributes provided for the specified assembly. - An enumeration of attributes. - The assembly to get assembly-level attributes for. - - is null. - - - Returns an enumeration of all attributes provided for the specified type. - An enumeration of attributes. - The type to get class-level attributes for. - - is null. - - - Returns an enumeration of all attributes provided for the specified type and member name. - An enumeration of attributes. - The owning type of the dependency property. - The name of the member to provide attributes for. - - or is null. - - - Creates an attribute table that defines design-time metadata. - - - Initializes a new instance of the class. - - - Adds a callback that is invoked when metadata for the specified type is needed. - The type to add metadata attributes to. - An which adds metadata to . - - - Adds the contents of the provided attributes array to the table builder. - The assembly to add assembly-level attributes to. - The new attributes to add to . - - or is null. - - - Adds the contents of the provided attributes to the table builder. - The type to add class-level attributes to. - The new attributes to add to . - - or is null. - - - Adds attributes to the member with the specified name. - The owning type of the member. - The member to add attributes for. - The attributes to add. - - , , or is null. - - - Adds the contents of the provided attribute table to the table builder. - An existing attribute table. - - is null. - - - Creates an attribute table that contains all the attribute definitions provided through calls. - An attribute table that can be used to define design-time metadata. - - - This method is used to verify the attribute table which is being built contains valid attribute information. - The state of the table is invalid. - - - Provides a collection of instances. - - - Initializes a new instance of the class. - - - Adds the specified table to the set of attribute tables in the current container. - The attribute table to add. - - is null. - - - Gets an enumeration of added attribute tables. - An enumeration of added attribute tables. - - - Enumerates the attributes of the specified assembly. - An enumeration of attributes. - The assembly to enumerate attributes. - The attribute type to enumerate, or null to enumerate all attributes. - - is null. - - - Enumerates the attributes of the specified assembly. - An enumeration of attributes. - The assembly to enumerate attributes. - The attribute type to enumerate or null to enumerate all attributes. - An optional mapping function to map the incoming reflection metadata to runtime metadata. - - is null. - - - Enumerates custom attributes for the specified member, including inherited attributes from base members. - An enumeration of attributes. - The member to get attributes for. - The attribute type to retrieve, or null for all attributes. - - is null. - - - Enumerates custom attributes for the specified member, including inherited attributes from base members. - An enumeration of attributes. - The member to get attributes for. - The attribute type to retrieve, or null for all attributes. - An optional mapping function to map the incoming reflection metadata to runtime metadata. - - is null. - - - Enumerates custom attributes for the specified member, including inherited attributes from base members. - An enumeration of attributes. - The member to get attributes for. - The attribute type to retrieve, or null for all attributes. - - is null. - - - Enumerates custom attributes for the specified member, including inherited attributes from base members. - An enumeration of attributes. - The member to get attributes for. - The attribute type to retrieve, or null for all attributes. - An optional mapping function to map the incoming reflection metadata to runtime metadata. - - is null. - - - Raised when the metadata provided in an does not match properties, methods and events on existing types. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with serialization information. - The serialization store. - The serialization context. - - - Initializes a new instance of the class with a message. - A string describing the exception. - - - Initializes a new instance of the class with a collection of validation errors. - The message provided to the user. - A collection of errors which occurred during validation. - - - Initializes a new instance of the class with an inner exception. - The message provided to the user. - An optional inner exception. - - - Initializes a new instance of the class with a message, a collection of error strings, and an inner exception. - The message provided to the user. - An optional inner exception. - A collection of errors which occurred during validation. - - - Override of the Exception type's method that is used to perform serialization. - The serialization store. - The serialization context. - - - Gets a collection of validation errors. - An enumerable collection of error strings. - - - Represents an event, which is independent of the platform. - - - Initializes a new instance of the class with the specified existing type identifier and event name. - The of the type on which the event is declared. - The name of the event. - - is null. - - was created by using an empty constructor. - - - Initializes a new instance of the class with the specified existing type and event name. - The type on which the event is declared. - The name of the event. - - or is null. - - - Gets the type that declares this event, if it was set in the constructor. - A type that declares the event, or null if the event identifier was created by using a . - - - Gets the type identifier for the type that declares the event. - A type identifier for the type that declares the event. - - - Determines whether the specified is equal to the current . - true if the specified is equal to the current ; otherwise, false. - The to compare with the current . - - - Determines whether the specified is equal to the current . - true if the specified is equal to the current ; otherwise, false. - The to compare with the current . - - - Gets the type-qualified name of the event. - The type-qualified name of the event. - - - Returns the hash code for the current instance. - The hash code for the current instance. - - - Gets a value that indicates whether the current identifier was created by using an empty constructor. - true if this identifier was created by using an empty constructor; otherwise, false. - - - Gets the name of the event. - The name of the event. - - - Determines whether the specified instances are considered equal. - true if is equal to ; otherwise, false. - The first to compare. - The second to compare. - - - Determines whether the specified instances are considered not equal. - true if is not equal to ; otherwise, false. - The first to compare. - The second to compare. - - - Gets the property as a string. - The property as a string. - - - Defines a class that provides an attribute table. - - - Gets the attribute table provided by the class. - The provided by the class. - - - Represents a property, which is independent of the platform. - - - Initializes a new instance of the class with the specified existing type identifier and property name. - The of the type on which the property is declared. - The name of the property. - - is null. - - was created by using an empty constructor. - - - Initializes a new instance of the class with the specified existing type and property name. - The type on which the property is declared. - The name of the property. - - or is null. - - - Gets the type that declares this property, if it was set in the constructor. - A type that declares the property, or null if the property identifier was created by using a . - - - Gets the type identifier for the type that declares the property. - A type identifier for the type that declares the property. - - - Determines whether the specified is equal to the current . - true if the specified is equal to the current ; otherwise, false. - The to compare with the current . - - - Determines whether the specified is equal to the current . - true if the specified is equal to the current ; otherwise, false. - The to compare with the current . - - - Gets the type-qualified name of the property. - The type-qualified name of the property. - - - Returns the hash code for the current instance. - The hash code for the current instance. - - - Gets a value that indicates whether the current identifier was created by using an empty constructor. - true if this identifier was created by using an empty constructor; otherwise, false. - - - Gets the name of the property. - The name of the property. - - - Determines whether the specified instances are considered equal. - true if is equal to ; otherwise, false. - The first to compare. - The second to compare. - - - Determines whether the specified instances are considered not equal. - true if is not equal to ; otherwise, false. - The first to compare. - The second to compare. - - - Gets the property as a string. - The property a string. - - - Represents a class that provides metadata. - - - Initializes a new instance of the class. - The of the class that implements the interface. - - - Gets the type that implements the interface. - A type that implements the interface. - - - Identifies a type, which is independent of the platform. - - - Initializes a new instance of the class. - The fully-qualified name of the type. - - is null. - - - Initializes a new instance of the class with the specified XML namespace and type name. - The XML namespace in which the type is declared. - The name of the type. - - or is null. - - - Determines whether the specified is equal to the current . - true if the specified is equal to the current ; otherwise, false. - The to compare with the current . - - - Determines whether the specified is equal to the current . - true if the specified is equal to the current ; otherwise, false. - The to compare with the current . - - - Returns the hash code for the current instance. - The hash code for the current instance. - - - Gets a value that indicates whether the current identifier was created by using an empty constructor. - true if this identifier was created by using an empty constructor; otherwise, false. - - - Gets the name of the type. - The name of the type. If is null, this is a fully-qualified CLR type name. - - - Determines whether the specified instances are considered equal. - true if is equal to ; otherwise, false. - The first to compare. - The second to compare. - - - Determines whether the specified instances are considered not equal. - true if is not equal to ; otherwise, false. - The first to compare. - The second to compare. - - - Gets the property as a string. - The property as a string. - - - Gets the XML namespace of this type. - The XML namespace of this type. If this property is set, the type name is a simple name in the namespace. - - - \ No newline at end of file diff --git a/SCADA/Program/HMIControl/bin/Debug/Microsoft.Windows.Design.Interaction.dll b/SCADA/Program/HMIControl/bin/Debug/Microsoft.Windows.Design.Interaction.dll deleted file mode 100644 index 1f2bdc9467f3b945b3f1bfb47027b356be835f39..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 416648 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 diff --git a/SCADA/Program/HMIControl/bin/Debug/Microsoft.Windows.Design.Interaction.xml b/SCADA/Program/HMIControl/bin/Debug/Microsoft.Windows.Design.Interaction.xml deleted file mode 100644 index c36a24c..0000000 --- a/SCADA/Program/HMIControl/bin/Debug/Microsoft.Windows.Design.Interaction.xml +++ /dev/null @@ -1,5841 +0,0 @@ -锘 - - - Microsoft.Windows.Design.Interaction - - - - Enables a designer to determine the data context inheritance in the visual tree for a particular property. - - - Initializes a new instance of the class with the specified property name and collection information. - The name of the property that is the source of the data context鈥檚 value. - Indicates whether the data context is an item in a collection. - - - Initializes a new instance of the class with the specified property name, ancestor path, and collection information. - The name of the property that is the source of the data context鈥檚 value. - The property path that indicates the set of ancestor properties to traverse to reach the data context property. - Indicates whether the data context is an item in a collection. - - - Gets the property path that indicates the set of ancestor properties to traverse to reach the data context property. - The path to the data context property. - - - Gets the name of the property that is the source of the data context鈥檚 value. - The name of the property that is the source of the data context鈥檚 value. - - - Gets a value that indicates whether the data context is an item in a collection. - true if the data context is an item in a collection; otherwise, false. - - - Determines the property to use when displaying an instance of an object in a designer. - - - Initializes a new instance of the class with the specified property name. - The name of the property to use for display in a designer. - - - Initializes a new instance of the class with the specified property name and value converter. - The name of the property to use for display in a designer. - The type of the value converter. - - - Gets the name of the property to use for display in a designer. - The name of the property. - - - Determines whether the specified is equal to the current . - true if the specified is equal to the current ; otherwise, false. - The to compare with the current . - - - A 32-bit signed integer hash code. - - - - Gets the type of the value converter to use when displaying the property. - The value converter type, or null if no value converter was specified. - - - Specifies an example instance of an item in the toolbox of a visual designer. - - - Creates an example instance of an item in the toolbox with preset properties. - A that corresponds to the example instance. - The editing context. - - - The localizable display name in the toolbox. - The localizable display name in the toolbox. - - - Gets a stream for use by the property. - A that represents the toolbox bitmap of the example instance. - The target size of the toolbox bitmap. - - - Provides a list of examples in an asset toolbox that reference the same . - - - Initializes a new instance of the class. - - - Gets a list of examples in an asset toolbox that reference the same . - An enumeration of objects. - - - A generic class that identifies the sort order of hierarchical items. - - - Initializes a new instance of the class based on the specified referenced , precedence, and conflict resolution semantics. - Precedence of this token based on the referenced token. - Referenced token. May be null for the root token case. A root token is a token that is not dependent on any token. - Conflict resolution semantics. - - - Compares this order token with the specified order token. - 0 when the tokens have an equal order priority, -1 if this order comes before the specified order, 1 otherwise. - The token to compare to this token. - - - The to compare with the current . - - - - Determines whether two specified order tokens are equal. - true if equals ; otherwise, false. - The first to compare. - The second to compare. - - - Determines whether the first specified order token is greater than the second. - true if is greater than ; otherwise, false. - The first to compare. - The second to compare. - - - Determines whether two specified order tokens are not equal. - true if does not equal ; otherwise, false. - The first to compare. - The second to compare. - - - Determines whether the first specified order token is less than the second. - true if is less than ; otherwise, false. - The first to compare. - The second to compare. - - - Called by the default implementation when two objects appear to be equivalent. - 0, if the two are equal, -1, if left comes before right, 1 otherwise. - Left . - Right . - - - An enumeration used to specify the winner of ordering ties. - - - Indicates that this token should win during conflicts. If two tokens are compared that are equivalent and both have their set to , they are considered equal. - - - Indicates that this token should lose during conflicts. - - - An enumeration that specifies the precedence of order tokens. - - - Indicates that this token comes before. - - - Indicates that this token comes after. - - - Associates an icon with a custom Windows Presentation Foundation (WPF) or Silverlight control in the toolbox for Visual Studio or Expression Blend.聽 - - - Initializes a new instance of the class. - Specifies the assembly in which to look for the image. - Specifies the fully-qualified name of the image, including the namespace. - - - Gets the assembly that contains the icon image. - The that contains the icon image. - - - Gets name of the icon image. - The fully-qualified name of the icon image. - - - Specifies whether a control is visible in a designer's toolbox browser. - - - Initializes a new instance of the class. - true to enable visibility for a control in a toolbox browser; otherwise, false. - - - Gets the flag associated with this attribute. - true if a control is visible in the toolbox browser; otherwise, false. - - - Gets a with set to false. - A pre-defined static instance of the with set to false. - - - Gets a with set to true. - A pre-defined static instance of the with set to false. - - - Specifies the category in which a class appears in a designer's toolbox. - - - Initializes a new instance of the class with the specified category path. - The path under which this class is categorized. Represents multiple levels by using the forward slash (/) as a delimiter. - - - Initializes a new instance of the class with the specified category path and parent category visibility. - The path under which this class is categorized. Represents multiple levels by using the forward slash (/) as a delimiter. - true to indicate whether this class appears in all parent categories; otherwise, false. - - - Gets a value that indicates whether this class appears in all parent categories. - true if this class appears in all parent categories; otherwise, false. - - - Gets the path under which this class is categorized. - The path under which this class is categorized. - - - Specifies the type that implements the interface. - - - Initializes a new instance of the class. - A type that implements the interface. - - - Gets a that provides a list of examples in an asset toolbox that references the associated . - A that provides a list of examples in an asset toolbox that references the associated . - - - Specifies the tab in which a class appears in a designer's toolbox. - - - Initializes a new instance of the class. - The name of the Visual Studio toolbox tab.聽 - - - Specifies the Common tab of the toolbox. - - - Gets the Visual Studio聽toolbox tab that is used when this item is installed. - The name of the toolbox tab. - - - Used to adapt logic for a particular item. - - - Initializes a new instance of the class. - - - When overridden in a derived class, gets the type of adapter this object represents. - A that represents the adapter type. - - - Provides a set of common brushes that can be used on adorners. - - - Gets the brush used for the alignment marks. - A representing the standard brush for alignment marks in the WPF Designer. - - - Gets a resource key for the color of alignment marks. - A for the dictionary representing the standard brush for alignment marks in the WPF Designer. - - - Gets the color that is used for the alignment marks. - A representing the standard color for alignment marks in the WPF Designer. - - - Gets a resource key for the color of alignment marks. - A for the dictionary representing the standard color for alignment marks in the WPF Designer. - - - Gets the brush used for the borders of elements. - A representing the standard brush for elements in the WPF Designer. - - - Gets a resource key for the brush of borders of elements. - A for the dictionary representing the standard brush for elements in the WPF Designer. - - - Gets the color that is used for the borders of elements. - A representing the standard color for elements in the WPF Designer. - - - Gets a resource key for the color of borders of elements. - A for the dictionary representing the standard color for elements in the WPF Designer. - - - Gets the brush used for the fill of any glyph. - A representing the standard brush for glyphs in the WPF Designer. - - - Gets a resource key for the brush used to fill a glyph. - A for the dictionary representing the standard brush for glyphs in the WPF Designer. - - - Gets the color that is used for the fill of any glyph. - A representing the standard color for glyphs in the WPF Designer. - - - Gets a resource key for the color that is used to fill a glyph. - A for the dictionary representing the standard color for glyphs in the WPF Designer. - - - Gets a brush to paint the border of a handle. - A representing the standard brush for handle borders in the WPF Designer. - - - Gets a resource key for the border brush of a handle. - A for the dictionary representing the standard border brush for handles in the WPF Designer. - - - Gets the color of a handle border. - A representing the standard color for handle borders in the WPF Designer. - - - Gets a resource key for the color of a handle border. - A for the dictionary representing the standard border color for handles in the WPF Designer. - - - Gets the brush to paint the fill of a handle when it is not resizable. - A that represents the standard brush for a handle in the WPF Designer. - - - Gets the resource key for the brush of a handle when it is not resizable. - A for the dictionary that represents the standard brush for a handle in the WPF Designer. - - - Gets the color of a handle when not it is not resizable. - A that represents the standard color for a handle in the WPF Designer. - - - Gets the resource key for the color of a handle when it is not resizable. - A for the dictionary that represents the standard color for a handle in the WPF Designer. - - - Gets a brush to paint the fill of a handle. - A representing the standard brush for handles in the WPF Designer. - - - Gets a resource key for the brush of a handle. - A for the dictionary representing the standard brush for handles in the WPF Designer. - - - Gets the color of a handle. - A representing the standard color for handles in the WPF Designer. - - - Gets a resource key for the color of a handle. - A for the dictionary representing the standard color for handles in the WPF Designer. - - - Gets a brush to paint the fill of a handle when the mouse pointer is over it. - A representing the standard brush for a handle when the mouse pointer is moved over it in the WPF Designer. - - - Gets a resource key for the brush of a handle when the mouse pointer is over it. - A for the dictionary representing the standard brush for a handle when the mouse pointer is moved over it in the WPF Designer. - - - Gets the color of a handle when the mouse pointer is over it. - A representing the standard color for a handle when the mouse pointer is moved over it in the WPF Designer. - - - Gets a resource key for the color of a handle when the mouse pointer is over it. - A for the dictionary representing the standard color for a handle when the mouse pointer is moved over it in the WPF Designer. - - - Gets a brush to paint the fill of a handle when it is pressed. - A representing the standard brush for a pressed handle in the WPF Designer. - - - Gets a resource key for the brush of a handle when it is pressed. - A for the dictionary representing the standard brush for a pressed handle in the WPF Designer. - - - Gets the color of a handle when it is pressed. - A representing the standard color for a pressed handle in the WPF Designer. - - - Gets a resource key for the color of a handle when it is pressed. - A for the dictionary representing the standard color for a pressed handle in the WPF Designer. - - - Gets the brush used for the content of a move handle. - A representing the standard brush for a move handle's content in the WPF Designer. - - - Gets a resource key for the brush used for the content of a move handle. - A for the dictionary representing the standard brush for the content of a move handle in the WPF Designer. - - - Gets the color that is used for the content of a move handle. - A representing the standard color for a move handle's content in the WPF Designer. - - - Gets a resource key for the color that is used for the content of a move handle. - A for the dictionary representing the standard color for the content of a move handle in the WPF Designer. - - - Gets the brush used for the fill of a move handle when the mouse pointer is not over it. - A representing the standard brush for move handles in the WPF Designer. - - - Gets a resource key for the brush used for the fill of a move handle when the mouse pointer is not over it. - A for the dictionary representing the standard brush for move handles in the WPF Designer. - - - Gets the color that is used for the fill of a move handle when the mouse pointer is not over it. - A representing the standard color for move handles content in the WPF Designer. - - - Gets a resource key for the color that is used for the fill of a move handle when the mouse pointer is not over it. - A for the dictionary representing the standard color for move handles in the WPF Designer. - - - Gets the brush used for the fill of a move handle when the mouse pointer is over it. - A representing the standard brush for a move handle when the mouse pointer is moved over it in the WPF Designer. - - - Gets a resource key for the brush used for the fill of a move handle when the mouse pointer is over it. - A for the dictionary representing the standard brush for a move handle when the mouse pointer is moved over it in the WPF Designer. - - - Gets the color that is used for the fill of a move handle when the mouse pointer is over it. - A representing the standard color for a move handle when the mouse pointer is moved over it in the WPF Designer. - - - Gets a resource key for the color that is used for the fill of a move handle when the mouse pointer is over it. - A for the dictionary representing the standard color for a move handle when the mouse pointer is moved over it in the WPF Designer. - - - Gets the fill brush for rails. - A representing the standard brush for rails in the WPF Designer. - - - Gets a resource key for the brush used for rails. - A for the dictionary representing the standard brush for rails in the WPF Designer. - - - Gets the fill color for rails. - A representing the standard color for rails in the WPF Designer. - - - Gets a resource key for the color that is used for rails. - A for the dictionary representing the standard color for rails in the WPF Designer. - - - Gets the brush used for the selection frame around controls. - A representing the standard brush for the selection frame in the WPF Designer. - - - Gets a resource key for the brush used for the selection frame around controls. - A for the dictionary representing the standard brush for the selection frame in the WPF Designer. - - - Gets the color that is used for the selection frame around controls. - A representing the standard color for the selection frame in the WPF Designer. - - - Gets a resource key for the color that is used for the selection frame around controls. - A for the dictionary representing the standard color for the selection frame in the WPF Designer. - - - Gets the fill brush for the selection frame used on controls. - A representing the standard fill brush for the selection frame in the WPF Designer. - - - Gets a resource key for the brush used for the selection frame used on controls. - A for the dictionary representing the standard fill brush for the selection frame in the WPF Designer. - - - Gets the fill color for the selection frame used on controls. - A representing the standard fill color for the selection frame in the WPF Designer. - - - Gets a resource key for the color that is used for the selection frame on controls. - A for the dictionary representing the standard fill color for the selection frame in the WPF Designer. - - - Gets a simple wash brush. - A representing the standard brush for a simple wash in the WPF Designer. - - - Gets a resource key for the brush used for simple washes. - A for the dictionary representing the standard brush for a simple wash in the WPF Designer. - - - Gets a simple wash color. - A representing the standard color for a simple wash in the WPF Designer. - - - Gets a resource key for the color that is used for simple washes. - A for the dictionary representing the standard color for a simple wash in the WPF Designer. - - - Gets the brush for a toggled glyph鈥檚 fill. - A representing the standard brush for a toggled glyph in the WPF Designer. - - - Gets a resource key for the brush used for a toggled glyph's fill. - A for the dictionary representing the standard brush for a toggled glyph in the WPF Designer. - - - Gets the color for a toggled glyph鈥檚 fill. - A representing the standard color for a toggled glyph in the WPF Designer. - - - Gets a resource key for the color for a toggled glyph's fill. - A for the dictionary representing the standard color for a toggled glyph in the WPF Designer. - - - Defines a 2D coordinate space for use in . - - - Defines the two common coordinate spaces used in the designer. - - - Gets the default coordinate space for adorners. - An specifying the default adorner space. - - - Provides a set of common brushes that can be used on adorners. - - - Gets a for the current item. - A representing the standard font family in the WPF Designer. - - - Gets a resource key for the for the adorner. - A for the dictionary representing the standard font family in the WPF Designer. - - - Gets the font size to paint the current . - A double representing the standard font size in the WPF Designer. - - - Gets a resource key for the font size for the adorner. - A for the dictionary representing the standard font size in the WPF Designer. - - - An enumeration that defines the horizontal alignment of an adorner relative to an element on a design surface. - - - The adorner is aligned to the left. - - - The adorner is centered. - - - The adorner is aligned to the right. - - - The adorner is stretched. - - - The adorner is aligned to the left, on the outside. - - - The adorner is aligned to the right, on the outside. - - - Performs the layout of an adorner on the . - - - Initializes a new instance of the class. - - - Invoked on the adorner layout whenever one of the properties stored in the class changes. - The adorner whose property has changed. - A that contains details of the property change. - - - Performs the layout arrangement on the specified adorner. - The adorner to be arranged. - - is null. - - - Performs the layout arrangement on the . - The size of the after the layout arrangement. - The parent . - The in the parent. - The final size that wants the to assume. - - - Gets a value indicating whether the adorner remains in the UI tree. - true if should remain in the UI tree. false if one or more visuals it is associated with are no longer part of the UI tree. - The designer view that is evaluating the layout. - The adorner to be evaluated. - - or is null. - - - Gets a value indicating whether the specified model item is associated with this adorner. - true if the adorner is associated with the specified model item. - The adorner to check. - The item to compare. - - or is null. - - - Performs the layout measurement on the specified adorner. - The adorner to be measured. - The constrained size of the adorner. - - is null. - - - Specifies the z-order of adorners in Design view. - - - Gets a value indicating that the adorner is placed after the content. - An specifying the bottom of the z-order. - - - Gets a value indicating that the adorner is placed with other content adorners. This is the default. - An specifying the z-order of the . - - - Creates a new adorner order that places the adorner above the provided reference in the z-order. - A new that places the adorner above adorners with the specified reference. - The to place the adorner above. - - is null. - - - Creates a new adorner order that places the adorner below the provided reference in the z-order. - A new that places the adorner below adorners with the specified reference. - The to place the adorner below. - - is null. - - - Gets a value indicating that the adorner is placed before content adorners. - An specifying the top of the z-order. - - - Provides a container for Windows Presentation foundation (WPF) controls, which are used at design time as adorners. - - - Initializes a new instance of the class. - - - Gets or sets the value of a child element within a parent . - The of the . - - - Identifies the dependency property. - Identifier for the dependency property. - - - Gets or sets the value of a child element within a parent . - A that represents the margin of the . - - - Identifies the dependency property. - Identifier for the dependency property. - - - Gets or sets the value of a child element within a parent . - The of the . - - - Identifies the dependency property. - Identifier for the dependency property. - - - A object that represents the arranged size. - The final size allowed for the arrange. - - - Returns the that is the parent of the specified . - An that is the parent of the visual, or null if the visual does not have a parent view. - A or that is a child of the . - - is null. - - - Gets the 聽attached property for the specified . - The property value for . - The element from which the property value is read. - - - Gets the 聽attached property for the specified . - A that represents the for . - The element from which the property value is read. - - - Gets the 聽attached property for the specified . - The property value for . - The element from which the property value is read. - - - Gets the value of the 聽attached property for the specified . - An for the adorner panel along the x-axis. The default value is . - The from which to read the attached property. - - is null. - - - Returns the layout clip of the . - A that represents the layout clip of the . - The size of the . - - - Note: This API is now obsolete. Gets the value of the 聽attached property for the specified . - An which holds objects representing 's size and position. - The to get placements for. - - is null. - - - Reads the 聽attached property from the specified element. - A that represents the task associated with . - The from which to read the attached property. - - is null. - - - Gets the value of the 聽attached property for the specified . - An for the adorner panel along the y-axis. The default value is . - The from which to read the attached property. - - is null. - - - Gets or sets the value for the x-axis. - An for the adorner panel along the x-axis. The default value is . - - - Identifies the 聽dependency property. - The identifier for the 聽dependency property. - - - Gets or sets the value. - true if the adorner panel's content may receive focus; otherwise, false. The default is false. - - - Identifies the 聽dependency property. - The identifier for the 聽dependency property. - - - Measure adorner. - A Size object that represents the size of the element. - The available size the element can occupy. - - - Gets or sets the associated with the adorner panel. - The associated with the adorner panel. - - - Identifies the 聽dependency property. - The identifier for the 聽dependency property. - - - Get or sets the rectangle that defines the adorner panel offset from the adorned control. - A rectangle that defines the adorner panel offset from the adorned control. - - - Invoked when an unhandled 聽attached event reaches an element in its route that is derived from this class.. - The that contains the event data. - - - Gets or sets the value. - An instance that specifies the z-order of the adorner panel. - - - Identifies the 聽dependency property. - The identifier for the 聽dependency property. - - - Note: This API is now obsolete. Gets or sets a collection of objects specifying the size and position of adorners in the adorner panel. - An which holds objects representing 's size and position. - - - Note: This API is now obsolete. Identifies the 聽dependency property. - The identifier for the 聽dependency property. - - - Sets the 聽attached property for the provided element. - The element to which the attached property is written. - - to be set to the . - - - Sets the specified 聽attached property for the provided element. - The element to which the attached property is written. - The of the margin to be set to the . - - - Sets the specified 聽attached property for the provided element. - The element to which the attached property is written. - The to be set to the . - - - Sets the value of the 聽attached property for the provided element. - The to which the attached property is written. - The value for the horizontal dimension. - - is null. - - - Note: This API is now obsolete. Sets the value of the 聽attached property for the provided element. - The to which the attached property is written. - An which holds objects representing 's size and position. - - is null. - - - Writes the 聽attached property to the specified element. - The element to which the attached property is written. - The to set. - - is null. - - - Sets the value of the 聽attached property for the provided element. - The element to which the attached property is written. - The value for the vertical dimension. - - is null. - - - Determines whether to use the mirror transform. - true if mirror transform is being used; otherwise, false. Always returns true. - - - Gets or sets the value for the y-axis. - An for the adorner panel along the y-axis. The default value is . - - - Identifies the 聽dependency property. - The identifier for the 聽dependency property. - - - Gets or sets the adorner panel's associated view. - A that represents the associated view. - - - Enables precise placement of adorners within an . - - - Initializes a new instance of the class. - - - Adds a placement term that positions the adorner panel relative to the adorner's height. - A factor that is multiplied against the adorner's height. - An offset that is added to the result. - - - Adds a placement term that positions the adorner panel relative to the specified adorner's height. - A factor that is multiplied against the adorner's height. - An offset that is added to the result. - An optional adorner. If provided, the position is relative to the adorner's height. - - - Adds a placement term that positions the adorner panel relative to the adorner's width. - A factor that is multiplied against the adorner's width. - An offset that is added to the result. - - - Adds a placement term that positions the adorner panel relative to the specified adorner's width. - A factor that is multiplied against the adorner's width. - An offset that is added to the result. - An optional adorner. If provided, the position is relative to the adorner's width. - - - Adds a placement term that positions the adorner panel relative to the adorned content's height. - A factor that is multiplied against the adorned content's height. - An offset that is added to the result. - - - Adds a placement term to this group that positions the adorner panel relative to the content's height. - A factor that is multiplied against the content's height. - An offset that is added to the result. - If provided, the position is relative to the element's height, rather than the height of the content. This an optional element. - - - Adds a placement term that positions the adorner panel relative to the adorned content's width. - A factor that is multiplied against the adorned content's width. - An offset that is added to the result. - - - Adds a placement term to this group that positions the adorner panel relative to the content's width. - A factor that is multiplied against the content's width. - An offset that is added to the result. - If provided, the position is relative to the element's width, rather than the width of the content. This is an optional element. - - - Adds a placement term that sizes the adorner panel relative to the adorner's desired height. - A factor that is multiplied against the adorner's desired height. - An offset that is added to the result. - - - Add a placement term that sizes the adorner panel relative to the specified adorner's desired height. - A factor that is multiplied against the specified adorner's desired height. - An offset that is added to the result. - An optional adorner. If provided, the size is relative to the adorner's height. - - - Adds a placement term that sizes the adorner panel relative to the adorner's desired width. - A factor that is multiplied against the adorner's desired width. - An offset that is added to the result. - - - Adds a placement term that sizes the adorner panel relative to the specified adorner's desired width. - A factor that is multiplied against the adorner's desired width. - An offset that is added to the result. - An optional adorner. If provided, the size is relative to the adorner's width. - - - Adds a placement term that sizes the adorner panel relative to the adorned content's height. - A factor that is multiplied against the content's height. - An offset that is added to the result. - - - Adds a placement term to this group that sizes the adorner panel relative to the content's height. - A factor that is multiplied against the content's height. - An offset that is added to the result. - If provided, the size is relative to the element's height. This is an optional element. - - - Adds a placement term that sizes the adorner panel relative to the adorned content's width. - A factor that is multiplied against the content's width. - An offset that is added to the result. - - - Adds a placement term to this group that sizes the adorner panel relative to the content's width. - A factor that is multiplied against the content's width. - An offset that is added to the result. - If provided, the size is relative to the element's width. This is an optional element. - - - An enumeration that defines the dimension that should be applied to an structure. - - - The left side. - - - The top side. - - - The right side. - - - The bottom side. - - - The width. - - - The height. - - - Represents a single value in an . - - - Initializes a new instance of the class. - The term that should be applied to this value. - The contribution this value makes to the overall placement. - - - Gets or sets the distance the placement term is affected by. - A double that is the distance the placement term is affected by. - - - Returns a value indicating whether this instance is equal to a specified . - true if the objects are equal; otherwise, false. - The value to test. - - - Returns a value indicating whether this instance is equal to a specified object. - The object to test. - - - Returns the hash code for this structure. - The hash code of the structure. - - - Determines whether the two specified objects have the same value. - true if the values are equal; otherwise, false. - The first value to test. - The second value to test. - - - Determines whether the two specified objects have different values. - true if the values are not equal; otherwise, false. - The first value to test. - The second value to test. - - - Gets or sets the placement term affected by this contribution amount. - An that is the placement term affected by this contribution amount. - - - Defines a set of attached properties for a UI element to enable adorner appearance and behavior. - - - Gets a layout that is used to arrange the adorner with regard to its model or view. - The for . - The adorner element to retrieve the layout for. - - is null. - - - Gets the model item associated with the specified adorner. - The associated with . - The adorner element to retrieve the model item for. - - is null. - - - Gets the relative z-order of the specified adorner. - An specifying the relative z-order of . - The adorner element to retrieve the order for. - - is null. - - - Gets the render transform for the adorner. - The render transform associated with , or null if no view has been set. - The adorner element to retrieve the render transform for. - - is null. - - - Gets the task for the specified adorner. - The associated with . - The adorner element to retrieve the task for. - - is null. - - - Gets the view for the specified adorner. - The view associated with , or null if no view has been set. - The adorner element to retrieve the task for. - - is null. - - - Gets a layout that is used to arrange the adorner with regard to its model or view. This is an attached property. - The for the adorner. - - - Identifies the 聽attached property. - The identifier for the 聽attached property. - - - Gets the model item associated with the adorner. This is an attached property. - The associated with the adorner. - - - Identifies the 聽attached property. - The identifier for the 聽attached property. - - - Gets the relative z-order of the adorner. This is an attached property. - An specifying the relative z-order of the adorner. - - - Identifies the 聽attached property. - The identifier for the 聽attached property. - - - Gets or sets the render transform for the adorner. This is an attached property. - The render transform associated with the adorner, or null if no render transform has been set. - - - Identifies the attached property. - The identifier for the attached property. - - - Sets the layout for the specified adorner. - The adorner element to set the layout for. - The to associate with . - - is null. - - - Sets the model item associated with the specified adorner. - The adorner element to set the model for. - The to associate with . - - is null. - - - Sets the relative z-order of the specified adorner. - The adorner element to set the model for. - An specifying the relative z-order of . - - is null. - - - - Sets the task for the specified adorner. - The adorner element to set the task for. - The to associate with . - - is null. - - - Gets the task for the specified adorner. This is an attached property. - The associated with the adorner. - - - Identifies the 聽attached property. - The identifier for the 聽attached property. - - - A feature provider that you can add to a class to automatically add adorners to the designer surface. - - - Initializes a new instance of the class. - - - Called when adorners are requested for the first time by the designer. - A representing the adorned element. - - - Gets the collection of adorners that are provided by this adorner provider. - A collection of objects that have adorner attached properties. - - - Gets or sets the visibility of a set of adorners. - true if the adorners are added to the designer view. false if the adorners are removed from the designer view. - - - Gets the editing context that activated this adorner provider. - An that activated this adorner provider. - - - Called when an adorner provider is about to be discarded by the designer. - - - Gets a value indicating if the adorner provider supports the provided . - true if the adorner provider supports ; otherwise, false. - The to be checked. - - - Used to define a set of resources that can be used in XAML. - - - Creates a resource key for the specified type and member name. - A new resource key. - The type that owns this resource. - The name of the public static member that exposes this resource. - - or is null. - - - Locates a resource with the specified key. - The resource that corresponds with . - The resource key to find. - - is null. - - does not have a resource. - - - Updates the adorner resource dictionary. - - - Registers a callback that can provide a resource dictionary. - A callback used to return the resource dictionary. - - is null. - - - Locates a resource with the specified key. - The resource if it exists.-or-null if the specified resource does not exist. - The key of the resource to find. - - is null. - - - An enumeration used to identify how the particular dimension (X or Y) of an adorner behaves when Design view is scaled. - - - The dimension remains the same during scaling. Therefore, the adorner does not change size or scale during scaling. - - - The dimension stretches during scaling. Therefore, the adorner gets larger, but the stroke of rendered elements/lines/pens does not increase. - - - An enumeration that defines the vertical alignment of an adorner relative to an element on a design surface. - - - The adorner is aligned to the top. - - - The adorner is centered. - - - The adorner is aligned to the bottom. - - - The adorner is stretched. - - - The adorner is aligned to the top, on the outside. - - - The adorner is aligned to the bottom, on the outside. - - - Provides data for the event. - - - Get or sets whether the command can be executed. - true if the command can be executed; otherwise, false. - - - Gets the command associated with this . - An that represents a command associated with this . - - - Gets the parameter associated with this . - An object that represents the parameter associated with this . The return value may be null. - - - Represents the method that will handle the events for tool commands. - The source of the event. - A that contains the event data. - - - Provides data for the event defined on the class. - - - Initializes a new instance of the class. - The command that raised the exception. - The exception that the command threw. - - or is null. - - - Gets the command that was passed to the constructor. - An that represents the command that was passed to the constructor. - - - Gets the exception that was passed into the constructor. - An that was passed into the constructor. - - - Defines a set of menu items that are shown in a context menu. - - - Initializes a new instance of the class. - - - Gets the items to add to the context menu. - An of items. - - - Raises the event so the visibility and enabled status of menu items can be refreshed. - The to send in the . - - - Occurs when the menu item is about to be shown. - - - Represents a set of static command definitions for tool creation commands. - - - Gets a command identifier for creating new objects. - A command identifier for creating new objects. - - - Gets a tool command identifier for creating new objects at the current position. - A tool command identifier for creating new objects at the current position. - - - Gets a tool command identifier for creating new objects within gesture positions. - A tool command identifier for creating new objects within gesture positions. - - - A tool that is used to create new instances of objects on the designer. - - - Initializes a new instance of the class. - - - Occurs when the tool completes the creation of its object. - - - Gets or sets the type of object this tool should create. - A object representing the type of object this tool should create. For example, if this tool is to create a button, this property should be typeof(Button). - - - Raises the event. - The event to give to the creation complete event. - - is null. - - - Raises the event. - - - Identifies the creation tool that should be used to create an instance of a specified type. - - - Initializes a new instance of the class. - The type of tool this attribute describes. You can specify null to prevent a base class from surfacing. - - does not derive from . - - - Returns a value that indicates whether this instance is equal to a specified object. - true if the object is equal to this object; otherwise, false. - The object to compare. - - - Returns the hash code for this instance. - An integer hash code. - - - Gets the type to instantiate. - A object that represents the type of the to be instantiated. - - - A context item that is used to store and report the current designer view that is being used in the editing context. - - - Initializes a new instance of the class. - - - Gets the item type of this item. - A that represents the type of this item. - - - Gets the designer view that is currently being used. - A that is currently being used; or null if no view has been installed yet. - - - Represents commands associated with a designer. - - - Gets a command that cancels the current operation. - A command that cancels the current operation. - - - Provides a visual design surface for the designer. - - - Initializes a new instance of the class. - - - Gets the collection of adorners on this view. - A collection of all adorner panels on the design surface. - - - Gets or sets a value that indicates whether the adorners on the designer view are visible or hidden. - true if adorners are visible; otherwise, false. - - - Identifies the dependency property. - The identifier for the dependency property. - - - - overrides so it can make sure that all the layers it maintains are the same size as the view. - A object that represents the arranged size. - The final size allowed for the arrange. - - - Gets or sets the root element of the designer's UI. - The root of the designer's UI. - - - Occurs when an exception is raised in a command. - - - Gets or sets the editing context for this view. - The associated with the view. - - - Gets or sets the designer view attached property. - The for the UI tree. - - - Identifies the dependency property. - - - Returns the designer view stored in the specified context. - A stored in , or null if a view does not exist. - The editing context to retrieve the designer view from. - - is null. - - - Gets the value of the attached property for the specified element. - The attached property for . - The element in the tree to return the designer view for. - - - Returns the visual children of the designer view. - A at the specified index. - The zero-based index of the visual child collection. - - - Represents the zoom transform that is to the . - The that represents the zoom factor. - - - Gets or sets whether the content of the is hit-tested and can receive mouse and keyboard input. - true if the content is hit-tested; otherwise, false. The default is false. - - - Occurs when the is matching a user input gesture to a command. - - - Override to measure the layers. - A object that represents the size of the element. - The available size the element can occupy. - - - Raises the event. - The used when raising this event. - - - Creates and returns an for use by the automation infrastructure. - An for this object. - - - Raises the event. - The used when raising this event. - - - Returns a that represents the . - A that represents the . - - - Performs the processing of changes to the zoom level. - - - Gets the count of visual children on this object. - An integer representing the number of visual children on this object. - - - Represents the current zoom level of the . - The zoom level of the . - - - Occurs when the zoom level has changed. - - - Identifies the dependency property. - - - Provides additional information during a drag-and-drop operation. - - - Initializes a new instance of the class. - The editing context that owns this gesture data. - The model where the gesture began. - The model the gesture is currently over. - The input element representing the coordinate reference for the points. This should be an element that never moves around, such as the class. - The position of the mouse when the gesture was first initiated. - The current position of the mouse. - The allowed drag-and-drop effects. - The data for the drag. - - , , , or is null. - - - Initializes a new instance of the class. - The editing context that owns this gesture data. - This is the model where the gesture began. - This is the model the gesture is currently over. - The input element representing the coordinate reference for the points. This should be an element that never moves around, such as the class. - The position of the mouse when the gesture was first initiated. - The current position of the mouse. - The allowed drag-and-drop effects. - The data for the drag. - The source adorner to associate with the gesture, if it exists. This parameter can be null. - The target adorner to associate with the gesture, if it exists. This parameter can be null. - - - Gets the set of allowed drag-and-drop effects. - A object that represents the set of allowed drag-and-drop effects. - - - Gets the data passed in for the drag-and-drop operation. - An that represents drag-and-drop operation data. - - - Gets or sets the current drag-and-drop effects. - A object that represents the current drag-and-drop effects. - The effects are not in the allowed effects. - - - Provides a simple utility that returns a object from a object. - The object that is contained in the property of the object. - The object passed into a command callback. - - is null. - - - Provides a simple utility that returns a from an object. - The object that is contained in the property of the object. - The object passed into a command callback. - - is null. - - - Provides data for the event. - - - Gets the command associated with this object. - An that represents a command associated with this . - - - Gets the parameter associated with this object. - An object that represents the parameter associated with this object. The return value can be null. - - - Represents the method that will handle the events for tool commands. - The source of the event. - An that contains the event data. - - - Contains the task that currently has the focus in a tool. - - - Initializes a new instance of the class. - - - Gets the key that is used in the context item dictionary to identify this type of context item. - A object that represents the type of the . - - - Gets the task that has the focus. - A object representing the task that has the focus. - - - Provides information about a gesture. - - - Initializes a new instance of the class. - The editing context that owns this gesture data. - The model where the gesture began. - The model the gesture is currently over. - - , , or is null. - - - Initializes a new instance of the class. - The editing context that owns this gesture data. - The model where the gesture began. - The model the gesture is currently over. - The source adorner to associate with the gesture, if it exists. This parameter can be null. - The target adorner to associate with the gesture, if it exists. This parameter can be null. - - , , or is null. - - - Gets the adorner collection for the designer view stored in the context. - An that contains the adorner collection for this context's designer view. - - - Gets the editing context associated with this gesture data. - The associated with this gesture data. - - - Provides a object from an object. - The object that is contained in the property of the object. - The object passed into a command callback. - - is null. - - - Provides a object from an object. - The object that is contained in the property of the object. - The object passed into a command callback. - - is null. - - - Gets the model that is the source of this gesture. - The that is the source of this gesture. - - - Gets the model that is the target of this gesture. - The that represents the target of this gesture. - - - Gets the source adorner in the view. - A that is the adorner that initiated the gesture. The return value can be null if the gesture was not initiated by an adorner. - - - Gets the object that is the source of this gesture. - The that is the source of this gesture. - - - Gets the target adorner in the view. - A that is the adorner the gesture is currently over. The return value can be null if the gesture is not over an adorner. - - - Gets the object that is the target of this gesture. - The that represents the target of this gesture. - - - Specifies a placement term for an . - - - Returns an enumeration of positioning terms that is used to position an adorner. - An enumeration of positioning terms. If no positioning terms are used, returns an empty enumeration. - The coordinate space of the owning adorner panel. - The adorner to get position terms for. - The view being adorned by the adorner. - A vector that indicates the zoom for the designer. - The resulting size of the adorner after the terms returned by the method have been processed. - - or is null. - - - Returns an enumeration of sizing terms that is used to size the adorner. - An enumeration of sizing terms. If no size terms are used, this method must return an empty enumeration. - The coordinate space of the owning adorner panel. - The adorner to get size terms for. - The view being adorned by the adorner. - A vector that indicates the zoom for the designer. - The final size of the view after it has been arranged. - - - Used when a resource for the specified key must be located. - A to be inserted into the default theme dictionary. - - - Provides data for the event. - - - Gets or sets the input binding that was mapped to the input event. - The input binding that was mapped to the input event. - - - Gets or sets the gesture data associated with the input event. - The gesture data associated with the input event. - - - Gets the input event that caused this event to be raised. - An for the input event that caused this event to be raised. - - - A context menu item which represents an action to take in the designer. - - - Initializes a new instance of the class. - The text that appears in the context menu. - - - Gets or sets a value indicating whether the menu item requires user interface (UI) that displays a check box. - true if the menu item requires a check box; otherwise, false. The default is false. - - - Gets or sets a value indicating whether the menu item is checked. - true if the menu item should be rendered with a check mark; otherwise, false. The default is false. - - - Gets the command which represents the menu action. - An which represents the menu action. - - - Gets or sets a value indicating whether the menu action item is available to the user. - true if the menu action item is available to the user; otherwise, false. The default is true. - - - Occurs when the menu item is executed. - - - Gets or sets the path to an image associated with the . - A to the image associated with the . The default value is null. - - - Gets or sets a value indicating whether the item is displayed in the menu. - true if the action is displayed in the menu; otherwise, false. The default is true. - - - Provides data for events. - - - Initializes a new instance of the class. - The associated . - - is null. - - - Gets the currently active editing context. - An representing the active editing batch. - - - Gets the current selection on the design surface. - A representing the currently selected control. - - - Provides a base class for both actions and groups. - - - Initializes a new instance of the class. - - - Gets the current editing context. - An for the current context or null. - - - Gets or sets the localized text to display for the menu item. - The localized text to display for the menu item. - - - Gets or sets the unique identifier for the menu item. - The unique identifier for the menu item. - - - Raises the event. - The name of the property that is changing. - - - Occurs when a property has changed. - - - Represents a group of menu items. - - - Initializes a new instance of the class that has the specified group name. - The name of the instance. - - - Initializes a new instance of the class that has the specified group name and display name. - The name of the instance. - Localized text to display when equals true. - - - Gets or sets a value indicating whether the menu items in the collection are added to a submenu. - true if the menu items in the items collection will be added to a submenu; false if the items in the collection will be added directly to the current menu, rendered with a separator on each end. - - - Gets a list of menu items to display as siblings within the same menu group. - An of items. - - - A callback delegate that can be assigned to the property of a transacted task. - The filter behavior for this filter. - A model item under the mouse pointer. - - - Provides information about the mouse position. - - - Initializes a new instance of the class. - The editing context that owns this gesture data. - The model where the gesture began. - The model the gesture is currently over. - The input element representing the coordinate reference for the points. This should be an element that never moves around, such as the . - The position of the mouse when the gesture was first initiated. - The current position of the mouse. - - , , , or is null. - - - Initializes a new instance of the class. - The editing context that owns this gesture data. - The model where the gesture began. - The model the gesture is currently over. - The input element representing the coordinate reference for the points. This should be an element that never moves around, such as the . - The position of the mouse when the gesture was first initiated. - The current position of the mouse. - The source adorner to associate with the gesture, if it exists. This parameter can be null. - The target adorner to associate with the gesture, if it exists. This parameter can be null. - - - Gets the current position of the mouse. - A object that represents the current position of the mouse. - - - Provides a object from an object. - The object contained in the property of the object. - The object passed into a command callback. - - is null. - - - Provides a from an object. - The object contained in the property of the object. - The object passed into a command callback. - - is null. - - - Gets the offset between starting and ending positions. - A object that represents the offset between the starting and ending positions of the mouse. - - - Gets the starting position of the mouse. - A object that represents the starting position of the mouse. - - - Translates the specified point to the coordinate system of the visual for the specified model. - A object that represents the translated point. - The point to translate. - The model to translate coordinates into. - - is null. - - - An enumeration that indicates the method a uses to move controls during keyboard nudges. - - - Indicates that the intent of the placement call is to nudge the control to the left. - - - Indicates that the intent of the placement call is to nudge the control to the right. - - - Indicates that the intent of the placement call is to nudge the control upward. - - - Indicates that the intent of the placement call is to nudge the control downward. - - - Provides an extension point for any type that can be a parent of child objects. - - - Initializes a new instance of the class. - - - Gets the type of adapter this class represents. - A representing the class type of parent adapter. - - - Gets a value indicating whether the specified parent object can be a parent to an object of the specified type. - true if the specified parent can accept a child of the specified type; otherwise, false. The default is true. - A representing the parent. - The type of child item. - - or is null. - - - Gets a value indicating whether the specified child item is a child of the specified parent item. - true if is a child item of ; otherwise, false. - The parent item. - The child item. - - - Changes the parent of an object to another parent. - The new parent item for . - The child item. - - or is null. - - - Changes the parent of an object to another parent. - The new parent item for the child. - The child item. - The order of control in the children collection. - - or is null. - - - Redirect a reference from one parent to another. . - A redirected parent. The default implementation returns . - The parent item. - The type of child item. - - or is null. - - - Replaces the current parent of the specified child with a new parent. - The item that is currently the parent of . - The item that will become the new parent of . - The child item. - - , , or is null. - - - An adapter that is used to get and set positions of objects in parent coordinates. - - - Initializes a new instance of the class. - - - Gets the type of adapter this class represents. - Returns a type. - - - Begins the placement operation. - The for which the placement operation is started. - - - Returns a value that indicates whether the specified coordinate can be set. - true if the coordinate can be set; otherwise, false. - Specifies the reason for this placement call. - Coordinate to be set. - - is null. - - - Ends the placement operation. - - - Returns a collection of positions that describe the placement of the specified item. - A object that is a collection of placement coordinates. - The item to request placement information for. - The positions to request placement information for. - - is null. - - - Gets the boundary of the specified item parent. - A representing the boundary of the . - The parent to find the boundary for. - - is null. - - - Gets the boundary of the specified item's parent. - A representing the boundary of the parent of . - Item parent boundary to find. - Specifies the reason for this placement call. - Array of placement positions to set. - - is null. - - - Assigns the specified array of positions for moving controls during keyboard nudges. - The to position. - A that specifies the intent of this placement call. - An array of placement positions to set. - - - Assigns the specified collection of positions for moving controls during keyboard nudges. - The to position. - A that specifies the intent of this placement call. - A collection of placement positions to set. - - - Assigns the specified array of positions to the specified model item. - The to position. - A that specifies the intent of this placement call. - An array of placement positions to set. - - - Assigns the specified collection of positions to the specified model item. - The to position. - A that specifies the intent of this placement call. - A collection of placement positions to set. - - - An enumeration that indicates the method a uses to place controls. - - - Indicates that the intent of the placement call is to move the control. - - - Indicates that the intent of the placement call is to size the control. - - - Offers a set of adorners that are shown for the primary selection. - - - Initializes a new instance of the class. - - - Offers a set of items that are shown for the current selection. - - - Initializes a new instance of the class. - - - Provides a set of tasks that are available from the selection tool when a class is in the primary selection. - - - Initializes a new instance of the class. - - - Defines a point that consists of an X and Y location and a class that defines the relationship of those coordinates to some other object. - - - Initializes a new instance of the structure for specified , X, and Y values. - A object that defines the relationship between the specified X and Y locations and some other object. - An X coordinate. - A Y coordinate. - - - Initializes a new instance of the class for a specified a non-relative point. - A object that defines the relationship between the specified X and Y locations and some other object. - A structure containing the coordinates to create for this . - - - Specifies whether this contains the same coordinates as the specified . - true if the objects have the same coordinates; otherwise, false. - The to test. - - - Specifies whether this contains the same coordinates as the specified . - true if is a and has the same coordinates as this . - The to test. - - - Converts the specified to a that is relative to the top left corner. - A new . - The structure to convert. - - - - Compares two structures. The result specifies whether the values of the Position, X, and Y properties of the two structures are equal. - true if the Position, X, and Y properties are equal; otherwise, false. - The first to compare. - The second to compare. - - - Converts the specified structure to a structure. - A new created from . - The structure to convert. - - - Compares two structures. The result specifies whether the values of the Position, X, or Y properties of the two structures are not equal. - true if the values of either the Position, X, or Y properties of and are not equal; otherwise, false. - The first to compare. - The second to compare. - - - Gets or sets the relative position of the structure. - The relative position of the structure. - - - Gets or sets the X coordinate of the structure. - The X coordinate of the structure. - - - Gets or sets the Y coordinate of the structure. - The Y coordinate of the structure. - - - Represents a position on the designer that remains independent of coordinate systems. - - - Initializes a new instance of the class that contains zero or more existing reference positions. - An array of objects included in a composite. - - is null. - - - Initializes a new instance of the class that contains zero or more existing reference positions. - A name that describes this . This is only used for diagnostic purposes. - An array of objects included in a composite. - - is null. - - - Returns a value indicating whether the specified exists inside of this . - true if is contained within this ; otherwise, false. - The to check. - - is null. - - - Determines whether the specified is equal to this . - true if the objects are equal; otherwise, false. - The to test. - - - Determines whether the specified object is equal to this object. - true if the specified object and this are equal; otherwise, false. - The object to test. - - - Returns the hash code for this object. - The hash code for this object. - - - Compares two objects. - true if the two objects are equal; otherwise, false. - The first to compare. - The second to compare. - - - Compares two objects. - true if the two objects are not equal; otherwise, false. - The first to compare. - The second to compare. - - - For a description of this member, see . - An enumeration of context items objects. - - - Returns the name of this position. - The name of this position. If the object is not named, returns the base implementation. - - - Represents a set of static instances of common objects. - - - Gets the bottom-left corner of an item on the design surface. - A that represents the bottom-left corner of an item on the design surface. - - - Gets the bottom-right corner of an item on the design surface. - A that represents the bottom-right corner of an item on the design surface. - - - Gets the bottom side of an item on the design surface. - A that represents the bottom side of an item on the design surface. - - - Gets the , , , and of an item on the design surface. - A that represents the left side, top side, right side, and bottom side of an item on the design surface. - - - Gets the center of an item on the design surface. - A that represents the center of an item on the design surface. - - - Gets the external bottom-left corner of an item on the design surface. - A that represents the external bottom-left corner of an item on the design surface. - - - Gets the external bottom-right corner of an item on the design surface. - A that represents the external bottom-right corner of an item on the design surface. - - - Gets the external bottom side of an item on the design surface. - A that represents the external bottom side of an item on the design surface. - - - Gets the external left side of an item on the design surface. - A that represents the external left side of an item on the design surface. - - - Gets the external right side of an item on the design surface. - A that represents the external right side of an item on the design surface. - - - Gets the external top-left corner of an item on the design surface. - A that represents the external top-left corner of an item on the design surface. - - - Gets the external top-right corner of an item on the design surface. - A that represents the external top-right corner of an item on the design surface. - - - Gets the external top side of an item on the design surface. - A that represents the external top side of an item on the design surface. - - - Gets the internal bottom-left corner of an item on the design surface. - A that represents the internal bottom-left corner of an item on the design surface. - - - Gets the internal bottom-right corner of an item on the design surface. - A that represents the internal bottom-right corner of an item on the design surface. - - - Gets the internal bottom side of an item on the design surface. - A that represents the internal bottom side of an item on the design surface. - - - Gets the internal left side of an item on the design surface. - A that represents the internal left side of an item on the design surface. - - - Gets the internal right side of an item on the design surface. - A that represents the internal right side of an item on the design surface. - - - Gets the internal top-left corner of an item on the design surface. - A that represents the internal top-left corner of an item on the design surface. - - - Gets the internal top-right corner of an item on the design surface. - A that represents the internal top-right corner of an item on the design surface. - - - Gets the internal top side of an item on the design surface. - A that represents the internal top side of an item on the design surface. - - - Gets the left side of an item on the design surface. - A that represents the left side of an item on the design surface. - - - Gets the right side of an item on the design surface. - A that represents the right side of an item on the design surface. - - - Gets the top-left corner of an item on the design surface. - A that represents the top-left corner of an item on the design surface. - - - Gets the top-right corner of an item on the design surface. - A that represents the top-right corner of an item on the design surface. - - - Gets the top side of an item on the design surface. - A that represents the top side of an item on the design surface. - - - Represents a coordinate on the designer. - - - Initializes a new instance of the structure using a and a value. - The known relative position type for this value. - The value for this relative position. - - - Determines whether the specified object is equal to this structure. - true if the specified object and this are equal; otherwise, false. - The object to test. - - - - Compares two structures. - true if the two structures are equal; otherwise, false. - The first to compare. - The second to compare. - - - Compares two structures. - true if the two structures are not equal; otherwise, false. - The first to compare. - The second to compare. - - - Gets or sets the that identifies the kind for this value. - A that identifies the kind for this value. - - - Gets or sets the actual value of this position or coordinate. - The actual value of this position or coordinate. - - - Represents a collection of values that describe the placement of an item within a panel or container on the designer surface. - - - Initializes a new instance of the class. - - - Finds the position value of the specified position. - A of the specified position. - A to find. - - is null. - - - Provides placement support for any element that does not have a parent. - - - Initializes a new instance of the class. - - - Gets the adapter type. - - - Represents a set of objects selected by a user in a designer. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with the specified array of objects. - An array of objects to add to the selection. - The parameter is null. - - - Initializes a new instance of the class with the specified enumeration of objects. - An enumeration of objects to add to the selection. - The parameter is null. - - - Initializes a new instance of the class by using the specified enumeration of objects and predicate. - An enumeration of objects to add to the selection. - Only those objects in that match the predicate are added to the selection. - The or parameter is null. - - - Initializes a new instance of the class with the specified enumeration of objects. - An enumeration of objects to add to the selection. - The parameter is null. - - - Initializes a new instance of the class with the specified enumeration of objects and predicate. - An enumeration of objects to add to the selection. - Only those objects in that match the predicate are added to the selection. - The or parameter is null. - - - Gets the type of . - The type of . - - - Gets the primary selection object. - If the selection contains objects, the primary selection object; otherwise, null. - - - Gets an enumeration of the objects in the selection. - An enumeration of the objects in the selection. - - - Gets the number of objects in the selection. - The number of objects in the selection. - - - Gets a selection that contains model items that provide a view. - A that contains model items that provide a view. - - - Provides standard commands that control the selection of objects in a designer. - - - Gets a that represents a request to clear the existing selection. - A request to clear the existing selection. - - - Gets a that represents a request to select all objects in the designer. - A request to select all objects in the designer. - - - Gets a that represents a request to select the next object in the designer. - A request to select the next object in the designer. - - - Gets a that represents a request to select only the object under the mouse pointer in the designer. - A request to select only the object under the mouse pointer in the designer. - - - Gets a that represents a request to select the previous object in the designer. - A request to select the previous object in the designer. - - - Gets a that represents a request to select the object under the mouse pointer in the designer. - A request to select the object under the mouse pointer in the designer. - - - Gets a that represents a request to display the default event handler for the primary selection object in the designer. - A request to display the default event handler for the primary selection object in the designer. - - - Gets a that represents a request to toggle the selection state of the object under the mouse pointer in the designer. - A request to toggle the selection state of the object under the mouse pointer in the designer. - - - Gets a that represents a request to add the object under the mouse pointer in the designer to the existing selection. - A request to add the object under the mouse pointer in the designer to the existing selection. - - - Provides standard operations that control the programmatic selection of objects in a designer. - - - Processes a request to programmatically select an object in the designer. - A new empty selection, a new selection containing new objects, or the existing selection. See the remarks section for more information. - The current editing context. - The object to select. - - or is null. - - - Processes a request to programmatically select a single object in the designer. - A selection containing the object to select. - The current editing context. - The object to select. - - or is null. - - - Adds a callback method that is invoked when the selection in the editing context changes. - The editing context of interest. - The method to invoke when the selection changes. - - or is null. - - - Processes a request to programmatically toggle the selection state of an object in the designer. - A new selection that contains or does not contain the object to toggle. See the remarks section for more information. - The current editing context. - The object to select or deselect. - - or is null. - - - Processes a request to programmatically add an object in the designer to the existing selection. - A new selection containing the new object, or the existing selection. See the remarks section for more information. - The current editing context. - The object to select. - - or is null. - - - Removes a callback method so that it is not invoked when the selection in the editing context changes. - The editing context of interest. - The method that is removed. - - or is null. - - - Represents a tool that selects objects in a designer, such as a mouse pointer. - - - Initializes a new instance of the class. - - - Called when a is activated. - The tool that was previously active. - - - Called when a is deactivated. - - - Represents a collection of commands and input bindings to those commands. - - - Initializes a new instance of the class. - - - Gets or sets the filter that is used to filter the set of adorners seen by the designer's hit test algorithm. - A that is used to filter the set of adorners seen by the designer's hit test algorithm. - - - Begins to set the focus for the task. - The gesture data for the focus. - - is null. - The task already has the focus. - - - Gets the for a task. - A instance containing the command bindings for this task, - - - Completes changes that were made while this task has the focus. - The task does not have the focus. - - - Occurs when this task has completed. - - - Gets or sets the cursor for a task. - A for a task. - - - Gets or sets the description for this task. - A description for this task. - - - Occurs when focus for this task is deactivated. - - - Gets the for a task. - An instance that contains the input bindings for this task. - - - Gets a value indicating whether this task has the focus. - true if this task has the focus; otherwise, false. - - - Gets or sets the filter that is used to filter the set of model items seen by the designer's hit test algorithm. - A that is used to filter the set of model items seen by the designer's hit test algorithm. - - - Raises the event. - An that contains the event data. - - - Raises the event. - An that contains the event data. - - - Raises the event. - An that contains the event data. - - - Reverts this task. - The task is not active. - - - Occurs when this task is reverted. - - - Gets the for a task. - A instance that contains the tool command bindings for this task. - - - A feature provider that you can add to a class to automatically add tasks to the active tool. - - - Initializes a new instance of the class. - - - Called when a task provider's tasks are about to be requested for the first time. - A object. - - - Gets the editing context that activated this task provider. - An object that represents the object that activated the current task provider. - - - Called when a task provider is about to be discarded by the designer. - - - Returns a value indicating whether this task provider supports the specified tool. - true if the specified tool is supported; otherwise, false. - A object to check. - - - Gets a collection of tasks this task provider offers. - An that contains all of the tasks that this offers. - - - Represents a tool that determines the mode of the designer. - - - Initializes a new instance of the class. - - - Gets the editing context for code within the tool. - An for code within the tool. - - - Gets or sets the default cursor for the mouse. - A for the mouse. - - - Gets the currently focused task, if one exists. - A object that represents the task that currently has focus. - - - Gets the type of the tool. - A that represents the type of the tool. - - - Called when a tool is activated. - The tool that was in the context before this tool became active. The default implementation does nothing with this parameter. - - - Called when a tool is being deactivated. - - - Adds activate and deactivate semantics to the class. - The editing context where the change is occurring. - The previous tool. - - - Gets the set of tasks this tool provides. - A of tasks this tool provides. - - - Represents a user gesture. - - - No action. - - - A mouse button has been pressed. - - - A mouse button has been released. - - - The mouse has been moved. - - - The mouse wheel has been moved. - - - A mouse button has been clicked. - - - A mouse button has been double-clicked. Double-click and single-click interact as follows: , , . - - - The mouse has entered an element. If the mouse enters an adorner, an event is only raised if the target of the adorner is different from the last target. - - - The mouse has left an element. If the mouse leaves an adorner, a event is only raised if the new target is different from the adorner鈥檚 target. - - - The mouse has stopped for a short time over an element or adorner. A new hover event is raised when the mouse passes over a different element. - - - The user has held a mouse button down and moved the mouse beyond a certain threshold. This indicates the user鈥檚 intent to begin a drag operation. - - - A event that occurs because of a prior call to DragDrop.DoDragDrop. The source and target objects always refer to the elements, not the adorners. - - - A event that occurs because of a prior call to DragDrop.DoDragDrop. The source and target objects always refer to the elements, not the adorners. - - - A event that occurs because of a prior call to DragDrop.DoDragDrop. The source and target objects always refer to the elements, not the adorners. - - - A event that occurs because of a prior call to DragDrop.DoDragDrop. The source and target objects always refer to the elements, not the adorners. - - - A event that occurs because of a prior call to DragDrop.DoDragDrop. The source and target objects always refer to the elements, not the adorners. - - - The user held a mouse button down and moved the mouse. This causes a to be signaled. Next, the user has released that mouse button, signaling the drag has completed. - - - The user has dragged an item off the edge of the design surface. You may bind a command to this gesture to invoke a drag-and-drop operation. - - - Provides data for events. - - - Initializes a new instance of the class. - The tool action associated with this event. - The event that caused this action. - The input device to associate with this event. - The time when the input occurred. - - is null. - - - Initializes a new instance of the class. - The tool action associated with this event. - The event that caused this action. - - is null. - - - Gets the input event that caused this tool action event to occur. - An that represents the input event that caused this tool action event to occur. - - - Gets the tool action associated with this event. - The tool action associated with this event. - - - Returns a string describing the event for diagnostic purposes. - A diagnostic string describing the event. - - - Acts as a command identifier and as a unified way of invoking a particular command. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with the specified command name. - The name of the command. - - is null. - - - Locates a command binding for the command and asks if it is enabled. - true if the command is enabled; false if it is disabled or there is no binding for it. - The gesture data that is to be passed to the command. Gesture data is required as it provides a context object from which the method can locate the active tool. - - is null. - - .Context is null. - - - Occurs when the status of this command changes. - When used. - - - Locates a command binding for the command and executes it. - The gesture data that is to be passed to the command. Gesture data is required as it provides a context object from which the method can locate the active tool. - - is null. - - .Context is null. - - - Gets the name of this command. - A string representing the name of this command, or an empty string if the command has no name. - - - For a description of this member, see . - true if this command can be executed; otherwise, false. - Data used by the command. If the command does not require data to be passed, this object can be set to null. - - - For a description of this member, see . - Data used by the command. If the command does not require data to be passed, this object can be set to null. - - - Returns the name of this command. - The name of this command. - - - Acts as a bridge between a command and an event handler which implements it. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. - The command to bind. - - is null. - - - Initializes a new instance of the class. - The command to bind. - The event handler to raise when the command is executed. - - or is null. - - - Initializes a new instance of the class. - The command to bind. - The event handler to raise when the command is executed. - The event handler to raise when the method is invoked. - - , , or is null. - - - Occurs when QueryEnabled for the command is called. - - - Gets or sets the tool command associated with this binding. - The tool command associated with this binding. - - - Occurs when the command is executed. - - - Represents a collection of tool command bindings. - - - Initializes a new instance of the class. - - - Adds the specified bindings to the collection. - The bindings to add. - - is null. - - - Inserts an item in to the collection. - The index where to add the item. - The item to add. - - is null. - - - Sets the value of an item in the collection. - The index of the value to set. - The value to set at the index. - - is null. - - - Represents a tool interaction with the mouse. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. - The action to take. - - - Initializes a new instance of the class. - The action to take. - Modifies the button states to only allow the specified button. For example, if you wanted to make a "Click" action only valid for the left mouse button, you would pass in this parameter. The default is to allow all buttons. - - - Initializes a new instance of the class. - The action to take. - Modifies the button states to only allow the specified button. For example, if you wanted to make a "Click" action only valid for the left mouse button, you would pass in this parameter. The default is to allow all buttons. - The keyboard modifiers to use. By default, any keyboard modifiers are valid. You can restrict the set of valid modifiers by supplying them in this parameter. - - - Gets or sets whether this gesture is allowed to be performed while the left mouse button is pressed. - Returns if this gesture is allowed to be performed while the left mouse button is pressed. The default returns . - - - Returns a value indicating whether this gesture matches an input event. - true if this gesture matches the input event; otherwise, false. - The target element for this gesture. - The input event to compare with this gesture. - - is null. - - - Gets or sets whether if this gesture is allowed to be performed while the middle mouse button is pressed. - Returns if this gesture is allowed to be performed while the middle mouse button is pressed. The default returns . - - - Gets or sets the modifier keys that are allowed to be pressed for this gesture. - Returns the modifier keys that are allowed to be pressed for this gesture. The default returns the combination of all modifier keys. - - - Gets or sets whether this gesture is allowed to be performed while the right mouse button is pressed. - Returns if this gesture is allowed to be performed while the right mouse button is pressed. The default returns . - - - Gets or sets the action associated with this gesture. - A associated with this gesture. - - - Returns a string that describes the gesture for diagnostic purposes. - A diagnostic string that describes the gesture. - - - Gets or sets whether this gesture is allowed to be performed while the xbutton1 mouse button is pressed. - Returns if this gesture is allowed to be performed while the xbutton1 mouse button is pressed. The default returns . - - - Gets or sets whether this gesture is allowed to be performed while the xbutton2 mouse button is pressed. - Returns if this gesture is allowed to be performed while the xbutton2 mouse button is pressed. The default returns . - - - Represents the callback method that specifies which parts of the visual tree to omit from hit test processing in the method. - A that specifies the hit testing behavior for . - A to hit test. - - - Represents the return value from a hit test in the method. - - - Initializes a new instance of the class. - - - Gets the object that was hit. - The that was hit. - - - Represents a callback that is used to customize hit testing in the method. - A that specifies the hit testing behavior for . - A to get hit test behavior for. - - - An abstract class that enables interaction with view objects. - - - Initializes a new instance of the class. - - - Determines whether the specified is equal to the current . - true if the specified is equal to the current ; otherwise, false. - The to compare with the current . - - - Gets the FlowDirection property of the view. - The value for the view. - - - Serves as a hash function for a . - A hash code for the current . - - - Initiates a hit test on the , with caller-defined and methods. - A that holds the visual objects that were hit. - A delegate that specifies parts of the visual tree to omit from the hit test. - A delegate that customizes the hit test. - A that defines the hit test. - - - Determines whether the visual object is a descendant of the ancestor visual object. - true if the is a descendant of ; otherwise, false. - The to test for an ancestor relationship. - - - Gets a value that indicates whether the visual object is a descendant of the specified visual object. - true if the is a descendant of ; otherwise, false. - The to test for an ancestor relationship. - - - Gets a value that indicates whether the element is off the screen. - true if the element is off the screen; otherwise, false. - - - Gets a value that indicates whether an element is visible. - true if the element is visible; otherwise, false. - - - Gets the type of the underlying dependency object that represents this view. - The of the underlying dependency object. - - - Gets the layout transform of the current . - The layout transform of the current . - - - Gets a collection of the immediate logical children of the current . - An enumeration of objects that holds the logical children of the current . - - - Gets the logical parent of the current . - A that represents the logical parent of the current . - - - Gets the offset of the view. - A that represents the offset of the current view. - - - Determines whether the specified instances are considered equal. - true if is equal to ; otherwise, false. - The first to compare. - The second to compare. - - - Determines whether the specified instances are considered not equal. - true if is not equal to ; otherwise, false. - The first to compare. - The second to compare. - - - Gets the underlying dependency object that represents this view. - The underlying dependency object. - - - Converts a that represents the current coordinate system of the into a in screen coordinates. - The converted value in screen coordinates. - The value that represents the current coordinate system of the . - - - Gets the render size of the view. - A that represents the render size of the view. - - - Gets the layout rectangle for the view. - A that represents the render size and offset relative to the logical parent. - - - Gets the bounds of the selection frame. - A that represents the selection frame for the current . - - - Gets the transform value for the current . - A that represents the transform of the current . - - - Returns a transform that can be used to transform coordinates from the specified visual object to the view. - A that represents the conversion, or null if the transform could not be computed. - - to transform the coordinates to. - - is null. - - - Returns a transform that can be used to transform coordinates from the view to the specified view object. - A that represents the conversion, or null if the transform could not be computed. - The to transform the coordinates to. - - is null. - - - Returns a transform that can be used to transform coordinates from the view to the specified visual object. - A that represents the conversion, or null if the transform could not be computed. - The to transform the coordinates to. - - is null. - - - Calls the UpdateLayout method on the underlying platform object. - - - Gets the property of the view. - The value of the view. - - - Gets a collection of the immediate visual children of this . - An enumeration of objects that holds the visual children of the current . - - - Gets the visual parent of the current . - A that represents the logical parent of the current . - - - Provides gesture data about the mouse wheel. - - - Initializes a new instance of the class. - The editing context that owns this gesture data. - The model where the gesture began. - The model the gesture is currently over. - The amount the wheel has moved. - - , , or is null. - - - Initializes a new instance of the class. - The editing context that owns this gesture data. - The model where the gesture began. - The model the gesture is currently over. - The amount the wheel has moved. - The source adorner to associate with the gesture, if it exists. This parameter can be null. - The target adorner to associate with the gesture, if it exists. This parameter can be null. - - , or is null. - - - Gets the scroll delta from the mouse scroll wheel. - An integer representing the amount that the scroll wheel has moved. - - - Provides a object from an object. - The object that is contained in the property of the object. - The object passed into a command callback. - - is null. - - - Provides a object from an object. - The object that is contained in the property of the object. - The object passed into a command callback. - - is null. - - - Specifies how to create a new item. - - - Just creates the object and does not perform any operations on it. This is the default. - - - Creates the item and specifies that the object should perform any default initialization. This flag is generally passed in when a new control or object is being created by a user. - - - Used to configure a new object in the designer. - - - Initializes a new instance of the class. - - - Initializes default values for the specified item. - The item to initialize. This should not be null. - - is null. - - - Initializes default values for the specified item using the provided editing context. - The item to initialize. This should not be null. - The editing context. - - is null. - - - Captures property changes that are made by the user in the designer and provides new values at design time. - - - Initializes a new instance of the class. - An invalid property is added to . - - - Invalidates the specified property. - The to invalidate property changes for. - The property that is to be invalidated. - - is null. - - - Gets the set of properties to capture. - A that contains the set of properties to capture. - - - Captures property changes that were made by the user in the designer and uses custom logic to provide new values at design time. - The value to set the property to in the designer. - The to capture property changes for. - The property that the user is changing the value of. - The new value that the user is changing the property to. - - is null. - - is empty. - - - Adds LINQ extension methods to the and classes to support model items. - - - Creates feature providers of the specified type and model item. - An enumeration of created providers. - The feature manager to use. - The type of feature provider to create. - The model item to create the feature providers for. - - , or is null. - - - Creates feature providers of the specified type and model item. - An enumeration of created providers. - The feature manager to use. - The type of feature provider to create. - The model item to create the feature providers for. - A predicate to use when creating feature providers. If the predicate returns true, the feature provider is included in the enumeration. - - , , , or is null. - - - Represents a group of changes to the editing store. - - - Initializes a new instance of the class. - - - Determines whether the method can be called, or whether the change should instead be reverted. - true if completion can occur; false if the change should instead be reverted. - - - Completes the editing scope. - - has already been completed or reverted. - - - Gets or sets a description for the group. - A string containing the description for the group. - - - Releases all resources used by the . - - - Releases the unmanaged resources used by the class and optionally releases the managed resources. - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - Called during finalization to abort the group. - - - Performs the actual complete of the editing scope. - - - Performs the actual revert of the editing scope. - true if the abort occurs because the object is being finalized. Some undo systems may try to abort in this case, while others may abandon the change and record it as a reactive undo. - - - Abandons the changes that were made during the editing scope. - - has already been committed. - - - Performs a synchronous refresh of the view. - - - Represents an event on an item. - - - When overridden in a derived class, initializes a new instance of the class. - - - When overridden in a derived class, gets the data type of the delegate for this event. - A that represents the data type of this event. - - - Returns the attributes of the specified type that are declared on this event and the event's handler type. - An enumeration of objects that represent the attributes of the specified type. - A object for which attributes are needed. - - - Returns the attributes of the specified type that are declared on this event and the event's handler type. - An enumeration of objects that represent the attributes of the specified type. - A object for which attributes are needed. - - - When overridden in a derived class, gets a collection of method names that should handle this event. - An that represents the names of methods that should handle this event. - - - When overridden in a derived class, gets whether the event can be shown in a property window. - true if the event is shown in a property window; otherwise, false. - - - Determines whether this event is of the specified type, or implements the interface of the specified type. - true if this event is of the type represented by ; otherwise, false. - A object that represents the type. - - - Determines whether this event is of the specified type, or implements the interface of the specified type. - true if this event is of the type represented by ; otherwise, false. - A object that represents the type. - - is null. - - - When overridden in a derived class, gets the name of this event. - A string representing the name of this event. - - - When overridden in a derived class, gets the parent of this event. - A representing the parent of this event. - - - Represents an enumeration of events. - - - Initializes a new instance of the class. - - - Used to create instances of model items in the designer. - - - Creates a new model item for the specified type identifier. - A that represents the newly created item type. This method might return null if the type identifier could not be resolved. - The designer's editing context. - An identifier for the type of item to create. - A set of create options to use when creating the item. The default is . - An optional array of arguments that should be passed to the constructor of the item. - - is null. - - - Creates a new model item for the specified type identifier. - A that represents the newly created item type. This method might return null if the type identifier could not be resolved. - The designer's editing context. - An identifier for the type of item to create. - An optional array of arguments that should be passed to the constructor of the item. - - - Creates a new model item by creating a deep copy of the specified object. - A that represents the newly created item. - An representing the designer's editing context - An object representing the item to clone. - - or is null. - - - Creates a new model item for the specified item type. - A that represents the newly created item type. - An representing the designer's editing context. - A representing the type of item to create. - A set of create options to use when creating the item. The default value is . - An optional array of arguments that should be passed to the constructor of the item. - - or is null. - - is not valid. - There is no editing model in the context that can create new items. - - - Creates a new model item for the specified item type. - A that represents the newly created item type. - An representing the designer's editing context. - A representing the type of item to create. - An optional array of arguments that should be passed to the constructor of the item. - - or is null. - There is no editing model in the context that can create new items. - - - Creates a new model item that represents the value of a static member of the specified class. - A that represents the newly created item type. This method might return null if the type identifier could not be resolved. - The designer's editing context. - An identifier for the type being referenced. - The name of the static member being referenced. - - or is null. - - - Creates a new model item that represents the value of a static member of the specified class. - A that represents the value of the static member specified by on the type specified by . - The designer's editing context. - The type that contains the static member being referenced. - The name of the static member being referenced. - - , , or is null. - - - Gets a resolved type for the specified . - A type that matches from one of the designer's referenced assemblies. - The designer's editing context. - A platform-agnostic identifier for the type. - - or is null. - - - Represents a single item in the editing model. - - - Initializes a new instance of the class. - - - When overridden in a derived class, this method is called when performing multiple operations on an object or group of objects. - A that must be either completed or reverted. - - - When overridden in a derived class, this method is called when performing multiple operations on an object or group of objects. - An that must be either completed or reverted. - An optional description that describes the change. This string is set into the editing scope鈥檚 property. - - - When overridden in a derived class, gets a representing the item's . - A representing the item's . - - - Gets an object that contains contextual information about the designer this was created for. - An object that contains contextual information about the relevant designer. - - - When overridden in a derived class, gets the public events on this object. - A that contains the events on this object. - - - Gets the attributes of the requested type that are declared on this item. - A collection of attributes of the requested type declared on this item. - An identifier for the requested type. - - - Gets the attributes of the requested type that are declared on this item. - A collection of attributes of the requested type declared on this item. - The requested type. - - - When overridden in a derived class, returns the current value of the underlying model object the is wrapping. - Returns an object that represents the current value of the underlying model object the is wrapping. - - - Gets a value that indicates whether this item is of the specified type or implements the specified interface. - true if this item is of the specified type or implements the specified interface; otherwise, false. - An identifier for the type or interface to test. - - - Gets a value that indicates whether this item is of the specified type or implements the specified interface. - true if this item is of the specified type or implements the specified interface; otherwise, false. - The type or interface to test. - - - When overridden in a derived class, gets the type of object the item represents. - A object that represents the type of the underlying object. - - - When overridden in a derived class, gets or sets the name or ID of the item. - A string representing the name of the item. - - - When overridden in a derived class, gets the item that is the parent of this item. - A that represents the parent item of this object. - - - When overridden in a derived class, gets the public properties on this object. - A that contains the properties on this . - - - When overridden in a derived class, occurs when a property on the model changes. - - - When overridden in a derived class, gets the item that is the root of this tree. - The item that is the root of this tree, or null there if there is no root yet. - - - When overridden in a derived class, gets the property that provided this value. - A that represents the source of this . - - - When overridden in a derived class, gets the visual or visual3D representing the UI for this item. - A representing the UI for this item. - - - Implements support for a collection of objects. - - - Initializes a new instance of the class. - - - When overridden in a derived class, adds the specified item to the collection. - A to be added to the collection. - - - When overridden in a derived class, adds the specified object to the collection. - A representing the value. - An object to be added to the collection. - - - When overridden in a derived class, clears the contents of the collection. - - - When overridden in a derived class, occurs when the contents of this collection is changed. - - - When overridden in a derived class, returns a value indicating whether the collection contains the specified item. - true if the is contained in the collection; otherwise, false. - A to be tested. - - - When overridden in a derived class, returns a value indicating whether the collection contains the specified value. - true if the is contained in the collection; otherwise, false. - An object to be tested. - - - When overridden in a derived class, copies the contents of the collection into the specified array. - The array for the current to be copied to. - The location in the destination array to copy the items from the collection to. - - - When overridden in a derived class, gets the count of items in the collection. - An integer that represents the number of items in the collection. - - - When overridden in a derived class, returns an enumerator for the items in the collection. - An that can act as an enumerator for the items in this dictionary. - - - When overridden in a derived class, returns the index of the specified item. - Returns an integer representing the index of the specified . If the item is not found it returns -1. - The to find the index of. - - - When overridden in a derived class, inserts an item at the specified location. - The index for the item to be inserted. - A to be inserted at the specified index. - - - When overridden in a derived class, inserts an item at the specified location. - A representing the value. - The index for the item to be inserted. - A object to be inserted at the specified index. - - - When overridden in a derived class, gets a value indicating whether the collection is a fixed size. - true if the collection is a fixed size; otherwise, false. - - - When overridden in a derived class, gets a value indicating whether the collection can be modified. - true if the collection is read-only; otherwise, false. - - - When overridden in a derived class, gets a value indicating whether the collection is synchronized. - true if the collection is synchronized; otherwise, false. - - - When overridden in a derived class, gets or sets the item at the specified index. This is a dependency property. - A representing the item at the specified index. - The index to be set or retrieved. - - - Identifies the dependency property. - The identifier for the dependency property. - - - When overridden in a derived class, moves an item to a new index. - The index of the item to move. - The index to move it to. - - - When overridden in a derived class, removes an item from the collection. - true if the item is successfully removed; otherwise, false. - The item to be removed. - - - When overridden in a derived class, removes a value from the collection. - true if the item is successfully removed; otherwise, false. - The item to be removed from the collection. - - - When overridden in a derived class, removes an item at the specified index. - The index at which to remove the item. - - - When overridden in a derived class, gets an object that can be used to synchronize this collection. - An object that can be used to synchronize the collection. - - - For a description of this member, see . - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in at which copying begins. - - - For a description of this member, see . - The number of elements contained in the . - - - For a description of this member, see . - true if access to the is synchronized (thread safe); otherwise, false. - - - For a description of this member, see . - An object that can be used to synchronize access to the . - - - For a description of this member, see . - An object that can be used to iterate through the collection. - - - For a description of this member, see . - The position into which the new element was inserted, or -1 to indicate that the item was not inserted into the collection. - The object to add to the . - - - For a description of this member, see . - - - For a description of this member, see . - true if the is found in the ; otherwise, false. - The object to locate in the . - - - For a description of this member, see . - The index of if found in the list; otherwise, -1. - The object to locate in the . - - - For a description of this member, see . - The zero-based index at which should be inserted. - The object to insert into the . - - - For a description of this member, see . - true if the has a fixed size; otherwise, false. - - - For a description of this member, see . - true if the is read-only; otherwise, false. - - - For a description of this member, see . - The element at the specified index. - The zero-based index of the element to get or set. - - - For a description of this member, see . - The object to remove from the . - - - For a description of this member, see . - The zero-based index of the item to remove. - - - Implements key/value dictionary support for objects. - - - Initializes a new instance of the class. - - - When overridden in a derived class, adds the item to the dictionary under the specified key. - A that is the key for this dictionary entry. - A that is the value for this dictionary entry. - - - When overridden in a derived class, adds the value to the dictionary under the specified key. - A representing the key in the dictionary. - A that is the key for this dictionary entry. - A that is the value for this dictionary entry. - - - When overridden in a derived class, clears the contents of the dictionary. - - - When overridden in a derived class, occurs when the contents of this dictionary is changed. - - - When overridden in a derived class, returns whether the dictionary contains the specified key value pair. - true if the dictionary contains the ; otherwise, false. - The item to be tested for inclusion in the dictionary. - - - When overridden in a derived class, returns a value indicating whether the dictionary contains the specified key. - true if the dictionary contains the ; otherwise, false. - A that represents the key to be tested. - - - When overridden in a derived class, returns a value indicating whether the dictionary contains the specified key. - true if the dictionary contains the ; otherwise, false. - A object that represents the key to be tested. - - - When overridden in a derived class, copies the contents of the dictionary into the specified array beginning at the specified index. - The array for the current to be copied to. - The location within the destination array to copy the items from the dictionary to. - - - When overridden in a derived class, gets the count of items in the dictionary. - An integer that represents the number of items in the dictionary. - - - When overridden in a derived class, returns an enumerator for the items in the dictionary. - An that can act as an enumerator for the items in this dictionary. - - - When overridden in a derived class, gets a value indicating whether the dictionary is a fixed size. - true if the dictionary is a fixed size; otherwise, false. - - - When overridden in a derived class, gets a value indicating whether the dictionary can be modified. - true if the dictionary is read-only; otherwise, false. - - - When overridden in a derived class, gets a value indicating whether the dictionary is synchronized. - true if the dictionary is synchronized; otherwise, false. - - - When overridden in a derived class, gets or sets the item at the specified key. - A representing the item at the specified key. - A that represents the key to an item in the . - - - When overridden in a derived class, gets or sets the item at the specified key. - A representing the item at the specified key. - An object that represents the key to an item in the . - - - ModelItemDictionary provides an attached property 鈥淜ey鈥, which is adds to all items contained in the dictionary. The data type of the Key property is 鈥淢odelItem鈥. - - - When overridden in a derived class, gets the keys of the dictionary. - An that contains the keys of the . - - - When overridden in a derived class, removes the item from the dictionary. - true if the item is successfully removed; otherwise, false. - A representing the key of the item to be removed. - - - When overridden in a derived class, removes the item from the dictionary. - true if the item is successfully removed; otherwise, false. - An object representing the key of the item to be removed. - - - When overridden in a derived class, gets the object used to synchronize this dictionary. - An object that can be used to synchronize the dictionary. - - - For a description of this member, see . - The key/value pair to add to the collection. - - - For a description of this member, see . - true if is found in the collection; otherwise, false. - The key/value pair to locate in the collection. - - - For a description of this member, see . - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in at which copying begins. - - - For a description of this member, see . - true if was successfully removed from the collection; otherwise, false. This method also returns false if is not found in the original collection. - The key/value pair to remove from the collection. - - - For a description of this member, see . - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in at which copying begins. - - - For a description of this member, see . - The number of elements contained in the . - - - For a description of this member, see . - true if access to the is synchronized (thread safe); otherwise, false. - - - For a description of this member, see . - An object that can be used to synchronize access to the . - - - For a description of this member, see . - The to use as the key of the element to add. - The to use as the value of the element to add. - - - For a description of this member, see . - - - For a description of this member, see . - true if the dictionary contains an element with ; otherwise, false. - The key to locate in the dictionary. - - - For a description of this member, see . - An object for the object. - - - For a description of this member, see . - true if the object has a fixed size; otherwise, false. - - - For a description of this member, see . - true if the object is read-only; otherwise, false. - - - For a description of this member, see . - The element with the specified key. - The key of the element to get or set. - - - For a description of this member, see . - An object containing the keys of the object. - - - For a description of this member, see . - The key of the element to remove. - - - For a description of this member, see . - An object containing the values in the object. - - - For a description of this member, see . - An that can act as an enumerator for the items in this dictionary. - - - When overridden in a derived class, retrieves the value for the specified key. - true if a value associated with is found; otherwise, false. - A representing the key to be tested. - If a value is found for the , this out parameter contains the value that is retrieved. - - - When overridden in a derived class, retrieves the value for the specified key. - true if a value associated with is found; otherwise, false. - An object representing the key to be tested. - If a value is found for the , this out parameter contains the value that is retrieved. - - - When overridden in a derived class, gets the values of the dictionary. - An that contains the items of the . - - - Provides data for events that use instances. - - - Initializes a new instance of the class. - A to include. - - is null. - - - Gets the associated instance. - The associated with the current instance. - - - Represents a collection for model members. - The type of item the collection represents. - - - - Searches the collection for an item with the specified key and returns it if it is found. - A TItemType with the specified key. If not found, this method returns null. - The key of the item to find. - - is null. - - - When overridden in a derived class, searches the collection for an item with the specified key and returns it if it is found. - A TItemType with the specified key. If not found, this method throws an exception or returns null, depending on the value passed to . - The key of the item to find. - true if an exception should be thrown if the item is not found; otherwise, false. - - is not found and is true. - - - Searches the collection for an item with the specified key and returns it if it is found. - A TItemType with the specified key. If not found, this method returns null. - The key of the item to find. - - is null. - - - When overridden in a derived class, searches the collection for an item with the specified key and returns it if it is found. - A TItemType with the specified key. If not found, this method throws an exception or returns null, depending on the value passed to . - The key of the item to find. - true if an exception should be thrown if the item is not found; otherwise, false. - - is not found and is true. - - - When overridden in a derived class, returns an enumerator to enumerate items. - An to enumerate items. - - - Searches the collection for an item with the specified key and returns it if it is found. - A TItemType with the specified key. If not found, this property throws an exception. - The key of the item to find. - - is null. - - is not found. - - - Searches the collection for an item with the specified key and returns it if it is found. - A TItemType with the specified key. If not found, this property throws an exception. - The key of the item to find. - - is null. - - is not found. - - - For a description of this member, see . - An to enumerate items. - - - A class that can be used to help set the parent of an item. - - - Determines if the specified type can be the parent of the specified child type. - true if the specified item can accept instances of as a child; otherwise, false. - The editing context to use. - The parent. - The type of item you wish to parent. - - - Finds a viable parent for the specified child and editing context. - An item that can accept a , or null if no viable parent could be found. - The editing context to use. - The item you wish to parent. - The item to use as a starting point for the search. - - - Finds a viable parent for the specified type of child and editing context. - An item that can accept an item of type , or null if no viable parent could be found. - The editing context to use. - The type of item you wish to parent. - The item to use as a starting point for the search. - - - Finds a viable parent for the specified type of child. - An item that can accept an item of type , or null if no viable parent could be found. - The type of item you wish to parent. - Gesture data that can be used to determine the starting item and position of the search. - - - Sets the specified item as the parent of the specified child item. - The editing context to use. - The parent to set the child into. - The child to be parented. - - - Represents a property on an item. - - - Initializes a new instance of the class. - - - When overridden in a derived class, gets the type which defines this property. - A which defines this property if the property returns true. Otherwise, returns null. - - - When overridden in a derived class, clears the local value for the property. - - - When overridden in a derived class, gets the property cast as a . - A that represents . - - - When overridden in a derived class, gets the currently computed value for this property. - An object representing the computed value for this property. - - - When overridden in a derived class, gets the default value for this property. - An object representing the default value for this property. If the property does not define a default value, this property returns null. - - - When overridden in a derived class, gets the property cast as a . - - cast as an . - - - Determines whether the specified object is equal to this object. - true if the properties are equal; otherwise, false. - An object to be tested for equality. - - - Gets the attributes of the requested type that are declared on this property and the property's property type. - A collection of attributes of the requested type that are declared on this property and the property's property type. - An identifier for the requested type. - - - Gets the attributes of the requested type that are declared on this property and the property's property type. - A collection of attributes of the requested type that are declared on this property and the property's property type. - The requested type. - - - - When overridden in a derived class, gets a value indicating whether the property represents an attached property from a different type. - true if the property represents an attached property from a different type; otherwise, false. - - - When overridden in a derived class, gets a value indicating whether the property can be shown in a property window. - true if the property can be shown in a property window; otherwise, false. - - - When overridden in a derived class, gets a value indicating whether the value contained in the property is an ItemCollection. - true if the property value is an ItemCollection; otherwise, false. - - - When overridden in a derived class, gets a value indicating whether the value contained in the property is an ItemDictionary. - true if the property value is an ItemDictionary; otherwise, false. - - - Gets a value that indicates whether this property is of the specified type or implements the specified interface. - true if this property is of the specified type or implements the specified interface; otherwise, false. - An identifier for the type or interface to test. - - - Gets a value that indicates whether this property is of the specified type or implements the specified interface. - true if this property is of the specified type or implements the specified interface; otherwise, false. - The type or interface to test. - - - When overridden in a derived class, gets a value indicating whether the property is read-only. - true if the property is read only; otherwise, false. - - - When overridden in a derived class, gets a value indicating whether the property's value is set locally. - true if the property鈥檚 value is set locally; otherwise, false. - - - When overridden in a derived class, gets the name of this property. - A string representing the name of this property. - - - Determines whether two specified objects are equal. - true if the properties are equal; otherwise, false. - A to compare. - A to compare. - - - Determines whether two specified objects are not equal. - true if the properties are not equal; otherwise, false. - A to compare. - A to compare. - - - When overridden in a derived class, gets the parent of this property. - A instance representing the parent of this property. - - - When overridden in a derived class, gets the data type of the property. - A representing the type of this property. - - - When overridden in a derived class, sets a local value on a property. - If the value is already a , the input value is returned. If the value is not a , a newly created wrapping the value is returned. - An object representing the value to be set. - - - When overridden in a derived class, gets the value of this property. - A instance representing the value of this property. - - - Represents a collection of properties. - - - Initializes a new instance of the class. - - - Represents a collection of property identifiers. - - - Initializes a new instance of the class. - - - Adds a new property identifier. - An identifier for the owning type of the property to be added. - The name of the property to be added to the collection. - - - Adds a new property identifier. - The owning type of the property to be added. - The name of the property to be added. - - - Inserts a new property identifier in the collection. - The index at which will be inserted. - The property identifier to insert. - - is null. - - already exists in the collection. - - - Sets the property identifier at the specified index. - The index that will be set to . - The property identifier to set. - - is null. - - already exists in the collection. - - - Provides data for the event. - - - Initializes a new instance of the class. - The associated with the invalidated property. - The of the property that was invalidated. - - or is null. - - - Gets the of the property that was invalidated. - The of the property that was invalidated. - - - Gets the associated with the invalidated property. - The associated with the invalidated property. - - - A policy that specifies a set of rules in the designer. - - - Initializes a new instance of the class. - - - Gets the editing context for the designer. - The for the designer. - The policy has not been activated. - - - Returns an optional set of surrogate items for this item. - An enumeration of surrogate items to check. The default returns an empty enumeration. - The item to retrieve the surrogate for. - - - Gets a value indicating whether the policy is a surrogate policy. - true if the policy is a surrogate policy; otherwise, false. - - - Called when a policy is activated. - - - Called when the policy is deactivated. - - - Raises the event. - A that contains the event data. - - - Gets an enumeration of all items in the policy. - An containing the set of items in the policy. - - - Occurs when the policy changes. - - - Provides data for the event. - - - Initializes a new instance of the class. - The newly added policy. - - - Gets the policy that was newly added. - The newly added . - - - Creates feature providers based on item policies. - The type of feature provider. - - - Initializes a new instance of the class. - The feature manager that manages this connector. - - is null. - - - Releases the unmanaged resources used by the and optionally releases the managed resources. - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - Gets an enumeration of all current feature providers. - An enumeration of all current feature providers. - - - Called by the policy feature connector when a policy changes and feature providers are added to the set of active feature providers. - The that offers the feature providers. - An enumeration of feature providers that have been added. - - - Called by the policy feature connector when a policy changes and feature providers are removed from the set of active feature providers. - The that offers the feature providers. - An enumeration of feature providers that have been removed. - - - Tests if a feature provider is valid for invocation. - true if is valid for invocation; otherwise, false. - The feature provider to test for validity. - - - Refreshes the feature providers based on the . - - - Identifies the feature providers that belong to a instance. - - - Gets the type of the feature provider. - The of the feature provider. - - - Gets the associated with the feature provider. - The associated with the feature provider - - - Provides data for the event. - - - Initializes a new instance of the class. - The policy that has changed. - The items that have been added to the policy since the last change event. - The items that have been removed from the policy since the last change event. - - is null. - - - Gets the items that have been added to the policy since the last change event. - An enumeration of objects that were added during the policy change. - - - Gets the items that have been removed from the policy since the last change event. - An enumeration of objects that were removed during the policy change. - - - Gets the policy that changed. - An object representing the policy that changed. - - - A policy that specifies the primarily selected element. - - - Initializes a new instance of the class. - - - Returns the policy item that represents the primary selection. - Either a single element that is the primary selection, or an empty enumeration. - The current selection. - - - A policy that specifies all items in the selection that are not the primary selection. - - - Initializes a new instance of the class. - - - Gets a value indicating whether the specified item is in the selection and is not the primary selection. - true if is not the primary selection; otherwise, false. - Selection state. - Item to be evaluated. - - - A policy that specifies the set of unique parents for the current set of selected items. - - - Initializes a new instance of the class. - - - Overrides the default method to return the unique parents of the specified selection. - An enumeration of unique parents for the given selection. - The current selection. - - - Evaluates whether the specified parent item is to be included in the policy. - true if is to be included in the policy; otherwise, false. - Selection state. - Item to be evaluated. - Parent of item to be evaluated. - - - A policy that makes all items in the selection available. - - - Initializes a new instance of the class. - - - Returns the policy items from the specified selection. - An enumeration of objects to use for this policy. - The current selection. - - - Gets a value indicating whether the specified item is to be included in the policy. - true if item is to be included in the policy; otherwise, false. - A to filter with policy logic. - Item to be evaluated. - - - Called when this policy is activated. - - - Called when this policy is deactivated. - - - Gets an enumeration of items that are affected by this policy. - An enumeration of objects that are affected by this policy. - - - Restricts a feature provider to a specified policy. - - - Initializes a new instance of the class. - The type of policy this extension can be associated with. - - is null. - - - Overrides the property to return false. - Always false. - - - Returns a object that can be used to be notified when this policy is available. - A new object. - The editing context to check. - - is null. - - - Determines whether the specified object is equal to this . - true if the specified object and this are equal; otherwise, false. - The object to test. - - - Returns the hash code for this attribute. - A hash code for this attribute. - - - Gets the type of policy the feature provider can be associated with. - A that represents the policy associated with the feature provider. - - - Returns a value indicating whether the specified editing context contains the associated with this attribute instance. - true if this requirement is met; otherwise, false. - The editing context to check. - - - Gets the type ID for this attribute. - - - Indicates that a non-content property should be displayed in the object tree. - - - Initializes a new instance of the class. - - - An abstract class for creating custom category editors. - - - Initializes a new instance of the class. - - - When overridden in a derived class, called once for each property in the category to determine which properties are edited by this . - true if this editor edits that property; otherwise, false. - The to check to see if it is edited by this . - - - Utility method that creates a new for the specified . - New for the specified . - - instance for which to create the new . - - - Utility method that creates a new for the specified type. - New for the specified type. - - type for which to create the new . - - - When overridden in a derived class, gets a that acts as the UI for a . - The object that represents the editor template. - - - When overridden in a derived class, returns an object that the host can place into a in order to display it. - An object that contain an icon for the category editor. - The desired size of the image to return. This method should make the best attempt in matching the requested size, but it does not guarantee it. - - - When overridden in a derived class, gets a localized string that indicates which category this editor belongs to. - A string representing the category that this editor belongs to. - - - Represents a category of properties. - - - Initializes a new instance of the class. - The localized name of the category as defined by the attribute. - - is empty or null. - - - Determines if the matches a filter and stores the information. - The filter to compare to. - - - Gets the name of the category. - The name of the category. - - - Represents the method that handles the event of the . - - - When overridden in a derived class, gets the specified property. - The property specified by . - The name of the property to return. - - - Gets or sets a value indicating whether this matches a filter. - true if the matches the filter; otherwise, false. - - - When overridden in a derived class, indicates whether a matches a predicate. - true if the matches the predicate; otherwise, false. - The predicate to compare to. - - - Raises the event. - The filter that is being applied. - - - Raises the event. - The name of the property that is changing. - - is null. - - - When overridden in a derived class, gets all the properties in the category. - An enumerable collection of all the properties in the category. - - - Represents the method that handles the event of the . - - - Represents the source of a dependency property value. - - - Gets a object that represents an ambient property. - A object that represents an ambient property. - - - Gets a object that represents a bound property. - A object that represents a bound property. - - - Gets a object that represents a property set to a custom markup extension. - A that represents a property set to a custom markup extension. - - - Gets a object that represents a data-bound property. - A that represents a data-bound property. - - - Gets a object that represents a property set to its default value. - A tha represents a property set to its default value. - - - Gets a object that represents a property set to a dynamic resource. - A object that represents a property set to a dynamic resource. - - - Gets a object that represents an inherited property. - A that represents an inherited property. - - - Gets a object that represents a property whose value was inherited. - A object that represents a property whose value was inherited. - - - Gets a value that indicates whether this represents an ambient property. - true if this object represents an ambient property; otherwise, false. - - - Gets a value that indicates whether this represents a bound property. - true if this object represents a bound property; otherwise, false. - - - Gets a value that indicates whether this represents a property set to a custom markup extension. - true if this object represents a property set to a custom markup extension; otherwise, false. - - - Gets a value that indicates whether this represents a data-bound property. - true if this object represents a data-bound property; otherwise, false. - - - Gets a value that indicates whether this represents a property set to its default value. - true if this objects represents a property set to its default value; otherwise, false. - - - Gets a value that indicates whether this represents a property set to a dynamic resource. - true if this object represents a property set to a dynamic resource; otherwise, false. - - - Gets a value that indicates whether this represents a property set to an expression. - true if this object represents a property set to an expression; otherwise, false. - - - Gets a value that indicates whether this represents an inherited property. - true if this object represent an inherited property; otherwise, false. - - - Gets a value that indicates whether this represents a property whose value was inherited. - true if this object represents a property whose value was inherited; otherwise, false. - - - Gets a value that indicates whether this represents a local property. - true if this object represents a local property; otherwise, false. - - - Gets a value that indicates whether this represents a property set to a local resource. - true if this object represents a property set to a or a ; otherwise, false. - - - Gets a value that indicates whether this represents a property set to a local value. - true if this object represents a property set to a local value; otherwise, false. - - - Gets a value indicating whether this represents a property set to a markup extension. - true if this object represents a property set to a markup extension; otherwise, false. - - - Gets a value that indicates whether this represents a property set to x:Null. - true if this object represents a property set to x:Null; otherwise, false. - - - Gets a value that indicates whether this represents a property set to a resource. - true if this object represents a property set to a , , or a ; otherwise, false. - - - Gets a value that indicates whether this represents a property set to a static value. - true if this object represents a property set to a static value; otherwise, false. - - - Gets a value that indicates whether this represents a property set to a static resource. - true if this object represents a property set to a static resource; otherwise, false. - - - Gets a value that indicates whether this represents a property set to a system resource. - true if this object represents a property set to a ; otherwise, false. - - - Gets a value that indicates whether this represents a template-bound property. - true if this object represents a template-bound property; otherwise, false. - - - Gets a object that represents a local property. - A that represents a local property. - - - Gets a object that represents a property set to a local dynamic resource. - A that represents a property set to a local dynamic resource. - - - Gets a object that represents a property set to a local static resource. - A that represents a property set to a local static resource. - - - Gets a object that represents a property set to a local value. - A object that represents a property set to a local value. - - - Gets a object that represents a property set to x:Null. - a object that represents a property set to x:Null. - - - Gets a object that represents a property set to a static value. - A object that represents a property set to a static value. - - - Gets a object that represents a property set to a static resource. - A object that represents a property set to a static resource. - - - Gets a object that represents a property set to a system resource. - A that represents a property set to a system resource. - - - Gets a object that represents a template-bound property. - A that represents a template-bound property. - - - Container for all dialog box-editing logic for objects. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. - A that is hosted in a host-specific dialog box and has its set to the that corresponds to the property being edited. - A that is used for the inline editor. If used, its will be set to the that corresponds to the property being edited. - - - Gets or sets the that is hosted by a host-specific dialog box and has its set to a . - The object that is the template for this value editor. - - - Called when the is null and a dialog box has been invoked by the user. - The for the property being edited - The that can be used as a source for execution of . - - - A convenience button that allows the user to switch between the different modes. - - - Initializes a new instance of the class. - - - Creates and returns an for use by the automation infrastructure. - An for this object. - - - Raises the event. - A that contains the event data. - - - Called when any dependency properties of this control was changed. - A that contains the event data. - - - Gets or sets a value that indicates whether to sync to the owning container. This is a dependency property. - true if the is calculated automatically to match the property of the owning . false if the mode to switch to is based on the property. The default is true. - - - Identifies the dependency property. - The identifier for the dependency property. - - - Gets or sets the mode to switch to when this control is clicked. This is a dependency property. - A object. - - - Identifies the dependency property. - The identifier for the dependency property. - - - Container for any and all extended editor logic for properties. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with the specified extended and inline editor objects. - The used for the extended popup/pinned editor that is viewed within the Properties window. When used, its property will be set to a . - The used for the inline editor. When used, its property will be set to a . - - - Get or sets the used for the extended popup/pinned editor. - A that defines the editor. - - - Defines an indexing operator on an attribute. - - - Gets the attribute with the specified key. - The that corresponds with . - The key to get the corresponding for. - - - Handles sorting and filtering functionality. - - - Determines if the matches a filter and stores the information. - The filter to compare to. - - - Occurs when a is changed through a call to the method. - - - Gets a value indicating whether this matches a filter. - true if the matches the filter; otherwise, false. - - - Indicates whether an matches a predicate. - true if the matches the predicate; otherwise, false. - The predicate to compare to. - - - Maps a string key to an instance. - The type of attribute. - - - Initializes a new instance of the class. - A unique string to associate with . - The to associate with . - - - Determines whether the specified is equal to the current . - true if the specified is equal to the current ; otherwise, false. - The to compare with the current . - - - Returns the hash code for the current . - The hash code for the current . - - - Gets the key for the current . - The key for the current . - - - Determines whether the specified instances are considered equal. - true if is equal to ; otherwise, false. - The first to compare. - The second to compare. - - - Determines whether the specified instances are considered not equal. - true if is not equal to ; otherwise, false. - The first to compare. - The second to compare. - - - Gets the for the current . - The for the current . - - - Represents a factory for creating new items for a collection or for a property value. - - - Initializes a new instance of the class. - - - Creates an instance of the specified that can be added to the collection editor or sub-property editor. - If a constructor is found for , returns an instance of ; otherwise, null. - The type of the object to create. - - is null. - - - Gets a display name for the specified that can be added to the collection editor or sub-property editor. - The name to display for . - The type for which to get a display name. - - is null. - - - Gets an image for the specified that can be used as an icon in the collection editor or sub-property editor. - A that represents an image to display for . - The type to get an image for. - The requested size of the image. - The name of the image that was found. - - is null. - - - Used to specify which object types can be assigned as the value of a property or as the value of a property type. - - - Initializes a new instance of the class. - A object that this attribute declares as being a valid new item type. - - is null. - - - Initializes a new instance of the class. - An array of objects that this attribute declares as being valid new item types. - - is null or empty. - - - Gets or sets the factory type associated with this attribute. - A object that represents the type associated with this attribute. - type does not derive from . - type is null. - - - Gets the type ID for this attribute. - An object representing the type ID. - - - Gets a list of objects that this attribute declares as being valid new item types. - An enumeration of the types that this attribute guarantees to be valid new item types. - - - Stores formatting information that is used for editing a number value. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with the specified array of instances. - An array of instances. - - - Initializes a new instance of the class with the specified format string, precision, and scale. - A number format string. - An integer that represents the maximum number of decimal places handled by the number editor. - A scale factor that is applied to the displayed value of the number. - - - Initializes a new instance of the class with the specified format string, precision, scale, and instances. - A number format string. - An integer that represents the maximum number of decimal places handled by the number editor. - A scale factor that is applied to the displayed value of the number. - An array of instances. - - - Determines whether the specified is equal to the current . - true if the specified is equal to the current ; otherwise, false. - The to compare with the current . - - - Gets the number format string for the current . - The number format string for the current . - - - Returns the hash code for the current . - The hash code for the current . - - - Gets the with the specified key. - The that corresponds with . - The key to get the corresponding for. - - - Gets the maximum number of decimal places handled by the number editor. - An integer that represents the maximum number of decimal places handled by the number editor. - - - Gets the scale factor that is applied to the displayed value of the number. - A scale factor that is applied to the displayed value of the number. - - - Contains information about the increments that are used to change a number value. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with the specified instances. - An array of instances. - - - Initializes a new instance of the class with the specified increment values. - The value for a small increment. - The value for the default increment. - The value for a large increment. - - - Initializes a new instance of the class with the specified parameters. - The value for a small increment. - The value for the default increment. - The value for a large increment. - An array of instances. - - - Gets the value for the default increment. - A double that represents the default increment. - - - Determines whether the specified is equal to the current . - true if the specified is equal to the current ; otherwise, false. - The to compare with the current . - - - Returns the hash code for the current . - The hash code for the current . - - - Gets the with the specified key. - The that corresponds with . - The key to get the corresponding for. - - - Gets the value for a large increment. - A double that represents a large increment. - - - Gets the value for a small increment. - A double that represents a small increment. - - - Defines a range on number-based attributes - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with the specified instances. - An array of instances. - - - Initializes a new instance of the class with the specified hard and soft limit values. - The minimum value of the range, or null to use the default. - The soft minimum value of the range, or null to use the default. - The soft maximum value of the range, or null to use the default. - The maximum value of the range, or null to use the default. - true if the range can be set automatically; otherwise, false. - - - Initializes a new instance of the class. - The minimum value of the range, or null to use the default. - The soft minimum value of the range, or null to use the default. - The soft maximum value of the range, or null to use the default. - The maximum value of the range, or null to use the default. - true if the range can be set automatically; otherwise, false. - An array of instances. - - - Gets a value that indicates whether the range can be set automatically. - true if the range can be set automatically; otherwise, false. - - - Determines whether the specified is equal to the current . - true if the specified is equal to the current ; otherwise, false. - The to compare with the current . - - - Returns the hash code for the current . - The hash code for the current . - - - Get the hard limit on the maximum value. - A double that represents the hard limit on the maximum value, or null to use the default value. - - - Get the hard limit on the minimum value. - A double that represents the hard limit on the minimum value, or null to use the default value. - - - Gets the with the specified key. - The that corresponds with . - The key to get the corresponding for. - - - Get the soft limit on the maximum value. - A double that represents the soft limit on the maximum value, or null to use the default value. - - - Get the soft limit on the minimum value. - A double that represents the soft limit on the minimum value, or null to use the default value. - - - Used as a graphical container for instances. - - - Initializes a new instance of the class. - - - Gets or sets the currently displayed edit mode for this container. - A for this container. - - - Occurs when the active edit mode of this container is changed. - - - Identifies the 聽dependency property. - The identifier for the 聽dependency property. - - - Gets or sets the default . - A that represents the default property value editor. - - - Identifies the 聽dependency property. - The identifier for the 聽dependency property. - - - Gets or sets the default standard values editor. - A that represents the default standard values editor. - - - Identifies the 聽dependency property. - The identifier for the 聽dependency property. - - - Gets or sets the to pass to the method as the command source. - An to pass to the method as the command source. - - - Identifies the 聽dependency property. - The identifier for the 聽dependency property. - - - Gets the most appropriate for the current . - A that represents the most appropriate for the current . - - - Gets the most appropriate for the current . - A that represents the most appropriate for the current . - - - Gets or sets the for this . - A that represents the for this . - - - Identifies the 聽dependency property. - The identifier for the 聽dependency property. - - - Gets or sets the for this . - A that represents the for this . - - - Identifies the 聽dependency property. - The identifier for the 聽dependency property. - - - Gets the value of the 聽attached property for a specified dependency object. - The owning . - The to get the property from. - - - Gets the most appropriate for the current . - A that represents the most appropriate for the current . - - - Gets or sets the for the . - A that represents the for the . - - - Identifies the 聽dependency property. - The identifier for the 聽dependency property. - - - Gets the value for stored in the contained . - The value for stored in the contained . - - - Raises the event. - Name of the property. - - - Raises the event. - A that contains the event data. - - - Gets the command that is raised when the property is changed to . - A that is raised when the property is changed to . - - - Gets or sets the owning that can be used by UI elements of types to gain access to their parent . - A that represents the owning . - - - Identifies the 聽attached property. - The identifier for the 聽attached property. - - - Occurs when a property is changed. - - - Gets or sets the instance on which this operates. - A instance on which this operates. - - - Occurs when the property is changed. - - - Identifies the 聽dependency property. - The identifier for the 聽dependency property. - - - Sets the value of the 聽attached property for a specified dependency object. - The to set the property on. - The owning . - - - Defines the different edit modes for a . - - - Inline editor. - - - Extended editor that is displayed over the Properties window. - - - Extended editor that is pinned into place within the Properties window. - - - Dialog box editor. - - - Represents a property. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class that acts as a sub-property of the specified . - The parent . Root properties do not have a parent . - - - Determines if the matches a filter and stores the information. - The filter to compare to. - - - When overridden in a derived class, gets the name of the category that this property resides in. - The name of the category that this property resides in. - - - When overridden in a derived class, gets the current instance. - The current instance. - - - When overridden in a derived class, used by the host infrastructure to create a new host-specific instance. - A new instance. - - - When overridden in a derived class, gets the description of the encapsulated property. - The description of the encapsulated property. - - - Gets the display name for the property. - The display name for the property. - - - Occurs when a is changed through a call to the method. - - - Gets a value indicating whether there are standard values for this property. - true if there are standard values for this property; otherwise, false. - - - When overridden in a derived class, gets an identifier that uniquely identifies this property type and name on the current platform. - An identifier that uniquely identifies this property type and name on the current platform. - - - When overridden in a derived class, gets a value indicating whether the encapsulated property is an advanced property. - true if the encapsulated property is an advanced property; otherwise, false. - - - When overridden in a derived class, gets a value indicating whether the encapsulated property is read-only. - true if the encapsulated property is read-only; otherwise, false. - - - Gets or sets a value indicating whether this matches a filter. - true if the matches the filter; otherwise, false. - - - Indicates whether a matches a predicate. - true if the matches the predicate; otherwise, false. - The predicate to compare to. - - - When overridden in a derived class, gets the collection of model properties for this . - The collection of model properties for this . - - - Raises the event. - The filter that is being applied. - - - Raises the event. - A that contains the event data. - - - Raises the event. - The name of the property is changing. - - is null. - - - Gets the parent . - The parent . - - - Occurs when a property value changes. - - - When overridden in a derived class, gets the name of the encapsulated property. - The name of the encapsulated property. - - - When overridden in a derived class, gets the type of the encapsulated property. - The type of the encapsulated property. - - - Gets the (data model) for this . - The for this . - - - When overridden in a derived class, gets the that will be used to edit this . - The that will be used to edit this . - - - When overridden in a derived class, gets the standard values that the encapsulated property supports. - A of standard values that the encapsulated property supports. - - - Represents a collection of instances for sub-properties of a given . - - - Initializes a new instance of the class. - The parent . - - is null. - - - When overridden in a derived class, gets the number of instances in this collection. - The number of instances in this collection. - - - When overridden in a derived class, returns an of all the instances in this collection. - An object that can be used to iterate through the collection. - - - When overridden in a derived class, gets a from this collection of the specified name. - A instance of the specified name or null if it does not exist. - The name of the property. - - - Gets the parent . - A that represents the parent. - - - For a description of this member, see . - An object that can be used to iterate through the collection. - - - Used as part of the searching and filtering functionality that may be provided by the property editing host. - - - Initializes a new instance of the class. - An collection of predicates. - - - Initializes a new instance of the class. - String representation of predicates. The predicates are space delimited. - - - Gets a value indicating whether has any predicates. - true if this does not have any predicates; otherwise, false. - - - Compares this filter with a particular filter target. - true if there are no predicates or if one or more predicates match the filter target; otherwise, false. - Target to compare with. - - is null. - - - Provides data for the event. - - - Initializes a new instance of the class. - The that was applied. - - - Gets the that was applied. - A that was applied. - - - Represents a predicate for search and filtering. - - - Initializes a new instance of the class. - The predicate string. - - is null. - - - Returns a value indicating whether a case insensitive match of the predicate string is contained within the target string. - true if a case insensitive match of the predicate string is contained within the target string; otherwise, false. - The target string to compare with the predicate string. - - - Gets an upper-case version of the predicate string. - An upper-case version of the predicate string. - - - A control that appears with a property value in the property window and can contain information about the property value. - - - Initializes a new instance of the class. - - - Used to set the order in which properties appear in a category, or in a list of sub-properties. - - - Creates a object that is added after the specified token. - A new object. - The reference token. - - is null. - - - Creates a object that is added before the specified token. - A new object. - The reference token. - - is null. - - - Gets the system-defined default order position. - A instance that represents the default order position. - - - Gets the system-defined early order position. - A instance that represents the system-defined early order position. - - - Gets the system-defined late order position. - A instance that represents the system-defined late order position. - - - This attribute is attached to a property to specify the sort order of a property in a property browser. - - - Initializes a new instance of the class. - The to assign the property. - - is null. - - - Gets the associated . - The priority in which to display the property in the property browser. - - - Represents the value of a property. - - - Initializes a new instance of the class. - The property entry that is the parent of this property value. - - is null. - - - When overridden in a derived class, gets a value indicating whether can be converted from a string. - true if can be converted from a string; otherwise, false. - - - Gets a value indicating how to handle exceptions that occur during the get and set methods of the and properties. - true if the exception should be caught; false if the exception should be propagated to the caller. - - - When overridden in a derived class, clears the value so that it is not set. - - - When overridden in a derived class, gets a of objects that represents the value of the . - A collection of objects that represents the value of the . - - - When overridden in a derived class, attempts to convert the specified to an . - An object that represents . - The string to convert. - - - When overridden in a derived class, attempts to convert the specified to a . - A string that represents . - The object to convert. - - - When overridden in a derived class, returns the that should be returned by the property. - The object that should be returned by the property. - - - When overridden in a derived class, gets a value indicating whether this property value supports sub-properties. - true if the supports sub-properties; otherwise, false. - - - When overridden in a derived class, gets a value indicating whether this is a collection. - true if is a collection; otherwise, false. - - - When overridden in a derived class, gets a value indicating whether the current is the default value for the property. - true if is the default value for the property; otherwise, false. - - - When overridden in a derived class, gets a value indicating whether this property value represents a property for multiple objects that have more than one value. - true if this value represents a property for multiple objects that have more than one value; otherwise, false. - - - Raises the event. - - - Raises the event. - - - Raises the event with the specified . - The data for the event. - - - Raises the event with the specified string. - The name of the property that is changing. - - - Raises the event. - The data for the event. - - is null. - - - Gets the parent of this . - The parent of this . - - - Represents the method that handles the event of the . - - - Represents the method that handles the event of the . - - - Represents the method that handles the event of the . - - - When overridden in a derived class, sets the property to the specified . - The object to set as the value of the property. - - - When overridden in a derived class, gets a that contains information about the source of this property value. - Information about the source of this property value. - - - Gets or sets the value of this as a . - A string that contains the value of this . - - - When overridden in a derived class, gets the sub-properties of this property value. - A collection of sub-properties. - - - Represents the method that handles the event of the . - - - When overridden in a derived class, checks that the specified contains a valid value before setting the property to it. - The object to check for a valid value. - - - Gets or sets the value of this . - An object that contains the value of this . - - - Represents a collection of instances. - - - Initializes a new instance of the class. - The parent . This will be the property whose type is a collection. - - is null. - - - When overridden in a derived class, adds the specified object into the collection. - The for the added object. - The object to add to the collection - - - Occurs when the changes. - - - When overridden in a derived class, gets the number of items in the collection. - The number of items in the collection. - - - When overridden in a derived class, returns a strongly typed for the collection of objects. - An enumeration of objects. - - - When overridden in a derived class, inserts the specified object into the collection at the specified index. - A for the inserted object. - The object to insert into the collection. - The index of where to insert the object. - - - When overridden in a derived class, gets the at the specified index. - The at the specified index. - The index of a in the collection. - - - Raises the event. - A that contains the event data. - - - Gets the parent . - A that represents the parent. - - - When overridden in a derived class, removes the specified from the collection. - true if the was removed successfully; otherwise, false. - The to remove from the collection. - - - When overridden in a derived class, removes the from the collection at the specified index. - The index of the to remove. - - - When overridden in a derived class, swaps the order of objects in the collection. - The index of the first object. - The index of the second object. - - - For a description of this member, see . - An enumeration of objects. - - - Container for any and all inline editor logic for properties. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. - The that is used for an inline editor. This has its set to a . - - - Utility method that creates a new for the specified type. - A new for the specified type. - - instance for which to create the new . - - - Utility method that creates a new for the specified type. - A new for the specified type. - - type for which to create the new . - - - Gets or sets the that is used for an inline editor. - A that defines the inline editor. - - - Provides standard commands that control the behavior of a property window when the user edits properties. - - - Gets a that represents a request to cancel a transaction associated with a property edit. - A request to cancel a transaction associated with a property edit. - - - Gets a that represents a request to begin a new transaction associated with a property edit. - A request to begin a new transaction associated with a property edit. - - - Gets a that represents a request to commit a transaction associated with a property edit. - A request to commit a transaction associated with a property edit. - - - Gets a that represents a notification to the host that a property edit has been completed. - A notification to the host that a property edit has been completed. - - - Gets a that represents a request to display a context menu in the . - A request to display a context menu in the . - - - Gets a that represents a request to display a dialog box editor for a property. - A request to display a dialog box editor for a property. - - - Gets a that represents a request to show a validation error message. - A request to show a validation error message. - - - Gets a that represents a request to display a pinned editor for a property. - A request to display a pinned editor for a property. - - - Gets a that represents a request to display an extended editor for a property. - A request to display an extended editor for a property. - - - Gets a that represents a request to display an inline editor for a property. - A request to display an inline editor for a property. - - - Provides data for the event. - - - Initializes a new instance of the class. - A message that indicates what failed. - The for which the exception occurred. - The source that generated this exception (get or set). - The inner exception. - - is null. - - - Gets the contained exception. - An that is the contained exception. - - - Gets the message that indicates what failed. - The message that indicates what failed. - - - Gets the for which the exception is occurring. - A for which the exception is occurring. - - - Gets the source that generated the exception. - A that generated the exception. - - - Indicates the source of the exception thrown by a instance. - - - Indicates that the exception occurred during a get operation. - - - Indicates that the exception occurred during a set operation. - - - Represents the source of a property value. - - - Initializes a new instance of the class. - - - Provides adapters for a specified item. - - - Initializes a new instance of the class. - - - Returns an adapter of the specified adapter type for the specified item. - An of type for . - The item to get the adapter for. - The type of adapter. - - - Returns an adapter of the specified adapter type for the specified item. - An of type for . - The type of adapter to return. - The item to get the adapter for. - - - Represents a binary stream of information, such as a bitmap. - - - When overridden in a derived class, initializes a new instance of the class. - - - When overridden in a derived class, occurs when the content of the stream changes. - - - Gets a local file path of the stream. - A that represents a local file path of the stream; or null if the stream cannot be referenced as a local file. - - - Gets a value that indicates whether opening this resource is a valid operation. - true if opening this resource is a valid operation; otherwise, false. - - - When overridden in a derived class, opens a stream on the resource. - A on the resource. - The to use when opening the resource. For example, or . - - - When overridden in a derived class, gets a value representing the URI of the resource. - The URI of the resource. - - - A service that locates items to display on a context menu. - - - Gets a list of menu items. - An enumeration of currently applicable menu items. - - - Defines methods to create, remove, display and query the contents of the event handling class for the current editing context. - - - When overridden in a derived class, initializes a new instance of the class. - - - When overridden in a derived class, requests that a specified method be declared as handling a specified event. - true if the method can be successfully declared in the code-behind file to handle the given event; otherwise, false. - The event to handle. - The method to declare. - - - When overridden in a derived class, determines whether a class name can be used in creating a unique method name in a language. - true if a class name can be used in creating a unique method name in a language; otherwise, false. - - - Appends the specified collection of objects to the specified event handler. - The event definition whose handler will have statements added. - The method name of the event handler. - The collection of objects to append. - - - When overridden in a derived class, creates a method that handles an event. - true if the method is successfully created; otherwise, false. - The event that handles. - The method to create. - - - When overridden in a derived class, returns a unique method name for an event handler. - A unique event handler name. For example, Button1_Click or Button1_Click_1. - The event for which to create a unique event handler name. - - - Occurs when a method is associated with a as a result of a call to the method. - - - When overridden in a derived class, returns the names of methods that are compatible with a specified event. - The names of methods that are compatible with . - The event that the methods are compatible with. - - - When overridden in a derived class, returns a list of methods that handle a specified event. - The list of methods that handle . - The event that is being handled. - - - When overridden in a derived class, determines whether a method name that handles a specified event already exists. - true if the method name that handles already exists; otherwise, false. - The event that handles. - The name of the method to check. - - - Raises the event. - The instance that was associated with . - The method handler that was associated with the . - - - When overridden in a derived class, requests that a specific method stop handling a specific event by removing it from a Handles clause. - true if the event can be successfully removed from the method declaration in the code-behind file; otherwise, false. - The event to stop from handling. - The method to stop handling . - - - Removes the event handlers for the specified element. - true if event handlers were removed; otherwise, false. - The element to remove event handlers from. - - - When overridden in a derived class, requests that a specific method stop handling a specific event by removing it from an event handling class. - true if is successfully removed from the event handling class; otherwise, false. - The event to stop handling. - The method to stop handling . - - - When overridden in a derived class, identifies the methods that the binding service is referring to as belonging to the specified class. - The name of the class that the methods belong to. - - - When overridden in a derived class, attempts to display the specified method to the user. - true if the method is successfully displayed to the user; otherwise, false. - The event that handles. - The method to display. - - - When overridden in a derived class, determines whether a method name is a valid method name and raises an exception if it is not. - The event that handles. - The name of the method to check. - - - Provides data for the event. - - - Initializes a new instance of the class. - The that received a new event handler. - The event handler associated with . - - - Gets the event handler that was associated with a . - A name of the event handler method. - - - Gets the that received a new event handler. - The that received a new event handler. - - - Defines methods for converting model items to markup text and for parsing markup text into model items. - - - Initializes a new instance of the class. - - - When overridden in a derived class, parses the specified markup text and returns a model item representing that text. - A model item representing the markup. - A correctly formed XML document. - Assembly names to use when parsing . - - - - Provides access to resources external to the markup file. - - - Initializes a new instance of the class. - - - When overridden in a derived class, gets the application model. - The application model or null if there is no application model for this context. - - - When overridden in a derived class, gets the specified URI in the project system and returns its contents as a binary blob. - The resource specified by . - The URI to get the resource for. - - is null. - - - When overridden in a derived class, gets the specified URI in the project system, loads it, and returns a representing the root. - The model resource specified by . - The URI to get the resource for. - - is null. - - - When overridden in a derived class, gets an enumeration of URI values that can be loaded as resources. - An enumeration of URI values. - - - When overridden in a derived class, translates a local URI back to its original URI. - The URI that corresponds with . - The URI to translate. - - is null. - - - Creates a method in the code behind for a user's XAML file and enables appending statements to the method. - - - Appends a collection of CodeDOM statements to the specified event handler. - The method definition that is searched to append statements to. - A list of CodeDOM statements to append to the end of the method. - The line number to insert the statements. - - - Creates a method with the specified signature. - true if the method was created; otherwise, false. - A that specifies the signature. - - - Provides data for the event. - - - Initializes a new instance of the class. - - - Gets an enumeration of objects that have been added to the editing model. - An enumeration of objects that have been added to the editing model. - - - Gets an enumeration of objects that have been removed from the editing model. - An enumeration of objects that have been removed from the editing model. - - - Gets an enumeration of properties that have been changed in the editing model. - An enumeration of objects that represent changed properties in the editing model. - - - Gets an enumeration of property names that have been changed in the editing model. - An enumeration of objects that represent the names of the changed properties. - - - Represents an external resource that contains a model item. - - - When overridden in a derived class, initializes a new instance of the class. - - - When overridden in a derived class, occurs when the model item changes. - - - When overridden in a derived class, gets a value representing the model item of the resource. - The model item of the external resource. - - - Provides the main entry point that the designer uses to obtain the editing model. - - - Initializes a new instance of the class. - - - Converts a created in another designer to a for this designer. - The converted item, associated with this designer. - The item to convert. - - - When overridden in a derived class, creates a model item that is a deep copy of the specified instance. - A new model item that is a clone of the existing item. - The item to wrap. - - is null. - - - When overridden in a derived class, creates a object for a specified type. - A newly created model item. - The type of item to create. - Creation options. You can specify if you want to initialize default values for an item. - An array of arguments to pass to the constructor of the item. - - is null. - - - When overridden in a derived class, creates a new model item that represents the value of a static member of the specified class. - A newly created model item that represents a static member of . - The type that contains the static member being referenced. - The name of the static member being referenced. - - - When overridden in a derived class, finds matching model items for a specified starting point. - An enumeration of model items matching the query. - The model item to start the search. Items above this item in the hierarchy will be ignored. This item, and any item below it in the hierarchy, are included in the search. If this parameter is null, the root is used. - An identifier for the type of object to find. - - - When overridden in a derived class, finds matching model items for a specified starting point. - An enumeration of model items matching the query. - The model item to start the search. Items above this item are ignored. This item, and any item below it in the hierarchy, are included in the search. If this parameter is null, the root is used. - A predicate that allows more complex type matching to be used. For example, the predicate could return true for both the and types. - - is null. - - - When overridden in a derived class, finds matching model items for a specified starting point. - An enumeration of model items matching the query. - The model item to start the search. Items above this item will be ignored. This item, and any item below it in the hierarchy, are included in the search. If this parameter is null, the root is used. - The type of the object to find. - - is null. - - - Finds the model item in the specified scope with the specified name. - A model item whose name matches , or null if no match was found. - An optional scope to search. - The name of the item to locate. - - - When overridden in a derived class, finds the model item in the specified scope with the specified name and comparison criteria. - A model item whose name matches , or null if no match was found. - An optional scope to search. - The name of the item to locate. - Specifies how the name is compared. The default is to compare with the property. - - - When overridden in a derived class, occurs when an item in the model has changed. - - - Resolves the specified to a . - The type that matches the specified identifier, or null if the identifier cannot be resolved. - The identifier to resolve. - - - When overridden in a derived class, gets the root of the object hierarchy. - The which represents the root of the editing model tree. - - - Provides a mechanism for capturing property changes that are made by the user in the designer and providing new values at design time. - - - When overridden in a derived class, initializes a new instance of the class. - - - When overridden in a derived class, returns an enumeration that contains the properties to translate for the specified type. - An enumeration that contains the properties to translate for a specified type, if any. - The type for which to get the properties to translate. - - - Determines whether the specified property should be translated for the specified type. - true if the specified property should be translated for the specified type; otherwise, false. - The type for which to determine whether should be translated. - An identifier for the property to be checked. - - - Raises the event to indicate that the specified property was invalidated. - The item that contains the invalidated property. - The invalidated property. - - - Occurs when a property needs to be invalidated because of a change in a dependent property. - - - Calls custom logic to translate the specified property for the specified type and instance, and specifies the value to translate. - The translated value. - The type for which the user sets the property value in the designer. - The item that contains the property to be translated. - The property to be translated. - The value set by the user in the designer. - - - Associates visuals and editing model items. - - - Initializes a new instance of the class. - - - When overridden in a derived class, gets the model corresponding to the specified view. - The model corresponding to the specified view, or null if no model is found. - The view to get the model for. - - is null. - - - When overridden in a derived class, occurs when the layout of the view has been changed. - - - \ No newline at end of file diff --git a/SCADA/Program/HMIControl/bin/Debug/MySql.Data.dll b/SCADA/Program/HMIControl/bin/Debug/MySql.Data.dll deleted file mode 100644 index 7eaba454f74f17f82aba0042273e6d4b5897dc06..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 424448 zcmeEv37lM2mHzAZUcFcKs=CwFm3~#dRqOsS5@7efSA#l zztg{@?!D)3=bn4+x#ym{ywf+lRx>nBGx7hi$29GOaQU}heh>V!9nn465A|sO5c|R* zAM85q3x}Mwb=z$2ihAwR`i0NWZMpFB%WGHVHeZ~pUwwIQ+vT~Fo_S{O`L&BKE_Zi3 zhxtszkt;^8fk-4iH)ON3SXfEEhO4F{eG%c#2o43NBga2)CHLX|ty26_P;xB*q zA|CKHB^&Kp|8gefzn1FslzU`Yh#yJkW0sbH^VLf%ZMY5mxZYfdx+IMv z{Is@A<*P1!;Z+E~@^ZgjY%B0?|I2CG1?Bo|eG7ns8*tR{Ppk8%^|v0~RjyzByc!Y` zSK=&Xy>L;w6I!{H?V z(v@CgXAar5O*0k8wkq-egB~n8M68_ndPCMJX*}5PChqrmCgrx%-7qk)(FlV$9NVhadHNOM`=FBjG z+pGfsG-m0HHm{`PL55g)q4BlA!vKvz#bvr+Vr4e?bd>&`_`Vxw6mhT_Wv44~J3Bh@ zLpMPQ2D&?gG=`EFyUB5lUNz(dFHm;qe?ly$RKXF-K*Ou+%J0k z7C+wFo!_GynGL&iu<5Re!IpnA5ixc~%$<+w?xS6KH=mY%jA$05o(Y`$<3@T{x0^CY zQjx)w6)QQp8_=9oWFTc3X1bEW7*T@MI~B-o1#XYc zqYiD4O8LOU+kj|IG#)D@S}iH`MPrlEVQE#tQcacNW*#^B*kh0RG`Sj>N7#>w3lv8; z4go)UF|-}v3qUlzK|XE+H-wLC7=>20&naNQldt9mkk8sF6e>lnbk(s2R(>00kdp>b z`G%p&P-U=E5!M1nE4cw4P&gR5E_6|K$m?U(kQTl#GFTlH7`T1}#VxFBKq94ak%@c! zrWom}huJ!40!ovhwA;{F(c|#~y8X*QZU5c=4~Ug+&*)Kwm6t?~;EgJHqx6Hq7181Z zIz6>0Iz`#smPJpR1J#T)qcAN!Kcr_dxY$xDQxd3l76$cfUuRS{UL8>c`d!%IFtWi- z26}fbs?i(k@f-2Z#54mEN}$rD6ZF#{nk&4b(yKHM$S$cYetO`>`504_{OK9h zL3)nr*&KfSzVp&RBCR(l%qv-^;^UHytsFgY9(_b60G}4mK&ckTs^4GFM{#prR$AIp_h;+r*pf5nRiu5FKGyunmomFyl z+mMl5xJ)Q!@9frN0nt>b#8!ioFzsGX6nS!JXPUGAOD6HqYNTE-7%5&82+UGLX6 z?NEu(g&cvS6JO954D2&`y6OBtezP7a8E&B~?F(0EXx@MjDHywyi5$BWBJMb(E14@Z zY3ZIT$ZkeZ7hOf^F}~k(5Q}W0oK!|Cq3odcI}ifmwzbN!oq}Z!RmS3uIask)Ei?Md zaoxad37dsgxXiXD57je1o+zk~^~wY=2Svm5`kCrveQ-gFHf<{nv_l;$U4hK-;w(gs zH6{9_7_}IP6wx}eq#8pJ?Z=oK44E6$nv0!QRh?Pwj+KU$w*>W*F(ovcE41#ZIP%5% zCu6a6wR=h!&X>H5R*5QpXWmOr5-wM8<;MVG(m-uEJIq#XieFW%5>*uw1;c^)sy^>? z1?aFhxLA}$v9An(GX(^x!}Ke`3Q^x*-HP>Nb<8P!R>evFQy1qK&;j#OEB*Mas_lNhurYK%x=VB$1@DGOA~{mG$u8Xd$U
Iu!ZA8JW>Ik+GzSfZ^c^_btIzrEl9R%EfDbS!OzIgd<%3B<`2HFQJSC9`VNp zG_3X!lcNQH-1aM0wGOO1kt53=D#T;$gaF#a;6ODIFd#-9afidC0}BTqf$3_<4-96i zLCaZUy3!q!F&2xi`lCuCG)N%}eCUa-*&s@cvJ0xN2^y_Nm%X~VG)G^eIJ!ZLV)411 z<0W17Ck8cQ?4lj$NgbmFHE{?9BdMi#t%<3^(+aNxWSY9?HyCdUiNgF zU;oKaYl6vhVdP&ODDs8_L{46@zX~VM-fzsY`;9qtzcEoe8C{pf2#}6QM(t{~I~kQg zH6BZv;|1LiMK6{zV=#ao=a;mfj-q;CB<)SU!Z6m`m5hwTgaj>aO%)nV65YrSTV*88 zyz=IchN3+h8FjtGsqdB%$}aN`r5^<1z61L$BJ+T;ytx^wo7q2U4EJKc%Ux-wogVYz zUb82Xo_I=6BpX|GSY&iE+hb;969f2Nwkl=16Uz`><@8wYM5M>cj2qcU^M>Bsf}(V* zc|7nzSd_m7%**q4phS9hb8Qq!Xu3JNgTFpyT zIVZ6I5B-Z3kBMIwdtkcSQI`4AVa$Y<)S|56+R<@L%PW!(TF=?MihT^Y)SnPn@j@0t`+^|UZX*x z6r)DEb`y|>j3RN(@|J+i9r+LPPFF;F&>tU`Hb`=!JrUS-%py?nNhWNr$Zj-9ZPSgk zNDtFJXaYe>{#H_Y9Hz%s$cb3hxCuE;UUeAIdu7!$*AhBQSb2)tZuQ?SL7Cz5O0p|0ZzW zsFE6N?-&6E{X#q5IMVX9g zt!g7kTf^HZmQjg|i>Tul0upc%D7oh9yTUOp<9Yg%2={k)3?2?R+DuQza)9u zBh*JR%&2x?O2|$Y1`pfXWf<%H%Q`py4D-mCTL<8ZJ!9$mA>wB0$A~*nUoGxn9n%rw zhw8BY!X2)^Slp31bQ6R}>vxEojj4>=$>urkq;97^mxGa7+dc(fc)DOa3dYvujqgNf zY`O#|5fCegmdRm>X zcnumJ_+LxEI#rRo7a3KG*Ap61v;7;y-+Ut-vw1Tew|N5{W4TuZ&tcB9wO62qZpx=( z%*5jREr@@s-e9u9GBjd(h9+&yZH)7V;D)4qqu_ka^m zfw;aA|EKnf+%87kUcGRVZmV`hrIpYmn-to{m`uqrg=uxBqSTgHlZfldh)@8^r8iD` za}PIV+Dh)na8Rn-pP-`Dwl0WAM{#;$VB*#G$R_Nzq&GEp0dFfUdmMs3u%!~AmGB=7 zp#3%ePmMs4ww0YZ9>wZ8irls(nc`6ktLe1#`qVF=3M)oRMSVAxz7g_mDCPKWJQ+>K zl1?&ic$ku{6?!u2&L?B|@3=Q7cgsvT|8UVhKfF*;MXmLXJZm! z)bEENP}AFQd-a1u<3DtVWpfiZ*q2}egz{}ETcfR<@CNihmWl_zXIoRKH`X*gei!_tvH5hi@*a9$E3C9 zpOAau=s@>B;Sv3$Yd$#bhd@xYcCaNn4p{)#f@?Yc(AFCizR8HvUt?AUM|&&`eLy&m zTkvxihTUc1REI5nn6%eC=Mk~K2Hn>+qWW$cUw!(wX_Wcdyv3pte? zS>;$mTf{fs#^5+eaBxSm%#5tDqN=MvCaPJEQ<0tR@kLy=2QtoW-Uy&Rs0el&x$_TB zFi38_LEPpr#c)|nlqk1h>8Ceo&qK2B?hufY2FpxRH|t1?DiiN39Qt?#xw}>IIBR#8 z-k@UOjsV2kRZwq;hR~o!V0c(`TaH!SX!Yu5_P3MEg8AGRPX|Nr23;^DU7%WoWg#2B zs3(uzfw|X5d)_Hr`G@Z-i+x23x%2%iR_H>e0ASBujRhvv};QLFsq?Xj84 ze5xnelkHtu?wD~^KPL$`Ay0^S}*9 zUs-1|8T$I%d1H1mP~C#QP+HsXQ?o1spx@SxLfK=zdKznnK--mBvb9V&Xv)0Ij+FS+ z>Zh_lNAIb5^7qjwl+vO!kn%xMl5nnv2&NBC*JclrdYpaq;NXKpnQ9RUUZSo8hb*Vg zzU46eVwsZUDNshb!2!@n$C?mEcv+dHX|+)2scr3fSST-(wcjQzq5Oqh0>(G4_PF&z zjgzOJ7>?rXnlh}6V^zhYLzv{EX7-Uu1Kfwj89`RHNe3Y@EMtvE*I$r&!GcsReHFe@ zODvW+v(A-iOc{-(C9u`eb_Y3mCbp<}wR5}l1++YHMaLYn7zES(6sGWqYc@V5B^dJre>3W$TvK=&3Ch<#+}U%(lzgF z{v+K;^Fws7y8%6)+ZWA$7T0Qi7;gT@PbjzRXEs%4SLLNWDyGd~rQQo3ae3YzYYtQF z1a!G3$G)5x3Sc*&p&(@%YFz9anzt)IacaJo{L>1-ifsL)S6`|VH%Oq89Q!#<5OzNmpDS>v*fLZ@^o33OWBvR@P;{C_(BfUX- zwK}OOK`K;R{8ck(%K;ED9$7zNJPrWGcmqNz{eJ`F`Aze=0G!ytcL!js51_SJ;tGR2 z8#aMx_VF02K!ZZaMvwh}%|@h78yiWmgN=rSay)9zxN0g^h$msWeIo*uR19X$i3g|F zL)<5$Ykor^j_HDNlO;7r(7g2o<`Crm2qnKS!voRPiw!WU08glhCtGvrV98lS8L(^$ zSRg|sE=hxRDz@{MBu>(%U?=veW4JguqXsd~A&Bgg5xwSpoHLY)F!dL|#G3d2$cm}3 zgR**q^U9q*NdsbC^DxbQBjbIT%4jsib%>OOEkK-S`hB=cak1jU^1)&hta2!h(rDQ4 zrRoI31m`6VUQv%8w4%6IW@$AZc)-7&s8TpBctqp0du&lTQzks3bVlHj;T}y!;T4N` z0v-yKWVBkKpFsH0uS#qg^C?Gk6>~lnFBD-ntU_9tsD$SPk`~9G6=*vV(ROH3hPnf* zdv^K6zv0@Tv&o6znm4xcEm*JS$GS@=CQTKQkX0$Dj^%heae!X-$mwqeRk-1+~Xe>+jsWWzxL(CZ`AOvx4?P zLkQav6dwXmjbQd`$aKN%cdaxw@$XAE2DNrH276`+kP4e;-Rsc%m_U-3}J_ym0RwZe)p zBJf0GK29;g3BNsDvjvnn3U))OpcrOYvI3H3ER`tz=hSA{jf1poilP-vlV@Vhin0L^~~d8J=VSELfO{~d48!u5YlNsBfMM22UZ`=KVqBHc@RHb=ll^70r8VD zv1L!hl6KZP_HDl=V~C*tV=#l8-@Jr*hD%z^Nv3u-26r6e+rY8F#zkPOk~)F6pOci5 zL?vu|6J^LPxRK`9;q{^4rgwR*2%CbN$87a~J-< z2t(l8_iAmq*Hur z!EX$+4sIE(_(9Tgd|@FME?LNrp`WW-=5sEFRP6_eM{H}Pi6vYjT$*!=?W;W;0|Br2&Y2FKjRmB5O zrk=5eD&Ro0!LvIvsO~YmtW;^MZ}7jXzEM_(GoGE*4ITXIE*ENs)%Ywxf{5{4g@>hH zT*8&!4Otw+P8}Rja93DdPP+;pQPdb#t%PCjSlBxo?aVG^sXSA|mj(RoCr5ROu1C-^UF*KhEsRJYN8;cPli-ag5zMKQ6l&W4?)uA_h7lK^WRnB z(ma=qAN=|jFrDga_OJVfZGP{P1Gg;_svlTV{OtQx(Cb;n2WcMO2P4WkZcMmxZ{EfF z$|$<3{9=z^4?AyI?ggmhjp>=-*tTk`mp%e*r~NW0x}m;po=7i*q^t3WT@9u$ zaF}J;Q?mGxacTQS-iK2i3M7d}0ESfl9Zw^MQ2|mUouk{qo=-|X>{3#K}q;}mG zJ5dZ8YFk916%_#x#mr5b$@xlb<#5jq=6Qemhp|EKhd|qAL?;<;H;VlVQbfj3h$zLV z6|SuU0r84V`o@QNIfjg*cBb<07?cyVV;LpYSzL z{RBnD2gFGwvdfgG+mA>sb5jnEtlGMfbSm?&VdAk<)0MN54%UEQMjg9@}+yyLmYCIJTLx3JEMa=1U3RDr7;O`f<|2N(8Hjl`s;dphsYNjZ~5OQme=Z zlM!68!o4W0UsAA0xXI}5G`6Y0Z>eNqIEnR)HIGGBl2;U<0V|tRGL2ZQaUv7@m?F}a z0wEv&WD*TnmUhQd*6wu5$)tJiRdRwg=OGQd|W8)6wP^3Vj z;y{msY?fbYDwRx;GO1)_cbE}{Ma+rMCzr+MdvzRkK%J4@D5M`ojp)T#S9X(Fskoc! zn;L-{2XpPbGiAWXr?rp>D^Dy9V_4Lt`jUOg=qfYWSHLOPR9_nH>j43TBx8J;Wc*0H zHdU!&sRz`pWZ%le3+ZTj^B72r=8UC!=g0eSldX3iNstg(lYJBW0;2Zy@Yrl$CHFRH zin#m*n!;>A;8-fY8*V_oJ~YxSo{pxYYj!6SZqm9FPC6Nd6CuV`*{MSDiA*xiQgE=P znzX7+jK!k@Bx&y%kacju0_P;-yV)YNcdZ6(kp;4WDAU1FY2?g(43c7Z;cQUdnUAbo z!NTaxX_$~F%LrHg*+|kAAsg6+uBt6o)1ssybp?}jS9ue z$!Z~1s;4amX=9s6+WE=5VLz)nYwm+K$rE|B!^e*M8W#P@ByMP=CwW)v5sv4$_AF3l zIe11L`icA7;5c%UO=VNdmzxF*Xx<5dLekS?*1r+VD1`wl`$#!rxbvlDfR7vDp-6`| z#JIM%v+P_B)D|g`!0~%IOEmX$2$s2D;HM`7>s(k>DH1`cPoWOfgSGOtLD7ZfR`xgL zWdMCN0A+uR+8`|5IfyoM?qQZ?^}s06Dhybow5O^n$JYg={x&G0kViu%Vd|_OW47AR zs%u*t)WTJf%R!ykZo?hgZMt(mMTL7J?%dDla$Yht8lm`?<7!PBJht~6;jsc{$X?)s z?+U@ppUwKs3Uk|}u0IN4#_%4&` zZx)hWHj5i?)^=P3G39v|d4$Q$js_8Y?s55C2EX9K5tZ0PDDUX`8Qq=0oPy!71$Tbv zWQhZN(Cn~gJkQ%WMF&psHq)^Huh78xQQ?E7&mQ`=@7?n zu?_!R7~0}?N$<}?8*q%M72SCYRe-2zS0)~`CI3;#?{?$|vAb0Mv)l8>ng4ZnwhDN_ z&QEyfAc#T5 zwNn_Nu&ek$;0>^;Zap&q;W0U%N_es_gU2oXpxKr-8HYVPj(aGpZe_Cz^&rbG%oiI2 zV$oI%ib1~nL^$3`;?YtRn~auMLJ4OpXOhvG06bF_->w-v`=%a|ROuBZF~NXBr9bz# zJ)@-?z~h!S4&KNdkT)nh68+e-bDNio0A&C?BpnFKZexF1 z?k#?o!)isE*if5QUk5#1l}B5#q(N+E;x#;ANw)F<8@mg5yfjwBX()?NJ;l;1AB^(! z6`Pcvhwd$&4m8<7RL26Lo9)Kir;S}g7kGXS*x!ND=eH(#Odm>%REo|hFiF~&caM?IW>SHOiPiu>o5p5BCK1(jCS zi#H@UJ9v2!uO_&wzU}K;$izHfK_338xo#PHJ~PK(@Zolj`0R*3+5TrZzj0PuVzTAK zis5O(yTjC+&H%>j-!-=P-Vn?eUvpe-`!Qb$V?v4T$NX0qGs2<*e7+olah0@%&sRfm z7U29Puu`vp2d5Xt;7F0pBN&6b!i>ltiksEq!CO*?10ajhd=TKu6S6?pW)+za$&8~xUyId z{4^DDp3=3e4nqBA4X4?GK>Bw?;092SEpyY}3<~II+3yNTM3zb4O z!D#XS?BIk7#T&(JA{tgY)8wI3Z^XK9vi34ho#+Z)}BWPy)7`=wc7V{s& zEAciFT?NBCLQFg3U4$;!7B67pW;y+0vTv)dzl{EuPHd?DVK=z8_Z*bFDD5O3o>ADa zKR`ZWsW;e*I7aCgLmpC3HsI2DJM5Jx5_$#m6m2Tppq^Eng#B`*Dx+lA{}!5dAyR)2 zocagwqY7wjMjj7Mb!Ksnz`D*a1eeB%jU0TAsJ;lp?zm;Gz76XiT+s`GRT=B1b_D1; zi2f12bqs3;GvzkN64s5&l`VkntoQWIq9ba6CyM98XX0CnzHvPER99N)Ct9Qvp&k zP}ffV{mX3)6Djx-ysLl;Tt0;Bd($;cR}P!%T?4FC-4P9PQ|KFkeiUfbal?k!!z2YB zU@L8Zu+xv1Q}CfTRhkX6CSjRU^r%2 zlHr(oF~ccp6B}F{m!46bdI2C+p@OPg#<06~EoMz0z!a-X2qm zKs-NB^alO5K?7Go)vR=R;>k2^VQbv+!}070s!`N`LhY63aa$BwJ&N{fdTj>1z0X*& zPs?jvy=2I5Y0>*N1M7^gFRLyn;?fe^P;GA~Diu*TZdI1c)vcRjkUURg471)*8kf%a}P8Y>%m}K?IOuF?f=7QO??N%s8_+ z0vC?fGK#C+Wge~=GS#dBSG}*)*h0jR>QF{ukTUGotfFd9VGN|^f|wfgB%(wxYhDn| zG9f7isU@O3Mp1W)Xt!g$E1qV$2FQhNDLlD~03OBj@2bdipc0Sfm^W=x^)=QZFn&DV zE<<7hH!;(=AGs){Rhhtx{_Sb4%CT=pH+q+$|FW?g$y#Gz*|v&y(Dcj)JiY?Ky=M$h z?Moyp_M-;;DBMj|Mf>m}ACAXgiIxu?@u8!Z0(j3u)wSp2N06w0UFIz|UgAA0H&k>R zR&6+_I#mtostu$otHZ0PbX3wYArwGF8wognSi$ukMPmQ%PmrFy01zF&HhTGREt{|2 zm6HCmw3mT^s{bf@9V;@fM;vS}LV3Z%hpb6$_50-<&vFh&)TM~R$0X!eX>Jtb>Ozr! zk*EbW%&>KmN*xJ6Dcsy(Q^dt7jOA)#SgyprdXNl2R+c|ipT*#{B;apg9GYFWouids zc)`@DW}_?U$sdMx$sgnXo%}k8L857SXL){b?nz)eI=2=~ONppJ=-G0tSR=DD8y^kalwu@BF)(S^pr=DUv?Fy2BxW2ES3;sJoE1Rx#&m|Otj0f3kYKs*4D zegY5=0K`ZD;sJm?ng5jGPDG8|eW2)gZ~bQw4c>TEvt}`IIoCmplkPTz;v1w7h#xy4 z$hq!>Wy~3mAm^&~oWd_Er|K)_l#YN)?!h!BOuqxepetYAOUJ`3$!{R(+Di1(kmw;y ziMT)$VLhIa=teABGC^^^*LqmEULcSLFS}$crg8IoCjGPJIg^&=njFBJtqo zUsuSxwQOck%zb%MsL~-CqPDpJ8IduHs0D>Gm zD(E#)aN$|?e?bvLPp*iuK_8X25*?%7ZQ&bl@+-@a+762&kM@FL%y}cALF8%}?z`fV zt4ZEse;?LvY+vLyAvfhl!Ly4oTSl%^7>-;GMMy8kBDc|X3h{apbhUiF%U;$&tz(^1e`(A`_3?u6jz~u*pq3)RnZ+zA|`_!lPK zl!d!2)=k?6#z(CI6_qlrLEjg#hJ2reG{fV4*6_{4*;TdeC{qgNL#pgie5Q!Ime{DmZqyXqt*cQa`ml<;C3gF z9UGjPaE(mu6^MngpNZniNg!$*&&LtetsK}8C76ng%#1HHYJY|(SS1Ap{h9dST&<6| zpsgw=?uN*7&ig7ojN&zXxX-dGwOKeK&utA0Hti6k(Y^PeS*3V=BiU8&0=x3Lbk;C3 z2_>G>M9EA$1w8|>Oo}2_l`K^PR7p)GDy`Y;*=v1WO5A0g4Kvy z{fnru4zt)5wU;8kSJUg?Ap}o8wje(tLJRv8y zAd!fg43&V!4QwlW(Z=jW8^q^q1lIVxNFZ_yUpS=$O)(P*#8n`-2JJTaBDVFfqMcAm zeEJq~U-I#3Hw%T$>F&cB!qTD`sK;!r?O;#gTagC|a97M2N5b=`idkJq1#s;s^)?*^3ay&6B*nLU4* zrZ~r%+W|-(LD9sxZulq2P>9Loz>SolcxsQ64mEX7HIVsrPCR>@fg87i7slMIvwJL^ zP3#`ajO@nuRi>^%cD;73jn^3J7qaT;&9&<#G>ecOo!`NHK4>REt`Oe`{8dMeI}lp# z$9xO^`Y-U~hx?<<`Y2HJ0c!zBw*#KLFvZmiQ|w#_`0&Ck|GF^6Hx>dOS(s%kwg9nd z0sN$e>2ntXY5>e(5$X6%dELSy{t4r^%y_tr!+brA_+m$*fP+jpmrjhKJ>yHr++O4v5xX(Q)dhOR~vuvURD%ccK_R^Z2`Uf zyifk+bUcim{!3QmN%%jmt$zHdemi&aC-3}dd99sexO~-=N_^hC@A>ld`=p9%zwm{x zO@D>?9>kATU*fTb4}UTD=fhQV!xZC3rVFu0+x!K%MF3_hdq46A-)7(BLctW|$w7%UY^ zR{gdxI9eFB>hB4I%L>b^`bUExUl>*ICa(p>_S?_eyPtRcQBSvXAGzu?8`*QW9rL~J z>5roc3N-yCHtDw#o_}MrF%2<{s9Vm8T|bR62`>wn{s>c%%y#a$Grs#__RNTJ+FzH~ zt8n?LQ($968uk&Nntq#jx2>AIw|tqMn|OEWm+KWFzZl@Yrj3x_2!M)^_lH3t*jpsPlSQ_num`9URRxtGDPWtio6V&+n)=RpcegXz2NVomQSLTm8 z&d%NN=I`{dqrTJsspvE|91um&^aBRE;9lrPcJA;;K62>vzd;pIxu$hSVWolaiSPX6 zam>AX?UBb#{}td0G|hLAr}jvapZ&V$sngGv+{K&U^|WbjrQ11TGW~X@dXc31&5HZa zCpz!=#5Je0z~$fHcKYby(ddYezE+x|Us z12KE+T>OcR(Hw%!OjS`igBJkw`q?)6E|3Kgs0=zcNzK6h#0(?~nyph0D1o-9<_(B44{thVp zc?jG>;IIJS83HdS&=%kaLg2Xs{uDo!Xj}@VQwjXK0PhG>9z)<~1o+ty=n?o{0scn_ z93XJF0KXOjZ31y21{K{O0)I<-UM0X^guw3+xJiJKL_no45lFnOdO8IDD}hG|un+=2 zPGC-elOgb(1jYq;VhH>T0w2PUReyE}oG0)b0^Ae=Zy@mV0=z5)zJS0F2=Lkv2pd1f zzW`qv0y!~H-6%l3xa;>jxqRw{0(@f#oFWiLTA=hdA&??$io?~a|5FGYByhC=zZe2J zZBHF8!23erZ#XcP3Gi1T@J9qvd$8*9?f@m3%D*GPfe;9l9d88VC&wY0&v6dRXPtaD zk&iT{bj_?4V8BT9=|k>-hi)A4IjJk=v%PtIVlSP~{Q?-_ zIV=P+`5b!zULzYr11bZgFiN#mGu7Z;f!L9Am=kZ=XciojZ=4Z%Wxa^z}=^`W?3#M&P>_Hk2UCl${^F~Vog9el37Z6pA3BMbjr;_*inmSW!Krh+e>U;KfEG_f*&b<8?4`|(eUSG43pfmRI-qc>Ro)9H4H;7fh5xbkw?)NTx+j`eaf z(y?I1*~^71X56B9!wwAOVCBn2bF7t(t7aO-f?{Old^Ooat;3(>$~hSsoRH6)wy&|d zg6>#_a|KQOl>PBhy*=@gi|LNsOD?9{SH@gRw}-iuZVx}9m2`b)ix^x@w+fIIbt}j- zZ9Lh=g>{7s>+^Ahxp@t^8d3?947Y|bPl%imm&dgN0ORv`5tJuYm}Q67rP1O~M@gc= zI%j4zb_{JCJO)4H2vd}z5f5j%@PW?AZ45hj9^bG=#kMT=;Wr@Cw|pzRVHNrLhr{En zI)W?HSEdl$!JmA`@YB8TVT|EqhHnM+-iX4aU4Cw}>f{_4i}&4o>`EWg2QH%K;f$=FRKC z9bnvRmD7L&u-g={(E-NvNod|l=ii`vkCA6EWiq4pCUA_5?Ysi)fbqGD^DSd#$4xxf z`Pt%op`!R~zn4ja5kNIm*=orD1>t|jlmFk0I>`SFEB;s88N&ZJBeISEO^y6tl({F7 zp8Xkc-LX7i{61w%zjXHJA=u}9r>_ey=7U>38i>5N@P~i6v)-1293NQyM2Nq!CATQVJFK05(&kSxoCgaF zH!9c{S@c8+ynqgRG58T$;~X9NBuEoJtN9|bX=hqjrCpE+MKCWrokh`=yzG4O0Kg)J z=f#5^-UPU2#~3(1e~R8@y-Xbp3N9>VpY9m6qby^B(Hs*n z%E_2u*ny2y*!FDz;u}~|!>+v=k~4&M#zzOi}WX|It;011|F!+wayfZ|8WRe}|auMK?9t);6AD$9d}5p_q^>LBWRZ%6i7H%u4usw(_8#K!j>vBIkNqr$=3Um{#g9EKB* z_QMit#`8NiA@ zW>f`)N`7Ws7DHd*5S^o_RVIhl3L3zEHL6m6*JM>2*up+85`#ly%n}^UV*@2ag9UH8$rwW$c z*<<%CVS=%<1BN$_0^3Y5{+VlC>*>V}Fvy!fgiYp1k+Wix5vG?h^2BU1OmBNIbiyV> zvOYnZjHO}qDu1fS*1QY>y}^M{Iz~ix?VafB`ZLjenec!xM~_TIu-&MEu0lN0h@%pm zMpU-vBiq2^X5+D9*61JakU~W7QM_)*Ihvz5e!X|0=wiHnYsm0={cqr}y&Le-m|lNx z7|7`LJHkM`{zc|^4^my%$72)fFZ2j+;dqr|D~t8=z5zH+I~w)6Vy|)pCmfz|yTgnr zv*pDr6_#FK+3TZ&b$ePJyK=MBx2gkI1znGWL({8zZ7Ga<`_Af}sIDyxgJSyTLYFQ0 z%ZCr;7>=~9EjWpaTEVcYoT`fVAyLtICTY7j_nF>%Q4wCKNZ;HS5q~$)m>9$fu=+6_ z1@&1xSm3OP#x~*g8g*)Gb_MwAda_kI72TJTTM0&b_V57e=95v^k7%x z^af17J5Y>n%)SrI(|i^E`0$E=ny-e#DIsu~Qr2POK?Kv~2Xi??)2KNx_YT+?M9*aa z<~Rn`y6ZW*Hx0(a`GXU|xcT~X`OEQYYEV76j!MqGA4oXi=~5c}6OpS~1kaArbqXsq zo-CdH08_%cU$mowy0fpl+Z(}I;n?goJXWeI!zpOPGQE>fZyw6>WvG%zXPgygF@;m0 zEr7qUlT)wlaPO&5v=^O)RpVuamN`!A#@Y{ajG>)~HcX)nI8ytM(h58}hOruKCHNZq z68i{9gs(9I!`3YJ-#ur6*4k>|+F`ZyHw|z#u(fH>WqGTC8O=59JMUQh*j(2e+T|!? z4a(pd*8zx$J`JCtM4$7lYnV2I2S_A@D^K{2#VN?XgNfDhINr8Aj)%+Rcpuge>|Wu< zK25QspYMs=NMRq7zYh6T0|T_nFLLfe`L)<)L{9Z{Em~Jx+lu=mu9Z8)-;!4Tjud~0 zBXd|H7|ol&5RfO>0aj~d2^%U5`N3e`$xwDM$&LpxmMCx}eR(f~fz5^+;-VWtcb5IC z$kjhVG}p)<0b6CM>7`___nNn+c^XPL+6v9=tGcx-1Uk990W|FrFrxJ{Cc@denfbQ7B* zyq^79I&SkdWG%3ucQ*PJ3rB)!o>yU4B{NkraGXRt1LQ>J6b*))D8-cblC^?atig&f zixtR`awbFgl6&3}$iw~eWk2{5pH*gNW3bRQ(AsNiu_(%*Y^{srLV3ku{mLQm>JI+Y zK8>cNXU`#{GAs;y=)wfXpq!$gt%S)IrBG+{m0{<@Wb#(pfXN3#Cg=X|zd)8kUv8aQ zX4|>{%QH6I|K-V))|ur29$D_j1}`3r;+bWbygJm#gL-E9Z#xGEPC(-U#6=saf6~Jw zJiYt^ZnB;Lxr}c!Vvx)F~Ag*%^&e)GsBDaSU(zy=7&TyZz0PZxfgF<-H6B^F5ECg*NeN;VDLwr|$51iecX-{&8~B5;pNqgd8S3awd?YjxO9* zBU_CG+;*6H5|rBSpt6ZuuJ=ju8Ez~3=>qnnoy3D}vORA9Jjj-`@!;U&^I%(!MLc*< zCl7Y0b$`-A4ww0j=9|caX7i17WQE&&16hv8*(AzUQKkZeBbkzdjj?nkd3i7Pw|!2$ zUB$^kzB29wF=6gu@KM>SZ{t2 z4A!lT@M9SSS+^e?K#-OD!9fIByB{1va4&-XV*;Y)?U9S+-9{`t<6vu8{%Ba=sCg4+ zM{5U8fIv&bP2VAZQcUPk4pR|k47$J2Kf9`3SLFz$D-g?ry=>1y0=8k(6* z>;B3G&n(P-5lBh@7tXatXC_w!ajJ;+-?pUV`%mQ;om-EG1vbv!8I*3PCzHDVBJz>< z9|5qv1!y_fAVk3vS{*O))yA{B;`tn z2sl`Br9)W#QRE61AY7-Or@BC^uLPljcNP5pZ5tzLAJjHZGCrtntPJ>|)_9STq1HMP z?e9?6ahyLh!Di8#Te0jd`#VMlzM>DC@4$G*8o=HB5&z!(p4L5m+nwm;22a~ji=Jrz zhD5A?1KtAf-;grxY-S^#na5Y*GQ5n<55C1@B&4i9yc#((dl$Ib`%=i#N~VfQ?iMgR zhTvN$R4HsFY^X4VErT%W{{q}hdCO!we(K9x$y46Tppv)LOICpnC6Tj)Q$PPQs--=S zVPC_c$P{bbR}iNJ%TGlK$BMw(krQD8Yn*>6e->Jp4-HiAuOeR?72b9W&22ea|+Rt$A(z)%u4ni2*>F$jiw$Y&^m zci^^;OyH8Hyq7`6P|~jk&qw&SG)9r9{?q3vhQU*hW8?jE^3NdwR|PiSFV5}>;Q?R$ z7x}6MJ`i8ES!ji?*rLbht9Q0|XAxh0u@(1!d}Xy=x5v9}ExRr{lXl&=(Q%t^B|Fis z`%d&FmU;w>U01@cN@l8L;68~SRM)8>&X{`#PLB%rNm1p!3@Yw>j^1EpOWStWiHu`n z^5fTheq zt}vN?<$@H-w%c~*`s?KIRtA|TKML06x-Jte>%@MGWu4e{olLMO`z_LOQT8z1gJ#LC z{|J1)a48j>yOi})SE@tL>5yxG(gJs}CHF7Du(aethN<~n0EP-<05Ayg`y2Ei=W`}g zH)Rkfd8psgZVSEUcfT8>?6w~wJA$7U*lqtQ1P9XgjpW4^c>i;Fn-x}MEzy5`Sv%5V zn?lHa|*Xdf#RawSL-&JpA+X)V_nL(mK7t3f=Leb$+Q5&pv$@ zzsg^`PrQsD$4Rw&TM@Wf<n037_EmTu9=ejUQ+V}Rs*0%k@m_vg z{Z>c)C9BlU=%`)7{X3^HVwJF%FemkB9&3uFa0!mQ#>9|0aYKJVzhMl`6M@t0k4e1Q z2kmVh5(PZ}E$vq|r0i(vxTM`*UX71E zoR^+-V}3L~PoQX#!@1Mp7PO+E{CI;ED;Y_vJH#zG#tTZ*jJvLYL+?JS; zsQty*N+!H&RpNL~l%?4fRro1EHFTxmQ}}YFO0-RkANh&duYtYCYG3C-7*$o}%c@9s z22VzwDpshO?SG4c-R*yeU+x>49`^AdBAU=s%={Xo_Ar9E(~i)zN4vt{qzZCv2%U-N z)slu&ING}UNUR5oM_5Z_6Qjm!0eE>v#xKo#~2biKLboMv!kVujr`LdsHfPm#FZYon^#&f-;nRd1?pVkD-`- zZXz0o$*cqId+qCjH=`q3yf-LA=i574s|;S6Te^U6p@5(r(e5C>p*8PhT#Jf@G&-9Hr5ZqNW5l|So_8wmrckvs0 ze8U~*g@5d$V&U1W2+~sS#%O1dzj_t3xn}`hKXf^6Nay&h!18o(V0q8-_@ zD5rSFkoKBqplojxFEv13n454WO;O`PR#xc7r-WVy;><>o)iFzWT_6TudU)1>Q;4S1 zuK4g+{%4WQJvw14pZ8Pbw=GnP)v1$+*03l5p_#o7c+%7^Lpx4GJJM3NW8{u`)$!WVW zpnxZzt|d2U2IN!Mb$WmEJs7ocZl|Lj>F1b)-AG>D#)8AF^&_)~$8qq)g6G0No5l}V z9DQlachXKrJ7&?ZcrGm6d;r({ZQIKrP4h?a8#%P}W3D|wcfISyP>^HI4Y1Hb{FG`^ zXzo5lmwUxue-5}|c8Ilj-vA~FBjVxNAS+tihft{;xjb6C8@`E{B+p(u8Lz*PSulwq z3vsN!KP)1m5bk*1!}*dhGv{W-fxhy{hZub4u~qB8%N5+x^Zzv)qMnj z`>%SiKOk{?dho%}sxI145$r(Z%I^91H}UXTPgtYsJWMRC*(~U_2&TPv{zugJ@rcv&}G32DN(-;Aw&0{ zdK@rke+KFbPj|@$g=ZqaS475I2|tc?vVlS&p2GhHc~)(3u8ipXsdHEk;VBaD5U}ao zKNF{VdOKnDH=!PHB@!+7KqhCqL=sP3zTfsNj-7Evd>E;{quJOA1kn$ZaN>o&IY!vE zBN6gpcIkfV9(S-B&ToGSv@kb-=RN{Z?I@%a1&&kv#{hwur3Add>x}ot+Wafp{CEo~ zOp|Z(A3?t=`e;FE1hc_0@Fk*+PolsgHdY&-V9iqiu0Z5!xTXKv*Mp^myA1qMTLZw| zmMDUtG3OdxyHv~Xl=ox6KRR^+4ayZv$E?FC9ELqD))BWGA4k!ply0j!rU7iS>HD}T zCNAKk)RdSEyz_>4^A`>eeRlaa}=Ue!x&_1>}ndQUt})yw&xWBM%6 zs~?Z@;C#ceZQU`fdZYe+P-RG6BgOmA=#ZzNiK4z4wY5k;@o5=TriR&AdoIeFJq}Q( zaFk)5Dg_GO1Cs+`n2e-|M`D*o%u`iK>1sJ?n)nKDB6=2H$dST7WTBLGD6oJPo+?jh zTw0X!-k_LrHb|+u>ErCy+u5yqSbFs=tF|5mW>!LXb!*4Ni?6>x9gUCFKZT^Tcty;r zodB?c4%I)`0p-_}3rWKsgDdS*U2j{eSgcuC$Pzt- zz3L~6iGI?OL~lXcJE#R65MENyX@;uDx&8H6ZC zbq})1Dy_44wZmcfNQ4V3Ej;>!&)gqcj#$|XCSyoHL3kRTmCS&IlLT10hi4NZK3TS* z7TvGUpK4?eE60uO$}(??D+GPzE0fC;nWTEAlE{fpXKrR!U4njY$I^FtYGnb*ErQVb##nPG>e% zMjHhtKG>N67l%k`&e7@mqiA#+VhW6pys%=QthS<1TPonq@%%2hm@~jD#M;4YMIHDr zLS*Ft5-ezuuyOHI3hwi-r7DcuxB&cKicBBd%tCAjZ9%FVb^yF?XcaRtx5@c67HgZs zDd<(RVl{T8vdKXQkUtgEKBk%G@tcCXtP5Mhkz4w7{uEK9@cknMYfoo|_#(@xaGRvK z|3#L1Xn!QWus;fxX_>$AMOvAyhIoLG(ZgjhG(96_bjc^-;fu=b154hIV?+G%GOpnz zL5k+Tv)BfI)e`6#K%kh!M}MJ>if*dTHlah9CgZxM*T;N&Svtz2u9RfK_|x6mTEy+M zbq`B*M}04PFNF$L=n^3~ zwByd@8xs;!ue&WF0r-+hfAem5;C!8qzq)LGk&$QXjW5H6h1okE8FlXj{3_a++M9sY zxx&9pvw8=DD!HrHLa34vwbM{PB#rn_haayG&_8%144LvJr8^OlJJSCl9`MFp;z9p? zi5}Q}3rWkq88e)HbB#rC{^kc4CcdvXU|yE*u+Xg?ODvZ+>4(m3XdeesIH!U!#`e^Y zM*m6od1s&$XJ2tey#kPmm54-iVIoK_=EX8ym9e#>3`kNb`IP~5(0e9|o?Q(@x-Drt zPQ$$&v5I4C-)!JpDdP2?hf#X0HjP}~vyi{}U#!xJ74bn>(aJ&eE-aS#m&s^FuDNvW z8twQGXbxf2Ej|F3>nR^2FU^Lr965jHJ)14ot$Gn~X=?6e&>UOX3egZh6~qgTn(Pxm z&+3G-%K*K+6UyEK^oC9-I}^~icS6YmdV}RC2FaJ}pF;|@U@zB?%mjXsmFqCCo-b`9 zuVT*>MqA+>#WFst?TL$}H8J&PAVpN{t+wSo2Mtfbys!^T$7Cd@qbOJ+_OOCsL|q44 z{LP9zC%fxE1vtHY_60B};d5rJOuk=9k1|kf!-pB%mF@W<1cdimorm2FQy*;pC!GcZ zt81`mV8?)dIhG7NLYRlAh`cj_iQZt2nF?+BHa?t!uk==6&9`SN-dTwDo{OJba628} zHAbCGi}{iczUDjeMSxg*tlE_7CBScSk^G9pG0=F$KnGo6BGWd3t`WzKw}=`JNOsbm zgb)=NQ$D23sV{@LF(Gag-^W$djR|$}R^rl>T#D?fy#8`dd17KK+E(RG4(U5bM5TW$ z#i*Zx?8MUnZFGzFMTKsIAQ>ckNYJFkduLGn@ii0@4&ig)V1uE;&w5uuXmV;WI6udl z?G13f=Ta0C57?Tu z3ph4vF9#e(-`3l&X+*{FAG3{C7}mYBnMe0<(wq(+0HuTXKdrp?YML}EAk%e+>aO=A znptMVdRvTp$A@wF&ap&o)@!dpWwXa2FR-QcwYHAsAmSAWC|j?J@bD%x&6H;I+p6WT zy-Lfm`M|d)?_<{9jIFZ>6 zZ2PZO;|%%SgS69_#Kggdn(Z)rT~uI{{&;HLpVJOKPG0Eh>G2Lgb20Qh+T5Dx&q2ms;%;GqB@9snK= z0OA4QR{=mg0Q@olhz9^tgk%tMP=_;M{nE4x72kQAK|9#i2U>$c2v$2EtdK5uVsuX#7}(RGOLJ=Car6m0k|7?{gusaTpK%EgGG+t z4)wMm%6l2Iax74<#MGy422Q+_=Q#KTHWOTopHd7T3A}`!A=Lj8WQk+D^ilx!^(J7J z-%1}$9NXYpwHf^SdmbZNZ%K2gQ}A3bU$fqV^6NcdrP<4n%+b9$l$M_CvFe8ds4R$u zeg)19dxu3Bnb&u38mS=UN^9OCF1>!d5P-45)ay2#T-6r2v;PNI}S{DOOXPTEV_3I;>7@< z3}|6%2v@CXtMQWyYQ)zRk<7)>iuzZjWClf{3<$BE#axaSy5m)=PMeZq4=_KY+*%EB z3Y1P1hOPQew`HRl}%`YH-pZsD^Q| zwrb>2vbNGtjk0&2FpD*EZhU7;V(4X{WddV_~^7XCcO@U4h0F6Mo=I1Ym`8 z>n_kS>PO>OeM4Mn6Bw`@uZN?Ii%|v^QLjM3jVPtXY7J0W59YLdh6H2Jxf}iy4Ymm5h6{1zl`x(QZ%)*$D0ocl2 zV?)~VeUACQjGsj%e*1v=e#m^kTq>V6f*AfRDsef0`^RLI`8@m#ENsEiVLql=*n(4- zk3WlA{;V(`qZj5om-+a!2+tYDyl|L9RRAfG0nodKFEAaQtOjpKBifi z?=I%!&!YOi8Rld3!hAnqKK?9f+e3^oN0*2h1yHqsX%?1PMr@rwi%L8;%t!8AnC}ec zBjYdX)e2)a<7ZLZu3`*-7S**K!2NU3YnktsrSknfV?MT2%s$5a06&Yc_$6bk>=IZE z16a>56>}1R3O}Y17Om7R8J*W@4$Br|mbUvfr3X7*k)Wv{&vo=9c}&{6FU21iZ4M z+WX$U_n9+v(n-!q(nHb>37h1kp*svcfXzIK$RN;w$PCgVTleV(?U)wlsX;--D~duR z&N$-)4qWs)D|+>+sByY_uk$=#oA>u$wf7k^bOZN&zvs*I5Mm*OV`|{F(<>AQ@cj4EUx&u#PChIjXuD@!*<~gVK5e73r?=zKG8F9 z?+|_pABdg_$Sx9!whJ+u;&J5HeHBlTbLVge<_1b|?qGcP#Nf8?TMEKF_06h8{-xD!{zyE5MJgv-B%t zR!}Ct^QGS~nw18?bQl|(%-HAA)WPP=1xvFSy423fvW~o1Zg-}>UCzq%fIcDbMdg^G z4MfjV4jcUN6#)DodcM3msBx40nedImGaEw9Jy>nvQ6f#IXRS-WfM{Bmej(o`p0jAs zSeIr!+-60hgY^a;lrk-Z#ol0KA~)JZWbZU<;JRG4qR*5fR8Mr@`1Q!j(&$CxQ$2*0 zDurPrsgJ3yL!EBwJ}pQR9)FZLwo++O_5r5Egb9{Xh{`g`84Ah@h zjXx?tcoj-w_)MyZyI@5H8w&7RG1u0JJi@Nk8Fql0)hlzj*Al(}2i@U4A` zoemnXLD3uTQjG=ELUZ8iX|Cke<#5JGKM2yJ*RamgOhZfHmk12sq?DSYd_~YV0~H;T zF?~%mH0w79fI$TaU=9FFQ-C=Dl#{5v$yXJwq?V=A_ z6xdeQ(fpJjSEjOMF(;_XFT-|Qm$Ir%3gf2S%M;&v5?v5=1A$ex6hx7bdiP0I`z$@> zt9d>)4<5!>*ig7MtNXj}6pLCJ?u9aP%;QHdgJ=x#??wn@h|f!-Ftm+Z>VfB@>-lZB z9w_g+vihB$J~#L+KGF3xoL}l!%IuWt8$DBe>7AC_Yz|nHwZB#&3ZnNRMeORSUY&Sh z&MzKU*%H>*UdpPjZ1Ol~B7_GMJ$jE9*uc|0wX%(MbdR~O<8xA> zO?=jghYu!FZD}cxo`FcYKyg6 zOK`o4wYpG=j)6g3lWWk(nwrdbF?;?Hxns=gLc-UQcERlKyEEJut6?aKV{9b%73t!n ze1mzR~SKkXQ=x}eJBK1DN_ ziEak5Z?ca=G(!dCoYB`v>LIl4o2#0T^;8^ozBR zB6v1BjCaVpCiS`)<>>vA>mdAy5`*|o5%0o++P5iIPtg(4T{I~~_SA(W`F()M1iXeK zj8@vZi#?_9{U`F)!{VAMw!1AllO%Qz_Rtp_pgjd7RUe&3c({t%>h5qCn)Y;dcbZN7 zHY|S@RWZe8MeTi}&Klp$vQaA{@E1oeLy7AoDHZr=$1wAhsG?J3QikMCLXA-xtu zOMSqmfK7C`Ogmksy9XV8EiG^&X{&iTM8S8t7$VOKw5d1U?8hJZDc4u*%U+Ha`VZnu zGt<5?F3uiO{YUb>ly5g*m8coMErHVqw!mKqd=SK;1WvExb>hE|FKdPRZ^6F}__e@K zqCdxJ`Tmh_1!6|{>QC@5^UqSK$M~x?ef!h8Hv6>p7leANwQErjuSW)>e}P{U%Y*p% zx`&o^PD{%Q;?orPT48ns@fE43ItMcyXO2qqif$oNYhI*K&#StkIqk(wY10odoXe0v zy4+q^@^2WAf)Qh=+4eAzT(u6aj)O-2uTPPZm}u(#xRH+G0u$EEc5 zUr=2UUr&LZ=s0a$%gdt-v+AG6f)y83m&f<)3B{FR2WevOjtR5mw5d@Lx;1UdDLa=FaPh$W_QqPp6cF#e5&ftB-P||3%eG#!Pe;YlHKvXd~_=g(>Apk zvWYgh8GY>y04IJt)1BW&pRlN-VR2EfTi+Y-R&H?SJeqH8M^>&TufS;;nAZi-8%d?a zY(mTZBM;1^Zzx8$DeruFO)qqsly)qqawb-r33jE(W- z4)IH~2Hbbbt+@imlK-ZUO&Ahxu4v(ABt93S!(nOkM1DAEV{CnJUbedSUGv6nbv!+U zqd<3vP@B`P@WW4&+Sqg5EQ8JS+M5WR)|A76g6K{FZhfB3EzL*afr_!=OuSA6%FB%1 z@iXD@((uhh*ia=fei44x!MU#TEz0;NP3r7X@1z&|6%=4#6u$#(ryA{E1mmOM0SA14 z6FB;VU{OXIgvPD*b@x&)1xqge6^LdRy#6+T`RK3UZg{mh6`{S-F@6M%U9=b6Ojk~q z8kR^61KphVEylYG4U_9?#%yq_L1E%!1?CY8rcwL59?X)A+cKfy+5^rPJV&N{Pq5g|Wy0v$}W6>#)!{O#+QPhju#9^4(q99b*G zMY1c#J<9YtP{a2U9KDa9V!S2=CfBdOA82)m1GgW*5uZV*vu5YmbbPjO6|Fl{48Jd; z@3u5*X&SEie3C5U8wInegtZqgO`76Le@ALL`k)fOqa|8=_pBHgR21W{w%~MUyAxi7 z-{PQhv_G|9jDM2iR4a;7_u8NkeaJ|x?3a|?;ncl$X;L(9>1=Gpse2vH1URrI`Z<1^xh;FL>0ps@#J7ITor*}ePF@*zzvsi_udRIC(u9I%I3`Co_zRRO*QgP>mNJv zAjFB(uHm1)+G7#GDL(l1cO?Hm2EH$F83mwc+CKdNuo#)E-z(y-fvmV|AxnPTT0^F} z=>%$5o*Ne3X^@G6ZM*ib{UsAimPZw0gJ<+%80cc;>sM}tx^ioOH)(cZW=YbKuc^P3 z%vm?cBeR+4AA(?RSMBW1HoBkcdCro&at^cHX1I>kTa-LjTHXA+<-mH@`zh;HOb^gni+3JB_xbLzbM^Kx-uG&jn{sBc3RgavT&&04s11=*Q5PqW4X9-ngjEj zT)d4~t~v08xGpUZKLT^Mu2Uy~=c9GcAt-+L)P3ZgksXEo1sH)&la70TiUIFl@mEuu zY8Sqb$*1W{)epv!P>17wZEP^hh^|HP9i-#HNzCwB2#m(VjQ6~z{5~{)ex1$vO*Haz z)D(k?)jd<9X0p12vO5;R(HN;Q7OXNf(dV2Am4WoKKx=AVP5ojJejIH2)laCXpX8@) z{NO~1Kyh2dX!mXCjqW2Pi2hYb>Kh~LnUcWX=zc(nZgKw}bcu?%QafITCW4;ugt&2e`VU@7i+s0lDGzyVEw z^#UB;1kiX8A72MphwZEptgjx61JhPB@oB;lXYPcbzIA|OPl}%c6oa1|sE+W{1iDC) zd1tr4*_rNO+fl?Qae`6<*J|u1cjtaVYpH#a0VcYRpRrcZa|Bw&+~?oG$2iDCFjPph%oH!YC zhJ-vjl|ql;K9Y(^ItoMQaUE#*XCw#}v=DZ{v+>aaC$36`Ar6lhIIPqS zyeM9F@(QiOnU=Kib?ojFr(B+n02{eB$<#XGpRctp?-`WARO!@~O#{tnQpb5Z=4)w4 zPF176*HPc2`6fM^Gh$NPAu^GQFD4d4YG?h7!OtXp4v9_9rR9LWl;PrstKTu5$Kp8I z_Q7Nki()EV=W36JtzK4QVCQAjc#}oOxU{ zza*Gtb=_t>wzkEd+-ZFVtbh{d8Dyl^s?* zB%saX+ho357CgGh;JjFsh+tOeQSIoJzMs($;Kq}qDZBpa$AeZ|E!)i()AXMif4Ot7 zmAm#?Voo0*r$4oZPr3FvK_+pcGEFIR{mKUO3@fWN7o2$Wy22tIa`QYYF;y`AkQ9P<)geO?1U?r0WUWMdH^9-<~P2 z&1C}4HFd>zDdbp%(7zCp-3)w9SJ(l_qSd~k82%JfPZmZF=690rabGHugC_F2pmW^5 zw?B0VAia36FBfe^Od}ZLxcI`D34rzgQX3Vf1i9YGrQ4MHek>FyayX3OPUtY=tg0nk z5X_jZoUf;xQ)=IqgFhwFC@&9pv&WTqZgk(ujVmsu7gTuvjYC}*W36wV!6bZXBYc^K zqo}trBX;Dlmz4`gD7K@g_8+i?-l>L}NY3bWMb2%R-Umx-v=S>)ep)QDaqd*;)SoL? znQ}=^qi>Q9cAVZ)E0jxI3l}OPkH{UsWo=I61xU+i90{z9q@C6IP7m!I9+*r@n1|MG zIe@8F0{Iq@lC>AkGt^MoawEBN6ZVx6Dqkr=1{j+Zy(w(1W^9rv?k{2-!VV(MN2!hs z+}J))e!U-#!kdmF71p4kRNg{KL=xv4%0)}KIpwyZ&E}LJv$^b*%QrKZ<2JD^(YFCH z$x;T|s4REqmlGbc|53u1t3TY!F{Rv!OPaj>xuLFR|3HDGOoNS=e!KHadF;0-!m@mG z1jk@ym@|$zzl1oUyXKDM{(Sel4}Jj+z*HK;g?b$>~p{;N&U80(h@cH$+K0S z=s}h-)Dbo@YmoY?1FXJsXk=Pwdb4*+$>dL@luh$ce98%sbW zn1e1{sL>cZLYm0eclzs|S1W`f7*A4+mn6VLiHl4vvOUu4tj;XCal%Ww=wz+r=_b|n zOI_mr)OwNDkz{o%h&-hh6<9h_J!*WqpD%h5>xfT+@m1dHy@zqY`F1jiT@+uuKjXq_ z1lp;mPz$g-jv-lAc68wTS%d@=1*_K5%xVh?q8|dqP`xLpT_@@sG#C8{u&qty-EJ}+ zsY!xk#q&VL%%kBk6{@_32|)ukE#4$NXH{4n$VC&xZ0uVedX-zw8r<<^LN#(4pEe2U z!6d0~E3dFzW1Xvn<-mXPsr?bYL_fhb8vT^tO30m6x#+)eI{oo?@annnD(Kb4ZY6E% zHR@ajJeCbi%|#z3W>Ck9p9~Kh>|<$yV2lsX%tdQO2Rn4@Q?0=moQtYT9C*H$;rMsC-tO#iWvTYH;n_5GI+77r~vQ-gh(%F`e zUkaPdvM{iFw+>t$40UZppgsKLxB4gtU%hJG8yyhn>SF<7hOqifeYqIw+I7$6n;)^g zg!sFX-p|k`EZy-fDg5uP@Y7THvauHY4JrJvR`@DE>}g@+I7Pgu1(J6bN%{CJqFU|= zBx!qrr}^&lB~R6kz?L^n-X}O)^jK1gFD9PpT#lc~v9ARf-DH|-WCCKm60h0J@V%FLov(H6O)H;Iyu-OQwrG$0 z1uCCErM_!2ld;_yxpf7VzA{Kd*5s`H0?~J6!_Z?a;!NA9pRiu`MfCzlH;NYcei$W-pQZL>X04U7 zRg=T?qvOF!Vm(F?Qfk$EPaK@&Xd^|~#sja%xV_PDVfeizft7Mv<6YX;>19*>E>x~@jiCxqBfeqqC;x0V1mLZ@wc$GPY97s6YL0NVW_=jAFP3aNW*tXKXGV!*jCu%0<;>j6x-sL~Oo3U2 zREqDWoE}T>YUt?jR){9V-5Vdr*qlGDH)>r(ui7SR9R`zRcQcH$G>)UC{Uv_{^E^ zsUzTCbss;JAzt8Y?r2j_rj1nsGpe&rcYM*9=PwP<0?83L{Nf&LAkI>uT&IKv)F?}D zD2vsZQ3_~v_eyASchNTL&ShC)&YxsU3d%Oulr8i+8C&g5UgV9cJ|!ot33xA+oVZR% z(q!t@NI9B;B0eA0C$QuCraaV$r33oYDsC>ifEaPHDuV>k=dS6%vZR!Amb5|Ru<+=- zHc|(AhhE|O_rE*ca>6DmM~Ru{QY9KJm=@46&7YFn-Ck8L`NpdO_da2h z|5Gkly4zU#5WmPn%F`tWq_%&(5lUET?3AX~5%fk30Chb|a`tfBPc)@QbV|@S$tj%^ zRg6TKnU;o+m;XtwJFl?#XJSCO%xT6pl!pdtKG|NU*`d$_(Xc()(F>+eP%C9T$F}cm z5}H0g{kntSEEA5sRbqXsNk2EG<7!wGuLcqP4=TbK+w zvzrNE#d5SYz@O-{70>wKIxYt@9B5M=lqKOT>uhPl$2LMpm;e&4D&a;zC+~Z964IGH zpesB@VQ1DOb!Isi6rLd96?GtM@q?KxcR;cQALz5_M&1s+@uIK2o~toSxz6m`AF8fY z-uLr;IpuXbcN6)FE&YwvGVpXH%<}6;n>DS;;Vg~h?AvAmXzv8H7jC$cYrHpGypBS- zSO#FrX8Cf_g_*BtF}3=3!<7|>trfWPQ19!x7l*6y6=0Z^p4@o9Y-99)BgYCV=ZJK^ zTC4*K^M25sW z@qW`5?&M~1?xBYkVMob@if%6C`(r`4L&9LcZ6oEI^W~c_%AMa{xjA2vql4>p3;kQp zV+tirzzibojKuil5`RgM3!g=7TTF!NeaMl&O-G!oJ7P+S_tYacfA!Y%5rE_}#``nX zO^x`o;(fIzU+yW4msz1Kyxc4>PwdWL^wl%EF>c`)1-BHziXU}nY6UWJ>!r^l+Z$EZ zgU>$j)Gejqr=NAuk}Yk^x3u#f!3kW%WqY;5tJkN_;_B75G@1A>*wT~9vA4SAf&w=* zottC*`l3=kzvANDMVs5mZ*#l5XTW%{_TBy0|Cz30M9ZUkOyGhyj#P}da=Nt)t@|;v zM&~@4HrBN6cQiU8>wbc=?uQyVcinGxJX`mB81bkd@_Srse#f}{1SP*+1rE!3VVmj| zXnPB^BY}3dKo=*_t`=ywpse(XNL!>dhtt*1p>AFUuegtRkUKwDtmg91uGKxL&o70p zl9n1?Y!15U8|27Ut2r~{tM2Q*Hld!VIFG4)Xn$t^w?z4pzQ!i4O~0CaYCQl;flRgf z++zVzFOXb#6N%T~1NezXsXpNCGY96PG7gsV+m~d*3QijdaQEY$_yyMpXLgsF0wp&* zf45-s6P-sJIKz%~Fl6Pt>RRtWNYGt`R!LeYHOE@NHb6qtj}>zqPmTnS{m|~f%%D&) z-ljdFd@lMN-_c;}pw36SgY)dQ}Tg?shotfGQ9G&@& zN1o?Ck224Ou6L(pn(BIua_&Lb+xOvRnwB%w^%{A;<&oz(^62u!xQcflOsRdFGS!~J z2`%;6*;=6)r_`>HQkxC2zuJ41x^k}Yde%6dR(V>M+3+3n=Q%HLhmTFq)>~^+hoONX#wz3kL;d1Y#P33om*Ei|P%R|}9J5BuEuFN^R z@2??Gow=6DL(b*BD#@G3`#+rAQ(jjNo;UCJKFYku9!=h7rR7eG_WqRbdA*g<%=dgt z+4HXK`_{`&0^<*df(Gvg4t3>kw5hu-^RylRi~6f7Y3^yxHj(7XZf??HvHxmwHhOcq zX*TEQo3k~wsSi1RyEfIxGZnIwqR1W$6V8TPTN$Ae19b6vy<z5_vz2`i)e(PiY z{b|0w-UVxFzpX<=^Ew&p@RsGH9`ir_$n#_^@PC)*XC8T;Y$ZLaJR9=+ImrRCmSJ>v_HJWp1dA5ETXlkt~*I-6OsV%#*}I@&?q5Y6(Ep&VOB zLDr-{V~b~hO!`idUK$<;26Kv2l+|`ZRqr(`WDr zl1l};0y{F;&$3u$`b+{ec@u)ZN?G40Bwr;gyAk=dq^)msmKN5^bHHah@R&a(nswN6 zi$A3ds!Uu&$b{cVpj=mKqG%_!(eZJyURH`u5I3Y}XS|0f{Vg_sP*S$nDoTciFW{9) zQj@1`$)f(9r_qLYm-TDM9k^DZ?3iI!8ch6k<^-NO(~SZXqvZ~6oX|?gwjt1~84eI~ z2FY$J&`fCJr$s#?H&Yp%!Kz7|bhmb3ovYlw>v-cw?`6W0X5uR1t(wB@>*Bb*AK9_= zWS3-@vLkqbLRs_~1ZJ0(DrvXe*z4-kGAleSO4hJBtl-o8;^3}z; zJN1RN;VrtxICm$>`|V4x)uWwCDkw#ryC8fA-?daFw-U==U zWSEPU)^b9Xc~>c14h>DTEFu0xe{S1=z8p!fY28s5LmFalTW*^$s@=Ie^%Z&FCkrex zb9X9A$C4o20Qqg%i7X3;TgEywtmqwpVrn-WeP5{|S1wyZq_A$*-AC&u2zfD@ish3j zZ&|xIqXZ7^*Kc{tA>iC8oO*1*iM?g>K}B<(b7faHpSjZMz{pLBFl`Z8yE&T%lDQ=t z-O7$l5Mk)c>#eM)mqJ=yb2ZUImBOi)#DnbOuQo)UeA6)ZW$<&s z1HVn#6aEtExl`VTL`CN&<#B1=*_!6kBu#yl<`dI2f7hC(yiIAI*OKO&ThpW~F*(#% zX+Akk^Utkm$~*RG8nt@7;FhTm)68`Hl?09r5o_>sI|m03qKl+Q)Z3YLYIJ|b>l69D zrL_z;5>#i61Wg?-*?){|d6)TyE2Afh8#!xe&b+jqP1ueAoBaok(tB%D9(NAG9jsEr zo#Kw@2)x_CvHs?fw4wS~8*xAoonQyM(~?8$sZL3HDr&*H9q#jLG%o9r+N>kmsTPJ7 z)d*C}bFZ3P59JVC8EtQBKWIg9=;jQB8+F~O22R{`26=3zp2>K(OAEaD+}d9^F+S`P zM;bEzwkDp?1*}YDM_4C9+gsCIm87Y!(&PlIYd3U| z&1uTplxA;Bn(t^$6MmVD>#H<5MC;PTIHEaCd8L(x=SxN&W0jMrQFd*J>7_*&`A(&u z)_Zt(OFxmQ=C6jO!(#d*Z-JV!euuQcPN%pIb)m&B8eb&i9n-7P9Zf&D9Kp|3%SjY1 z$h&~>D+DCCWG!{HB1JfNp-fdgltx9*ad%xyRLl5IG7cXgzTvn;HlX@(&y)>;e)u3g zQKZ}L%F*LsWE0**zTEb`{zc$A`pyBVdR9{z2PaQ(Q-^JA@cNjIeYQ?$q{2k^@?)ud zZQdL!vvcH*|3(U$W=vp>_#FsLD0m_ucRia;Bl@;Xa($8`?mU9rd}mzeYc$Jf4%zIc zLJn6cum3c+3sl->HZnm-E*W!;N_JEQcgI+JxG&XPaF-1vl{b6=+PoQj@ffoDr6cJ* z^+#*=Ho>ef^1l)HNw7pVFVDe!SF_B-w@W9gtFw+unHnX0b{R#NLS$*?1U7)w*7M1| zYs|sqEhOHK;#}g3?g}*~GvPjvUv%WFDI@Uwc>8$0hkA>jfY;o|d5h0X-Di4ZqFZy& z!@;~Ay0KFzrg|Iub*m-tbsgCeA4C_6*i5xEm-KD5C((+wTb|;1iwL%^GnvnP5PH?OJrDZc4SkqNZ1b^J1C6VU;tR+ylv>S6RHaPa8p%pI z?^3q=GQ!))qrI@LhpMRVQ@B%KCN-7tXQ-gAAi3gBL8C1&9_`i&huF$%78nUZ&($nl z0;9>hzD@VeghS$xdo67&NTr&6k>>Z;3~7(=uW23U@s#&Hs*m~@x2+%Qn2ETVTEAHU zxIxMEt=j%{!)-ImW_m{b_?fV!F-Mr;mFj)fNhfc5khC{B>Gh!GE@}+dtDxP@DKAA> z7&5Uh(UelBV&YFI!He;+vUv%g_?rM8_yY-;LKWqKE}z-M(?fR#-5v%jSty!Q@~a2U^piQi^Zk7GANt zf*RBEl8Io^G-11n1BfKgp3!x0g51w|4^%=|j9yCzFi|K@eTXJI-r>H*=mwzYHL#1( zO9Av`i_uPfv0Lg}-AfV@&hG4!cWQd!GRwIDiDq}MIUp0OZv8?;-%v^kQ^ggdmyl*7 zFOn5YiqXx0tBV~))~a{=s4_cMEopqoL@|1$;x~iEw^l?|O)Eq#q!pruQH)+aJ26#w zF}iU!Sn^$*x)-jc#HgLP+fOKhWV|?aPgAhkN^$BVDa2i}!m{9#;fH%y#k!SE`=Tvi zO^9Y8^~)_p)~*CetECJB&h*6`^j8``&r`?6Ut%>FPeF0WT0?1?=`RD3et8pVC{-Z0 zv%brWHsi;7<6)YKn;w>A#**=eJ^HvU(+nfB`uCBoX?g+-N?QBs=zKcGJ@(ZcAXCKX z0`;D$=R$cXg)%n-9&-Q?g$6JO0J>BMFb4oSR|hZ$04Bz^eoPPR0?a{xXjdjGkELl2 z04NIXEHM)~?>hD4VR8&`=~B0PDx+tk`eFzjM$Wt~7nHYfFmV>VYXSHXDV*H4q}iL} z5Pu47pE2>-R0~75)thv;_d!PpN{JbRKgGN}6FvnWCmHNC+jk(O+Rv2mDu7L}Ypy!P z-9WOGvyG>d&ihHHw-jzgOquUS*AtI30nxh^KkwK6KuwlrmT&>~-%tv+eU7qC`1$P^ zI*zXzDWYq`E?-tnzE^oyn>90qEBBMBJHpCeL$)2ZK@Fl$7-+@?bP3VDtv; z(kEDgm51rm34*;57)P?|;nPY;_ZPcx^Wr`U+?heA^DWCW%(wFvo6cE$?-+>S%#CCB zkAX~N>^QOsY4l$JxKcHFTX}->J(8yKT26jQoSZj$DrMFQc#vnTopbm|D-lma+`H`E^L zl&l?1FB^7WsgL^-xQl+tqUaQYbTbYrdVzag{h&~L0zKeZE?+xC-wiG|9rFh>^3b6K6%FPoM(e>(jcs&@HUv^6xqqeRm8Mp`h;Cg1h zzUF-$IeOU_BA0IYD_Hv*M?fxmIDYQjOVCqW zd{1fdUDX`zYI)M(t%j$(rodvvK|ZoGbF|NQ!mF7RNdMIp<)W4^r;~^_9@!pSN>k zoDlbx_n$zTQ)wxOH_l?qVGFS(yN>)u_-T}&cMkQ(3n|(Q(rbnE1tC2(Z58F6a?VL^ z(Rwf^_}NpQ=L_k1LYmEpq~;HwRm8_ERK#~ErLWAF((E4KFTxz!Fi)PdF&_(3{FH}- z`3_-zRhSJC9++S5)^7y$GJfV1d3N^q2=kjQmCaYe}XipOPZ5j-w~vDBtLs<{*jPgvlpcMg!CIB&F&*+H<*=2f_XeY zdu4V6Qd1cgDCx76-fJFCdVdk-;-i{#9=de?dXB(~UoO^K_C{rG7x zdw%Wb3?Xh4;@&d96{Oz1CHIwwgS6-v^6cj4fv2QHMrEg*O)_I=KCVNr`PZO3v$$#>Uzzje!YL4q*DWT=iL)zpygls?KEg0UchX{W82QaBBB ztF$@gDafqkq-?t6Bos zB`0OvVXDJbVFU@REw&a$YG)Is<`-FeuW6I!qV9RcmrxUWUU6ez{ZYkzkmOw>6_?_! zk^cCp2H;UeWw>i(aL%KOv2t?3trSRGZK42L1(}alsi1~guSY>oW+6$jbaY9Z zRJ{ojm~PpcrxeT9wmF$I|qQ<`EcrXcfSN>gmb6l6Y3X^O3wg3O00O|cbIkohpBDYjw?G9RWi z#a2u~=EIbx=rGfI7i7MAm!{a7rXcgBDNV5zbMn~vF{LRwOlgX0euB7{V_Tb_6vfsw z1(`2*DT=L_g3O00WzjI}-J2k@nzWR~RwO}YAxT+m%~O#1@|3dZFjIaDG9SOCEVia8 z$b4x^VQfuPkonS-!q|!_$b6U)3gE2Vfy|e?^u<<8LFU7hzG#?rehV^-mC_YklM`gV z^7rkw?ont<(w9Odacr>=C&=O>+QXsN`3Cy%v zf7Sj;We(1O;bfv?gmkqZ{(^Bgd4P>8WX)T9snkQle$^T#uM1;uFfhBOPnv%EGVq%< zm_@-`0X`tj!zod1JSg zpgC?O*>}o$OZpw%zBlQud_u~vg4s0R4;}0X`JrxP8>{`s(+uvWa2x3i#Lc6KbGNO;Ccj;i(K+(wM7(Ku7lAmWmoh{ zen;a2y2!-6`!sPo_jPVN3Tzq9=)qR^{8RFFgq!oM@-BISJNu-0(*yAEQ=)y_V-X5& z@wF@5G}Vb-Me;f0k2&>(gsbc5)r7Q-Phk^$Gp=@rgy_8nU-U2hRL^aNX~M*9;GN*S zR>9eFPiE$v#D}$x1DwzROk^uy99m2u?uc4RvG&o=3bMY1gf={ryKT5>gp+L8XC|Uv z8SBm@bHugY%Rc60{OuCT0b0JFwRgJMQn_2g(wT`~M?(HEEy9alk8|wzpk_M@VM*A8 zJG`O=`kfp?624BGTX;Uyb6tLC$xIr@b~WYGk^vEwIuRWr9TnT3uA?#s0QM~%AaPWt z*{!h+7`7!{h&e!ILp8&`S`e0%d)XmUmugekn0lYK_B$;!hg`}Xi(#SH$Nv}kKREeE zZoSj^m(7jb&)}c^9kacC4d1)?7yhyQNBk@PW&FRC|J(RyzuCe^`09V%XZZ1lhXbyL zXCo@Jjs}YVpZq#M1|s-T`V;>y^ZyBwUHDD%SDYII4bLAcnP>c2?2$TG><_g$*OUE0 z=eWRM>KteJ{m$_?f0(QCT%ugzGT@+x`omm}mq5q-6%M-6ALh!n1lkKXMLE}84zrc# zppJ(_9g|#A$>v*T8{1wSeW@6ZbX$2Nm5i-#qIqMIdZI7#hr(~zr3dpi(|kfj20 zN0D9>WN-3)l0)7um+Y~D*BkZ=o(c8joB%Cyiy_r;T~rex)(#yTfhHi~A&LcnEj%YN z<^XVA3NQyvS+b?Gra$)^FYpaUZ>Hy(=t)4k`@E+)5Jtj=Aa{yr7#sSO$K&*H7+mEYUvaSZ#|I_#fuKmw&BSHUD?w=g^Zk zzVC41I?o#$USz+{9hlqw`f?{s_1v0>+AYlvdxAtdWzj9J*inqh_8`89VIiA>%~A3P{)A zmf)0q&8md3LkJu7^E-vxlv+T~Br5F%!;;=HKoL{_brl?I=A-o%2TtXV?IvedAG~e+ zzmWfb;s4Y8f0_R!MEVcDZ|7g|8UBCDzhH9fUpV*j%?P#H{DWH@(mZXlh)X|eV+EYjG z9LM4WvLg8|OTJ4}%onr@*tcE(L_wvIHY9^|e0XlWqgM6#nT7_&8 zGAXD#KG^O?0M~^j0aerz-m@BNYk}?-w7>$g^>z+5x*Z`xL*K=xEg!B%`ED-^hbJF* z!@*Y-hJSb08z&APEesdNju_ae(WNl_{3qS8|HgxZCmllTO z&;0b1jsI@g0&QFd_PUjZviXF^U$_w&1zUM+JX1kA3;N|B-+rg^dd1dXzHTF=f^xwV zZn=Hq8_lWEjkFYR9S?L6bXD&!zjkncVR+MP*MDL45zfEyC8FiS7XIL+H~eHHuL6Nu zyzJWFZTzN!ZpELEpF#t*=N>n7;a{f_JRe_M2L=Mx4EUTn@b8Mwiw$62UkCn5z!MGl zx;pSb1w6=rZ>a+<_aOt`T?eWqtt%PuzB=$e0sq8LKK@D__+bHmV89>Nf$tRX3kLj6 z9e9U;A2i@U>%f}@yxo9p$E9UAUhOpC(iAxH?D6Tkcvxqeh)RF*wP8MS52P>+@`-yz z3eymuxUsf!@@9%j;vP)COOtQeeRI(r$l(J=BB*9$623`YT*0sBB_+Y3KIn!9*E{>s zogn&p&6?l0=+|0Et)2G7jcyu#Q~fT~E7sP=t|c-3B|Rylu6k70kq3iY7+ z8y+3jPrRC2VD#w1=!h+2L&ICfuE{(w381NgKnjMhum%XNY6w(%7bA3iH5|({Sc8jeXBu zBLmuha#^!V-`D`#HL~=9-#0>*HG7sfC%xhUq$*8dsQ5so?hD@r`B{6|QdB8`i!n`y zfg;{rCV1zofkIMFZyuLy6Be3sR*PES(AGgtXRb=NBn?%$XpCyxDcW|8EaSb7hHtsO zVqV%cvcfLtEA13zyGDkJSoo5{uG%~K6=QYZ*j;jC)%7lYk8{A9W*?#6^mVrC>*4+9 z;dv0f8?4fJZ_Z65&mrA5)SLGJ#nAZ;Xgm}DIn$l9SzvqP@dnkMoB!p#;r-k@rK^}e zT&f)8xI_-_3&?D<`n#;vd%3(C1Ek}t?gK+(s@@jwPg6~n>>b4=mQ~)XvXET#J{*1a zFtf$qZ+85yc$)a}t&2(I8&JR9pJKMiB?|9X3a2=qEH_J-GctgSLxvIE4Q%H)s)CbC zcb|r6b48d#TM%xc6r-{*R1VPxl|kzHP_yU5@<`SL?^NieL#vm!HyR?5q=48#J6bA##?eO|gvFs&NWL6CHRYwui@!+PaOob<#kPBuv-qre)|V7!IRw$inh{c> zKQ8Q_`?XK-ofaj2_(`08?HWj!7Bzl&AAs7w3PH4>ezX3B%B3g0>xI9cU}yMe^=$Tp zCIGnljB6$tHBC&MOiEB{noc{f-DXxBtox}H%5WBCU_eRAVD(iR@4)!@Q{?9uiRaUJ zCVtK&9$RG9rdzT|>geAHbbO6IV@?&qoYaq#=XP&!)XniPPYzsu7RVzs{1tG@&ZwFT>S>^j$Zmzt=V*QT`xyq4oi=e zZl9-sNT);qyYyKC*$NTuT%7+oh<6d(gX}@HooN1)7~Tv?+65iE(chOu!cIB*JV|h# z!J^dt++5_=SAFl{xBV}Olh*#Eo*SPsj!!9xP3C@go zyny;?>U08Ql3Utc8pK?0$@>UTf$KI7G+wc%x{RBuv+~+@fIL|)>aCnJQX0>4%66m_eVJ@bmNMQEN#30K zO?tMR^>@bCG+T6#tE>f^OeenNz^+JM`)SG%ct?>|bGz!xaRs=w;J`}Zq{uvG3a>AT4q>4H7z2VnYkZWt!r_dV!N zW$(zd9j^v0g|QEY*FxP2KS+x@RMO3ADsZ1uA){}Td=Ne;@*Vcz-m$;a!0z8W_IHK- z7^6hWqvfcjIp!Z3y{7&>!kOO7%P|0^FS-()X^9S`NcOtnr~Y^td3@rKLZK3| zzUcy^4*Cq8Ri@@dcu%XI2+HXD)O%##dR{wmE|}Ms{o428%rr_3IvUGHs-REH6GS@1IgN^>T0+Cq=im6KM$zuX z`e0fPKfGN%6<`Jf3r5#->z3vq0KLxv%mF~@*&$MM06=xju*hs*YqXqu^c#TdJkJ31 z%fi&$@rO><68+H0yhS%|22s@I@iBM&L&cSCQ`4};nfEDi=dJbxB>71 zv}@nPcPH|HfE05hWQns*6Fr4$7k5-Kd&)$DPxuv{B^aT7sSf?7bKI!GI-+e-Jm`en z>Sf~ez{F*;!ylG#80q7O2g6$H67bh`U>Ml$jDV6HhuISh|3jGU$NVM*HdB9(iU{-H zU{xTgv9;yN{rvD2JVX0R*J>12OW_lwWxH8c_l`>RnIRn-A`iT6i%ogRH4Y?1D3 zXQ`-SW~_FziN0Ys9dIcZzkwbr+3nG7pw{WAJzqoI|4=)yc4iw}Tw}#9hF_g@6jml% zIPx*ExxapmWhLaCbuPbCF-qeT?sm%Rh`VxJsq*ye-1k0%;N;m0>cgNgd# zAA%&`_5&_J!tcfRApd{mKf=%XV~@xCywmw##lPTkACX&nmHHwql$!3drSQNTWYp8H?Yp!I!1c+;%r7 zxdR@3OETjc>jpy7&P`)1+k_mk{;^t2(KX1vNp3uJ&gg1&V2j4`&3;+6uoW>?P@}m) z^M;r6vQ>AD3r~c zI^sV9F53K9CMPb*o}kK!_wdasJ~k-f+i|#S@@}|t?S1NxG9K@btI1+B6Zm%XQ0Zjv zX&pf&KACSZ`Y%Y^`ZmoD06nc0#3R8s0f}GFPxRj)=HvIt&%$%+|GoVF;}SnfEWzEB zYI`AG3nXLF3-JlKv*u=Q^fOW%<*b5znVsAB5fS#JG~@rj5%%2w4+--%ug!QD(6N0- zGJG?6`z9zz-p}DNjVo9C1&)#Em;AOx4EUuQ13b5h3#pOnZa`XpW(I55mC&3EquBXLxCuUvmLSlQ0-Noq7gjKIe9MNBd zSsFjCyW|$_=^7XHv~{;de@RLbg$T-HAb1D@sz3qLc1Id`w!%=pSS;j_!{5 zQo+?)t-*}E%hvcGv>gOgn+|$|JQHY;L3f-OIom6fQ-s{r5UG(k_ zN7PI(%5^TiwcSMS$#-+h+e5et-TBB1xbG<+Epi{9kGt>N_ku-doV7?x=ble5cH1+Z zn?ZTeYYyTTVX>VxqWcN|E|uobE;cXCHNl$dx|CZ_|4#oZ?&yuI9nF%EAga#GQ2;rv zUL~Hc5>MVUwpIBn#D({05Lq#YhBUeffP0K<(-gJq+qjV-$M9`1^U;hOnqmDnSxv5P zY`Byy2?>$gR~hn#H@SV4N1x}r{}*{?y|W)?IeVMSnT_7llIf2ZE@)cLl}EU8s&A0~ zqrYIH9KW6>S+*t2aGHkcc5;Gku-~63hdXTPU#p8YZn#A!7wS)`{-XCnh^vrtuvM|5 zHdwE5G4L)XkMC25;a@^upSk8*h1 zXV`hR@!;Fd&o!e@-a~3*g?fGNcA5Dqd@Aq-B-s-fh3)M3Mc8QBm9JDp)K5}FFTft zi9Y=$(B_r+Z=@3MPYI`XKe3`NqPV$ia~=J9{yJh?Ty^y9`RhobNgaKXq+Kr5k>C-N zVXGtGTTdPRP&}epiH>LqL0tZfxb@&-lY+=WJ_fOl> z0(Jja(n{-I?*B)1udV)_x-tmbdJfFXhSK|y`jYUCx>9ZF^^?#)Qci8o<6}-W^}j!{ zhv*-04rT;(lv5o_5;D?1n4i9FKCXt0j*)>*Wq8S%VL z_$H`Vp;V@)1ZkOesZ2w?NudUl?T9!bC;q4<*l$`6wjSk_s>&S9FScUV>F=L|`Cuz% z!Z=c&gZZDWn03w$&cW1HoKCVH%6S5%l+wAhj+t<8!4fT-gSk+Nme0Xls6;E~U@lam zp<*31k*5U-9V*R1U5L`5wmGQ3Ze?km`9tk>)I?erCZJ;u>VgDx&Ou#}fW>oA|K3V# zz50i`>ZpmpFHCFq9MlDAT`~uCp?V$anS)w5twjJ+TALc4?81(wFJWn+yJBkxEJMU& zis#2i@iF1eu@Oe!HWJlnn3brHelvaofzgZckHk-tGsdZYK5J(Vl-^)Hz2_^vTqVBE zzWwn>?K==ZpsyeQlu!Iee$ss66{puzRNs*G&V`qP-y#egnQy6?9 zRhl)ROqWZ;s#J8h>!|&|qLM@duyKl>a~)Kh1Gz-cfl>6IL#v5gQv# z8pH1(GOXCB}kR*N4iR5Tn}n_4T26-#t?L>ef#69?K=>^SYJQh#iv1#1_MV>-uCz* z$6K+&+vgmDY={dQqcLMVKQ}T@;AdSFikFFz$z>1YPRWfsi&!X-f zW87vfHh?;}sVg)`bNx}7&ZAoB?a6%)*;Q|Httcfx-}XX{<)mCkF(1EUgamH}=ByC4 z@RI|4e-l`XI=N!RL^{VqXNAmhZ&YoPeg5RA>>^Bbc9@@C5q&k-F zLx17@7d&2C?|TYoInf!jZ-0D}eG}2i4aPlK!R(4J2kJT($t^YPw4gETds_S>*lyC*60|}= zhw`t1UlvlFc%Nq(EnMURl!vUw5jJ)_PqJ*NZG=4TM@aq(=H2$~**~#~KBHuxE zz`DhrfOW09C|WnPD~*~+{FhoJ-gHW9bZNaj#yd2*pGNE5I#i%P!>dIQGZL$2X1BVL zSoJg)s#=>1T|?b9OsHME9f{B8D(|_ts^_`Tug(ko$-L=m?3Xz39|qHAChgK z6_IcTSD|C3dz9nBT$v2y8$dc{yrS#Bv}4+Ppx4bFjIA5qNculh`e43Q;$*J}1vZSE zC{G+6#JSChTu(eEh?mtp>x208y62!E))3<292msUs)vkogKj4LGGvT#Bv8FG-|%bB z-y40?Il>2$?^pDdsha5vPv`q{(Ps^r25})%__OjEUhq3BlfR{UJU_Po>oQ)Kj=_xj zuYv-nPb8!MZ2(f6rXYU{^F1Obt={JQG?TS&N)8rV{_efzXOMsVaUwe!*pfCa#q8YG ztFVaiN>eqKCK)vk{Q0z7ap~H?PvKOzFC>p&kaq2AF+P|*E@(}5AeS%LgCTs*Vp+zC zqFXL?k0#FKJH}UYg)d3;WXe6+@k)25JDX>DQBOHV&ja3_RSyr)#rS@5J@M!5M0hbd zP7O_Nd^^J1usvN;jfxhiwBk8r9wPCmI~Rjpd6>sIGx_W~xh*C=FJ2 zW|H!ExH2OJoXpehCBJ1U#0oh0V|&D_%Fno$)$8H|Lmyd!Ls=1=?2 zcu#Y};RU9(^cq%Rx{BWr_yj6l#c$G{RMfy2)llpLjC!KyYFg=ve4fT`z?x9yQ!doup~EZ69WQnfZ8f3A(X zkltVI&ByoEJ^7#z{+Rkol3j#7JRoY7Tz*O;VW1#RJ`>4K4M=gIK7Rj~VienM&u{Y1WgDs$0d%SOp6@=ow3Ex~r#Se)Mf6yhmoS=*OBchFaFEVz zS^+ND*$=&za{iWb`cn^Bl%*i8e-1!rb|C8x)-_}z6q`BD^Pr|J0j$3S{t3_?Uxu@g zSf#j}I*LjD`&wXr{=j^$woC)7UyMIT5<}H!xu_H^j-s&-2HX!tw-6qvk%EUC{P34} zdqYv$4$2I;ylla8Ir92QV}HY-!dDmgyymqP^w)k0tc49Bia4D6>I z?js~WX!haFWL>}tzxF$F;V8#fl@C{+eupxI`x0sE0jS%8IZ{J)vXy1IejIV3o#l{&6J38E%-SG#O7)K^5qdR_Ym-;_W z7l-Ro|B>qyvg41f!KWx#cl?iBr;t!L{cFdTqdjiN)*JvhqvHVP0Kj=22QUYK|40Gm z0Kf?yhhYu?-%0`I06-7mFw9|fCu4W&m;Faw3miE8M`zB%#rW+uDsyQ!x|`kT21b3? z`DeWUX=$w^E$mQuI<7Qc;{>~dUlu=G&Er%X2@*xD7`Usg zPaBJ0G*6(r2>rA%GQWxbisN`#gkY{3xcA{s8w+=8hx=4#fxxX1sQU5sYHz0M3@jKA zrG^5yH#_TCL3prBy|@#D?M0`JhRuO$3p)xP?l)daH@FKMjN@}0v zha6KXg&X+sYa98UHn?Qw7-HC&LqiRs!-NyqopM2VIG!Mq=v7y7z_Et_d2&dyg6ssN z1F@j;Ba^{S(j#xyH1+&X_!!Ve>8<0pP;}9#H`0drUJZ_Q@uhGRIMEUO=q{dn;AqKN zFeU5%Ij?W27ib+zajV3Y-s0juKr-&WhVV$G(rU3cJDrvLxpYqV!wHIkg7Otn6@RZz zTh_ZUNk2S_^h)+yw%_;{VA)!{Eoj&K!&Oc@36D1XWBBb2kL9=870MGGr=R2bDe;<{ zqgvJF>MG|w{!Fjv%I14dAa4|(lrL49L^Qz~JP<;i~*WlLwYH#&# z@WNC)_^GQda;yMq&4c}!U3@ateKOqDI9@3fZOP*{Fqqfro{Q09WphWdKr8q$SLCV6 z>?V$!T~%OvtFoKgmpuMX9)1mvwu3nT!BCzF4?-H-nm0(?-k0y?F=kKKFx-2)|4@9Q ztRo7iPtnbC(dpva8T>T7<>(0leu4}Z4k_z7X}dh3*V1$C)6w}q^U=9s?{sqOLT@O% zWL&$5GXL}c3SVn4fN8a}pqO>ov-z;grz&XhSp69~pzil;<#CX!y^zQwHM%`Fha2Un z=@A-YbJ4}{$mwEFA@1&ZXr=GYF>P)Vg=}@7?A}Fz6%g)B(biwvcriCLtXm{FxzS9u zv1^mqwc76udMn{!a-ZuYWW)rdH^`J7SSXy4Hx!F_l;d+MTMx}Hw`A)WaP}fwmX`36 zI#XL<5dFW=7Tz*nTTneIk45A$temdDn+~J2vNePZE98_gEhEeDbho-zqE+E7A5H50OUU#wv=M)1Pb-vi1jM z#xLJ&3%Riho$fdoGJ#dKvtZDzvE%!vgjpKJ8>{R-Jb#dm(e?>gL;Ecmj5bsJWhZV< zzAk~D%tC1&J}Yf4t5qgTX`~< zE6*|d#=WBvUjr^jy8aniL}1WAWIp1iM@9Q>JjEOBvEv+!|A3{Vq3=J^|m!;t$IKr>xp z$6w`w34iCCi~h!My2rV~TXLY2z2me*kS2Ssaux5h_FiRPyuTRUm6)hD=bLr;4kPpy zSv{*VyhL0#{$DB=SzpFC7hTS8o&PJmzR6a(?+q_h#!ep0d6etaEl(qAtpPHjc^b82 z$aPt1(A&zUmNu$E<6+ajnxNk6T{ zYnW0@7ZJnGTbSc=e@aP2Uqtj1=NEA9*4fKO$d$ShKzPBH=u2uOX`pbM1HY}n8$<*3~M4k%?I77^ff)0YDA!6G04}c2%-m- z%341tv-uf5TM?U3xmZskV7mA!z7x`A!YQy&zt?7RgKOHbNkRd%GqUXOzDNl;{59aW z3BSRMgiTy5M5Yd&F#?=B=NOdackHbE>>R#3!OZTBrpIRgUg0~wyl=~x-*36&7)Tu} z!sm;g+|{lOS#LAQMcPJrOIl;9yeqknpw3YgNbUn4AIuepHeGOWDObp|ch`2~)fbjl zbTIaBmIe^4{h^C7VwE3k*=&^SKD)r?s+@L6%dJ|PFSFLDLI3JfFt~bguwr#DdFR8Y zBB59F8gF=Y>WI`F7F5sC_x1=V@A;d zMKBABS8sy|O^=un6~!!I0Moi=-F3~`HLb2sj5?_PUTalrkX>#VC()Y))yKe>unC_XJIuObykLaO>VT|zd-w&asyuq|JS+8OwVYg6Q$woZ}pfrJJs^y^$XO zO3|faGUZT!U=5)FFwA1U=IfM;$>{WTiHks;_Ew;RjIb{vaY&y$s=-&vY+np$!W5nq zX|dF42rq~H_}X}(y^92wr^B)~@WQ2A9#Iy>S_IlZE9<&Gip}+ch(2A@oPf2GQX{aE zeR1a4`=O#V2GZ6Yzcz|_B3l-YOa8>;lEYv?5P%zY!&g@l(9&JlD<;s7r=XMY^u3e+X`F?EVCI>g(v(P~4#)M2j%p|H-b zL$Q&>S36*{G-~HjdGA@7&9EtV1#p~8LA$)pJ;UMi+`VOOma{V)wcNLbDG}#Dcsei* z(m-spO5vQ30fwzQ=OBEo4s==M56F>H^e0E4P!9tgeaN8fYCW03s;N`&CBa;W8nVAC z*@$xM3(WY}srTj7JbyP+;e8b?dtP|O-Vq=ntuCDJMhg*pndrd@6A z%fZ(sdxMr{i0Mp5dQc$~zVqyl#Z7PFW3N9^D4L`JZBGN--fk- z>^D{_ybPWIsmf4?tE&0hU9eC0AJPxo#yuczN!skYs{ zM8^)Gt&;tNE=e9GNsg%WX99Id!@ic)+}l`I7cD)tyWA?F-_L@j_#C{Il z%be+D(d5Xd?K#Ey7u$#-Yb(uHX>$}we-)*<(D$%bN^Yp!+lb+(iPXQ+9PficA4I+9$9 zH{!!o6-X?_*-5wsM@DKXNvYjn-Hoc?wq~MMh|`@!%cN$dx_todT_%=RA&PxAaW_~u zGu|?|opbOr5V{;t@RI%5Y-Cpj-pLiFM4z{hoG(!AeR>PSxf$$&#XISHI<~OSMM4#p zJkt|*&SPHtN}NG8VS6&9p(>okB@k;dlxs54vI+!cMoc`w& z?;di+*PV*rsy3bTkx5&;qt3`)PC3=^xU&M_bTn=_R{|QxD>}Ze7BA)$zgwXm z3>mL$n5Q!aL}Ir*1PeLNbx1+)$8kI#7`{%zdDg^m6stfpPd6+)p(WwE{b7zDSLPIm zEZYP3G;5Kc5bbLT;y0WNP=*epcZ}z~5Z>}0%0$dr33tr75h;6t7Xi?x`$Q4Fwh>d4 zrhM$Ub6`q{B9Il!$^fH|-QLO-60YJy6xD0G= zNMh&Cy9^w2t|Ve4U5*Z66`aBYxK|VXOFY*V*^tBrkB9DmuFD&HMyjU0(5Ufes3X*n ze8C-4r=P3KvXyYcaMmD6bm`K+Tm$?h%BI`BaHhY=_)D}|u|$H3Qjx_q5$d4c1lBrN z!CNTgtDw4XAxlHIb2a0^{86=KUjwJ~T5w+rH;P*c15(Ldi^WA>EPAMIYSe*+a#gAW zkJRNd)Iv4nLJcpSPF15aa5{yfT%JzV;=}r-3}KHbM!^xpn?$68Xf4nKKl z9fZ@-<|FLu;L{PDt#HoK@s*KdnqrL7bgq|B=4C$yHdwXJC^QET{}5C>%*07m(pzrBu_dtH5y%K z5X=68vUnSi+ZX$YHJx7q?g4H`XdCo(bXn*#oqG`srL#NW!R36)%62Hj5VrjWfbBIelsQ)y#pww(J|nqn@7a}Tod zX8?xlF|tCnZ(T^=P+Noc|0(@qs?IM4Bw9$bIiu6;%>EKMOIc{y8`%QsH%L3evwtu+ zUItCq_aN)@!8@beSVCwlYGc`xPFT^d542pE&>9~YulGNU*C_cl_suV-^CJ}bSwZ>r zk0<&42l0kVel30TTMvGte1syuXi$Fr<4JxSi#NqbyoAP4HVX96}UU&PWaJIKSfTFkE z+W$Icd7q1z*fOm!VsZOzum<~jwK`?F{#g@o?uB$>NI4M0$gk*x-g<5`WTfxGOsa}_ zemP~vfJG&OHoXf7!-V#0NVK=12CF9ul3e+!irH@fiWx;?uR^l-A=!>=_2{&Fadd(< zFOaIjHSyjSUsl2(QrdS058EL_I(yp%B>2b{RT<1@;* zALLH!_w4A!XoEFN`yFJVO9`mlt_{;X85b|~>3bT^3=oV96%tZ57E3!IL>iqNv5?Cg z>Y-{Ii`~9(qROa_Lz9l>%d_cJ z$8pi)E$}4Y>iMeTIXb1zrsvz>jKTEW!=R=r>XBTAoOKmcMaJi#;_qcAw56txnC|87 z+=px=ubM;^CcL1$W7}$2?G!r7syq_P`j7x$RoOri%7g^!-J9xAFl0F7$CUcB=Afp@mfKkaQ+|CN1=__e|Qx!cv|<9r{a43GfWNc&}X3RwKoC7k?#_IrE@EKSSv*j z>xF{`dke%GPA^7-!go{pnVdMFiv0+C3C=e$Ur?KZceU9^0ZLd+*~jp8J^?%0tW@^# zlBd3J$P=ZIRQ5@~=c%H{$W$PWr;C13EzXdZ=Zyxvd)yA6HyYN>&2K?p3+^hNlE<)) zt=1fKsw?loa)7mIcfE5qJPFy>$3P<#o(u@@ zlr|>i-X)$}6u5mL3g=vez%p2!)u=1!i@HanGxRJwqkm|WKB+A_R2pa*?lLUG_>7rA zk?&#A`@uvD{duG;Jq&02R(Dj+BFkePR`wb2cd-@gPDEp}ul0fGC)|WGw6T1WP|{g| z%sJXms{Sh2WNDi6JI zst|8FyyUI#jyDhX`G<6aBjkf9EO|Vs3a`;ZivvXGh=kIj$ib2qC(oIn$8k@IiC^??rpOnb^+aVpvTERnEihp z%F8n(-K9Xlhyfd!A&pYRc>p*lBSW1ZP>rpLJV}sw2=~*jKsq+-S`73T(FDoJ5!GQ! z%v89?qWz?5wcL0iry&GwRIvQ+6B%PHvSo;Fy?HXi4=BVFTr^clWCauK<$h$H$^Nwr#OhLTBmvA zv3qN<+xfRdBP$G>8909hfbzvXWT=>^E!e&dJB~1W8ivaJmV!&a^S0Dp(*724oX;?# z^rqT2G~jCTQnr|Cv>4n+J{d^pY8b6!a4AH$rIsI!AJ9STU`;_X`zIuq7m}nZb>_aE zdFO8=+E>s0E3m+B=?rygaTftq+UT4OD)V!o;163v&%o{846t)28d!b;3l_BxVIe8e zI%1B<9gW5kf*O;$2gZVGHWyTK((iG)K{{?}BVGkx3^L0(*kKoDE~dFs>mmXe$4b(| zAZcJ4ffDG91Jk^8HzHCsVVK-TUwQm&FXdM0xthzmoh;d-6C(*V5d%urRgo2Qy7iDe z3MIj!h@YgquvZn)KA?$T_Pufaxkag%nmY^cPU_UiPprpaO9xD=v5dH#gcx{%C1KPZ z#GJVe&axsURv%yUCQeCSn^QuTNG-CADP-A!=Y~bZz6B%3t${rH{HY1&0$@)<4R}y= z&X&FsqcvShaWjV(WL~(>PQ|cm|CgzTRs5u#l0?}x;$6*Infg9Lo$?DcDKT=CCufl` zh_Vh%J-9JOVFAg%bXu7_2M~9ss^z+peLkkMsvT`I`z(g!gjfExD1T-r!;XLko<%jL zigMaYIrVdexL&mD;LJXUbZDsHd3rO*Plr-vjnV82z%7q8IKRQy zi*OSoR6^_ZMZlbw@B_^r?MwPlQqFIS;m*r&cC@(PLYjOi?iNR5C3hs6q^6sCI}z-F zgD32ZHdu8iW%d=s#Yn(zB?Y6=>*2+lF*OJ(Z+Q&36*&7938HMoU>EpRU>H%|eIbmU z-GHv9-uXK#;TzZ)kSl3L5lnUBtg`5<=dP&F58aqbC>qOFDf{egP-_{`+Oiac%q?)} zX>urH)z6)suv)OEue75@9A0YY0tfoYLH9$5}0M@6hAqP8fI4Rn%0mw=>IW(qaQRw>~G zOSlRbqR^#5(sxK<;L@PMMJ%{9Xi^ab7wEV0GQH?EGn;!P%K2KgyZ^FF-HfdZ^)~TQh zhB&9Py_$MZHF6y0n`X;sFK7PPL6Se1rRY<-7^8SJu4>0Z$G@bjMAfDD@}2ju9@18@OuFowwDoU7kmIHg96P=ndua1QV+ z(*JG0d6kT}y>%Gt+fW(gLi3+z2^(NlNe>mAAdo?c6PDGy6HW80ZxAd7Sd011UOxzul z{uOuss&#qwIdlixZn(wMO2yz^W)4YZUqc6i+o04yDoc09tcGZd0?u4n1Zd|RSutTi zmL5GW6VzyYE|*MmN51HR^}JQiiejEQ7aR?{If!@RXc!YPeKwp@yC0_a>ZwjS`*<}- zj{{+~Ey^JC!rJ^8aK&tncQ+j*11Wk%DX_Pwq+2UpEde{)uvmT_1(8Uc=TS#%7QT2a zq^b^mRgS4~%TZFT?{?l`&zi3G)kMOoo4bMMIZQg7dl(ZWSvG5cZ)C%?LUNB%4-;b> z=kk_b9j&01v- zhhXUqN!%>^8kf>3Xd3q*)bO>QIN^n8N%P~PL4+GOiWw+xwG?ut0OjvRVfz3c z>JNCJKj6XsfcyFb?gzl*f>fH9ftGZK&xd&sZ;tt^zWCrIyG#xd-b_u$lwASgEmJKk zkS!C;^O2~RrL+=n5~(A$S(%vCf?h>+wV9?oNmW06y>l+&M4MY?Wva|pXE{80siRwi zO>BLw0YtxTnL$jhv-N%mUcZoLuAedxb%#ub_GfuxObw_h0>rtmVaP zsk$&;cc?vHtq+lHmmOA=5UR+_8aJ?t*gZZ2d6b-QO>#bvU)}!o+nInyn{2!XrK4e z{h98Bc&H40zQ1Lt{SbZj$iDF#)De#NaQ3z(xJ`}NU*LrJ zPJ>KCzm7}Yi5{rfBsy!fCj;@n0l@kVA*=_TUa-|emdQc~)Ki&w)M-IEWM+WvQYpS+ z--*oiN%A-Z$~dial?SdTE*8;c#xSBH1bD@it}{pGIv+4UBS)D`b?5ofvgTnmb^Btud~uZAJxKu$3w<)e05^5HFy`|>k~4GhBK#&z|?)CIIGaa zhOnk&qtT7anSp{}5R``YM4<)ecV~Hx96#CLQNXA803Q;t8vy#vk?T=jPy>DJNTw?y z3MZ&mhWpe%H6V)T+&@BWY)Hm4Fl?gru{*}GJD3QXurWRwTyaLg?LAX-KIqHrEY>e9 zdkeJNuryoyWK?Xr)5C`~w?6n7_qIVg_Thc;3%b8`YKW(A-H4dCf&MX|U-!JGHdh=K z({7sGvQbqY&h3gKW#;K`$!udqdgr)Uu@=*FV(`i{xOESz2sX|3Mt_?~Z{iu>oCaTi zTWDhTtURtwUf=Dv2^tmSd)_5xpRGyuiMkz*Ra2K2baza3x>pzA=l0~MuEOM~6O6EB zZwJUvR*&;B>c;s!essLim`6-PB(L(EPY?nVUQ)L>wf$5ODH&1cGr0Rysy+wdP4B%I zYWlcm(E$25FE?_G=6sG=$cwUq7xCa}^Tx*)fwxtuPRdL-(&jah@>pHxFf$pG)24)p z$)TR)#HOcod%^n+e+G9d;we3dB}c{#+FY>GA!}W{J_^I;TfwqgoOh_jM53qL{YLg#NMvi=xfwu?#E4D1x;4PC z@)RA~znX>G*Vd2Js7hrRK|bDHv9 zF$Wzj!U*GcAMeZLWVRs=1dtvgkRE;y^1cUq-;?#nsV5kF0Sl^aSeHf>`${eUKy1YUxn?E?M&T*vXQnz2 zWz%~^6p;*WaS;h^NDuqS6KjIr`(20 z8h@BFc^*B(%UaWhUQd2PFJ>r`Q(5ZUMKwlx*kuqNmUE) z6FNJx2;9cjEtj>9DInC{D1g=~dDPq80ka>i1;uc0wnhZ3{9aEX?Xdb4()RWTMS^AF zm?w^5p1&C?R_X$7_HTK%BW+kK`ve+ap6%7|XKMu+Gy9N%IScWk&Qc899bmioEN3yi zx`CI1m;eSq9Yh|Wt?3du*PzeGlNxA>UYX~NzJhyFQFV^TALNXUTQ3$%Q;h6Ez4oXR zk#;xww_amvEC?Z^J6}Nv=VQ&)=zI;And#`$Vl~U>NSnnBj}0PIW{)lQAnhL+*>5Pu zvk+orzom0Foq8E3hRHPl4ikhw65((-xzeM(bTn-Jst((Kg!;~EYmC{2!2F@WO=3!S zIO@Q83~Ve*J5lEnGU9d>4xz?_g!fEsf=Sc0t4G&7&{YFw zEJ5Bi5!6&IwC1WXIr$qYIvr52YKs|-?lp4c8m8pmmomIFAVV}oZ@;xssC{`N;i*ckzWJU@l5Q#rPs$td34ZF4@B%v>1XU z#~+YmS-LsuY=EQO5`m5h17glOBKJwOZ?$`BVYO$Uf}9OIk6)85qHruD(|1ZwfbaH;YpP}F%X|vu)LYGl(;!eJ#AOYWyLbQw4UjWpdq!`_yf0D0%VX(p%@>F)uaR-``#`vmTX z@Rqf93^OwgumzGD4LjvO0%RsvxfK@HE@4zgnITWAMdk6E@=U#%sT15mz=FxmFQ z009b zncBG6>rZi?Pr@k*h#57$9OYXyYG%v77v=!!WAvVV=1V9&u%NfOJ`!($?c715Ly+mdPXbq16~ zZ$KLQh4hX${HLykJ*TA6xucOlQzs@P=qu%!NKdjPPpH}o z%2J?|NBbLAe}gvRlN!bS0*zE#9v1`f-W$I6`7KzoKhS$eO=^$1dMu#)Zw2|sb&V={ zf$)D%{`uhHz`7iT?VN#i$x;r){Ui|j3R4&$BcBAOD^E-fkQ^GEA4r2dF*N`;=!q%3 zY8ddul;!>qNN?S7LG-2rp<4$+_Y8y{8vw0^kXJ&I8@gh6qX&8gwOHLd7eIVU(p8=w z;YqY%#id6pNpxJEz%2Qr_C+P}e$Fr6G!la#4w_n~J`YXUv>@jZ^)kjB-0`V$F9(${ zAjfkiJ^IM)t5ibU;2e7i@L=s=A-d~w*ygN=!Cu_mz#X4MfPRYwV+cEAJt^YbADU?W zy%a z%9GzuN%H$CL(zJFu9Tm6>0JshAIeYPoGCle20wL_8)({-VO}iCOmvtZLV1Zc`62I@ zV!6?I=ydJ`k2|8W^9{Sf&2b;HeKB~f->DjZC~o8Ur?u_dLqP=Hg~EPwcKf)HGK~{3?07Vvv5j0#kSm#ePvlT@B{p z`dXEnLM;^f+Rfn}*rV+b2%Q-S4W5Byi7Okw*oO4pFSFcJ1EDJe(_I|^HDMTi#hi4g zp}~$}3MPB*=yqZz+A+*YB%(vyTM&)oYrl?X?75H*ukUdm2ad1%k)3E8+vRB9ERFO* zC7^U5SfIQAKs20N{~Xm+>e6s|4@L=aVNcH(v0!rJ$9rkqfUU_;YVM@JLPE{VX3{w} z@s-&jz}mEc1%Sh2n{h7zO+V?@>at$+(?qQ}V)giwl=>3d{8+3mU>#UUN+P?gEhzhZ@ zd7$k7ZTbF*8OC?0^geUQvq4Y)HuirZ$$O&g8&a2Kich&CQ+W~0V~3o?t8bYR}TwBsHX z-Iwy1)!$l!+{Fjj|9E!cUVg0bDt4^k!d^}iJ<4j(C%s(9r!oD4VlP6<%`n#vt5BNs zQw1G_omBE5Jv{Lo=1KGiJEF|`wt2#koukr|es>kqjcFqQnNYh%ZSy`+m%WE6%aPLf z8kOF|EOAVFx~O0c#Jv_%gMql5FqkDqdnr)%^!y|0vM;iVkFagdN7!cTXHEn;(qY!7 zu@kx)<*!IbHNkkN@bO}yzS4#2_`MFpo1w)^_o8Fr-RIpd>arX0X2MaIy$2q#70sfJ zXYVm6?ZqBgKuHD)YP`a~@nrm^sIelrw}9LGmc0grYByxM7nQduwXLvmkl~Xskcy@i zsxu7vElW2>eUAx7v5=v{lozPAYP9gYRow4A6zSmpK5b3x=Lv-wbAnyEb>9V0E3KKClQ9phA3YrVnwi3D z&zod@Qq=cJNpBBwJ;%D% zp+%IYse;l_K&jV`b*;mSD5v#9@o?9*HWg9Wv4aT%Gir_(akz*9PBEt;g`AobMI0`= zfzw!^rkGW8SrLaDPr>Pw7jZ^t-UQ@TQN%e=;|!oVA+;<^|5kSvkoxy=t!|#sek=4= z_og7IWna(1U-lO92&>waV;5z_%iztx44O|0%69iaXg(17B%w$5J&h4Eqzr%}G_mn{BZG;YB)4PGVk&}bc9Yg2<%4P-PUK|L0m{1tQ@^7Z- z&R$NDoitYV3HM82;c~`7&`B53gB#}Hi|&~Pw>(>4)+!TkOio#O?x00p_ZxFrZSuUU z^ldSh6{a&|U#}-%F_#q<^)OgX_2;pkJOFFRtt%zTx=Ec!7I+A(7X1vS2VjlJ>6zze zUASMBQeZ8#EXDLmO6DQ465Q&=Mas#3_ra2%jIZ}+OP-6lJ}&`s+kLkbfqZTrRLTOj zX(0D8Z??;MV^|#t`RAX@4$zbTL!&|U4&{{q$yrG#cSC&}V`z4PDLfts{WuU>7el%O zBz@aJD3q)Na2EtZR|Y~K4urlC2>mb+`maD}Ydnau355Q!KhLHGLY=@AE)Im=Pw0St z;PpW0cR^75Pnch|+MmkrtMYph?ya`kXUT7i{6gsqkdXXNli$PS7uT5p$5{=2ua)0h z<@bL1#hH$`Hj1iYP=t}Oe5f~;Hx$NlZ_IMv!9oIKquiBP*E*y$q!%&0VRWOI^+il? zG<6@?NSZ?iVE(2rW^sgW7=ZarU(Dh_-8caAA83}o5)}v9p+!t@NZ%-(!vZ+BIX(dOpM8r|B(ynEMD<4djZ)f-OB3GYtbn>PQk%;Mpl+1biUFwo#H2)PWf9ez zy=B6bPuu1q(oP^#Ig^iQC4DRXYH6qs6Kl zfV$CQB?q9UH&(1v5!IXcxx4p8EjH@rQd=#cZj{ziV=bU=l-5#fEue0c)>3ozCZHSZ zRuV230Y5npJqV>7*a_zXp=$~4KN%~`PW9RMRT!Ih7R%FM;w*7 zPa{RA48dj5Y&kwK{y+<<73tmM#S`Y1tDGJzu4=+bn0ns~XDyLcR0q|zFDv!>I*Icb z(RzzOS5)pFL4E!;FR^&X-7%*EsYjiokWg{Yi+Y<=K&!l~)WHYL_0E?(e+8SKv_QW~ zCyT2Jv?IrtbUzbSUz~1_ei0i=+)wJnoMd;TqhI8d-!g9(t7A!N{~=u5e+Xx6sP_*U zJv{8&f;ifbTHJ!b-W^p3^d&f?AjkObDZsTa1iT|E=gfFn`38WXolE5Y8xa*_PsR#W zE0VOzmTcibmm9H6RImKG0ShZWMYW1n_hmq|E=j9PrM-Ac&geXRD(uC5Djlt&tQQ~R z$DyKLyrFa?hV2PLeCj8yE*13RL;W~Z&WjK8L#UV+Z}LMvCIm_wiwfJ4tu8h4;?2GT zxK@|yc=6^kKNfZI;?3oL5Eb#_%@uwSweaH2mHx6&1uxz_$d5(+JJ=m8VY$@3i#J!5 zAo^fnd|tK?O6LKPox&c%m5{^bsG&_EM+vz3w-;2FlGxMC;3Z`^Stp`9@h^nod6_Er zVbnKnJ@70)HM$8qq`E!STCSNFl~sLH^cf_Xa7O_ojSiw!%N{{F%s&w{6~q^2|D zy!Gd85W-Bx=kbhM4MAs?8dZaiq@yy7TVE6phsf(p_fzyBnx-90cSr03Y0q}1JH1H! zIMba|^lWLmrx!gVO!umyr#(FqG*X?0v|=GA-%GsjrQY{4?|V7FwYY;3Roj5Ge}O#I zqP>hU^~E9RaWwK;M>D(qSf&;)ofQWh?@Vc3v7>)izZH8n()p5drN=c~zbQ5Zt;q+o zr9+UAGYc}0&jC~hSO7W-PcQEQ!06s+MY>auT6#!JaY*B>cInC3FmTo+qgd3D7$0aw zG+co5ohM=x)920GtMNJA4mxGmY3W?*%i|K>R1O7Z{#ba8Y$b-j{5*#60lZt02`;rB zM?W<0<-4!@v<;Fl@1iT{l^_ktnz^Bx3~fNbs`C><-|d--!K3==^YF&x*j6D*Q53-@sJg&?LoZ2jjBioIt5lj z$u`Ge6P7{*#H}o`n24(cd5~|)sdX6?G7apxqW|-SP{XaQ9>b4 zODp2zw-J*Vtm24M3m$`!97lFR(fH>#slmq?c&F3!UECDESAcpmCFanZXLptroSS5#ws0y>|kgnZB^N2YBEaBpKQjj+XZh^Hl3U=&iE)UoEU{FTLGTt6InDyME|pP5^(| z+c^Bv_QVay8@hG>lkEv#S0Hp%q_>He=n^w2L%aTKOA`5G zC#zbJF8h(2;0twN-tT(^Y(@VjEbju#wG%c-w)ObUK9cA4a<59u%XE3#VS2(!jv9j3 zBrw-V*f^R_bo{~dHMewr04G%jM_Ej4sQ46i!|6t- zm{7Y6_qzvS8?1wN7;92byVt{KZUaGCuL*vg4Paf zOGuAC0Uee(E6>KK2YTG=iWDj9+QJi9PS^AbBISb!rX_}AX+s+u;w6ri<_5Zhc?B8a z8BOU&@NR%*KS_ofG1Gn;4(QKCWA?A%f&w#O&(IYy-0L7!=+j zeUOOzB?O-)OSFD^T`@Pj78ZcSU$y1YJ>7U)8f5tjF-USh=NV5MxnAZ5{`_x!-X0 z^k=#+Vt-1FTI_IpJkv~yXeOm|135Ib^QixXJ(``VPT0<(5WyT3?5N43Fk&pNFC#io zlWDvOQ(y?^L1kV^X?QBQq_9xwnx|mZ>M8c{qD;Hn3`lWPjz*%u>abKCHl|H%vuo^i zcAn@cyPgl%sO49cc!Il3>VSSc@dPJ*@<5)XIuG~6r!%e{^<7@UJ9g{Ot+oNO1Uo}3 zK+HhK1TmyzX^|V)u|mB^{PkXZcDjE%6KSkPr|Rwo26-H#F*n=~IkYb%e>^Ho?q(70j{gIW$L;*4wQ5S?D}Wt;{IpMCV^0SesClN(?Fm%0?$0}Gqe=1F zG7apOoS=AFTo_E}ai>`&K>tU=!E zc$~NBKFY|Zkahkf#xJaA7cfnX=cd>s#cTrasJ;#CYPF&6UL=QecRnee{|E4@@h-%aQa7|D%O*uN@Ck(~i(< ze$p}lw9FtaQizRFQ7Wa=2pamm;;Lmat~MW8N_UH&PS+VKyz29;s@Dg{Rb5jd9aFu4 zbPfW2QtE`Z38-o9V6Kx`~ln zT*84NFpcx7#$k|7oVKIA4BqDv`JV=Wdja;5pu^{msy6EE?~uRy0(zhch(~k(L<(s%HtICSdz6J8h=z~Qx9LOLwBrIXR0H@zT8}Aa(}y*MJcbSH z%a`9W%>t7snH~8}!_ELjUKhs%(y-g%laq;cb`FyV+5qG8NKN(jT%=JjQ|V7b z<6-_1toKp zAtsun*y3pMeWu-aR}-e7TFGmkkMYmQodQ;8mUtC;2aIM{e1*bX7brbauvQQ9@0 zGZTG8A$JdSNC||Q0PE8y7wDg*hHLZ8#-Qz=J(08aN!DzOq?7idq)!G4EixyXhS>`@ z$_K1q>izO(;XyysrbXJO=C}=QFx+&}IvIVdKwH1`D)C-K>6R!7d;Z3w6suh5Jea)H z^IBT+)$g$-uv>{)oMn0j%`q3Ex2efKX`@Am7Wp`!F;TX7#{+i~DOA)+p4{pJMigQI;S|a34KHM?wE0`2J=XwiTjv^oWw3 zzA+?D%<9t}FpwwZZ_yUqarcXCifJ2*&O8i1ZE_>33>I_CakcFLgpPimwB$BQOGAN{ z!af5>37zn`=TRNnDTg3;!HZq2RW%XWud0DDBZcR?I2T=wNKPv%yC#-ytB%=ibmBsn z>=9H&@eb@dj1oQ)Yofr~oYL_Mq$9Q=IjblgP;${*Lfet@MW8%b0vijIS4G6gB=$-W zm0M@J3JW&f<16M&+)0+Z-n@NDsOt`G*ZlULQ_>2)!i``gS1nhd}6vbAu?G6$rgJ5c+5!^y@%q z&3Qq&Z663dB@p_{K0xeTa1{Vzhb2phP-zHLUWDFo@gpNN`-vLBAJoBDh(>JGbtPpO*r2&_Gei)x-=duv+oD={BC zTSh`yV>zP$;M?r><)GSh?!Ye+=Q-DOqLfK>Vo&)pc-s+LaR|u3`p%RAU zHRjqk&s14&BLXDPUgW7ZBujZF+o`iH>6fXtQKj^$S$!1Kr-1m6t?Vm6Vn^itmw=%8 zQ67VJXE_AD6G0VmybgX49Qr951wBM<&^c3~zw&xSMu_l6}ru0FvDfjFvdIIg@tsWyhhq<48~`jU0K@^nIR$_?09alC zh~sV}3r*WZ{#-!4ER7sJ_ASiGv~S`kY~So<2$fBpp*WD-`2~PD09a7~h(maX9aM#z z&sEso&aOd1IFVo$mNOPvqk(a6jeI5!vb>!rY$P+`@D$dhkrblg)p&WQiS1)&#KX04 zoVzkfXFP%uXqL)`&Q+oe3J_NzkwUYC)+B>qdqy`)G!fLRce3c$nJh;;(rpCHEp!8* zGpw+uq~;>O?7niX!N{9Yl*G&%_++<5!mZW@YbwIB+ri^Z#E+F@pfd?h)|GP?C~BWd zIr|(g!#)uGbN&LdZD*rpDblY8qf+*xM4O=@&6Q@jXL}@&)Zk9{Ms#i2$$%{0PNNJ( zdQURScH!6SA^ ziC7PkDnay~JkQ7E4POLQhAShLmi=qw2Qj#wVvvOXqjyyH6u@nu(NcRO&aom7I1_nh zAtwhr#TVqLF8IyCMeYM`pa34KCm3AA1l6Bq( z|JjYxqVXeYGhg~J1@_!e#qg)!TrcJ5!xtWR;xS|UX(Yn2h$KMuSxhpuco%pA6I z_A3c1Q)iWN8~Y*jXR^zf#Z7c;F?bnPZv!9OuV^D=N5ttyn#hD6=zwxdQb1+dXVD*{ zmv`R57aO$v7^s|AxYL}7+0P@zSd$J-27HJM1Lob8R)?8Phnl+WDkdcHaE{x@Q%bSY z!dsRNQu1VjmV-ffrVAUg^L$ZaB{7LblgLFdV-8Ln*rQwmiU)rG>I zbl*Zng*ezKCKz^O2YyNn(70Yf0zAxsja96W@dvNjf>`jQNV7Lk2Q;ifQkHh+(`j>`8;xtlyOq(Z74W5VDSr zt!E{^=!NWeADF9?h4-w#daGmv#Oidm^o2E2XWBoCnp>kb}OC&ySXhh&Ucv2{y3U?2d(IutWWS zL34?i|C~U!$y@r-H&%Emn$Z6-8%+^qeX*~?lzJ6U2Aa!Lin6g0X8%7RoOF)^-LxNA zklg`v`|Io{>Ie5k`=qnKlt0p6nEuDqNYgg`(mD=l^{|}|GDJkr!xhtzpS1&83+EqU zS$D}CN#s@cF``Oh^<0D0yw~D}T0Pg6e3e$u+M*AN^4<_EbBHF;C37I1USSOGI{}jM zJ)$lIZdUqeww_Yng>FS!!n&lh8+y7#b_#xR{wk-P73qmMaP7IOL`6OP#p@~FE&kN1 zigZnNIF2B$v=V%n28Zkk_9u*fHKL1cN?77X$3FU2+<`=}@CC=@YCdRd!6QvdPgnHl zQJBn0fM{uzr#C~d9n%A~fJftEsxGk)E0!GjmL4xFjJW+f^izBvr)FeG+6A&x?n8U3 z6PB{;c9)_$m$K7#SJ1`&+P#b}_S5dQbg_$eZ>NjZ?mj`+<#aty7rR#XHM-any1jI< z6Li0!i~XN_U>RKO`P_T!;36~K4Gbk;Tx%6v6alxIE>^#rp^H`D?uJvd`QT*sMfSJh zdhNM~9(@nC4dq$NIf{|H4iSvpI{el)C#X3)8gnxk~w0fjYT zUSfvxjLJTa>mZ(fFJQk6y_m$(n-S8(ANR?lVBcwH(3kx?h;X1?l+Xdc2F(35AYkIr z2$-|lA49f@GW+Y@qJLtso!PbI=JS47a}BrnLS&*$Qja=60xRl-plwmg*t@WX*J-Q_ z)UU>)TYr!A>wSrnRp*U*4St!VVL1CDJuCwgAl$!KV%UEpKUr>lm+K^y+lw-lv{<>H zqv*2hV^>1CbpBc}wyd|N+&;CKR4j{|?G}`sy!>fZzJ4=RgEk++?c6+5zA)ys=n>5x`4e=8De4LchU!kVSmi6cH~ zU>@uTm&*KAf+7flT!=L@54!-OQL}y^+BVBV<4M#6B|cWBrF;_faHrrlmPn6_laL?( z>^LYYYBAXVgwHt@+@Zdn6USPXs(MaL979Y`S&SDxOwB~n{wdOtd&ka?EVwQl)r#;8 zrKI6tgMiPHg^`S5{~Jh6b7$er0n?nF+0@XPo{miQ1t{F!DS;%anTaEYel1?dZ^4x# zHFp+9I8B_+LFb%C&YB3zDW}_xAYW(^LCw@ku55t5yt}KPVRhOBzI;OAefSF@_^#Eoj zEv_L_)9t;%WXPzrQ0zp>mutbIpVX{W52p2nB+9H*l-n3cf;$iBRoEtwwI1_5 zs#b$4BgY144+clj3sx{r7e>jI9k4N?<;qgmBVG=9>1V||qA4M>Jqw!}iB`k@0gN|g z0^wMIV8=Zoej*YuChK)I0^SV5MN^ zr=E8L`M;9Z5T>s@bp4uwRfH-eIQn;0+>E!&C<6^H2NdWIoB7*OKp&gPi-_ED7XIl9 z`WCFnV4t03@o`5_i^vpB8nknTueun3C)Y&V-EK4pz4yhsF%FYA=zQ?-Zg3?t2sdL)V+q}M0|Gp7)XIdhMr<&a+`*7d z5YlEWxs&eUbZgPTcvr4qLr*QCY}D=>NlmR*Eovk>@Xdf#9ZK36eCu$bBizxc)9M)l zJ{Y-skW@066kk%OT&=2298nBIjB?)c2-`3`Xz5rQqZq9kx7dXmFHRHV^u}^DbfC(dj)4Gw>=B>)M7wK7#?=(SL>D-fC&z2ubCF-Y zFhO%db4QqNEV+y99*T_7E|cyxK-FrazD~FOb|abX07{7cFw_T4~viHZ}oqrsm8ffI`PTJErrb~aq`9W}6Tl|-4 z8EW@JT9S(}!fpT+nXx+GmxZpy=*;W`K)?<3ax#);P7=pH5O70c3e}`Btd2msJt!|l zp7iUKVVNtDDRX}SQ}rvQ8_%RHntP7r9@VTJx{HqHULa$V8b)<%92^{v&W5-~eg1iV zOwB@Kw!dMZNADAANV+8yGigYo9vm0`68>0Wo#uZM>qecBkBMH=eijK;+d&L|LsFCZ z7fB^$B&?F)*(sC}ND-956RnB-ZxL$cUn<}jDg&IQ#K~;l^7K_hPvwo!T8#9xR$v|4 zaxqr5GxQx#L-tcfe{Au-(^Le5OP@2(aQ+K^BKbe?QyI>GDc?x`D|~VDLRaNC1nPJ% z-%i;S8GuTBBL6kpbFNPU_ARz>ug1XmB4G4h;J^O0A~pUC^Y1`w~XDCX8uG{PripgG{Fx#MHU> zmrC_G@`woevZ?TaYvDNn~;^=9b>DFB{fGY&`=gQrs z%(q3bNB)Bo3z1FtuM-OHB6|typU@QZJnYNhnf4B>eB`+%*L8`)@wyn zwc2&6YQmXT2oj@?I-$`2ht-Lo_cX{@c5f8F)yR{`R-G1>VKYI+f-8_(o&>fUIiBR% zKLZ)ZZHkCWO}b#xjO-y4d{W)I!P*DOWM=`8XqAFk&TM#enGS`^GHac~@Fl+{?>A*K zBuf%1$L~p7c8=`q8re09n`Ri5AfxI|Y)Wp5iStlw_FVflY|rgC-<@;((OF_VG}}|3>`N z_zKf!T%f37_(yW!l=frFg=IPaEcNL@w_%KIoXOumcfWD_Ahjj7D=hWxjDS#;d`~p+BV)0&sE%n_M{4KwZzyB8ZH!B$$63B>C2%mNVfA83X@bwe>lbR`v8I)Vqr=c`Bh^eTlz^tmN;or*8gDLT&ODe^~c8#~-@DLYTd!y&q_ zJgTSHQcocLO6)tdADd8b9c(SARu6YhzQ|IaZTrmPYPHWEYtV7*-+kMi)#~CgYwD`i zT{o_&OR9;>9(X9J{_@NN4_WHx!hwrdPC6>7;wuRmcLHfR`PRt8)oRq*$rn|thnDmA zlXLj{m$Uf0=nCfY{Iq8lCsf6BYe7Q&4!I}P_cN>omCCqnT~9(?dJrM!O6cmZ=>C)7 zd;>_eT6HB;m?0c^^+HnHdLAjfZ32HE`H;Vh_u}tE*Aep~k%y7?y^;X{v5*dR2Np{AD@mmEo@+RkJbFrA@Y=q^fv>vR!=!e-~XxdEO2wBrxQ#tu2-u*Idn%_mY0* z2kD*8|1|P&LhX1?^Dh!AdM1DWyf=UUWb${H6KcOkEiB^iBlll@hNW)bpYXSP_&eo^ zTD0zS7O`DFd*uKEBgk?E(A+AS>p9%u6R#zXkKa4vuU^(g!5-6qk!RfNA+Ue4d8 z*B^m7WcTrO-!z%OUrS$fl3?y}NeiTRd+F=0IfH_?)3f z?Zw}x_qgOKlrhd&Ka3&dpauMWWGBK8p2U&m@azh3Z08Fo`DfnF93NTC-$Rcl=TEq8 z(oqR@#T(Xwq`Lh~*8YtbJOG*8YdKri?NeDJucE)Q)H6dT9aXJ%x{r{fudMsrQZFs8 z`@C8`dk!%_l-?#TW&Cy(Wp9DN&$yKmc>OX;tU@iLT(?gJf3|@e^?nUg-dSq=y<6#i zebN_m(Jr=J^C?>H{jB|$yIAjge6`-N)SF-KHMmJF*n{nE-DJ8CIfrd+vr7s2_s(pI z&Bqe*7qmo64VIMOLJbaA`>tjS`WjZLdM zrs0j-tJO%*Z>jT7V5|984{3XO4ckt%k$wKQ3)n{9Ih`%~q9e;50uN7T?JUQyr8)%u zsQfOF-@PH{33bYjl>GPal7iU_<|o)5{m57a z%M{wD)c4cqGdTxB*y#J|o3GO1+w?B_*6nTZp`*YQf}V0HBu49kYz5#L+C zrSGKBXW~2Q5c(E{{;WbRgVh5UK6=lI*j+M0al~7eW!RFC8Dc7G5`9ZUbrSabFX=li zw26fM!lv(>&^Yn^7@_a{&=m1aHtD+{bb$EECG4Wm;o{qNdxl*Sa>Um;hrY`~Iq@B` zguW|7XN#{+=v*DTRD8dYRIUoG72iJ%VqO!vO?+>M>01|iAapHw(KY+gdz899^lQ|~ zV0D{0@}imW;WQ1t6Xw!)Q|MLk?LCjan?tbjfUvh0jlAeNbzA5Y_-fTU_zqQfg#IjH z4R;drm!TM@y@OR}j=l#&!#D|6U)@08!=d34c37UiCqi2rl!d1>uRlg6-FhU4xyK?#ZndRIwE&6sd7E3DcUAKJw!=c@brIO0QlFDAjZ^WlO z-^+qI18Ihgy^PnyR}J3}p}mYZ#dp>f%hxY}?`_GUM#^xY(H5o@ynp@j_0T3XW`#qW z3|41exP1LE<5**Um{gaqTE2b@W1i6i-(dC3+U4ty3@tDc*ft!jY7lRZvCNnhVc5UU zS-yT=XqmACd`i90#WI{{oFKjj?8^`!Yut)>gVinY%?>?h+!I-fupMt_*bBz} zf~my!8{=WY{1})=gkChB5MLX@X2bWCF#w*4j5jI#=oV9%YhwyzbzSOJB*MDuSH+~e~U7jy&5wpoyzWzIe#W92pRu8Wr zWv?0);#&@$CDc2{CYYMQ@W!vmmv@a;@g>Fg7tc4QlVKa+BX@tlJAFen|)*r?9N67U|HNt{gGQxHf zIor;HsWbR4dTsgovBo3|_G#g(kk-G8H9>q=jAy*vtZkyK_emlJdsvgjH{0{=D86$& zAMS%7m9;N2-X7L|QF8vJW%SLmju+nrAJTWEwM2Z4OX)k>I$Pq6g|yC8bFA~COA)Ud z<(sLFwQiNL>V1~4FE@_29uVISC_~I}try@^>KvhSzV(u%d8YUlSTKf$RJN8LY@zjz z_#R>= z|A({lj;iYT;{BY;MNqJy*io@#1*BZ+rHTbqKx6C?>Mj-PRi8oFS+L+?XlFjuLIwOIu?tS&mrC zLEYIJ+dI`_M2aRI*5QE`*!%;~c1+NW`A8=OITS}a4PU%K&mA^MXZ3nSgLWe2>+qF- zsPi<8YDabnNP}41;*p-}4XojulG*G)dZjnChQ*F8h8LShN^kW>)=Cw7_8IP0b!2aK zcWVV&NP+%$WbgDqYd8e4z2y0a9z?W3P}q0n{?MC2Ie3rq2;5nd{?sF_ZJ?IYFBwZ> zpMcPIx*^*BC9q(83HlxE9hq#^iacH5-jpV(R&9u!Iw3g-dUOoQ5vU}Tf&b7# zZ9%i3@81abyKiLkgRR96woR}yfAfUfo8QrNxTW^Z*5HS7K0lOO56A9ro(XUi{6>3> zT3RK(u{ol(O59WmHQEmK0qLs}m=2|M$s(BUMm{S*i?e?I-CY~8TYY-Fwo2R=iPowS zsI#3>%TRhvNlcrl>~ku6m2`YD%#R~&M>>==lC%c3m_?-)QVs3w(Z5-7)W)RkN&QLV zNv&kK{cw)QtNp;fuj$ElK(66Z%pX|NViJls|v0RZ4z-EXhZ8jn?zg( z+9cvS&?b?u1APDe-?r>y>cx|y*kV@=wUvrGPeF~BP}|X-KA5(Cd-91OpPA&-nS9Rv zUt7FuW9;dLO}|4=CzPKK`sYH-nLG!z)=^ZS-RZ8y+3th{*lIXe|F><|Ch^h`91Uj} zZC9p_#MvI_iaG@5m@C_V7q!?;)SZxSlem`J;%gLNo%l+Ht5d5)T&egP)h6+8$Z=(! zu;;q6Dxf9VX~+4X2S{&#D(tQY?!PB#mey^9{j%GGnh)zk;Y#@bYlW|bysb8gxE{8l zHMR|{v2AFLb!B!(F@A-#JZazg3D6f@liMV2g?a1BR(m9X&wQ=}&|igKE6kBro~^Ve zK7*LyuGgLEt{PkPsz0c8+!0MG&0!h{vzkL_B`Q(!7nOc^gafHkRgXEX~_kT8m;6@%R;+ zh{rGRful?;9lv7f_!XOo$FJB#JbuL{;_>Upm_NZP_y3Cd4#dp&phoNgZPWk%k(3|J z|Cc>TXXnQyz8gzfS! zb}i^XEzw$R5$+>J7j1;mo-!OqzEtEE(8hC*z)7Dn5LJ4Nx_uMsvyP}?jZjOIT0nI+ z^c?2!ve8`@?Cp^~U<6yX-b{dXK=I`bon;)6J;ST`s~YB#$Jz%Ra+Xr>KIv zVooR0Ij|KZHtQL-^&3RqDseu{VXWb~T3Exz9cZn-nYTN^s4cn+dh%BC&vEPY@2m&E zOMi=}uyx zLzqQd?qa$d?3KFS1lo#CjB$MkwGHo$T4f&Ujp3-*7NUN-jG9Ke6g*oc`a(Psi|9E5 zuHQNqpf(G`Rzk}?gM6oUsADPZLg|%NFlTb<*PttDj-8l_v6Y*L{hdl%{M!gf?A;Bl z?b3B@MG3}q&0Cmu>W1nt{ynJ8YOJ9=X@mNh-rDn`+$vGufZB$1X66-$tsO;EIc~|&2K-;pI)9tb+L{+(;b zfR?C({%j=HvkA^LBzEHg>hIezf73S9Pe)OkHARi}Ky`CQeQ+6-&&fkH=UbTDL!Es) z;ohAE$0Lb#pgp~5TxZDNN3(Yu>DQ6nA(CCOJweN@><4;#EY=p5kpP~ny@!JiYK=L4 zH;#d{c~cVj9N3r&>8DdLe}5Z{nU72fuPHFvJH2Os^_I&5H+V{WI1|zj&!8tC^X}A( z@L#ZZfA(1g*4w?aKo3{l0ctf4JrAwg1L?sH4?{^8^Zf3Dyso=Qf0v~o+>+kzzVFfxo1IZbjLd5X@B|ZhMpxRU4?vi z=&8z1jJO5$?>dj^wTlZNhRPX_A%}0fnq{!vYPC`QnqV&u!W>pu=bbO0@9PhI08dvJ z9Fsk8T$WgudTHR9RQnU;$Jap(tcPVwG?(Ddk}avLgT~iI&+>I~9jj}Hb^3R~QVt=Q z|F#((aUQn#wuT?5i}O>edjiza#Rh8li{eSCi|g(3+Ndw;U_F7S?7_Ov#R1e|PdU)M z;`UJLa4~!6mpKP#=5lvu_fqWB&5Lp=cCo^@wQJLZ+U~K5O-aWe$MnrTsDsDXb}!s3 zpI536IkT&v7O#x@FXjA8IbKyUC(sFXUJdf0oNLc9{Z9{6y(em=^{D4+)`tlD4|N6o zl!&XxFq#iI@`Wu9RINVk!ew8ot0q(jI@bHJQMlrBd;Gwm_wWJ%Ow#Xa41 z_5s#FojvG}$LN_b+VF&$Gy&Ezc;-&JfqXJxj=>YR0XUZ~?euh4SzDS{cyw0j=&aI~ zQkgZZqAJZ;l{FlQvnXe;FZAfIy4a)h8*%HGJQ4;q@I8X(mpszSy)+x`_A_{TwCn=f z&MnTpID4?GH>4Af-gkf+TzW&4L)YFG1 zQQ2Y8qb~MSA?HF#)MF-8dk56MrBGK=&Oy><)|gYD{5KcJbRebusq8pA%&Aih^<`1i z6E>(VsGb_+zl!`9kWQxjskZ3zggl#5x;?dZhw6MrT8aFFq2|K=9vZv_B45=BwYHAB zT}ADypf=G^FP=no2|#U;j=DA)^8lJsCpK=u8M~Y_~MOcF()F@}qGxS+Uy74Zi6G=OgZXvx> zYYXkIxTXB;euuG&wngnw3blGMRIie#n`}_0lg~_hOjjZ6MitY4ll27YQPNA~^MTTf zsMJZSrVl``)U87 zxWey;Ye0$p>;-F%IB#qbu^xQV2BG#Pjh=<+FW*EhUo(fQELUEo)1O! zeu?@E<)2!EXViDfV9J?%6VnqYy`n#+f1&jL$C$21@thcp z=>QtN#x$y3sn;DJVE&-PsI@7=i@um{bPRO~m8~=z({HG@n9Z0TNcE4W{Km8`^2=d< z6B?^_lyl=W=6KP_AE9>Fk=0CnSsjel&NKq~r!akREvkDIYFE-w(iRlYCs)i*ZH;RE zJ8GG|sJ&@hbUK6SV_Q-CP=s#XG3`Y0+a_Xq9QD+Pw)iik$FniNJoU8bb4>q1W8Ske zrgu}c)5~MJP9|!}ny4{-Q4dhfTd3D%?_-Xc;w(KJ(*@KQFCNJS%n790#*t1WPb;eP zs1I6I@;O!?(|^!*c{T{se{Mn@GzGP>H|p95)MTo^?R-r8kpHOFm^RZM(Vj-TC8h0q zVg8cRs2?t(&ZHPdhG06EMnH&D^lbGXbf*q%;g%Rf18P@F@C5QJW(@N zp}rf48b({ZOFE{P_CUQ&kvF2*m`k;t+K>6yXn)u5V7dd9@|c9_T@>L$Qtv#>xx57R z5N-X01Wd=@MQu;7iFpRT}Myt0_(U z^;=30puT5PAE%J6p;c~LBznG~`8=QxrZ1XNJ;~?ishD2mhFY6yFwxw*v#x@_eSy;ZX%@Ah_=i#b>zbhTIgLq^ewdy}Be{jtHy3mMqxxUbOzTZCpQriYm4()y zNS6-Bbg~!fl&YvbD3ZbZFl|RQM3P2Rju+|FR%op|0kvcf>OqRyfsOz?{bEs7}36?@?6CC~|iyHQ^ZM_q&Put|Dp-=`~szhEpVaDgB2pT6fXh zc=J1^gQ&&z)Gr&_Bf2?bep#A_e^V(Ftt~OMkGy`4)>@}g9cfDij>EJw>FptyZc1f6 zN@Kd!Qq(duTT~j!k?S$1#&Xmv#ZX@_KwU~(>Q~YMjWEaAg4$pn>H!+JD^#1uGR%2J zEymGE4xt{6r>(Gu#%EqM`s}232UD+C+`ybR-l*H3piZuZ`h{j-1hu=2Msf*_WP2+0 zj`p>66yf%I=>KLm>O4x@x5V@?+RKtEV!91&PS51=rqULSHkq{DAYvKs-%u_nB&tEm6bugeF*gd#nyE+rvIf87)ZTt zO1T-OJLZ(47#7k!K$o+Ys{nkG8_j z@>CCvWa}%KwmE}3hqg{S)$q6}=48_PHg7$qcai4O2;ZeqoiiTu$C^BCq;k`Z4YM?Q3E>sxs=N-l)Y7pmwEJ z?8*Nt&5F_F)1Is=DQBbwJ)cnh^GI8e^$2;cC(WhV(u8XJLJ{tpi>2BwLk*|=3zVNm z>9VA*)YBJ~KeZ2f)}xyH(l#nXtNIlhy^b9wY}?1K6;X;C*!m#>7{h;(a1Oh2dA z*V2{^q5Q+NMSQ8P&-UoEi$;4O<)5KQ0%=XNA^*Fyhi;&i@Bxi*0C}#ZZ9SOQ*nem{ z+O);m>QS6$f-v2j`V#pB)3<2;&mqr^r1q45mGqAhZCZO8T(fL1Ww+wH6HRgAu)|o%1_fpOXD!ZC|zS8QtwkcY#UP4WzsK%DW zbT`s4QcsHfekkV02crH%--TppbvH}fcyu);L{CDcT|2)yMhzmg)0qjKEVC_t0&Rl1)m!HyZaopb$9m-_mZq2 z4Br&0zvLm@C&W8-It!Zk4AK?hsR8`Ptt?uj2EB%|{5~F9CDs*kinEceKN|UEUf?zU z^JS>>YJ7qGO6%n&aG$oC6==81wxA#BS-{IkxX;O6-NSp2r<&qDN&Yk^rW4-LO{IJ0 zHM--IvY>f*SAXT%;!rkdWNA?AQTVhgijox_xEc6y1kP(s0E&q!?P;7w_o7|ZjokH zERa8Pb0}!%oy|e_(EaM2aK9SvUDK11ViD*$f}SNkq^Bfv4q?uV<5*ifJ+I+W=_fE} z8s&c}k3I)>w1zrY?Cl5|bD{_6VE;i)6gICX-VfisYZ&CX*TJ4nF8wQ{57fn&c}_Ci zapm`H;WvPj@yP-{p@1)|(bJ#wgOk8B>@=3WMNgE%AgVTryWnY8akhWU?@fxc3#2W~ zb73nipl3rZ%nP9u-y-}O*&cdcIgy?;#rInc)*DsuE`6Wn_#A2w^={O8d;&6P2hPAH zqc=d!=UZ(7RS)h2l@ijx-@aZBls&l;M}Ws4<$@y+OwSsw!}9`_)jfO?e7Ln4Juj$L z?-JzjeG0V^TVZ`sZp1Q+pe`$p`k^FhWn0v4cBtDa=W+>5Ta`kcPX5DeFnx%ueaL?| z`N}ax34%csiHHJwkel+J5&($X{{~^;!5A(3SLTeMu>&c{+`TcEz0k2x0TyUv{9O*Twpjx%Y;v6w%g6>2+J!QlDw z;-jvv(lut~;VK=~Z9$7l#X+m6r9qoW)_vO_&?kGiTM>SEIDY)qFOh`MIZ zK%iff`KKZZ9$2snsZtC?|NGmL;?2@~<$j!mA>sIzHY2zf5FNM9G4la$^7Hqb;Wz zFQ=SGYVOP_G6Ct5py6{Sd1$O-b+pZ5_ZLt1fWPEPl+22GPV%r}3v2Ll%rjdq%A9I) z>a(S}V^KC+&|e;tJm3v^eC-$FT;FLrd?Dz#LAf>#?6sh5_>;4xnO>WFI>OuDWmq{u zGdwap9GQ=x%ek*@%dvZc=8eS4*8a zF(>>y0N8^2BTW`G7=Gg5#PS5SPuS$)#Qqla?5P8*#ysoua%z=KJ7;ETz^O8LR%aaq zH3X`~y2HEJ*utXwI{dP(OJhz!H!|(&vUcvA&fU+nb78mOGfL<=t8b=VJr-o zM}5}Hp#2_=SQkNxn(N`pPWy0AcJ7>q7mN1gA&Bj1&fNta=g7rmPmy2^P@*3J7AFR8OuI% zVyhiXc>c^1I)7`g6B{BZ>PC6b&g@Oxw>o<;Q#|)93ggm)^%fLS|C~opHc8O^{QVxi zn5hT%w2R&E(T5G}$LSf2Qa|PhA8W!zTkh(049ov1hp!&#^39Q1LQRp5xiul_H$+}gVi-? zn&$%MZqRJcMXa?!W8@{QgCO&r`JPMJLW5R#u4K0bm4Cd+b1i!=sPp6Pp6l4(f+D)_ z^<2-i;XLYy?uR`$GDktt-A{OKW_1MZbv@^q^~1PqWqxFv#b$Y2_1wz36D70VV{dtG zV~P0b7T88FJZ^bzXE~#hX0g^=?tAWF4dF{7ND0wqE&GQ$_pt6{m>-!&-SncK_f=*llQV;1vR*ZltzRzWEhYweE)>6$uB(ju{5GQ zHn&{1e1K(f8@ws414Sj0CwnyK56?p^nJABiM#J|i*bJg{xS~lZefWny9A*Bgw7b9-2(pXKw7bZ52#SD}_7b}+D6S0BYeCPR{q1>)Sx>;;rm`#f znRZuLDTDs=yviB~`WlmIcb&oCizH86y>GCdf}}nFdEQ{jf-XUww^$}oGHV6DNx#Fo zOvG}@tXrHe-(hcwQrQhS?il49Y>+*8@-Zur9;r_3z8KvC z>21fF>;W^AXMtoJP@g?yp@J%eyR%2ErJ$yPe(bSPZp-Kp_QaqTN^|zqplezi_ROFn zdVBVq#fVxy_3FxA7`DVtJ=sfx+RYunUKw$g(T1_thV8ujSoVgs6Sd44oD5W0=a3d@ z?5*LcE9vYH)`dKAmaAUxS)xI9UjMK(gGzh-%WNhWjwk$}uzLsgR>dV( zq5|tF&3wFyOJ+guI;~^HB|dvnO~pD}z!olS|1?)i6qlj}g#}yW;?fMFBo=u$96V>I zVG9LPUguU`C8d2+k!G>((LZ~Yk!~5()yq-(Oq9f4j_B=GPFgsPm-Fd7(5t-EZaSy6 zT}FFVlEx6Fvbo_FugcN~qM7XRsPRCzW}s&tE85#4SCevPBBh%O&i&?9O}a)ji_Mw! zyO*<+ISXwCQrlUJSaoT|Z1QAfn{QKVNNMSujOlI?Vlb5?xDwErA1U;pmf^Y=QQW{Y@jf9W%aT$7I)DFy7 zvR_VQ^5~smGuIUM$ezVW3yE-*a$vF2af9qxTj@O! z?_WEKA5(e%+DZTNT1;}%A+L6lvX=MHJ}K9xon$Mhm-&#_Pf{sCgUz`%KS>pd3aoKl z+DmnWtyt%yUhO3xPRuDFMr$uMCE|Nkd#RNuhojV9>L>_DslC*l6OB@PX^kKprB2dI zK{!fXCHr+4Cm)G!QpWnik#K;&n775Cv?|@DLqxpqancDQ-uF1^v>@z5oOGR+gFPok zi<1h34daZHUJ1fDW2EL=um!$` zBuZ!wHAza`&I#Au-z3MK zNU7{ct8AcU_$#rExNa@6e<)X|^Dn%^6l{(n3Lwn;lr1w33MTeX6vPh>y!u zX}cgCiK)^dQLb2L*?X#VLfCLlOqDJR!jYINz2rnAF;&Xig>fda)wN9CGbNUd#K&c} z)PX38EvQw}d#;p8#78MZs<0b93nUz+g;D?!UuhRfN8y9?g)8l1>9Ro;yq8Fih5QI^0lCn5a)SINwf-vf>(x?N}TN>RRQW_DDdZ*Me2W|W~woB@7 zP_mXSjU(c5?v_%Cc$~YX$$~J>-BLOc?m7G9-O^%V!#HjYt(yQS@%D9+u|J3$!d z{vXzm9I4?U2LE`Rhomisk$9YkrK1M9c^{E36Y)56rQ1Y2&Rpr9AdE9tdd15@oL=6! z(x1YHapp?W5p1Er8sp5BOq?jrTq#-*#(DgQ@jNAMCmWCRwB&xYFwQz&XQU{De7(;} zJ&1Um=cNHeJkImda6uSnA<>zmd|vuh*f7rX(iA}$=Xoic6UBL6vd^PF(3*T%>LLhd z>oqBbh{t(ddUCulP6u{F`q!Wk@0*g%3AFJzZ%HMIc$~MSGJ-J9Taq&o#`%+WOL7r5 zjPsV{DG1}dB?WMzIB!X5C%?scPf9z*3FCYqWfAc>A4+a#(8gEHM^Yvcp6}YTM^d}9 zXybF@vDDL`T$?A-2qNBxr&1yj@557Rq9E+UQ)xCY2Yoo?^;B9YY}kjVKb*}xmDX?@ z_2H@XP!P_Emp`1%ypf#GVPw1yZ>6>Q-{O2H?KY^n_aD*;A|B^^={ymS^SyLU5XSjl zdc?~?oUOdyORt0t<9z?a3ie+5%xx6sd&&Dew$4}DzkgW4{*lIzjmP<~Bwa*LzJh(0 zoQU`e_C;!FP>lCiDU66mEyp>l+aMxx*!llSgeW*SvznXF(C!)1a>2HgY%-kJDC;BI0q{%54QlZG)_EQKMrB&4CB9L27$t)=ybkzAcpXr-uucuH11iYvPF0XAX%JVpxHjJ8K zU0Kc%v}4p)&8d)>d-<@Gj$#3HVv?W3Sx@Jz#9_PxdH^nq`#yUUTBO#Q0?o|7Or%fu+o81}%svXP#!z-Lp>S83x@rThlzt zprRuin9~i~yRMVI#Go;!{mkE}MnR}~nPJ=5Fx0&2hf!K5Z>JGVXU$GTn%Bt>IGIMz zZ3FaN*v`#H+ZUpl?63Sg9_!=^4{_A^KDJKoK$L2_)6ycZle=?b%eu!X>*QLG&@+h* zYT4GjUQQFVes^2*208dKw`I7tHE)#n3Hq4V*1SnJJ>jvyF^A@?M zAbsp0^HzCFmL`lqgUWWOwock6%li0XCogFduO?*;u zL@s=8f$PLK8?GToqWU!m#10aoUIsSB*1ri4VMWTs6+fa$P~VYMhnbh;aQ}Y(6Ka z5v8-rqt==)$@>i2X}%%b|A{TkWFx$-mt+Kb7qS&HL>VkfWeG>n-v#*-6kJ>*3pja&1BNHdy56aw9$ez8Ew+PysSz!J{-Yw{AW-8EOL8c)YR`2DLf~pO1VDIINf_g!@5AsbxW1-v! z`Jtfe(;k`slwS&ZIqe0|pMp-j{KNd0{6)}}mmh)jk9-@g+Vj=?w_Hq6{$3QL|BS@f-H);(Q94UFQ_<(6+(A%!d`+K! zY-^k~)yhf1E1W%tYvPtE(J_7=LzKWv-&TIH| zrqYvaNZ~$`0^ezcTDVP7wh$$;zra&b_82yMpc4kQ^ih@T2F3d5%1a`?@>wet;GI9H z(-d5GpKPr-6Xls!+_3<;2-<$fo>?nv1YLodRYch*=o!qcB1#B+lM`1dpXT+8*eERo zHE%uvD3&PIRNE=T%2w$o2=^mfWrQHyk8G7c1-ayO^(m@+5wt$F2apDD#bKO#Q~LoG z6ZB_%hE*}8v>>Y<4y>3`Sx_Xrd1R;56x0F!XtJHskSN*oqR$W?d&N_bUNOVUUI`HN z7W!_lgbO-T6>U+19#nN;_R3F0dF<;D9sU>@zORRC$l#^F`V?0t5y5w*W6=g5n#OTq z=bvZ8SA>TUC9{9voAt$&8G=HiCqTJ>iIUh|_#>?)l=|?76F$Ff3~ywWP&yE$vR(7i zd`c)i4f-7@r6_tPv7D#y&0giLpso$G)ly18G2Z&(xo~}?WDzAX*TV~Z;47|nyj*-F zyji7W66LY@NS&2|kDT$=)0QmrDWgOYrLwK_*7=lGIvA7%v`Ns?dAoheDGvpmety`e zyy96LYe{9NpRe<&sQe~q_wy}Q6_p&KWVWr_KDm#08*fLps<$GlB{x-}9-VTo!aH^)b+GLAO(10=?kG66U@4sj2X*0>1Xt zQa+H4@BOuu@}+5XVP*L2Q%kAC$+Td(;#*ts5VU^zXP??i08u*2$+7mWqilyiw}!{t zcRTET>ngY4Pvjward9BDQ5wJ>LBlQ9ufb`bdWw&rIz&wcMKwfQJEAw;>?8Rm!QqU||!OTi$K|{7@SotVD z1SM~GU_Qz~L4&qsSota=1f_0+=afp4paxChIi)gLkZ)6XPO1DZsIfcE2GgF<{uw}&HTh*Dor zo3R!-L}^cy&iXCeriLi?XF)UI%)hCUC&)54$sD0v7xZ9ZlDV1kL=aw0G*^mM z!&=hW{qvJbw@^w8dJoi6`TkjXq~b(2oG-)VNM!(#xMEkv2%;-?WwIc;Vpq}y(G|P0 zTo7HcD_Mf@Eukpo04I8Xsg-g|5S~%DQl1LJI~lE&TFw|XzbbF7xC_Gb>(+`z5T0MR zR-y#q`E?tmqaZxLZlm<&L}&NWN_2HTp2N?=T>#~?pq^(XpmsI5t(e*D+fK<5G|(H~ z6IZU*q*&;Rp`G%SD2cg5!2JTHT`g|IH@Vs=@q+M*;U{I7AiO8gL77C9YI@}v=-Wxj z5%dM9v+^e=I-BXDl&p<);&!lST@+^`ejd_Qi6%-mb=Vm0+g0fxXtsAtpzeZB?1~2J zOO#}~va3DNP+^OLV`DcZP0-KtCID^X#O%Gg`u?IE6}AUeGOW5QPXztc8tILoxYiD= zyYi7J)pQ%)#EVn3Iy4fda_;anS1BRr3~ZG+rLv$VZO~SeDAn}u_zbH!#ZA~EW9wSS zDL#U#jYrRJf`;`%nj~mSFMAfJ^sI~R<(i^i^z@Ba1`ws1I>6aeyfTI;iPeO^EfTM6 zC(2{hCk?ZWSGKs&=(602J$!m7IR^Fj?V+gksShlwjXmqBJS0kH$6|;3_EMZ1@N#B2 zm+GSoB+7#;TAlS#@*4>o90U3&_lO=#NpSS-qu4e^TQb`U_Z6X>pt>u>Qu|GkXENZz`W|D7$vcRBO zKx++J>N{A;HfXc&5T!yB9_N%YIljXb7lV%Z4p;EkJlKaNWzPGKROT6U6$pPVOz3CpJgXe;P|7b^ zi81JoZL-qWphvbT$}*x{_9nHQU#hZG(60KGZ6+!Q1mRiGMCA$*Ki8O~K=trfU~o@$ zC|yW-Qa5uozu$x{PwHr{>z8Iw8?&p`4CN8k!jH@|l~)FN`OQ>py)bHi4mL|^NHmju z@DKExr8s$`EuF1s+|n;Yxl1&Yjcyp@w?I+N+*Zc5liy(jV6OWlEwC zdZwDPd-w5Mreq5`4zyf(D`-j81iuwZEnn`r323F#krS;_tCYb8UGQ0@j5nyI&uV3^ zK}Dps$`($hrm%OcR}KjJxxodXV}e}Zd})JnNswQ|3qZF8J%e%^mFI%~g>oB}_kwh= zZGsPK^Ee&Bwn?!jN;cJpBl>2gxFCNxqHk6z5GAp=DkJ@}loX;|RwHI&(XEQTKh~0G za{47(-mW+ba{C2-Tc=bZg0t8jI@_T%6lB+TlHU#`QIOm>Ti&UZ3cy-&S-HMC+o^OG zR2ItZRQe0@T{_)wr;;Y<_LaGQ*~&aY|6N(@w@+Ci=w|N$HaSX;pq#3E{SGO&h*H^+ zGKc*RD=!T?>vu$n3Z#($+ikz2N*9Bk`Q<6O27UB9u3R!m^FOJ0S_;cK_@7b24RZEB zr))5&iT?#g#_?nQhQG|9i?BgQogFRP2Kb%PsMLrZ^k4 z#s9UEW>B902PM;>oBp2^Q%GUC_x@iMCxc7@nwlnPP#LEHTXms9jRT6QER>fUR3zBOn`KowODE373upoZGlpi2QR>KKC_1=LsX8T2Wj zk^0u4qJeH|ba-Jc&Vin4PlL>XK5D+8b!B1#1J!#5bqlnp!A*I&b+Fxo)o6px`h}?3 z2Ho}xQ;!?;%r9JZi6|_W5E!BQ7&JbxxteLvN54ol%OK6al?v0?Slyxp;p*n<3xDpJ zY`D7335372EC^RO_{*(Cd{u?kbtb4+ z1dTs)8fEER$2jv$JK+o|L9HyvuNr!K3)(R1 zpml;8WKe|7U^SW(o&63`C$->P#cxcuIz*jIl*fRqhN>%tZ9%7Nfy318!nUB3wcT*_ zt+3g4x*a$|Wi5Fvww>+=j#OQU^4QWHPXb4&HQ=5FUJWKSe;4?x+MFnrrO*8wI9~mk zC=bXU2=Dq^M=0sDI2hc#rjDwJlL9vkC9*^_v=Rkd0-EI#kfy@Zy#R;nL_=e;fmtyig;F}zO8&Yvx-)r&-_>`$$$WsUmKpm@t#wN@-2mugBM z%R1H5pn;b4>KH+?Hq^2~O*3eeWuux;R3LRNy`ODTuM_35sl&3ZHmffM9XX$2m8ClU z#ABHYPieB$YeY%#`;cEPS*mk;v?Z~WIQR>q>JUL|;LpBqRZIQMZGUV-S}q9BMz^Ya zi1=C1HuVHiGTn*Vrd}fAS47*@!ly#k1L3HxsvUT53tmjLY*z;wG}W?0O(cT5G3HW! zJJq*cc+_V%v@fz#Rl8C-(*rk)*G|<|&^tFfAV*HHqO|wjr6v;b*0a?t;ptx_Th3PZ z3!0cT%aX006ol7f+3E#Bcs-V_-W1e1KEtwGeITfB{1Tv-f*wv>W!a;C5cKcF4M1N6 z6^HAwy{guYM_moB$M&kl1brTxVYN>!Eoj(?ZI*p%B|*QA*bP)uklcNrykBiVlx!*n zcUAVQ9)fB=gf9!I0fIW`=2#A>;i6p5p$w}7YP_K8eUZiqYJ3DKUC_}9NSg%V)!6}c zCsDE~!O4LgP!Dn&oAN3~IjH6fngpIXs^c%%zjSzxe$tYo&L&D_&c`oW4ymh%@+7;?MRd-Z7j(2IHUFzw5K4$>YO@4 zP|9h0c1~SGl*-!fEgF=s-VwG{mmGr5tFMG@Y?sPG7u7Fl8pe;l*rZ-le_8|lYggTB#(onGHa%Z-9xTNT!#;THQwIJ(~` z6t1%F8lKp{dj>5(?;rGyaIEheHXOl+24UYH8-#s-Vi1nfQ-g3Mo*9HA|BZ0uUmCX7 zrNe?=8HC&6bs-h?fU|@*s+qc1KW35qLJJ zy%e;qu?7Bqq%wlHm($pu714?dnmRkf%0{atXyt4NW}}&jl1(43!LvavR1mxFz-+b7 z!gEfbMJ}oh6SOuE{xYAIBIpdXS4>+V=n=G6Oj|2xe@fpVJ1s}hjg$nSi-L|`g=c)) zb3u2n+B19Yqo7)^;1_C|-ALXC|5pyIxaKCPPk4q^39Xr+q;LmTLhB^R47QTmP(f|L zR#KZJsMY!mt5Vt$L2>IHSSf9*pnKgqdOK(*1pVDD!|b5l5@feA!>Y9QUQq3g4y?4M zkK&QljLfhqqg52-73sjrXblBT-;!bFsD%kywZ(xsYV8F%+{~~ls|^z5eA9uI)lvlc z?#i$#r!5c^y~}}>(>4jRhkO3zwWES+j&We+wQGVNZ_Ti(puG|FWvc_Lpvj|ooM&Kv zsHl|{^l-cbtEjmMI@&A4s*)BY=x#3uR!NH$wElR8Rb{Q8po7O9SY<6y5dKcXNt-JO zf2ZN3trMiecvjI42`T~OSw*`f2%pka)m{j~r!-Zy{{&rx{jZwlFos9{5ca=nS}j4n z;90V><}YZxr^KAK)`DK;WLQ<#dI^#aIk4*57(wk)GOTK7vjp`_abPvHRf6sww#YTL z{enInwr4f9Q-U^wt(JCQ&@r&p(%uR>oR?u$TeBL=WUO-2T}X?cR)H2D?i zx}b4I;T=}(t)R@J4$NIse&tb*O}EHRG#jF1)6{f(_>1tRgsp>*MfT7t2wQ(2`1_h# zbzyUUvW|Ib^@Pps$tj>F!e;Wg(IWq>l@ruG(VqRRRpZ3;=J2@!d&?d62RsNs!PO-e1K7@N*o8H26{b=7JabT{Z14Su9XWA+!kuMw}c zAj&g639-oWT8yAiA@*SFM3ijGn$*>&hZZmB;H0NPJ+uLW@Y<=THe3*1JN48O1wA~S zVbx2UB4|Fm-QG*fBg!*brxhvDOFJv5OxnLidTCb$Il&tYy|uf78o(P2y|t%AsV01z zzK`}+PX8sH`#-=eD29UL}bf@weU&UqhuD*T@D_sIZozV?07Ss4bx`) z#;E}MK1|CJ6wyUz!?nv((UuDDqx|YKT(g~q#NR*}u9YI<@39Qm<`TgkFspQl;aaw! zlvx2KMry@pP%U((I#w&o34S|JG+BEM-hXJRaQY}%~mR#P;yAiQ5N zRf`fd=z4O6soH2xrbFE_tfp&|1Z{bWG)K_gnn)`|x%u5rvFRH7owsoO1pHNAt%5-k zo2mJ7GVQ*$j{UAh5aC*I!RL2vg0OvpF9gjJeNTne%_Df0_B+{9O*=;U17d zf)8rd=3_Z{BXaGL;6qv~LGQ1e2tJ~H|Mtc)tt;7b>CLKRS}!7;FIR$(X_L5(-r_zX zJX7f%-4j|i+44+YL+=Hj&~k|Qb^i%1UzEdVpC`0h3ow>Eb`DnWliF-SVS|vq65&1n z$H6Bx*M;brYU&Q#;gn_;H0q(mPH7Q>tYI}ht+f_}>*r~$y&zmaPiwyj!u9iv)<+Po zpJ%iof+FEtA7`~Of;tX>x2m-Xf+p;I6?{&cDyZZoxErG_7Syl|(q=)w4@cT3=ulUr z6M}9(LAoaBQfZ``i+KOGKSS~rRIxHrGePI-A*Bj>+do@Ar_B+xVefm0ERz#kyz@Vx zmYGy1OCF!k&TD;%lGwZhI=i5)5w>cu>R-@YmZE1mYuLpUazX2|90}f}jMv#k&29x! z9qM$)}F3MPySr{j`o%)#pF8WrumNcktoR& zKIIaSxN9pdo?AcUu0iLYyN47Qv}>ME$OHHs47D!(m4C_nSj_npIzBwnijWQ4gLlt0 zPfiT$e5!2_gmpgGoHkNq@NTG2$V+WDQ7#*?@f3TbeHOI4d5rQ_8?y;LQ`lm-ns}!{ z68`0C==q0sm29~ZdcOZ5mJh-+PfMH`9`ZrE!E2$u|Eb+4;(h;9dqI>(J^Jg1TK*O- z|DO)17vr zXA&C-Hc6kfi__wRF(I;kjVO<)P^Y4g$mX{5IWZxs{#H;-(~cpU9=(U#0!ze%=z8#8 zPMu4153$l;5+$=0zL6o;denZj<-u>ry8~qr<+7L|zxvwfQ3udAlZ}lY5K>gnCrV<) zUyKN`*If?sI#2qhgp|_riSpRw6EPtU`i2~;lTC*{l-4I5LP}<%W2S_Z(X$Toaz`G| z4JoH@$VHmTeD5z0sifCB%58qlHikIqImfsy>gcYJs(SQsPQ`vX7~-tIBg$jzGmeGS z&_4hk=L;otM>Xb+z{REcFV<(qyEK)<~Z_wt!o6}dVYv@IV?RCZ(sHO1f$IK0I z1+AANTawASrCOqf?jy*}?IL&<5EV#QT<^fsExVK00-sqm^)f{Kh*wjuX4uNx*3?~y z@DAklkXpJs5gu3Wh13={q?HbJbU(vp&+6)fi10jXn}dr!Mo{NxPeK~#DMaa}6T4mk zO(9A(-97vsXpx}JM4JVr?D-FDhXl1tu?}sZUli0c#SW-|6U3skhWaxi-lK;4SK)cs z0@u@e@l(`y(1Fou%*E-ri1jI!j{oIp9Sd$g{`5h zMGn@F37e0rJqyi+&wfx?|TkClUUo)^+THJYlxCfeGl{w zZJ}pzqAk`!Kh6o};83tR=3}{Jw(@j(P)ofrQL1TOs6~#{eFW8qyS9<~2tn@f7Gk8H zBdEw|q-%mI!&Pgf9(|soHf=0{lq+b?ZX}-z+_tJ5QVLNL+g>8WDpLRc+$~a{&pjdP zF`<$AE>W(+P>bAJKPc$9JG}d<9}`sIiMH>5S=w69CtEuFiXu6*weEHiTSuB68lw*p zw74K6w4HuV(Brc!Lx0w98MHC9qh8?>FZcND?$9oJErX7PcGKqx+J5?cXqAE46+Fus;3BAJhyDv2z`b@mBU8q`3BVv z8>`uCl}3!9}cG-y#6{6zdZFBk8)Ic&aeXVAW| zg?c%IPKPbgT@1P%woIR4(7Uiz`Vxa!_!@nkK_$Z1>-!9<9==I;y20CP<7f`wsy8$! zEPSUvn`kDhKc$-u+7^CB4>#y& zc)s4wpex}Q^?e3C5C1>xy?a;{Rsa9JX7*vth7Ig9sF-*vEi+8Y6PX&7D3T_o79LP6 zR7y?DVNzt8^m6mt?-k;A}8@9LA@4lbw z`+ctGkB95xHS7IZ=fljbSu=a)Bj^4)^{<{EJ3rPcI>Dd*nX{%&U65YwJXNRKq<`VG zSE-UkCv-_a?#!!GebT>nPOeior`I~~t5ajrzjH3GQ`6IbaGqwRj`}}46F#Lh)$gu< zcJ^RJXS^qS{Os&kryfrK#W`Fli&m6QJM*-n6{XY830l1yTrSTz=W9j3Bsk+-t`+@~ z;EZ#vRx>fz|JC`5R`c#K#IMd>S`9p~T>j>)(Q3wH4&yiH&sx#_)Zd)HYqh9gN&0V2 z`5Dz=4qsiLb$YbAcxY*-v(5{&qF=n9b+*-to<#q{nX1(n0}tZ^zUg)9VbhS=T3z+> z7Sk?^w0e5z%5=Njr`2No`rav%K3BQ_Fnn4Mr<|?THDjNTlk%iioyJbw4?Yg7T;g%Iz^~4k2F;W~=A+MQ? z`&F`~RzKuHFAA>AhfSf!xW zeHd@I^2?``!U*|D_~mn~c8ei}UtJrJn^@sjVcm|W1tk5dM9rRVzA7m1JH`sLnXIcq z@OJuBg*HKvY#NoLLO%gWxiJFuUEh?v4;HAUe!>lXUG?dy<0zl-&*A-p8V>I^hBBb zHHBOvN~e6C-dGlEHDvye=@-Z{t$um%$Mh!hm{zY&`87RB2EO4O#LCZ``J2kQtkhHL z&16=sN^|ZMqgOMTtJR3tJIm%W@+{gycKnt?(jIR0Y9R+HC9a?FySPZ&|H*#h;fmiy zD|wSr2pR0vTIMTdUG_keUYE#!Xq7Yp_krXNR!5BCxp)t`O#hBjIbsx#{~an%t3gP! zjhwF4cLN>9rE)f_C1S|~Eqh%mtF?OmfgjV`%5EoBjb=R1w%29n)FD|eWQdxzldCDMM1%2FWKU)a0XRkFQStD8GTSJ_vq=hxrZ ztE-%?RsT(cdR;B|v05lTS(*cNTKhe?E5BEF+3^>Z=Crm`dtD>fu$m)Y!S9*VD9MR4e9bkuN&(W#k)xc zPE*MWtt%>f_Zlc0vzlYg|GbAeNM5X!Egf$mksY+6bIu?c`P+d(GEMoR|FT?zWPcqp z=iz&tgXJw+?ZO@K!E&Tl6}SUFSmv`*=f<1mBvwnrFZ)V*-7LRiRcO65wS#$!{7%I~ z4o~*DMYcE-9xt1EWy^6&@e{4XJy;Gj-dseAdHT!#wmYbA9ZI7pomF29CyXa}Ae0fkS zdI~CE9@dJ^+WGQ`R`e89zO2!To(syC-?N%yc~P=_d4^RXpDpsG^Iw#EA-7q+^s_1u z%@$N5WGm&z<-A>X)ap^x;SQOt71j0*IZLb7#5Y@IPxpeDtP}9_?^(|$5+1VHAyBrDC8XRPS%*tcgZ|f z#|?UxYO>s_6+PEASypRB&vi|aSx$;~+@R;WrpnD)(Q{o>WwBJbFT|5a(`AOGRLY}< zm?4+3I&RSOS@%f0OQk~3XU&pXTG8`a1#%Xv0uc)R-0MDhB1)xl6?(c*CP%Ay^mN#4 zIfzw(I2_{?_sdeP-eOgyL()@a_sc)rDjq#?_JB-{QHq`_nWwv>mj*Or*acU z*28kER-+FY;$iugR`dpe1#-Vu(;93s7sx}bb{n_e;1mnwBoCErH;%ic?(ix#`ZJ0* zi&cTR;B!as1+tNk{ft*DonqlR=c&gnmvD=+uxh!L~P;3ic+IzWN$*&!oWBvF>hu)9N$n}@UW#lT( z<1%s;=W+R>j`vuf9_9*Js@2*)9@xLhto5iC-yKAhMvIlapA@;WJ5zY|&7~ zy9jR9;e#g*Yi!711YjyeFDZQVUQ*_7$`|-;!S*g|Q+YIrdT-HdX zDMLYgJL%FyZWpvXz5yj~ty3PTDRpXA@0aBE#vIb3wZl!aOejEx{8SugY(|14jp%ZN_$hvy+91Pu2=L<*^^bF zm~?b=?=txut2x|eyW}RVsLgiC?OM5d+kLxbnO45u6=L@}$CtO|e&xr<&$ne2tKG)r z;JsJvkqONx_uU5Fsdz_rY_1gDsn{!vTaubBGG2MU_deP2Lgh#IE%wWzR-_8VnQgE2 zJ|JgbOlqNMdvsUt_hj)UD&(!N47m1vIlHY=_aa`U^t4lo?iG9>7hJ9s-7EM|dQwOg zh(lNQFh7!Qw2HlIU+<4((iP;lQ1trfQ14IV$t#tLdhK}c&t=CBO7(p0hu+n4Evwx| z6z+^1lPx-u-)@8MntUnerjjZ%=$_4SS>2UXfw=E}R^3%96`QP#<1#Bvg{1pA$K|Ya z<=1Kh`L*dqYOy$+8VfavRe^ZvrG$(Va$klDdFz;_8DGn4R%q*(0oT?_d!|a0?yr0+ z1AR#qileW$&iGDdvzjgLcrZERq{M6Z;HR!$evocfG{<}|^#^$&D>_^JtJjb6N>;mF zWqAL@PqHhk+18iE@1*}E`)Wn+zWGTG(Td)7^Hbfqk=_PVuO1l@6hF%`DoumVYQM-C zTG3hU7rBE~nK5n$`PutZISa&XJ340kA~Uj7{g$lWV*gdHVpSjtS6`Fyn`}OS{8Xv` zkjbnHMBu4=Qw?i{^0S)bNNZTdtae*eBf~0TMd!Z(Hp3c!lgckxdP9b3tzxxAw0d=J z$Y!0;e)G}>*z8u{fhy$2r*6t{Sc!v_a+Ky~xUAExb_=R)l(lED^84VWu^G|U*_)NR z@PmmNF_tG=seb#$W_YYNLr4{hwWar``mD9A3d9ea?oahw8AHjBet~{}YQWmTO3he; zR>xuFH%HK{BxDWKie@DtYYr>b(;;gqt0m%0=b0HHYmHX>I?u^Su(oLRS?6Z{hSn~v z>|H+V(8%i93>k3i;_IK*LH1MgiAGi}tKG(#&I6(ot-Rq}PGeu^e`H)>onkddeAd|` zlB|pzzO7Xe4o%JLu^~;lX)=pM* zg_7mE-1fUsOwg}quCOXu?H2UQ znvT|tJg$SFxp!x4hgLM(PPKm2ihjd!mDOUj3Q6<%u2zv&G)uqQN*JU3=(jE1tu(FZ zcRklwhgji>iDr*yq*)1LDP)0|^XgL>*Xj{TcQl>idMkrp!nwry*JJB5uD7OWwYA^P zw(G5Xwc6Eh1NYp`O-Ct?p#CNvqczkYBl0hZ>XmT&vm^q<+$B={uyN@1T+` zv9{h#s;O4Rx0C9i)pdeYAFal=BsEg2Suc{Bs#RV;9{ zH$GOYS9Ix=4sXQYf?{YmCQZ%vR0=H$#1V#yE)AxT3MXtFIv4nkwV5yQ04sR zFjCF6TEVK5RoIY)GgG?%k_I!t8p7B;U*NXy;fIqymYN9c&{3! z)gL^v?$YW`?xXoyUBRiW)~fdnl;*2iUHvAh{aQ6#Lh1{xT-TF2qt(}sl8T$8%K07l zUrVh_j@Lyic@2f^r`5}>ZqurJXY#v8tA&k8Ez;_Pout-j^~5exZ)!D`$Ldh+|$=+b%I-IuvSekq%_BARm|h%eywiiedTejcJZ-p zV>ll7?b})1q<++DLKP|3-Kw0k=aXupm5bFCTK(g7^6RZt@;XvET5aTz zleM~cJ^4MP)s?+SJ+0Ml9$8zpvUn7{tJRo;6!J^0e&8|xn^w#Elb?68DyPNuyGW~t zxs|Tcs$&v`?5|aaFG!8nD(5~@_iD9*{T|h-d>i>ar`7m9q)N5=>^4##Y4ybOq`uXv z!3(5pQ&haw?m& za_}Bd9#-5EpKI0qa*FqpRu@en6+Kmz^SVq@O|^Q1M_mW4;`zweN2~R`KaA8W`Z|g? zgO!@8_O!C6QJRaaPv3Yo17}KB3#}7xyahE@`H7WF4rHWTQ|i=*8NIDCt#+*WJR{Sp z)XK5+tBk%@2ETxNk=V9mlf9o+qSZ(9|Cw>4wPOb5M>EczsROJ^R=dQGHNRvGw64D= z?Du=dAZx5re9e4|HIY>TKcjSuHADN+YE!l~Tl>*!Q?~Vx_M_FNA=aa;3N2b~8e%=6 z{i?ezmqV>*v^v=}D27@uD#axmW>slFTII;Gj(8)5yV{b>Dcg!Q{t z{tgQK#ngSz?KTa6Ek5&Pvv*5q=D`(i*PScl{6BS6U0S`mycOK2KOv?o;s^B^UQ8 zwmgMOExW9w&$HGFtv8S9`>Wwo$uUeJ;3UIZtG3f z3RbGEU$#oLqPE^*y`~kl^)_q2R@BySSXEk4Tko*G){5G?)HTL#JS(#eVwbNJDEv)F7=j-}>rT3NH z4jSb(b&6WPwoXyY|Fcd}%l}ZPsO3-9DQfwj>J+v7&vlC0`jL!e zw%>2(ECu3Umrw5$?aF&t zDY^sacCFItpPi<6a=T7x^+zYCh;dO}(YG<(@Wfz@Yvuxqx7%2Z->S#x{B|4B?bjou zY8Ul%dyH$o3Tdf$i&>Qks!@!qQY$KFtjk)+X$ndu&ee@o0p1dKNoJhuBr9rNyiM74 zT7~2^y{k2$lpNj9Ccs|#7_QQ9K(Skl#r4C7T@VS0biqrJD#3D*XrRj5J zv%CV`F0;hKr0w0hX4b2U>VBC`>ijCI@5sEQP92-EFtdYJ zOOj4)UYXgcPCe6YeP(K%+E%?j^D5V8oS&+DSC{)y%AJ%Uy1E9{sl)cGUB#@_?_RpO z&MH4~(Q${-&6U5TK3+H1+&XpG-re;^oq8#=hwBt8l}eiHf~EEG(pRMM8t3~3y z+h5DP&Q-*URvm74T<_Xi7t$#*xJKc342Bgwm+(|-ruL(^aP7$KTc`SWIgpvM=_ zy>Y-fd)xrmw<EIIiOW@*>z&n^x4AlMHCuj=IodT!E8HW=%s;1Oceo0) zUzw23JI<;5xVrj{=<-44ggP~(%h#Ec>J&X&G4-5y)9U<2bg9mqQKyD<`7Lv1ouW3o z&$XCyS8Y~!PRR;gt8~e3Lz@-4-qPwWwAq|BeHm}1r_dio^kOCjuH$30~4)sgJ66YJgSizrO~bPD4iUvGb@1G#fIQuu7p zCPsqc6qK)fDfy1Ymy&Ec{qGYfO!ZOXuOT8?OwQL3TQ4AY!jZo$ICYQn|0hS5Hi_U?%yhHc=MU zO3MA}3zR;&4Kcnwg;(uK{i5uqP+>lvM7|d{qSX9TshnqyQ8~vUmQx&pTk3Sq4@qGh z+V|OVN{4c^>6BIO=f^rfeTr-8bX2T*n&;HbWuiY8xDNvOVdLFqfV z9h@Q#DM-=c2<1rQ(# zs-uJ3(8+Bmx%DiL<@%3W?{n-Irg#S<#3nB3PdUcnJDmH; zxM!e$O%Zi~a-s2H7bS-%6t)Aeo_?@hC>CJTj8 z`=G&X9;P}z(B5qm>o~{PxxVV?@n8ENYLA z46lwMYQJ;yxTSH3=TErB{%3hzA1YO3nwKvniw(zKn=sIWcCi`91c#^@Li_dg?PxFP z0UF||eZ@9K(^796EPyJ*V3s)Q#K zC`?N}L(RXQ+>yLHjpDXxLUGHGj$QmdpThiAeIv_E>4(ew{L7S%Dw`_RUzJvs=M`>A z)ozh#Mz%v_3aaH*$|?nAiR^{QbRx?ZnNDQ8soYg+N5*o?aH%5GJimnhNy_J!@V_lv zWC{Z@HcU~-$B=rrO)P2k=RHMXY#iQxP8e0MzbeUp-h--59?Ze{N!-e%T5%PXWH28A z{*xB_0wuQz8u^C!yL{CM509(JzKd+1zpvL{^}b4h#`%9g+W$Vy$dUP1t^L29!hgH} z{%@B@9l`#;(lY;9kGDNie|-DjZlB0;LVHm7xEh&nW@x5)iDpV!LRPV-NEwdy?<1sF5k&>Oj8uLG_!&@e{YqMcjkeVLV{$;dpBkIaA12jhQZO$#RI#zp788(S|m$0kyV^ zHK0R$0XoG;pcKb3SFxyexUTs%y*{0ir4(x;u5iOC)A>lvtL);q57|IwpTxP3~fhA5*9~^W$U4av8V0YAeOR8nKb1@%+&n zIc}A^@@>ki5?4c*>tgiUMbZdr)gaF;KUh=mdml;__HB#)b?Uu|_CB=_{uynO)ax0>Ise3yLBcdLGB z%vW$L_((zwhpczoMDMwj@_$?ACVXXd`WcF=MvJ1d97Ml_$BD8i9ymz$$1#UD#V?qp zV{L~m@!yd9fnLOkeBCaWVC(){*m3aP@VxSt&*i{j)Jl6y0aTe9pa zDg%YFiMg57*F{+rvX-wn6jjRU*jr7pX$$$@!Y%n%<@rzSYW|@1DZ1Xo74Z^EITL%m zTFp3@D!gJT@7;fu%lUgy2HX%DfeOB8~$$QC%+k znB1!G)cH%rT7hGNDH2{GUo}=$7&XFGIz(LE^O#p@62lf9a(+04bM2Ao*Sl>xHL@6@ z-foBtoS`rdd30^yGXkyqVI4A}uj}159oA@L?C9sFQ3~|vjwz1XDEv1(R_lFj;+arPUrs~MxIln3wu*rsaWI=w|t}}vVBw-vV>dy-$UYBo_q7p z?dP_qN{!k<^+LEcBIEwMZ@4woNKoakcZbU#X^9+NDo53W>X;K5Qsosn(jrSp_Hg-W z&kFBfDjh0wxFzdTK6hV;+#l=R;WDdQN47S(!@lPq$JCXJI*yV1&yHjN&tlPe^Usb6 zYTy4WUz#DCV#Ehj64i#y$5WfoTqVp%%lU4yn4%}lT2 zbNabys<^ZNBCg8o%UKjFl9BfRcibu$)h4PWk@-eihVl6{vb2BYRw*dbRj?^8noKo~ zoMlDkqWV$ImLrenfA3b;?<&?hjJNQ)UY((S=eE^uoIMTU<~h%U4X8Y>E6AeU-(cUd ziCbY0TZ&&Jx0+$9I|Af3#lK3)u4?qtr4&n*aQ(6N6 zv7u5>rTr^6wQ#tck*!@{66G5Xqtc1YH?kIVbTvhnYpBJxaywA?aJ}O0AUB1_TG=rg zE%sW|`f8f4 zf=zKS;##aB#%eehl~*Lyx|3P~qo)GY3WFiu<13~iT%%5n$Udh7rTjF~w}~gQkJ!ca z_mQ2}SMdgE*m0K!*Fj;6%0-=1Rt_io`EHuA*o5+pJd2$lGBSn8ST zj9ZWU5lR0_&&e}iKE=gj2m&HC_I;oKBXA?%*{Ahn(f^Az?(Qxum| z-PJyI6J~3sAiIt2c5SD2IJYF*t_r7P)43?iQS4tfUVE{NNA^*yZG9;ut;wi$8&gE1 zwZkh&Y9&X_D%DEkXx>v6a}R!7NFg7;nW)@q1%s$+5uR;Ej-~V6N8hIu)G_?}ZB)W% zkPGfXW3O?D4g={Zx)UQ!itTE=@sa<}Lx%hD{9Mkrs53?D$0&E@J8~GUmMgdUNVrtt z=NagE44b&66WM7DnBp3&1K7lX9b{3pR+fuUi@&#=>#I_zPxJql{#4Ab>|z|x-c>AG z7qW4AaC}C29HMsCxn+n<^Y3#%zeax_J~HKST(xc%+2()WK5896wOf5Vgj0*OsF3Hk z`T3SV4|#4~)b(Iw+5SGA`jVVmYn4vD?|)PB$li=BNxeOMZL8A%tG@m_-|)40efoda z4)x{#v)a|i4c9Kx64~1I>4ZZ@S|UT%r|@UxsrL=16KRP|r#}5ZD|x+dIGspKWIEaL zwAZL-v?51ur28=(G0uHTNaK)JS-H;-PpcW>>uA-&x4lW0M>bPw zAKyf7buOd+HFyo#6#wmN^ZBbZYEAy{*Qix#Bj*)&@VW9S?lrobfb%%qHqo<;%BI3c zuG>e}S3Omz?)K8XgYXlH>RMRcUr^WPWB5u|tu3f)d>7Bk)RnR-^BY-|?^iP^otxjH z+;{U#=1Q!)nxY5N$9u325Y<)rmpn4nRryptjuR>G?(9ePs85Wn!4RP&HCJSIQ9mg*wEqA=t(#j`xa zR3nEh;iG|aN4Dx;xg%F0)KkG!LYsJct13x7)wPDYMo_D2ipoN(I%vnWansWOnot^*=G2wesDrEgVsqpcnetjuyiQ#ro;mIAo9~W8QCvY`qh{)My z{k+r=r}?O&EaWytL6BNt2CiuAVop(gnvt<0-3L=CRu+%68?U2SUvu4+eI~A{ZM<)W z?P@<&zBJpkiI)%_PYCepQ)J52Zl;(QqB2ma!n0+%D;mDSQsEsV6%rvT< zdQS2po^`A6Dqouam_oT#cnV_^YF-rSt4bS5weQgU(-hC`r+k%rQ^&9yPl49C|2mAi z*V#6Q(&+-?+4vaKBLss3b|f$Sjy>RFEe=!@Z1$hwLV$jBkF4R z+||X%1#LFOO;BEiqCse80CHi*NHZvET8h;G@h?J$Zd#vnqn&K zHhmv3G949OS;%eUtAlVGMz+TJW%w)K$aE;>@VHWW5lw!^$q*l`Azz{?)Hz7G>G=)y zte4t@Y~tAc=UUG9wTlDXRx~Rx#Y>06;SJ$9Uhn>Q-|!x)?6kL@pI6ut9ZxC0)`7xM zcsuXi4lbKh%*8&A^Y}Sou+Qt!c&`25L#o>Sdl>vqfolB;Um0y>Z87u@QaLBsYdmdaP9tljGgcMzdxSU3{#QT%?zG%nmkL#v4Y35 zI)4rPl6;k0&AZf$PEpwv)l&*LzFZ&v^B~QLKIhR@9>Q-J#F{bW`@|#~Z`*O4w~6jJ z%iG0mQM4Lx0{P-Sv(sr6<$(`r9eeCVdj75PHx!H9ruYEo4x3oW=j+&|6lI?k=zj7YwD?HQ1^`^-^Jfjeg6TsU3`K0utN;Tapv4B1-0_2 z=5_V%Kf9m%BliW(vBUSm>Me$-cjF09KBCrJ&h=Ht|Nkjpb)1R3im6Ze{BnkWMMBSs zInH_N=Fd|&x8xM-+-G(EE-(Cw1fvVTN&v&p|HO^*i2DV;orwRH!iTLN{{j4m@E?!= z1pGI^e?$B?!ha(E8{_{1{5QdW68@XwzZw3Uj1LE87HnO{z4Zs&fQ_v9Yz*o?I6s8pPhz53w)!IHa^tzY|H@*N0dc-{DLNLg2 z_cE2+BbLKnAxhb|Mul-u$WGu#VxHrlxS(9f?s5<%2P=f(q`aDfzlhP!rT7NGXeWJ7 zV6>CIBQU|4Fvwv{OwV{Ap6JH_|*VKp6$)$;n|>x@!Xldap$!(8`v#^P=}kn;WC zz7M|g&WFs;z}Sl4&3Q66%VAqC-+njB)&QfT1=xCPJ6P^)-;pi7!I&{UkY>!70k$Ld zV!UPVh`sSU!)-P4V|=r^fl-;)gVVefAtw#L-F8OK&Y6KQM-XzktXeY%EU10RMyKq z3QLTg+zsrl)xKaQb!%a7ZLNN}HGE^nTn2Yix2_!WTKjT&Y+N6E3R1|nr!pzzM1*<1 zY^uGJ#Vu^**yh-e*h}7d0^whIrx?utb`wb7p-ty7%jH9;OH(T+Yp;Et%*lGsJ{awG z7`*@6ui5PpgSo8+8;$Uu0vFOW9P=dAt^lp=ggZAY+TpS;arhk@*}f5$1XzZ2Z|a~@ zUFhhi%Ri)h8@O|`+B;}0b#c(B=GdBKq;CfDwCWS}K+hf_@2UE#>m?gO4LVE=UZj|g*Vqd(wY^p$jGiQPl9 z?OB4pjhiLj7#icu5RZ+J;LFqgK)t$-@;R5w=r@zVuA^Ey3s5$vn5X$n@-@zR2922l zly)WTkB#VsFawX@=p1eJJT%m~5Fu}Kt~M^da-4IyG3d6SI3n6Eya#sr4$l#B`GR|# zM+AMJYc-B+^PQ!F-r~8?pgnP+LHpoFYxN zVjF!3woLidxez1a4}_d>LdxX`83T^n*HD%kKXtoEHZ_0ic_}RPmYC&6?!NYNqg9gI zSyInlC%?DTcZ-)B2c~3!S3W#U9<+{j8zT=}7d<=Fc?2mN;;`i%WjJcAGmEFl8tb9j z>5}XPl1lEuN3D*RJRlA1-4Dr95!G-xNN+h!XWvp0YWOrt5`%A`mWovkHgb8kz&&{& z?4sYm_Q)}})pGEarbI5MyyJ$~6C4s#9ybGBo37LtQq2|4`a|%&m^~m`!2lW*K1}_JIJF4dzh0% z$+R1-NjwH-b853Wh1uGod|#e624VJ;8)A}}aCnThRZeR^6a4nwnXpriTX~e`i|N~> za}uXhV-=v48kpbU4dYEss!;V zG5B6Qv8`vV+S<8bxkGa8MkX+6yD*7(H@U9>MpJGRPyy_@7ZXx?zsB_O?3 zHOH*M+go$YgI{kk4|4A9%=BLETt!^Ac4k3sFIPLW^M%W0k$C=Kw!KL7TbKo3e`BX8 z636bm*+t_V=SstTXB^z-JCj}c+$Q`O`uOcuQ4L%wmk;p{+#EACqiqzmc1l!@x%1$1Nyq9fIO=}F ztXk8uW|u(fAx2m1AaP+z*bvqA03_+oXiY z%yNwIV%VQpx?Xfg|2n~szVv|4G9Sk`J-geUdwNsULG#M~J%8Ke5ssO>ze z>5OnPs@yzttp{_bf~`Np{T1FFRBqC@>dVl2H(KQ;eJh^MYujAiZMWkaqTOv5Gy5jD zgnQ|i7)!RdnJc<$0Ify<&x1->R#-)P3TvjUREywL#z*zD)peY-uTTsD2SLCkU-doPHY%3-G3($T+DZMR(37nU~3nA!FPZkHYpSis-EShz9(V6%?vKfF^|<>3c7M*SW&X@|5lbOs zn2lrYI0`w%R9pXGI^1-mvKw@yvK!Qfc7u*oEisj~5 zZjR;VSQP#R4*xoM;edCURL%$c$>@z{tBwsJFJ*j|x?GJC*hwk3O}x~^z+C0H`8o5w4c+>Pr*+wDiM_cVpQ zkEZ}7%YJ8rj%$@3|}q-+~(8{ zy`t%?^tLBp&^)RI+go6clx=T;*-?$B6I#_Nh#uyA=Mk|s813zjH`RH)WRLf@;aL4R zWD4@V(Q3n~r5H3@>u0CEyB|hZujqbuIxe;0veAsRyLT|B+|N!&%M^Se*Jq^~GzUmE z==j{v{@92u_I~z}<@3GYJLo8P#Qrm`3+NoT5cyL2Z4hgdHx04g_GTDg9glIg;TFg+ zVuyVKJEc=@=FY;b!`xm_?JYMiyBgoU=kZW(#tvH#H+_F)s~C#!D=&1tg?DAPGw9p7 z?TiA_3Z+)$0p9zJvCHMIre9SaKok8NHLiq^of@L62Ms-`R`0fz)o_ z+o{ZlO`3BaHoJ~eOo_@eXzr24Eu6)*-fAx$v0QGoZ#=PF&U1Z!(Q=uEIjVFP^DOtU zS@6_U-(mBy5qm`zx9~jI)ZpmzJfh>bsxS03) z!zRz7(MMyfVjde=M%Pg8Pc>iJ7g!`L;M{gr;c($4U2$%K< z=5;}l%jF+zAC|Ii#C!h14uP|6KgaI0L;f5``%$0! zCpfOzcpPr(qX~}ZHrM)HQOZqYV1grd7*V!ejWE<=gB|x=_k-UX^+3UC|7fKDJJ@Kf zGtkd*C?_V+G>WbQnnuy=(THk4DlyR7;YIn$-5GA`seG<)KKJ+}?wv{8JNew^GhqKT zYBt-cZRZDyID8SeNfC!B;<$@B%wmpP%;TZPeCTd`IY;erIEKu3mT)YZflm)EcNEkX z1=~eYE44FrU%CXA>fx(`>-ZeB8f9zbCawt*OF;U*_hAR^vxgnD&z5reJ4NNs-32?< zg-ZBtaJw;U*U?}Z=T*t2tu&6lZ-puide>VOEWuEj@pf_}koN8}4s(Q4_#W5486gAL z!u>-z;LV|pu;heXW^Pt~Xr1dg#&dwja|*{wQDcK=2mv0q=~2$IyF%$vKjPbMgB@8X zriVsb!SvaoGuEnW=7t74hI7B;iW}}1dn^t0i=v(#%=gT+V&7Bjdy0KevF};-Jlyr&#fk(TTMQY z2gpchfZpj3j#-qQkjTC*m<4FBjk;_Rlc0(kZBg;=Ew87jyszD0o_A$;B zp4;d1j3|{YscdP%aRcVaPGh422=BAf*f&jG3q+l5nA>1^l*E_SmPbAH=$HmM&evNw z#S!z}3iPb=rVH`jM$R{bYrW9ybk}_iTsVWz1#`0&G|1rkW|)`Uk!{Z~vzNp;>6#j= z5KcN)Zx!F;Ti^4XCDT>~=Q&@V=Jn2V((!yATEi)_xIEcho@_49R@?pG%7zP_Bf7X7 zW^p=njgt;H^~-XOMf2qBhU?J6BO7i78@WrF<;;W3!^|V#-R45x-#2pHaxlu+=)9uQ ziw#TReg&K`a|hUG^Vho3k1f*h}#xc9*OkK7>Q!$v7vawhk@uAS|?+ zk&D_HB43kwKcD+_lImq11NkP+PjY$m=JNQ==iV&hmMOvrxzYOGPV3J_+&(MVUd$|E zdgTo`{(EIRe4%QE4nrj=;gsp>30J$?PN~sVyi=?&X(geAN8n~I&vx|Gr%`3xQ*@nG zn7EJA-^b4@VW3 zq>9_BimyqlxNVQ|{!+`esO9lSd-tywwBV!kDYl!`GPHa_Wl`v~6HF45!4_f$n9P3LBT)#wE9L$!%P68<*Th}aDBrgE%q94n1u_2iT@IOV=JYLhG*waFkGwMjPT zHQYvRl50B!=Go4G`L^G|@itp?)Y?XUw1QJ!#VHqa%4@kiC0w2jT%OHbo-JIS?OdK6 zoN^iGTWzBjIL16-qw!E{qp@+)M&sd>jmE}VE>$Z#g=}M|Fv)fblVYbZ9qkk*%}yon z$(9T|jl;fn8i84M8i9Fi$+uh0W5ou049dURPOZJgPOZJ&PBqZ%N{$m|2_^= z!K`HaA+}f9sb8w?)Gx=__XPXavhPVw=aij#<;RY77nh9gUXQX zpfaR5D94TtN;%a*DR*;FsnR%1PY#p8Vfs3#oLLS^e~^RH&vsDy!#Vw2PCv<+Ky`F- zEu4+vu5dPM?h=*Gi@-z9Hn3DVM>cbbYPenEn6n*t!b!O&NGesLq*5hGN}+`$dn-w$ zY9nd1Bug4CDe^m{(2>LB%PY~gt7I3jSaxl06KiF6_RVJB;q05szIp7MA4R1aA4MZ!QWWhk zQ=+I1XGGB$o)tx7cy<(x;ki*XhKr)o!D3ExEvH$+scqo6o1ik<_`j(!-N8@&uH zie3#ah+Ypaj@|?=i{1{dh~5RRiar1qM}GvajjjeuqHDkn(LaEjqkjXpMB7_Li|x@d z;Ew1JSQgy`+!Ngj+!x)h1xgi7?RhAg+OsN}TCzHtTIN_Z)$T+z)vh+0YIic4YIiES za|?$!8+|n>+}%OD`x?-4Ukke3*MlB+Iv8;G1{2(Uz(n^AV3NBZ*uvc(Y~>yRws8*x zlih>C6!$G)NB0mg)jbUC=FS1r+#|uB?onWd`!=wzdo-Bk9t#d~-wtNG$AQD$6Tn>e zL@>{N7ntv!j5QR1etvB6FI>1H>N1ou?rwcR}v+~F<+%iMFpJ?@9VeeOrV3ind5 z(!ByaG@6K~KzAsC7aN^-f|8^-fX@^-hZz>YY|G)H`irsCSZMsCQCgsCPQXQ17J1Q15h$ zq25W0q2B2kL%ov`L%q{ChI%I}rWPC&^G`54<|H^g<_9o0<`kG0^D~$qa~d2U^DD|T zC5GFaIg2?vhT4BFvnYnze*trG47L9<=BgO#uVN0rmRZ8#H*mO2^Tfo%V;b6DeQD9o^7_evTI4~oY zjtPBZC&8T+I~5!hI}^-~Ed+lVehRLQJqnh@eg$rbtpzv7 zeh+Sm{TbXI`y03;R$PdY9P0r0#72SpV&lMy*Z^1=+W4$^ zOp2QVwurk2Y!!DO*e31)FgdOWOo>|vc8psBrp7%Ec8gmDrp2uRd&aE?GvZzZ`^Ies zv*NabgW}!*v*UJx!{hdVxpDi!ytwzk{J4+6@o`n)q_`vCl(^&IjJR*WS#c-9*>OLC zbK`ymi{kzO7sS~wLi@+Lz-4i<;EFguxGF9IERJgou8nI3mc(5IZis6GZjNgQZi%}R z+#c5j+!5CeEQ`Aq+!NOe+!uEPSP_>6R>lnm55)}ytKvq2)p2>?vAEm86LEKfwQ-Zd zlW{Y^Q*j00>9{%I*|_ncdV6tZ)nBqAIcJzD*rg}aByLqa?G|!h{PtVt2hUYu5ujdq)Pte^R@(gdM^euyqAG}y(wUpw-Y$X+ZD|AUIPyI_5^dieZV~L zjbOfaAUNKe4NmgrfK$A;f-}5h!CBt%;B4<*;9T!Cu*iEaxWGFbTzv*0POaWUH8>jckwqe0>GfOcOHw0sRg zx33B4@wEU0zSdxZuPvD9YY!&*I)W{HSAng3J-{};>%nAS2AJaO2X^$`1g83K0lWEz zgK54|U{Bu|FvB+v?CYBZX8ERqgM2f=Y+oTb+&34@^*sdU`5poDeM`adz7^mk-)eA* z?-_80?>TUmZv!~n_cA!ww+$@vy$LSxm4S&lZb4z9?{?FAl8m1;9#Q1MraV0~gI@RYARc-nUzc-Ge&6#l-T-9G@d{5OMc|1i+w&jkbi(O`oA z4lvO_5lr$=0bBU*0bBX+1Kao?0F(ViV2Xbs*wMcPO!YqwcJr?S)BJ0|p8oYS%|9&vf{~nm{{|FrKuL39ekAPGB$H5u?Z@^jpli+Os zPvBhtuV9h?4{(9s-UjXOcY(|NvET~7A6(^60E_*N!L|NoV2S@CaD%@MxY^$h+~U6y z-0trJ?(la5%ly}Zd;Gn?ef}H33V#+@=^qRp@(%^8{3F3?e;#-@>e-A-#|IL@Nr9%|l)#1HjKC$}tUxk2J8%U!H_#a@3S12?2&93F z1L@$hKqj~%&>vhC7z7pvhJb4WBfyftZQzDLKDaqB0o)R}8{8h44(V~}N-!np z20I45U}`V~b_+HF(}GE0&tOY1BX}{`H+UJC6-)sK1v`P+!LH!&;5A@wuqT)o>;vWp zZv@8&2ZED=+2E954mcxtD>y4S7MvX%56%tV1r`OTfeV87f{TN*!DYdD;ELcsz*WIT zU~zC6xHh;FED1gZZU{aLZVr}!TY?+G?ZH>T9l_VYvfvJIPjDBwFZd2v5quY{3|4}N zf``GX;AdcU@C)!*@C0}w_$^o)`~f@}`~^G}JPV!<8keE{gHBL{qCtDe16rXV=ngdm zJ)tIGAk+d(2(<rr44i6QAxuLmWUg#k(KlBJVKC~2^6j}jJ39SZa zgq{Isg`NXvhc5!T(3{}mP#L%^R1U5P9ROE_-Uo|AhrqR=Pr;JVQE)@( zD{ynD7Tgm09^4-K8Qc;24J-@c6Z2wE$N}yPMS&HeIIuDl01t&4fK{Oj!0J$Q@K~r7 zcp`KuSR1+=JQ?Z$o(iRcr$gPrv!Uxi5#JlM$M*%T_yM3h{$|hb2%HpO1x|@S0?vp(4$g}I2Amy# z5}X_V6Ic}gE4U#34{&k3y&c*=-UY6Rj|Er7`@!P)1aNJ9W3VK?8Mq<-B5-qj8*oc} zJ8*mamEex}E?`-FH*in_)A;!)d>uI^7ZJPY4bY(LF(H=-0g%s?Xwlh9~JGrTLU5v@y9HKKKi>PFYl zRXK+_g)mqzN+jQeMDk5cq*aTgL|V0Ikw~i+trBU~qD>;LS|lgZszpj7ty*+Uq&14v zL|UWhmPl(9X^FIg)HBhz9BUVeHn4A^100kn!R$oWdqH9nxHz#nxGeEPa7AKka8+WP%i9Y2 zg4Xl>XzLfR@V1fofVa)XXS}^coaJqMVctmLx@dikh-KYd>;8Isi{6eD!`Oc;?yFF| ziDDw_>3Ulzrm~(dp3qx+7KNKH#tu;14{uW2?t|2J{b1TI68>9g`?zSr+o#3Fw>)h} zxr~dmn`5c(8r)~GNg?_hDcQ8W#ke;cjUk>k&i11%>8II$9&f|?X=CDz*I+mAZ+x6h zTe8#kIpfkHUtmk=k94VRA-2C6GluNcnzr+e4XmThi8nrtUpe||>qdESKV_%hj*Jze zw>f5LbFWTMZ=d!FG2L7^l(vNkPusDm$4sJD#Y(5$!^21`)J!-ZwvL-hF=V_ zU2oH|orrpm#&){#-cZ^W8dbcVZ=4xAkL|AvqivzFgSU%}nqlj7_;PG1ehup%hS9dr z5W`*g)g+}y+d`uS>&J}``n86p@U8Ldd5)K;wywssop@twy-nBK(Y!s|Z=T++)7x@v z=Ns1yr!B>!E#*hsLL)k-^#!z@nv>4k7jj1P_H*7&$A_cmv5p$Ct~tf)#@j-pFK>4m zV@8x~J8cV%iLA+9qwTcaYdpfb(0GowUfz=bXzfqiLZfUXZOJ}Q+iAPk_--U^3k{h|Tk>D0{b{?` zNXeybq0y7KVgL7yg4}W)j<$uy>#WJYM%!t-*Z4A*wuQ#8yd{5EOI>el_Zs((B3)># z;4S&LX8+$u(RQ!lzLmCxMg!iGf4cUkZJ{ypR@#1oex)t>kJkRQ-D|vXD{Tvna^8~v zJocY@8*K}Xhj{zGvGKNb+D_ZO#y-}C#?jl#wVk$m4R0Q83yn+iYP6lUdyP!ig~lDc z{la)A&vhZybLwrhMLV!AG>p-$wVk$mji*@`8rymM4aR#q`~N(ewtEfx7}^#Zjd>gP z=X&aJ|A(^gfRCfN{-50|S~uK#6$Xp}8}&l@3zTS?KOAGW+h^i;YRIo4oU6UM(uW+V>I>m6tv5w+jC&3#eJ=BFO;NZ}yPv~L zw2s*U#HoA~?$Va^Qi$?#NYBMpI)%HmF)JzDsLke((l@De3Q_Kr6r$W5UZM?2Z&T?M z;(3m5)DGm3>hpP(PT?+XZJNT3+PNH3{vW7x3U_I{(iB1;riaW`?~8DkHZMc*jaoxy zuHsX;OFNI_8@1axr2GP$zB@zVF70CuH)_r-#koEZaz9XVafHy{Sqi!RRr)5CPT?-? zKUoSlYU6VhQa%)N`y*VZ?apjNxJz4{qj00v&EX~5%^Y(3E4k-c?#>*A8?`4nq;gZ7 zdLLmy#QD5T#$Tib5Vo2sdiCa{P1TM|{d}F3bIX6@?^6;YRIa zj#GXVC%J%1rx1E~HHE~FD?WuAwc}P(Nc>F*cWKwJrf{A1ACtn3+MOJKS9@voHctN! zhwHQh)=(Vt7>D$`+YYAZFdwUM?jaPvKm0t0zx(M22xJJ)!{&8y4#Vq)98UQs zI6PcGZ{1vuKe;x*;rr|29NJIX#9=juhwJW>wkf&iIlStm4>)}0q`(5$Ir^)M<0>rm zO8d>F!pK4yzd?l?0xGUTSCfqIQK8l>=7pQQ#3fHS}s|t5m@f+lGJ5;z^h2loZU!cO}D%^3CiIO&r;!f z6>e4G4i)ZJ;euPF{BjkpSK(F_?oi=wEB#g}ztsxwpn6XqPv0}4df%$T9S_L(ZWTWD zD_O5M>{NUeiYH`zmI@cBaJdTCt8l9dcc^eD!VK0$yH#8~sq#_b0u?S-;d&MBRN)>K z;xd5j=g-RU^k1v?SD|;8imPzLZL)u@e2)sX7gYL->NyqCUzZ^H{a%vc4G4LB zsqim~ue~h!r7Co(Fouwx-=N|*sBotWpHk`G-$}WfRk+_PGQI;L{oZaB?)Q5oXN9lI z_HncoTb7ARyYP<4Z`~_SK-#NGQLBFyHzO0N&YMqE>Pie z6|Ps|4i)ZJp%|~8Q{e&?E>~e}lE&}*g59&d*?DvJ;&ira;Fj^dL9ZY53Brfd6ZbG1s%s~w}YYD=}S)}yV|)@r9}H){84 zJGI|yZ)sm^-)sBmetoH)&^O_x*>Cmt^pEv_=%Z{?ZAaPCwhgvRY}eWDw>@lo!uC7c zd$vz(-`mF6XW47*ar-Iu^X*sIe{O%&{*L`q`xo|a?b98Nj<92u;}*w9j!DjgoK?;a zXU=(=bF*`c^DgJ}&c8d4E=iVLTk=%N-%7qIIm9^3SY#|URvK%Kjm9~~g~nyZb;hm6 zF5?qppCJbfsT~ptN=z^gQLz{*!AG&Jj)k7Z|I&9b>!;T*o zAGT`P`eA1bJ8#(LVb=}2b=c2`JvQv6Vc!nZh95lqh~d8B!Qq|5Pab~y@J+)n9DdpG zEyM2}{`BxKhU4(rh(kskHDbw#&Jj0{xO2q3eKzg$#XkFtoIJ90&IL+X6u++ z#{6>3!((0>V;@^K_OP+uu^nUAkKHu(_Oau}%^r8mxQ=lf$6Y<{o^j8NdvV+w<31es z&vE;VpE|yD{DI@^$9u+~Fg`PW~X|7!f96RIa1F`;|HwG(ch@aqY$PuM--UlVK- z$4%US;vo|cpXi_1II(?VWa8S1mrUF~@$rd&nfUR|L(4xF-h%CS>UoRXTdddewN&YE)mlxwHF zGo@teh^hNcojdi&sj;aWr(QJm-l^mfjFB_u%&3~tFypuxD`uQF zWAlt{Gwz@9#SAgiF>}PsaWgAtuAKR^nGei-dFIFCm_rTdnal^#{Pv@~AYQ`%R0X6ca_4Q>pNKAddF zmU{g+z_(8vjv?~IzN3Iw9`IM-j5|I8-ZVR48wU9ikR657?_=o60#q1ZfHLs~s1;(CScxZA;|owH;|ow5aXx;N*k4>A z4iFb2my7Uirp@ADu|*sLf95=K4ZaX{Ek^%!qC(s%D#bQYCms^@;stS-coDz!x;PTw z193wQ`o!15FTN2C;-6w6?lcFWqK*+$v_)b%z7}Q>>4QERm}ak6%-xB$l4 zh4^~ZMOqkZpylF9Eh4sPQE`nHgKsn`Zq`y_yOtJrX<2c#uXgC)#=9GwlNLxptxWTDt^a z*|<#T`sLz6{YsoPzY6EfZxC1LH{v$SP2yVpW^o<#)Yh7@usTm#HxXF*7U5vdK2xTG ze|DNMxrA_CiX`tlpYYoT;>@{%^7$^s_#WY1KPUY2351`P5e_XUtYO@^nx5)dG!yvZ zPxl9&9+?aLUE`s^Y2Iq!-el?r$TXfv`3#o)Z}}WGARq0df%)vW!3~*<4kxrq=pXRZ z;NLwx(l|h7>ai{09L#vw&}E?ITgzvyoCm(w&G!*!+Fb)nWyyC8_?5ktr2Bu6p%(dX zbw#cG-((X1gABFlf6J%$e~_UT`EU8G`X6N0{tq&z>{aG3+;2~hP`{npL_M~fd+dX2 zPXoR4aeC9Y?xK2Ixi7tu96@sI$Z=FWf}VJrTKTcJs4dQYoAA^tHUa4X17l1nmFs+TV#dc%8^ z`sUUvfOE3Mzmn;FF1#A_KR&tvc+JDN0Y7J4IGNtP_8oevf#0a5@ov!bX3?{<4FA}9 zKj@>+egrtIi}<(K(QgG4PXH%OC(ajtq8#4em*~@~UjY8>XrdoE=M~_4n_dTgappU~ zJvY4vyoZ1BtY4DMwf7Rb0)z`|3Fqxc`1-4aH~ocv>!o)I?>nFHZ%-5d|F@-<-}xb) zy7I8kfNwnTHE`rr-vQq*rQG7JgnOn?{;k#gE?gVG3=utMBc=Z3SX&Ef^)%w#6en!^ za0oc7xUPB+9SJ&AM)*C`^B6r`+PWy^yn<6DE`4=8Bqe>r3sXVgb89KEh+g7+Sw(u-GnD9Mr*-|MQ*TF~F0btG^Ozn3_La(ilx z2b@VUYVmnotGTBF;5@aHQs*WJYn~*0{tQC-Ub80`@*nzK2=e9w%YcV-IZLmk)Cahy z-OsJ|;w@A&vfe7zgdzDa?yIs6kKte0)k*mu)wI>HCMFRFYkcd!8ZA zQw{X%IUY54M2UWdvEsLsy5<*zaztlJh(2pG<*<`c)ULqW-8_Q$7hg{N^bv%0?~^tw zt)&_2cgGN3$E_y&#*Pgu@l^MEl03Vco*mY>8k`zGaWd!7Se8BHufL(x>sTKie%{HD zspK&$b!PFb>Wfh;OD$TxYa=ATxNj5i=?==_g})NMJBRSmKT_Fl;=b|V+6y7`;M&W9 zpFMsp@VuUzfP1EG171^oCs67Ksb`MN-3!hs+%rFGCVQi}3`w?F%m*HX%*5Z*Z&ghs zyqxWmrz1q~d7to)69|9x0b%J(!dK=IevzcNxclM9kwYVESBaNxr_=+RX?Ccq`ZZGD zc;F@AcTfBQxQp@ZhxUL@oct=cjsimbZm3=sU z*D;V;djDeJX*_cO^c+2VJkNvwX8JV7x294K53XIB&-0px!=Mj-{zPEroE%V&IH{Sf zodiK%5RA;Yl5Y zV^f45JWu#BOI}z`^aGsR-7gY-#|eb*a0$(|@IijN-#tR~Gp`d?@p~QjG0}m22_yX0UvZv);M^{mNqi6Uf6ujTt02xQE^|Gn z27@f~IN^-T2}d*#esUS%=Ujd#^M`qe^B|+|FrqJ;PWbwhgf~7-nBux>yM^fIxVGP8 z3^RVoZ}buW`u+!y%+L6Jf68_HJokJYBUA^eLzuK$DAQ0g(wgimm7 zOywT(bFR;ke&T=k*u_9Oa*H*_7e~?9mwZdNTmwm|o#vc&8)&J`q^|R_#vX`jSl~7Iq(^HZSXfS zMK$m(Q44$<{u^EV3Fqc?@eceqy4Wp_2JR6q;9rFYd42%Y#oyr7!QUK#Pe&IYi2(3p zu?YAHd`r6cQUrltiN(OL;c3EO(-7@=_Mbpq{7WnWehcrDF1{DXgD66s=JZ5?nnJVm-VNIMmHFuX;&I0U{TUCh(Y0M3WMNEe5~TcnG_;48x4 zbJ5O68IAzz;z)Rmba9k+G4N=3j&!krd`H5iT>*4!R{(2_A+pT_6qPc?N#6= z?KR*z+Uvk`wKsw1X>SA1*WLkMpzQ%(p}h;dQhN`0mG(Yxi}nHVYVAYdHQL9(o3u}X zH*22(Z_z#n-l}~GyiNNW_%rRFz`M0?f%j(T@ar^`n74-39dP9$X#t{d=!-zN z0?{kAn*izF|b1qAvFrrMNDr8Z359l^d+FXfaoFmGSG1#dWe2J=oLU6Ukf?` zbPrG$Nj(fY1%zhPBcN9T(Tnsb=nN3ONH;;}fapbf7wFYMU98dLp!&d|D z^i#pP9;l10_!6})ZqRXROxy@WPt(r;eKQa}O+O3ttw8iNeG?Gh0s(H*&j;SFUx?H@ zfVy}AU!T^*i$L@c{SweG0d?^^{W8$60MT3YD}b-+SAm1?w}XCDzZ&#gKxjGrTF{>Y zb@6xodeEN%b@31V2GE}ab@7FM6X-92=wtdVpuYy9kLkC8{wEN9Oy36lR=)$Be*^Ki z+Vwj@{|5-&sNV%z*zN+Y+3o?Y19dUpb}w*(?LOc{+XKK!wg-WeZ4X0c3Q!j_Y>xtG z+8zgI77*IcwiEQeKwVVWo&;9fo(5Lgo&~=esEZog^Pp>iI{wnYF5qFd7r;3jsN;(! zzXcv?dl`6??G@nBwpW1*Y_9=bw%37f+nYd-?QJ~e1)}HM-U0e;dw^%#-UWXX5PHV; z9_Vv{&@;C8L7xwVp0RxZ`a+;CF0y?H`eGpd=7{ZM(3b(xF1AlW{{g6rKiWP6zG3?u z_@?bk;9It@fp6RX3H+1oTi`pk?|{2)-vjs9G+h^ew%LI1+8n@AdkOFW`w(3dbAXr^ z?8ATu+eZKov5y3Q9uV__eKhDpfjYj1G8S|>5cO#v54sYF`m|33R@*0oQv=jRt$ix6 z&ORNSdLU}mJ`;Gjy%czaeKzn&`~JYA>~nxe+vh@Z0Zwz2WhvV7PfUr00M}j^bsEae~M}s~SsEf1gF3@KKq4Vt?(B}Z5 z^X)#+=K-Pf?G2zW0P5mGdjRxBKwVsHUj%wHP#2fjn?PR*)Wv1?An4117~S^8psxgC zblXFqw*WD^?d_ni0b+F9mw>(wsEh0E%Rp}hVszV&2Yn+DquYK0=$nBU-S#l(TY(te z_6X>o0WrGmQP8&o@pswmCg|-zUEFE!0{wHKF7C3&LEjC;jALH``WHaVIQAaUzXW2& zv8O=a57fm2_LZQ21=PiZ_6+EUfcQ&W_8jO(fS8r+t3f{o#H?iR1HA)?S;@W*^b zT=tVeKLv!vWj_`4GeFE%_6?w)17fzaZv_2ope}aV&j9@!Aas=dEYL3kp`+}ZK)(dU zUmmxg3;K6JUA$sHAN22m7!mdhLH_}$i`VQIgZ?8>7q8nd0sRILqr-j~=(m6v9ri0g z{|SiEVZRFWZXia7{c6yE24ZyBuLb=Vpf29CUl02KfVz0!ego*g0(J3${U*?V1Hu}# z-vat0Agn?AZJ<8^>f%%THqd_u>iD|r9iaaK)WzraJ3)T|gvDsT3-nh&%*FP5Kz{?o zTx`D=^uK`6llJ>S{~HKBX@3Cpe}K@F_6I==$Ah3pI35PQ4-odD<5AF~fVvptcpUUt zpf1Kac7h%cgk|V>67+N+bf)8J&@+L$nB{mDbSV%PqvLttY{xF(evTKw-yaB#;rK1+ zIY3<;h;P&3JCZ%k4+!nycn$QSKxhxg>!8bl&>oIAL01ByJsfX? zt_H#?aJ&O-aqIyucDxI0cf1E&;&>mp)bRl%mjPizIz9w_JP_8P<6~gj@hLbNAm(w$ zXTa5t&w(d9z67p!d=1>-_$Tlz$G4C?8whRS_zrlE<9l$<1wu1BV33LPfzZqj8|Vvx z(98}8@M1>^aI<3w@Dj%`;H8ccz{?yXftNc*1Fvw51zzbG54_4T5xB)M8F;m0Dsa1F zI`X^|2pi8a6ZGRitS=m;zz-d>fgd^c2Y&6C1N_D@7x+)d!N7kxXl?hc<4`>HZyF0xWYb1C~3F2Ua*w0H&N_r)Fv@;4$28cFwnxJz)*k;Zy;A&?a zxW>5x{5~M++}Q*ADj@3InF3zzTnW6!nE_tw%mJ@+u7=F@K&&yHeZU8u>wqsfPX_-* zAoP#(RM0O0p?{nkK>v>MJ?BPn{?B;^@O|f5z`r^-0Y7w}3;f7=J|sT|!bWml2>il% zF*siW(VEUnKz{>7YdS9j{VyO|(|HBxe*^JX%Sx^S+DonmI!dkuI!mqxmXzE8G)is) z4k@_>IJD$8;JlJ;cy>Mzby#u-=t>~QRLPyd>XN&F?vi_e-jaKf>I1?uDY*}H15g(W zOCA6n0P5nHk_Ul}B@cts1ca?#@+jya5Tml>anOr_7?mYEfyb6S30zY0G;nFjv%qB~ z&qL-oAT0TkUBI7|yZ}6*o(fLObgz@iZwff&mr?}9!Xh_PJq9_Vv`y7+m?`@p+OJ^LYh5-#@1aOEk5;)Wt4IE~S1r9gH14kGWf%_Pf zfg_Enz){9@;AmqeaEwt39Ba%5jx+WLjyL82Cm3^q6ODs`lZ<)5$;P3;DMmSPs!<7? zW>f>G8@0e0Mm=z*aX4_6aU`(RI2yRG;R4P!Jiz@7A8>!80eFBB0M0QM0S`2qfOCx? z@E~I`@L(eZJj7@R&NG$(=Nrp_hZ@HN%Zw9%Fir-#j8lPbV*}7*Yy^6ZGk`wh zETG@m1Z*(Q1uits2L_A_fyWpZ0~Z;W02__VfKA2~z-HqrV9>Z4*kW7@Tx?tqY&C8G zhK!qlZN@FYcH=hSvBoyw65|fwQsYkGGUG1bamGEs%f%pCa~9d8@SSV2bebY05itBz^w5eFlW3ETxEO!Ty1;^Tw{C;>@z+EuEp1J zVPhMg15Yx(1fFbs4Lk+khK3i#_!hX{_zt+i_#Swgp*di68(36`(+vmk45I{irZEI~ zmN5)?wlM;@$ruSd#~2Mf*BA>t&lnFp-almKv>Sk{-AFJ!g4m|fW8?B--|I9^ld<_i1BS}d`%dL6|pf7^c_IVq{gAZ zZ;f)`zl}=ZcSbeP7*Y!yKBOKvX2{{dNkfiwj1m>v!SHrgY4dp zs|FsW)dCl2^+30FIMAyd3G{160~cy8;4zv9*r@q{%~}Jn1*gMCiB_Bq8zs)vF0hRf zXKNP$&(k&oFVHRpZq_abZqcp;UZZUR{!DAaiMNL!KL%c-i-0>IKSn$O`7z=t$d7?{ z=t|(PAwO390g_{JD(oWQ8;~3ekI<#IarnyV1;9_hABV4;ZU%nE{BMxMICzAv1pXU2 zOu+X|F91%^F9OccHv?zsmjd_IF9+_YUkN-w--1i7WssaGDj8=yz-u5m1^$!Gz#AbsMcfR@De#tD3H%u(r;1-fa;mr= zl2gS)ken(Wf#g*27$m2P9gv(Vo`B>u@f%1^ga70r;O`(g4c?MVfq#JHH1S7BP7`lH za=Q2nB&Uo2gXDDaH%LwwA3<_D{3n+K{|?FN@R@9}&4Bmg0^oljIRjpf%|N^DQlQgz zInc0O2^?zMVw)+(*)9N1uw4Y40?C6)|7-3&c;>IyuD0E3YqxjUA9Ot9 zc+>H3$MMe3@ONCM8BxPCfTYiN6j5wJ~}-5@zJl0K5k5O%$%{Vam&W79JhAd=5aq8_t3aU$2rD7GX9P6 zACCWgyqGXz!kh^!C!RC$ris6r_^*k!Nzq9?lf>i+lV?p{JUKP_)5+gVzH#cdslT84 z$<(i>ifKcqjhr@VTIn?Rw3XA=PTMr?+39O$?4I$r83)a5oq7Ju%V%Cc^SPN{&HR3* zG3&rtkI#B<)~B=Z*KzDmy5J+x#@o+7Mn^c&zQ(0vA7QfnBj!)FpS^(i)9s5cp>U@C zq{m^EXr=b?uTePLen>aT?{9ayDV$>;hj4*5*ZvjqS)d(kznb%%XMg8K8{&uB-{7#^ zjz67)c%}W}+bOKJpY$6FYwZW@p|IY5XPF)O*N=H*0lu1`9X{rz-4q_F!lTFh_=a;U{%*#b&PgdJz9`!beA~Gj_$TMzf$unbd!6{k?AgFQ&a=;Uia$HA1itGW zwF!Th$$1g*J?9SK|2Y?2;DqgNUr&FncnF{E$NEY9qV(eN^cQIh|7|V3829!E@}6Bg zkhiV$pcMmoTT8D&ZUdiv=#hcEZKYr22J*I+KDv4!Z(Hd%XAI_jjC&>WKYD|Y?-pW# z9}NroAG>j4344A&7YB*EFvjl2PSri41N&}K?7Bs<=N83|+e+-WZN_ffCD?1b3Oj9A zVV`XacG>*+@1Xb*0mhzCbdbZR_hbL-Dodk>zEg)z@-dxH1gtN5m@1 zM3TA5!l@%2g{%T*H&tF|#=dP_QudDF5s>;emOKY$#=m|E4tI9=%udb%fTko$ZtE=|< z>nr``<^JkAudk-uQ&#OO^VYfQ{8g^na)CU`UA1M^H8uXS%IfMWZ(UhcozLs`;}>h( zmG$*5f4$q|E*GAKKF^|Zu8nf5Hb4~B2FD7uK~e*111}El;1@3!ZIR3hPpYRkVP@m0 zWGIzON6qEsqB)mHL^={g27Jj}kC|4nmb4j*MVO#6^$e^@gMGV=Abl6uJh|BGGPhIlXJ& zv5`d1Y>C9vhyy{2VxV)lD z1e)7`)EEeUxE^cDtEvjkTT}HT&5K0Uyr8U>{J|&i!}0-1{BQ{>>#AgZRB?S&^{Dw^$6bP2cM8>vhzadhhMp(`o~ghYebE!vb?4i&F}M;m6w;-dwum4b?91^6}4sM zP{l5HnaAb!*7Sep8k&PJ1r1==%BiWmJX~H`C(!>qbzXOMO|8G$RON6>xbYE7r*Mq5^L&kYP7o6UsdIXy7$zV)mHj^72a}xd1ZyS%vI;|SJzaQ zdp#%xPlfGmeo3^Y%}CarNOfdf8D?fMQ4V7E8|6P%j`Dh%L;6<`qD`q-E@2)ej%Z28 zSJ6nO8G&X)*4JJ$i`g=Bl<>MdevhZxSC7dJgRs2P<#yLr)mBt_FsePCDpX>XAA?*R z3!UHD=W&UeS`6>nx+;HVO*LM<4D(;PucE%LuDY(yMO_zbyfA~;`P;K6?nsHe~k}sSytt#aeGC*zYg{4tM}G;YAU>y?yB0diW)ptQ|&IR zcGbG8t1D{U)gEubL~(h&RGHyG*b{7OY4o8^nlYSw1#UCmpgqq$F6{P&+QOk02#NOQ zP@th1gg?;e3;P>g4dLLizSc%pOADCCg~4v~wNhSfK?;rwdwq~<1KH{e`C5+!(S`2Y z5|Cl2RS|97=;bj)sA0Xi-UQDph__%`=}e`2h;-$$-RO~&1RFv<*^a3mBn=8h=B=?7 z40~U5@w=m#h#waYwV}3~!W2PWv@B`}qkDM6fo6BGeE=`m-X@t%zP5!yukg5H%TJ@ZRmMfwpDpWiYbad~JayN^dUY z6=-M)wD?5ZG5}SltCg}2`9!mC2|a<1&>RRYM1@j>N021l?V)9gn{N-VkGfmF!!NL zu4Ac4pk1D}0O%&y(r{aFk*_%%3LNJX7=100s;&28RHODQebv?FWtC;H)ayN-O24ZL z?S(4$yRZT%^9wI#1xz-u&!PEhDk|&Ibg+cVePuqVAFs#lt94gZSNjD_{wjBkr`F?f zReHQtK4j*ucSG@EO7U0t{O;OHuN(6T%&}xLmG#Gyv3A60Y_uoI(r!yxrmsl}QjE;2 zIBev#%%d6DdM0Cf&CWI?csd(vEE_QG^G zIqK;)qbrEddYFd0XbCho6penUYN?iqeXI+$-quQF5CaY411&)@dYt|Vug~4y!1}Mr z)#h2qEg~tukK#*Qp@pnQs8i86UDoV@nrY_74 zs|7J^TbG4Zyrr?d0m|3aj+4qxEb|AOR{t} z6lz52+MB2lYWC#*4}%gao%91$Oi?Oyc_LaXE1Xm>D|4R*G=TZKEGY)o}wm4irI zDg+Md+wE&Dl#Db`0~j968V$a1JElRr85uS7dO?byZSu4=HK`=(5tf*09Tf*R%u{M> z5krbnlBY4?Yi?6X`TpZ^h0u9Xff$&cP|+9&6^((AAbslf!Jo^+NJZR@ir@@9VVYAQ zx~y4I7z{Kzq0jj@n!T=8sh53A+rq9kC3}Dc zRZt+)OioqA)O=U)g=X+x>@pRJsDJ}bbmjmm&rl!eLho>8DBhTg#3bdxVxx;&%N@y> zikC=PWP2~FNU_ztCuJx{OWKU2TT&?%b(>xBWLr9t%tY8hD1}h*vg;K}EfcKC6yDZI zx*v;rhpAYtx#W^mdW9ABB=D22M1p=5P7Zn_Sx{=+keTh55Am?r8^psD+>h6sO2R#z z?vu<|Dk^%>(?uqY8aJcvTqnGnUNZv@Z(W3A;aE{D(J$6f6qO0wJ!0IFYUwH?O_5}z z%Z%lDX?Vgr;2h60vT~s-r2|RyIM~_&8EuSY;NQ)&u!~U~jTcg4@X=t^E1#mR7xvU3 zPVZvTezI?=)`c%A!($`qI9W1sEVxZhq&IP8@l-G74OcX3W-@LQEAB$7A2puvrPHaj zHFcu;`e0+*qiE!#FOpG1Ti|}Ys^@< zBPQSs#V$i6;fk@;KwmpLCoM8svF5JenL#Nqxl-+J#lIjW;8|Cz+&!=U=5Y;p=_O40*jz>yk;_vhgn0*zNa{N zR4%*vacS&#kY3|%szl`^(~spfu?vV{#Uq9@Z%jp3SU<#d$x*5)R`MLRm_3QPns-?Yv%tkuN)jAn=@QE8HtKO7pX^6sF3k$^E5>8OXFJGx08ZAZHOIoFA7>xlGngE*z|Sc(`VH zOlJD?{jdXQsG6a<@p!6bfN{!H;t$_b1d|3Umtu}Gpf z+QIs|)kMFiawd9%n1&LO-d;p{(bRGfxJ^tFJg0-vQ5>O?1u~XekQ$llE3Y8(Ng!zV zQD%rou%W*i7N2iTZ=ATKnFezUt3>&pVmY=eP9l~87&-087 zMG0-mb{G$Lj#Iy9A{Swy3`b!3lWLI>>Q03h40L+Ps*4GKBA4lwGol>CieC^_jA(wO zD28l|qDZs32HKnYb0DMGaf=|~5cb21#JQ(S`GMSgdln@~eWSXg;`2Buk_mR4h`~&! zIQZRS7D2PA5B-c@m`Y;Nuo-1_N$ro+B@t>UnkU-Q7%kMkJQu?{lyx2xP`^0#5ia7u zcqt@vwWv8d(I@qn>TrX&@j;xu^e;A^X>&X#Xz7q~C1Yq|Mo;;8zjjs@P;#?g7#JQ0( za#}B9g<6nNDA(I7rIZ=bk4I1TpA)h0>`tLciykB)s94figZLhI6Gm8^NA{pZDkm-6 zVnv551_?>SVi23NML#Hv{7j&DR6jI(Sy-T~idtZfZVDup+v7YHU|mfEHI?Vkv1 zF*TUmo{X;vkpYz*oEA!A{C20vGVPxglnon57$TV4NK>1z@6ijflM%MA! zLSMI*JoyAFJS(Tc&jjU~FfU4mlN?Z9ti^GXNGTAtcFLp@lE>;F+9tIcI|5kFnOU0o zIyo+a$pj9)WnpQjGfD;)x16x>wib(u)kLd+{Hzaa9LlOl1j+pw`T4hK>bLS6l*X$B zE49B1f>$5h>#hAE=z9DxIZot;k{lBS>!lfcuDsJ^4Hj}dbVCPW^GULTot+rZ(n7&W zqPP;ImDfNfJ8}mmbi~83zwj7s`391bR`v;LKTH^?3@d?ZFMtj$#VD4q#sZs~(-H}1 z(#V^vV07e$9B9@mR)kkE%%;3h{+wCdGf@ssY%sG@h%z8awG>RHkdf%5$=5Ot!`x{E z`bCB;Q)Nmj?h%8mm7`XK!)|mXyrX>Z2&FLwC#abVlaxH3H&{YCmSov*lEWM<5rRi% zZ|v?!I));!IvV^`AmdtvH40fFdrPzq2@Xz!X9Z>^?LrR(XB1VPN)AqvWjI!L%)!Y8AKu>5to7C4G#3^ltBR(Z z!4h8B+`M8LoFp5QE#tw7fsC|h2d7{>VwpIYkM;Hs@aY^VOq^ait!QQjKiQJXa0lh~ z-b*^=j0W3VN?$US?CaS}3cuD~_;P^mB?0bsaw|zQc5oR(YLr4l3`%50CN&6~h;p4x zzCY|NC=-|y_ywWYq%15<+0XMFRIN-RH5bUVVTKqiN*Y#jJNYMESoEs2nccT*2$_++#d;{lI# zD^`vci+)jRYKueWZhuY#j%@JK&k~Vkuws-2UIuE(;!qa-Imn_vgV(J~a4 z!?KXPLbO=iCOETf#icV(y<&TEMKZM-t4uyZ0=F@g8jkcv(-w!yC(R{`L**ODA^)Y7 zF7rT{Ee2&F{c;wEvgpr&cz*^RM#el2JIi_~s>+Cs3Ai5ed&h8Vp~*yw*O4j$#YlZr z$gYac0Gg+}P%m5$X9*&=vjI$(28%cEj_$0VBhMIWC_@KcogWS3P<|J`E$C z92PR;ENr>eMHa_l;y(2Uf*@$x8Ty%&^Zl)=AhFph=ZZNY|<>i)H&cB$CP!G&U zs0NExUwJ+W?Tyb?WnKzDlc&)D3x(GW`!ZT)@AP3uD4M^3K=&N-kz!W?tAKopSYk$26k-8+ z7P-KnY75}{@+$@*XD_Munz2cgY47byV?T)(UpUN^LG5vAJy7|=YI+n4 z)|0%-g32aKn$tm}hr-(e*+39dS?qIiEVeq3Dvoo1;u(sQ=>?>NpumHZCxsb?ewOy& zTsE{Vgc*kTBE$&Q`bK%mOwkJ2~v62u36Le3${3tYFhgl79u8NTy<9lbmB2>~~2D2Oktm z<`Cm_;z~+ooXE2!MU}%lkghJ-e)$NcsM(E&Z$5#VWUmR>h0F`#rSo)@HYq9p-ppEZ z=wQ=cdRW^tM0(Qb-X<KvKC!p1lyk=qs3ld|H<`}jp-Qrd{*#XU;N_WA@z1CEtR)dp#)3%f7pY_U ziiy4ovkV(BQJDw-cv~vf7=g*?GXf(eeA{X3Ji2M(69P}iYmBpd`fBfBWtC3Glvx9{CFAPF;POmj7Z2-F)ot?vQRV`X{Fng2zh)2x|?iE9x%ei2dX3;LuZi`4#h~qjfEA}p;X0cr%Q5ViKX80 zn=k}u^Fk)MV(??~8k5^fGO;ZnCn3r&&yse1fmNJqUI=bvIDuu9U%A*xC11TCM`j`& zZrIwB4@xFmXSDf0fZv}*$K2JS4}Sa36*3RZE(uBT+tEY8PB}Ri{|KGTp#C9wsBtxm z(_9sloBGx%KUpf;%PYMa2A(6ty8v=TeNcG7f0D;f?WOcLWGuHoEX4PUD9N7z!C%vR&XR+r;G-!;Pbb7 z@&Z^|V!sA4^&o3I&$X)BPmXl*#lghE0it|5w-ebZsDS=V%l(n( z7OF7M!t48ztK#r-(*}5+O?|M)6UsfXIF6&=Ff8((QXB%rR#Z4*c~04`qVs<8Mzwl8 zAB`7MaCexrrmXG4t!u1xcqf$kP+Pc19nNxutT0LOdX9Ni+ClDD{?Wl)xeX`}eRN^F zPx->=26x`_BNdYGH~xgVhTOSgX)299#Yhj)Yy^2zIaVBdy#=ijk&~i)NsREENhUSU z%0%UyB5*D+i$ymtD-???y&{tAz5c?~*ownD$%@8LaW}xQR2)A{6{s()5@^dKqqwdp zp9~nBAorq`l$WMc9AL>HTgB=^HS^iRC6TzrU8~aLDa=c%x8?Fnh^02Jv zqMF!i<*CG?En8m`)dOq+=p7>3_ylo&^OJd0zM}Oi^TZkH<(wp&g-;OSPfo?4d#%hY5`CI{{yZFU%mqh8GGt8S+AFhYKZ1t|6R{2s zs20_Z5?K>@UJG{rno`My*ge@BpN>l8`DAzSgLw_e9h_OIL@b{tYhI2~I~8J5r_tEv zM6|k`lsLwtKc5A?az2NA1f4cdcUltkW>iENQM9=j!rSwc+=ufqmcsSBe5Nf{BuQtc z@-e!i$1?aWGD2zWah!F7JUB?a%=`dzSR2cug#Vi;6@;J6i)XE$;K_)846_2g65D*t zpr^<%FpyWPzM;f^@jYVA>tutf{UO66b)u3X!yxA3<@S1u+so#%XBwRK{COwpI`RSA-Oh8 zx2*J_9LWQP{lh$)7c4A5E9ZPV&DqSQ+yWUiMx5@ANFIJxS_2ki?^9Y{UX_TvOvhn@ z&GV^plnv64Px5@kp&yr|2Xj%De10*jJW;ZP@s{$%$w8cdm;BZhz;U>(aipgeo6IPuhks#nnSI(-q z^{TcX)J;cZ0gKGyC3?wXm7fl>c&Ol*7Yha2Pr(r^CUNjBx`L@d5?@7NimIV--Xzb$ zx-nmRYMSFHp6^B03S>U7Md)BV8FMlcr9{zUnk$+yXn1bo_9?{FX)_*9v|yv@i<_h9 zXaP5Vaa_(iSX8MSFd;gCz(#S1<|63?4>QTHL_BI#=BTwd^RTY(;faxd5?xb9@D8}W zZN(@HZwEh1nJALW@T0Tn{~}0v%h6f*f#P@w1BO$mZU!V2M|-4SUcR9940=8atcnqn zKR}BfzU0KB4Qhj#BiQ)mkjjKUM0>Uzr~wsN=`^Sg<1F<4WFMa92{ph`IGr>1;@CYtYFxrWgh#;3sI9UUT}gu@4zIC z0uC|5b4cZq&Pgf_maRCSL=@E~rj}wPeHOFHJh;DfdixHI}0^alrjb z2N-cago;QvJy|EovhbTJGMVe4IR`El#fbB1dHw(x&p!iaA)G6LQ**%7B!X!;49RTD zPifW!Rbcct8}W-jl%(!B7m}M(+^ex@EbzQ>>bhuNPU6!wyeweFZLJabN}y!J*x=98 zp>}8&s+DdKVUFY_Hcr4{Td046Tn87Y$RkT=9lC2m@@PkCW?P3ht%Uw=`F>nE>v9jZ z_~hW@-2#gd?ZB=^2o1sak3>s0&9`}SQM!&KEUy)x28Cx^v8iLJdur_g53CH5l}t&q z;#GV&*X3!KA~{+G89zy6g(-rVI%~uPVzHU*kiZkC9`ML{lynN_1KUI+vyiRUgH# zBzrv_vEW4XV_IJoaRXd#Y=5U&D6iysp+K8PAMSr_&T%1n21!NB;umoE3CFM!ksP9|;S^o)@G1sg8lKDk z-!2qU+ToVpF)ZH7f+FQr^q@NiE!h9bm~wAJ&`+@SuHvc_V&jmHd2u=vH_bDO(`>G$ z${VaVaZn|Pqr*5+NlO$=_(i7#ijP7UJM37SSqtzCnQi#s*lLwQGd`z=eAr1z9z2er zy3mmMXsCabUnLshBXv@KfF^HFxw^X2G6_3ZfUHA{8+n_NS((_`0QJ@*O&`smUYABGjGB#^k{}zQ;qme>}g?T^P0YmvJf?a+eX_87%Oj>-mPY=0pToqI^9U&JzjV>()=j|RCcV8lxNYQkpkOm zcI4=LYqar*U+kZl7vl~6d<+$wgF?o#Sx$JFMmYL&k*=a_>6^1~z4I1W;W_zZRA~j? zfG%1{fK8xI!54Uz-$*&92Pd?}v&ESgxu*)UR#z%;)NV4{(FLycV`!up)}ZMXg(T@G z^V7B1)=sM>v#=QMd`c-VVgIS zNc7?CIo;y&fJRdne#@#nlmlNl$QBX`tp`0^U|aH@RBs==+ucP;p2iTBDM3bQ;Q{No zrFzjm+Q}|XMNj9?loxn~pTNQ@*;h!g>e}+<4o<;(mak87U2u!X=?m5cLA9ev<%CSf zfK)oKfkw&DW*L7sgp`)m8ih=Xj!4S0mQiYR>jevP{d(@;WSTtu7-YrY@=!P7uooc@ z4KOH2bhx}lm4-bp1@?071Q#`8wEUL>D1Ff`pgg`WQ!w|nw@ERGi0wo=bHNHxb z-)R>;RQLungE(Aj&6NcS8lq~mkAU_Z$RIupkr48 z=D(ssFuw(kgt5OuG?96YE9j^u$v|x^GRC7H6(m+uEG|P zXNWjGkjbAZq9)3~nFKqKg{gW_&qZemnN2Ub7dEd{$(W&@oPS=f{@ipjDF5(4UXIs{ z1sQyAgZ54Gd7w)a81(D?7(KnUi>w(eH-HDt&v_)}hqIWL z-r?fX$zz>`AHyercwS)+%2yPVr$A_7Ma_XU4z2l=v@&dXc{SOZZ;F-}P|B$J!Hx>J zLgi8({eFHRe=^-k1|c~66_>D7Pj5GP*VQDLWcc1U?7P{94u&%0lG1RFw%+ZZzv7i zmax@Cs%5@eOlAIvKN-*;GR_K#TWVH#)hA0?S%*MLBi+`FF zEDnA&^67Bd6tYNEmVpWEjbytP>IF578=(aHC!RfBNBtjkP1g7Xn*Af5*E3>-wx(+yZV)T1SvV_;ZpIP1W%<`Yz@-cCV>B zGAh!Rq7OvU2DD=MGSLY1xfEq{NYU~{Bl|M)&+@}6M!(?7MB{N4XFIDX4TDg{IM+fn z1D_q;q)b}rSmH?s7rz751|>@WwaS9J%pfNBumOV6flpF))<#7JhaX@x73I12l)W3? z>M?9YC`#F;bV3Ioku)tf{i3X#q95wVNORSxRJ?_v@Pb(k6&1q~g^X;KRyw7LKFu!o z2pKCP#s_DK!V9w*1WiQWI3!jCS2-{P@ia_vb(N!-g+n(*0_uIOK|-c8O z7%-Y})lr5W9P3J@Vqw%O5|X%es7Tmtib|mBOx$*oA{h9q6bVZsoQSOLQ_%rFXg)&& zLsvdFFfsn4$>^2xt6@L%yoasId@8w?*l$4N0xzFWXvD|F$$mw{kvBWlyPDrKlc%^U zSJP+6rP`CE)Qs};*aGS`6W8(q?gfHRvlBpaLdNCfb*y(1ED^~Z# zv>ai~X-mg(kQ!p-4-MkPFK&L~asz$&hS~BaK9k)f2HzOeC4Jx|gYTGj%@xfs%^SttNHtnkE$L3)GY}GH9De z@V3?766BO4SEv1-An!gob?NdNMgVjy=aj{bMJ8kllVrZJ@hWf!RDBjP+>xLkCWbWe zWgJrpyFpblGzFGYEQ$B-QzSKj7e!}2{X#xMC;nIq;MYSI-EX+5ba{e^#vd5j)Cw#+ z(<{`cdhtzx6*w)(ANr!NhSHg+C0I_OjX8TsUfbZxbTN(`L zydnuBl)^q-!K5%2A;*ny;j~V4p}h2jb6uus(exvDHHgs2k`zP{Z^9JOjj*>Ho4e|$ z1a{@6$CQphlH-*vOSl=~*+^K6s^XhGI3Q-FLfRs+A#ITjsVtu>NpN*qW*ghn>g0oT z){&#eVjw4rq~f!NB~ysUtvrH+($M?-KvE}7C4-+pzVh&-wWC6Bn0FId_mJ|5YJ6J@ zU+g``lhHWbQGCNUAHgaeHy73W;d|`xhVysXDa7q3n2tzag$RE!4P9^GK7Bh@$WeUT z+=OG6zNT#^{vU1c7n}EW=J_3xruauD<(I0~)>vFoaaCC>OSbGdi6`SpC{dC*kwit5 z;&|dLO_7wuHAPZt7(DdkUns6wB z{7_fzp0+o1QRn}0Ni8HNZwE19)8h0tR}PXURYptae9s`tOl>B{@?9EyOym|JH$ntH zyU*`dFN-EWCX1X0@hwyL9@T-exr%V5LdvF|s(`#%OtwS0 z6Cm1HRC2)k7LdBCugzI-x;=FU#n4cWopwLQorODvl6{dZ%)eV)I=~gC)l&4(hWQ&C z0enm5QL9F{CQ2e}5M;4}#_glC=$V_A%?NVUuGqc~Ty?3#AcaC1A&whW_Q}P0y^g6@ z3Yrk-fDt~oT%39X{*sYP5I^z{E3*+FdaFoIY&EZ}$_ zUmi9HPjh$xp8yM4?<`~)Ep$PYg__p+Q$1+mzPU2x$?mRiFzACE`ZepW)uDG0^!Tct zKAvlnZtuHqt^_?b?0UX(}eR5juEC05H*BOs|@dmxO_C50U$t0)A8L&6H6 z-lpqo=m~tVH`c<&h{2mVsQeW-jHxWe8OZ}Nif9mn?mHACmmbIg1-F1It|^FNJ$eyC z-_XMuJ_;F$J)kD9EyxSh#->ON#mcp%E07XJE#j-8F`Go;82Wv?E|4O6yMRwB=30v@ zH4$q2NJd79k{b^qtnCG4`q4x)a$FY-Yb+preM7riCmUu0)B6VP+mkE0yCYdii=@3B zZpvJWKbAyjNm5H^?@1TC6RMX=jImvlttXc!t#A#QiSCi=C-wW{jn!NQT zh9$-!?v&6Mbb)elmh;{fI%dDmsuxXN|Ot&#DhkE8OXeR(|*yBhEAO;~p!P&c) zS?GYQdjd7ZEO`5RkQOuLlrJ2EGktk!?FJfKdaA{P@*gy%FzE9a>z2H>zG=TQd~J~D z*3#;nBvucWb^8OZSh5gt&nzviT9^)?N-#1>fF%1YSa7*rL2@sJ`37y+Qrs4@OJaN^ zyi09m${NjUcVss=HosnS3&v<~u9}`974lYv@X_ve${jnxZ6Vk4sx$#@p*aQY#y){n z%|5^8DvFlO0hQ~^QSH*h@+-jgsGNW1BYS&m?2>&}b;*g(f7k?Rv>f?H2vV5e)C?jr zIw5it_tVg1mGF%m)wdX7uCK?hLpmu18)M>p4(e8+zNAc=8ja7g#9YR?c25zx(m_|d zYlb>7=8V-|5CgRftZq6Hpc06YW(}JgXbEw@y#&D*!cRC1Q)GBgQA*np)b+{OA7i;%gAZZ>Y|c7vFCYzq!~3B! z58DK5EhG#ePl=iH(npy{Tc!o-s6vOFvz!%ZQJAMLU~)^cOfp)^*#J%Fb69&HZ+fNx zG(8{fxU}+KP81*mq}Q(8Ta@>Gr(0y0T5T6KyYg57Tr#&$_Y~0L$&&(Vd6PO_z}It6 ze5$0838Obnd%NQ<*x~V~^Q8t@bnDdB{060=cNu35%D9ztcb>9}I-yF!P8!OoMlypa z4T?PJisc2fqpkX`iQZ;mi>wuuD}#{Jq&7)W(T#BX2%>ro!+~BqRjauP!mX@(;q5pL;Nz=mMSO_yw3s6qTQ20d$g7S!$#JORse!Y>`V7 zzOckO9-o;k;P#}hw9e>>mpjLV$qBhjiX(ov1aoM%??~BW%tbS`b&XH16v+%syuX0B z5SCWLJ+E@-7IM%RHrc71dRLQSd!N_7Yw0zB78yH`PB?NV7qn$0??{ntm78EiUfQ?G zwYzLZf>%-i$mzSg0D_1ez$C_2y;fK3Gd5b;qO3J7Ba&<<8U^NzBC&xMi3%?0ig5W+ zDM&_9N-?!n0G8W0n8o?8`m>PdicVB-{yXJNUjRTqa=gkJ)Ig5-IQ4RqY=5{jT-9e; zkt<-saSgcc6Q5h@l1X@=%^-`Iklu^A8>_H~OU^O{o6y*v&L2KgGfCKX#YGGcQ=8hf zT=o&LDu+(9ZdesX4OL=8+^l?UHGS?CP&v}pKQWd+AZ{9nkp&3^oPjZN1In@yKiXEL zFxT#h7v+>HvZxJIMRXFXTe*^RD+pF!c}7+7g$;iZg+q1o>{ERbr?p;wds+T9RXC)F zp)%y`nx2_#3zh7lXN+f^X%(b!=eFa=i#qJD6754ea=5W$MNy}mVAm4GMf32b$hnq1 zt@momtYyz-N!PYb;|SAY0Jr8>-kNlDaXl=n8qBdp__V8T2_oK5!OMryUyHO z(HoPPMH&Sb>Y0V}u_iI%@^mLiqkipGy_c$!b5>p-Gp)k(Bgdw0?&6lqy{$v}IVQL21e9~N_3)N><)w83Rs&T*ke5ixUlj;G;gi0P$N zpFu8j*g9vR9=UK1kwLry!Dp;8#FuJDKFHSboRAc#3|XqiwB|Tlyf1{EL^~8rUT))o z#8HL2G?l8KBz&EgCk+ACe=31Yc0mKsIcr;am^Vo9Wc&KH^PiKCA6l?HgRsXKuh})R zUQ+$vy<{VilDbj7VP^l-R)f^bmgMe|&7gJC7jcuBAj`^BV@|ACKIxuXEM%e!8d4KynhlGr7{kKhU*GWFn6rkO@(f+TYpn?@rf6%_SjD93MVm6Zu#^jFHV&3^z>yD zo-R=uJYqtmvQQ>9DOa+kdtiGJSCU-U8rCz4UP=YV$OK}@(>d;N0H15gz zlA+DZJ97T9URl5noy{RAx=6C1LODB}valUWStu&Fjbl1XlJklEvLG%)bKZ$rlP_>u zk~(C+(KmNiZbWKnUPnL0+H1J!J$Xbo7vfCFvrWevZi`@tV?=a})RB0Ms||B_%TWy; zNh$)g1B%#csxv(WE7Gag=_ND8`=>F&p!|r*<}C)}2VX3E9MjYdM{t7~FE8SY=#gH# zcz-Mr0cP!}gIrgR=`JV4h&Y#jYhL|qn{k|TgH)4wD#VB|MQ#f*vbv_N$=Ejhry(YW z=~*`@hydBW8F~3(U#OzfU{~?sl`#9(gZ0!TQPsrhRP;t{P-s)}2pxwnEZx=_1+%LwSo%S^ z(~o=){K8nZPF@;c|@dSc{BJE8FELtEh7sbh&2e_-}<(Q#C>y_(pRx1D@*OP zw}Fx3W;RkzF}HMTQe_qrbkFRjY!@+fDB>Rsz+a?$b{|r<8qJD!YFBJTJ-Gbb(1t#x z?&tUU2__vt84?!|qpL+cp6?eBozHR6qJUI#L-n?k2y}(8a>bM@oB59F2M_mKqWi0h zxQPldCl^)y_z1Nl{nlt@4{-5X=^`olW=RFLd8tatA5-r~r9}U>^>wbU%;;!$Bf%R@ z$sDWOSd%v;VeOK`Js0gu!ET$d%w8@PiH=&;Vkh`H{|vXeUL=_9`7|0Ski2$OORH*$ zB)3Zz#IN|#lg{#~ZjHQ_IJL&4*Fe@6y-csqVjE|wCEnI6lPu1HULKT*TBiouPI8pe za`^Q(-e1ruy~)`I7tGfwl{5(Y^V zJ=HmolYYrGG7jo`wT?gUk?7=GW035iDCA5VRn&LwN_EnwkDQ2!ZSskF5+EKH}X zZD%kr#lh(^9uYJpJ6e?)3@J*$ygMR?>~29<6BUWi5Jd?n&8g%Wj1$VIw~unfP7-GH z(goH4yz~$nxgld6Bs%N-Gp|!za-~eiPoZPil)kAXP^Un6Vl_ zp(n@RTt|wh*~}XrrDfVew`@UI!2CtX6g3)2g_>} z)2`yO_DJd5jOR!d*!24|532Z$RGtO9g#WI4@md@5EF^A!&#$a0tZC-F!|nWh^w6#z z8F7`4$Z+R8a(U`ZvHY$jddlxFuU}j?mJ)NiV(O9VL!AB@=_xIQgfVLfe>XUm$3WSo zl+a%K%%^q#M}m(-L=yen=Mvvta~Sxm>qqa$s5^2bDblmxGE;rL$w4N1X`9tE8WeFu z`04qs+7}BJadLA2*XV zUAm={Q4c!`x(@7+OUoZdY2V{)WR@nT8jbd_j#G5QPAB_1sBJq)9ltKavR`p^+?rJ(Y&DOrvBgCFDaultXF-!;QV}@Bf;I>BGmZ@$PYU93J z9tGQxBXHRG4#)uZ1|w4t66hvh{5{rqi`tV51t5X0Uu+!#G(J z)(|NwCDT>85Y>Q6`@-(Y9L3}cF3aELwOWFt{W~TLsHaS?_4XS2z$*4d>r4|Ch3+Q! zCUmDLN_AKi3lL1Y0g9D1peyxq)A18&^hk%IGB0vk7rV@vh$$^l6L*X&ax@JMMUwEL zh?zfzReFjuig0Sdew4`&#ZNB6^=ZT*e{#_#OeZMm9M5Q|+9nM$T4(slg5{waDtU8%U5ZV=-+$)Yr0z9Hp1}@_WuCT+tJ#8~K>I zOr+uJRIp5_HQhDGQaVB`i~lUK!?ifvbCydQP$(?(6?(5|~<^*OT`;$y{h# zHGZ<%mf|fzb@hRC1Fl3TC?l2+%Y}Q(i*0MHipaw0P_o!2Y3ufZ9)2>ZBJm$nOSECy z(UH+vNaeedT8-sxZ+W+b?pj_SjL3;AOKr)-?&EGt>^c2hDh`IL4<(>@KhSeTdrt@4 z?j6;jn|`)jgZZ5Xxy9XH(~vG8t(aViu}pw?45X<%Z|}kxP**MFs@+IusuPq6eBWzSl?8y=ufgeo{?-KFjTe+cs*r%OWPaCoV*o~)4T+H z?8vncjW=d($1wFve3~InkoBYk$l+!OkfpY}z#S=!rhAI8tZ0iGjQ46P#Ry{1?scJx z7*a-H+|e;6!Bw+WeMHokNE=Z`+ZvdTbOB#l=CMu9-YJv!Pv!4ewu2vz&2B!R{iz#x zjl!f{E<#3V2Yau_1r;Ii8ho&=r%=px=Uu6uR>ruWtu%b*%$*Ll$d$lO+`_))hWs zQ$l|{lE|O{r{tyMK*u-j4Bf}9%4pWz*j?3toL%jxWO6;_XIQsnoV@+uRKxEz?gVy{ zKgn-(`5r4A@#AWUO__b)2S1skx=5Z<%qMAjHRb~yst0r1dT5R(j&(|(-e~sb#0&I3 zUWRGUiWe5|2)Bdju$|yE$f9sNIjHCQ=!Nt{-I9WM%`aZ&joP@Z7HZ2p>o9qE=tUY2 zOTh8KhCiFA1Fe`lo_Bea8r>eFyO)+hTfzgX;YQVz8UNaP?-T#A7@=qK3~cj_*9Zc^ z8z9x!fK(E!*?(h6k-wxvM@W?|nGGXc6~>UQQxxwb=mRdH+QQgcf>BEgSKi0Ll|`B3 zwMCyi9yt_+PCjuS)kX$I;jES{-3tFwkCY;Ix>{tpBgQpY0IJHmaYe`$eCnaGvafok>Ne;TdIsW)U+ADSaF_L8dXI*l!rocPm4@4o!Z0` zp`6e>>#-EmMr26Wn=+=T=j^E-^(vuPu7NyC=M_*J)#}|un2GbXf^@S|n0y|^>nz~`?AQqw7Qh43|GFwugIR}b3Rz*@kx7flau9QfO zYRb%u0%2QZ#`wD+cVPWM1Gv{|i_qIzCfZ*DANClx7UH9q*_*CyG_c7^8Vh z`7|q>ycJO+j73~>fAknnz=d*%B8Qqd31zskX<{33mMEJ)GIEO8O1QlxcXIizCP#U# zcM*=#LSlobq`JmCfkIsQ?r&_C5cdwKz9@59o%L&RN&Tsk*ceRgZpru8io|FeCZ|N~*^F~%vynv>yP+1;Ck7APOyACwhM5gTTxJ{h~p_NNf?MDd_k0)m7!lN8lQv zo281prpfCl2?4GEYkn%tqX09ji7V?QT57G1lj{9Q$xW*XY^SQy-aKp+G{h=k2y0Ck zb<~@4d{M=6_Y>Z__Eh9?1l&EH5ly$d6zdAsYaEI9rn$E4J z^LC$1OVXs)7-_!8!E*^M@I zjA=HoY(-XKAHvciFHcBpH(M}5uDi!YduQ4NO`~Vp37v4Jry?PSgl;+Y65UglwV|p8 z-A?4>9K|qBPn_{cXFWjzcP&oa*efAa@!CQg!Y23M6_JcIW{+6rdHdF-9|4-BMJ$4a zkB~(@_Scrf#$t-sVi1y;KxJr>h=ChABo*hD9p^Q+(NqO{0Sa_+rE}f52$^ zilkm~2hp!}48Iv)d3l?Z?asp*L8rHJ|a7{p|@8l=*<-S1r!;|^Uq zUOMGxN9}O?-c8l!&vom2rmLHu`Lx^-qz;LmtlhVuh#;S51ZtKx3*F|CM++_cm+jp6 z=Airj;{_Kjmxou1@C}dLHxLuc0HTuXSX2XO_{siKWm-`QlV0qt0BKm_>tet<>uQHN zByP=nG#hDTYt`9~PhUDtu8A9FwZh|@WnR;7M_X1GW^U#TwvltRk>65NAv-J0S!Ev87Guo92%S@+*+q`84J76(t|CAb zAatOQ1E&C%QU2h1)aa%gbQO7J zL#zKF=F>dI&}|)gL^@>_3`ti08BdVpo`#bp;|O66y?YVRHi0TeM1^9=g?{09%H|ac zfKn6jRgVyvy;iz^?1d|0Roo=prkZA{?MBW?eNjW6g1X2NtCECLgMrvh*rI!?aKWdR zcfMJfor74__KZ~3h{kJS5fA%~h*+h|XR>(ZHR=Vwh3dP*PeWt}4r9(X28$_W`pIi%JTYuZ_NOrqh%Ny3Kq> zD_sN`ZH!?|NHM62V#p`R$x8ZaR7_g){x>Lwrpn(Eg=mT;$B0hWFQko z^sNXx80E3%%mW)MGPY2#2^le zF&LdxV$4M47^a8Q`XXyvid0pXJMvmIKI2tD?&|nbx{0OI#JM}`n<>8TU@A4kh^?N` z)1^Z^>)SDy33FKHCD*oHz^*V%DAU%!?C?<&t6(&LdL+t-9-*~7l@3#h4%mj(W5@aa z%?4-?3it2pDd`Ad1&S!C-^i&}R^N=GKd$-52#97t&V4Q}-P{Z-{JDO0_V%)V#h>(% zD+^xHMP|ORsT-}YA{qNpH-WWv?19qD6xNEE%k0d?l-@2R?!Qt;^thw|W{+u#emcAN z$JZ|6SB)@H5EX~niMTAo3vVrNIwTn$vZ(Py-~F1^s>*d;BQph4%@v0h2&;6mzE2}J zk+oTN*_b7+Dpou01!Lg0aC%bPA}e?FPNXvEMSJ`G@;ybQ+W3dz+HFZwk#)Mqn%q=G zqL-8KAGougxcLXXZ^27oVcKqSXp)G`bAvdB!6%b^Qkot*!H#AbNzC4XY&=awOcOfA z&}bhv9U(%&5D1hW9ZD_5V*_HINJI5iK%=iw2PArxI6i3;vbUU~>7|;tc zF|Rqsc)B0FMR;L=6zj^LoSYR8rU$NAW{JQl!8upKxDAkkMXREte(6udAm8ju8IyLV zT#rk40XxZMkF3hGcCAoLnyeFD)19;Fen{%!QXHL(=Nl#lb;_aa9O+3h8C;y^9nl61 zncpiA0hr6N#(qQ=sd5&tN<@-hB)VLvEb})}=3?cZ4~?q{D**OLQ%-MsOUj>4-^sX@ zGw4%gCM(K-lD_+F0<~+B-jSSJc8;_2dNaK0lTT_L=9cP8(yj9Pab+&su2R^RQQ<~9 z;pU;S>3zq%&9 zIl+n-Btt=c{mD0^=D_WvNRtbwHp|r7f*A`;W=QINlRQh}NKWKcmde?+f~<3X%6bD+sQ;rC1rAPdkf?cu3Tw z5p%k>Z%TN`R0mUgJWlDi-4!7NI3Le3-;+icsg|BJKuaImVN!JQ4)^R8V03-2M8{qj z|Mjdd<#l;{!29#%tnV+&;EYT5ny!H;mHfB`s{-is1@}Tv5_p zNqapjpcj#r--(VH3@B!5zqYO1t52WIA-nkp#IUf!fpU=5NoqV$#oJ#pi`}qt$y;t9 zHdR*$xRn5DQTo-)hI<&;!$5(LVYhkR#)|P>9E|fiuZiNl%T2J~Xg1SaQ;}|s-xkS8 z;F5E9O|m;}IpxNN6ajr@7(sJVAH589q37lGATeB1<%95qa+r?*onHe*i5y5UG znmH%rj1RFB@|V~NaU;zV`TkSHVz0q5+9o!^D-|LEXbO&*;;cd$2f51lMv<4YFgS73 zvUmez?l2A5EQdI?g47j-`$h^q>YlRDS%uv?DmzmHFqj(PzHYdi-HnO#TfWA9X6+TU zRF92wezg{@Tn`eIZpNh*HBL~gEk$$#?ESarmrZS@!F#&W=lV>_q1%-yxEWWE$+vHO zgmwS1gLx4qy=A0Ncq}ci5?-INqs*j&qpauvL|@+_khDa?j0L&gv4X(D9bG<&DQW6c zhB8h`4TrCWoAAV{lTS3D14drEvyFgRR$||#YyzXqTIOp@p61K0jw9C1BCJj6AHKE@ zAmLfSnNa-35T~c<1^aMGPi5Y_Qw>v0#KmBP7=q%gb>@Lrqi=FpKy=DlmLrwM={TXC zs8!wspf8QZkW-wiT2px;NBz|$3|Ckzdn7Vta*=98WtTLp{<|c_N-z8K14Vt5>4e%P zoFtudV(BAUFeNX=)^AI%NfF)N(6`Kz)h|J_TG>olh*fsiGaHux;HG}j;nb#K(!vLP zg7^d60M!RgxfnbF@QD!_WAiTATy}MYonHB3Z}WqIH>U z)c_5N&pxK>r^3#rD8yt-_HiEq0QzjT{+fAB(*svj_dT4G)`-Nz9?g#$yJ( zBInaNtygQcr#XbwQN4#d8@Vi%oLs2p{E|bnDEdo`UKX(ee%CXsr?v8^OR-u#Nffz0 z?WE|thM9VHNk>Mh@?DdVJ!`qKTvkQtC8^0yUR2lt^$}@v%?fFV`R|C6qiu_6Z z^A2)k%gRDjBXnWR){FZf;w$>-m@QZlUCAj-gL$77Im>vp>tcG9e^#Djv1ZF307R-hw8p}kH!y2aOsr#vA=#46GCcCL@`eorgd`Fki ziJ8NTgFuraDtooV=QlRgp(q_BLVn8Ki}>oMG>X-Q2X;X5z==|2qSUF#gJfN?@C^XW zk7VKa2;RLLgf%9kRD|s!1%V{M-}84FmVi-M6lnutm$>b-A|4GjBys9L4O+!|fY~-f z(Iet?mu#l}%xnMzgG65R;G|^{qml)|!s;U+{X}yfv8Z^%Vz9IdTY;vBmg5%<0nu^2 zx#FKV1dy(76d--h{K~x>?<-N7s@$%YZgoz4dF#h2#lhmvjTP^hYw@eMN?;j2$4%-A zK%b&Mc79%7`D#}Ncs@Ak>xpEfX$}LY4{A6@pNH-q*d$e;n%!I^iypVzDnDVWkol@7=lcK%7u(F7KFCR!3N@Uo9%;ko9Uh)2+rNBbp!cDIto^&!xk*Pq`^O zaH1T8Cac7-`Wr*OtTA%KE}rPA6Mr~emr#;It|=&h$>vl8g2{aSTH+Z69XXkBy;QLQ z1j|M=t6fX4GT0KBuwXmEL-gq_Z4vfihNK5Y9l{)XNC=QJFYzJN3YrQOP(uaJp#JG2 zY#x?%EJ{bR_&KP28L|RSuG(`co}*LZ@KfwqB}a}Pyvu21Sl`qkkiMOwCDeA;MPvIk zq2DSk!?Uu(#5nVyC!*pbj_1Yl^th*sb$&*XKt9*ttD_Rx9Cl&JK3j~OB6RZ#JVh(Y zqiMAiQFbYH2u(W6pIVlrhfOq>RBeVu$&Vm5!Y#_Fi?%g6^YTDNM2#*wZ2Ah;01vCK z9I1@BA}pRPjwo}9#t{jWADf)H*M1-?jh*($Lt8KIY--Qz3-cc0e3C0LKoy=|6>;|% z&W^YAW?F5(d_~Xq-dMKWQhPKL*Ec=J#EY!)=|`u~Rm3+@^~QSzUr)Ikd?xW7^FNFi z0G;eeC%FZQTudyyA9|hHu%m6gM098A%+kV|u8cZBv#)bH z<&&T~w=(~Y2jLqbgu|<0N&hZ}3H`qu7J^J~VJ+y3cVQzu2;qS4fGD)2_#Ne0Qp#co zJ>kGjx1!nT-$*Hgi`g2NqR>tT*-i$Cg!JJKPI5^)Ib2TML`Ybw{B)R;zk( z@J7r-TeTLCQ^SJt>Fbx)!g9C~`}KkKOzyEZo^X_$A1IGL>ulpC-63(PL&ce70GJF>WeV4+*K<%Z;+k*P>FxiDo%)px(PG@9X!}e@tm-GM=iH9+CN0gXkH?M29*cZF!n-FfX z0=Jc`#CPqBe%cKEhPV4~DizEJb}Rh0a)-UA!>RC!{(n`uUIKDp-u63mYEGDSPx;>r z;n_->{zSAho-`0xE9WZu5~dw389rz zQ(8Fr2kO;t>wo|Eo8e^mgK#=RJoai8>v@gb-&F6*Jio12&O_|As)WXQ;ggm*r5Zk6 z^ogE*Glaflp=bKK?T17|p=s<=cF?kBoLOVPvWCq6l4uL70JWZo)b*air$V^bttOvs z-;wO_OTvfQ@a1svu{E*>>C3E2K%u~=Q(6n}#kJUn(0@sFhLJqyj7yLKpCj-`YpwLW z0-;Y3rJrUFh90PX{tc}>=W%}e4X(0z_Cud??oG3)^83oQP`q_bbwQ^utEbFT7{6jT z_JMi~F6(_FQJs`495|~{t_WA}XdPzbY=?tqmCtGYQaG<1dOprZ9*&eLR|JFN(~eVr z?Hgevb2OjZIQ*D7JT|Qvp0xdoe`AvxMZzBdBb7gXB7u; zW~~%-9z0>?!}Fw{SL{Q@7Pa=7kA@TVH0Fvux~vk;UuG2p4^__yc`s@R{^*RINW>&*Afg4E1408l_#nQrb9p zm{y_#GY06l;tdUk)Jsw_fV<^)OJ}TnN>Mjy_oXur)N`&Q6sge{6PHO=fCH|1?ADm zM(6>fuzruw`h`?Ry}zh7;h$k-N}=nb7Z;U33|-Y14 zavv!BSmmohtGuGZJ{MKK3R2~N0eqS#}Q^8(`2C(|b3t%Q%6A}&d-E|}Q z+dZX&F<`THs!0i~!(1MXWQ{z(1$=)RcLDo@8P&ID1?O$r{g=@fRgWAUPZtUGaUlOX>)- zDXI`I2Y6q}iyr z#(2H%DfO(NWPQTuzLTM+(Z{Kh9u2rY6I$$m8SM~upka-8`%J|B)H9dltYy&pQ?u&3FL7b0F2qP|Q zrr;XrSDm;~?fn;;e5y;?#tMOL6$b5p^8AKZhf7}ew*Kc!+D2@;Q`+RHl!#`i zrC$*mV2*Hc_DwCBtF5T6uUL+u;Qx+J&}#KhBzy{g!v;IC`rhL^jIZgL8r{UoLCtDFn$VZR#{5sNW_!IH!Ncf-3{-FK_;zbl3b%(qhs zk7}q?h=e^?wSLU3la$bRLgW`>bx~^|L8|X1{SRY)Is6liiWNU)|4u0WvKT7cEcA&r z^bIR!umSQO5#$RpH=Z>TmDodCu?aKCLMSol&8z3kr>|l-GAGiBfX0SBD}0(0V>>4` zo*rQg3HvT+{183nL8Cp~Spv~>R^}8FBA@R}cSFi#2s7smH?qKm86fvlxA&Fq!dBgE zoR}SZA{(~DYt5BiwB3_N=M1t@rf*KOJ}2UYD62lHzb^KE#ri*|aa`4mAWVjX%`_Kv zMc8bV2-yhh%v!zFS*>YKt4bYh&ds#VJy66&`k}g)XN!5bq!B0MxicxS8Uuc(K!9O1 zE0-=NE{Q&*`8cUkrTEr!=O3~qlw4>d_|6XKnQ5-peT@^ElJ{!r=}ln)q6=f#4JW{N z>aDMDGA_At>E0(MHbbM z)FikZQ>>>?^r0VWNIrxBTCjXAey^z1r0Oz=OiS#X8I@xnx-yC2<3`hPG>LSSU^iY> zPFInOT*p1dRa-aiGUhWjrdr?3c#Aofk(K+c%#GqI1N6h0~HSGFs4LgM~?_4u<2-ILJHIK#*}Vfb0~ z;rFzPJ^PTc7L>NGR+Op|F`xC~4U?h52z2U(T3b?mVFZfSmPGX`J$$w~w$G`(Pir>3 z=J&0S9zLmg+E5=oHfOOsmV4SYX)JTfr})S%wfd_1zZ8VmYYDsSsUmGbyWgY>jK=2RZVDvXzTGMu9d@s0{7)QK({)eA-5bIXpC=^i$Bvp%+WWxyrGyvpFCbwGW_blR=FcJ%(+nm43NaLQMYQmm+%efN1!I5e?!f3|bQ z&|G?C+9iL=r@7Q#MFxlGQx;P-Ts`5#r&UUGvM*sS2k{ztq)M1Bm`kTn#0-ODZsKsy zFjD476wOq~sw^=t%YHm9JbOhgv-@Ucgn++Jh`zWv!s&1r$JBLReB-+K0(3b`{j)0f zqD(Dy7zQAjE2fcf?%2+8vmlfQb41d$IIv(&GWB)?Auc$ln<50q z5tunIK;-?B>O@?IsLZMMEO;vCNR5E>Bcz7D_w>K|H1x$J49bSh83_Iih=cTSPB}du zjv$pA_M)!*WjX@64D=Tz@ICUS?cmdqjBC!Y z9ufPRW-h!?Kb>>c$Is^&tIgc=%{)HWcDmJd4y*nTa1N$bKMKpcD`Jdgo_##6|G_Z` zFgqG-4EtS3cf*jM8-yc|Ej50|@OMe`1O31pFt53eJ_vm>49T3~_%74N(42DJ&@2$b zY@<-$(U^xFPW*Q)6=Nf@-?bRtZ(a)D9)%8a5{+LG}5aSZceI*Cuj zA6q#zj2-1`j;P{i*ESO)YnqjtmP0gW>-(2&;+!}`V367~FJah_Y3D?cS}H!KP133V zyN$#(XLOrRa^R#Gf=72Bwe4S22Vn&)>6@WPx|O!qkx6Z47)oLwEHgG)^3v<@h+3P)c@Kg{W~LPR!u+Ika)#8{**s+VEhw+R|2S~`v~Y*V(h>_ta%DhBv2 zIS!Kpoz-n#N!L#0kX+cZe(*aTeqZ@KPuPp3KI2lod~T9hYjf=>2BRrL0hj zz-)BJeoI6nQ95KLU*CjJV6U%iA_&RDZa##sCF%0-JA%}j^A>s#=FV&8mSS&8`uca7 zp)U1*0V2&xW^X5UZ^q)ZQ`26^W?j}Sd>y>23+#FgKs|PE(ln!21%b3e7a-1H3Udl9 zt-WJfmYPMD&(`Ixy1dKY2eb5wu3F68D$CCkC~%T>;GQT?a6so`@L9Owt|?MgU{1$W z2K;pcnR`Pb_pwLnr|@admFMw2Iz`Xi{aV$>x)))^^`D2bq}?&2`N12Dy(EvTBY4iC zB%*#Vi0m_a=q-s_hJ*DSv`k4!_pNE=f}=0Tbq#xg_+ewvDXJ5GM$A020=F_7s3euL zce&50bRJ!mCW#oD2;-j;J)wWZ!+u&P4Xw*Hq+ou4P-j?s>96kIeWm1u{O>-D$p;b~ ztouNEeOImRuh^_r^JKH}mfFVC6ioCM5{AwQ0*woMlVMDT&!evR&e`l_QO2I(Z8skV-|rYa;V8{oz?hKzU*^N4!ksymvz}L zVhy9uLK1%DqI>(&7+ssgQzZ5EZR_i0^#^@GJr&nxj$L|y$7h)VoMn}hU!vy;chk}D zOG}@|tW6wD^ z&HFEiOT*dW-Oe?`48KjuAqm4dAFI(VXGeWQ7;%uEf1{IzWrIp!R9shBu+fE+5oWT;h7kXg1WVTPn8#64hX?^bUwPMtC+ukufT`43AJN z_feIX@saXqk-ny5)~fGE%N%ggoF|Vt9P}}`98k)*;X;xPO6W`K1^l`WOY_jJM0law z8X=X^BQR0xa;{q*cxsvJrN(ME)58gN0EdZAb$s646uj7|%W-UX<0Si{tjjTN_x$1W zJ_q$ukLrQjr)VRbOY>JR{kS$cICZ(xYLPJ*Y;^fjltr~dVG#FUT>*#P7Btu$qS&E(QzSZ<5oT%r6+SGHpoMm}s5_f)v=c=&aFcitP93(^d zI$VXY@%JO$)3b|6IMzK!haMmv)U73GOhaQ359*eaIbiOQSfN|=)OUS&y?Y5}B9-wY z{aUFL-Af_KA`jg#x&tNEJiXjKFZ&_oc4`^(+l@nJlA|}DQ+9BDUHpbzGgs&Og%>h~ z;xGl;?KB_05S@dL?l5<|}%1{7Z3+hx460E?OE;IP7UYcPZ6(qNN{1QudWhyFSj$$(&NB7a5*PsGZ|=*`iw>r+4AydQNaK z^`LBr5kg(z+E6~UL*LmhW%#;l?!>iIy7O1C2HCI5@hq#)E#}1YBPTt9l@B_Wt(Y0} z5*)gtR!(;2bxFfpY2=oifJ~lb!(D5YoKWU_M2+#@_=+%_`D=1lmnv9)WTz1CEvMYR z`lUR@?6Q-p5=Wf_qJ8Ck!;FFDneTSXg|yMgw-1d7oQ}Bktlxx7(8Qa7s5_5-%vBxs!BS1rqMNCRth~p%Al^S=0!0JG0>Gih)1z z29$1OvU<+txPi(XQ4Ss&MrM?f?kt7bnK=IPuHY5rtaBCSDVJj2s11)9Kc&mMm~`9e zNtK4P!iQ6>+`9E&U5gpAX}`0fvt0^jgo7-&M)}<>1RvAMx_cqzkAtm_%UVIn5|B7)I^;6kx|{p%L$Y(8o~&s6kv`J5bL~%;jWJh z@wkNZI1OZ()v2HCXGbBBBGu36K^w%TgpLWVU|aOiw`LeA&*DS-H#c4cZSV#2W_tFh z>zMET-N&5T@X_X$o?zVa_IG1_a%Bp8ljDw<#|s=VmCp|)gLftmVfif`I-Qg07-(;)0jmLJfUYv{s~VXJ90Ps?6pncf{)o<$)&#ub-Y0u8J7R_X)RN5< z^dX!qTTf+AX+NYsowb?v)eO(NiUl@sV8fcxpK$3>cRaFlY-gXcDLs!Nd_A|G*L}A> z?FQ%0AnOI)aaWnh*Yuc6xpRFLgC2SEdE=Q77dFB%7dGm%Sk@cWjKfWwK4a^ZFevQ( zQ0us2t%iM{(JFpc|NFiS`?#^;*Z_s$;4961_;NQ|!Wuf|@KW>|0R%3Q6>G)_+z%UB zDdr(u|0Fe@>o5ZBQmbyGG81Ozc{YXV4=M-G7)kLy?%0SqAQ^ALhNkSHoCi8{3aV@5 z;2Z~WamA`j*6doeUlncSzsdmreyW+CBhvCRMqs+`&DfSlm=bLQY>2z;9_?M{i!7{CEDI6$M zs@~L~l>_WZ&O58M$g%7sJE8l)Zwil&iH6~d`!@HyR4&bz`e}FlxOIF-GLZxjOXDs*cB5+pwrtYG{Zpg;>M2~QW z$e7?%GvgwAC7hkmO)h_W!@2R}Yk`tFmUHVu?hXGO?n!N@gf(fN>TSQNoV%w^Xss{H zb)~b8gfE@tQ;OO@@#vOo_ZWv#OW|0vRI2e!t+>-jyH$9cd<(_eWGrsvJTM__VQ1hO zTHQcAnAWiar$r-tg}IoJ_YP0)BzT3-hw*+zKJmwfI_es4rq^oJTLgH+`dw?D5&AvF z{1Qao1MIPS8&&I~I%SG5Qa-WnyzR1NXMdXMwf-DzrdBO=q*Qy?q+*<3yhZil`A)i- zG_3I1?8b7|)&pviS7jo+7bV8`w7P_OhUPuVO|zoL?%<9*h@(w|66tA>W{%p}-+4q==H0T6}wSe+K19s zD=^;a2vwwt=YpBsv7XWlv5z&ouXlse2fWDN(oXNXCgSwXx^~G~(SZj4*qiBM7Av}7cojbWetoeJnUbK5papt?Nch%a?}OB1vAreBFN)jlxl1PW zQh1WbTpm?hLOWW0U#;G2FqY1~b<0)nQ|f=ozH&QH-eXin_oL$WNLCE;43)RR{F*Yh zvYd`$0fbFlPk)kLBpYk8ptCXE=NrYvh0fB4w{s<*q?I(EkFUM^EI++{0^0y0r02fq6u|f)Ao1Vc#?VH#?yI~DMhL$>rpb+lmuW-1c<9H zF#Lq+6CzHCT2IoOv`UCBt}5-mgD1l8h=~4f9P5+q`b3=m{(UL2Xx_eI^vw)I2kughahU88i%Q1Gl+PM!Ro36h~mXds*exwV3E+{W!R{FyNmldxms5m*j`Q|+;KUKu#QPq4g1sMhQ+g) z+b3sbCPCuCTw5C6&T6QbmY}D=If1Ji#W-EXhX#`@C-3m}-D)e1pX7TI#B4r+S2wf1 zDZ}dLt)M~9*J zyh?|K?s+q`G_sZk%_o`XXx7xNlWZ7d6~c)pHQ)(#WfXY4`B3>z_>CBj2at$aZzMlA z179(NpCg>|K6_QUx_B2w6DQ{CFz`Tml((OwFy1A0ZUv^V0l;lUX(5f-k&~8|+s#A`Yie)KN`c0Snsnm$cigNBiCl z-w*Hg{K>>W`qb_J?|1%V&&f|o4SFy9DEy@NzwiAYdjGWd&wKyZ-v6!luX;mYPv3JB z2Pb}O;?;@QC%$&<-D3m)vFB?unyqxNGQA*-v`vpW!R8p#&%|G~z58kV>qmB zb@P_s1#VWQP@4CAPba9|J4 zm7d?i8yUIMac%Yj2%mQk*6#aZ&PK+;uKSRnb#QFudna5tr%^yhIS{TtL5T6U`3ze= z(B$g3AKTem1D|D|gNN(}KX#=BKWxT(BAKJz3$VIPcCND=^U9v}^`-_tYM|cIM}u?@ z+_bXxrG;-sl|1x+LGpAMa+>r7tyPxbTc5EnElw_4_%lWe;+yB#LSv(&n@m? z>g%_f*K{08S$sxH=M48#0q*`EKJVm7IsHh~+s$;#`zgpcDAD##-4SDq=3eTZ7$0uc!y`a3Q3|L$p2Rxg4*?5uTu)o)lpWtky>wYJu zbY7Bgq!cfLpfR7*zw`kyjdxQh=cZC_9~w{4K?nKVbeeA*hG(x!^6~ziQ^|A_k=wSI zzj=M7fXZ~89z?*H+Hnuj-p%$>v+9jr?w66SY`1(&Q1jL}Ch`XzVvnPFFCEP^UiFc) z0o-FT$z4k3G$TW6Zom*ij#Fa zR4&)mrlZ^ZUQVqKag!W8-!W&re{j83IKEA~=r9B^x!VmL7ADj-{U{@EfYd!B& zIMvA;SXJG6XqNA&lxdg+;H}U#s9`wVd1%8?8++6+@`&>a+V-0KkzAnA?6ayNt#ann z9Q1>`P;eX~{Jkz(ve&e9GzgzVuVEy(=T$U8R1U0jUOOd;ksi|)ni0<)G8%iZsLRo7 zjlb9zbbP)j0}t8#(6L-`q+X0U_4Vd>O?Jnl*<`dRouDo+IoHua)bX4v$zG4onT{oQ z$*J2*F4ZSpB_F`^6*IYswVHRda3{)U9$})s4rF?^9?ZqRU$0IaL2vS>JYAPUOXIF0 z`@=M?cr%JT=u-2_jVqN~c2uYOg|5M|r@QPG2dsKkfgVr}O(f{SR=)*^wq+3Ia7#nf zg6vCDq$0m-*Gbc71oOgvZ{0aXT^d#|PNa04Iq3`igTHh-a)iq1CTSWfuYCw-=X{S* zGj^voye>xyy+Mmylw1qP;l4sR)}8yfO`_mu1J~96^Cl6&=jy$`tdW^+qnGvp?v?vs|dY%76|h91p*U*Xu{tXFcY;*6lUW@C+H-NFmqM&20bc(*)Q zZ@`0aa>mx5RiXvQ$mH4v&M}W^jl&6F2VY~~W9X|%V|EO3Jrj!%DZAxu^s-CtH2bvh zq3C6{>ELqLtUKjy)cf+6wU&>1gRqhR_~Y_dGxyr8FvO`rvL8Ga=Z;f`U5W0FV~fur zYu@OGEY{82JHMxKP_nelfd$&TFF>vNW{rRU#=rmQVgG85zSgK`=%tZw{rtu7Pvrsr zp8n^_!i%c(n^pK;5nfSvPJ+)1`gGOTsvM8X?KNH&;(k-*{!^8lQ`vu_(DCqxdhEvA z{aV%jD@y&t*q8Uh2@92ZKP8rQLjQY-Pboc>Ap9vS@hPi49DPwOeobukq~7YA*WYg_ z?@1Z6=d2&};<&D?{MY~V6Ak5}=*-`361-$NA@6EExj+1x{`YBpS6!oHF9s}2?`j=S zXgZjHaQH<*(?pe%ble6K#*Zo8a~!itJSLl|r-@_ht8B?-FL4F**G`Eu?HL}$?@Z;G zD^hc__JZy19fGS^Hx5(fm%P_4eM->$mP&Y`d#;ingj@L};Z(&p%X5VK`GV7Aw_L;b z=*6kXd%AHw92o7piEm_SK5HnP^bkXL-c2hH&+a1Q*uD2oj$L=6nAt_fc5T>C3EXlqYm$(sqeCNOBZ;Fm zl(x8N=csI9seP5Vqe<2f={&o}DaGE|b^Qf<-;^XF*UptDeaBN2u4+vd3c>7?A8tV~ z+fZR8DfLO^ltxdj^qEgqpwV-MM=6rFx}_j(W&4!!^?zQaLf_Zat858MU*hFkXZB@Z zVG;A0jz_tnX>h%Yho*6{O5t#n6ww&*A}{kr!QdR8l5TgB^EJ=;?B{Jh(4m;a)QZ21 z)&V{KmT(oB()S{=YjTT+x3UX;U(y4=ko4G`FJDs`xGeH8=Pd9+&I)GqH@$5QFLp^c zy#1S_8d(Bw3u`7d7C-l59MhsMP%EV1aIBtI%1yO=uT83-@O^*fkqbVP+F3~lLB?~c zu_Vm#muAB8N1aV_ZKL|s&E%tUy8glYZHwwRQcR<*|RGt?w&`9iaCvpKT({}0empqrZ z0+#{D&~Q5CM83|9)O1a$P=41YkXfa)|G&jX6MzWL2xWG@j0!-qR{i*Y?ur;a*&$U|;d-o5Rm*e9S-aq-$2vgpJit zwK}n_@mUA0#jMrI{@WDgE3}46i_0_HiT^cB*L&_zmHBEXf?3r#U#`nD;Pis}pDstG zkug%n7G9syD3e~!i@Q*PMPb;7N>B6Cl={Q5b83^d+R*Iy>Vge^B9Co{(@M?h%g_Or z(Q=6?wUYD=&P3h1LA&Aj%tzXuanWNum^b6Kg zXvHr3S=^Bk-w|bG=E_xsUaqNTyC$eHcs_OsGRudya}(BnMeVR>H1|jS#4}k-St~TL z2ciZA^?bg`yAsEebxB{2_m>*iY+r4NLQ*>%t%frv=nHtjs`<(FHHDxre9;>WNK`fG zJMF38j~VHaoU`1Q#R#pgeAZg-q#3pESV@n=8`M?L*`y?;o|?zmJkPzP(WL9Mj1(gS?n#X|ooWjYkMNcUc!4hlI5DIDp|6~karPbF$-D;- zqa~w>&Gl(Z_E=RN39tM@sPpPwch%uEkM!JMB_%JE(mtIfo1N=>o#_oq`X*eOE5T`{ zXEmBc(cu?a{_32gaFo*U-jZq{BcaQs@4kc+^oRp3z)7hL&DJkB~xM?p!Hw7hH9D!nqxzWQN0Q zo%tWz^Dg$o&N5M+?qU%H=bg$kUA^})dx;_gm%hFOgpeXq**eCEV10c2ew z9EXm8qe&WY?gi{loxe|}oM7=SQ9)!QX13&(SV24;%6L~j%i39(r-st=)1{kEnb==x zcghcq$44=>PHy7#)7LjykVT;`G+S`0&S`mPE0d}L{BT{eCd+(&w|cVr=-v0it6mUruoU1l5n~ncPZFs{8m?t;tD;y6Ky>AryK6^ ziQkknYaC7a#!qjuq|mJ3vRx#M)yElTiW=icG-xhI{u(H`M)ZViBc zLzya_>BOVTvO+~WZ#*jRtTbn&V5}r{%Y*PyA5u@)(b>a#NtfGIMwjhVnfmzonw~$? zflNXln|3Gq3?28g{_0T^%~P`+>%`v7zW2M7J%Rk1s5|tpzF&YOZ8)6n%?q|s5sL@Ac0qFu?oVnweDQ0+Y)Ii{+UnFW z96vfOQ$B!%VEJ%e(p8#CyQB+EiEFE)r zd4|Gclj}CTVyR?sauG1Q{O1cDDB5fzTxWFr-_Mn_{PKVw`S7VH4t01hLx)ZA1vVfY z6$zrx&v>5jtREHSwD{4+_#wvxw^l|FvD^f$Wgh@NwN>I*&E>qJ?18b}Ca0k1h9OZ^{pKFVO1S6}2F{7lPU+YThdJC2uZlqPm3t0Y zafQb{JE!EMKrSv7DgXSF;YmX4Zkw_^w!W->vT4&HMX4x)`W%fgRvz<4Ippi`T>e_O zS;qX7^O|Q5i^lkcw4!8b`^le8_nsZ3dc1geGQn69use0XIm4Yb&&3Tk zwl8sXJnVrzcHPnM{?bE# zE8N#+Ri*AL52U`Wzx0+do)U})Vu<@mh~ERGJ}iZJns%;c_!^QCL=GP7r`=${qgqM5 zoK^eyg`kD`+=EAu|EN3a6vHJ=?x^`n;NQ_)bMePirHclLoaq>UqGpx_H6Pc#c749bnCzTVC-mkYNDrSux}#t^efP65gp}E zuf^ZoGtskmZ0lS4dCGrA^fNfo)7tuu$Dj6}UjG^Np8@~b<3FSR)9*ih{xhtf{)y1q z`j=MQcNHC)=sh&H^*v7?(vSKvcxYgvw@1)X_0htr?R)A@Piy1v1_t=iKYar|gHMNkHT__a{|A*>;DLdDOD5K9rBrxiV6OrB)8DU> z!-E5R975&8hX?kj^zlLcYySyi5&i8QkL?c+1x>@wgVsksFY6o}92?lDe6@ePC&R

zLu2z=m(kY1)8l*eZ|cS#4SWcQ1NQWX-v0jnp#ebv?E$w`KJ*R`5AO+mqxz>`(=pz! zmettc;Be?;v`p_)>cqYN&@(!INCid@9eQd{YwNpe6|5Z|3@mr+qrdGR5JvnP&G2aN zp3#Bu)TnYE+M@z0H!$#2>x-kTXHV;kdj|%`M`K4B)aZEMQ=w;YRO>%F*f*S3d2n=a zptrU4$3pa{C$!@BkK!sK&@j12N1q;eYE&`*Z)jpq%qC3KfYk4uyF&4?kA7`q^qzlb zNOL?ouD%XFwP)<3{~$CN9a5#EWDdQmRckXk)Y|&$&<{|hs{V%u_Z(<#{YlSA zzgBsF@QC)$p7DO|DX@wqR;9xuS{PP)Q1yU+Lqx~>Tki=Gdt2|ZC&SpoBSXRv)vkqP z0pC-}UPx5$C`dLs+S@xaq9yHBCB381jQGzWjjKVe{MHXf$NR_bf;K-;1?u&Hrna@H z$!IMyL4!;cNYgtQXJHt~@Tdm=v;t52;Gb5_Py1+}CZATzMgt;H`40za?1#N7r`IZs zw*3$~GB`Rg@swl6M8E$&Junb)Pz5v;kp+K^d%v88fRq01F0#SaTP1!p> z+7|-2Iy_7}V_SbArV?5Y-xwI^9lJZW^_NhQyPCB@{T;gtX&D{63u#j7-H`!toPRSu zw)Jzh_VYa=(F9d;>#qpdVkaUn#;`{RMf)c78BAHZgE$w72zea_r%`@k82R z^Hv8`XIdhgfIg)QpWrKd%G^wWCy<<`UNidde%9^3xBOh!x!%3Pld-K|wzmFuuvgi8ZA`xynGomv1^a}asCCW9FTj6o8!g5t*;-q_ zhTc4UU}*R2-aUOb6W<%v=GKgfr+!bXKeqKBMnQ&u-!uBmfJXPT1Fdbw@+18>XmADe zE{uVNI4RjzSlg{PL6pyG_)!5+1M1n2gi0zpJkVzqvbjCL@(wD61^AJ`LTU(aZ=V>f z@Mu(c(g!OA>x2@cB2PaOqKuDij|_^=>PP=+-~A~gQ%Gf>gNh732Xz&(-zUb8VZ$H_7OsL6GZb>a{KLzfFS4 z*1y$MYmWxN+ed7qN5mQxImC9B@G=^I*_osKIYjRcLH&9TJ!8n(+MYCgU9zpTeQ5AM z8`!4`ddIdWB>QNaZcnSHmjtr^zC5;lee9cK+b^o$Vup-+d)n}3ds-o?dT65B_9d`u z8$oLjHbHT)YCFKa4~^Z`G7XPy&yQ`tGPXTrU6@zjMm2LigX4X}nwBVt*)IH>Dl0om z^;+$d2@(HBSfJ(pzr?Ez&Ba%&%Ab;ZZ2PAN2SlxRp3xkCUz`0U{@Z><$iDq2szKtO z0KNp@2Om>5t*0adc8`gQt?eHu>7(zEd%tlLZ$36WYAv1y|F=)~((COXTCabs0Yd1A zo+i`7f5}pK{$=*`s4wl$;)?qsny5Oq(=()sKf~JWN3U4U1!H+J(1jxd*{)c)0aIh&i_P@BF{Lp?B=z_x!)7pXurQ$KjcO z9Qe0?SeyRef$UpD>41nS)WO9}G)=s#PlhktB2wLbs5mE1XQ;O%J}_pdYu+AbQ3m;$K2^((ma zs5+)a8`m7a#ea8MLW>PEc?v4KZ@u0s>&}Z~`Y&bOc~R|XiAKfo_!-yohz1Sr6ZaKu zPXDqfge6T3k4qqx1Uw?1C!xnAnDIXGLV*W|ncMBB{XeE~`)PwbGq%lt26@IucG|}A zH;zjh&~FX&+j=V~3iV?x>5n7f{FNd7-wuo9kTSOY>qK>b6-#gb(wLrh%P;q$Vrahk z-;nMHYEC+c7GFQxKNPMJ8`b<1m2M;^W})q0wzkg=DPrXBheH$MxjU+C^y!IyD}o+1 zxK9!F;)mcI1@=wsiP=2fic3Ns{uhz6l_31|1f*JR_P2IgBNKf&GWyKKQ$pYYr;1qN#4T&D2?WEADoow)G&UcNwt0a zOJAH{N@5oMJ12@K6w(&ZQujg<`r%q*TYuEr+G<@vMp5v}UWoS}NnU)bwJ7oHP}EQd z5$VvCRHwv$$xD{~ix&NEihfnKj-<%DN)sQ3$*4x9Je^WDt<(>c(tBvUUnzT1%56nZ zEv@nuMWjD^WSvdt9h1@|33pI@pr`eRhAbMw!xZ=zDS*;DwtY_(^g$+H6t&jRm!bZm z{m`CK3E+spf7H4dTX|1=MbiyJT+w`rIzj7xDg+z*=v&H(hE2%k_s5Db>q0}()1h89 zY%=Y4;F+4EDB^0e)b7OC&Ovd0glFeygQLGSka(Q%TfAj-G_t(0yL%Bmq*JKAQEd

PZ5F|{G(R{sPXr#uh|2x~D;LgW} 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 diff --git a/SCADA/Program/HMIControl/bin/Debug/zh-Hans/Microsoft.Windows.Design.Extensibility.resources.dll b/SCADA/Program/HMIControl/bin/Debug/zh-Hans/Microsoft.Windows.Design.Extensibility.resources.dll deleted file mode 100644 index c1b786e86cd6b4b1acf39691ce477ac465d7cd2e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14752 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 I^Te?K0c`~_aR2}S diff --git a/SCADA/Program/HMIControl/bin/Debug/zh-Hans/Microsoft.Windows.Design.Interaction.resources.dll b/SCADA/Program/HMIControl/bin/Debug/zh-Hans/Microsoft.Windows.Design.Interaction.resources.dll deleted file mode 100644 index a03f399d8370221810c994b38e119f7bebd9b01e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21920 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 KO%PFLVgC - .\libnodave.net.dll + ..\..\dll\libnodave.net.dll diff --git a/SCADA/Program/clear.bat b/SCADA/Program/clear.bat new file mode 100644 index 0000000..c756dde --- /dev/null +++ b/SCADA/Program/clear.bat @@ -0,0 +1,13 @@ +@echo off +set nowPath=%cd% +cd / +cd %nowPath% + +::delete specify file(*.pdb,*.vshost.*) +for /r %nowPath% %%i in (*.pdb,*.vshost.*) do (del %%i) + +::delete specify folder(obj,bin) +for /r %nowPath% %%i in (obj,bin) do (IF EXIST %%i RD /s /q %%i) + +echo OK +pause \ No newline at end of file diff --git a/SCADA/dll/SiemensPLCDriver.dll b/SCADA/dll/SiemensPLCDriver.dll index 456766bc39a726575a3232c6d270710bd7047add..709ceca2df1955ee16259fed188c67b275775fa0 100644 GIT binary patch delta 70 zcmZqJz}T>XaY6@+lB{Ud#-1%60>0gzp5GjoyKj~6yt#53&!)`*o)YX}>B%_(5&}p2 ZKD_Z1Kj_z8@#vA)vPB0sPYK9j2LRh=9gYA1 delta 70 zcmZqJz}T>XaY6@+?T$N<8+*2R2%IeZm}hS#=dngj=)?7GGZZ%mcuKH?r6=bENC@Ql Z?Ywm)bb;ee5wVTBb05FhJS8B99RNlS9}oZl From b119203d0cd6c91dac318dee073547871668cd1d Mon Sep 17 00:00:00 2001 From: Gavin Date: Wed, 22 Nov 2017 15:11:49 +0800 Subject: [PATCH 2/3] update mysql backupfile --- SCADA/Database/mysql.sql | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/SCADA/Database/mysql.sql b/SCADA/Database/mysql.sql index a9c6d19..98ce37f 100644 --- a/SCADA/Database/mysql.sql +++ b/SCADA/Database/mysql.sql @@ -13,7 +13,7 @@ CREATE TABLE `log_alarm` ( `Source` varchar(50) COLLATE latin1_german1_ci DEFAULT '', `ConditionID` int(11) DEFAULT '0', `AlarmText` varchar(128) COLLATE latin1_german1_ci DEFAULT '', - `AlarmValue` text COLLATE latin1_german1_ci, + `AlarmValue` float DEFAULT NULL, `Duration` int(11) DEFAULT '0', `Severity` int(11) DEFAULT '0', `SubAlarmType` int(11) DEFAULT '0' @@ -37,7 +37,7 @@ CREATE TABLE `log_event` ( CREATE TABLE `log_hdata` ( `ID` int(11) NOT NULL DEFAULT '0', `TimeStamp` datetime NOT NULL, - `Value` text COLLATE latin1_german1_ci + `Value` float NOT NULL DEFAULT '0' ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci; /*!40101 SET character_set_client = @saved_cs_client */; /*!40101 SET @saved_cs_client = @@character_set_client */; @@ -61,9 +61,9 @@ CREATE TABLE `meta_condition` ( `AlarmType` int(11) NOT NULL DEFAULT '0', `EventType` tinyint(4) NOT NULL DEFAULT '0', `ConditionType` tinyint(4) NOT NULL DEFAULT '0', - `Para` text COLLATE latin1_german1_ci, + `Para` float NOT NULL DEFAULT '0', `IsEnabled` tinyint(4) NOT NULL DEFAULT '1', - `DeadBand` text COLLATE latin1_german1_ci, + `DeadBand` float NOT NULL DEFAULT '0', `Delay` int(11) NOT NULL DEFAULT '0', `Comment` varchar(50) COLLATE latin1_german1_ci DEFAULT '', PRIMARY KEY (`TypeID`) @@ -89,20 +89,20 @@ CREATE TABLE `meta_group` ( `DriverID` int(11) DEFAULT '0', `GroupName` varchar(20) COLLATE latin1_german1_ci DEFAULT '', `UpdateRate` int(11) DEFAULT '0', - `DeadBand` text COLLATE latin1_german1_ci, + `DeadBand` float DEFAULT NULL, `IsActive` bit(1) NOT NULL DEFAULT b'1' ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci; /*!40101 SET character_set_client = @saved_cs_client */; -INSERT INTO `meta_group` VALUES (20001,1,'Receiving1',300,'0',''),(20002,1,'Receiving2',0,'0',''),(20003,2,'test',1000,'0',''); +INSERT INTO `meta_group` VALUES (20001,1,'Receiving1',300,0,''),(20002,1,'Receiving2',0,0,''),(20003,2,'test',1000,0,''); /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `meta_scale` ( `ScaleID` int(11) NOT NULL DEFAULT '0', `ScaleType` tinyint(4) NOT NULL DEFAULT '0', - `EUHi` text COLLATE latin1_german1_ci, - `EULo` text COLLATE latin1_german1_ci, - `RawHi` text COLLATE latin1_german1_ci, - `RawLo` text COLLATE latin1_german1_ci + `EUHi` float NOT NULL DEFAULT '0', + `EULo` float NOT NULL DEFAULT '0', + `RawHi` float NOT NULL DEFAULT '0', + `RawLo` float NOT NULL DEFAULT '0' ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci; /*!40101 SET character_set_client = @saved_cs_client */; /*!40101 SET @saved_cs_client = @@character_set_client */; @@ -110,10 +110,10 @@ CREATE TABLE `meta_scale` ( CREATE TABLE `meta_subcondition` ( `ConditionID` int(11) NOT NULL DEFAULT '0', `SubAlarmType` int(11) NOT NULL DEFAULT '0', - `Threshold` text COLLATE latin1_german1_ci, + `Threshold` float NOT NULL DEFAULT '0', `Severity` tinyint(4) NOT NULL DEFAULT '0', `Message` varchar(250) COLLATE latin1_german1_ci DEFAULT '', - `IsEnable` tinyint(4) NOT NULL DEFAULT '1' + `IsEnable` bit(1) NOT NULL DEFAULT b'1' ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci; /*!40101 SET character_set_client = @saved_cs_client */; /*!40101 SET @saved_cs_client = @@character_set_client */; @@ -132,11 +132,11 @@ CREATE TABLE `meta_tag` ( `Maximum` float(24,2) NOT NULL DEFAULT '0.00', `Minimum` float(24,2) NOT NULL DEFAULT '0.00', `Cycle` int(10) NOT NULL DEFAULT '0', - `RowVersion` blob NOT NULL, + `RowVersion` timestamp NULL DEFAULT NULL, UNIQUE KEY `TagID` (`TagID`) ) ENGINE=InnoDB AUTO_INCREMENT=159 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -INSERT INTO `meta_tag` VALUES (2,'Receiving1_AlmAck',1,1,'Channel4.Receiving1.K0008.10',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0划'),(3,'Receiving1_888',1,1,'Channel4.Receiving1.K0006.14',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0化'),(4,'Receiving1_Conveyor3_Running',1,1,'Channel4.Receiving1.K0006.10',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0话'),(5,'Receiving1_Conveyor4_Alarm',1,1,'Channel4.Receiving1.K0001.04',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0槐'),(6,'Receiving1_Conveyor4_Running',1,1,'Channel4.Receiving1.K0001.03',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0徊'),(7,'Receiving1_Conveyor5_Alarm',1,1,'Channel4.Receiving1.K0008.00',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0怀'),(8,'Receiving1_Conveyor5_Running',1,1,'Channel4.Receiving1.K0007.10',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0淮'),(9,'Receiving1_Conveyor6_Alarm',1,1,'Channel4.Receiving1.K0008.08',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0坏'),(10,'Receiving1_Conveyor6_Running',1,1,'Channel4.Receiving1.K0005.14',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0欢'),(11,'Receiving1_Conveyor7_Alarm',1,1,'Channel4.Receiving1.K0006.13',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0环'),(12,'Receiving1_Conveyor7_Running',1,1,'Channel4.Receiving1.K0006.12',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0桓'),(13,'Receiving1_Conveyor8_Running',1,1,'Channel4.Receiving1.K0001.12',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0还'),(14,'Receiving1_Conveyor9_Alarm',1,1,'Channel4.Receiving1.K0001.08',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0缓'),(15,'Receiving1_Conveyor9_Running',1,1,'Channel4.Receiving1.K0001.08',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0换'),(16,'Receiving1_DF01SQH_Alarm',1,1,'Channel4.Receiving1.K0002.06',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0患'),(17,'Receiving1_DF01SQL_Alarm',1,1,'Channel4.Receiving1.K0003.02',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0唤'),(18,'Receiving1_DF02SQH_Alarm',1,1,'Channel4.Receiving1.K0002.05',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0痪'),(19,'Receiving1_DF02SQL_Alarm',1,1,'Channel4.Receiving1.K0003.03',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0豢'),(20,'Receiving1_DF03SQH_Alarm',1,1,'Channel4.Receiving1.K0002.04',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0焕'),(21,'Receiving1_DF03SQL_Alarm',1,1,'Channel4.Receiving1.K0003.04',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0涣'),(22,'Receiving1_DF04SQH_Alarm',1,1,'Channel4.Receiving1.K0002.03',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(23,'Receiving1_DF04SQL_Alarm',1,1,'Channel4.Receiving1.K0003.05',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(24,'Receiving1_DF05SQH_Alarm',1,1,'Channel4.Receiving1.K0002.02',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(25,'Receiving1_DF05SQL_Alarm',1,1,'Channel4.Receiving1.K0003.06',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(26,'Receiving1_DF06SQL_Alarm',1,1,'Channel4.Receiving1.K0002.02',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(27,'Receiving1_F01SQH_Alarm',1,1,'Channel4.Receiving1.K0007.09',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(28,'Receiving1_F02SQH_Alarm',1,1,'Channel4.Receiving1.K0007.08',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(29,'Receiving1_F03SQH_Alarm',1,1,'Channel4.Receiving1.K0007.07',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(30,'Receiving1_F04SQH_Alarm',1,1,'Channel4.Receiving1.K0007.06',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(31,'Receiving1_F05SQH_Alarm',1,1,'Channel4.Receiving1.K0007.05',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(32,'Receiving1_F06SQH_Alarm',1,1,'Channel4.Receiving1.K0007.03',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(33,'Receiving1_Fan1_Alarm',1,1,'Channel4.Receiving1.K0008.07',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(34,'Receiving1_Fan1_Running',1,1,'Channel4.Receiving1.K0008.06',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(35,'Receiving1_Fan2_Running',1,1,'Channel4.Receiving1.K0008.07',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(36,'Receiving1_Fan3_Running',1,1,'Channel4.Receiving1.K0001.13',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(37,'Receiving1_FourWays_Left',1,1,'Channel4.Receiving1.K0006.08',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(38,'Receiving1_FourWays_MID',1,1,'Channel4.Receiving1.K0006.09',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(39,'Receiving1_FourWays_Right',1,1,'Channel4.Receiving1.K0006.15',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(40,'Receiving1_Gate1_Ols',1,1,'Channel4.Receiving1.K0000.01',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(41,'Receiving1_Gate10_Alarm',1,1,'Channel4.Receiving1.K0003.11',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(42,'Receiving1_Gate10_Cls',1,1,'Channel4.Receiving1.K0004.07',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(43,'Receiving1_Gate10_Ols',1,1,'Channel4.Receiving1.K0004.00',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(44,'Receiving1_Gate11_Alarm',1,1,'Channel4.Receiving1.K0005.04',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(45,'Receiving1_Gate11_Cls',1,1,'Channel4.Receiving1.K0001.00',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(46,'Receiving1_Gate11_Ols',1,1,'Channel4.Receiving1.K0005.03',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(47,'Receiving1_Gate12_Alarm',1,1,'Channel4.Receiving1.K0005.02',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(48,'Receiving1_Gate12_Cls',1,1,'Channel4.Receiving1.K0001.01',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(49,'Receiving1_Gate12_Ols',1,1,'Channel4.Receiving1.K0005.02',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(50,'Receiving1_Gate13_Alarm',1,1,'Channel4.Receiving1.K0005.01',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(51,'Receiving1_Gate13_Cls',1,1,'Channel4.Receiving1.K0001.02',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(52,'Receiving1_Gate13_Ols',1,1,'Channel4.Receiving1.K0005.00',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(53,'Receiving1_Gate14_Alarm',1,1,'Channel4.Receiving1.K0005.07',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(54,'Receiving1_Gate14_Cls',1,1,'Channel4.Receiving1.K0000.15',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(55,'Receiving1_Gate14_Ols',1,1,'Channel4.Receiving1.K0005.05',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(56,'Receiving1_Gate15_Alarm',1,1,'Channel4.Receiving1.K0005.06',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(57,'Receiving1_Gate15_Cls',1,1,'Channel4.Receiving1.K0000.14',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(58,'Receiving1_Gate15_Ols',1,1,'Channel4.Receiving1.K0005.08',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(59,'Receiving1_Gate16_Ols',1,1,'Channel4.Receiving1.K0000.11',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(60,'Receiving1_Gate17_Ols',1,1,'Channel4.Receiving1.K0000.10',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(61,'Receiving1_Gate18_Ols',1,1,'Channel4.Receiving1.K0000.09',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(62,'Receiving1_Gate19_Ols',1,1,'Channel4.Receiving1.K0000.08',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(63,'Receiving1_Gate20_Ols',1,1,'Channel4.Receiving1.K0000.07',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(64,'Receiving1_Gate21_Ols',1,1,'Channel4.Receiving1.K0000.01',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(65,'Receiving1_Gate3_Alarm',1,1,'Channel4.Receiving1.K0005.12',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(66,'Receiving1_Gate3_Cls',1,1,'Channel4.Receiving1.K0000.12',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(67,'Receiving1_Gate3_Ols',1,1,'Channel4.Receiving1.K0005.11',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0籠'),(68,'Receiving1_Gate4_Alarm',1,1,'Channel4.Receiving1.K0005.10',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0火'),(69,'Receiving1_Gate4_Cls',1,1,'Channel4.Receiving1.K0000.13',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0获'),(70,'Receiving1_Gate4_Ols',1,1,'Channel4.Receiving1.K0005.09',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0或'),(71,'Receiving1_Gate5_Alarm',1,1,'Channel4.Receiving1.K0003.07',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0惑'),(72,'Receiving1_Gate5_Cls',1,1,'Channel4.Receiving1.K0004.01',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0霍'),(73,'Receiving1_Gate5_Ols',1,1,'Channel4.Receiving1.K0000.06',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0货'),(74,'Receiving1_Gate6_Alarm',1,1,'Channel4.Receiving1.K0003.08',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0祸'),(75,'Receiving1_Gate6_Cls',1,1,'Channel4.Receiving1.K0004.02',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0击'),(76,'Receiving1_Gate6_Ols',1,1,'Channel4.Receiving1.K0000.05',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0圾'),(77,'Receiving1_Gate7_Alarm',1,1,'Channel4.Receiving1.K0003.09',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0基'),(78,'Receiving1_Gate7_Cls',1,1,'Channel4.Receiving1.K0004.04',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0机'),(79,'Receiving1_Gate7_Ols',1,1,'Channel4.Receiving1.K0000.04',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0畸'),(80,'Receiving1_Gate8_Alarm',1,1,'Channel4.Receiving1.K0003.09',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0稽'),(81,'Receiving1_Gate8_Cls',1,1,'Channel4.Receiving1.K0004.05',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0积'),(82,'Receiving1_Gate8_Ols',1,1,'Channel4.Receiving1.K0000.03',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0箕'),(83,'Receiving1_Gate9_Alarm',1,1,'Channel4.Receiving1.K0003.10',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(84,'Receiving1_Gate9_Cls',1,1,'Channel4.Receiving1.K0004.06',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(85,'Receiving1_Gate9_Ols',1,1,'Channel4.Receiving1.K0000.02',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(86,'Receiving1_Gate9_Ols4',1,1,'Channel4.Receiving1.K0000.02',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(87,'Receiving1_Gate9_Ols5',1,1,'Channel4.Receiving1.K0000.02',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(88,'Receiving1_Gate9_Ols6',1,1,'Channel4.Receiving1.K0000.02',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(89,'Receiving1_Gate9_Ols7',1,1,'Channel4.Receiving1.K0000.02',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(90,'Receiving1_Gate9_Ols8',1,1,'Channel4.Receiving1.K0000.02',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(91,'Receiving1_Gate9_Ols9',1,1,'Channel4.Receiving1.K0000.02',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(92,'Receiving1_leg1alm',1,1,'Channel4.Receiving1.K0010.00',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0 '),(93,'Receiving1_LegMotor1_Overload',8,4,'Channel4.Receiving1.R0016',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0糪n'),(94,'Receiving1_LegMotor1_Running',1,1,'Channel4.Receiving1.K0006.01',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0 '),(95,'Receiving1_LegMotor2_Overload',8,4,'Channel4.Receiving1.R0024',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0 '),(96,'Receiving1_LegMotor2_Running',1,1,'Channel4.Receiving1.K0005.15',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0糪r'),(97,'Receiving1_Legmotor2Speed_Speed',8,4,'Channel4.Receiving1.R0028',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(98,'Receiving1_LegMotor3_Overload',8,4,'Channel4.Receiving1.R0044',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(99,'Receiving1_LegMotor3_Running',1,1,'Channel4.Receiving1.K0006.00',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(100,'Receiving1_Legmotor3Curr_Digi',8,4,'Channel4.Receiving1.R0036',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(101,'Receiving1_Legmotor3Speed_Speed',8,4,'Channel4.Receiving1.R0048',20001,'','',NULL,'鎻愬崌鏈烘祴閫',0.00,0.00,0,'\0\0\0\0\0'),(102,'Receiving1_LegMotor4_Overload',8,4,'Channel4.Receiving1.R0004',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(103,'Receiving1_LegMotor4_Running',1,1,'Channel4.Receiving1.K0001.06',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(104,'Receiving1_Legmotor4Curr_Digi',8,4,'Channel4.Receiving1.R0000',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(105,'Receiving1_LocalRemote',1,1,'Channel4.Receiving1.K0008.09',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(106,'Receiving1_MagicRoll1_Alarm',1,1,'Channel4.Receiving1.K0007.02',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(107,'Receiving1_MagicRoll1_Running',1,1,'Channel4.Receiving1.K0006.11',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(108,'Receiving1_MagicRoll2_Alarm',1,1,'Channel4.Receiving1.K0007.01',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(109,'Receiving1_MagicRoll2_Running',1,1,'Channel4.Receiving1.K0006.06',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0糪Z'),(110,'Receiving1_MagicRoll3_Alarm',1,1,'Channel4.Receiving1.K0007.00',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(111,'Receiving1_MagicRoll3_Running',1,1,'Channel4.Receiving1.K0006.04',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(112,'Receiving1_MagicRoll4_Alarm',1,1,'Channel4.Receiving1.K0001.09',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(113,'Receiving1_MagicRoll4_Running',1,1,'Channel4.Receiving1.K0001.09',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(114,'Receiving1_Sifter1_Running',1,1,'Channel4.Receiving1.K0006.07',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0'),(115,'Receiving1_Sifter2_Running',1,1,'Channel4.Receiving1.K0006.05',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0 '),(116,'Receiving1_Sifter3_Alarm',1,1,'Channel4.Receiving1.K0001.10',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0!'),(117,'Receiving1_Sifter3_Running',1,1,'Channel4.Receiving1.K0001.10',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0糪"'),(118,'Receiving1_ThreeWays1_Left',1,1,'Channel4.Receiving1.K0001.07',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0#'),(119,'Receiving1_ThreeWays1_Right',1,1,'Channel4.Receiving1.K0001.05',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0$'),(120,'Receiving1_ThreeWays2_Left',1,1,'Channel4.Receiving1.K0006.03',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0%'),(121,'Receiving1_ThreeWays2_Right',1,1,'Channel4.Receiving1.K0006.02',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0&'),(122,'Receiving2_LegCUR102_Digi',8,4,'Channel4.Receiving1.R0020',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0糪''),(123,'Receiving2_LegCUR106_Digi',8,4,'Channel4.Receiving1.R0012',20001,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0('),(124,'Receiving1_Conveyor1_Alarm',1,1,'Channel4.Receiving2.K0002.11',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0)'),(125,'Receiving1_Conveyor1_Running',1,1,'Channel4.Receiving2.K0002.10',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0*'),(126,'Receiving1_Conveyor2_Alarm',1,1,'Channel4.Receiving2.K0002.09',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0+'),(127,'Receiving1_Conveyor2_Running',1,1,'Channel4.Receiving2.K0002.04',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0,'),(128,'Receiving1_Gate1_Alarm',1,1,'Channel4.Receiving2.K0001.14',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0-'),(129,'Receiving1_Gate1_Cls',1,1,'Channel4.Receiving2.K0001.13',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0.'),(130,'Receiving1_Gate1_Ols',1,1,'Channel4.Receiving2.K0001.11',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0/'),(131,'Receiving1_Gate2_Alarm',1,1,'Channel4.Receiving2.K0001.08',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\00'),(132,'Receiving1_Gate2_Cls',1,1,'Channel4.Receiving2.K0001.09',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\01'),(133,'Receiving1_Gate2_Ols',1,1,'Channel4.Receiving2.K0001.10',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\02'),(134,'Receiving2_Airport1_Alarm',1,1,'Channel4.Receiving2.K0002.08',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\03'),(135,'Receiving2_Airport1_Running',1,1,'Channel4.Receiving2.K0001.05',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\04'),(136,'Receiving2_Airport2_Alarm',1,1,'Channel4.Receiving2.K0001.00',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\05'),(137,'Receiving2_Airport2_Running',1,1,'Channel4.Receiving2.K0001.01',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\06'),(138,'Receiving2_AlmAck',1,1,'Channel4.Receiving2.K0002.02',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\07'),(139,'Receiving2_Converyor1_Running',1,1,'Channel4.Receiving2.K0001.15',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\08'),(140,'Receiving2_Converyor2_Alarm',1,1,'Channel4.Receiving2.K0002.12',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\09'),(141,'Receiving2_Converyor2_Running',1,1,'Channel4.Receiving2.K0002.13',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0:'),(142,'Receiving2_Fan1_Alarm',1,1,'Channel4.Receiving2.K0001.02',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0;'),(143,'Receiving2_Fan1_Running',1,1,'Channel4.Receiving2.K0001.03',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0<'),(144,'Receiving2_Gate1_Alarm',1,1,'Channel4.Receiving2.K0001.04',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0='),(145,'Receiving2_Gate1_Cls',1,1,'Channel4.Receiving2.K0001.06',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0>'),(146,'Receiving2_Gate1_Ols',1,1,'Channel4.Receiving2.K0001.07',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0?'),(147,'Receiving2_Gate2_Ols',1,1,'Channel4.Receiving2.K0002.05',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0粿'),(148,'Receiving2_LegMotor1_Overload',8,4,'Channel4.Receiving2.R0008',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0糀'),(149,'Receiving2_Legmotor1Speed_Speed',8,4,'Channel4.Receiving2.R0012',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0糂'),(150,'Receiving2_LegMotor2_Overload',8,4,'Channel4.Receiving2.R0000',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0糃'),(151,'Receiving2_LegMotor2_Running',1,1,'Channel4.Receiving2.K0002.01',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0糄'),(152,'Receiving2_Legmotor2Speed_Speed',8,4,'Channel4.Receiving2.R0004',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0糆'),(153,'Receiving2_LocalRemote',1,1,'Channel4.Receiving2.K0002.03',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0糉'),(154,'Receiving2_MagicRoll1_Alarm',1,1,'Channel4.Receiving2.K0002.14',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0糋'),(155,'Receiving2_MagicRoll1_Running',1,1,'Channel4.Receiving2.K0002.00',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0糎'),(156,'Receiving2_Sifter1_Alarm',1,1,'Channel4.Receiving2.K0002.15',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0糏'),(157,'Receiving2_Sifter1_Running',1,1,'Channel4.Receiving2.K0002.07',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0糐'),(158,'Receiving2_Sifter1_Running8',1,1,'Channel4.Receiving2.K0002.07',20002,'','\0',NULL,NULL,0.00,0.00,0,'\0\0\0\0\0糑'); +INSERT INTO `meta_tag` VALUES (2,'Receiving1_AlmAck',1,1,'Channel4.Receiving1.K0008.10',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(3,'Receiving1_888',1,1,'Channel4.Receiving1.K0006.14',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(4,'Receiving1_Conveyor3_Running',1,1,'Channel4.Receiving1.K0006.10',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(5,'Receiving1_Conveyor4_Alarm',1,1,'Channel4.Receiving1.K0001.04',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(6,'Receiving1_Conveyor4_Running',1,1,'Channel4.Receiving1.K0001.03',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(7,'Receiving1_Conveyor5_Alarm',1,1,'Channel4.Receiving1.K0008.00',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(8,'Receiving1_Conveyor5_Running',1,1,'Channel4.Receiving1.K0007.10',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(9,'Receiving1_Conveyor6_Alarm',1,1,'Channel4.Receiving1.K0008.08',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(10,'Receiving1_Conveyor6_Running',1,1,'Channel4.Receiving1.K0005.14',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(11,'Receiving1_Conveyor7_Alarm',1,1,'Channel4.Receiving1.K0006.13',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(12,'Receiving1_Conveyor7_Running',1,1,'Channel4.Receiving1.K0006.12',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(13,'Receiving1_Conveyor8_Running',1,1,'Channel4.Receiving1.K0001.12',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(14,'Receiving1_Conveyor9_Alarm',1,1,'Channel4.Receiving1.K0001.08',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(15,'Receiving1_Conveyor9_Running',1,1,'Channel4.Receiving1.K0001.08',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(16,'Receiving1_DF01SQH_Alarm',1,1,'Channel4.Receiving1.K0002.06',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(17,'Receiving1_DF01SQL_Alarm',1,1,'Channel4.Receiving1.K0003.02',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(18,'Receiving1_DF02SQH_Alarm',1,1,'Channel4.Receiving1.K0002.05',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(19,'Receiving1_DF02SQL_Alarm',1,1,'Channel4.Receiving1.K0003.03',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(20,'Receiving1_DF03SQH_Alarm',1,1,'Channel4.Receiving1.K0002.04',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(21,'Receiving1_DF03SQL_Alarm',1,1,'Channel4.Receiving1.K0003.04',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(22,'Receiving1_DF04SQH_Alarm',1,1,'Channel4.Receiving1.K0002.03',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(23,'Receiving1_DF04SQL_Alarm',1,1,'Channel4.Receiving1.K0003.05',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(24,'Receiving1_DF05SQH_Alarm',1,1,'Channel4.Receiving1.K0002.02',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(25,'Receiving1_DF05SQL_Alarm',1,1,'Channel4.Receiving1.K0003.06',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(26,'Receiving1_DF06SQL_Alarm',1,1,'Channel4.Receiving1.K0002.02',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(27,'Receiving1_F01SQH_Alarm',1,1,'Channel4.Receiving1.K0007.09',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(28,'Receiving1_F02SQH_Alarm',1,1,'Channel4.Receiving1.K0007.08',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(29,'Receiving1_F03SQH_Alarm',1,1,'Channel4.Receiving1.K0007.07',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(30,'Receiving1_F04SQH_Alarm',1,1,'Channel4.Receiving1.K0007.06',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(31,'Receiving1_F05SQH_Alarm',1,1,'Channel4.Receiving1.K0007.05',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(32,'Receiving1_F06SQH_Alarm',1,1,'Channel4.Receiving1.K0007.03',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(33,'Receiving1_Fan1_Alarm',1,1,'Channel4.Receiving1.K0008.07',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(34,'Receiving1_Fan1_Running',1,1,'Channel4.Receiving1.K0008.06',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(35,'Receiving1_Fan2_Running',1,1,'Channel4.Receiving1.K0008.07',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(36,'Receiving1_Fan3_Running',1,1,'Channel4.Receiving1.K0001.13',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(37,'Receiving1_FourWays_Left',1,1,'Channel4.Receiving1.K0006.08',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(38,'Receiving1_FourWays_MID',1,1,'Channel4.Receiving1.K0006.09',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(39,'Receiving1_FourWays_Right',1,1,'Channel4.Receiving1.K0006.15',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(40,'Receiving1_Gate1_Ols',1,1,'Channel4.Receiving1.K0000.01',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(41,'Receiving1_Gate10_Alarm',1,1,'Channel4.Receiving1.K0003.11',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(42,'Receiving1_Gate10_Cls',1,1,'Channel4.Receiving1.K0004.07',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(43,'Receiving1_Gate10_Ols',1,1,'Channel4.Receiving1.K0004.00',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(44,'Receiving1_Gate11_Alarm',1,1,'Channel4.Receiving1.K0005.04',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(45,'Receiving1_Gate11_Cls',1,1,'Channel4.Receiving1.K0001.00',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(46,'Receiving1_Gate11_Ols',1,1,'Channel4.Receiving1.K0005.03',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(47,'Receiving1_Gate12_Alarm',1,1,'Channel4.Receiving1.K0005.02',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(48,'Receiving1_Gate12_Cls',1,1,'Channel4.Receiving1.K0001.01',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(49,'Receiving1_Gate12_Ols',1,1,'Channel4.Receiving1.K0005.02',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(50,'Receiving1_Gate13_Alarm',1,1,'Channel4.Receiving1.K0005.01',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(51,'Receiving1_Gate13_Cls',1,1,'Channel4.Receiving1.K0001.02',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(52,'Receiving1_Gate13_Ols',1,1,'Channel4.Receiving1.K0005.00',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(53,'Receiving1_Gate14_Alarm',1,1,'Channel4.Receiving1.K0005.07',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(54,'Receiving1_Gate14_Cls',1,1,'Channel4.Receiving1.K0000.15',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(55,'Receiving1_Gate14_Ols',1,1,'Channel4.Receiving1.K0005.05',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(56,'Receiving1_Gate15_Alarm',1,1,'Channel4.Receiving1.K0005.06',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(57,'Receiving1_Gate15_Cls',1,1,'Channel4.Receiving1.K0000.14',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(58,'Receiving1_Gate15_Ols',1,1,'Channel4.Receiving1.K0005.08',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(59,'Receiving1_Gate16_Ols',1,1,'Channel4.Receiving1.K0000.11',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(60,'Receiving1_Gate17_Ols',1,1,'Channel4.Receiving1.K0000.10',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(61,'Receiving1_Gate18_Ols',1,1,'Channel4.Receiving1.K0000.09',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(62,'Receiving1_Gate19_Ols',1,1,'Channel4.Receiving1.K0000.08',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(63,'Receiving1_Gate20_Ols',1,1,'Channel4.Receiving1.K0000.07',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(64,'Receiving1_Gate21_Ols',1,1,'Channel4.Receiving1.K0000.01',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(65,'Receiving1_Gate3_Alarm',1,1,'Channel4.Receiving1.K0005.12',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(66,'Receiving1_Gate3_Cls',1,1,'Channel4.Receiving1.K0000.12',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(67,'Receiving1_Gate3_Ols',1,1,'Channel4.Receiving1.K0005.11',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(68,'Receiving1_Gate4_Alarm',1,1,'Channel4.Receiving1.K0005.10',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(69,'Receiving1_Gate4_Cls',1,1,'Channel4.Receiving1.K0000.13',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(70,'Receiving1_Gate4_Ols',1,1,'Channel4.Receiving1.K0005.09',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(71,'Receiving1_Gate5_Alarm',1,1,'Channel4.Receiving1.K0003.07',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(72,'Receiving1_Gate5_Cls',1,1,'Channel4.Receiving1.K0004.01',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(73,'Receiving1_Gate5_Ols',1,1,'Channel4.Receiving1.K0000.06',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(74,'Receiving1_Gate6_Alarm',1,1,'Channel4.Receiving1.K0003.08',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(75,'Receiving1_Gate6_Cls',1,1,'Channel4.Receiving1.K0004.02',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(76,'Receiving1_Gate6_Ols',1,1,'Channel4.Receiving1.K0000.05',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(77,'Receiving1_Gate7_Alarm',1,1,'Channel4.Receiving1.K0003.09',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(78,'Receiving1_Gate7_Cls',1,1,'Channel4.Receiving1.K0004.04',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(79,'Receiving1_Gate7_Ols',1,1,'Channel4.Receiving1.K0000.04',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(80,'Receiving1_Gate8_Alarm',1,1,'Channel4.Receiving1.K0003.09',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(81,'Receiving1_Gate8_Cls',1,1,'Channel4.Receiving1.K0004.05',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(82,'Receiving1_Gate8_Ols',1,1,'Channel4.Receiving1.K0000.03',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(83,'Receiving1_Gate9_Alarm',1,1,'Channel4.Receiving1.K0003.10',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(84,'Receiving1_Gate9_Cls',1,1,'Channel4.Receiving1.K0004.06',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(85,'Receiving1_Gate9_Ols',1,1,'Channel4.Receiving1.K0000.02',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(86,'Receiving1_Gate9_Ols4',1,1,'Channel4.Receiving1.K0000.02',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(87,'Receiving1_Gate9_Ols5',1,1,'Channel4.Receiving1.K0000.02',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(88,'Receiving1_Gate9_Ols6',1,1,'Channel4.Receiving1.K0000.02',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(89,'Receiving1_Gate9_Ols7',1,1,'Channel4.Receiving1.K0000.02',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(90,'Receiving1_Gate9_Ols8',1,1,'Channel4.Receiving1.K0000.02',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(91,'Receiving1_Gate9_Ols9',1,1,'Channel4.Receiving1.K0000.02',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(92,'Receiving1_leg1alm',1,1,'Channel4.Receiving1.K0010.00',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(93,'Receiving1_LegMotor1_Overload',8,4,'Channel4.Receiving1.R0016',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(94,'Receiving1_LegMotor1_Running',1,1,'Channel4.Receiving1.K0006.01',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(95,'Receiving1_LegMotor2_Overload',8,4,'Channel4.Receiving1.R0024',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(96,'Receiving1_LegMotor2_Running',1,1,'Channel4.Receiving1.K0005.15',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(97,'Receiving1_Legmotor2Speed_Speed',8,4,'Channel4.Receiving1.R0028',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(98,'Receiving1_LegMotor3_Overload',8,4,'Channel4.Receiving1.R0044',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(99,'Receiving1_LegMotor3_Running',1,1,'Channel4.Receiving1.K0006.00',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(100,'Receiving1_Legmotor3Curr_Digi',8,4,'Channel4.Receiving1.R0036',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(101,'Receiving1_Legmotor3Speed_Speed',8,4,'Channel4.Receiving1.R0048',20001,'','',NULL,'鎻愬崌鏈烘祴閫',0.00,0.00,0,NULL),(102,'Receiving1_LegMotor4_Overload',8,4,'Channel4.Receiving1.R0004',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(103,'Receiving1_LegMotor4_Running',1,1,'Channel4.Receiving1.K0001.06',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(104,'Receiving1_Legmotor4Curr_Digi',8,4,'Channel4.Receiving1.R0000',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(105,'Receiving1_LocalRemote',1,1,'Channel4.Receiving1.K0008.09',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(106,'Receiving1_MagicRoll1_Alarm',1,1,'Channel4.Receiving1.K0007.02',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(107,'Receiving1_MagicRoll1_Running',1,1,'Channel4.Receiving1.K0006.11',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(108,'Receiving1_MagicRoll2_Alarm',1,1,'Channel4.Receiving1.K0007.01',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(109,'Receiving1_MagicRoll2_Running',1,1,'Channel4.Receiving1.K0006.06',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(110,'Receiving1_MagicRoll3_Alarm',1,1,'Channel4.Receiving1.K0007.00',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(111,'Receiving1_MagicRoll3_Running',1,1,'Channel4.Receiving1.K0006.04',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(112,'Receiving1_MagicRoll4_Alarm',1,1,'Channel4.Receiving1.K0001.09',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(113,'Receiving1_MagicRoll4_Running',1,1,'Channel4.Receiving1.K0001.09',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(114,'Receiving1_Sifter1_Running',1,1,'Channel4.Receiving1.K0006.07',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(115,'Receiving1_Sifter2_Running',1,1,'Channel4.Receiving1.K0006.05',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(116,'Receiving1_Sifter3_Alarm',1,1,'Channel4.Receiving1.K0001.10',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(117,'Receiving1_Sifter3_Running',1,1,'Channel4.Receiving1.K0001.10',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(118,'Receiving1_ThreeWays1_Left',1,1,'Channel4.Receiving1.K0001.07',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(119,'Receiving1_ThreeWays1_Right',1,1,'Channel4.Receiving1.K0001.05',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(120,'Receiving1_ThreeWays2_Left',1,1,'Channel4.Receiving1.K0006.03',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(121,'Receiving1_ThreeWays2_Right',1,1,'Channel4.Receiving1.K0006.02',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(122,'Receiving2_LegCUR102_Digi',8,4,'Channel4.Receiving1.R0020',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(123,'Receiving2_LegCUR106_Digi',8,4,'Channel4.Receiving1.R0012',20001,'','\0',NULL,NULL,0.00,0.00,0,NULL),(124,'Receiving1_Conveyor1_Alarm',1,1,'Channel4.Receiving2.K0002.11',20002,'','\0',NULL,NULL,0.00,0.00,0,NULL),(125,'Receiving1_Conveyor1_Running',1,1,'Channel4.Receiving2.K0002.10',20002,'','\0',NULL,NULL,0.00,0.00,0,NULL),(126,'Receiving1_Conveyor2_Alarm',1,1,'Channel4.Receiving2.K0002.09',20002,'','\0',NULL,NULL,0.00,0.00,0,NULL),(127,'Receiving1_Conveyor2_Running',1,1,'Channel4.Receiving2.K0002.04',20002,'','\0',NULL,NULL,0.00,0.00,0,NULL),(128,'Receiving1_Gate1_Alarm',1,1,'Channel4.Receiving2.K0001.14',20002,'','\0',NULL,NULL,0.00,0.00,0,NULL),(129,'Receiving1_Gate1_Cls',1,1,'Channel4.Receiving2.K0001.13',20002,'','\0',NULL,NULL,0.00,0.00,0,NULL),(130,'Receiving1_Gate1_Ols',1,1,'Channel4.Receiving2.K0001.11',20002,'','\0',NULL,NULL,0.00,0.00,0,NULL),(131,'Receiving1_Gate2_Alarm',1,1,'Channel4.Receiving2.K0001.08',20002,'','\0',NULL,NULL,0.00,0.00,0,NULL),(132,'Receiving1_Gate2_Cls',1,1,'Channel4.Receiving2.K0001.09',20002,'','\0',NULL,NULL,0.00,0.00,0,NULL),(133,'Receiving1_Gate2_Ols',1,1,'Channel4.Receiving2.K0001.10',20002,'','\0',NULL,NULL,0.00,0.00,0,NULL),(134,'Receiving2_Airport1_Alarm',1,1,'Channel4.Receiving2.K0002.08',20002,'','\0',NULL,NULL,0.00,0.00,0,NULL),(135,'Receiving2_Airport1_Running',1,1,'Channel4.Receiving2.K0001.05',20002,'','\0',NULL,NULL,0.00,0.00,0,NULL),(136,'Receiving2_Airport2_Alarm',1,1,'Channel4.Receiving2.K0001.00',20002,'','\0',NULL,NULL,0.00,0.00,0,NULL),(137,'Receiving2_Airport2_Running',1,1,'Channel4.Receiving2.K0001.01',20002,'','\0',NULL,NULL,0.00,0.00,0,NULL),(138,'Receiving2_AlmAck',1,1,'Channel4.Receiving2.K0002.02',20002,'','\0',NULL,NULL,0.00,0.00,0,NULL),(139,'Receiving2_Converyor1_Running',1,1,'Channel4.Receiving2.K0001.15',20002,'','\0',NULL,NULL,0.00,0.00,0,NULL),(140,'Receiving2_Converyor2_Alarm',1,1,'Channel4.Receiving2.K0002.12',20002,'','\0',NULL,NULL,0.00,0.00,0,NULL),(141,'Receiving2_Converyor2_Running',1,1,'Channel4.Receiving2.K0002.13',20002,'','\0',NULL,NULL,0.00,0.00,0,NULL),(142,'Receiving2_Fan1_Alarm',1,1,'Channel4.Receiving2.K0001.02',20002,'','\0',NULL,NULL,0.00,0.00,0,NULL),(143,'Receiving2_Fan1_Running',1,1,'Channel4.Receiving2.K0001.03',20002,'','\0',NULL,NULL,0.00,0.00,0,NULL),(144,'Receiving2_Gate1_Alarm',1,1,'Channel4.Receiving2.K0001.04',20002,'','\0',NULL,NULL,0.00,0.00,0,NULL),(145,'Receiving2_Gate1_Cls',1,1,'Channel4.Receiving2.K0001.06',20002,'','\0',NULL,NULL,0.00,0.00,0,NULL),(146,'Receiving2_Gate1_Ols',1,1,'Channel4.Receiving2.K0001.07',20002,'','\0',NULL,NULL,0.00,0.00,0,NULL),(147,'Receiving2_Gate2_Ols',1,1,'Channel4.Receiving2.K0002.05',20002,'','\0',NULL,NULL,0.00,0.00,0,NULL),(148,'Receiving2_LegMotor1_Overload',8,4,'Channel4.Receiving2.R0008',20002,'','\0',NULL,NULL,0.00,0.00,0,NULL),(149,'Receiving2_Legmotor1Speed_Speed',8,4,'Channel4.Receiving2.R0012',20002,'','\0',NULL,NULL,0.00,0.00,0,NULL),(150,'Receiving2_LegMotor2_Overload',8,4,'Channel4.Receiving2.R0000',20002,'','\0',NULL,NULL,0.00,0.00,0,NULL),(151,'Receiving2_LegMotor2_Running',1,1,'Channel4.Receiving2.K0002.01',20002,'','\0',NULL,NULL,0.00,0.00,0,NULL),(152,'Receiving2_Legmotor2Speed_Speed',8,4,'Channel4.Receiving2.R0004',20002,'','\0',NULL,NULL,0.00,0.00,0,NULL),(153,'Receiving2_LocalRemote',1,1,'Channel4.Receiving2.K0002.03',20002,'','\0',NULL,NULL,0.00,0.00,0,NULL),(154,'Receiving2_MagicRoll1_Alarm',1,1,'Channel4.Receiving2.K0002.14',20002,'','\0',NULL,NULL,0.00,0.00,0,NULL),(155,'Receiving2_MagicRoll1_Running',1,1,'Channel4.Receiving2.K0002.00',20002,'','\0',NULL,NULL,0.00,0.00,0,NULL),(156,'Receiving2_Sifter1_Alarm',1,1,'Channel4.Receiving2.K0002.15',20002,'','\0',NULL,NULL,0.00,0.00,0,NULL),(157,'Receiving2_Sifter1_Running',1,1,'Channel4.Receiving2.K0002.07',20002,'','\0',NULL,NULL,0.00,0.00,0,NULL),(158,'Receiving2_Sifter1_Running8',1,1,'Channel4.Receiving2.K0002.07',20002,'','\0',NULL,NULL,0.00,0.00,0,NULL); /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `registermodule` ( From ad5fbaf8c30a5759e747a12371d23d302928889c Mon Sep 17 00:00:00 2001 From: Gavin Date: Wed, 22 Nov 2017 16:57:16 +0800 Subject: [PATCH 3/3] add .net core support --- .../DataService/v15/Server/sqlite3/db.lock | 0 .../v15/Server/sqlite3/storage.ide | Bin 0 -> 2150400 bytes .../DataService/ClientDriver/ClientDriver.cs | 1129 ++++++++++ .../ClientDriver/ClientDriver.csproj | 15 + .../DataService/DataHelper/DataHelper.cs | 198 ++ .../DataService/DataHelper/DataHelper.csproj | 22 + .../DataService/DataHelper/HDAIOHelper.cs | 927 +++++++++ .../DataService/DataHelper/IDataFactory.cs | 32 + .../DataService/DataHelper/MysqlFactory.cs | 778 +++++++ .../CoreApp/DataService/DataService.sln | 71 + .../CoreApp/DataService/DataService/Alarm.cs | 223 ++ .../DataService/DataService/CacheReader.cs | 910 ++++++++ .../DataService/DataService/ClientReader.cs | 607 ++++++ .../DataService/DataService/Condition.cs | 1104 ++++++++++ .../DataService/DataService.csproj | 15 + .../DataService/DataService/DeviceAddress.cs | 43 + .../CoreApp/DataService/DataService/Eval.cs | 716 +++++++ .../DataService/ExtensionMethods.cs | 811 ++++++++ .../DataService/DataService/HistoryData.cs | 83 + .../CoreApp/DataService/DataService/IGroup.cs | 70 + .../DataService/DataService/IReader.cs | 82 + .../DataService/DataService/IServer.cs | 102 + .../CoreApp/DataService/DataService/ITag.cs | 633 ++++++ .../DataService/DataService/PLCGroup.cs | 684 ++++++ .../DataService/DataService/Storage.cs | 95 + .../DataService/DataService/TagMetaData.cs | 108 + .../CoreApp/DataService/GateWay/DAService.cs | 1838 +++++++++++++++++ .../DataService/GateWay/GateWay.csproj | 22 + .../CoreApp/DataService/GateWay/Program.cs | 17 + .../CoreApp/DataService/GateWay/SqlMapping.cs | 556 +++++ .../ModbusDriver/ModbusDriver.csproj | 19 + .../ModbusDriver/ModbusRTUDriver.cs | 563 +++++ .../DataService/ModbusDriver/ModbusRTU_TCP.cs | 462 +++++ .../ModbusDriver/ModbusTCPReader.cs | 634 ++++++ 34 files changed, 13569 insertions(+) create mode 100644 SCADA/Program/CoreApp/DataService/.vs/DataService/v15/Server/sqlite3/db.lock create mode 100644 SCADA/Program/CoreApp/DataService/.vs/DataService/v15/Server/sqlite3/storage.ide create mode 100644 SCADA/Program/CoreApp/DataService/ClientDriver/ClientDriver.cs create mode 100644 SCADA/Program/CoreApp/DataService/ClientDriver/ClientDriver.csproj create mode 100644 SCADA/Program/CoreApp/DataService/DataHelper/DataHelper.cs create mode 100644 SCADA/Program/CoreApp/DataService/DataHelper/DataHelper.csproj create mode 100644 SCADA/Program/CoreApp/DataService/DataHelper/HDAIOHelper.cs create mode 100644 SCADA/Program/CoreApp/DataService/DataHelper/IDataFactory.cs create mode 100644 SCADA/Program/CoreApp/DataService/DataHelper/MysqlFactory.cs create mode 100644 SCADA/Program/CoreApp/DataService/DataService.sln create mode 100644 SCADA/Program/CoreApp/DataService/DataService/Alarm.cs create mode 100644 SCADA/Program/CoreApp/DataService/DataService/CacheReader.cs create mode 100644 SCADA/Program/CoreApp/DataService/DataService/ClientReader.cs create mode 100644 SCADA/Program/CoreApp/DataService/DataService/Condition.cs create mode 100644 SCADA/Program/CoreApp/DataService/DataService/DataService.csproj create mode 100644 SCADA/Program/CoreApp/DataService/DataService/DeviceAddress.cs create mode 100644 SCADA/Program/CoreApp/DataService/DataService/Eval.cs create mode 100644 SCADA/Program/CoreApp/DataService/DataService/ExtensionMethods.cs create mode 100644 SCADA/Program/CoreApp/DataService/DataService/HistoryData.cs create mode 100644 SCADA/Program/CoreApp/DataService/DataService/IGroup.cs create mode 100644 SCADA/Program/CoreApp/DataService/DataService/IReader.cs create mode 100644 SCADA/Program/CoreApp/DataService/DataService/IServer.cs create mode 100644 SCADA/Program/CoreApp/DataService/DataService/ITag.cs create mode 100644 SCADA/Program/CoreApp/DataService/DataService/PLCGroup.cs create mode 100644 SCADA/Program/CoreApp/DataService/DataService/Storage.cs create mode 100644 SCADA/Program/CoreApp/DataService/DataService/TagMetaData.cs create mode 100644 SCADA/Program/CoreApp/DataService/GateWay/DAService.cs create mode 100644 SCADA/Program/CoreApp/DataService/GateWay/GateWay.csproj create mode 100644 SCADA/Program/CoreApp/DataService/GateWay/Program.cs create mode 100644 SCADA/Program/CoreApp/DataService/GateWay/SqlMapping.cs create mode 100644 SCADA/Program/CoreApp/DataService/ModbusDriver/ModbusDriver.csproj create mode 100644 SCADA/Program/CoreApp/DataService/ModbusDriver/ModbusRTUDriver.cs create mode 100644 SCADA/Program/CoreApp/DataService/ModbusDriver/ModbusRTU_TCP.cs create mode 100644 SCADA/Program/CoreApp/DataService/ModbusDriver/ModbusTCPReader.cs diff --git a/SCADA/Program/CoreApp/DataService/.vs/DataService/v15/Server/sqlite3/db.lock b/SCADA/Program/CoreApp/DataService/.vs/DataService/v15/Server/sqlite3/db.lock new file mode 100644 index 0000000..e69de29 diff --git a/SCADA/Program/CoreApp/DataService/.vs/DataService/v15/Server/sqlite3/storage.ide b/SCADA/Program/CoreApp/DataService/.vs/DataService/v15/Server/sqlite3/storage.ide new file mode 100644 index 0000000000000000000000000000000000000000..ddff1c10a0adb8d41950ba9ffbb032a9f3ea1580 GIT binary patch literal 2150400 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%0Am^1C7gl?eTIOHv;hSf3qKi66HT)|K|n!7 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¬`-05WB=$e<10p& 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

Ol#}-eu*ccLDYxh7iQJ~1=yRu@#5-S4hYO9JG6 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 +y{w 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

hIu$ZO7VzTt;N8J*ysse?(C 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 _grps = new List(1); + public IEnumerable Groups + { + get { return _grps; } + } + + IDataServer _server; + public IDataServer Parent + { + get { return _server; } + } + + public ClientReader(IDataServer server, short id, string name, string ip, int timeout) + { + _id = id; + _server = server; + _ip = ip; + _name = name; + _timeout = timeout; + Connect(); + } + + public bool Connect() + { + int port = 6543; + lock (this) + { + try + { + if (tcpRecive != null) + { + tcpRecive.Dispose(); + } + if (tcpSend != null) + { + tcpSend.Dispose(); + } + tcpRecive = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); + tcpRecive.Connect(_ip, port); + tcpRecive.SendTimeout = _timeout; + tcpRecive.ReceiveTimeout = -1; + + tcpSend = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); + tcpSend.Connect(_ip, port); + tcpSend.SendTimeout = _timeout; + tcpSend.ReceiveTimeout = _timeout; + return true; + } + catch (SocketException error) + { + if (OnClose != null) + OnClose(this, new ShutdownRequestEventArgs(error.Message)); + return false; + } + } + } + + public IGroup AddGroup(string name, short id, int updateRate, float deadBand = 0f, bool active = false) + { + ClientGroup grp = new ClientGroup(id, name, updateRate, active, this); + _grps.Add(grp); + return grp; + } + + public bool RemoveGroup(IGroup grp) + { + grp.IsActive = false; + return _grps.Remove(grp); + } + + public event ShutdownRequestEventHandler OnClose; + + public void Dispose() + { + foreach (IGroup grp in _grps) + { + grp.Dispose(); + } + _grps.Clear(); + try + { + if (tcpRecive != null) + { + if (tcpRecive.Connected) + tcpRecive.Shutdown(SocketShutdown.Both); + tcpRecive.Dispose(); + } + if (tcpSend != null) + { + if (tcpSend.Connected) + tcpSend.Shutdown(SocketShutdown.Both); + tcpSend.Dispose(); + } + } + catch (SocketException err) + { + if (OnClose != null) + OnClose(this, new ShutdownRequestEventArgs(err.Message)); + } + } + } + + public class ClientGroup : IGroup + { + bool _active = false; + public bool IsActive + { + get + { + return _active; + } + set + { + _active = value; + if (value) + { + if (_plcReader != null && _plcReader.tcpSend != null) + { + this._tcpRecive = _plcReader.tcpRecive; + this._tcpSend = _plcReader.tcpSend; + try + { + _addr = (_tcpSend.RemoteEndPoint as IPEndPoint).Address; + } + catch { } + Thread workItem = new Thread(new ThreadStart(ReciveData)); + workItem.Priority = ThreadPriority.Highest; + workItem.Start(); + if (_updateRate > 0) + ThreadPool.QueueUserWorkItem(new WaitCallback(this.OnUpdate)); + else + Init(); + } + } + } + } + + protected short _id; + public short ID + { + get + { + return _id; + } + } + + protected int _updateRate; + public int UpdateRate + { + get + { + return _updateRate; + } + set + { + _updateRate = value; + } + } + + protected DeviceAddress _start; + public DeviceAddress Start + { + get + { + return _start; + } + } + + protected string _name; + public string Name + { + get + { + return _name; + } + set + { + _name = value; + } + } + + protected float _deadband; + public float DeadBand + { + get + { + return _deadband; + } + set + { + _deadband = value; + } + } + + protected ClientReader _plcReader; + public IDriver Parent + { + get + { + return _plcReader; + } + } + + protected Dictionary _items; + public IEnumerable Items + { + get { return _items.Values; } + } + + IDataServer _server; + public IDataServer Server + { + get + { + return _server; + } + } + + Socket _tcpSend, _tcpRecive; + byte[] tcpBuffer; + + IPAddress _addr; + public IPAddress RemoteAddress + { + get { return _addr; } + } + + public ClientGroup(short id, string name, int updateRate, bool active, ClientReader plcReader) + { + this._id = id; + this._name = name; + this._updateRate = updateRate; + this._active = active; + this._plcReader = plcReader; + this._server = plcReader.Parent; + tcpBuffer = new byte[8192]; + } + + object sendasync = new object(); + private byte[] ReadSingleData(DeviceAddress address, DataSource source = DataSource.Cache) + { + if (_tcpSend == null) return null; + short ID = (short)address.Start; + byte type = (byte)address.VarType; + byte len = (byte)(address.DataSize); + byte[] idbits = BitConverter.GetBytes(ID); + byte[] write_data = new byte[6] { FCTCOMMAND.fctHead, FCTCOMMAND.fctReadSingle, + source == DataSource.Cache?(byte)0:(byte)1, idbits[0], idbits[1] ,len}; + byte[] data = new byte[len]; + SocketError error; + lock (sendasync) + { + _tcpSend.Send(write_data, 0, 6, SocketFlags.None, out error); + int result = _tcpSend.Receive(tcpBuffer, 0, data.Length + 5, SocketFlags.None, out error); + } + Array.Copy(tcpBuffer, 5, data, 0, data.Length); + if (error == SocketError.Success) + return data; + else + { + return null; + } + } + + private int WriteSingleData(DeviceAddress address, byte[] value) + { + if (_tcpSend == null) return -1; + short ID = (short)address.Start; + byte type = (byte)address.VarType; + byte[] idbits = BitConverter.GetBytes(ID); + byte[] write_data = new byte[6] { FCTCOMMAND.fctHead, FCTCOMMAND.fctWriteSingle, 1, idbits[0], idbits[1], (byte)(value.Length) }; + byte[] data = new byte[6 + value.Length]; + write_data.CopyTo(data, 0); + value.CopyTo(data, 6); + SocketError error; + lock (sendasync) + { + _tcpSend.Send(data, 0, data.Length, SocketFlags.None, out error); + _tcpSend.Receive(tcpBuffer, 0, 2, SocketFlags.None, out error); + } + if (error == SocketError.Success) + return tcpBuffer[1];//鍙湪姝ゅ杩斿洖涓涓敊璇彿 + else + { + return (int)error; + } + } + + public void Init() + { + if (_items != null && _tcpSend != null) + { + int len = 0; + List tags = new List(); + foreach (var tag in _items.Values) + { + len += (3 + tag.Address.DataSize); + if (len >= tcpBuffer.Length - 10) + { + len = 0; + BatchRead(DataSource.Cache, true, tags.ToArray()); + tags.Clear(); + } + tags.Add(tag); + } + BatchRead(DataSource.Cache, true, tags.ToArray()); + } + } + + private void ReciveData() + { + if (!_active || _plcReader.tcpRecive == null) return; + List historys = null; + byte[] bytes = new byte[ushort.MaxValue]; + byte[] temp = new byte[_tcpRecive.ReceiveBufferSize]; + Storage value = Storage.Empty; + int result = 0; + int start = 0; + SocketError error; + do + { + if (!_tcpRecive.Connected) return; + result = _tcpRecive.Receive(bytes, 0, bytes.Length, SocketFlags.None, out error); + if (error == SocketError.Success) + { + if (DataChange != null) + historys = new List(); + //DateTime time = DateTime.Now;//褰撳墠鏃堕棿鎴 + if (start != 0 && temp[0] == FCTCOMMAND.fctHead) + { + int j = 3; + if (start < 0) + { + Array.Copy(bytes, 0, temp, -start, 5 + start); + } + short tc = BitConverter.ToInt16(temp, j);//鎬诲瓧鑺傛暟 + if (start < 0) + start += tc; + Array.Copy(bytes, 0, temp, tc - start, start); + j += 2; + while (j < tc) + { + short id = BitConverter.ToInt16(temp, j);//鏍囩ID銆佹暟鎹暱搴︺佹暟鎹硷紙T,L,V) + j += 2; + byte length = temp[j++]; + ITag tag; + if (_items.TryGetValue(id, out tag)) + { + //鏁版嵁绫诲瀷 + switch (tag.Address.VarType) + { + case DataType.BOOL: + value.Boolean = BitConverter.ToBoolean(temp, j); + break; + case DataType.BYTE: + value.Byte = temp[j]; + break; + case DataType.WORD: + case DataType.SHORT: + value.Int16 = BitConverter.ToInt16(temp, j);//闇娴嬭瘯 + break; + case DataType.INT: + value.Int32 = BitConverter.ToInt32(temp, j);//闇娴嬭瘯 + break; + case DataType.FLOAT: + value.Single = BitConverter.ToSingle(temp, j); + break; + case DataType.STR: + StringTag strTag = tag as StringTag; + if (strTag != null) + { + strTag.String = Encoding.ASCII.GetString(temp, j, length).Trim((char)0); + } + break; + default: + break; + } + j += length; + DateTime time = DateTime.FromFileTime(BitConverter.ToInt64(temp, j)); + j += 8; + tag.Update(value, time, QUALITIES.QUALITY_GOOD); + if (historys != null) + historys.Add(new HistoryData(id, QUALITIES.QUALITY_GOOD, value, time)); + } + else + j += length + 8; + } + } + byte head = bytes[start]; + int count = start; + while (head == FCTCOMMAND.fctHead && result > count) + { + if (count + 5 > bytes.Length) + { + start = count - bytes.Length; + Array.Copy(bytes, count, temp, 0, -start); + break; + } + int j = count + 3; + short tc = BitConverter.ToInt16(bytes, j);//鎬绘爣绛炬暟 + count += tc; + if (count >= bytes.Length) + { + start = count - bytes.Length; + Array.Copy(bytes, count - tc, temp, 0, tc - start); + break; + } + else start = 0; + j += 2; + while (j < count) + { + short id = BitConverter.ToInt16(bytes, j);//鏍囩ID銆佹暟鎹暱搴︺佹暟鎹硷紙T,L,V) + j += 2; + byte length = bytes[j++]; + ITag tag; + if (_items.TryGetValue(id, out tag)) + { + //鏁版嵁绫诲瀷 + switch (tag.Address.VarType) + { + case DataType.BOOL: + value.Boolean = BitConverter.ToBoolean(bytes, j); + break; + case DataType.BYTE: + value.Byte = bytes[j]; + break; + case DataType.WORD: + case DataType.SHORT: + value.Int16 = BitConverter.ToInt16(bytes, j);//闇娴嬭瘯 + break; + case DataType.INT: + value.Int32 = BitConverter.ToInt32(bytes, j);//闇娴嬭瘯 + break; + case DataType.FLOAT: + value.Single = BitConverter.ToSingle(bytes, j); + break; + case DataType.STR: + StringTag strTag = tag as StringTag; + if (strTag != null) + { + strTag.String = Encoding.ASCII.GetString(bytes, j, length).Trim((char)0); + } + break; + default: + break; + } + j += length; + DateTime time = DateTime.FromFileTime(BitConverter.ToInt64(bytes, j)); + j += 8; + tag.Update(value, time, QUALITIES.QUALITY_GOOD); + if (historys != null) + historys.Add(new HistoryData(id, QUALITIES.QUALITY_GOOD, value, time)); + } + else + j += length + 8; + } + head = bytes[count]; + } + if (DataChange != null && historys.Count > 0) + DataChange(this, new DataChangeEventArgs(1, historys)); + + } + else if (error == SocketError.ConnectionReset || error == SocketError.Interrupted + || error == SocketError.HostDown || error == SocketError.NetworkDown || error == SocketError.Shutdown) + { + _tcpRecive.Dispose(); + _active = false; + return; + } + } + while (result > 0); + } + + public void OnUpdate(object stateInfo) + { + while (true) + { + Thread.Sleep(_updateRate); + lock (this) + { + if (!_active) + { + return; + } + Init(); + } + } + } + + public bool AddItems(IList items) + { + int count = items.Count; + if (_items == null) _items = new Dictionary(count); + lock (_server.SyncRoot) + { + for (int i = 0; i < count; i++) + { + ITag dataItem = null; + TagMetaData meta = items[i]; + DeviceAddress addr = new DeviceAddress(0, 0, 0, meta.ID, meta.Size, 0, meta.DataType); + switch (meta.DataType) + { + case DataType.BOOL: + dataItem = new BoolTag(meta.ID, addr, this); + break; + case DataType.BYTE: + dataItem = new ByteTag(meta.ID, addr, this); + break; + case DataType.WORD: + case DataType.SHORT: + dataItem = new ShortTag(meta.ID, addr, this); + break; + case DataType.TIME: + case DataType.INT: + dataItem = new IntTag(meta.ID, addr, this); + break; + case DataType.FLOAT: + dataItem = new FloatTag(meta.ID, addr, this); + break; + case DataType.STR: + dataItem = new StringTag(meta.ID, addr, this); + break; + default: + dataItem = new BoolTag(meta.ID, addr, this); + break; + } + _items.Add(meta.ID, dataItem); + _server.AddItemIndex(meta.Name, dataItem); + } + } + //Init(); + return true; + } + + public bool AddTags(IEnumerable tags) + { + if (_items == null) + { + _items = new Dictionary(); + } + foreach (ITag tag in tags) + { + if (tag != null) + { + _items.Add(tag.ID, tag); + } + } + //Init(); + return true; + } + + public bool RemoveItems(params ITag[] items) + { + foreach (var item in items) + { + _server.RemoveItemIndex(item.GetTagName()); + _items.Remove(item.ID); + } + return true; + } + + public bool SetActiveState(bool active, params short[] items) + { + return true; + } + + public ITag FindItemByAddress(DeviceAddress addr) + { + ITag tag; + if (_items.TryGetValue((short)addr.Start, out tag)) + return tag; + return _server[(short)addr.Start]; + } + + public HistoryData[] BatchRead(DataSource source, bool isSync, params ITag[] itemArray) + { + if (itemArray.Length == 0 || _tcpSend == null || !_tcpSend.Connected) return null; + short len = (short)itemArray.Length; + byte[] bt = new byte[2]; + byte[] data = new byte[5 + len * 2]; + int j = 0; + data[j++] = FCTCOMMAND.fctHead; + data[j++] = FCTCOMMAND.fctReadMultiple; + data[j++] = source == DataSource.Cache ? (byte)0 : (byte)1; + bt = BitConverter.GetBytes(len); + data[j++] = bt[0]; + data[j++] = bt[1]; + for (int i = 0; i < len; i++) + { + bt = BitConverter.GetBytes(itemArray[i].ID); + data[j++] = bt[0]; + data[j++] = bt[1]; + } + SocketError error; + lock (sendasync) + { + _tcpSend.Send(data, 0, data.Length, SocketFlags.None, out error); + int result = _tcpSend.Receive(tcpBuffer, 0, tcpBuffer.Length, SocketFlags.None, out error); + } + //锛侊紒锛侊紒姝ゅ鐨勫崗璁簲娉ㄦ剰锛屽鎵归噺璇诲叆鐨勬暟鎹噺瓒呰繃缂撳瓨锛屽繀椤诲垎鎵瑰悎骞讹紱鍦ㄥ崗璁ご搴斿姞鍏ユ诲瓧鑺傛暟锛屼互鍜宺esult姣旇緝鏄惁闇瑕佸惊鐜鍏ャ + j = 5; + if (error == SocketError.Success) + { + DateTime time = DateTime.Now; + HistoryData[] values = new HistoryData[len]; + for (int i = 0; i < len; i++) + { + short id = BitConverter.ToInt16(tcpBuffer, j); + j += 2; + ITag tag = _server[id]; + byte length = tcpBuffer[j++]; + if (tag != null && length > 0) + { + switch (tag.Address.VarType) + { + case DataType.BOOL: + values[i].Value.Boolean = BitConverter.ToBoolean(tcpBuffer, j); + break; + case DataType.BYTE: + values[i].Value.Byte = tcpBuffer[j]; + break; + case DataType.WORD: + case DataType.SHORT: + values[i].Value.Int16 = BitConverter.ToInt16(tcpBuffer, j); + break; + case DataType.INT: + values[i].Value.Int32 = BitConverter.ToInt32(tcpBuffer, j); + break; + case DataType.FLOAT: + values[i].Value.Single = BitConverter.ToSingle(tcpBuffer, j); + break; + case DataType.STR: + StringTag strTag = tag as StringTag; + if (strTag != null) + { + strTag.String = Encoding.ASCII.GetString(tcpBuffer, j, length).Trim(); + } + break; + } + if (values[i].Value != tag.Value) + tag.Update(values[i].Value, time, QUALITIES.QUALITY_GOOD); + } + j += length; + } + return values; + } + else + return null; + } + + public int BatchWrite(SortedDictionary items, bool isSync = true) + { + if (_tcpSend == null || !_tcpSend.Connected) return -1; + List list = new List(new byte[] { FCTCOMMAND.fctHead, FCTCOMMAND.fctWriteMultiple }); + list.AddRange(BitConverter.GetBytes((short)items.Count)); + foreach (var item in items) + { + ITag tag = item.Key; + list.AddRange(BitConverter.GetBytes(tag.ID)); + var addr = tag.Address; + if (addr.VarType != DataType.STR) + list.Add((byte)(addr.DataSize));//姝ゅ瀛樼枒 + switch (addr.VarType) + { + case DataType.BOOL: + list.Add(Convert.ToBoolean(item.Value) ? (byte)1 : (byte)0); + break; + case DataType.BYTE: + list.Add(Convert.ToByte(item.Value)); + break; + case DataType.WORD: + case DataType.SHORT: + list.AddRange(BitConverter.GetBytes(Convert.ToInt16(item.Value))); + break; + case DataType.INT: + list.AddRange(BitConverter.GetBytes(Convert.ToInt32(item.Value))); + break; + case DataType.FLOAT: + list.AddRange(BitConverter.GetBytes(Convert.ToSingle(item.Value))); + break; + case DataType.STR: + var bts = Encoding.ASCII.GetBytes(Convert.ToString(item.Value)); + list.Add((byte)bts.Length); + list.AddRange(bts); + break; + } + } + SocketError error; + lock (sendasync) + { + _tcpSend.Send(list.ToArray(), 0, list.Count, SocketFlags.None, out error); + _tcpSend.Receive(tcpBuffer, 0, 2, SocketFlags.None, out error); + } + if (error == SocketError.Success) + return tcpBuffer[1]; + else + { + return (int)error; + } + } + + public IEnumerable SendHdaRequest(DateTime start, DateTime end) + { + if (_tcpSend == null || !_tcpSend.Connected) yield break; + byte[] hdaReq = new byte[18]; + hdaReq[0] = FCTCOMMAND.fctHead; + hdaReq[1] = FCTCOMMAND.fctHdaRequest; + byte[] startbuffer = BitConverter.GetBytes(start.ToFileTime()); + startbuffer.CopyTo(hdaReq, 2); + byte[] endbuffer = BitConverter.GetBytes(end.ToFileTime()); + endbuffer.CopyTo(hdaReq, 10); + SocketError error; + HistoryData data = HistoryData.Empty; + short tempid = short.MinValue; + byte[] temp = new byte[14]; + ITag tag = null; + int index = 0; + int size = 0; + int result = 0; + short id = 0; + lock (sendasync) + { + _tcpSend.Send(hdaReq); + do + { + result = _tcpSend.Receive(tcpBuffer, 0, tcpBuffer.Length, SocketFlags.None, out error); + if (error == SocketError.ConnectionReset || error == SocketError.Interrupted || error == SocketError.HostDown || error == SocketError.NetworkDown || error == SocketError.Shutdown) + { + _tcpSend.Dispose(); + yield break; + } + if (index != 0) + { + Array.Copy(tcpBuffer, 0, temp, 14 - index, index); + id = BitConverter.ToInt16(temp, 0); + tempid = id; + tag = _server[id]; + if (tag == null) yield break; + data.ID = id; + size = tag.Address.DataSize; + index -= (4 - size); + switch (tag.Address.VarType) + { + case DataType.BOOL: + data.Value.Boolean = BitConverter.ToBoolean(temp, 2); + break; + case DataType.BYTE: + data.Value.Byte = tcpBuffer[index]; + break; + case DataType.WORD: + case DataType.SHORT: + data.Value.Int16 = BitConverter.ToInt16(temp, 2); + break; + case DataType.TIME: + case DataType.INT: + data.Value.Int32 = BitConverter.ToInt32(temp, 2); + break; + case DataType.FLOAT: + data.Value.Single = BitConverter.ToSingle(temp, 2); + break; + } + long fileTime = BitConverter.ToInt64(temp, 2 + size); + if (fileTime == -1) yield break; + data.TimeStamp = DateTime.FromFileTime(fileTime); + yield return data; + } + while (result >= index + 2) + { + id = BitConverter.ToInt16(tcpBuffer, index); + if (tempid != id) + { + tempid = id; + tag = _server[id]; + if (tag == null) yield break; + size = tag.Address.DataSize; + } + if (index + 10 + size > result) + break; + data.ID = id; + index += 2; + switch (tag.Address.VarType) + { + case DataType.BOOL: + data.Value.Boolean = BitConverter.ToBoolean(tcpBuffer, index); + break; + case DataType.BYTE: + data.Value.Byte = tcpBuffer[index]; + break; + case DataType.WORD: + case DataType.SHORT: + data.Value.Int16 = BitConverter.ToInt16(tcpBuffer, index); + break; + case DataType.TIME: + case DataType.INT: + data.Value.Int32 = BitConverter.ToInt32(tcpBuffer, index); + break; + case DataType.FLOAT: + data.Value.Single = BitConverter.ToSingle(tcpBuffer, index); + break; + } + index += size; + long fileTime = BitConverter.ToInt64(tcpBuffer, index); + if (fileTime == -1) yield break; + data.TimeStamp = DateTime.FromFileTime(fileTime); + index += 8; + yield return data; + } + if (index == result) + index = 0; + else + { + Array.Copy(tcpBuffer, index, temp, 0, result - index); + index += 14 - result; + } + } while (result > 0); + } + yield break; + } + + public IEnumerable SendHdaRequest(DateTime start, DateTime end, short id) + { + if (_tcpSend == null || !_tcpSend.Connected) yield break; + ITag tag = _server[id]; + if (tag == null) yield break; + byte[] hdaReq = new byte[20]; + hdaReq[0] = FCTCOMMAND.fctHead; + hdaReq[1] = FCTCOMMAND.fctHdaIdRequest; + byte[] startbuffer = BitConverter.GetBytes(start.ToFileTime()); + startbuffer.CopyTo(hdaReq, 2); + byte[] endbuffer = BitConverter.GetBytes(end.ToFileTime()); + endbuffer.CopyTo(hdaReq, 10); + byte[] idbuffer = BitConverter.GetBytes(id); + idbuffer.CopyTo(hdaReq, 18); + SocketError error; + int index = 0; + HistoryData data = HistoryData.Empty; + data.ID = id; + int result = 0; + lock (sendasync) + { + _tcpSend.Send(hdaReq); + switch (tag.Address.VarType) + { + case DataType.FLOAT: + do + { + result = _tcpSend.Receive(tcpBuffer, 0, tcpBuffer.Length, SocketFlags.None, out error); + if (error == SocketError.ConnectionReset || error == SocketError.Interrupted || error == SocketError.HostDown || error == SocketError.NetworkDown || error == SocketError.Shutdown) + { + _tcpSend.Dispose(); + yield break; + } + while (index + 12 <= result) + { + data.Value.Single = BitConverter.ToSingle(tcpBuffer, index);//鏈潵鍙冭檻閲忕▼杞崲鍜屽叾浠栨暟鎹被鍨 + index += 4; + long fileTime = BitConverter.ToInt64(tcpBuffer, index); + if (fileTime == -1) yield break; + data.TimeStamp = DateTime.FromFileTime(fileTime); + index += 8; + yield return data; + } + if (index == result) + index = 0; + else + index += 12 - result;//涓㈠純涓涓 + } while (result > 0); + break; + case DataType.INT: + do + { + result = _tcpSend.Receive(tcpBuffer, 0, tcpBuffer.Length, SocketFlags.None, out error); + if (error == SocketError.ConnectionReset || error == SocketError.Interrupted || error == SocketError.HostDown || error == SocketError.NetworkDown || error == SocketError.Shutdown) + { + _tcpSend.Dispose(); + yield break; + } + while (index + 12 <= result) + { + data.Value.Int32 = BitConverter.ToInt32(tcpBuffer, index);//鏈潵鍙冭檻閲忕▼杞崲鍜屽叾浠栨暟鎹被鍨 + index += 4; + long fileTime = BitConverter.ToInt64(tcpBuffer, index); + if (fileTime == -1) yield break; + data.TimeStamp = DateTime.FromFileTime(fileTime); + index += 8; + yield return data; + } + if (index == result) + index = 0; + else + index += 12 - result;//涓㈠純涓涓 + } while (result > 0); + break; + case DataType.BOOL://甯冨皵閲忎竴涓兘涓嶈兘灏 + { + byte[] temp = new byte[9]; + do + { + result = _tcpSend.Receive(tcpBuffer, 0, tcpBuffer.Length, SocketFlags.None, out error); + if (error == SocketError.ConnectionReset || error == SocketError.Interrupted || error == SocketError.HostDown || error == SocketError.NetworkDown || error == SocketError.Shutdown) + { + _tcpSend.Dispose(); + yield break; + } + if (index != 0) + { + Array.Copy(tcpBuffer, 0, temp, 9 - index, index); + data.Value.Boolean = BitConverter.ToBoolean(temp, 0); + long fileTime = BitConverter.ToInt64(temp, 1); + if (fileTime == -1) yield break; + data.TimeStamp = DateTime.FromFileTime(fileTime); + yield return data; + } + while (index + 9 <= result) + { + data.Value.Boolean = BitConverter.ToBoolean(tcpBuffer, index); + index += 1; + long fileTime = BitConverter.ToInt64(tcpBuffer, index); + if (fileTime == -1) yield break; + data.TimeStamp = DateTime.FromFileTime(fileTime); + index += 8; + yield return data; + } + if (index == result) + index = 0; + else + { + Array.Copy(tcpBuffer, index, temp, 0, result - index); + index += 9 - result; + } + } while (result > 0); + } + break; + } + } + } + + public int SendResetRequest() + { + if (_tcpSend != null && _tcpSend.Connected) + { + var ipaddr = (_tcpSend.LocalEndPoint as IPEndPoint).Address; + byte[] resetReq = new byte[6]; + resetReq[0] = FCTCOMMAND.fctHead; + resetReq[1] = FCTCOMMAND.fctReset; + ipaddr.GetAddressBytes().CopyTo(resetReq, 2); + lock (sendasync) + { + return _tcpSend.Send(resetReq); + } + } + return -1; + } + + public int SendAlarmRequest(DateTime? start, DateTime? end) + { + if (_tcpSend != null && _tcpSend.Connected) + { + byte[] alarmReq = new byte[18]; + alarmReq[0] = FCTCOMMAND.fctHead; + alarmReq[1] = FCTCOMMAND.fctAlarmRequest; + if (start.HasValue) + { + byte[] startbuffer = BitConverter.GetBytes(start.Value.ToFileTime()); + startbuffer.CopyTo(alarmReq, 2); + } + if (end.HasValue) + { + byte[] endbuffer = BitConverter.GetBytes(end.Value.ToFileTime()); + endbuffer.CopyTo(alarmReq, 10); + } + SocketError error; + lock (sendasync) + { + _tcpSend.Send(alarmReq); + _tcpSend.Receive(tcpBuffer, 0, 2, SocketFlags.None, out error); + } + return (int)error; + } + return -1; + } + + public ItemData ReadInt32(DeviceAddress address, DataSource source = DataSource.Cache) + { + var data = ReadSingleData(address, source); + return data == null ? new ItemData(0, 0, QUALITIES.QUALITY_BAD) : + new ItemData(BitConverter.ToInt32(data, 0), 0, QUALITIES.QUALITY_GOOD); + } + + public ItemData ReadInt16(DeviceAddress address, DataSource source = DataSource.Cache) + { + var data = ReadSingleData(address, source); + return data == null ? new ItemData(0, 0, QUALITIES.QUALITY_BAD) : + new ItemData(BitConverter.ToInt16(data, 0), 0, QUALITIES.QUALITY_GOOD); + } + + public ItemData ReadByte(DeviceAddress address, DataSource source = DataSource.Cache) + { + var data = ReadSingleData(address, source); + return data == null ? new ItemData(0, 0, QUALITIES.QUALITY_BAD) : + new ItemData(data[0], 0, QUALITIES.QUALITY_GOOD); + } + + public unsafe ItemData ReadFloat(DeviceAddress address, DataSource source = DataSource.Cache) + { + var data = ReadSingleData(address, source); + if (data == null) + return new ItemData(0.0f, 0, QUALITIES.QUALITY_BAD); + else + { + int value = BitConverter.ToInt32(data, 0); + return new ItemData(*(((float*)&value)), 0, QUALITIES.QUALITY_GOOD); + } + } + + public ItemData ReadBool(DeviceAddress address, DataSource source = DataSource.Cache) + { + var data = ReadSingleData(address, source); + return data == null ? new ItemData(false, 0, QUALITIES.QUALITY_BAD) : + new ItemData(BitConverter.ToBoolean(data, address.Bit), 0, QUALITIES.QUALITY_GOOD); + } + + public ItemData ReadString(DeviceAddress address, DataSource source = DataSource.Cache) + { + var data = ReadSingleData(address, source); + return data == null ? new ItemData(string.Empty, 0, QUALITIES.QUALITY_BAD) : + new ItemData(Encoding.ASCII.GetString(data, 0, Math.Min((int)address.DataSize, 254)).Trim((char)0), 0, QUALITIES.QUALITY_GOOD); + } + + public int WriteInt32(DeviceAddress address, int value) + { + return WriteSingleData(address, BitConverter.GetBytes(value)); + } + + public int WriteInt16(DeviceAddress address, short value) + { + return WriteSingleData(address, BitConverter.GetBytes(value)); + } + + public int WriteFloat(DeviceAddress address, float value) + { + return WriteSingleData(address, BitConverter.GetBytes(value)); + } + + public int WriteString(DeviceAddress address, string value) + { + return WriteSingleData(address, Encoding.ASCII.GetBytes(value)); + } + + public int WriteBit(DeviceAddress address, bool value) + { + return WriteSingleData(address, new byte[] { (byte)(value ? 1 : 0) }); + } + + public int WriteBits(DeviceAddress address, byte value) + { + return WriteSingleData(address, new byte[] { value }); + } + + public event DataChangeEventHandler DataChange; + + public void Dispose() + { + if (_items != null) + { + _items.Clear(); + } + _items = null; + } + } +} diff --git a/SCADA/Program/CoreApp/DataService/ClientDriver/ClientDriver.csproj b/SCADA/Program/CoreApp/DataService/ClientDriver/ClientDriver.csproj new file mode 100644 index 0000000..45f8072 --- /dev/null +++ b/SCADA/Program/CoreApp/DataService/ClientDriver/ClientDriver.csproj @@ -0,0 +1,15 @@ + + + + netcoreapp2.0 + + + + true + + + + + + + diff --git a/SCADA/Program/CoreApp/DataService/DataHelper/DataHelper.cs b/SCADA/Program/CoreApp/DataService/DataHelper/DataHelper.cs new file mode 100644 index 0000000..cd9ba9f --- /dev/null +++ b/SCADA/Program/CoreApp/DataService/DataHelper/DataHelper.cs @@ -0,0 +1,198 @@ +锘縰sing Microsoft.Extensions.Configuration; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Logging.Debug; +using MySql.Data.MySqlClient; +using System; +using System.Data; +using System.Data.Common; +using System.IO; +using System.Net; +using System.Text; + +namespace DatabaseLib +{ + public static class DataHelper + { + static string m_ConnStr = @"Data Source=.\SQLEXPRESS;Initial Catalog=SharpSCADA;Integrated Security=True"; + static string m_Path = @"D:\HDA"; + static string m_host = Environment.MachineName; + static string m_type = "MSSQL"; + //鏁版嵁搴撳伐鍘傛帴鍙 + const string CFGPATH = @"C:\DataConfig\host.cfg"; + const string INIPATH = @"C:\DataConfig\host.ini"; + const string DATALOGSOURCE = "Data Operations"; + const string DATALOGNAME = "Data Log"; + const int STRINGMAX = 255; + + static ILogger Log; + #region GetInstance + private static IDataFactory _ins; + + public static IDataFactory Instance + { + get + { + return _ins; + } + } + + public static string HostName + { + get { return m_host; } + } + + public static string ConnectString + { + get { return m_ConnStr; } + } + + public static string HdaPath + { + get { return m_Path; } + } + #endregion + ///

+ /// 鏁版嵁搴撳伐鍘傛瀯閫犲嚱鏁 + /// + /// 鏁版嵁搴撴灇涓 + static DataHelper() + { + var loggerFactory = new LoggerFactory(); + Func filter = (category, level) => true; + loggerFactory.AddProvider(new DebugLoggerProvider(filter)); + Log = loggerFactory.CreateLogger(DATALOGSOURCE); + try + { + if (File.Exists(INIPATH)) + { + var builder = new ConfigurationBuilder(); + var ibuild = builder.AddIniFile(INIPATH); + var root = ibuild.Build(); + var host = root.GetSection("HOST"); + m_host = host.GetSection("SERVER").Value; + var db = root.GetSection("DATABASE"); + m_ConnStr = db.GetSection("CONNSTRING").Value; + m_Path = db.GetSection("ARCHIVE").Value; + m_type = db.GetSection("TYPE").Value; + } + else if (File.Exists(CFGPATH)) + { + using (StreamReader objReader = new StreamReader(CFGPATH)) + { + m_host = objReader.ReadLine(); + m_ConnStr = objReader.ReadLine(); + m_Path = objReader.ReadLine(); + } + } + IPAddress addr; + if (string.IsNullOrEmpty(m_host) || !IPAddress.TryParse(m_host, out addr)) + { + m_host = Environment.MachineName; + } + _ins = new MysqlFactory(); + } + catch (Exception e) + { + AddErrorLog(e); + } + } + + public static DbParameter CreateParam(string paramName, SqlDbType dbType, object objValue, int size = 0, ParameterDirection direction = ParameterDirection.Input) + { + return _ins.CreateParam(paramName, dbType, objValue, size, direction); + } + + public static string DataTableToCsv(DataTable table) + { + //浠ュ崐瑙掗楀彿锛堝嵆,锛変綔鍒嗛殧绗︼紝鍒椾负绌轰篃瑕佽〃杈惧叾瀛樺湪銆 + //鍒楀唴瀹瑰瀛樺湪鍗婅閫楀彿锛堝嵆,锛夊垯鐢ㄥ崐瑙掑紩鍙凤紙鍗""锛夊皢璇ュ瓧娈靛煎寘鍚捣鏉ャ + //鍒楀唴瀹瑰瀛樺湪鍗婅寮曞彿锛堝嵆"锛夊垯搴旀浛鎹㈡垚鍗婅鍙屽紩鍙凤紙""锛夎浆涔夛紝骞剁敤鍗婅寮曞彿锛堝嵆""锛夊皢璇ュ瓧娈靛煎寘鍚捣鏉ャ + StringBuilder sb = new StringBuilder(); + DataColumn colum; + foreach (DataRow row in table.Rows) + { + for (int i = 0; i < table.Columns.Count; i++) + { + colum = table.Columns[i]; + if (i != 0) sb.Append(","); + var txt = row[colum] == null ? "" : row[colum].ToString(); + if (colum.DataType == typeof(string) && txt.Contains(",")) + { + sb.Append("\"" + txt.Replace("\"", "\"\"") + "\""); + } + else sb.Append(txt); + } + sb.AppendLine(); + } + return sb.ToString(); + } + + public static string ReaderToCsv(IDataReader reader) + { + StringBuilder sb = new StringBuilder(); + var colcount = reader.FieldCount; + while (reader.Read()) + { + for (int i = 0; i < colcount; i++) + { + if (i != 0) sb.Append(","); + var txt = reader[i] == null ? "" : reader[i].ToString(); + if (txt.Contains(",")) + { + sb.Append("\"" + txt.Replace("\"", "\"\"") + "\""); + } + else sb.Append(txt); + } + sb.AppendLine(); + } + return sb.ToString(); + } + + public static void AddErrorLog(Exception e) + { + string err = ""; + Exception exp = e; + while (exp != null) + { + err += string.Format("\n {0}", exp.Message); + exp = exp.InnerException; + } + err += string.Format("\n {0}", e.StackTrace); + Log.LogError(err); + } + + public static string GetNullableString(this DbDataReader reader, int index) + { + return reader.GetString(index); + } + + public static DateTime? GetNullableTime(this DbDataReader reader, int index) + { + return reader.GetDateTime(index); + } + + public static int GetTimeTick(this DbDataReader reader, int index) + { + var datetime = reader.GetDateTime(index); + var value = datetime.Subtract(new DateTime(1900, 1, 1)); + long num2 = value.Ticks - value.Days * 864000000000; + if (num2 < 0) + num2 += 864000000000; + int num3 = (int)(num2 / 10000.0 * 0.3 + 0.5); + if (num3 > 300 * 60 * 60 * 24 - 1) + num3 = 0; + return num3; + } + + public static object GetSqlValue(this DbDataReader reader, int index) + { + var mq = reader as MySqlDataReader; + if (mq != null) + { + return mq.GetValue(index); + } + return ""; + } + } + +} \ No newline at end of file diff --git a/SCADA/Program/CoreApp/DataService/DataHelper/DataHelper.csproj b/SCADA/Program/CoreApp/DataService/DataHelper/DataHelper.csproj new file mode 100644 index 0000000..085e74a --- /dev/null +++ b/SCADA/Program/CoreApp/DataService/DataHelper/DataHelper.csproj @@ -0,0 +1,22 @@ + + + + netcoreapp2.0 + + + + true + + + + + + + + + + + + + + diff --git a/SCADA/Program/CoreApp/DataService/DataHelper/HDAIOHelper.cs b/SCADA/Program/CoreApp/DataService/DataHelper/HDAIOHelper.cs new file mode 100644 index 0000000..c2a3903 --- /dev/null +++ b/SCADA/Program/CoreApp/DataService/DataHelper/HDAIOHelper.cs @@ -0,0 +1,927 @@ +锘縰sing DataService; +using System; +using System.Collections.Generic; +using System.Data; +using System.Data.SqlTypes; +using System.IO; +using System.IO.MemoryMappedFiles; +using System.Runtime.InteropServices; +using System.Text; + +namespace DatabaseLib +{ + public class HDAIOHelper + { + static int[] dataLen = new int[] { 5, 5, 5, 5, 6, 6, 8, 8, 8, 8, 8, 8 }; + + static string m_Path = @"D:\HDA"; + + static HDAIOHelper() + { + m_Path = DataHelper.HdaPath; + } + + public static bool FindFile(DateTime date) + { + if (Directory.Exists(m_Path)) + { + return File.Exists(string.Concat(m_Path, "\\", date.Year.ToString(), "-", date.Month.ToString(), ".bin")); + } + return false; + } + + public static bool CreateFile(int year, int month) + { + string path = string.Concat(m_Path, "\\", year.ToString(), "-", month.ToString(), ".bin"); + try + { + if (Directory.Exists(m_Path)) + { + if (File.Exists(path)) + { + return true; + } + } + else + { + Directory.CreateDirectory(m_Path); + } + using (var stream = File.Create(path, 0x100)) + { + stream.Write(new byte[0x100], 0, 0x100); + return true; + } + } + catch (Exception err) + { + DataHelper.AddErrorLog(err); + return false; + } + } + + public static bool GetRangeFromDatabase(short? ID, ref DateTime start, ref DateTime end) + { + using (var reader = DataHelper.Instance.ExecuteReader("SELECT MIN(TIMESTAMP),MAX(TIMESTAMP) FROM LOG_HDATA" + (ID.HasValue ? " WHERE ID=" + ID.Value : ""))) + { + if (reader != null) + { + while (reader.Read()) + { + if (!reader.IsDBNull(0)) + start = reader.GetDateTime(0); + if (!reader.IsDBNull(1)) + end = reader.GetDateTime(1); + return true; + } + } + } + //start = end = DateTime.MinValue; + return false; + } + + public static void BackUpFile(DateTime date) + { + lock (typeof(HDAIOHelper)) + { + if (WriteToFile(date.AddDays(-1)) == 0) + { + DataHelper.Instance.ExecuteNonQuery(string.Format("DELETE FROM LOG_HDATA WHERE [TIMESTAMP]<='{0}';", date.ToShortDateString())); + } + } + } + + public static int WriteToFile(DateTime date)//姣忓ぉ鍑屾櫒鍐欏叆鏄ㄥぉ鐨勬暟鎹埌鏂囦欢锛屽彲浠ヨ冭檻鐢ㄦ湇鍔℃垨璁″垝浠诲姟;鏁版嵁搴撳彧淇濈暀褰撳ぉ鐨勮褰曪紱璋冨害绋嬪簭璐熻矗鍒犻櫎杩囨湡璁板綍;鍘嗗彶鏁版嵁搴旀敮鎸佸悎骞 + { + int year = date.Year; int month = date.Month; int day = date.Day; + string path = string.Concat(m_Path, "\\", year.ToString(), "-", month.ToString(), ".bin"); + if (CreateFile(year, month))//濡傝鏈堟枃浠朵笉瀛樺湪锛屽垯鍒涘缓锛涘惁鍒欏啓鍏 + { + using (FileStream stream = File.Open(path, FileMode.Open, FileAccess.Read, FileShare.Read)) + { + stream.Seek(day * 8, SeekOrigin.Begin);//鍏堣鍏ョ储寮曞尯锛屽畾浣嶅埌璇ユ棩鏈熺殑鎸囬拡 + byte[] bits = new byte[8]; + stream.Read(bits, 0, 8);//濡傛灉璇ヤ綅缃寚閽堜负>0鐨勬鏁帮紝璇存槑璇ュ尯鍩熷凡鏈夋暟鎹 + if (BitConverter.ToInt64(bits, 0) > 0) return -1; + } + using (var dataReader = DataHelper.Instance.ExecuteProcedureReader("WRITEHDATA", DataHelper.CreateParam("@DATE", SqlDbType.DateTime, date))) + { + if (dataReader == null) return -10; + else + { + dataReader.Read(); + int cont = dataReader.GetInt32(0);//璇诲叆鏍囩鏁伴噺 + if (cont == 0) return -2; + string path2 = path + ".temp"; + try + { + File.Copy(path, path2, true);//鍏堟妸鍘熸枃浠跺叏閮ㄥ鍒跺埌涓存椂鏂囦欢 + //Stopwatch sw = Stopwatch.StartNew(); + using (FileStream stream = File.Open(path2, FileMode.Open)) + { + //w.Seek(8 + day * 8, SeekOrigin.Begin); + //w.Seek(0x100, SeekOrigin.Begin); + long start = stream.Seek(0, SeekOrigin.End);//瀹氫綅鍒版枃浠舵湯灏 + long end = 0; + using (BinaryWriter w = new BinaryWriter(stream)) + { + w.Write(new SqlDateTime(date).DayTicks);//鍐欏叆鏃ユ湡 + w.Write(cont);///鍐欏叆鏍囩鏁伴噺 + int count = dataReader.GetInt32(1); + w.Write(count); + HDataFormat[] list = new HDataFormat[count]; + if (dataReader.NextResult()) + { + int p = 0; + int x = 0; + while (dataReader.Read())//鍐欏叆鏍囩鍏冩暟鎹 + { + short id = dataReader.GetInt16(0);//ID鍙 + byte type = dataReader.GetByte(1);//鏁版嵁绫诲瀷 + int cn = dataReader.GetInt32(2);//鏍囩涓暟 + //list[x].ID = id; + list[x].Type = (DataType)type; + list[x].Count = cn; + //list[x].Offset = p; + w.Write(id); + w.Write(type); + w.Write(cn); + w.Write(p); + p += cn * dataLen[type]; + x++; + } + if (dataReader.NextResult()) + { + for (int i = 0; i < list.Length; i++) + { + int len = list[i].Count; + for (int j = 0; j < len; j++) + { + if (dataReader.Read()) + { + w.Write(dataReader.GetTimeTick(0)); + switch (list[i].Type) + { + case DataType.BOOL: + w.Write(dataReader.GetFloat(1) > 0); + break; + case DataType.BYTE: + w.Write((byte)dataReader.GetFloat(1)); + break; + case DataType.WORD: + case DataType.SHORT: + w.Write((short)dataReader.GetFloat(1)); + break; + case DataType.INT: + w.Write((int)dataReader.GetFloat(1)); + break; + case DataType.FLOAT: + w.Write(dataReader.GetFloat(1)); + break; + } + } + } + } + + } + } + end = stream.Position;//鏂囦欢鐨勭粨灏撅紝鎬婚暱搴 + w.Seek((day - 1) * 8, SeekOrigin.Begin);//瀹氫綅鍒扮储寮曞尯 + w.Write(start);//鍐欏叆褰撴棩鎸囬拡 + w.Write(end);//鍐欏叆涓嬩竴鏃ユ寚閽 + //w.Close(); + } + } + File.Copy(path2, path, true); + } + catch (Exception err) + { + DataHelper.AddErrorLog(err); + return -3; + } + finally + { + if (File.Exists(path2)) + File.Delete(path2); + } + //dataReader.Close(); + return 0; + /*鍐欏叆澶辫触锛屽垯灏嗗浠芥枃浠惰繕鍘燂紱鏁版嵁搴撲笉鍋氬垹闄ゅ姩浣滐紝淇濈暀璁板綍锛屾鏃ユ湇鍔℃鏌ユ暟鎹枃浠舵槸鍚﹀瓨鍦紝涓嶅瓨鍦ㄥ垯鍚堝苟鍐欏叆 + 鍙湪鏈嶅姟鍐呭缓XML鏂囦欢淇濆瓨澶辫触璁板綍鐨勬棩鏈熷垪琛紝浠ヤ究杩樺師锛涚敤File.Mov锛涘畾鏃堕棿闅斻佸紑濮嬫椂闂翠篃鍙疿ML瀹氫箟銆 + 鍏堝浠戒簩杩涘埗褰掓。搴擄紝鍐嶅姞杞芥暟鎹簱鏁版嵁锛屽啓鍏ユ枃浠讹紱濡傛垚鍔燂紝鍒犻櫎鏁版嵁搴撳綋鏃ヨ褰曞苟鍒犻櫎澶囦唤鏂囦欢 + sw.Stop(); + * if (sw.ElapsedTicks > 0) { } + */ + } + } + } + return -10; + } + + public static IEnumerable LoadFromFile(DateTime start, DateTime end, bool sdt = false) + { + //Stopwatch sw = Stopwatch.StartNew(); + //鏂囦欢鐨勭粍缁囨牸寮忥細澶存枃浠讹細31锛宭n涓洪棿闅旀棩鏈燂紝position涓烘寚鍚戞棩鏈熸鐨勬寚閽堬紝sizes涓烘棩鏈熸鐨勯暱搴︺ + //姣忔棩鐨勬姮澶达細鎸塈D娆″簭锛屽寘鍚瘡涓猅AG鐨勬暟閲忥紝arr涓烘瘡涓棩鏈熸墍鏈夌殑鏍囩銆佹瘡鏍囩鏁伴噺銆佹暟鎹被鍨嬨佷綅缃寚閽堛 + //鎸夋椂闂存帓搴忥紝姣忎釜鏍囩鐨勫笺佹椂闂存埑銆 + string path = string.Concat(m_Path, "\\", start.Year.ToString(), "-", start.Month.ToString(), sdt ? ".sdt" : ".bin"); + if (!File.Exists(path)) yield break; + int day1 = start.Day; + int startTicks = new SqlDateTime(start).TimeTicks; + int endTicks = new SqlDateTime(end).TimeTicks; + int ln = end.Day - day1 + 1; + using (FileStream stream = File.Open(path, FileMode.Open, FileAccess.Read, FileShare.Read)) + { + BinaryReader reader = new BinaryReader(stream); + long[] positions = new long[ln + 1]; + long[] sizes = new long[ln]; + stream.Seek((day1 - 1) * 8, SeekOrigin.Begin); + positions[0] = reader.ReadInt64(); + for (int i = 0; i < ln; i++) + { + positions[i + 1] = reader.ReadInt64(); + sizes[i] = positions[i + 1] - positions[i];//姣忎竴澶╂暟鎹殑闀垮害 + } + //reader.Close(); + HistoryData data = HistoryData.Empty; + using (MemoryMappedFile mapp = MemoryMappedFile.CreateFromFile(stream, Guid.NewGuid().ToString(), 0, MemoryMappedFileAccess.Read, + HandleInheritability.Inheritable, false)) + { + for (int k = 0; k < ln; k++) + { + if (positions[k] < 0x100 || sizes[k] <= 0 || positions[k] + sizes[k] > stream.Length) + continue; + using (MemoryMappedViewAccessor acc = mapp.CreateViewAccessor(positions[k], sizes[k], MemoryMappedFileAccess.Read)) + { + long pos = 0; + int day = acc.ReadInt32(pos); + pos += 8; + int count = acc.ReadInt32(pos); + pos += 4; + HDataFormat[] arr = new HDataFormat[count]; + for (int i = 0; i < count; i++) + { + arr[i].ID = acc.ReadInt16(pos); + pos += 2; + arr[i].Type = (DataType)acc.ReadByte(pos); + pos++; + arr[i].Count = acc.ReadInt32(pos);//4涓瓧鑺傛槸棰勭暀 + pos += 8; + } + long tempos = pos; + for (int i = 0; i < count; i++) + { + int con = arr[i].Count; + int j = 0; + pos = tempos + acc.ReadInt32(i * 11 + 19); + long pf = pos; + DataType type = arr[i].Type; + int len = dataLen[(int)type]; + if (k == 0) //鍒ゆ柇鏄惁涓鸿捣濮嬫棩鏈熸垨缁撴潫鏃ユ湡 + { + int ind = BinarySearchTime(acc, pf, con, len, startTicks); + if (ind < 0) ind = ~ind; + j += ind; + pos += ind * len; + } + if (k == ln - 1) + { + int index = BinarySearchTime(acc, pf, con, len, endTicks); + con = index >= 0 ? index : ~index; + } + while (j++ < con) + { + data.ID = arr[i].ID; + data.TimeStamp = new SqlDateTime(day, acc.ReadInt32(pos)).Value; + pos += 4; + switch (type) + { + case DataType.BOOL: + data.Value.Boolean = acc.ReadBoolean(pos); + pos++; + break; + case DataType.BYTE: + data.Value.Byte = acc.ReadByte(pos); + pos++; + break; + case DataType.WORD: + case DataType.SHORT: + data.Value.Int16 = acc.ReadInt16(pos); + pos += 2; + break; + case DataType.INT: + data.Value.Int32 = acc.ReadInt32(pos); + pos += 4; + break; + case DataType.FLOAT: + data.Value.Single = acc.ReadSingle(pos); + pos += 4; + break; + } + yield return data; + } + } + } + } + } + } + yield break; + } + + public static IEnumerable LoadFromFile(DateTime start, DateTime end, short ID, bool sdt = false) + { + string path = string.Concat(m_Path, "\\", start.Year.ToString(), "-", start.Month.ToString(), sdt ? ".sdt" : ".bin");//bin-sdt + if (!File.Exists(path)) yield break; + int day1 = start.Day; + int startTicks = new SqlDateTime(start).TimeTicks;//寮濮嬫棩鏈熼儴鍒嗙殑4浣嶆暟鎹 + int endTicks = new SqlDateTime(end).TimeTicks; + int ln = end.Day - day1 + 1;//鏃ユ湡澶╂暟 + using (FileStream stream = File.Open(path, FileMode.Open, FileAccess.Read, FileShare.Read)) + { + long filelen = stream.Length;//鏂囦欢闀垮害 + BinaryReader reader = new BinaryReader(stream); + long[] positions = new long[ln];//姣忔棩鏁版嵁鎸囬拡锛堟寚鍚戠涓鏉℃暟鎹紝鍖呮嫭褰撴棩鏁版嵁绱㈠紩鍖猴級 + stream.Seek((day1 - 1) * 8, SeekOrigin.Begin);///鎵惧埌瀵瑰簲鐨勫紑濮嬫棩鏈熺储寮曚綅缃 + + for (int i = 0; i < ln; i++) + { + positions[i] = reader.ReadInt64();//璇诲叆鏃堕棿娈靛唴姣忔棩鏁版嵁闀垮害鍊 + } + long[] sizes = new long[ln]; + for (int i = 0; i < ln; i++) + { + if (positions[i] >= filelen) break;//濡傛灉璇诲叆闀垮害瓒呰繃鏂囦欢澶у皬鍒欓鍑 + stream.Seek(positions[i] + 8, SeekOrigin.Begin);//瀹氫綅鏂囦欢鎸囬拡鍒板綋鏃ユ暟鎹紑澶 + sizes[i] = reader.ReadInt32();//sizes涓哄綋鏃ヨ鏍囩鏁 + } + //reader.Close(); + HistoryData data = HistoryData.Empty; + //stream.Read(new byte[] + using (MemoryMappedFile mapp = MemoryMappedFile.CreateFromFile(stream, Guid.NewGuid().ToString(), filelen, MemoryMappedFileAccess.Read, + HandleInheritability.Inheritable, false)) + { + for (int k = 0; k < ln; k++)//鍏堣鍏ュ綋鏃ョ储寮曞尯 + { + if (positions[k] < 0x100 || sizes[k] <= 0 || positions[k] + sizes[k] > filelen) + continue; + //if (sizes[k] == 0) continue; + long pos = 0; + int count = 0; + int day = 0; + int len = 0; + DataType type = DataType.NONE; + using (MemoryMappedViewAccessor acc1 = mapp.CreateViewAccessor(positions[k], 12 + sizes[k] * 11, MemoryMappedFileAccess.Read))//12鏄ご鐨勯暱搴︼紝11鏄竴涓牸寮忓瓧娈电殑闀垮害 + { + day = acc1.ReadInt32(0);//褰撴棩鏃ユ湡閮ㄥ垎 + int index = BinarySearch(acc1, (int)sizes[k], ID);//鎵惧埌褰撳ぉ 鎸囧畾鏍囩鐨勮褰曠储寮 + if (index >= 0) + index = index * 11 + 12;//濡傛壘鍒帮紝鍒欏畾浣嶅埌褰撴棩鏁版嵁鐨勫厓鏁版嵁锛堢浉瀵逛綅绉伙級 + //sw.Stop(); + else continue; + byte tp = acc1.ReadByte(index + 2);//璇诲叆鏁版嵁绫诲瀷 + type = (DataType)tp; + len = dataLen[tp];//4锛6锛8鍒嗗埆涓哄瓨鍌ㄧ殑鏍囩闀垮害锛屽叾涓4瀛楄妭鏄椂闂存埑 + count = acc1.ReadInt32(index + 3);//璇诲叆鏁伴噺 + pos = positions[k] + 12 + sizes[k] * 11 + acc1.ReadInt32(index + 7);//鎸囬拡鎸囧悜褰撴棩褰撳墠鏍囩绗竴鏉¤褰 + } + using (MemoryMappedViewAccessor acc2 = mapp.CreateViewAccessor(pos, count * len, MemoryMappedFileAccess.Read))//閲嶆柊浠庡ご瀹氫綅鏂囦欢鎸囬拡鍒版暟鎹尯 + { + pos = 0; + int j = 0; + if (k == 0)//鍒ゆ柇鏄惁涓鸿捣濮嬫棩鏈熸垨缁撴潫鏃ユ湡 + { + int ind = BinarySearchTime(acc2, 0, count, len, startTicks);//鏍规嵁鏃堕棿鎺掑簭鏂瑰紡浜屽垎娉曟煡鎵惧綋鏃ュ綋鍓嶆椂闂磋妭鐐圭殑鏁版嵁锛屽涓虹涓鏃 + if (ind < 0) ind = ~ind; + j += ind; + pos += ind * len; + } + if (k == ln - 1) + { + int ind = BinarySearchTime(acc2, 0, count, len, endTicks);//濡傛灉涓烘渶鍚庝竴鏃ョ殑鏁版嵁锛屽垯鎸夌粨鏉熸椂闂村畾浣 + count = ind >= 0 ? ind : ~ind; + } + while (j++ < count) + { + data.ID = ID; + data.TimeStamp = new SqlDateTime(day, acc2.ReadInt32(pos)).Value;//鏃ユ湡鍦ㄥ墠(4浣嶏級 + pos += 4;//鏁版嵁鍖轰篃鏄4浣 + switch (type) + { + case DataType.BOOL: + data.Value.Boolean = acc2.ReadBoolean(pos); + pos++; + break; + case DataType.BYTE: + data.Value.Byte = acc2.ReadByte(pos); + pos++; + break; + case DataType.WORD: + case DataType.SHORT: + data.Value.Int16 = acc2.ReadInt16(pos); + pos += 2; + break; + case DataType.INT: + data.Value.Int32 = acc2.ReadInt32(pos); + pos += 4; + break; + case DataType.FLOAT: + data.Value.Single = acc2.ReadSingle(pos); + pos += 4; + break; + } + yield return data; + } + } + } + } + reader.Close(); + } + yield break; + } + + public static IEnumerable LoadFromDatabase(DateTime start, DateTime end, short? ID = null) + { + using (var dataReader = DataHelper.Instance.ExecuteProcedureReader("READHDATA", + DataHelper.CreateParam("@STARTTIME", SqlDbType.DateTime, start), + DataHelper.CreateParam("@ENDTIME", SqlDbType.DateTime, end), + DataHelper.CreateParam("@ID", SqlDbType.Int, (object)ID ?? DBNull.Value))) + { + if (dataReader == null) yield break; + HistoryData data = HistoryData.Empty; + int itime = ID.HasValue ? 0 : 1; + int ivalue = ID.HasValue ? 1 : 2; + int itype = ID.HasValue ? 2 : 3; + while (dataReader.Read()) + { + data.ID = ID.HasValue ? ID.Value : dataReader.GetInt16(0); + data.TimeStamp = dataReader.GetDateTime(itime); + switch ((DataType)dataReader.GetByte(itype)) + { + case DataType.BOOL: + data.Value.Boolean = dataReader.GetFloat(ivalue) > 0 ? true : false; + break; + case DataType.BYTE: + data.Value.Byte = Convert.ToByte(dataReader.GetFloat(ivalue)); + break; + case DataType.WORD: + case DataType.SHORT: + data.Value.Int16 = Convert.ToInt16(dataReader.GetFloat(ivalue)); + break; + case DataType.INT: + data.Value.Int32 = Convert.ToInt32(dataReader.GetFloat(ivalue)); + break; + case DataType.FLOAT: + data.Value.Single = dataReader.GetFloat(ivalue); + break; + } + yield return data; + } + } + yield break; + } + + public static IEnumerable LoadFromDatabaseAtTime(short? ID, params DateTime[] timeStamps) + { + StringBuilder sql = new StringBuilder("SELECT "); + if (ID == null) sql.Append("ID,"); + sql.Append(" [TIMESTAMP],[VALUE],M.DATATYPE FROM LOG_HDATA L INNER JOIN META_TAG M ON L.ID=M.TAGID WHERE"); + if (ID != null) sql.Append(" ID=").Append(ID.Value).Append(" AND "); + sql.Append(" [TIMESTAMP] IN("); + for (int i = 0; i < timeStamps.Length; i++) + { + sql.Append("'").Append(timeStamps[i]).Append("',"); + } + using (var dataReader = DataHelper.Instance.ExecuteReader(sql.Append("1)").ToString())) + { + if (dataReader == null) yield break; + HistoryData data = HistoryData.Empty; + int itime = ID == null ? 0 : 1; + int ivalue = ID == null ? 1 : 2; + int itype = ID == null ? 2 : 3; + while (dataReader.Read()) + { + data.ID = ID == null ? dataReader.GetInt16(0) : ID.Value; + data.TimeStamp = dataReader.GetDateTime(itime); + switch ((DataType)dataReader.GetByte(itype)) + { + case DataType.BOOL: + data.Value.Boolean = dataReader.GetFloat(ivalue) > 0 ? true : false; + break; + case DataType.BYTE: + data.Value.Byte = Convert.ToByte(dataReader.GetFloat(ivalue)); + break; + case DataType.WORD: + case DataType.SHORT: + data.Value.Int16 = Convert.ToInt16(dataReader.GetFloat(ivalue)); + break; + case DataType.INT: + data.Value.Int32 = Convert.ToInt32(dataReader.GetFloat(ivalue)); + break; + case DataType.FLOAT: + data.Value.Single = dataReader.GetFloat(ivalue); + break; + } + yield return data; + } + } + yield break; + } + + private static int BinarySearch(MemoryMappedViewAccessor acc, int length, short value) + { + int i = 0; + int num2 = length - 1; + while (i <= num2) + { + int num3 = i + ((num2 - i) >> 1); + int num4 = acc.ReadInt16(12 + num3 * 11).CompareTo(value); + if (num4 == 0) + { + return num3; + } + if (num4 < 0) + { + i = num3 + 1; + } + else + { + num2 = num3 - 1; + } + } + return -1; + } + + private static int BinarySearchTime(MemoryMappedViewAccessor acc, long offset, int count, int len, int ticks) + { + int i = 0; + int num2 = count - 1; + while (i <= num2) + { + int num3 = i + ((num2 - i) >> 1); + int num4 = acc.ReadInt32(offset + num3 * len).CompareTo(ticks); + if (num4 == 0) + { + return num3; + } + if (num4 < 0) + { + i = num3 + 1; + } + else + { + num2 = num3 - 1; + } + } + return ~i; + } + + public static void SDTCompression(int year, int month, float E = 0.7f) + { + //Stopwatch sw = Stopwatch.StartNew(); + string path = string.Concat(m_Path, "\\", year.ToString(), "-", month.ToString()); + using (FileStream stream = File.Open(path + ".bin", FileMode.Open, FileAccess.Read, FileShare.Read)) + { + using (FileStream outstream = File.Create(path + ".sdt")) + { + outstream.Write(new byte[0x100], 0, 0x100); + BinaryWriter w = new BinaryWriter(outstream); + using (MemoryMappedFile mapp = MemoryMappedFile.CreateFromFile(stream, "map1", stream.Length, + MemoryMappedFileAccess.ReadWrite, HandleInheritability.Inheritable, false)) + { + int days = DateTime.DaysInMonth(year, month); + long[] ps = new long[days + 1]; + long[] ps1 = new long[days + 1]; + long[] sizes = new long[days]; + MemoryMappedViewAccessor acc1 = mapp.CreateViewAccessor(0, 8 * days); + long begin = 0; + ps[0] = acc1.ReadInt64(begin); + for (int i = 0; i < days; i++) + { + begin += 8; + ps[i + 1] = (i == days - 1 ? stream.Length : acc1.ReadInt64(begin)); + sizes[i] = ps[i + 1] - ps[i]; + } + acc1.Dispose(); + for (int i = 0; i < days; i++) + { + if (ps[i] < 0x100 || sizes[i] <= 0) + continue; + using (MemoryMappedViewAccessor acc = mapp.CreateViewAccessor(ps[i], sizes[i])) + { + ps1[i] = outstream.Position; + int len = acc.ReadInt32(8); + int len1 = len * 11 + 12; + HDataFormat[] list = new HDataFormat[len]; + w.Write(acc.ReadInt32(0)); + w.Write(acc.ReadInt32(4)); + w.Write(len); + outstream.Write(new byte[len1 - 12], 0, len1 - 12); + long pos = 12; + int off = 0; + for (int j = 0; j < len; j++) + { + short id; byte type; int count; int offset; + id = acc.ReadInt16(pos); + type = acc.ReadByte(pos + 2); + count = acc.ReadInt32(pos + 3); + offset = acc.ReadInt32(pos + 7); + list[j].ID = id; + list[j].Type = (DataType)type; + list[j].Offset = off;//姝ゅ鍙噰鍙栦笁娆″埌浜旀鎶芥牱寰楀埌E鍜孴LM + if (count < 3) + { + long pos2 = len1 + offset; + for (int m = 0; m < count; m++) + { + w.Write(acc.ReadInt32(pos2)); + pos2 += 4; + w.Write(acc.ReadSingle(pos2)); + pos2 += 4; + } + continue; + } + else + { + switch (list[j].Type) + { + case DataType.FLOAT: + { + int crt = 0; int net = 0; + float crv = 0; float nev = 0; + int maxt = 0; int mint = maxt; int sumt = 0; + float minv = 0; float maxv = minv; float sumv = 0; + int old_time = 0; int time = 0; + float mem = 0; float old_mem = 0; + long pp = len1 + offset; + long pos2 = pp + 16; + for (int c = 0; c < 9; c++) + { + crt = acc.ReadInt32(pp); + pp += 4; + crv = acc.ReadSingle(pp); + pp += 4; + if (c > 0) + { + float cv = crv - nev; + int ct = crt - net; + if (c == 1) + { + time = crt; + mem = crv; + maxt = mint = ct; + minv = maxv = cv; + } + else + { + if (cv > maxv) + maxv = cv; + if (cv < minv) + minv = cv; + if (ct > maxt) + maxt = ct; + if (ct < mint) + mint = ct; + } + sumv += cv; + sumt += ct; + } + else + { + old_mem = crv; + old_time = crt; + } + nev = crv; + net = crt; + } + int TLM = (sumt - maxt - mint) / 2; + float E1 = E * (sumv - maxv - minv) / 6; + int sum = 1; + //old_time = now_time = new_time = 0; + float timespan; + w.Write(old_time); + w.Write(old_mem); + float k1, k2, k; + timespan = time - old_time; + k = (mem - old_mem) / timespan; + k1 = k + (E1 / timespan); + k2 = 2 * k - k1; + for (int m = 2; m < count; m++) + { + if (timespan >= TLM || k < k2 || k > k1) + { + ++sum; + w.Write(old_time); + w.Write(old_mem); + k1 = k + (E1 / timespan); + k2 = 2 * k - k1; + } + old_time = time; + old_mem = mem; + time = acc.ReadInt32(pos2); + pos2 += 4; + mem = acc.ReadSingle(pos2); + pos2 += 4; + timespan = time - old_time; + k = (mem - old_mem) / timespan; + } + list[j].Count = sum; + off += sum * 8; + } + break; + case DataType.WORD: + case DataType.SHORT: + { + int crt = 0; int net = 0; + short crv = 0; short nev = 0; + int maxt = 0; int mint = maxt; int sumt = 0; + int minv = 0; int maxv = minv; int sumv = 0; + int old_time = 0; int time = 0; + short mem = 0; short old_mem = 0; + long pp = len1 + offset; + long pos2 = pp + 12; + for (int c = 0; c < 9; c++) + { + crt = acc.ReadInt32(pp); + pp += 4; + crv = acc.ReadInt16(pp); + pp += 2; + if (c > 0) + { + int cv = crv - nev; + int ct = crt - net; + if (c == 1) + { + time = crt; + maxt = mint = ct; + mem = crv; + minv = maxv = cv; + } + else + { + if (cv > maxv) + maxv = cv; + if (cv < minv) + minv = cv; + if (ct > maxt) + maxt = ct; + if (ct < mint) + mint = ct; + } + sumv += cv; + sumt += ct; + } + else + { + old_mem = crv; + old_time = crt; + } + nev = crv; + net = crt; + } + int TLM = (sumt - maxt - mint) / 2; + float E1 = E * (sumv - maxv - minv) / 6; + int sum = 1; + float timespan; + w.Write(old_time); + w.Write(old_mem); + float k1, k2, k; + timespan = time - old_time; + k = (mem - old_mem) / timespan; + k1 = k + (E1 / timespan); + k2 = 2 * k - k1; + for (int m = 2; m < count; m++) + { + if (timespan >= TLM || k < k2 || k > k1) + { + ++sum; + w.Write(old_time); + w.Write(old_mem); + k1 = k + (E1 / timespan); + k2 = 2 * k - k1; + } + old_time = time; + old_mem = mem; + time = acc.ReadInt32(pos2); + pos2 += 4; + mem = acc.ReadInt16(pos2); + pos2 += 2; + timespan = time - old_time; + k = (mem - old_mem) / timespan; + } + + list[j].Count = sum; + off += sum * 8; + } + break; + default: + { + byte[] buffer = new byte[count * dataLen[type]]; + stream.Seek(ps[i] + len1 + offset, SeekOrigin.Begin); + stream.Read(buffer, 0, buffer.Length); + outstream.Write(buffer, 0, buffer.Length); + list[j].Count = count; + off += buffer.Length; + } + break; + } + pos += 11; + } + } + outstream.Seek(ps1[i] + 12, SeekOrigin.Begin); + for (int j = 0; j < len; j++) + { + w.Write(list[j].ID); + w.Write((byte)list[j].Type); + w.Write(list[j].Count); + w.Write(list[j].Offset); + } + ps1[i + 1] = outstream.Seek(0, SeekOrigin.End); + } + + } + outstream.Seek(0, SeekOrigin.Begin); + for (int i = 0; i < days + 1; i++) + { + w.Write(ps1[i]); + } + } + } + } + } + + //閬嶅巻涓や釜鏂囦欢澶逛笅鎵鏈夊巻鍙茶褰曟枃浠讹紱濡傛棩鏈熸棤閲嶅锛屽垯澶嶅埗婧愯矾寰勪笅鏂囦欢鍒扮洰鏍囪矾寰勶紱鍚﹀垯鍚堝苟鍒颁竴涓枃浠 + public static unsafe bool Merge(string sourcePath, string targetPath) + { + return true; + } + + public static unsafe ushort ToFloat16(float f) + { + uint* i = (uint*)&f; + uint sign = (*i >> 31) & 0x1; + uint exponent = ((*i >> 23) & 0xff) - 0x7f; + uint mantissa = (*i) & 0x7fffff; + + exponent += 0x7; + uint ret = ((sign & 0x1) << 15); + ret |= ((exponent & 0xf) << 11); + ret |= ((mantissa >> 13) & 0x7ff); + return (ushort)ret; + } + + public static unsafe float ToFloat32(ushort f) + { + ushort* i = (ushort*)&f; + int sign = (*i >> 15) & 0x1; + int exponent = ((*i >> 11) & 0xf) - 0x7; + int mantissa = (*i) & 0x7ff; + + exponent += 0x7f; + int ret = ((sign & 0x1) << 31); + ret |= (exponent & 0xff) << 23; + ret |= (mantissa << 13) & 0x7fffff; + return *((float*)&ret); + } + + + public static float[] Interpolation(float[] dataIn, int n) + { + float[] dataOut = new float[n]; + int lenIn = dataIn.Length; + float[] divOut = new float[n]; + for (int i = 1; i < n; i++) + { + divOut[i] = divOut[i - 1] + lenIn / (float)n; + } + int k = 0; + for (int i = k; i < n; i++) + { + for (int j = 0; j < lenIn - 1; j++) + { + if (divOut[i] >= j && divOut[i] < j + 1) + { + dataOut[i] = (dataIn[j + 1] - dataIn[j]) * (divOut[i] - j) + dataIn[j]; + k = i; + } + } + } + return dataOut; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct HDataFormat + { + public short ID; + public DataType Type; + public int Count; + public int Offset; + + public HDataFormat(short id, DataType type, int count, int offset) + { + ID = id; + Type = type; + Count = count; + Offset = offset; + } + } +} \ No newline at end of file diff --git a/SCADA/Program/CoreApp/DataService/DataHelper/IDataFactory.cs b/SCADA/Program/CoreApp/DataService/DataHelper/IDataFactory.cs new file mode 100644 index 0000000..66260b9 --- /dev/null +++ b/SCADA/Program/CoreApp/DataService/DataHelper/IDataFactory.cs @@ -0,0 +1,32 @@ +锘縰sing System.Data; +using System.Data.Common; + +namespace DatabaseLib +{ + public interface IDataFactory + { + bool BulkCopy(IDataReader reader, string tableName, string command = null); + void CallException(string message); + bool ConnectionTest(); + DbParameter CreateParam(string paramName, SqlDbType dbType, object objValue, int size = 0, ParameterDirection direction = ParameterDirection.Input); + DataRow ExecuteDataRowProcedure(string ProName, params DbParameter[] ParaName); + DataRowView ExecuteDataRowViewProcedure(string ProName, params DbParameter[] ParaName); + DataSet ExecuteDataset(string SQL); + DataSet ExecuteDataset(string[] SQLs, string[] TableNames); + DataSet ExecuteDataset(string SQL, string TableName); + DataSet ExecuteDataSetProcedure(string ProName, params DbParameter[] ParaName); + DataSet ExecuteDataSetProcedure(string ProName, ref int returnValue, params DbParameter[] ParaName); + DataTable ExecuteDataTable(string SQL); + DataTable ExecuteDataTableProcedure(string ProName, params DbParameter[] ParaName); + DataTable ExecuteDataTableProcedure(string ProName, ref int returnValue, DbParameter[] ParaName); + int ExecuteNonQuery(string[] SQLs); + int ExecuteNonQuery(string SQL); + int ExecuteNonQuery(string[] SQLs, object[][] Pars); + DbDataReader ExecuteProcedureReader(string sSQL, params DbParameter[] ParaName); + DbDataReader ExecuteReader(string sSQL); + object ExecuteScalar(string sSQL); + bool ExecuteStoredProcedure(string ProName); + int ExecuteStoredProcedure(string ProName, params DbParameter[] ParaName); + void FillDataSet(ref DataSet ds, string SQL, string TableName); + } +} \ No newline at end of file diff --git a/SCADA/Program/CoreApp/DataService/DataHelper/MysqlFactory.cs b/SCADA/Program/CoreApp/DataService/DataHelper/MysqlFactory.cs new file mode 100644 index 0000000..45cb93e --- /dev/null +++ b/SCADA/Program/CoreApp/DataService/DataHelper/MysqlFactory.cs @@ -0,0 +1,778 @@ +锘縰sing MySql.Data.MySqlClient; +using System; +using System.Data; +using System.Data.Common; +using System.IO; + +namespace DatabaseLib +{ + public class MysqlFactory : IDataFactory + { + public void CallException(string message) + { + DataHelper.AddErrorLog(new Exception(message)); + } + + public bool ConnectionTest() + { + //鍒涘缓杩炴帴瀵硅薄 + using (MySqlConnection m_Conn = new MySqlConnection(DataHelper.ConnectString)) + { + //myMySqlConnection.ConnectionTimeout = 1;//璁剧疆杩炴帴瓒呮椂鐨勬椂闂 + try + { + //Open DataBase + //鎵撳紑鏁版嵁搴 + m_Conn.Open(); + if (m_Conn.State == ConnectionState.Open) + { + return true; + } + } + catch (Exception e) + { + CallException(e.Message); + } + } + //myMySqlConnection is a MySqlConnection object + return false; + } + + public MySqlDbType ConvertType(SqlDbType dbType) + { + switch (dbType) + { + case SqlDbType.BigInt: + return MySqlDbType.Int64; + case SqlDbType.Binary: + return MySqlDbType.Binary; + case SqlDbType.Bit: + return MySqlDbType.Bit; + case SqlDbType.Date: + return MySqlDbType.Date; + case SqlDbType.SmallDateTime: + case SqlDbType.DateTime2: + case SqlDbType.DateTime: + return MySqlDbType.DateTime; + case SqlDbType.DateTimeOffset: + return MySqlDbType.Time; + case SqlDbType.Decimal: + return MySqlDbType.Decimal; + case SqlDbType.Float: + return MySqlDbType.Double; + case SqlDbType.Image: + return MySqlDbType.Binary; + case SqlDbType.Int: + return MySqlDbType.Int32; + case SqlDbType.Money: + return MySqlDbType.Float; + case SqlDbType.NText: + case SqlDbType.Text: + return MySqlDbType.Text; + case SqlDbType.Real: + return MySqlDbType.Float; + case SqlDbType.SmallInt: + return MySqlDbType.Int16; + case SqlDbType.Structured: + return MySqlDbType.Set; + case SqlDbType.Time: + return MySqlDbType.Time; + case SqlDbType.Timestamp: + return MySqlDbType.Timestamp; + case SqlDbType.TinyInt: + return MySqlDbType.Byte; + case SqlDbType.VarBinary: + return MySqlDbType.VarBinary; + case SqlDbType.Char: + case SqlDbType.NVarChar: + case SqlDbType.VarChar: + return MySqlDbType.VarChar; + default: + return MySqlDbType.VarChar; + } + } + + public DbParameter CreateParam(string paramName, SqlDbType dbType, object objValue, int size = 0, ParameterDirection direction = ParameterDirection.Input) + { + if (string.IsNullOrEmpty(paramName)) return null; + if (paramName[0] == '@') paramName = 'p' + paramName.TrimStart('@'); + MySqlParameter parameter = new MySqlParameter(paramName, ConvertType(dbType)); + if (size > 0) parameter.Size = size; + if (objValue == null) + { + if (direction == ParameterDirection.Output) + { + parameter.Direction = direction; + return parameter; + } + parameter.IsNullable = true; + parameter.Value = DBNull.Value; + return parameter; + } + parameter.Value = objValue; + return parameter; + } + #region ExecuteDataset //鎵ц鏌ヨ璇彞锛岃繑鍥炰竴涓褰曢泦 + + /// + /// 杩斿洖璁板綍闆 + /// + /// 鐢ㄤ簬杩斿洖璁板綍闆嗙殑SQL璇彞 + /// 璁板綍闆 + public DataSet ExecuteDataset(string SQL) + { + DataSet ds = new DataSet(); + using (MySqlConnection m_Conn = new MySqlConnection(DataHelper.ConnectString)) + { + try + { + var da = MySqlClientFactory.Instance.CreateDataAdapter(); + MySqlCommand cmd = new MySqlCommand(SQL, m_Conn); + da.SelectCommand = cmd; + da.Fill(ds); + } + catch (Exception e) + { + CallException(SQL + " " + e.Message); + } + } + return ds; + } + + + /// + /// 杩斿洖璁板綍闆 + /// + /// 鐢ㄤ簬杩斿洖璁板綍闆嗙殑SQL璇彞 + /// 鏄犲皠琛ㄥ悕 + /// 璁板綍闆 + public DataSet ExecuteDataset(string SQL, string TableName) + { + DataSet ds = new DataSet(); + using (MySqlConnection m_Conn = new MySqlConnection(DataHelper.ConnectString)) + { + try + { + var da = MySqlClientFactory.Instance.CreateDataAdapter(); + MySqlCommand cmd = new MySqlCommand(SQL, m_Conn); + da.SelectCommand = cmd; + da.Fill(ds, TableName); + } + catch (Exception e) + { + CallException(SQL + " " + e.Message); + } + } + return ds; + } + + /// + /// 杩斿洖鍖呭惈澶氫釜琛ㄧ殑璁板綍闆 + /// + /// 鐢ㄤ簬杩斿洖璁板綍闆嗙殑SQL璇彞 + /// 鏄犲皠琛ㄥ悕 + /// 璁板綍闆 + + public DataSet ExecuteDataset(string[] SQLs, string[] TableNames) + { + DataSet ds = new DataSet(); + using (MySqlConnection m_Conn = new MySqlConnection(DataHelper.ConnectString)) + { + try + { + for (int i = 0; i < SQLs.Length; i++) + { + var da = MySqlClientFactory.Instance.CreateDataAdapter(); + MySqlCommand cmd = new MySqlCommand(SQLs[i], m_Conn); + da.SelectCommand = cmd; + da.Fill(ds, TableNames[i]); + } + } + catch (Exception e) + { + CallException(SQLs + " " + e.Message); + } + } + return ds; + } + + #endregion ExecuteDataset + + /// + /// 杩斿洖琛 + /// + /// 鐢ㄤ簬杩斿洖璁板綍闆嗙殑SQL璇彞 + /// 璁板綍闆 + public DataTable ExecuteDataTable(string SQL) + { + DataTable dt = new DataTable(); + using (MySqlConnection m_Conn = new MySqlConnection(DataHelper.ConnectString)) + { + try + { + var da = MySqlClientFactory.Instance.CreateDataAdapter(); + MySqlCommand cmd = new MySqlCommand(SQL, m_Conn); + da.SelectCommand = cmd; + da.Fill(dt); + } + catch (Exception e) + { + CallException(SQL + " " + e.Message); + } + } + return dt; + } + + #region ExecuteNonQuery //鎵ц闈炴煡璇㈣鍙 + + /// + /// 鎵ц涓鏉NSERT銆乁PDATE銆丏ELETE璇彞 + /// + /// T-SQL璇彞 + /// 杩斿洖褰卞搷鐨勮鏁 + public int ExecuteNonQuery(string SQL) + { + int res = -1; + using (MySqlConnection m_Conn = new MySqlConnection(DataHelper.ConnectString)) + { + MySqlTransaction sqlT = null; MySqlBulkLoader loader = new MySqlBulkLoader(m_Conn); + //loader.Columns + try + { + using (MySqlCommand cmd = new MySqlCommand(SQL, m_Conn)) + { + if (m_Conn.State == ConnectionState.Closed) + m_Conn.Open(); + cmd.Connection = m_Conn; + sqlT = m_Conn.BeginTransaction(); + cmd.Transaction = sqlT; + res = cmd.ExecuteNonQuery(); + sqlT.Commit(); + } + } + catch (Exception e) + { + if (sqlT != null) + sqlT.Rollback(); + CallException(SQL + " " + e.Message); + return -1; + } + return res; + } + } + + /// + /// 鎵ц涓缁処NSERT銆乁PDATE銆丏ELETE璇彞 + /// + /// T-SQL璇彞 + /// 杩斿洖褰卞搷鐨勮鏁 + public int ExecuteNonQuery(string[] SQLs) + { + int res = -1; + using (MySqlConnection m_Conn = new MySqlConnection(DataHelper.ConnectString)) + { + MySqlTransaction sqlT = null; + MySqlCommand cmd = new MySqlCommand(); + try + { + if (m_Conn.State == ConnectionState.Closed) + m_Conn.Open(); + cmd.Connection = m_Conn; + sqlT = m_Conn.BeginTransaction(); + cmd.Transaction = sqlT; + for (int i = 0; i < SQLs.Length; i++) + { + cmd.CommandText = SQLs[i]; + res = cmd.ExecuteNonQuery(); + } + sqlT.Commit(); + } + catch (Exception e) + { + if (sqlT != null) + sqlT.Rollback(); + CallException(SQLs + " " + e.Message); + res = -1; + } + return res; + } + } + + /// + /// 鎵ц涓缁処NSERT銆乁PDATE銆丏ELETE璇彞 + /// + /// T-SQL璇彞 + /// 鎵ц鍙傛暟 + /// 杩斿洖褰卞搷鐨勮鏁 + public int ExecuteNonQuery(string[] SQLs, object[][] Pars) + { + int res = -1; + using (MySqlConnection m_Conn = new MySqlConnection(DataHelper.ConnectString)) + { + MySqlTransaction sqlT = null; + MySqlCommand cmd = new MySqlCommand(); + try + { + if (m_Conn.State == ConnectionState.Closed) + m_Conn.Open(); + cmd.Connection = m_Conn; + sqlT = m_Conn.BeginTransaction(); + cmd.Transaction = sqlT; + for (int i = 0; i < SQLs.Length; i++) + { + cmd.CommandText = SQLs[i]; + cmd.Parameters.Clear(); + for (int j = 0; j < Pars[i].Length; j++) + { + cmd.Parameters.AddWithValue("@p" + j.ToString(), Pars[i][j]); + } + res = cmd.ExecuteNonQuery(); + } + sqlT.Commit(); + } + catch (Exception e) + { + if (sqlT != null) + sqlT.Rollback(); + CallException(SQLs + " " + e.Message); + res = -1; + } + return res; + } + } + + #endregion ExecuteNonQuery + + #region FillDataSet //濉厖涓涓褰曢泦 + + /// + /// 鐢ㄦ寚瀹氱殑SQL璇彞鏉ュ~鍏呬竴涓褰曢泦 + /// + /// 璁板綍闆 + /// SELECT璇彞 + /// 鏄犲皠琛ㄥ悕 + public void FillDataSet(ref DataSet ds, string SQL, string TableName) + { + try + { + MySqlConnection m_Conn; + m_Conn = new MySqlConnection(DataHelper.ConnectString); + var da = MySqlClientFactory.Instance.CreateDataAdapter(); + MySqlCommand cmd = new MySqlCommand(SQL, m_Conn); + da.SelectCommand = cmd; + da.Fill(ds, TableName); + } + catch (Exception e) + { + CallException(SQL + " " + e.Message); + } + } + + #endregion FillDataSet + + #region + // + /// 杩斿洖涓涓狹ySqlDataReader + /// + public DbDataReader ExecuteReader(string sSQL) + { + MySqlConnection connection = new MySqlConnection(DataHelper.ConnectString); + MySqlCommand command = new MySqlCommand(sSQL, connection); + if (connection.State == ConnectionState.Closed) + connection.Open(); + return command.ExecuteReader(CommandBehavior.CloseConnection); + } + + + public DbDataReader ExecuteProcedureReader(string sSQL, params DbParameter[] ParaName) + { + MySqlConnection connection = new MySqlConnection(DataHelper.ConnectString); + MySqlCommand command = new MySqlCommand(sSQL, connection); + command.CommandType = CommandType.StoredProcedure; + if (ParaName != null) + { + command.Parameters.AddRange(ParaName); + } + try + { + if (connection.State == ConnectionState.Closed) + connection.Open(); + return command.ExecuteReader(CommandBehavior.CloseConnection); + } + catch (Exception e) + { + CallException(sSQL + " " + e.Message); + return null; + } + } + #endregion + + #region ExecuteScalar //鎵ц鏌ヨ锛屽苟杩斿洖鏌ヨ鎵杩斿洖鐨勭粨鏋滈泦涓涓琛岀殑绗竴鍒 + + /// + /// 鎵ц鏌ヨ锛屽苟杩斿洖鏌ヨ鎵杩斿洖鐨勭粨鏋滈泦涓涓琛岀殑绗竴鍒 + /// + /// SQL璇彞 + /// + public object ExecuteScalar(string sSQL) + { + MySqlTransaction sqlT = null; + using (MySqlConnection m_Conn = new MySqlConnection(DataHelper.ConnectString)) + { + MySqlCommand cmd = new MySqlCommand(sSQL, m_Conn); + try + { + if (m_Conn.State == ConnectionState.Closed) + m_Conn.Open(); + sqlT = m_Conn.BeginTransaction(); + cmd.Transaction = sqlT; + var res = cmd.ExecuteScalar(); + sqlT.Commit(); + if (res == DBNull.Value) res = null; + return res; + } + catch (Exception e) + { + if (sqlT != null) + sqlT.Rollback(); + CallException(sSQL + " " + e.Message); + return null; + } + } + } + + #endregion ExecuteScalar + + #region ExecuteStoredProcedure //鎵ц涓涓瓨鍌ㄨ繃绋 + + /// + /// 鎵ц涓涓甫鍙傛暟鐨勫瓨鍌ㄨ繃绋 + /// + /// 瀛樺偍杩囩▼鍚 + /// 鍙傛暟鍚嶇О + /// 鍙傛暟鏂瑰悜锛孖nput鍙傛暟鏄緭鍏ュ弬鏁 InputOutput鍙傛暟鏃㈣兘杈撳叆锛屼篃鑳借緭鍑 Output鍙傛暟鏄緭鍑哄弬鏁 ReturnValue鍙傛暟瀛樺偍杩囩▼杩斿洖鍊笺 + /// 鍙傛暟瀵硅薄鏁扮粍 + /// 鎴愬姛杩斿洖true锛屽け璐ヨ繑鍥瀎alse + public int ExecuteStoredProcedure(string ProName, params DbParameter[] ParaName) + { + using (MySqlConnection m_Conn = new MySqlConnection(DataHelper.ConnectString)) + { + try + { + MySqlCommand cmd = new MySqlCommand(ProName, m_Conn) + { + CommandType = CommandType.StoredProcedure + }; + if (ParaName != null) + { + cmd.Parameters.AddRange(ParaName); + } + MySqlParameter param = new MySqlParameter(); + cmd.Parameters.Add(param); + param.Direction = ParameterDirection.ReturnValue; + if (m_Conn.State == ConnectionState.Closed) + { + m_Conn.Open(); + } + cmd.ExecuteNonQuery(); + return (int)param.Value; + } + catch (Exception e) + { + CallException(ProName + " " + e.Message); + return -1; + } + } + } + + /// + /// 鎵ц涓涓病鏈夊弬鏁板拰杩斿洖鍊肩殑瀛樺偍杩囩▼锛堥粯璁ゅ弬鏁扮被鍨嬶級 + /// + /// 瀛樺偍杩囩▼鍚 + /// 鍙傛暟瀵硅薄鏁扮粍 + /// 鎴愬姛杩斿洖true锛屽け璐ヨ繑鍥瀎alse + public bool ExecuteStoredProcedure(string ProName) + { + using (MySqlConnection m_Conn = new MySqlConnection(DataHelper.ConnectString)) + { + try + { + if (m_Conn.State == ConnectionState.Closed) + m_Conn.Open(); + MySqlCommand cmd = new MySqlCommand(ProName, m_Conn); + cmd.CommandType = CommandType.StoredProcedure; + cmd.ExecuteNonQuery(); + return true; + } + catch (Exception e) + { + CallException(ProName + " " + e.Message); + return false; + } + } + } + + /// + /// 鎵ц涓涓甫鍙傛暟鐨勫瓨鍌ㄨ繃绋嬶紝骞惰繑鍥炴暟鎹泦 + /// + /// 瀛樺偍杩囩▼鍚 + /// 鍙傛暟鍚嶇О + /// 鍙傛暟瀵硅薄鏁扮粍 + /// 鎵ц杩囩▼涓繑鍥炵殑鏁版嵁闆 + /// 鎴愬姛杩斿洖true锛屽け璐ヨ繑鍥瀎alse + public DataSet ExecuteDataSetProcedure(string ProName, ref int returnValue, params DbParameter[] ParaName) + { + using (MySqlConnection m_Conn = new MySqlConnection(DataHelper.ConnectString)) + { + DataSet ds = new DataSet(); + try + { + MySqlCommand cmd = new MySqlCommand(ProName, m_Conn); + cmd.CommandType = CommandType.StoredProcedure; + if (ParaName != null) + { + cmd.Parameters.AddRange(ParaName); + } + MySqlParameter param = new MySqlParameter { Direction = ParameterDirection.ReturnValue }; + cmd.Parameters.Add(param); + if (m_Conn.State == ConnectionState.Closed) + m_Conn.Open(); + var da = MySqlClientFactory.Instance.CreateDataAdapter(); + da.SelectCommand = cmd; + da.Fill(ds); + returnValue = (int)param.Value; + return ds; + } + catch (Exception e) + { + CallException(ProName + " " + e.Message); + return null; + } + } + } + + public DataSet ExecuteDataSetProcedure(string ProName, params DbParameter[] ParaName) + { + using (MySqlConnection m_Conn = new MySqlConnection(DataHelper.ConnectString)) + { + DataSet ds = new DataSet(); + try + { + MySqlCommand cmd = new MySqlCommand(ProName, m_Conn); + cmd.CommandType = CommandType.StoredProcedure; + if (ParaName != null) + { + cmd.Parameters.AddRange(ParaName); + } + if (m_Conn.State == ConnectionState.Closed) + m_Conn.Open(); + var da = MySqlClientFactory.Instance.CreateDataAdapter(); + da.SelectCommand = cmd; + da.Fill(ds); + return ds; + } + + catch (Exception e) + { + CallException(ProName + " " + e.Message); + return null; + } + } + } + + /// + /// 鎵ц涓涓甫鍙傛暟鐨勫瓨鍌ㄨ繃绋嬶紝骞惰繑鍥炴暟鎹泦 + /// + /// 瀛樺偍杩囩▼鍚 + /// 鍙傛暟鍚嶇О + /// 鍙傛暟瀵硅薄鏁扮粍 + /// 鎵ц杩囩▼涓繑鍥炵殑鏁版嵁闆 + /// 鎴愬姛杩斿洖true锛屽け璐ヨ繑鍥瀎alse + /// + public DataTable ExecuteDataTableProcedure(string ProName, params DbParameter[] ParaName) + { + using (MySqlConnection m_Conn = new MySqlConnection(DataHelper.ConnectString)) + { + DataTable ds = new DataTable(); + try + { + MySqlCommand cmd = new MySqlCommand(ProName, m_Conn); + cmd.CommandType = CommandType.StoredProcedure; + if (ParaName != null) + { + cmd.Parameters.AddRange(ParaName); + } + if (m_Conn.State == ConnectionState.Closed) + m_Conn.Open(); + var da = MySqlClientFactory.Instance.CreateDataAdapter(); + da.SelectCommand = cmd; + da.Fill(ds); + return ds; + } + catch (Exception e) + { + CallException(ProName + " " + e.Message); + return null; + } + } + } + + public DataTable ExecuteDataTableProcedure(string ProName, ref int returnValue, DbParameter[] ParaName) + { + using (MySqlConnection m_Conn = new MySqlConnection(DataHelper.ConnectString)) + { + DataTable ds = new DataTable(); + try + { + MySqlCommand cmd = new MySqlCommand(ProName, m_Conn); + cmd.CommandType = CommandType.StoredProcedure; + if (ParaName != null) + { + cmd.Parameters.AddRange(ParaName); + } + MySqlParameter param = new MySqlParameter { Direction = ParameterDirection.ReturnValue }; + cmd.Parameters.Add(param); + if (m_Conn.State == ConnectionState.Closed) + m_Conn.Open(); + var da = MySqlClientFactory.Instance.CreateDataAdapter(); + da.SelectCommand = cmd; + da.Fill(ds); + returnValue = (int)param.Value; + return ds; + } + catch (Exception e) + { + CallException(ProName + " " + e.Message); + return null; + } + } + } + + /// + /// 鎵ц涓涓甫鍙傛暟鐨勫瓨鍌ㄨ繃绋,鍚屾椂杈撳嚭涓琛 + /// + /// 瀛樺偍杩囩▼鍚 + /// 鍙傛暟鍚嶇О + /// 鍙傛暟瀵硅薄鏁扮粍 + /// 杩斿洖鏁存暟 + public DataRow ExecuteDataRowProcedure(string ProName, params DbParameter[] ParaName) + { + using (MySqlConnection m_Conn = new MySqlConnection(DataHelper.ConnectString)) + { + try + { + MySqlCommand cmd = new MySqlCommand(ProName, m_Conn); + cmd.CommandType = CommandType.StoredProcedure; + if (ParaName != null) + { + cmd.Parameters.AddRange(ParaName); + } + if (m_Conn.State == ConnectionState.Closed) + m_Conn.Open(); + DataTable table = new DataTable(); + var da = MySqlClientFactory.Instance.CreateDataAdapter(); + da.SelectCommand = cmd; + da.Fill(table); + if (table.Rows.Count > 0) + return table.Rows[0]; + else + return table.NewRow(); + } + catch (Exception e) + { + CallException(ProName + " " + e.Message); + return null; + } + } + } + + /// + /// 鎵ц涓涓甫鍙傛暟鐨勫瓨鍌ㄨ繃绋,鍚屾椂杈撳嚭涓琛 + /// + /// 瀛樺偍杩囩▼鍚 + /// 鍙傛暟鍚嶇О + /// 鍙傛暟瀵硅薄鏁扮粍 + /// 杩斿洖鏁存暟 + public DataRowView ExecuteDataRowViewProcedure(string ProName, params DbParameter[] ParaName) + { + using (MySqlConnection m_Conn = new MySqlConnection(DataHelper.ConnectString)) + { + try + { + MySqlCommand cmd = new MySqlCommand(ProName, m_Conn); + cmd.CommandType = CommandType.StoredProcedure; + if (ParaName != null) + { + cmd.Parameters.AddRange(ParaName); + } + if (m_Conn.State == ConnectionState.Closed) + m_Conn.Open(); + DataTable table = new DataTable(); + var da = MySqlClientFactory.Instance.CreateDataAdapter(); + da.SelectCommand = cmd; + da.Fill(table); + if (table.Rows.Count > 0) + return table.DefaultView[0]; + else + return table.DefaultView.AddNew(); + } + catch (Exception e) + { + CallException(ProName + " " + e.Message); + return null; + } + } + } + + public bool BulkCopy(IDataReader reader, string tableName, string command = null) + { + using (MySqlConnection m_Conn = new MySqlConnection(DataHelper.ConnectString)) + { + MySqlTransaction sqlT = null; + try + { + if (m_Conn.State == ConnectionState.Closed) + m_Conn.Open(); + sqlT = m_Conn.BeginTransaction(); + if (!string.IsNullOrEmpty(command)) + { + MySqlCommand cmd = new MySqlCommand(command, m_Conn); + cmd.Transaction = sqlT; + cmd.ExecuteNonQuery(); + } + string tmpPath = Path.GetTempFileName(); + string csv = DataHelper.ReaderToCsv(reader); + File.WriteAllText(tmpPath, csv); + MySqlBulkLoader copy = new MySqlBulkLoader(m_Conn) + { + FieldTerminator = ",", + FieldQuotationCharacter = '"', + EscapeCharacter = '"', + LineTerminator = "\r\n", + FileName = tmpPath, + NumberOfLinesToSkip = 0, + TableName = tableName, + }; + //copy.BatchSize = _capacity; + copy.Load();//濡傛灉鍐欏叆澶辫触锛岃冭檻涓嶈兘鏃犻檺澧炲姞绾跨▼鏁 + //Clear(); + sqlT.Commit(); + m_Conn.Close(); + File.Delete(tmpPath); + return true; + } + catch (Exception e) + { + if (sqlT != null) + sqlT.Rollback(); + m_Conn.Close(); + DataHelper.AddErrorLog(e); + return false; + } + } + } + + + #endregion ExecuteStoredProcedure + } +} diff --git a/SCADA/Program/CoreApp/DataService/DataService.sln b/SCADA/Program/CoreApp/DataService/DataService.sln new file mode 100644 index 0000000..f950486 --- /dev/null +++ b/SCADA/Program/CoreApp/DataService/DataService.sln @@ -0,0 +1,71 @@ +锘 +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.27004.2005 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DataService", "DataService\DataService.csproj", "{46BF803C-F153-4222-8FFC-9AC957F34EA5}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GateWay", "GateWay\GateWay.csproj", "{99BEC8C4-2684-4BFD-897A-2340B6963120}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DataHelper", "DataHelper\DataHelper.csproj", "{EE99C592-F4F2-4152-94CC-564ABA066C20}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ModbusDriver", "ModbusDriver\ModbusDriver.csproj", "{79CDC563-AA30-48CA-8913-32454EDE76FA}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClientDriver", "ClientDriver\ClientDriver.csproj", "{3D10E811-46FE-4EE7-A268-8B50C3B2D08F}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|x86 = Debug|x86 + Release|Any CPU = Release|Any CPU + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {46BF803C-F153-4222-8FFC-9AC957F34EA5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {46BF803C-F153-4222-8FFC-9AC957F34EA5}.Debug|Any CPU.Build.0 = Debug|Any CPU + {46BF803C-F153-4222-8FFC-9AC957F34EA5}.Debug|x86.ActiveCfg = Debug|Any CPU + {46BF803C-F153-4222-8FFC-9AC957F34EA5}.Debug|x86.Build.0 = Debug|Any CPU + {46BF803C-F153-4222-8FFC-9AC957F34EA5}.Release|Any CPU.ActiveCfg = Release|Any CPU + {46BF803C-F153-4222-8FFC-9AC957F34EA5}.Release|Any CPU.Build.0 = Release|Any CPU + {46BF803C-F153-4222-8FFC-9AC957F34EA5}.Release|x86.ActiveCfg = Release|Any CPU + {46BF803C-F153-4222-8FFC-9AC957F34EA5}.Release|x86.Build.0 = Release|Any CPU + {99BEC8C4-2684-4BFD-897A-2340B6963120}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {99BEC8C4-2684-4BFD-897A-2340B6963120}.Debug|Any CPU.Build.0 = Debug|Any CPU + {99BEC8C4-2684-4BFD-897A-2340B6963120}.Debug|x86.ActiveCfg = Debug|Any CPU + {99BEC8C4-2684-4BFD-897A-2340B6963120}.Debug|x86.Build.0 = Debug|Any CPU + {99BEC8C4-2684-4BFD-897A-2340B6963120}.Release|Any CPU.ActiveCfg = Release|Any CPU + {99BEC8C4-2684-4BFD-897A-2340B6963120}.Release|Any CPU.Build.0 = Release|Any CPU + {99BEC8C4-2684-4BFD-897A-2340B6963120}.Release|x86.ActiveCfg = Release|Any CPU + {99BEC8C4-2684-4BFD-897A-2340B6963120}.Release|x86.Build.0 = Release|Any CPU + {EE99C592-F4F2-4152-94CC-564ABA066C20}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {EE99C592-F4F2-4152-94CC-564ABA066C20}.Debug|Any CPU.Build.0 = Debug|Any CPU + {EE99C592-F4F2-4152-94CC-564ABA066C20}.Debug|x86.ActiveCfg = Debug|Any CPU + {EE99C592-F4F2-4152-94CC-564ABA066C20}.Debug|x86.Build.0 = Debug|Any CPU + {EE99C592-F4F2-4152-94CC-564ABA066C20}.Release|Any CPU.ActiveCfg = Release|Any CPU + {EE99C592-F4F2-4152-94CC-564ABA066C20}.Release|Any CPU.Build.0 = Release|Any CPU + {EE99C592-F4F2-4152-94CC-564ABA066C20}.Release|x86.ActiveCfg = Release|Any CPU + {EE99C592-F4F2-4152-94CC-564ABA066C20}.Release|x86.Build.0 = Release|Any CPU + {79CDC563-AA30-48CA-8913-32454EDE76FA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {79CDC563-AA30-48CA-8913-32454EDE76FA}.Debug|Any CPU.Build.0 = Debug|Any CPU + {79CDC563-AA30-48CA-8913-32454EDE76FA}.Debug|x86.ActiveCfg = Debug|Any CPU + {79CDC563-AA30-48CA-8913-32454EDE76FA}.Debug|x86.Build.0 = Debug|Any CPU + {79CDC563-AA30-48CA-8913-32454EDE76FA}.Release|Any CPU.ActiveCfg = Release|Any CPU + {79CDC563-AA30-48CA-8913-32454EDE76FA}.Release|Any CPU.Build.0 = Release|Any CPU + {79CDC563-AA30-48CA-8913-32454EDE76FA}.Release|x86.ActiveCfg = Release|Any CPU + {79CDC563-AA30-48CA-8913-32454EDE76FA}.Release|x86.Build.0 = Release|Any CPU + {3D10E811-46FE-4EE7-A268-8B50C3B2D08F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3D10E811-46FE-4EE7-A268-8B50C3B2D08F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3D10E811-46FE-4EE7-A268-8B50C3B2D08F}.Debug|x86.ActiveCfg = Debug|Any CPU + {3D10E811-46FE-4EE7-A268-8B50C3B2D08F}.Debug|x86.Build.0 = Debug|Any CPU + {3D10E811-46FE-4EE7-A268-8B50C3B2D08F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3D10E811-46FE-4EE7-A268-8B50C3B2D08F}.Release|Any CPU.Build.0 = Release|Any CPU + {3D10E811-46FE-4EE7-A268-8B50C3B2D08F}.Release|x86.ActiveCfg = Release|Any CPU + {3D10E811-46FE-4EE7-A268-8B50C3B2D08F}.Release|x86.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {06245D70-C147-4613-91E1-E3990B520C63} + EndGlobalSection +EndGlobal diff --git a/SCADA/Program/CoreApp/DataService/DataService/Alarm.cs b/SCADA/Program/CoreApp/DataService/DataService/Alarm.cs new file mode 100644 index 0000000..523fadc --- /dev/null +++ b/SCADA/Program/CoreApp/DataService/DataService/Alarm.cs @@ -0,0 +1,223 @@ +锘縰sing System; +using System.ComponentModel; + +namespace DataService +{ + + public class AlarmItem : IComparable, INotifyPropertyChanged + { + int _condiId; + + Severity _severity; + SubAlarmType _alarmType; + DateTime _startTime; + TimeSpan _duration; + object _alarmValue; + string _alarmText; + string _source; + + public SubAlarmType SubAlarmType + { + get + { + return _alarmType; + } + set + { + _alarmType = value; + } + } + + public Severity Severity + { + get + { + return _severity; + } + set + { + _severity = value; + } + } + + public DateTime StartTime + { + get + { + return _startTime; + } + set + { + _startTime = value; + } + } + + public int ConditionId + { + get + { + return _condiId; + } + set + { + _condiId = value; + } + } + + public TimeSpan Duration + { + get + { + //return _endTime-_startTime; + return _duration; + } + set + { + _duration = value; + OnPropertyChanged("Duration"); + } + } + + public object AlarmValue + { + get + { + return _alarmValue; + } + set + { + _alarmValue = value; + } + } + + public string AlarmText + { + get + { + return _alarmText; + } + set + { + _alarmText = value; + } + } + + public string Source + { + get + { + return _source; + } + set + { + _source = value; + } + } + + public AlarmItem(DateTime time, string alarmText, object alarmValue, SubAlarmType type, Severity severity, int condId, string source) + { + this._startTime = time; + this._alarmType = type; + this._alarmText = alarmText; + this._alarmValue = alarmValue; + this._severity = severity; + this._condiId = condId; + this._source = source; + } + + public AlarmItem() + { + this._startTime = DateTime.Now; + this._alarmType = SubAlarmType.None; + this._alarmText = string.Empty; + this._severity = Severity.Normal; + this._condiId = -1; + this._source = string.Empty; + } + + #region IComparable Members + + public int CompareTo(AlarmItem other) + { + return this._startTime.CompareTo(other._startTime); + } + + #endregion + + public event PropertyChangedEventHandler PropertyChanged; + + private void OnPropertyChanged(string propertyName) + { + if (this.PropertyChanged != null) + { + + this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); + } + } + + } + + [Flags] + public enum AlarmType + { + None = 0, + Level = 1, + Dev = 2, + Dsc = 4, + ROC = 8, + Quality = 16, + Complex = 32, + WordDsc = 64 + } + + [Flags] + public enum SubAlarmType + { + None = 0, + LoLo = 1, + Low = 2, + High = 4, + HiHi = 8, + MajDev = 16, + MinDev = 32, + Dsc = 64, + + BadPV = 128, + MajROC = 256, + MinROC = 512 + } + + public enum Severity + { + Error = 7, + High = 6, + MediumHigh = 5, + Medium = 4, + MediumLow = 3, + Low = 2, + Information = 1, + Normal = 0 + } + + [Flags] + public enum ConditionState : byte + { + Acked = 4, + Actived = 2, + Enabled = 1 + } + + public enum EventType : byte + { + Simple = 1, + TraceEvent = 2, + ConditionEvent = 4, + } + + public enum ConditionType : byte + { + Absolute = 0, + Percent = 1 + } + +} diff --git a/SCADA/Program/CoreApp/DataService/DataService/CacheReader.cs b/SCADA/Program/CoreApp/DataService/DataService/CacheReader.cs new file mode 100644 index 0000000..ac64220 --- /dev/null +++ b/SCADA/Program/CoreApp/DataService/DataService/CacheReader.cs @@ -0,0 +1,910 @@ +锘縰sing System; +using System.Net; +using System.Runtime.InteropServices; +using System.Text; + +namespace DataService +{ + public sealed class ByteCacheReader : ICache + { + byte[] _cache; + public Array Cache { get { return _cache; } } + + public int ByteCount + { + get { return 1; } + } + + int _size; + public int Size + { + get { return _size; } + set { _size = value; this._cache = new byte[_size]; } + } + + public ByteCacheReader() { } + + public ByteCacheReader(int size) + { + this.Size = size; + } + + public int GetOffset(DeviceAddress start, DeviceAddress end) + { + return start.Area == end.Area && start.DBNumber == end.DBNumber ? start.Start - end.Start : ushort.MaxValue; + } + + public ItemData ReadInt32(DeviceAddress address) + { + return new ItemData(BitConverter.ToInt32(_cache, address.CacheIndex), 0, QUALITIES.QUALITY_GOOD); + } + + public ItemData ReadBit(DeviceAddress address) + { + return new ItemData((_cache[address.CacheIndex] & (1 << address.Bit)) != 0, 0, QUALITIES.QUALITY_GOOD); + } + + public ItemData ReadInt16(DeviceAddress address) + { + return new ItemData(BitConverter.ToInt16(_cache, address.CacheIndex), 0, QUALITIES.QUALITY_GOOD); + } + + public ItemData ReadByte(DeviceAddress address) + { + return new ItemData(_cache[address.CacheIndex], 0, QUALITIES.QUALITY_GOOD); + } + + public ItemData ReadString(DeviceAddress address, ushort size = 0xFF) + { + return new ItemData(Encoding.ASCII.GetString(_cache, address.CacheIndex, size), 0, QUALITIES.QUALITY_GOOD); + } + + public ItemData ReadFloat(DeviceAddress address) + { + return new ItemData(BitConverter.ToSingle(_cache, address.CacheIndex), 0, QUALITIES.QUALITY_GOOD); + } + + public ItemData ReadValue(DeviceAddress address) + { + return this.ReadValueEx(address); + } + + public int WriteBit(DeviceAddress address, bool bit) + { + _cache[address.CacheIndex] |= (byte)(1 << address.Bit); + return 0; + } + + public int WriteBits(DeviceAddress address, byte bits) + { + _cache[address.CacheIndex] = bits; + return 0; + } + + public unsafe int WriteInt16(DeviceAddress address, short value) + { + fixed (byte* p1 = _cache) + { + Marshal.WriteInt16((IntPtr)(p1 + address.CacheIndex), value); + } + return 0; + } + + public unsafe int WriteInt32(DeviceAddress address, int value) + { + fixed (byte* p1 = _cache) + { + Marshal.WriteInt32((IntPtr)(p1 + address.CacheIndex), value); + } + return 0; + } + + public unsafe int WriteFloat(DeviceAddress address, float value) + { + fixed (byte* p1 = _cache) + { + Marshal.WriteInt32((IntPtr)(p1 + address.CacheIndex), *(int*)&value); + } + return 0; + } + + public int WriteString(DeviceAddress address, string str) + { + byte[] b = Encoding.ASCII.GetBytes(str); + int index = address.CacheIndex; + Array.Copy(_cache, index, b, 0, b.Length); + return 0; + } + + public int WriteValue(DeviceAddress address, object value) + { + return this.WriteValueEx(address, value); + } + + public byte[] ReadBytes(DeviceAddress address, ushort size) + { + byte[] bytes = new byte[size]; + Array.Copy(_cache, address.CacheIndex, bytes, 0, size); + return bytes; + } + + public int WriteBytes(DeviceAddress address, byte[] bit) + { + if (bit != null && bit.Length > 0) + { + Array.Copy(bit, 0, _cache, address.CacheIndex, bit.Length); + return 0; + } + return -1; + } + } + + public sealed class NetByteCacheReader : ICache + { + byte[] _cache; + public Array Cache { get { return _cache; } } + + public int ByteCount + { + get { return 1; } + } + + int _size; + public int Size + { + get { return _size; } + set { _size = value; this._cache = new byte[_size]; } + } + + public NetByteCacheReader() { } + + public NetByteCacheReader(int size) + { + this.Size = size; + } + + public int GetOffset(DeviceAddress start, DeviceAddress end) + { + return start.Area == end.Area && start.DBNumber == end.DBNumber ? start.Start - end.Start : ushort.MaxValue; + } + + public ItemData ReadInt32(DeviceAddress address) + { + return new ItemData(Utility.NetToInt32(_cache, address.CacheIndex), 0, QUALITIES.QUALITY_GOOD); + } + + public ItemData ReadBit(DeviceAddress address) + { + return new ItemData((_cache[address.CacheIndex] & (1 << address.Bit)) != 0, 0, QUALITIES.QUALITY_GOOD); + } + + public ItemData ReadInt16(DeviceAddress address) + { + return new ItemData(Utility.NetToInt16(_cache, address.CacheIndex), 0, QUALITIES.QUALITY_GOOD); + } + + public ItemData ReadByte(DeviceAddress address) + { + return new ItemData(_cache[address.CacheIndex], 0, QUALITIES.QUALITY_GOOD); + } + + public ItemData ReadString(DeviceAddress address, ushort size = 0xFF) + { + return new ItemData(Utility.ConvertToString(_cache, address.CacheIndex, size), 0, QUALITIES.QUALITY_GOOD); + } + + public ItemData ReadFloat(DeviceAddress address) + { + return new ItemData(Utility.NetToSingle(_cache, address.CacheIndex), 0, QUALITIES.QUALITY_GOOD); + } + + public ItemData ReadValue(DeviceAddress address) + { + return this.ReadValueEx(address); + } + + public int WriteBit(DeviceAddress address, bool bit) + { + _cache[address.CacheIndex] |= (byte)(1 << address.Bit); + return 0; + } + + public int WriteBits(DeviceAddress address, byte bits) + { + _cache[address.CacheIndex] = bits; + return 0; + } + + public unsafe int WriteInt16(DeviceAddress address, short value) + { + fixed (byte* p1 = _cache) + { + Marshal.WriteInt16((IntPtr)(p1 + address.CacheIndex), IPAddress.HostToNetworkOrder(value)); + } + return 0; + } + + public unsafe int WriteInt32(DeviceAddress address, int value) + { + fixed (byte* p1 = _cache) + { + Marshal.WriteInt32((IntPtr)(p1 + address.CacheIndex), IPAddress.HostToNetworkOrder(value)); + } + return 0; + } + + public unsafe int WriteFloat(DeviceAddress address, float value) + { + fixed (byte* p1 = _cache) + { + Marshal.WriteInt32((IntPtr)(p1 + address.CacheIndex), IPAddress.HostToNetworkOrder(*(int*)(&value))); + } + return 0; + } + + public int WriteString(DeviceAddress address, string str) + { + byte[] b = Encoding.ASCII.GetBytes(str); + int index = address.CacheIndex; + Array.Copy(_cache, index, b, 0, b.Length); + return 0; + } + + public int WriteValue(DeviceAddress address, object value) + { + return this.WriteValueEx(address, value); + } + + public byte[] ReadBytes(DeviceAddress address, ushort size) + { + byte[] bytes = new byte[size]; + Array.Copy(_cache, address.CacheIndex, bytes, 0, size); + return bytes; + } + + public int WriteBytes(DeviceAddress address, byte[] bit) + { + if (bit != null && bit.Length > 0) + { + Array.Copy(bit, 0, _cache, address.CacheIndex, bit.Length); + return 0; + } + return -1; + } + + } + + public sealed class ShortCacheReader : ICache + { + short[] _cache; + public Array Cache + { + get + { + return _cache; + } + } + + public int ByteCount + { + get { return 2; } + } + + int _size; + public int Size + { + get + { + return _size; + } + set + { + _size = value; + this._cache = new short[_size]; + } + } + + public ShortCacheReader() + { + } + + public ShortCacheReader(int size) + { + this.Size = size; + } + + public int GetOffset(DeviceAddress start, DeviceAddress end) + { + return start.Area == end.Area && start.DBNumber == end.DBNumber ? start.Start - end.Start : ushort.MaxValue; + } + + public ItemData ReadInt32(DeviceAddress address) + { + int startIndex = address.CacheIndex; + int result; + if (startIndex == _cache.Length - 1) + { + result = _cache[startIndex]; + } + else + { + result = (_cache[startIndex + 1] << 16) | ((ushort)_cache[startIndex]); + } + return new ItemData(result, 0, QUALITIES.QUALITY_GOOD); + } + + public unsafe ItemData ReadBit(DeviceAddress address) + { + return new ItemData((_cache[address.CacheIndex] & (1 << address.Bit)) != 0, 0, QUALITIES.QUALITY_GOOD); + } + + public ItemData ReadInt16(DeviceAddress address) + { + return new ItemData(_cache[address.CacheIndex], 0, QUALITIES.QUALITY_GOOD); + } + + public ItemData ReadByte(DeviceAddress address) + { + return new ItemData((byte)_cache[address.CacheIndex], 0, QUALITIES.QUALITY_GOOD); + } + + public ItemData ReadString(DeviceAddress address, ushort size) + { + byte[] buffer = new byte[size]; + Buffer.BlockCopy(_cache, 2 * address.CacheIndex, buffer, 0, size); + return new ItemData(Encoding.ASCII.GetString(buffer).Trim(), 0, QUALITIES.QUALITY_GOOD); + } + + public unsafe ItemData ReadFloat(DeviceAddress address) + { + int startIndex = address.CacheIndex; + int result; + if (startIndex == _cache.Length - 1) + { + result = _cache[startIndex]; + } + else + { + result = (_cache[startIndex] << 16) | ((ushort)_cache[startIndex + 1]); + } + return new ItemData(*(((float*)&result)), 0, QUALITIES.QUALITY_GOOD); + } + + public ItemData ReadValue(DeviceAddress address) + { + return this.ReadValueEx(address); + } + + public int WriteBit(DeviceAddress address, bool bit) + { + _cache[address.CacheIndex] |= (short)(1 << address.Bit); + return 0; + } + + public int WriteBits(DeviceAddress address, byte bits) + { + _cache[address.CacheIndex] = bits; + return 0; + } + + public unsafe int WriteInt16(DeviceAddress address, short value) + { + _cache[address.CacheIndex] = value; + return 0; + } + + public unsafe int WriteInt32(DeviceAddress address, int value) + { + fixed (short* p1 = _cache) + { + Marshal.WriteInt32((IntPtr)(p1 + address.CacheIndex), value); + } + return 0; + } + + public unsafe int WriteFloat(DeviceAddress address, float value) + { + fixed (short* p1 = _cache) + { + Marshal.WriteInt32((IntPtr)(p1 + address.CacheIndex), *(int*)&value); + } + return 0; + } + + public int WriteString(DeviceAddress address, string str) + { + byte[] b = Encoding.ASCII.GetBytes(str); + int index = address.CacheIndex; + Buffer.BlockCopy(_cache, index, b, 0, b.Length); + return 0; + } + + public int WriteValue(DeviceAddress address, object value) + { + return this.WriteValueEx(address, value); + } + + public byte[] ReadBytes(DeviceAddress address, ushort size) + { + byte[] bytes = new byte[2 * size]; + Buffer.BlockCopy(_cache, address.CacheIndex, bytes, 0, bytes.Length); + return bytes; + } + + public int WriteBytes(DeviceAddress address, byte[] bit) + { + if (bit != null && bit.Length > 0) + { + Buffer.BlockCopy(bit, 0, _cache, address.CacheIndex, bit.Length); + return 0; + } + return -1; + } + } + + public sealed class NetShortCacheReader : ICache + { + short[] _cache; + public Array Cache + { + get + { + return _cache; + } + } + + public int ByteCount + { + get { return 2; } + } + + int _size; + public int Size + { + get + { + return _size; + } + set + { + _size = value; + this._cache = new short[_size]; + } + } + + public NetShortCacheReader() + { + } + + public NetShortCacheReader(int size) + { + this.Size = size; + } + + public int GetOffset(DeviceAddress start, DeviceAddress end) + { + return start.Area == end.Area && start.DBNumber == end.DBNumber ? start.Start - end.Start : ushort.MaxValue; + } + + public ItemData ReadInt32(DeviceAddress address) + { + int startIndex = address.CacheIndex; + int result; + if (startIndex == _cache.Length - 1) + { + result = _cache[startIndex]; + } + else + { + result = (IPAddress.HostToNetworkOrder(_cache[startIndex]) << 16) | ((ushort)IPAddress.HostToNetworkOrder(_cache[startIndex + 1])); + } + return new ItemData(result, 0, QUALITIES.QUALITY_GOOD); + } + + public unsafe ItemData ReadBit(DeviceAddress address) + { + return new ItemData((_cache[address.CacheIndex] & (1 << address.Bit.BitSwap())) != 0, 0, QUALITIES.QUALITY_GOOD); + } + + public ItemData ReadInt16(DeviceAddress address) + { + return new ItemData(IPAddress.HostToNetworkOrder(_cache[address.CacheIndex]), 0, QUALITIES.QUALITY_GOOD); + } + + public ItemData ReadByte(DeviceAddress address) + { + return new ItemData((byte)IPAddress.HostToNetworkOrder(_cache[address.CacheIndex]), 0, QUALITIES.QUALITY_GOOD); + } + + public unsafe ItemData ReadString(DeviceAddress address, ushort size) + { + short[] sarray = new short[size / 2]; + int index = address.CacheIndex; + for (int i = 0; i < sarray.Length; i++) + { + sarray[i] = IPAddress.HostToNetworkOrder(_cache[index + i]); + } + byte[] buffer = new byte[size]; + Buffer.BlockCopy(sarray, 0, buffer, 0, size); + return new ItemData(Encoding.ASCII.GetString(buffer).Trim(), 0, QUALITIES.QUALITY_GOOD); + } + + public unsafe ItemData ReadFloat(DeviceAddress address) + { + int startIndex = address.CacheIndex; + int result; + if (startIndex == _cache.Length - 1) + { + result = _cache[startIndex]; + } + else + { + result = (IPAddress.HostToNetworkOrder(_cache[startIndex]) << 16) | ((ushort)IPAddress.HostToNetworkOrder(_cache[startIndex + 1])); + } + return new ItemData(*(((float*)&result)), 0, QUALITIES.QUALITY_GOOD); + } + + public ItemData ReadValue(DeviceAddress address) + { + return this.ReadValueEx(address); + } + + public int WriteBit(DeviceAddress address, bool bit) + { + _cache[address.CacheIndex] |= (short)(1 << address.Bit.BitSwap()); + return 0; + } + + public int WriteBits(DeviceAddress address, byte bits) + { + _cache[address.CacheIndex] = bits; + return 0; + } + + public unsafe int WriteInt16(DeviceAddress address, short value) + { + _cache[address.CacheIndex] = value; + return 0; + } + + public unsafe int WriteInt32(DeviceAddress address, int value) + { + fixed (short* p1 = _cache) + { + Marshal.WriteInt32((IntPtr)(p1 + address.CacheIndex), IPAddress.HostToNetworkOrder(value)); + } + return 0; + } + + public unsafe int WriteFloat(DeviceAddress address, float value) + { + fixed (short* p1 = _cache) + { + Marshal.WriteInt32((IntPtr)(p1 + address.CacheIndex), IPAddress.HostToNetworkOrder(*(int*)&value)); + } + return 0; + } + + public int WriteString(DeviceAddress address, string str) + { + byte[] b = Encoding.ASCII.GetBytes(str); + int index = address.CacheIndex; + Buffer.BlockCopy(_cache, index, b, 0, b.Length); + return 0; + } + + public int WriteValue(DeviceAddress address, object value) + { + return this.WriteValueEx(address, value); + } + + public byte[] ReadBytes(DeviceAddress address, ushort size) + { + byte[] bytes = new byte[2 * size]; + Buffer.BlockCopy(_cache, address.CacheIndex, bytes, 0, bytes.Length); + return bytes; + } + + public int WriteBytes(DeviceAddress address, byte[] bit) + { + if (bit != null && bit.Length > 0) + { + Buffer.BlockCopy(bit, 0, _cache, address.CacheIndex, bit.Length); + return 0; + } + return -1; + } + } + + public sealed class IntCacheReader : ICache + { + int[] _cache; + + public Array Cache + { + get + { + return _cache; + } + } + + public int ByteCount + { + get { return 4; } + } + + int _size; + public int Size + { + get + { + return _size; + } + set + { + _size = value; + this._cache = new int[_size]; + } + } + + public IntCacheReader() + { + } + + public IntCacheReader(int size) + { + this.Size = size; + } + + public int GetOffset(DeviceAddress start, DeviceAddress end) + { + return start.Area == end.Area && start.DBNumber == end.DBNumber ? start.Start - end.Start : ushort.MaxValue; + } + + public ItemData ReadInt32(DeviceAddress address) + { + + return new ItemData(_cache[address.CacheIndex], 0, QUALITIES.QUALITY_GOOD); + } + + public unsafe ItemData ReadBit(DeviceAddress address) + { + return new ItemData((_cache[address.CacheIndex] & (1 << address.Bit)) != 0, 0, QUALITIES.QUALITY_GOOD); + } + + public ItemData ReadInt16(DeviceAddress address) + { + return new ItemData((short)(_cache[address.CacheIndex]), 0, QUALITIES.QUALITY_GOOD); + } + + public ItemData ReadByte(DeviceAddress address) + { + return new ItemData((byte)_cache[address.CacheIndex], 0, QUALITIES.QUALITY_GOOD); + } + + public ItemData ReadString(DeviceAddress address, ushort size) + { + byte[] buffer = new byte[size]; + Buffer.BlockCopy(_cache, 4 * address.CacheIndex, buffer, 0, size); + return new ItemData(Encoding.ASCII.GetString(buffer).Trim(), 0, QUALITIES.QUALITY_GOOD); + } + + public unsafe ItemData ReadFloat(DeviceAddress address) + { + int result = _cache[address.CacheIndex]; + return new ItemData(*(((float*)&result)), 0, QUALITIES.QUALITY_GOOD);//寮哄埗灏4瀛楄妭杞崲涓烘诞鐐规牸寮 + } + + public ItemData ReadValue(DeviceAddress address) + { + return this.ReadValueEx(address); + } + + public int WriteBit(DeviceAddress address, bool bit) + { + _cache[address.CacheIndex] |= (1 << address.Bit); + return 0; + } + + public int WriteBits(DeviceAddress address, byte bits) + { + _cache[address.CacheIndex] = bits; + return 0; + } + + public unsafe int WriteInt16(DeviceAddress address, short value) + { + _cache[address.CacheIndex] = value; + return 0; + } + + public unsafe int WriteInt32(DeviceAddress address, int value) + { + _cache[address.CacheIndex] = value; + return 0; + } + + public unsafe int WriteFloat(DeviceAddress address, float value) + { + fixed (int* p1 = _cache) + { + Marshal.WriteInt32((IntPtr)(p1 + address.CacheIndex), *(int*)&value); + } + return 0; + } + + public int WriteString(DeviceAddress address, string str) + { + byte[] b = Encoding.ASCII.GetBytes(str); + int index = address.CacheIndex; + Buffer.BlockCopy(_cache, index, b, 0, b.Length); + return 0; + } + + public int WriteValue(DeviceAddress address, object value) + { + return this.WriteValueEx(address, value); + } + + public byte[] ReadBytes(DeviceAddress address, ushort size) + { + byte[] bytes = new byte[4 * size]; + Buffer.BlockCopy(_cache, address.CacheIndex, bytes, 0, bytes.Length); + return bytes; + } + + public int WriteBytes(DeviceAddress address, byte[] bit) + { + if (bit != null && bit.Length > 0) + { + Buffer.BlockCopy(bit, 0, _cache, address.CacheIndex, bit.Length); + return 0; + } + return -1; + } + } + + public sealed class FloatCacheReader : ICache + { + float[] _cache; + + public Array Cache + { + get + { + return _cache; + } + } + + public int ByteCount + { + get { return 4; } + } + + int _size; + public int Size + { + get + { + return _size; + } + set + { + _size = value; + this._cache = new float[_size]; + } + } + + public FloatCacheReader() + { + } + + public FloatCacheReader(int size) + { + this.Size = size; + } + + public int GetOffset(DeviceAddress start, DeviceAddress end) + { + return start.Area == end.Area && start.DBNumber == end.DBNumber ? start.Start - end.Start : ushort.MaxValue; + } + + public ItemData ReadInt32(DeviceAddress address) + { + + return new ItemData((int)_cache[address.CacheIndex], 0, QUALITIES.QUALITY_GOOD); + } + + public unsafe ItemData ReadBit(DeviceAddress address) + { + return new ItemData(((int)_cache[address.CacheIndex] & (1 << address.Bit)) != 0, 0, QUALITIES.QUALITY_GOOD); + } + + public ItemData ReadInt16(DeviceAddress address) + { + return new ItemData((short)(_cache[address.CacheIndex]), 0, QUALITIES.QUALITY_GOOD); + } + + public ItemData ReadByte(DeviceAddress address) + { + return new ItemData((byte)_cache[address.CacheIndex], 0, QUALITIES.QUALITY_GOOD); + } + + public ItemData ReadString(DeviceAddress address, ushort size) + { + byte[] buffer = new byte[size]; + Buffer.BlockCopy(_cache, 4 * address.CacheIndex, buffer, 0, size); + return new ItemData(Encoding.ASCII.GetString(buffer).Trim(), 0, QUALITIES.QUALITY_GOOD); + } + + public unsafe ItemData ReadFloat(DeviceAddress address) + { + return new ItemData(_cache[address.CacheIndex], 0, QUALITIES.QUALITY_GOOD); + } + + public ItemData ReadValue(DeviceAddress address) + { + return this.ReadValueEx(address); + } + + public int WriteBit(DeviceAddress address, bool bit) + { + _cache[address.CacheIndex] = (int)_cache[address.CacheIndex] | (1 << address.Bit); + return 0; + } + + public int WriteBits(DeviceAddress address, byte bits) + { + _cache[address.CacheIndex] = bits; + return 0; + } + + public unsafe int WriteInt16(DeviceAddress address, short value) + { + _cache[address.CacheIndex] = value; + return 0; + } + + public unsafe int WriteInt32(DeviceAddress address, int value) + { + _cache[address.CacheIndex] = value; + return 0; + } + + public unsafe int WriteFloat(DeviceAddress address, float value) + { + _cache[address.CacheIndex] = value; + return 0; + } + + public int WriteString(DeviceAddress address, string str) + { + byte[] b = Encoding.ASCII.GetBytes(str); + int index = address.CacheIndex; + Buffer.BlockCopy(_cache, index, b, 0, b.Length); + return 0; + } + + public int WriteValue(DeviceAddress address, object value) + { + return this.WriteValueEx(address, value); + } + + public byte[] ReadBytes(DeviceAddress address, ushort size) + { + byte[] bytes = new byte[4 * size]; + Buffer.BlockCopy(_cache, address.CacheIndex, bytes, 0, bytes.Length); + return bytes; + } + + public int WriteBytes(DeviceAddress address, byte[] bit) + { + if (bit != null && bit.Length > 0) + { + Buffer.BlockCopy(bit, 0, _cache, address.CacheIndex, bit.Length); + return 0; + } + return -1; + } + } +} diff --git a/SCADA/Program/CoreApp/DataService/DataService/ClientReader.cs b/SCADA/Program/CoreApp/DataService/DataService/ClientReader.cs new file mode 100644 index 0000000..1b1c7bb --- /dev/null +++ b/SCADA/Program/CoreApp/DataService/DataService/ClientReader.cs @@ -0,0 +1,607 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Net.Sockets; +using System.Net; +using System.Text; +using System.Threading; + +namespace DataService +{ + public class ClientReader : IDevice + { + string _ip; + public string ServerName + { + get { return _ip; } + } + + internal Socket tcpSynCl; + internal Socket tcpASynCl; + + public bool IsClosed + { + get + { + //return tcpASynCl.Poll(-1, SelectMode.SelectRead); + return !tcpSynCl.Connected || !tcpASynCl.Connected; + } + } + + private ushort _timeout = 0; + public int TimeOut + { + get { return _timeout; } + } + + + List _grps = new List(1); + public IEnumerable Groups + { + get { return _grps; } + } + + IDataServer _server; + public IDataServer Parent + { + get { return _server; } + } + + public ClientReader(IDataServer server, string ip) + { + _server = server; + _ip = ip; + } + + public bool Connect() + { + try + { + int port = 1000; + IPAddress ip = IPAddress.Parse(_ip); + tcpASynCl = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); + tcpASynCl.Connect(new IPEndPoint(ip, port)); + tcpASynCl.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.SendTimeout, _timeout); + tcpASynCl.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReceiveTimeout, _timeout); + + tcpSynCl = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); + tcpSynCl.Connect(new IPEndPoint(ip, port)); + tcpSynCl.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.SendTimeout, _timeout); + tcpSynCl.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReceiveTimeout, _timeout); + return true; + } + catch (SocketException error) + { + if (OnClose != null) + OnClose(this, new ShutdownRequestEventArgs(error.Message)); + return false; + } + } + + public IGroup AddGroup(string name, ushort id, int updateRate, int timeOut = 0, float deadBand = 0f, bool active = false) + { + ClientGroup grp = new ClientGroup(id, name, updateRate, active, this); + _grps.Add(grp); + return grp; + } + + public int RemoveAllGroup() + { + foreach (IGroup grp in _grps) + { + grp.Dispose(); + } + _grps.Clear(); + return 1; + } + + public event ShutdownRequestEventHandler OnClose; + + public void Dispose() + { + if (tcpSynCl != null) + { + if (tcpSynCl.Connected) + { + try + { + tcpASynCl.Shutdown(SocketShutdown.Both); + tcpSynCl.Shutdown(SocketShutdown.Both); + } + catch { } + if (OnClose != null) + OnClose(this, new ShutdownRequestEventArgs("SHUTDOWN")); + tcpSynCl.Close(); + tcpASynCl.Close(); + } + tcpSynCl = null; + tcpASynCl = null; + } + RemoveAllGroup(); + } + } + + public class ClientGroup : IGroup + { + public const byte fctHead = 0xAB; + public const byte fctReadSingle = 1; + public const byte fctReadMultiple = 2; + public const byte fctWriteSingle = 5; + public const byte fctWriteMultiple = 15; + + bool _active = false; + public bool IsActive + { + get + { + return _active; + } + set + { + _active = value; + if (value) + { + ThreadPool.UnsafeQueueUserWorkItem(new WaitCallback(ReciveData), _tcpASynCl); + } + } + } + + protected ushort _id; + public ushort ID + { + get + { + return _id; + } + } + + protected int _updateRate; + public int UpdateRate + { + get + { + return _updateRate; + } + set + { + _updateRate = value; + } + } + + protected DeviceAddress _start; + public DeviceAddress Start + { + get + { + return _start; + } + } + + public int Size + { + get + { + return _items == null ? 0 : _items.Length; + } + } + + protected string _name; + public string Name + { + get + { + return _name; + } + } + + protected float _deadband; + public float DeadBand + { + get + { + return _deadband; + } + set + { + _deadband = value; + } + } + + protected ClientReader _plcReader; + public IDevice Parent + { + get + { + return _plcReader; + } + } + + protected ITag[] _items; + public IEnumerable Items + { + get { return _items; } + } + + IDataServer _server; + Socket _tcpSynCl, _tcpASynCl; + + byte[] tcpSynClBuffer; + + public ClientGroup(ushort id, string name, int updateRate, bool active, ClientReader plcReader) + { + this._id = id; + this._name = name; + this._updateRate = updateRate; + this._active = active; + this._plcReader = plcReader; + this._server = plcReader.Parent; + this._tcpASynCl = plcReader.tcpASynCl; + this._tcpSynCl = plcReader.tcpASynCl; + tcpSynClBuffer = new byte[_tcpASynCl.ReceiveBufferSize]; + } + + private byte[] ReadSingleData(DeviceAddress address, DataSource source = DataSource.Cache) + { + short ID = (short)address.Start; + byte type = (byte)address.VarType; + byte[] idbits = BitConverter.GetBytes(ID); + byte[] write_data = new byte[6] { fctHead, fctReadSingle, + source == DataSource.Cache?(byte)0:(byte)1, idbits[0], idbits[1], type }; + byte[] data = new byte[type < 4 ? 1 : type < 6 ? 2 : 4]; + SocketError error; + _tcpSynCl.Send(write_data, 0, 6, SocketFlags.None, out error); + int result = _tcpSynCl.Receive(tcpSynClBuffer, 0, data.Length + 3, SocketFlags.None, out error); + Array.Copy(tcpSynClBuffer, 3, data, 0, data.Length); + if (error == SocketError.Success) + return data; + else + { + throw new SocketException((int)error); + } + } + + + private int WriteSingleData(DeviceAddress address, byte[] value) + { + short ID = (short)address.Start; + byte type = (byte)address.VarType; + byte[] idbits = BitConverter.GetBytes(ID); + byte[] write_data = new byte[6] { fctHead, fctWriteSingle, 1, idbits[0], idbits[1], type }; + byte[] data = new byte[6 + value.Length]; + write_data.CopyTo(data, 0); + value.CopyTo(data, 6); + SocketError error; + _tcpSynCl.Send(data, 0, data.Length, SocketFlags.None, out error); + int result = _tcpSynCl.Receive(tcpSynClBuffer, 0, 2, SocketFlags.None, out error); + if (error == SocketError.Success) + return tcpSynClBuffer[1]; + else + { + throw new SocketException((int)error); + } + } + + + public void Init() + { + if (_items != null) + { + for (int i = 0; i < _items.Length; i++) + { + _items[i].Value = _items[i].Read(DataSource.Cache);//DataSource.Device + } + } + } + + private void ReciveData(object state) + { + if (state == null || !_active) return; + byte[] bytes = new byte[_tcpASynCl.ReceiveBufferSize]; + int result = 0; + SocketError error; + do + { + result = _tcpASynCl.Receive(bytes, 0, bytes.Length, SocketFlags.None, out error); + if (result > 5 && bytes[0] == 0xAB) + { + short len = BitConverter.ToInt16(bytes, 1); + short count = BitConverter.ToInt16(bytes, 3); + int j = 5; + DateTime time = DateTime.UtcNow; + Storage value = Storage.Empty; + for (int i = 0; i < count; i++) + { + short id = BitConverter.ToInt16(bytes, j); + j += 2; + ITag tag = GetItemByID(id); + if (tag != null) + { + DataType type = (DataType)bytes[j++]; + switch (type) + { + case DataType.BOOL: + value.Boolean = BitConverter.ToBoolean(bytes, j++); + break; + case DataType.BYTE: + value.Byte = bytes[j++]; + break; + case DataType.SHORT: + value.Int16 = BitConverter.ToInt16(bytes, j); + j += 2; + break; + case DataType.INT: + value.Int32 = BitConverter.ToInt32(bytes, j); + j += 4; + break; + case DataType.FLOAT: + value.Single = BitConverter.ToSingle(bytes, j); + j += 4; + break; + } + tag.Update(value, time, QUALITIES.QUALITY_GOOD); + } + else + { + byte type = bytes[j]; + j += (type < 4 ? 2 : type < 6 ? 3 : 5); + } + } + //Array.Clear(bytes, 0, count); + } + } + while (result > 0); + } + + public bool AddItems(ItemMetaData[] items) + { + int count = items.Length; + if (_items == null) _items = new ITag[count]; + for (int i = 0; i < count; i++) + { + ITag dataItem = null; + ItemMetaData meta = items[i]; + DeviceAddress addr = new DeviceAddress(0, 0, meta.ID, meta.Size, 0, meta.DataType); + switch (meta.DataType) + { + case DataType.BOOL: + dataItem = new BoolTag(meta.ID, addr, this); + break; + case DataType.BYTE: + dataItem = new ByteTag(meta.ID, addr, this); + break; + case DataType.WORD: + case DataType.SHORT: + dataItem = new ShortTag(meta.ID, addr, this); + break; + case DataType.TIME: + case DataType.INT: + dataItem = new IntTag(meta.ID, addr, this); + break; + case DataType.FLOAT: + dataItem = new FloatTag(meta.ID, addr, this); + break; + case DataType.STR: + dataItem = new StringTag(meta.ID, addr, this); + break; + default: + dataItem = new BoolTag(meta.ID, addr, this); + break; + } + _items[i] = dataItem; + _server.AddItemIndex(meta.Name, dataItem); + } + Array.Sort(_items); + Init(); + return true; + } + + public bool RemoveAll() + { + Array.Clear(_items, 0, _items.Length); + return true; + } + + public bool SetActiveState(bool active, params short[] items) + { + return true; + } + + public int FindItemByAddress(DeviceAddress addr) + { + return Array.BinarySearch(_items, new BoolTag(0, addr, null)); + } + + public ITag GetItemByID(short id) + { + return _server[id]; + } + + public int BatchRead(DataSource source, bool isSync, params ITag[] itemArray) + { + if (itemArray == null) return -1; + int len = itemArray.Length; + byte[] bt = new byte[4]; + byte[] data = new byte[3 + len * 2]; + int j=0; + data[j++] = fctHead; + data[j++] = fctReadMultiple; + data[j++] = source == DataSource.Cache ? (byte)0 : (byte)1; + bt = BitConverter.GetBytes(itemArray.Length); + data[j++] = bt[0]; + data[j++] = bt[1]; + data[j++] = bt[2]; + data[j++] = bt[3]; + for (int i = 0; i < len; i++) + { + ITag tag = itemArray[i]; + bt = BitConverter.GetBytes(tag.ID); + data[j++] = bt[0]; + data[j++] = bt[1]; + data[j++] = (byte)(tag.Address.DataSize >> 3); + } + SocketError error; + _tcpSynCl.Send(data, 0, data.Length, SocketFlags.None, out error); + int result = _tcpSynCl.Receive(tcpSynClBuffer, 0, tcpSynClBuffer.Length, SocketFlags.None, out error); + j = 2; + if (error == SocketError.Success) + { + DateTime time=DateTime.UtcNow; + Storage value=Storage.Empty; + for (int i = 0; i < len; i++) + { + ITag tag = itemArray[i]; + switch (tag.Address.VarType) + { + case DataType.BOOL: + value.Boolean = BitConverter.ToBoolean(tcpSynClBuffer, j++); + break; + case DataType.BYTE: + value.Byte = tcpSynClBuffer[j++]; + break; + case DataType.SHORT: + value.Int16 = BitConverter.ToInt16(tcpSynClBuffer, j); + j += 2; + break; + case DataType.INT: + value.Int32 = BitConverter.ToInt32(tcpSynClBuffer, j); + j += 4; + break; + case DataType.FLOAT: + value.Single = BitConverter.ToSingle(tcpSynClBuffer, j); + j += 4; + break; + } + tag.Update(value, time, QUALITIES.QUALITY_GOOD); + } + return 0; + } + else + { + throw new SocketException((int)error); + } + } + + public int BatchWrite(IDictionary items, bool isSync = true) + { + List list = new List(new byte[] { fctHead, fctWriteMultiple }); + list.AddRange(BitConverter.GetBytes(items.Count)); + foreach (var item in items) + { + ITag tag = item.Key; + list.AddRange(BitConverter.GetBytes(tag.ID)); + switch (tag.Address.VarType) + { + case DataType.BOOL: + list.Add((bool)item.Value ? (byte)1 : (byte)0); + break; + case DataType.BYTE: + list.Add((byte)item.Value); + break; + case DataType.SHORT: + list.AddRange(BitConverter.GetBytes((short)item.Value)); + break; + case DataType.INT: + list.AddRange(BitConverter.GetBytes((int)item.Value)); + break; + case DataType.FLOAT: + list.AddRange(BitConverter.GetBytes((float)item.Value)); + break; + } + } + SocketError error; + _tcpSynCl.Send(list.ToArray(), 0, list.Count, SocketFlags.None, out error); + int result = _tcpSynCl.Receive(tcpSynClBuffer, 0, 2, SocketFlags.None, out error); + if (error == SocketError.Success) + return tcpSynClBuffer[1]; + else + { + throw new SocketException((int)error); + } + } + + + public ItemData ReadInt32(DeviceAddress address, DataSource source = DataSource.Cache) + { + var data = ReadSingleData(address, source); + return data == null ? new ItemData(0, 0, QUALITIES.QUALITY_BAD) : + new ItemData(BitConverter.ToInt32(data, 0), 0, QUALITIES.QUALITY_GOOD); + } + + public ItemData ReadInt16(DeviceAddress address, DataSource source = DataSource.Cache) + { + var data = ReadSingleData(address, source); + return data == null ? new ItemData(0, 0, QUALITIES.QUALITY_BAD) : + new ItemData(BitConverter.ToInt16(data, 0), 0, QUALITIES.QUALITY_GOOD); + } + + public ItemData ReadByte(DeviceAddress address, DataSource source = DataSource.Cache) + { + var data = ReadSingleData(address, source); + return data == null ? new ItemData(0, 0, QUALITIES.QUALITY_BAD) : + new ItemData(data[0], 0, QUALITIES.QUALITY_GOOD); + } + + public unsafe ItemData ReadFloat(DeviceAddress address, DataSource source = DataSource.Cache) + { + var data = ReadSingleData(address, source); + if (data == null) + return new ItemData(0.0f, 0, QUALITIES.QUALITY_BAD); + else + { + int value = BitConverter.ToInt32(data, 0); + return new ItemData(*(((float*)&value)), 0, QUALITIES.QUALITY_GOOD); + } + } + + public ItemData ReadBool(DeviceAddress address, DataSource source = DataSource.Cache) + { + var data = ReadSingleData(address, source); + return data == null ? new ItemData(false, 0, QUALITIES.QUALITY_BAD) : + new ItemData(BitConverter.ToBoolean(data, address.Bit), 0, QUALITIES.QUALITY_GOOD); + } + + public ItemData ReadString(DeviceAddress address, DataSource source = DataSource.Cache) + { + var data = ReadSingleData(address, source); + return data == null ? new ItemData(string.Empty, 0, QUALITIES.QUALITY_BAD) : + new ItemData(Encoding.Default.GetString(data, 0, address.DataSize), 0, QUALITIES.QUALITY_GOOD); + } + + public int WriteInt32(DeviceAddress address, int value) + { + return WriteSingleData(address, BitConverter.GetBytes(value)); + } + + public int WriteInt16(DeviceAddress address, short value) + { + return WriteSingleData(address, BitConverter.GetBytes(value)); + } + + public int WriteFloat(DeviceAddress address, float value) + { + return WriteSingleData(address, BitConverter.GetBytes(value)); + } + + public int WriteString(DeviceAddress address, string value) + { + return WriteSingleData(address, Encoding.ASCII.GetBytes(value)); + } + + public int WriteBit(DeviceAddress address, bool value) + { + return WriteSingleData(address, new byte[] { (byte)(value ? 1 : 0) }); + } + + public int WriteBits(DeviceAddress address, byte value) + { + return WriteSingleData(address, new byte[] { value }); + } + + public event DataChangeEventHandler DataChange; + + public void Dispose() + { + RemoveAll(); + _items = null; + } + } +} diff --git a/SCADA/Program/CoreApp/DataService/DataService/Condition.cs b/SCADA/Program/CoreApp/DataService/DataService/Condition.cs new file mode 100644 index 0000000..1a0c23d --- /dev/null +++ b/SCADA/Program/CoreApp/DataService/DataService/Condition.cs @@ -0,0 +1,1104 @@ +锘縰sing System; +using System.Collections.Generic; +using System.ComponentModel; + +namespace DataService +{ + public delegate void AlarmEventHandler(object sender, AlarmItem e); + + public interface IEvent + { + bool IsEnabled { get; set; } + bool IsAcked { get; set; } + bool IsActived { get; set; } + Severity Severity { get; } + EventType EventType { get; } + DateTime LastActive { get; set; } + string Comment { get; } + } + + public abstract class ICondition : IEvent, IDisposable, IComparable, IEquatable + { + public const string ALARMSTOP = "Alarm Clear"; + protected bool _enable, _ack, _active; + protected int _id; + protected DateTime _timeStamp; + protected SubAlarmType _tempType; + protected SubCondition[] _subConditions; + + public int ID + { + get + { + return _id; + } + set + { + _id = value; + } + } + + public bool IsEnabled + { + get + { + return _enable; + } + set + { + _enable = value; + } + } + + public bool IsActived + { + get + { + return _active; + } + set + { + _active = value; + } + } + + public bool IsAcked + { + get + { + return _ack; + } + set + { + _ack = value; + if (_ack) + { + _tempType = SubAlarmType.None; + _lastAckTime = DateTime.Now; + if (_ack && AlarmAck != null) + { + foreach (EventHandler deleg in AlarmAck.GetInvocationList()) + { + deleg.BeginInvoke(this, EventArgs.Empty, null, null); + } + } + } + } + } + + public abstract AlarmType AlarmType + { + get; + } + + public EventType EventType + { + get + { + return EventType.ConditionEvent; + } + } + + + protected ConditionType _conditionType; + public ConditionType ConditionType + { + get + { + return _conditionType; + } + set + { + _conditionType = value; + } + } + + protected DateTime _lastAckTime, _condLastActive, _lastInactive; + public DateTime LastAckTime + { + get + { + return _lastAckTime; + } + set + { + _lastAckTime = value; + } + } + + public DateTime SubCondLastActive + { + get + { + return _current.StartTime; + } + //set + //{ + // _subCondLastActive = value; + //} + } + + public DateTime LastActive + { + get + { + return _condLastActive; + } + set + { + _condLastActive = value; + } + } + + public DateTime LastInactive + { + get + { + return _lastInactive; + } + set + { + _lastInactive = value; + } + } + + protected AlarmItem _current; + + protected SubAlarmType _activeSub; + public SubAlarmType ActiveSubCondition + { + get + { + return _activeSub; + } + protected set + { + _activeSub = value; + } + } + + public Severity Severity + { + get + { + return _current.Severity; + } + } + + public string Message + { + get + { + return _current.AlarmText; + } + } + + public abstract string Value + { + get; + } + + protected float _para; + public float Para + { + get + { + return _para; + } + set + { + _para = value; + } + } + + protected float _deadBand; + public float DeadBand + { + get + { + return _deadBand; + } + set + { + _deadBand = value; + } + } + + protected int _delay; + public int Delay + { + get + { + return _delay; + } + set + { + _delay = value; + } + } + + protected string _comment; + public string Comment + { + get + { + return _comment; + } + set + { + _comment = value; + } + } + + protected string _source; + public string Source + { + get + { + return _source; + } + } + + public IList SubConditions + { + get + { + return _subConditions; + } + } + + public AlarmEventHandler AlarmActive; + public EventHandler AlarmAck; + + protected ICondition(int id, ConditionType conditionType, string source, string comment, float para, float deadBand, int delay) + { + this._id = id; + this._conditionType = conditionType; + this._para = para; + this._source = source; + this._comment = comment; + this._deadBand = deadBand; + this._delay = delay; + this._current = new AlarmItem(); + } + + public abstract bool AddSubCondition(SubCondition condition); + + public abstract bool RemoveSubCondition(SubCondition condition); + + protected abstract void OnActive(SubCondition condition, Storage value, DateTime timeStamp); + + protected abstract void OnInActive(Storage value); + + public int CompareTo(ICondition other) + { + int comp1 = ((int)this.Severity).CompareTo((int)other.Severity); + return comp1 == 0 ? this.LastActive.CompareTo(other.LastActive) : -comp1; + } + + public bool Equals(ICondition other) + { + if (other == null) return false; + return this._id == other._id; + } + + public virtual void Dispose() + { + _current = null; + AlarmAck = null; + AlarmActive = null; ; + } + } + + public abstract class SimpleCondition : ICondition, INotifyPropertyChanged + { + public event PropertyChangedEventHandler PropertyChanged; + + public override string Value + { + get + { + return _tag == null ? null : _tag.ToString(); + } + } + + protected ITag _tag; + public ITag Tag + { + get + { + return _tag; + } + set + { + if (_tag != null) + _tag.ValueChanging -= CheckAlarm; + _tag = value; + if (_tag != null) + _tag.ValueChanging += CheckAlarm; + } + } + + protected SimpleCondition(int id, ConditionType conditionType, string source, string comment, float para, float deadBand, int delay) : + base(id, conditionType, source, comment, para, deadBand, delay) + { + } + + protected override void OnActive(SubCondition condition, Storage value, DateTime timeStamp) + { + if (condition.SubAlarmType != ActiveSubCondition) + { + if (condition.SubAlarmType != _tempType) + { + _timeStamp = timeStamp; + _tempType = condition.SubAlarmType; + } + if (_delay == 0 || (timeStamp - _timeStamp).TotalMilliseconds > _delay) + { + if (ActiveSubCondition == SubAlarmType.None) + { + _active = true; + _condLastActive = timeStamp; + } + _ack = false; + ActiveSubCondition = condition.SubAlarmType; + _current.Duration = timeStamp - SubCondLastActive; + _current = new AlarmItem(timeStamp, condition.Message, _tag.GetValue(value), ActiveSubCondition, condition.Severity, _id, _source); + if (AlarmActive != null) + { + foreach (AlarmEventHandler deleg in AlarmActive.GetInvocationList()) + { + deleg.BeginInvoke(this, _current, null, null); + } + } + RaiseChanged("Value"); + } + } + else + { + RaiseChanged("Value"); + } + } + + protected override void OnInActive(Storage value) + { + if (ActiveSubCondition != SubAlarmType.None) + { + _active = false; + ActiveSubCondition = SubAlarmType.None; + _current.Duration = DateTime.Now - SubCondLastActive; + _current = new AlarmItem(DateTime.Now, string.Concat("銆", _current.AlarmText, "銆", ALARMSTOP), _tag.GetValue(value), SubAlarmType.None, Severity.Normal, _id, _source); + if (AlarmActive != null) + { + foreach (AlarmEventHandler deleg in AlarmActive.GetInvocationList()) + { + deleg.BeginInvoke(this, _current, null, null); + } + } + } + } + + protected void RaiseChanged(string property) + { + if (PropertyChanged != null) + { + PropertyChanged(this, new PropertyChangedEventArgs(property)); + } + } + + public override void Dispose() + { + base.Dispose(); + PropertyChanged = null; + if (_tag != null) + _tag.ValueChanging -= CheckAlarm; + } + + protected abstract void CheckAlarm(object sender, ValueChangingEventArgs e); + + public override AlarmType AlarmType + { + get + { + return AlarmType.None; + } + } + + public override bool AddSubCondition(SubCondition condition) + { + return true; + } + + public override bool RemoveSubCondition(SubCondition condition) + { + return true; + } + } + + public sealed class ComplexCondition : ICondition, INotifyPropertyChanged + { + public event PropertyChangedEventHandler PropertyChanged; + + public override string Value + { + get + { + return Convert.ToString(_current.AlarmValue); + } + } + + public ComplexCondition(int id, string source, string comment, float deadBand, int delay) : + base(id, ConditionType.Absolute, source, comment, 0f, deadBand, delay) + { + _subConditions = new SubCondition[1] + { + new SubCondition(SubAlarmType.Dsc) + }; + } + + protected override void OnActive(SubCondition condition, Storage value, DateTime timeStamp) + { + if (condition.SubAlarmType != ActiveSubCondition) + { + if (condition.SubAlarmType != _tempType) + { + _timeStamp = timeStamp; + _tempType = condition.SubAlarmType; + } + if (_delay == 0 || (timeStamp - _timeStamp).TotalMilliseconds > _delay) + { + if (ActiveSubCondition == SubAlarmType.None) + { + _active = true; + _condLastActive = timeStamp; + } + _ack = false; + ActiveSubCondition = condition.SubAlarmType; + _current.Duration = timeStamp - SubCondLastActive; + _current = new AlarmItem(timeStamp, condition.Message, true, ActiveSubCondition, condition.Severity, _id, _source); + if (AlarmActive != null) + { + foreach (AlarmEventHandler deleg in AlarmActive.GetInvocationList()) + { + deleg.BeginInvoke(this, _current, null, null); + } + } + if (PropertyChanged != null) + { + PropertyChanged(this, new PropertyChangedEventArgs("Value")); + } + } + } + else + { + if (PropertyChanged != null) + { + PropertyChanged(this, new PropertyChangedEventArgs("Value")); + } + } + } + + protected override void OnInActive(Storage value) + { + if (ActiveSubCondition != SubAlarmType.None) + { + _active = false; + ActiveSubCondition = SubAlarmType.None; + _current.Duration = DateTime.Now - SubCondLastActive; + _current = new AlarmItem(DateTime.Now, string.Concat("銆", _current.AlarmText, "銆", ALARMSTOP), false, SubAlarmType.None, Severity.Normal, _id, _source); + if (AlarmActive != null) + { + foreach (AlarmEventHandler deleg in AlarmActive.GetInvocationList()) + { + deleg.BeginInvoke(this, _current, null, null); + } + } + } + } + + public Action SetFunction(Delegate tagChanged) + { + var _func = tagChanged as Func; + if (_func != null) + { + return delegate + { + if (_enable) + { + SubCondition condition = _subConditions[0]; + if (condition.IsEnabled) + { + if (_func()) + { + OnActive(condition, Storage.Empty, DateTime.Now); + return; + } + } + OnInActive(Storage.Empty); + } + }; + } + else + return null; + } + + public override void Dispose() + { + base.Dispose(); + PropertyChanged = null; + } + + public override AlarmType AlarmType + { + get + { + return AlarmType.Complex; + } + } + + public override bool AddSubCondition(SubCondition condition) + { + switch (condition.SubAlarmType) + { + case SubAlarmType.Dsc: + _subConditions[0] = condition; + return true; + default: + return false; + } + } + + public override bool RemoveSubCondition(SubCondition condition) + { + switch (condition.SubAlarmType) + { + case SubAlarmType.Dsc: + _subConditions[0] = SubCondition.Empty; + return true; + default: + return false; + } + } + + } + + public sealed class LevelAlarm : SimpleCondition + { + public override AlarmType AlarmType + { + get { return AlarmType.Level; } + } + + public LevelAlarm(int id, string source, string comment, float deadBand = 0f, int delay = 0) : + base(id, ConditionType.Absolute, source, comment, 0, deadBand, delay) + { + _subConditions = new SubCondition[4] + { + new SubCondition(SubAlarmType.HiHi), + new SubCondition(SubAlarmType.High), + new SubCondition(SubAlarmType.LoLo), + new SubCondition(SubAlarmType.Low) + }; + } + + protected override void CheckAlarm(object sender, ValueChangingEventArgs e) + { + if (_enable) + { + SubCondition condition; + float value = _tag.ScaleToValue(e.NewValue); + for (int i = 0; i < _subConditions.Length; i++) + { + if (_subConditions[i].IsEnabled) + { + condition = _subConditions[i]; + if (i < 2)//Hi Alarm + { + if (value > condition.Threshold) + { + OnActive(condition, e.NewValue, e.NewTimeStamp); + return; + } + else if (_deadBand > 0 && ActiveSubCondition == condition.SubAlarmType && value > condition.Threshold - _deadBand) + { + return; + } + } + else//Low Alarm + { + if (value < condition.Threshold) + { + OnActive(condition, e.NewValue, e.NewTimeStamp); + return; + } + else if (_deadBand > 0 && ActiveSubCondition == condition.SubAlarmType && value > condition.Threshold + _deadBand) + { + return; + } + } + } + } + OnInActive(e.NewValue); + } + } + + public override bool AddSubCondition(SubCondition condition) + { + switch (condition.SubAlarmType) + { + case SubAlarmType.HiHi: + _subConditions[0] = condition; + return true; + case SubAlarmType.High: + _subConditions[1] = condition; + return true; + case SubAlarmType.LoLo: + _subConditions[2] = condition; + return true; + case SubAlarmType.Low: + _subConditions[3] = condition; + return true; + default: + return false; + } + } + + public override bool RemoveSubCondition(SubCondition condition) + { + switch (condition.SubAlarmType) + { + case SubAlarmType.HiHi: + _subConditions[0] = SubCondition.Empty; + return true; + case SubAlarmType.High: + _subConditions[1] = SubCondition.Empty; + return true; + case SubAlarmType.LoLo: + _subConditions[2] = SubCondition.Empty; + return true; + case SubAlarmType.Low: + _subConditions[3] = SubCondition.Empty; + return true; + default: + return false; + } + } + } + + public sealed class DevAlarm : SimpleCondition + { + public override AlarmType AlarmType + { + get { return AlarmType.Dev; } + } + + public DevAlarm(int id, ConditionType conditionType, string source, string comment, float para, float deadBand = 0f, int delay = 0) : + base(id, conditionType, source, comment, para, deadBand, delay) + { + _subConditions = new SubCondition[2] + { + new SubCondition(SubAlarmType.MajDev), + new SubCondition(SubAlarmType.MinDev) + }; + } + + protected override void CheckAlarm(object sender, ValueChangingEventArgs e) + { + if (_enable) + { + float value = _tag.ScaleToValue(e.NewValue) - _para; + SubCondition condition; + for (int i = 0; i < _subConditions.Length; i++) + { + if (_subConditions[i].IsEnabled) + { + condition = _subConditions[i]; + if (value > (_conditionType == ConditionType.Absolute ? condition.Threshold : _para * condition.Threshold)) + { + OnActive(condition, e.NewValue, e.NewTimeStamp); + return; + } + else if (_deadBand > 0 && ActiveSubCondition == condition.SubAlarmType && + ((_conditionType == ConditionType.Absolute && value > condition.Threshold - _deadBand) + || (_conditionType == ConditionType.Percent && value > _para * (condition.Threshold - _deadBand)))) + { + return; + } + } + } + OnInActive(e.NewValue); + } + } + + public override bool AddSubCondition(SubCondition condition) + { + switch (condition.SubAlarmType) + { + case SubAlarmType.MajDev: + _subConditions[0] = condition; + return true; + case SubAlarmType.MinDev: + _subConditions[1] = condition; + return true; + default: + return false; + } + } + + public override bool RemoveSubCondition(SubCondition condition) + { + switch (condition.SubAlarmType) + { + case SubAlarmType.MajDev: + _subConditions[0] = SubCondition.Empty; + return true; + case SubAlarmType.MinDev: + _subConditions[1] = SubCondition.Empty; + return true; + default: + return false; + } + } + } + + public sealed class DigitAlarm : SimpleCondition + { + public override AlarmType AlarmType + { + get { return AlarmType.Dsc; } + } + + public DigitAlarm(int id, string source = null, string comment = null, int delay = 0) : + base(id, ConditionType.Absolute, source, comment, 0, 0f, delay) + { + _subConditions = new SubCondition[1] + { + new SubCondition(SubAlarmType.Dsc) + }; + } + + protected override void CheckAlarm(object sender, ValueChangingEventArgs e) + { + if (_enable) + { + SubCondition condition = _subConditions[0]; + if (condition.IsEnabled) + { + if (e.NewValue.Boolean == condition.Threshold > 0) + { + OnActive(condition, e.NewValue, e.NewTimeStamp); + return; + } + } + OnInActive(e.NewValue); + } + } + + public override bool AddSubCondition(SubCondition condition) + { + switch (condition.SubAlarmType) + { + case SubAlarmType.Dsc: + _subConditions[0] = condition; + return true; + default: + return false; + } + } + + public override bool RemoveSubCondition(SubCondition condition) + { + switch (condition.SubAlarmType) + { + case SubAlarmType.Dsc: + _subConditions[0] = SubCondition.Empty; + return true; + default: + return false; + } + } + } + + public sealed class WordDigitAlarm : SimpleCondition + { + public override AlarmType AlarmType + { + get { return AlarmType.WordDsc; } + } + + public WordDigitAlarm(int id, string source = null, string comment = null, int delay = 0) : + base(id, ConditionType.Absolute, source, comment, 0, 0f, delay) + { + _subConditions = new SubCondition[16]; + for (int i = 0; i < 16; i++) + { + _subConditions[i].SubAlarmType = SubAlarmType.Dsc; + _subConditions[i].Threshold = i; + }; + } + + protected override void CheckAlarm(object sender, ValueChangingEventArgs e) + { + if (_enable) + { + short newvalue = e.NewValue.Int16; + short oldvlaue = e.OldValue.Int16; + if (newvalue == 0 && oldvlaue != 0) + { + OnInActive(e.NewValue); + return; + } + for (short i = 0; i < _subConditions.Length; i++) + { + SubCondition condition = _subConditions[i]; + if (condition.IsEnabled) + { + int mask = 1 << i; + int newval = mask & newvalue; + int oldval = mask & oldvlaue; + if (newval != 0 && oldval == 0) + { + OnActive(condition, new Storage { Int16 = i }, e.NewTimeStamp); + } + } + } + } + } + + public override bool AddSubCondition(SubCondition condition) + { + switch (condition.SubAlarmType) + { + case SubAlarmType.Dsc: + int index = (int)condition.Threshold; + if (index >= 0 && index < 16) + _subConditions[index] = condition; + return true; + default: + return false; + } + } + + public override bool RemoveSubCondition(SubCondition condition) + { + switch (condition.SubAlarmType) + { + case SubAlarmType.Dsc: + int index = (int)condition.Threshold; + if (index >= 0 && index < 16) + _subConditions[index] = SubCondition.Empty; + return true; + default: + return false; + } + } + + protected override void OnActive(SubCondition condition, Storage value, DateTime timeStamp) + { + if (ActiveSubCondition == SubAlarmType.None) + { + _active = true; + _condLastActive = timeStamp; + } + _ack = false; + ActiveSubCondition = condition.SubAlarmType; + _current = new AlarmItem(timeStamp, condition.Message, value.Int16, ActiveSubCondition, condition.Severity, _id, _source); + if (AlarmActive != null) + { + foreach (AlarmEventHandler deleg in AlarmActive.GetInvocationList()) + { + deleg.BeginInvoke(this, _current, null, null); + } + } + RaiseChanged("Value"); + } + + protected override void OnInActive(Storage value) + { + if (ActiveSubCondition != SubAlarmType.None) + { + _active = false; + ActiveSubCondition = SubAlarmType.None; + _current.Duration = DateTime.Now - LastActive; + _current = new AlarmItem(DateTime.Now, string.Concat("銆", Comment, "銆", ALARMSTOP), 0, SubAlarmType.None, Severity.Normal, _id, _source); + if (AlarmActive != null) + { + foreach (AlarmEventHandler deleg in AlarmActive.GetInvocationList()) + { + deleg.BeginInvoke(this, _current, null, null); + } + } + } + } + } + + public sealed class QualitiesAlarm : SimpleCondition + { + public override AlarmType AlarmType + { + get { return AlarmType.Quality; } + } + + public QualitiesAlarm(int id, string source, string comment, int delay = 0) : + base(id, ConditionType.Absolute, source, comment, 0, 0f, delay) + { + _subConditions = new SubCondition[1] + { + new SubCondition(SubAlarmType.BadPV) + }; + } + + protected override void CheckAlarm(object sender, ValueChangingEventArgs e) + { + if (_enable) + { + SubCondition condition = _subConditions[0]; + if (condition.IsEnabled) + { + if (e.Quality != QUALITIES.QUALITY_GOOD) + OnActive(condition, e.NewValue, e.NewTimeStamp); + return; + } + OnInActive(e.NewValue); + } + } + + public override bool AddSubCondition(SubCondition condition) + { + switch (condition.SubAlarmType) + { + case SubAlarmType.BadPV: + _subConditions[0] = condition; + return true; + default: + return false; + } + } + + public override bool RemoveSubCondition(SubCondition condition) + { + switch (condition.SubAlarmType) + { + case SubAlarmType.BadPV: + _subConditions[0] = SubCondition.Empty; + return true; + default: + return false; + } + } + } + + public sealed class ROCAlarm : SimpleCondition + { + public override AlarmType AlarmType + { + get { return AlarmType.ROC; } + } + + + public ROCAlarm(int id, string souce, string comment, float deadBand = 0f, int delay = 0) : + base(id, ConditionType.Percent, souce, comment, 0, deadBand, delay) + { + _subConditions = new SubCondition[2] + { + new SubCondition(SubAlarmType.MajROC), + new SubCondition(SubAlarmType.MinROC) + }; + } + + protected override void CheckAlarm(object sender, ValueChangingEventArgs e) + { + if (_enable) + { + float value = (float)((_tag.ScaleToValue(e.NewValue) - e.OldValue.Single) / (e.NewTimeStamp - e.OldTimeStamp).TotalMilliseconds); + SubCondition condition; + for (int i = 0; i < _subConditions.Length; i++) + { + if (_subConditions[i].IsEnabled) + { + condition = _subConditions[i]; + if (value > condition.Threshold) + { + OnActive(condition, e.NewValue, e.NewTimeStamp); + return; + } + else if (_deadBand > 0 && ActiveSubCondition == condition.SubAlarmType && value > condition.Threshold - _deadBand) + { + return; + } + } + } + OnInActive(e.NewValue); + } + } + + public override bool AddSubCondition(SubCondition condition) + { + switch (condition.SubAlarmType) + { + case SubAlarmType.MajROC: + _subConditions[0] = condition; + return true; + case SubAlarmType.MinROC: + _subConditions[1] = condition; + return true; + default: + return false; + } + } + + public override bool RemoveSubCondition(SubCondition condition) + { + switch (condition.SubAlarmType) + { + case SubAlarmType.MajROC: + _subConditions[0] = SubCondition.Empty; + return true; + case SubAlarmType.MinROC: + _subConditions[1] = SubCondition.Empty; + return true; + default: + return false; + } + } + } + + public struct SubCondition + { + public bool IsEnabled; + + public SubAlarmType SubAlarmType; + + public Severity Severity; + + public float Threshold; + + public string Message; + + public SubCondition(SubAlarmType type, float threshold = 0f, Severity severity = Severity.Normal, string message = "", bool enabled = true) + { + this.SubAlarmType = type; + this.Threshold = threshold; + this.Severity = severity; + this.Message = message; + this.IsEnabled = enabled; + } + + public static readonly SubCondition Empty = new SubCondition(SubAlarmType.None, 0f, Severity.Normal, "姝e父", false); + } + + public class CompareCondBySource : IComparer + { + public int Compare(ICondition x, ICondition y) + { + if (x == null || x.Source == null) + { + return y == null || y.Source == null ? 0 : 1; + } + else + { + return y == null || y.Source == null ? 1 : x.Source.CompareTo(y.Source); + } + } + } +} diff --git a/SCADA/Program/CoreApp/DataService/DataService/DataService.csproj b/SCADA/Program/CoreApp/DataService/DataService/DataService.csproj new file mode 100644 index 0000000..fe04d3e --- /dev/null +++ b/SCADA/Program/CoreApp/DataService/DataService/DataService.csproj @@ -0,0 +1,15 @@ + + + + netcoreapp2.0 + + + + true + + + + + + + diff --git a/SCADA/Program/CoreApp/DataService/DataService/DeviceAddress.cs b/SCADA/Program/CoreApp/DataService/DataService/DeviceAddress.cs new file mode 100644 index 0000000..927ec42 --- /dev/null +++ b/SCADA/Program/CoreApp/DataService/DataService/DeviceAddress.cs @@ -0,0 +1,43 @@ +锘縰sing System; +using System.Runtime.InteropServices; + +namespace DataService +{ + [StructLayout(LayoutKind.Sequential)] + public struct DeviceAddress : IComparable + { + public int Area; + public int Start; + public ushort DBNumber; + public ushort DataSize; + public ushort CacheIndex; + public byte Bit; + public DataType VarType; + + public DeviceAddress(int area, ushort dbnumber, ushort cIndex, int start, ushort size, byte bit, DataType type) + { + Area = area; + DBNumber = dbnumber; + CacheIndex = cIndex; + Start = start; + DataSize = size; + Bit = bit; + VarType = type; + } + + public static readonly DeviceAddress Empty = new DeviceAddress(0, 0, 0, 0, 0, 0, DataType.NONE); + + public int CompareTo(DeviceAddress other) + { + return this.Area > other.Area ? 1 : + this.Area < other.Area ? -1 : + this.DBNumber > other.DBNumber ? 1 : + this.DBNumber < other.DBNumber ? -1 : + this.Start > other.Start ? 1 : + this.Start < other.Start ? -1 : + this.Bit > other.Bit ? 1 : + this.Bit < other.Bit ? -1 : 0; + } + } + +} diff --git a/SCADA/Program/CoreApp/DataService/DataService/Eval.cs b/SCADA/Program/CoreApp/DataService/DataService/Eval.cs new file mode 100644 index 0000000..14cb0eb --- /dev/null +++ b/SCADA/Program/CoreApp/DataService/DataService/Eval.cs @@ -0,0 +1,716 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq.Expressions; +using System.Reflection; +using System.Runtime.InteropServices; + +namespace DataService +{ + public class ExpressionEval : IDisposable + { + Expression _param1; + List _tagList = new List(); + public List TagList + { + get + { + return _tagList; + } + } + + IDataServer _server; + + public ExpressionEval(IDataServer server) + { + _server = server; + _param1 = Expression.Constant(this); + } + + public Delegate Eval(string expression) + { + if (string.IsNullOrEmpty(expression)) return null; + var lambda = ComplieRpnExp(RpnExpression(expression)); + if (lambda != null) return lambda.Compile(); + return null; + } + + public Delegate WriteEval(string expression) + { + if (_server == null || string.IsNullOrEmpty(expression)) return null; + if (_server[expression.ToUpper()] != null) + { + return new Func((object value) => { return WriteTag(expression, value); }); + } + return null; + } + + public Func WriteEval(string expression1, string expression2) + { + if (_server == null || string.IsNullOrEmpty(expression2)) return null; + if (_server[expression1.ToUpper()] != null) + { + var dele = Eval(expression2); + var funcbool = dele as Func; + if (funcbool != null) + return () => { return WriteTag(expression1, funcbool()); }; + var funcint = dele as Func; + if (funcint != null) + return () => { return WriteTag(expression1, funcint()); }; + var funcfloat = dele as Func; + if (funcfloat != null) + return () => { return WriteTag(expression1, funcfloat()); }; + var funcstring = dele as Func; + if (funcstring != null) + return () => { return WriteTag(expression1, funcstring()); }; + } + return null; + } + + public static bool ValidationExpression(string expression) + { + return true;//鍙姞鍏ユ鍒欒〃杈惧紡楠岃瘉 + } + + /// + /// 鎿嶄綔绗﹁繍绠楃骇鍒 + /// + /// 鎿嶄綔绗 + /// 鎿嶄綔杩愮畻绗︼紝绌烘牸杩斿洖0锛屽嚭閿欒繑鍥-1 + private static byte GetOperatorLevel(char strOperator) + { + switch (strOperator) + { + case '~': + return 10; + case '*': + case '/': + case '%': + return 9; + case '+': + case '-': + return 8; + case '>': + case '<': + return 7; + case '&': + return 6; + case '^': + return 5; + case '|': + return 4; + case '=': + case '!': + case '?': + return 3; + case '(': + return 2; + case ')': + return 1; + //case ':': + default: + return 0; + + } + } + + /// + /// 灏嗕腑缂琛ㄨ揪寮忚浆鎹负閫嗘尝鍏拌〃杈惧紡 + /// + /// 鏍囧噯涓紑琛ㄨ揪寮 + /// 鏍囧噯閫嗘尝鍏拌〃杈惧紡 + public static List RpnExpression(string expression) + { + //鍔犲叆缁撴潫鏍囪顑 + //瀹氫箟鍑烘爤鍜屽叆鏍堝爢鏍 + string[] strNum = expression.Split('~', '%', '>', '<', '=', '!', '&', '|', '?', '#', '^', '+', '-', '*', '/', '(', ')'); + if (strNum.Length < 2) return new List() { expression }; + //鎿嶄綔杩愮畻绗﹀爢鏍 + Stack oper = new Stack(); + //瀹氫箟杈撳嚭鍫嗘爤 + List output = new List(); + + //瀹氫箟鍓嶇紑琛ㄨ揪寮忓瓧绗﹁鍙栨寚閽 + int i = 0; + + //瀹氫箟褰撳墠璇诲彇鏁板瓧鏁扮粍鎸囬拡 + int n = -1; + //瀹氫箟鎿嶄綔杩愮畻绗︾骇鍒嚱鏁 + Operator op = new Operator(); + //杈撳嚭鍫嗘爤鐨勫ぇ灏 + int intStackCount = 0; + + //浠庡乏鍒板彸璇诲彇鍓嶇紑琛ㄨ揪寮 + while (i < expression.Length) + { + //璇诲彇涓涓瓧绗 + char strChar = expression[i]; + //鍙栧瓧绗︾殑杩愮畻绾у埆 + if (strChar == '#') { i++; continue; } + byte intLevel = GetOperatorLevel(strChar); + if (intLevel == 0) + //鏁板瓧鐩存帴鎺ㄥ叆杈撳嚭鍫嗘爤 + { + while (n++ < strNum.Length) + { + if (strNum[n] != "") + { + output.Add(strNum[n]); + i += strNum[n].Length; + //绉诲姩鏁扮粍鎸囬拡 + break; + } + } + } + else //鎿嶄綔瀛楃鏍规嵁杩愮畻瀛楃绾у埆鎺ㄥ叆杩愮畻绗﹀爢鏍 + { + if (oper.Count == 0) + { + //杩愮畻绗﹀爢鏍堜负绌猴紝鐩存帴鎺ㄥ叆鍫嗘爤 + oper.Push(new Operator(strChar, intLevel)); + //绉诲姩瀛楃璇诲彇鎸囬拡 + i++; + } + else + { + op = oper.Peek(); + if (intLevel > op.Level || intLevel == 2) + { + //杩愮畻瀛楃姣旇繍绠楃鍫嗘爤鏈鍚庣殑绾у埆楂樻垨鑰呰繍绠楃涓'('鐩存帴鎺ㄥ叆杩愮畻绗﹀爢鏍 + oper.Push(new Operator(strChar, intLevel)); + //绉诲姩瀛楃璇诲彇鎸囬拡 + i++; + } + else + { + //杩愮畻瀛楃涓嶉珮浜庤繍绠楃鍫嗘爤鏈鍚庣殑绾у埆锛屽垯灏嗚繍绠楃鍫嗘爤鍑烘爤锛岀洿鍒版瘮鍏堕珮涓烘 + intStackCount = oper.Count; + for (int m = 0; m < intStackCount; m++) + { + op = oper.Peek(); + if (op.Level >= intLevel) + { + //灏嗘搷浣滅鍑烘爤骞跺帇鍏ヨ緭鍏ュ爢鏍 + char o = op.OperatorStack; + if (!(o == ')' || o == '(')) + { + output.Add(o.ToString()); + } + oper.Pop(); + if (op.Level == 2) + { + //濡傛灉鎿嶄綔绗﹀爢鏍堜腑鏈鍚庣殑鎿嶄綔绗︿负'('鍒欏仠姝㈠嚭鏍 + i++; + break; + } + } + else + { + //鐩村埌杩愮畻绗﹀凡缁忛珮鍑鸿繍绠楃鏍堜腑鏈鍚庣殑绾у埆锛屽垯鍏ユ爤 + oper.Push(new Operator(strChar, intLevel)); + i++; + break; + } + } + } + } + } + } + + intStackCount = oper.Count; + for (int m = 0; m < intStackCount; m++) + { + op = oper.Peek(); + output.Add(op.OperatorStack.ToString()); + oper.Pop(); + } + + return output; + } + + /// + /// 瑙i嗘尝鍏拌〃杈惧紡 + /// + /// 鏍囧噯閫嗘尝鍏拌〃杈惧紡 + /// 閫嗘尝鍏拌〃杈惧紡鐨勮В + public LambdaExpression ComplieRpnExp(List strNum) + { + _tagList.Clear(); + //鎷嗗垎閫嗘尝鍏拌〃杈惧紡 + int intLenth = strNum.Count; + if (intLenth == 0) return null; + //瀹氫箟鏁板瓧鍫嗘爤 + try + { + Stack number = new Stack(); + for (int i = 0; i < intLenth; i++) + { + string expr = strNum[i]; + switch (expr) + { + case "~": + if (number.Count > 0) + { + Expression left = number.Pop(); + number.Push(Expression.Not(left)); + } + break; + case "*": + if (number.Count > 1) + { + Expression right = number.Pop(); + Expression left = number.Pop(); + if (left.Type != right.Type) + { + if (left.Type != typeof(float)) + left = Expression.Convert(left, typeof(float)); + if (right.Type != typeof(float)) + right = Expression.Convert(right, typeof(float)); + } + number.Push(Expression.Multiply(left, right)); + } + break; + case "/": + if (number.Count > 1) + { + Expression right = number.Pop(); + Expression left = number.Pop(); + if (left.Type != right.Type) + { + if (left.Type != typeof(float)) + left = Expression.Convert(left, typeof(float)); + if (right.Type != typeof(float)) + right = Expression.Convert(right, typeof(float)); + } + number.Push(Expression.Divide(left, right)); + } + break; + case "%": + if (number.Count > 1) + { + Expression right = number.Pop(); + Expression left = number.Pop(); + if (left.Type != right.Type) + { + if (left.Type != typeof(int)) + left = Expression.Convert(left, typeof(int)); + if (right.Type != typeof(int)) + right = Expression.Convert(right, typeof(int)); + } + number.Push(Expression.Modulo(left, right)); + } + break; + case "+": + if (number.Count > 1) + { + Expression right = number.Pop(); + Expression left = number.Pop(); + if (left.Type == typeof(string) || right.Type == typeof(string)) + { + if (left.Type != typeof(string)) + left = Expression.Convert(left, typeof(object)); + if (right.Type != typeof(string)) + right = Expression.Convert(right, typeof(object)); + number.Push(Expression.Call(typeof(string).GetMethod("Concat", new Type[] { typeof(object), typeof(object) }), left, right)); + } + else + { + if (left.Type != right.Type) + { + if (left.Type != typeof(float)) + left = Expression.Convert(left, typeof(float)); + if (right.Type != typeof(float)) + right = Expression.Convert(right, typeof(float)); + } + number.Push(Expression.Add(left, right)); + } + } + break; + case "-": + if (number.Count > 1) + { + Expression right = number.Pop(); + Expression left = number.Pop(); + if (left.Type != right.Type) + { + if (left.Type != typeof(float)) + left = Expression.Convert(left, typeof(float)); + if (right.Type != typeof(float)) + right = Expression.Convert(right, typeof(float)); + } + number.Push(Expression.Subtract(left, right)); + } + break; + case ">": + if (number.Count > 1) + { + Expression right = number.Pop(); + Expression left = number.Pop(); + if (left.Type != right.Type) + { + if (left.Type != typeof(float)) + left = Expression.Convert(left, typeof(float)); + if (right.Type != typeof(float)) + right = Expression.Convert(right, typeof(float)); + } + number.Push(Expression.GreaterThan(left, right)); + } + break; + case "<": + if (number.Count > 1) + { + Expression right = number.Pop(); + Expression left = number.Pop(); + if (left.Type != right.Type) + { + if (left.Type != typeof(float)) + left = Expression.Convert(left, typeof(float)); + if (right.Type != typeof(float)) + right = Expression.Convert(right, typeof(float)); + } + number.Push(Expression.LessThan(left, right)); + } + break; + case "&": + if (number.Count > 1) + { + Expression right = number.Pop(); + Expression left = number.Pop(); + number.Push(Expression.And(left, right)); + } + break; + case "^": + if (number.Count > 1) + { + Expression right = number.Pop(); + Expression left = number.Pop(); + number.Push(Expression.ExclusiveOr(left, right)); + } + break; + case "|": + if (number.Count > 1) + { + Expression right = number.Pop(); + Expression left = number.Pop(); + number.Push(Expression.Or(left, right)); + } + break; + case "=": + if (number.Count > 1) + { + Expression right = number.Pop(); + Expression left = number.Pop(); + if (left.Type != right.Type) + { + if (left.Type != typeof(float)) + left = Expression.Convert(left, typeof(float)); + if (right.Type != typeof(float)) + right = Expression.Convert(right, typeof(float)); + } + number.Push(Expression.Equal(left, right)); + } + break; + case "!": + if (number.Count > 1) + { + Expression right = number.Pop(); + Expression left = number.Pop(); + if (left.Type != right.Type) + { + if (left.Type != typeof(float)) + left = Expression.Convert(left, typeof(float)); + if (right.Type != typeof(float)) + right = Expression.Convert(right, typeof(float)); + } + number.Push(Expression.NotEqual(left, right)); + } + break; + case "?": + if (number.Count > 1) + { + Expression right = number.Pop(); + Expression left = number.Pop(); + if (left.Type != right.Type) + { + if (left.Type != typeof(float)) + left = Expression.Convert(left, typeof(float)); + if (right.Type != typeof(float)) + right = Expression.Convert(right, typeof(float)); + } + Expression test = number.Pop(); + number.Push(Expression.Condition(test, left, right)); + } + break; + default: + if (expr[0] == '@') + { + switch (expr.Substring(1).ToUpper()) + { + case "TIME": + { + Expression> f = () => DateTime.Now.ToShortTimeString(); + number.Push(f.Body); + } + goto lab1; + case "DATE": + { + Expression> f = () => DateTime.Now.ToShortDateString(); + number.Push(f.Body); + } + goto lab1; + case "DATETIME": + { + Expression> f = () => DateTime.Now.ToString(); + number.Push(f.Body); + } + goto lab1; + case "APP": + { + Expression> f = () => AppDomain.CurrentDomain.FriendlyName; + number.Push(f.Body); + } + goto lab1; + case "NAME": + { + Expression> f = () => Environment.MachineName; + number.Push(f.Body); + } + goto lab1; + case "PATH": + { + Expression> f = () => Environment.CurrentDirectory; + number.Push(f.Body); + } + goto lab1; + case "USER": + { + Expression> f = () => Environment.UserName; + number.Push(f.Body); + } + goto lab1; + case "REGION": + { + Expression> f = () => System.Globalization.CultureInfo.CurrentCulture.Name; + number.Push(f.Body); + } + goto lab1; + } + } + object result; + if (IsConstant(expr, out result)) + { + number.Push(Expression.Constant(result)); + } + else + { + number.Push(GetTagExpression(expr)); + } + lab1: + break; + } + } + + Expression d = number.Pop(); + return Expression.Lambda(d); + } + catch (Exception e) { return null; } + } + + MethodInfo _boolinfo = typeof(ExpressionEval).GetMethod("GetBool"); + MethodInfo _floatinfo = typeof(ExpressionEval).GetMethod("GetFloat"); + MethodInfo _intinfo = typeof(ExpressionEval).GetMethod("GetInt"); + MethodInfo _stringinfo = typeof(ExpressionEval).GetMethod("GetString"); + + public Expression GetTagExpression(string tagName) + { + if (_server == null) return Expression.Empty(); + ITag tag = _server[tagName]; + switch (tag.Address.VarType) + { + case DataType.BOOL: + return Expression.Call(_param1, _boolinfo, Expression.Constant(tagName)); + case DataType.BYTE: + case DataType.WORD: + case DataType.SHORT: + case DataType.TIME: + case DataType.INT: + return Expression.Call(_param1, _intinfo, Expression.Constant(tagName)); + case DataType.FLOAT: + return Expression.Call(_param1, _floatinfo, Expression.Constant(tagName)); + case DataType.STR: + return Expression.Call(_param1, _stringinfo, Expression.Constant(tagName)); + default: + return Expression.Empty(); + } + } + + public bool GetBool(string tagName) + { + if (_server == null) return false; + ITag tag = _server[tagName]; + switch (tag.Address.VarType) + { + case DataType.BOOL: + return tag.Value.Boolean; + case DataType.BYTE: + return Convert.ToBoolean(tag.Value.Byte); + case DataType.WORD: + case DataType.SHORT: + return Convert.ToBoolean(tag.Value.Int16); + case DataType.TIME: + case DataType.INT: + return Convert.ToBoolean(tag.Value.Int32); + case DataType.FLOAT: + return Convert.ToBoolean(tag.Value.Single); + case DataType.STR: + return Convert.ToBoolean(tag.ToString()); + default: + return false; + } + } + + public float GetFloat(string tagName) + { + if (_server == null) return 0f; + ITag tag = _server[tagName]; + return tag.ScaleToValue(tag.Value); + } + + public int GetInt(string tagName) + { + if (_server == null) return 0; + ITag tag = _server[tagName]; + switch (tag.Address.VarType) + { + case DataType.BOOL: + return tag.Value.Boolean ? 1 : 0; + case DataType.BYTE: + return (int)tag.Value.Byte; + case DataType.WORD: + case DataType.SHORT: + return (int)tag.Value.Int16; + case DataType.TIME: + case DataType.INT: + return tag.Value.Int32; + case DataType.FLOAT: + return Convert.ToInt32(tag.Value.Single); + case DataType.STR: + return int.Parse(tag.ToString()); + default: + return 0; + } + } + + public string GetString(string tagName) + { + return _server == null ? null : _server[tagName].ToString(); + } + + public int WriteTag(string tagName, object value) + { + if (_server == null || value == null) return -1; + ITag tag = _server[tagName]; + if (tag.Address.VarType == DataType.BOOL || tag.Address.VarType == DataType.STR) + return tag.Write(value); + else + { + float temp; + string str = value as string; + if (str == null) temp = Convert.ToSingle(value); + else + { + if (!float.TryParse(str, out temp)) + return -1; + } + return tag.Write(tag.ValueToScale(temp)); + } + } + + private bool IsConstant(string str, out object value) + { + if (str.Length > 1 & str[0] == '\'' && str[str.Length - 1] == '\'') + { + value = str.Trim('\''); + return true; + } + string upp = str.ToUpper(); + if (upp == "TRUE") + { + value = true; + return true; + } + else if (upp == "FALSE") + { + value = false; + return true; + } + if (_server != null) + { + var tag = _server[upp]; + if (tag != null) + { + if (!_tagList.Contains(tag)) + _tagList.Add(tag); + value = null; + return false; + } + } + int dotcount = 0; + for (int i = 0; i < str.Length; i++) + { + char opr = str[i]; + if (opr < '0' || opr > '9') + { + if (opr != '.') + { + value = str; + return true; + } + else + { + if (dotcount > 0) + { + value = str; + return true; + } + dotcount++; + } + } + } + //value = (dotcount == 0 ? int.Parse(str) : float.Parse(str)); + if (dotcount == 0) + value = int.Parse(str); + else value = float.Parse(str); + return true; + } + + public void Clear() + { + //_param1 = null; + _tagList.Clear(); + //_tagList = null; + } + + public void Dispose() + { + _param1 = null; + _tagList.Clear(); + _tagList = null; + _boolinfo = _floatinfo = _stringinfo = null; + } + } + + [StructLayout(LayoutKind.Sequential)] + /// + /// 鎿嶄綔绗︾粨鏋 + /// + public struct Operator + { + public char OperatorStack; + public byte Level; + public Operator(char OperatorStack, byte Level) + { + this.OperatorStack = OperatorStack; + this.Level = Level; + } + } +} diff --git a/SCADA/Program/CoreApp/DataService/DataService/ExtensionMethods.cs b/SCADA/Program/CoreApp/DataService/DataService/ExtensionMethods.cs new file mode 100644 index 0000000..09ab545 --- /dev/null +++ b/SCADA/Program/CoreApp/DataService/DataService/ExtensionMethods.cs @@ -0,0 +1,811 @@ +锘縰sing System; +using System.Text; +using System.Net; +using System.Collections.Generic; +using System.Runtime.InteropServices; +using System.Data.SqlClient; + +namespace DataService +{ + public static class ExtMethods + { + public static string GetExceptionMsg(this Exception e) + { + string err = string.Empty; + Exception exp = e; + while (exp != null) + { + err += string.Format("\n {0}", exp.Message); + exp = exp.InnerException; + } + err += string.Format("\n {0}", e.StackTrace); + return err; + } + + public static bool ModifyItemName(this ITag tag, string name) + { + IDataServer server = tag.Parent.Server; + lock (server.SyncRoot) + { + int index = server.GetItemProperties(tag.ID); + if (index < 0) return false; + var meta = server.MetaDataList[index]; + if (meta.Name == name) return true; + server.MetaDataList[index] = new TagMetaData(meta.ID, meta.GroupID, name, meta.Address, meta.DataType, meta.Size, meta.Archive, meta.Maximum, meta.Minimum, meta.Cycle); + server.RemoveItemIndex(meta.Name); + server.AddItemIndex(name, tag); + return true; + } + } + + public static SubCondition FindSubConditon(this IAlarmServer server, string sourceName, SubAlarmType alarmType) + { + var conds = server.QueryConditions(sourceName); + if (conds == null) return SubCondition.Empty; + foreach (ICondition cond in conds) + { + SubCondition sub = cond.FindSubConditon(alarmType); + if (sub.SubAlarmType == alarmType) + return sub; + } + return SubCondition.Empty; + } + + public static SubCondition FindSubConditon(this ICondition cond, SubAlarmType alarmType) + { + var subs = cond.SubConditions; + if (subs != null && subs.Count > 0) + { + foreach (var sub in subs) + { + if (sub.SubAlarmType == alarmType) + { + return sub; + } + } + } + return SubCondition.Empty; + } + + public static bool HasScaling(this IDataServer server, string tagName) + { + ITag tag = server[tagName]; + if (tag == null) return false; + int scaleid = server.GetScaleByID(tag.ID); + return scaleid >= 0; + } + + public static bool HasAlarm(this IDataServer dserver, string sourceName) + { + IAlarmServer server = dserver as IAlarmServer; + if (server == null) return false; + List conds = server.ConditionList as List; + return conds == null || conds.Count == 0 ? false : conds.BinarySearch(new DigitAlarm(0, sourceName)) >= 0; + } + + public static bool HasSubCondition(this IDataServer dserver, string sourceName, SubAlarmType alarmType) + { + IAlarmServer server = dserver as IAlarmServer; + if (server == null) return false; + var conds = server.QueryConditions(sourceName); + if (conds == null) return false; + foreach (ICondition cond in conds) + { + var subs = cond.SubConditions; + if (subs != null && subs.Count > 0) + { + foreach (var sub in subs) + { + if (sub.SubAlarmType == alarmType) + { + return true; + } + } + } + } + return false; + } + + public static ItemData ReadValueEx(this IReaderWriter reader, DeviceAddress address) + { + switch (address.VarType) + { + case DataType.BOOL: + var bit = reader.ReadBit(address); + return new ItemData(bit.Value, bit.TimeStamp, bit.Quality); + case DataType.BYTE: + var bt = reader.ReadByte(address); + return new ItemData(bt.Value, bt.TimeStamp, bt.Quality); + case DataType.WORD: + case DataType.SHORT: + var sh = reader.ReadInt16(address); + return new ItemData(sh.Value, sh.TimeStamp, sh.Quality); + case DataType.TIME: + case DataType.INT: + var it = reader.ReadInt32(address); + return new ItemData(it.Value, it.TimeStamp, it.Quality); + case DataType.FLOAT: + var fl = reader.ReadFloat(address); + return new ItemData(fl.Value, fl.TimeStamp, fl.Quality); + case DataType.STR: + var str = reader.ReadString(address, address.DataSize); + return new ItemData(str.Value, str.TimeStamp, str.Quality); + } + return new ItemData(null, 0, QUALITIES.QUALITY_BAD); + } + + public static int WriteValueEx(this IReaderWriter writer, DeviceAddress address, object value) + { + switch (address.VarType) + { + case DataType.BOOL: + return writer.WriteBit(address, Convert.ToBoolean(value)); + case DataType.BYTE: + return writer.WriteBits(address, Convert.ToByte(value)); + case DataType.WORD: + case DataType.SHORT: + return writer.WriteInt16(address, Convert.ToInt16(value)); + case DataType.TIME: + case DataType.INT: + return writer.WriteInt32(address, Convert.ToInt32(value)); + case DataType.FLOAT: + return writer.WriteFloat(address, Convert.ToSingle(value)); + case DataType.STR: + return writer.WriteString(address, value.ToString()); + } + return -1; + } + + public static HistoryData[] BatchRead(DataSource source, params ITag[] itemArray) + { + int len = itemArray.Length; + HistoryData[] values = new HistoryData[len]; + for (int i = 0; i < len; i++) + { + itemArray[i].Refresh(source); + values[i].ID = itemArray[i].ID; + values[i].Value = itemArray[i].Value; + values[i].TimeStamp = itemArray[i].TimeStamp; + } + return values; + } + + public static int BatchWrite(IDictionary items) + { + int rev = 0; + foreach (var tag in items) + { + if (tag.Key.Write(tag.Value) < 0) + rev = -1; + } + return rev; + } + + public static List AssignFromPDU(this ICache cacheReader, int PDU, params DeviceAddress[] addrsArr) + { + List rangeList = new List(); + int count = addrsArr.Length; + if (count > 0) + { + //Array.Sort(addrsArr); + DeviceAddress start = addrsArr[0]; + start.Bit = 0; + int bitCount = cacheReader.ByteCount; + if (count > 1) + { + int cacheLength = 0;//缂撳啿鍖虹殑澶у皬 + int cacheIndexStart = 0; + int startIndex = 0; + DeviceAddress segmentEnd, tagAddress; + DeviceAddress segmentStart = start; + for (int j = 1, i = 1; i < count; i++, j++) + { + tagAddress = addrsArr[i];//褰撳墠鍙橀噺鍦板潃 + int offset1 = cacheReader.GetOffset(tagAddress, segmentStart); + if (offset1 > (PDU / cacheReader.ByteCount)) + { + segmentEnd = addrsArr[i - 1]; + int len = cacheReader.GetOffset(segmentEnd, segmentStart); + len += segmentEnd.DataSize <= bitCount ? 1 : segmentEnd.DataSize / bitCount; + tagAddress.CacheIndex = (ushort)(cacheIndexStart + len); + addrsArr[i] = tagAddress; + rangeList.Add(new PDUArea(segmentStart, len, startIndex, j)); + startIndex += j; j = 0; + cacheLength += len;//鏇存柊缂撳瓨闀垮害 + cacheIndexStart = cacheLength; + segmentStart = tagAddress;//鏇存柊鏁版嵁鐗囨鐨勮捣濮嬪湴鍧 + } + else + { + tagAddress.CacheIndex = (ushort)(cacheIndexStart + offset1); + addrsArr[i] = tagAddress; + } + if (i == count - 1) + { + segmentEnd = addrsArr[i]; + int segmentLength = cacheReader.GetOffset(segmentEnd, segmentStart); + if (segmentLength > PDU / cacheReader.ByteCount) + { + segmentEnd = addrsArr[i - 1]; + segmentLength = segmentEnd.DataSize <= bitCount ? 1 : segmentEnd.DataSize / bitCount; + } + tagAddress.CacheIndex = (ushort)(cacheIndexStart + segmentLength); + addrsArr[i] = tagAddress; + segmentLength += segmentEnd.DataSize <= bitCount ? 1 : segmentEnd.DataSize / bitCount; + rangeList.Add(new PDUArea(segmentStart, segmentLength, startIndex, j + 1)); + cacheLength += segmentLength; + } + } + cacheReader.Size = cacheLength; + } + else + cacheReader.Size = start.DataSize <= bitCount ? 1 : start.DataSize / bitCount;//鏀瑰彉Cache鐨凷ize灞炴у煎皢鍒涘缓Cache鐨勫唴瀛樺尯鍩 + } + return rangeList; + } + + //璋冪敤鍓嶅簲瀵瑰湴鍧鏁扮粍鎺掑簭(鏄惁鍔犻攣锛) + public static ItemData[] PLCReadMultiple(this IPLCDriver plc, ICache cache, DeviceAddress[] addrsArr) + { + if (addrsArr == null || cache == null || addrsArr.Length == 0) return null; + int len = addrsArr.Length; + ItemData[] items = new ItemData[len]; + int offset = 0; long now = DateTime.Now.ToFileTime(); + List areas = cache.AssignFromPDU(plc.PDU, addrsArr); + foreach (PDUArea area in areas) + { + byte[] rcvBytes = plc.ReadBytes(area.Start, (ushort)area.Len); + Buffer.BlockCopy(rcvBytes, 0, cache.Cache, offset, rcvBytes.Length); + offset += rcvBytes.Length / cache.ByteCount; + } + for (int i = 0; i < len; i++) + { + switch (addrsArr[i].VarType) + { + case DataType.BOOL: + items[i].Value.Boolean = cache.ReadBit(addrsArr[i]).Value; + break; + case DataType.BYTE: + items[i].Value.Byte = cache.ReadByte(addrsArr[i]).Value; + break; + case DataType.WORD: + case DataType.SHORT: + items[i].Value.Int16 = cache.ReadInt16(addrsArr[i]).Value; + break; + case DataType.TIME: + case DataType.INT: + items[i].Value.Int32 = cache.ReadInt32(addrsArr[i]).Value; + break; + case DataType.FLOAT: + items[i].Value.Single = cache.ReadFloat(addrsArr[i]).Value; + break; + case DataType.STR: + var item = cache.ReadString(addrsArr[i], addrsArr[i].DataSize); + break; + } + items[i].Quality = QUALITIES.QUALITY_GOOD; + items[i].TimeStamp = now; + } + return items; + } + + public static int PLCWriteMultiple(this IPLCDriver plc, ICache cache, DeviceAddress[] addrArr, object[] buffer, int limit) + { + if (cache == null || addrArr == null || buffer == null || addrArr.Length != buffer.Length) return -1; + if (addrArr.Length == 1) return plc.WriteValue(addrArr[0], buffer[0]); + lock (plc)//涓嶉攣瀹氫細鏈夊苟鍙戝啿绐侀棶棰橈紱閿佸畾涔熶笉鑳戒繚闅滅粷瀵瑰畨鍏紝濡傛湁浜虹幇鍦烘搷浣滀細瀵艰嚧鏁版嵁鍒锋柊 + { + List areas = cache.AssignFromPDU(plc.PDU, addrArr); + int offset = 0; + foreach (PDUArea area in areas) + { + byte[] rcvBytes = plc.ReadBytes(area.Start, (ushort)area.Len); + if (rcvBytes == null) return -1; + Buffer.BlockCopy(rcvBytes, 0, cache.Cache, offset, rcvBytes.Length); + offset += rcvBytes.Length / cache.ByteCount; + } + DeviceAddress start = addrArr[0]; + int startIndex = 0; + int endIndex = 0; + while (endIndex < addrArr.Length) + { + if (start.Area != addrArr[endIndex].Area || start.DBNumber != addrArr[endIndex].DBNumber || endIndex - startIndex >= limit) + { + for (int i = startIndex; i < endIndex; i++) + { + cache.WriteValue(addrArr[i], buffer[i]); + } + int c1 = start.CacheIndex; int c2 = addrArr[endIndex - 1].CacheIndex; + byte[] bytes = new byte[cache.ByteCount * (c2 - c1 + 1)]; + Buffer.BlockCopy(cache.Cache, c1, bytes, 0, bytes.Length); + if (plc.WriteBytes(start, bytes) < 0) return -1; + start = addrArr[endIndex]; + startIndex = endIndex; + } + endIndex++; + } + } + return 0; + } + /// + /// string RightFrom + /// + /// + /// + /// + public static string RightFrom(this string text, int index) + { + return text.Substring(index + 1, text.Length - index - 1); + } + + public static string Right(this string text, int length) + { + return text.Substring(text.Length - length, length); + } + + /// + /// Convert to Datetime + /// + /// + /// + + public static DateTime ToDateTime(this long filetime) + { + return filetime == 0 ? DateTime.Now : DateTime.FromFileTime(filetime); + } + + public static Type ToType(this DataType dataType) + { + switch (dataType) + { + case DataType.BOOL: + return typeof(bool); + case DataType.BYTE: + return typeof(byte); + case DataType.WORD: + return typeof(ushort); + case DataType.SHORT: + return typeof(short); + case DataType.INT: + case DataType.TIME: + return typeof(int); + case DataType.FLOAT: + return typeof(float); + case DataType.STR: + return typeof(string); + default: + return typeof(object); + } + } + + public static string ToFormatString(this int num, int len) + { + string str = num.ToString(); + int off = len - str.Length; + return off > 0 ? string.Concat(new string('0', off), str) : str; + } + + public static bool IsEquals(this byte[] b1, byte[] b2) + { + if (b1 == null || b2 == null) return false; + if (b1.Length != b2.Length) return false; + for (int i = 0; i < b1.Length; i++) + if (b1[i] != b2[i]) + return false; + return true; + } + + public static string ConvertToString(this byte[] bits) + { + char[] chars = new char[bits.Length]; + for (int i = 0; i < bits.Length; i++) + { + chars[i] = (char)bits[i]; + } + return new string(chars); + } + + public static byte[] ConvertToArray(this string bits) + { + var chars = bits.ToCharArray(); + byte[] arr = new byte[chars.Length]; + for (int i = 0; i < chars.Length; i++) + { + arr[i] = (byte)chars[i]; + } + return arr; + } + + public static int BitSwap(this byte bit) + { + return (bit < 8 ? bit + 8 : bit - 8); + } + + [Obsolete] + public static Storage ToStorage(this ITag tag, object obj) + { + Storage value = Storage.Empty; + var str = obj as string; + switch (tag.Address.VarType) + { + case DataType.BOOL: + value.Boolean = str == null ? Convert.ToBoolean(obj) : str == "0" ? false : str == "1" ? true : bool.Parse(str); + break; + case DataType.BYTE: + value.Byte = Convert.ToByte(obj); + break; + case DataType.WORD: + case DataType.SHORT: + value.Int16 = Convert.ToInt16(obj); + break; + case DataType.TIME: + case DataType.INT: + value.Int32 = Convert.ToInt32(obj); + break; + case DataType.FLOAT: + value.Single = Convert.ToSingle(obj); + break; + } + return value; + } + + public static byte[] ToByteArray(this ITag tag) + { + switch (tag.Address.VarType) + { + case DataType.BOOL: + return new byte[] { tag.Value.Boolean ? (byte)1 : (byte)0 }; + case DataType.BYTE: + return new byte[] { tag.Value.Byte }; + case DataType.WORD: + case DataType.SHORT: + return BitConverter.GetBytes(tag.Value.Int16); + case DataType.INT: + return BitConverter.GetBytes(tag.Value.Int32); + case DataType.FLOAT: + return BitConverter.GetBytes(tag.Value.Single); + case DataType.STR: + return Encoding.ASCII.GetBytes(tag.ToString()); + default: + return new byte[0]; + } + } + + public static byte[] ToByteArray(this ITag tag, Storage value) + { + switch (tag.Address.VarType) + { + case DataType.BOOL: + return new byte[] { value.Boolean ? (byte)1 : (byte)0 }; + case DataType.BYTE: + return new byte[] { value.Byte }; + case DataType.WORD: + case DataType.SHORT: + return BitConverter.GetBytes(value.Int16); + case DataType.INT: + return BitConverter.GetBytes(value.Int32); + case DataType.FLOAT: + return BitConverter.GetBytes(value.Single); + case DataType.STR: + return Encoding.ASCII.GetBytes(tag.ToString()); + default: + return new byte[0]; + } + } + + public static object GetValue(this ITag tag, Storage value) + { + switch (tag.Address.VarType) + { + case DataType.BOOL: + return value.Boolean; + case DataType.BYTE: + return value.Byte; + case DataType.WORD: + case DataType.SHORT: + return value.Int16; + case DataType.TIME: + case DataType.INT: + return value.Int32; + case DataType.FLOAT: + return value.Single; + case DataType.STR: + return tag.ToString(); + default: + return null; + } + } + + public static float ValueToScale(this ITag tag, float value) + { + IDataServer srv = tag.Parent.Server; + int ind = srv.GetScaleByID(tag.ID); + Scaling meta = ind < 0 ? Scaling.Empty : srv.ScalingList[ind]; + if (meta.ScaleType == ScaleType.None) + { + return value; + } + else + { + double temp = (value - meta.EULo) / (meta.EUHi - meta.EULo); + if (meta.ScaleType == ScaleType.SquareRoot) + temp = temp * temp; + return (meta.RawHi - meta.RawLo) * (float)temp + meta.RawLo; + } + } + + public static float ScaleToValue(this ITag tag, Storage value) + { + DataType type = tag.Address.VarType; + if (type == DataType.BOOL) return value.Boolean ? 1f : 0f; + IDataServer srv = tag.Parent.Server; + int ind = srv.GetScaleByID(tag.ID); + Scaling meta = ind < 0 ? Scaling.Empty : srv.ScalingList[ind]; + if (meta.ScaleType == ScaleType.None) + { + switch (type) + { + case DataType.BYTE: + return (float)value.Byte; + case DataType.WORD: + case DataType.SHORT: + return (float)value.Int16; + case DataType.INT: + return (float)value.Int32; + case DataType.FLOAT: + return value.Single; + case DataType.STR: + return float.Parse(tag.ToString()); + default: + return 0f; + } + } + else + { + double temp; + switch (type) + { + case DataType.BYTE: + temp = (value.Byte - meta.RawLo) / (meta.RawHi - meta.RawLo); + break; + case DataType.WORD: + case DataType.SHORT: + temp = (value.Int16 - meta.RawLo) / (meta.RawHi - meta.RawLo); + break; + case DataType.INT: + temp = (value.Int32 - meta.RawLo) / (meta.RawHi - meta.RawLo); + break; + case DataType.FLOAT: + temp = (value.Single - meta.RawLo) / (meta.RawHi - meta.RawLo); + break; + default: + return 0f; + } + if (meta.ScaleType == ScaleType.SquareRoot) + temp = Math.Sqrt(temp); + return (meta.EUHi - meta.EULo) * (float)temp + meta.EULo; + } + } + + public static float ScaleToValue(this ITag tag) + { + return ScaleToValue(tag, tag.Value); + } + + public static string GetTagName(this ITag tag) + { + IDataServer srv = tag.Parent.Server; + int ind = srv.GetItemProperties(tag.ID); + return ind < 0 ? null : srv.MetaDataList[ind].Name; + } + + public static string GetTagName(this IDataServer srv, short id) + { + int ind = srv.GetItemProperties(id); + return ind < 0 ? null : srv.MetaDataList[ind].Name; + } + + public static TagMetaData GetMetaData(this ITag tag) + { + IDataServer srv = tag.Parent.Server; + int index = srv.GetItemProperties(tag.ID); + return index < 0 ? new TagMetaData() : srv.MetaDataList[index]; + } + } + + public static class Utility + { + private static readonly ushort[] crcTable = { + 0X0000, 0XC0C1, 0XC181, 0X0140, 0XC301, 0X03C0, 0X0280, 0XC241, + 0XC601, 0X06C0, 0X0780, 0XC741, 0X0500, 0XC5C1, 0XC481, 0X0440, + 0XCC01, 0X0CC0, 0X0D80, 0XCD41, 0X0F00, 0XCFC1, 0XCE81, 0X0E40, + 0X0A00, 0XCAC1, 0XCB81, 0X0B40, 0XC901, 0X09C0, 0X0880, 0XC841, + 0XD801, 0X18C0, 0X1980, 0XD941, 0X1B00, 0XDBC1, 0XDA81, 0X1A40, + 0X1E00, 0XDEC1, 0XDF81, 0X1F40, 0XDD01, 0X1DC0, 0X1C80, 0XDC41, + 0X1400, 0XD4C1, 0XD581, 0X1540, 0XD701, 0X17C0, 0X1680, 0XD641, + 0XD201, 0X12C0, 0X1380, 0XD341, 0X1100, 0XD1C1, 0XD081, 0X1040, + 0XF001, 0X30C0, 0X3180, 0XF141, 0X3300, 0XF3C1, 0XF281, 0X3240, + 0X3600, 0XF6C1, 0XF781, 0X3740, 0XF501, 0X35C0, 0X3480, 0XF441, + 0X3C00, 0XFCC1, 0XFD81, 0X3D40, 0XFF01, 0X3FC0, 0X3E80, 0XFE41, + 0XFA01, 0X3AC0, 0X3B80, 0XFB41, 0X3900, 0XF9C1, 0XF881, 0X3840, + 0X2800, 0XE8C1, 0XE981, 0X2940, 0XEB01, 0X2BC0, 0X2A80, 0XEA41, + 0XEE01, 0X2EC0, 0X2F80, 0XEF41, 0X2D00, 0XEDC1, 0XEC81, 0X2C40, + 0XE401, 0X24C0, 0X2580, 0XE541, 0X2700, 0XE7C1, 0XE681, 0X2640, + 0X2200, 0XE2C1, 0XE381, 0X2340, 0XE101, 0X21C0, 0X2080, 0XE041, + 0XA001, 0X60C0, 0X6180, 0XA141, 0X6300, 0XA3C1, 0XA281, 0X6240, + 0X6600, 0XA6C1, 0XA781, 0X6740, 0XA501, 0X65C0, 0X6480, 0XA441, + 0X6C00, 0XACC1, 0XAD81, 0X6D40, 0XAF01, 0X6FC0, 0X6E80, 0XAE41, + 0XAA01, 0X6AC0, 0X6B80, 0XAB41, 0X6900, 0XA9C1, 0XA881, 0X6840, + 0X7800, 0XB8C1, 0XB981, 0X7940, 0XBB01, 0X7BC0, 0X7A80, 0XBA41, + 0XBE01, 0X7EC0, 0X7F80, 0XBF41, 0X7D00, 0XBDC1, 0XBC81, 0X7C40, + 0XB401, 0X74C0, 0X7580, 0XB541, 0X7700, 0XB7C1, 0XB681, 0X7640, + 0X7200, 0XB2C1, 0XB381, 0X7340, 0XB101, 0X71C0, 0X7080, 0XB041, + 0X5000, 0X90C1, 0X9181, 0X5140, 0X9301, 0X53C0, 0X5280, 0X9241, + 0X9601, 0X56C0, 0X5780, 0X9741, 0X5500, 0X95C1, 0X9481, 0X5440, + 0X9C01, 0X5CC0, 0X5D80, 0X9D41, 0X5F00, 0X9FC1, 0X9E81, 0X5E40, + 0X5A00, 0X9AC1, 0X9B81, 0X5B40, 0X9901, 0X59C0, 0X5880, 0X9841, + 0X8801, 0X48C0, 0X4980, 0X8941, 0X4B00, 0X8BC1, 0X8A81, 0X4A40, + 0X4E00, 0X8EC1, 0X8F81, 0X4F40, 0X8D01, 0X4DC0, 0X4C80, 0X8C41, + 0X4400, 0X84C1, 0X8581, 0X4540, 0X8701, 0X47C0, 0X4680, 0X8641, + 0X8201, 0X42C0, 0X4380, 0X8341, 0X4100, 0X81C1, 0X8081, 0X4040 + }; + + /// + /// Converts an array of bytes to an ASCII byte array + /// + /// The byte array + /// An array of ASCII byte values + public static string GetAsciiBytes(byte[] numbers) + { + string str = string.Empty; + for (int i = 0; i < numbers.Length; i++) + { + str += numbers[i].ToString("X2"); + } + return str; + } + + /// + /// Converts an array of UInt16 to an ASCII byte array + /// + /// The ushort array + /// An array of ASCII byte values + public static string GetAsciiBytes(ushort[] numbers) + { + string str = string.Empty; + for (int i = 0; i < numbers.Length; i++) + { + str += numbers[i].ToString("X4"); + } + return str; + } + + /// + /// Converts a network order byte array to an array of UInt16 values in host order + /// + /// The network order byte array + /// The host order ushort array + public static ushort[] NetworkBytesToHostUInt16(byte[] networkBytes) + { + if (networkBytes == null) + throw new ArgumentNullException("networkBytes"); + + if (networkBytes.Length % 2 != 0) + throw new FormatException("NetworkBytesNotEven"); + + ushort[] result = new ushort[networkBytes.Length / 2]; + + for (int i = 0; i < result.Length; i++) + result[i] = (ushort)IPAddress.HostToNetworkOrder(BitConverter.ToInt16(networkBytes, i * 2)); + + return result; + } + + /// + /// Converts a hex string to a byte array. + /// + /// The hex string + /// Array of bytes + public static byte[] HexToBytes(string hex) + { + if (string.IsNullOrEmpty(hex)) + throw new ArgumentNullException("hex"); + + if (hex.Length % 2 != 0) + throw new FormatException("HexCharacterCountNotEven"); + + byte[] bytes = new byte[hex.Length / 2]; + + for (int i = 0; i < bytes.Length; i++) + bytes[i] = Convert.ToByte(hex.Substring(i * 2, 2), 16); + + return bytes; + } + + /// + /// Calculate Longitudinal Redundancy Check. + /// + /// The data used in LRC + /// LRC value + public static byte CalculateLrc(byte[] data, int len = 0) + { + if (data == null) + throw new ArgumentNullException("data"); + if (len == 0) len = data.Length; + byte lrc = 0; + for (int i = 0; i < len; i++) + { lrc += data[i]; } + + lrc = (byte)((lrc ^ 0xFF) + 1); + + return lrc; + } + + /// + /// Calculate Cyclical Redundancy Check + /// + /// The data used in CRC + /// CRC value + public static byte[] CalculateCrc(byte[] data, int len = 0) + { + if (data == null) + throw new ArgumentNullException("data"); + if (len == 0) len = data.Length; + ushort crc = ushort.MaxValue; + for (int i = 0; i < len; i++) + { + byte tableIndex = (byte)(crc ^ data[i]); + crc >>= 8; + crc ^= crcTable[tableIndex]; + } + + return BitConverter.GetBytes(crc); + } + + public static bool CheckSumCRC(byte[] frame) + { + int len = frame.Length; + byte[] chk = CalculateCrc(frame, len - 2); + return (chk[0] == frame[len - 2] && chk[1] == frame[len - 1]); + } + + public static unsafe short NetToInt16(byte[] value, int startIndex) + { + if (value == null || startIndex > value.Length - 2) + { + throw new NotImplementedException(); + } + fixed (byte* numRef = &(value[startIndex])) + { + return (short)((numRef[0] << 8) | numRef[1]); + } + } + + public static unsafe int NetToInt32(byte[] value, int startIndex) + { + if (value == null || startIndex > value.Length - 4) + { + throw new NotImplementedException(); + } + fixed (byte* numRef = &(value[startIndex])) + { + return (int)((numRef[0] << 24) | (numRef[1] << 16) | (numRef[2] << 8) | numRef[3]); + } + } + + public static unsafe float NetToSingle(byte[] value, int startIndex) + { + int a = NetToInt32(value, startIndex); + return *(float*)&a; + } + + public static string ConvertToString(byte[] bytes, int start = 0, int len = 0) + { + //瑗块棬瀛300銆400 + if (bytes == null || bytes.Length == 0) + return string.Empty; + var klen = bytes[start + 1]; + return Encoding.ASCII.GetString(bytes, start + 2, klen).Trim((char)0); + } + } +} diff --git a/SCADA/Program/CoreApp/DataService/DataService/HistoryData.cs b/SCADA/Program/CoreApp/DataService/DataService/HistoryData.cs new file mode 100644 index 0000000..fd00199 --- /dev/null +++ b/SCADA/Program/CoreApp/DataService/DataService/HistoryData.cs @@ -0,0 +1,83 @@ +锘縰sing System; +using System.Collections.Generic; + +namespace DataService +{ + public struct HistoryData : IComparable + { + public short ID; + public QUALITIES Quality; + public Storage Value; + public DateTime TimeStamp; + + public HistoryData(short id, QUALITIES qualitie, Storage value, DateTime timeStamp) + { + ID = id; + Quality = qualitie; + Value = value; + TimeStamp = timeStamp; + } + + public override bool Equals(object obj) + { + if (obj == null) return false; + if (obj is HistoryData) + { + return this == (HistoryData)obj; + } + else return false; + } + + public override int GetHashCode() + { + return ID.GetHashCode() ^ TimeStamp.GetHashCode(); + } + + + public static bool operator ==(HistoryData x, HistoryData y) + { + return x.ID == y.ID && x.TimeStamp == y.TimeStamp; + } + + public static bool operator !=(HistoryData x, HistoryData y) + { + return x.ID != y.ID || x.TimeStamp != y.TimeStamp; + } + + public static readonly HistoryData Empty = new HistoryData(); + + public int CompareTo(HistoryData other) + { + int comp = this.TimeStamp.CompareTo(other.TimeStamp); + return comp == 0 ? this.ID.CompareTo(other.ID) : comp; + } + } + + public struct FileData : IComparable + { + public short ID; + public Storage Value; + public string Text; + + public FileData(short id, Storage value, string text) + { + ID = id; + Value = value; + Text = text; + } + + public int CompareTo(FileData other) + { + return this.ID.CompareTo(other.ID); + } + } + + public class CompareHistoryData : IComparer + { + public int Compare(HistoryData x, HistoryData y) + { + int c1 = x.TimeStamp.CompareTo(y.TimeStamp); + return c1 == 0 ? x.ID.CompareTo(y.ID) : c1; + } + } +} diff --git a/SCADA/Program/CoreApp/DataService/DataService/IGroup.cs b/SCADA/Program/CoreApp/DataService/DataService/IGroup.cs new file mode 100644 index 0000000..a3928d4 --- /dev/null +++ b/SCADA/Program/CoreApp/DataService/DataService/IGroup.cs @@ -0,0 +1,70 @@ +锘縰sing System; +using System.Collections.Generic; + +namespace DataService +{ + public interface IGroup : IDisposable + { + bool IsActive { get; set; } + short ID { get; } + int UpdateRate { get; set; } + float DeadBand { get; set; } + string Name { get; set; } + IDriver Parent { get; } + IDataServer Server { get; } + IEnumerable Items { get; } + bool AddItems(IList items); + bool AddTags(IEnumerable tags); + bool RemoveItems(params ITag[] items); + bool SetActiveState(bool active, params short[] items); + ITag FindItemByAddress(DeviceAddress addr); + HistoryData[] BatchRead(DataSource source, bool isSync, params ITag[] itemArray); + int BatchWrite(SortedDictionary items, bool isSync = true); + ItemData ReadInt32(DeviceAddress address, DataSource source = DataSource.Cache); + ItemData ReadInt16(DeviceAddress address, DataSource source = DataSource.Cache); + ItemData ReadByte(DeviceAddress address, DataSource source = DataSource.Cache); + ItemData ReadFloat(DeviceAddress address, DataSource source = DataSource.Cache); + ItemData ReadBool(DeviceAddress address, DataSource source = DataSource.Cache); + ItemData ReadString(DeviceAddress address, DataSource source = DataSource.Cache); + int WriteInt32(DeviceAddress address, int value); + int WriteInt16(DeviceAddress address, short value); + int WriteFloat(DeviceAddress address, float value); + int WriteString(DeviceAddress address, string value); + int WriteBit(DeviceAddress address, bool value); + int WriteBits(DeviceAddress address, byte value); + event DataChangeEventHandler DataChange; + } + + public class DataChangeEventArgs : EventArgs + { + public DataChangeEventArgs(int transactionID, IList pValues) + { + this.TransactionID = transactionID; + this.Values = pValues; + } + + public int TransactionID; + public IList Values; + } + + public class WriteCompleteEventArgs : EventArgs + { + public WriteCompleteEventArgs(int transactionID, short[] pIds, int[] errors) + { + this.TransactionID = transactionID; + this.Values = pIds; + this.Errors = errors; + } + + public int TransactionID; + public short[] Values; + public int[] Errors; + } + + public delegate void DataChangeEventHandler(object sender, DataChangeEventArgs e); + + public delegate void ReadCompleteEventHandler(object sender, DataChangeEventArgs e); + + public delegate void WriteCompleteEventHandler(object sender, WriteCompleteEventArgs e); + +} diff --git a/SCADA/Program/CoreApp/DataService/DataService/IReader.cs b/SCADA/Program/CoreApp/DataService/DataService/IReader.cs new file mode 100644 index 0000000..2e28be0 --- /dev/null +++ b/SCADA/Program/CoreApp/DataService/DataService/IReader.cs @@ -0,0 +1,82 @@ +锘縰sing System; +using System.Collections.Generic; + +namespace DataService +{ + public interface IReaderWriter + { + byte[] ReadBytes(DeviceAddress address, ushort size); + ItemData ReadInt32(DeviceAddress address); + ItemData ReadInt16(DeviceAddress address); + ItemData ReadByte(DeviceAddress address); + ItemData ReadString(DeviceAddress address, ushort size); + ItemData ReadFloat(DeviceAddress address); + ItemData ReadBit(DeviceAddress address); + ItemData ReadValue(DeviceAddress address); + + int WriteBytes(DeviceAddress address, byte[] bit); + int WriteBit(DeviceAddress address, bool bit); + int WriteBits(DeviceAddress address, byte bits); + int WriteInt16(DeviceAddress address, short value); + int WriteInt32(DeviceAddress address, int value); + int WriteFloat(DeviceAddress address, float value); + int WriteString(DeviceAddress address, string str); + int WriteValue(DeviceAddress address, object value); + } + + + public interface ICache : IReaderWriter + { + int Size { get; set; } + int ByteCount { get; } + Array Cache { get; } + int GetOffset(DeviceAddress start, DeviceAddress end); + } + + public interface IMultiReadWrite + { + int Limit { get; } + ItemData[] ReadMultiple(DeviceAddress[] addrsArr); + int WriteMultiple(DeviceAddress[] addrArr, object[] buffer); + } + + public interface IDriver : IDisposable + { + short ID { get; } + string Name { get; } + string ServerName { get; set; }//鍙互鑰冭檻澧炲姞涓涓檮鍔犲弬鏁帮紝Sever鍙畾涔夋湰鏈哄悕 + bool IsClosed { get; } + int TimeOut { get; set; } + IEnumerable Groups { get; } + IDataServer Parent { get; } + bool Connect(); + IGroup AddGroup(string name, short id, int updateRate, float deadBand = 0f, bool active = false); + bool RemoveGroup(IGroup group); + event ShutdownRequestEventHandler OnClose; + } + + public interface IPLCDriver : IDriver, IReaderWriter + { + int PDU { get; } + DeviceAddress GetDeviceAddress(string address); + string GetAddress(DeviceAddress address); + } + + public interface IFileDriver : IDriver, IReaderWriter + { + string FileName { get; set; } + FileData[] ReadAll(short groupId); + //bool RecieveData(string data); + } + + public class ShutdownRequestEventArgs : EventArgs + { + public ShutdownRequestEventArgs(string reson) + { + shutdownReason = reson; + } + public string shutdownReason; + } + + public delegate void ShutdownRequestEventHandler(object sender, ShutdownRequestEventArgs e); +} diff --git a/SCADA/Program/CoreApp/DataService/DataService/IServer.cs b/SCADA/Program/CoreApp/DataService/DataService/IServer.cs new file mode 100644 index 0000000..4ad8815 --- /dev/null +++ b/SCADA/Program/CoreApp/DataService/DataService/IServer.cs @@ -0,0 +1,102 @@ +锘縰sing System; +using System.Collections.Generic; + +namespace DataService +{ + //鍘嗗彶鏁版嵁銆佹姤璀︽暟鎹殑鎻愪氦鍜屾暟鎹潎浠庢湇鍔″櫒 + public interface IHDAServer : IDisposable + { + IEnumerable ReadAtTime(params DateTime[] timeStamps); + IEnumerable ReadAtTime(short ID, params DateTime[] timeStamps); + IEnumerable ReadRaw(DateTime start, DateTime end); + IEnumerable ReadRaw(DateTime start, DateTime end, short ID); + //IEnumerable ReadProcessed(DateTime start, DateTime end, HDAAggregate aggregates, params short[] aggregateIDs); + } + + public interface IAlarmServer : IDisposable + { + int DisableCondition(string sourceName, AlarmType type); + int EnableCondition(string sourceName, AlarmType type); + int RemoveConditon(string sourceName, AlarmType type); + int RemoveConditons(string sourceName); + int AckConditions(params ICondition[] conditions); + IList QueryConditions(string sourceName); + IEnumerable AlarmList { get; } + IList ConditionList { get; } + IList ActivedConditionList { get; } + } + + public interface IDataServer : IDisposable + { + ITag this[short id] { get; } + ITag this[string name] { get; } + ExpressionEval Eval { get; } + Object SyncRoot { get; }//瀵规墍鏈夋秹鍙婇泦鍚堟洿鏀归」鐩娇鐢紱鍖呮嫭IGROUP鐨凙DDITEMS + IList MetaDataList { get; } + IList ScalingList { get; } + IEnumerable Drivers { get; } + IEnumerable BrowseItems(BrowseType browseType, string tagName, DataType dataType); + IDriver AddDriver(short id, string name, string server, int timeOut, + string assembly, string className, string spare1, string spare2); + IGroup GetGroupByName(string name); + int GetScaleByID(short id); + int GetItemProperties(short id);//杩斿洖鐨勬槸鍏冩暟鎹湪鍏冩暟鎹垪琛ㄧ殑绱㈠紩 + bool RemoveDriver(IDriver device); + bool AddItemIndex(string key, ITag value); + bool RemoveItemIndex(string key); + void ActiveItem(bool active, params ITag[] items); + int BatchWrite(Dictionary tags, bool sync); + HistoryData[] BatchRead(DataSource source, bool sync, params ITag[] itemArray); + } + + public class FCTCOMMAND + { + public const byte fctHead = 0xAB;//鎶ュご鍙姞瀵嗭紝濡傛姤澶翠笉绗︼紝鍒欎笉杩涜浠讳綍鎿嶄綔锛涘鎴风Socket鍙戦佹姤璀﹁姹傦紝灏佽浜嶴erver + public const byte fctHdaIdRequest = 30; + public const byte fctHdaRequest = 31; + public const byte fctAlarmRequest = 32; + public const byte fctOrderChange = 33; + public const byte fctReset = 34; + public const byte fctXMLHead = 0xEE;//xml鍗忚 + public const byte fctReadSingle = 1; + public const byte fctReadMultiple = 2; + public const byte fctWriteSingle = 5; + public const byte fctWriteMultiple = 15; + } + + public enum HDAAggregate + { + HDANoAggregate, + HDAInterpolative, + HDATotal, + HDAAverage, + HDATimeAverage, + HDACount, + HDAStDev, + HDAMinimumActualTime, + HDAMinimum, + HDAMaximumActualTime, + HDAMaximum, + HDAStart, + HDAEnd, + HDADelta, + HDARegSlope, + HDARegConst, + HDARegDev, + HDAVariance, + HDARange, + HDADurationGood, + HDADurationBad, + HDAPercentGood, + HDAPercentBad, + HDAWorstQuality, + HDAAnnotations, + } + + public enum BrowseType + { + Branch = 1, + Leaf = 2, + Flat = 3 + } +} \ No newline at end of file diff --git a/SCADA/Program/CoreApp/DataService/DataService/ITag.cs b/SCADA/Program/CoreApp/DataService/DataService/ITag.cs new file mode 100644 index 0000000..a08c8df --- /dev/null +++ b/SCADA/Program/CoreApp/DataService/DataService/ITag.cs @@ -0,0 +1,633 @@ +锘縰sing System; + +namespace DataService +{ + public abstract class ITag : IComparable + { + protected short _id; + public short ID + { + get + { + return _id; + } + } + + protected bool _active = true; + public bool Active + { + get + { + return _active; + } + set + { + _group.SetActiveState(value, _id); + _active = value; + } + } + + protected QUALITIES _quality; + public QUALITIES Quality + { + get + { + return _quality; + } + } + + protected Storage _value; + public Storage Value + { + get + { + return _value; + } + } + + protected DateTime _timeStamp = DateTime.MinValue; + public DateTime TimeStamp + { + get + { + return _timeStamp; + } + } + + protected DeviceAddress _plcAddress; + public DeviceAddress Address + { + get + { + return _plcAddress; + } + set + { + _plcAddress = value; + } + } + + protected IGroup _group; + public IGroup Parent + { + get + { + return _group; + } + } + + protected ITag(short id, DeviceAddress address, IGroup group) + { + _id = id; + _group = group; + _plcAddress = address; + } + + public void Update(Storage newvalue, DateTime timeStamp, QUALITIES quality) + { + if (_timeStamp > timeStamp) return;//濡傛灉鏃堕棿鎴虫洿鏃ф垨鍊兼湭鏀瑰彉 + if (ValueChanging != null) + { + ValueChanging(this, new ValueChangingEventArgs(quality, _value, newvalue, _timeStamp, timeStamp)); + } + _timeStamp = timeStamp; + _quality = quality; + if (quality == QUALITIES.QUALITY_GOOD) + { + _value = newvalue; + if (ValueChanged != null) + { + ValueChanged(this, new ValueChangedEventArgs(_value)); + } + } + } + + public abstract bool Refresh(DataSource source = DataSource.Device); + + public abstract Storage Read(DataSource source = DataSource.Cache); + + protected abstract int InnerWrite(Storage value); + + public abstract int Write(object value); + + public int Write(Storage value, bool bForce) + { + DateTime time = DateTime.Now; + _timeStamp = time; + if (bForce) + { + if (ValueChanging != null) + { + ValueChanging(this, new ValueChangingEventArgs(QUALITIES.QUALITY_GOOD, _value, value, _timeStamp, time)); + } + } + int result = InnerWrite(value); + if (bForce || result != 0) + { + var data = Read(DataSource.Device); + if (data != value) + { + time = DateTime.Now; + if (ValueChanging != null) + { + ValueChanging(this, new ValueChangingEventArgs(QUALITIES.QUALITY_GOOD, _value, data, _timeStamp, time)); + } + _value = data; + _timeStamp = time; + return result; + } + } + return 0; + } + + public ValueChangingEventHandler ValueChanging; + + public ValueChangedEventHandler ValueChanged; + + #region IComparable Members + + public override int GetHashCode() + { + return _id.GetHashCode(); + } + + public int CompareTo(ITag other) + { + return _plcAddress.CompareTo(other._plcAddress); + } + + #endregion + } + + public sealed class BoolTag : ITag + { + public BoolTag(short id, DeviceAddress addr, IGroup group) + : base(id, addr, group) + { + } + + #region IDevice Members + + public override bool Refresh(DataSource source = DataSource.Cache) + { + var _newvalue = _group.ReadBool(_plcAddress, source); + if (_newvalue.Value != _value.Boolean) + { + Storage value = Storage.Empty; + value.Boolean = _newvalue.Value; + DateTime time = _newvalue.TimeStamp.ToDateTime(); + if (ValueChanging != null) + { + ValueChanging(this, new ValueChangingEventArgs(_newvalue.Quality, _value, value, _timeStamp, time)); + } + _timeStamp = time; + _quality = _newvalue.Quality; + if (_quality == QUALITIES.QUALITY_GOOD) + { + _value = value; + if (ValueChanged != null) + { + ValueChanged(this, new ValueChangedEventArgs(value)); + } + } + return true; + } + return false; + } + + public override Storage Read(DataSource source = DataSource.Cache) + { + Storage value = Storage.Empty; + value.Boolean = _group.ReadBool(_plcAddress, source).Value; + return value; + } + + public override int Write(object value) + { + if (value == null) return -1; + bool temp = _value.Boolean; + var str = value as string; + if (str == null) + temp = Convert.ToBoolean(value); + else if (!Boolean.TryParse(str, out temp)) + return -1; + _timeStamp = DateTime.Now; + return _group.WriteBit(_plcAddress, temp); + } + + protected override int InnerWrite(Storage value) + { + return _group.WriteBit(_plcAddress, value.Boolean); + } + + #endregion + + public override string ToString() + { + return _value.Boolean.ToString(); + } + } + + public sealed class ByteTag : ITag + { + + public ByteTag(short id, DeviceAddress addr, IGroup group) + : base(id, addr, group) + { + } + + + #region IDevice Members + public override bool Refresh(DataSource source = DataSource.Device) + { + var _newvalue = _group.ReadByte(_plcAddress, source); + if (_newvalue.Value != _value.Byte) + { + Storage value = Storage.Empty; + value.Byte = _newvalue.Value; + DateTime time = _newvalue.TimeStamp.ToDateTime(); + if (ValueChanging != null) + { + ValueChanging(this, new ValueChangingEventArgs(_newvalue.Quality, _value, value, _timeStamp, time)); + } + _timeStamp = time; + _quality = _newvalue.Quality; + if (_quality == QUALITIES.QUALITY_GOOD) + { + _value = value; + if (ValueChanged != null) + { + ValueChanged(this, new ValueChangedEventArgs(value)); + } + } + return true; + } + return false; + } + + public override Storage Read(DataSource source = DataSource.Cache) + { + Storage value = Storage.Empty; + value.Byte = _group.ReadByte(_plcAddress, source).Value; + return value; + } + + public override int Write(object value) + { + byte temp = _value.Byte; + var str = value as string; + if (str == null) + temp = Convert.ToByte(value); + else if (!Byte.TryParse(str, out temp)) + return -1; + _timeStamp = DateTime.Now; + return _group.WriteBits(_plcAddress, temp); + } + + protected override int InnerWrite(Storage value) + { + return _group.WriteBits(_plcAddress, value.Byte); + } + + #endregion + + public override string ToString() + { + return _value.Byte.ToString(); + } + } + + public sealed class ShortTag : ITag + { + + public ShortTag(short id, DeviceAddress addr, IGroup group) + : base(id, addr, group) + { + } + + + #region IDevice Members + public override bool Refresh(DataSource source = DataSource.Device) + { + var _newvalue = _group.ReadInt16(_plcAddress, source); + if (_newvalue.Value != _value.Int16) + { + Storage value = Storage.Empty; + value.Int16 = _newvalue.Value; + DateTime time = _newvalue.TimeStamp.ToDateTime(); + if (ValueChanging != null) + { + ValueChanging(this, new ValueChangingEventArgs(_newvalue.Quality, _value, value, _timeStamp, time)); + } + _timeStamp = time; + _quality = _newvalue.Quality; + if (_quality == QUALITIES.QUALITY_GOOD) + { + _value = value; + if (ValueChanged != null) + { + ValueChanged(this, new ValueChangedEventArgs(value)); + } + } + return true; + } + return false; + } + + public override Storage Read(DataSource source = DataSource.Cache) + { + Storage value = Storage.Empty; + value.Int16 = _group.ReadInt16(_plcAddress, source).Value; + return value; + } + + public override int Write(object value) + { + var temp = _value.Int16; + var str = value as string; + if (str == null) + temp = Convert.ToInt16(value); + else if (!short.TryParse(str, out temp)) + return -1; + _timeStamp = DateTime.Now; + return _group.WriteInt16(_plcAddress, temp); + } + + protected override int InnerWrite(Storage value) + { + return _group.WriteInt16(_plcAddress, value.Int16); + } + + #endregion + + public override string ToString() + { + return _value.Int16.ToString(); + } + } + + public sealed class IntTag : ITag + { + + public IntTag(short id, DeviceAddress addr, IGroup group) + : base(id, addr, group) + { + } + + #region IDevice Members + public override bool Refresh(DataSource source = DataSource.Device) + { + var _newvalue = _group.ReadInt32(_plcAddress, source); + if (_newvalue.Value != _value.Int32) + { + Storage value = Storage.Empty; + value.Int32 = _newvalue.Value; + DateTime time = _newvalue.TimeStamp.ToDateTime(); + if (ValueChanging != null) + { + ValueChanging(this, new ValueChangingEventArgs(_newvalue.Quality, _value, value, _timeStamp, time)); + } + _timeStamp = time; + _quality = _newvalue.Quality; + if (_quality == QUALITIES.QUALITY_GOOD) + { + _value = value; + if (ValueChanged != null) + { + ValueChanged(this, new ValueChangedEventArgs(value)); + } + } + return true; + } + return false; + } + + public override Storage Read(DataSource source = DataSource.Cache) + { + Storage value = Storage.Empty; + value.Int32 = _group.ReadInt32(_plcAddress, source).Value; + return value; + } + + public override int Write(object value) + { + var temp = _value.Int32; + var str = value as string; + if (str == null) + temp = Convert.ToInt32(value); + else if (!int.TryParse(str, out temp)) + return -1; + _timeStamp = DateTime.Now; + return _group.WriteInt32(_plcAddress, temp); + } + + protected override int InnerWrite(Storage value) + { + return _group.WriteInt32(_plcAddress, value.Int32); + } + + #endregion + + public override string ToString() + { + return _value.Int32.ToString(); + } + } + + public sealed class FloatTag : ITag + { + + public FloatTag(short id, DeviceAddress addr, IGroup group) + : base(id, addr, group) + { + } + + + #region IDevice Members + public override bool Refresh(DataSource source = DataSource.Device) + { + var _newvalue = _group.ReadFloat(_plcAddress, source); + if (_newvalue.Value != _value.Single) + { + Storage value = Storage.Empty; + value.Single = _newvalue.Value; + DateTime time = _newvalue.TimeStamp.ToDateTime(); + if (ValueChanging != null) + { + ValueChanging(this, new ValueChangingEventArgs(_newvalue.Quality, _value, value, _timeStamp, time)); + } + _timeStamp = time; + _quality = _newvalue.Quality; + if (_quality == QUALITIES.QUALITY_GOOD) + { + _value = value; + if (ValueChanged != null) + { + ValueChanged(this, new ValueChangedEventArgs(value)); + } + } + return true; + } + return false; + } + + public override Storage Read(DataSource source = DataSource.Cache) + { + Storage value = Storage.Empty; + value.Single = _group.ReadFloat(_plcAddress, source).Value; + return value; + } + + public override int Write(object value) + { + var temp = _value.Single; + var str = value as string; + if (str == null) + temp = Convert.ToSingle(value); + else if (!float.TryParse(str, out temp)) + return -1; + _timeStamp = DateTime.Now; + return _group.WriteFloat(_plcAddress, temp); + } + + protected override int InnerWrite(Storage value) + { + return _group.WriteFloat(_plcAddress, value.Single); + } + + #endregion + + public override string ToString() + { + return _value.Single.ToString(); + } + } + + public sealed class StringTag : ITag + { + string _str; + public string String + { + get + { + return _str; + } + set + { + _str = value; + } + } + + public StringTag(short id, DeviceAddress addr, IGroup group) + : base(id, addr, group) + { + } + + + #region IDevice Members + public override bool Refresh(DataSource source = DataSource.Device) + { + var _newvalue = _group.ReadString(_plcAddress, source); + if (_newvalue.Value != _str) + { + DateTime time = _newvalue.TimeStamp.ToDateTime(); + if (ValueChanging != null) + { + ValueChanging(this, new ValueChangingEventArgs(_newvalue.Quality, _value, _value, _timeStamp, time)); + } + _timeStamp = time; + _quality = _newvalue.Quality; + if (_quality == QUALITIES.QUALITY_GOOD) + { + _str = _newvalue.Value; + if (ValueChanged != null) + { + ValueChanged(this, new ValueChangedEventArgs(_value)); + } + } + return true; + } + return false; + } + + public override Storage Read(DataSource source = DataSource.Cache) + { + var value = _group.ReadString(_plcAddress, source); + if (value.Quality == QUALITIES.QUALITY_GOOD) + _str = value.Value; + return Storage.Empty; + } + + public override int Write(object value) + { + if (value == null) return -1; + var str = (value is String) ? (String)value : value.ToString(); + _timeStamp = DateTime.Now; + return _group.WriteString(_plcAddress, str); + } + + protected override int InnerWrite(Storage value) + { + return _group.WriteString(_plcAddress, _str); + } + + #endregion + + public override string ToString() + { + return _str ?? string.Empty; + } + } + + public enum DataSource + { + Cache = 1, + Device = 2 + } + + public enum DataType : byte + { + NONE = 0, + BOOL = 1, + BYTE = 3, + SHORT = 4, + WORD = 5, + TIME = 6, + INT = 7, + FLOAT = 8, + SYS = 9, + STR = 11 + } + + public delegate void ValueChangingEventHandler(object sender, ValueChangingEventArgs e); + public delegate void ValueChangedEventHandler(object sender, ValueChangedEventArgs e); + + public class ValueChangingEventArgs : EventArgs + { + public ValueChangingEventArgs(QUALITIES quality, T oldValue, T newValue, DateTime oldTime, DateTime newTime) + { + this.Quality = quality; + this.OldValue = oldValue; + this.NewValue = newValue; + this.OldTimeStamp = oldTime; + this.NewTimeStamp = newTime; + } + + public QUALITIES Quality; + public T OldValue; + public T NewValue; + public DateTime OldTimeStamp; + public DateTime NewTimeStamp; + } + + public class ValueChangedEventArgs : EventArgs + { + public ValueChangedEventArgs(Storage value) + { + this.Value = value; + } + + public Storage Value; + } + +} diff --git a/SCADA/Program/CoreApp/DataService/DataService/PLCGroup.cs b/SCADA/Program/CoreApp/DataService/DataService/PLCGroup.cs new file mode 100644 index 0000000..07bbd7e --- /dev/null +++ b/SCADA/Program/CoreApp/DataService/DataService/PLCGroup.cs @@ -0,0 +1,684 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Timers; + +namespace DataService +{ + public class PLCGroup : IGroup + { + protected Timer _timer; + + protected bool _isActive; + public virtual bool IsActive + { + get + { + return _isActive; + } + set + { + _isActive = value; + if (value) + { + //_timer.Start((uint)_updateRate, true); + //_timer.Timer += new EventHandler(timer_Timer); + _timer.Interval = _updateRate; + _timer.Elapsed += new ElapsedEventHandler(timer_Timer); + _timer.Start(); + } + else + { + _timer.Elapsed -= new ElapsedEventHandler(timer_Timer); + _timer.Stop(); + } + } + } + + protected short _id; + public short ID + { + get + { + return _id; + } + } + + protected int _updateRate; + public int UpdateRate + { + get + { + return _updateRate; + } + set + { + _updateRate = value; + } + } + + protected string _name; + public string Name + { + get + { + return _name; + } + set + { + _name = value; + } + } + + protected float _deadband; + public float DeadBand + { + get + { + return _deadband; + } + set + { + _deadband = value; + } + } + + + protected ICache _cacheReader; + + protected IPLCDriver _plcReader; + public IDriver Parent + { + get + { + return _plcReader; + } + } + + protected List _changedList; + public List ChangedList + { + get + { + return _changedList; + } + } + + + protected List _items; + public IEnumerable Items + { + get { return _items; } + } + + protected IDataServer _server; + public IDataServer Server + { + get + { + return _server; + } + } + + protected List _rangeList = new List(); + + protected PLCGroup() + { + } + + public PLCGroup(short id, string name, int updateRate, bool active, IPLCDriver plcReader) + { + this._id = id; + this._name = name; + this._updateRate = updateRate; + this._isActive = active; + this._plcReader = plcReader; + this._server = _plcReader.Parent; + this._changedList = new List(); + this._cacheReader = new ByteCacheReader(); + this._timer = new Timer(); + } + + public bool AddItems(IList items) + { + int count = items.Count; + if (_items == null) _items = new List(count); + lock (_server.SyncRoot) + { + for (int i = 0; i < count; i++) + { + ITag dataItem = null; + TagMetaData meta = items[i]; + if (meta.GroupID == this._id) + { + DeviceAddress addr = _plcReader.GetDeviceAddress(meta.Address); + if (addr.DataSize == 0) addr.DataSize = meta.Size; + if (addr.VarType == DataType.NONE) addr.VarType = meta.DataType; + if (addr.VarType != DataType.BOOL) addr.Bit = 0; + switch (meta.DataType) + { + case DataType.BOOL: + dataItem = new BoolTag(meta.ID, addr, this); + break; + case DataType.BYTE: + dataItem = new ByteTag(meta.ID, addr, this); + break; + case DataType.WORD: + case DataType.SHORT: + dataItem = new ShortTag(meta.ID, addr, this); + break; + case DataType.TIME: + case DataType.INT: + dataItem = new IntTag(meta.ID, addr, this); + break; + case DataType.FLOAT: + dataItem = new FloatTag(meta.ID, addr, this); + break; + case DataType.STR: + dataItem = new StringTag(meta.ID, addr, this); + break; + } + if (dataItem != null) + { + //dataItem.Active = meta.Active; + _items.Add(dataItem); + _server.AddItemIndex(meta.Name, dataItem); + } + } + } + } + _items.TrimExcess(); + _items.Sort(); + UpdatePDUArea(); + return true; + } + + public bool AddTags(IEnumerable tags) + { + if (_items == null) + { + _items = new List(); + } + foreach (ITag tag in tags) + { + if (tag != null) + { + _items.Add(tag); + } + } + _items.TrimExcess(); + _items.Sort(); + UpdatePDUArea(); + return true; + } + + public bool RemoveItems(params ITag[] items) + { + foreach (var item in items) + { + _server.RemoveItemIndex(item.GetTagName()); + _items.Remove(item); + } + UpdatePDUArea(); + return true; + } + + protected void UpdatePDUArea() + { + int count = _items.Count; + if (count > 0) + { + DeviceAddress _start = _items[0].Address; + _start.Bit = 0; + int bitCount = _cacheReader.ByteCount; + if (count > 1) + { + int cacheLength = 0;//缂撳啿鍖虹殑澶у皬 + int cacheIndexStart = 0; + int startIndex = 0; + DeviceAddress segmentEnd = DeviceAddress.Empty; + DeviceAddress tagAddress = DeviceAddress.Empty; + DeviceAddress segmentStart = _start; + for (int j = 1, i = 1; i < count; i++, j++) + { + tagAddress = _items[i].Address;//褰撳墠鍙橀噺鍦板潃 + int offset1 = _cacheReader.GetOffset(tagAddress, segmentStart); + if (offset1 > (_plcReader.PDU - tagAddress.DataSize) / bitCount) + { + segmentEnd = _items[i - 1].Address; + int len = _cacheReader.GetOffset(segmentEnd, segmentStart); + len += segmentEnd.DataSize <= bitCount ? 1 : segmentEnd.DataSize / bitCount; + tagAddress.CacheIndex = (ushort)(cacheIndexStart + len); + _items[i].Address = tagAddress; + _rangeList.Add(new PDUArea(segmentStart, len, startIndex, j)); + startIndex += j; j = 0; + cacheLength += len;//鏇存柊缂撳瓨闀垮害 + cacheIndexStart = cacheLength; + segmentStart = tagAddress;//鏇存柊鏁版嵁鐗囨鐨勮捣濮嬪湴鍧 + } + else + { + tagAddress.CacheIndex = (ushort)(cacheIndexStart + offset1); + _items[i].Address = tagAddress; + } + if (i == count - 1) + { + segmentEnd = _items[i].Address; + int segmentLength = _cacheReader.GetOffset(segmentEnd, segmentStart); + if (segmentLength > (_plcReader.PDU - segmentEnd.DataSize) / bitCount) + { + segmentEnd = _items[i - 1].Address; + segmentLength = segmentEnd.DataSize <= bitCount ? 1 : segmentEnd.DataSize / bitCount; + } + tagAddress.CacheIndex = (ushort)(cacheIndexStart + segmentLength); + _items[i].Address = tagAddress; + segmentLength += segmentEnd.DataSize <= bitCount ? 1 : segmentEnd.DataSize / bitCount; + _rangeList.Add(new PDUArea(segmentStart, segmentLength, startIndex, j + 1)); + cacheLength += segmentLength; + } + } + _cacheReader.Size = cacheLength; + } + else + _cacheReader.Size = _start.DataSize <= bitCount ? 1 : _start.DataSize / bitCount;//鏀瑰彉Cache鐨凷ize灞炴у煎皢鍒涘缓Cache鐨勫唴瀛樺尯鍩 + } + } + + public ITag FindItemByAddress(DeviceAddress addr) + { + int index = _items.BinarySearch(new BoolTag(0, addr, null)); + return index < 0 ? null : _items[index]; + } + + public bool SetActiveState(bool active, params short[] items) + { + return false; + } + + object sync = new object(); + protected void timer_Timer(object sender, EventArgs e) + { + if (_isActive) + { + lock (sync) + { + Poll(); + if (_changedList.Count > 0) + Update(); + } + } + else + return; + } + + protected virtual int Poll() + { + if (_plcReader.IsClosed) return -1; + byte[] cache = (byte[])_cacheReader.Cache; + int offset = 0; + foreach (PDUArea area in _rangeList) + { + byte[] rcvBytes = _plcReader.ReadBytes(area.Start, (ushort)area.Len);//浠嶱LC璇诲彇鏁版嵁 + if (rcvBytes == null) + { + //_plcReader.Connect(); + return -1; + } + else + { + int index = area.StartIndex;//index鎸囧悜_items涓殑Tag鍏冩暟鎹 + int count = index + area.Count; + while (index < count) + { + DeviceAddress addr = _items[index].Address; + int iByte = addr.CacheIndex; + int iByte1 = iByte - offset; + if (addr.VarType == DataType.BOOL) + { + int tmp = rcvBytes[iByte1] ^ cache[iByte]; + DeviceAddress next = addr; + if (tmp != 0) + { + while (addr.Start == next.Start) + { + if ((tmp & (1 << next.Bit)) > 0) _changedList.Add(index); + if (++index < count) + next = _items[index].Address; + else + break; + } + } + else + { + while (addr.Start == next.Start && ++index < count) + { + next = _items[index].Address; + } + } + } + else + { + ushort size = addr.DataSize; + for (int i = 0; i < size; i++) + { + if (rcvBytes[iByte1 + i] != cache[iByte + i]) + { + _changedList.Add(index); + break; + } + } + index++; + } + } + for (int j = 0; j < rcvBytes.Length; j++) + cache[j + offset] = rcvBytes[j];//灏哖LC璇诲彇鐨勬暟鎹啓鍏ュ埌CacheReader涓 + } + offset += rcvBytes.Length; + } + return 1; + } + + protected void Update() + { + DateTime dt = DateTime.Now; + if (DataChange != null) + { + HistoryData[] values = new HistoryData[_changedList.Count]; + int i = 0; + foreach (int index in _changedList) + { + ITag item = _items[index]; + var itemData = item.Read(); + if (item.Active) + item.Update(itemData, dt, QUALITIES.QUALITY_GOOD); + if (_deadband == 0 || (item.Address.VarType == DataType.FLOAT && + (Math.Abs(itemData.Single / item.Value.Single - 1) > _deadband))) + { + values[i].ID = item.ID; + values[i].Quality = item.Quality; + values[i].Value = itemData; + values[i].TimeStamp = item.TimeStamp; + i++; + } + } + foreach (DataChangeEventHandler deleg in DataChange.GetInvocationList()) + { + deleg.BeginInvoke(this, new DataChangeEventArgs(1, values), null, null); + } + } + else + { + foreach (int index in _changedList) + { + ITag item = _items[index]; + if (item.Active) + item.Update(item.Read(), dt, QUALITIES.QUALITY_GOOD); + } + } + _changedList.Clear(); + } + + public void Dispose() + { + if (_timer != null) + _timer.Dispose(); + //if (_items != null) + // _items.Clear(); + } + + public virtual HistoryData[] BatchRead(DataSource source, bool isSync, params ITag[] itemArray) + { + int len = itemArray.Length; + HistoryData[] values = new HistoryData[len]; + if (source == DataSource.Device) + { + IMultiReadWrite multi = _plcReader as IMultiReadWrite; + if (multi != null) + { + Array.Sort(itemArray); + var itemArr = multi.ReadMultiple(Array.ConvertAll(itemArray, x => x.Address)); + for (int i = 0; i < len; i++) + { + values[i].ID = itemArray[i].ID; + values[i].Value = itemArr[i].Value; + values[i].TimeStamp = itemArr[i].TimeStamp.ToDateTime(); + itemArray[i].Update(itemArr[i].Value, values[i].TimeStamp, itemArr[i].Quality); + } + } + else + { + for (int i = 0; i < len; i++) + { + itemArray[i].Refresh(source); + values[i].ID = itemArray[i].ID; + values[i].Value = itemArray[i].Value; + values[i].Quality = itemArray[i].Quality; + values[i].TimeStamp = itemArray[i].TimeStamp; + } + } + } + else + { + for (int i = 0; i < len; i++) + { + values[i].ID = itemArray[i].ID; + values[i].Value = itemArray[i].Value; + values[i].Quality = itemArray[i].Quality; + values[i].TimeStamp = itemArray[i].TimeStamp; + } + } + return values; + } + + public virtual int BatchWrite(SortedDictionary items, bool isSync = true) + { + int len = items.Count; + int rev = 0; + IMultiReadWrite multi = _plcReader as IMultiReadWrite; + if (multi != null) + { + DeviceAddress[] addrs = new DeviceAddress[len]; + object[] objs = new object[len]; + int i = 0; + foreach (var item in items) + { + addrs[i] = item.Key.Address; + objs[i] = item.Value; + i++; + } + rev = multi.WriteMultiple(addrs, objs); + } + else + { + foreach (var tag in items) + { + if (tag.Key.Write(tag.Value) < 0) + rev = -1; + } + } + if (DataChange != null && rev >= 0) + { + HistoryData[] data = new HistoryData[len]; + int i = 0; + foreach (var item in items) + { + ITag tag = item.Key; + data[i].ID = tag.ID; + data[i].TimeStamp = tag.TimeStamp; + data[i].Quality = tag.Quality; + data[i].Value = item.Key.ToStorage(item.Value); + i++; + } + foreach (DataChangeEventHandler deleg in DataChange.GetInvocationList()) + { + deleg.BeginInvoke(this, new DataChangeEventArgs(1, data), null, null); + } + } + return rev; + } + + public ItemData ReadInt32(DeviceAddress address, DataSource source = DataSource.Cache) + { + return source == DataSource.Cache ? _cacheReader.ReadInt32(address) : _plcReader.ReadInt32(address); + } + + public ItemData ReadInt16(DeviceAddress address, DataSource source = DataSource.Cache) + { + return source == DataSource.Cache ? _cacheReader.ReadInt16(address) : _plcReader.ReadInt16(address); + } + + public ItemData ReadByte(DeviceAddress address, DataSource source = DataSource.Cache) + { + return source == DataSource.Cache ? _cacheReader.ReadByte(address) : _plcReader.ReadByte(address); + } + + public ItemData ReadFloat(DeviceAddress address, DataSource source = DataSource.Cache) + { + return source == DataSource.Cache ? _cacheReader.ReadFloat(address) : _plcReader.ReadFloat(address); + } + + public ItemData ReadBool(DeviceAddress address, DataSource source = DataSource.Cache) + { + return source == DataSource.Cache ? _cacheReader.ReadBit(address) : _plcReader.ReadBit(address); + } + + public ItemData ReadString(DeviceAddress address, DataSource source = DataSource.Cache) + { + ushort siz = address.DataSize; + return source == DataSource.Cache ? _cacheReader.ReadString(address, siz) : + _plcReader.ReadString(address, siz); + } + + public int WriteInt32(DeviceAddress address, int value) + { + int rs = _plcReader.WriteInt32(address, value); + if (rs >= 0) + { + if (DataChange != null) + { + ITag tag = GetTagByAddress(address); + if (tag != null) + DataChange(this, new DataChangeEventArgs(1, new HistoryData[1] + { + new HistoryData(tag.ID,QUALITIES.QUALITY_GOOD,new Storage{Int32=value}, DateTime.Now) + })); + } + } + return rs; + } + + public int WriteInt16(DeviceAddress address, short value) + { + int rs = _plcReader.WriteInt16(address, value); + if (rs >= 0) + { + if (DataChange != null) + { + ITag tag = GetTagByAddress(address); + if (tag != null) + DataChange(this, new DataChangeEventArgs(1, new HistoryData[1] + { + new HistoryData(tag.ID,QUALITIES.QUALITY_GOOD,new Storage{Int16=value}, DateTime.Now) + })); + } + } + return rs; + } + + public int WriteFloat(DeviceAddress address, float value) + { + int rs = _plcReader.WriteFloat(address, value); + if (rs >= 0) + { + if (DataChange != null) + { + ITag tag = GetTagByAddress(address); + if (tag != null) + DataChange(this, new DataChangeEventArgs(1, new HistoryData[1] + { + new HistoryData(tag.ID,QUALITIES.QUALITY_GOOD,new Storage{Single=value}, DateTime.Now) + })); + } + } + return rs; + } + + public int WriteString(DeviceAddress address, string value) + { + int rs = _plcReader.WriteString(address, value); + if (rs >= 0) + { + if (DataChange != null) + { + ITag tag = GetTagByAddress(address); + if (tag != null) + DataChange(this, new DataChangeEventArgs(1, new HistoryData[1] + { + new HistoryData(tag.ID,QUALITIES.QUALITY_GOOD,Storage.Empty, DateTime.Now) + })); + } + } + return rs; + } + + public int WriteBit(DeviceAddress address, bool value) + { + int rs = _plcReader.WriteBit(address, value); + if (rs >= 0) + { + if (DataChange != null) + { + ITag tag = GetTagByAddress(address); + if (tag != null) + DataChange(this, new DataChangeEventArgs(1, new HistoryData[1] + { + new HistoryData(tag.ID,QUALITIES.QUALITY_GOOD,new Storage{Boolean=value}, DateTime.Now) + })); + } + } + return rs; + } + + public int WriteBits(DeviceAddress address, byte value) + { + int rs = _plcReader.WriteBits(address, value); + if (rs >= 0) + { + if (DataChange != null) + { + ITag tag = GetTagByAddress(address); + if (tag != null) + DataChange(this, new DataChangeEventArgs(1, new HistoryData[1] + { + new HistoryData(tag.ID,QUALITIES.QUALITY_GOOD,new Storage{Byte=value}, DateTime.Now) + })); + } + } + return rs; + } + + private ITag GetTagByAddress(DeviceAddress addr) + { + int index = _items.BinarySearch(new BoolTag(0, addr, null)); + return index < 0 ? null : _items[index]; + } + + public event DataChangeEventHandler DataChange; + } + + + public struct PDUArea + { + public DeviceAddress Start; + public int Len; + public int StartIndex; + public int Count; + + public PDUArea(DeviceAddress start, int len, int startIndex, int count) + { + Start = start; + Len = len; + StartIndex = startIndex; + Count = count; + } + } +} diff --git a/SCADA/Program/CoreApp/DataService/DataService/Storage.cs b/SCADA/Program/CoreApp/DataService/DataService/Storage.cs new file mode 100644 index 0000000..1c2df0b --- /dev/null +++ b/SCADA/Program/CoreApp/DataService/DataService/Storage.cs @@ -0,0 +1,95 @@ +锘縰sing System.Runtime.InteropServices; +using System; + +namespace DataService +{ + [StructLayout(LayoutKind.Explicit, Size = 4)] + public struct Storage + { + // Fields + [FieldOffset(0)] + public bool Boolean; + [FieldOffset(0)] + public byte Byte; + [FieldOffset(0)] + public short Int16; + [FieldOffset(0)] + public int Int32; + [FieldOffset(0)] + public float Single; + + public static readonly Storage Empty ; + + static Storage() + { + Empty = new Storage(); + } + + public override bool Equals(object obj) + { + if (obj == null) return false; + Type type = obj.GetType(); + if (type == typeof(Storage)) + return this.Int32 == ((Storage)obj).Int32; + else + { + if (type == typeof(Int32)) + return this.Int32 == (Int32)obj; + if (type == typeof(Int16)) + return this.Int16 == (Int16)obj; + if (type == typeof(Byte)) + return this.Byte == (Byte)obj; + if (type == typeof(Boolean)) + return this.Boolean == (Boolean)obj; + if (type == typeof(Single)) + return this.Single == (Single)obj; + if (type == typeof(String)) + return this.ToString() == obj.ToString(); + } + return false; + } + + public override int GetHashCode() + { + return Int32.GetHashCode(); + } + + public static bool operator ==(Storage x, Storage y) + { + return x.Int32 == y.Int32; + } + + public static bool operator !=(Storage x, Storage y) + { + return x.Int32 != y.Int32; + } + } + + public enum QUALITIES : short + { + // Fields + LIMIT_CONST = 3, + LIMIT_HIGH = 2, + LIMIT_LOW = 1, + //LIMIT_MASK = 3, + //LIMIT_OK = 0, + QUALITY_BAD = 0, + QUALITY_COMM_FAILURE = 0x18, + QUALITY_CONFIG_ERROR = 4, + QUALITY_DEVICE_FAILURE = 12, + QUALITY_EGU_EXCEEDED = 0x54, + QUALITY_GOOD = 0xc0, + QUALITY_LAST_KNOWN = 20, + QUALITY_LAST_USABLE = 0x44, + QUALITY_LOCAL_OVERRIDE = 0xd8, + QUALITY_MASK = 0xc0, + QUALITY_NOT_CONNECTED = 8, + QUALITY_OUT_OF_SERVICE = 0x1c, + QUALITY_SENSOR_CAL = 80, + QUALITY_SENSOR_FAILURE = 0x10, + QUALITY_SUB_NORMAL = 0x58, + QUALITY_UNCERTAIN = 0x40, + QUALITY_WAITING_FOR_INITIAL_DATA = 0x20, + STATUS_MASK = 0xfc, + } +} \ No newline at end of file diff --git a/SCADA/Program/CoreApp/DataService/DataService/TagMetaData.cs b/SCADA/Program/CoreApp/DataService/DataService/TagMetaData.cs new file mode 100644 index 0000000..b8f9fec --- /dev/null +++ b/SCADA/Program/CoreApp/DataService/DataService/TagMetaData.cs @@ -0,0 +1,108 @@ +锘縰sing System; +using System.Runtime.InteropServices; + +namespace DataService +{ + [StructLayout(LayoutKind.Sequential)] + public struct TagMetaData : IComparable + { + public bool Archive; + + public DataType DataType; + + public ushort Size; + + public short ID; + + public short GroupID; + + public float Maximum; + + public float Minimum; + + public int Cycle; + + public string Address; + + public string Name; + + public TagMetaData(short id, short grpId, string name, string address, + DataType type, ushort size, bool archive = false, float max = 0, float min = 0, int cycle = 0) + { + ID = id; + GroupID = grpId; + Name = name; + Address = address; + DataType = type; + Size = size; + Archive = archive; + Maximum = max; + Minimum = min; + Cycle = cycle; + } + + public int CompareTo(TagMetaData other) + { + return this.ID.CompareTo(other.ID); + } + + public override string ToString() + { + return Name; + } + } + + [StructLayout(LayoutKind.Sequential)] + public struct Scaling : IComparable + { + public short ID; + + public ScaleType ScaleType; + + public float EUHi; + + public float EULo; + + public float RawHi; + + public float RawLo; + + public Scaling(short id, ScaleType type, float euHi, float euLo, float rawHi, float rawLo) + { + ID = id; + ScaleType = type; + EUHi = euHi; + EULo = euLo; + RawHi = rawHi; + RawLo = rawLo; + } + + public int CompareTo(Scaling other) + { + return ID.CompareTo(other.ID); + } + + public static readonly Scaling Empty = new Scaling { ScaleType = ScaleType.None }; + } + + public struct ItemData + { + public T Value; + public long TimeStamp; + public QUALITIES Quality; + + public ItemData(T value, long timeStamp, QUALITIES quality) + { + Value = value; + TimeStamp = timeStamp; + Quality = quality; + } + } + + public enum ScaleType : byte + { + None = 0, + Linear = 1, + SquareRoot = 2 + } +} diff --git a/SCADA/Program/CoreApp/DataService/GateWay/DAService.cs b/SCADA/Program/CoreApp/DataService/GateWay/DAService.cs new file mode 100644 index 0000000..521595b --- /dev/null +++ b/SCADA/Program/CoreApp/DataService/GateWay/DAService.cs @@ -0,0 +1,1838 @@ +锘縰sing ClientDriver; +using DatabaseLib; +using DataService; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Logging.Console; +using Microsoft.Extensions.Logging.Debug; +using System; +using System.Collections.Generic; +using System.Data; +using System.IO; +using System.Linq; +using System.Net; +using System.Net.Sockets; +using System.Reflection; +using System.Text; +using System.Threading; +using System.Timers; +using System.Xml; + +namespace BatchCoreService +{ + + public class DAService : IDataServer, IAlarmServer + { + const int PORT = 6543; + + const char SPLITCHAR = '.'; + const string SERVICELOGSOURCE = "DataProcess"; + const string SERVICELOGNAME = "DataProcess"; + const string PATH = @"C:\DataConfig\"; + const string FILENAME = "server.xml"; + + + //鍙厤缃弬鏁帮紝浠嶺ML鏂囦欢璇诲彇 + int DELAY = 3000; + int MAXHDACAP = 10000; + int ALARMLIMIT = 1000; + int CYCLE = 60000; + int CYCLE2 = 600000; + int SENDTIMEOUT = 60000; + //int SENDSIZE = ushort.MaxValue; + int HDALEN = 1024 * 1024; + int MAXLOGSIZE = 1024; + int HDADELAY = 3600 * 1000; + int ALARMDELAY = 3600 * 1000; + int ARCHIVEINTERVAL = 100; + + static ILogger Log; + + private System.Timers.Timer timer1 = new System.Timers.Timer(); + private System.Timers.Timer timer2 = new System.Timers.Timer(); + private System.Timers.Timer timer3 = new System.Timers.Timer(); + private DateTime _hdastart = DateTime.Now; + private DateTime _alarmstart = DateTime.Now; + + #region DAServer锛堟爣绛炬暟鎹湇鍔″櫒锛 + public ITag this[short id] + { + get + { + int index = GetItemProperties(id); + if (index >= 0) + { + return this[_list[index].Name]; + } + return null; + } + } + + public ITag this[string name] + { + get + { + if (string.IsNullOrEmpty(name)) return null; + ITag dataItem; + _mapping.TryGetValue(name.ToUpper(), out dataItem); + return dataItem; + } + } + + List _list; + public IList MetaDataList + { + get + { + return _list; + } + } + + public IList ScalingList + { + get + { + return _scales; + } + } + + object _syncRoot; + public object SyncRoot + { + get + { + if (this._syncRoot == null) + { + Interlocked.CompareExchange(ref this._syncRoot, new object(), null); + } + return this._syncRoot; + } + } + + bool _hasHda = false; + List _hda; + Dictionary _archiveTimes = new Dictionary(); + + Socket tcpServer = null; + + Dictionary _socketThreadList; + public Dictionary SocketList + { + get + { + return _socketThreadList; + } + } + + Dictionary _mapping; + + List _scales; + + SortedList _drivers; + public IEnumerable Drivers + { + get { return _drivers.Values; } + } + + CompareCondBySource _compare; + + ExpressionEval reval; + public ExpressionEval Eval + { + get + { + return reval; + } + } + + private object _myLock = new object(); + Dictionary _archiveList = null;//鏄惁闇瑕乴ock + public Dictionary ArchiveList + { + get + { + lock (_myLock) + { + if (_archiveList == null) + { + var list = MetaDataList.Where(x => x.Archive).Select(y => y.ID);//&& x.DataType != DataType.BOOL + if (list != null && list.Count() > 0) + { + string sql = "SELECT TAGID,DESCRIPTION FROM META_TAG WHERE TAGID IN(" + string.Join(",", list) + ");"; + using (var reader = DataHelper.Instance.ExecuteReader(sql)) + { + if (reader != null) + { + _archiveList = new Dictionary(); + while (reader.Read()) + { + _archiveList.Add(reader.GetInt16(0), reader.GetNullableString(1)); + } + } + } + } + } + } + return _archiveList; + } + } + + public DAService() + { + var loggerFactory = new LoggerFactory(); + Func filter = (category, level) => true; + loggerFactory.AddProvider( new ConsoleLoggerProvider(filter, false)); + loggerFactory.AddProvider(new DebugLoggerProvider(filter)); + Log = loggerFactory.CreateLogger(SERVICELOGSOURCE); + InitServerByXml(); + _scales = new List(); + _drivers = new SortedList(); + _alarmList = new List(ALARMLIMIT + 10); + reval = new ExpressionEval(this); + _hda = new List(); + InitServerByDatabase(); + InitConnection(); + _socketThreadList = new Dictionary(); + InitHost(); + + timer1.Elapsed += timer1_Elapsed; + timer2.Elapsed += timer2_Elapsed; + timer3.Elapsed += timer3_Elapsed; + timer1.Interval = CYCLE; + timer1.Enabled = true; + timer1.Start(); + timer2.Interval = CYCLE2; + timer2.Enabled = true; + timer2.Start(); + if (_hasHda) + { + foreach (var item in _archiveTimes.Values) + { + if (item != null) + { + timer3.Interval = ARCHIVEINTERVAL; + timer3.Enabled = true; + timer3.Start(); + return; + } + } + } + } + + public void Dispose() + { + lock (this) + { + try + { + if (timer1 != null) + timer1.Dispose(); + if (timer2 != null) + timer2.Dispose(); + if (timer3 != null) + timer3.Dispose(); + if (_drivers != null) + { + foreach (var driver in Drivers) + { + driver.OnClose -= this.reader_OnClose; + driver.Dispose(); + } + foreach (var condition in _conditionList) + { + if (condition != null) + condition.AlarmActive -= cond_SendAlarm; + } + + if (_hasHda) + { + Flush(); + //hda.Clear(); + } + SaveAlarm(); + foreach (var socket in _socketThreadList.Values) + { + socket.Dispose(); + } + if (tcpServer != null && tcpServer.Connected) + tcpServer.Disconnect(false); + + _mapping.Clear(); + _conditionList.Clear(); + reval.Dispose(); + } + } + catch (Exception e) + { + AddErrorLog(e); + } + } + } + + public void AddErrorLog(Exception e) + { + Log.LogError(e.GetExceptionMsg()); + } + + private void timer1_Elapsed(object sender, ElapsedEventArgs e) + { + foreach (IDriver d in Drivers) + { + if (d.IsClosed) + { + d.Connect();//t.IsAlive鍙姞鍏ュ垽鏂紱濡傜嚎绋嬪紓甯革紝閲嶆柊鍚姩銆 + } + } + } + + private void timer2_Elapsed(object sender, ElapsedEventArgs e) + { + if (HDADELAY > 0 && _hda.Count > 0 && (DateTime.Now - _hdastart).TotalMilliseconds > HDADELAY) + { + lock (_hdaRoot) + { + ThreadPool.UnsafeQueueUserWorkItem(new WaitCallback(this.SaveCachedData), _hda.ToArray()); + _hda.Clear(); + } + } + if (ALARMDELAY > 0 && _alarmList.Count > 0 && (DateTime.Now - _alarmstart).TotalMilliseconds > ALARMDELAY) + SaveAlarm(); + DateTime today = DateTime.Today; + try + { + if (e.SignalTime > today.AddHours(2)) + { + DateTime startTime = DateTime.MinValue; + DateTime endTime = DateTime.MaxValue; + HDAIOHelper.GetRangeFromDatabase(null, ref startTime, ref endTime); + if (startTime >= today || startTime == DateTime.MinValue) + { + return; + } + bool success = true; + if (endTime < today && _hda.Count > 0 && _hda[0].TimeStamp < today) + { + success = SaveRange(endTime, today); + } + if (success) + { + startTime = startTime.Date.AddDays(1); + endTime = endTime.Date.AddDays(1); + if (endTime >= today) endTime = today; + while (startTime <= endTime) + { + HDAIOHelper.BackUpFile(startTime); + startTime = startTime.AddDays(1); + } + } + } + } + catch (Exception err) + { + AddErrorLog(err); + } + } + + private void timer3_Elapsed(object sender, ElapsedEventArgs e) + { + var now = e.SignalTime; + List tempData = new List(); + foreach (var archive in _archiveTimes) + { + var archiveTime = archive.Value; + if (archiveTime != null && (now - archiveTime.LastTime).TotalMilliseconds > archiveTime.Cycle) + { + var tag = this[archive.Key]; + if (tag != null && tag.TimeStamp > archiveTime.LastTime) + { + tempData.Add(new HistoryData(tag.ID, tag.Quality, tag.Value, now)); + archive.Value.LastTime = now; + } + } + } + if (tempData.Count > 0) + { + ThreadPool.UnsafeQueueUserWorkItem(new WaitCallback(this.OnUpdate), tempData); + } + //var result = from item in _archiveTimes where item.Value.Cycle > 0 && (now - item.Value.LastTime).Milliseconds > item.Value.Cycle select item.Key; + } + + #region 鍒濆鍖栵紙鏍囩鏁版嵁鏈嶅姟鍣級 + void InitConnection() + { + foreach (IDriver reader in _drivers.Values) + { + reader.OnClose += new ShutdownRequestEventHandler(reader_OnClose); + if (reader.IsClosed) + { + //if (reader is IFileDriver) + reader.Connect(); + } + foreach (IGroup grp in reader.Groups) + { + grp.DataChange += new DataChangeEventHandler(grp_DataChange); + //鍙湪姝ゅ姞鍏ュ垽鏂紝濡備负ClientDriver鍙戝嚭锛屽垯鍙樺寲鏁版嵁姣嬮』骞挎挱锛屽彧闇褰掓。銆 + grp.IsActive = grp.IsActive; + } + } + //姝ゅ闇鏀硅繘,涓嶤ondition閲囩敤鐩稿悓鐨勫鐞嗘柟寮忥紝鍙厤缃 + } + + void InitServerByDatabase() + { + using (var dataReader = DataHelper.Instance.ExecuteProcedureReader("InitServer", DataHelper.CreateParam("@TYPE", SqlDbType.Int, 0))) + { + if (dataReader == null) return;// Stopwatch sw = Stopwatch.StartNew(); + while (dataReader.Read()) + { + AddDriver(dataReader.GetInt16(0), dataReader.GetNullableString(1), + dataReader.GetNullableString(2), dataReader.GetInt32(3), dataReader.GetNullableString(4), dataReader.GetNullableString(5), + dataReader.GetNullableString(6), dataReader.GetNullableString(7)); + } + + dataReader.NextResult(); + dataReader.Read(); + int count = dataReader.GetInt32(0); + _list = new List(count); + _mapping = new Dictionary(count); + dataReader.NextResult(); + while (dataReader.Read()) + { + var meta = new TagMetaData(dataReader.GetInt16(0), dataReader.GetInt16(1), dataReader.GetString(2), dataReader.GetString(3), (DataType)dataReader.GetByte(4), + (ushort)dataReader.GetInt16(5), dataReader.GetBoolean(6), dataReader.GetFloat(7), dataReader.GetFloat(8), dataReader.GetInt32(9)); + _list.Add(meta); + if (meta.Archive) + { + _archiveTimes.Add(meta.ID, meta.Cycle == 0 ? null : new ArchiveTime(meta.Cycle, DateTime.MinValue)); + } + //Advise(DDETOPIC, meta.Name); + } + _list.Sort(); + dataReader.NextResult(); + while (dataReader.Read()) + { + IDriver dv; + _drivers.TryGetValue(dataReader.GetInt16(0), out dv); + if (dv != null) + { + IGroup grp = dv.AddGroup(dataReader.GetString(1), dataReader.GetInt16(2), dataReader.GetInt32(3), + dataReader.GetFloat(4), dataReader.GetBoolean(5)); + if (grp != null) + grp.AddItems(_list); + } + } + dataReader.NextResult(); + while (dataReader.Read()) + { + ITag tag = this[dataReader.GetNullableString(0)]; + if (tag != null) + { + tag.ValueChanged += OnValueChanged; + } + } + dataReader.NextResult(); + _conditions = new List(); + _conditionList = new List(); + while (dataReader.Read()) + { + int id = dataReader.GetInt32(0); + AlarmType type = (AlarmType)dataReader.GetInt32(2); + ICondition cond; + string source = dataReader.GetString(1); + if (_conditions.Count > 0) + { + cond = _conditions[_conditions.Count - 1]; + if (cond.ID == id) + { + cond.AddSubCondition(new SubCondition((SubAlarmType)dataReader.GetInt32(9), dataReader.GetFloat(10), + (Severity)dataReader.GetByte(11), dataReader.GetString(12), dataReader.GetBoolean(13))); + continue; + } + } + switch (type) + { + case AlarmType.Complex: + cond = new ComplexCondition(id, source, dataReader.GetString(6), dataReader.GetFloat(7), dataReader.GetInt32(8)); + break; + case AlarmType.Level: + cond = new LevelAlarm(id, source, dataReader.GetString(6), dataReader.GetFloat(7), dataReader.GetInt32(8)); + break; + case AlarmType.Dev: + cond = new DevAlarm(id, (ConditionType)dataReader.GetByte(4), source, dataReader.GetString(6), + dataReader.GetFloat(5), dataReader.GetFloat(7), dataReader.GetInt32(8)); + break; + case AlarmType.ROC: + cond = new ROCAlarm(id, source, dataReader.GetString(6), dataReader.GetFloat(7), dataReader.GetInt32(8)); + break; + case AlarmType.Quality: + cond = new QualitiesAlarm(id, source, dataReader.GetString(6)); + break; + case AlarmType.WordDsc: + cond = new WordDigitAlarm(id, source, dataReader.GetString(6), dataReader.GetInt32(8)); + break; + default: + cond = new DigitAlarm(id, source, dataReader.GetString(6), dataReader.GetInt32(8)); + break; + } + cond.AddSubCondition(new SubCondition((SubAlarmType)dataReader.GetInt32(9), dataReader.GetFloat(10), + (Severity)dataReader.GetByte(11), dataReader.GetString(12), dataReader.GetBoolean(13))); + + cond.IsEnabled = dataReader.GetBoolean(3); + var simpcond = cond as SimpleCondition; + if (simpcond != null) + { + simpcond.Tag = this[source]; + } + else + { + var complexcond = cond as ComplexCondition; + if (complexcond != null) + { + var action = complexcond.SetFunction(reval.Eval(source)); + if (action != null) + { + ValueChangedEventHandler handle = (s1, e1) => { action(); }; + foreach (ITag tag in reval.TagList) + { + tag.ValueChanged += handle;// tag.Refresh(); + } + } + } + } + cond.AlarmActive += new AlarmEventHandler(cond_SendAlarm); + //_conditions.Add(cond);// UpdateCondition(cond); + _conditions.Add(cond); + } + dataReader.NextResult(); + while (dataReader.Read()) + { + _scales.Add(new Scaling(dataReader.GetInt16(0), (ScaleType)dataReader.GetByte(1), + dataReader.GetFloat(2), dataReader.GetFloat(3), dataReader.GetFloat(4), dataReader.GetFloat(5))); + } + } + if (_archiveTimes.Count > 0) + { + _hasHda = true; + _hda.Capacity = MAXHDACAP; + } + reval.Clear(); + _scales.Sort(); + _compare = new CompareCondBySource(); + _conditions.Sort(_compare); + } + + void InitHost() + { + /*瀵瑰叧闂姸鎬佺殑鍒ゆ柇锛屾渶濂界敤蹇冭烦妫娴嬶紱鍐椾綑鍒囨崲锛屽彲骞挎挱鍐椾綑鍛戒护锛屽寘鍚柊涓绘満鍚嶃佹暟鎹簱杩炴帴銆両P鍦板潃绛夈 + * 鏈嶅姟鍚姩鏃讹紝鍚戞暣涓眬鍩熺綉UDP骞挎挱鍔犲瘑鐨勪富鏈哄悕銆佽繛鎺ュ瓧绗︿覆绛変俊鎭 + */ + //socketThreadList = new Dictionary(); + tcpServer = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); + IPEndPoint LocalPort = new IPEndPoint(IPAddress.Any, PORT); + tcpServer.Bind(LocalPort); + tcpServer.Listen(100); + ThreadPool.QueueUserWorkItem(new WaitCallback(AcceptWorkThread)); + } + + void InitServerByXml() + { + string path = PATH + '\\' + FILENAME; + if (File.Exists(path)) + { + try + { + using (var reader = XmlTextReader.Create(path)) + { + while (reader.Read()) + { + if (reader.NodeType == XmlNodeType.Element) + { + switch (reader.Name) + { + case "Server": + { + if (reader.MoveToAttribute("MaxLogSize")) + int.TryParse(reader.Value, out MAXLOGSIZE); + } + break; + case "Data": + { + if (reader.MoveToAttribute("TestCycle")) + int.TryParse(reader.Value, out CYCLE); + if (reader.MoveToAttribute("SendTimeout")) + int.TryParse(reader.Value, out SENDTIMEOUT); + } + break; + case "Hda": + { + if (reader.MoveToAttribute("MaxHdaCap")) + { + int.TryParse(reader.Value, out MAXHDACAP); + } + if (reader.MoveToAttribute("HdaLen")) + int.TryParse(reader.Value, out HDALEN); + if (reader.MoveToAttribute("WriteCycle")) + int.TryParse(reader.Value, out CYCLE2); + if (reader.MoveToAttribute("Delay")) + int.TryParse(reader.Value, out HDADELAY); + if (reader.MoveToAttribute("Interval")) + int.TryParse(reader.Value, out ARCHIVEINTERVAL); + } + break; + case "Alarm": + { + if (reader.MoveToAttribute("AlarmLimit")) + int.TryParse(reader.Value, out ALARMLIMIT); + if (reader.MoveToAttribute("Delay")) + int.TryParse(reader.Value, out ALARMDELAY); + } + break; + } + } + } + } + } + catch (Exception err) + { + AddErrorLog(err); + } + } + } + #endregion + + void AcceptWorkThread(object state) + { + while (true) + { + //if (tcpServer.Poll(0, SelectMode.SelectRead)) + Socket s_Accept = tcpServer.Accept(); + //IPAddress addr = (s_Accept.RemoteEndPoint as IPEndPoint).Address; + s_Accept.SendTimeout = SENDTIMEOUT; + IPAddress addr = (s_Accept.RemoteEndPoint as IPEndPoint).Address; + try + { + if (!_socketThreadList.ContainsKey(addr)) + _socketThreadList.Add(addr, s_Accept); + } + catch (Exception err) + { + AddErrorLog(err); + } + ThreadPool.UnsafeQueueUserWorkItem(new WaitCallback(ReceiveWorkThread), s_Accept); + } + } + + void ReceiveWorkThread(object obj) + { + Socket s_Receive = (Socket)obj; + IPAddress addr = null; + try + { + addr = (s_Receive.RemoteEndPoint as IPEndPoint).Address; + } + catch (Exception err) + { + AddErrorLog(err); + return; + } + byte[] buffer = new byte[s_Receive.ReceiveBufferSize]; // 鍒涘缓鎺ユ敹缂撳啿 + while (true) + { + try + { + if (addr == null || !_socketThreadList.ContainsKey(addr)) return; + /*if (!s_Receive.Connected) return; + 鍏充簬鏁版嵁浼犺緭鍗忚锛氬懡浠ゅ彲鍒嗕负锛氳鍗曟寚浠わ紙璁㈠崟绫诲瀷锛屽鍒犳敼鏍囪鍙悇鐢ㄤ竴涓瓧娈碉紝璺緞ID鐢℅UID锛岃矾寰勭姸鎬佸寘鎷殏鍋溿佺户缁 + 銆佺粓姝€佸惎鍔級锛涘彲杩斿洖瀹㈡埛绔竴涓彲琛岀殑璺緞璁惧閾俱丒RP浜ゆ崲鏁版嵁鎸囦护锛堝寘鍚獶ATASET)锛屽啑浣欏垏鎹㈡寚浠ょ瓑锛 + */ + int ReceiveCount = s_Receive.Receive(buffer); + + if (buffer[0] == FCTCOMMAND.fctHead) + { + //buffer[0]鏄崗璁ご锛1鏄寚浠ゅ彿锛2鏄鏂瑰紡锛堢紦瀛樿繕鏄澶囷級锛3銆4鏄疘D锛5鏄暱搴︼紝鍚庢帴鍙橀噺鍊 + byte command = buffer[1]; + switch (command) + { + case FCTCOMMAND.fctReadSingle: + { + //DataSource source = buffer[2] == 0 ? DataSource.Cache : DataSource.Device; + short id = BitConverter.ToInt16(buffer, 3); + byte length = buffer[5]; + byte[] send = new byte[5 + length]; + for (int i = 0; i < 5; i++) + { + send[i] = buffer[i]; + } + ITag tag = this[id]; + if (tag != null) + { + Storage value = buffer[2] == 0 ? tag.Value : tag.Read(DataSource.Device); + byte[] bt = tag.ToByteArray(value); + for (int k = 0; k < bt.Length; k++) + { + send[5 + k] = bt[k]; + } + } + else + { + //鍑洪敊澶勭悊,鍙冭檻杩斿洖涓涓狣ATATYPE.NONE绫诲瀷 + } + s_Receive.Send(send); + } + break; + case FCTCOMMAND.fctReadMultiple: + { + //buffer[0]鏄崗璁ご锛1鏄寚浠ゅ彿锛2鏄鏂瑰紡锛堢紦瀛樿繕鏄澶囷級锛3銆4鏄彉閲忔暟锛屽悗鎺ュ彉閲忓 + //DataSource source = buffer[2] == 0 ? DataSource.Cache : DataSource.Device; + byte[] send = new byte[s_Receive.SendBufferSize]; + send[0] = FCTCOMMAND.fctHead; + short count = BitConverter.ToInt16(buffer, 3);//瑕佽鍙栫殑鍙橀噺鏁 + int j = 5; int l = 5; + if (buffer[2] == 0) + { + for (int i = 0; i < count; i++) + { + short id = BitConverter.ToInt16(buffer, l); + send[j++] = buffer[l++]; + send[j++] = buffer[l++]; + ITag tag = this[id]; + if (tag != null) + { + byte[] bt = tag.ToByteArray(); + var length = (byte)bt.Length; + send[j++] = length; + for (int k = 0; k < length; k++) + { + send[j + k] = bt[k]; + } + j += length; + } + else + {//绫诲瀷鍚庤窡闀垮害 + send[j++] = 0; + } + } + } + else + { + Dictionary> dict = new Dictionary>(); + for (int i = 0; i < count; i++) + { + short id = BitConverter.ToInt16(buffer, l); + l += 2; + ITag tag = this[id]; + if (tag != null) + { + IGroup grp = tag.Parent; + if (!dict.ContainsKey(grp)) + dict.Add(grp, new List { tag }); + else + dict[grp].Add(tag); + } + } + foreach (var dev in dict) + { + var list = dev.Value; + var array = dev.Key.BatchRead(DataSource.Device, true, list.ToArray()); + if (array == null) continue; + for (int i = 0; i < list.Count; i++) + { + byte[] bt = list[i].ToByteArray(array[i].Value); + var length = (byte)bt.Length; + send[j++] = length; + for (int k = 0; k < bt.Length; k++) + { + send[j + k] = bt[k]; + } + j += length; + } + } + } + s_Receive.Send(send, 0, j, SocketFlags.None); + } + break; + case FCTCOMMAND.fctWriteSingle: + { + //buffer[0]鏄崗璁ご锛1鏄寚浠ゅ彿锛2鏄啓鏂瑰紡锛堢紦瀛樿繕鏄澶囷級锛3銆4鏄疘D锛5鏄暱搴 + short id = BitConverter.ToInt16(buffer, 3); + byte rs = 0; + ITag tag = this[id]; + if (tag != null)//姝ゅ搴旇冭檻涓囦竴鍐欏け璐ワ紝鏄惁闇瑕佹洿鏂板 + { + if (tag.Address.VarType == DataType.STR) + { + StringTag strTag = tag as StringTag; + if (strTag != null) + { + string txt = Encoding.ASCII.GetString(buffer, 6, buffer[5]).Trim((char)0); + rs = (byte)tag.Write(txt); + if (rs == 0) + strTag.String = txt; + } + } + else + { + Storage value = Storage.Empty; + switch (tag.Address.VarType) + { + case DataType.BOOL: + value.Boolean = BitConverter.ToBoolean(buffer, 6); + break; + case DataType.BYTE: + value.Byte = buffer[6]; + break; + case DataType.WORD: + case DataType.SHORT: + value.Int16 = BitConverter.ToInt16(buffer, 6); + break; + case DataType.TIME: + case DataType.INT: + value.Int32 = BitConverter.ToInt32(buffer, 6); + break; + case DataType.FLOAT: + value.Single = BitConverter.ToSingle(buffer, 6); + break; + default: + break; + } + rs = (byte)tag.Write(value, false); + } + } + else + { + rs = 0xFF;//姝ゅ闀垮害搴旀敞鎰;濡傛棤姝ゅ彉閲忥紝搴旇繑鍥炰竴涓敊璇唬鐮 + } + s_Receive.Send(new byte[] { FCTCOMMAND.fctWriteSingle, rs }, 0, 2, SocketFlags.None);//搴旇繑鍥炰竴涓敊璇唬鐮; + } + break; + case FCTCOMMAND.fctWriteMultiple: + { //int BatchWrite(IDictionary items, bool isSync = true); + int count = BitConverter.ToInt16(buffer, 2); + int j = 4; byte rs = 0; + Dictionary> dict = new Dictionary>(); + for (int i = 0; i < count; i++) + { + short id = BitConverter.ToInt16(buffer, j); + j += 2; + byte length = buffer[j++]; + ITag tag = this[id]; + IGroup grp = tag.Parent; + SortedDictionary values; + if (!dict.ContainsKey(grp)) + { + values = new SortedDictionary(); + dict.Add(grp, values); + } + else + values = dict[grp]; + if (tag != null) + { + switch (tag.Address.VarType) + { + case DataType.BOOL: + values.Add(tag, BitConverter.ToBoolean(buffer, j)); + break; + case DataType.BYTE: + values.Add(tag, buffer[j]); + break; + case DataType.WORD: + case DataType.SHORT: + values.Add(tag, BitConverter.ToInt16(buffer, j)); + break; + case DataType.TIME: + case DataType.INT: + values.Add(tag, BitConverter.ToInt32(buffer, j)); + break; + case DataType.FLOAT: + values.Add(tag, BitConverter.ToSingle(buffer, j)); + break; + case DataType.STR: + values.Add(tag, Encoding.ASCII.GetString(buffer, j, length).Trim((char)0)); + break; + } + } + j += length; + } + foreach (var dev in dict) + { + if (dev.Key.BatchWrite(dev.Value) < 0) rs = 0xFF; + } + s_Receive.Send(new byte[] { FCTCOMMAND.fctWriteMultiple, rs }, 0, 2, SocketFlags.None); + } + break; + case FCTCOMMAND.fctAlarmRequest://鍒锋柊鎶ヨ鏁版嵁 + { + if (_alarmList.Count > 0) + { + long startTime = BitConverter.ToInt64(buffer, 2); + long endTime = BitConverter.ToInt64(buffer, 10); + if (_alarmstart > DateTime.FromFileTime(startTime) || DateTime.FromFileTime(endTime) > _alarmstart) + { + SaveAlarm(); + } + } + s_Receive.Send(new byte[] { FCTCOMMAND.fctAlarmRequest, 0 }, 0, 2, SocketFlags.None); + } + break; + case FCTCOMMAND.fctReset://閲嶇疆杩炴帴 + { + byte[] iparry = new byte[4]; + Array.Copy(buffer, 2, iparry, 0, 4); + IPAddress ipaddr = new IPAddress(iparry); + if (_socketThreadList.Count > 0 && _socketThreadList.ContainsKey(ipaddr)) + { + var scok = _socketThreadList[ipaddr]; + _socketThreadList.Remove(ipaddr); + if (scok != null) + { + scok.Dispose(); + } + } + } + break; + case FCTCOMMAND.fctHdaRequest: + { + DateTime start = DateTime.FromFileTime(BitConverter.ToInt64(buffer, 2)); + DateTime end = DateTime.FromFileTime(BitConverter.ToInt64(buffer, 10)); + try + { + SendHData(GetHData(start, end), new byte[HDALEN], s_Receive); + } + catch (Exception err) + { + AddErrorLog(err); + } + s_Receive.Send(new byte[] { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, 24, SocketFlags.None); + } + break; + case FCTCOMMAND.fctHdaIdRequest://浼樺厛璇诲彇鏈湴HDA鏂囦欢澶逛笅鐨勪簩杩涘埗褰掓。鏂囦欢 + { + DateTime start = DateTime.FromFileTime(BitConverter.ToInt64(buffer, 2)); + DateTime end = DateTime.FromFileTime(BitConverter.ToInt64(buffer, 10)); + short ID = BitConverter.ToInt16(buffer, 18); + try + { + SendHData(GetHData(start, end, ID), new byte[HDALEN], s_Receive, this[ID]); + } + catch (Exception err) + { + AddErrorLog(err); + } + s_Receive.Send(new byte[] { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, 24, SocketFlags.None); + } + break; + } + } + } + catch (SocketException ex) + { + var err = ex.SocketErrorCode; + if (err == SocketError.ConnectionAborted || err == SocketError.HostDown || err == SocketError.NetworkDown || err == SocketError.Shutdown || err == SocketError.ConnectionReset) + { + s_Receive.Dispose(); + if (addr != null) + _socketThreadList.Remove(addr); + //s_Receive.Dispose(); + } + AddErrorLog(ex); + } + catch (Exception ex) + { + AddErrorLog(ex); + } + } + } + + #region 鍘嗗彶鏁版嵁褰掓。鏌ヨ + private IEnumerable GetHData(DateTime start, DateTime end, short ID) + { + if (start > end) yield break; + DateTime now = DateTime.Now; + if (start > now) yield break; + if (end > now) end = now; + if (now.Date > start.Date) + { + DateTime tempstart = DateTime.MinValue; + DateTime tempend = end; + HDAIOHelper.GetRangeFromDatabase(ID, ref tempend, ref tempstart); + if (tempend > end) tempend = end; + if (tempend > start) + { + int eyear = tempend.Year; + int syear = start.Year; + int emonth = tempend.Month; + int smonth = start.Month; + int year = syear; + while (year <= eyear) + { + int month = (year == syear ? smonth : 1); + while (month <= (year == eyear ? emonth : 12)) + { + var result = HDAIOHelper.LoadFromFile((year == syear && month == smonth ? start : new DateTime(year, month, 1)), + (year == eyear && month == emonth ? tempend : new DateTime(year, month, 1).AddMonths(1).AddMilliseconds(-2)), ID);//鑰冭檻鎸夋湀閬嶅巻 + if (result != null) + { + foreach (var data in result) + { + yield return data; + } + } + month++; + } + year++; + } + } + } + var tempdata = _hda.ToArray(); + DateTime ftime = (tempdata.Length > 0 ? tempdata[0].TimeStamp : DateTime.Now); + if (start < ftime) + { + var result = HDAIOHelper.LoadFromDatabase(start, ftime > end ? end : ftime, ID);//鑼冨洿鍐茬獊 + if (result != null) + { + foreach (var data in result) + { + yield return data; + } + } + } + if (end > ftime) + { + var result = tempdata.Where(x => x.ID == ID && x.TimeStamp >= ftime && x.TimeStamp <= end); + if (result != null) + { + foreach (var data in result) + { + yield return data; + } + } + } + yield break; + } + + private IEnumerable GetHData(DateTime start, DateTime end) + { + if (start > end) yield break; + DateTime now = DateTime.Now; + if (start > now) yield break; + if (end > now) end = now; + if (now.Date > start.Date) + { + DateTime tempstart = DateTime.MinValue; + DateTime tempend = end; + HDAIOHelper.GetRangeFromDatabase(null, ref tempend, ref tempstart); + if (tempend > start) + { + int eyear = tempend.Year; + int syear = start.Year; + int emonth = tempend.Month; + int smonth = start.Month; + int year = syear; + while (year <= eyear) + { + int month = (year == syear ? smonth : 1); + while (month <= (year == eyear ? emonth : 12)) + { + var result = HDAIOHelper.LoadFromFile((year == syear && month == smonth ? start : new DateTime(year, month, 1)), + (year == eyear && month == emonth ? tempend : new DateTime(year, month, 1).AddMonths(1).AddMilliseconds(-2)));//鑰冭檻鎸夋湀閬嶅巻 + if (result != null) + { + foreach (var data in result) + { + yield return data; + } + } + month++; + } + year++; + } + } + } + var tempdata = _hda.ToArray(); + DateTime ftime = (tempdata.Length > 0 ? tempdata[0].TimeStamp : DateTime.Now); + if (start < ftime) + { + var result = HDAIOHelper.LoadFromDatabase(start, ftime > end ? end : ftime);//鑼冨洿鍐茬獊 + if (result != null) + { + foreach (var data in result) + { + yield return data; + } + } + } + if (end > ftime) + { + var result = tempdata.Where(x => x.TimeStamp >= ftime && x.TimeStamp <= end); + if (result != null) + { + foreach (var data in result) + { + yield return data; + } + } + } + yield break; + } + + private void SendHData(IEnumerable result, byte[] buffer, Socket socket, ITag tag) + { + if (result == null || tag == null || socket == null || !socket.Connected) return; + int index = 0; + int len = buffer.Length; + int size = tag.Address.DataSize; + foreach (var data in result) + { + if (index + 8 + size >= len) + { + //s_Receive.BeginSend(tempbuffer, 0, index, SocketFlags.None, null, null); + socket.Send(buffer, index, SocketFlags.None); + index = 0; + } + byte[] bits = tag.ToByteArray(data.Value); + bits.CopyTo(buffer, index); + index += size; + bits = BitConverter.GetBytes(data.TimeStamp.ToFileTime()); + bits.CopyTo(buffer, index); + index += 8; + } + socket.Send(buffer, index, SocketFlags.None); + } + + private void SendHData(IEnumerable result, byte[] buffer, Socket socket) + { + if (result == null || socket == null || !socket.Connected) return; + int index = 0; + int len = buffer.Length; + short tempid = short.MinValue; + ITag tag = null; + byte[] idarray = new byte[2]; + foreach (var data in result) + { + if (tempid != data.ID) + { + tempid = data.ID; + idarray = BitConverter.GetBytes(tempid); + tag = this[tempid]; + } + if (tag == null) continue; + int size = tag.Address.DataSize; + if (index + 10 + size >= len) + { + //s_Receive.BeginSend(tempbuffer, 0, index, SocketFlags.None, null, null);杩欓噷鏈変竴涓悓姝ョ殑闂锛屽彂鐢烮D鍙烽敊浣嶃 + socket.Send(buffer, index, SocketFlags.None); + index = 0; + } + idarray.CopyTo(buffer, index); + index += 2; + byte[] bits = tag.ToByteArray(data.Value); + bits.CopyTo(buffer, index); + index += size; + bits = BitConverter.GetBytes(data.TimeStamp.ToFileTime()); + bits.CopyTo(buffer, index); + index += 8; + } + socket.Send(buffer, index, SocketFlags.None); + } + + private object _hdaRoot = new object(); + public void Flush() + { + lock (_hdaRoot) + { + if (_hda.Count == 0) return; + if (DataHelper.Instance.BulkCopy(new HDASqlReader(_hda, this), "Log_HData", + string.Format("DELETE FROM Log_HData WHERE [TIMESTAMP]>'{0}'", _hda[0].TimeStamp.ToString()))) + { + _hda.Clear(); + _hdastart = DateTime.Now; + } + } + } + + public bool SaveRange(DateTime startTime, DateTime endTime) + { + var tempdata = _hda.ToArray(); + if (tempdata.Length == 0) return true; + return DataHelper.Instance.BulkCopy(new HDASqlReader(GetData(tempdata, startTime, endTime), this), "Log_HData", + string.Format("DELETE FROM Log_HData WHERE [TIMESTAMP] BETWEEN '{0}' AND '{1}'", startTime, endTime)); + } + + public void OnUpdate(object stateInfo) + { + lock (_hdaRoot) + { + var tempData = (List)stateInfo; + _hda.AddRange(tempData); + if (_hda.Count >= MAXHDACAP) + { + //Reverse(data); + DateTime start = _hda[0].TimeStamp; + //_array.CopyTo(data, 0); + if (DataHelper.Instance.BulkCopy(new HDASqlReader(_hda, this), "Log_HData", + string.Format("DELETE FROM Log_HData WHERE [TIMESTAMP]>'{0}'", start.ToString()))) + _hdastart = DateTime.Now; + else ThreadPool.UnsafeQueueUserWorkItem(new WaitCallback(this.SaveCachedData), _hda.ToArray()); + _hda.Clear(); + } + } + } + + public void SaveCachedData(object stateInfo) + { + var tempData = (HistoryData[])stateInfo; + if (tempData.Length == 0) return; + DateTime startTime = tempData[0].TimeStamp; + DateTime endTime = tempData[tempData.Length - 1].TimeStamp; + //Thread.Sleep(TimeSpan.FromMinutes(10)); + int count = 0; + while (true) + { + if (count >= 5) return; + if (DataHelper.Instance.BulkCopy(new HDASqlReader(tempData, this), "Log_HData", + string.Format("DELETE FROM Log_HData WHERE [TIMESTAMP] BETWEEN '{0}' AND '{1}'", + startTime, endTime))) + { + stateInfo = null; + _hdastart = DateTime.Now; + } + count++; + Thread.Sleep(CYCLE2); + } + } + + public IEnumerable GetData(HistoryData[] hdaarray, DateTime startTime, DateTime endTime) + { + //if (hdaarray.Length == 0) yield break; + foreach (var data in hdaarray) + { + if (data.TimeStamp >= startTime) + { + if (data.TimeStamp <= endTime) + yield return data; + else + yield break; + } + } + } + #endregion + + void OnValueChanged(object sender, ValueChangedEventArgs e) + { + var tag = sender as ITag; + DataHelper.Instance.ExecuteStoredProcedure("AddEventLog", + DataHelper.CreateParam("@StartTime", SqlDbType.DateTime, tag.TimeStamp), + DataHelper.CreateParam("@Source", SqlDbType.NVarChar, tag.ID.ToString(), 50), + DataHelper.CreateParam("@StartTime", SqlDbType.NVarChar, tag.ToString(), 50)); + } + + public HistoryData[] BatchRead(DataSource source, bool sync, params ITag[] itemArray) + { + int count = itemArray.Length; + HistoryData[] data = new HistoryData[count]; + Dictionary> dict = new Dictionary>(); + for (int i = 0; i < count; i++) + { + short id = itemArray[i].ID; + ITag tag = this[id]; + if (tag != null) + { + IGroup grp = tag.Parent; + if (!dict.ContainsKey(grp)) + dict.Add(grp, new List { tag }); + else + dict[grp].Add(tag); + } + } + int j = 0; + foreach (var dev in dict) + { + var list = dev.Value; + var array = dev.Key.BatchRead(source, sync, list.ToArray()); + if (array == null) continue; + Array.Copy(array, 0, data, j, array.Length); + j += array.Length; + } + return data; + } + + public int BatchWrite(Dictionary tags, bool sync) + { + int rs = -1; + Dictionary> dict = new Dictionary>(); + foreach (var item in tags) + { + var tag = this[item.Key]; + if (tag != null) + { + IGroup grp = tag.Parent; + SortedDictionary values; + if (!dict.ContainsKey(grp)) + { + values = new SortedDictionary(); + if (tag.Address.VarType != DataType.BOOL && tag.Address.VarType != DataType.STR) + { + values.Add(tag, tag.ValueToScale(Convert.ToSingle(item.Value))); + } + else + values.Add(tag, item.Value); + dict.Add(grp, values); + } + else + { + values = dict[grp]; + if (tag.Address.VarType != DataType.BOOL && tag.Address.VarType != DataType.STR) + { + values.Add(tag, tag.ValueToScale(Convert.ToSingle(item.Value))); + } + else + values.Add(tag, item.Value); + } + } + else Log.LogError(string.Format("鍙橀噺{0}涓嶅湪鍙橀噺琛ㄤ腑锛屾棤娉曚笅杞", item.Key)); + } + foreach (var dev in dict) + { + rs = dev.Key.BatchWrite(dev.Value, sync); + } + return rs; + } + + void grp_DataChange(object sender, DataChangeEventArgs e) + { + var data = e.Values; + var now = DateTime.Now; + if (_hasHda) + { + ArchiveTime archiveTime; + List tempData = new List(20); + for (int i = 0; i < data.Count; i++) + { + if (_archiveTimes.TryGetValue(data[i].ID, out archiveTime) && archiveTime == null && data[i].TimeStamp != DateTime.MinValue) + { + tempData.Add(data[i]); + } + } + if (tempData.Count > 0) + { + ThreadPool.UnsafeQueueUserWorkItem(new WaitCallback(this.OnUpdate), tempData); + } + } + if (_socketThreadList != null && _socketThreadList.Count > 0) + { + IPAddress addr = null; + var grp = sender as ClientGroup; + if (grp != null) + addr = grp.RemoteAddress; + ThreadPool.UnsafeQueueUserWorkItem(new WaitCallback(this.SendData), new TempCachedData(addr, data)); + } + } + //姝ゅ鍙戠敓鍐呭瓨娉勬紡锛涢渶瑕佽瘯楠孋LRProfile纭畾娉勬紡鍘熷洜锛涙敼鍥炲師鏂规硶娴嬭瘯锛涚湅鏄惁瑙e喅闃熷垪鍫靛闂銆傚浜庡鎴风Grp,瑕佽繃婊ゆ帀 + private void SendData(object obj) + { + var tempdata = obj as TempCachedData; + var data = tempdata.Data; + byte[] sendBuffer = new byte[8192]; + sendBuffer[0] = FCTCOMMAND.fctHead; + sendBuffer[1] = FCTCOMMAND.fctReadMultiple; + //bytes[2] = 0; + int len = data.Count; + short j = 5; + for (int i = 0; i < len; i++) + { + short id = data[i].ID; + byte[] dt = BitConverter.GetBytes(id); + sendBuffer[j++] = dt[0]; + sendBuffer[j++] = dt[1]; + switch (_list[GetItemProperties(id)].DataType) + { + case DataType.BOOL: + sendBuffer[j++] = 1; + sendBuffer[j++] = data[i].Value.Boolean ? (byte)1 : (byte)0; + break; + case DataType.BYTE: + sendBuffer[j++] = 1; + sendBuffer[j++] = data[i].Value.Byte; + break; + case DataType.WORD: + case DataType.SHORT: + { + sendBuffer[j++] = 2; + byte[] bt = BitConverter.GetBytes(data[i].Value.Int16); + sendBuffer[j++] = bt[0]; + sendBuffer[j++] = bt[1]; + } + break; + case DataType.TIME: + case DataType.INT: + { + sendBuffer[j++] = 4; + byte[] bt = BitConverter.GetBytes(data[i].Value.Int32); + sendBuffer[j++] = bt[0]; + sendBuffer[j++] = bt[1]; + sendBuffer[j++] = bt[2]; + sendBuffer[j++] = bt[3]; + } + break; + case DataType.FLOAT: + { + sendBuffer[j++] = 4; + byte[] bt = BitConverter.GetBytes(data[i].Value.Single); + sendBuffer[j++] = bt[0]; + sendBuffer[j++] = bt[1]; + sendBuffer[j++] = bt[2]; + sendBuffer[j++] = bt[3]; + } + break; + case DataType.STR: + { + byte[] bt = Encoding.ASCII.GetBytes(this[data[i].ID].ToString()); + sendBuffer[j++] = (byte)bt.Length; + for (int k = 0; k < bt.Length; k++) + { + sendBuffer[j++] = bt[k]; + } + } + break; + default: + break; + } + Array.Copy(BitConverter.GetBytes((data[i].TimeStamp == DateTime.MinValue ? DateTime.Now : data[i].TimeStamp).ToFileTime()), 0, sendBuffer, j, 8); + j += 8; + } + byte[] dt1 = BitConverter.GetBytes(j); + sendBuffer[3] = dt1[0]; + sendBuffer[4] = dt1[1]; + SocketError err; + //bytes.CopyTo(bytes2, 0); + List sockets = new List(_socketThreadList.Count); + foreach (var socket in _socketThreadList) + { + if (!socket.Key.Equals(tempdata.Address)) + sockets.Add(socket.Value); + } + data = null; + obj = null; + tempdata = null; + foreach (var socket in sockets) + { + try + { + socket.Send(sendBuffer, 0, j, SocketFlags.None, out err); + if (err == SocketError.ConnectionAborted || err == SocketError.HostDown || + err == SocketError.NetworkDown || err == SocketError.Shutdown) + { + _socketThreadList.Remove((socket.RemoteEndPoint as IPEndPoint).Address); + } + } + catch (Exception ex1) + { + AddErrorLog(ex1); + } + } + } + + public IDriver AddDriver(short id, string name, string server, int timeOut, + string assembly, string className, string spare1, string spare2) + { + if (_drivers.ContainsKey(id)) + return _drivers[id]; + IDriver dv = null; + try + { + Assembly ass = Assembly.LoadFrom(assembly); + var dvType = ass.GetType(className); + if (dvType != null) + { + //dv = new ModbusDriver.ModbusTCPReader(this, id, name, server, timeOut); + dv = Activator.CreateInstance(dvType, new object[] { this, id, name, server, timeOut, spare1, spare2 }) as IDriver; + if (dv != null) + _drivers.Add(id, dv); + } + } + catch (Exception e) + { + AddErrorLog(e); + } + return dv; + } + + public bool RemoveDriver(IDriver device) + { + lock (SyncRoot) + { + if (_drivers.Remove(device.ID)) + { + device.Dispose(); + device = null; + return true; + } + return false; + } + } + + void reader_OnClose(object sender, ShutdownRequestEventArgs e) + { + Log.LogWarning(e.shutdownReason); + //AddErrorLog(new Exception(e.shutdownReason)); + } + + public bool AddItemIndex(string key, ITag value) + { + key = key.ToUpper(); + if (_mapping.ContainsKey(key)) + return false; + _mapping.Add(key, value); + return true; + } + + public bool RemoveItemIndex(string key) + { + return _mapping.Remove(key.ToUpper()); + } + + + object _alarmsync = new object(); + + string[] itemList = null; + public IEnumerable BrowseItems(BrowseType browseType, string tagName, DataType dataType) + { + lock (SyncRoot) + { + if (_list.Count == 0) yield break; + int len = _list.Count; + if (itemList == null) + { + itemList = new string[len]; + for (int i = 0; i < len; i++) + { + itemList[i] = _list[i].Name; + } + Array.Sort(itemList); + } + int ii = 0; + bool hasTag = !string.IsNullOrEmpty(tagName); + bool first = true; + string str = hasTag ? tagName + SPLITCHAR : string.Empty; + if (hasTag) + { + ii = Array.BinarySearch(itemList, tagName); + if (ii < 0) first = false; + //int strLen = str.Length; + ii = Array.BinarySearch(itemList, str); + if (ii < 0) ii = ~ii; + } + //while (++i < len && temp.Length >= strLen && temp.Substring(0, strLen) == str) + do + { + if (first && hasTag) + { + first = false; + yield return tagName; + } + string temp = itemList[ii]; + if (hasTag && !temp.StartsWith(str, StringComparison.Ordinal)) + break; + if (dataType == DataType.NONE || _mapping[temp].Address.VarType == dataType) + { + bool b3 = true; + if (browseType != BrowseType.Flat) + { + string curr = temp + SPLITCHAR; + int index = Array.BinarySearch(itemList, ii, len - ii, curr); + if (index < 0) index = ~index; + b3 = itemList[index].StartsWith(curr, StringComparison.Ordinal); + if (browseType == BrowseType.Leaf) + b3 = !b3; + } + if (b3) + yield return temp; + } + } while (++ii < len); + } + } + + public int GetScaleByID(short Id) + { + if (_scales == null || _scales.Count == 0) return -1; + return _scales.BinarySearch(new Scaling { ID = Id }); + } + + public IGroup GetGroupByName(string name) + { + if (string.IsNullOrEmpty(name)) return null; + foreach (IDriver device in Drivers) + { + foreach (IGroup grp in device.Groups) + { + if (grp.Name == name) + return grp; + } + } + return null; + } + + public void ActiveItem(bool active, params ITag[] items) + { + Dictionary> dict = new Dictionary>(); + for (int i = 0; i < items.Length; i++) + { + List list = null; + ITag item = items[i]; + dict.TryGetValue(item.Parent, out list); + if (list != null) + { + list.Add(item.ID); + } + else + dict.Add(item.Parent, new List { item.ID }); + + } + foreach (var grp in dict) + { + grp.Key.SetActiveState(active, grp.Value.ToArray()); + } + } + + public int GetItemProperties(short id) + { + return _list.BinarySearch(new TagMetaData { ID = id }); + } + #endregion + + #region Condition & Alarm锛堟姤璀﹀拰鏉′欢锛 + List _conditions; + List _conditionList; + + List _alarmList; + public IEnumerable AlarmList + { + get + { + return _alarmList; + } + } + + public IList ActivedConditionList + { + get + { + return _conditionList; + } + } + + public IList ConditionList + { + get + { + return _conditions; + } + } + + void cond_SendAlarm(object sender, AlarmItem e) + { + lock (_alarmsync) + { + int index2 = _conditions.BinarySearch(new DigitAlarm(0, e.Source), _compare); + if (index2 > -1) + { + var cond = _conditions[index2]; + _conditionList.Remove(cond); + if (e.SubAlarmType != SubAlarmType.None) + { + _conditionList.Add(cond); + } + } + + if (_alarmList.Count < ALARMLIMIT) + { + _alarmList.Add(e); + } + else + { + SaveAlarm(); + _alarmList.Add(e); + } + } + /*搴斿姞鍏ュ垽鏂紝鏄惁闇瑕佹洿鏂版暟鎹簱锛坕f(Index>=ALARMLIMIT){Save(); Index=0;}else Index++; + * 瀹㈡埛绔煡璇㈠墠鍏堝彂閫佷竴涓煡璇㈡姤璀(alarmQuery)璇锋眰锛屽寘鍚捣濮嬫椂闂村弬鏁帮紝鏈嶅姟鍣ㄤ粠鍒ゆ柇鏄惁瑕佸皢缂撳瓨鍐欏叆鏁版嵁搴擄紝 + * 寰呮湇鍔″櫒杩斿洖灏辩华鍚庯紝瀹㈡埛绔啀浠庢暟鎹簱鏌ヨ鎶ヨ璁板綍銆 + */ + } + + private bool SaveAlarm() + { + if (_alarmList.Count == 0) return true; + if (DataHelper.Instance.BulkCopy(new AlarmDataReader(_alarmList), "Log_Alarm", null)) + { + _alarmList.Clear(); + _alarmstart = DateTime.Now; + return true; + } + return false; + } + + public ICondition GetCondition(string tagName, AlarmType type) + { + ITag tag = this[tagName]; + if (tag == null) return null; + short id = tag.ID; + int index = _conditions.BinarySearch(new DigitAlarm(0, tagName)); + if (index < 0) return null; + int ind1 = index - 1; + ICondition cond = _conditions[index]; + while (index < _conditions.Count && cond.Source == tagName) + { + cond = _conditions[index++]; + if (cond.AlarmType == type) + { + return cond; + } + } + while (ind1 >= 0 && cond.Source == tagName) + { + cond = _conditions[ind1--]; + if (cond.AlarmType == type) + { + return cond; + } + } + return null; + } + + public IList QueryConditions(string sourceName) + { + if (_conditions == null || sourceName == null) return null; + ITag tag = this[sourceName]; + if (tag == null) return null; + int index = _conditions.BinarySearch(new DigitAlarm(0, sourceName)); + if (index < 0) return null; + List condList = new List(); + ICondition cond = _conditions[index]; + int ind1 = index - 1; + while (cond.Source == sourceName) + { + condList.Add(cond); + if (++index < _conditions.Count) + cond = _conditions[index]; + else + break; + } + while (ind1 >= 0) + { + if (cond.Source == sourceName) + condList.Add(cond); + } + return condList; + } + + public int DisableCondition(string sourceName, AlarmType type) + { + var cond = GetCondition(sourceName, type); + if (cond != null) + { + cond.IsEnabled = false; + return 1; + } + return -1; + } + + public int EnableCondition(string sourceName, AlarmType type) + { + var cond = GetCondition(sourceName, type); + if (cond != null) + { + cond.IsEnabled = true; + return 1; + } + return -1; + } + + public int RemoveConditon(string sourceName, AlarmType type) + { + var cond = GetCondition(sourceName, type); + if (cond != null) + { + _conditions.Remove(cond); + return 1; + } + return -1; + } + + public int RemoveConditons(string sourceName) + { + ITag tag = this[sourceName]; + if (_conditions == null || tag == null) return -1; + int index = _conditions.BinarySearch(new DigitAlarm(0, sourceName)); + if (index < 0) return index; + int ind1 = index - 1; + ICondition cond = _conditions[index]; + List li = new List(); + while (cond.Source == sourceName) + { + li.Add(index); + if (++index < _conditions.Count) + cond = _conditions[index]; + else + break; + } + while (ind1 >= 0) + { + cond = _conditions[ind1--]; + if (cond.Source == sourceName) + li.Add(ind1); + } + if (li.Count == 0) return -1; + for (int i = li.Count - 1; i >= 0; i--) + { + _conditions.RemoveAt(i); + } + return 1; + } + + public int AckConditions(params ICondition[] conditions) + { + if (conditions == null || conditions.Length == 0) return -1; + foreach (ICondition cond in conditions) + { + cond.IsAcked = true; + cond.LastAckTime = DateTime.Now; + } + return 1; + } + #endregion + } + + class TempCachedData + { + IPAddress _addr; + public IPAddress Address + { + get { return _addr; } + } + + IList _data; + public IList Data + { + get { return _data; } + } + + public TempCachedData(IPAddress addr, IList data) + { + _addr = addr; + _data = data; + } + } + + internal sealed class ArchiveTime + { + public int Cycle; + public DateTime LastTime; + public ArchiveTime(int cycle, DateTime last) + { + Cycle = cycle; + LastTime = last; + } + } +} diff --git a/SCADA/Program/CoreApp/DataService/GateWay/GateWay.csproj b/SCADA/Program/CoreApp/DataService/GateWay/GateWay.csproj new file mode 100644 index 0000000..58c9ec4 --- /dev/null +++ b/SCADA/Program/CoreApp/DataService/GateWay/GateWay.csproj @@ -0,0 +1,22 @@ + + + + Exe + netcoreapp2.0 + + + + + + + + + + + + + + + + + diff --git a/SCADA/Program/CoreApp/DataService/GateWay/Program.cs b/SCADA/Program/CoreApp/DataService/GateWay/Program.cs new file mode 100644 index 0000000..d73799c --- /dev/null +++ b/SCADA/Program/CoreApp/DataService/GateWay/Program.cs @@ -0,0 +1,17 @@ +锘縰sing BatchCoreService; +using System; + +namespace GateWay +{ + class Program + { + static void Main(string[] args) + { + //Console.WriteLine("Hello World!"); + DAService dataService = new DAService(); + Console.ReadLine(); + } + + + } +} diff --git a/SCADA/Program/CoreApp/DataService/GateWay/SqlMapping.cs b/SCADA/Program/CoreApp/DataService/GateWay/SqlMapping.cs new file mode 100644 index 0000000..c7a9ec8 --- /dev/null +++ b/SCADA/Program/CoreApp/DataService/GateWay/SqlMapping.cs @@ -0,0 +1,556 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Data; +using DataService; + +namespace BatchCoreService +{ + internal class AlarmDataReader : IDataReader + { + IEnumerator _enumer; + + public AlarmDataReader(IEnumerable list) + { + this._enumer = list.GetEnumerator(); + } + + #region IDataReader Members + + public void Close() + { + + } + public int Depth + { + get { return 0; } + } + + public DataTable GetSchemaTable() + { + DataTable table = new DataTable("AlarmItem"); + table.Columns.Add("StartTime", typeof(DateTime)); + table.Columns.Add("Source", typeof(string)); + table.Columns.Add("ConditionId", typeof(int)); + table.Columns.Add("AlarmText", typeof(string)); + table.Columns.Add("AlarmValue", typeof(object)); + table.Columns.Add("Duration", typeof(int)); + table.Columns.Add("Severity", typeof(int)); + table.Columns.Add("SubAlarmType", typeof(int)); + return table; + } + public bool IsClosed + { + get { return false; } + } + + public bool NextResult() + { + return false; + } + + public bool Read() + { + return _enumer.MoveNext(); + } + + public int RecordsAffected + { + get { throw new NotImplementedException(); } + } + + #endregion + + #region IDisposable Members + + public void Dispose() + { + } + + #endregion + + #region IDataRecord Members + + public int FieldCount + { + get { return 8; } + } + + public bool GetBoolean(int i) + { + return (bool)GetValue(i); + } + + public byte GetByte(int i) + { + return (byte)GetValue(i); + } + + public long GetBytes(int i, long fieldOffset, byte[] buffer, int bufferoffset, int length) + { + throw new NotImplementedException(); + } + + public char GetChar(int i) + { + return (char)GetValue(i); + } + + public long GetChars(int i, long fieldoffset, char[] buffer, int bufferoffset, int length) + { + throw new NotImplementedException(); + } + + public IDataReader GetData(int i) + { + throw new NotImplementedException(); + } + + public string GetDataTypeName(int i) + { + throw new NotImplementedException(); + } + + public DateTime GetDateTime(int i) + { + return (DateTime)GetValue(i); + } + + public decimal GetDecimal(int i) + { + return (decimal)GetValue(i); + } + + public double GetDouble(int i) + { + return (double)GetValue(i); + } + + public Type GetFieldType(int i) + { + switch (i) + { + case 0: + return typeof(DateTime); + case 1: + return typeof(string); + case 2: + return typeof(int); + case 3: + return typeof(string); + case 4: + return typeof(object); + case 5: + return typeof(int); + case 6: + return typeof(int); + case 7: + return typeof(int); + default: + return typeof(string); + } + } + + public float GetFloat(int i) + { + return (float)GetValue(i); + } + + public Guid GetGuid(int i) + { + return (Guid)GetValue(i); + } + + public short GetInt16(int i) + { + return (short)GetValue(i); + } + public int GetInt32(int i) + { + return (int)GetValue(i); + } + + public long GetInt64(int i) + { + return (long)GetValue(i); + } + + public string GetName(int i) + { + switch (i) + { + case 0: + return "StartTime"; + case 1: + return "Source"; + case 2: + return "ConditionId"; + case 3: + return "AlarmText"; + case 4: + return "AlarmValue"; + case 5: + return "Duration"; + case 6: + return "Severity"; + case 7: + return "SubAlarmType"; + default: + return ""; + } + } + + public int GetOrdinal(string name) + { + switch (name) + { + case "StartTime": + return 0; + case "Source": + return 1; + case "ConditionId": + return 2; + case "AlarmText": + return 3; + case "AlarmValue": + return 4; + case "Duration": + return 5; + case "Severity": + return 6; + case "SubAlarmType": + return 7; + default: + return -1; + } + } + + public string GetString(int i) + { + return (string)GetValue(i); + } + + public object GetValue(int i) + { + switch (i) + { + case 0: + return _enumer.Current.StartTime; + case 1: + return _enumer.Current.Source; + case 2: + return _enumer.Current.ConditionId; + case 3: + return _enumer.Current.AlarmText; + case 4: + return _enumer.Current.AlarmValue; + case 5: + return _enumer.Current.Duration.Seconds; + case 6: + return _enumer.Current.Severity; + case 7: + return _enumer.Current.SubAlarmType; + default: + return null; + } + } + + public int GetValues(object[] values) + { + throw new NotImplementedException(); + } + + public bool IsDBNull(int i) + { + switch (i) + { + case 0: + return _enumer.Current.StartTime == DateTime.MinValue; + case 1: + return string.IsNullOrEmpty(_enumer.Current.Source); + case 2: + return _enumer.Current.ConditionId == 0; + case 3: + return string.IsNullOrEmpty(_enumer.Current.AlarmText); + case 4: + return _enumer.Current.AlarmValue == null; + case 5: + case 6: + case 7: + default: + return false; + } + } + + public object this[string name] + { + get + { + return GetValue(GetOrdinal(name)); + } + } + + public object this[int i] + { + get + { + return GetValue(i); + } + } + + #endregion + } + + internal class HDASqlReader : IDataReader + { + IEnumerator _enumer; + IDataServer _server; + + public HDASqlReader(IEnumerable list, IDataServer server) + { + this._enumer = list.GetEnumerator(); + _server = server; + } + + #region IDataReader Members + + public void Close() + { + + } + + public int Depth + { + get { return 0; } + } + + public DataTable GetSchemaTable() + { + DataTable table = new DataTable("Log_HData"); + table.Columns.Add("ID", typeof(short)); + table.Columns.Add("TimeStamp", typeof(DateTime)); + table.Columns.Add("Value", typeof(float)); + return table; + } + public bool IsClosed + { + get { return false; } + } + + public bool NextResult() + { + return false; + } + + public bool Read() + { + return _enumer.MoveNext(); + } + + public int RecordsAffected + { + get { throw new NotImplementedException(); } + } + + #endregion + + #region IDisposable Members + + public void Dispose() + { + } + + #endregion + + #region IDataRecord Members + + public int FieldCount + { + get { return 3; } + } + + public bool GetBoolean(int i) + { + return (bool)GetValue(i); + } + + public byte GetByte(int i) + { + return (byte)GetValue(i); + } + + public long GetBytes(int i, long fieldOffset, byte[] buffer, int bufferoffset, int length) + { + throw new NotImplementedException(); + } + + public char GetChar(int i) + { + return (char)GetValue(i); + } + + public long GetChars(int i, long fieldoffset, char[] buffer, int bufferoffset, int length) + { + throw new NotImplementedException(); + } + + public IDataReader GetData(int i) + { + return this; + } + + public string GetDataTypeName(int i) + { + throw new NotImplementedException(); + } + + public DateTime GetDateTime(int i) + { + return (DateTime)GetValue(i); + } + + public decimal GetDecimal(int i) + { + return (decimal)GetValue(i); + } + + public double GetDouble(int i) + { + return (double)GetValue(i); + } + + public Type GetFieldType(int i) + { + switch (i) + { + case 0: + return typeof(Int16); + case 1: + return typeof(DateTime); + case 2: + return typeof(Single); + default: + return typeof(Int32); + } + } + + public float GetFloat(int i) + { + return Convert.ToSingle(GetValue(i)); + } + + public Guid GetGuid(int i) + { + return (Guid)GetValue(i); + } + + public short GetInt16(int i) + { + return (short)GetValue(i); + } + public int GetInt32(int i) + { + return (int)GetValue(i); + } + + public long GetInt64(int i) + { + return (long)GetValue(i); + } + + public string GetName(int i) + { + switch (i) + { + case 0: + return "ID"; + case 1: + return "TimeStamp"; + case 2: + return "Value"; + default: + return string.Empty; + } + } + + public int GetOrdinal(string name) + { + switch (name) + { + case "ID": + return 0; + case "TimeStamp": + return 1; + case "Value": + return 2; + default: + return -1; + } + } + + public string GetString(int i) + { + return (string)GetValue(i); + } + + public object GetValue(int i) + { + switch (i) + { + case 0: + return _enumer.Current.ID; + case 1: + return _enumer.Current.TimeStamp; + case 2: + var index = _server.GetItemProperties(_enumer.Current.ID); + if (index < 0) return 0f; + switch (_server.MetaDataList[index].DataType) + { + case DataType.FLOAT: + var ff = _enumer.Current.Value.Single; + return ff > -2E-38 && ff < 2E-38 ? 0f : ff; + case DataType.BOOL: + return _enumer.Current.Value.Boolean ? 1f : 0f; + case DataType.INT: + return _enumer.Current.Value.Int32; + case DataType.WORD: + case DataType.SHORT: + return _enumer.Current.Value.Int16; + case DataType.BYTE: + return _enumer.Current.Value.Byte; + default: + return 0f; + } + default: + return 0f; ; + } + } + + public int GetValues(object[] values) + { + throw new NotImplementedException(); + } + + public bool IsDBNull(int i) + { + return false; + } + + public object this[string name] + { + get + { + return GetValue(GetOrdinal(name)); + } + } + + public object this[int i] + { + get + { + return GetValue(i); + } + } + + #endregion + } +} diff --git a/SCADA/Program/CoreApp/DataService/ModbusDriver/ModbusDriver.csproj b/SCADA/Program/CoreApp/DataService/ModbusDriver/ModbusDriver.csproj new file mode 100644 index 0000000..aa8334b --- /dev/null +++ b/SCADA/Program/CoreApp/DataService/ModbusDriver/ModbusDriver.csproj @@ -0,0 +1,19 @@ + + + + netcoreapp2.0 + + + + true + + + + + + + + + + + diff --git a/SCADA/Program/CoreApp/DataService/ModbusDriver/ModbusRTUDriver.cs b/SCADA/Program/CoreApp/DataService/ModbusDriver/ModbusRTUDriver.cs new file mode 100644 index 0000000..dd5f896 --- /dev/null +++ b/SCADA/Program/CoreApp/DataService/ModbusDriver/ModbusRTUDriver.cs @@ -0,0 +1,563 @@ +锘縰sing System; +using System.Collections.Generic; +using System.ComponentModel; +using System.IO; +using System.Text; +using System.Timers; +using DataService; +using RJCP.IO.Ports; + +namespace ModbusDriver +{ + [Description("Modbus RTU鍗忚")] + public sealed class ModbusRTUReader : IPLCDriver + { + short _id; + public short ID + { + get + { + return _id; + } + } + + private SerialPortStream _serialPort; + public int PDU + { + get { return 0x100; } + } + + public DeviceAddress GetDeviceAddress(string address) + { + DeviceAddress dv = DeviceAddress.Empty; + if (string.IsNullOrEmpty(address)) + return dv; + switch (address[0]) + { + case '0': + { + dv.Area = Modbus.fctReadCoil; + int st; + int.TryParse(address, out st); + dv.Bit = (byte)(st % 16); + st /= 16; + dv.Start = st; + } + break; + case '1': + { + dv.Area = Modbus.fctReadDiscreteInputs; + int st; + int.TryParse(address.Substring(1), out st); + dv.Bit = (byte)(st % 16); + st /= 16; + dv.Start = st; + } + break; + case '4': + { + int index = address.IndexOf('.'); + dv.Area = Modbus.fctReadHoldingRegister; + if (index > 0) + { + dv.Start = int.Parse(address.Substring(1, index - 1)); + dv.Bit = byte.Parse(address.Substring(index + 1)); + } + else + dv.Start = int.Parse(address.Substring(1)); + dv.Start--; + } + break; + case '3': + { + int index = address.IndexOf('.'); + dv.Area = Modbus.fctReadInputRegister; + if (index > 0) + { + dv.Start = int.Parse(address.Substring(1, index - 1)); + dv.Bit = byte.Parse(address.Substring(index + 1)); + } + else + dv.Start = int.Parse(address.Substring(1)); + dv.Start--; + } + break; + } + return dv; + } + + public string GetAddress(DeviceAddress address) + { + return string.Empty; + } + + string _name; + public string Name + { + get + { + return _name; + } + } + + string _port; + public string ServerName + { + get { return _port; } + set { _port = value; } + } + + public bool IsClosed + { + get + { + return _serialPort.IsOpen == false; + } + } + + private int _timeOut; + public int TimeOut + { + get { return _timeOut; } + set { _timeOut = value; } + } + + List _grps = new List(); + public IEnumerable Groups + { + get { return _grps; } + } + + IDataServer _server; + public IDataServer Parent + { + get { return _server; } + } + + public ModbusRTUReader(IDataServer server, short id, string name, string remote = null, int timeOut = 10000, string port = "COM1", string baudRate = "9600") + { + _id = id; + _name = name; + _server = server; + _port = port; + _serialPort = new SerialPortStream(port); + _timeOut = timeOut; + _serialPort.ReadTimeout = _timeOut; + _serialPort.WriteTimeout = _timeOut; + _serialPort.BaudRate = int.Parse(baudRate); + _serialPort.DataBits = 8; + _serialPort.Parity = Parity.Even; + _serialPort.StopBits = StopBits.One; + } + + public bool Connect() + { + try + { + _serialPort.Open(); + return true; + } + catch (IOException error) + { + if (OnClose != null) + { + OnClose(this, new ShutdownRequestEventArgs(error.Message)); + } + return false; + } + } + + public IGroup AddGroup(string name, short id, int updateRate, float deadBand = 0f, bool active = false) + { + ModbusRtuGroup grp = new ModbusRtuGroup(id, name, updateRate, active, this); + _grps.Add(grp); + return grp; + } + + public bool RemoveGroup(IGroup grp) + { + grp.IsActive = false; + return _grps.Remove(grp); + } + + public void Dispose() + { + foreach (IGroup grp in _grps) + { + grp.Dispose(); + } + _grps.Clear(); + _serialPort.Close(); + } + + private byte[] CreateReadHeader(int startAddress, ushort length, byte function) + { + byte[] data = new byte[8]; + data[0] = (byte)_id; // Slave id high byte + data[1] = function; // Message size + byte[] _adr = BitConverter.GetBytes((short)startAddress); + data[2] = _adr[0]; // Start address + data[3] = _adr[1]; // Start address + byte[] _length = BitConverter.GetBytes((short)length); + data[4] = _length[0]; // Number of data to read + data[5] = _length[1]; // Number of data to read + byte[] arr = Utility.CalculateCrc(data, 6); + data[6] = arr[0]; + data[7] = arr[1]; + return data; + } + + public byte[] WriteSingleCoils(int startAddress, bool OnOff) + { + byte[] data = new byte[8]; + data[0] = (byte)_id; // Slave id high byte + data[1] = Modbus.fctWriteSingleCoil; // Function code + byte[] _adr = BitConverter.GetBytes((short)startAddress); + data[2] = _adr[0]; // Start address + data[3] = _adr[1]; // Start address + if (OnOff) data[4] = 0xFF; + byte[] arr = Utility.CalculateCrc(data, 6); + data[6] = arr[0]; + data[7] = arr[1]; + return data; + } + + public byte[] WriteMultipleCoils(int startAddress, ushort numBits, byte[] values) + { + int len = values.Length; + byte[] data = new byte[len + 9]; + data[0] = (byte)_id; // Slave id high byte + data[1] = Modbus.fctWriteMultipleCoils; // Function code + byte[] _adr = BitConverter.GetBytes((short)startAddress); + data[2] = _adr[0]; // Start address + data[3] = _adr[1]; // Start address + byte[] _length = BitConverter.GetBytes((short)numBits); + data[4] = _length[0]; // Number of data to read + data[5] = _length[1]; // Number of data to read + data[6] = (byte)len; + Array.Copy(values, 0, data, 7, len); + byte[] arr = Utility.CalculateCrc(data, len + 7); + data[len + 7] = arr[0]; + data[len + 8] = arr[1]; + return data; + } + + public byte[] WriteSingleRegister(int startAddress, byte[] values) + { + byte[] data = new byte[8]; + data[0] = (byte)_id; // Slave id high byte + data[1] = Modbus.fctWriteSingleRegister; // Function code + byte[] _adr = BitConverter.GetBytes((short)startAddress); + data[2] = _adr[0]; // Start address + data[3] = _adr[1]; // Start address + data[4] = values[0]; + data[5] = values[1]; + byte[] arr = Utility.CalculateCrc(data, 6); + data[6] = arr[0]; + data[7] = arr[1]; + return data; + } + + public byte[] WriteMultipleRegister(int startAddress, byte[] values) + { + int len = values.Length; + if (len % 2 > 0) len++; + byte[] data = new byte[len + 9]; + data[0] = (byte)_id; // Slave id high byte + data[1] = Modbus.fctWriteMultipleRegister; // Function code + byte[] _adr = BitConverter.GetBytes((short)startAddress); + data[2] = _adr[0]; // Start address + data[3] = _adr[1]; // Start address + byte[] _length = BitConverter.GetBytes((short)(len >> 1)); + data[4] = _length[0]; // Number of data to read + data[5] = _length[1]; // Number of data to read + data[6] = (byte)len; + Array.Copy(values, 0, data, 7, len); + byte[] arr = Utility.CalculateCrc(data, len + 7); + data[len + 7] = arr[0]; + data[len + 8] = arr[1]; + return data; + } + + public byte[] ReadBytes(DeviceAddress address, ushort size) + { + int area = address.Area; + try + { + byte[] header = area == Modbus.fctReadCoil ? CreateReadHeader(address.Start * 16, (ushort)(16 * size), (byte)area) : + CreateReadHeader(address.Start, size, (byte)area); + _serialPort.Write(header, 0, header.Length); + byte[] frameBytes = new byte[size * 2 + 5]; + byte[] data = new byte[size * 2]; + int numBytesRead = 0; + while (numBytesRead != size) + numBytesRead += _serialPort.Read(frameBytes, numBytesRead, size - numBytesRead); + if (frameBytes[0] == (byte)_id && Utility.CheckSumCRC(frameBytes)) + { + Array.Copy(frameBytes, 3, data, 0, size); + return data; + } + return null; + } + catch (Exception e) + { + if (OnClose != null) + OnClose(this, new ShutdownRequestEventArgs(e.Message)); + return null; + } + } + + public ItemData ReadInt32(DeviceAddress address) + { + byte[] bit = ReadBytes(address, 2); + return bit == null ? new ItemData(0, 0, QUALITIES.QUALITY_BAD) : + new ItemData(BitConverter.ToInt32(bit, 0), 0, QUALITIES.QUALITY_GOOD); + } + + public ItemData ReadInt16(DeviceAddress address) + { + byte[] bit = ReadBytes(address, 1); + return bit == null ? new ItemData(0, 0, QUALITIES.QUALITY_BAD) : + new ItemData(BitConverter.ToInt16(bit, 0), 0, QUALITIES.QUALITY_GOOD); + } + + public ItemData ReadByte(DeviceAddress address) + { + byte[] bit = ReadBytes(address, 1); + return bit == null ? new ItemData(0, 0, QUALITIES.QUALITY_BAD) : + new ItemData(bit[0], 0, QUALITIES.QUALITY_GOOD); + } + + public ItemData ReadString(DeviceAddress address, ushort size) + { + byte[] bit = ReadBytes(address, size); + return bit == null ? new ItemData(string.Empty, 0, QUALITIES.QUALITY_BAD) : + new ItemData(Encoding.ASCII.GetString(bit), 0, QUALITIES.QUALITY_GOOD); + } + + public ItemData ReadFloat(DeviceAddress address) + { + byte[] bit = ReadBytes(address, 2); + return bit == null ? new ItemData(0f, 0, QUALITIES.QUALITY_BAD) : + new ItemData(BitConverter.ToSingle(bit, 0), 0, QUALITIES.QUALITY_GOOD); + } + + public ItemData ReadBit(DeviceAddress address) + { + byte[] bit = ReadBytes(address, 1); + return bit == null ? new ItemData(false, 0, QUALITIES.QUALITY_BAD) : + new ItemData((bit[0] & (1 << (address.Bit))) > 0, 0, QUALITIES.QUALITY_GOOD); + } + + public ItemData ReadValue(DeviceAddress address) + { + return this.ReadValueEx(address); + } + + public int WriteBytes(DeviceAddress address, byte[] bit) + { + var data = WriteMultipleRegister(address.Start, bit); + _serialPort.Write(data, 0, data.Length); + _serialPort.ReadByte(); + var chr = _serialPort.ReadByte(); + return (chr & 0x80) > 0 ? -1 : 0; + } + + public int WriteBit(DeviceAddress address, bool bit) + { + var data = WriteSingleCoils(address.Start + address.Bit, bit); + _serialPort.Write(data, 0, data.Length); + _serialPort.ReadByte(); + var chr = _serialPort.ReadByte(); + return (chr & 0x80) > 0 ? -1 : 0; + } + + public int WriteBits(DeviceAddress address, byte bits) + { + var data = WriteSingleRegister(address.Start, new byte[] { bits }); + _serialPort.Write(data, 0, data.Length); + _serialPort.ReadByte(); + var chr = _serialPort.ReadByte(); + return (chr & 0x80) > 0 ? -1 : 0; + } + + public int WriteInt16(DeviceAddress address, short value) + { + var data = WriteSingleRegister(address.Start, BitConverter.GetBytes(value)); + _serialPort.Write(data, 0, data.Length); + var chr = _serialPort.ReadByte(); + return (chr & 0x80) > 0 ? -1 : 0; + } + + public int WriteInt32(DeviceAddress address, int value) + { + var data = WriteMultipleRegister(address.Start, BitConverter.GetBytes(value)); + _serialPort.Write(data, 0, data.Length); + _serialPort.ReadByte(); + var chr = _serialPort.ReadByte(); + return (chr & 0x80) > 0 ? -1 : 0; + } + + public int WriteFloat(DeviceAddress address, float value) + { + var data = WriteMultipleRegister(address.Start, BitConverter.GetBytes(value)); + _serialPort.Write(data, 0, data.Length); + _serialPort.ReadByte(); + var chr = _serialPort.ReadByte(); + return (chr & 0x80) > 0 ? -1 : 0; + } + + public int WriteString(DeviceAddress address, string str) + { + var data = WriteMultipleRegister(address.Start, Encoding.ASCII.GetBytes(str)); + _serialPort.Write(data, 0, data.Length); + _serialPort.ReadByte(); + var chr = _serialPort.ReadByte(); + return chr == (byte)_id ? -1 : 0; + } + + public int WriteValue(DeviceAddress address, object value) + { + return this.WriteValueEx(address, value); + } + + public event ShutdownRequestEventHandler OnClose; + } + + public sealed class ModbusRtuGroup : PLCGroup + { + public ModbusRtuGroup(short id, string name, int updateRate, bool active, ModbusRTUReader plcReader) + { + this._id = id; + this._name = name; + this._updateRate = updateRate; + this._isActive = active; + this._plcReader = plcReader; + this._server = _plcReader.Parent; + this._timer = new Timer(); + this._changedList = new List(); + this._cacheReader = new ShortCacheReader(); + } + + protected override unsafe int Poll() + { + short[] cache = (short[])_cacheReader.Cache; + int k = 0; + foreach (PDUArea area in _rangeList) + { + byte[] rcvBytes = _plcReader.ReadBytes(area.Start, (ushort)area.Len);//浠嶱LC璇诲彇鏁版嵁 + if (rcvBytes == null) + { + _plcReader.Connect(); + return -1; + } + else + { + int len = rcvBytes.Length / 2; + fixed (byte* p1 = rcvBytes) + { + short* prcv = (short*)p1; + int index = area.StartIndex;//index鎸囧悜_items涓殑Tag鍏冩暟鎹 + int count = index + area.Count; + while (index < count) + { + DeviceAddress addr = _items[index].Address; + int iShort = addr.CacheIndex; + int iShort1 = iShort - k; + if (addr.VarType == DataType.BOOL) + { + int tmp = prcv[iShort1] ^ cache[iShort]; + DeviceAddress next = addr; + if (tmp != 0) + { + while (addr.Start == next.Start) + { + if ((tmp & (1 << next.Bit)) > 0) _changedList.Add(index); + if (++index < count) + next = _items[index].Address; + else + break; + } + } + else + { + while (addr.Start == next.Start && ++index < count) + { + next = _items[index].Address; + } + } + } + else + { + if (addr.DataSize <= 2) + { + if (prcv[iShort1] != cache[iShort]) _changedList.Add(index); + } + else + { + int size = addr.DataSize / 2; + for (int i = 0; i < size; i++) + { + if (prcv[iShort1 + i] != cache[iShort + i]) + { + _changedList.Add(index); + break; + } + } + } + index++; + } + } + for (int j = 0; j < len; j++) + { + cache[j + k] = prcv[j]; + }//灏哖LC璇诲彇鐨勬暟鎹啓鍏ュ埌CacheReader涓 + } + k += len; + } + } + return 1; + } + + } + + + public sealed class Modbus + { + public const byte fctReadCoil = 1; + public const byte fctReadDiscreteInputs = 2; + public const byte fctReadHoldingRegister = 3; + public const byte fctReadInputRegister = 4; + public const byte fctWriteSingleCoil = 5; + public const byte fctWriteSingleRegister = 6; + public const byte fctWriteMultipleCoils = 15; + public const byte fctWriteMultipleRegister = 16; + public const byte fctReadWriteMultipleRegister = 23; + + /// Constant for exception illegal function. + public const byte excIllegalFunction = 1; + /// Constant for exception illegal data address. + public const byte excIllegalDataAdr = 2; + /// Constant for exception illegal data value. + public const byte excIllegalDataVal = 3; + /// Constant for exception slave device failure. + public const byte excSlaveDeviceFailure = 4; + /// Constant for exception acknowledge. + public const byte excAck = 5; + /// Constant for exception slave is busy/booting up. + public const byte excSlaveIsBusy = 6; + /// Constant for exception gate path unavailable. + public const byte excGatePathUnavailable = 10; + /// Constant for exception not connected. + public const byte excExceptionNotConnected = 253; + /// Constant for exception connection lost. + public const byte excExceptionConnectionLost = 254; + /// Constant for exception response timeout. + public const byte excExceptionTimeout = 255; + /// Constant for exception wrong offset. + public const byte excExceptionOffset = 128; + /// Constant for exception send failt. + public const byte excSendFailt = 100; + } + +} diff --git a/SCADA/Program/CoreApp/DataService/ModbusDriver/ModbusRTU_TCP.cs b/SCADA/Program/CoreApp/DataService/ModbusDriver/ModbusRTU_TCP.cs new file mode 100644 index 0000000..e8243f0 --- /dev/null +++ b/SCADA/Program/CoreApp/DataService/ModbusDriver/ModbusRTU_TCP.cs @@ -0,0 +1,462 @@ +锘縰sing System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Net.Sockets; +using System.Text; +using DataService; + +namespace ModbusDriver +{ + [Description("Modbus RTU_TCP鍗忚")] + public sealed class ModbusRTU_TCPReader : IPLCDriver, IMultiReadWrite + { + private int _timeout; + + private Socket tcpSynCl; + private byte[] tcpSynClBuffer = new byte[0xFF]; + + short _id; + public short ID + { + get + { + return _id; + } + } + + string _name; + public string Name + { + get + { + return _name; + } + } + + int _slave = 1; + string _ip; + public string ServerName + { + get { return _ip; } + set { _ip = value; } + } + + public bool IsClosed + { + get + { + return tcpSynCl == null || tcpSynCl.Connected == false; + } + } + + public int TimeOut + { + get { return _timeout; } + set { _timeout = value; } + } + + List _grps = new List(20); + public IEnumerable Groups + { + get { return _grps; } + } + + IDataServer _server; + public IDataServer Parent + { + get { return _server; } + } + + public ModbusRTU_TCPReader(IDataServer server, short id, string name, string ip, int timeOut = 500, string spare1 = "1", string spare2 = null) + { + _id = id;//id + _name = name; + _server = server; + _ip = ip; + _timeout = timeOut; + if (!string.IsNullOrEmpty(spare1)) + _slave = int.Parse(spare1); + } + + public bool Connect() + { + int port = 7000; + try + { + if (tcpSynCl != null) + tcpSynCl.Close(); + //IPAddress ip = IPAddress.Parse(_ip); + // ---------------------------------------------------------------- + // Connect synchronous client + tcpSynCl = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); + tcpSynCl.SendTimeout = _timeout; + tcpSynCl.ReceiveTimeout = _timeout; + tcpSynCl.NoDelay = true; + tcpSynCl.Connect(_ip, port); + return true; + } + catch (SocketException error) + { + if (OnClose != null) + OnClose(this, new ShutdownRequestEventArgs(error.Message)); + return false; + } + } + + private byte[] CreateReadHeader(int startAddress, ushort length, byte function) + { + byte[] data = new byte[8]; + data[0] = (byte)_slave; // Slave id high byte + data[1] = function; // Message size + byte[] _adr = BitConverter.GetBytes((short)startAddress); + data[2] = _adr[0]; // Start address + data[3] = _adr[1]; // Start address + byte[] _length = BitConverter.GetBytes((short)length); + data[4] = _length[0]; // Number of data to read + data[5] = _length[1]; // Number of data to read + byte[] arr = Utility.CalculateCrc(data, 6); + data[6] = arr[0]; + data[7] = arr[1]; + return data; + } + + public byte[] WriteSingleCoils(int startAddress, bool OnOff) + { + byte[] data = new byte[8]; + data[0] = (byte)_slave; // Slave id high byte + data[1] = Modbus.fctWriteSingleCoil; // Function code + byte[] _adr = BitConverter.GetBytes((short)startAddress); + data[2] = _adr[0]; // Start address + data[3] = _adr[1]; // Start address + if (OnOff) data[4] = 0xFF; + byte[] arr = Utility.CalculateCrc(data, 6); + data[6] = arr[0]; + data[7] = arr[1]; + return data; + } + + public byte[] WriteMultipleCoils(int startAddress, ushort numBits, byte[] values) + { + int len = values.Length; + byte[] data = new byte[len + 9]; + data[0] = (byte)_slave; // Slave id high byte + data[1] = Modbus.fctWriteMultipleCoils; // Function code + byte[] _adr = BitConverter.GetBytes((short)startAddress); + data[2] = _adr[0]; // Start address + data[3] = _adr[1]; // Start address + byte[] _length = BitConverter.GetBytes((short)numBits); + data[4] = _length[0]; // Number of data to read + data[5] = _length[1]; // Number of data to read + data[6] = (byte)len; + Array.Copy(values, 0, data, 7, len); + byte[] arr = Utility.CalculateCrc(data, len + 7); + data[len + 7] = arr[0]; + data[len + 8] = arr[1]; + return data; + } + + public byte[] WriteSingleRegister(int startAddress, byte[] values) + { + byte[] data = new byte[8]; + data[0] = (byte)_slave; // Slave id high byte + data[1] = Modbus.fctWriteSingleRegister; // Function code + byte[] _adr = BitConverter.GetBytes((short)startAddress); + data[2] = _adr[0]; // Start address + data[3] = _adr[1]; // Start address + data[4] = values[0]; + data[5] = values[1]; + byte[] arr = Utility.CalculateCrc(data, 6); + data[6] = arr[0]; + data[7] = arr[1]; + return data; + } + + public byte[] WriteMultipleRegister(int startAddress, byte[] values) + { + int len = values.Length; + if (len % 2 > 0) len++; + byte[] data = new byte[len + 9]; + data[0] = (byte)_slave; // Slave id high byte + data[1] = Modbus.fctWriteMultipleRegister; // Function code + byte[] _adr = BitConverter.GetBytes((short)startAddress); + data[2] = _adr[0]; // Start address + data[3] = _adr[1]; // Start address + byte[] _length = BitConverter.GetBytes((short)(len >> 1)); + data[4] = _length[0]; // Number of data to read + data[5] = _length[1]; // Number of data to read + data[6] = (byte)len; + Array.Copy(values, 0, data, 7, len); + byte[] arr = Utility.CalculateCrc(data, len + 7); + data[len + 7] = arr[0]; + data[len + 8] = arr[1]; + return data; + } + + public int PDU + { + get { return 252; } + //get { return 256; } + } + + public DeviceAddress GetDeviceAddress(string address) + { + DeviceAddress dv = DeviceAddress.Empty; + if (string.IsNullOrEmpty(address)) + return dv; + switch (address[0]) + { + case '0': + { + dv.Area = Modbus.fctReadCoil; + int st; + int.TryParse(address, out st); + //dv.Start = (st / 16) * 16;//??????????????????? + dv.Bit = (byte)(st % 16); + st /= 16; + dv.Start = st; + } + break; + case '1': + { + dv.Area = Modbus.fctReadDiscreteInputs; + int st; + int.TryParse(address.Substring(1), out st); + //dv.Start = (st / 16) * 16;//??????????????????? + dv.Bit = (byte)(st % 16); + st /= 16; + dv.Start = st; + } + break; + case '4': + { + int index = address.IndexOf('.'); + dv.Area = Modbus.fctReadHoldingRegister; + if (index > 0) + { + dv.Start = int.Parse(address.Substring(1, index - 1)); + dv.Bit = byte.Parse(address.Substring(index + 1)); + } + else + dv.Start = int.Parse(address.Substring(1)); + dv.Start--; + } + break; + case '3': + { + int index = address.IndexOf('.'); + dv.Area = Modbus.fctReadInputRegister; + if (index > 0) + { + dv.Start = int.Parse(address.Substring(1, index - 1)); + dv.Bit = byte.Parse(address.Substring(index + 1)); + } + else + dv.Start = int.Parse(address.Substring(1)); + dv.Start--; + } + break; + } + return dv; + } + + public string GetAddress(DeviceAddress address) + { + return string.Empty; + } + + + public IGroup AddGroup(string name, short id, int updateRate, float deadBand = 0f, bool active = false) + { + ModbusTcpGroup grp = new ModbusTcpGroup(id, name, updateRate, active, this); + _grps.Add(grp); + return grp; + } + + public bool RemoveGroup(IGroup grp) + { + grp.IsActive = false; + return _grps.Remove(grp); + } + + public void Dispose() + { + if (tcpSynCl != null) + { + if (tcpSynCl.Connected) + { + try { tcpSynCl.Shutdown(SocketShutdown.Both); } + catch { } + tcpSynCl.Close(); + } + tcpSynCl = null; + } + foreach (IGroup grp in _grps) + { + grp.Dispose(); + } + _grps.Clear(); + } + + public byte[] ReadBytes(DeviceAddress address, ushort size) + { + int area = address.Area; + try + { + if (!tcpSynCl.Connected) return null; + byte[] header = area == Modbus.fctReadCoil ? CreateReadHeader(address.Start * 16, (ushort)(16 * size), (byte)area) : + CreateReadHeader(address.Start, size, (byte)area); + tcpSynCl.Send(header, 0, header.Length, SocketFlags.None);//鏄惁瀛樺湪lock鐨勯棶棰橈紵 + byte[] frameBytes = new byte[size * 2 + 3]; + int result = tcpSynCl.Receive(frameBytes, 0, frameBytes.Length, SocketFlags.None); + byte[] data = new byte[size * 2]; + if (frameBytes[0] == (byte)_slave) + { + Array.Copy(frameBytes, 3, data, 0, data.Length); + return data; + } + else return new byte[0]; + } + catch (Exception e) + { + if (OnClose != null) + OnClose(this, new ShutdownRequestEventArgs(e.Message)); + return null; + } + } + + public ItemData ReadInt32(DeviceAddress address) + { + byte[] bit = ReadBytes(address, 2); + return bit == null ? new ItemData(0, 0, QUALITIES.QUALITY_BAD) : + new ItemData(BitConverter.ToInt32(bit, 0), 0, QUALITIES.QUALITY_GOOD); + } + + public ItemData ReadInt16(DeviceAddress address) + { + byte[] bit = ReadBytes(address, 1); + return bit == null ? new ItemData(0, 0, QUALITIES.QUALITY_BAD) : + new ItemData(BitConverter.ToInt16(bit, 0), 0, QUALITIES.QUALITY_GOOD); + } + + public ItemData ReadByte(DeviceAddress address) + { + byte[] bit = ReadBytes(address, 1); + return bit == null ? new ItemData(0, 0, QUALITIES.QUALITY_BAD) : + new ItemData(bit[0], 0, QUALITIES.QUALITY_GOOD); + } + + public ItemData ReadString(DeviceAddress address, ushort size) + { + byte[] bit = ReadBytes(address, size); + return bit == null ? new ItemData(string.Empty, 0, QUALITIES.QUALITY_BAD) : + new ItemData(Encoding.ASCII.GetString(bit), 0, QUALITIES.QUALITY_GOOD); + } + + public unsafe ItemData ReadFloat(DeviceAddress address) + { + byte[] bit = ReadBytes(address, 2); + return bit == null ? new ItemData(0f, 0, QUALITIES.QUALITY_BAD) : + new ItemData(BitConverter.ToSingle(bit, 0), 0, QUALITIES.QUALITY_GOOD); + //int value = BitConverter.ToInt32(bit, 0); + //return new ItemData(*(((float*)&value)), 0, QUALITIES.QUALITY_GOOD); + } + + public ItemData ReadBit(DeviceAddress address) + { + byte[] bit = ReadBytes(address, 1); + return bit == null ? new ItemData(false, 0, QUALITIES.QUALITY_BAD) : + new ItemData((bit[0] & (1 << (address.Bit))) > 0, 0, QUALITIES.QUALITY_GOOD); + } + + public ItemData ReadValue(DeviceAddress address) + { + return this.ReadValueEx(address); + } + + public int WriteBytes(DeviceAddress address, byte[] bit) + { + if (!tcpSynCl.Connected) return -1; + var data = WriteMultipleRegister(address.Start, bit); + tcpSynCl.Send(data, 0, data.Length, SocketFlags.None);//鏄惁瀛樺湪lock鐨勯棶棰橈紵 + int result = tcpSynCl.Receive(tcpSynClBuffer, 0, 0xFF, SocketFlags.None); + return (tcpSynClBuffer[1] & 0x80) > 0 ? -1 : 0; + } + + public int WriteBit(DeviceAddress address, bool bit) + { + if (!tcpSynCl.Connected) return -1; + var data = WriteSingleCoils(address.Start + address.Bit, bit); + tcpSynCl.Send(data, 0, data.Length, SocketFlags.None);//鏄惁瀛樺湪lock鐨勯棶棰橈紵 + int result = tcpSynCl.Receive(tcpSynClBuffer, 0, 0xFF, SocketFlags.None); + return (tcpSynClBuffer[1] & 0x80) > 0 ? -1 : 0; + } + + public int WriteBits(DeviceAddress address, byte bits) + { + if (!tcpSynCl.Connected) return -1; + var data = WriteSingleRegister(address.Start, new byte[] { bits }); + tcpSynCl.Send(data, 0, data.Length, SocketFlags.None);//鏄惁瀛樺湪lock鐨勯棶棰橈紵 + int result = tcpSynCl.Receive(tcpSynClBuffer, 0, 0xFF, SocketFlags.None); + return (tcpSynClBuffer[1] & 0x80) > 0 ? -1 : 0; + } + + public int WriteInt16(DeviceAddress address, short value) + { + if (!tcpSynCl.Connected) return -1; + var data = WriteSingleRegister(address.Start, BitConverter.GetBytes(value)); + tcpSynCl.Send(data, 0, data.Length, SocketFlags.None);//鏄惁瀛樺湪lock鐨勯棶棰橈紵 + int result = tcpSynCl.Receive(tcpSynClBuffer, 0, 0xFF, SocketFlags.None); + return (tcpSynClBuffer[1] & 0x80) > 0 ? -1 : 0; + } + + public int WriteInt32(DeviceAddress address, int value) + { + if (!tcpSynCl.Connected) return -1; + var data = WriteMultipleRegister(address.Start, BitConverter.GetBytes(value)); + tcpSynCl.Send(data, 0, data.Length, SocketFlags.None);//鏄惁瀛樺湪lock鐨勯棶棰橈紵 + int result = tcpSynCl.Receive(tcpSynClBuffer, 0, 0xFF, SocketFlags.None); + return (tcpSynClBuffer[1] & 0x80) > 0 ? -1 : 0; + } + + public int WriteFloat(DeviceAddress address, float value) + { + if (!tcpSynCl.Connected) return -1; + var data = WriteMultipleRegister(address.Start, BitConverter.GetBytes(value)); + tcpSynCl.Send(data, 0, data.Length, SocketFlags.None);//鏄惁瀛樺湪lock鐨勯棶棰橈紵 + int result = tcpSynCl.Receive(tcpSynClBuffer, 0, 0xFF, SocketFlags.None); + return (tcpSynClBuffer[1] & 0x80) > 0 ? -1 : 0; + } + + public int WriteString(DeviceAddress address, string str) + { + if (!tcpSynCl.Connected) return -1; + var data = WriteMultipleRegister(address.Start, Encoding.ASCII.GetBytes(str)); + tcpSynCl.Send(data, 0, data.Length, SocketFlags.None);//鏄惁瀛樺湪lock鐨勯棶棰橈紵 + int result = tcpSynCl.Receive(tcpSynClBuffer, 0, 0xFF, SocketFlags.None); + return (tcpSynClBuffer[1] & 0x80) > 0 ? -1 : 0; + } + + public int WriteValue(DeviceAddress address, object value) + { + return this.WriteValueEx(address, value); + } + + public event ShutdownRequestEventHandler OnClose; + + public int Limit + { + get { return 60; } + } + + public ItemData[] ReadMultiple(DeviceAddress[] addrsArr) + { + return this.PLCReadMultiple(new NetShortCacheReader(), addrsArr); + } + + public int WriteMultiple(DeviceAddress[] addrArr, object[] buffer) + { + return this.PLCWriteMultiple(new NetShortCacheReader(), addrArr, buffer, Limit); + } + } +} + diff --git a/SCADA/Program/CoreApp/DataService/ModbusDriver/ModbusTCPReader.cs b/SCADA/Program/CoreApp/DataService/ModbusDriver/ModbusTCPReader.cs new file mode 100644 index 0000000..9f9a234 --- /dev/null +++ b/SCADA/Program/CoreApp/DataService/ModbusDriver/ModbusTCPReader.cs @@ -0,0 +1,634 @@ +锘縰sing System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Net; +using System.Net.Sockets; +using System.Text; +using System.Timers; +using DataService; + +namespace ModbusDriver +{ + [Description("Modbus TCP鍗忚")] + public sealed class ModbusTCPReader : IPLCDriver, IMultiReadWrite + { + private int _timeout; + + private Socket tcpSynCl; + private byte[] tcpSynClBuffer = new byte[0xFF]; + + short _id; + public short ID + { + get + { + return _id; + } + } + + string _name; + public string Name + { + get + { + return _name; + } + } + + string _ip; + public string ServerName + { + get { return _ip; } + set { _ip = value; } + } + + public bool IsClosed + { + get + { + return tcpSynCl == null || tcpSynCl.Connected == false; + } + } + + public int TimeOut + { + get { return _timeout; } + set { _timeout = value; } + } + + byte _slaveId;//璁惧ID 鍗曞厓鍙 瀛楄妭鍙 + /// + /// 璁惧ID 鍗曞厓鍙 瀛楄妭鍙 + /// + public byte SlaveId + { + get { return _slaveId; } + set { _slaveId = value; } + } + + List _grps = new List(20); + public IEnumerable Groups + { + get { return _grps; } + } + + IDataServer _server; + public IDataServer Parent + { + get { return _server; } + } + + public ModbusTCPReader(IDataServer server, short id, string name, string ip, int timeOut = 500, string spare1 = null, string spare2 = null) + { + _id = id; + _name = name; + _server = server; + _ip = ip; + _timeout = timeOut; + byte.TryParse(spare1, out _slaveId); + } + + public bool Connect() + { + int port = 502; + try + { + if (tcpSynCl != null) + tcpSynCl.Close(); + //IPAddress ip = IPAddress.Parse(_ip); + // ---------------------------------------------------------------- + // Connect synchronous client + tcpSynCl = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); + tcpSynCl.SendTimeout = _timeout; + tcpSynCl.ReceiveTimeout = _timeout; + tcpSynCl.NoDelay = true; + tcpSynCl.Connect(_ip, port); + return true; + } + catch (SocketException error) + { + if (OnClose != null) + OnClose(this, new ShutdownRequestEventArgs(error.Message)); + return false; + } + } + + private byte[] CreateReadHeader(int id, int startAddress, ushort length, byte function) + { + byte[] data = new byte[12]; + data[0] = 0; // Slave id high byte + data[1] = 0; // Slave id low byte + data[5] = 6; // Message size + data[6] = (byte)id; // Slave address + data[7] = function; // Function code + byte[] _adr = BitConverter.GetBytes(IPAddress.HostToNetworkOrder((short)startAddress)); + data[8] = _adr[0]; // Start address + data[9] = _adr[1]; // Start address + byte[] _length = BitConverter.GetBytes(IPAddress.HostToNetworkOrder((short)length)); + data[10] = _length[0]; // Number of data to read + data[11] = _length[1]; // Number of data to read + return data; + } + + private byte[] CreateWriteHeader(int id, int startAddress, ushort numData, ushort numBytes, byte function) + { + byte[] data = new byte[numBytes + 11]; + data[0] = 0; // Slave id high byte + data[1] = 0; // Slave id low byte+ + byte[] _size = BitConverter.GetBytes(IPAddress.HostToNetworkOrder((short)(5 + numBytes))); + data[4] = _size[0]; // Complete message size in bytes + data[5] = _size[1]; // Complete message size in bytes + data[6] = (byte)id; // Slave address + data[7] = function; // Function code + byte[] _adr = BitConverter.GetBytes(IPAddress.HostToNetworkOrder((short)startAddress)); + data[8] = _adr[0]; // Start address + data[9] = _adr[1]; // Start address + if (function >= Modbus.fctWriteMultipleCoils) + { + byte[] _cnt = BitConverter.GetBytes(IPAddress.HostToNetworkOrder((short)numData)); + data[10] = _cnt[0]; // Number of bytes + data[11] = _cnt[1]; // Number of bytes + data[12] = (byte)(numBytes - 2); + } + return data; + } + + private byte[] WriteSyncData(byte[] write_data) + { + short id = BitConverter.ToInt16(write_data, 0); + if (IsClosed) CallException(id, write_data[7], Modbus.excExceptionConnectionLost); + else + { + try + { + tcpSynCl.Send(write_data, 0, write_data.Length, SocketFlags.None);//鏄惁瀛樺湪lock鐨勯棶棰橈紵 + int result = tcpSynCl.Receive(tcpSynClBuffer, 0, 0xFF, SocketFlags.None); + + byte function = tcpSynClBuffer[7]; + byte[] data; + + if (result == 0) CallException(id, write_data[7], Modbus.excExceptionConnectionLost); + + // ------------------------------------------------------------ + // Response data is slave ModbusModbus.exception + if (function > Modbus.excExceptionOffset) + { + function -= Modbus.excExceptionOffset; + CallException(id, function, tcpSynClBuffer[8]); + return null; + } + // ------------------------------------------------------------ + // Write response data + else if ((function >= Modbus.fctWriteSingleCoil) && (function != Modbus.fctReadWriteMultipleRegister)) + { + data = new byte[2]; + Array.Copy(tcpSynClBuffer, 10, data, 0, 2); + } + // ------------------------------------------------------------ + // Read response data + else + { + data = new byte[tcpSynClBuffer[8]]; + Array.Copy(tcpSynClBuffer, 9, data, 0, tcpSynClBuffer[8]); + } + return data; + } + catch (SocketException) + { + CallException(id, write_data[7], Modbus.excExceptionConnectionLost); + } + } + return null; + } + + public byte[] WriteSingleCoils(int id, int startAddress, bool OnOff) + { + byte[] data; + data = CreateWriteHeader(id, startAddress, 1, 1, Modbus.fctWriteSingleCoil); + if (OnOff == true) data[10] = 255; + else data[10] = 0; + return WriteSyncData(data); + } + + public byte[] WriteMultipleCoils(int id, int startAddress, ushort numBits, byte[] values) + { + byte numBytes = Convert.ToByte(values.Length); + byte[] data; + data = CreateWriteHeader(id, startAddress, numBits, (byte)(numBytes + 2), Modbus.fctWriteMultipleCoils); + Array.Copy(values, 0, data, 13, numBytes); + return WriteSyncData(data); + } + + public byte[] WriteSingleRegister(int id, int startAddress, byte[] values) + { + byte[] data; + data = CreateWriteHeader(id, startAddress, 1, 1, Modbus.fctWriteSingleRegister); + data[10] = values[0]; + data[11] = values[1]; + return WriteSyncData(data); + } + + public byte[] WriteMultipleRegister(int id, int startAddress, byte[] values) + { + ushort numBytes = Convert.ToUInt16(values.Length); + if (numBytes % 2 > 0) numBytes++; + byte[] data; + + data = CreateWriteHeader(id, startAddress, Convert.ToUInt16(numBytes / 2), Convert.ToUInt16(numBytes + 2), Modbus.fctWriteMultipleRegister); + Array.Copy(values, 0, data, 13, values.Length); + return WriteSyncData(data); + } + + public int PDU + { + get { return 252; } + //get { return 256; } + } + + public DeviceAddress GetDeviceAddress(string address) + { + DeviceAddress dv = DeviceAddress.Empty; + if (string.IsNullOrEmpty(address)) + return dv; + dv.Area = _slaveId; + switch (address[0]) + { + case '0': + { + dv.DBNumber = Modbus.fctReadCoil; + int st; + int.TryParse(address, out st); + //dv.Start = (st / 16) * 16;//??????????????????? + dv.Bit = (byte)(st % 16); + st /= 16; + dv.Start = st; + } + break; + case '1': + { + dv.DBNumber = Modbus.fctReadDiscreteInputs; + int st; + int.TryParse(address.Substring(1), out st); + //dv.Start = (st / 16) * 16;//??????????????????? + dv.Bit = (byte)(st % 16); + st /= 16; + dv.Start = st; + } + break; + case '4': + { + int index = address.IndexOf('.'); + dv.DBNumber = Modbus.fctReadHoldingRegister; + if (index > 0) + { + dv.Start = int.Parse(address.Substring(1, index - 1)); + dv.Bit = byte.Parse(address.Substring(index + 1)); + } + else + dv.Start = int.Parse(address.Substring(1)); + dv.Start--; + } + break; + case '3': + { + int index = address.IndexOf('.'); + dv.DBNumber = Modbus.fctReadInputRegister; + if (index > 0) + { + dv.Start = int.Parse(address.Substring(1, index - 1)); + dv.Bit = byte.Parse(address.Substring(index + 1)); + } + else + dv.Start = int.Parse(address.Substring(1)); + dv.Start--; + } + break; + } + return dv; + } + + public string GetAddress(DeviceAddress address) + { + return string.Empty; + } + + + public IGroup AddGroup(string name, short id, int updateRate, float deadBand = 0f, bool active = false) + { + ModbusTcpGroup grp = new ModbusTcpGroup(id, name, updateRate, active, this); + _grps.Add(grp); + return grp; + } + + public bool RemoveGroup(IGroup grp) + { + grp.IsActive = false; + return _grps.Remove(grp); + } + + public void Dispose() + { + if (tcpSynCl != null) + { + if (tcpSynCl.Connected) + { + try { tcpSynCl.Shutdown(SocketShutdown.Both); } + catch { } + tcpSynCl.Close(); + } + tcpSynCl = null; + } + foreach (IGroup grp in _grps) + { + grp.Dispose(); + } + _grps.Clear(); + } + + internal string GetErrorString(byte exception) + { + switch (exception) + { + case Modbus.excIllegalFunction: + return "Constant for ModbusModbus.exception illegal function."; + case Modbus.excIllegalDataAdr: + return "Constant for ModbusModbus.exception illegal data address."; + case Modbus.excIllegalDataVal: + return "Constant for ModbusModbus.exception illegal data value."; + case Modbus.excSlaveDeviceFailure: + return "Constant for ModbusModbus.exception slave device failure."; + case Modbus.excAck: + return "Constant for ModbusModbus.exception acknowledge."; + case Modbus.excSlaveIsBusy: + return "Constant for ModbusModbus.exception slave is busy/booting up."; + case Modbus.excGatePathUnavailable: + return "Constant for ModbusModbus.exception gate path unavailable."; + case Modbus.excExceptionNotConnected: + return "Constant for ModbusModbus.exception not connected."; + case Modbus.excExceptionConnectionLost: + return "Constant for ModbusModbus.exception connection lost."; + case Modbus.excExceptionTimeout: + return "Constant for ModbusModbus.exception response timeout."; + case Modbus.excExceptionOffset: + return "Constant for ModbusModbus.exception wrong offset."; + case Modbus.excSendFailt: + return "Constant for ModbusModbus.exception send failt."; + } + return string.Empty; + } + + internal void CallException(int id, byte function, byte exception) + { + if (tcpSynCl == null) return; + if (exception == Modbus.excExceptionConnectionLost && IsClosed == false) + { + if (OnClose != null) + OnClose(this, new ShutdownRequestEventArgs(GetErrorString(exception))); + } + } + + public byte[] ReadBytes(DeviceAddress address, ushort size) + { + int area = address.DBNumber; + return area < 2 ? WriteSyncData(CreateReadHeader(address.Area, address.Start * 16, (ushort)(16 * size), (byte)area)) + : WriteSyncData(CreateReadHeader(address.Area, address.Start, size, (byte)area)); + } + + public ItemData ReadInt32(DeviceAddress address) + { + byte[] data = WriteSyncData(CreateReadHeader(address.Area, address.Start, 2, (byte)address.DBNumber)); + if (data == null) + return new ItemData(0, 0, QUALITIES.QUALITY_BAD); + else + return new ItemData(IPAddress.HostToNetworkOrder(BitConverter.ToInt32(data, 0)), 0, QUALITIES.QUALITY_GOOD); + } + + public ItemData ReadInt16(DeviceAddress address) + { + byte[] data = WriteSyncData(CreateReadHeader(address.Area, address.Start, 1, (byte)address.DBNumber)); + if (data == null) + return new ItemData(0, 0, QUALITIES.QUALITY_BAD); + else + return new ItemData(IPAddress.HostToNetworkOrder(BitConverter.ToInt16(data, 0)), 0, QUALITIES.QUALITY_GOOD); + } + + public ItemData ReadByte(DeviceAddress address) + { + byte[] data = WriteSyncData(CreateReadHeader(address.Area, address.Start, 1, (byte)address.DBNumber)); + if (data == null) + return new ItemData(0, 0, QUALITIES.QUALITY_BAD); + else + return new ItemData(data[0], 0, QUALITIES.QUALITY_GOOD); + } + + public ItemData ReadString(DeviceAddress address, ushort size) + { + byte[] data = WriteSyncData(CreateReadHeader(address.Area, address.Start, size, (byte)address.DBNumber)); + if (data == null) + return new ItemData(string.Empty, 0, QUALITIES.QUALITY_BAD); + else + return new ItemData(Encoding.ASCII.GetString(data, 0, data.Length), 0, QUALITIES.QUALITY_GOOD);//鏄惁鑰冭檻瀛楄妭搴忛棶棰橈紵 + } + + public unsafe ItemData ReadFloat(DeviceAddress address) + { + byte[] data = WriteSyncData(CreateReadHeader(address.Area, address.Start, 2, (byte)address.DBNumber)); + if (data == null) + return new ItemData(0.0f, 0, QUALITIES.QUALITY_BAD); + else + { + int value = IPAddress.HostToNetworkOrder(BitConverter.ToInt32(data, 0)); + return new ItemData(*(((float*)&value)), 0, QUALITIES.QUALITY_GOOD); + } + } + + public ItemData ReadBit(DeviceAddress address) + { + byte[] data = address.DBNumber > 2 ? WriteSyncData(CreateReadHeader(address.Area, address.Start, 1, (byte)address.DBNumber)) : + WriteSyncData(CreateReadHeader(address.Area, address.Start * 16 + address.Bit, 1, (byte)address.DBNumber)); + if (data == null) + return new ItemData(false, 0, QUALITIES.QUALITY_BAD); + if (data.Length == 1) return new ItemData(data[0] > 0, 0, QUALITIES.QUALITY_GOOD); + unsafe + { + fixed (byte* p = data) + { + short* p1 = (short*)p; + return new ItemData((*p1 & (1 << address.Bit.BitSwap())) + != 0, 0, QUALITIES.QUALITY_GOOD); + } + } + } + + public ItemData ReadValue(DeviceAddress address) + { + return this.ReadValueEx(address); + } + + public int WriteBytes(DeviceAddress address, byte[] bit) + { + var data = address.DBNumber > 2 ? WriteMultipleRegister(address.Area, address.Start, bit) + : WriteMultipleCoils(address.Area, address.Start, (ushort)(8 * bit.Length), bit);//搴旇冭檻鍒 + return data == null ? -1 : 0; + } + + public int WriteBit(DeviceAddress address, bool bit) + { + if (address.DBNumber < 3) + { + var data = WriteSingleCoils(address.Area, address.Start + address.Bit, bit); + return data == null ? -1 : 0; + } + return -1; + } + + public int WriteBits(DeviceAddress address, byte bits) + { + var data = WriteSingleRegister(address.Area, address.Start, new byte[] { bits }); + return data == null ? -1 : 0; + } + + public int WriteInt16(DeviceAddress address, short value) + { + var data = WriteSingleRegister(address.Area, address.Start, BitConverter.GetBytes(value)); + return data == null ? -1 : 0; + } + + public int WriteInt32(DeviceAddress address, int value) + { + var data = WriteMultipleRegister(address.Area, address.Start, BitConverter.GetBytes(value)); + return data == null ? -1 : 0; + } + + public int WriteFloat(DeviceAddress address, float value) + { + var data = WriteMultipleRegister(address.Area, address.Start, BitConverter.GetBytes(value)); + return data == null ? -1 : 0; + } + + public int WriteString(DeviceAddress address, string str) + { + var data = WriteMultipleRegister(address.Area, address.Start, Encoding.ASCII.GetBytes(str)); + return data == null ? -1 : 0; + } + + public int WriteValue(DeviceAddress address, object value) + { + return this.WriteValueEx(address, value); + } + + public event ShutdownRequestEventHandler OnClose; + + public int Limit + { + get { return 60; } + } + + public ItemData[] ReadMultiple(DeviceAddress[] addrsArr) + { + return this.PLCReadMultiple(new NetShortCacheReader(), addrsArr); + } + + public int WriteMultiple(DeviceAddress[] addrArr, object[] buffer) + { + return this.PLCWriteMultiple(new NetShortCacheReader(), addrArr, buffer, Limit); + } + } + + public sealed class ModbusTcpGroup : PLCGroup + { + public ModbusTcpGroup(short id, string name, int updateRate, bool active, IPLCDriver plcReader) + { + this._id = id; + this._name = name; + this._updateRate = updateRate; + this._isActive = active; + this._plcReader = plcReader; + this._server = _plcReader.Parent; + this._timer = new Timer(); + this._changedList = new List(); + this._cacheReader = new NetShortCacheReader(); + } + + protected override unsafe int Poll() + { + short[] cache = (short[])_cacheReader.Cache; + int offset = 0; + foreach (PDUArea area in _rangeList) + { + byte[] rcvBytes = _plcReader.ReadBytes(area.Start, (ushort)area.Len);//浠嶱LC璇诲彇鏁版嵁 + if (rcvBytes == null || rcvBytes.Length == 0) + { + //_plcReader.Connect(); + return -1; + } + else + { + int len = rcvBytes.Length / 2; + fixed (byte* p1 = rcvBytes) + { + short* prcv = (short*)p1; + int index = area.StartIndex;//index鎸囧悜_items涓殑Tag鍏冩暟鎹 + int count = index + area.Count; + while (index < count) + { + DeviceAddress addr = _items[index].Address; + int iShort = addr.CacheIndex; + int iShort1 = iShort - offset; + if (addr.VarType == DataType.BOOL) + { + int tmp = prcv[iShort1] ^ cache[iShort]; + DeviceAddress next = addr; + if (tmp != 0) + { + while (addr.Start == next.Start) + { + if ((tmp & (1 << next.Bit)) > 0) _changedList.Add(index); + if (++index < count) + next = _items[index].Address; + else + break; + } + } + else + { + while (addr.Start == next.Start && ++index < count) + { + next = _items[index].Address; + } + } + } + else + { + if (addr.DataSize <= 2) + { + if (prcv[iShort1] != cache[iShort]) _changedList.Add(index); + } + else + { + int size = addr.DataSize / 2; + for (int i = 0; i < size; i++) + { + if (prcv[iShort1 + i] != cache[iShort + i]) + { + _changedList.Add(index); + break; + } + } + } + index++; + } + } + for (int j = 0; j < len; j++) + { + cache[j + offset] = prcv[j]; + }//灏哖LC璇诲彇鐨勬暟鎹啓鍏ュ埌CacheReader涓 + } + offset += len; + } + } + return 1; + } + + } +}

w0!i|6Me+bwAz`V;}F-QK% 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ⅆ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