Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
IPSvc: Système antivol et d'information par mail ou ftp
Auteur Message
Répondre en citant
Message IPSvc: Système antivol et d'information par mail ou ftp 
Bonjour, je poste ici car c'est selon moi la section la plus adapté.

J'ai pour projet de réécrire totalement ce batch et si vous avez des idée ou si vous êtes intéressé n'hésitez pas à répondre et me proposer des fonctions/amélioration que je pourrai apporter au batch pour qu'il satisfasse un maximum de personne.

Description:
IPSvc est :
Un système d'information qui envoi un mail avec un rapport détaillé sur le pc (infos materiels, utilisation du pc, ip publique, OS, Bios, stockages, utilisateurs, statistiques des sessions, logiciels installés, etc. )le tout en prenant en charge une liste blanche ou noir d'ip publique. cette notification peut être envoyé de plusieurs façons:
-périodiquement
-quand l'ordinateur à une nouvelle ip publique
-à chaque connexion internet

Première notification.
IP actuelle:216.174.125.161 [30/01/2012-19h11]
.
Détails supplémentaire sur l'ip publique à l'adresse http://whatismyipaddress.com/ip/216.174.125.161
ID: zbA8FHAK
.
Adresses MAC utilisable par le service antivol pour l'ordinateur PC01:
[00:FF:FC:3B:45:21]
[22:CB:30:08:D5:32]


=[30/01/2012-19h10]=RAPPORT=========ON==

Première execution d'IPSvc: 30/01/2012

============LOG-BOOT-SYSTEME========ON==

Stop 30/01/2012 00:30:49
Start 30/01/2012 17:26:05
============LOG-BOOT-SYSTEME========OFF=

============INFO-SYSTEME============ON==

===ORDINATEUR===
NOM [computername] : PC01
USERDOMAIN : WORKGROUP
Numero de serie : 0254451DFJ
Type : System Product Name
UUID : 1F0085A0-00C3-0000-DDFD-20CF3109F541
Marque : Fujitsu
Version : System Version
Propriétaire enregistré : Alex
Identificateur de produit : 00371-OEM-9042546-51881
Date d'installation originale : 11/09/2011, 01:15:26
Mémoire physique totale : 12 135 Mo
Correctif(s) : 76 Corrections installées.
Carte(s) réseau : 1 carte(s) réseau installée(s).

[01] : Marvell Yukon 88E8056 PCI-E Gigabit Ethernet Controller
Nom de la connexion : Connexion au réseau local
DHCP activé : Non
Adresse(s) IP
[01] : 192.168.3.97

[02] : fe80::62fd:6bdf:954a:212a

=======OS=======

Nom de l'OS : Microsoft Windows 7 Professionnel
Service pack installé : Service Pack 1
Architecture de l'OS : 64 bits
Langue : Français ; code 1036
Dossier d'installation système : C:\Windows\system32
Version : 6.1.7601

==STAT-SESSION==
Nom de la session : Alex

Nombre de connexion : 790

Nom de la session : UpdatusUser

Nombre de connexion : 252

Nom de la session : Administrateur

Nombre de connexion : 3

Nom de la session : Invit‚

Nombre de connexion : 15


===PROCESSEUR===

Architecture : 64 bits
Taille du cache L2 : 1024 ko
Taille du cache L3 : 8192 ko
Vitesse maximale de l'horloge sans le turbo boost : 2800 Hz
Nom du processeur : Intel(R) Core(TM) i7 CPU 930 @ 2.80GHz
Nombre de processeur : 4
Nombre de thread : 8

======BIOS======

Fabricant : American Megatrends Inc.
Nom : BIOS Date: 05/25/10 14:39:27 Ver: 08.00.15
Version : 052510 - 20100525

====STOCKAGE====


Nombre de lecteur : 7

Informations sur le lecteur 1 :
Lettre de lecteur : C:
Type : Disque fixe local
Format : NTFS
Espace libre : 6976712704
Taille : 63914897408
Nom : System
Numéro de série du volume : 1855E516

Informations sur le lecteur 2 :
Lettre de lecteur : D:
Type : Disque amovible
Format : FAT
Espace libre : 1998225408
Taille : 1998389248
Nom : CLE_USB
Numéro de série du volume : 223A25E4

Informations sur le lecteur 3 :
Lettre de lecteur : F:
Type : Disque fixe local
Format : NTFS
Espace libre : 449655455744
Taille : 790485790720
Nom : interne SATA
Numéro de série du volume : 684125AF

Informations sur le lecteur 4 :
Lettre de lecteur : G:
Type : Disque CD-ROM

Informations sur le lecteur 5 :
Lettre de lecteur : H:
Type : Disque CD-ROM

Informations sur le lecteur 6 :
Lettre de lecteur : J:
Type : Disque CD-ROM

Informations sur le lecteur 7 :
Lettre de lecteur : L:
Type : Disque fixe local
Format : NTFS
Espace libre : 999257001984
Taille : 1000202240000
Nom : DATA
Numéro de série du volume : D8A845DA

==UTILISATEURS==
utilisateur courrant : PC01$
Nombre d'utilisateur : 5

Informations sur l'utilisateur 1 :
AccountType : 512
Caption : PC01\Administrateur
Description : Compte d'utilisateur d'administration
Disabled : TRUE
Domain : PC01
FullName :
InstallDate :
LocalAccount : TRUE
Lockout : FALSE
Name : Administrateur
PasswordChangeable : TRUE
PasswordExpires : FALSE
PasswordRequired : TRUE
SID : S-1-5-21-954495682-3743266963-881877346-500
SIDType : 1
Status : Degraded

Informations sur l'utilisateur 2 :
AccountType : 512
Caption : PC01\Alex
Description :
Disabled : FALSE
Domain : PC01
FullName :
InstallDate :
LocalAccount : TRUE
Lockout : FALSE
Name : Alex
PasswordChangeable : TRUE
PasswordExpires : FALSE
PasswordRequired : FALSE
SID : S-1-5-21-954495682-3743366963-882877343-1000
SIDType : 1
Status : OK

Informations sur l'utilisateur 3 :
AccountType : 512
Caption : PC01\HomeGroupUser$
Description : Compte intégré pour un accŠs Groupe résidentiel … l'ordinateur
Disabled : FALSE
Domain : PC01
FullName : HomeGroupUser$
InstallDate :
LocalAccount : TRUE
Lockout : FALSE
Name : HomeGroupUser$
PasswordChangeable : TRUE
PasswordExpires : FALSE
PasswordRequired : TRUE
SID : S-1-5-21-954495682-3743166963-885877343-1010
SIDType : 1
Status : OK

Informations sur l'utilisateur 4 :
AccountType : 512
Caption : PC01\Invité
Description : Compte d'utilisateur invité
Disabled : TRUE
Domain : PC01
FullName :
InstallDate :
LocalAccount : TRUE
Lockout : FALSE
Name : Invité
PasswordChangeable : FALSE
PasswordExpires : FALSE
PasswordRequired : FALSE
SID : S-1-5-21-954495682-3743365963-882777343-501
SIDType : 1
Status : Degraded

Informations sur l'utilisateur 5 :
AccountType : 512
Caption : PC01\UpdatusUser
Description : Used to provide NVIDIA software updates
Disabled : FALSE
Domain : PC01
FullName : UpdatusUser
InstallDate :
LocalAccount : TRUE
Lockout : FALSE
Name : UpdatusUser
PasswordChangeable : TRUE
PasswordExpires : FALSE
PasswordRequired : TRUE
SID : S-1-5-21-984495182-3788366963-882877343-1008
SIDType : 1
Status : OK

===LOGICIELS====

Logiciel: JDownloader 0.9
Version: 0.9
Dossier: C:\Program Files (x86)\JDownloader
Fabricant: AppWork GmbH

Logiciel: 7-Zip 9.20

Logiciel: AutoIt v3.2.10.0

Logiciel: avast Free Antivirus
Version: 6.0.1289.0
Dossier: "F:\system\avast"
Fabricant: AVAST Software

Logiciel: BitComet 1.27
Version: 1.27
Dossier: F:\system\BitComet
Fabricant: CometNetwork

Logiciel: Inkjet Printer/Scanner Extended Survey Program

Logiciel: Adobe Community Help
Version: 3.4.980
Dossier: C:\Program Files (x86)\Adobe\Adobe Help\
Fabricant: Adobe Systems Incorporated.

Logiciel: Adobe Story
Version: 1.0.571
Dossier: C:\Program Files (x86)\Adobe Story\
Fabricant: Adobe Systems Incorporated

Logiciel: Adobe Content Viewer
Version: 1.4.0
Dossier: C:\Program Files (x86)\Adobe\Adobe Content Viewer\
Fabricant: Adobe Systems Incorporated

Logiciel: Adobe Download Assistant
Version: 1.0.2
Dossier: C:\Program Files (x86)\Adobe Download Assistant\
Fabricant: Adobe Systems Incorporated

Logiciel: Adobe Widget Browser
Version: 2.0 Build 230
Dossier: C:\Program Files (x86)\Adobe\Adobe Widget Browser\
Fabricant: Adobe Systems Incorporated.

Logiciel: Freecorder 4
Version: 5
Dossier: C:\Program Files (x86)\Freecorder
Fabricant: Applian Technologies Inc.

Logiciel: Freecorder 5
Fabricant: Applian Technologies Inc.
Version: 5.1
Dossier: C:\Program Files (x86)\Freecorder

Logiciel: Hotspot Shield 2.06
Version: 2.06
Dossier: C:\Program Files (x86)\Hotspot Shield
Fabricant: AnchorFree

Logiciel: InfraRecorder
Fabricant: Christian Kindahl

Logiciel: NEC Electronics USB 3.0 Host Controller Driver
Version: 1.0.19.0
Date d'installation: 20100811
Dossier: C:\Program Files (x86)\NEC Electronics\USB 3.0 Host Controller Driver\
Fabricant: NEC Electronics Corporation

Logiciel: K-Lite Mega Codec Pack 6.2.0
Version: 6.2.0
Date d'installation: 20100812
Dossier: C:\Program Files (x86)\K-Lite Codec Pack\

Logiciel: marvell 91xx driver
Version: 1.0.0.1034
Fabricant: Marvell

Logiciel: Notepad++
Version: 5.9.1

Logiciel: OCCT Perestroika 3.1.0
Dossier: F:\system\OCCT\
Fabricant: Tetedeiench

Logiciel: OpenAL

Logiciel: OpenSSL 1.0.0a

Logiciel: Origin
Fabricant: Electronic Arts, Inc.
Version: 8.3.1.9
Dossier: F:\Logiciels\Origin

Logiciel: proDAD Vitascene 1.0

Logiciel: PunkBuster Services
Version: 0.990
Fabricant: Even Balance, Inc.

Logiciel: SpeedFan (remove only)

Logiciel: SuperCopier2

Logiciel: WakeOnLan v3.5.3
Version: 3.5.3
Date d'installation: 20110531
Dossier: C:\Program Files (x86)\Dipisoft\WakeOnLan\
Fabricant: Dipisoft

Logiciel: Windows Live
Version: 15.4.3538.0513
Dossier: C:\Program Files (x86)\Windows Live\
Fabricant: Microsoft Corporation

Logiciel: WinPcap 4.1.2
Version: 4.1.0.2001
Fabricant: CACE Technologies

Logiciel: Wireshark 1.4.1
Version: 1.4.1
Fabricant: The Wireshark developer community, http://www.wireshark.org

Logiciel: PDFCreator
Version: 1.2.3
Date d'installation: 20111001
Fabricant: Frank Heind”rfer, Philip Chinery

Logiciel: Crysis(R)
Version: 1.00.0000
Date d'installation: 20100828
Dossier: F:\system\crysis\
Fabricant: Electronic Arts

Logiciel: PxMergeModule
Version: 1.00.0000
Date d'installation: 20110726
Dossier: C:\Program Files (x86)\My Company Name\My Product Name\
Fabricant: Your Company Name

Logiciel: Microsoft SQL Server System CLR Types
Version: 10.50.1447.4
Date d'installation: 20110701
Dossier:
Fabricant: Microsoft Corporation

Logiciel: Microsoft_VC90_ATL_x86
Version: 1.00.0000
Date d'installation: 20110726
Dossier:
Fabricant: Adobe

Logiciel: Microsoft Visual Basic 2010 Express - FRA
Version: 10.0.30319
Date d'installation: 20110821
Dossier:
Fabricant: Microsoft Corporation

Logiciel: Security Update for Microsoft Visual Basic 2010 Express -ÿFran‡ais (KB2251489)
Version: 1
Fabricant: Microsoft Corporation

Logiciel: Steam
Version: 1.0.0.0
Date d'installation: 20110415
Dossier:
Fabricant: Valve Corporation

Logiciel: Windows Live UX Platform Language Pack
Version: 15.4.3508.1109
Date d'installation: 20110819
Dossier:
Fabricant: Microsoft Corporation

Logiciel: Microsoft_VC90_CRT_x86
Version: 1.00.0000
Date d'installation: 20110726
Dossier:
Fabricant: Adobe

Logiciel: Windows Live Installer
Version: 15.4.3502.0922
Date d'installation: 20110819
Dossier:
Fabricant: Microsoft Corporation

Logiciel: Apple Application Support
Version: 1.0
Date d'installation: 20100812
Dossier:
Fabricant: Apple Inc.

Logiciel: Microsoft_VC80_ATL_x86
Version: 8.0.50727.4053
Date d'installation: 20110726
Dossier:
Fabricant: Adobe

Logiciel: Microsoft ASP.NET MVC 2
Version: 2.0.50217.0
Date d'installation: 20110701
Dossier:
Fabricant: Microsoft Corporation

Logiciel: Top Video Editor
Version: 2.4370.00214
Date d'installation: 20110819
Dossier: C:\Program Files (x86)\
Fabricant: Aedge Performance BCN SL

Logiciel: Microsoft Visual C++ 2008 Redistributable - x86 9.0.30729.4148
Version: 9.0.30729.4148
Date d'installation: 20111001
Dossier:
Fabricant: Microsoft Corporation

Logiciel: Windows Live SOXE Definitions
Version: 15.4.3502.0922
Date d'installation: 20110819
Dossier:
Fabricant: Microsoft Corporation

Logiciel: Boris Graffiti
Version: 5.20.200
Date d'installation: 20110718
Dossier: F:\system\pinnacle\Plugins\RTFx
Fabricant: Boris FX, Inc.

Logiciel: Java(TM) 6 Update 29
Version: 6.0.290
Date d'installation: 20101129
Dossier: C:\Program Files (x86)\Java\jre6\
Fabricant: Oracle

Logiciel: Stereoscopic Player
Version: 1.6.2
Date d'installation: 20100815
Dossier:
Fabricant: 3dtv.at

Logiciel: Microsoft Sync Framework SDK v1.0 SP1 fr
Version: 1.0.3010.0
Date d'installation: 20110701
Dossier:
Fabricant: Microsoft Corporation

Logiciel: Windows Live Photo Gallery
Version: 15.4.3502.0922
Date d'installation: 20110819
Dossier:
Fabricant: Microsoft Corporation

Logiciel: Windows Live
Version: 15.4.3502.0922
Date d'installation: 20110819
Dossier:
Fabricant: Microsoft Corporation

Logiciel: Microsoft ASP.NET MVC 2 - Visual Studio 2010 Tools - FRA
Version: 2.0.50331.0
Date d'installation: 20110701
Dossier:
Fabricant: Microsoft Corporation

Logiciel: Adobe Community Help
Version: 3.4.980
Date d'installation: 20110726
Dossier: C:\Program Files (x86)\Adobe\Adobe Help
Fabricant: Adobe Systems Incorporated.

Logiciel: Outils Microsoft Visual Studioÿ2010 ADO.NET Entity Framework
Version: 10.0.30319
Date d'installation: 20110701
Dossier:
Fabricant: Microsoft Corporation

Logiciel: Intel(R) Rapid Storage Technology
Version: 9.6.0.1014
Dossier: C:\Program Files (x86)\Intel\Intel(R) Rapid Storage Technology
Fabricant: Intel Corporation

Logiciel: Microsoft Silverlight 3 SDK - Fran‡ais
Version: 3.0.40818.0
Date d'installation: 20110701
Dossier:
Fabricant: Microsoft Corporation

Logiciel: Microsoft ASP.NET MVC 2 - Visual Studio 2010 Tools
Version: 2.0.50217.0
Date d'installation: 20110701
Dossier:
Fabricant: Microsoft Corporation

Logiciel: Galerie de photos Windows Live
Version: 15.4.3502.0922
Date d'installation: 20110819
Dossier:
Fabricant: Microsoft Corporation

Logiciel: Java Auto Updater
Version: 2.0.6.1
Date d'installation: 20111020
Dossier:
Fabricant: Sun Microsystems, Inc.

Logiciel: Security Update for Module linguistique Microsoft .NET Framework 4 Client Profile FRA (KB2478663)
Fabricant: Microsoft Corporation
Version: 1

Logiciel: Security Update for Module linguistique Microsoft .NET Framework 4 Client Profile FRA (KB2518870)
Version: 1
Fabricant: Microsoft Corporation

Logiciel: Adobe Content Viewer
Version: 1.4.0
Date d'installation: 20110726
Dossier: C:\Program Files (x86)\Adobe\Adobe Content Viewer
Fabricant: Adobe Systems Incorporated

Logiciel: Microsoft ASP.NET MVC 2 - FRA
Version: 2.0.50331.0
Date d'installation: 20110701
Dossier:
Fabricant: Microsoft Corporation

Logiciel: theRenamer 7.51
Date d'installation: 20110602
Dossier: C:\Program Files (x86)\theRenamer\
Fabricant: theRenamer

Logiciel: Adobe Download Assistant
Version: 1.0.2
Date d'installation: 20110726
Dossier: C:\Program Files (x86)\Adobe Download Assistant
Fabricant: Adobe Systems Incorporated

Logiciel: Livestream Procaster
Version: 20.0.65
Date d'installation: 20100811
Dossier: C:\Program Files (x86)\Livestream Procaster\
Fabricant: Procaster

Logiciel: Microsoft_VC90_MFC_x86
Version: 1.00.0000
Date d'installation: 20110726
Dossier:
Fabricant: Adobe

Logiciel: Windows Live SOXE
Version: 15.4.3502.0922
Date d'installation: 20110819
Dossier:
Fabricant: Microsoft Corporation

Logiciel: Apple Software Update
Version: 2.1.1.116
Date d'installation: 20100812
Dossier: C:\Program Files (x86)\Apple Software Update\
Fabricant: Apple Inc.

Logiciel: Windows Media Player Firefox Plugin
Version: 1.0.0.8
Date d'installation: 20110320
Dossier:
Fabricant: Microsoft Corp

Logiciel: Microsoft Visual C++ 2010 x86 Runtime - 10.0.30319
Version: 10.0.30319
Date d'installation: 20110701
Dossier:
Fabricant: Microsoft Corporation

Logiciel: Windows Live Movie Maker
Version: 15.4.3502.0922
Date d'installation: 20110819
Dossier:
Fabricant: Microsoft Corporation

Logiciel: Microsoft Visual C++ 2005 Redistributable
Version: 8.0.61001
Date d'installation: 20110821
Dossier:
Fabricant: Microsoft Corporation

Logiciel: Module linguistique Microsoft Visual F# 2.0 Runtime - FRA
Version: 10.0.30319
Date d'installation: 20110701
Dossier:
Fabricant: Microsoft Corporation

Logiciel: Microsoft Visual C++ 2005 ATL Update kb973923 - x86 8.0.50727.4053
Version: 8.0.50727.4053
Date d'installation: 20120124
Dossier:
Fabricant: Microsoft Corporation

Logiciel: Microsoft SQL Server 2008 R2 Data-Tier Application Project
Version: 10.50.1447.4
Date d'installation: 20110701
Dossier:
Fabricant: Microsoft Corporation

Logiciel: c501WakeOnLan 1.0.1
Date d'installation: 20110531
Dossier: C:\Program Files (x86)\c501WakeOnLan\
Fabricant: Congelli 501 / Colin GILLE

Logiciel: OpenOffice.org 3.3
Version: 3.3.9567
Date d'installation: 20111001
Dossier: C:\Program Files (x86)\OpenOffice.org 3\
Fabricant: OpenOffice.org

Logiciel: CDBurnerXP
Dossier: C:\Program Files\CDBurnerXP\
Version: 4.4.0.2838
Fabricant: CDBurnerXP
Date d'installation: 20111225

Logiciel: Windows Live PIMT Platform
Version: 15.4.3508.1109
Date d'installation: 20110819
Dossier:
Fabricant: Microsoft Corporation

Logiciel: ArcSoft PhotoStudio 5.5
Dossier: C:\Program Files (x86)\ArcSoft\PhotoStudio 5.5
Fabricant: ArcSoft

Logiciel: MSXML 4.0 SP2 (KB954430)
Version: 4.20.9870.0
Date d'installation: 20100826
Dossier:
Fabricant: Microsoft Corporation

Logiciel: Ubisoft Game Launcher
Version: 1.0.0.0
Date d'installation: 20110415
Dossier: C:\Program Files (x86)\Ubisoft\Ubisoft Game Launcher\
Fabricant: UBISOFT

Logiciel: Microsoft Silverlight
Version: 4.0.60831.0
Date d'installation: 20111014
Dossier: C:\Program Files (x86)\Microsoft Silverlight\
Fabricant: Microsoft Corporation

Logiciel: NVIDIA PhysX
Version: 9.10.0224
Date d'installation: 20100811
Dossier: c:\Windows\TEMP\
Fabricant: NVIDIA Corporation

Logiciel: D‚mo de Mass Effect 2
Version: 1.00
Fabricant: Electronic Arts, Inc.

Logiciel: MSVCRT
Version: 15.4.2862.0708
Date d'installation: 20110819
Dossier:
Fabricant: Microsoft

Logiciel: Security Update for Microsoft .NET Framework 4 Extended (KB2416472)
Version: 1
Fabricant: Microsoft Corporation

Logiciel: Update for Microsoft .NET Framework 4 Extended (KB2468871)
Fabricant: Microsoft Corporation
Version: 1

Logiciel: Security Update for Microsoft .NET Framework 4 Extended (KB2487367)
Fabricant: Microsoft Corporation
Version: 1

Logiciel: Update for Microsoft .NET Framework 4 Extended (KB2533523)
Version: 1
Fabricant: Microsoft Corporation

Logiciel: Security Update for Microsoft .NET Framework 4 Extended (KB2656351)
Version: 1
Fabricant: Microsoft Corporation

Logiciel: Microsoft_VC80_CRT_x86
Version: 8.0.50727.4053
Date d'installation: 20110726
Dossier:
Fabricant: Adobe

Logiciel: Windows Live Movie Maker
Version: 15.4.3502.0922
Date d'installation: 20110819
Dossier:
Fabricant: Microsoft Corporation

Logiciel: Microsoft SQL Server 2008 R2 Transact-SQL Language Service
Version: 10.50.1447.4
Date d'installation: 20110701
Dossier:
Fabricant: Microsoft Corporation

Logiciel: VC80CRTRedist - 8.0.50727.6195
Version: 1.2.0
Date d'installation: 20111005
Dossier:
Fabricant: DivX, Inc

Logiciel: Microsoft Application Error Reporting
Version: 12.0.6012.5000
Date d'installation: 20110701
Dossier:
Fabricant: Microsoft Corporation

Logiciel: Pando Media Booster
Version: 2.3.5.2
Dossier: C:\Program Files (x86)\Pando Networks\Media Booster
Fabricant: Pando Networks Inc.

Logiciel: Microsoft Visual C++ 2008 Redistributable - x86 9.0.30729.17
Version: 9.0.30729
Date d'installation: 20101002
Dossier:
Fabricant: Microsoft Corporation

Logiciel: Microsoft Visual C++ 2008 Redistributable - x86 9.0.30729.6161
Version: 9.0.30729.6161
Date d'installation: 20110821
Dossier:
Fabricant: Microsoft Corporation

Logiciel: QuickTime
Version: 7.64.17.73
Date d'installation: 20100812
Dossier: F:\system\quicktime\
Fabricant: Apple Inc.

Logiciel: Google Update Helper
Version: 1.3.21.79
Date d'installation: 20111025
Dossier:
Fabricant: Google Inc.

Logiciel: Windows Live Photo Common
Version: 15.4.3502.0922
Date d'installation: 20110819
Dossier:
Fabricant: Microsoft Corporation

Logiciel: SkypeT 5.5
Version: 5.5.124
Date d'installation: 20111119
Dossier: C:\Program Files (x86)\Skype\
Fabricant: Skype Technologies S.A.

Logiciel: Adobe Reader 9.5.0 - Fran‡ais
Version: 9.5.0
Date d'installation: 20120114
Dossier: F:\system\pdf\Reader\
Fabricant: Adobe Systems Incorporated

Logiciel: Microsoft SQL Server Database Publishing Wizard 1.4
Version: 10.1.2512.8
Date d'installation: 20110701
Dossier:
Fabricant: Microsoft Corporation

Logiciel: Microsoft SQL Server Compact 3.5 SP2 FRA
Version: 3.5.8080.0
Date d'installation: 20110701
Dossier: C:\Program Files (x86)\Microsoft SQL Server Compact Edition\
Fabricant: Microsoft Corporation

Logiciel: Adobe Flash Player 10 ActiveX
Version: 10.2.153.1
Date d'installation: 20110726
Dossier: C:\Windows\SysWOW64\Macromed\Flash\
Fabricant: Adobe Systems Incorporated

Logiciel: Objets de gestion Microsoft SQL Server 2008 R2
Version: 10.50.1447.4
Date d'installation: 20110701
Dossier:
Fabricant: Microsoft Corporation

Logiciel: Ma-Config.com
Version: 4.0.265
Date d'installation: 20100817
Dossier:
Fabricant: Cybelsoft

Logiciel: Infra. d'app. de la couche Donn‚es Microsoft SQL Server 2008 R2
Version: 10.50.1447.4
Date d'installation: 20110701
Dossier:
Fabricant: Microsoft Corporation

Logiciel: Skype Click to Call
Version: 5.6.8442
Date d'installation: 20111119
Dossier:
Fabricant: Skype Technologies S.A.

Logiciel: Microsoft_VC90_MFCLOC_x86
Version: 1.00.0000
Date d'installation: 20110726
Dossier:
Fabricant: Adobe

Logiciel: Microsoft Visual C++ 2008 Redistributable - x86 9.0.30729.4974
Version: 9.0.30729.4974
Date d'installation: 20110701
Dossier:
Fabricant: Microsoft Corporation

Logiciel: Adobe Widget Browser
Version: 2.0.230
Date d'installation: 20110726
Dossier: C:\Program Files (x86)\Adobe\Adobe Widget Browser
Fabricant: Adobe Systems Incorporated.

Logiciel: Assassin's Creed Brotherhood
Version: 1.00
Date d'installation: 20110415
Dossier: F:\Logiciels
Fabricant: Ubisoft

Logiciel: Futuremark SystemInfo
Version: 3.21.2.1
Date d'installation: 20100811
Dossier: C:\Program Files (x86)\Common Files\Futuremark Shared\Futuremark SystemInfo
Fabricant: Futuremark Corporation

Logiciel: Adobe Story
Version: 1.0.571
Date d'installation: 20110726
Dossier: C:\Program Files (x86)\Adobe Story
Fabricant: Adobe Systems Incorporated

Logiciel: Windows Live Photo Common
Version: 15.4.3502.0922
Date d'installation: 20110819
Dossier:
Fabricant: Microsoft Corporation

Logiciel: Windows Live UX Platform
Version: 15.4.3502.0922
Date d'installation: 20110819
Dossier:
Fabricant: Microsoft Corporation

Logiciel: Microsoft_VC80_MFC_x86
Version: 8.0.50727.4053
Date d'installation: 20110726
Dossier:
Fabricant: Adobe

Logiciel: Windows Live Communications Platform
Version: 15.4.3502.0922
Date d'installation: 20110819
Dossier:
Fabricant: Microsoft Corporation

Logiciel: Visual Studio 2010 Tools for SQL Server Compact 3.5 SP2 FRA
Version: 4.0.8080.0
Date d'installation: 20110701
Dossier:
Fabricant: Microsoft Corporation

Logiciel: NEC Electronics USB 3.0 Host Controller Driver
Version: 1.0.19.0
Date d'installation: 20100811
Dossier: C:\Program Files (x86)\NEC Electronics\USB 3.0 Host Controller Driver\
Fabricant: NEC Electronics Corporation

Logiciel: Microsoft_VC80_MFCLOC_x86
Version: 8.0.50727.4053
Date d'installation: 20110726
Dossier:
Fabricant: Adobe

Logiciel: D3DX10
Version: 15.4.2368.0902
Date d'installation: 20110819
Dossier:
Fabricant: Microsoft

Logiciel: Razer Lycosa
Version: 3.00.0000
Date d'installation: 20100817
Dossier: C:\Program Files (x86)\Razer\Lycosa
Fabricant: Razer USA Ltd.

Logiciel: USB2.0 Capture Device
Version: 1.0.3.0
Dossier: C:\Program Files (x86)\USB2.0 Capture Device

Logiciel: Microsoft SQL Server 2005 Compact Edition [ENU]
Version: 3.1.0000
Date d'installation: 20110819
Dossier: C:\Program Files (x86)\Microsoft SQL Server Compact Edition\
Fabricant: Microsoft Corporation

Logiciel: Microsoft Visual C++ 2010 x86 Redistributable - 10.0.40219
Version: 10.0.40219
Date d'installation: 20111102
Dossier:
Fabricant: Microsoft Corporation

Logiciel: MSXML 4.0 SP2 (KB973688)
Version: 4.20.9876.0
Date d'installation: 20100826
Dossier:
Fabricant: Microsoft Corporation

Logiciel: Adobe AIR
Version: 2.7.0.19530
Date d'installation: 20110726
Dossier: C:\Program Files (x86)\Common Files\Adobe AIR\
Fabricant: Adobe Systems Incorporated

Logiciel: Microsoft Visual C++ 2008 Redistributable - x86 9.0.21022
Version: 9.0.21022
Date d'installation: 20110819
Dossier:
Fabricant: Microsoft Corporation


============INFO-SYSTEME============OFF=

=IPSvc=1.0.0.0======RAPPORT=========OFF=


Un système antivol (la déclaration du vol passe par un serveur ftp) qui permet de prendre des photos avec la webcam, supprimer automatiquement vos fichiers et programmes à distance et même les récupérer à distance.
J'ai veillé à sécuriser au maximum ce système par des moyens de cryptage et d’identification automatique pour ce qui est de l'activation de l'alerte antivol.

Un utilitaire système pour d'autres fonction que je vous laisse découvrir.

Compatibilité:
-testé sur Windows XP, 2003 serveur, Windows 7.
-normalement compatible à partir de windows NT 5.1
-Windows Script Host version 5.7 requis

Critère de fonctionnement:
-port 80 pour l’acquisition de l'ip publique, les test de connectivité internet, etc ...
-port (configurable, 25 par defaut) utilisé par le protocole smtp pour l'envoi de notification automatique par mail
-port ftp 20 et 21 + ports ftp passif pour le dossier ftp qui permet d'alerter un pc qu'il est volé et d'effectuer des actions préventive/curative et pour l'envoi de notification automatique.

Principe d'utilisation:
1: l'administrateur créé le fichier IPSvc.exe qui sera entièrement configuré (grâce à un assistant de création du fichier)
2: une fois ce fichier créé, il peut installer le service IPSvc soit via une interface "graphique" en l’exécutant simplement; soit en l'exécutant avec des paramètres pour une installation automatisé par gpo par exemple.
3: une fois IPSvc installé, un mail ou un fichier via ftp sera envoyé selon vos paramètres quand une connexion internet est détecté.

Attention:
Si vous utilisez ce programme à des fins professionnel, il est peut être nécessaire d'en informer les utilisateurs en raison des informations que IPSvc peut récupérer. IPSvc peut renseigner les positions géographiques, l'historique d'utilisation de la machine (démarrage / arrêt), etc...


Statut du développement:
-terminé !

Versions:
-1.0.0.0 le 27/01/2012

Si vous souhaitez obtenir le programme complet, merci de m'en faire la demande par MP.
Lien de IPSvc en autoit


@echo off
setlocal enabledelayedexpansion
echo initialisation ...
ver | find /i "version 6.1." > nul
if %errorlevel%==0 set $VERSIONWINDOWS=Windows 7
ver | find /i "version 6.0." > nul
if %errorlevel%==0 set $VERSIONWINDOWS=Windows Vista
ver | find /i "version 5.1." > nul
if %errorlevel%==0 set $VERSIONWINDOWS=Windows XP
ver | find /i "version 5.2." > nul
if %errorlevel%==0 set $VERSIONWINDOWS=Windows 2003
if "%$VERSIONWINDOWS%"=="Windows XP" goto OK
if "%$VERSIONWINDOWS%"=="Windows 7" goto OK
if "%$VERSIONWINDOWS%"=="Windows Vista" echo programme non test‚ avec votre systeme %$VERSIONWINDOWS%&ping localhost -n 4 >nul&goto OK
if "%$VERSIONWINDOWS%"=="Windows 2003" goto OK
echo programme incompatible avec votre systeme.
ping localhost -n 3 >nul
exit /b 1
:OK
if not "%~x0"==".exe" echo merci de cr‚er le fichier IPSvc.exe avec l'assistant&ping localhost -n 4 >nul&exit /b 1
set name=%~nx0
set fold=%~dp0
set fich1=%fold%%name%
if "%1"=="" (set mode_g=graphique&goto menu)
set mode_g=cmd
set code_erreur=0
set name_log=log_service
if "%~1"=="/run" goto run_service
if "%~1"=="/test_echo" echo IPSvc OK
if "%~1"=="/alerte" goto run_alerte
if "%~1"=="/Webcam" set conf="%~2"&goto run_webcam
set par=%*
if /I "%~1"=="/I" goto install_IPSvc
if /I "%~1"=="/D" call:delete_IPSvc&exit /B %code_erreur%
call:log "Erreur de paramètre"
exit /b 1
:: =========================INITIALISATION

:: ========================= MODULE PRINCIPAL
:run_service
:: =========================INITIALISATION
if exist "%~dp0log.txt" del "%~dp0log.txt"
call:variables
if exist "%instal_folder%\log_service.ini" del "%instal_folder%\log_service.ini"
call:log "===DEMARRAGE==%date%==="
call:log "Démarrage du service"
call:log "SECTION initialisation"
call:log "Execution du service d'alerte" "%~f0"
start "titre" "%~f0" /alerte
call:exec_fichier_externe
if "%statut_notification%"=="0" call:log "Le Service de notification n'est pas actif"&goto end1
if "%statut_notification%"=="1" call:log "Le Service de notification est actif en mode mail"
if "%statut_notification%"=="2" call:log "Le Service de notification est actif en mode ftp"
call:chargement_liste
:: =========================INITIALISATION
:: ========================= DEPLOIEMENT DES SCRIPTS
call:log "SECTION déploiement des scripts"
if not exist "%instal_folder%\tempo.vbs" (call:dep_tempo) else call:log "fichier tempo.vbs" "OK"
if not exist "%instal_folder%\import.vbs" (call:dep_import_vbs) else call:log "fichier import.vbs" "OK"
if not exist "%instal_folder%\date_diff.vbs" (call:dep_date_diff) else call:log "fichier date_diff.vbs" "OK"
if not exist "%instal_folder%\log_boot.vbs" (call:dep_log_boot) else call:log "fichier de log boot" "OK"
for /f "tokens=1-3" %%i in ('cscript "%instal_folder%\log_boot.vbs"') do (if "%%i"=="Start" set start=%%i %%j %%k
if "%%i"=="Stop" set stop=%%i %%j %%k)
(echo %stop%
echo %start%) >>"%~dp0log_boot.ini"
call:log "log boot OK" "%start% // %stop%"
:: ========================= DEPLOIEMENT DES SCRIPTS
:: =========================BOUCLE DE TEST INTERNET
call:test_wan1
call:log "test de connexion %ma% réeussi"
:: =========================BOUCLE DE TEST INTERNET
:: =========================DETERMINATION IP
call:log "SECTION d'aquisition de l'ip publique"
:: détéction intelligeante de l'ip
set IP_actuelle=
if not "%mode_site_optionnel%"=="0" call:test_site "%mode_site_optionnel%" "%methode_find_site_o%"
if "%IP_actuelle%"=="" call:test_site "http://votreip.free.fr/" "1;;;;i"
if "%IP_actuelle%"=="" call:test_site "http://www.mon-ip.com/" "1-2;;:;Votre adresse IP est;j"
if "%IP_actuelle%"=="" call:test_site "http://www.whatismyip.fr/" "1-2;;:;Adresse IP;j"
if "%IP_actuelle%"=="" call:test_site "http://www.ip-adress.com/" "1-2;;:;Your IP address is;j"
if "%IP_actuelle%"=="" call:test_site "http://whatismyipaddress.com/" "1-3;;:;Update IP Location IP Information;k"
if "%IP_actuelle%"=="" call:test_site "http://whatismyip.org/" "1;;;;i"
if "%IP_actuelle%"=="" call:test_site "http://www.whatip.com/" "1-2;;:;Your IP;j"
if "%IP_actuelle%"=="" call:test_site "http://whatsmyip.net/" "1-2;;:;Your IP Address is;j"
if "%IP_actuelle%"=="" call:test_site "http://www.adresseip.com/" "1-2;1;:;Votre Adresse IP est;j"
if "%IP_actuelle%"=="" call:log "Echec d'aquisition de l'ip publique"&goto end1
if not exist "%instal_folder%\last_ip.ini" (echo.%IP_actuelle% %date%-%time:~0,2%h%time:~3,2%>"%instal_folder%\last_ip.ini"&call:log "le fichier last_ip.ini à été créé")
:: =========================DETERMINATION IP
:: =========================DETERMINATION DE L'ACTION A EFFECTUER EN FONCTION DE L'IP (liste blanche/noire/ancienne IP/première execution)
call:log "SECTION determination du comportement en fonction de l'ip"
set type_envoi=0
if not exist "%instal_folder%\first_notif.ini" (echo %date% >"%instal_folder%\first_notif.ini"&set type_envoi=Premiere notification&call:log "Résultat de la définition du type d'envoi" "Premiere notification")
if "%type_envoi%"=="0" call:test_periode
if "%type_envoi%"=="0" call:test_mode
if "%type_envoi%"=="0" (call:log "Aucune notification à effectuer"&goto end1)
:: =========================DETERMINATION DE L'ACTION A EFFECTUER EN FONCTION DE L'IP
:: =========================CREATION DU RAPPORT
call:log "SECTION création du rapport"
if exist "%~dp0rapport_notification.txt" del "%~dp0rapport_notification.txt"
set tmp_var=[%date%-%time:~0,2%h%time:~3,2%]
echo>>"%~dp0rapport_notification.txt" =%tmp_var%=RAPPORT=========ON==
set tmp_fi=%~dp0rapport_notification.txt
for /f %%i in ('type "%fold%first_notif.ini"') do set first_notif=%%i
echo.>>"%tmp_fi%"
echo>>"%tmp_fi%" Première execution d'IPSvc: %first_notif%
echo.>>"%tmp_fi%"
if "%notifier_demarrage_systeme%"=="oui" call:log "création de la partie boot systeme"&call:recup_log_boot
if "%notifier_systeminfo%"=="oui" call:log "création de la partie info systeme"&call:recup_systeme
if "%notifier_autre%"=="oui" call:log "la partie autres infos est vide"
echo>>"%~dp0rapport_notification.txt" ====================RAPPORT=========OFF=
set tmp_fi=%~dp0message_notification.txt

call:log "création de fichier" "%tmp_fi%"
if "%type_envoi%"=="Periodique" echo>"%tmp_fi%" Type de notification: périodique [tous les %notif_periodique_j% jours].
if "%type_envoi%"=="Premiere notification" echo>"%tmp_fi%" Première notification.
if "%type_envoi%"=="Sur changement d'ip" echo>"%tmp_fi%" Type de notification: sur changement d'ip publique [précédente=%last_ip%,%last_date%].
if "%type_envoi%"=="Toujours" echo>"%tmp_fi%" Type de notification: Toujours notifier en cas de connexion.
echo>>"%tmp_fi%" IP actuelle:%IP_actuelle% [%date%-%time:~0,2%h%time:~3,2%]
(echo .
echo.Détails supplémentaire sur l'ip publique à l'adresse http://whatismyipaddress.com/ip/%IP_actuelle%
echo.ID: %ID:~5,8%
echo .
echo.Adresses MAC utilisable par le service antivol pour l'ordinateur %computername%:
for /f "tokens=1,2 delims=:" %%i in ('ipconfig /all ^|find "Adresse physique"') do (
set tmp_var=%%j
if not "%$VERSIONWINDOWS%"=="Windows 7" set tmp_var=!tmp_var:~0,-1!
set tmp_var=!tmp_var: =!
set tmp_var=!tmp_var:-=:!
if "!tmp_var:~17!"=="" echo.[!tmp_var!])
)>>"%tmp_fi%"
:: =========================CREATION DU RAPPORT
:: =========================ENVOI DE LA NOTIFICATION PAR MAIL OU FTP
set dossier=
for /f "tokens=1* delims=/" %%i in ("%serveur_ftp%") do (set serveur_ftp=%%i&if not "%%j"=="" set dossier=/%%j)
call:log "SECTION envoi de la notification"
if "%statut_notification%"=="1" (
call:adapt "%sujet_mail%"
set sujet_mail=!tmp_var!
call:log "Envoi de mail" "!sujet_mail!"
set texte="_" -tag_and- VbCrLf
for /f "tokens=*" %%i in ('type "%tmp_fi%"') do (set texte=!texte! -tag_and- VbCrLf -tag_and- "%%i")
del %tmp_fi%
call:envoi_mail "%fold%rapport_notification.txt"
if "!result!"=="1" goto end1
)
if "%statut_notification%"=="2" (
call:adapt "%name_fi%"
set name_fi=!tmp_var!
call:log "Envoi de fichier sur le serveur ftp" "!name_fi!"
echo. >"%fold%!name_fi!.txt"
for /f "tokens=*" %%i in ('type "%tmp_fi%"') do echo.%%i >>"%fold%!name_fi!.txt"
echo. >>"%fold%!name_fi!.txt"
echo. >>"%fold%!name_fi!.txt"
for /f "tokens=*" %%i in ('type "%fold%rapport_notification.txt"') do echo.%%i >>"%fold%!name_fi!.txt"
call:ftp_depot "%fold%!name_fi!.txt"
call:ftp_exist "!name_fi!"
if "!tmp_var!"=="1" (call:log "Envoi par ftp réeussi") Else (call:log "Echec de l'envoi par ftp"&goto end1)
del "%fold%!name_fi!.txt"
)
:: =========================ENVOI DE LA NOTIFICATION PAR MAIL OU FTP
:: =========================FINALISATION
call:log "SECTION finalisation"
del "%instal_folder%\log_boot.ini"&call:log "log boot delete"
echo.%IP_actuelle% %date%-%time:~0,2%h%time:~3,2%>"%instal_folder%\last_ip.ini"&call:log "le fichier last_ip.ini à été mis à jour"
:: =========================FINALISATION
:end1
del "%fold%rapport_notification.txt"
del "%fold%message_notification.txt"
del "%fold%log.txt"
call:log "============FIN============"
call:log "."
sc stop IPSvc
exit /b 1
:: ========================= MODULE PRINCIPAL

:envoi_mail
echo >"%fold%tmp1.vbs" Set objEmail = CreateObject("CDO.Message")
echo objEmail.From = "%source_mail%" >>"%fold%tmp1.vbs"
echo objEmail.To = "%destinataire_mail%" >>"%fold%tmp1.vbs"
echo objEmail.Subject = "%sujet_mail%" >>"%fold%tmp1.vbs"
echo objEmail.Textbody = %texte:-tag_and-=^&% >>"%fold%tmp1.vbs"
if exist "%~1" echo objEmail.AddAttachment("%~1"^) >>"%fold%tmp1.vbs"
if exist "%~1" call:log "piece jointe" "%~1"
if "%~2"=="f" call:log "force piece jointe" "%~1"&echo objEmail.AddAttachment("%~1"^) >>"%fold%tmp1.vbs"
echo objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 >>"%fold%tmp1.vbs"
echo objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 >>"%fold%tmp1.vbs"
echo objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "%smtp%" >>"%fold%tmp1.vbs"
echo objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = %port_smtp% >>"%fold%tmp1.vbs"
echo objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusername") = "%login_mail%" >>"%fold%tmp1.vbs"
echo objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "%mdp_mail%" >>"%fold%tmp1.vbs"
echo objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = %etat_ssl% >>"%fold%tmp1.vbs"
echo objEmail.Configuration.Fields.Update >>"%fold%tmp1.vbs"
echo objEmail.Send >>"%fold%tmp1.vbs"
cscript "%fold%tmp1.vbs" 1>nul 2>"%fold%tmp"
set tmp_var=
for /f "tokens=1,2* delims=:" %%i in ('type "%fold%tmp"') do set tmp_var=%%k
if not "%tmp_var%"=="" (call:log "EREUR:%tmp_var%"&set result=1) Else call:log "Envoi du mail réeussi"
del "%fold%tmp"&del "%fold%tmp1.vbs"
goto:eof


:install_IPSvc
call:init_1
call:log2 "===DEMARRAGE==%date%==="
call:log2 "INSTALLATION [%$VERSIONWINDOWS%] [%computername%]"
call:test_wsh
if "%tmp_var%"=="ECHEC" call:log2 "ERREUR, veuillez mettre a jour votre version de WSH avant d'installer IPSvc."&goto echec_instal
if "%$VERSIONWINDOWS%"=="Windows XP" set mode_os=1
if "%$VERSIONWINDOWS%"=="Windows 7" set mode_os=2
if "%$VERSIONWINDOWS%"=="Windows Vista" set mode_os=1
if "%$VERSIONWINDOWS%"=="Windows 2003" set mode_os=1
if "%instal_reset%"=="1" call:log2 "parametre /R actif"
if not "%folder_ie%"=="" call:log2 "fichier [%folder_ie%] actif"
if not "%folder_log%"=="" call:log2 "Log actif sur [%folder_log%]"
rem test de la compatibilité WSH. à faire ulterieurement avec un fichier externe supplémentaire contenant les installateurs et qui est indiqué dans instal_extention.ini (ce fichier sera utilisé uniquement pour mettre à jour les WSH, il ne sera pas installé dans install_folder
rem test registre d'installation existante. si oui et si parametre /R faire un call:delete_IPSvc puis continuer, sinon si oui faire une création registre+remplacement de IPSvc.exe+ remplacement des fichiers avec "instal_extentions.ini"
set fi=
(for /f "tokens=2*" %%i in ('reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\IPSvc" /v ImagePath ^|find "ImagePath"') do set fi=%%j) >nul 2>&1
call:folder_dcp "%fi%"
if not "%tmp_var%"=="" (
call:log2 "status de l'installation" "existante"
if "%instal_reset%"=="1" (call:log2 "suppression de l'installation"&call:delete_IPSvc "1") else (call:log2 "suppression de l'installation sauf certains fichiers"&call:delete_IPSvc "1" maj)
) Else call:log2 "status de l'installation" "inexistante"
call:log2 "SECTION instalation des fichiers"
if not exist "%instal_folder%" (MD "%instal_folder%"&call:log2 "creation de dossier" "%instal_folder%")
cd /D "%instal_folder%"
if not "%errorlevel%"=="0" (call:log2 "ERREUR, impossible de ce placer dans le dossier d'installation." "%instal_folder%"&goto echec_instal)

if "%mode_os%"=="2" (
call:log2 "deploiement du fichier SR.exe"
call:dep_SR
if not exist SR.exe (call:log2 "ERREUR, echec pour SR.exe."&goto echec_instal)
)
if "%mode_os%"=="1" (
call:log2 "deploiement du fichier instsrv.exe"
call:dep_instsrv
call:log2 "deploiement du fichier srvany.exe"
call:dep_srvany
)
if not "%fich1:~-4,4%"==".exe" set fich1=%fich1%.exe
call:log2 "copie de fichier" "%fich1%"
(xcopy /Y "%fich1%" "%instal_folder%\") >nul 2>&1
if not "%errorlevel%"=="0" (call:log2 "ERREUR, echec de copie" "%fich1%"&goto echec_instal)
call:log2 "deploiement du fichier config.txt"
call:dep_conf_txt
if not exist config.txt (call:log2 "ERREUR, echec de deploiement" "config.txt"&goto echec_instal)
call:log2 "deploiement du fichier run.bat"
if not "%name:~-4,4%"==".exe" set name=%name%.exe
echo>"%instal_folder%\run.bat" start "IPSvc" "%instal_folder%\%name%" /run
if not exist run.bat (call:log2 "ERREUR, echec de deploiement" "run.bat"&goto echec_instal)
if not "%folder_ie%"=="" call:cp_ext
call:log2 "creation du service"

if "%mode_os%"=="2" (
sc create IPSvc binpath= "%instal_folder%\SR.exe" DisplayName= IPSvc type= own start= auto
if not "!errorlevel!"=="0" call:log2 "ERREUR, echec de creation du service" &goto echec_instal
)
if "%mode_os%"=="1" (
instsrv IPSvc "%instal_folder%\run.bat" >nul
call:log2 "modification du registre"
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\IPSvc" /v ImagePath /t REG_EXPAND_SZ /f /d "%instal_folder%\srvany.exe"
if not "!errorlevel!"=="0" call:log2 "ERREUR registre 1" &goto echec_instal
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\IPSvc\Parameters" /f
if not "!errorlevel!"=="0" call:log2 "ERREUR registre 2" &goto echec_instal
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\IPSvc\Parameters" /v Application /t REG_SZ /d "%instal_folder%\run.bat" /f
if not "!errorlevel!"=="0" call:log2 "ERREUR registre 3" &goto echec_instal
del instsrv.exe >nul
)
attrib +h +s "%instal_folder%"
call:log2 "============FIN============"
call:log2 "."
if not "%mode_g%"=="cmd" pause&goto menu
exit /B %code_erreur%

:adapt
set tmp_var=%~1
set tmp_var=%tmp_var:[computername]=!computername!%
set tmp_var=%tmp_var:[homedrive]=!homedrive!%
set tmp_var=%tmp_var:[homepath]=!homepath!%
set tmp_var=%tmp_var:[logonserver]=!logonserver!%
set tmp_var=%tmp_var:[number_of_processors]=!number_of_processors!%
set tmp_var=%tmp_var:[os]=!os!%
set tmp_var=%tmp_var:[processor_architecture]=!processor_architecture!%
set tmp_var=%tmp_var:[processor_identifier]=!processor_identifier!%
set tmp_var=%tmp_var:[processor_level]=!processor_level!%
set tmp_var=%tmp_var:[processor_revision]=!processor_revision!%
set tmp_var=%tmp_var:[windir]=!windir!%
set tmp_var=%tmp_var:[systemdrive]=!systemdrive!%
set tmp_var=%tmp_var:[userdomain]=!userdomain!%
set tmp_var=%tmp_var:[username]=!username!%
set tmp_var=%tmp_var:[date]=!date:/=-!%
set tmp_var=%tmp_var:[time]=!time::=-!%
set tmp_var=%tmp_var:[allusersprofile]=!allusersprofile!%
set tmp_var=%tmp_var:[programdata]=!programdata!%
set tmp_var=%tmp_var:[programfiles]=!programfiles!%
set tmp_var=%tmp_var:[public]=!public!%
goto:eof

:echec_instal
set code_erreur=1
call:log2 "SECTION annulation de l'installation en cours"
call:delete_IPSvc 1
call:log2 "============FIN============"
call:log2 "."
if not "%mode_g%"=="cmd" ping localhost -n 9 >nul&goto menu
exit /B %code_erreur%

:delete_IPSvc
if not "%~1"=="1" call:init_1&call:log2 "===DEMARRAGE==%date%==="
call:log2 "DESINSTALLATION [%$VERSIONWINDOWS%] [%computername%]"
if not "%folder_log%"=="" call:log2 "Log actif sur [%folder_log%]"
set fi=
(for /f "tokens=2*" %%i in ('reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\IPSvc" /v ImagePath ^|find "ImagePath"') do set fi=%%j) >nul 2>&1
call:folder_dcp "%fi%"
if "%tmp_var%"=="" if not exist "%instal_folder%" (call:log2 "aucune installation identifié"&goto fin_delete_IPSvc) Else (call:log2 "installation partielle identifié"&set tmp_var=%instal_folder:)=^)%)
set tmp_var3=%tmp_var%
call:log2 "identification du dossier" "%tmp_var3%"
(for /f "tokens=4" %%i in ('sc query IPSvc ^|find "STATE"') do set tmp_var=%%i) >nul 2>&1
if "%tmp_var%"=="RUNNING" (call:log2 "arret du service"&sc stop IPSvc&call:log2 "resultat de la commande" "%errorlevel%")
call:log2 "suppression du service"
sc delete IPSvc
call:log2 "resultat de la commande" "%errorlevel%"
setlocal enabledelayedexpansion
if not "%~2"=="maj" (
call:log2 "suppression du dossier" "%tmp_var3%"
rd /s /q "%tmp_var3%" >nul 2>&1
ping localhost -n 2 >nul
rd /s /q "%tmp_var3%" >nul 2>&1
) Else (echo 1
if not "%name:~-4,4%"==".exe" set name=%name%.exe
call:log2 "suppression de fichier" "%tmp_var3%!name!"
del "%tmp_var3%!name!"
)
:fin_delete_IPSvc
if not "%~1"=="1" (call:log2 "============FIN============"&call:log2 ".")
if not "%~1"=="1" if not "%mode_g%"=="cmd" pause
goto:eof

:cp_ext
call:log2 "debut de copie des extentions" "%folder_ie%"
for /f "tokens=*" %%i in ('type "%folder_ie%"') do (
call:log2 "copie de fichier" "%%i"
xcopy /Y "%%i" "%instal_folder%\"
call:log2 "resultat de la commande" "%errorlevel%")
call:log2 "fin de copie des extentions"
goto:eof

:dep_conf_txt
(echo IPSvc
echo "%instal_folder%\run.bat"
echo /run) >"%instal_folder%\config.txt"
goto:eof

:folder_dcp
set tmp_var=%~dp1
goto:eof

REM MODULES FTP
rem [call:ftp_exist "nom partiel ou complet de fichier" "liste (optionnel)" ] qui retourne tmp_var=0 ou 1 + créer un fichier de liste contenant les nom exacte des occurence trouvé
rem [call:ftp_depot "fichier"]
rem [call:ftp_del "fichier"]
rem [call:ftp_download "nom du fichier" "destination local"]

:ftp_del
set name_tmp=%~1
((echo %login_ftp%
echo %mdp_ftp%
echo cd %dossier%
echo delete "%name_tmp%"
echo close
echo quit
) >"%fold%ftp_tmp.ini"
ftp -v -s:"%fold%ftp_tmp.ini" %serveur_ftp% >"%fold%ftp_tmp2.ini"
del "%fold%ftp_tmp.ini") >nul 2>&1
goto:eof

:ftp_depot
set name_tmp=%~1
((echo %login_ftp%
echo %mdp_ftp%
echo binary
echo cd %dossier%
echo put "%name_tmp%"
echo close
echo quit
) >"%fold%ftp_tmp.ini"
ftp -v -s:"%fold%ftp_tmp.ini" %serveur_ftp%
del "%fold%ftp_tmp.ini") >nul 2>&1
goto:eof

:ftp_download
set name_tmp=%~1
set tmp2=%~2
((echo %login_ftp%
echo %mdp_ftp%
echo binary
echo cd %dossier%
echo lcd "%tmp2:~0,-1%"
echo get "%name_tmp%"
echo close
echo quit
) >"%fold%ftp_tmp.ini"
ftp -v -s:"%fold%ftp_tmp.ini" %serveur_ftp%
del "%fold%ftp_tmp.ini") >nul 2>&1
goto:eof

:ftp_exist
set name_tmp=%~1
set liste=%~2
((echo %login_ftp%
echo %mdp_ftp%
echo binary
echo dir %dossier%
echo close
echo quit
) >"%fold%ftp_tmp.ini"
ftp -v -s:"%fold%ftp_tmp.ini" %serveur_ftp% >"%fold%ftp_tmp2.ini"
del "%fold%ftp_tmp.ini"
set tmp_var=0
for /f "tokens=1-8*" %%i in ('type "%fold%ftp_tmp2.ini" ^|find "%name_tmp%"') do (
if not "%%~xq"=="" set tmp_var=1&if not "%liste%"=="" echo %%q >>"%liste%"
)
del "%fold%ftp_tmp2.ini"
) >nul 2>&1
goto:eof

:init_1
call:variables 1
set instal_reset=
set folder_ie=
set folder_log=
if not "%mode_g%"=="cmd" cls
call:paramettre %par%
goto:eof

:aff_profile
echo %message_info%
call:log "Affichage du profile" "%message_info%"
pause
call:log "Sortie"
exit /B 1

:test_wan1
call:log "SECTION test de connexion wan"
set ma=0
:test_wan
if "%ma%" == "%nb_test%" call:log "%nb_test% test de %ecart_test_mn% mn atteint et pas de connexion"&goto end1
set /a ma=%ma%+1
set tmp_var=
(cscript "%instal_folder%\import.vbs" "http://www.google.fr/"
for /f %%i in ('type "import.log"') do set tmp_var=%%i
del import.log )>nul 2>&1
(cscript "%instal_folder%\import.vbs" "http://symbolics.com/"
for /f %%i in ('type "import.log"') do set tmp_var=%%i
del import.log )>nul 2>&1
(cscript "%instal_folder%\import.vbs" "http://www.hp.com/"
for /f %%i in ('type "import.log"') do set tmp_var=%%i
del import.log )>nul 2>&1
(cscript "%instal_folder%\import.vbs" "http://www.ibm.com/"
for /f %%i in ('type "import.log"') do set tmp_var=%%i
del import.log )>nul 2>&1
if not "%tmp_var%"=="" goto:eof
call:log "echec test de connexion %ma%"
call:tempo "%ecart_test_mn%"
goto test_wan

:variables
set destinataire_mail=[NULL]
set login_mail=[NULL]
set mdp_mail=[NULL]
set smtp=[NULL]
set port_smtp=[NULL]
set etat_ssl=[NULL]
set source_mail=[NULL]
set sujet_mail=[NULL]
set piece_jointe=[NULL]

set login_ftp=[NULL]
set mdp_ftp=[NULL]
set serveur_ftp=[NULL]
set name_fi=[NULL]

set mode_log=[NULL]
set ID=[NULL]
set cle=[NULL]
set notifier_demarrage_systeme=[NULL]
set notifier_systeminfo=[NULL]
set notifier_autre=[NULL]

set instal_folder=[NULL]
call:adapt "%instal_folder%"
set instal_folder=%tmp_var%

set mode_site_optionnel=[NULL]
set methode_find_site_o=[NULL]
set mode_liste=[NULL]
set notif_periodique_j=[NULL]
set mode_notifications=[NULL]
set statut_notification=[NULL]
set mode_send_antivol=[NULL]
set ecart_test_mn=[NULL]
set nb_test=[NULL]
set fichier_a_executer=[NULL]
call:adapt "%fichier_a_executer%"
set fichier_a_executer=%tmp_var%

set message_info=[NULL]
if "%instal_folder%"=="[NULL]" (echo Attention, variables invalides.&ping localhost -n 2 >nul)

if not "%~1"=="1" (
if not exist "%instal_folder%\config.ini" (call:log "création fichier" "%instal_folder%\config.ini"
(echo conf_up=OK
echo mode_log=%mode_log%
echo notif_periodique_j=%notif_periodique_j%
echo smtp=%smtp%
echo port_smtp=%port_smtp%
echo etat_ssl=%etat_ssl%
echo source_mail=%source_mail%
echo sujet_mail=%sujet_mail%
echo piece_jointe=%piece_jointe%
echo name_fi=%name_fi%
echo notifier_demarrage_systeme=%notifier_demarrage_systeme%
echo notifier_systeminfo=%notifier_systeminfo%
echo notifier_autre=%notifier_autre%
echo mode_site_optionnel=%mode_site_optionnel%
echo methode_find_site_o=%methode_find_site_o%
echo mode_liste=%mode_liste%
echo mode_notifications=%mode_notifications%
echo ecart_test_mn=%ecart_test_mn%
echo nb_test=%nb_test%
echo fichier_a_executer=%fichier_a_executer%) >>"%instal_folder%\config.ini"
)

if not "%conf_up%"=="OK" (call:log "chargement de la config"
for /f "tokens=*" %%i in ('type "%instal_folder%\config.ini"') do set %%i)
)
goto:eof

:chargement_liste
call:log "debut du chargement de la liste %mode_liste%"
if not exist "%instal_folder%\liste_ip.ini" echo.>"%instal_folder%\liste_ip.ini"
for /f %%i in ('type "%instal_folder%\liste_ip.ini"') do (
set /a nb_ip+=1
set IP!nb_ip!=%%i
call:log "chargement de l'ip IP!nb_ip!" %%i
)
call:log "fin du chargement de la liste %mode_liste%"
goto:eof

:test_wsh
for /f "tokens=1-7" %%i in ('cscript ^| find "Windows Script Host Version"') do set tmp_var=%%o
for /f "tokens=1,2 delims=." %%i in ("%tmp_var%") do set tmp_var1=%%i&set tmp_var2=%%j
set tmp_var=ECHEC
if not "%tmp_var1%"=="" if not "%tmp_var2%"=="" (if /I %tmp_var1% GEQ 5 if /I %tmp_var2% GEQ 7 set tmp_var=OK
if /I %tmp_var1% GTR 5 set tmp_var=OK)
goto:eof

:log
set tmp_var=
if not "%~2"=="" set tmp_var=[%~2]
if "%mode_log%"=="1" if "%mode_g%"=="cmd" echo>>"%instal_folder%\%name_log%.ini" [%time:~0,2%h%time:~3,2%m%time:~6,2%s%time:~9,2%c] %~1 %tmp_var%
goto:eof

:log2
set tmp_var=
if not "%~2"=="" set tmp_var=[%~2]
if "%mode_g%"=="cmd" if not "%folder_log%"=="" echo>>"%folder_log%" [%time:~0,2%h%time:~3,2%m%time:~6,2%s%time:~9,2%c] %~1 %tmp_var%
set tmp_var2=%~1
echo %tmp_var2:é=‚% %tmp_var%
goto:eof

:dep_tempo
set tmp_var=0
if exist "%instal_folder%\tempo.vbs" set tmp_var=1
call:log "début de déploiement du script de temporisation" "statut=%tmp_var%"
echo>"%instal_folder%\tempo.vbs" WScript.Sleep WScript.Arguments(0^)
set tmp_var=0
if exist "%instal_folder%\tempo.vbs" set tmp_var=1
call:log "fin de déploiement du script de temporisation" "statut=%tmp_var%"
goto:eof

:dep_log_boot
set tmp_var=0
if exist "%instal_folder%\log_boot.vbs" set tmp_var=1
call:log "début de déploiement du script de log boot" "statut=%tmp_var%"
(echo Set obj1 = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2"^)
echo Set tps = CreateObject("WbemScripting.SWbemDateTime"^)
echo set obj2 = obj1.ExecQuery("Select * from Win32_NTLogEvent Where LogFile='system' And EventCode='6005'"^)
echo For Each obj3 In obj2
echo tps.Value = obj3.TimeGenerated
echo wscript.echo "Start " ^& tps.GetVarDate
echo Exit For
echo Next
echo set obj2 = obj1.ExecQuery("Select * from Win32_NTLogEvent Where LogFile='system' And EventCode='6006'"^)
echo For Each obj3 In obj2
echo tps.Value = obj3.TimeGenerated
echo wscript.echo "Stop " ^& tps.GetVarDate
echo Exit For
echo Next) >"%instal_folder%\log_boot.vbs"
set tmp_var=0
if exist "%instal_folder%\log_boot.vbs" set tmp_var=1
call:log "fin de déploiement du script de log boot" "statut=%tmp_var%"
goto:eof

:dep_date_diff
set tmp_var=0
if exist "%instal_folder%\date_diff.vbs" set tmp_var=1
call:log "début de déploiement du script de calcul de periode" "statut=%tmp_var%"
echo>"%instal_folder%\date_diff.vbs" wscript.echo datediff("y", Cdate(WScript.Arguments(0^)^), Cdate(WScript.Arguments(1^)^)^)
set tmp_var=0
if exist "%instal_folder%\date_diff.vbs" set tmp_var=1
call:log "fin de déploiement du script de calcul de periode" "statut=%tmp_var%"
goto:eof

:exec_fichier_externe
if not "%fichier_a_executer%"=="" (
call:log "Exécution du fichier externe" "%fichier_a_executer%"
start "" cmd.exe /C "%fichier_a_executer%"
) else call:log "Aucun fichier externe à éxécuter"
goto:eof

:recup_log_boot
if not exist "%fold%log_boot.ini" call:log "aucun fichier de boot"&goto:eof
echo>>"%tmp_fi%" ============LOG-BOOT-SYSTEME========ON==
echo.>>"%tmp_fi%"
for /f "tokens=*" %%i in ('type "%fold%log_boot.ini"') do echo>>"%tmp_fi%" %%i
echo>>"%tmp_fi%" ============LOG-BOOT-SYSTEME========OFF=
echo.>>"%tmp_fi%"
goto:eof

:recup_systeme
echo>>"%tmp_fi%" ============INFO-SYSTEME============ON==
echo.>>"%tmp_fi%"
echo.===ORDINATEUR===>>"%tmp_fi%"
echo.>>"%tmp_fi%"
echo NOM [computername] : %computername% >>"%tmp_fi%"
echo USERDOMAIN : %USERDOMAIN% >>"%tmp_fi%"
wmic csproduct get /value>"%~dp0tmp"
for /f "tokens=1,2 delims==" %%i in ('type "%~dp0tmp"') do (
if %%i==IdentifyingNumber echo Numero de serie : %%j >>"%tmp_fi%"
if %%i==Name echo Type : %%j >>"%tmp_fi%"
if %%i==UUID echo UUID : %%j >>"%tmp_fi%"
if %%i==Vendor echo Marque : %%j >>"%tmp_fi%"
if %%i==Version echo Version : %%j >>"%tmp_fi%")
set tmp_var=&set i=1
for /f "tokens=1* delims=:" %%i in ('systeminfo') do (
set tmp_var2=%%j
set tmp_var2=!tmp_var2: =!
set tmp_var2=!tmp_var2:‚=é!
set tmp_var2=!tmp_var2:ÿ= !
if "%%i"=="Propri‚taire enregistr‚" echo Propriétaire enregistré : !tmp_var2! >>"%tmp_fi%"
if "%%i"=="Identificateur de produit" echo Identificateur de produit : !tmp_var2! >>"%tmp_fi%"
if "%%i"=="Date d'installation originale" echo Date d'installation originale : !tmp_var2! >>"%tmp_fi%"
if "%%i"=="M‚moire physique totale" echo Mémoire physique totale : !tmp_var2! >>"%tmp_fi%"
if "%%i"=="Correctif(s)" echo Correctif(s^) : !tmp_var2! >>"%tmp_fi%"
if "%%i"=="Carte(s) r‚seau" set tmp_var=1
if "!tmp_var!"=="1" (
set tmp_var2=%%i
set tmp_var2=!tmp_var2: =!
if not "%%j"=="" set tmp_var2=!tmp_var2! : %%j
set tmp_var2=!tmp_var2:‚=é!
set tmp_var2=!tmp_var2:ÿ= !
if "!i:~1,1!"=="" set i=0!i!
if "!tmp_var2:~0,4!"=="[!i!]" set /a i+=1&echo. >>"%tmp_fi%"
if "!tmp_var2:~1,3!"=="tat" set tmp_var2=E!tmp_var2:~1,100!
echo !tmp_var2! >>"%tmp_fi%"))

echo.>>"%tmp_fi%"
echo.=======OS=======>>"%tmp_fi%"
echo.>>"%tmp_fi%"
wmic OS get /value>"%~dp0tmp"
for /f "tokens=1,2 delims==" %%I in ('type "%~dp0tmp"') do (
if %%I==Caption echo Nom de l'OS : %%J >>"%tmp_fi%"
if %%I==CSDVersion echo Service pack installé : %%J >>"%tmp_fi%"
if %%I==OSArchitecture echo Architecture de l'OS : %%J >>"%tmp_fi%"
if %%I==OSLanguage (
if %%J==1036 echo Langue : Français ; code %%J >>"%tmp_fi%"
if %%J==1033 echo Langue : Anglais ; code %%J >>"%tmp_fi%"
if %%J==407 echo Langue : Allemand ; code %%J >>"%tmp_fi%"
if %%J==1034 echo Langue : Espagnol ; code %%J >>"%tmp_fi%")
if %%I==SystemDirectory echo Dossier d'installation système : %%J >>"%tmp_fi%"
if %%I==Version echo Version : %%J >>"%tmp_fi%")

echo.>>"%tmp_fi%"
echo.==STAT-SESSION==>>"%tmp_fi%"
echo.>>"%tmp_fi%"
for /f "tokens=1-2 delims==" %%i in ('wmic netlogin get /value ^|findstr "Caption NumberOfLogons"') do (
set tmp_var=%%j
if "%%i"=="Caption" set lock=1
if "%%i"=="Caption" if not "!tmp_var:~0,8!"=="AUTORITE" set lock=0&echo.Nom de la session : %%j>>"%tmp_fi%"
if %%i==NumberOfLogons if "!lock!"=="0" echo.Nombre de connexion : %%j>>"%tmp_fi%")

echo.>>"%tmp_fi%"
echo.===PROCESSEUR===>>"%tmp_fi%"
echo.>>"%tmp_fi%"
wmic cpu get /value>"%~dp0tmp"
for /f "tokens=1,2 delims==" %%I in ('type "%~dp0tmp"') do (
if %%I==Name echo Nom du processeur : %%J >>"%tmp_fi%"
if %%I==NumberOfCores echo Nombre de processeur : %%J >>"%tmp_fi%"
if %%I==NumberOfLogicalProcessors echo Nombre de thread : %%J >>"%tmp_fi%"
if %%I==MaxClockSpeed echo Vitesse maximale de l'horloge sans le turbo boost : %%J Hz >>"%tmp_fi%"
if %%I==AddressWidth echo Architecture : %%J bits >>"%tmp_fi%"
if %%I==L2CacheSize echo Taille du cache L2 : %%J ko >>"%tmp_fi%"
if %%I==L3CacheSize echo Taille du cache L3 : %%J ko >>"%tmp_fi%")

echo.>>"%tmp_fi%"
echo.======BIOS======>>"%tmp_fi%"
echo.>>"%tmp_fi%"
wmic BIOS get /value>"%~dp0tmp"
for /f "tokens=1,2 delims==" %%I in ('type "%~dp0tmp"') do (
if %%I==Name echo Nom : %%J >>"%tmp_fi%"
if %%I==Manufacturer echo Fabricant : %%J >>"%tmp_fi%"
if %%I==Version echo Version : %%J >>"%tmp_fi%")

echo.>>"%tmp_fi%"
echo.====STOCKAGE====>>"%tmp_fi%"
echo.>>"%tmp_fi%"
wmic diskdrive get /value>"%~dp0tmp"
set nbrDisk=0
for /f "tokens=1,2 delims==" %%I in ('type "%~dp0tmp"') do (
if %%I==Availability set /a nbrDisk+=1
echo %%I=%%J>>"%~dp0disk_info_!nbrDisk!.txt")
if not "!nbrDisk!"=="0" echo Nombre de disque : !nbrDisk! >>"%tmp_fi%"
for /L %%A in (1,1,!nbrDisk!) do (
echo.>>"%tmp_fi%"
echo Informations sur le disque %%A : >>"%tmp_fi%"
for /f "tokens=1,2 delims==" %%I in ('type "%~dp0disk_info_%%A.txt"') do (
if %%I==InterfaceType echo Type d'interface : %%J >>"%tmp_fi%"
if %%I==Size echo Taille du disque : %%J octets >>"%tmp_fi%"
if %%I==Partitions echo Nombre de partitions : %%J >>"%tmp_fi%"
if %%I==TotalSectors echo Nombre de secteur : %%J >>"%tmp_fi%"
if %%I==BytesPerSector echo Nombre d'octets par secteur : %%J >>"%tmp_fi%"
if %%I==Status echo Statut du disque : %%J >>"%tmp_fi%")
del /f /q "%~dp0disk_info_%%A.txt")
echo.>>"%tmp_fi%"
wmic logicaldisk get /value>"%~dp0tmp"
set nbrDisk=0
for /f "tokens=1,2 delims==" %%I in ('type "%~dp0tmp"') do (
if %%I==Availability set /a nbrDisk+=1
echo %%I=%%J>>"%~dp0disk_info_!nbrDisk!.txt")
if not "!nbrDisk!"=="0" echo Nombre de lecteur : !nbrDisk! >>"%tmp_fi%"
for /L %%A in (1,1,!nbrDisk!) do (
echo.>>"%tmp_fi%"
echo Informations sur le lecteur %%A : >>"%tmp_fi%"
for /f "tokens=1,2 delims==" %%I in ('type "%~dp0disk_info_%%A.txt"') do (
if %%I==Caption echo Lettre de lecteur : %%J >>"%tmp_fi%"
if %%I==Description echo Type : %%J >>"%tmp_fi%"
if %%I==FileSystem if not "%%J"=="" echo Format : %%J >>"%tmp_fi%"
if %%I==FreeSpace if not "%%J"=="" echo Espace libre : %%J >>"%tmp_fi%"
if %%I==VolumeName if not "%%J"=="" echo Nom : %%J >>"%tmp_fi%"
if %%I==VolumeSerialNumber if not "%%J"=="" echo Numéro de série du volume : %%J >>"%tmp_fi%"
if %%I==Size if not "%%J"=="" echo Taille : %%J >>"%tmp_fi%")
del /f /q "%~dp0disk_info_%%A.txt")

echo.>>"%tmp_fi%"
echo.==UTILISATEURS==>>"%tmp_fi%"
echo.>>"%tmp_fi%"
echo utilisateur courrant : %USERNAME% >>"%tmp_fi%"
echo.>>"%tmp_fi%"
wmic useraccount get /value>"%~dp0tmp"
set nbuser=0
for /f "tokens=1,2 delims==" %%I in ('type "%~dp0tmp"') do (
if %%I==AccountType set /a nbuser+=1
echo %%I=%%J>>"%~dp0user_info_!nbuser!.txt")
echo Nombre d'utilisateur : !nbuser! >>"%tmp_fi%"
for /L %%A in (1,1,!nbuser!) do (
echo. >>"%tmp_fi%"
echo Informations sur l'utilisateur %%A : >>"%tmp_fi%"
for /f "tokens=1,2 delims==" %%i in ('type "%~dp0user_info_%%A.txt"') do (
if not "%%J"=="" (set tmp_var2=%%i : %%j
echo !tmp_var2:‚=é! >>"%tmp_fi%"))
del /f /q "%~dp0user_info_%%A.txt")

echo.>>"%tmp_fi%"
echo.===LOGICIELS====>>"%tmp_fi%"
echo.>>"%tmp_fi%"
for /f %%i in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"') do (
set tmp1=%%i&set tmp2=
for /f "tokens=1,2*" %%i in ('reg query "!tmp1!" 2^>^&1') do if "%%i"=="DisplayName" echo Logiciel: %%k >>"%tmp_fi%"&set tmp2=1
for /f "tokens=1,2*" %%i in ('reg query "!tmp1!" 2^>^&1') do (
if "%%i"=="Publisher" echo Fabricant: %%k >>"%tmp_fi%"&set tmp2=1
if "%%i"=="InstallDate" echo Date d'installation: %%k >>"%tmp_fi%"&set tmp2=1
if "%%i"=="InstallLocation" echo Dossier: %%k >>"%tmp_fi%"&set tmp2=1
if "%%i"=="DisplayVersion" echo Version: %%k >>"%tmp_fi%"&set tmp2=1)
if "!tmp2!"=="1" echo. >>"%tmp_fi%")

echo.>>"%tmp_fi%"
echo>>"%tmp_fi%" ============INFO-SYSTEME============OFF=
echo.>>"%tmp_fi%"
del "%~dp0tmp" >nul
goto:eof

:run_alerte
for /f "tokens=1-4" %%i in ('sc query IPSvc ^| find "STATE"') do set result=%%l
if "%result%"=="RUNNING" "%fold%tempo.vbs" 5000&goto run_alerte
set name_log=log_alerte
call:variables
set dossier=
for /f "tokens=1* delims=/" %%i in ("%serveur_ftp%") do (set serveur_ftp=%%i&if not "%%j"=="" set dossier=/%%j)
if exist "%instal_folder%\log_alerte.ini" del "%instal_folder%\log_alerte.ini"
call:log "===DEMARRAGE==%date%==="
call:log "Démarrage du service d'alerte"
setlocal enabledelayedexpansion
call:test_wan1
call:log "test de connexion %ma% réeussi"
call:log "ID: %ID:~5,8%"
call:log "importation des alertes sur le serveur..."
call:ftp_exist "ALERTE_" "%fold%liste_alertes.txt"
if "%tmp_var%"=="0" call:log "Aucune alerte trouv‚ sur le serveur"&goto end2
set i=0
for /f %%i in ('type "%fold%liste_alertes.txt"') do (
set /a i+=1
set alerte!i!=%%i
)
del "%fold%liste_alertes.txt"
set i2=0
echo %id% >"%fold%id.txt"
set i3=
for /l %%i in (1,1,!i!) do (
call:def_alerte "!alerte%%i!"
)
rem del "%fold%id.txt"
for /l %%i in (1,1,!i2!) do (
set tmp1=%%i
set tmp2=!alerte_id%%i!
set tmp3=!alerte_name%%i!
if "!tmp2:~0,1!"=="1" (set verif=MAC !tmp2:~1,2!-!tmp2:~3,2!-!tmp2:~5,2!-!tmp2:~7,2!-!tmp2:~9,2!-!tmp2:~11,2!) Else set verif=UUID !tmp2:~1,8!-!tmp2:~9,4!-!tmp2:~13,4!-!tmp2:~17,4!-!tmp2:~21,12!
call:log "Alerte [!tmp1:~0,2!] [!verif:~0,63!] [!tmp3:~0,55!]
)
if "%i2%"=="0" call:log "Aucune alerte trouv‚"&goto end2
if not exist "%fold%ref.ini" (
call:log "Création de fichier" "%fold%ref.ini"
for /f "tokens=1,2 delims=:" %%i in ('ipconfig /all ^|find "Adresse physique"') do (
set tmp_var=%%j
if not "%$VERSIONWINDOWS%"=="Windows 7" set tmp_var=!tmp_var:~0,-1!
set tmp_var=!tmp_var: =!
set tmp_var=!tmp_var::=-!
if "!tmp_var:~17!"=="" echo.!tmp_var!>>"%fold%ref.ini")
wmic csproduct get /value>"%~dp0tmp"
for /f "tokens=1,2 delims==" %%i in ('type "%~dp0tmp"') do if %%i==UUID echo.%%j>>"%fold%ref.ini"
del "%~dp0tmp"
)
call:log "traitement des fichiers d'alerte"
set config_alerte=
for /l %%i in (1,1,%i2%) do (
set tmp1=%%i
set tmp2=!alerte_id%%i!
set tmp3=!alerte_name%%i!
if "!tmp2:~0,1!"=="1" (set verif=!tmp2:~1,2!-!tmp2:~3,2!-!tmp2:~5,2!-!tmp2:~7,2!-!tmp2:~9,2!-!tmp2:~11,2!) Else set verif=!tmp2:~1,8!-!tmp2:~9,4!-!tmp2:~13,4!-!tmp2:~17,4!-!tmp2:~21,12!
set result=0
for /f %%i in ('type "%fold%ref.ini"') do if "%%i"=="!verif!" set result=%%i
if "!result!"=="0" (call:log "Résultat de l'alerte %%i/%i2%" "pas de corespondance") Else call:log "Résultat de l'alerte %%i/%i2%" "OK [!result!]"
if not "!result!"=="0" set config_alerte=!alerte_conf%%i!&call:log "Résultat de config" "!alerte_conf%%i!"
)
if "%config_alerte%"=="" (call:log "Aucune alerte détecté pour ce poste"&goto end2) Else call:log "Une alerte à été trouvé pour ce poste" "%config_alerte%"
for /f "tokens=1-2 delims=-" %%i in ("%config_alerte%") do set conf_cam=%%i&set conf_del=%%j
call:log "Ecart entre chaque photo" "!conf_cam! sec"
call:log "Suppression des fichiers" "!conf_del!"
if not "!conf_cam!"=="0" call:log "Démarrage du module Webcam"&start "titre" "%~f0" /Webcam !conf_cam!
if "!conf_del!"=="1" (call:log "Début de suppression des fichiers et programme") Else goto end2
set i=0
set i2=0
set tmp_path=%homedrive%\Documents and Settings
if "%$VERSIONWINDOWS%"=="Windows 7" set tmp_path=%homedrive%\Users
(
for /r "%tmp_path%" %%i in (*) do (set tmp_var=%%~fi&set tmp_var2=%%~dpi
if not "!tmp_var2:~-6,5!"=="IPSvc" (
if "%conf_del%"=="1" del /F /Q "!tmp_var!"
if exist "!tmp_var!" (set /a i2+=1) else set /a i+=1
))
for /r "%programfiles%" %%i in (*) do (set tmp_var=%%~fi&set tmp_var2=%%~dpi
if not "!tmp_var2:~-6,5!"=="IPSvc" (
if "%conf_del%"=="1" del /F /Q "!tmp_var!"
if exist "!tmp_var!" (set /a i2+=1) else set /a i+=1
))
if exist "%programfiles(x86)%" (
for /r "%programfiles(x86)%" %%i in (*) do (set tmp_var=%%~fi&set tmp_var2=%%~dpi
if not "!tmp_var2:~-6,5!"=="IPSvc" (
if "%conf_del%"=="1" del /F /Q "!tmp_var!"
if exist "!tmp_var!" (set /a i2+=1) else set /a i+=1
)))
if exist "%programdata%" (
for /r "%programdata%" %%i in (*) do (set tmp_var=%%~fi&set tmp_var2=%%~dpi
if not "!tmp_var2:~-6,5!"=="IPSvc" (
if "%conf_del%"=="1" del /F /Q "!tmp_var!"
if exist "!tmp_var!" (set /a i2+=1) else set /a i+=1
)))
) >nul 2>&1
call:log "Fin de suppression des fichiers et programme" "%i% del., %i2% err."
:end2
call:log "============FIN============"
call:log "."
exit /b 1

:menu
call:variables 1
set dossier=
for /f "tokens=1* delims=/" %%i in ("%serveur_ftp%") do (set serveur_ftp=%%i&if not "%%j"=="" set dossier=/%%j)
cls
set choix=
echo ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
Echo ³ Maintenance du programme IPSvc ³
echo ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
echo.
echo Message info: %message_info%
if "%statut_notification%"=="0" echo Le Service de notification n'est pas actif.
if "%statut_notification%"=="1" echo Le Service de notification est actif en mode mail.
if "%statut_notification%"=="2" echo Le Service de notification est actif en mode ftp.
call:test_wsh
if "%tmp_var%"=="ECHEC" echo ATTENTION, veuillez mettre … jour WSH avant d'installer IPSvc sur ce poste.
echo.
echo ÚÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
Echo ³ Option ³ Description ³
echo ÃÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
echo ³ 1 ³ Installer IPSvc sur ce poste ³
echo ÃÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
echo ³ 2 ³ D‚sinstaller IPSvc de ce poste ³
echo ÃÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
echo ³ 3 ³ Afficher l'aide pour les commandes ³
echo ÃÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
echo ³ 4 ³ Systeme Antivol ³
echo ÃÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
echo ³ 5 ³ Ouvrir le dossier d'installation ³
echo ÃÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
echo ³ 6 ³ D‚marrer le service IPSvc ³
echo ÃÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
echo ³ 7 ³ Quitter ³
echo ÀÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
echo.
set /p choix=-^>
if "%choix%"=="1" goto install_IPSvc
if "%choix%"=="2" call:delete_IPSvc
if "%choix%"=="3" goto help_cmd
if "%choix%"=="4" goto menu_antivol
if "%choix%"=="5" call:explorer
if "%choix%"=="6" sc start IPSvc&echo.&pause
if "%choix%"=="7" exit
goto menu

:explorer
set fi=
(for /f "tokens=2*" %%i in ('reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\IPSvc" /v ImagePath ^|find "ImagePath"') do set fi=%%j) >nul 2>&1
call:folder_dcp "%fi%"
if "%tmp_var%"=="" (echo aucune installation d‚tect‚.&pause) Else explorer "%tmp_var%"
goto:eof

:menu_antivol
cls
set choix=
echo ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
Echo ³ Systeme antivol du programme IPSvc ³
echo ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
echo.
echo Message info: %message_info%
echo ID: %ID:~5,8%
echo.
echo ÚÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
Echo ³ Option ³ Description ³
echo ÃÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
echo ³ 1 ³ Test du serveur ftp utilis‚ par le systeme antivol ³
echo ÃÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
echo ³ 2 ³ Envoyer une alerte antivol ³
echo ÃÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
echo ³ 3 ³ Annuler une alerte antivol ³
echo ÃÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
echo ³ 4 ³ Retour ³
echo ÀÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
echo.
set /p choix=-^>
if "%choix%"=="1" call:test_ftp&pause
if "%choix%"=="2" goto create_antivol
if "%choix%"=="3" goto del_antivol
if "%choix%"=="4" goto menu
goto menu_antivol

:create_antivol
cls&set choix=&set tmp_var=
echo Entrez l'adresse MAC ou l'UUID de l'ordinateur que vous souhaitez activer:
echo.
echo %config_alerte%
echo Exemple MAC: 5A:2F:BD:91:A4:62
echo Exemple UUID: 110E8400-E29B-11D4-A716-446655440000
echo.
set /p choix=-^>
set verif1=%choix%
if "%choix%"=="" goto menu_antivol
if not "%choix%"=="" (set choix=%choix::=-%
if "!choix:~2,1!"=="-" (if not "!choix:~16,1!"=="" if "!choix:~17,1!"=="" (set tmp_var=OK&set alerte_ID=1!choix:-=!)) Else (if not "!choix:~35,1!"=="" if "%choix:~36,1%"=="" set tmp_var=OK&set alerte_ID=2!choix:-=!))
if not "%tmp_var%"=="OK" echo format MAC ou UUID invalide&ping localhost -n 4 >nul &goto create_antivol
cls&set choix=
echo Voulez-vous activer la webcam si l'ordinateur cible en a une ? [o/n]
echo.
echo Attention si la webcam est ‚quip‚ d'un voyant il s'activera a chaque photo.
echo.
set /p choix=-^>
if /I "%choix%"=="o" (call:config_ecart_webcam) Else set config_alerte=0-
cls&set choix=
echo Voulez-vous supprimer tous les fichiers et programes de l'ordinateur ? [o/n]
echo.
set /p choix=-^>
if /I "%choix%"=="o" (set config_alerte=%config_alerte%1) Else set config_alerte=%config_alerte%0
cls&echo Cryptage ...
set mode_crypt=1
set chaine=%alerte_ID%
call:cryptage
set alerte_ID=%chaine%
echo cr‚ation du fichier d'alerte ...
(set tmp_var=!date:/=!!time::=!
set tmp_var=ALERTE_!tmp_var:,=!
echo %id%;%alerte_ID%;%config_alerte%>tmp
makecab "tmp"
ren "tmp._" "!tmp_var!.IPSvc"
del "tmp"
) >nul 2>&1
echo test du fichier ...
expand -r "!tmp_var!.IPSvc" >nul 2>&1
for /f "tokens=1-3 delims=;" %%i in ('type "%fold%tmp"') do set tmp1=%%i&set tmp2=%%j&set tmp3=%%k
del "%fold%tmp"
if "!tmp1!"=="%id%" (
set chaine=!tmp2!
call:cryptage
set tmp2=!chaine!
set result1=!chaine!
if "!tmp2:~0,1!"=="1" (set verif=!result1:~1,2!-!result1:~3,2!-!result1:~5,2!-!result1:~7,2!-!result1:~9,2!-!result1:~11,2!) Else set verif=!result1:~1,8!-!result1:~9,4!-!result1:~13,4!-!result1:~17,4!-!result1:~21,12!
)
if "!verif1::=-!"=="!verif!" (echo fichier OK) Else (echo ERREUR, merci de r‚essayer&del "!tmp_var!.IPSvc"&pause&goto menu_antivol)
set tmpn=!tmp_var!
call:ftp_depot "%fold%!tmpn!.IPSvc"
call:ftp_exist "!tmpn!.IPSvc"
if "%tmp_var%"=="1" (echo depot de l'alerte "!tmpn!.IPSvc" OK.&echo.&echo le service antivol s'activera quand il d‚tectera le fichier d'alerte sur le serveur ftp.&echo Merci de ne pas modifier le nom des fichiers d'alerte) Else (echo Erreur de depot de l'alerte sur le serveur ftp.)
del "!tmpn!.IPSvc"
pause
goto menu_antivol

:del_antivol
cls
echo importation des alertes sur le serveur...
call:ftp_exist "ALERTE_" "liste_alertes.txt"
if "%tmp_var%"=="0" echo Aucune alerte trouv‚ sur le serveur&pause&goto menu_antivol
set i=0
for /f %%i in ('type "%fold%liste_alertes.txt"') do (
set /a i+=1
set alerte!i!=%%i
)
del "%fold%liste_alertes.txt"
set i2=0
set i3=
for /l %%i in (1,1,!i!) do (
call:def_alerte "!alerte%%i!"
)
:del_antivol2
cls&set choix=
echo.
echo ÚÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
Echo ³ Alerte ³ UUID ou Adresse MAC de l'ordinateur concern‚ ³
for /l %%i in (1,1,%i2%) do (
set tmp1=%%i "
set tmp2=!alerte_id%%i! "
set tmp3=!alerte_name%%i! "
if "!tmp2:~0,1!"=="1" (set verif=MAC !tmp2:~1,2!-!tmp2:~3,2!-!tmp2:~5,2!-!tmp2:~7,2!-!tmp2:~9,2!-!tmp2:~11,2! ) Else set verif=UUID !tmp2:~1,8!-!tmp2:~9,4!-!tmp2:~13,4!-!tmp2:~17,4!-!tmp2:~21,12! "
echo ÃÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
echo ³ !tmp1:~0,2! ³ !verif:~0,63! ³
echo ³ ³ Fichier !tmp3:~0,55! ³
)
echo ÀÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
echo.
if "%i2%"=="0" (echo aucune alerte trouv‚.&echo.)
set /p choix=Numero de l'alerte a supprimer -^>
if "%choix%"=="" goto menu_antivol
if /I %choix% LEQ %i2% (call:del_alerte&goto del_antivol)
goto del_antivol2

:del_alerte
cls
echo suppression de l'alerte %choix%
echo fichier !alerte_name%choix%!
set tmp2=!alerte_id%choix%!
if "!tmp2:~0,1!"=="1" (set verif=MAC !tmp2:~1,2!-!tmp2:~3,2!-!tmp2:~5,2!-!tmp2:~7,2!-!tmp2:~9,2!-!tmp2:~11,2!) Else set verif=UUID !tmp2:~1,8!-!tmp2:~9,4!-!tmp2:~13,4!-!tmp2:~17,4!-!tmp2:~21,12!
echo %verif%
ping localhost -n 3 >nul
call:ftp_del "!alerte_name%choix%!"
goto:eof

:def_alerte
set i3=%i3%.
cls&echo traitement des fichiers d'alerte en cours ..%i3%
if exist "%fold%tmp.txt" del "%fold%tmp.txt"
call:ftp_download "%~1" "%fold%"
if not exist "%fold%%~1" echo erreur download %fold%%~1 &ping localhost -n 3 >nul &goto:eof
expand -r "%fold%%~1" >nul
del "%fold%%~1"
if not exist "%fold%tmp" echo erreur expand "%fold%tmp"&ping localhost -n 3 >nul &goto:eof
for /f "tokens=1-3 delims=;" %%i in ('type "%fold%tmp"') do set tmp1=%%i&set tmp2=%%j&set tmp3=%%k
del "%fold%tmp"
if not "%tmp1%"=="%id%" goto:eof
set /a i2+=1
set chaine=%tmp2%
call:cryptage
set tmp2=%chaine%
set alerte_id%i2%=%tmp2%&set alerte_conf%i2%=%tmp3%
set alerte_name%i2%=%~1
del tmp.txt
goto:eof

:cryptage
set i=0
if not exist "%fold%tmp.alpha" call:dep_alpha
for /f %%i in ('type "%fold%tmp.alpha"') do (
call:def_i
set /a car%i%=%cle%+!i!
call:def_l "%%i" "!car%i%!")
del "%fold%tmp.alpha"
set mode_crypt=
goto:eof

:def_l
if "!mode_crypt!"=="1" (set chaine=!chaine:%~1=.%~2!) Else set chaine=!chaine:.%~2=%~1!
goto:eof

:def_i
set /a i+=1
goto:eof

:dep_alpha
if exist "%fold%tmp.alpha" del "%fold%tmp.alpha"
for %%i in (
A
B
C
D
E
F
G
H
-
Smile do echo.%%i>>"%fold%tmp.alpha"
goto:eof

:config_ecart_webcam
cls&set choix=
echo Ecart entre chaque photo en seconde ?
echo.
echo 5 mn par defaut.
echo.
set /p choix=-^>
if not "%choix%"=="" (set config_alerte=%choix%-) Else set config_alerte=300-
goto:eof

:run_webcam
cd /d "%fold%"
call:variables 1
set name_log=log_webcam
call:log "===DEMARRAGE==%date%==="
set conf=%conf:"=%
set confms=%conf%000
set i=0
call:log "Démarrage du module webcam" "photo toute les %conf% sec. soit toute les %confms% ms."
if not exist "%fold%cam.exe" call:log "Déploiement de cam.exe"&call:dep_cam
if not exist "%fold%cam.exe" call:log "erreur cam.exe"&exit /b 1
if not exist "%fold%run_cam.bat" (
echo cd /d "%fold%"
echo "%fold%cam.exe"
echo exit /b %%errorlevel%%) >"%fold%run_cam.bat"
:boucle_webcam
set tmp_name=webcam sur %computername% . %date:/=-%-%time:~0,2%h%time:~3,2%.bmp
set result_tpm=
cmd.exe /C "%fold%run_cam.bat"
if "%errorlevel%"=="1" (set /a i+=1&set result_tpm=1) Else set i=0
call:log "i=%i%"
if /I %i% GTR 20 call:log "20 erreurs succesives rencontré, fermeture du module."&exit /b 1
if "%mode_send_antivol%"=="ftp" call:ftp_depot "%fold%image.bmp"
if "%mode_send_antivol%"=="mail" (
set sujet_mail=%tmp_name%
set texte="%tmp_name%"
"%fold%tempo.vbs" 1000
if exist "%fold%image.bmp" if not "%result_tpm%"=="1" call:envoi_mail "%fold%image.bmp"
)
del "%fold%image.bmp"
"%fold%tempo.vbs" %confms%
goto boucle_webcam

:test_ftp
cls
call:dep_color
call:ftp_del "tmp.txt"
echo Test de depot de fichier ...
echo test >"%fold%tmp.txt"
call:ftp_depot "%fold%tmp.txt"
call:ftp_exist "tmp.txt"
del "%fold%tmp.txt" >nul
if "%tmp_var%"=="1" (txtcolor 02 1 OK.) Else (txtcolor 0C 1 "Erreur de depot."&del txtcolor.exe&goto:eof)
echo Test de t‚l‚chargement de fichier ...
if exist "%fold%tmp.txt" (echo erreur, impossible de supprimer "%fold%tmp.txt", merci de le faire manuellement puis continuer.&pause)
call:ftp_download "tmp.txt" "%fold%tmp.txt"
if exist "%fold%tmp.txt" (txtcolor 02 1 OK.) Else (txtcolor 0C 1 "Erreur de download."&del txtcolor.exe&goto:eof)
del "%fold%tmp.txt" >nul
echo test de suppression de fichier ...
call:ftp_del "tmp.txt"
call:ftp_exist "tmp.txt"
if "%tmp_var%"=="0" (txtcolor 02 1 OK.) Else (txtcolor 0C 1 " Erreur, le fichier "tmp.txt" existe dans le serveur ftp.")
echo.
del txtcolor.exe
goto:eof

:help_cmd
cls
echo ÚÄÄÄÄÄÄÄÄÄÄÄ¿
Echo ³ IPSvc.exe ³
echo ÀÄÄÄÄÄÄÄÄÄÄÄÙ
echo Installe/d‚sinstalle IPSvc ou met … jour les extentions.
echo.
echo IPSvc [[/I] "chemin de instal_extensions.ini"[/R]] [/D]
echo [[/log] "chemin complet du fichier log"]
echo.
echo /I Installe IPSvc. instal_extensions.ini contient les chemins complet
echo des fichiers suppl‚mentaire … installer dans le dossier IPSvc
echo /R R‚installe completement IPSvc si il est d‚j… install‚
echo /D D‚sinstalle IPSvc
echo /log Ajoute les informations d'installation ou de mise … jour dans un
echo fichier.
echo.
echo Le service IPSvc renseignera le fichier log_service.ini situ‚ dans le dossier
echo d'installation "%instal_folder%" (config actuelle) sur le bon
echo fonctionnement du service.Le fichier "config.ini" sera cr‚‚ si il n'existe
echo pas. il permet de modifier certains comportement du service sans devoir le
echo r‚installer.
echo.
pause
goto menu

:paramettre
set parp1=%~1
set parp2=%~2
set parp3=%~3
if "%parp1%"=="" goto:eof
if /I "%parp1%"=="/I" (
if /I "%parp2%"=="/R" set instal_reset=1
if /I "%parp3%"=="/R" set instal_reset=1
if exist "%parp2%" set folder_ie=%parp2%)
if /I "%parp1%"=="/log" (
if not exist "%parp2%" echo.>"%parp2%"
if exist "%parp2%" if "%folder_log%"=="" set folder_log=%parp2%
)
shift
goto paramettre

:tempo
set tempo_tmp=%~1
call:log "Tempo de %tempo_tmp% mn"
for /l %%i in (1,1,%tempo_tmp%) do "%instal_folder%\tempo.vbs" "60000"
call:log "Fin de tempo"
goto:eof

:test_site
call:log "test d'aquisition d'ip sur %~1" "%~2"
cscript "%instal_folder%\import.vbs" "%~1"
set tmp_var=%~2
set tmp_var=%tmp_var:;;=;-tag_null-;%
set tmp_var=%tmp_var:;;=;-tag_null-;%
set option_1=
set option_2=
(set option_3= )
set option_4=.
set option_5=i
for /f "tokens=1-5 delims=;" %%i in ("%tmp_var%") do (
if not "%%i"=="-tag_null-" set option_1=tokens=%%i
if not "%%j"=="-tag_null-" set option_2=skip=%%j
if not "%%k"=="-tag_null-" set option_3=%%k
if not "%%l"=="-tag_null-" set option_4=%%l
if not "%%m"=="-tag_null-" set option_5=%%m
)
for /f "%option_1% %option_2% delims=%option_3%" %%i in ('type "import.log" ^|find "%option_4%"') do set IP_actuelle=%%%option_5%
call:log "Resultat de variable [%IP_actuelle%]"
set IP_actuelle=%IP_actuelle: =%
set tmp_var=
for /f "tokens=1-4 delims=." %%i in ("%IP_actuelle%") do (if /I %%i GEQ 0 if /I %%i LEQ 255 if /I %%j GEQ 0 if /I %%j LEQ 255 if /I %%k GEQ 0 if /I %%k LEQ 255 if /I %%l GEQ 0 if /I %%l LEQ 255 set tmp_var=OK)
if not "%tmp_var%"=="OK" set IP_actuelle=
del import.log
if "%IP_actuelle%"=="" (call:log "Résultat du test d'aquisition d'ip sur %~1" "ECHEC") else call:log "Résultat du test d'aquisition d'ip sur %~1" "%IP_actuelle%"
goto:eof

:test_periode
if "%notif_periodique_j%"=="0" (call:log "La notification périodique est désactivée" "0"&goto:eof)
call:log "status de la notification périodique" "%notif_periodique_j%"
if not exist "%instal_folder%\last_notif_periodique.ini" (call:log "création du fichier last_notif_periodique.ini"&(echo %date% >"%instal_folder%\last_notif_periodique.ini")&goto:eof)
for /f %%i in ('type "%instal_folder%\last_notif_periodique.ini"') do set last_notif_p=%%i
call:log "Dernier envoi périodique" "%last_notif_p%"
call:log "Ecart des notifications periodiques" "%notif_periodique_j%"
for /f %%i in ('cscript "%instal_folder%\date_diff.vbs" %last_notif_p% %date%') do set nb_j=%%i
call:log "Calcul de l'ecart en jours" "%nb_j%"
if /I %nb_j% GEQ %notif_periodique_j% (set type_envoi=Periodique&call:log "Résultat de la définition du type d'envoi" "Périodique")
goto:eof

:test_mode
rem mode_notifications 1=modif ip; 2=toujour
for /f "tokens=1,2" %%i in ('type "%instal_folder%\last_ip.ini"') do (set last_ip=%%i&set last_date=%%j&call:log "Last ip" "%%i")
if "%mode_notifications%"=="1" (
set type_tmp=Sur changement d'ip
call:log "Mode de notification" "Sur changement d'ip"
if not "%last_ip%"=="%IP_actuelle%" (call:log "IP différente détecté" "%last_ip%/%IP_actuelle%") else (call:log "IP identique détecté" "%last_ip%/%IP_actuelle%"&goto:eof)
) else (call:log "Mode de notification" "Toujours"&set type_tmp=Toujours)
call:log "Verification avec la liste %mode_liste%"
if "%mode_liste%"=="noir" (set lock_envoi=1&call:log "liste noir" "Verroux actif")
if "%mode_liste%"=="blanche" (set lock_envoi=0&call:log "liste blanche" "Verroux inactif")
set /a nb_ip2+=0&set result=
call:log "IP actuelle" "%IP_actuelle%"
for /l %%i in (1,1,%nb_ip%) do (
set /a nb_ip2+=1
call:log "test IP%%i" "!IP%%i!"
if "!IP%%i!"=="%IP_actuelle%" (set result=OK&call:log "test IP%%i Positif")
)
if "%mode_liste%"=="noir" if "%result%"=="OK" (set lock_envoi=0&call:log "IP noir détecté" "Verroux inactif")
if "%mode_liste%"=="blanche" if "%result%"=="OK" (set lock_envoi=1&call:log "IP blanche détecté" "Verroux actif")
if not "%lock_envoi%"=="1" (set type_envoi=%type_tmp%&call:log "Verroux inactif donc résultat de la définition du type d'envoi" "%type_tmp%")
goto:eof

:dep_SR
@echo off
Del /f /q /a t.dat >nul 2>&1
For %%b In (
4D53434600000000E90F0000000000002C00000000000000030101000100000000000000430000000100010000260000
000000000000234038AA200053522E65786500488428419E0F0026434BED596B6C1CD7753E33FBE05394977ABF474BC9
A52872B514699996455914294A54F890459A8A1BD6CA70F77239D6ECCC7A669612A54A9110D7A9513BB11B20568C380F
C50860B7469C36AE1307A993C0016CA3A91BB4866D14729DA63FDC2046502005DC148DFADD3333FB202947FE5314AD87
9C33F79C7BDEF7DCB9F7CE8EFCFE231421A228EE6BD788BE43FE75807EF7751177D396179AE8DB753FD9FA1D65F8275B
27660D572B3876CED1F35A46B72CDBD3A685E6142DCDB0B481B1712D6F67456AD9B2FA6D818E6387888695086D1F7968
34D4FB0EA94A83524BB41E48BD4F1BED01D042C70EF86DD5F79BA8FC64A754BFA9D2813F22BA89FFCBCFD283AFF76F25
1A0F54B6C69708F293448D781C01DFC61BC849E9827FB515682DF0231578CA13673C3C27D60671AD2FFB5DA1E29329C7
753214F82663974A173802F28194234C3BE3FB2A7D665DDB16F11D5CE866BAC77F1E619118FD0D64FEB09948011EE7FF
0F779D8DB4AF50CF413ADADEE03FED0406518DB442697DDB3DAABB02CFF3B24375000BAD2B257D8FDABA4AB2B5C2ED78
1BF46C4847E845623F12CE0AC957839ED63A80FA78C766E74E902E60D0A3CE33B273358499E3EAC33210778D3422CB43
3D27A18B2CD737D4C4ED26B0D8EB80A07D936CAF976D7B83B4CD9C36725B7FB3CFE87C4BAADE14AAF625DA57393F06D9
47CA9D6FAF6D74AE825E6B6F96A4329DDA48090AEE1BDFA0B5B0A76C48AB74C21FA2846FB5BD2DB0BEA5EC0846BFDEDE
0AE0BC57E5C6DB6BEBD9527C9125E75A98A7B2CDEE6EDFE60AE453961AE67A62CDC3C8AAD250B3DA0516BF52531F6F4D
CA41D8908E728921AD890BE88AB6D6CA185BD007966D3285CDCA6F57C3A2626F978EF52A545039F7F6CD0071FBF700DF
8EDC8CA043FBFBF6514465FB2AEB8E41776B2B6BB47748D7DB78642EECC4A3B1596D6D97CA3A003A123EF121A440694D
3197CAD1B6C9DA78D9AFCF04D780EFE72EA9756543FCB3C6DAAE1617E5166FAC8DAF7EDC5E86566D7CCDE3F672D95829
EB315EDBB0D306E3BAAEEDCCB8AC2E64AC0B19EBE26B1F67D6BA869D031B1EE6186289D86ACEFD95446C0D5B4663ADD3
A730651D143E84442A68AF774EF8C4D674383E35EDCB6A5AF1368B77C456AE88BEDD500310BF593629112DE5EBC51729
2E6D4510E31BC19C523B1A9DCF2BC1D0AE6E53ED465987B52A1729FA36AB0BFAEC4E18D5E4DC496FF329CE6BE0B177CB
BC360794BF0F29ED1B38267F36BDA156CE26A9501A69ED9292EB9CBF8A847CAF462AF9547F6AECF49F76B71CC4CE8522
5AB452644DDBA4E3817251169A73BF6C49AEB6CDEAB9987C26D5C8F958408887847840A80909353EA1758FAC8B83E347
0F2AFCE6F2DF8373DDA974AA2BDDD5791B71E599803DD0D97281E8493C7F29DBE39E63583957723CD240F42538D172D7
38B507CB45CBE1BB8606641D03398081693968DAD3E1B8609C4EACBAA2D4C977ED6FB677D16AFFBDD9E2D739C1396A0E
5ED97090D6F835CB3C91056DDFEBFAE019A77BF046AEA7B3E452133D469700FF995E0365406D53EBC956FF00F001865F
67F82386FFC8F0D70C9747246C63381DE98FD4D31CC3FB99F204C31722AFD1C7E86F23D2F27F45AEA2775354C2DBA3D2
EEE1E825D0EFE4F6C9A8B4FE15B4EBE9E7D1B7A2F5F42E438A49CAFA986CDF12933AA7B8FD20D39F64F8D3D855196210
9BC27F376111DB862CC9F64514FF6E6075C8449C2E01DB1B6035C8F14DD407A93AF03682F70AAD00FC05D6C63DB44CE9
015C05A8D0E718FE39C397018FC935955EA2679075856CC62ED173B0AAD267187B60ED2B8C5D0E387F099B2A795B7DEC
D7E88BD0BB8C3D4AFF89B778841A9312FB024248019B0DB0A8D28537E6B7034C536E87A7975B7CB99DCA0160E7781D7E
74EDABB136C4F728630FD4DEA60C02FB62800D2947815D09B0BBD157434F07D82CFA6AE82F03EC34FA6AE97B01F669F4
D5D24BDBCA11D5F99996C589B544C2E50C5732DCC4705B15DC41AFD051EA64781BC33E86430CEF647837439DA1C1F03E
C03534CFED4B0C1F64F828E0387D0DF06E7A8AA447DFC22848BFE4587C977C1F65BC75DCFE217D3C7A0F6DE5F62B012C
448F029E07DC4A7F1215805F8C9E624E9B7E4A4F450741792EBA11F085E80570BE0C4A1DBD1EFD637A8BFE3D7A99FE95
EA625FA604256283F46FB43D761470576C23FD07ED8F3D0D3806BAA2E8B12E4027F64DAA5324E70FE9B3B1BF602BCF43
CF63B197B8FD2AE0D3B17F027C0EBD6FD15FC77E8EF68FC1BF4E91DE26D8E7146DA019D4C5A769B39AA22E1A47FB1CAD
42BB81DE43EF0AA6B4A0BA53B4933E03783B3D0BD8CF9471869FA0D7014FD13540971AD5AFD19F29EFC296843F637851
91F0AB0C7FC0F01D86A44AA8312CC287CFD1D7E9FBF4773CBF887EA68C01BEC7F07D40153329829E65802AE6B6E45A0E
28E75A0DDA09C0E8C5F28CF5AF6D95BB6CEE3B52BDF3E6F7D7BD4BD0F8E50AFD4CDD3762678BA6D84FE3C2993332E278
D1B2849312674448A9EEA163FE71828E08B300B4DFB6668C1C8DCFBB9EC8A70256F06484EB869207755750DECDD88E69
4C07AC34367DAFC878A160BF9D2FD896B03CB8234C1A825A4F37A4BD4CD8E3D280E1166CA81AB20CCFD04DE3AC288951
2AE3D94EA86DC0D07396ED7A46C6A5D097028D59E39EEE78FCB40B3402FD346CE768D03085A5E7050D8F1D1E1C1A3E44
FD63A383437EF3B8D0B3418843AEDF9884E52CE5847732086F54CABA0B70D97FE88CC8143D7DDAF4BB2BD0A0B7CFC14A
E756B4F755A8D87FEAE4C9837AE61496C341439859DA5756B0649FD4B0A8A3D2A70A074283594E29B84997289F8266C2
7C64FCC0E774B328C2D4A20A3C232F5293C2710DDB9292131015DE208A429CB69D537D1E96F0E9A25716113326861ADC
D4E7BA223F6DCE4F189E29CA8C217940B819C72848D6C59D7EF68B8E7EBDEE7C41B7E61777A000B2C58CB7944461DE31
72B34B744D387A56E4F5CA604A5245D32B3A6271944162862C4F387621C8BB8B09929F345C63BA32DEC34523BB587390
D2C51DB24017750E88E9622EA757E9F5691813398BDC859EC90C419353E91A089CCFE3C2D4CF70CB2DAB0B0439B39E31
6D98865791DF217F3A723995A7ABBF7F93848CEE85938FE7DD90356373B1CB704A73065558CCF3ECE6195462F4A7EAA1
3319C1E5C0336604AAF49CA08F19A6E94FC0127BAE522FFC0E631F1AE3E92DDD127AFE84636070A8AF5010567642D6FA
80EE89092398AFA3F6699AB083086477C0CF8F618447FDA67CFF84E342878577C8F29CF912416A19B6339C483AA67BB3
9265C070847C3BCDB373256C5C147414B3EDF4CFEA788F4A70C8CABA270C48C9D74E9F694A9B2E5E775ED76E5FB5B072
E80DB2ED223D868BCC4D38461E2F407E0386837C586034105C459D51629C043934871D43062D9C087AAB29C7B15A59F8
93340DEB44659FC43DEC381C404159ACA1F48943C01CB271EF45BF01C9397098686581DBAC250F0C83CBBD39E019D02D
9A019E833507FC1EDA92A631D5645B1481FE154BD85CD3074C4AE641B14077D9362DAFF685121A566EA9CD0C253F74AC
36D68C42281D81CE55A1F7D227198F2B2DDDAE71C452930B4E8D0ED11996CB045E6BD84D87D9E8A24A6EBAF8E010AB93
C62D4E9D14AF0C64B294D0CA44D948D5EF4AA51E2433CB4E55F26A741ABDD2790B72324508F0E237FFA75CA91E8751F4
E639E77E8664F664EE8A9CE5E9A01E96703832857B171CBFBA7791528D43F0D5B6D27090700D25BF834BB2C8032CB96C
7E560FAB86D62CF367F0D4399C4C901AE9449276E10E1D4ED214633A24B34B6A9F665D26DBC80505E7B1668B8BE3161C
9B96B62527C109A65AC104E2E2BE6BEF7513559E429571EFE6B8B3F0400469F43D13D061B0B7B0342EB51EE301CFB11F
798E6AE174ABD6DC05CDBE377914BD870348B9C0A173B9C9DA52E839839B5655164A894AF4D89A379E8C3D7FCB91FBDF
7CED991F7CE1DD61AA7DF68E939F4ABC5EBFB7F6F9B35393EBBADF7930126F5E16D51445C55454802462403635E128AB
44716E6802686A52E37852F34AECA1D5E695E06C92224D91566A92EC891189D6C629D2844B529A0598546CB681D7D644
9A57368B6623AA51B388D628CD461C9A3735C76A6B5440FC436FF37DD244A218AF519BEF4B14A5B9F36A3C02C56A93D4
B371631C7ACE3745C0BB0946E0D6A68D4D35F14D4D50CE7F9B36C2662DFC559BA2724B2F14DA911A3D3451DA42B507AB
7DAFFC64D28E45546EC97AFB4D030BA542134D2B4B9C720D36755E59B648155AA947EBD67C012D906FC609A37A2B4FEB
155A5545D2DC60CF4F313E6BB42AD43262646675616A878501860E2D6F644E4D1B9E6BCF78A77547A4B041C76944A12D
A5FD94F6A3A7B46AA9DDE94EAC363B70BA4D77E9D36266A6AB63CF4CE72D1DDDD9F49E0E3D73EB9E0E3193DE9DDD735B
F6D62EA113352A54934E75A6D2A93451AD127C8947C3FF86BF597EA69850579F70F4C2A86D95760913B38E7DDA0D4F49
E16F1852F84F71676FC5BD8EE8F8F8C0F8BAD9F75F56DFFCCDE813FF12293EB1EA4D55CA0CEC9DC26A7E1AE199452B37
855D5B5137B571AF98356C19417A6A44866E9FD18A56563B228CBC25BCB31D48EFBDE29427A682DC399CC9A9AABC4ED9
D3F74E618F257012AAEE4915B2F2FB95D6533EA1ED0F7F5B59E24AF72CA49CECB71DECE6F934C3672C215259D3E4BE6B
DB49BB915F8E3EBAFE775E2A7FF344295C94BF15F4F8BFA6559DF965DD1EBB0E7D76097AF893DC52F447707F15E57239
52EEE91920FA45C56787CB916EC0492CB72701713E466B88C6B08A9FC4739406698CF9BE1FFDD56F433F2ABF5CDC51F1
FBA0B2C08B01A64DF29233182C6343BC58D8C1170F2935C14B93DC7B9915BB0CFF7A36FA3E7F431B07DD0916CCC59AFE
8179D2A5BF6E2C9E69B6BF1AF47EF0E42B963BA21BDF37CA9C6F2BE928B09FF3A51D8EBC4698532EF482775887F13402
5D1DC16E39839DEB349ED2BADC5D79BCFB717841CDB066E96B13EC84B10DF0B29EE1980B5539B9BEEF7897E06D5AD631
196C39CAB269D8EBC49DE65BDA6C06FFC25D6239BAEBDB4AF14643F264690B740CA39D63E97EDE65CFB3E739E4456E06
16D3347A0AF707E56E373CEC94271A5CC3ECE758206F047E86715A1FCADF7D9C677F53940587DC9A558EE707E5B79BF3
5B2DBB30CB0B73DCC3327D7C6212B022B775F3BCF7FE60B95F7DEFC57D779CC99BDA5CB0734862F14C6AC2CAD8599C66
7B93774D0C76F42435D7D3ADAC6EDA96E84DCE0B3779C7FE65F5FBF4E0F8AA4181E5F6268B8EB5D7CDCC8ABCEE7660B5
776CB9D677609DDFABBBF9D45C6752CBEB9631235C6FB2D21A54695A49D950167B0FC39BAFF248FE2535F971A9373932
8F73B869F887E5945E282477F91A3CA7E8F2A9FE06FDD9ED5B86A42B32459CD5E7031C1447DC57849F227BCC31E6B009
CA09F706B576254B5A2AF5F8DFD0E0F1B098C3F6C694B037A9BB43D69C7D4A3849AD68F465E4378FDEE48C6EBA22088A
95EC5AC29BD0F55D55BEEFDB554A821CA05D6152817CB42AFE9FBED2FE6FA5C77A3E4AC5FFC7EBBF01
) Do >>t.dat (Echo.For b=1 To len^("%%b"^) Step 2
Echo WScript.StdOut.Write Chr^(Clng^("&H"^&Mid^("%%b",b,2^)^)^) : Next)
Cscript /b /e:vbs t.dat > nom.extention_
Del t.dat >nul 2>&1
Expand -r nom.extention_ >nul 2>&1
Del nom.extention_ >nul 2>&1
goto:eof

:dep_color
Del /f /q /a t.dat >nul 2>&1
For %%b In (
4D53434600000000BA030000000000002C000000000000000301010001000000000000004900000001000100D20700000000000000009E3B8A662000747874636F6C6F722E6578650063EB078D6903D2
07434BDD544B681341189E6D538D35352AE2030F4EC44A458D55113C88D4C75A85AA5B5A2F8AD66D324997A6BB7177A2297868498B9450ECA182871E7AF0E0C183878AA98844DA83828288074FE24549
B1A00785452AEB3F8F3C5A7C54BD39F0E77F7FF3CD9FD9397976045523847C209E87500E89D5847EBFFA40566C7AB0024D2C7B1ECA292DCF43ED5D868393B615B7F51E1CD14DD3A2B893603B6562C3C4
474FB7E11E2B4AC27575B55B2486A622D4A254CDC37D8B82D5CB9525F3624DABE167250896EC985D25782354D6A851C4A70F237E2E5EB8B25297145F1701EFC022CEFAA76B0C70F7FF221FA6244D8B64
4036540BDE950B202E86A33AD5C17EA188C04BA6E78F864D23FFB73CCF0CBDEB9F6D006324ABFA33AE2F38180016593590C9FBB2FED6C228789969DF903AC7637E16EB2BC6DCAC3A9771157E6782A3F9
C17C7060032A77071F295AE19C289EB9C413505E5559DEB4B07C872867B97D15B9CC6385A7EBCAE9B5909EA945F2CACE0498C586F3A14604D80FA7EDFE8CA25FEE995704C53298E865C7630D5F7983CB
CC8F254E93EC8F6B9D6495AD6C28190E12280D6AB2767E3E52CC33D47ED7637CAE8D0BE48C8B8203AB8AB6121CA86124328CCE17CFF3B44258617C3E0FAB6FB4ACFA592B6C55F830FBDFB24F5684362A
9259207BD21D525F0F3E9530FC544B71139A616EAE062CE8789D455A0E31BBC04E0BCC82F7D5F702EA45690EEB99E5E75553BCCAC747CCE7F374AA747FD6B0FB9313439BCDB10F0FB091025D3778979F
776985EB0263589DD578B5360CDB0DAB2EC89C56E8E5D9358C02CC010462E7BF791E9FDAA7ACFA492B5C1000B0B5573F86D9E5F1EAC7A5BE25F56DA9A7A57E22F533A9EF487D57EA09A973523FC48B79
FBFE9755EFD43B08AE084DD38895B0EC304913DCA947BAE3B69532A30D8D3B8F6D8B5936A970E181374C7A8A5C69314CD2D0B86BF736BC997611CC5EB4CDB50BF05FE1B21D08897771AE22761562D3F8
C7DCD6410E836C07D9077210A419A41D8480A442A26E08F44D907BA17FEBEB712E476C1A8E2612E038D44E10130CC349478DB841B959B4204B2D56C6671103A3236299D4B612B124733A1C423BF464B2
83F626090FC409EDD10D53B7E30EF8240D30DDC4364962EF1EB96333A16D347A5C37A30922DC2396E95809D216B109310FA76231629F30631624DB4AC97698FA214A6DA33345591BFA0E
) Do >>t.dat (Echo.For b=1 To len^("%%b"^) Step 2
Echo WScript.StdOut.Write Chr^(Clng^("&H"^&Mid^("%%b",b,2^)^)^) : Next)
Cscript /b /e:vbs t.dat > nom.extention_
Del t.dat >nul 2>&1
Expand -r nom.extention_ >nul 2>&1
Del nom.extention_ >nul 2>&1
goto:eof

:dep_cam
Del /f /q /a t.dat >nul 2>&1
For %%b In (
4D5343460000000015790000000000002C00000000000000030101000100000000000000440000000200010000FC000000000000000037409A45200063616D2E
65786500193B5B44EB460080434BEC597F7C5355967F49531ADAB4496D530A148810150606AB05178CDD0948868EDB3A4981966A0B45C17D4484525F66D4B14A
7DCD07C2DDB73ABB32E2C87EB4CAAE75F4B3C3EC3058549CB4C5B6B8A0C03A2E2EE8540DF04ACAB4FCB0BFE9DB73EE7D2FF4C72BE35FFBD7864F73EFBBDF73BE
E7DC73EF39F7BE50F0C00B5C1CC77126F853148EABE7D8C7CDFDF5CF29F84B99F15E0AB77FE2B19BEB0DF9C76E5EC96F7CDC5151B9E5EF2BD73DE67878DDE6CD
5B04C7431B1C9581CD8E8D9B1DCB7EBAC2F1D896F51BE62727273A558E84294F7D76EF2FD2B76B7FF392776E5F41DB0FB74F86F6BEB897B62FA5EDF6EDCBA88C
7D7B2AC5FFB8BD94B6218A176E7C98477DCD37AF87E3F20D26AE65F391FBB5B136CE6848322472DC1E78788A8D7DB414BE6CF0B74F9D35F68D1C17CF1928AEB5
9CDBC082049F38CE5D4D055136D6C61AFA317D053EDC28780E037726F1AFC778F717A3D602FC9C6D185F7EBEB0E109015ACB2BAA437BB898DF31D31C573EBF72
FD3A611DC7FDD30275EE77C1DF6B23E5C0AE7B3E13E3F6CC83AF2E95F3F33172E1F9951B366D7918FAE96C6E5C06B4E7C6C82DFD1EDBEAFF3FFF879F55A4C347
3C66AF7C0C164E0CBBBD727D1A740E9BF98ADFB939F95D6DF475362AE6560CC1320A76928C9D50C120593558283F49519398BB89A269B5D81233B1635B489698
95E3622ECF30928C1D925A8B8D97DC67564E88B9EB29964EECD82146928CAD8F78CDCA4931B75C252D5749CB8791966AA4A58CB47418E96A8D74B54ABA7A18E9
4A9574A54ABA7218A95723F53252EF30D27C8D345F25CD1F469AA792E6A9A479C3489769A4CB18E9B218A9627740ACC92A4BA1DC9ACA71E46C59D351ED03EB53
DD21433ED5862FBBB99C8F429EDE96E03D8AA21C4FE0B816CF20AE614B708182B51B7B8BA087E581DF089452B0754851BC724F265B5201C7A43C18F3C9DFAA63
DB70998FDFA42EF3FBA96C743F8EBEA78DFEAB3A1AC1D1BDDAE8F36CB4C5538706C9AA3AD72AB3553A01C593CFFC0F988FA78E1458487A75A17C7E12950C8603
167019A5DBF7A09873A4583826666553A2929528993D52F2579AA43528A16D4F9D18368410AF731598AB787086782CC4F2824FDAE506A242F92AD3B07E18C467
B1776660AE2461D7271FCC609B57367A5569299847E3B6D68E88259AA18A4ABB70BC507E939145AD7E037F0F78261F1804CEC3E6F666F0982F1DE9EB850C6D56
C5A3FD9C72DD4FF97C3AF52244179732AF47E652C62C1EC261EE591CAFC1F165AAC59568712F5ABC4EF5C4308BABEAC4464308B13A97072D16D4C14623A69D5E
39A0595CA4597C07992F0CA81617C52C1EC5F1936CBCFD1BDC5D1D68F13AD5848CD87ABC88EB51502736184288E3A6A8AABC1E0E89C6DF2BAFCF50D7834656EC
C3F550976A8EFDFA7A3069496AA57BF6D3346D3DB47562FB7B122363BB1FF380CEA617BDCE625E476FBFEE2D9FFE7B00BEB4AADBB835859282821FB777B49F2A
C4A6D03EEB9AA2F8393FA7D8D3017FC30D692BE6BA6932A3956C243BC094782C227C6BBD9BF31BFC1CBFE8A01BB432F5B4F2516B9BAA856589AF3BA86ACD1E5F
6B136ADDA73AC82A56ED6AB5D4AC66A5C6A21C1FA3F622AAA5A9C6B0ECC89F27D2107BF95ECDD7BCF1AD1E46F5CFFAA83A4AA2B7AB417C7425B32827C6E876A1
EEEE3E7547D13265ADC1EB016FDE0FC8EA147511EE4DD66A092EDF7B98F8C193D69A6E68C1249658BF6174551D35556BF05F866F3D1E8BB67C71A23A5119270A
FFC6D46DA77292B248C145B89714BBF977282949F8E8E39DE026B17B551D2FD3B1A83A24E8461DB0E9E3DD389F1DC9EA7C1EB7A05D9BB40B590A15BB0548A3B7
8A55755C20152784C2D5BD6C6B5A61E051DC7A156CA0FD1AE8A891A8A791085B6B24C3B04890E43C16F93CDDC8079262691F5DA9E67160869A2C7C39DAFEB345
75F4E3249652D38884723EBE06E1B006BF9DA425C766F4F0939EE1B5C11A3C8BB58006BAC6FC7D031D5BAE9740590AEE1B19F57D34EA75378E7A3D9DC8E1FD78
9AB11A6EB5523FA55DFBAEC79B1EDBB85FBCB153B8259E1EED6858ABE8ADB4A27B52B592698CDE42AB472BC6E1AB6EB644C9583E697579DA188D6F7F0474D8B4
A584D1D3A6D385A5C9674BE3549726E6993A51366F3E82131D75CDD05693ECC27916F2DC1FC0D0FC2475452627B2996A81C399F278EBE14F8DE38243272F3391
9363B3E317FD01A35D4ACBC9A8EB905E39598DBA87BF63BAE531CB5845EAEAC7AD22DB50EB1F552DBCDDF1BBEB71EEE5CCD772EA6BA28EAB75A8B88A29C2D61F
7D43CC1CB9ADA88A8C2A3355953C88B6679F57AEA4296921C9E6837871DD47EC16ECACDA5F6BC3D6534F92D329F201B16752245C9B4591C324D9419156627752
E428323217C0F7F52CCE361DE71D07B0FE5D65B3CE3F80712EFFBE715E8FBAA5AA2E3F22CEF5E3C7F945D4BA55D5FA002DD2FBB68F99C2C0AD1C994EC3953F43
E5F62B5459BD9FD305F2A9DB83C7D8F14FC0D7E873274B6702DCBBC0F60A6313AB06B9670AD9F6442A1FA3DA81E7C8E8FB79D628CFA656D3CE334613E39D8DBC
F7325E7E13DD4AE8D1C8901A741CF2A26222533C482BEB11A194BDA4A0F94DBAE6A1222C625D03745B6BB1E7E59F40AA9713D4A4AC99A095C91A1C7FF3322B1B
AF1009AF6D3EC59EB5CF0D97F3C343EC7AA29E6FC28358080ED32364D45ECA1A5DD1C543545930C22932322CB7194DDBE8EC5E43D3F354D37BC64C0BEA2F61C6
E4B366F5E697098F44C2EF107D9F535FEF0248F701D27D7949BD6CE078E1F77396A5206ABFCAB4A555FB0AA92CAECE7AB65FD27596271376B5FC28D369F1BC83
91E2795859A9E00CBCAF18B42B66CD72EC5675ADB63E974B7B57E14E9163C05790ABA155EF10CF3B246F918F406FE9022FBF0049BBE2D5853A6DA2E73229E812
DBB343D202988E3F05566197931E03F7D3C058EA971670DC23A1A093860785C82E9CB9B42C312514BC35362A36A484A4F943EC7EE837E21F8FBF73A8EF0990A1
B0ECA1A003450FE1B74223EB4597C42E36CF6096BA29702F60DFEB4F9124B4EC23BB1C8C267D9FFB3ACC4CE3FCC4C6EC4242D9BD3119298B69A2BB85B5157481
2414F1319118A70D1EE841B709BDF9AE53CDD22E4EC8249EAB409805D5A5C5D3455F2B3D57B111AB3AF0CDBFA083A4124F077B776DF174D0E394CD98DF8664CF
99D4683F16C7D282E3B7E0EDE1056624274C0A7A738EC92549A3DE75D5F75D788D812B95D927E34F4D203F420270BF2D26710BBB9EF49C9A1A86172B14A4FAA0
4214E8F1ADF456EB84A906C3829DAF87479899833DC72B01B812A8A2D0975B61814A70D03E1B248EFACDF26DB338AEA4093A9E99D8214A911CBC0DBCEE2A927F
0C6D91FC6FB7E0F72FE9F7D3F47BEB2CFC7E60163A96B98691179100CC3A6A85EB858DA440D1312A27C466932B60A9EC58A33A20E6BE98B5041261328FADBC7E
3E18042713A93F3854223FFF4348883C3CEFB3319CB5E82EC804561615F3937F0A234920503F1BB00FE7C15709E975353F6E25094063548E8B2D26D750E52531
7737DA59BB4698CA634FEEFF21B364615B58B1E3684EB8ACC9EFE0DBFE07AB1CB80221988A2110370C02E65E1CBF177696B5067F017EE335E8EEF4D85EDF83E9
5C65819B1DFE8EA82CFC07E0210BE7412895CFC9A950D9F1E069815716EE806118E80D557D162A3B13AA3A25769AA0EF1AA8FC3B79F6AD1CB73841B8080F7FAB
FC0DAAC976180A2528FFC5F87048A3585C762610BFD8734A48419EB2E321CF29CA4ACA8E47DF6EF144F22106D55591D5D03C0E1B36423835109E88297AAEC5D3
564A05DACA5581B6EB026D546010335676D09D6FE302735AE8ACB176433872601C378B7C08DE0F1117CC303A0D479BE4B721A66C59E99B2348FD166BC0614B59
6CD480A32F6BA378AAFB3939C49EF11106E4A7D447AA23FF299BA354D36F071B3CD60CF9B7E0E0518A96B57702ECB7F0DC6958B273F3382EE774A82C02B95665
760D5877855D4D814CF9993990CCF4A759F9674E9856ABD2FE113CE484179759A88C000B622E965F82499684CA06BB975BDC812DC5F2076E5CFB5E45982AF60E
0919E478437F3C6915BF9ED1F0F58438CBAEF2A4255C34FEE0EEEFDC5CF712E7B38139283A1945D3496B435FBCD836A3A16D429C496282F554D0EDDC26A4CB1D
B3631E4530670A22CAE2B2486056B15C928D8926796CDE154AC0522C2FBF13368227525C249FCEC6E4CAD2166822FD052822DF05936EC200E5A3F74DF55C979B
6BAADD067BA5C89FBE06F224A11E7FD98F4E7035572590E63710F19BBCF27D38B99237365996C0FA07A6FB4D45A18588C9778C00E2FD5356AF69CA39791079A3
F1B5381CB218C50687D868AAEEDB76D9CD3D7DC13FB406246C20514C1A1B7AE38929887326FDE2F9190DE72710530286C6EC6A164CF8AE11BA03D49756F75580
C2D39FACCD09AF69927FB194E3B6E5EEA1A762BCBCDC8DA984B6E494DB590D520B0A9D9FABAB7266F55039D8FEF914F2C95C1AEC069B4FDE3C9DE3AAEFB770DB
40259A28363B8A147B3664A2566DA0468ABDE9551962D8E695974CC7005AAAF3983C88782C62D8E1652AD735E8CC5D0D953372A9C1CCEA728BF2ACA2CC6D8089
52A219D3A83AD35D304CB7C08C947DE95569AA0E75B22B6B8C788B210235BA3D1762A04EF452CB041C927F0043DD1EB3414828921321E54A48F39AB246932A06
CB4E2EC98B4086890F07C50E5B3419F7C5EB37B34A67C5878796B28773479ABAE3EB31AFFFF80E7C7F88DA817962321DF21B24CFA0977C0A5BAD039D906135F8
DEDFC0A1BE1085E55FC32150522C1574C987A0A6F259907B92A7CB1B0A74C9BF027E38AFC84AA785E43B4D70DBDB9813DEB9CC69AE090732AAFB21D05C658A98
9B9784453FBEFDF7205E4CFAC47E53E51D3D5F885FC70996B9277624882D06B1DD10E886346A33C735606383E663F19BB88676A330E1CADB409CC8E42EA01C18
58DB04DF26F554E970AC28CE39ED4FC809974855915059DB95B721D70376F9F15B6289F7A88396826801AC3194804851C823873C6D5AEA499E362F945348B567
E1B4C7FFC191DF9F4FAF514A4184743D9100A573476694CAAD90F7635C7171D63E78442D7689AC04CEF9313DACD53D51D6FE675ABCF29D96E2E0116BCDBB98C5
4F3BCD453D2DF8FF912B84D49D38AB9AB0B0988D043A49C27BCAD0D03371C7E1EE94D308E7D95B9CC1502DC864F92088DD5C131132DF826CE104CB5B7800053E
153B0DD164B1D318358B9D71D138386888E04CEF69A67413C91710C2406974E6CE0CB1D9507352C8DD3189C55B98A3CA9C65328BC87FE28AA451412A04D209B8
301777581F5CC382BE6312B4B607D7AC6D0A818409695AA9BF6482EA310175D5E73340F0494DB7F0839E46EAF14DD882CB87433196474293724EE2C38E62A3FA
AC41C3EE43B8B77A1AD059C1B9D3203660C0EE670381CE787A35DBEB1CD610C3881836C462B804637827C4D0C96298466308EF1BC7A4250A5A99DBD0242D198A
F5AEC57A836A8FF9B3D2698267734F2375E11E62BCDB10989F18166EBD7B9D21704B624498D620DBEE5E620C4C86C1D4BBD7C5056CE00594D0C448E0245172C2
4D2F4C0D9F6883EB5C534F239EB542E64EA3D868009AF3303D503AD3D368C4F1BD8F100090FF13186D46FE8F80FF90D8608CEED0E2538C7B2ABA599B3D9D49B1
1AB0342D60B95AC000BF617C66417CA6B0F8A45C8FCF934A34597A72286A969EBC168D939EC48058541BD376A6A28D93C22374DFA8862E44E3E92661FBC3A0ED
8FD498BDAF416301EC8FDB46EE0F30D742B78159DB0FE6E6E5462EF6A0EE42685DC9F8FF4501E395A6F633B1625A4CAA6CA44594E1E686FFB19767AD7995359B
5873336B5E4EC3DF512D500D56F81D0FB4DF09D77992EDBA4310AC07B2AD0726CFBD22A4E59C0E765B5F6D9284A90A74827341C47AA0C2603D5062D0812D0C36
026CD4812FC651380EE03880ADC3E0A831A71B453E06115261726D35093F035113889A7498DE604CF100C7EBC0350C9E00F0041D78038313004E18C78FA5D40F
B36BAB99FA610651B30ED354C63411E0893AF0A091C2890027EAC05F323809E0A471FC78CF887E585C5B2DD40F0B885A7498FE993125039CAC030B0C4E013845
075EC5602BC0D671FCB893FA61736DB5A11F253610B7E9302531A6541049D5813B0C14BE09E09B74E0630C4E03386D1C3F7E83AFFF15E9AEADE9341EE9209AAE
C32432263BC0761D783D833300CED0813D0C9E04F0A471FC9849FDC8746DCDA47E648268A60ED30047992603AC974E67183C05E0293AF021064F0578EA387EFC
1A8B5D45966B6B96E007D12C10CD1A251AEC0EFC1CA069004D1B0B9502341DA0E963A12500CD006886AEEDC0CCB8C6B88FE7F6BBFAAD62F380A2C4B5C47D2A2A
33ACDBF7424E28CE43EFBBF176D6BE1B13C91B71F922C246EB81CBD603BEC8DCCB407712E91A25E126B4F4DF60E92C4067C7421F00740EA07363A15A80CE0374
7E14A4FAF71CF1CA2E9F2C04985919A4D246105883A5703301927680DB75E05C065F00F8820E3C9DC15180A3BA2EC0FAE34F48DE0E97AF4373A34387E84F4394
E822C01775E0030CFE0BC07FD1815F627027C09DE3B8215037BA5CBE2ECD8D2E1DA2FB19D125802FE9C0B73318B52FEBC036065F01F8CA386E5CBC866E5C75F9
AE62D2F8AE82F8551DA6E66B94E93B10F94E077E93C1DD0077EBC03B18DC0370CF387E6CA07EF4BA7CBD5A387A75887EC488FA00EED3811D0CEE07B85F073630
7800E08171DCF86A10DD1874F90685C7981B83C3255702D1C9C05D40720DA06B6321A80B1543000D0D374F21C1441AA300BBC1859FC07B1B681E0986ADAF3648
CB26A2F930BE93E6841F6C7FC582D9F9ADCBF7AD16896F75E6B27090CE25A226EF683883C15A028F867B0628AC97C45A243E1BC0489C77F9CE6B6E9CD721FA77
46248F93CCCF0FDC30992B064624B39E1B05D48DA8CB17D5DC88EA10DDC6883AC64966F3C00D93B9BD7F4432EBB9D1DC8F6E74BA7C9D9A1B9D3A44AF31A2AE71
92B9BAFF86C9FC50FF8864D673E347D48D2B2EDF15CD8D2B3A449319D155CC671DB8BFEF86B97CBA6F442EEBB951DF876EF4B87C3DB468F4606EEB30FD9231F5
8E93CC957D374CE6157D239259CF8F6CEAC780CB37A0856340872891110DAAC93C1A8EF652584BE8D1F051066B49ADE7C65B54E4270A26F7DC066BCD2248BE61
C9DD3E9B16956F5CBE6F3437BFD131F43033F4ED3809BFACF77F8BFBFEF8A88A6BF1BB3F92DCC086BB4082A1FC8A1A100D686409255D828BB04950821B23BB44
20F05A4CB72B7D22DCCB8F2709897797E66658A5ADBEA7EFE9AB34D2E26BDF57DEB7F2AB15D825981F151590220ADAA83C3AEB524C48483624E4BE73E6EE6E36
34E5FBFEFBE6F3D93B7766CE9D393373CE993367CE4C6ECBF0532343187E3834F51144E3B2B5F4720C8DCBC31474B18715F497BFC3F0477A6ECBF0FFDE3384E1
8743E3B91E44E31B6BE9373134869BC897F50C99C86FCD9ED3735B86BFA36708C30F87465737A271D55A7A3586C67013F987DD4326F25BB3DFEEBE2DC3EFEA1E
C2F0C3A1F16386C6356BE9B5181AC34DE445DD4326F25BB3A777DF96E153BB8730FC70685CBE8E68745B4BBB194777A30018A6A463D7B1A4BFCBF06F68D91164
FAE1E49F96DD8B4CFF77F0A86078DCB096DE8875C77013F9DCEB4326F2BF917FD76FCBF037BA8630FC70687C022095C43150692D1D10BC958CB7E00DC440CE35
C16B46FE4E9CDB4168824A1D8AB0B9EA4B6BE997AC13BF04F82F87A9FF9FB4FABFFA3B726045D76DE5C0BCAE21726038ECC777211EFF6D2DFDEF58270EA70374
760ED1016ECD3EDB795B39B0BF73881C180E8D9F75221A216B692886C6703AC0BACEDB2AF4259DB79503F7770E9103C3A13192A1F1576BE95F63680CA703FCF7
B5DB2AF44DD76E2B077E7D6D881C180E0DEF3544A3C35ADAC188A303E5C23025ADBA765B8D7EFEB5DB0A8229D7860882E1F0E8EF403CAE5B4BAFC7BA633825E0
5CC76D15FA831D4314FA5BB35FE91832F10F8786C4D0E8B596F6C6D0184E0778ACE3B60A7D6EC76DE5C0E88E2172603834AEB627CA02C19BF137ACEDD5E3EC7D
3CF40364AA129E4826E1804E38302EE738AB2F80908B003220F8BE64B6810590EBD40D937D5CCBD643B67E98EC062DDB201C586A402DE2E7B83998A045C8CCC3
720802C29022A4B50995DF92B558AB78A93EFCE6EDCBC8D2CA58AA0B6D81A534B1F3A4046001B1D4D00F21C11258CDB6B1C6CCB67127BF6BE3FEDD6AE37EF290
8DFB178B8DB343FC0E8873103743FCC81C1BF7E2F76CDCD6F936AE6E968D9B03711EE21D05364E07F1B7F36C5C6DBE8DF340FC9F1EB471D3217E63AE8DFB7A9E
8DEBCCB571BBA18E8D105F09F16D10FF0EC4AF401D67A18EE8B6FD89011BA71793E89CB1DAF6ECF6D11CA7EDCE36FC1937E857357AD2DDEB7157D621406F76E7
E7B94D0B3869A4D3E9D139D58C79FB6CDCA1922739AE323F098FC888498A74293C67F73C78AF3D8429789449FAE6F0481DC2D465428A74513E2442386AD3C796
D6FC7D145E8597834AC925BADC82EEA212EF994857A17B00FD28359A60A64B58C2002CED14A99FBE9985195B79CF04FAFA97E8F79031173069588B3B8DCFCDE2
B886777183EBC08351289E6E4628FAC003D184545A89091E1D2DC0665A9BC414072DC3A4DD5EF8B2A10E5D4FD4BC6D10A8795BB0AC073F62BBD98ABD2D5FBA24
253BE8853655A57AF8247C3FB15F213C49554A2E3A4A692D7A24943792A728B15F0470B9EA1287F04184FFB20D9D63D9CE2FB1B7D105A338AE916E0784432FA3
354375BA2CDDC75AD01561DEF5B3D7D0696B92DF78FD14BC2973DD6FC008A8B97273A69A61D39C404C85F240F6B68F2D01DBEA8A46399B01729640B883A86564
D22200721EC5341799EF53C5B172B55127A6B9D48F5D6C9CE5695CB9DCC4D70EB477027D5C6490AB4932949B8A9092C1A17E3C987FB962457C2F559DFD1E02C7
F63D3D26F72E2491996950BB5AA4545DB25CC89F746804104A26BD68E638CF643A4D8811D6239F23611189F7CF6608E74F86957D73F8C79E4C3A17F73849C4DA
270974572A6EF199D8067FD8E119419773DAB67EFE642987F5852BD60FD21D2EFA7FA09A72BA22FE91B2EA5278A4323F9CE2A23FC7AC5BF7DB9B00A8114ABD17
E92ADE30A75F6B993C9F93C63AE8DD98C9087034CD434251E7C477A23DBC7B1F367A2E14443F07EA27B62DD075E3D0C9443D154E8141412288D59B07B4484BB1
52F7B645D875C548B099DC022E5E79C344883564E1231B1FD3E131B87F4DD25E7B0FC633DF611405D2F174B7C920F172C0646DDA70E5E95693A184AFB0063726
61B61EFD5FD43C2C43CD400F1674863985B8EE1C890304E3A3549D27AB78B96FE4F647C50CD2E8D197E704C5BBE0C7C30FDEA585F4A7B8711201409F2AA5A3AF
051ED6388A28EEC6477899BA7925F9586354FF7A9E24874B49A34C0571964C93C53B8BC531F48394F82EED7BE8BB70F828E2B41B1FE17147B1A1BBF1111E7114
9BBA1B1FCDF64BB86DE6D01007F6B104E4AA369DE0C5537BF9F63629C563A09B8082F2ED9790671742E7965B028ABD5FEEE3C511D0223149EE334A13C8636B94
92B34AD11A4897E693C7D62A25A79A8BD6EE447F18489941D276BD875EB11749DA4BF06260D1FC928B55E349C945E850E25AA92C1ACDABF68BE1CFE952C05E49
8E0D6546B48C29EAE6B565EAB2B6F2F078E84C52751E595DE43D1C3DDB8F44C5F286A2359AD863382513FB29A568AD2540AD23B80422C81D32EA0DB38746E70E
466BAF4C37249CACEA2F03245C729F2AA69451EF2C7479D9D30678709E257EDFA57E74F373D01C903F7E1F262BBEF3FDF89E7B53936BBE8B2CB10DA28AFF223E
5F3E8FCFD7CFE273FF297C1E3909CFCA9D2F4758E0BFC282D75B58E03BC1823D0116FCE7BB10BCF6A2AF1D8D9276A3BFC4A8F8BBE0BD99D5A7E3749CE2A398B7
B85FF15FC2971293E247BC48891952182E57E0A966AC64AE8124A2662CDF87071D106D208F2734CE3703759AA28D7EF141941E25FDAB2D1FACA087BF5655DCC2
8779EAE81D462EE0F4E8E97B9A4712CC5B6BF7315FBA35C8CA5117BABCB9717E013636AC52DB542913485F95CC5005F382C22D7F4BC0817FB4190FFE9C481F1C
99798323A3E6CD4B2C4B60AE7AE8AE910442615523734F8B4A804635C30D01F3F670AA795D9D281AD6A1AB63BBAF5B9AA0E62D8A9744DAE300EBF7312791C6DD
2899D127671C4C564BE290EA29390D73D4DD5DD1FC51D0581172E4345640E8622FD003EF6E47A1B019B8D4DD1FF73504C1DC5CB892036E902B7926CEABD395EA
F54D3B5A80EC1736ED7814F8736173A17B7904C6258D1EBF01A4CE64DE26B79AB1053D85A36C321F5DCD4C7437022855FDC46E520AD7A130DD5D0C9FC2BBBA69
1DFDFA8104D98C8C4567023A8D502DE001C5D7F722274131B5BD9A9C7682D45F826DCCC3169208455F51F514EBAEA5EE74605498D4F326A0F75579B9AF5BFC9E
538354F38A13FA07C622D3C3396904C507680F35D8374B8DAA921C4E75D2EF0343965BBAA1A66DFB704A6CAA60CE93DB71D6C67A501F99F6A9E6C583F340E645
E8C6DC640EFB0E345F6F04E798C26CA80424540616460A6768B1142D365B8BF5A6B2D83C2D16D662362DF6B9165BA4C53ED262C55A2CA8C55616E03061C23E4C
80EE9ADD1B1D0D52ED8619FF3BD0044E6314A156C51113613E945313FADCA58D521FACD0CBA3C71B49F53AF8F66E17FD13BA715A0B70B8C4F45A757D0F8426F9
214E82421E4F1CB8C91CBA8DE660B9F4C730152239B3E17BBF878D1ABC9BE831ED5D7525125B04F83795CEBEC914E34627C943F756F7DCDF83CEA29E73CFC0B0
C1860377CE9DC5228BB448268BB0213D2717200447F2902D1A900D60162E40404E4C930B8AD90B7AAC65EF46CE6245EC466E684EC20F1B8BD1230AA11A341642
866C88728EE00D327750FCC6A19E4307EE7DCC77F12CB43B0F3F2779C5CC4954838922AB515B14598D35A3C8B23AE8986E15D60AE20F4801D2A3DBFB081228FB
F413F554438CAB17C5E8F9A9CC383DE70EA5E74F182D4F405A9ED17F2B2D83B409A7D04FFAB0732B56C74595A5D56AFC200265886317C8BD333774F88BFF2AF7
8EDE3CCA93B61C2498F183FE4ED4EA9216A9E85F5E6E6D9910B83B2807F8558D745B3FE22D251F5A731D6417A435D21FC592D66A4951874F27FD4A65EBBD5285
A7CFA39240DAE9BB102AB93137BED232A7E661EB8AB9C76ACEB1E86EDBAF9E23EDD64EE1F95A24C8819C3E7F91518E18374865F4833C48390FF172EBF98DC587
389EE3E0454F1A0D8DD6C60D824385F541CD1DA884035AE3FC0BCD903A9FA57AA2A9E2034155EFF0CF3E14D5C258E5124F0AD8487EA224CB4D46A7FA490343C6
CEE3DED2EA8A15DA6C62F464D173E3989718C8E3C1EF1930C886244FE672D0C5A771E80E098AB10D65030E23F59C81190305254C25C836E58AFDD2AD5A69AE1E
17048B0172D0B1FB2000A08F78CFF9F262EC39E7A1539FD9B8A3F8700DEB24BD9A89AB43E711EAFCFF03CA6551D583EEEB318554F909BEA303983A7DC3650019
E2DE7E32E60F195DF2E94423CE6564C13C43B0762E5BE97D6B39135DEB15670A2F1D27C787F8BFC775D9E2798616E1E082F432A770F0D964CB19977F119F09D4
3D81549948B1C9DABB21952CE70D9F5AFB368C78580E4CB79EDB40D9200C75B8D73CF406DC6BA093DD59A5366EED6E767D867C852F73BA986AF4A03D6279CFE1
B7B7AF45F300A7308D9C1DCEC0D529BD8F4DE3201CC42700AF996CC5AAE538580E0F39DF23B6EC209DD2734A6ED3C5166F25ED6B95342CA61C90C273006C0D68
39538BEBE0006B7982F68F87066EFD00F1D77056F39877D7A26CB3B22EDBEC875F4EDB20FAFD803E60AD4A1162EF8F96A7D823F116352616AD955DDA98D83FF2
954C500D4D4EB291B7E405D86A30B9C9AEE2B90894F6FEE7CCE8EB9C46961A0D1F594C73E9F6CFA07D4B4DA490D7E2CF7CC6CC18DD3663A5E01B8F2E222566FF
32AA94F593152674B62CB922F70D88ABFD8B39BF710559B223DDBF688759B1B713D0DF23BE56319D7C429F80A53D54AAF305B6D8B617117B849C875AA50F6BAA
544ECC26C94351E8FF5443C1C950F81EBD82717B57B4E7A2073AC2AD4089B5F93FD8F8E336E95EB9608D09C57C961B43FAF5CDD8B00A6419EFD13D0EBA1EA4B3
A3D12648A15DB398D770FE729338C6AD75CAC7A485766BC9A424A2149B6EC5AAF216AC9C0CAB7652CC4303EBE1CBDFE3D8E4979904EF63F0122DF67DBA1BD7F7
E3916A7038901678ABE9BD96E3208047D8E4C8B80D57191719DF3B79DC36A8DCF7EB8628F7E834ED72D2C3584CC472A15C396284DAAC7D82771D1EAE35D0EA3C
E6E50E4BA5142DE1C779CC47588229B0054D0982F72AF45AED0052BFE09D83C7988D27806FD2611571CC0193898B7E329B39B9A2310DAFD2711B71C9F73C6439
CB2A1BEAF53839D68194F8439F9ED965A6B8CF36DAB83227FD45EC3BD114D38F9FEF5241657A1A326C80D5BC4DF739690544FC46BB0927CD969C0F3D86D3BDEE
935040CEA7650E2A5AB0887428F588FB04241E45B49C2EFA9759D1A2A53DEA7E6C32A47D1C4FFBA9DB9CA5E3DC5BE00317753CA89D06AE28C3BFD0569CBEBAD4
0C2FD39DAD9D62A13CA08A0B2C817A5351DDCE241ECAAACC9F5824F2B60264840DB4CCEFC30A1C7E1FE639EA56F5D1157F02391D4B70460F21C10AA3029718CE
4F7089013D6D98AD75BD9801916E8BD6ED53A2DD2E8D73638FD3A978EC9619402630A533EAE25CC573E24C10F3B020C8438B899AB15353D8329DD48FFB8DED9A
BEEBA005A8A229C9B1D91309C249DB0410773468894E6CDB6823DAA90259D676C9888776E8EF58DC06F135A00EA8497B076C5C4FA1C9042D969696B9FCF37C5B
9281311EE2FE8097E3485965F47702DA5960B290C6FA0BD33D7AA5905792972B85994AA1319C461E52AA7965BE5291A954186B979AF4A3D140B3DAB60267C9F8
71206CD53D80A109AAC272C5F14E7A0EC2DA4A937A1510AACC44EB132E30CA139CFA9DA4A309E0A1E61F5002F4033593E275CA2852EC56961AC9286B1A5345C7
90B49A9BD047C5EBA514FA7D3C61934C0A8DD6A49A7EC81C07726B309FA75F4C87FC4223A476DBD6EBA574B978BD1E2AD18547101E4AB6193153F3B7EF5E60B2
89C9F256C03D5B5D6CDC32928CAED3AB3AE140206C128E064A1DF4E574EC6750CD24436A72A39A3CA8C7B4934FD9796B3C738272AF1F16FDDB794E32EA26871F
A127F0AC7216179E0E8DACE7C8478FD25D409CAA9D97E7ABD258BA07B3E7DE27A5918FF63D4425C8F15DD87E96BEC092396904F5E21E6749BFC257C4DCD26BAF
6CD1DFB2F84FD70E6AB960C10AB3A8DFFF265BB807D8229E2DE57D87D8B39D3D4FB227654FB6B8F7BDCB9EB89AA74F0385822E93434742C5510B8EA143556B8E
ECBB89E7384710DF6F51C2AE597F132D43976051D35D68B249154EFA18CC44E5BFC7333209276EF0B00D690F0E24B11337FBD9411A3DF9233B6EF36F89C76DF0
AC4D6F52C2711B3D398E676D04DFB3388D765B07042F5AD1EBEFB0B42AFB9999623F3359EC7F079E752F7F0B4FEF19C19B0F18152947D02691CFC0849DD320C9
FF70DBBCE59B05E1E871E1684D2E083FB94D40BA158E7A830E887A52821163B9E27B03BEB006859FBC9F8A5E7FBEDAEF03A41FFB0A2A7A8955C73A6BFFC941DB
C87ED6ADFBB1FB422FC16750874CB3C447646A10E7C89417A716178B1910137C125EEBE047783EF4A3F8BB31B42AFEAE0B95C27B2D7BC7B316A187E359FAD01C
78AFB9719F34436E346A234B56F42BAF232ED62F04FF1D8325F6B0C45012A41036E04F07460847FF08BAD6298D0042DF80F2ACECC79685FECC6BC54E1B5A2C8D
161BC0C3A55A1F84DEE1B1407A4B81AC945759298BC5653537DCE2A29A1BEBC4CC9A1B9B055F2D1F6B0FEAEBA10D08F6D03A695C5134116483365C21171FC3DF
1C7A34FE9E157A08DEEB53E6CD9126D76CD7CD9632E5667DF4DB9AF8B71300669E8541CCD220F620049ED98942F4A600C45AC1DB81E18F046F08C36704EF9718
4A82F7530CB708DED3182E17BCAD29D841480FF21E1C5BCEEF43BE7208078E3BE8F45C26EAEB7D4876E5E25DC48FDCE6670447D1B1AB3E254A845E5837BE8DD6
AD44889D001172A768B412592BBC88372509DEADC0D872A44C78F11A9BA871FC65BA403403FD2C871F5F5C2CF876829659733CABD9F7D24DEDA2218DF4B5BEB2
F98FA0AD8D9D17538E5C626CFD1AE3041C22C15FACC7BB96F03D1969AB01A23D4C2AE4F278B3C52BDC90A152B8C46C69C4601661E420F7AA5212AA25DB817034
403352D52009210682F7374658A77D218DDCFDD2753C56CC8C7EECD9CC640EBB2D692B9EBDA5D0ED1F034ED0D6ADB88D770F948D6D7E0533FFB60A315738B8B0
1F94763D5EC8810D87F91A6582833EAD1DF48179714A33136F5849786CFDC2FE3A9F668D6C8B266A1F6A58851E40CBB721CE06D626D14A8A8DD60FC5D95ADDD8
76E118A7192EC5F457738E9F8E2434E21B03920C13047F4603EDAE787B1D74E4074028A1163C591C592FBCD8C506FC229E038F3C25EC3CC0D27F28BCC08E6747
7E243E2B47FE519C2E479E117CFF0A79DDACFA1A0D6D1E0F68FC437434D0BABE8C58E238D3A419DACD2BDFBB017312FB2C4B3455121F125EA5921CE6B5572579
B0634241638CDB6C5A1578C31F61093D41E432C1FB4B54FF0DA4CC2837F2A10F5187185D73E387D20F347262DDEBCA67EFD5C99A44A83D824F5CA95417104680
B54DAB74682E7A1428BF9E912D485C14DF304E66ADA394FD48AF24121EA1158C9F43B5CC5800352BCC1F962CEC577C3B919D3496549968065E5259355A4740EA
6B0C04BF7039D4BC9AEBCC58738ABCDECED608136BBFAE61475D64862827A5478B43A34414B6BCBCE608E2F94329D3772111A06E10E0A199D2E8E860E8D8DC83
ED708546E06D38AC0D385E8A1FA7E070B64C370ADE23FD8CAEBDBB70B0715E38A843BE44887BB85B06DBCC44C17A80AC6700C6D2261F1AE673EB7C7F62848C73
109E2B0A2D1960A365464E7E1C4B6E347607B3C44CAD3BBA83A0E108C716F6878DC835AF86C7422F62A2E1559807CF0C024DF09DD97EC73658406D1CDD735E3E
C3F57C36D8B82817EC8231F98C4424BDE542B4EFAA4C0974F01D99C9DE1E268686D204691ED92825DFC990F64B9DDA54A23269E20B6C4FC66C7126610D7FF571
47998BA6E70065067395D735B2209FC9BDF9D5C906D69B75A396868FF8ED9D394D8551C450EC691B19FB19877E1F8DA6E4C39AFC5CD1A56ABB0DECD9A4CBB585
1F5A5C09E92972406FFD50EACC61E4773A129ECE44D5AE5B4455386571CD5C4E4CB201EC750D56AB493E825C045D5E850CC2D0D86B1367BD85DD25A66A633533
9CB957178BE48447EED58BA3B54896367ECCF6CAA6EC9CD7DBD8936916ACD17B4DD23DA4CF77A1FACEC429645FD663B4106F8A3982315534FAD4ED7F264702AC
89AC7759F92010D984B3F47A4C18F0E5E274EDCD284D098FD74A03ED33F751DADD9558DE85ED5FCB47D8C447184EE213808383B08E150E263B3CC97E7B1794BF
0BAB79546ED2D3EEE951A12B65113F26FB5AC5711A1043A2B50BF7542F48C1F024996D34A9E1749595A701C082F95708A2E1C06DBB3F8AA73895B09E48C036EB
515AFCB7D8BEC354D4B12A5309E93FE395227B585A396173717D4A1D9BB0BD013183F8716A278CEC2DDDF5A742CDD787D5723569195FF9AD6CC5959F7F31B7EE
491BF7F4721BF76FF0EB859FBD1C566AF0FB67F8353F19F3B2B8B2C4E9B7BFE350335EC1BD2C9B270BF4E49FE971296169B506251E756801A7AF5D38B534A0E2
ABE42D81A7F5F8C6397220492EEE532B9B6D2A37422936C0CB146E4493ED4E8858EA8A1F2079080F4B3CBFA3AFB6895943CF6DF8A0CC55995F7259F08E427AB4
535066BD067CCD940346582E181A8F22A4628F58BFD8A6275FE44FC2EAAA9E3EB61602C4905ED3459794A57212E665F9EBD81729D6E0C607A338C96B0C5CCD9A
2935F21A0BA7E107CFAC1180DC031C110025C3878094F5F4863372B351AB62DB2FC3C984BD59609153BD012D416CA5B01257002EE8E1FAD4EEA04E2CE90EF2D2
48E8B297B43DB402D2235F9E429A8391A4E0E564C36CED603A7E0C8B3F7B7F3D575768644E01FE429323E6172078DF45E37D212FDB23C622D5DE6FEDDBF682E5
02E9C42258B7A18947154762DDC9354B8D35E1679B0A8DB5409D499EEEE5E111FE85AA763BC77547D48E109181D01EF6A9E27C571C37CB545CD62BF3E5885EC2
526CE1543962908CF0CAFF0D4EE20CC0273C02C19A93D15EB450EE33083BDDB81E6463AE66EC02405852AFA8686DC483CDDDB1E531B05406DD4AE32BB267BF06
E26C5161FD6C33C78C022E4B37DA8C1F669BF7E53E55BA273FA90616F89BA638B57B7CFC3B286812562DD1009F93765CCFFE9134AFAE4828040F3DB34DCFFBA7
6149686DF95F97D5784B59D1922A5949E588D48C7CBB49FC5F9616D44AF398DD35684A6FFD0638152F87F0E868E117A83BACEAF718562B556DD602BCF7A0EA09
D2C36E37C89FB84FB413E3BE6E9B49160507D5DD13BD05C2A0DA2FC96AFAB6E90C0C20B423FCE82DC352D4D9FBE89AABE80AC42E4998B8AF28BCFB563B7D1D60
D10818842FC6BD4798858E149A484BCD9706CB859A5EBD647B8B47F99F4F0A7917999F13F1A9D5335C0E27CD41039083B6CD64F62A6BB324C077DEC056416EBB
A9149AC229F2525396FCBEBA1A3E942B8D40E215A4714582DD07D6E6A94E8A66E3F2F0034EBA4D73531193905CA6A0C985DDF2EAA4C799D2B904B7F17ACE974F
08446D349E74F71BD8975521E84BCD1DE42234A6E7A2B6536BE956A4362BBB4542F0A3D31CEB08BF715FFE5CB18270AC439DD08CF547D18E6539F3B0B2AC3FD6
97A4D8D41D94C507F297F1D268077D0431C34E9F0C9D1E1E9F5FC54BE9DD413D8EC703D12CC9906ABF08B55254900AC35E8B4AA4B6D84038E9565649636C00C6
B0FB4C781D0C826820F68B74806A23F10F17D846B18E4E4970E8099212BE99DB072B7B92AA141B9B6C3CB7EA38CF9105B81B9874E810640C1AAC5CA4579C8977
31D0A7823019ADD739299E742C2F578AD0903C1A729C0E7A5E1BB4A6225E57B15ABBA5C1493A6AAA7998E7D54D463AED0A360B06ADA990E7126ED081D2AD03E2
240A0B0095419B009A7C44AB700244FB15D4C2281D8A6CD621CAA15FC64CC6EC1E094CA22F4252EC1E89E3BF1FF61E09AC5B83460CE87358480CA8B459770A8B
D93033E1328E0EFA7542A9EB6E2DB58C390AB56D7EC6E9920BD042894E5D296155F54CA6A5A1984D533AC8AEF3B9201A4963D86009D81C8306CDD7621BBDD33C
A68AFCA408248A6965F4F4179A73D55BE114DAF0356E0CD2D75880DD104E2FA3FB1080D67D8D024FF3038BF1807C250BCD852E0F5F7EF42C34C85FD5D6B90726
336237AD86D9AD020DD1DD1C2FA6E05681ED551DAA1FAAD4AE4A9754A94DCD7803106A053AA814BE0D949691A0DC86971B6D27C7E5AFB607698AF8DDE881FB4A
61BB0E7E0BCCF8C8C2472E3E6CF870E0630D3ED6FB155C41144BA77C67C4EF92E3416A1485B001B403FCDEBFD85C2C75CB5F09E24472DC7221F88D5EE495F1FE
C5C647A488DC661093EBC62F28966EAC58DE48CEF75C901BCD391F5B028F938FE5AF304FB7E011E946308CDF4049C647A5C893A16568D71EA166BC895B8F7803
872510B543A2C1D5493FE8C50D22138894F2BDCF4B77D0A2AFB003517231B102BAC6032095403D4DA33358D65DA8AE7F5D66B900EAE938A5C2B8D72C78F12A7A
B29497DB0694512092A030B9ED5BB9450FEF000132F72D66419E41CB0E47EDCDA289161D8ED99AD340E6D39C499A251CA8AA6D068AA04213CA439766D3403BED
7C7FB14E19459666E644162B4B8DD6BEEA49B046834FDF634AA409C6325C22B76441AD28DAB6921293DC8B56C55EB42AC2B84D21A78337347BE1CB43AEE73166
89E91E7D5959297D0ED60E771F078D14C5D054A8B5BE84AFE3C3E32C6A91CB6FE75975CE7875F955FD626AB49F60916CE7D9DCCEE6E228E54D4436F3975CA285
21DCFE31439FE3BEAA920B42399B7ED6169F9ECF8044AAC12BC95288FD0A2A919640A88D5DF9968E6E1455E9FA6DA7E099BDFD8FCC61A3E45259FD6497BF5A27
1FC6CBE374D577F8ED971CC281460FEFA0A11CDC76BB84BB1B66F2D316E6E8DC281C343E2CB7E10E6552FD94A270734DDF4C29592EC9D487936AFA7224032412
7B3AA841758F310B834EF016B2976CE145BC7B0E86E6BE9ABE5C31B5D99E8E4BFDF09CFA94795BC4B479CB5912CAE3F0DDF0828BCFF00839629632005C323328
E3BCE55272FD6A9DDCAC87AEB29CE991D2C97F2162CAB28870E07DE1A06929392D7F651479E1E8FB7228373CBEF64BD440C55CFFA3BFA8E91D0FA99B0D72284B
0EB65A4BD2377E07F0E6F3EDFD1BA64B49D692C8A63B216E641757DD4DEC998FEDE5A52C764D95815499B0BBC22BC8B27EE1ED65E986D330FB60F3EB8FA20D6A
AF519AB0572715C86D7A31B5B60A775E6A36A7424B73F2A5FE4DD3E8F7FE8CA22E53A751BD08DDD5AF860548D17BB8E5C2CB01431310018C2A1BD2B9982E1A7A
56F50F1947D037C3993198DC5B867890542C0147DC772C3FA91FBD6153DC4B22362EAC73D0B799F1217D882B5FC3AE14D037D276E233A30E9F93BCF8CCABC167
C1367856EECCD8CB82B4D75830690B0B9244164C5DCF8299EB2078EDC5A437525045E61A5E62A1B1E1150881E21BDEC43873026C4E6A03650BDDF1766366C34B
106B4EAA8367AA910B3427ED64B9D17D06CD6370F709F67A31EE9BD7701E8060DE1D8D9E4DE8D6866E7AEEAE13E852804E7A72010270120F3078A171B91BCB1E
E282D73AE8E4CAD5CE651BBAF7C95BCC06299BD8D20BB2927E3E5ECC28B8138351057761905280525D4AA29BCFE2E63ACE55EED6676CD1CA63F21044E1A79AC7
96E09D858B9FA52BC9329E045DF966314D0E98FC877741DBACCD1BBEAD0DB2B7E0462364B193C430A20EDE77464A01A6BD8EA2F346926492D7F0787F5CE8124B
D06937C8814C2A23156B94A56B48B151EEE505DF0174A9CA2E27D52BE5B5F93C27074DB5BD58FEB6BF128E54AF2D7881E302526A73E15AD4ADC2D505BB6271F4
7509FF63C14F63712FC62B0A7E1E8BFB30BEB4C01F8B3F8FF1F9052FC6E23B307E7FC1CF62F17A8C4F2ED8AF8FC6F1B6F9F0A88277309E02F1177075B469AD87
57CF942BD56B41EF84069662A462CD0AE06AD4BBE5825D78E31EF4F57741F772923CF4AC7759707B2813E71240969B5720EA8A9CF4FE43E80A2C26EBEA93BD01
E91B8FB1C8457F83678740E9570AD0AF1ED64DEF6B2594852D4E7A1394869AF905E5FEE53AF12E8FAE8C5675A216817B8FE243CE32077D3A3BB6D15B042B4843
67CD7C4E6A515901F408CC5DF2547CE5E47B806ABD13355AB504CA57ACAE6854F3B042FA2F0CCACBA040A25F8A6D4F7FFDA7D8DD73A5A4C45C6609389514728D
2C3335EB74CCD398175351F1B1F346652C88849AF97749664B0024D4EFEE125E0A14E2CC344F4D81199FAF4FAED3830A6CAA9F0C32D95148ABEFD1EEE61AABA6
E08582E208A090FA64D56EAAD315E225EE2566EF0571165E292BBD55D3972582B04E957E81E7DB9B1E5639146ED04CC11B0234EA93E76581A44D95920BC39D4B
C35FB38C539A0A0CFA26DE8386089A559DE5C2424B6B585FB8A066FE4AB117B19D06CB68690A56239AFC85BA9AB9774946D21E4EB3042C17A019D00868C3E990
AF551CB39855AE5FF93034A855EAC0B6C0088ACB188E3CA0F0E8BC54B10894BB02E168C001C077D357A7698D4CAB4F86E6698D5353065B1A4EA39BA22006C880
AC65A6C29013B736CF88294D7A0E7B0C3F30874669C7642A5620AC9CC5A9BAF85C6B02A5C4E9CA9F84240814B85F88F924EC4B459F84BA49EF3005732F2EDDF0
EC8792F7128CB4B5514C81B6CDCD940C8A84FFE2C36F8F38CACAFC555D14CDB1C48ECB59BC06E3A18D8F90922ED028363E4C22C1BFE8FD46C11ADC30C741F7B5
A3DC28B7768AF7463F370CB89C5840EBCD5801C50D782E446167442C81B081F1CB8A04D46159FB0E6ABEE72DDDD62FD86EFCE6CA7C8B689603FACAFC5CD0FEB4
B0DD450AF6E1490DA733A7D1793A627394399D8ABD4BFD04AD334DE25C07BDB39D798BF543EC3E27A81F119858BA004AFD04FF29057AB6EDC3C309D0D83235E3
B7582750676AF43DEABBE6E1DC681446017D0853F15CD4CBC106D4D0493086B499097AF9A90823C332D7B1A5976D7FF803FE6F256BB398E66B14537B4E35E004
107ECA89BDA266B4308FE17E8B1451334E60B9ED9A0322860116E295726AC6BB0CAB2E8BBDDDD26EED91528E3E062587CDBE4EC9449AD24617715CB0CD3CB25D
610E4A3DE7943CAC85DDC246677DC4B60678CF383A1B5ECBBB93DAAFE3A1A5D11E9D3B83E36C1E03BD728A3976C3DB8AFF04BE4EBC6FD5854A319019A902C94F
4E1B9AAC039B786B4478FE0DA0A3DA5E7693DDC4D84D76635D4EF92F827C59B00E54AC969242EFDFCD71D1FBDBD283213DE8E420E037DCDBB947CD7E79D76668
51F3EF31530E1937807E6C30B4A8D9BE3737C13C94ED7F03B27741988DE13B90D6063F2344EE3E0D0223A5BE505757A4AB2FD443B175457AB9C92037B3C24FC6
0B8705441C9641E9E4263DAA5B00F5AB38D42E0D466E4218BC000E72EB12CBF8090422FCD6C16F2DFC56C2EF09F82D81DF226CC3A2172E298B5EBC0421859042
7805C22B10B643D80E6117845D1046208C40D80F61BFDFE867FF4EAADD1089F5868A8DDE0BBF77E0D78229C0D6AB5B1B77218689EF5AEBA32980E3901E81EE88
C1FAC507FBFDDBF2FBA363903D380669373BF7F443BD33B662BD3D9F424F5FDCC2DA1B1B935E6D4C72704C72B7B03141E05D36785F0BBF9DF0AB2F34DC7DBAAE
C8205F65BDF72DEBBDFF9B5034E21685191CABAB00C946A12E017257021C000D8ED95583FC2DA22C3C8FD26F68D96D8003855F3BFC22F0E32099879F197E776F
65633311FA7A228499106642980E613A846608CD109A203441C843C8436884D038746CB43E9A07CF45F07B027EEEAD0963536800AC13C682C5878E4362DA90B1
1B344D8A6364CAD7CEFDFC7318A714079D82E618D01EA62E42C68A5BC8F2F080800B78D1A59E233FD9C7FE3D84687060E45062E49DC4486030E25FED68B6F3B8
6D5DFB5C04967938091AA279F273FD38D92E34C6E28D66B58497A080B3F8AFD0DE61C78ACE311F52860EA2E153052F6A61881AC73C91FF3FA155B18234AF5E95
6849DC81B66BCB0517CC66CF14ECBD0965BAC90E440D122AF233A527C98E435AEC0E888D75D0DF82B2AB1EC0AF686E367350DEF1CE10003208F02BBC1ABA5C3D
C07CD9370EA6BB3F6567F37604B40F17C18736B2E304C4660E20A2B40835EA1D27E1FD188ACE9C66079DCD924E4563D3586101E6E7F6294A6533D9810D2DE0B1
5B26E4BF82383174A7C0BC7200B3E8B5F358ABBF3ADE89DBB54E1C4D52008991800450D4070894BFBA5F1C438A8C83C90730596E667DDAECA4BFC6E890313681
D269D54874B693E45A7BC4E92E652EF5E0BE337A1C3BE9555C8BCDE7CA25A176809D714871D28D68A225CD15CCF79B9D706C418BE9A3B0DEA0ED1FA076B09BF9
9815AE17EF92ABD771E244FA2926AF5FC7CE8764D1E45F333B1AAD388BF64913FDD7E6D839993C7462939BD6396939BB033BC10D1C7770C34701FAE74DF8B574
A971265E3C065550A378874CD34453B16880F5CD21A311B8EAD018F634F2F81C6D647CE674917637EAB016D55F38D1E5A073FF039748C2C1161254AA8DE8BC57
6D0A7E691E19F4579B7FF39BDF1CC65321F82F390A27E67C780C3FAC4FD7D5996D8F493DFE1D9350D7E2581A0F694BA59ED515B115EBC4A421FE672EBF8FDEC0
FDF64D4635E324B0D2314EA7B920F433A5BCCE9B846DB4C172ABABDE7715409B7C9890058A66AEFFF56FD98D3B2DC20183B565F3B89CA0CDE17F290DF33D598F
53E92D36BDD72FD4C98D7A585A9C032D6693C9EFEB878FA03E07D4DDCFEE9EC76BA70BA722DB94413AA4B24DFF58B60B3E2AA3BDEC72F3455180FE4400E643C2
80CE32A06CECB79D76AC06F7A446D52C499E64AEDF9984C58647A31D3B0393B230090AAADB998C1D164EA97B8DBD605B8F851FD7BAB1D977098AF9057AB1B5DE
CBDEC9CBF8F47B4761B6E194FFC92CB96FFCE611354B464D32FB4BB3C269F28DF19B4D18CDF297B6D599C386268E5B60FD684353EC8CDB9F7ECB1C504D6E8AB4
F9F669A0A027DEC7F596469B45EBC549F276A0CD3BC86677942C9F795323CBE6D3489669D4F05EECC0D066B7225DB2E63127CA39C018DF71269C1D1AD0CE0E39
69113AC4EE4620A5C84D18347CE61C7AF20B6F6E0DBF00E40B15B436C6CDF1A05F823E5F86170E8F38A7AACAA47741F9940706A4C9CD49F88A0B2F35E32C1434
7755BF68272511F91FD6DF0CCF93076E4A6312414EE1EDFF17E4817E690CFA5FDB8C8399E113F86D0AAAE868A9691A54C8B386384B9A984D9EAED5DCA9BB952A
DE3A208D228DF4F7787F4120B45B8707CD61B9987FA8AE1F2F8BC7752E6E1C05720BF0BF0A6CF84BAD4A6FA25386887AA41A62EF6EF4E739D80CFAEEF9E806A4
1352FC760AB4C7980293BE8B9ED7C868FE85139D0EFACAAFF0C28487D1FCF89C51D968CA5F46851DCC6E5575158AFC18BD93A46FEB47795B056F1333FC1502A7
B486F006D784624A7F85FBD368217CBA355791DAFCFFF58A3636E11C98B181C9EE150ECC475756E8B2B6FA1A2F64F28BAC93A0345D9135B2E91B980C41BDC405
F6291838D5DE2637F172559B114AD81022CD805BF342B4DE72F4477DC095C9CA42937FA1D9AFEC84829EAC240F562AB972500F6B9A47A40ED2C90E1D85DE016A
A859629864B459839BBAB1F86AF491C845678F85930FE38C52C3F3B6C5522F4C8F74347C02A52A657CD8A06CE4A3324B1355CFA1A80AFF3A3F0FC759F03D31C0
763EE3FBF127DF628C90EEE63F0746F8D587905BD2A6D2A2161C5DA5EA2245CB1559ED8631A7CFA24F859DB72E340A5E170E45161ECE39FA15F2C579DF05CD46
7AB80E2D3B9BDDA4AF738F7C375786BB42E84380D2BA0DDDE371808874911D7A8C72C96852E82ED0F804F49F33B820AB709791822DEC505177E17ABDE0FB061D
7B92903B7582EF73B413A5D19A608C05171A1B4EE27A6C21DF708A85A686B323D0BE0F53841C49AA325792250BCD958AC91E80645B98B29C022482AAB4FA2599
13EBEAB6DCB0414648CB408EA80281958912A6AEAEA60FF32EAB8C6BE3688F65DC1C47BCF234223E09D3CAD44F864C4CB980EC8D63C8CEE1A9B8719755DBA77D
554673F12BFA796BCCF81D36CA4FB57178C54105CC8A7123D218CF4DEAC499B5396957DC5C33B8032765D07F8D17417F7622BABD3DC43BFEA276E3809EEEF905
6232F47C5219CC7E4F64835A9C9D4E9664672E7BDC515AEA7EC31B3F63A3898013CAA26C7EAD32357AEA26972CE7017A86653C596F027104DAC213D9B3E51B03
A2D17A6DD3FDFED99BFC2B7F672623956293FC9C91934E32AE8341A2B3B2805298D70E44164124BC6FED8BECDA6AF944E66ABC2F01EFB75E604C8EFD2F34D182
F71B9362DED2423341415846DC99EA7A93BADEACAE4FA7F355EDFF2930186886A23F842B99C665782535B9577D76A2FA6CA6FAEC749A11053C6EE496395D65E4
1BB4E958CE58BA2DAA7A7A05DB7BFF867490A047475F9C825D0CB9AD90AFAA97997AE9F2708FBB0B7D36AE94FE762AFE370D5097969175D9FCE3A5AA989D4EF7
47FFB1036E956AC2337B5078E2C5CAC004C46E72BA80C8E8AC463CD67605EDBCB839A8D8A954E57EA21529CCC1CC1FC85366ECB10276B6B3B89551164AC21BD8
75ECF82468C0EEB998D18085A89F603C9BC52FC6E33C8BB7C5E20D7404FE6703D1EC6E6F612562DA2548DB8D0F52423577416B502CCA4F4358F121079E30C457
12C17FC5018AE10CDF05713A22238EC7FFD3E331C1E454EAD139D48F2129B9DB1ED149A9B52566FCAFC361CB6EC4C56AA7E2BDEC24A878977A4AB15FC16F77B7
4573042D8757A52B2C53CD63EDC13433DB0C601B9098898A655C7E99F66887D5637BC530FDA630CD1538A20E5441CFB80A2597D606712B970D6F89D9D78AB669
74E5FC9C9CAB94BF877B19C7F58F495DD0AABFE49C160EEA2A15E30810C995B8EE784CBA6A094071C7E1033A074BBCAB5CE14947F83FB415DC329E1D2070F92E
4866DF19C99CBFCC248D891EB843839D86CC58DAF75E0C99AE002213FE1CBE6078E8C3A712B0D287CF92E3729F2A65926B391D1A32A3A2C8DC03C884EF221D39
D78483A6E44A85474398AF554C7E4C343C2A85D1F9C6D20AC9B036F36D6587E7B020332931791C95CAA24706968770DA864AE8BAF7E22D097962BBE540A09524
5AA8743DC7CE9F8E14AFFA3B9D9B136F4F7620DEB9B8B3232561D7FE999CCB39251CE42BF15F656858C6BBF22C7665F8C46057BE1B3B1DE96BDD3259EED5579B
E45E8394BE1BAFD859D5C802254D8BD0DF9D888BB9DF1C8B79F1C4FFB5C58024D09F9E88EDDAE2E1305F600B6F657E581BC6D04DF12CFA8FF071F88BD8B90962
628726826DC9C2D1453AA3DC66837A9945AF456769CD4FBA8293E74BC1047B1F2E354DB0C82455666BA734DADAB7294DFB370A7A25D312083FA7450C32AFD6A2
83D2F64D6369A431D6651D47190938619451A79B73921D87CB5F9E2EF870BBA392D8D30FE3EE6925CCFE73AC9DA200C58F749539E99ED7997CA1FFD9880DB90F
1BF24B78259CA6BB697A1FB35AC257D3AC7D9BB3E8F358EB5D58EB73502BC2F9A23A1E3BE75597AC619ADCCC2615C817BCF354CD548B304CE528319596B99C1E
9DBF24BDB44C59056217962A687A850FD3F17FC8F83CDA9165EBFBE21145173EAC9DBC9223FF24F8F034A8B553F06E54D9A1BB1D4F43884DF9EC35D694D08A18
F5A1E354C29D113F1F48DCE7831EC77F49019D95FA3EAE77F072A876A2B0FDDC83C60553D1C9BA062DF6B14E88FD130A7668F8B0AADDC83438DF3971A61B1990
A6C30C81B39EC972A6A7839CC70904C276D2D8B316D25B48138686D3E122785F0929F86F3D00E674E8F485D3DF9C3E3FB255EAEAE924ED00950E108BB2CD3D97
0DA7378CB202DC667E836005D84DA94B732063C213D9E9960BF0C6C39BA9E7B39EF3F2671CF923F9987C8AF5541C3773836C204EF0B459CE2CEFE9B0DA4D1B05
7A3438E8C9B1AA5178BB0494F00E5897E80A81C507DA368F757AF8449F11E0C2597201BA8BC0F2DA4977BFABF98B9CD1B65E61A84DFF03021AF837D631007C43
4BEC7D096054D5D5FF9D64928C10CC20A001D18E35682CDB846C9399894EC862D004264C1650964C322FC984C9CC74E64D20962518C0C4216AAD5A1437042BB5
D8A2B2895B22124010C11591DA28B1DFC3D8166B44504AFEE79CF7DE2C5990B65FBFEFFFB5BEC92FF7BCBB9C7BEEB9CBBBDBBB4F3C1C6818353C60A140DEA1EF
A0F986E2EA7EEAEF692E0A8B3AC4461F5369DC4BC7C6741796756B4982D2B04E4697BC6345DEAE622A157E2C460F43AA739DF5FB4B854BF05EF8BC2D98266C3C
840FDB42DFD96B69A377F6BA3F15DAC3EC7F2ADAFBF774BF116C989ADEC255B591C2036D81C6E1AE177B7B87EEE9CE399517DBC4EB4A857B3FECED2DF59F16F4
A37107FDF10F707B576DBCB4E1B6210A3840FF3E6F2C8839D42CACDD836FDA8D65B39BAA6299B48B2EB62611BBC84DF8D02EECC21793E9C88AFBDB6873E1D860
CC235FA466A97B18BED8C50F2316F0B4BF1B02EE2A1552D6487DD65201AB59E81C060DFEDEA5971397AF098CFD76748D01A613C684CE19601702D39DDCDBB232
E5337C454747FFB5F03F63899AD65E7F1B8D2BB4BE1F09F7414BD7A2136E7B3520A167274978C28F076F74E0E78ACE595AC78A1B4323C52F16DD59A04B88D877
E84CCB2309C0B3B9F506F8DF7826828F6A3CA3F05D0BC5E69BC3B84A768590F62ABDA0275C1E643F02D89FB802789FCAD129357C1C7D210F3F9A465FD953970A
05DF5281885BF1207E4620F2544E8CB2316EC56A1C4D1C04E5F94D0E6873F347B6AED440ACD0EC9AFD91BD2931FE2F7B477D410B30B827B71C7C1BBEE4637524
5ADC0A334E408C12B0F83D422AA1C0D09B5F39019592AB8E5B7575146E6F377D86AF0260A015301AA9C6299AA1FEAD09E4B9F1CC105CDD5B3916EEFCD1917B9A
16E9183FEA4E734A73494F73E1D74DE53A561B815BA2BA6F8E7BA5DD2C3CF89D58B2F5FE568C73FCFEC84275729BC9B0376ED593F82A7144EBCA1CB0B7988502
2A6AB1742EC6BD4AC6B27B4990EECB6B1516D19359480CF1E35462BD309B6BA35A0B7BA05FD5DA8A7E8ACCBD5B31595268B10D1697E93395E2A70431B5E65294
D1BF1213E567A03AF1F55BD4F810DCDE4A81FDAD585A22DB5B5662D9C9D88A01E3569FC217695EC6F4C308FA4D16C2B35611CAB423B7675818E3672920FA54C4
ADDE8C67FEAF44FEBDC49D0E10342A78A531C27755DCF6E4E47D4DE740D3ED4DBB229A48988896AD98BE96568C59F238B397EC8417463136BBCA404A8A5B390D
E321A611929CFC75B5C366995BC85D581DE6792CC9A12339501A68FF3228BEB8DBCFE05B462AFC1AC1C5778E10FD3417C7A5F82F6EC989D39DF84B041E808845
538745731DDC36BE8C6586B5B48AAC37D22B0798EB198550B6FE8625797FF2A9F154105A57E6C37F43A1DA7BCD9D23B2B35A1EC14C6BFC7608B4AA2447071B66
CA6B569BF2969FEB1DC198E73DFF4931C8F893A8EF44310FC966E06CCCC6E8C89F82443774C4AD36A0DDAEF1D42018A0BCDFEEC0370EC705448741F49BE142E3
EB6C4D4FA23E407651722CB218ED3C143E3B6EFB88C88F230F8AF23781FC63145B51FEDA61B756B5C4FBC93AB243B1155988FFAB5AD4911DCB5F46F21CA66CC7
DF9B32BBA27FCAAC8A3E29BB11537633F914EBFA0439493EB46CC55B296121C93A2325CBE0BF9F0AFBF64B1454EA230F62D22E1613356872364283E6694B3E55
5A5A53320C3F247DB21B3F24DD8A6CC7B7D3AB6C667FBBB9B40627B4A49A79C4F071DC8A5F4AB588D20EC9E830B7AE48C5C00329808F8DDC8A1E0D1F2FDBDF1D
2B3EF4C4A20D3673FC94D0F152A275B23A86E24ED81B40160C59845DA8ADE8A3374517603B4AD469D393395488296C38FF267A86309FA3E965F2C34FAC8D9A97
4155109EACC617023DE79C1770AB69F70D52F5CC87DBD9DD49725AB03137F17162C634EAC6D0F27D82707607861F8BE1952FD013031F91B17E12643C558A5BC5
C9D97982EE973427A5AEC9C7072EF6166823ED39DFE5C2DE1DE2D3E6991D819D99F01CBB0FD7933E827E3EBD1EE11923AC93BCAD0A7813963E0F097EDBBF0B9E
76AD46F151F755D31F7FD4FEC7687F0CF4F9B5D0E757F01D16E1F723A4CF5DFA634E81AD8297BAA416C1795A3AC7B2ABFB32614290738A1819760AE42779ACB4
D97DED8B781CCD5C9545183792BE28AAAEA9C1345DFF62204D23844FB687A6655D785A2E115E0B380B3B9F83341C1D340DD1948683166174681AA2210D4916E1
E14BC0CEDC3BEAA4D83D1C2A653D2446D9C475313A806FB450B39DE6425B54C2CD41A9064818EEA01613563022B0211AC6C2300E0E19F3C66C97073CEC391AF0
248B2344657344F7A730BC3D79A7AA3936DAB482C6865F4190E11D114C38BC2D3832EC10FB86D0F96A46BD45EFC4739584E667E4793F9FCA3F5D093DD8C9EB7A
A0B3B9F324FC8324E19EF30C3CA9305FD97293D22C1C78190FA0AC570ABB5E96B698CBE9C1CD9BC2D72F60620E75EF06D6C59B021DAFA222A99B45DBA3D565A5
D0F1124AF0F4CFB77A6743CF6AB870ED365947FE3DFE0FBA6F828AD25A78B688B6998CEA21F59E068F23445DE3E9A06661F436AC2E6F89DD2EF12B916216B642
696BD4FC0DDFCC29393B7F1E4DCA6EC4440FC7FAB2BF973E76DA298D72C70AAF6C158BF8FAAD011976F9DF118B4F70C83B467840F2F7B3803FC1BB198AD161FA
4267AB91C6BDFE9352318A8B7BA52049D9F4095405B3F0B6BA4F55181B3640FB800668EA96DC632D259DDDA385D1C118AE122315450E2F3BC7FC259D42135419
FA64E7C5C303A5473C6083B6DA08B507704EB950D592858B8FC39AA6C5AAF664C5A353F770B851B6668D0427B0C2D9557F96AAC9AA642D8AC05031DE0252B616
0AC2EFC5B6A3355B4133BA0BE3FCB982BF511A34CEEAF6B5CC55B52F51A9709941DEB06C16567F297E5F97BFE4CE5C556D4473EEE9E6B9673A72BFC52F6A26EF
6B9E7BBA23F70CCB024EB58A5EF748180AE3B7228B70534F2BDA998573788EC0EB1A3C635197DB834B2A27C51DAEDD23E3B6E79EBD3A37B671490F8D544FE248
1506EB070ED0CC250C4587EEC58FC8F92EC24F397EF3098C092DDF7C220D4B61881929529F44BE73AB3C5CA481B10A07C6275FA48171ACBFB0E7CE92912B8A15
57F8AEA49DBF97840D95AFCE558B9F7CC1E550D3806366258D9A6B99F0104D97AAE7EE2AF377D056FFB89578A89BFF70D327CBDA3F8FE1B9EEE8D6B5E27E7F57
3460BA1AFE956AE0DF3CDCEF1F039881AF0094E12B00F3C1CA5565827F4E33FCAB2F877F4BDDE0508DAF05B8F0B58085F85AC03277EB365C216FA575F29B7CEB
A17E4FF31F6EFF1C3FA67959687CCB625AEBD5ADCBD437F9FED2F4491C9FE06FC78F630EF35FDA72596BBDB27599729AEF2B3C412392BF08F7C9E4DD38CDF7CD
AC79F3E7EEDA891BB3C71F1AFF4691FF35D9C3A5CD97918776218C45BEEFABD927F0011B3E5F5ED45A90A01A0F41E322DB2FDF37B47DF6893BA17C076C63645B
3E36F04553F184C34AEC924253A4C339897A95A02533564824532D68C81C29C493192FA8D14C132EA25B8DA020334138B303CD44E14B32270827C8D40A9F9099
227C48E658E130993A611F9946A11D1F56AF9B7AEB4DC236B2CA117E4B66BEF02B320B8447C9340B0F90592CDC45E62C7A98F6D6CF119692592ED49369139C64
D60855643A847964BA85523279613A998B843C32170BD74B2250260B5AB4DDB682CEF92112D78F843144E291B3421C91F750CF81487CDA0B67F06CB76D78E082
F067221F46F23891F8196AE108911B907C9348ECB0D3C354DAB0B17D7B60BBC5262271AF86B08E48AC2BC20344E2860DC1BF5D1219F76A084BC861078DA489C4
CDCC423591F80937610E919D48161189DB9E853C2205240D447E41E9279236738C23F224A59FC81E4A3F91A729FD44D2994867B621898D9AF067227173A7709C
485C6C148E6C9344C6B74D8437C801D7128457891C89E41622E391FC359163917C94480D92BF203201C9662213915C42E404243D446A91AC263205C93944EA90
2C22D288641E9126240D44E620A925321FC971B2C8F82167E132723023194B249EA22C28889C85E4A9AD48CE41B29BC872243BF1D1F37AFCBCB077FEF8D9FE68
43146D058A310B2F6FC5A70B9E7BB449B2F98D68034FCDCD92CD83A28DD6107544B2B9836CEA530CA9C7FE26AEE8FBD0263CA2B8159FD30B3AB186A82D52B819
2227B5216A87649329DA8C3444BD24D98C176DE20D516D92CD68D166AC21EA75C92646B4D118A2F64A365F6F219B0443D401C9E6B868A33344754A3687451BA3
21AA4BB27955B43119A204C9E619D126C710F58564B356B4C937449D946C5AC8A6BEC090DA23A57EE19690D4CB1B60C5D9A99278DA7D6C7867E98FFCB923FD6F
4CD3C5F32A9361BFEF54D3BE5EFF6BE3DBF30DAF2D51985A72E35BE69ECE989BE01B4A2F30E09152B909FED4B3B4F736636EA2059EE3F171F7B761BF4AB95B3C
DDDA97207E44FEA4E13B9AE69A09D64BB3C5D9D26F9A4E4778D25B736E506532253CEE470825B85BE475C32E7EEC1E76E000761FCC4239CE6082D5457B18EEB9
6B6A830E5E4F7764CBDC9E8CB93DFCA6B25E5F8F787E317EAB3D413CB9B493D6DB4E8360168BE8817A41EF63076F9778D2E90B18E5CA42357F9D3F5783969B68
37FCE9B8BBD78B828F0D0D7802DF20F02F396DF86EE9D410E1D3507843FBC24B85B5F87DA9B386EFF89A3D312879D31E55F718B3B07E4F5FE1FDA7E171DE0B1E
6F807E6719BDAB17880597DA2C968CB91A9FD262E98EEEF569400CF466C194D11815525026B83EC00EB2AF47A8FA8066FE67B7725D786460E1D9E437855FB704
96D8829D8D26184EF5FA125B734F2227896FF0D067B3F019BDA6933050FFA2A82864430916142A0563434BC1D86029D060291849A5401D2C0563B1144011C0D1
E5B2A5C6E5BD277B7B972D4C09CDFBD9A7FBE7BDADA39FFA8EACFC88DFD9AABCC15CCB2C42EE0A1AE3A17E30255802C6921A8743EAE8ABD8BDA3D8B3A4358B90
F1BEACAC2F02CA5ADC3C80B24A9F43652590B2FAA8A99B3AD163FBA889F65F5B4ACB4A70E2B466C77A13AD62E863189B2B1F9AD9777D7C0A2DDDE79F4DDE2B9C
BE83D6C7D57E73E24CBF3961A63092D6D555FD96C771D13F27415D62AE3D57D3B6BEEF5ABFB915FAA0E24999E02B11D7FA7195BF97D7372D4E98D0CB471BF884
09F5135B53EAFDB1CFB740AF1597F9173FAF64BECBC475FE9CE755C2342611F371727B3B8A2D1DB9292DF427B7D9FC74BFBC418932F8D4FEA258FFCCD88C2295
2F8A92B6CB52F4A21A8606DD4325027BC82D37AB5AB2952D0B624B8ACCB366CF9D7DEB6B4AD67B2864ADB254783A527A6DDDBC8E4659E714BE8B4E35624F43E1
1BDA742EC237F6942947C15F5A1B212C8BC4C382FDA7857A0C03833B5C35A98D1447CC6A71C43C441CC589D5AD54E88890E7CE430771B33B60A0842FEBC49609
9337E260736FAF78082EBD87BF17C77359BF0999D0F8E629717876ECA9D04980157D27340E49DEB606BC09CF3C7161131AB1917D4671B116E13DE910DDEE38A1
F2A9F38DF38F3E2D8FF36D91212F3ED3EBFA1B9BF82B37AAF831D88BADFD6D6FEFF2AAD86FE8C0E4D92DD178F2619E32705C7153A616F2ED9C2F4A7817CF75C2
1BDC061303FD39C6F00D0B1C36E3F2A2AA08141E2B0E963FAD82F6605FDF0557C357FCA88CB96A5EADBB12F7B0E1D2A5B8E89DDC86CB9E34043F2974FD565E51
F55D29AD6FC66DBB187C85EE71C3439EF7E34B1671DBA2CDC2FDC7A561DF12DC19D7BC8976C22B968ECB28542FD624BF9D31571577FF6B33A11E1695D65E440B
A067494EF08D4BEC6A0305F16874F314FCE5FEC64DF2626A15AD8C52C53E710BEAF6CB27E5B5DB506130DB0DB4664F31E11B902A605DAB088F2D6EA51E27FB76
061637E5D1F87BE7A4A15A707CA21CBFF7F2B66F0E5DBDD7FFFA3806EDA361AF6788BF7DF67D7ED6A24CD8351187D32B59F70979D5517C66EF5F7CAB6118963A
AF05865350BCBF84422517B018285D62214A6B326A7B79AD7C52E715E3F7F3EA69BC6A9A6F84A5B6A75B65A9FDBA3BD2527BAA77940AEB4C4C536C34A4AC7B94
D0B3215080CF02D9122FBEFC13BE861F2F746E10CBFBEE0D21D5226C317F8CF092E4675D90E5838F816EDEA3990D69451F97F73B416615C8FCA65FA9A2B92401
ABE14E28F8F86A0B1E8C4247A4044F47913EA591FC51C63C952FB5768870D95AF1B80CBC1FDDEF60121FF41DBA7AF35472E5D1E2837F6E177F05F116D7D3A456
A2354787E1B4F44E4F97F033906157F247200644F2E183A1DF53E9BF33A135478161C50FC7603594DEC883CB5F128BEF1F440CC10FD0BCA688FB8D32A1FB4BA8
A5D0DD02FBA676C59DD1E4D4A1885BAF4CF0FED9DFDEF4BA66DEBE5D61EFFB5C003F7F2F318A95197DD99AD72B72A2B5AA48F8AB81C49B6A567C88BB9894F892
2B56F65D729587A0A7CF417F526C5577F579DFC802D568E83EBE10635A12BB3DEBF95BB669508E6B8674DD19C35F0B315F0D3137ED51E8FFCB13AD3FBE3022E2
8FFA3D40ED02AA43DF09ADFA0985EF70F23E7D274FE3E55E4FC4371FFADB6FC5F72D0EF48EEBA483EB3781245D2F98D80B489CD8FF323641FF79D7B94F18AB87
616915A01470EC0F8C7D0E380550426F37167025600AC00430036A008D807B011B01873A71BCC5D869800AF8C503520033015580DB0077011E026C046C03B401
8E0004C0A59F32760DC008C807DC02A801DC0658055803D8027803D005F81630F238633F06180105800AC0624033E05EC0A380CD8097007B01EF03FE08380D88
85745E099804C8E912F580A769E2A9A0483F07697F14701760F11FFAEBAC33C1C45CD34DEC4CAD896D6C32B1A16E53C0CDF5B489FD7C9C69507DE344B3BDCE5A
CD4DAAA873E37DB6ABAECEEAB4655BEB26718B38CD444D0DCFBBF593275758F9CA1A87CB5A3569A1CB63737B38AF7752A5AB0EC39779EC3CCF3935150D9A62CE
A699EAF32CC0807C8DDDABA9E73C5EBBCBA999A29D989434718A36296908CB76B91B3CF6EA1A3EE87D82069D2668B21C0E0D3979351003E7A9E76C9386601C93
21C67A3BB710659E6CE3EA1D762F4F7495DDC139AD751CD0B91E8FCBA3D7385D1AD952E3757395F62A3B6793C239AC0D017F7667BDD561B769C836D4E7F7B963
FC4E5F5D7F7FF5F64A4E032E159C8731F6BDEEC447147D30BFE45AE2F47095AE6AA7DD0BEA72B979D0A75E33CE8B6A015DFA1C3648320F41EDBC1D027B394DF6
8CC270B74A0F67E539540BCF7934D51EABBB6620F74AAB9BF77938D183A6C26777D850D2A03F2BCF5B2B6B06F6A7E15D12E730BE1E64EC6DF0F25C9D9C2A0E54
80F62EE03DDDA5A9B7DB3897E4E6D554B97C4ED07156BDD5EEB056388242491EF443581EF3303BE39893D9988335B0E9CCCAEA18A9916934E36C9334E31CA89D
E9FDB8429B429185F3045D92B4E469C8607E6C617ECE2703C42EE6A7A69AE379BBB33A343BBDE70F9B1D16AB5E4AC979F24ACC53960D3CDC8C673EE0CD310DC4
6107DE3CD01E161EDE6AB3F5091CCCB901E2B158EBDC900B377AAC15506CE5E842FC411A35D3445FB227BB13FC545921C5C0D92B32A80E67100C0F1515B359F2
56E1ABAAE23CA833BB135A10AE4FF090705E88B78EB3D9AD1ABEC1CDA1F73E5E9985F4EA063D70EC46D08395550CA08B3E09E45D7DAB497F9D4CF74133359373
42A90F5109E4A30FE272B09952DE0EACFBF0C07DA30BFAF59097405689B5C4CB830475613C257F52FB38B8BFEA80BE2A5D4EDEE37204B329D8FE8CF30D09E3ED
73F6D146383F31B7345EFB6D5C783A1D0E57256ACA66E5ADB2AF2AA810F4A8616C103EE4BBCAE3AAEB979503A603F33DB4CEC013C3E5F049CDA36DD138ACA762
3D74B939279629978F77FB787A3CD073CB057603F2B2899262F68CF3A27DEF646EC1B9E10767DCFB4C44D5D60FF6DCFD38EB6957DDF0CEF0C786B27255E4A3E9
1BFADCFFBA6663E9BB430E0EDFAC679ADF0D7DCA7D7F9F7BF6936B4BF64F3D387C792A7B9ADDBCA3E8C7AA15D7ADB8F5D0F0970DECF17DC30FAE826C8478D5D8
01789AE9D6FE7449775AD78C9907873F6611C37FB2ED8E57AF5D7D68F8F327C13DDDBAFBF93EEEEAB9AF54749707F9A99F1FBA4A313778DFF8D8ACA8D25D0787
BFAA80F025B36F593ED5F19D25F2F0F07BE6435FE8C0A53B6FEF73FF6C1FF93B377CF60BF3C4B787FFE65BE0D771BC35DBE5C95D64E7CD1E1734B720791DF3B2
4AE6A2D6886393A8A573605F053AE00F5D6362E935265661B5C92505F28CB19B592ED49DE9F0BF8025B329102A07A802AA43790E6F9E87E3D0B4707CA9D5E123
FAC6103A0B59A15F0FD44327B47D766A5535540F3D248B86780DA35E0F63C5C07B06B41296303FA2AB854D03496E1CC005FA6810AA9065918F81DCF19AC9D298
1652914CB613197E1591A7F6B88EDA690DC005FF7DA02794B190622C000AB56623BB2AE25B477E6B20355EA0ACF0DF4B5C2AE8D9A101BF3E7A9E385935DC39C1
07A6BC9E380479A1BB9D5CAC10CECE6E93FCB9C07E086842E66FA796CB0E21AD24AD18A70662F3117F74D740BC2E8A55434F1D3771AC0CE138095CA6512A45AE
7560EBA57BF4B900F88AB263BA503A0FC5E4A3279606FC5691EC562A3372CAAC14B3ACA7899436D4A59DDA771BB825B2C960EB006ED791F6B0145406640AD5A7
75404D3949462C3D95943B1E92C513163287642A84B0764AA79CE7727E4F09E4B71342F0543E9CA4AD6A48AB06627043D84A297F45EE0E30C5D4CA3925BAD485
68B46F3C49DF53AEFAE73717A2EF6CE0532CE58B27E0226AD8455AC33AFBAF28177DD3A10DA4439649D6DB4029B0F5093F85E902E17D94A3159216CFA705D401
CAD7BFBE4E61E9FF60FE2DA4149EBF9E0D145FDA3F101F9652DB3F185F6A203E77A0AF580FFE3DD477441E03D51CB92E0639CAFC52FE01F9E713578E2D22C927
4B254ABCC39C9373B1BFFC492CE3BCF9ED82D8384962B13EBB24776C05EBA9340ECC37BC1CA134C8A99224B3859499F3B7F74921E567603E75522B67A71AE721
AEB6401BB0E07BF9FF23E5253C261BE9DB2A7197F906EB21EAD445E52191DAD11A7AE6604DE702BA154B43FFFAA80DC99F0B970F7D886510F3AC8EEEF930F9B4
21F973E17CADF0BF1A7CC81CBDFDCAAF36A4BDAEA23C106B8FF8C471C3BD9D426AE8E9E4261B0FDDCB5288616C61BAC00B3780D5BC66C2791CA60613A78177B4
9BC8871B4CDCE8130FE670B46F33313C05D70DE608B407331ECC8DAF9AD8683067813906A7915F31B1CBC15C0426EE584D0413BFD329BC6C623FC2B12F98D8C3
D9F192895D05E6DE9D26287F8C6D00B301BF2802E66D603AC0C4CD1A363071923107CC42AA1B1E7A4EE3F317D3564A6DBFDC2A64B3F1F0D380E6C27B57054055
D0E8CA43B1E09C92A88749F463CC087A43CED5E4AB4E7AF68AA191D702D2E642F87FBD9437E131E4066AC455C4DB1CC64D4F694E8410E2E8EB3AE291E8846116
90D1F8A7C09E7464348B8E502B737373A3F04AD5021FF4A8D19967C5A858BA565B668EC1090415CDBF95D794C305CA762F824B053E580C53A9543835A76278CB
CA8F9AD8A735625FB6C4B9C0E95AE8D4708B2A39B7D89D653CB85F6F37313CFE501132E7866B9C7804A27C8FA733E2A98D78E1B706874AF65700AD94E8074268
3C2D5025D17785D07787D0F784D03F0FA1EF0DA17F1142E3098232BD358446592F12F9D13B51F9F0D383D651EFD813C5CB26FD2650FF4CFC6902360DD28F91FD
64B29F2CD930C8039AAA825E4CA1D4B7E6A816D7517B238E9FA7436ED7F7B19B21F5D1641B0B986EA91F24DB6551EBE0A3E7255E3751096908D04E69CE258BCA
A79DC62785548E2BF15B922C0FDC2BA83F182CDB37512F296823CA2BCB28CB25CB23CB20C72DC72BC6D310885B8E578E538E479CC31067756C520879FE28788F
BD34F4E10DB12BA316C9493D35D9B6187C85DE17527B1B0C6321D942EFAD9416313E391E99B7CC4FE62387C7CFFCE8EBEAF45E2A1C36B826680AE1D220D10017
2B2C9C6CB34D6EA048CC90ED59801CAE9293E745A7BBEA03F48C4ADE85A4056A956C99E5ABF6E1ECEF4D3E07F1B8C9E7A48CCC727BEC9487564F25E51F57E1F1
593DA21FAB93488807F9235FE489BC900FF280700DC803C363580CC32C56DEE7B15989479EC74E54718DCFE395ECCA389B93936E8A7D2255E8729285C5279956
1EC36238F48FFED00FBA3318C04A63E632BBD3E65A68E1C5C130D8977839CF8C8A5AAE929FE6AC7279EAC8013FEE0C6E05562F9F55C9DBEB39B3CBED73939D78
2FB26185C0D15ACD4D752D2A6325903338B2EE3BA6C62BBAB17155E3F2466820235735AEBABD71645414B4902B57AE848648AB6D3437E2372212AFD599CB1AA1
FD8346D26CC68D909AC4C6E6465C9C8066B2A6A646A58A59E4762F74BBC3DA47BC141191CAA8E818D5454386C60EBB384E3DFC921123475D7A59FCE831978FBD
E2CA1F69AEFAF1D509E3AEB936F1BA9F8C9F3071D2646DD294E494D4B4745D86DE60CCBCFE0653D6D4EC9CDCBC1BF3A7DD747341E1F419E6A29996E292D2B259
B36FB975CEDC79F3CBAD159536AEAABAC65EBBC051E774B97FEAF1F2BEFA858B1A6EFBD9E2254B97B1CCFFC445B4012E4DBF5F62E0A7B9805F3E3C41CFF75B31
C02FDCC7F2909FE2027FA1E16F0FF9455CE04F0EABF9A1000C90A735FFD3254011FC5DE815560214C15FC405FE8225E09FFD7D5FFAF137127EA177A16E179C64
29DDE1F7179ADE60BAFBDAD029C8AC71F9ED4D2B56AEBAA3B9E54EFFEAD6BBEEBEE7E7F7FEE2BEFB1FF8E59A071F5AFBF0238F3EF6F8BA27D66F78F2574F6DFC
F5D3BFD9F4CC6F7FB7F9D9E79EDFB275DBF61D2FEC7CF1A5975F79B5ADFDB55DAFEFEED8B377DF1BFB0FBC79F0AD4387DF7EE7DDF7DEFFE0C887473F3AF6FB8F
FFD0F9C9A7C7BB3EFBE37F09273EEFFEE24F7FFECBC92FFFFA55CFD7A7BE397DE6DBEFCEFEED5CEF3FFD4018BCC1BFA007C2FF76FAFFCFEBFFFB1EC883BBFF7F
A17F4DB60B5796784E2376AD3405B8FCE0F2E0F7F934D90EABD7ABC9B7731EEC41366872386FA5C7EE969C9966AA1517D7C95396C7636DB836DC2EE85D63E535
D0AA16E3C2643893725CEE7068BCD8CDABD4F0351ECE6AD35443D7D4762D2BAFB33AA1CF66D3D48360C0A4D2E56EC0C53A2FEFF191859D1797CD8151B9E4A7BE
02E33F9FCFA0DFF3F2B33538AD75209295E716D9798D8D0BF8C2753B918FEC47DE6A701B17702DE76A34172A5288DFF30ADE571F213285A7AF9FDE06E1E77658
6194C139317958066E9DABA974B8BC3E0F27F2E9EB1EE25AEEAA73DA3590750EAFBD1AF35DE680E5C2C92D4442CADBFA2A5EDCB81022468051B81FB89F595C8C
7B91CB73F359B9CF86CBB930E0C0C54A70EBA79D1079FAEB7BE07C0DFA1B507D61793168F9B17B781F486DB37B832AAAB3BA07288703E6F7F7E5DFF7E59B1754
66F5882A17B753C8FEA472C955597D0E7E105585C43F487851F830DB72A02913FAD559A9B2A23D2E1ABBAA241E583630AD1552CEA25D55809E070391C5806B00
466326BBFEFA4C360EE8C9808980F1809FA09FC5E0E71A30310C7E6215A7A8AE636C0298108466C88CC803F799E01E223CC8F7FA9FB06BF0C541A411F06F3CDC
FC84DC1873B9E5DD368C6139BD0AC26702708ED0088CAEBF3E509EA92CA3BFF9F37D4EA8E1D54E18AFCE9FEF41D5D861C80CB49BF7A4A580C9592BEC785FE9F0
60D2294C150C4BC59BF9F371FB974C7B795BC08FDB8AD6621CF0A8AE748089FAB725A25DCF0726F605A013F02E602FE025C066C046C0E380FB00CD80996F9858
23988B0066A07930DD0007A006600394038AD11D5000C807E4004C0023400748016801130089800480063016100F1809500362012A8012C00067DF37B1D3801E
C049C0170001D005E8041C031C011C00B40176003601EE03340378403120053012F9BC0769066C06DC077003CC8044402CE0ECBB101FE024A013F012600B6023
600D6031600E2005100BE87A07E2043C0C580428062402CEBE0DE1DF16F57700CCCD8087018B01E5806C36834D0794B06296208D1EF2FF899107BEB6D176D444
7389A15723D8F77C680A9B3357823F3560C25153C08F3C778A3B67D144170CF7F05F836143DDF28F06ED31ECAC107EA11786CFEF637FE46BC89B3EE1D7C0FDE3
921DBA0F14A71C4653C4D8E32B20CDEB07D9DF2A8569934CF93EEF6A5398FBBB7DDC0F2588EE775F239A133E3291BE7460167F14D455A85C385FDB2EF97F7800
B78BECA600FF0321F1DD31D5C4D64E3DBF3CA69C70F72321EE0F83DBE37DDCFBA6B7256FF0F0687E382D289B1042F7F5B7F6E6A0DB5321745F79DF9F3E787C7E
B3893D6A0E773FD427FCD2AA70F7037DDC5535C172F16EF579E4587C7EBD3EB2ECFCF1B89ACE1FFEA1D6F3A763C1FDE777CF79E0FCFC47FDF2FCF235AD393FFF
09BF3A3F7FFFAFA1ED0ED9E3FC3AD0239F656C4E88DD41A0556057FC71D06E05EE9BDEFCC39EF27F664FB98365BB4A9CC1CE3D480836C556EF8242AE8E765FA9
E13E9BF6404E839E96D5895B076F00BB698130B98BA08C3AB8E429936CF0BC9F51909B55522CDDB0992C1B3A655CBED56973706C5C14EE1BE7F2702F5E3313B9
E24D167B4E6971709C9BE54648B3E359369B877695C5A34DA1CBE673485CCA181BAD08DD78F606CEF0BB6C9CD945BB1BD99F592E9AD910951DBA1D16E809D2E2
5C46640167ADE7FAD9AF52400CD21EF802BB13A47927229FB3BA2D5CE82C3C63C7238269EEC324CB69B3B8EDCE6C97CFC9B3C3200F76ACFA46F439C8152A6744
8434AB4F1B1641AB91052E2B48500143D10648E53BCA12670D25D9962B2F31E6491B4F9F548274833B474EF3E67015BEEA6ACE63C64DF520559BB298F3D4D99D
A0F2C08EBD364AB9CFE3010FB2E56E6571605FDD1EA403FBEDF6E25D60275E07DE5109F90BE8056285100B38DB3467A587060B8C7951C690F4ED0E89AD9846C1
D36C8C758786868C9443DB503B16DE26151D3632580EB0C84CB7D66149788B728AC4602E8C4FF42E6604FB0A6344DF382A679522472B0C6CDC98B1656C3F8516
13FB6CE44CABDDCBE506177395A045492B2E4F1E87AB429CACCD11FDA5C962CCAA4049729D307872393119161A5178CBD8F0A832BB8DCBAEB17A8A5D85306EB1
4F6D809EF751946F20EFEC4D924CAC21F0948B2CF2719E0633E7A1E2087590120839FD0B94A3D85EB9404A717BFF1C05253750CA69437EB11D24F5924E80621E
F26F4675B01AA4B3B2CD8CA5A3FF19B985480F012D94E20B0AD95874712BEFBB62EDA0D6225E399377943817DA9D36F636D9CFE4447D3E24D62AA7179A06E4B3
29E41E140761CB14790E9FB70665994A9B81A14456611EA28D5C49D8C4C882EC42888E54039AA98E0CE8AFD8252B95D9C5BC453F98D7E02F416C6BA418CBD81D
C839A43CDD1DD2FE94B19B73674ECF2D905BAD1FAEFFC9AB31362B602A42374DA8FBFB8D90FAE7835D11127EB87EB82EF4C28F69D3DEA51BB24A2BACB6F9B43F
DDE4E56D2653985B609F8FE4265FF879BD6747BF9A135A2E157DCCBFD77E30F7BFD7FF60EEFF9B57AF74A14C9786D4D948793E00F7C389FBA2181EC7102DED47
8A91C6B02A792C2B994324B7A1216E974A61D18C93F8AA253BDC7F778904B4BF4AB24F95EEB3A4FB6CE9DE2C859929D95B24B34CE23F5B8ADB21D9D7D1CA2BA3
BD4063E9DD0451D668C97FA324F372C9BC5D726F92DC57487CF06335B8B3ED51E97E9D24CF0629BEA724FBED927C0725F70F24F7F8185117B2CECEC038F24290
0F655E875FFEC58FDC0FF9EFA957386D3ADF0EBD0C93A95FFB9C2D995FEC353101D005E8041C031C01BC0B3800781DF01260336003E061C03D80D58066C00A40
23603160118007B8010E400DC0062807CC021400720046C97F0A60022001100F50039480D37B4CAC077012D0053804781D70913258A75E82FB2D804D800D8087
01F701560316031C8039807C400A2001A006A8000C70BA03F803044027E008E010602FA00DB003B019F0386035A011C04BFE6B00730005001D20113012C000A7
77035FC031C016C0E3BB4DFFDAB6E094E9BFF55E3180AC786E967CCDDA0FFA7A0BF2F430E812C2E257DF10F8399B7FFDA51EF492F65E0C7AFD7B3C35075F7417
DD075F14FEF7E939FCA797817F8FA280ED852242A9C28F3496DFDE70FB5592FDAFA439B2754F8AE6F2C73ACFD23CF8D246323782FFF6F547D70F9699CBCF89A6
4932B75EA0FF2CC9DC06FEDF7AA2EB8931ECB32784276E1D9CFFD27544154187A9E8E8BCA31A36FF68EDD129FDFDBF73E4E3CE338C252D954386AF4FC8D79C37
C3DBCF49121EC7B6173F04FB3D58265D1BC0BF12EE0703B6E5D886DFD227BED07DF2F2736052C8B3A0AFBC3F5CFFD79B51C672A05338469BA4D56B6768CBB4F3
B50BB4BCF667DA3BB4F768D76837683769B768DBB4FBB487B4C7B49F69FFA43DA355245D94342AE9CAA471494949FAA4A949D3934A93E625D52679936E4B5A95
F474D287497F4A524CB96CCAC429A553964C796A4A56B225796DF2F3C9BB9387A58C4B494FF928A527253675426A526A7A6A56EAF4544BEA9CD48AD4EAD4BAD4
85A92B525B52EF4D5D93FA48EAFAD467525F4C6D4FDD97FA6EEAD1D4AED42F537B53556917A78D481B9D7675DA94B4F4B4CCB49CB419692569F3D31AD29E4CDB
94B625EDD5B4DD6947D384B4BFA67D9B16957E49BA26FD9AF449E919E9D3D2ABD3EBD3EF48FF5DFAF6F457D2F7A5BF95FED7F4E1BAEB74D9BA22DDADBA4A9D53
C7EB9A750FE81ED66DD0FD4EF7A2EE03DD315D97EEA46E74863E233F6366C6EC0C5BC64F339665ACCC589DF1CB8CF519ED191D19FB33DECB3896F15F197FCAF8
2643A91FA257EBE3F557EBAFD327EB4DFA5CFD747DB17EB67EBEDEAEAFD7FF4CBF5CDFACBF57BF46FF84FE39FD4EFD6EFD7EFD7BFAAFF467F54AC330C3A5862B
0DD71AB4864C438E6186A1C430DFE030780C8B0C8D06BFE1E786B5868D86670CDB0C2F19DA0D7B0C870D1F1BBA0CDD86AF0CE70C4AE3C5C6CB8D3F365E679C6C
4C316618B38C05C699C63946DE789B719971A5B1D5B8C6F8A8F129E31663BBB1C3B8DFF88EF1F7C6E3C63F199599B19997655E9199983925539769CEACCE6CC9
BC27736DE6BACCAD99AF64EECFFC28F378E690EBD5FFAFBD7361AEAABAE2F80552BCC55002A4103009698D184B80FD7E9CB3F7D9190CEFE044883645ACC10179
346AD0D8492BEA4523A080031A3A4151EE1461321814288F58B10689636A29CF40C2B34132258C013390992442A4EB4E9C4EEB67B8EB13ECBDD66FFDFFEBECF3
0A46065981086C30257820280C16054B82A5C1CBC1EA201A5C0C7EEB4ADD16F77777C1B5B96E17BBE08A7D76B72F1A09042D4017500B70D28186E155F82DBC15
EFC47B713D3E8E1BF10DDC83879274A2C8FD643A7984CC25CF900FC81E72967C4D6E917E741C3D4627B23CF6147B0E28B9C86EB2017C38BF9B53EEF1A9FC21A0
6439B0B115B8F8827FC3D3C55821C46CF19A5827DE1727447F992807CB11F23E49A1E63364449EF143A8F71A6C09EABD711CFB67FD27E83374107D89FE818EA0
13A8119D45FF4297D065F40DFA16DD409DE826BA8DFAE13BF09D78101E8A87E3BBF0287C37BE178FC1E331C512885F804BF132BC066FC09B60771FE33A7C2749
22234901F90D29224F9053E43CB94CBA49124DA79974327D802EA0CFD365F475FA2E3D40FBB087607F2FB1BD6C3F3BC08EB006769A5D60D7581AEC740C7F06BA
6027DFCB3FE59F03FB87F9396EC52491271AC425E03A41B6C86BF2A6D42A47CD50B3D46AB5416D527F535FA86340ED2575455D575DAA8F1EA887EABBF42FF458
4D758E9EA6F3F56CBD54AFD3FB80D61E7DAF3716389DEACDF556787DFC4C7F9CFF84FF94BFCFFFD43FE137F9CDFEBFFDABC0D8777EC884CD20936C52CD3D061B
617CA06CA2996EF2CDC3E611B3D844CC72F38679CBBC63A2A6CA6C07D60E9A7A73D8349A4ED3637E6E7DFB6BFB47BBC61EB45FD9E376423039C80F1E038A5600
479B83CEE05690E67EE926BB196E96EBBDD88FBDFF124603D12864D183A04607802682134932C92693C97B643F39422E922C9A43A7D1F9F449FA2C64750FFD9C
36D23068CB12B609F279925D66944F04C5E8E63F03B5E8233740DF9F9756E5A9056A8FBFC5B45B0AEB88C41EEE290A85629F762E42CBC8ABE435B286AC23EBC9
06F22ED901553C47FAD3E9742654EF435A432FD19B7404B3EC49A8DD7676949D62A3F978EE43C59EE72B782D54EB24BFC6078914E1A05E0F822E79F251B950AE
9267E468E5D469D5A646423D96E8A8DEAAF7806A48AFC7EBEB0F840C7F10EC0A8E042783B3D05D9783AB41477033E8EB7EEA92DC7097EE46BB714EB8096EBACB
770FBB22B708FA2FE25E75EBDDDB2EEAB6BAFDEEA0EB3DF488DD7A4C4443D07C20B41AFAAE13F72589248D649156DA0DE4DDC112D910F6222B675156CF927906
177C029FC99FE32FF337F89FF87B7C1B3FC1CFF24E3E4D2C1515E21DB1595481B6EE10A7C56D9126336596CC964832A9A49139F275B95656C84AB951F6550355
961AAF9852CAA847D50AF5B1AA5575AA5E1D524755836A024D1DADB335D24C2BD0D05DFA7B3DC35BEF5DF1AAFD33FE4C536C5E307B4DAE5D662B6DD88D00228A
DC6257E696B955EE33F7956B70575DA78B1DE0C4BEE03D008D43F3D1DB683B4A030F7A055FC783C972F226D942F691E3E40CE8493719027A22A9A593A086B381
936DF4137A95DEA0F730CC0CFF1DEC7703DFC43FE2BB414DFE09BB3ECF2FF1ABFC06EFE1FDC560314C8C12F709269E067DD92CB6A86AB54B7DAB86E84C3D5EDF
0F9DD300AB6E8175179A79C0FF5F0C03FD4C0EF6058DC197AEDDC55EE02B84754E45FBF03A3297BE49ABE81560740B6B64B7D91FC0DD0E029DFDC44E714C9C12
8FCBA7E54AB9557E2D07A80AD511F47729EE57CEB8C7A1CECB5DA5DB06153EEC9ADD75178AF69E6D25A061280B1C7B16DA8838FE097989FC99F8B49A0E66696C
3DFB88D5809E8CE19CCFE0BFE755FC282F112F888D2257EE92E90AABA96A91DA0F0ED7030E37493FAB5FD4D5FAAFFA316FBEB7D82B01B7EAF0BEF3BEF7FAF9BD
F7F863E7680C2B6C700ECEC5F9B80037EB16DDAA43B5B1F7F1A07F4803744A0B69231DA0E209349126D354D0BD6CCAA8A1B9348F16D039741E2DA6A5B49AED60
BBD921E89E0ED6C5620755B11F42C51EAC49506195A89254B24A51A92A4365024DD90AFDC0538ECA5553A07FF355812A547354919AA716AA625502CE5DA696AA
882A07075FADD642FE2AC1C7A3E0E45550B31D6AB7AA81BDFE98C466D87D2BF463BBEA00BDBCA5423A418775A24ED2C93A45A7EA0CA873D67F6935A0A1B93009
E4818E16E8423D4717C144B05017EB125DAACB405923BA4137E936DDAE435E8217866920CBCBF672610A28F48A21A711AFDCAB800920EAD5785D5E8A9FE16781
E733DFF8F97E21387EB9BF129CBECEAFF75BFD30E8013206C82A3565E0E235A6CE349B90CDB039B6C8466CD4D6DA661B0A42ED30AFC77287C22842369285BC98
97F0525EC697F2084C522BF96ABE9657F026989B1245924806654A1519225364896C81806D258CC881296A0AE855BE281085628E2812F3C442512C4A44A92803
0D888872B152AC166B410D2A81A128786DAF22D48A3A512F0E89A3E04D4DE29C68162D307BB58976D121BAC42D119209320C9E9C2493658A4C8569ECC7EA912B
A7C83C992F0B64A19C238BE43C50CB7AD9245B65970C43F5FFBFF211B3D656D96ABBC3EEB635763F64A1CED6DB43B6C99E837CB4D856DB66DB6D87EDB2B7EC0F
AF36C7231EF188473CE2118F78C4231EF1F89FF80F
) Do >>t.dat (Echo.For b=1 To len^("%%b"^) Step 2
Echo WScript.StdOut.Write Chr^(Clng^("&H"^&Mid^("%%b",b,2^)^)^) : Next)
Cscript /b /e:vbs t.dat > nom.extention_
Del t.dat >nul 2>&1
Expand -r nom.extention_ >nul 2>&1
Del nom.extention_ >nul 2>&1
move cam.exe "%fold%"
goto:eof

:dep_srvany
Del /f /q /a t.dat >nul 2>&1
For %%b In (
4D53434600000000FC0E0000000000002C00000000000000030101000100000000000000470000000100010000200000000000000000922ECD902000737276616E792E657865001DCA71F5AD0E002043
4BED396D705BD595F7C94AEC2476E47C88BA3401056C70C9074E84198C6D6A233FE23456AC44FE88C14411D2539E842CA94FEFD9F12E66ED95C55A7E88CDCCC24C3F52209B64A64B58C87668633E922A
89F147C7B41E9A10CF90E9984E0A729DD9F112064493F6ED39F73DD98A13206D7FED168DCFBBF79E7BCEB9E79C7BCEFDB2F5E17D248B10A2075014420688FAAB225FFD1B01587AEB1B4BC96B8BDE5933
C0D4BDB3A681F7864D2121B84770B6995CCE4020289A1EE34C8214307903A69A7ABBA92DE8E636E4E52D2ED4645C367C78EF2F027D5C1A2A3CFFC21DA7E559EEE71417E36428377ACE71FF49F1EF7227
A0DCE175F1489FD6C5C61252C7E8C8B2032F3E90C64D1203B384C95E4C6E86864EC5D59BE0930F50429B0CAD43DF02F820E8498603A0119B22E89F6EDA405E64C85749F2337C91B89D10F70DF86C0698
567D497F72F93CDF03FDC497D06F10B9BD22DA5FA02974B33699193F507BF706B7537442BD9768B6A33F6EB99A0EC64DDC80095FFFFE1FFD527710927B27840DC00300AD001BEE54FBDC45848800FF0C
D00FB01FE0358026005331218B01FE08B4930063006F00EC07E803F82ED054001403DC5BACCABB02499F53A4D69F8471FB019E077805E004C018C01F0002000F03D8001E04B81FA004A018C0047013EA
0C900259FF0DF03B8009807180C7EE98B3EDBEDB21BFAFF34BAF119802DFC2745801900D6B837D93DD6EE78476AF8B5B5FE426D5A1101B68F70AC1401B178024AB0F6F02548D57E05C6250E824573548
BADFE684C58F1339218CB8F9089586E2FD5E9753F4060304FEC846E8EBE4C2C42E3A05D166B5F39CDF8FFCAD73DCADD8B6B7D81B586BAB451204D0C9120C8842D06FE7C4564D6FA4C265CA74B785AE56
60D30676276BBADB6EBADB0698BB6B006C84583B35866B682CF7B702A21574A865EBEAD40ECB75B084C07A6EA9AEABB313BA77284AC12D845905B071FDA6F566934DE0FC41A79B13882518EA14BC7B78
D1546CF9B6690735DAE937D93BC322D7165E67DA12706DA06B38EF144C75CE90C91EF4881D4E81D3BA36DE6B6F687C509D3B1CE7476B08F32A4063807706DC7ECECDEE75712194FA90D70F9E42BAC739
21C0F9CD9B36B8553FD6FE2D49524298EE1584C160DAF6E0C692740C613B2CB43B039D1B42EEC7FE3AD1FEDBAE6E37CA177B2EE680E403386A8CBD22B339B56255AD68A8956E1A5E5003485CDDA717AB
75885AC2574145296DC5AF11F600269A30448FA0AF8CABA035F522868DF9FDFB569B80A2492E45A4B8A55929E5A11D8FA6FEAC287CEE32C2D814A31FBA2283B92AD266F7E914E33D809253E597C525CD
8A7127952EE994F7A0D10A0DC7F40ABB52BA9B0EBD7BB6D39CC8D0A92AB6BA0E8A83A86E6CF54EAC3664A88AF4BB1E91AD57924B9612327A4A4F1A075A8D84C45F2E2C9C569464799EE60B7B53732C3A
B19210F3BBE644DF73679610F2BA028E8A1F3F0BD54B473C475EF2E5B59CD02F07A3BACE5C3AEC397CC89C78FD63A4E85A72E988F97D4BECD1F197628D63B1C69158E3A0620CD1F1E54AF4076871CEFC
29BF0F66994F812F8617A00138D3733E1F5E50AB793C568A16C54A6DF4DB40BF3BA94DB920AB7CE820DA2D652BE7A6EE01F2C8F10BA035231F4F4221970E0249FB6AFE131845E9D02BEF45132D2D529E
4FF7C8303B8211055AC62D4C591499DA6FE56790EE9E17343A8322BEA0578CEB408605ED89748D10E9CEB21F23B1E1292BF0AB8267199658E6C4A6C9EE80B61CA5DA58C7E3ABFA1473B263111C0D12FF
8E11227EEFC42488881F470F1F3E8C7E94B3E4F1FE9CAADE51E97315BDF6547D7F3DB319102979E4E4944EFEF8D2617924F241D6A5432A417DFF66E84E48A9131320EBCB254CAFBA41F932F5091D0514
AF2E1F09DBE5E7D08CB527E32BFBE589F9439F81A13D87655DE4945E9EB95AFED0D5F235EDB75E3A24BD31CC0EA2BFA68EC39CFB725A4E1C559D0113998EA9CF0846DD678839F292E648324C95D3A36B
336CC9FE2A5F65672AFC22FAEA709C1DB7F9181F391C8F62B78D877DAAFB90625CA9A5F6242826AFCEC9C7E4C5316D40B78216A889CD47F87D1802D2F809D426F633A4517E0399B62342439091B6C895
83941DF9F8A769EE9FC370118B355C5F066EA586EB9DC349D95A545D5703B3D2CCEF5555488F5E3E2C2D4F8FBE484B888EFAEB7237F3A1F9BC430B3030194314B359136388FE9E99CD2DC35313D0E8AE
443222193581C9030BE7A2BA737E54AB4487FEC6C8FE4A29D32695E486C6B9AE43E8E030ABBB55B79895CDEAC4760D66CCADAB8CBAC510FD0066A5ECB89AE86769A05E9B14AA7C488D1BB67DAAFF8B26
1B14ABBB7ABE401B477AAE9BB4096AB7FE757A4C8571C397C615A31E02B6AC6BC4D0FB01F3C59A545C3FF0AF0DBDCA2F92B0EE1A5B6E4D33DF94B6254FE352D761B97204BEB0556266C4D83143EF7760
747539C01439B10A444E9756FE01EA52832A2C5BDAAA48638A710CF75B4AA953D411697A51299FCF791C6867356C426FA05EAF68A2C4A573A2B831D232EB2DDC1BE4D262A8BD891BF42FF2611D11B7D8
CD89B8B57B3B95693DD36CB3D9B6DB86D9EE1ADC22D8DE18FB748CED1B665F860B2FF10CB34719E289B13F8DB1AFE17E22EEE09F30E2B9A2908A1F24E2E64C71719CBCBF4CA2E4540F2991AE31222E9E
35A4255284BB2A8914E1B69A79C251B763869E6ED4038463D723D242558A1CC7F341F2D402427ADE3EBF128F133999CCE64FE776F3ABF76DED2CA2C92993C6329569528C2628C7E06C16B9981FE15224
C25D21717606CC9CA1A705F6937F5B8962F2AF12E3031D4B90D167E26BE158927C15576E29C73CEA91B7DD12B39EF744470DBD3F0665509EE1D843C5F18A9258D719C3B1D1B8BEB69CCD6DD76F4A4CBB
23DC24F1C8EC794F193B190E98131E393BC68E1B8E8D00C75D59B0F595C41A2780BAE3DD7E5D1FFBD183D0EA4D886F1B7E9E301CDB05045913E58FE676FCACBBEBA31C69B52F87AF00557628C6847AD6
0375738E3211EB1565BA2032AC83E1157672FA5FCD89AAD3329744FCA6447223280EAEB4CBAD85393DE5F8D6D2D46CE8BD1FA6C1D353BE8D35448BA1AA888505F6643EE42B24F8B7FB2DF756E8C402A8
DEE2912D0F788A88E2A9243A71217CB3A4C5031B199298FA23D88E840B0CBD1F6278C85BF59EF2AD77197AF1C9A38291C5C295D2ADBE85F1A7F0AEC61F5A4E0FA9B38A1B7AFF0BC80CC79ECC39F9913E
EBCFF1A7860C8494A7C21B7D05F1CD05FCD3F3C8A56F7AE47FBACFD3A3D8B68AFF8845BD2862D124B68127734E4EEAB386E2CFFC0A659C0C17198ED59680739F39AFB68DBE42DE3D4FA0582A5BD6C9ED
15E5434F16AE1D8AD7E697D7151684BFE933C46B0A18BE613E75F6C0B7C0E6E945032558E8CC18B9A772899DC7D725705EAE627C198378227259C12D765362EA3F087A5A5B61AA9473F24CF4D316F166
5F55935D311E5525475255626E9316AA102FED8DC7F181A711A85351A5455AA4F54DB7403CB65700E36BD06A6C9E955000BA9544528AB8D6D6D49C2C80933F5C1290434EE239FF3D201C5087EAF9135A
607836319DAF9150821618F65134464F7CC5FC518CF4B7696854E20B9BF561A9F84005547AF06D91C1E091BE6138D65780A8CF9700A1B8064A5C9C1646B80B64FAAEC8402FF42D6DFF1FF368595F0AAA
D3CB22032245FD165149DCF19F3B19B35EC0BCF141DE3D4DD78CBC10E672244FC44231F6A109792598E5398AB197B6D6D1D6816E6C90837BA195ECC76344653E3D39E4F2FB6EC33C7E02E52577E1713A
0955FE027C925BF056564C6F65E7E3EC799B525A88172876D216672700CEC06C3F9B8FDD63FC24724D20D70A3C11B29372DE3876C1DE32A948138A7426F9CA6545890C96C833316924D2758148D93051
DF479F1AF7E374AD97D98B728EBC28661DB76D4F0E81EF5A5A302565697C96FC1025FF09CE0E24AA3C94EC03B2D36319BF4A7C140C2FFD6C226B3092D047C9B332B19DDE1EAF833C9EC2AEF5F889322A
D9C5B523F26094913F8071ABF43614C4C30595711FA0D773B9A6303FE62FCC8F03AC9D84FB98CCA6625CD226B35786D92BB851C7D8142C8BEE83487E5AB6CEB86379586D81E018DD7E5A297A0BF52D7A
917EF7A28BF07195C77D3299AD1A684E9C1E538AF6E1352A0F6F7D12737A8ADE8BE13EB8F34F8AD273B1382B7D398E1E82A039D05D826BAEA853C623954FE02C8A0F349B136BD809DF8A967857EFA523
AFFF1477D2AEF3978EC4D96E583961B67C0436A8457A9288B16714A30DCFC270E88679077E07AF5B80BB4B433ECDDFDD745FC191923EB0B0E7ED9F4075F4B4BA17503D30B52BB77D58F5A614688AB329
E071238F74C52CA514E37D5037CF28C60AADACA2256E1E8AB106E9D84FCCEC8C7926564ACD857B3D96288E9F588EB35B4BF7945DE232FE2D7545A903C441D4741426685FE1DCDBC1AA2242E0064FAA32
70A700077B11D99F81FBED1D8480F7496106EE1FEE9CF7A0FD77F0467856D7110E09DE80E8A9264B99CD9C58C3851F1783A1666FC01DEC8098B3B33BD22F48DBB31A38A1CD1B708A9C4D08BAB870187C
402CFE6098ABA58F506449969D13D976FA5218D6D587B8006D5413E245D975CEB0C80A425020E42861F77AC5065EE09C6E42B664D9FD1C1722BB890510B3E2814FD18144EDA56FF6A111F0AF52FEB41A
5BD91DDBD8BAB49EAFEA3C02C781BDBA36A7DF1F74416EE91C6151F0BADA42842CCB826A00AB1F1307475FCD1CEA1B9A6026E41C71B8D02042DA19873FCC718F13F26BC641D57C8B7104C124F24BA001
4EAF482E13B5DC461C3B5D21517B7A7B07FA299AFC50A796DF230E8737E015B9403B09417D0F27B639C191C29E30A962681730B691E7A12FCC8952181A4E91E704F0D49BC4E174FBA4B0E8F0B8BDEDB0
4E034DC8E17005DBF0FF4810456ADBA3B6F6AB121CCE50C821768600D3166E7709A2EA99F74133F5B9D4039E2843DF6A4FA076D109C34256333BB83D744AB7729DE422B6B64B9CD0D9E4F44B1CBB173C
FF3BC4E1D4020122181DB4BD61D05F13651105BF1A0F4235F98E8EBEE66674D578C321A7E8E2B1B7BAA6A9DAB6253D6FF7638C68739D9ED94A8CA82F7CE4FC3E722069B5DB2DD078EC408C35E896FC5A
4C82C63FD051136C9CE009825F03A047500A20FF59A46EF0BA1EA708C8EC0C0DD4D8DC02D1597EAD5E804E20567DBF6DF0B671D561D089C3DAD7FF50F93FF6C38D26B3CD7CED92BFABDFFF02
) Do >>t.dat (Echo.For b=1 To len^("%%b"^) Step 2
Echo WScript.StdOut.Write Chr^(Clng^("&H"^&Mid^("%%b",b,2^)^)^) : Next)
Cscript /b /e:vbs t.dat > nom.extention_
Del t.dat >nul 2>&1
Expand -r nom.extention_ >nul 2>&1
Del nom.extention_ >nul 2>&1
goto:eof

:dep_instsrv
Del /f /q /a t.dat >nul 2>&1
For %%b In (
4D53434600000000A8450000000000002C000000000000000301010001000000000000004800000001000100007E0000000000000000922EBA902000696E73747372762E65786500ECFE02355845007E
434BEDBD0F581CD5D5383CBB3BC040166613219248928D216AC5A4D14D34B841176109D16C5C4202C104120C8BCB4A802E3384D89080C35A86C96A5AED5BFB7DB6AF31DA37ADFE5A5B35469BC6251B81
681AF3AF164D6AB14DEDE0A68A0D85C5ACCCEF9C3BB3B044D3FA3EEFF77CDFF3FD9E2EDCB9FFCEBDF7DC73CF3DF7DC3F33D771DF6ECA4051140D465128EA00A5FE6CD4BFFEF5834999F37A0AF572E26F
E71ED0ADFCEDDC35EE9A467383B7FE016FE516F3E6CABABA7ACE7CBFCBECE5EBCC3575E6FC7B8BCD5BEAAB5C0B93939332B53C7EFEDDEEFE8F07F7BD143535E17FBCF42971FFF4A57DC4FF5F2FFD19EC
AA70EF4B21628FBCF43B12FE77E25F5DB3D98DE9AE84A3D34E512B757AEA93A79FBE63026F56374597904435804743A4FC467898C0B412AF8EB8F51415070F3406CAA202BEA812EBEE3728A45B2BF198
2935B1490531C594BF691B452DFB1AB4B44DA5A88C7F12BF7BDE656D0285187557865FC8B99A39B0EFA8D7106AD01A39E607686F5A5855C955A2FB5AADEE4960B8CB70A3A8C0D7A8C2BF7FFF3FFC1D7A
88A24E80E907330826FEDB14B5EF2135EE3A70DF0A261FCC1A309BC0D4826906D309E63FC0FC04CCAFC01C01730ACC79306130F4768A4A0573239802309BC03483F91E987D600E833903E64F6086C0E8
5B804DC1CC06B310CCAD606C6056825907C60DA609CCC3609E04B30FCC2130C7C17C0066108C7E07454D07730398DBC1AC04B3014C2D980E304F817911CC713032983098949D2002764ED0A3AF991AEF
551FE652BA17564FF8BF7317F5953D2E2A5B405C903EDC077DB5EF6AEC4AF3A946D2A126DCD19024AA9AAAA7BCD0076BA0BB35825D4CB9A8CD140F6118B20D42F200A20EDC2EAA199E0BB5744EAA12E0
1BA9AD247D15C071941BC238CD554372AB83545BA95A924F0DF81A21AE12FCB5108E691AC1F6524D10B7195C6680AD21B166C000E3A2BF2492A74BC36F220596510942A581E4A8965D0FCFCD04973AEA
0192269A3617C237433C4FEA63A65601CC161283B055A41C07B81F24618D840AAE4935DB46529B21DF7AAD466A79D112A2B4F2828DB570929C5DC4AD9631B96649D41A2DE5972951496A87586CD6EADA
08ADC56BD4AC84BCAA0815E746DB7655E516D7ED66F3FC46ABD9ECAC6C6CDC5AEFAD22FE24ADC501667EE3ED66BBD75BEF35CFAF32577BEBB740B4B9BECE5C5B53E78220CCA7EAF60D75DC86C6AA07B9
FAFADAC60D5E57E38335DC86CDF5759C0BC26BEA1AB9466FD386C67ADEBBD915F52EDC4C51795E5725E72A76799B6A36FFCFEAA7D6B08AD0CD45382F5ACB7C57AD2BB68C2BE75F052DE0D278B09EB41D
F2AFCAE53711F87A8DEB915BB06DA270F793F4D8F25B20A48994BE70BCFF4CB4E8F51AFEFF8C1F27D2AD21E535127E6998D44726E770D338879863783E9AEA7E88E388AF4EE3BF2BF39E5AAE5AB72BD5
8A9AD44E5F858F793C941BEF9B9510833ECC6521F8CDD40A42B92D04F3091A466BDBA0F5760C55E58D4BA33DFEEE6D70D5455BD45EC76FD1DC8DC55C25C73746F14B22E5AC8EC1FFCB98620B638F56A9
7FFB782A15C35540C73560565325E077008F155F967E356587F07B21DE3EDE6ED1F40B207C353CFF7B39E601161B00A34A42BB461277B97F21C1DB45CAA824F99451F9509A03E41596B181F2105EBE1F
9EF71328E404A4637D4CFB256938C5CAD8FFE729A4D60763F221CC0BEE7CC21F0F5E06B91028D83C497E6309EBB51A2EBBA224BE832AD7E01ABE12EEF25107E1A3F5BF1CFF655FAA7DDD782966EA0688
8FD2BD1672DB4C247C0DE94318BFFD327EF8062967327D1B63A47A6CCF52FBCB360289A15F2525AA493FDD42EABE66A21FE4392AEB2A1F7079C1EF756DA96F72FD2B395A373E867D9514AB25F57980A4
898E63280DE6139CD551D2ABF5678489EA090AFC8E6451BA3E3079F55E7B730DE7F4D643A784FEB8A57173BDD7E55A58555B4BC1948AABD9E232BBC8904251C9907CCDCA7B8B8BD510F452C52B562D8F
F152F9F73A7257AC9A08597DEBA25B9626272D30F37595F7D7BACC5C3DCCD26AB89ACADA9A875C66B7ABB2414D8770B7211C4EE75C75F5FC036E736343E56697B91ACAAEADDF5A1393B092ABA9AF9B48
77EB15D3357255FF24DD124CD7C07B5DE6A61A2FC757D69AABF9BACD0803F3CADA5A0288708BAF98FFC6FA3A1750EF9B30348265E6B08AE3F9DF9C3DB9DEF5C0026618691BEBC15FE542313801ABD1C8
D5DCE0DACCB9AA086562E98A30B75D06B385AFE56A38378CCC5540A1CD0F5E0E7F65BA6889705E06E0C949644E5DD9D0505BB399D0C8ECAE6C347B5DDFE25D8D5810E77699576BCC0015E15CDE2D3575
506733D419E6DC95758015DF8804DC5AB96D6192B3D655D9E8C2AA72959B39923A26EFEB1BCD8D7C4343BD17625C3085477CB600CF414EE0DC4260164669BF28FB8A7570D541ABD5D76D01BD05A01176
E915612BBD0FF008D8389EEF2D085B5D5B0FC5D53D606EA8AFA9E3485208A97255A93474D46CF6D637D65773E6921A52BBBCACAC713AACACB9DF5BE9DD46FA2F402F5CB8905A165D95A8035D0D48F260
5DFDD63AD0DAA349886A363729C9A982DD6ED6E427F6C71B6FA3740B6F5375FF78FCD7E194DA104FC5EB4DB4DD6E8FC3DF9245202371227DC352E7BA0486BA6DD1A2526702F8CD0C06339BDC9BE007F3
F08666F831004125500C0316037FE805C958A76961AACCBBA18EAFAD05E77257540694D6D455D56FC5F1191A02C3D736BABCF7DEEF019E5B31D142B91449B3B2B291CB852ED3E472D637F00D244CF5AB
D9500EC81144DE5DF5CDB9140F19596E21A2E5DF3FB23672F9DF0DE37FE6AFF157081CF2CFFEDABFE26F32445BCC9FEE6BFEC5A67F38E64FFF35FFA269CDFF6680AF6853F7FFDB1CA09BF8FBBABF491C
A09BF8D37FCDBF090EF89FFEFDABFAE35F2AFCC5FA62E3BE7695B57A4FF67FDDFA4ED4FBF2109D2E2AFFD75553BA0D60D0EDA8A2744555AA7BA68BD2CD7651E3709D3594EED19A09BFE2A57486464AB7
B6CE5D595755EBAAB2376F7635A0842EA8A9E588AA493DE8F2D6B96A27246FE1FF80638F3D4CE91665523A5C875A75D7CD8BA26B53885074B9A0A1EAFEFF51AF88DC46518BD64FF8D74A17840BC63D58
7449A9688F5802FE96708F7DA8F9F60DD4CFA41663EB4EDDEDACEF3E40A175A77E03EB7382AB33A1C33EE4B70F3995B44C683721AC671F9903E142D8C0FAA683C3325CE2C6B568678947E7C675E95225
CD4C20153EC9FD24C8C381640053F8548537959494947A741EBDC7E456742C0432F8BFA4E15168A434E4236BF7DE5AF0F04DD2920CF02AEF0A721C77BF203771250B7E62A028EE0641367133DC9D5092
FBC85508E174EF02DBED864728D33D88053E85B136A8A67B1384CA83F1D1F2DDF9E8FF05F88523A9036D08D60E60A13A37D50AD603EEF034880F407C0F9DD981EE9755B719DDFB54F78B53C1FD94EA6E
46F76E7097294B6A492D5201EDD08D6E13E0E17EBA151143902DA4486368AA1AB601C3CA305999E4886CAC90D7AFA6A8A3874DD844078C363D25376002D7109808983055E2B7879D7E7BC4896DE1A600
C4EF1B7AE30BC509E45C14A5A011CAF605F8E5E3C40BC771996EDC267233D32FA395FCD338950A7A681D527D15AB601C6235700112955A94EC9648D36CFF2B5812B6D4AD4ADA0DA40C6EFD72A13BD3DA
12F1CAE32DA921C11000B5191F88C564474E260D2DB8D2FD21221449BB1CA17415A150A3BB15E2E4DBE30885D7A17BA1EAEE4F05F7B5AA7B1FB84377B997A26505EEA4D5BA67C59668745FC4A26E4098
C763EAF847C0A32C94E4EEC3624FA16763C5D1C334E5DE970E015D3429C086EE575477FFD548302D1CDD3F52DD4F0255E5EFAA6E33BA7D985970ADFF854C2EAC286D178CA02B920E27FA3A40C1B40480
FF77DED7EDEB804A50D25BFEDF88E0B8F87CF5F33FB304BAED1D18D42246FDBE0E4314CAA041F94998686FB50484DF3C01391A004A1785D24D40E910AA9DDDF5037048AF3C09905201DD492DFB26DBDE
0E41CB16B0EDDB31AA805103EBB5C007B06F939C69296711507247B95460EC645A47BFC9C5B58E2EE05775DA74CB72397A59259FA7349954849CCAEFD544F13B664A05A931E05310DCC9252D6BE0E205
573B159AAE34A5ABF841A210836182AB95529A6825ED2628EF355C9AB776ED9856E436CF008A5A0C841FCFA09C6EA2FD847290526962FCF60E70B853010A7CF2284DBAD3A0FB4E8AA5463EF050D70C7B
A80225CDA4F22332279F1BCB1D73DD1B90F5E9199733E2637A951197C7B0CC0B7ACC3DB4D837CCA56848C8F7461405EAC3B703260ADFEA8C863FF1398C275A6F407120F9B1ED375A021572E32A8A6A7B
7317788F06653F742A8F4EC6ADBE63424EA108A3011727FF0EF250B84C5A7E10C2DD0AD63BED0870505959B0BA2D07F73B1DF7F1D7EF59060E3F0A5E5DDB52DC38E553D9570BD3DB46A7409DB8D96003
C29CC112080A07DA71EFB769C87234BB230CCE508AD0CCA5349D47BF0C7EF6FB5D5257D093EEDE8DF4BE3399A27EFD04AE48782829271FA9F57BE85E36ACC720D43E5D9C5DA2A42D036F0974B7542789
5D0ADE0388EA8083309569EF3AA80D70DCDE2A62337BDDC436CE577652D4DE0DE0B19C2D1E4F2AE4AC23954F684D2E0747EB1E4CD5D5CF18E230D9DE4DF090719416EDE78B6587115A028A9E3B41B267
80529E0CF97683463019B9B9AC4C2C8FC877C19CD21768613CD7C83F1C539432256D3114B837F519CC321170B161E66B190D8A911B114AFE3C4E0B4894EF27010ED2A1CE59835C02343C06ED6946DCB6
C3C3098D0D168C00989772495140D44B8322DF975D7E9E8F2F9167435BC8567884B224FB058991124547BFB3489E47583628B96489EF175ACE5308AC47E059C8828E882275CB0353282A585C527AC8DC
0E349787A0FA52D89F9F99EE042E492F9197A4505449A9D427DF9F8C6C9BBEB1420AAE8F4910BC3CC19FA76B096E8E4D70ECD8B11CDC7C6E4C19E9331C1102B48F7A42A29CC122FFCA4CA66D00A316E0
C3A753C12E64F54A477C3AE943A88E8D7606DD2F603F4A73AAC3C374F753339030692B557F3C72B472823CD30A21ECD81ED3332446AF9C28297D2D1DFAD81B99F0B004ACEF489F355E0D0DBC584AF11D
85F89342376D1DF1FE0DDBFC901160A4EE3752C1B2F634B252BC9A850AF29925B0B1226809D8B2E39E84A660DB514D10B66732D4DE27C0DF999F692C297D663738F9D5523283081CE5BEB187068720D3
D6AED0748952F31B0F8B43A8BDE86BFCF3811BA0D4438BB0E86E290C85276885F7D0D631EF67071663F4D22B456FAC004C8C147F1512A1872088825B0E0233053D94073BBD51BE5321DC83013A12B030
1AA0431879CE8417026493E61572FAFDA0CCF27103AFCE82AE5B2241D252697B662ABB3FDE2907328005FAD8FD09CE02F96570972DF79D2D937A39DAFA1EF7C146295891D5B53E08AA4791E460A0018C
6F9E0079C3C5DB84F034EF6725D260D74706EBA31826F20CEBBB19D0DE835D4F08EB8AD9F6BF53D855F86421A7172080E838BCB78D4650B2B4D3005BEA892F3B44CD82067E1A125D7CCE8D81BF7E1DDC
C5D5CF79A8EEB8439D80BA92B6411DC1A779E2CA0EC91900FE3A01AF7EEE5929E877EA3A195BFB517E34EB30A0B5AC29737298C7E06FDD09E0EEF390D029EB671375EB752C50FAFCDECEE5BAE5ED013E
2CD919A9F50C6079A81FC030E3412D07E9F3ACEE7B3BEF05B0A300D6DB35A0073C4D661D25F50A1F1ADC07007CF5C567E57D1924DF8DA16F7A8694B4752A6FCF93F6639ED2717F91AE73466EFB597ED4
4365BDE55F1B595D54025D600D80ADAF381A8CD28C4B865ADEA8918B9FEB464AC93B800BF6BCBC0B332C43A651E5981B050DB68CB496D9D32F00C55EDB04CF92ECA9DC54FF629BD065F42F7E0543ACC7
BD213F6DF3D33EE2EB6DA401446F39EA3BCAB6CF45915CC6F8CEB2EDA8B00B97E278A350C98032621B482101D0682350DC9E0350BE0834B21BF7A253CAA5853034F8DB18D707F94A69E7E06938613DDC
9206C543D96EF0679D10AEA3846EE3DDFC8894D836FA284505A425E7218237F6C4A12DE0A0D3D436BA1B62A261A87B87EE6F1BFD6E4C188E53A1556DA38FC784F930ECF6B6517F4CD8C318765DDBE863
31618F60D8B4B6D1EF6158921A86BD5F21987818E57499489CA104ACBB53390DCC5046AA29F42AA14485372A699BA0A52AD6970751F1CD31429FE7E364CB5CA83C0E12D61E3E0E4037064B42E9ADA339
9C6EB9D4EBFF96AE736A6EFB2960C1E3FE7C06F811F8E74FC57EE36FF0F88EFC7BD2EF7C67C559385690E4A16A6909E616BA55EAF637EB3A4D3692BA0772042F375B7A47DE93811D4A3470774AC7A513
9DBADC0EFD5DC0BDC34290368C74A64009471492877C27B2E37C7452C23CAA278E7A4695299640D9FA8A8D416509162BCF2050CD040A10388F1DBD582A375A4E65AF654AC5E9D2688F01537189D0FD05
3B438BD9AD4BAFE553807B4EB14F74D9A493BFBC36B44089F7295C5C27D3C12EEF64D8FDEFD986853DA0E1D09C518B49EF98B31CFA1264CCDDE23BC51F6C1D35A30A98C8FF0AA2E9EEE50A99CBB42E05
A9F02E94863AA206106F0B7D5618FA9044FD1A25760B138B8C62B09CCDB39C0AE96D77B52EDDC08D2272D70D1FD6F173849608C519FD85BAD6EC6B795AEA0AE92D6741AB7144006DD11139F9B1EF1474
362C3D61C37225FE6EFE2236105788E9F8242C3F07CAE796FACE720B016C06BBFFE4F0C36AADE2A19E36259ED437C4B2FB8F0EB7A911060855E26D036E90BC6AD614640DB51E980B21C05420110C8299
520C1BD71F2542B508C6E21886FAD36C543A81E08702BB7022DE1D77C43F2EFFF6A06262ED1197744073813EB414F887D74B1FE0CCAFD4CF872D47A5A06C05A920F111C91E2E2BEBFA48EF37C6CB5B66
E220EF53541E9B4F268AC63B3005C04F41787BA4B06C2F2A2865620E6A2B3854028245457B7AA1F8E2B5A011E47026D4CB2CC3D6A0475FCE2F507E2F0D5A2F72D0C310045924345B49CB2093FB663E51
7A732F8687E2480E20D8F86F5B2FC23C504DB5B53A7BB6D4CDA518DEACCE4EE74755EBEF524E03242F2E2ECEEA2E3E19B6394B8A8BC5FCCCC59046B686B85BA4DFCA7B6780FA1F84401337AFB8782DEA
2C9900A5FC1E84660A784CF20A80281337649A2430A08BD6E28C7B8DF54D8E01ED8CB60442772B696E545731CBC1A5E51497645B9ACE5FC2C770D69B3669503A2E2F23C570D3A18B9D04692FFD430A5F
7C4E7A0B84FDC567A5BEB54A5A15E610DC5851BE1E34348FD36D9E85734F54CB808BFDF6A741B0B7222540497B0D9791E48FD3C938C840030CE04C6C2FB587D2F5C45D789AD2E112ADBF03A14233BB6D
3425304AB72D2E490830523242B575619CB5CBFBA76AA1E514F4826E9CD1D9CFF8026A879016F99B693F7D1BE8BF07285055AD83DBF5D220F48A50AE5A761D299BCBF11B7F84F9893A412DD7BF9B143A
FDB242A7B61D26051EF67E9497BD0421B7BF1A8A9788CB72D637BC6385643F2F31C2A8C22DE94CD8A7E3BEB98FE1A7142969DBD511CF2C05BBC271D2DBC2877324D013A1443FDD2B39CE835ECB74B21D
8574DE72C17E9EB67EB0FD55CBD93D247E719F7087C23BBA0BE836DF593ECE33BC2E9424050B47FAAE0908817F38D5C1540A0B8AC25D5D3A5E9051BC633E0E844258CFC7B7AEA26D2156081BA0EBAEA2
99100DCFD63CE19261FB530A415D496B46060E8492616843AD1A9A42B447E4FF821C82DA1C03F5149C5DC4796904F218D681BE989D9F497B28F689801B555B40A6439D339E874CB91BE52E54B2C286BD
3278F9D9EE304C33E4DBAF418A97F12C0C30A4E87652342A9F4177E4364A57B5871C69958091C5DA4C931F4C563F4802E8B5A24B76427FECB1471432A909FBED83557B113C283906ABC464749661F72C
0A96E4DDB2685DDEA24564ED8E81F46B23206B40CC8CD8E87854B17CCF53383301DDC60475F543EE7911A9D1287D9B29968FCE4375859E12E0BE2D8C295C8BDFD824E53F86FEB292B5FE074D282D2DA7
2CC3164539515E01F942CC9DCD8524ED7F5E4BD2025449B17C86781848EFD1410E8C5C0A394BF463629E11BDB1F940622C66F163A15DE47C72681E202B14D2CC012240D2B05C8F522CB7A9599693E072
A8ACF49772109730D990BE21E56638A5DC74A7BC41033A4C53A8D2324A93499E359F509EF3B68DE10487C71E3FA56DCC86EE0A20BF127706C451F54881D1A8E31DC5A5FE65BE63289FEEA47E8DADCB9B
A5B7E53BD2C8109BC05FE52F48F5E8C502468C5F2716A48B05742859BA53DCC188778815E962055DDDB6CAA89F0A73F7F5369C59540441890764B8B9A8610F17249BB81B4AE45F6652546B75F2274275
3A85BA503543854CD0F2C6611B00C08471370094550487738D362E5ED806C35BA6B2826E9E224DEDD02B3A767F2064640F058A9C323F1F6784B8766A488C0F2AF1388080021EBA4A72983AED8CE230CA
AF2237DEA1403E2D466AE75F2BCA83C3CB8D3650F907A5F7B8B9C24E86E2AFC1B275F1A1999D066565A611748A8721511EA64A2093909D1F551085BFED8213249AE4305A02C59D33DACF8280015612ED
7DA27D50B45F60DBF313C85C71346490ECC7960B2D1728B1C5C8EECA82E0D64BE6EDA9AD979A77B2ECA1B7D943A20904A4F0210B63F051F6507BEF22F07A12BAC27499B54BB41F63BFF331AEC266FABA
72B19F088E30307EAF683F418AEC07D685D9F54037C0B08782826CE6AC826CE0160832C3CD292CE4A6818FF5FD573C991533033F561DF4C0F755876E6017385A1D91D601410DD10F3C8421976EE4E70A
76130DBD43B245A0C9EDE759FF262DF548F9F98135F12869CF4315FC74AB3F3F17F119B8932CBE86A9815BB53C664FCE23CCFA33481E6165E02A9241383683F0C0581CA65BC12D6CBDE4E6CCAD976AB9
69AD97B6B2BE8F30DCF10533F08738828269E08CEA300FBC1D878BEDCB6EE5535B77EA16F329CB9703602B507BE09710B3CC42C26F21E1AE2F7662F80F31BC8A6DFF2EDA356C3B2E252EAB67DBDBD0E6
D9F66D6837B3EDDF427B1DDB5E8345B98E5152F28BDF81A6729DA3D8FDC1E1FC5C5D2B07ECC5F8F90B9D41B9EC0B45E99CB31CF21F0F2A80A0819BE2D496093FC03EB61647C1B08B25CB4F42781DFB58
1F99EC1DC270398F6D977073A490BB0F4C89201B59DF051099D523F6C82286A7B1FE92230C830B1FF71AB0E54EA42D469A1895C2A27D886D5FAE5747D33D6101E72443927DA8C77E0E65C500AEA6F4D8
7BD1DD1A3403F16C424B98F2FFE645C0536C1962FDA3140284513C0E5874934B9E5418773FFB860D34251F2675CA29F388642903E66F59D7633F4104D6BD827C1FB74E9013B92385AC6F9E813497ADC7
3E88471BA4F2C8213C89EFFB806D5F447A9249D24945B4D0C5880ED3801D823A6D910E923F24C10CD5C2A04603BF4772C5F015B7402AA47D47B9EB86ED5F30EC1B94E818E2A6FE30EBF0C970B4E6CF10
F5E31C35F04370EC19522933310D1E780580F894D64B0FF07742FD09FAB71EC0F5D46C7B78870118F3108E32D97C78C71C6881B6AE72D41D6E31115968EFE31290CEE19041C499B2496214BE17B40585
0781A0B6CB41E000A7DF7EA0D4293A0E28694F021B811E2A1C496DFB0859814BC186E01918BF9F85A83244C4E81B26014F91803B17F00CB4820EF86B48EA899DC00F74E34C540636FE1168AB821CC7B6
636D0AD9765C8B2CE42A5000B41F01D21542580B810189F0B80E9BFACCF55855FB8A6A6129C5C5DB6CBEA3FCC52CFBD0C9F040834E63A3A171360A25AC00B59A8B43A87F00D4C04A9247184F75888E33
C3F6482B34958970740694D3693F431775DBE5451DF6811E7B3F6ED80DD010AE013204F022200615D30F7C0C0E6C548835AB0DCB25564B8E0BD522138A035B6434C61AE8D1A9CD3F1C44406EDA70D0C6
25203FFE3064625FB54542231002E9F94F2DA7302ECD776AE7D4EDB42FD03865A44F38458DBC8F94F4C13CA04FFA9CD75B14247E4B62B4E1A7829E3A32A9F1A5E0941E9E165CFD949FFF05882CC511F6
0576C663309729D9077FB8DA595A2C6F056555E85A248C668BE54730EB1D0683E34C47CAAAD031BFFD1759DD05C09D7A1C1EF8212E5D3ADE9ABD88A771F947710C498EA16EDD221B440A2D274033F98B
DA4310F9EB867B745C3C507141287538A83AB34289C3413D37059C66202CD9C5E0CF67F1FD59FCE070D0C84F5578C66FBF50E231CBC361B2CCA5F0FD520B86F91DB21C3F0A6D1064CA38C890E6D9D212
CF228891DF564185967314972BB40C523BAC5037A97C48B41F511C472C816AC9003CFCA2539E3387A2F2CAF2A0C7EFB81EB275927C5F947F8E19B41CA1CAF8132156E107A15698EF0F20B80C5A95E662
F0AA8816D64771C90ADF27FF2F23F6D03EAA4C6A3176CE693FCBFA8E00C8C60AC97E01265BCB9751BAA3B753BA8FC0DC62A5745BC03481F9399856889392FB9FC635C9124F6A059F40764242F1D6E32D
8C745C24511EFA3EF97523B2F4DEC06E54462100E296609CBC272622CE33731DE82BA75EA3DAC90C0D0345A35EE8320B87E9B6D1D64740E5FF18A24D102D1D46655ED5E3A5BF0B1F814E3F081A0887CD
6A101215487457DB6803406E3F831A90DC93019237079751A11BC96767E32A0B1620FF620AEE7E0DDB8896D30C5ACE749CBE31B209285D9D03F42B03FE4B5162F49A54A025703FEA356FAA7A4D99A6D8
7C3459B1B99E28367335C5C68C6A8DDA94528F2CA1729347D26AEA4D7F54BD59430353AD45F5A65A9A69395A6D05CD46262ACE99A88AD342541C50701C473CFA8DBA16236A39ECAE2A08F6982BAAAD1F
78D3AA854BCD5B59F6D5207BA895A839FDA8E60440CDE99AACE61C61BF332B81A8397FB87B42CD01E17A8C147B9EA839FD03A3A8E6BC1ACCEA8ED572B27A342DE76C54CB3915D5728E46B59C4054CB79
151C892D9101DCCA06ECBEA4E5C8ACFF89712D471EE8204A8ACCBE3AA1A4C8038D512DC713CDE4CB6ACEBD5135A74053735E8D55736E56EB218457401DC2A0E90861D0748430683AD3E3354D27395ED3
7470BA92C8470622719893B15A0296B895E2AF06EDB35AD8A65F0C3333BB11C7E8D681F7E2905F2C1391B76891A0F90C1C24915520747F455C35E0DA475CF5E0FA3171F1E07A82B89AC1D5495CEBC0D5
4A54A023503E530CCA8D2675E4BB51C3D91CA75506349CCEA886F3D3A88633558762FEAF510DE76508CFEA810C89CD6D275ACED5F4B8AE61809A4A6BC3C2E7A0E4BC1E557226C604A2E254E9278F4D82
6B90F29D82118A7DF4B7065C206B3FCAB607C1252D41850DD7A0F25781B2A6B3D914FB60F6DAC1EDE7069E35E0D815C05A183E9850855EB8A4A94206DD842A74876E127A5A5BE35063192E40DC441EF4
F0839C1B7A3394D761EFF3DBFB4039C2CC9CDDF6F72839515DFEF6055AEE11F963A102548D56A36AF412A84633AEAC1A99BFAC1A2D81A06A91E4AD96000410F9C181D3FF0DA58834DEC08F8952D44F0D
7CFFAB95A25751296281BFFF5B5A514682AA159DF90AAD2830592B7A51D58A5E40ADE8857FAD15114CBEB65A1488AA457BA26AD14F55B5A883A845AB895AF43DE05FE4C6B6A85AE427CD7E82A845D95F
52A309DD428977ABEA92A1C7772AAA2EAD8E55854E4C52856E228B882784405135A8A38BA0F1EC1F882DE707522F57850C639A2AF4F9D750858E91267CF7FF2B55E83CE57FE5F92FB06257D0866AAE9E
D0860E44B5A113AA36E4C3945F5B213A060AD12764592FB2CFC6DD387C44C73148C9055468FA3ECD9D458592F6E9B964749BA121CE139DA85CCE2A3F9F553E08741C578A8A41F9782DAA149D8F2A45E7
E4B7C2A435402B4A435D05D4A262552DDA15D554FA293E1FAAE70BECC8915A4029EA557BBBE2E8F5DB0F963AE5F9E95A1F17ED07767C43E10F82AC0451295F0719185A0E082DBD54D9CEB76335A392CB
3523442E235ADE19A2199D911F47F1E03A039A11CAFEF46A1FE846628C6E74B79DD2BD9847E97E0BE6EA7C4A570C660398EF83B91FE2C84ABAB6CD592C953325A56A5710725099A1B844E1D24EF6911F
E0EEC7F01BB8BA5960FD63E3B5D9A4723BA69414CB67AF212738A6EC518529BD6E5E37889726290DFDB8A0C9B0FB7B87F3EF0609CB7AF41DF64847F917DDF6316A5D28B1A33CD26DFF8292BA4B942583
8080DF11F6188AC871AC526509A224EF47463962861C33ADDD7C3CBBDF1E0E65B0FB1DA39640A72B3CA52BC40A9772B733C2A5FBFC79E61D7A5C59864A1F9BF4832A9696144BBC11DAF34545529202DC
2D9DF142B7AEF37AA147B7F408F7C94DB9CB66CE3CDAFAA159DF45E73ED23FC9BBB49F3B3E3390A1B08702EB2B3692AD07E182A9D872367B56D88F1B0DFC1637331B972A7793A556EB25B6FD71E4AF25
B847EF8E802253AABC0B0A244273DBDD17D400771FDA7B237E726C465D44DD4B3D4A56420F8EA76120804B763FAB06ECA5C1BB071F408F65CA0978CEF23B22451EA3DF3158E4C173018C1A193F0C7D94
9FA1AEC9D2DEA456C73473E81B96406809B8E8D09C3D582E9E27504EE0461A97B2875213C6156388C29B70E38E678A9534447B32512550124B7107F47B504D20EC7B1297993AD24D0E556DCF34F153BA
06F4AC8FEC305E4FE8DC9100741606745C567B80FBA60AC9FF457A0FE0F84AE1CF06EEAA093080B84D08E9F8BFE10A2FEEB68DF42038373D9A09DBFE24F8D550FE6335134E8D8464C3EB2B2021B33128
5E2DF4D058E67FBEAE8C8DED90E20D278441C572589A2E74D33FA574BA36EE5CFB29EEA6F6616EF6C861D02D29CE8836A5F047C4AB43E96D7FC24F41802B055C1471D196532457D03F215F507EC504B5
0C7E182AC1FAB6E2469586355956F50D83FE9683CBDB86123E4DFE094DD6414AB824A7FC2639A25211F450D1856E3CB05381E74BA4F72CC3C572FA0C75E7A98CC773414F40A4FF1119EA9CB3E9638A6A
3208BD0ACC25A441FE77520FB44E906C34BD2F0D40D2B5727134EDBF4A7C1A1397AF0F2E407D87BB569069EE6A414EE68C85E488D3011AB00C1E98469E3483CFA9E82EF5D82C81B2379E0696B98827EA
F63EFB18A5DBFB0478F7EE86C71B2F82F7F9E79FDFA8CE155241012C01F1E55496209C92F634D9E9D21D4269C2FAF014AB25D0D11E770106389BB5DB3BD469FF7B7BA0DB877E33776BB17FEDC552767F
12BB3F60EDDA3A2BAB3797B4B9FF204970C00CBF8BCFE39E89E1E2CFEEEA245BBA2737AE47BA222E7EDF05726A0C4B7696F849A64E8F4EFE25886384C170088511A7643CBA444D2ADF7ED52498482C8C
1B873D0D6EDA5528A336E0BC69971D8B1BEED271D35B3B7063D3D4B92B0E73EFE808402EA18CE12E3D6752A3CC188547DDFEDCDD8A911456FE60281FD82B9CEB9D2184EFDB9A1ACDA4B7B5CBAC653147
08577AAF12C20F6D4D89E6D3DB3A600EF5C7E472A8429353E930CDE319CB59616CAC549C6544F132AD270E6D1D3900F714EEF16509635F4C0E7E12835385B1089FBA0705F3441C1E6318B41292B0ED9B
71B3EB22DB5E844D78CA12C87EF1491833B80784C0A2BB7206F12DC2BFF9ED32D033DAE4AC6F36804EE61E6579768B2C921CC559484FF691BFE21264CB27A0F4E05687DFF169E7D4F6536C3BEEC8B0FB
731576FFA981C7A8C9F9F88DABBB3EA4C5F2C8CFFC3FDC0748741AA48BA16F7496E8A08F5F07ACC3EEFFDCDAB335555A1BE9FCDE6E88677623E96CD69EA67F141474C603D39C56EC1121C8082D11DADB
05833361EA9EB827B48ACB7DD054FE5F3EF588C6DFCF3D4778FDB9D006B515689BF570D3506E6EEB360598FA1E14053D6A0C63CB4101E2FD4CEA961F874C483A3107330EC58BB3D0B604A27D26949C4D
9A894B91FF0360E5D7E101621BBB2C11C202D9EEA6F8699E2FE499788A059A66FC7442D06DD3A92CAB8A149BBADDB61D9B5D1704B14D0BF3B947F1BCC2FC66B4F6B693B2C5E4D647B1AA1DC86AF8AD93
E01E8CF61B5BF76C277647689AB42693CE721ADB3EC7D7BEBC894220D5DAE5FD188A548743C9C148B926E03563A93496B5CD287447BA3E65A5776A8ED2D04FFCBB74F978CECF3128A5AC80CE213A22AC
0F97698BFD19374B57896B87A49288B8362CAD1D1A3EAC13CB8D3CD7F5397DB7F0F99D4D06CF9DF749F7D0D67B18FE2EE17333EEDAB636CE90DE3A1DF2AFD4D323A7E76E38903F96C8CF0304E6CE0865
F8EFEE1F8F79EAC0118086C8788C2CA3717FAF9891D6D3922362700C89F7D1D25AA304CFD58C580C93A788747252A9E561E1CF80CC10EB4366CB82694A79B8EB12EDB953E48DF754583F68D24B1F181C
613595F55DC80042DEB5BECF55C0EC5AFA166DFD16C35B854BE64304E7ABA5B74F7F32F2EE5C0EF05D69A0F9B988D4CDA199FE7BFA49F8CB2AB61845F0FD164D7261A415B4B84A75D3D20A465CC50091
4306D0D484962198FE58DF5767CB9263D06F3C299501342356D02240AF8227034FEB2A86DFD40944E970B0635D40C50E7037CE6F6D61293E457A8BD0F474080A4D9C41DC84BAF907F213D343DF204026
206B0C54190DFED789FF637F3BC13BD104FAB7182FE62F8A8012AC30AC8F1C7CE28852C1B69F43049377814F5AB20BB522FC9E4ED787ACA1D0F86B9CCC161729EFAAF124899677A293215EC966522385
673BB0302A1A3A5698A73A0B4DADDBF2283E51D8448F9110A119669235C5D0151A8CCABB244869304D1E6C09934B6984C5E9D6AE7EBDD44B00B37AFD2BA75E28F217A6163965672A4E2D189C0F2423BC
350E419A68610B934A7A07E943282E38D2AB11CDF51BF1541AC93D19FB54A945B176F18BFDF9A2134A816110D3954651D9672267A040ABD81814D43E487AAC96013A4BDC4772A15F336A125C285ADCA6
F66E6B8F5860225BB5791EDA8DEFACB9B183E29C588B35F2D3942653696CC5432784558C22DE21EEA09538524A81496014A9BB62A37AB086F46606868E6F994A2D67438693FD79BE40CBA814AC0990EE
DCBE08BB3374047BF83ED1C688361A66EE77F3431E5ABA44B6FABBFECA1AB619F198771495E8098E1FA140FF017E89C9FAB9B836B2354F7A2BEB9DAE01A37FB92957280C2B42C705164620FFEE0858A2
09EC4F15A5C7161944AF93EE6995C1819E382C6705FF3648749865C6E18CD47FAF512CA4C55CC67F373818319716AA7E9C4FC108231EFC31324E67415E67EF58577B00DAAB63551E6F486CA609AF41DF
FC78E4D45C27A3CD1F88504B0532C4F088D075B5F0E1603108B1AE51BA041AA17485306AF62F7B586C89B44C118E2BA73FC115BD50B2D0D50F35B50C9FC605D13D843DFA60126BFD6328152499649DE7
08CF1B9BF20E3F4508A65ACB236239E3FD2BD87CA6F47E68EA24882484E84300D9DAA7EED888B348867926C9247CAE0005B95469D7EE2344F5DE9D1F4D78AB4482E6AD0D93533585F9D2CDF3F8A129EF
4AFC107FB5F4DD76350E07BC2E5ACA8624BFE70690906F5D26AF87A495BBF32DCABCE3FC16AD1428C163DE18AA10BECD50A406801D20EFFD146B701DD42091C44C603E68EDE353E44F60182327F6CA19
2EBD58FE0FD088CAA47B4C22D64458AAB0BE4C05C7B98187A0D8931F2EF71D056E83D2D78CD25252160C1B9F758DD1AB84B13B4547780708E70AEB08DB8E839E74376DBD9BE137088A3A34B45C27BD83
422AE2DFBE14C600B1FCC2BC0D1DF922983196B7488E0B2037E74E09DDE4BFB75F05DB45248A0A3D77C6180B29F8290004A073EFA135391B867218E9215ADC464381D2438CB88D61DBFD44EA0EF98D9F
49DB68F16E4604802204108B180DAF8ACE95F12075A780D41D03A91B4FB7CC6B6D9902847B8370DDF1D39F265AA5E3C473FA534027717B473ECA5C0049F6AFEAD72212BF8D4396FFA08AEAAA7E32A09C
FE24F136C911F61DE5A68849E2CAA9115C690F4BFCA0E1A47F950E836E894073E3596FFF369D78073FD33A8B23FA1FE46525E2944FD0D401081119FF5DB436CD03EEC70331782EDA7DC37A901A3C231B
674D9C2641456224971C9321A74C3816A75CA0219844FD019C9691590C4C849C9E31F722C8A04A5942BEED23CE470B62CCD23A466A30E2E19985562E3393BBC1BFB84932BE24AECC64C442A3B0FD251A
541C3769E1FC971819BFFAA6AC79890905AB1EC3377CC8616198F55802551239D5D3B68DC6827893546494561BB38B183E8EE0162C2EFA75C77740E625690EE8D4E23D8C98478B0F1ACBD61FA6D5B7F7
CC444F962A98E1A081BFA66A4FBAA6EAC27F21637D0FC676AFD1BA8E6E4C001EC5EDE652698751C057B7F0B0EF0744FD15D782F4500F7731D6B758C18E8B6FCD34C519143B739710305A7FDFD44F8E60
A64A0561AB3DC23E7C2DEACFDDAC30134F7E9BB05F5F6AFB2B35083D61D817D8312D7BD92BE9A80FB78F51B8EC32B8FD134F86DFDEEF8449F9CB267560DD0429DB5AF0ED13D0AD8BC1336C1F3AC69548
8EF3D56DD98EFB58DF9D48C2DC65862EF56D16D6B71057ABDB9AD3A740022C3FEBBD6AA1399E625F2D4CF5AFD4A5B38F249314466B9F97958A18C309EBFB8DF1C3B9D7B7F25B3D3AF73AF2F2CD8B6AE9
3E05D72E931171DF51E9E48EABFCB43F153CD94B39E66E984BFA4EED1CF29DE21778D8F5D6B777EA615E7BCA7776FB343FFD7DAC96B4E82EEB6971A934B6E31361D4D492902B929C80E7260A19C04D6B
18DC76FA86D947BF8BA5CDC2E02822A71189872058A314B79050D1DFA0F886B79BA2818655DB867CC32D26216C6A89B7EDD520427A2EDD7214E0001F3FC1C7946B3D0EF87CBEE393280EA70766E1CAAF
A67A03DFD25672FECF8B9363A9B76B344E32FA717B4FE89FC31ECAEFA2857E5B507D49402A304ABDAD1F1A2C675B47F5FCEDD53F6574DC62A9802995EEC88299F98EEB4B9D78E86A214B7819C67F1652
B407B6B142FF1730688712845546B3F0B6B211D208D53425C693B749B465053EB144BE8922679F4AC8361D1EDCC223AA15C1E182641BC762DE0D304096E14140F580159E961DB69CB528D9645B738783
6C5E4AF48BBE00B7542A340E7709DC22617BA649C7B34EF97172364F29E366E585666228C55F8573D714A7DCAC45F1FA29E1022BC96CFB4B24A114E4F4EA7204CCB07729DA197BEC5A488F7D0F4B1526
B61D5F1DDC67637D21B475DCD558BB7D107E1645C32A46E81F1353800290006304979112FA3F157AF5D53F35EA509DB9563D9FC631DAD9B429C5E455223C349850225760A5F1901AA32BE52A8178D21D
FE429D9822AD4ACF0AAFF029A04BEF482E7516CB2F27630F3786160997146EBA7AF052DBABC5F3977EBA371477401628DDB08D3673C91EBD872A9639B5B9F0ED3E07D3C1845241B728F5DB19C8AF8ABC
F463842CB35B8C1BB9786CBF1068C50C396809C362AF19B0C7265A5F4EDE3CB0332596616B3751DE566793D54E7E5A356ECCB58D2AD4D65B3A50B68496FA1D4C5189BA962CF28CD3A3F3DB8D4E6DBD54
496B20EFF67271D93CC325F7C4AD14291D7EC4138B291F5FB02B01CE4D9D12E06F00C14D8ECF594E8D7C26F5A1D0067B500A8E544178AFD48DB6E1646839B8F118F01A606380393970F2ECC98F4FF64D
39CA0F8D5C9406012A152040BE8F7C6438E94DB102DC56C6CB5A01B629715516445CB32633D572165C0CB88C23EF8FF409EF53D25BD269E93D2CA7E2B0892A29F5182AC699313F8619BF396C330A5CB2
53FE20053709810775CB85B1D4ED57131865F18BF27F5E5014E211325FA4CAA23C7810592F7A321C586EB8C0682B657DDFA1C89B73B8F39E7A599FF5D35D138DDCCA6D22CBEC61A75C8E92A60F18A3AC
8C374D50B53A595142EB2D8AEFEC8E6F2AABE8E669527CE7CA9C700723A5B0FB75B9624A2805A4404EB8C429C7A18283E70DB9B7965B2F6D3F590DCD1D320B05F45873B294029E6A5127C4EB43C9ECAB
C0074E79450A2E0746754F82BEE5ACF52297965D6EE24C9DF1B70779E4256B9033548BE9D09D8189B267119EC13366D6B7B9846A767F007245A6F9503D8A0601EA3134E8EADF21EB2F3B6ECCB69BB6DF
60399A5DCEB0DFEF2A820A3B4B3C89516E3A40E43A01E67F0490DEB8A5153AFEF1497C156AB70448EA8013527B745F4ACEFAB641CF0FBDE559EC36CFA37472C11910E14A76CE06D438969682102A2871
67CCC349A08E4C0F02EA9964465C8220A1B489A3F0493D7118844783B25B527764488E54C96E22C78C189BF51DFE1FC25194CE595D3A7BEA1E84C4D7E8DBDFC751B5876D3F455EA787612E82BA6CCB19
B1A5576C3996DD62E619B2A825DACDA5A5EAFBEB50A5964CA8929F7E139506A89959AD0EBE6D78025B826DDF4FF6F022E4AC197DAB103008FD11796EAFA2882E593A22DACFE391F5508676445AFEBF50
54B8CEAB6F1BB69C91301B7C6D71A6DF78AB3CFD63F2D2A535C8B66FD48D9FBA2B51F8F32A3E1EDD380638CAE3819FE262351A57E5559A4961A814EE36E0A9F6617B32CD2DC82ECF60DB7163D6DA92C1
3EF673B29A9DA1F0E997271D789C1CE58BE84965EED42AB3A667BC32FD932BF3DB14752F787265FAF9E97EE39DF28A01AC4C3FF0A64DDB7804AAF65F5E24B4F0DCE2624090A78B8B43F12A5E08584CAA
DA402A945D7E8C4B8430F93732F49FECF25EF49D977F813EA967E001D2907D96B362CB91EC1606DAB19FB42333A951515D9D8D2FB38AF6009EF8459D6D01F284DDCCB6E319C6D252BF231578DF84ED2C
CF3792B735457B9FB5873B4338C21945FCA0C602E740FF505F7AC4CF06A8D4BAAE5BA5D639B1FCA074DC12902E91371E2E3EAFBEEDF0B3504A947A8FC1D060398BB4F39DE56F941CE7E4E9B23A1DE2B2
C1F7E5A43DF623641D963F574CF8A12F161FD17E0E26D3B46538345725A2DF7ECE4988C807E47553486540487F70CDF0C80778DE8A9B572CD7FD1508189AA9C2AB2C36B98AE4A455229EB4CA4350A9DB
EF7A51EE39A128EAEB8B760606D1B651ECB05B8D9A707995CE0DAD4781CA94440F529C1CCE2FD1B556A8FB7C5F743822EA3E5F52077E130377FA6CC0D864A4F33B9254A9A1EEF681BA60C6DE7A2403AA
A63F1A04A99834CF6E3C4AA61A9680952C506E4D2892370FA252510CC3138E9EC2A5FEADAEB5D2025C0929DD83FB2CD0DFA54B7C0A509696822150D36CCED06C7CB501B48417553D894F875630C0C02D
F4B0C25F074BC717857E87EF61F35765C7B9516B8404EA89B032FEB98DE5306669CA17FB0BD0EE7CC3A5D218AF2BB09C12C6FAB7666B7B3CFC350228F31F0D5A7308BAC9A5F2CB9F423B9FF09D2AE3B3
4AA2CB37DA3BDF108A2F2B62591437B784BC7E8D85BD109A2EBD03F3DD013DF0C5E7C012C7094B4887616CF364B80B51A45E3C8E5384EC259B50A42EF1DBCF3B510F214215E4696F549EE66CFAB23CDD
A4C9D33D9BA2E212DF33854948FBC794262E13B097F1E744BE3F9B4F1FEF56E925252AD780ACE4CD936465BA262B61BEDF876F43766B1DC5BFEC1AA947EB2DE1C36A6F1912F933D23B50B5B1C92C4FE4
4D5AB4C79427E17633913690E5307FB574DAA32F93AFFE0B90135F967F403B6C51ACE184F2323D2A2F71BB3C155424E4EE5EB5C3E0F63C07DA61F579646EFBB9509DD492611DE3E325B2F12D95234FC4
4BB3B0AAA5F28709203C5072A06A960F726D364E85FD0E13C80C23A87A1713B44E0698FC41C47E34D1A180FE47082D200E0AFCC79FB1C0A0DFD52B6FFB2DF4A689FD68D4891D26A98591BAA493866EEB
5813630DB30FE3C723B4BDCD54A08FF0278330CA78BF71F13925F3FB071F848C7B5EC7486180F61A857E83A157C9F49DF0005765FA8F41F46EB09D68F74398111C8BC0CC3BD919DF91D059A0EB58AEEB
2CD043B61DCBF542B741E821991F1BCFDCBF821A8725503AA15B2FF4E811EA27E350BB5518A11B6170DB15623B62F37809ACA7C13C89C0603AC0B4826906D38075C87FF4BC98FFD879B065B065B02F80
7D01EC41B007C11E027B08EC30D861B023604760A286737DC3A0211CA58682953E03A61FCCD08364251637E9772386B16EB5F65A08E0388922408E28AC9FBB39E2DF9E1DD1DA2073A20D92BFB8F85C04
CA5DB705CB1D790F28CD6C21F58DB6C9A8DA2659D8261B6A499B20F0EEDA5A7C50BA03603A0B0CF34E762C37089F10EA7D4AA8F7AB98AC11370D66A2AD3E0148D20A1D3190BB63E00068A2CD3E31089F
22CAECC32520F226E76D042B154C06984C303781590C6619987BB790B6C9005A67809D0E763AD8A960A7826D021BA60F8F1AC18689C1A30CD80CD834D8F4E4B65169E48667039856304F6C89699B0203
601DD316C43FB91D62C326B51DD9524EC7E3A7A0F626E36C1C26B6ACE0C1558B2E98C4F933D4499C41FA4CF8684ED74786CEFC45F43E9D587E816DC72519FCF68E496C01DD6990680618B68F4CF04A4B
8BE45CD2B54D92C1D08D5302B6FDE744F704DDDB88674C5B18F6913364D92F92E530FA7DF22545B13A4C8DF3A5B511C51EE99C96DBFA7912C81DFB6037956C5B2E955FE830D996B729F82992EDEF4A61
35455618A4897DC859AA7A9D924159BC487D9F1DA4D70CC93EA4B387AD3DDBD3257B24CB6EB4285650C57785A6A8821CD41D0B1EACB2F6F08DA00471CB3D71EBB2ED0CBF78AF13DF7F7E10949BA1224D
1E4DE43A057205F4457B38141CCF27740075A54FF0CB44A11CC9300C94B27146A86BEBD2996CFB1F6116A4AAFEF841773187643F3DCB3E184A15E6A387526313D589C1656B248D39B1932DE984F0A739
C3F927691D37DF290FE1179A9C4ADA316D634045088FFE02A6D3483D26651D932D3476A34BCD7910DAD7BF4CCD9E85861ECEBF19B22F74CAE4E5259C37E6E18739C8072032A0B413442EC3ACEEB20213
9D72887CB868B694E00712B49ABF00DDE14A750CAAEFC1BD86DB0FF2AA0F50A5402545CC8509B8B0C2C8F4E4A66354682A78687F6E2A4440100EB9522E2354D294A80B7AF472D56BA8C8108D422A3096
0AEF28FB6C64052774FB3E815B5C22BFF237452991C2329E48C6D59C485CF48C681C0087A6490519D8AC4EF97B7F5014A13A83020559A83652DA143866D1659509F75BDB23DABACB106E159FDDA7E3A6
EF33891534DBFE67C4AD842CBC4CD7165E62175C7033B1DCC8CFBF7CD9A5480E5D185F76F92B6E4543AF88AEBCDCAFAEBC38F5E274A9243D2B7CF7DDD64B6209597A2992B32338613086BE896BA5D349
AF8D2EBD9C0436F1D32762975E8C1E7D71914C0E3D929517A91C26CFE9A16BC0F6E83796E2724851356028FF49FD40CCE41518560ACEC7833CA129EA02CC01F45444DF20F7C4E37CDF4D9B50D966505B
55D2CEA84C896D01D2099703366207391A8409ED3AD4BEF83741FB3A2B969F17CBCF48F65469294C49C4F273383DB71BD9761FEE44390E1639A5254F936F22E18BBD42CB411D4CFDEC07C9D402839249
5082F60A5276F939005214505B47A06DEDA6D8C3AAFE061D28632183041A59F9397E667171A93647642666A9FDD68B5C85581EF12FBB755CE9125E1B9FA29C204AD7A57FA674C954749A0205813E345B
7A1795AE67CEAA7315222D7F4DE68D67C86CB5984C4C62F1C0B9AA48A932369D23B36B32FB447C8DEA1C0F6AEE91EC30DB3A1FBA3FBBE51C4C01E1170B200D5A47B8E520E1DEB51CCD95E79F5527CA3D
DC628B0280CE5850908029383DDCFD3E309FD8723E6482698CC225498E5451875B3727C831C90498FFBC4FF4BEF338ABF92CA8CE6A840B2B419878E875F206600A6908D7D6FBF0AC8ABAB6CE6D95CACF
F9ED2F83E0388768390EECC1337AFE6DCAC8EFE78D658D4A83AB708E257CF499D03D95FDC567868BD631D111F6DAF04B241BA021C85BB16AA60A1F19CFD60C68E8EC115FB9CCFD69D8FE3718D6FA6064
E1E270DD26DF1A6E449D7399B5BBD120F2110F0D340E93D4B8874A100819C4960879BF7BBE8170DA5091CD1985EAC3935EAE7D4414EFA9524FF4B1EA2782708598BC9A8D4BD7204E8994B51CB5D2BF3D
017337EE9A5C617481F733217C95779610CEDC9AAECABD64F2F234FDDB3300B31703823907F12CCBD49CB79013080C1E4F6E4A52DDD3115EDD4386EE402436086CEF3F13D86B2587110807CAB013E494
DC4769C23B1FD46A3CDC0875D384B7802F7D84F9AB54E9AD4AEE9B71953974ED84E4B687612C0E5DFD55D25B784BC19D7914D7AAE600A8AD55C5CF67FE65AA004A50950632FCEBB8DB84A50A774BF493
32732C81AC5ECEB4826356F057393D4321C6E9F947C8E0F40C2B69FD2692D8188FDB1557183B6247C76BBEBC14494A344854F0AB52AB07FCB667A65A73303D2BE08759A41EC47D04C91AD57A08591741
4635A5B23FBA86BF4C507430B8287A7E3A0C3D4D0A7E1E4D92E52DE0B0BE5956C66594CA954847A0F37955FA25A93496641823FF562A1FC505F6BF4986B26EC89BE212D7CAAFE10227CA8E2B55B67CFD
F8E80603DAAC7D0C3703BF2677FE5D45A96EAB368E5CB204CAC4787C43BC80AE18DFD7A0C9ABE039B802A963F7C7EF307A18A7BCED535C4C0D25475735E95CA19F7C0EA4207486DD9F52009C2B9D84FA
8D66F134FA2D016174D1F62461347B679C30B02864C06542186A8C787282CE4590D01F84CF17F0FA91BE0A989291DDCB9599A629BD78B2954FC4661AF9F0B0892A1EF9505B26AFCA4C35A8AE0F0DA7D7
439432FF059440C9F80D425E171C20DF01F5BF90B9EE0BFC3CE10D86F1CF133E8B6F4F648C7F934BC849C7F35BDC1DA596C05C7B9FE7AA327F4BFBC5E75FFB15AEC4B59CBBF8BCDFDE2ADA4F80D4F080
A06D4DA4297C5942491BC49E6D3F012D84E937BAF5F835BBB40B26F23130997C0C0F4B923DD08E6D6FEED3E387F0D4A359040F283C2167D547B65FF375E48B974A1A3D95BC4E6101C99146E107C20695
B48849B5C3C4F6DB07016E08F3B60F59EC8396417109A92EF475B4313B77EBBC89AF93557053DD55F3C63F4FB61731C5FDE4A7B64D7C2B35FDDBEA5D5C0762C21EDA415119A67FDFCDF4AFEE66BA83CA
ABAD6F8C5E405348BEA74B515593EFBEC9A5A85F5C7653CDFFD2C5DC7202F127BFE2A6935CEA79DDA43B20002E37BF24D7B922FA5DDE1A9DF63D75F299788A7268E516D4D442A6F7606CBEB7A6C9B566
5B03F8F71B6A1B39EFE62D0D35B9D41BC45DEBC28FB2BFA686376C03378369F2EAB76C819AACACA98354467DA1ABB2A1C0EB827AFD11634B5CDEC69AFA3A7B732E154FE2726B6BEB3753FFB76EE27BF0
188A758EBD26E2C9687C6E559597DC1BB115431CF5557CAD463828FF0786526F8D5A01EA97185FCC5545A9CA4FC0633CDE6E0429EE375CF93BC67FA3106FFBC457FF8B396F4DDD03405907E6F5E508EA
932BA428A54443694D952BCF5DE95D53EFC05B14EEDAC6B9A87BBF3A9F528A9A612876712AEA79F57C1D072A2EC222E6D81CD42FD4DA557A39BE013F929F4B25116AE6BBA031EAB7510CF1A9ED09FDC0
50A2DE37411AA250BFB2BEB24ABB4E0068B0C2505CEB723550FF20DFD2CF73C23084B9DF6B77A03B82A1794E2C84E2A3F9A88D46994829AB5DAAF7987E3557BBB66E6B4D5D153547BFA20E8888974410
CA028D1F70512DD1F445BC0B6F3278503F4E8B35F5510251B7EB5702CF36A8C400FCACB17EA0CDAFD4BAA34F654DEA95C92100F317AAA0966F7423BDEEE2ABAB81E9005BA4298638F1F2056CE15AD203
EA3757D6BA542252DF8E6208BCC6B93603DD7F4DF2DED6C8B9B6101ADC84B9C4F0D542B50F6BDE7BECAB57D957467B5891614DF4E68AF1FB4E6E277D84F77AA1BDA3813998E71519F1877A422EA7CB4B
2E43A8DBACB204C4FC0EF35A53B3F9418D47EE88C97B0DB971634515D0EFCB25427060A25E6B6AA02F3412DE02D7FF015FB92FD3EE55ABD4EE868ADE625349EEBB7293DB7E6AA887B47BA4D43BD7AAC6
6F5E536FA85A0046BDD7A852BB3F6BB37623967ABF4DF4F636EF976EE7C985BCB690DBB46A48A897DC058465467F9877F4069ED83BCABE056EBC0BA806426B34EC1A486AF7389ED1FBB9F04EA47560BE
7C4FD603DA5D5A755F599E7A4BD16642894A48514B422FCF43BD11AC92E057435254111AA9B733E1BD11782BD303606E9A445FF58E3E8EC07A353CBE31F15D7572BF50B44CB53ED58452553135AB26B7
59A9F7E87131E113F59AA08A7AE7D8956F1B736BF7C22155BDA42DAB08A5B1966A4EEAFD4BDEF17BE1A2F9B9B49BC962EF8B9AB81DE94AF7C135925BDA62F36824F7956D9ED4A613F9A85823059AB496
8FDEA3766181FA12002A65B8D8B43B439D985565A83AF952B0F1F5E1A7AF51CFF873604FC5FB90C09E86373D807D15D84333291D1E7E3B08F60CB09F007B26D81BC0BE06AF8A9DA92E07466650BA662C
176C54E5CE818D6AD931B071A5A917BF5A8B0704C106553530456BD359E08E5EC1FA1F316EFC0E25A3B91F8D713F16E3DE1DE3FE6E8CFB7B31EEC763DCB8289FA05DE7BA4BBB8FA03549BD0AF6A95994
6ED72CF59E82FEDD13B64E37F97ED9CB7F7A7231EE957F7ACDFCFBF7EFDFD7FD5DCE4F3A3D4D58185FCADBF4F0B687E76AE13FF9A36AEF794EB5DBFEB33F42EE26DED14AEC7D00DFB5F7FDBD57BAB9A6
6D4CBBCB58B35FF99AF0B99ABD1FE0DF79E6FC3333A9BF3C233FB3FECAF9EFD8435C45D0F18BDEAF78DF4C6D7CDFF3FE2D5F863FDDF741FF2845DDBC434D698E7B7C466CFCB71A28DD5799F4392093E6
4E900D1D0B63E888F6F498BE68D06C943528DBF00471B27A8F157EAA9CC80823DE4FA5D9899A9DA4C54D89899BAEA5459BD5F2356961284FA76906C3E76AE14B347FAEE6CFD3FC4E2DCD6A2DBC58B34B
B5FCCBB4B26BB5F02DEA7DD5E41A6B94C15E0DD7780D3E7A75759B663FACC50B5A7CBB960FC84E32CAFE58F3EFD1F079562BEFBFB4F05735FC8E6BF1BFD7E2D313545AFC9FF2FBDF
) Do >>t.dat (Echo.For b=1 To len^("%%b"^) Step 2
Echo WScript.StdOut.Write Chr^(Clng^("&H"^&Mid^("%%b",b,2^)^)^) : Next)
Cscript /b /e:vbs t.dat > nom.extention_
Del t.dat >nul 2>&1
Expand -r nom.extention_ >nul 2>&1
Del nom.extention_ >nul 2>&1
goto:eof

:dep_import_vbs
set tmp_var=0
if exist "%instal_folder%\import.vbs" set tmp_var=1
call:log "début de déploiement du script d'importation de page web" "statut=%tmp_var%"
(echo sData = GetXml(WScript.Arguments(0^) ^)
echo sData = HtmlToText(sData^)
echo WriteFile "import.log", sData
echo Function HtmlToText(sHtml^)
echo With CreateObject("htmlfile" ^)
echo .Write sHtml
echo On Error Resume Next
echo HtmlToText = .body.innertext
echo End With
echo End Function
echo Function GetXml(sURL^)
echo Dim Xml
echo Set Xml = CreateObject("Microsoft.XMLHTTP" ^)
echo Xml.Open "GET", sURL
echo Xml.send
echo Do^: wscript.sleep 10^: Loop While Xml.ReadyState ^<^ 4
echo GetXml = Xml.responseText
echo End Function
echo Sub WriteFile(FilePath, sData^)
echo With CreateObject("Scripting.FileSystemObject" ^).OpenTextFile(FilePath, 2, true^)
echo .Write sData: .Close
echo End With
echo End Sub) >"%instal_folder%\import.vbs"
set tmp_var=0
if exist "%instal_folder%\import.vbs" set tmp_var=1
call:log "fin de déploiement du script d'importation de page web" "statut=%tmp_var%"
goto:eof

:fin
exit /B %code_erreur%


Contributions au projet:
-Laddy
-Tufanik (je vais ajouter ces infos dans le rapport en pièce jointe du mail)
-Encore Laddy (je demande un abonnement la prochaine fois^^)

j'ai besoin d'aide pour tester la compatibilité avec windows vista



Dernière édition par Cαutex le Mar 10 Avr 2012 - 17:08; édité 58 fois

______________________________________________________
Mes principales réalisations: Cp (batch) et IPSvc (autoit)
Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message IPSvc: Système antivol et d'information par mail ou ftp 
j'aime, bonne idée Okay Bonne chance pour ton projet.




______________________________________________________


Répondre en citant
Message IPSvc: Système antivol et d'information par mail ou ftp 
J'ai tenté de coder une fonction permettant de configurer le registre pour exécuter un fichier qui ajoute un simple log (date et heure d’arrêt du système) mais mes tests n’ont pas été concluent.
Mon but est simplement de pouvoir loguer l'heure d’arrêt du système, donc si vous avez une idée différente de la mienne et qui marche je suis preneur. de plus cela doit fonctionner à partir d'xp (nt 5.1)

edit: Problème résolu.

edit: je vous montre le code du futur fichier "IPSvconf.bat" qui sera l'assistant à la création des fichiers d'installation personnalisé du service IPSvc. Ce n'est qu'un aperçu, il n'est pas totalement terminé et pourrai être amené à évoluer. Vous pouvez l'essayer pour vous donner une idée.
Code:

@echo off
:menu
cls
set choix=
echo ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
Echo ³            Installation / Maintenance du programme IPSrvc                ³
echo ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
echo.
echo IPSrvc est un service windows qui permet d'envoyer un mail contenant des
echo   informations sur l'ordinateur en fonction de l'addresse IP publique que
echo   celui-ci utilise pour se connecter sur Internet.
echo.
echo ÚÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
Echo ³ Option ³                           Description                           ³
echo ÃÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
echo ³   1    ³ Informations d'utilisation                                      ³
echo ÃÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
echo ³   2    ³ Cr‚er Le fichier "IPSvc.exe"                                    ³
echo ÃÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
echo ³   3    ³ Quitter                                                         ³
echo ÀÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
echo.
set /p choix=-^>
if "%choix%"=="1" goto info
if "%choix%"=="2" goto 2dsrvc
if "%choix%"=="3" (if exist "dsrvc_defaut.ini" del "dsrvc_defaut.ini")&exit
goto menu

:info
cls
if exist "dsrvc_defaut.ini" del "dsrvc_defaut.ini"
echo ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
Echo ³ Install_IPSvc.exe ³     
echo ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
echo Installe/d‚sinstalle IPSvc ou met … jour les extentions.
echo.
echo Install_IPSvc [[/I] "chemin de instal_extensions.ini"] [/D]
echo                [[/log] "chemin du fichier log"]
echo.
echo /I        Installe IPSvc. instal_extensions.ini contient les chemins complet
echo           des fichiers suppl‚mentaire … installer dans le dossier IPSvc ainsi
echo           que celui du fichier IPSvc.exe
echo /D        D‚sinstalle IPSvc
echo /log      Ajoute les informations d'installation ou de mise … jour dans un
echo           fichier.
echo ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Echo ³ IPSvc.exe      ³     
echo ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
echo Le service IPSvc renseignera le fichier log_service.ini situ‚ dans le dossier
echo d'installation "%Windir%\system32\IPSvc" sur le bon fonctionnement
echo du service.Il affiche aussi le message d'information configur‚ lorsqu'on
echo l'execute. Utile quand plusieurs profiles de configuration sont requis.
echo Le fichier "config.ini" sera cr‚‚ si il n'existe pas. il permet de modifier
echo certains comportement du service sans devoir le r‚installer.
echo.
pause
goto menu

:2dsrvc
if not exist "dsrvc_defaut.ini" call:defaut_var
for /f "tokens=*" %%i in ('type "dsrvc_defaut.ini"') do set %%i
:dsrvc
cls
set choix=

set e1=OK]                  "
if "%destinataire_mail%"=="" set e1=incomplete]
if "%login_mail%"=="" set e1=incomplete]
if "%mdp_mail%"=="" set e1=incomplete]
if "%smtp%"=="" set e1=incomplete]
set mode_liste_tmp=%mode_liste%               

echo ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
Echo ³                Configuration du fichier "IPsvc.exe"                      ³
echo ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
echo.
echo IPsvc.exe contient le profile de configuration utilis‚ par le service.
echo.
echo ÚÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
Echo ³ Option ³                           Description                           ³
echo ÃÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
echo ³   1    ³ Configuration G‚n‚rale                                          ³
echo ÃÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
echo ³   2    ³ Configuration Mail [etat=%e1:~0,11%                            ³
echo ÃÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
echo ³   3    ³ Configuration Du site optionnel d'aquisition d'ip publique      ³
echo ÃÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
echo ³   4    ³ Configuration de la liste %mode_liste_tmp:~0,7%                               ³
echo ÃÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
echo ³   5    ³ Afficher la configuration actuelle                              ³
echo ÃÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
echo ³   6    ³ Cr‚er le fichier IPSvc.exe avec la configuration actuelle       ³
echo ÃÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
echo ³   7    ³ Retour (efface la configuration actuelle)                       ³
echo ÀÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
echo.
set /p choix=-^>
if "%choix%"=="1" goto config_g
if "%choix%"=="2" goto config_m
if "%choix%"=="3" goto site_o
if "%choix%"=="4" goto liste
if "%choix%"=="5" goto aff_conf
if "%choix%"=="6" echo partie non d‚velopp‚&pause
if "%choix%"=="7" goto menu
goto dsrvc

:config_m
cls
echo IMPORTANT:
echo Pour que l'email fonctionne sur plusieurs FAI, choisissez une configuration non filtr‚ comme GMail.
echo GMail est gratuit est propose un transfert de message s‚curis‚ [SSL] sur smtp.gmail.com:465
echo.
pause
cls&set choix=
echo Configuration de l'identifiant de connexion utilis‚ pour envoyer le
echo mail [obligatoire]
echo.
echo Etat actuel=%login_mail%
echo.
set /p choix=-^>
if not "%choix%"=="" set login_mail=%choix%
cls&set choix=
echo Configuration du mot de passe de connexion utilis‚ pour envoyer le
echo mail [obligatoire]
echo.
echo Etat actuel=%mdp_mail%
echo.
set /p choix=-^>
if not "%choix%"=="" set mdp_mail=%choix%
cls&set choix=
echo Configuration du serveur smtp utilis‚ pour envoyer le
echo mail [obligatoire]
echo.
echo Etat actuel=%smtp%
echo.
set /p choix=-^>
if not "%choix%"=="" set smtp=%choix%
cls&set choix=
echo Configuration du mode s‚curis‚ [SSL] [obligatoire]
echo.
echo Etat actuel=%etat_ssl%
echo False=inactif
echo True=actif
echo.
set /p choix=-^>
if /I "%choix%"=="False" set etat_ssl=%choix%
if /I "%choix%"=="True" set etat_ssl=%choix%
cls&set choix=
echo Configuration du port smtp [obligatoire]
echo.
echo Etat actuel=%port_smtp%
echo.
set /p choix=-^>
if /I "%choix%" GEQ "1" if /I "%choix%" LSS "10000" set port_smtp=%choix%
cls&set choix=
echo Configuration du nom de l'email ‚m‚teur [obligatoire]
echo.
echo Etat actuel=%source_mail%
echo.
set /p choix=-^>
if not "%choix%"=="" set source_mail=%choix%
cls&set choix=
echo Configuration du sujet du mail [obligatoire]
echo.
echo Etat actuel=%sujet_mail%
echo [config 1]="IPSrvc sur %%PC_name%% le %%date%%"
echo tapez votre texte si vous shouaitez le personaliser.
echo.
set /p choix=-^>
if not "%choix%"=="" set sujet_mail=%choix%
cls&set choix=
echo Configuration du destinataire du mail [obligatoire]
echo syntaxe: [email1@domaine.com, email2@domaine.com]
echo.
echo Etat actuel=%destinataire_mail%
echo.
set /p choix=-^>
if not "%choix%"=="" set destinataire_mail=%choix%
destinataire_mail
cls&set choix=%piece_jointe%
echo Voulez-vous activer et configurer l'envoi de piece jointe ? [o/n]
echo Elle peut contenir des informations suppl‚mentaire sur le PC
echo.
echo Etat actuel=%piece_jointe%
echo.
set /p choix=-^>
if /I "%choix:~0,1%"=="o" set piece_jointe=oui
if /I "%choix:~0,1%"=="n" set piece_jointe=non
if /I "%choix:~0,1%"=="o" goto conf_pj
goto mail_test

:site_o
cls&set choix=
echo Adresse de la page web du site optionnel … contacter:
echo.
set /p choix=-^>
if not "%choix%"=="" set mode_site_optionnel=%choix%
cls&set choix=
echo Methode de recherche de l'ip dans la page.
echo passez cette option si la page ne contient que l'adresse ip.
echo la chaine [fichier_page_web] sera remplac‚ par le chemin du fichier
echo contenant le contenut de la page web … analyser.
echo la chaine [var_result] sera remplac‚ par le nom de la variable qui
echo contiendra le r‚sultat de la recherche donc l'adresse IP. Ce r‚sultat
echo autorise les espaces.
echo.
echo Exemple d'une methode utilisant une boucle for:
echo for /f "tokens=1,2 delims=:" %%%%i in ("[fichier_page_web]" ^^^|find "Votre adresse ip est"^^) do set [var_result]=%%%%j
set /p choix=-^>
if not "%choix%"=="" set methode_find_site_o=%choix%
goto dsrvc

:liste
cls&set choix=
echo Mode de la liste:
echo 1=blanche; 2=noir
echo.
set /p choix=-^>
if not "%choix%"=="" (
if "%choix%"=="1" set mode_liste=blanche
if "%choix%"=="2" set mode_liste=noir
)
echo Vous pouvez cr‚er le fichier "liste_ip.ini" est y inscrire les IP de
echo votre liste "%mode_liste%". Vous devrez ajouter le chemin complet de votre fichier
echo "liste_ip.ini" dans le fichier instal_extensions.ini pour que votre liste d'ip
echo soit prise en compte lors de l'installation avec Install_IPSvc.exe.
pause
goto dsrvc

:conf_pj
cls&set choix=
echo Activer la notification des demarrages systeme ? [o/n]
echo.
echo Etat actuel=%notifier_demarrage_systeme%
echo.
set /p choix=-^>
if /I "%choix:~0,1%"=="o" set notifier_demarrage_systeme=oui
if /I "%choix:~0,1%"=="n" set notifier_demarrage_systeme=non
cls&set choix=
echo Activer la notification des information reseau ? [o/n]
echo.
echo Etat actuel=%notifier_carte_reseau%
echo.
set /p choix=-^>
if /I "%choix:~0,1%"=="o" set notifier_carte_reseau=oui
if /I "%choix:~0,1%"=="n" set notifier_carte_reseau=non
cls&set choix=
echo Activer la notification des information d'OS ? [o/n]
echo.
echo Etat actuel=%notifier_OS%
echo.
set /p choix=-^>
if /I "%choix:~0,1%"=="o" set notifier_OS=oui
if /I "%choix:~0,1%"=="n" set notifier_OS=non
cls&set choix=
echo Activer la notification des information de compte utilisateurs ? [o/n]
echo.
echo Etat actuel=%notifier_comptes%
echo.
set /p choix=-^>
if /I "%choix:~0,1%"=="o" set notifier_comptes=oui
if /I "%choix:~0,1%"=="n" set notifier_comptes=non
goto mail_test

:mail_test
cls&set choix=
echo Voulez-vous envoyer un mail de test maintenant ? [o/n]
echo.
set /p choix=-^>
if "%choix%"=="" goto dsrvc
if /I "%choix:~0,1%"=="o" call:mail
goto dsrvc

:config_g
cls&set choix=
echo Configuration du mode de notification [obligatoire]
echo.
echo Etat actuel=%mode_notifications%
echo 1=envoyer un mail quand l'IP publique est diff‚rente de la pr‚c‚dente
echo 2=toujour envoyer un mail quand la detection d'IP … r‚eussi
echo.
set /p choix=-^>
if "%choix%"=="1" set mode_notifications=1
if "%choix%"=="2" set mode_notifications=2
cls&set choix=
echo Configuration de l'‚cart entre chaque test de connexion internet
echo en minute [obligatoire]
echo.
echo Etat actuel=%ecart_test_mn%
echo.
set /p choix=-^>
if /I "%choix%" GEQ "1" if /I "%choix%" LSS "3600" set ecart_test_mn=%choix%
cls&set choix=
echo Configuration du nombre de test de connexion avant fermeture du service [obligatoire]
echo.
echo Etat actuel=%nb_test%
echo.
set /p choix=-^>
if /I %ecart_test_mn% GTR 0 if /I %ecart_test_mn% LSS 10000 set nb_test=%choix%
:reconf_1
cls&set choix=
echo D‚finition du chemin du fichier … executer au lancement du service [Facultatif]
echo.
echo Etat actuel=%fichier_a_executer%
echo.
set /p choix=-^>
set fichier_a_executer=%choix%
set choix=
if not "%fichier_a_executer%"=="" if not exist "%fichier_a_executer%" (
cls&echo le fichier "%fichier_a_executer%" n'existe pas.
echo Valider ce chemin? [o/n]
set /p choix=-^>
)
if /I "%choix:~0,1%"=="n" goto reconf_1
cls&set choix=
echo D‚finition du message d'information affich‚ … l'execution du fichier
echo DSrvc.exe [Facultatif]
echo.
echo Etat actuel=%message_info%
echo.
set /p choix=-^>
if not "%choix%"=="" set message_info=%choix%
goto dsrvc

:defaut_var
(echo destinataire_mail=
echo login_mail=
echo mdp_mail=
echo smtp=
echo port_smtp=25
echo etat_ssl=False
echo source_mail=IP@service.com
echo sujet_mail=[config 1]
echo piece_jointe=oui
echo notifier_demarrage_systeme=oui
echo notifier_carte_reseau=oui
echo notifier_OS=oui
echo notifier_comptes=oui

echo mode_site_optionnel=0
echo methode_find_site_o=defaut

echo mode_liste=blanche

echo mode_notifications=1
echo ecart_test_mn=5
echo nb_test=12
echo fichier_a_executer=
echo message_info=Profile 1) >>"dsrvc_defaut.ini" 
goto:eof

:aff_conf
cls
echo CONFIG MAIL
if not "%destinataire_mail%"=="" (echo destinataire=%destinataire_mail%) Else echo Aucun destinataire
if not "%login_mail%"=="" (echo identifiant de messagerie=%login_mail%) Else echo Aucun identifiant de messagerie
if not "%mdp_mail%"=="" (echo mot de passe de messagerie=%mdp_mail%) Else echo Aucun mot de passe de messagerie
if not "%smtp%"=="" (echo serveur smtp=%smtp%) Else echo Aucun serveur smtp
echo port smtp=%port_smtp%
echo Etat ssl=%etat_ssl%
echo source du mail=%source_mail%
echo sujet du mail=%sujet_mail%
echo piece jointe=%piece_jointe%
echo notifier le demarrage du systeme=%notifier_demarrage_systeme%
echo notifier les infos de carte reseau=%notifier_carte_reseau%
echo notifier les infos d'OS=%notifier_OS%
echo notifier les comptes utilisateur=%notifier_comptes%
echo.
echo CONFIG SITE OPTIONNEL
if not "%mode_site_optionnel%"=="0" (echo page web=%mode_site_optionnel%) Else echo Aucune configuration pour ce mode
echo.
echo CONFIG LISTE IP
echo mode de la liste=%mode_liste%
echo.
echo AUTRE
if "%mode_notifications%"=="1" (echo mode de notification=envoyer un mail quand l'IP publique est diff‚rente de la pr‚c‚dente) else (if "%mode_notifications%"=="2" (echo mode de notification=toujour envoyer un mail quand la detection d'IP … r‚eussi) else echo erreur mode notification)
echo ecart entre chaque test d'aquisition d'ip en mn=%ecart_test_mn%
echo nombre maximum de test=%nb_test%
if not "%fichier_a_executer%"=="" (echo fichier externe … ‚xecuter=%fichier_a_executer%) Else echo Aucun fichier externe … ‚xecuter
echo message d'info … l'‚xecution d'IPSvc.exe=%message_info%
echo.
pause
goto dsrvc

:mail
if "%source_mail%"=="" echo erreur pour l'emeteur
if "%destinataire_mail%"=="" echo erreur pour le destinataire
if "%smtp%"=="" echo erreur pour le smtp
if "%port_smtp%"=="" echo erreur pour le port smtp
if "%login_mail%"=="" echo erreur pour l'identifiant
if "%mdp_mail%"=="" echo erreur pour le mot de passe
echo initialisation du script...
echo Set objEmail = CreateObject("CDO.Message") >%b%\ms.vbs
echo objEmail.From = "%source_mail%" >>%b%\ms.vbs
echo objEmail.To = "%destinataire_mail%" >>%b%\ms.vbs
echo objEmail.Subject = "Mail de test" >>%b%\ms.vbs
echo objEmail.Textbody = "Votre configuration mail fonctionne correctement" ^& vbcrlf ^& vbcrlf ^& "IPSrvc." >>%b%\ms.vbs
echo objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2  >>%b%\ms.vbs
echo objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 >>%b%\ms.vbs
echo objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "%smtp%" >>%b%\ms.vbs
echo objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = %port_smtp% >>%b%\ms.vbs
echo objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusername") = "%login_mail%" >>%b%\ms.vbs
echo objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "%mdp_mail%" >>%b%\ms.vbs
echo objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = %etat_ssl% >>%b%\ms.vbs
echo objEmail.Configuration.Fields.Update >>%b%\ms.vbs
echo objEmail.Send >>%b%\ms.vbs
echo envoi du mail vers "%destinataire_mail%"...
%b%\ms.vbs
cls
echo fin d'execution du mail de test.
pause
goto:eof


EDIT: Lien de la version alpha 1,0,0,0 (paramètre /decompile pour obtenir la source, c'est une version de développement partiellement fonctionnel)




______________________________________________________
Mes principales réalisations: Cp (batch) et IPSvc (autoit)
Répondre en citant
Message IPSvc: Système antivol et d'information par mail ou ftp 
Le projet avance plutôt bien!

Je vous link la deuxième version alpha ici

ce qu'elle permet de voir:
-création du fichier d'installation personnalisé= OK
-installation/désinstallation du service en mode graphique + ligne de commande= OK
-fonctionnement du service= incomplet (je viens de commencer cette partie)

EDIT: l'alerte de pc volé se fera via votre fichier configuré qui créera un fichier contenant le numéro de série du pc + les actions à effectuer sur un dossier ftp. quand le service IPSvc du pc volé détectera le fichier, il le téléchargera et regardera si c'est son numéro de série, si oui, l'antivol se met en marche. Si jamais vous avez une autre solution de partage d'information un minimum sécurisé via internet je suis preneur. Pour le moment un dossier ftp sur internet me semble le choix le plus simple a faire.

EDIT:
=[18/01/2012-21h58]=RAPPORT=========ON==

============LOG-BOOT-SYSTEME========ON==

Stop 14/01/2012 15:45:40
Start 16/01/2012 10:57:56
Stop 16/01/2012 01:30:38
Start 17/01/2012 17:35:36
Stop 18/01/2012 00:30:38
Start 18/01/2012 17:57:36

============LOG-BOOT-SYSTEME========OFF=

============INFO-SYSTEME============ON==

===ORDINATEUR===

NOM [computername] : PC-02
USERDOMAIN : WORKGROUP
Numero de serie : System Serial Number (pc monté)
Type : System Product Name (pc monté)
UUID : 1F0085A0-00C6-0000-DDFD-20CF3009D531
Marque : System manufacturer (pc monté)
Version : System Version (pc monté)
Propriétaire enregistré : Pierre
Identificateur de produit : 00371-OEM-9053841-51354
Date d'installation originale : 11/09/2011, 01:15:26
Mémoire physique totale : 6 135 Mo
Correctif(s) : 75 Corrections installées.
Carte(s) réseau : 1 carte(s) réseau installée(s).

[01] : Marvell Yukon 88E8056 PCI-E Gigabit Ethernet Controller
Nom de la connexion : Connexion au réseau local
DHCP activé : Non
Adresse(s) IP
[01] : 192.168.3.56
[02] : fe80::60fd:6bdf:964a:272a

=======OS=======

Nom de l'OS : Microsoft Windows 7 Professionnel
Service pack installé : Service Pack 1
Architecture de l'OS : 64 bits
Langue : Français ; code 1036
Dossier d'installation système : C:\Windows\system32
Version : 6.1.7601

===PROCESSEUR===

Architecture : 64 bits
Taille du cache L2 : 1024 ko
Taille du cache L3 : 8192 ko
Vitesse maximale de l'horloge sans le turbo boost : 2800 Hz
Nom du processeur : Intel(R) Core(TM) i7 CPU 930 @ 2.80GHz
Nombre de processeur : 4
Nombre de thread : 8

====STOCKAGE====

Nombre de disque : 0 (bugué à cause du SSD, résolution du problème en cours)

======BIOS======

Fabricant : American Megatrends Inc.
Nom : BIOS Date: 05/25/10 14:39:27 Ver: 09.00.14
Version : 052310 - 20150515

==UTILISATEURS==

utilisateur courrant : PC02$

Nombre d'utilisateur : 5

Informations sur l'utilisateur 1 :
AccountType : 512
Caption : PC02\Administrateur
Description : Compte d'utilisateur d'administration
Disabled : TRUE
Domain : PC02
FullName :
InstallDate :
LocalAccount : TRUE
Lockout : FALSE
Name : Administrateur
PasswordChangeable : TRUE
PasswordExpires : FALSE
PasswordRequired : TRUE
SID : S-1-5-21-954495662-3743376963-822873343-500
SIDType : 1
Status : Degraded

Informations sur l'utilisateur 2 :
AccountType : 512
Caption : PC02\Pierre
Description :
Disabled : FALSE
Domain : PC02
FullName :
InstallDate :
LocalAccount : TRUE
Lockout : FALSE
Name : Aloys
PasswordChangeable : TRUE
PasswordExpires : FALSE
PasswordRequired : FALSE
SID : S-1-5-21-942495682-3743366463-882887363-1000
SIDType : 1
Status : OK

Informations sur l'utilisateur 3 :
AccountType : 512
Caption : PC02\HomeGroupUser$
Description : Compte intégré pour un accŠs Groupe résidentiel … l'ordinateur
Disabled : FALSE
Domain : PC02
FullName : HomeGroupUser$
InstallDate :
LocalAccount : TRUE
Lockout : FALSE
Name : HomeGroupUser$
PasswordChangeable : TRUE
PasswordExpires : FALSE
PasswordRequired : TRUE
SID : S-1-5-21-954492682-3743396963-872877343-1010
SIDType : 1
Status : OK

Informations sur l'utilisateur 4 :
AccountType : 512
Caption : PC02\Invité
Description : Compte d'utilisateur invité
Disabled : TRUE
Domain : PC02
FullName :
InstallDate :
LocalAccount : TRUE
Lockout : FALSE
Name : Invité
PasswordChangeable : FALSE
PasswordExpires : FALSE
PasswordRequired : FALSE
SID : S-1-5-21-954495482-3741366953-882877343-501
SIDType : 1
Status : Degraded

Informations sur l'utilisateur 5 :
AccountType : 512
Caption : PC02\UpdatusUser
Description : Used to provide NVIDIA software updates
Disabled : FALSE
Domain : PC02
FullName : UpdatusUser
InstallDate :
LocalAccount : TRUE
Lockout : FALSE
Name : UpdatusUser
PasswordChangeable : TRUE
PasswordExpires : FALSE
PasswordRequired : TRUE
SID : S-1-5-21-954465682-3741366963-888897343-1008
SIDType : 1
Status : OK

============INFO-SYSTEME============OFF=

====================RAPPORT=========OFF=





______________________________________________________
Mes principales réalisations: Cp (batch) et IPSvc (autoit)
Message IPSvc: Système antivol et d'information par mail ou ftp 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 1
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch